@consta/uikit 4.30.0 → 4.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/MixFlex/index.d.ts +1 -0
  2. package/MixFlex/index.js +1 -0
  3. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +1 -1
  4. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -1
  5. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
  6. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
  7. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  8. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  9. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
  10. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
  11. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.css +1 -1
  12. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js +1 -1
  13. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
  14. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
  15. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
  16. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
  17. package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js +1 -1
  18. package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
  19. package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
  20. package/__internal__/src/components/ContextMenu/types.d.ts +3 -3
  21. package/__internal__/src/components/ContextMenu/types.js.map +1 -1
  22. package/__internal__/src/components/ContextMenu/useMenuNavigation.d.ts +23 -0
  23. package/__internal__/src/components/ContextMenu/useMenuNavigation.js +2 -0
  24. package/__internal__/src/components/ContextMenu/useMenuNavigation.js.map +1 -0
  25. package/__internal__/src/components/ListCanary/ListItem/ListItem.css +1 -1
  26. package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
  27. package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
  28. package/__internal__/src/components/Responses/Responses.d.ts +1 -1
  29. package/__internal__/src/components/Responses/Responses.js.map +1 -1
  30. package/__internal__/src/components/Responses/createResponses.d.ts +1 -1
  31. package/__internal__/src/components/Responses/createResponses.js.map +1 -1
  32. package/__internal__/src/components/Responses403/Responses403.js +1 -1
  33. package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
  34. package/__internal__/src/components/Responses403/index.d.ts +1 -0
  35. package/__internal__/src/components/Responses403/index.js +1 -1
  36. package/__internal__/src/components/Responses403/index.js.map +1 -1
  37. package/__internal__/src/components/Responses404/Responses404.js +1 -1
  38. package/__internal__/src/components/Responses404/Responses404.js.map +1 -1
  39. package/__internal__/src/components/Responses404/index.d.ts +1 -0
  40. package/__internal__/src/components/Responses404/index.js +1 -1
  41. package/__internal__/src/components/Responses404/index.js.map +1 -1
  42. package/__internal__/src/components/Responses500/Responses500.js +1 -1
  43. package/__internal__/src/components/Responses500/Responses500.js.map +1 -1
  44. package/__internal__/src/components/Responses500/index.d.ts +1 -0
  45. package/__internal__/src/components/Responses500/index.js +1 -1
  46. package/__internal__/src/components/Responses500/index.js.map +1 -1
  47. package/__internal__/src/components/Responses503/Responses503.js +1 -1
  48. package/__internal__/src/components/Responses503/Responses503.js.map +1 -1
  49. package/__internal__/src/components/Responses503/index.d.ts +1 -0
  50. package/__internal__/src/components/Responses503/index.js +1 -1
  51. package/__internal__/src/components/Responses503/index.js.map +1 -1
  52. package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js +1 -1
  53. package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js.map +1 -1
  54. package/__internal__/src/components/ResponsesConnectionError/index.d.ts +1 -0
  55. package/__internal__/src/components/ResponsesConnectionError/index.js +1 -1
  56. package/__internal__/src/components/ResponsesConnectionError/index.js.map +1 -1
  57. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
  58. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
  59. package/__internal__/src/components/ResponsesDeleted/index.d.ts +1 -0
  60. package/__internal__/src/components/ResponsesDeleted/index.js +1 -1
  61. package/__internal__/src/components/ResponsesDeleted/index.js.map +1 -1
  62. package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js +1 -1
  63. package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js.map +1 -1
  64. package/__internal__/src/components/ResponsesEmptyBox/index.d.ts +1 -0
  65. package/__internal__/src/components/ResponsesEmptyBox/index.js +1 -1
  66. package/__internal__/src/components/ResponsesEmptyBox/index.js.map +1 -1
  67. package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js +1 -1
  68. package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js.map +1 -1
  69. package/__internal__/src/components/ResponsesEmptyPockets/index.d.ts +1 -0
  70. package/__internal__/src/components/ResponsesEmptyPockets/index.js +1 -1
  71. package/__internal__/src/components/ResponsesEmptyPockets/index.js.map +1 -1
  72. package/__internal__/src/components/ResponsesExit/ResponsesExit.js +1 -1
  73. package/__internal__/src/components/ResponsesExit/ResponsesExit.js.map +1 -1
  74. package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js +1 -1
  75. package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js.map +1 -1
  76. package/__internal__/src/components/ResponsesNothingFound/index.d.ts +1 -0
  77. package/__internal__/src/components/ResponsesNothingFound/index.js +1 -1
  78. package/__internal__/src/components/ResponsesNothingFound/index.js.map +1 -1
  79. package/__internal__/src/components/ResponsesSuccess/ResponsesSuccess.js +1 -1
  80. package/__internal__/src/components/ResponsesSuccess/ResponsesSuccess.js.map +1 -1
  81. package/__internal__/src/components/ResponsesSuccess/index.d.ts +1 -0
  82. package/__internal__/src/components/ResponsesSuccess/index.js +1 -1
  83. package/__internal__/src/components/ResponsesSuccess/index.js.map +1 -1
  84. package/__internal__/src/components/Select/Select.js +1 -1
  85. package/__internal__/src/components/Select/Select.js.map +1 -1
  86. package/__internal__/src/components/SelectCanary/SelectCanary.js +1 -1
  87. package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -1
  88. package/__internal__/src/components/ThemeToggler/ThemeToggler.js +1 -1
  89. package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
  90. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  91. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  92. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +1 -1
  93. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -1
  94. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
  95. package/__internal__/src/hocs/withTooltip/withTooltip.js +1 -1
  96. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  97. package/__internal__/src/hooks/useDebounce/useDebounce.js +1 -1
  98. package/__internal__/src/hooks/useDebounce/useDebounce.js.map +1 -1
  99. package/__internal__/src/hooks/useMutableRef/useMutableRef.js +1 -1
  100. package/__internal__/src/hooks/useMutableRef/useMutableRef.js.map +1 -1
  101. package/__internal__/src/mixs/MixFlex/MixFlex.css +1 -0
  102. package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +24 -0
  103. package/__internal__/src/mixs/MixFlex/MixFlex.js +2 -0
  104. package/__internal__/src/mixs/MixFlex/MixFlex.js.map +1 -0
  105. package/__internal__/src/mixs/MixFlex/index.d.ts +1 -0
  106. package/__internal__/src/mixs/MixFlex/index.js +2 -0
  107. package/__internal__/src/mixs/MixFlex/index.js.map +1 -0
  108. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuLevel.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useEffect","cnListBox","List","ListDivider","ListItem","mapIconSize","mapVerticalSpase","useFlag","useRefs","cnMixPopoverAnimate","cnMixSpace","cn","ContextMenuLevelWrapper","contextMenuDefaultSize","cnContextMenuLevel","timers","clearTimers","timer","clearTimeout","closeDelay","ContextMenuLevelRender","props","ref","size","items","groupsProp","groups","className","form","animate","levelDepth","activeItem","addLevel","deleteLevel","setHoveredParenLevel","hoveredParenLevel","sortGroup","onItemClick","isOpen","parent","isMobile","direction","possibleDirections","offset","onSetDirection","spareDirection","anchorRef","getItemLabel","getItemRightSide","getItemLeftSide","getItemSubMenu","getItemStatus","getItemDisabled","getItemKey","getItemOnClick","getItemAs","getItemAttributes","getItemGroupId","getItemLeftIcon","getItemRightIcon","getGroupLabel","getGroupId","otherProps","hovered","setHovered","getKey","item","toString","itemsRefs","map","setTimeout","addCurrentLevel","subMenu","disabled","Array","isArray","key","level","onMouseEnter","e","firstLevel","border","shadow","pV","on","off","mV","a","b","side","sides","push","ContextMenuLevel"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.tsx"],"sourcesContent":["import './ContextMenuLevel.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport {\n cnListBox,\n List,\n ListDivider,\n ListItem,\n mapIconSize,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useRefs } from '##/hooks/useRefs/useRefs';\nimport { cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { AsAttributes, AsTagAttribute } from '##/utils/types/AsTags';\n\nimport { ContextMenuLevelWrapper } from '../ContextMenuLevelWrapper';\nimport {\n contextMenuDefaultSize,\n ContextMenuItemDefault,\n ContextMenuLevelComponent,\n ContextMenuLevelProps,\n} from '../types';\n\nexport const cnContextMenuLevel = cn('ContextMenuLevel');\n\nlet timers: ReturnType<typeof setTimeout>[] = [];\nexport function clearTimers() {\n for (const timer of timers) {\n clearTimeout(timer);\n }\n timers = [];\n}\n\nconst closeDelay = 300;\n\nconst ContextMenuLevelRender = (\n props: ContextMenuLevelProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = contextMenuDefaultSize,\n items,\n groups: groupsProp,\n className,\n form = 'default',\n animate,\n // Свойства относящиеся к меню\n levelDepth,\n activeItem,\n addLevel,\n deleteLevel,\n setHoveredParenLevel,\n hoveredParenLevel,\n sortGroup,\n onItemClick,\n isOpen,\n parent,\n isMobile,\n\n // Свойства для поповера\n direction,\n possibleDirections,\n offset,\n onSetDirection,\n spareDirection,\n anchorRef,\n // Геттеры для ITEM\n getItemLabel,\n getItemRightSide,\n getItemLeftSide,\n getItemSubMenu,\n getItemStatus,\n getItemDisabled,\n getItemKey,\n getItemOnClick,\n getItemAs,\n getItemAttributes,\n getItemGroupId,\n getItemLeftIcon,\n getItemRightIcon,\n // Геттеры для GROUP\n getGroupLabel,\n getGroupId,\n ...otherProps\n } = props;\n\n const [hovered, setHovered] = useFlag(false);\n\n const getKey = (item: ContextMenuItemDefault) =>\n (getItemKey(item) || getItemLabel(item)).toString();\n\n const itemsRefs = useRefs<HTMLDivElement, string[]>(\n items.map((item) => getKey(item)),\n [groupsProp],\n );\n\n useEffect(() => {\n if (levelDepth !== 0 && !hovered && hoveredParenLevel < levelDepth) {\n clearTimeout(timers[levelDepth]);\n timers[levelDepth] = setTimeout(\n () => deleteLevel(levelDepth),\n closeDelay,\n );\n }\n return () => clearTimeout(timers[levelDepth]);\n }, [hovered, hoveredParenLevel]);\n\n useEffect(() => {\n if (!isOpen) {\n clearTimeout(timers[levelDepth]);\n }\n }, [isOpen]);\n\n const addCurrentLevel = (item: ContextMenuItemDefault) => {\n const subMenu = getItemSubMenu(item);\n const disabled = getItemDisabled(item);\n\n if (Array.isArray(subMenu) && !disabled) {\n const key = getKey(item);\n addLevel({\n level: levelDepth + 1,\n items: subMenu,\n anchorRef: itemsRefs[key],\n activeItem: key,\n parent: item,\n });\n setHoveredParenLevel(levelDepth + 1);\n } else {\n setHoveredParenLevel(levelDepth);\n }\n };\n\n const onMouseEnter = isMobile\n ? undefined\n : (item: ContextMenuItemDefault): AsTagAttribute<'div'>['onMouseEnter'] =>\n (e) => {\n addCurrentLevel(item);\n const onMouseEnter = getItemAttributes(item)\n ?.onMouseEnter as AsTagAttribute<'div'>['onMouseEnter'];\n\n onMouseEnter?.(e);\n };\n\n const firstLevel = levelDepth === 0;\n\n return (\n <ContextMenuLevelWrapper\n anchorRef={anchorRef}\n className={\n isMobile\n ? cnContextMenuLevel('Mobile', { animate }, [className])\n : cnContextMenuLevel('Desktop', { firstLevel }, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n cnMixPopoverAnimate({ animate }),\n firstLevel ? className : undefined,\n ])\n }\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n direction={direction}\n offset={offset}\n onSetDirection={onSetDirection}\n onMouseEnter={setHovered.on}\n onMouseLeave={setHovered.off}\n ref={ref}\n isMobile={isMobile}\n {...otherProps}\n >\n {parent && (\n <>\n <ListItem\n label={getItemLabel(parent)}\n size={size}\n leftIcon={IconArrowLeft}\n onClick={() => deleteLevel(levelDepth)}\n />\n <ListDivider size={size} space={{ mV: mapVerticalSpase[size] }} />\n </>\n )}\n <List\n size={size}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={(item, { e }) => {\n isMobile && addCurrentLevel(item);\n onItemClick?.({\n item,\n e: e as React.MouseEvent<HTMLDivElement>,\n });\n }}\n sortGroup={sortGroup ? (a, b) => sortGroup(a.key, b.key) : undefined}\n getItemOnClick={\n getItemOnClick\n ? (item) => (e) =>\n getItemOnClick(item)?.({\n e: e as React.MouseEvent<HTMLDivElement>,\n item,\n })\n : undefined\n }\n getItemAs={getItemAs}\n getItemAttributes={\n onMouseEnter\n ? (item) =>\n ({\n ...getItemAttributes(item),\n onMouseEnter: onMouseEnter(item),\n } as AsAttributes)\n : getItemAttributes\n }\n getItemGroupKey={getItemGroupId}\n getItemLeftIcon={getItemLeftIcon}\n getItemRightIcon={getItemRightIcon}\n getItemLeftSide={getItemLeftSide}\n getItemRightSide={(item) => {\n const side = getItemRightSide(item);\n if (!getItemSubMenu(item)) {\n return side;\n }\n\n const sides: React.ReactNode[] = Array.isArray(side) ? side : [side];\n sides.push(<IconArrowRight size={mapIconSize[size]} />);\n return sides;\n }}\n getGroupKey={getGroupId}\n getGroupLabel={getGroupLabel}\n getItemDisabled={getItemDisabled}\n getItemStatus={getItemStatus}\n getItemRef={(item) => itemsRefs[getKey(item)]}\n groups={groupsProp}\n getItemActive={(item) => getKey(item) === activeItem}\n innerOffset={form === 'round' ? 'increased' : 'normal'}\n />\n </ContextMenuLevelWrapper>\n );\n};\n\nexport const ContextMenuLevel = forwardRef(\n ContextMenuLevelRender,\n) as ContextMenuLevelComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenuLevel.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useEffect","useMemo","cnListBox","List","ListDivider","ListItem","mapIconSize","mapVerticalSpase","useFlag","useForkRef","cnMixPopoverAnimate","cnMixSpace","cn","ContextMenuLevelWrapper","contextMenuDefaultSize","useMenuNavigation","cnContextMenuLevel","timers","clearTimers","timer","clearTimeout","closeDelay","ContextMenuLevelRender","props","ref","size","items","groupsProp","groups","className","form","animate","levelDepth","activeLevelDepth","activeItem","addLevel","deleteLevel","setHoveredParenLevel","hoveredParenLevel","sortGroup","onItemClickProp","onItemClick","onEsc","isOpen","parent","isMobile","direction","possibleDirections","offset","onSetDirection","spareDirection","anchorRef","getItemLabel","getItemRightSideProp","getItemRightSide","getItemLeftSide","getItemSubMenu","getItemStatus","getItemDisabled","getItemKey","getItemOnClickProp","getItemOnClick","getItemAs","getItemAttributesProp","getItemAttributes","getItemGroupId","getItemLeftIcon","getItemRightIcon","getGroupLabel","getGroupId","otherProps","firstLevel","hovered","setHovered","getKey","item","toString","addCurrentLevel","subMenu","disabled","Array","isArray","key","level","itemsRefs","active","handleEscClick","e","current","focus","refs","onKeyDown","activeIndex","setActiveIndex","setDirection","parentRef","containerRef","map","reduce","a","v","index","activeKey","onMouseEnter","indexOf","setTimeout","border","shadow","pV","on","onMouseLeave","off","mV","b","tabIndex","side","sides","push","getItemActive","ContextMenuLevel"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.tsx"],"sourcesContent":["import './ContextMenuLevel.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useEffect, useMemo } from 'react';\n\nimport {\n cnListBox,\n List,\n ListDivider,\n ListItem,\n ListPropOnItemClick,\n mapIconSize,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { AsAttributes, AsTagAttribute } from '##/utils/types/AsTags';\n\nimport { ContextMenuLevelWrapper } from '../ContextMenuLevelWrapper';\nimport {\n contextMenuDefaultSize,\n ContextMenuItemDefault,\n ContextMenuLevelComponent,\n ContextMenuLevelProps,\n} from '../types';\nimport { useMenuNavigation } from '../useMenuNavigation';\n\nexport const cnContextMenuLevel = cn('ContextMenuLevel');\n\nlet timers: ReturnType<typeof setTimeout>[] = [];\nexport function clearTimers() {\n for (const timer of timers) {\n clearTimeout(timer);\n }\n timers = [];\n}\n\nconst closeDelay = 300;\n\nconst ContextMenuLevelRender = (\n props: ContextMenuLevelProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = contextMenuDefaultSize,\n items,\n groups: groupsProp,\n className,\n form = 'default',\n animate,\n // Свойства относящиеся к меню\n levelDepth,\n activeLevelDepth,\n activeItem,\n addLevel,\n deleteLevel,\n setHoveredParenLevel,\n hoveredParenLevel,\n sortGroup,\n onItemClick: onItemClickProp,\n onEsc,\n isOpen,\n parent,\n isMobile,\n\n // Свойства для поповера\n direction,\n possibleDirections,\n offset,\n onSetDirection,\n spareDirection,\n anchorRef,\n // Геттеры для ITEM\n getItemLabel,\n getItemRightSide: getItemRightSideProp,\n getItemLeftSide,\n getItemSubMenu,\n getItemStatus,\n getItemDisabled,\n getItemKey,\n getItemOnClick: getItemOnClickProp,\n getItemAs,\n getItemAttributes: getItemAttributesProp,\n getItemGroupId,\n getItemLeftIcon,\n getItemRightIcon,\n // Геттеры для GROUP\n getGroupLabel,\n getGroupId,\n ...otherProps\n } = props;\n\n const firstLevel = levelDepth === 0;\n\n const [hovered, setHovered] = useFlag(false);\n\n const getKey = (item: ContextMenuItemDefault) =>\n (getItemKey(item) || getItemLabel(item)).toString();\n\n const addCurrentLevel = (item: ContextMenuItemDefault) => {\n const subMenu = getItemSubMenu(item);\n const disabled = getItemDisabled(item);\n\n if (Array.isArray(subMenu) && !disabled) {\n const key = getKey(item);\n addLevel({\n level: levelDepth + 1,\n items: subMenu,\n anchorRef: itemsRefs[key],\n activeItem: key,\n parent: item,\n });\n setHoveredParenLevel(levelDepth + 1);\n } else {\n setHoveredParenLevel(levelDepth);\n }\n };\n\n const handleEscClick: React.KeyboardEventHandler = (e) => {\n onEsc?.(e);\n anchorRef?.current?.focus();\n };\n\n const {\n refs,\n onKeyDown,\n activeIndex,\n setActiveIndex,\n setDirection,\n parentRef,\n containerRef,\n } = useMenuNavigation({\n items,\n getItemSubMenu,\n addLevel: addCurrentLevel,\n active: activeLevelDepth === levelDepth,\n deleteLevel: () => deleteLevel(levelDepth),\n onEsc: handleEscClick,\n level: levelDepth,\n isMobile,\n });\n\n const itemsRefs = useMemo(() => {\n return items\n .map((item) => getKey(item))\n .reduce((a, v, index) => ({ ...a, [v]: refs[index] }), {}) as Record<\n string,\n React.RefObject<HTMLDivElement>\n >;\n }, [groupsProp, refs]);\n\n const activeKey = useMemo(() => {\n const item = items[activeIndex];\n return item ? getKey(item) : undefined;\n }, [items, activeIndex]);\n\n const onMouseEnter = isMobile\n ? undefined\n : (item: ContextMenuItemDefault): AsTagAttribute<'div'>['onMouseEnter'] =>\n (e) => {\n addCurrentLevel(item);\n const onMouseEnter = getItemAttributesProp(item)\n ?.onMouseEnter as AsTagAttribute<'div'>['onMouseEnter'];\n setActiveIndex(items.indexOf(item));\n onMouseEnter?.(e);\n };\n\n // GETTERS\n\n const getItemOnClick = getItemOnClickProp\n ? (item: ContextMenuItemDefault) => (e: React.MouseEvent) => {\n getItemOnClickProp(item)?.({\n e: e as React.MouseEvent<HTMLDivElement>,\n item,\n });\n }\n : undefined;\n\n const getItemAttributes = (item: ContextMenuItemDefault) =>\n ({\n ...getItemAttributesProp(item),\n tabIndex: 0,\n onMouseEnter: onMouseEnter?.(item),\n } as AsAttributes);\n\n const getItemActive = (item: ContextMenuItemDefault) => {\n const key = getKey(item);\n return key === activeItem || key === activeKey;\n };\n\n const getItemRightSide = (item: ContextMenuItemDefault) => {\n const side = getItemRightSideProp(item);\n if (!getItemSubMenu(item)) {\n return side;\n }\n\n const sides: React.ReactNode[] = Array.isArray(side) ? side : [side];\n sides.push(<IconArrowRight size={mapIconSize[size]} />);\n return sides;\n };\n\n const onMouseLeave: React.MouseEventHandler = () => {\n setHovered.off();\n setActiveIndex(-1);\n };\n\n const onItemClick: ListPropOnItemClick<ContextMenuItemDefault> = (\n item,\n { e },\n ) => {\n if (isMobile) {\n addCurrentLevel(item);\n setActiveIndex(items.indexOf(item));\n }\n onItemClickProp?.({\n item,\n e: e as React.MouseEvent<HTMLDivElement>,\n });\n };\n\n // EFFECTS\n\n useEffect(() => {\n if (levelDepth !== 0 && !hovered && hoveredParenLevel < levelDepth) {\n clearTimeout(timers[levelDepth]);\n timers[levelDepth] = setTimeout(\n () => deleteLevel(levelDepth),\n closeDelay,\n );\n }\n return () => clearTimeout(timers[levelDepth]);\n }, [hovered, hoveredParenLevel]);\n\n useEffect(() => {\n if (!isOpen) {\n clearTimeout(timers[levelDepth]);\n }\n }, [isOpen]);\n\n return (\n <ContextMenuLevelWrapper\n anchorRef={anchorRef}\n className={\n isMobile\n ? cnContextMenuLevel('Mobile', { animate }, [className])\n : cnContextMenuLevel('Desktop', { firstLevel }, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n cnMixPopoverAnimate({ animate }),\n firstLevel ? className : undefined,\n ])\n }\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n direction={direction}\n offset={offset}\n tabIndex={0}\n onKeyDown={onKeyDown}\n onSetDirection={(direction) => {\n onSetDirection?.(direction);\n setDirection(direction);\n }}\n onMouseEnter={setHovered.on}\n onMouseLeave={onMouseLeave}\n ref={useForkRef([ref, containerRef])}\n isMobile={isMobile}\n {...otherProps}\n >\n {parent && (\n <>\n <ListItem\n label={getItemLabel(parent)}\n size={size}\n tabIndex={0}\n ref={parentRef}\n leftIcon={IconArrowLeft}\n onClick={() => deleteLevel(levelDepth)}\n active={activeIndex === -1}\n className={cnContextMenuLevel('Item', {\n active: activeIndex === -1,\n })}\n />\n <ListDivider size={size} space={{ mV: mapVerticalSpase[size] }} />\n </>\n )}\n <List\n size={size}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={onItemClick}\n sortGroup={sortGroup ? (a, b) => sortGroup(a.key, b.key) : undefined}\n getItemOnClick={getItemOnClick}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemGroupKey={getItemGroupId}\n getItemLeftIcon={getItemLeftIcon}\n getItemRightIcon={getItemRightIcon}\n getItemLeftSide={getItemLeftSide}\n getItemRightSide={getItemRightSide}\n getGroupKey={getGroupId}\n getGroupLabel={getGroupLabel}\n getItemDisabled={getItemDisabled}\n getItemStatus={getItemStatus}\n getItemActive={getItemActive}\n getItemAdditionalClassName={(item) =>\n cnContextMenuLevel('Item', {\n active: getKey(item) === activeItem,\n })\n }\n getItemRef={(item) => itemsRefs[getKey(item)]}\n groups={groupsProp}\n innerOffset={form === 'round' ? 'increased' : 'normal'}\n />\n </ContextMenuLevelWrapper>\n );\n};\n\nexport const ContextMenuLevel = forwardRef(\n ContextMenuLevelRender,\n) as ContextMenuLevelComponent;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import './ContextMenuLevelWrapper.css';
2
2
  import React from 'react';
3
3
  import { ContextMenuLevelWrapperProps } from '../types';
4
- export declare const ContextMenuLevelWrapper: React.ForwardRefExoticComponent<Pick<ContextMenuLevelWrapperProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "form" | "key" | "direction" | "offset" | "position" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isOpen" | "isMobile" | "classname"> & React.RefAttributes<HTMLDivElement>>;
4
+ export declare const ContextMenuLevelWrapper: React.ForwardRefExoticComponent<Pick<ContextMenuLevelWrapperProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "key" | "direction" | "offset" | "position" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isMobile"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["isMobile","children","className","size"];import"./ContextMenuLevelWrapper.css";import React,{forwardRef}from"react";import{mapVerticalSpase}from"../../ListCanary";import{Popover}from"../../Popover";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{contextMenuDefaultSize}from"../types";var cnContextMenuLevelWrapper=cn("ContextMenuLevelWrapper");export var ContextMenuLevelWrapper=forwardRef(function(a,b){var c=a.isMobile,d=a.children,e=a.className,f=a.size,g=void 0===f?contextMenuDefaultSize:f,h=_objectWithoutProperties(a,_excluded);return c?React.createElement("div",{className:e},React.createElement("div",{className:cnContextMenuLevelWrapper("Mobile",[cnMixSpace({pV:mapVerticalSpase[g]})]),ref:b},d)):React.createElement(Popover,Object.assign({},h,{ref:b,className:e}),d)});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["isMobile","children","className","size","onClickOutside","spareDirection","possibleDirections","direction","offset","anchorRef","position","onSetDirection"];import"./ContextMenuLevelWrapper.css";import React,{forwardRef}from"react";import{mapVerticalSpase}from"../../ListCanary";import{Popover}from"../../Popover";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{contextMenuDefaultSize}from"../types";var cnContextMenuLevelWrapper=cn("ContextMenuLevelWrapper");export var ContextMenuLevelWrapper=forwardRef(function(a,b){var c=a.isMobile,d=a.children,e=a.className,f=a.size,g=void 0===f?contextMenuDefaultSize:f,h=a.onClickOutside,i=a.spareDirection,j=a.possibleDirections,k=a.direction,l=a.offset,m=a.anchorRef,n=a.position,o=a.onSetDirection,p=_objectWithoutProperties(a,_excluded);return c?React.createElement("div",{className:e},React.createElement("div",Object.assign({className:cnContextMenuLevelWrapper("Mobile",[cnMixSpace({pV:mapVerticalSpase[g]})]),ref:b},p),d)):React.createElement(Popover,Object.assign({},p,{ref:b,className:e,onClickOutside:h,spareDirection:i,possibleDirections:j,direction:k,offset:l,anchorRef:m,position:n,onSetDirection:o}),d)});
2
2
  //# sourceMappingURL=ContextMenuLevelWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuLevelWrapper.js","names":["React","forwardRef","mapVerticalSpase","Popover","cnMixSpace","cn","contextMenuDefaultSize","cnContextMenuLevelWrapper","ContextMenuLevelWrapper","props","ref","isMobile","children","className","size","otherProps","pV"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.tsx"],"sourcesContent":["import './ContextMenuLevelWrapper.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { mapVerticalSpase } from '##/components/ListCanary';\nimport { Popover } from '##/components/Popover';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\n\nimport { contextMenuDefaultSize, ContextMenuLevelWrapperProps } from '../types';\n\nconst cnContextMenuLevelWrapper = cn('ContextMenuLevelWrapper');\n\nexport const ContextMenuLevelWrapper = forwardRef(\n (props: ContextMenuLevelWrapperProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n isMobile,\n children,\n className,\n size = contextMenuDefaultSize,\n ...otherProps\n } = props;\n\n if (isMobile) {\n return (\n <div className={className}>\n <div\n className={cnContextMenuLevelWrapper('Mobile', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={ref}\n >\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <Popover {...otherProps} ref={ref} className={className}>\n {children}\n </Popover>\n );\n },\n);\n"],"mappings":"8IAAA,sCAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,gBAAT,wBACA,OAASC,OAAT,qBACA,OAASC,UAAT,8BACA,OAASC,EAAT,0BAEA,OAASC,sBAAT,gBAEA,GAAMC,0BAAyB,CAAGF,EAAE,CAAC,yBAAD,CAApC,CAEA,MAAO,IAAMG,wBAAuB,CAAGP,UAAU,CAC/C,SAACQ,CAAD,CAAsCC,CAAtC,CAAyE,CACvE,GACEC,EADF,CAMIF,CANJ,CACEE,QADF,CAEEC,CAFF,CAMIH,CANJ,CAEEG,QAFF,CAGEC,CAHF,CAMIJ,CANJ,CAGEI,SAHF,GAMIJ,CANJ,CAIEK,IAJF,CAIEA,CAJF,YAISR,sBAJT,GAKKS,CALL,0BAMIN,CANJ,YADuE,MASnEE,EATmE,CAWnE,2BAAK,SAAS,CAAEE,CAAhB,EACE,2BACE,SAAS,CAAEN,yBAAyB,CAAC,QAAD,CAAW,CAC7CH,UAAU,CAAC,CACTY,EAAE,CAAEd,gBAAgB,CAACY,CAAD,CADX,CAAD,CADmC,CAAX,CADtC,CAME,GAAG,CAAEJ,CANP,EAQGE,CARH,CADF,CAXmE,CA2BrE,oBAAC,OAAD,kBAAaG,CAAb,EAAyB,GAAG,CAAEL,CAA9B,CAAmC,SAAS,CAAEG,CAA9C,GACGD,CADH,CAIH,CAhC8C,CAA1C"}
1
+ {"version":3,"file":"ContextMenuLevelWrapper.js","names":["React","forwardRef","mapVerticalSpase","Popover","cnMixSpace","cn","contextMenuDefaultSize","cnContextMenuLevelWrapper","ContextMenuLevelWrapper","props","ref","isMobile","children","className","size","onClickOutside","spareDirection","possibleDirections","direction","offset","anchorRef","position","onSetDirection","otherProps","pV"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.tsx"],"sourcesContent":["import './ContextMenuLevelWrapper.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { mapVerticalSpase } from '##/components/ListCanary';\nimport { Popover } from '##/components/Popover';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\n\nimport { contextMenuDefaultSize, ContextMenuLevelWrapperProps } from '../types';\n\nconst cnContextMenuLevelWrapper = cn('ContextMenuLevelWrapper');\n\nexport const ContextMenuLevelWrapper = forwardRef(\n (props: ContextMenuLevelWrapperProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n isMobile,\n children,\n className,\n size = contextMenuDefaultSize,\n onClickOutside,\n spareDirection,\n possibleDirections,\n direction,\n offset,\n anchorRef,\n position,\n onSetDirection,\n ...otherProps\n } = props;\n\n if (isMobile) {\n return (\n <div className={className}>\n <div\n className={cnContextMenuLevelWrapper('Mobile', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={ref}\n {...otherProps}\n >\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <Popover\n {...otherProps}\n ref={ref}\n className={className}\n onClickOutside={onClickOutside}\n spareDirection={spareDirection}\n possibleDirections={possibleDirections}\n direction={direction}\n offset={offset}\n anchorRef={anchorRef}\n position={position}\n onSetDirection={onSetDirection}\n >\n {children}\n </Popover>\n );\n },\n);\n"],"mappings":"kQAAA,sCAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,gBAAT,wBACA,OAASC,OAAT,qBACA,OAASC,UAAT,8BACA,OAASC,EAAT,0BAEA,OAASC,sBAAT,gBAEA,GAAMC,0BAAyB,CAAGF,EAAE,CAAC,yBAAD,CAApC,CAEA,MAAO,IAAMG,wBAAuB,CAAGP,UAAU,CAC/C,SAACQ,CAAD,CAAsCC,CAAtC,CAAyE,CACvE,GACEC,EADF,CAcIF,CAdJ,CACEE,QADF,CAEEC,CAFF,CAcIH,CAdJ,CAEEG,QAFF,CAGEC,CAHF,CAcIJ,CAdJ,CAGEI,SAHF,GAcIJ,CAdJ,CAIEK,IAJF,CAIEA,CAJF,YAISR,sBAJT,GAKES,CALF,CAcIN,CAdJ,CAKEM,cALF,CAMEC,CANF,CAcIP,CAdJ,CAMEO,cANF,CAOEC,CAPF,CAcIR,CAdJ,CAOEQ,kBAPF,CAQEC,CARF,CAcIT,CAdJ,CAQES,SARF,CASEC,CATF,CAcIV,CAdJ,CASEU,MATF,CAUEC,CAVF,CAcIX,CAdJ,CAUEW,SAVF,CAWEC,CAXF,CAcIZ,CAdJ,CAWEY,QAXF,CAYEC,CAZF,CAcIb,CAdJ,CAYEa,cAZF,CAaKC,CAbL,0BAcId,CAdJ,YADuE,MAiBnEE,EAjBmE,CAmBnE,2BAAK,SAAS,CAAEE,CAAhB,EACE,yCACE,SAAS,CAAEN,yBAAyB,CAAC,QAAD,CAAW,CAC7CH,UAAU,CAAC,CACToB,EAAE,CAAEtB,gBAAgB,CAACY,CAAD,CADX,CAAD,CADmC,CAAX,CADtC,CAME,GAAG,CAAEJ,CANP,EAOMa,CAPN,EASGX,CATH,CADF,CAnBmE,CAoCrE,oBAAC,OAAD,kBACMW,CADN,EAEE,GAAG,CAAEb,CAFP,CAGE,SAAS,CAAEG,CAHb,CAIE,cAAc,CAAEE,CAJlB,CAKE,cAAc,CAAEC,CALlB,CAME,kBAAkB,CAAEC,CANtB,CAOE,SAAS,CAAEC,CAPb,CAQE,MAAM,CAAEC,CARV,CASE,SAAS,CAAEC,CATb,CAUE,QAAQ,CAAEC,CAVZ,CAWE,cAAc,CAAEC,CAXlB,GAaGV,CAbH,CAgBH,CArD8C,CAA1C"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{Fragment,useEffect,useState}from"react";import{Transition,TransitionGroup}from"react-transition-group";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{useMutableRef}from"../../../hooks/useMutableRef";import{useRefs}from"../../../hooks/useRefs";import{animateTimeout}from"../../../mixs/MixPopoverAnimate";import{clearTimers,ContextMenuLevel}from"../ContextMenuLevel";import{getLevels,withDefaultGetters}from"../helpers";import{contextMenuPropDefaultSubMenuDirection,contextMenuPropSubMenuDirections}from"../types";import{useSize}from"./useSize";var ContextMenuLevelsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.anchorRef,f=c.position,g=c.direction,h=c.possibleDirections,i=c.offset,j=c.onClickOutside,k=c.getItemKey,l=c.getItemLabel,m=c.getItemSubMenu,n=c.style,o=c.spareDirection,p=c.subMenuDirection,q=void 0===p?contextMenuPropDefaultSubMenuDirection:p,r=c.isMobile,s=c.isOpen,t=c.setComponentSize,u=c.enableAnimationBack,v=c.disableAnimationBack,w=_objectWithoutProperties(c,_excluded),x=useMutableRef(s),y=[{items:d,anchorRef:e,position:f,direction:g,possibleDirections:h,offset:i}],z=useState(r?y:[]),A=_slicedToArray(z,2),B=A[0],C=A[1],D=useState(q),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useState(-1),I=_slicedToArray(H,2),J=I[0],K=I[1],L=useRefs(B.length),M=function(a){var b=a.level,d=a.items,e=a.anchorRef,f=a.activeItem,g=a.parent,h=_toConsumableArray(B),i=h[b]&&1<h.length-b?h[b].direction:void 0;h[b]&&1<h.length-b&&i&&G(i),h[b-1].activeItem=f,h.splice(b),h.push({items:d,anchorRef:r?c.anchorRef:e,direction:r?c.direction:i||F,possibleDirections:r?c.possibleDirections:contextMenuPropSubMenuDirections,position:r?c.position:void 0,offset:r?c.offset:void 0,parent:g}),x.current?C(h):C([])},N=function(a){u();var b=_toConsumableArray(B);b.splice(a),b[a-1]=_objectSpread(_objectSpread({},b[a-1]),{},{activeItem:void 0}),C(b),v()};useClickOutside({isActive:j&&s,ignoreClicksInsideRefs:[].concat(_toConsumableArray(L),[e||{current:null}]),handler:j}),useEffect(function(){return clearTimers(),C(getLevels({levels:B,items:d,getItemKey:k,getItemSubMenu:m})),function(){return clearTimers()}},[d]);var O=useForkRef([L[0],b]);return useEffect(function(){C(y)},[f]),useEffect(function(){C(s?y:[])},[s]),useSize(L,t,r),React.createElement(TransitionGroup,{component:Fragment},B.map(function(a,b){var d="".concat(b,"-").concat(a.parent?k(a.parent):""),e=b!==B.length-1;return r&&e?React.createElement(Fragment,{key:b}):React.createElement(Transition,{key:d,timeout:animateTimeout,nodeRef:L[b]},function(d){return React.createElement(ContextMenuLevel,Object.assign({},w,a,{key:"".concat(b,"-").concat(a.parent?k(a.parent):""),isMobile:r,isOpen:s,style:_objectSpread(_objectSpread({},n),{zIndex:"number"==typeof(null===n||void 0===n?void 0:n.zIndex)?n.zIndex+1:void 0}),levelDepth:b,getItemLabel:l,addLevel:M,deleteLevel:N,onSetDirection:0<b?G:c.onSetDirection,hoveredParenLevel:J,setHoveredParenLevel:K,getItemSubMenu:m,getItemKey:k,ref:0===b?O:L[b],spareDirection:0===b?o:"rightStartUp",parent:r?a.parent:void 0,animate:d}))})}))};export var ContextMenuLevels=React.forwardRef(ContextMenuLevelsRender);
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{Fragment,useEffect,useState}from"react";import{Transition,TransitionGroup}from"react-transition-group";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{useMutableRef}from"../../../hooks/useMutableRef";import{useRefs}from"../../../hooks/useRefs";import{animateTimeout}from"../../../mixs/MixPopoverAnimate";import{clearTimers,ContextMenuLevel}from"../ContextMenuLevel";import{getLevels,withDefaultGetters}from"../helpers";import{contextMenuPropDefaultSubMenuDirection,contextMenuPropSubMenuDirections}from"../types";import{useSize}from"./useSize";var ContextMenuLevelsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.anchorRef,f=c.position,g=c.direction,h=c.possibleDirections,i=c.offset,j=c.onClickOutside,k=c.getItemKey,l=c.getItemLabel,m=c.getItemSubMenu,n=c.style,o=c.spareDirection,p=c.subMenuDirection,q=void 0===p?contextMenuPropDefaultSubMenuDirection:p,r=c.isMobile,s=c.isOpen,t=c.setComponentSize,u=c.enableAnimationBack,v=c.disableAnimationBack,w=_objectWithoutProperties(c,_excluded),x=useMutableRef(s),y=[{items:d,anchorRef:e,position:f,direction:g,possibleDirections:h,offset:i}],z=useState(r?y:[]),A=_slicedToArray(z,2),B=A[0],C=A[1],D=useState(q),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useState(-1),I=_slicedToArray(H,2),J=I[0],K=I[1],L=useRefs(B.length),M=function(a){var b=a.level,d=a.items,e=a.anchorRef,f=a.activeItem,g=a.parent,h=_toConsumableArray(B),i=h[b]&&1<h.length-b?h[b].direction:void 0;h[b]&&1<h.length-b&&i&&G(i),h[b-1].activeItem=f,h.splice(b),h.push({items:d,anchorRef:r?c.anchorRef:e,direction:r?c.direction:i||F,possibleDirections:r?c.possibleDirections:contextMenuPropSubMenuDirections,position:r?c.position:void 0,offset:r?c.offset:void 0,parent:g}),x.current?C(h):C([])},N=function(a){if(0<a){u();var b=_toConsumableArray(B);b.splice(a),b[a-1]=_objectSpread(_objectSpread({},b[a-1]),{},{activeItem:void 0}),C(b),v()}};useClickOutside({isActive:j&&s,ignoreClicksInsideRefs:[].concat(_toConsumableArray(L),[e||{current:null}]),handler:j}),useEffect(function(){return clearTimers(),C(getLevels({levels:B,items:d,getItemKey:k,getItemSubMenu:m})),function(){return clearTimers()}},[d]);var O=useForkRef([L[0],b]);return useEffect(function(){C(y)},[f]),useEffect(function(){C(s?y:[])},[s]),useSize(L,t,r),React.createElement(TransitionGroup,{component:Fragment},B.map(function(a,b){var d="".concat(b,"-").concat(a.parent?k(a.parent):""),e=b!==B.length-1;return r&&e?React.createElement(Fragment,{key:b}):React.createElement(Transition,{key:d,timeout:animateTimeout,nodeRef:L[b]},function(d){return React.createElement(ContextMenuLevel,Object.assign({},w,a,{key:"".concat(b,"-").concat(a.parent?k(a.parent):""),isMobile:r,isOpen:s,style:_objectSpread(_objectSpread({},n),{zIndex:"number"==typeof(null===n||void 0===n?void 0:n.zIndex)?n.zIndex+1:void 0}),activeLevelDepth:B.length-1,levelDepth:b,getItemLabel:l,addLevel:M,deleteLevel:N,onSetDirection:0<b?G:c.onSetDirection,hoveredParenLevel:J,setHoveredParenLevel:K,getItemSubMenu:m,getItemKey:k,ref:0===b?O:L[b],spareDirection:0===b?o:"rightStartUp",parent:r?a.parent:void 0,animate:d}))})}))};export var ContextMenuLevels=React.forwardRef(ContextMenuLevelsRender);
2
2
  //# sourceMappingURL=ContextMenuLevels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuLevels.js","names":["React","Fragment","useEffect","useState","Transition","TransitionGroup","useClickOutside","useForkRef","useMutableRef","useRefs","animateTimeout","clearTimers","ContextMenuLevel","getLevels","withDefaultGetters","contextMenuPropDefaultSubMenuDirection","contextMenuPropSubMenuDirections","useSize","ContextMenuLevelsRender","propsComponent","ref","props","items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","subMenuDirectionProp","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack","otherProps","isOpenRef","defaultLevels","levels","setLevels","setSubMenuDirection","hoveredParenLevel","setHoveredParenLevel","levelsRefs","length","addLevel","level","activeItem","parent","newLevels","oldDirection","splice","push","current","deleteLevel","isActive","ignoreClicksInsideRefs","handler","firstLevelRef","map","index","key","last","animate","zIndex","onSetDirection","ContextMenuLevels","forwardRef"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\nimport { Direction } from '##/components/Popover';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { animateTimeout } from '##/mixs/MixPopoverAnimate';\n\nimport { clearTimers, ContextMenuLevel } from '../ContextMenuLevel';\nimport { getLevels, withDefaultGetters } from '../helpers';\nimport {\n AddLevel,\n ContextMenuItemDefault,\n ContextMenuLevelsComponent,\n ContextMenuLevelsProps,\n contextMenuPropDefaultSubMenuDirection,\n contextMenuPropSubMenuDirections,\n Level,\n} from '../types';\nimport { useSize } from './useSize';\n\nconst ContextMenuLevelsRender = (\n propsComponent: ContextMenuLevelsProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const props = withDefaultGetters(propsComponent);\n const {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n onClickOutside,\n getItemKey,\n getItemLabel,\n getItemSubMenu,\n style,\n spareDirection,\n subMenuDirection:\n subMenuDirectionProp = contextMenuPropDefaultSubMenuDirection,\n isMobile,\n isOpen,\n setComponentSize,\n enableAnimationBack,\n disableAnimationBack,\n ...otherProps\n } = props;\n\n const isOpenRef = useMutableRef(isOpen);\n\n type Item = typeof items[number];\n\n const defaultLevels: Level<ContextMenuItemDefault>[] = [\n {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n },\n ];\n\n const [levels, setLevels] = useState<\n Level<ContextMenuItemDefault & { isParent?: boolean }>[]\n >(isMobile ? defaultLevels : []);\n const [subMenuDirection, setSubMenuDirection] =\n useState<Direction>(subMenuDirectionProp);\n const [hoveredParenLevel, setHoveredParenLevel] = useState<number>(-1);\n\n const levelsRefs = useRefs<HTMLDivElement>(levels.length);\n\n const addLevel: AddLevel<Item> = ({\n level,\n items,\n anchorRef,\n activeItem,\n parent,\n }) => {\n const newLevels: Level<ContextMenuItemDefault & { isParent?: boolean }>[] =\n [...levels];\n const oldDirection =\n newLevels[level] && newLevels.length - level > 1\n ? newLevels[level].direction\n : undefined;\n\n if (newLevels[level] && newLevels.length - level > 1 && oldDirection) {\n setSubMenuDirection(oldDirection);\n }\n\n newLevels[level - 1].activeItem = activeItem;\n newLevels.splice(level);\n newLevels.push({\n items,\n anchorRef: isMobile ? props.anchorRef : anchorRef,\n direction: isMobile ? props.direction : oldDirection || subMenuDirection,\n possibleDirections: isMobile\n ? props.possibleDirections\n : contextMenuPropSubMenuDirections,\n position: isMobile ? props.position : undefined,\n offset: isMobile ? props.offset : undefined,\n parent,\n });\n\n isOpenRef.current ? setLevels(newLevels) : setLevels([]);\n };\n\n const deleteLevel = (level: number) => {\n enableAnimationBack();\n const newLevels = [...levels];\n newLevels.splice(level);\n newLevels[level - 1] = { ...newLevels[level - 1], activeItem: undefined };\n setLevels(newLevels);\n disableAnimationBack();\n };\n\n useClickOutside({\n isActive: onClickOutside && isOpen,\n ignoreClicksInsideRefs: [...levelsRefs, anchorRef || { current: null }],\n handler: onClickOutside,\n });\n\n useEffect(() => {\n clearTimers();\n setLevels(\n getLevels({\n levels,\n items,\n getItemKey,\n getItemSubMenu,\n }),\n );\n return () => clearTimers();\n }, [items]);\n\n const firstLevelRef = useForkRef([levelsRefs[0], ref]);\n\n useEffect(() => {\n setLevels(defaultLevels);\n }, [position]);\n\n useEffect(() => {\n setLevels(isOpen ? defaultLevels : []);\n }, [isOpen]);\n\n useSize(levelsRefs, setComponentSize, isMobile);\n\n return (\n <TransitionGroup component={Fragment}>\n {levels.map((level, index) => {\n const key = `${index}-${level.parent ? getItemKey(level.parent) : ''}`;\n\n const last = index !== levels.length - 1;\n\n if (isMobile && last) {\n return <Fragment key={index} />;\n }\n\n return (\n <Transition\n key={key}\n timeout={animateTimeout}\n nodeRef={levelsRefs[index]}\n >\n {(animate) => (\n <ContextMenuLevel\n {...otherProps}\n {...level}\n key={`${index}-${level.parent ? getItemKey(level.parent) : ''}`}\n isMobile={isMobile}\n isOpen={isOpen}\n style={{\n ...style,\n ...{\n zIndex:\n typeof style?.zIndex === 'number'\n ? style.zIndex + 1\n : undefined,\n },\n }}\n levelDepth={index}\n getItemLabel={getItemLabel}\n addLevel={addLevel}\n deleteLevel={deleteLevel}\n onSetDirection={\n index > 0 ? setSubMenuDirection : props.onSetDirection\n }\n hoveredParenLevel={hoveredParenLevel}\n setHoveredParenLevel={setHoveredParenLevel}\n getItemSubMenu={getItemSubMenu}\n getItemKey={getItemKey}\n ref={index === 0 ? firstLevelRef : levelsRefs[index]}\n spareDirection={index === 0 ? spareDirection : 'rightStartUp'}\n parent={isMobile ? level.parent : undefined}\n animate={animate}\n />\n )}\n </Transition>\n );\n })}\n </TransitionGroup>\n );\n};\n\nexport const ContextMenuLevels = React.forwardRef(\n ContextMenuLevelsRender,\n) as ContextMenuLevelsComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenuLevels.js","names":["React","Fragment","useEffect","useState","Transition","TransitionGroup","useClickOutside","useForkRef","useMutableRef","useRefs","animateTimeout","clearTimers","ContextMenuLevel","getLevels","withDefaultGetters","contextMenuPropDefaultSubMenuDirection","contextMenuPropSubMenuDirections","useSize","ContextMenuLevelsRender","propsComponent","ref","props","items","anchorRef","position","direction","possibleDirections","offset","onClickOutside","getItemKey","getItemLabel","getItemSubMenu","style","spareDirection","subMenuDirection","subMenuDirectionProp","isMobile","isOpen","setComponentSize","enableAnimationBack","disableAnimationBack","otherProps","isOpenRef","defaultLevels","levels","setLevels","setSubMenuDirection","hoveredParenLevel","setHoveredParenLevel","levelsRefs","length","addLevel","level","activeItem","parent","newLevels","oldDirection","splice","push","current","deleteLevel","isActive","ignoreClicksInsideRefs","handler","firstLevelRef","map","index","key","last","animate","zIndex","onSetDirection","ContextMenuLevels","forwardRef"],"sources":["../../../../../../src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\nimport { Direction } from '##/components/Popover';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { animateTimeout } from '##/mixs/MixPopoverAnimate';\n\nimport { clearTimers, ContextMenuLevel } from '../ContextMenuLevel';\nimport { getLevels, withDefaultGetters } from '../helpers';\nimport {\n AddLevel,\n ContextMenuItemDefault,\n ContextMenuLevelsComponent,\n ContextMenuLevelsProps,\n contextMenuPropDefaultSubMenuDirection,\n contextMenuPropSubMenuDirections,\n Level,\n} from '../types';\nimport { useSize } from './useSize';\n\nconst ContextMenuLevelsRender = (\n propsComponent: ContextMenuLevelsProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const props = withDefaultGetters(propsComponent);\n const {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n onClickOutside,\n getItemKey,\n getItemLabel,\n getItemSubMenu,\n style,\n spareDirection,\n subMenuDirection:\n subMenuDirectionProp = contextMenuPropDefaultSubMenuDirection,\n isMobile,\n isOpen,\n setComponentSize,\n enableAnimationBack,\n disableAnimationBack,\n ...otherProps\n } = props;\n\n const isOpenRef = useMutableRef(isOpen);\n\n type Item = typeof items[number];\n\n const defaultLevels: Level<ContextMenuItemDefault>[] = [\n {\n items,\n anchorRef,\n position,\n direction,\n possibleDirections,\n offset,\n },\n ];\n\n const [levels, setLevels] = useState<\n Level<ContextMenuItemDefault & { isParent?: boolean }>[]\n >(isMobile ? defaultLevels : []);\n const [subMenuDirection, setSubMenuDirection] =\n useState<Direction>(subMenuDirectionProp);\n const [hoveredParenLevel, setHoveredParenLevel] = useState<number>(-1);\n\n const levelsRefs = useRefs<HTMLDivElement>(levels.length);\n\n const addLevel: AddLevel<Item> = ({\n level,\n items,\n anchorRef,\n activeItem,\n parent,\n }) => {\n const newLevels: Level<ContextMenuItemDefault & { isParent?: boolean }>[] =\n [...levels];\n const oldDirection =\n newLevels[level] && newLevels.length - level > 1\n ? newLevels[level].direction\n : undefined;\n\n if (newLevels[level] && newLevels.length - level > 1 && oldDirection) {\n setSubMenuDirection(oldDirection);\n }\n\n newLevels[level - 1].activeItem = activeItem;\n newLevels.splice(level);\n newLevels.push({\n items,\n anchorRef: isMobile ? props.anchorRef : anchorRef,\n direction: isMobile ? props.direction : oldDirection || subMenuDirection,\n possibleDirections: isMobile\n ? props.possibleDirections\n : contextMenuPropSubMenuDirections,\n position: isMobile ? props.position : undefined,\n offset: isMobile ? props.offset : undefined,\n parent,\n });\n\n isOpenRef.current ? setLevels(newLevels) : setLevels([]);\n };\n\n const deleteLevel = (level: number) => {\n if (level > 0) {\n enableAnimationBack();\n const newLevels = [...levels];\n newLevels.splice(level);\n newLevels[level - 1] = { ...newLevels[level - 1], activeItem: undefined };\n setLevels(newLevels);\n disableAnimationBack();\n }\n };\n\n useClickOutside({\n isActive: onClickOutside && isOpen,\n ignoreClicksInsideRefs: [...levelsRefs, anchorRef || { current: null }],\n handler: onClickOutside,\n });\n\n useEffect(() => {\n clearTimers();\n setLevels(\n getLevels({\n levels,\n items,\n getItemKey,\n getItemSubMenu,\n }),\n );\n return () => clearTimers();\n }, [items]);\n\n const firstLevelRef = useForkRef([levelsRefs[0], ref]);\n\n useEffect(() => {\n setLevels(defaultLevels);\n }, [position]);\n\n useEffect(() => {\n setLevels(isOpen ? defaultLevels : []);\n }, [isOpen]);\n\n useSize(levelsRefs, setComponentSize, isMobile);\n\n return (\n <TransitionGroup component={Fragment}>\n {levels.map((level, index) => {\n const key = `${index}-${level.parent ? getItemKey(level.parent) : ''}`;\n\n const last = index !== levels.length - 1;\n\n if (isMobile && last) {\n return <Fragment key={index} />;\n }\n\n return (\n <Transition\n key={key}\n timeout={animateTimeout}\n nodeRef={levelsRefs[index]}\n >\n {(animate) => (\n <ContextMenuLevel\n {...otherProps}\n {...level}\n key={`${index}-${level.parent ? getItemKey(level.parent) : ''}`}\n isMobile={isMobile}\n isOpen={isOpen}\n style={{\n ...style,\n ...{\n zIndex:\n typeof style?.zIndex === 'number'\n ? style.zIndex + 1\n : undefined,\n },\n }}\n activeLevelDepth={levels.length - 1}\n levelDepth={index}\n getItemLabel={getItemLabel}\n addLevel={addLevel}\n deleteLevel={deleteLevel}\n onSetDirection={\n index > 0 ? setSubMenuDirection : props.onSetDirection\n }\n hoveredParenLevel={hoveredParenLevel}\n setHoveredParenLevel={setHoveredParenLevel}\n getItemSubMenu={getItemSubMenu}\n getItemKey={getItemKey}\n ref={index === 0 ? firstLevelRef : levelsRefs[index]}\n spareDirection={index === 0 ? spareDirection : 'rightStartUp'}\n parent={isMobile ? level.parent : undefined}\n animate={animate}\n />\n )}\n </Transition>\n );\n })}\n </TransitionGroup>\n );\n};\n\nexport const ContextMenuLevels = React.forwardRef(\n ContextMenuLevelsRender,\n) as ContextMenuLevelsComponent;\n"],"mappings":"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"}
@@ -16,10 +16,11 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: ContextMenuLevels
16
16
  isOpen?: boolean | undefined;
17
17
  form?: "default" | "brick" | "round" | undefined;
18
18
  isMobile?: boolean | undefined;
19
+ onEsc?: import("react").KeyboardEventHandler<Element> | undefined;
19
20
  } & import("./types").MappersItem<ITEM> & import("./types").MappersGroup<GROUP> & {
20
21
  anchorRef: import("react").RefObject<HTMLElement>;
21
22
  position?: undefined;
22
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "size" | "form" | "items" | "groups" | "direction" | "offset" | "position" | "onItemClick" | "sortGroup" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isOpen" | "subMenuDirection" | "isMobile" | keyof import("./types").MappersItem<ITEM_1> | keyof import("./types").MappersGroup<GROUP_1>> & import("react").RefAttributes<HTMLDivElement> & (GROUP extends {
23
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "size" | "form" | "items" | "groups" | "direction" | "offset" | "position" | "onItemClick" | "sortGroup" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isOpen" | "subMenuDirection" | "isMobile" | "onEsc" | keyof import("./types").MappersItem<ITEM_1> | keyof import("./types").MappersGroup<GROUP_1>> & import("react").RefAttributes<HTMLDivElement> & (GROUP extends {
23
24
  id: unknown;
24
25
  } ? {} : {
25
26
  getGroupId: ContextMenuPropGetGroupId<GROUP>;
@@ -62,10 +63,11 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: ContextMenuLevels
62
63
  isOpen?: boolean | undefined;
63
64
  form?: "default" | "brick" | "round" | undefined;
64
65
  isMobile?: boolean | undefined;
66
+ onEsc?: import("react").KeyboardEventHandler<Element> | undefined;
65
67
  } & import("./types").MappersItem<ITEM> & import("./types").MappersGroup<GROUP> & {
66
68
  anchorRef?: undefined;
67
69
  position: import("../Popover").Position;
68
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "size" | "form" | "items" | "groups" | "direction" | "offset" | "position" | "onItemClick" | "sortGroup" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isOpen" | "subMenuDirection" | "isMobile" | keyof import("./types").MappersItem<ITEM_1> | keyof import("./types").MappersGroup<GROUP_1>> & import("react").RefAttributes<HTMLDivElement> & (GROUP extends {
70
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "size" | "form" | "items" | "groups" | "direction" | "offset" | "position" | "onItemClick" | "sortGroup" | "possibleDirections" | "spareDirection" | "onClickOutside" | "onSetDirection" | "anchorRef" | "isOpen" | "subMenuDirection" | "isMobile" | "onEsc" | keyof import("./types").MappersItem<ITEM_1> | keyof import("./types").MappersGroup<GROUP_1>> & import("react").RefAttributes<HTMLDivElement> & (GROUP extends {
69
71
  id: unknown;
70
72
  } ? {} : {
71
73
  getGroupId: ContextMenuPropGetGroupId<GROUP>;
@@ -119,6 +119,7 @@ export declare type ContextMenuProps<ITEM = ContextMenuItemDefault, GROUP = Cont
119
119
  isOpen?: boolean;
120
120
  form?: ContextMenuForm;
121
121
  isMobile?: boolean;
122
+ onEsc?: React.KeyboardEventHandler;
122
123
  } & MappersItem<ITEM> & MappersGroup<GROUP> & PositioningProps, HTMLDivElement> & (GROUP extends {
123
124
  id: ContextMenuGroupDefault['id'] | unknown;
124
125
  } ? {} : {
@@ -137,6 +138,7 @@ export declare type ContextMenuLevelsComponent = <ITEM = ContextMenuItemDefault,
137
138
  export declare type ContextMenuComponent = <ITEM = ContextMenuItemDefault, GROUP = ContextMenuGroupDefault>(props: ContextMenuProps<ITEM, GROUP>) => React.ReactElement | null;
138
139
  export declare type ContextMenuLevelProps<ITEM = ContextMenuItemDefault, GROUP = ContextMenuGroupDefault> = Omit<ContextMenuProps<ITEM, GROUP>, 'subMenuDirection' | 'onClickOutside' | 'setComponentSize' | 'animationBack' | 'disableAnimationBack' | 'enableAnimationBack' | keyof MappersItem<ITEM> | keyof MappersGroup<GROUP>> & {
139
140
  parent?: ITEM;
141
+ activeLevelDepth: number;
140
142
  levelDepth: number;
141
143
  addLevel: AddLevel<ITEM>;
142
144
  deleteLevel: (level: number) => void;
@@ -144,6 +146,7 @@ export declare type ContextMenuLevelProps<ITEM = ContextMenuItemDefault, GROUP =
144
146
  onSetDirection?: (direction: Direction) => void;
145
147
  hoveredParenLevel: number;
146
148
  setHoveredParenLevel: (level: number) => void;
149
+ onEsc?: React.KeyboardEventHandler;
147
150
  animate: Animate;
148
151
  } & Required<MappersItem<ITEM>> & Required<MappersGroup<GROUP>>;
149
152
  export declare type ContextMenuLevelComponent = <ITEM, GROUP>(props: ContextMenuLevelProps<ITEM, GROUP>, ref: React.Ref<HTMLElement>) => React.ReactElement | null;
@@ -178,9 +181,7 @@ export declare type ContextMenuWrapperProps = PropsWithHTMLAttributes<{
178
181
  }, HTMLDivElement>;
179
182
  export declare type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef<{
180
183
  children: React.ReactNode;
181
- isOpen?: boolean;
182
184
  isMobile?: boolean;
183
- form?: ContextMenuForm;
184
185
  onClickOutside?: ClickOutsideHandler;
185
186
  spareDirection?: Direction;
186
187
  possibleDirections?: readonly Direction[];
@@ -190,6 +191,5 @@ export declare type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef
190
191
  anchorRef?: React.RefObject<HTMLElement>;
191
192
  position?: Position;
192
193
  onSetDirection?: (direction: Direction) => void;
193
- classname?: string;
194
194
  }, HTMLDivElement>;
195
195
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["defaultListPropForm","listPropForm","contextMenuSizes","contextMenuDefaultSize","contextMenuStatus","contextMenuDefaultStatus","contextMenuForm","defaultContextMenuForm","contextMenuPropSubMenuDirections","contextMenuPropDefaultSubMenuDirection"],"sources":["../../../../../src/components/ContextMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport {\n defaultListPropForm,\n ListPropForm,\n listPropForm,\n} from '##/components/ListCanary';\nimport { ComponentSize } from '##/hooks/useComponentSize';\nimport { Animate } from '##/mixs/MixPopoverAnimate';\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\n\nimport { ClickOutsideHandler } from '../../hooks/useClickOutside/useClickOutside';\nimport { PropsWithAsAttributes } from '../../utils/types/PropsWithAsAttributes';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction, PopoverPropOffset, Position } from '../Popover/Popover';\n\nexport const contextMenuSizes = ['m', 'xs', 's', 'l'] as const;\nexport type ContextMenuPropSize = typeof contextMenuSizes[number];\nexport const contextMenuDefaultSize: ContextMenuPropSize = contextMenuSizes[0];\n\nexport const contextMenuStatus = ['alert', 'success', 'warning'] as const;\nexport type ContextMenuStatus = typeof contextMenuStatus[number];\nexport const contextMenuDefaultStatus: ContextMenuStatus = contextMenuStatus[0];\n\nexport const contextMenuForm = listPropForm;\nexport type ContextMenuForm = ListPropForm;\nexport const defaultContextMenuForm = defaultListPropForm;\n\nexport const contextMenuPropSubMenuDirections = [\n 'rightStartUp',\n 'rightStartDown',\n 'leftStartUp',\n 'leftStartDown',\n] as const;\nexport type ContextMenuPropSubMenuDirection =\n typeof contextMenuPropSubMenuDirections[number];\nexport const contextMenuPropDefaultSubMenuDirection: ContextMenuPropSubMenuDirection =\n contextMenuPropSubMenuDirections[0];\n\nexport type ContextMenuPropOnClick<ITEM> = (params: {\n e: React.MouseEvent<HTMLDivElement>;\n item: ITEM;\n}) => void;\n\nexport type ContextMenuGroupDefault = {\n label?: string;\n id: number;\n};\n\nexport type ContextMenuItemDefault = {\n label: string | number;\n key?: string | number;\n rightSide?: React.ReactNode;\n rightIcon?: IconComponent;\n leftSide?: React.ReactNode;\n leftIcon?: IconComponent;\n subMenu?: ContextMenuItemDefault[];\n status?: ContextMenuStatus;\n disabled?: boolean;\n groupId?: number;\n onClick?: ContextMenuPropOnClick<ContextMenuItemDefault>;\n as?: AsTags;\n attributes?: AsAttributes;\n};\n\nexport type ContextMenuPropSortGroup = (\n a: string | number,\n b: string | number,\n) => number;\n\nexport type ContextMenuPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\n\nexport type ContextMenuPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ContextMenuPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ContextMenuStatus | undefined;\n\nexport type ContextMenuPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ContextMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => ContextMenuPropOnClick<ITEM> | undefined;\n\nexport type ContextMenuPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type ContextMenuPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type ContextMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type ContextMenuPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\n\nexport type ContextMenuPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetGroupLabel<GROUP> = (\n group: GROUP,\n) => string | undefined;\nexport type ContextMenuPropGetGroupId<GROUP> = (group: GROUP) => number;\n\ntype PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n position?: never;\n }\n | {\n anchorRef?: never;\n position: Position;\n };\n\nexport type MappersItem<ITEM> = {\n getItemLabel?: ContextMenuPropGetItemLabel<ITEM>;\n getItemRightSide?: ContextMenuPropGetItemRightSide<ITEM>;\n getItemLeftSide?: ContextMenuPropGetItemLeftSide<ITEM>;\n getItemSubMenu?: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemStatus?: ContextMenuPropGetItemStatus<ITEM>;\n getItemDisabled?: ContextMenuPropGetItemDisabled<ITEM>;\n getItemKey?: ContextMenuPropGetItemKey<ITEM>;\n getItemOnClick?: ContextMenuPropGetItemOnClick<ITEM>;\n getItemAs?: ContextMenuPropGetItemAs<ITEM>;\n getItemAttributes?: ContextMenuPropGetItemAttributes<ITEM>;\n getItemGroupId?: ContextMenuPropGetItemGroupId<ITEM>;\n getItemLeftIcon?: ContextMenuPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: ContextMenuPropGetItemRightIcon<ITEM>;\n};\n\nexport type MappersGroup<GROUP> = {\n getGroupLabel?: ContextMenuPropGetGroupLabel<GROUP>;\n getGroupId?: ContextMenuPropGetGroupId<GROUP>;\n};\n\nexport type Level<ITEM> = {\n items: ITEM[];\n activeItem?: string;\n direction?: Direction;\n possibleDirections?: readonly Direction[];\n offset?: PopoverPropOffset;\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n};\n\nexport type AddLevel<ITEM> = (params: {\n level: number;\n items: ITEM[];\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n activeItem: string;\n}) => void;\n\nexport type ContextMenuProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n groups?: GROUP[];\n sortGroup?: ContextMenuPropSortGroup;\n onItemClick?: ContextMenuPropOnClick<ITEM>;\n possibleDirections?: readonly Direction[];\n subMenuDirection?: ContextMenuPropSubMenuDirection;\n spareDirection?: Direction;\n onSetDirection?: (direction: Direction) => void;\n onClickOutside?: ClickOutsideHandler;\n isOpen?: boolean;\n form?: ContextMenuForm;\n isMobile?: boolean;\n } & MappersItem<ITEM> &\n MappersGroup<GROUP> &\n PositioningProps,\n HTMLDivElement\n> &\n (GROUP extends { id: ContextMenuGroupDefault['id'] | unknown }\n ? {}\n : { getGroupId: ContextMenuPropGetGroupId<GROUP> }) &\n (ITEM extends { label: ContextMenuItemDefault['label'] }\n ? {}\n : { getItemLabel: ContextMenuPropGetItemLabel<ITEM> });\n\nexport type ContextMenuLevelsProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = ContextMenuProps<ITEM, GROUP> & {\n setComponentSize: React.Dispatch<React.SetStateAction<ComponentSize>>;\n disableAnimationBack: () => void;\n enableAnimationBack: () => void;\n};\n\nexport type ContextMenuLevelsComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuLevelsProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type ContextMenuComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type ContextMenuLevelProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = Omit<\n ContextMenuProps<ITEM, GROUP>,\n | 'subMenuDirection'\n | 'onClickOutside'\n | 'setComponentSize'\n | 'animationBack'\n | 'disableAnimationBack'\n | 'enableAnimationBack'\n | keyof MappersItem<ITEM>\n | keyof MappersGroup<GROUP>\n> & {\n parent?: ITEM;\n levelDepth: number;\n addLevel: AddLevel<ITEM>;\n deleteLevel: (level: number) => void;\n activeItem?: string;\n onSetDirection?: (direction: Direction) => void;\n hoveredParenLevel: number;\n setHoveredParenLevel: (level: number) => void;\n animate: Animate;\n} & Required<MappersItem<ITEM>> &\n Required<MappersGroup<GROUP>>;\n\nexport type ContextMenuLevelComponent = <ITEM, GROUP>(\n props: ContextMenuLevelProps<ITEM, GROUP>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\nexport type ContextMenuItemProps<AS extends AsTags = 'div'> =\n PropsWithAsAttributes<\n Omit<ContextMenuItemDefault, 'onClick' | 'attributes' | 'key'> & {\n size?: ContextMenuPropSize;\n active: boolean;\n withSubMenu: boolean;\n },\n AS\n > &\n React.RefAttributes<HTMLDivElement>;\n\nexport type ContextMenuItemComponent = <AS extends AsTags = 'div'>(\n props: ContextMenuItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\nexport type GetLevelsParams<ITEM> = {\n levels: Level<ITEM>[];\n items: ITEM[];\n getItemSubMenu: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemKey: ContextMenuPropGetItemKey<ITEM>;\n};\n\nexport type ContextMenuWrapperProps = PropsWithHTMLAttributes<\n {\n children: React.ReactNode;\n isOpen?: boolean;\n isMobile?: boolean;\n form?: ContextMenuForm;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: readonly Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n className?: string;\n animationBack?: boolean;\n },\n HTMLDivElement\n>;\n\nexport type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef<\n {\n children: React.ReactNode;\n isOpen?: boolean;\n isMobile?: boolean;\n form?: ContextMenuForm;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: readonly Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n classname?: string;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAEA,OACEA,mBADF,CAGEC,YAHF,qBAiBA,MAAO,IAAMC,iBAAgB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAGD,gBAAgB,CAAC,CAAD,CAApE,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAEP,MAAO,IAAME,gBAAe,CAAGL,YAAxB,CAEP,MAAO,IAAMM,uBAAsB,CAAGP,mBAA/B,CAEP,MAAO,IAAMQ,iCAAgC,CAAG,CAC9C,cAD8C,CAE9C,gBAF8C,CAG9C,aAH8C,CAI9C,eAJ8C,CAAzC,CAQP,MAAO,IAAMC,uCAAuE,CAClFD,gCAAgC,CAAC,CAAD,CAD3B"}
1
+ {"version":3,"file":"types.js","names":["defaultListPropForm","listPropForm","contextMenuSizes","contextMenuDefaultSize","contextMenuStatus","contextMenuDefaultStatus","contextMenuForm","defaultContextMenuForm","contextMenuPropSubMenuDirections","contextMenuPropDefaultSubMenuDirection"],"sources":["../../../../../src/components/ContextMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport {\n defaultListPropForm,\n ListPropForm,\n listPropForm,\n} from '##/components/ListCanary';\nimport { ComponentSize } from '##/hooks/useComponentSize';\nimport { Animate } from '##/mixs/MixPopoverAnimate';\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\n\nimport { ClickOutsideHandler } from '../../hooks/useClickOutside/useClickOutside';\nimport { PropsWithAsAttributes } from '../../utils/types/PropsWithAsAttributes';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '../../utils/types/PropsWithHTMLAttributes';\nimport { Direction, PopoverPropOffset, Position } from '../Popover/Popover';\n\nexport const contextMenuSizes = ['m', 'xs', 's', 'l'] as const;\nexport type ContextMenuPropSize = typeof contextMenuSizes[number];\nexport const contextMenuDefaultSize: ContextMenuPropSize = contextMenuSizes[0];\n\nexport const contextMenuStatus = ['alert', 'success', 'warning'] as const;\nexport type ContextMenuStatus = typeof contextMenuStatus[number];\nexport const contextMenuDefaultStatus: ContextMenuStatus = contextMenuStatus[0];\n\nexport const contextMenuForm = listPropForm;\nexport type ContextMenuForm = ListPropForm;\nexport const defaultContextMenuForm = defaultListPropForm;\n\nexport const contextMenuPropSubMenuDirections = [\n 'rightStartUp',\n 'rightStartDown',\n 'leftStartUp',\n 'leftStartDown',\n] as const;\nexport type ContextMenuPropSubMenuDirection =\n typeof contextMenuPropSubMenuDirections[number];\nexport const contextMenuPropDefaultSubMenuDirection: ContextMenuPropSubMenuDirection =\n contextMenuPropSubMenuDirections[0];\n\nexport type ContextMenuPropOnClick<ITEM> = (params: {\n e: React.MouseEvent<HTMLDivElement>;\n item: ITEM;\n}) => void;\n\nexport type ContextMenuGroupDefault = {\n label?: string;\n id: number;\n};\n\nexport type ContextMenuItemDefault = {\n label: string | number;\n key?: string | number;\n rightSide?: React.ReactNode;\n rightIcon?: IconComponent;\n leftSide?: React.ReactNode;\n leftIcon?: IconComponent;\n subMenu?: ContextMenuItemDefault[];\n status?: ContextMenuStatus;\n disabled?: boolean;\n groupId?: number;\n onClick?: ContextMenuPropOnClick<ContextMenuItemDefault>;\n as?: AsTags;\n attributes?: AsAttributes;\n};\n\nexport type ContextMenuPropSortGroup = (\n a: string | number,\n b: string | number,\n) => number;\n\nexport type ContextMenuPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\n\nexport type ContextMenuPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type ContextMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ContextMenuPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ContextMenuStatus | undefined;\n\nexport type ContextMenuPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ContextMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => ContextMenuPropOnClick<ITEM> | undefined;\n\nexport type ContextMenuPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type ContextMenuPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type ContextMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type ContextMenuPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\n\nexport type ContextMenuPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ContextMenuPropGetGroupLabel<GROUP> = (\n group: GROUP,\n) => string | undefined;\nexport type ContextMenuPropGetGroupId<GROUP> = (group: GROUP) => number;\n\ntype PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n position?: never;\n }\n | {\n anchorRef?: never;\n position: Position;\n };\n\nexport type MappersItem<ITEM> = {\n getItemLabel?: ContextMenuPropGetItemLabel<ITEM>;\n getItemRightSide?: ContextMenuPropGetItemRightSide<ITEM>;\n getItemLeftSide?: ContextMenuPropGetItemLeftSide<ITEM>;\n getItemSubMenu?: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemStatus?: ContextMenuPropGetItemStatus<ITEM>;\n getItemDisabled?: ContextMenuPropGetItemDisabled<ITEM>;\n getItemKey?: ContextMenuPropGetItemKey<ITEM>;\n getItemOnClick?: ContextMenuPropGetItemOnClick<ITEM>;\n getItemAs?: ContextMenuPropGetItemAs<ITEM>;\n getItemAttributes?: ContextMenuPropGetItemAttributes<ITEM>;\n getItemGroupId?: ContextMenuPropGetItemGroupId<ITEM>;\n getItemLeftIcon?: ContextMenuPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: ContextMenuPropGetItemRightIcon<ITEM>;\n};\n\nexport type MappersGroup<GROUP> = {\n getGroupLabel?: ContextMenuPropGetGroupLabel<GROUP>;\n getGroupId?: ContextMenuPropGetGroupId<GROUP>;\n};\n\nexport type Level<ITEM> = {\n items: ITEM[];\n activeItem?: string;\n direction?: Direction;\n possibleDirections?: readonly Direction[];\n offset?: PopoverPropOffset;\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n};\n\nexport type AddLevel<ITEM> = (params: {\n level: number;\n items: ITEM[];\n parent?: ITEM;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n activeItem: string;\n}) => void;\n\nexport type ContextMenuProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n groups?: GROUP[];\n sortGroup?: ContextMenuPropSortGroup;\n onItemClick?: ContextMenuPropOnClick<ITEM>;\n possibleDirections?: readonly Direction[];\n subMenuDirection?: ContextMenuPropSubMenuDirection;\n spareDirection?: Direction;\n onSetDirection?: (direction: Direction) => void;\n onClickOutside?: ClickOutsideHandler;\n isOpen?: boolean;\n form?: ContextMenuForm;\n isMobile?: boolean;\n onEsc?: React.KeyboardEventHandler;\n } & MappersItem<ITEM> &\n MappersGroup<GROUP> &\n PositioningProps,\n HTMLDivElement\n> &\n (GROUP extends { id: ContextMenuGroupDefault['id'] | unknown }\n ? {}\n : { getGroupId: ContextMenuPropGetGroupId<GROUP> }) &\n (ITEM extends { label: ContextMenuItemDefault['label'] }\n ? {}\n : { getItemLabel: ContextMenuPropGetItemLabel<ITEM> });\n\nexport type ContextMenuLevelsProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = ContextMenuProps<ITEM, GROUP> & {\n setComponentSize: React.Dispatch<React.SetStateAction<ComponentSize>>;\n disableAnimationBack: () => void;\n enableAnimationBack: () => void;\n};\n\nexport type ContextMenuLevelsComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuLevelsProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type ContextMenuComponent = <\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n>(\n props: ContextMenuProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type ContextMenuLevelProps<\n ITEM = ContextMenuItemDefault,\n GROUP = ContextMenuGroupDefault,\n> = Omit<\n ContextMenuProps<ITEM, GROUP>,\n | 'subMenuDirection'\n | 'onClickOutside'\n | 'setComponentSize'\n | 'animationBack'\n | 'disableAnimationBack'\n | 'enableAnimationBack'\n | keyof MappersItem<ITEM>\n | keyof MappersGroup<GROUP>\n> & {\n parent?: ITEM;\n activeLevelDepth: number;\n levelDepth: number;\n addLevel: AddLevel<ITEM>;\n deleteLevel: (level: number) => void;\n activeItem?: string;\n onSetDirection?: (direction: Direction) => void;\n hoveredParenLevel: number;\n setHoveredParenLevel: (level: number) => void;\n onEsc?: React.KeyboardEventHandler;\n animate: Animate;\n} & Required<MappersItem<ITEM>> &\n Required<MappersGroup<GROUP>>;\n\nexport type ContextMenuLevelComponent = <ITEM, GROUP>(\n props: ContextMenuLevelProps<ITEM, GROUP>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\nexport type ContextMenuItemProps<AS extends AsTags = 'div'> =\n PropsWithAsAttributes<\n Omit<ContextMenuItemDefault, 'onClick' | 'attributes' | 'key'> & {\n size?: ContextMenuPropSize;\n active: boolean;\n withSubMenu: boolean;\n },\n AS\n > &\n React.RefAttributes<HTMLDivElement>;\n\nexport type ContextMenuItemComponent = <AS extends AsTags = 'div'>(\n props: ContextMenuItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\nexport type GetLevelsParams<ITEM> = {\n levels: Level<ITEM>[];\n items: ITEM[];\n getItemSubMenu: ContextMenuPropGetItemSubMenu<ITEM>;\n getItemKey: ContextMenuPropGetItemKey<ITEM>;\n};\n\nexport type ContextMenuWrapperProps = PropsWithHTMLAttributes<\n {\n children: React.ReactNode;\n isOpen?: boolean;\n isMobile?: boolean;\n form?: ContextMenuForm;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: readonly Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n className?: string;\n animationBack?: boolean;\n },\n HTMLDivElement\n>;\n\nexport type ContextMenuLevelWrapperProps = PropsWithHTMLAttributesAndRef<\n {\n children: React.ReactNode;\n isMobile?: boolean;\n onClickOutside?: ClickOutsideHandler;\n spareDirection?: Direction;\n possibleDirections?: readonly Direction[];\n size?: ContextMenuPropSize;\n direction?: Direction;\n offset?: PopoverPropOffset;\n anchorRef?: React.RefObject<HTMLElement>;\n position?: Position;\n onSetDirection?: (direction: Direction) => void;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAEA,OACEA,mBADF,CAGEC,YAHF,qBAiBA,MAAO,IAAMC,iBAAgB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAGD,gBAAgB,CAAC,CAAD,CAApE,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAEP,MAAO,IAAME,gBAAe,CAAGL,YAAxB,CAEP,MAAO,IAAMM,uBAAsB,CAAGP,mBAA/B,CAEP,MAAO,IAAMQ,iCAAgC,CAAG,CAC9C,cAD8C,CAE9C,gBAF8C,CAG9C,aAH8C,CAI9C,eAJ8C,CAAzC,CAQP,MAAO,IAAMC,uCAAuE,CAClFD,gCAAgC,CAAC,CAAD,CAD3B"}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { ContextMenuPropGetSubItems } from '../ContextMenuDeprecated/helpers';
3
+ import { ContextMenuItemDefault } from './types';
4
+ declare type UseMenuNavigationProps<ITEM = ContextMenuItemDefault> = {
5
+ items: ITEM[];
6
+ deleteLevel: () => void;
7
+ getItemSubMenu: ContextMenuPropGetSubItems<ITEM>;
8
+ active: boolean;
9
+ addLevel: (item: ITEM) => void;
10
+ onEsc?: React.KeyboardEventHandler;
11
+ level?: number;
12
+ isMobile?: boolean;
13
+ };
14
+ export declare const useMenuNavigation: (props: UseMenuNavigationProps) => {
15
+ refs: React.RefObject<HTMLDivElement>[];
16
+ activeIndex: number;
17
+ onKeyDown: (e: React.KeyboardEvent) => void;
18
+ setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
19
+ setDirection: React.Dispatch<React.SetStateAction<"downCenter" | "upCenter" | "downRight" | "downLeft" | "upRight" | "upLeft" | "leftUp" | "leftCenter" | "leftDown" | "rightUp" | "rightCenter" | "rightDown" | "downStartLeft" | "upStartLeft" | "downStartRight" | "upStartRight" | "leftStartUp" | "leftStartDown" | "rightStartUp" | "rightStartDown" | undefined>>;
20
+ parentRef: React.RefObject<HTMLDivElement>;
21
+ containerRef: React.RefObject<HTMLDivElement>;
22
+ };
23
+ export {};
@@ -0,0 +1,2 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useEffect,useLayoutEffect,useRef,useState}from"react";import{usePrevious}from"../../hooks/usePrevious";import{useRefs}from"../../hooks/useRefs";import{animateTimeout}from"../../mixs/MixPopoverAnimate";export var useMenuNavigation=function(a){var b=a.items,c=a.addLevel,d=a.deleteLevel,e=a.active,f=a.getItemSubMenu,g=a.level,h=void 0===g?0:g,i=a.onEsc,j=a.isMobile,k=useState(-1),l=_slicedToArray(k,2),m=l[0],n=l[1],o=useState(),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useRefs(b.length),t=useRef(null),u=useRef(null),v=usePrevious(e);useLayoutEffect(function(){setTimeout(function(){var a;return null===(a=t.current)||void 0===a?void 0:a.focus()},2*animateTimeout)},[]),useLayoutEffect(function(){setTimeout(function(){var a;null===(a=(0<=m?s[m]:u).current)||void 0===a?void 0:a.focus()},v?2*animateTimeout:0),e&&setTimeout(function(){var a;null===(a=t.current)||void 0===a?void 0:a.focus()},j?animateTimeout:0)},[e]),useEffect(function(){setTimeout(function(){var a;null===(a=(0<=m?s[m]:u).current)||void 0===a?void 0:a.focus()},j?animateTimeout:0)},[m]);return{refs:s,activeIndex:m,onKeyDown:function onKeyDown(a){a.stopPropagation(),a.preventDefault();var e=a.code;if("ArrowUp"===e){if(j&&0>m-1){var g;u&&(null===(g=u.current)||void 0===g?void 0:g.focus())}n(Math.max(m-1,j?-1:0))}if("ArrowRight"===e&&0<=m){if(j)return void(!f(b[m])||c(b[m]));null!==q&&void 0!==q&&q.includes("left")&&!f(b[m])?d():c(b[m])}if("ArrowDown"===e&&n(Math.min(m+1,b.length-1)),"ArrowLeft"===e&&(null!==q&&void 0!==q&&q.includes("right")||j)&&d(),"Enter"===e)if(!(0<=m)){var k;null===(k=u.current)||void 0===k?void 0:k.click()}else if(f(b[m]))c(b[m]);else{var l;null===(l=s[m].current)||void 0===l?void 0:l.click()}if("Space"===e){var o;null===(o=(0<=m?s[m]:u).current)||void 0===o?void 0:o.click()}"Escape"===e&&(0===h?null===i||void 0===i?void 0:i(a):d())},setActiveIndex:n,setDirection:r,parentRef:u,containerRef:t}};
2
+ //# sourceMappingURL=useMenuNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuNavigation.js","names":["useEffect","useLayoutEffect","useRef","useState","usePrevious","useRefs","animateTimeout","useMenuNavigation","props","items","addLevel","deleteLevel","active","getItemSubMenu","level","onEsc","isMobile","activeIndex","setActiveIndex","direction","setDirection","refs","length","containerRef","parentRef","previousFlag","setTimeout","current","focus","onKeyDown","e","stopPropagation","preventDefault","code","Math","max","includes","min","click"],"sources":["../../../../../src/components/ContextMenu/useMenuNavigation.ts"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { Direction } from '##/components/Popover';\nimport { usePrevious } from '##/hooks/usePrevious';\nimport { useRefs } from '##/hooks/useRefs';\nimport { animateTimeout } from '##/mixs/MixPopoverAnimate';\n\nimport { ContextMenuPropGetSubItems } from '../ContextMenuDeprecated/helpers';\nimport { ContextMenuItemDefault } from './types';\n\ntype UseMenuNavigationProps<ITEM = ContextMenuItemDefault> = {\n items: ITEM[];\n deleteLevel: () => void;\n getItemSubMenu: ContextMenuPropGetSubItems<ITEM>;\n active: boolean;\n addLevel: (item: ITEM) => void;\n onEsc?: React.KeyboardEventHandler;\n level?: number;\n isMobile?: boolean;\n};\n\nexport const useMenuNavigation = (props: UseMenuNavigationProps) => {\n const {\n items,\n addLevel,\n deleteLevel,\n active,\n getItemSubMenu,\n level = 0,\n onEsc,\n isMobile,\n } = props;\n\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const [direction, setDirection] = useState<Direction | undefined>();\n\n const refs = useRefs<HTMLDivElement>(items.length);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const previousFlag = usePrevious(active);\n\n useLayoutEffect(() => {\n setTimeout(() => containerRef.current?.focus(), animateTimeout * 2);\n }, []);\n\n useLayoutEffect(() => {\n setTimeout(\n () => {\n (activeIndex >= 0 ? refs[activeIndex] : parentRef).current?.focus();\n },\n previousFlag ? animateTimeout * 2 : 0,\n );\n if (active) {\n setTimeout(\n () => {\n containerRef.current?.focus();\n },\n isMobile ? animateTimeout : 0,\n );\n }\n }, [active]);\n\n useEffect(() => {\n setTimeout(\n () => {\n (activeIndex >= 0 ? refs[activeIndex] : parentRef).current?.focus();\n },\n isMobile ? animateTimeout : 0,\n );\n }, [activeIndex]);\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n e.stopPropagation();\n e.preventDefault();\n const { code } = e;\n\n if (code === 'ArrowUp') {\n if (isMobile) {\n if (activeIndex - 1 < 0) {\n parentRef && parentRef.current?.focus();\n }\n }\n setActiveIndex(Math.max(activeIndex - 1, isMobile ? -1 : 0));\n }\n if (code === 'ArrowRight' && activeIndex >= 0) {\n if (isMobile) {\n !!getItemSubMenu(items[activeIndex]) && addLevel(items[activeIndex]);\n return;\n }\n if (direction?.includes('left') && !getItemSubMenu(items[activeIndex])) {\n deleteLevel();\n } else {\n addLevel(items[activeIndex]);\n }\n }\n if (code === 'ArrowDown') {\n setActiveIndex(Math.min(activeIndex + 1, items.length - 1));\n }\n if (code === 'ArrowLeft') {\n if (direction?.includes('right') || isMobile) {\n deleteLevel();\n }\n }\n if (code === 'Enter') {\n if (activeIndex >= 0) {\n if (getItemSubMenu(items[activeIndex])) {\n addLevel(items[activeIndex]);\n } else {\n refs[activeIndex].current?.click();\n }\n } else {\n parentRef.current?.click();\n }\n }\n if (code === 'Space') {\n (activeIndex >= 0 ? refs[activeIndex] : parentRef).current?.click();\n }\n if (code === 'Escape') {\n if (level === 0) {\n onEsc?.(e);\n } else {\n deleteLevel();\n }\n }\n };\n\n return {\n refs,\n activeIndex,\n onKeyDown,\n setActiveIndex,\n setDirection,\n parentRef,\n containerRef,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- .ListItem{background:var(--color-control-bg-clear);position:relative;text-decoration:none;transition:color .3s}.ListItem_interactive{cursor:pointer}.ListItem_active,.ListItem_interactive:hover{background:var(--color-control-bg-clear-hover)}.ListItem:before{background-color:var(--color-control-typo-secondary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .2s;width:var(--space-3xs)}.ListItem_checked.Text{color:var(--color-control-typo-secondary)}.ListItem_checked.Text:before{opacity:1}.ListItem_disabled.Text{color:var(--color-control-typo-disable);cursor:auto}
1
+ .ListItem{background:var(--color-control-bg-clear);position:relative;text-decoration:none;transition:color .3s}.ListItem_active{background:var(--color-bg-stripe)}.ListItem_interactive{cursor:pointer}.ListItem_interactive:hover{background:var(--color-control-bg-clear-hover)}.ListItem:before{background-color:var(--color-control-typo-secondary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .2s;width:var(--space-3xs)}.ListItem_checked.Text{color:var(--color-control-typo-secondary)}.ListItem_checked.Text:before{opacity:1}.ListItem_disabled.Text{color:var(--color-control-typo-disable);cursor:auto}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","active","label","innerOffset","disabled","className","leftSide","rightSide","rightIcon","leftIcon","as","checked","onClick","status","space","iconSize"];import"./ListItem.css";import React,{forwardRef}from"react";import{cnText}from"../../Text";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{cnListItemGrid,renderSlot}from"../ListItemGrid";import{mapHorisontalSpase,mapHorisontalSpaseIncreased,mapItemVerticalPadding}from"../maps";import{defaultListPropSize}from"../types";export var cnListItem=cn("ListItem");var ListItemRender=function(a,b){var c=a.size,d=void 0===c?defaultListPropSize:c,e=a.active,f=a.label,g=a.innerOffset,h=a.disabled,i=a.className,j=a.leftSide,k=a.rightSide,l=a.rightIcon,m=a.leftIcon,n=a.as,o=void 0===n?"div":n,p=a.checked,q=a.onClick,r=a.status,s=a.space,t=a.iconSize,u=_objectWithoutProperties(a,_excluded),v=q&&!h?q:void 0;return React.createElement(o,Object.assign({},u,{className:cnListItem({active:e,disabled:h,checked:p,interactive:!!v},[cnText({lineHeight:"xs",size:d,view:r}),cnMixSpace(s||{pH:"increased"===g?mapHorisontalSpaseIncreased[d]:mapHorisontalSpase[d],pV:mapItemVerticalPadding[d]}),cnListItemGrid(),i]),onClick:v,ref:b}),renderSlot(j,"left",d,m,t),l||k||j||m?f&&React.createElement("span",{className:cnListItemGrid("Slot",{position:"center"})},f):f,renderSlot(k,"right",d,l,t))};export var ListItem=forwardRef(ListItemRender);
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","active","label","innerOffset","disabled","className","leftSide","rightSide","rightIcon","leftIcon","as","checked","onClick","status","space","iconSize"];import"./ListItem.css";import React,{forwardRef}from"react";import{cnText,textPropViewDefault}from"../../Text";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{cnListItemGrid,renderSlot}from"../ListItemGrid";import{mapHorisontalSpase,mapHorisontalSpaseIncreased,mapItemVerticalPadding}from"../maps";import{defaultListPropSize}from"../types";export var cnListItem=cn("ListItem");var ListItemRender=function(a,b){var c=a.size,d=void 0===c?defaultListPropSize:c,e=a.active,f=a.label,g=a.innerOffset,h=a.disabled,i=a.className,j=a.leftSide,k=a.rightSide,l=a.rightIcon,m=a.leftIcon,n=a.as,o=void 0===n?"div":n,p=a.checked,q=a.onClick,r=a.status,s=void 0===r?textPropViewDefault:r,t=a.space,u=a.iconSize,v=_objectWithoutProperties(a,_excluded),w=q&&!h?q:void 0;return React.createElement(o,Object.assign({},v,{className:cnListItem({active:e,disabled:h,checked:p,interactive:!!w},[cnText({lineHeight:"xs",size:d,view:s}),cnMixSpace(t||{pH:"increased"===g?mapHorisontalSpaseIncreased[d]:mapHorisontalSpase[d],pV:mapItemVerticalPadding[d]}),cnListItemGrid(),i]),onClick:w,ref:b}),renderSlot(j,"left",d,m,u),l||k||j||m?f&&React.createElement("span",{className:cnListItemGrid("Slot",{position:"center"})},f):f,renderSlot(k,"right",d,l,u))};export var ListItem=forwardRef(ListItemRender);
2
2
  //# sourceMappingURL=ListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","names":["React","forwardRef","cnText","cnMixSpace","cn","cnListItemGrid","renderSlot","mapHorisontalSpase","mapHorisontalSpaseIncreased","mapItemVerticalPadding","defaultListPropSize","cnListItem","ListItemRender","props","ref","size","active","label","innerOffset","disabled","className","leftSide","rightSide","rightIcon","leftIcon","as","Tag","checked","onClick","status","space","iconSize","otherProps","handleClick","interactive","lineHeight","view","pH","pV","position","ListItem"],"sources":["../../../../../../src/components/ListCanary/ListItem/ListItem.tsx"],"sourcesContent":["import './ListItem.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { cnText } from '##/components/Text';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\n\nimport { cnListItemGrid, renderSlot } from '../ListItemGrid';\nimport {\n mapHorisontalSpase,\n mapHorisontalSpaseIncreased,\n mapItemVerticalPadding,\n} from '../maps';\nimport {\n defaultListPropSize,\n ListItemComponent,\n ListItemProps,\n} from '../types';\n\nexport const cnListItem = cn('ListItem');\n\nconst ListItemRender = (\n props: ListItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = defaultListPropSize,\n active,\n label,\n innerOffset,\n disabled,\n className,\n leftSide,\n rightSide,\n rightIcon,\n leftIcon,\n as: Tag = 'div',\n checked,\n onClick,\n status,\n space,\n iconSize,\n ...otherProps\n } = props;\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> | undefined =\n onClick && !disabled ? onClick : undefined;\n\n return (\n <Tag\n {...otherProps}\n className={cnListItem(\n { active, disabled, checked, interactive: !!handleClick },\n [\n cnText({\n lineHeight: 'xs',\n size,\n view: status,\n }),\n cnMixSpace(\n space || {\n pH:\n innerOffset === 'increased'\n ? mapHorisontalSpaseIncreased[size]\n : mapHorisontalSpase[size],\n pV: mapItemVerticalPadding[size],\n },\n ),\n cnListItemGrid(),\n className,\n ],\n )}\n onClick={handleClick}\n ref={ref}\n >\n {renderSlot(leftSide, 'left', size, leftIcon, iconSize)}\n {!rightIcon && !rightSide && !leftSide && !leftIcon\n ? label\n : label && (\n <span className={cnListItemGrid('Slot', { position: 'center' })}>\n {label}\n </span>\n )}\n {renderSlot(rightSide, 'right', size, rightIcon, iconSize)}\n </Tag>\n );\n};\n\nexport const ListItem = forwardRef(ListItemRender) as ListItemComponent;\n"],"mappings":"qQAAA,uBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,MAAT,kBACA,OAASC,UAAT,8BACA,OAASC,EAAT,0BAEA,OAASC,cAAT,CAAyBC,UAAzB,uBACA,OACEC,kBADF,CAEEC,2BAFF,CAGEC,sBAHF,eAKA,OACEC,mBADF,gBAMA,MAAO,IAAMC,WAAU,CAAGP,EAAE,CAAC,UAAD,CAArB,CAEP,GAAMQ,eAAc,CAAG,SACrBC,CADqB,CAErBC,CAFqB,CAGlB,OAmBCD,CAnBD,CAEDE,IAFC,CAEDA,CAFC,YAEML,mBAFN,GAGDM,CAHC,CAmBCH,CAnBD,CAGDG,MAHC,CAIDC,CAJC,CAmBCJ,CAnBD,CAIDI,KAJC,CAKDC,CALC,CAmBCL,CAnBD,CAKDK,WALC,CAMDC,CANC,CAmBCN,CAnBD,CAMDM,QANC,CAODC,CAPC,CAmBCP,CAnBD,CAODO,SAPC,CAQDC,CARC,CAmBCR,CAnBD,CAQDQ,QARC,CASDC,CATC,CAmBCT,CAnBD,CASDS,SATC,CAUDC,CAVC,CAmBCV,CAnBD,CAUDU,SAVC,CAWDC,CAXC,CAmBCX,CAnBD,CAWDW,QAXC,GAmBCX,CAnBD,CAYDY,EAZC,CAYGC,CAZH,YAYS,KAZT,GAaDC,CAbC,CAmBCd,CAnBD,CAaDc,OAbC,CAcDC,CAdC,CAmBCf,CAnBD,CAcDe,OAdC,CAeDC,CAfC,CAmBChB,CAnBD,CAeDgB,MAfC,CAgBDC,CAhBC,CAmBCjB,CAnBD,CAgBDiB,KAhBC,CAiBDC,CAjBC,CAmBClB,CAnBD,CAiBDkB,QAjBC,CAkBEC,CAlBF,0BAmBCnB,CAnBD,YAqBGoB,CAAgE,CACpEL,CAAO,EAAI,CAACT,CAAZ,CAAuBS,CAAvB,OAtBC,CAwBH,MACE,qBAAC,CAAD,kBACMI,CADN,EAEE,SAAS,CAAErB,UAAU,CACnB,CAAEK,MAAM,CAANA,CAAF,CAAUG,QAAQ,CAARA,CAAV,CAAoBQ,OAAO,CAAPA,CAApB,CAA6BO,WAAW,CAAE,CAAC,CAACD,CAA5C,CADmB,CAEnB,CACE/B,MAAM,CAAC,CACLiC,UAAU,CAAE,IADP,CAELpB,IAAI,CAAJA,CAFK,CAGLqB,IAAI,CAAEP,CAHD,CAAD,CADR,CAME1B,UAAU,CACR2B,CAAK,EAAI,CACPO,EAAE,CACgB,WAAhB,GAAAnB,CAAW,CACPV,2BAA2B,CAACO,CAAD,CADpB,CAEPR,kBAAkB,CAACQ,CAAD,CAJjB,CAKPuB,EAAE,CAAE7B,sBAAsB,CAACM,CAAD,CALnB,CADD,CANZ,CAeEV,cAAc,EAfhB,CAgBEe,CAhBF,CAFmB,CAFvB,CAuBE,OAAO,CAAEa,CAvBX,CAwBE,GAAG,CAAEnB,CAxBP,GA0BGR,UAAU,CAACe,CAAD,CAAW,MAAX,CAAmBN,CAAnB,CAAyBS,CAAzB,CAAmCO,CAAnC,CA1Bb,CA2BIR,CAAD,EAAeD,CAAf,EAA6BD,CAA7B,EAA0CG,CAA1C,CAEGP,CAAK,EACH,4BAAM,SAAS,CAAEZ,cAAc,CAAC,MAAD,CAAS,CAAEkC,QAAQ,CAAE,QAAZ,CAAT,CAA/B,EACGtB,CADH,CAHL,CACGA,CA5BN,CAkCGX,UAAU,CAACgB,CAAD,CAAY,OAAZ,CAAqBP,CAArB,CAA2BQ,CAA3B,CAAsCQ,CAAtC,CAlCb,CAqCH,CAjED,CAmEA,MAAO,IAAMS,SAAQ,CAAGvC,UAAU,CAACW,cAAD,CAA3B"}
1
+ {"version":3,"file":"ListItem.js","names":["React","forwardRef","cnText","textPropViewDefault","cnMixSpace","cn","cnListItemGrid","renderSlot","mapHorisontalSpase","mapHorisontalSpaseIncreased","mapItemVerticalPadding","defaultListPropSize","cnListItem","ListItemRender","props","ref","size","active","label","innerOffset","disabled","className","leftSide","rightSide","rightIcon","leftIcon","as","Tag","checked","onClick","status","space","iconSize","otherProps","handleClick","interactive","lineHeight","view","pH","pV","position","ListItem"],"sources":["../../../../../../src/components/ListCanary/ListItem/ListItem.tsx"],"sourcesContent":["import './ListItem.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { cnText, textPropViewDefault } from '##/components/Text';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\n\nimport { cnListItemGrid, renderSlot } from '../ListItemGrid';\nimport {\n mapHorisontalSpase,\n mapHorisontalSpaseIncreased,\n mapItemVerticalPadding,\n} from '../maps';\nimport {\n defaultListPropSize,\n ListItemComponent,\n ListItemProps,\n} from '../types';\n\nexport const cnListItem = cn('ListItem');\n\nconst ListItemRender = (\n props: ListItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = defaultListPropSize,\n active,\n label,\n innerOffset,\n disabled,\n className,\n leftSide,\n rightSide,\n rightIcon,\n leftIcon,\n as: Tag = 'div',\n checked,\n onClick,\n status = textPropViewDefault,\n space,\n iconSize,\n ...otherProps\n } = props;\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> | undefined =\n onClick && !disabled ? onClick : undefined;\n\n return (\n <Tag\n {...otherProps}\n className={cnListItem(\n { active, disabled, checked, interactive: !!handleClick },\n [\n cnText({\n lineHeight: 'xs',\n size,\n view: status,\n }),\n cnMixSpace(\n space || {\n pH:\n innerOffset === 'increased'\n ? mapHorisontalSpaseIncreased[size]\n : mapHorisontalSpase[size],\n pV: mapItemVerticalPadding[size],\n },\n ),\n cnListItemGrid(),\n className,\n ],\n )}\n onClick={handleClick}\n ref={ref}\n >\n {renderSlot(leftSide, 'left', size, leftIcon, iconSize)}\n {!rightIcon && !rightSide && !leftSide && !leftIcon\n ? label\n : label && (\n <span className={cnListItemGrid('Slot', { position: 'center' })}>\n {label}\n </span>\n )}\n {renderSlot(rightSide, 'right', size, rightIcon, iconSize)}\n </Tag>\n );\n};\n\nexport const ListItem = forwardRef(ListItemRender) as ListItemComponent;\n"],"mappings":"qQAAA,uBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,MAAT,CAAiBC,mBAAjB,kBACA,OAASC,UAAT,8BACA,OAASC,EAAT,0BAEA,OAASC,cAAT,CAAyBC,UAAzB,uBACA,OACEC,kBADF,CAEEC,2BAFF,CAGEC,sBAHF,eAKA,OACEC,mBADF,gBAMA,MAAO,IAAMC,WAAU,CAAGP,EAAE,CAAC,UAAD,CAArB,CAEP,GAAMQ,eAAc,CAAG,SACrBC,CADqB,CAErBC,CAFqB,CAGlB,OAmBCD,CAnBD,CAEDE,IAFC,CAEDA,CAFC,YAEML,mBAFN,GAGDM,CAHC,CAmBCH,CAnBD,CAGDG,MAHC,CAIDC,CAJC,CAmBCJ,CAnBD,CAIDI,KAJC,CAKDC,CALC,CAmBCL,CAnBD,CAKDK,WALC,CAMDC,CANC,CAmBCN,CAnBD,CAMDM,QANC,CAODC,CAPC,CAmBCP,CAnBD,CAODO,SAPC,CAQDC,CARC,CAmBCR,CAnBD,CAQDQ,QARC,CASDC,CATC,CAmBCT,CAnBD,CASDS,SATC,CAUDC,CAVC,CAmBCV,CAnBD,CAUDU,SAVC,CAWDC,CAXC,CAmBCX,CAnBD,CAWDW,QAXC,GAmBCX,CAnBD,CAYDY,EAZC,CAYGC,CAZH,YAYS,KAZT,GAaDC,CAbC,CAmBCd,CAnBD,CAaDc,OAbC,CAcDC,CAdC,CAmBCf,CAnBD,CAcDe,OAdC,GAmBCf,CAnBD,CAeDgB,MAfC,CAeDA,CAfC,YAeQ3B,mBAfR,GAgBD4B,CAhBC,CAmBCjB,CAnBD,CAgBDiB,KAhBC,CAiBDC,CAjBC,CAmBClB,CAnBD,CAiBDkB,QAjBC,CAkBEC,CAlBF,0BAmBCnB,CAnBD,YAqBGoB,CAAgE,CACpEL,CAAO,EAAI,CAACT,CAAZ,CAAuBS,CAAvB,OAtBC,CAwBH,MACE,qBAAC,CAAD,kBACMI,CADN,EAEE,SAAS,CAAErB,UAAU,CACnB,CAAEK,MAAM,CAANA,CAAF,CAAUG,QAAQ,CAARA,CAAV,CAAoBQ,OAAO,CAAPA,CAApB,CAA6BO,WAAW,CAAE,CAAC,CAACD,CAA5C,CADmB,CAEnB,CACEhC,MAAM,CAAC,CACLkC,UAAU,CAAE,IADP,CAELpB,IAAI,CAAJA,CAFK,CAGLqB,IAAI,CAAEP,CAHD,CAAD,CADR,CAME1B,UAAU,CACR2B,CAAK,EAAI,CACPO,EAAE,CACgB,WAAhB,GAAAnB,CAAW,CACPV,2BAA2B,CAACO,CAAD,CADpB,CAEPR,kBAAkB,CAACQ,CAAD,CAJjB,CAKPuB,EAAE,CAAE7B,sBAAsB,CAACM,CAAD,CALnB,CADD,CANZ,CAeEV,cAAc,EAfhB,CAgBEe,CAhBF,CAFmB,CAFvB,CAuBE,OAAO,CAAEa,CAvBX,CAwBE,GAAG,CAAEnB,CAxBP,GA0BGR,UAAU,CAACe,CAAD,CAAW,MAAX,CAAmBN,CAAnB,CAAyBS,CAAzB,CAAmCO,CAAnC,CA1Bb,CA2BIR,CAAD,EAAeD,CAAf,EAA6BD,CAA7B,EAA0CG,CAA1C,CAEGP,CAAK,EACH,4BAAM,SAAS,CAAEZ,cAAc,CAAC,MAAD,CAAS,CAAEkC,QAAQ,CAAE,QAAZ,CAAT,CAA/B,EACGtB,CADH,CAHL,CACGA,CA5BN,CAkCGX,UAAU,CAACgB,CAAD,CAAY,OAAZ,CAAqBP,CAArB,CAA2BQ,CAA3B,CAAsCQ,CAAtC,CAlCb,CAqCH,CAjED,CAmEA,MAAO,IAAMS,SAAQ,CAAGxC,UAAU,CAACY,cAAD,CAA3B"}
@@ -1,6 +1,6 @@
1
1
  import './Responses.css';
2
2
  import React from 'react';
3
- import { ResponsesImageProps } from '../../responsesImages/ResponsesImage/ResponsesImage';
3
+ import { ResponsesImageProps } from "../../responsesImages/ResponsesImage/ResponsesImage";
4
4
  import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';
5
5
  export declare const responsesPropSize: readonly ["l", "m"];
6
6
  export declare type ResponsesPropSize = typeof responsesPropSize[number];
@@ -1 +1 @@
1
- {"version":3,"file":"Responses.js","names":["React","cn","responsesPropSize","responsesPropSizeDefault","cnResponses","Responses","forwardRef","props","ref","className","title","description","size","image","actions"],"sources":["../../../../../src/components/Responses/Responses.tsx"],"sourcesContent":["import './Responses.css';\n\nimport React from 'react';\n\nimport { ResponsesImageProps } from '../../responsesImages/ResponsesImage/ResponsesImage';\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const responsesPropSize = ['l', 'm'] as const;\nexport type ResponsesPropSize = typeof responsesPropSize[number];\nexport const responsesPropSizeDefault: ResponsesPropSize = responsesPropSize[0];\n\nexport type ResponsesProps = PropsWithHTMLAttributes<\n {\n title?: React.ReactNode;\n description?: React.ReactNode;\n size?: ResponsesPropSize;\n image: React.FC<ResponsesImageProps>;\n actions?: React.ReactNode;\n children?: never;\n },\n HTMLDivElement\n>;\n\nexport const cnResponses = cn('Responses');\n\nexport const Responses = React.forwardRef<HTMLDivElement, ResponsesProps>(\n (props, ref) => {\n const {\n className,\n title,\n description,\n size = responsesPropSizeDefault,\n image,\n actions,\n } = props;\n const Image = image;\n\n return (\n <div className={cnResponses({ size }, [className])} ref={ref}>\n <Image className={cnResponses('Image')} />\n {title && <h1 className={cnResponses('Title')}>{title}</h1>}\n {description && (\n <p className={cnResponses('Description')}>{description}</p>\n )}\n {actions && (\n <div className={cnResponses('ButtonsWrapper')}>{actions}</div>\n )}\n </div>\n );\n },\n);\n"],"mappings":"AAAA,wBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAGA,OAASC,EAAT,uBAGA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAcP,MAAO,IAAME,YAAW,CAAGH,EAAE,CAAC,WAAD,CAAtB,CAEP,MAAO,IAAMI,UAAS,CAAGL,KAAK,CAACM,UAAN,CACvB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAQVF,CARU,CAEZE,SAFY,CAGZC,CAHY,CAQVH,CARU,CAGZG,KAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,WAJY,GAQVJ,CARU,CAKZK,IALY,CAKZA,CALY,YAKLT,wBALK,GAMZU,CANY,CAQVN,CARU,CAMZM,KANY,CAOZC,CAPY,CAQVP,CARU,CAOZO,OAPY,CAWd,MACE,4BAAK,SAAS,CAAEV,WAAW,CAAC,CAAEQ,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACH,CAAD,CAAX,CAA3B,CAAoD,GAAG,CAAED,CAAzD,EACE,oBAJUK,CAIV,EAAO,SAAS,CAAET,WAAW,CAAC,OAAD,CAA7B,EADF,CAEGM,CAAK,EAAI,0BAAI,SAAS,CAAEN,WAAW,CAAC,OAAD,CAA1B,EAAsCM,CAAtC,CAFZ,CAGGC,CAAW,EACV,yBAAG,SAAS,CAAEP,WAAW,CAAC,aAAD,CAAzB,EAA2CO,CAA3C,CAJJ,CAMGG,CAAO,EACN,2BAAK,SAAS,CAAEV,WAAW,CAAC,gBAAD,CAA3B,EAAgDU,CAAhD,CAPJ,CAWH,CAxBsB,CAAlB"}
1
+ {"version":3,"file":"Responses.js","names":["React","cn","responsesPropSize","responsesPropSizeDefault","cnResponses","Responses","forwardRef","props","ref","className","title","description","size","image","actions"],"sources":["../../../../../src/components/Responses/Responses.tsx"],"sourcesContent":["import './Responses.css';\n\nimport React from 'react';\n\nimport { ResponsesImageProps } from '##/responsesImages/ResponsesImage/ResponsesImage';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const responsesPropSize = ['l', 'm'] as const;\nexport type ResponsesPropSize = typeof responsesPropSize[number];\nexport const responsesPropSizeDefault: ResponsesPropSize = responsesPropSize[0];\n\nexport type ResponsesProps = PropsWithHTMLAttributes<\n {\n title?: React.ReactNode;\n description?: React.ReactNode;\n size?: ResponsesPropSize;\n image: React.FC<ResponsesImageProps>;\n actions?: React.ReactNode;\n children?: never;\n },\n HTMLDivElement\n>;\n\nexport const cnResponses = cn('Responses');\n\nexport const Responses = React.forwardRef<HTMLDivElement, ResponsesProps>(\n (props, ref) => {\n const {\n className,\n title,\n description,\n size = responsesPropSizeDefault,\n image,\n actions,\n } = props;\n const Image = image;\n\n return (\n <div className={cnResponses({ size }, [className])} ref={ref}>\n <Image className={cnResponses('Image')} />\n {title && <h1 className={cnResponses('Title')}>{title}</h1>}\n {description && (\n <p className={cnResponses('Description')}>{description}</p>\n )}\n {actions && (\n <div className={cnResponses('ButtonsWrapper')}>{actions}</div>\n )}\n </div>\n );\n },\n);\n"],"mappings":"AAAA,wBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAIA,OAASC,EAAT,uBAGA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA1B,CAEP,MAAO,IAAMC,yBAA2C,CAAGD,iBAAiB,CAAC,CAAD,CAArE,CAcP,MAAO,IAAME,YAAW,CAAGH,EAAE,CAAC,WAAD,CAAtB,CAEP,MAAO,IAAMI,UAAS,CAAGL,KAAK,CAACM,UAAN,CACvB,SAACC,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAQVF,CARU,CAEZE,SAFY,CAGZC,CAHY,CAQVH,CARU,CAGZG,KAHY,CAIZC,CAJY,CAQVJ,CARU,CAIZI,WAJY,GAQVJ,CARU,CAKZK,IALY,CAKZA,CALY,YAKLT,wBALK,GAMZU,CANY,CAQVN,CARU,CAMZM,KANY,CAOZC,CAPY,CAQVP,CARU,CAOZO,OAPY,CAWd,MACE,4BAAK,SAAS,CAAEV,WAAW,CAAC,CAAEQ,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACH,CAAD,CAAX,CAA3B,CAAoD,GAAG,CAAED,CAAzD,EACE,oBAJUK,CAIV,EAAO,SAAS,CAAET,WAAW,CAAC,OAAD,CAA7B,EADF,CAEGM,CAAK,EAAI,0BAAI,SAAS,CAAEN,WAAW,CAAC,OAAD,CAA1B,EAAsCM,CAAtC,CAFZ,CAGGC,CAAW,EACV,yBAAG,SAAS,CAAEP,WAAW,CAAC,aAAD,CAAzB,EAA2CO,CAA3C,CAJJ,CAMGG,CAAO,EACN,2BAAK,SAAS,CAAEV,WAAW,CAAC,gBAAD,CAA3B,EAAgDU,CAAhD,CAPJ,CAWH,CAxBsB,CAAlB"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ResponsesImageProps } from '../../responsesImages/ResponsesImage/ResponsesImage';
2
+ import { ResponsesImageProps } from "../../responsesImages/ResponsesImage/ResponsesImage";
3
3
  import { ResponsesProps } from './Responses';
4
4
  declare type CreateResponsesArguments = {
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createResponses.js","names":["React","cnResponses","Responses","createResponses","name","image","title","description","actions","ResponsesComponent","forwardRef","props","ref","className"],"sources":["../../../../../src/components/Responses/createResponses.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageProps } from '../../responsesImages/ResponsesImage/ResponsesImage';\nimport { cnResponses, Responses, ResponsesProps } from './Responses';\n\ntype CreateResponsesArguments = {\n name: string;\n image: React.FC<ResponsesImageProps>;\n title?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n};\n\nexport function createResponses({\n name,\n image,\n title,\n description,\n actions,\n}: CreateResponsesArguments) {\n const ResponsesComponent = React.forwardRef<\n HTMLDivElement,\n Omit<ResponsesProps, 'image'>\n >((props, ref) => {\n return (\n <Responses\n {...props}\n ref={ref}\n className={cnResponses(null, [name, props.className])}\n title={props.title || title}\n description={props.description || description}\n actions={props.actions || actions}\n image={image}\n />\n );\n });\n\n return ResponsesComponent;\n}\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAGA,OAASC,WAAT,CAAsBC,SAAtB,mBAUA,MAAO,SAASC,gBAAT,GAMsB,IAL3BC,EAK2B,GAL3BA,IAK2B,CAJ3BC,CAI2B,GAJ3BA,KAI2B,CAH3BC,CAG2B,GAH3BA,KAG2B,CAF3BC,CAE2B,GAF3BA,WAE2B,CAD3BC,CAC2B,GAD3BA,OAC2B,CACrBC,CAAkB,CAAGT,KAAK,CAACU,UAAN,CAGzB,SAACC,CAAD,CAAQC,CAAR,CAAgB,CAChB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,GAAG,CAAEC,CAFP,CAGE,SAAS,CAAEX,WAAW,CAAC,IAAD,CAAO,CAACG,CAAD,CAAOO,CAAK,CAACE,SAAb,CAAP,CAHxB,CAIE,KAAK,CAAEF,CAAK,CAACL,KAAN,EAAeA,CAJxB,CAKE,WAAW,CAAEK,CAAK,CAACJ,WAAN,EAAqBA,CALpC,CAME,OAAO,CAAEI,CAAK,CAACH,OAAN,EAAiBA,CAN5B,CAOE,KAAK,CAAEH,CAPT,GAUH,CAf0B,CADA,CAkB3B,MAAOI,EACR"}
1
+ {"version":3,"file":"createResponses.js","names":["React","cnResponses","Responses","createResponses","name","image","title","description","actions","ResponsesComponent","forwardRef","props","ref","className"],"sources":["../../../../../src/components/Responses/createResponses.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageProps } from '##/responsesImages/ResponsesImage/ResponsesImage';\n\nimport { cnResponses, Responses, ResponsesProps } from './Responses';\n\ntype CreateResponsesArguments = {\n name: string;\n image: React.FC<ResponsesImageProps>;\n title?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n};\n\nexport function createResponses({\n name,\n image,\n title,\n description,\n actions,\n}: CreateResponsesArguments) {\n const ResponsesComponent = React.forwardRef<\n HTMLDivElement,\n Omit<ResponsesProps, 'image'>\n >((props, ref) => {\n return (\n <Responses\n {...props}\n ref={ref}\n className={cnResponses(null, [name, props.className])}\n title={props.title || title}\n description={props.description || description}\n actions={props.actions || actions}\n image={image}\n />\n );\n });\n\n return ResponsesComponent;\n}\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAIA,OAASC,WAAT,CAAsBC,SAAtB,mBAUA,MAAO,SAASC,gBAAT,GAMsB,IAL3BC,EAK2B,GAL3BA,IAK2B,CAJ3BC,CAI2B,GAJ3BA,KAI2B,CAH3BC,CAG2B,GAH3BA,KAG2B,CAF3BC,CAE2B,GAF3BA,WAE2B,CAD3BC,CAC2B,GAD3BA,OAC2B,CACrBC,CAAkB,CAAGT,KAAK,CAACU,UAAN,CAGzB,SAACC,CAAD,CAAQC,CAAR,CAAgB,CAChB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,GAAG,CAAEC,CAFP,CAGE,SAAS,CAAEX,WAAW,CAAC,IAAD,CAAO,CAACG,CAAD,CAAOO,CAAK,CAACE,SAAb,CAAP,CAHxB,CAIE,KAAK,CAAEF,CAAK,CAACL,KAAN,EAAeA,CAJxB,CAKE,WAAW,CAAEK,CAAK,CAACJ,WAAN,EAAqBA,CALpC,CAME,OAAO,CAAEI,CAAK,CAACH,OAAN,EAAiBA,CAN5B,CAOE,KAAK,CAAEH,CAPT,GAUH,CAf0B,CADA,CAkB3B,MAAOI,EACR"}
@@ -1,2 +1,2 @@
1
- import React from"react";import{ResponsesImage403}from"../../responsesImages/ResponsesImage403/ResponsesImage403";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var Responses403=createResponses({name:"Responses403",image:ResponsesImage403,title:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",description:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u044D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F \u0443 \u0430\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u0430",actions:React.createElement(Button,{type:"button",label:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F",view:"ghost"})});
1
+ import React from"react";import{Button}from"../Button";import{createResponses}from"../Responses/createResponses";import{ResponsesImage403}from"../../responsesImages/ResponsesImage403/ResponsesImage403";export var Responses403=createResponses({name:"Responses403",image:ResponsesImage403,title:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",description:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u044D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F \u0443 \u0430\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u0430",actions:React.createElement(Button,{type:"button",label:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F",view:"ghost"})});
2
2
  //# sourceMappingURL=Responses403.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Responses403.js","names":["React","ResponsesImage403","Button","createResponses","Responses403","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses403/Responses403.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImage403 } from '../../responsesImages/ResponsesImage403/ResponsesImage403';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const Responses403 = createResponses({\n name: 'Responses403',\n image: ResponsesImage403,\n title: 'Нет доступа',\n description:\n 'Если вы уверены, что вам нужна эта страница, запросите доступ у администратора',\n actions: <Button type=\"button\" label=\"Запросить доступ\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,iBAAT,iEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,aAAY,CAAGD,eAAe,CAAC,CAC1CE,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEL,iBAFmC,CAG1CM,KAAK,CAAE,+DAHmC,CAI1CC,WAAW,CACT,qZALwC,CAM1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,6FAA5B,CAA+C,IAAI,CAAC,OAApD,EANiC,CAAD,CAApC"}
1
+ {"version":3,"file":"Responses403.js","names":["React","Button","createResponses","ResponsesImage403","Responses403","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses403/Responses403.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Button } from '##/components/Button';\nimport { createResponses } from '##/components/Responses/createResponses';\nimport { ResponsesImage403 } from '##/responsesImages/ResponsesImage403/ResponsesImage403';\n\nexport const Responses403 = createResponses({\n name: 'Responses403',\n image: ResponsesImage403,\n title: 'Нет доступа',\n description:\n 'Если вы уверены, что вам нужна эта страница, запросите доступ у администратора',\n actions: <Button type=\"button\" label=\"Запросить доступ\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,MAAT,iBACA,OAASC,eAAT,oCACA,OAASC,iBAAT,iEAEA,MAAO,IAAMC,aAAY,CAAGF,eAAe,CAAC,CAC1CG,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEH,iBAFmC,CAG1CI,KAAK,CAAE,+DAHmC,CAI1CC,WAAW,CACT,qZALwC,CAM1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,6FAA5B,CAA+C,IAAI,CAAC,OAApD,EANiC,CAAD,CAApC"}
@@ -1 +1,2 @@
1
1
  export * from './Responses403';
2
+ export * from "../../responsesImages/ResponsesImage403/ResponsesImage403";
@@ -1,2 +1,2 @@
1
- export*from"./Responses403";
1
+ export*from"./Responses403";export*from"../../responsesImages/ResponsesImage403/ResponsesImage403";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Responses403/index.ts"],"sourcesContent":["export * from './Responses403';\n"],"mappings":"AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Responses403/index.ts"],"sourcesContent":["export * from './Responses403';\nexport * from '##/responsesImages/ResponsesImage403/ResponsesImage403';\n"],"mappings":"AAAA,4BACA"}