@salutejs/plasma-new-hope 0.90.0-canary.1260.9580678742.0 → 0.90.0-dev.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. package/cjs/components/Dropdown/Dropdown.js +15 -16
  2. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  3. package/cjs/components/Popover/Popover.js +4 -5
  4. package/cjs/components/Popover/Popover.js.map +1 -1
  5. package/cjs/components/_Icon/IconRoot.js +1 -1
  6. package/cjs/components/_Icon/IconRoot.js.map +1 -1
  7. package/es/components/Dropdown/Dropdown.js +11 -12
  8. package/es/components/Dropdown/Dropdown.js.map +1 -1
  9. package/es/components/Popover/Popover.js +4 -5
  10. package/es/components/Popover/Popover.js.map +1 -1
  11. package/es/components/_Icon/IconRoot.js +1 -1
  12. package/es/components/_Icon/IconRoot.js.map +1 -1
  13. package/package.json +2 -2
  14. package/styled-components/cjs/components/Button/Button.template-doc.mdx +3 -3
  15. package/styled-components/cjs/components/Dropdown/Dropdown.js +11 -12
  16. package/styled-components/cjs/components/Popover/Popover.js +4 -5
  17. package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +7 -5
  18. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +1 -1
  19. package/styled-components/cjs/components/_Icon/IconRoot.js +1 -1
  20. package/styled-components/es/components/Button/Button.template-doc.mdx +3 -3
  21. package/styled-components/es/components/Dropdown/Dropdown.js +11 -12
  22. package/styled-components/es/components/Popover/Popover.js +4 -5
  23. package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +7 -5
  24. package/styled-components/es/components/Segment/Segment.template-doc.mdx +1 -1
  25. package/styled-components/es/components/_Icon/IconRoot.js +1 -1
  26. package/types/components/Dropdown/Dropdown.d.ts +2 -2
  27. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  28. package/types/components/Dropdown/Dropdown.types.d.ts +0 -4
  29. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  30. package/types/components/Popover/Popover.d.ts.map +1 -1
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var index$1 = require('../../utils/index.js');
7
+ var index = require('../../utils/index.js');
8
8
  var pathReducer = require('./reducers/pathReducer.js');
9
9
  var focusedPathReducer = require('./reducers/focusedPathReducer.js');
10
10
  require('@salutejs/plasma-core');
11
11
  require('@linaria/react');
12
12
  var Dropdown_tokens = require('./Dropdown.tokens.js');
13
13
  var DropdownInner = require('./ui/DropdownInner/DropdownInner.js');
14
- var index = require('./utils/index.js');
14
+ var index$1 = require('./utils/index.js');
15
15
  require('focus-visible');
16
16
  require('styled-components');
17
17
  require('@linaria/core');
@@ -23,7 +23,7 @@ var Dropdown_styles = require('./Dropdown.styles.js');
23
23
  var useKeyboardNavigation = require('./hooks/useKeyboardNavigation.js');
24
24
  var useHashMaps = require('./hooks/useHashMaps.js');
25
25
 
26
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
26
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow"];
27
27
 
28
28
  /**
29
29
  * Выпадающий список.
@@ -58,7 +58,6 @@ var dropdownRoot = function dropdownRoot(Root) {
58
58
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
59
59
  _ref$hasArrow = _ref.hasArrow,
60
60
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
61
- portal = _ref.portal,
62
61
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
63
62
  var _useReducer = React.useReducer(pathReducer.pathReducer, []),
64
63
  _useReducer2 = _rollupPluginBabelHelpers.slicedToArray(_useReducer, 2),
@@ -110,30 +109,30 @@ var dropdownRoot = function dropdownRoot(Root) {
110
109
  }, '').replace(/^(\/)/, '');
111
110
  return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
112
111
  };
113
- return /*#__PURE__*/React.createElement(Dropdown_styles.StyledPopover, {
112
+ return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
113
+ className: index.cx(className, Dropdown_tokens.classes.dropdownRoot),
114
+ ref: ref,
115
+ view: view,
116
+ size: size,
117
+ items: items
118
+ }, rest), /*#__PURE__*/React.createElement(Dropdown_styles.StyledPopover, {
114
119
  isOpen: isCurrentListOpen,
120
+ usePortal: false,
115
121
  onToggle: handleGlobalToggle,
116
122
  offset: offset,
117
- placement: index.getPlacements(placement),
123
+ placement: index$1.getPlacements(placement),
118
124
  trigger: trigger,
119
125
  closeOnOverlayClick: closeOnOverlayClick,
120
126
  isFocusTrapped: false,
121
- target: index.childrenWithProps(children, {
127
+ target: index$1.childrenWithProps(children, {
122
128
  role: 'combobox',
123
129
  'aria-controls': 'tree_level_1',
124
130
  'aria-expanded': isCurrentListOpen,
125
131
  'aria-activedescendant': getActiveDescendant(),
126
132
  onKeyDown: onKeyDown
127
133
  }),
128
- preventOverflow: false,
129
- usePortal: Boolean(portal),
130
- frame: portal
131
- }, /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
132
- className: index$1.cx(className, Dropdown_tokens.classes.dropdownRoot),
133
- ref: ref,
134
- view: view,
135
- size: size
136
- }, rest), /*#__PURE__*/React.createElement(Dropdown_styles.Ul, {
134
+ preventOverflow: false
135
+ }, /*#__PURE__*/React.createElement(Dropdown_styles.Ul, {
137
136
  listHeight: listHeight,
138
137
  listOverflow: listOverflow,
139
138
  role: "tree",
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { getPlacements, childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\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 = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <StyledPopover\n isOpen={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n usePortal={Boolean(portal)}\n frame={portal}\n >\n <Root className={cx(className, classes.dropdownRoot)} ref={ref} view={view} size={size} {...rest}>\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n />\n ))}\n </Ul>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","StyledPopover","isOpen","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","usePortal","frame","_extends","cx","classes","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, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { getPlacements, childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n items={items}\n {...rest}\n >\n <StyledPopover\n isOpen={isCurrentListOpen}\n usePortal={false}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n >\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n />\n ))}\n </Ul>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","_extends","cx","classes","StyledPopover","isOpen","usePortal","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -105,20 +105,19 @@ var popoverRoot = function popoverRoot(Root) {
105
105
  }, [closeOnEsc, isOpen, onToggle]);
106
106
  var onDocumentClick = React.useCallback(function (event) {
107
107
  if (isOpen && closeOnOverlayClick && onToggle) {
108
- var _rootRef$current, _popoverRef$current;
108
+ var _rootRef$current;
109
109
  var targetIsRoot = event.target === rootRef.current;
110
110
  var rootHasTarget = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.contains(event.target);
111
- var popoverRootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
112
- if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {
111
+ if (!targetIsRoot && !rootHasTarget) {
113
112
  onToggle(false, event);
114
113
  }
115
114
  }
116
115
  }, [closeOnOverlayClick, isOpen, onToggle]);
117
116
  var onClick = React.useCallback(function (event) {
118
117
  if (trigger === 'click') {
119
- var _popoverRef$current2;
118
+ var _popoverRef$current;
120
119
  var targetIsPopover = event.target === popoverRef.current;
121
- var rootHasTarget = (_popoverRef$current2 = popoverRef.current) === null || _popoverRef$current2 === void 0 ? void 0 : _popoverRef$current2.contains(event.target);
120
+ var rootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
122
121
  if (!targetIsPopover && !rootHasTarget) {
123
122
  onToggle === null || onToggle === void 0 || onToggle(!isOpen, event);
124
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
@@ -41,7 +41,7 @@ var IconRoot = function IconRoot(_ref2) {
41
41
  color = _ref2.color,
42
42
  className = _ref2.className,
43
43
  sizeCustomProperty = _ref2.sizeCustomProperty;
44
- var c = color || 'var(--plasma-colors-primary)';
44
+ var c = color || 'var(--text-primary)';
45
45
  var w = sizeCustomProperty ? "var(".concat(sizeCustomProperty, ")") : "".concat(sizeMap[size], "rem");
46
46
  return /*#__PURE__*/React.createElement(StyledRoot, {
47
47
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"IconRoot.js","sources":["../../../src/components/_Icon/IconRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@linaria/react';\n\nconst sizeMap = {\n xxs: 1, // 16px\n xs: 1, // 16px\n s: 1.5, // 24px\n m: 2.25, // 36px\n l: 2.75, // 44px\n xl: 3.5, // 56px\n xxl: 6.25, // 100px\n};\n\nexport type IconSize = keyof typeof sizeMap;\n\nexport interface IconProps {\n size?: IconSize;\n color?: string;\n className?: string;\n /*\n * Прорпс, который принимает название css-переменной.\n * В значении токена может быть как rem, так и другая единица измерения (значение задается через конфиг).\n * @example\n * const token = '--plasma-icon-size';\n * ...\n * <Icon sizeCustomProperty={token} {...rest}/>\n */\n sizeCustomProperty?: string;\n}\n\ninterface IconRootProps extends IconProps {\n size: IconSize;\n icon: React.FC<IconProps>;\n}\n\nconst StyledRoot = styled.div<{ w: string }>`\n display: inline-flex;\n width: ${({ w }) => w};\n height: ${({ w }) => w};\n flex: 0 0 ${({ w }) => w};\n`;\n\nexport const IconRoot: React.FC<IconRootProps> = ({\n icon: IconComponent,\n size,\n color,\n className,\n sizeCustomProperty,\n}) => {\n const c = color || 'var(--plasma-colors-primary)';\n\n const w = sizeCustomProperty ? `var(${sizeCustomProperty})` : `${sizeMap[size]}rem`;\n\n return (\n <StyledRoot aria-hidden w={w} className={className}>\n <IconComponent color={c} size={size} />\n </StyledRoot>\n );\n};\n"],"names":["sizeMap","xxs","xs","s","m","l","xl","xxl","_exp3","_ref","w","StyledRoot","styled","name","class","propsAsIs","vars","IconRoot","_ref2","IconComponent","icon","size","color","className","sizeCustomProperty","c","concat","React","createElement"],"mappings":";;;;;;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,GAAG,EAAE,CAAC;AAAE;AACRC,EAAAA,EAAE,EAAE,CAAC;AAAE;AACPC,EAAAA,CAAC,EAAE,GAAG;AAAE;AACRC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,EAAE,EAAE,GAAG;AAAE;EACTC,GAAG,EAAE,IAAI;AACb,CAAC,CAAA;AAsBA,IAAAC,KAAA,GAhCiBA,SAgCjBA,KAAAA,GAAA;AAAA,EAAA,OAMe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAAAA,IAAAA,OAAQA,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAJ5B,IAAMC,UAAU,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAITR,KAAY,EAAA,CAAA;AAAA,GAAA;AAAA,CAC3B,CAAA,CAAA;IAEYS,QAAiC,GAAGA,SAApCA,QAAiCA,CAAAC,KAAA,EAMxC;AAAA,EAAA,IALIC,aAAa,GAAAD,KAAA,CAAnBE,IAAI;IACJC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IACJC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,SAAS,GAAAL,KAAA,CAATK,SAAS;IACTC,kBAAAA,GAAAA,KAAAA,CAAAA,kBAAAA,CAAAA;AAEA,EAAA,IAAMC,CAAC,GAAGH,KAAK,IAAI,8BAA8B,CAAA;AAEjD,EAAA,IAAMZ,CAAC,GAAGc,kBAAkB,GAAA,MAAA,CAAAE,MAAA,CAAUF,kBAAmB,EAAAE,GAAAA,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAQ1B,OAAO,CAACqB,IAAI,CAAE,EAAI,KAAA,CAAA,CAAA;AAEnF,EAAA,oBACIM,KAAA,CAAAC,aAAA,CAACjB,UAAU,EAAA;IAAC,aAAW,EAAA,IAAA;AAACD,IAAAA,CAAC,EAAEA,CAAE;AAACa,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,eAC/CI,KAAA,CAAAC,aAAA,CAACT,aAAa,EAAA;AAACG,IAAAA,KAAK,EAAEG,CAAE;AAACJ,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,CAC5B,CAAC,CAAA;AAErB;;;;"}
1
+ {"version":3,"file":"IconRoot.js","sources":["../../../src/components/_Icon/IconRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@linaria/react';\n\nconst sizeMap = {\n xxs: 1, // 16px\n xs: 1, // 16px\n s: 1.5, // 24px\n m: 2.25, // 36px\n l: 2.75, // 44px\n xl: 3.5, // 56px\n xxl: 6.25, // 100px\n};\n\nexport type IconSize = keyof typeof sizeMap;\n\nexport interface IconProps {\n size?: IconSize;\n color?: string;\n className?: string;\n /*\n * Прорпс, который принимает название css-переменной.\n * В значении токена может быть как rem, так и другая единица измерения (значение задается через конфиг).\n * @example\n * const token = '--plasma-icon-size';\n * ...\n * <Icon sizeCustomProperty={token} {...rest}/>\n */\n sizeCustomProperty?: string;\n}\n\ninterface IconRootProps extends IconProps {\n size: IconSize;\n icon: React.FC<IconProps>;\n}\n\nconst StyledRoot = styled.div<{ w: string }>`\n display: inline-flex;\n width: ${({ w }) => w};\n height: ${({ w }) => w};\n flex: 0 0 ${({ w }) => w};\n`;\n\nexport const IconRoot: React.FC<IconRootProps> = ({\n icon: IconComponent,\n size,\n color,\n className,\n sizeCustomProperty,\n}) => {\n const c = color || 'var(--text-primary)';\n\n const w = sizeCustomProperty ? `var(${sizeCustomProperty})` : `${sizeMap[size]}rem`;\n\n return (\n <StyledRoot aria-hidden w={w} className={className}>\n <IconComponent color={c} size={size} />\n </StyledRoot>\n );\n};\n"],"names":["sizeMap","xxs","xs","s","m","l","xl","xxl","_exp3","_ref","w","StyledRoot","styled","name","class","propsAsIs","vars","IconRoot","_ref2","IconComponent","icon","size","color","className","sizeCustomProperty","c","concat","React","createElement"],"mappings":";;;;;;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,GAAG,EAAE,CAAC;AAAE;AACRC,EAAAA,EAAE,EAAE,CAAC;AAAE;AACPC,EAAAA,CAAC,EAAE,GAAG;AAAE;AACRC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,EAAE,EAAE,GAAG;AAAE;EACTC,GAAG,EAAE,IAAI;AACb,CAAC,CAAA;AAsBA,IAAAC,KAAA,GAhCiBA,SAgCjBA,KAAAA,GAAA;AAAA,EAAA,OAMe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAAAA,IAAAA,OAAQA,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAJ5B,IAAMC,UAAU,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAITR,KAAY,EAAA,CAAA;AAAA,GAAA;AAAA,CAC3B,CAAA,CAAA;IAEYS,QAAiC,GAAGA,SAApCA,QAAiCA,CAAAC,KAAA,EAMxC;AAAA,EAAA,IALIC,aAAa,GAAAD,KAAA,CAAnBE,IAAI;IACJC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IACJC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,SAAS,GAAAL,KAAA,CAATK,SAAS;IACTC,kBAAAA,GAAAA,KAAAA,CAAAA,kBAAAA,CAAAA;AAEA,EAAA,IAAMC,CAAC,GAAGH,KAAK,IAAI,qBAAqB,CAAA;AAExC,EAAA,IAAMZ,CAAC,GAAGc,kBAAkB,GAAA,MAAA,CAAAE,MAAA,CAAUF,kBAAmB,EAAAE,GAAAA,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAQ1B,OAAO,CAACqB,IAAI,CAAE,EAAI,KAAA,CAAA,CAAA;AAEnF,EAAA,oBACIM,KAAA,CAAAC,aAAA,CAACjB,UAAU,EAAA;IAAC,aAAW,EAAA,IAAA;AAACD,IAAAA,CAAC,EAAEA,CAAE;AAACa,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,eAC/CI,KAAA,CAAAC,aAAA,CAACT,aAAa,EAAA;AAACG,IAAAA,KAAK,EAAEG,CAAE;AAACJ,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,CAC5B,CAAC,CAAA;AAErB;;;;"}
@@ -19,7 +19,7 @@ import { StyledPopover, Ul, base } from './Dropdown.styles.js';
19
19
  import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
20
20
  import { useHashMaps } from './hooks/useHashMaps.js';
21
21
 
22
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
22
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow"];
23
23
 
24
24
  /**
25
25
  * Выпадающий список.
@@ -54,7 +54,6 @@ var dropdownRoot = function dropdownRoot(Root) {
54
54
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
55
55
  _ref$hasArrow = _ref.hasArrow,
56
56
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
57
- portal = _ref.portal,
58
57
  rest = _objectWithoutProperties(_ref, _excluded);
59
58
  var _useReducer = useReducer(pathReducer, []),
60
59
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -106,8 +105,15 @@ var dropdownRoot = function dropdownRoot(Root) {
106
105
  }, '').replace(/^(\/)/, '');
107
106
  return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
108
107
  };
109
- return /*#__PURE__*/React.createElement(StyledPopover, {
108
+ return /*#__PURE__*/React.createElement(Root, _extends({
109
+ className: cx(className, classes.dropdownRoot),
110
+ ref: ref,
111
+ view: view,
112
+ size: size,
113
+ items: items
114
+ }, rest), /*#__PURE__*/React.createElement(StyledPopover, {
110
115
  isOpen: isCurrentListOpen,
116
+ usePortal: false,
111
117
  onToggle: handleGlobalToggle,
112
118
  offset: offset,
113
119
  placement: getPlacements(placement),
@@ -121,15 +127,8 @@ var dropdownRoot = function dropdownRoot(Root) {
121
127
  'aria-activedescendant': getActiveDescendant(),
122
128
  onKeyDown: onKeyDown
123
129
  }),
124
- preventOverflow: false,
125
- usePortal: Boolean(portal),
126
- frame: portal
127
- }, /*#__PURE__*/React.createElement(Root, _extends({
128
- className: cx(className, classes.dropdownRoot),
129
- ref: ref,
130
- view: view,
131
- size: size
132
- }, rest), /*#__PURE__*/React.createElement(Ul, {
130
+ preventOverflow: false
131
+ }, /*#__PURE__*/React.createElement(Ul, {
133
132
  listHeight: listHeight,
134
133
  listOverflow: listOverflow,
135
134
  role: "tree",
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { getPlacements, childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\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 = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <StyledPopover\n isOpen={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n usePortal={Boolean(portal)}\n frame={portal}\n >\n <Root className={cx(className, classes.dropdownRoot)} ref={ref} view={view} size={size} {...rest}>\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n />\n ))}\n </Ul>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","StyledPopover","isOpen","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","usePortal","frame","_extends","cx","classes","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBA;AACA;AACA;IACaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA6D,EAAA;AAAA,EAAA,oBACtFC,UAAU,CACN,UAAAC,IAAA,EAyBIC,GAAG,EACF;AAAA,IAAA,IAxBGC,KAAK,GAAAF,IAAA,CAALE,KAAK;MACLC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;MAAAC,cAAA,GAAAJ,IAAA,CACRK,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAAAE,WAAA,GAAAN,IAAA,CACpBO,MAAM;MAANA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAAA,WAAA;MAAAE,qBAAA,GAAAR,IAAA,CACfS,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC1BE,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MACRC,IAAI,GAAAX,IAAA,CAAJW,IAAI;MACJC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;MAAAC,aAAA,GAAAb,IAAA,CACJc,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,aAAA;MACrBE,SAAS,GAAAf,IAAA,CAATe,SAAS;MACTC,SAAS,GAAAhB,IAAA,CAATgB,SAAS;MACTC,UAAU,GAAAjB,IAAA,CAAViB,UAAU;MACVC,YAAY,GAAAlB,IAAA,CAAZkB,YAAY;MAAAC,kBAAA,GAAAnB,IAAA,CACZoB,aAAa;AAAbA,MAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA;MACpBE,OAAO,GAAArB,IAAA,CAAPqB,OAAO;MACPC,YAAY,GAAAtB,IAAA,CAAZsB,YAAY;MACZC,WAAW,GAAAvB,IAAA,CAAXuB,WAAW;MAAAC,YAAA,GAAAxB,IAAA,CACXyB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,YAAA;MAAAE,YAAA,GAAA1B,IAAA,CACjB2B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA;MAAAE,aAAA,GAAA5B,IAAA,CAClB6B,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;MACfE,MAAM,GAAA9B,IAAA,CAAN8B,MAAM;AACHC,MAAAA,IAAI,GAAAC,wBAAA,CAAAhC,IAAA,EAAAiC,SAAA,CAAA,CAAA;AAIX,IAAA,IAAAC,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAC,cAAA,CAAAJ,WAAA,EAAA,CAAA,CAAA;AAAjDK,MAAAA,IAAI,GAAAF,YAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,YAAY,GAAAH,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAI,YAAA,GAA2CN,UAAU,CAACO,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAL,cAAA,CAAAG,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEvC,IAAA,IAAAG,YAAA,GAAqCC,WAAW,CAAC7C,KAAK,CAAC;MAAA8C,aAAA,GAAAV,cAAA,CAAAQ,YAAA,EAAA,CAAA,CAAA;AAAhDG,MAAAA,OAAO,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;IAEjC,IAAMG,kBAA0C,GAAG,SAA7CA,kBAA0CA,CAAIC,MAAM,EAAEC,KAAK,EAAK;AAClE,MAAA,IAAID,MAAM,EAAE;AACRZ,QAAAA,YAAY,CAAC;AAAEc,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHT,QAAAA,mBAAmB,CAAC;AAAES,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCd,QAAAA,YAAY,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;AAEA,MAAA,IAAI5C,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC0C,MAAM,EAAEC,KAAK,CAAC,CAAA;AAC3B,OAAA;KACH,CAAA;IAED,IAAAE,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCZ,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZS,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB/B,QAAAA,aAAa,EAAbA,aAAa;AACbE,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,WAAW,EAAXA,WAAAA;AACJ,OAAC,CAAC;MAXMkC,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;IAajB,IAAMC,iBAAiB,GAAGC,OAAO,CAACpB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1C,IAAA,IAAMqB,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;AAAA,MAAA,IAAAC,qBAAA,CAAA;MAC9B,IAAMC,mBAAmB,GAAGlB,WAAW,CAACmB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAA;AAAA,QAAA,OAAA,EAAA,CAAAC,MAAA,CAAQF,GAAG,EAAAE,GAAAA,CAAAA,CAAAA,MAAA,CAAID,CAAC,CAAA,CAAA;OAAE,EAAE,EAAE,CAAC,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;MAClG,OAAOjB,iBAAiB,aAAjBA,iBAAiB,KAAA,KAAA,CAAA,IAAA,CAAAW,qBAAA,GAAjBX,iBAAiB,CAAEkB,GAAG,CAACN,mBAAmB,CAAC,MAAA,IAAA,IAAAD,qBAAA,KAA3CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA6CQ,KAAK,CAACC,QAAQ,EAAE,CAAA;KACvE,CAAA;AAED,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,aAAa,EAAA;AACVC,MAAAA,MAAM,EAAEhB,iBAAkB;AAC1BhD,MAAAA,QAAQ,EAAEyC,kBAAmB;AAC7B5C,MAAAA,MAAM,EAAEA,MAAO;AACfF,MAAAA,SAAS,EAAEsE,aAAa,CAACtE,SAAS,CAAE;AACpCoB,MAAAA,OAAO,EAAEA,OAAQ;AACjBhB,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCmE,MAAAA,cAAc,EAAE,KAAM;AACtBC,MAAAA,MAAM,EAAEC,iBAAiB,CAAC3E,QAAQ,EAAE;AAChC4E,QAAAA,IAAI,EAAE,UAAU;AAChB,QAAA,eAAe,EAAE,cAAc;AAC/B,QAAA,eAAe,EAAErB,iBAAiB;QAClC,uBAAuB,EAAEE,mBAAmB,EAAE;AAC9CH,QAAAA,SAAS,EAATA,SAAAA;AACJ,OAAC,CAAE;AACHuB,MAAAA,eAAe,EAAE,KAAM;AACvBC,MAAAA,SAAS,EAAEtB,OAAO,CAAC7B,MAAM,CAAE;AAC3BoD,MAAAA,KAAK,EAAEpD,MAAAA;AAAO,KAAA,eAEdyC,KAAA,CAAAC,aAAA,CAAC1E,IAAI,EAAAqF,QAAA,CAAA;MAACpE,SAAS,EAAEqE,EAAE,CAACrE,SAAS,EAAEsE,OAAO,CAACxF,YAAY,CAAE;AAACI,MAAAA,GAAG,EAAEA,GAAI;AAACW,MAAAA,IAAI,EAAEA,IAAK;AAACD,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,EAAKoB,IAAI,CAC5FwC,eAAAA,KAAA,CAAAC,aAAA,CAACc,EAAE,EAAA;AACCrE,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,YAAY,EAAEA,YAAa;AAC3B6D,MAAAA,IAAI,EAAC,MAAM;AACXQ,MAAAA,EAAE,EAAC,cAAc;AACjBvE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEpBd,KAAK,CAACsF,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK,EAAA;AAAA,MAAA,oBACnBnB,KAAA,CAAAC,aAAA,CAACmB,aAAa,EAAA;AACVC,QAAAA,GAAG,EAAA1B,EAAAA,CAAAA,MAAA,CAAKwB,KAAK,EAAK,IAAA,CAAA;AAClBD,QAAAA,IAAI,EAAEA,IAAK;AACXI,QAAAA,YAAY,EAAE,CAAE;AAChBjD,QAAAA,WAAW,EAAEA,WAAY;AACzBnB,QAAAA,OAAO,EAAEA,OAAQ;AACjBc,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BkD,QAAAA,KAAK,EAAEA,KAAM;AACb5E,QAAAA,QAAQ,EAAEA,QAAS;AACnBG,QAAAA,UAAU,EAAEA,UAAW;AACvBC,QAAAA,YAAY,EAAEA,YAAa;AAC3BiC,QAAAA,kBAAkB,EAAEA,kBAAmB;AACvC/B,QAAAA,aAAa,EAAEA,aAAc;AAC7BC,QAAAA,OAAO,EAAEA,OAAQ;AACjBC,QAAAA,YAAY,EAAEA,YAAa;AAC3BC,QAAAA,WAAW,EAAEA,WAAY;AACzBP,QAAAA,SAAS,EAAEA,SAAU;AACrBW,QAAAA,OAAO,EAAEA,OAAQ;AACjBE,QAAAA,QAAQ,EAAEA,QAAAA;AAAS,OACtB,CAAC,CAAA;KACL,CACD,CACF,CACK,CAAC,CAAA;AAExB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMiE,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEpG,YAAY;AACpBqG,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRvF,IAAAA,IAAI,EAAE;AACFwF,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD1F,IAAAA,IAAI,EAAE;AACFyF,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN3F,IAAAA,IAAI,EAAE,SAAS;AACfD,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { getPlacements, childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n items={items}\n {...rest}\n >\n <StyledPopover\n isOpen={isCurrentListOpen}\n usePortal={false}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n >\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n />\n ))}\n </Ul>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","_extends","cx","classes","StyledPopover","isOpen","usePortal","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -101,20 +101,19 @@ var popoverRoot = function popoverRoot(Root) {
101
101
  }, [closeOnEsc, isOpen, onToggle]);
102
102
  var onDocumentClick = useCallback(function (event) {
103
103
  if (isOpen && closeOnOverlayClick && onToggle) {
104
- var _rootRef$current, _popoverRef$current;
104
+ var _rootRef$current;
105
105
  var targetIsRoot = event.target === rootRef.current;
106
106
  var rootHasTarget = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.contains(event.target);
107
- var popoverRootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
108
- if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {
107
+ if (!targetIsRoot && !rootHasTarget) {
109
108
  onToggle(false, event);
110
109
  }
111
110
  }
112
111
  }, [closeOnOverlayClick, isOpen, onToggle]);
113
112
  var onClick = useCallback(function (event) {
114
113
  if (trigger === 'click') {
115
- var _popoverRef$current2;
114
+ var _popoverRef$current;
116
115
  var targetIsPopover = event.target === popoverRef.current;
117
- var rootHasTarget = (_popoverRef$current2 = popoverRef.current) === null || _popoverRef$current2 === void 0 ? void 0 : _popoverRef$current2.contains(event.target);
116
+ var rootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
118
117
  if (!targetIsPopover && !rootHasTarget) {
119
118
  onToggle === null || onToggle === void 0 || onToggle(!isOpen, event);
120
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
@@ -37,7 +37,7 @@ var IconRoot = function IconRoot(_ref2) {
37
37
  color = _ref2.color,
38
38
  className = _ref2.className,
39
39
  sizeCustomProperty = _ref2.sizeCustomProperty;
40
- var c = color || 'var(--plasma-colors-primary)';
40
+ var c = color || 'var(--text-primary)';
41
41
  var w = sizeCustomProperty ? "var(".concat(sizeCustomProperty, ")") : "".concat(sizeMap[size], "rem");
42
42
  return /*#__PURE__*/React.createElement(StyledRoot, {
43
43
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"IconRoot.js","sources":["../../../src/components/_Icon/IconRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@linaria/react';\n\nconst sizeMap = {\n xxs: 1, // 16px\n xs: 1, // 16px\n s: 1.5, // 24px\n m: 2.25, // 36px\n l: 2.75, // 44px\n xl: 3.5, // 56px\n xxl: 6.25, // 100px\n};\n\nexport type IconSize = keyof typeof sizeMap;\n\nexport interface IconProps {\n size?: IconSize;\n color?: string;\n className?: string;\n /*\n * Прорпс, который принимает название css-переменной.\n * В значении токена может быть как rem, так и другая единица измерения (значение задается через конфиг).\n * @example\n * const token = '--plasma-icon-size';\n * ...\n * <Icon sizeCustomProperty={token} {...rest}/>\n */\n sizeCustomProperty?: string;\n}\n\ninterface IconRootProps extends IconProps {\n size: IconSize;\n icon: React.FC<IconProps>;\n}\n\nconst StyledRoot = styled.div<{ w: string }>`\n display: inline-flex;\n width: ${({ w }) => w};\n height: ${({ w }) => w};\n flex: 0 0 ${({ w }) => w};\n`;\n\nexport const IconRoot: React.FC<IconRootProps> = ({\n icon: IconComponent,\n size,\n color,\n className,\n sizeCustomProperty,\n}) => {\n const c = color || 'var(--plasma-colors-primary)';\n\n const w = sizeCustomProperty ? `var(${sizeCustomProperty})` : `${sizeMap[size]}rem`;\n\n return (\n <StyledRoot aria-hidden w={w} className={className}>\n <IconComponent color={c} size={size} />\n </StyledRoot>\n );\n};\n"],"names":["sizeMap","xxs","xs","s","m","l","xl","xxl","_exp3","_ref","w","StyledRoot","styled","name","class","propsAsIs","vars","IconRoot","_ref2","IconComponent","icon","size","color","className","sizeCustomProperty","c","concat","React","createElement"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,GAAG,EAAE,CAAC;AAAE;AACRC,EAAAA,EAAE,EAAE,CAAC;AAAE;AACPC,EAAAA,CAAC,EAAE,GAAG;AAAE;AACRC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,EAAE,EAAE,GAAG;AAAE;EACTC,GAAG,EAAE,IAAI;AACb,CAAC,CAAA;AAsBA,IAAAC,KAAA,GAhCiBA,SAgCjBA,KAAAA,GAAA;AAAA,EAAA,OAMe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAAAA,IAAAA,OAAQA,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAJ5B,IAAMC,UAAU,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAITR,KAAY,EAAA,CAAA;AAAA,GAAA;AAAA,CAC3B,CAAA,CAAA;IAEYS,QAAiC,GAAGA,SAApCA,QAAiCA,CAAAC,KAAA,EAMxC;AAAA,EAAA,IALIC,aAAa,GAAAD,KAAA,CAAnBE,IAAI;IACJC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IACJC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,SAAS,GAAAL,KAAA,CAATK,SAAS;IACTC,kBAAAA,GAAAA,KAAAA,CAAAA,kBAAAA,CAAAA;AAEA,EAAA,IAAMC,CAAC,GAAGH,KAAK,IAAI,8BAA8B,CAAA;AAEjD,EAAA,IAAMZ,CAAC,GAAGc,kBAAkB,GAAA,MAAA,CAAAE,MAAA,CAAUF,kBAAmB,EAAAE,GAAAA,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAQ1B,OAAO,CAACqB,IAAI,CAAE,EAAI,KAAA,CAAA,CAAA;AAEnF,EAAA,oBACIM,KAAA,CAAAC,aAAA,CAACjB,UAAU,EAAA;IAAC,aAAW,EAAA,IAAA;AAACD,IAAAA,CAAC,EAAEA,CAAE;AAACa,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,eAC/CI,KAAA,CAAAC,aAAA,CAACT,aAAa,EAAA;AAACG,IAAAA,KAAK,EAAEG,CAAE;AAACJ,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,CAC5B,CAAC,CAAA;AAErB;;;;"}
1
+ {"version":3,"file":"IconRoot.js","sources":["../../../src/components/_Icon/IconRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@linaria/react';\n\nconst sizeMap = {\n xxs: 1, // 16px\n xs: 1, // 16px\n s: 1.5, // 24px\n m: 2.25, // 36px\n l: 2.75, // 44px\n xl: 3.5, // 56px\n xxl: 6.25, // 100px\n};\n\nexport type IconSize = keyof typeof sizeMap;\n\nexport interface IconProps {\n size?: IconSize;\n color?: string;\n className?: string;\n /*\n * Прорпс, который принимает название css-переменной.\n * В значении токена может быть как rem, так и другая единица измерения (значение задается через конфиг).\n * @example\n * const token = '--plasma-icon-size';\n * ...\n * <Icon sizeCustomProperty={token} {...rest}/>\n */\n sizeCustomProperty?: string;\n}\n\ninterface IconRootProps extends IconProps {\n size: IconSize;\n icon: React.FC<IconProps>;\n}\n\nconst StyledRoot = styled.div<{ w: string }>`\n display: inline-flex;\n width: ${({ w }) => w};\n height: ${({ w }) => w};\n flex: 0 0 ${({ w }) => w};\n`;\n\nexport const IconRoot: React.FC<IconRootProps> = ({\n icon: IconComponent,\n size,\n color,\n className,\n sizeCustomProperty,\n}) => {\n const c = color || 'var(--text-primary)';\n\n const w = sizeCustomProperty ? `var(${sizeCustomProperty})` : `${sizeMap[size]}rem`;\n\n return (\n <StyledRoot aria-hidden w={w} className={className}>\n <IconComponent color={c} size={size} />\n </StyledRoot>\n );\n};\n"],"names":["sizeMap","xxs","xs","s","m","l","xl","xxl","_exp3","_ref","w","StyledRoot","styled","name","class","propsAsIs","vars","IconRoot","_ref2","IconComponent","icon","size","color","className","sizeCustomProperty","c","concat","React","createElement"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,GAAG,EAAE,CAAC;AAAE;AACRC,EAAAA,EAAE,EAAE,CAAC;AAAE;AACPC,EAAAA,CAAC,EAAE,GAAG;AAAE;AACRC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,CAAC,EAAE,IAAI;AAAE;AACTC,EAAAA,EAAE,EAAE,GAAG;AAAE;EACTC,GAAG,EAAE,IAAI;AACb,CAAC,CAAA;AAsBA,IAAAC,KAAA,GAhCiBA,SAgCjBA,KAAAA,GAAA;AAAA,EAAA,OAMe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AAAAA,IAAAA,OAAQA,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAJ5B,IAAMC,UAAU,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAITR,KAAY,EAAA,CAAA;AAAA,GAAA;AAAA,CAC3B,CAAA,CAAA;IAEYS,QAAiC,GAAGA,SAApCA,QAAiCA,CAAAC,KAAA,EAMxC;AAAA,EAAA,IALIC,aAAa,GAAAD,KAAA,CAAnBE,IAAI;IACJC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IACJC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,SAAS,GAAAL,KAAA,CAATK,SAAS;IACTC,kBAAAA,GAAAA,KAAAA,CAAAA,kBAAAA,CAAAA;AAEA,EAAA,IAAMC,CAAC,GAAGH,KAAK,IAAI,qBAAqB,CAAA;AAExC,EAAA,IAAMZ,CAAC,GAAGc,kBAAkB,GAAA,MAAA,CAAAE,MAAA,CAAUF,kBAAmB,EAAAE,GAAAA,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAQ1B,OAAO,CAACqB,IAAI,CAAE,EAAI,KAAA,CAAA,CAAA;AAEnF,EAAA,oBACIM,KAAA,CAAAC,aAAA,CAACjB,UAAU,EAAA;IAAC,aAAW,EAAA,IAAA;AAACD,IAAAA,CAAC,EAAEA,CAAE;AAACa,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,eAC/CI,KAAA,CAAAC,aAAA,CAACT,aAAa,EAAA;AAACG,IAAAA,KAAK,EAAEG,CAAE;AAACJ,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,CAC5B,CAAC,CAAA;AAErB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.90.0-canary.1260.9580678742.0",
3
+ "version": "0.90.0-dev.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -105,5 +105,5 @@
105
105
  "react-popper": "2.3.0",
106
106
  "storeon": "3.1.5"
107
107
  },
108
- "gitHead": "4757d728577f59f36174e5725f3e7a4c6d8fa4ee"
108
+ "gitHead": "101e18d5ec76e46c45f5f33e27f99176229bb517"
109
109
  }
@@ -86,7 +86,7 @@ import { Button } from '@salutejs/{{package}}';
86
86
 
87
87
  export function App() {
88
88
  return (
89
- <div style={{ display: "flex", flexDirection: "column", gap: "1rem" }}>
89
+ <div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
90
90
  <Button text="Button" stretching="fixed" />
91
91
  <Button text="Button" stretching="auto" />
92
92
  <Button text="Button" stretching="filled" />
@@ -99,7 +99,7 @@ export function App() {
99
99
  Позиционирование контента внутри кнопки регулируется с помощью свойства `contentPlacing`.
100
100
  Возможные значения свойства `contentPlacing`:
101
101
  + `default` – контент центрируется;
102
- + `relaxed` – контент распологается по краям.
102
+ + `relaxed` – контент располагается по краям.
103
103
 
104
104
  ```tsx live
105
105
  import React from 'react';
@@ -107,7 +107,7 @@ import { Button } from '@salutejs/{{package}}';
107
107
 
108
108
  export function App() {
109
109
  return (
110
- <div style={{ display: "flex", flexDirection: "column", gap: "1rem" }}>
110
+ <div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
111
111
  <Button text="Hello" value="Plasma" stretching="filled" contentPlacing="default" />
112
112
  <Button text="Hello" value="Plasma" stretching="filled" contentPlacing="relaxed" />
113
113
  </div>
@@ -17,7 +17,7 @@ var _utils2 = /*#__PURE__*/require("./utils");
17
17
  var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
18
18
  var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
19
19
  var _useHashMaps3 = /*#__PURE__*/require("./hooks/useHashMaps");
20
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
20
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow"];
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -62,7 +62,6 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
62
62
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
63
63
  _ref$hasArrow = _ref.hasArrow,
64
64
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
65
- portal = _ref.portal,
66
65
  rest = _objectWithoutProperties(_ref, _excluded);
67
66
  var _useReducer = (0, _react.useReducer)(_pathReducer.pathReducer, []),
68
67
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -114,8 +113,15 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
114
113
  }, '').replace(/^(\/)/, '');
115
114
  return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
116
115
  };
117
- return /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
116
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
117
+ className: (0, _utils.cx)(className, _Dropdown2.classes.dropdownRoot),
118
+ ref: ref,
119
+ view: view,
120
+ size: size,
121
+ items: items
122
+ }, rest), /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
118
123
  isOpen: isCurrentListOpen,
124
+ usePortal: false,
119
125
  onToggle: handleGlobalToggle,
120
126
  offset: offset,
121
127
  placement: (0, _utils2.getPlacements)(placement),
@@ -129,15 +135,8 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
129
135
  'aria-activedescendant': getActiveDescendant(),
130
136
  onKeyDown: onKeyDown
131
137
  }),
132
- preventOverflow: false,
133
- usePortal: Boolean(portal),
134
- frame: portal
135
- }, /*#__PURE__*/_react["default"].createElement(Root, _extends({
136
- className: (0, _utils.cx)(className, _Dropdown2.classes.dropdownRoot),
137
- ref: ref,
138
- view: view,
139
- size: size
140
- }, rest), /*#__PURE__*/_react["default"].createElement(_Dropdown.Ul, {
138
+ preventOverflow: false
139
+ }, /*#__PURE__*/_react["default"].createElement(_Dropdown.Ul, {
141
140
  listHeight: listHeight,
142
141
  listOverflow: listOverflow,
143
142
  role: "tree",
@@ -123,20 +123,19 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
123
123
  }, [closeOnEsc, isOpen, onToggle]);
124
124
  var onDocumentClick = (0, _react.useCallback)(function (event) {
125
125
  if (isOpen && closeOnOverlayClick && onToggle) {
126
- var _rootRef$current, _popoverRef$current;
126
+ var _rootRef$current;
127
127
  var targetIsRoot = event.target === rootRef.current;
128
128
  var rootHasTarget = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.contains(event.target);
129
- var popoverRootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
130
- if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {
129
+ if (!targetIsRoot && !rootHasTarget) {
131
130
  onToggle(false, event);
132
131
  }
133
132
  }
134
133
  }, [closeOnOverlayClick, isOpen, onToggle]);
135
134
  var onClick = (0, _react.useCallback)(function (event) {
136
135
  if (trigger === 'click') {
137
- var _popoverRef$current2;
136
+ var _popoverRef$current;
138
137
  var targetIsPopover = event.target === popoverRef.current;
139
- var rootHasTarget = (_popoverRef$current2 = popoverRef.current) === null || _popoverRef$current2 === void 0 ? void 0 : _popoverRef$current2.contains(event.target);
138
+ var rootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
140
139
  if (!targetIsPopover && !rootHasTarget) {
141
140
  onToggle === null || onToggle === void 0 || onToggle(!isOpen, event);
142
141
  }
@@ -31,9 +31,11 @@ export function App() {
31
31
  Компоненты `Radiobox` следует объединять в `RadioGroup`
32
32
 
33
33
  ```tsx live
34
- <RadioGroup aria-labelledby="radiogroup-title-id">
35
- <H3 id="radiogroup-title-id">Заголовок</H3>
36
- <Radiobox name="radio-1" label="Радиокнопка 1" description="Описание 1" defaultChecked />
37
- <Radiobox name="radio-1" label="Радиокнопка 2" description="Описание 2" />
38
- </RadioGroup>
34
+ <div>
35
+ <RadioGroup aria-labelledby="radiogroup-title-id">
36
+ <H3 id="radiogroup-title-id" style=\{{"margin-bottom": "12px"}}>Заголовок</H3>
37
+ <Radiobox name="radio-1" label="Радиокнопка 1" description="Описание 1" defaultChecked />
38
+ <Radiobox name="radio-1" label="Радиокнопка 2" description="Описание 2" />
39
+ </RadioGroup>
40
+ </div>
39
41
  ```
@@ -53,7 +53,7 @@ export function App() {
53
53
  }
54
54
 
55
55
  return (
56
- <div style={{ display: "block" }} >
56
+ <div style=\{{ display: "block" }} >
57
57
  <SegmentProvider>
58
58
  <SegmentTemplate/>
59
59
  </SegmentProvider>
@@ -40,7 +40,7 @@ var IconRoot = exports.IconRoot = function IconRoot(_ref4) {
40
40
  color = _ref4.color,
41
41
  className = _ref4.className,
42
42
  sizeCustomProperty = _ref4.sizeCustomProperty;
43
- var c = color || 'var(--plasma-colors-primary)';
43
+ var c = color || 'var(--text-primary)';
44
44
  var w = sizeCustomProperty ? "var(".concat(sizeCustomProperty, ")") : "".concat(sizeMap[size], "rem");
45
45
  return /*#__PURE__*/_react["default"].createElement(StyledRoot, {
46
46
  "aria-hidden": true,
@@ -86,7 +86,7 @@ import { Button } from '@salutejs/{{package}}';
86
86
 
87
87
  export function App() {
88
88
  return (
89
- <div style={{ display: "flex", flexDirection: "column", gap: "1rem" }}>
89
+ <div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
90
90
  <Button text="Button" stretching="fixed" />
91
91
  <Button text="Button" stretching="auto" />
92
92
  <Button text="Button" stretching="filled" />
@@ -99,7 +99,7 @@ export function App() {
99
99
  Позиционирование контента внутри кнопки регулируется с помощью свойства `contentPlacing`.
100
100
  Возможные значения свойства `contentPlacing`:
101
101
  + `default` – контент центрируется;
102
- + `relaxed` – контент распологается по краям.
102
+ + `relaxed` – контент располагается по краям.
103
103
 
104
104
  ```tsx live
105
105
  import React from 'react';
@@ -107,7 +107,7 @@ import { Button } from '@salutejs/{{package}}';
107
107
 
108
108
  export function App() {
109
109
  return (
110
- <div style={{ display: "flex", flexDirection: "column", gap: "1rem" }}>
110
+ <div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
111
111
  <Button text="Hello" value="Plasma" stretching="filled" contentPlacing="default" />
112
112
  <Button text="Hello" value="Plasma" stretching="filled" contentPlacing="relaxed" />
113
113
  </div>
@@ -1,4 +1,4 @@
1
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
1
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -54,7 +54,6 @@ export var dropdownRoot = function dropdownRoot(Root) {
54
54
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
55
55
  _ref$hasArrow = _ref.hasArrow,
56
56
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
57
- portal = _ref.portal,
58
57
  rest = _objectWithoutProperties(_ref, _excluded);
59
58
  var _useReducer = useReducer(pathReducer, []),
60
59
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -106,8 +105,15 @@ export var dropdownRoot = function dropdownRoot(Root) {
106
105
  }, '').replace(/^(\/)/, '');
107
106
  return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
108
107
  };
109
- return /*#__PURE__*/React.createElement(StyledPopover, {
108
+ return /*#__PURE__*/React.createElement(Root, _extends({
109
+ className: cx(className, classes.dropdownRoot),
110
+ ref: ref,
111
+ view: view,
112
+ size: size,
113
+ items: items
114
+ }, rest), /*#__PURE__*/React.createElement(StyledPopover, {
110
115
  isOpen: isCurrentListOpen,
116
+ usePortal: false,
111
117
  onToggle: handleGlobalToggle,
112
118
  offset: offset,
113
119
  placement: getPlacements(placement),
@@ -121,15 +127,8 @@ export var dropdownRoot = function dropdownRoot(Root) {
121
127
  'aria-activedescendant': getActiveDescendant(),
122
128
  onKeyDown: onKeyDown
123
129
  }),
124
- preventOverflow: false,
125
- usePortal: Boolean(portal),
126
- frame: portal
127
- }, /*#__PURE__*/React.createElement(Root, _extends({
128
- className: cx(className, classes.dropdownRoot),
129
- ref: ref,
130
- view: view,
131
- size: size
132
- }, rest), /*#__PURE__*/React.createElement(Ul, {
130
+ preventOverflow: false
131
+ }, /*#__PURE__*/React.createElement(Ul, {
133
132
  listHeight: listHeight,
134
133
  listOverflow: listOverflow,
135
134
  role: "tree",
@@ -114,20 +114,19 @@ export var popoverRoot = function popoverRoot(Root) {
114
114
  }, [closeOnEsc, isOpen, onToggle]);
115
115
  var onDocumentClick = useCallback(function (event) {
116
116
  if (isOpen && closeOnOverlayClick && onToggle) {
117
- var _rootRef$current, _popoverRef$current;
117
+ var _rootRef$current;
118
118
  var targetIsRoot = event.target === rootRef.current;
119
119
  var rootHasTarget = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.contains(event.target);
120
- var popoverRootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
121
- if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {
120
+ if (!targetIsRoot && !rootHasTarget) {
122
121
  onToggle(false, event);
123
122
  }
124
123
  }
125
124
  }, [closeOnOverlayClick, isOpen, onToggle]);
126
125
  var onClick = useCallback(function (event) {
127
126
  if (trigger === 'click') {
128
- var _popoverRef$current2;
127
+ var _popoverRef$current;
129
128
  var targetIsPopover = event.target === popoverRef.current;
130
- var rootHasTarget = (_popoverRef$current2 = popoverRef.current) === null || _popoverRef$current2 === void 0 ? void 0 : _popoverRef$current2.contains(event.target);
129
+ var rootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
131
130
  if (!targetIsPopover && !rootHasTarget) {
132
131
  onToggle === null || onToggle === void 0 || onToggle(!isOpen, event);
133
132
  }
@@ -31,9 +31,11 @@ export function App() {
31
31
  Компоненты `Radiobox` следует объединять в `RadioGroup`
32
32
 
33
33
  ```tsx live
34
- <RadioGroup aria-labelledby="radiogroup-title-id">
35
- <H3 id="radiogroup-title-id">Заголовок</H3>
36
- <Radiobox name="radio-1" label="Радиокнопка 1" description="Описание 1" defaultChecked />
37
- <Radiobox name="radio-1" label="Радиокнопка 2" description="Описание 2" />
38
- </RadioGroup>
34
+ <div>
35
+ <RadioGroup aria-labelledby="radiogroup-title-id">
36
+ <H3 id="radiogroup-title-id" style=\{{"margin-bottom": "12px"}}>Заголовок</H3>
37
+ <Radiobox name="radio-1" label="Радиокнопка 1" description="Описание 1" defaultChecked />
38
+ <Radiobox name="radio-1" label="Радиокнопка 2" description="Описание 2" />
39
+ </RadioGroup>
40
+ </div>
39
41
  ```
@@ -53,7 +53,7 @@ export function App() {
53
53
  }
54
54
 
55
55
  return (
56
- <div style={{ display: "block" }} >
56
+ <div style=\{{ display: "block" }} >
57
57
  <SegmentProvider>
58
58
  <SegmentTemplate/>
59
59
  </SegmentProvider>
@@ -33,7 +33,7 @@ export var IconRoot = function IconRoot(_ref4) {
33
33
  color = _ref4.color,
34
34
  className = _ref4.className,
35
35
  sizeCustomProperty = _ref4.sizeCustomProperty;
36
- var c = color || 'var(--plasma-colors-primary)';
36
+ var c = color || 'var(--text-primary)';
37
37
  var w = sizeCustomProperty ? "var(".concat(sizeCustomProperty, ")") : "".concat(sizeMap[size], "rem");
38
38
  return /*#__PURE__*/React.createElement(StyledRoot, {
39
39
  "aria-hidden": true,
@@ -4,11 +4,11 @@ import type { DropdownProps } from './Dropdown.types';
4
4
  /**
5
5
  * Выпадающий список.
6
6
  */
7
- export declare const dropdownRoot: (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) => React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const dropdownRoot: (Root: RootProps<HTMLDivElement, DropdownProps>) => React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
8
8
  export declare const dropdownConfig: {
9
9
  name: string;
10
10
  tag: string;
11
- layout: (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) => React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
11
+ layout: (Root: RootProps<HTMLDivElement, DropdownProps>) => React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
12
12
  base: import("@linaria/core").LinariaClassName;
13
13
  variations: {
14
14
  view: {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAU1C,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAK9E;;GAEG;AACH,eAAO,MAAM,YAAY,SAAU,UAAU,cAAc,EAAE,KAAK,aAAa,EAAE,OAAO,CAAC,CAAC,yFA2HrF,CAAC;AAEN,eAAO,MAAM,cAAc;;;mBA7HQ,UAAU,cAAc,EAAE,KAAK,aAAa,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;CA8IzF,CAAC"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAU1C,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAK9E;;GAEG;AACH,eAAO,MAAM,YAAY,SAAU,UAAU,cAAc,EAAE,aAAa,CAAC,yFAgItE,CAAC;AAEN,eAAO,MAAM,cAAc;;;mBAlIQ,UAAU,cAAc,EAAE,aAAa,CAAC;;;;;;;;;;;;;;CAmJ1E,CAAC"}
@@ -71,10 +71,6 @@ export interface DropdownProps extends HTMLAttributes<HTMLDivElement> {
71
71
  * @default normal
72
72
  */
73
73
  variant?: 'normal' | 'tight';
74
- /**
75
- * Портал для выпадающего списка. Принимает id контейнера или ref.
76
- */
77
- portal?: string | React.RefObject<HTMLElement>;
78
74
  /**
79
75
  * Обработчик клика по item.
80
76
  * @deprecated использовать onItemSelect.
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACzE,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAEhE,oBAAY,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE/C;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACxE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,sBAAsB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACzE,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAEhE,oBAAY,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACxE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,sBAAsB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAMpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAItE,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,cAAc,EAAE,YAAY,CAAC,+JAyPpE,CAAC;AAEN,eAAO,MAAM,aAAa;;;mBA3PQ,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;;;;;;CAwQxE,CAAC"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAMpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAItE,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,cAAc,EAAE,YAAY,CAAC,+JAwPpE,CAAC;AAEN,eAAO,MAAM,aAAa;;;mBA1PQ,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;;;;;;CAuQxE,CAAC"}