@consta/header 3.0.2 → 3.2.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 (23) hide show
  1. package/__internal__/src/components/Menu/Menu.js +1 -1
  2. package/__internal__/src/components/Menu/Menu.js.map +1 -1
  3. package/__internal__/src/components/Menu/helpers.d.ts +2 -1
  4. package/__internal__/src/components/Menu/types.d.ts +1 -0
  5. package/__internal__/src/components/Menu/types.js.map +1 -1
  6. package/__internal__/src/components/Navbar/Navbar.d.ts +1 -0
  7. package/__internal__/src/components/Navbar/Navbar.js +1 -1
  8. package/__internal__/src/components/Navbar/Navbar.js.map +1 -1
  9. package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.d.ts +21 -0
  10. package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.js +1 -1
  11. package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.js.map +1 -1
  12. package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.d.ts +13 -0
  13. package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.js +1 -1
  14. package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.js.map +1 -1
  15. package/__internal__/src/components/Navbar/helpers.d.ts +3 -1
  16. package/__internal__/src/components/Navbar/types.d.ts +10 -1
  17. package/__internal__/src/components/Navbar/types.js.map +1 -1
  18. package/__internal__/src/components/Notifications/NotificationsItemFooter/helpers.js +1 -1
  19. package/__internal__/src/components/Notifications/NotificationsItemFooter/helpers.js.map +1 -1
  20. package/package.json +4 -4
  21. package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.d.ts +0 -2
  22. package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.js +0 -2
  23. package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick"];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"./Menu.css";import{IconMeatball}from"@consta/icons/IconMeatball";import{IconSelect}from"@consta/icons/IconSelect";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLineDepricated";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n}=d,o=_objectWithoutProperties(d,_excluded),[p,q]=useState(),[r,s]=useFlag(),{visibleItems:t,itemsRefs:u,wrapperRef:v,hiddenItems:w,moreRef:x}=useHideElementsInLine(e),y=useRef(null),z=useMutableRef(i),A=useMutableRef(l),B=useCallback(a=>z.current(a)?"a":"span",[]),C=useCallback(a=>{const b=z.current(a),c=A.current(a);return _objectSpread(_objectSpread({},b&&{href:z.current(a)}),c&&{href:A.current(a)})},[]),D="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return useEffect(useDebounce(()=>{r||q(void 0)},animateTimeout),[r]),React.createElement("nav",Object.assign({},o,{className:cnMenu({width:g},[f]),onMouseLeave:s.off,onMouseEnter:s.on,ref:b}),React.createElement("ul",{className:cnMenu("List"),ref:v},e.map((a,b)=>{const c=j(a),d=i(a),e=d?l(a):void 0,f=h(a),g=d?"a":"span",o=m(a),r=p===b,s=!t[b];return React.createElement("li",{className:cnMenu("Item",{hidden:s,active:f,opened:r}),key:cnMenu("Item",{index:b}),ref:u[b],onMouseEnter:()=>q(b)},React.createElement(g,{className:cnMenu("Link"),href:d,target:e,onClick:getItemClick(a,k,n)},c),o&&React.createElement(IconSelect,{size:"s",className:cnMenu("Arrow")}),React.createElement(ContextMenu,{isOpen:o&&0<o.length&&r,items:o||[],getItemLabel:j,getItemSubMenu:m,anchorRef:u[b],onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartLeft",getItemAs:B,getItemAttributes:C,style:{zIndex:D}}))}),0<w.length&&React.createElement("li",{className:cnMenu("Item"),key:cnMenu("Item",{more:!0}),ref:x,onMouseEnter:()=>q("more")},React.createElement(Button,{iconLeft:IconMeatball,ref:y,size:"xs",view:"clear"}),React.createElement(ContextMenu,{isOpen:"more"===p,items:w,getItemLabel:j,getItemSubMenu:m,anchorRef:y,onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartRight",getItemAs:B,getItemAttributes:C,style:{zIndex:D},offset:8}))))};export const Menu=forwardRef(MenuRender);export*from"./types";
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","subMenuClassName"];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"./Menu.css";import{IconMeatball}from"@consta/icons/IconMeatball";import{IconSelect}from"@consta/icons/IconSelect";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLineDepricated";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n,subMenuClassName:o}=d,p=_objectWithoutProperties(d,_excluded),[q,r]=useState(),[s,t]=useFlag(),{visibleItems:u,itemsRefs:v,wrapperRef:w,hiddenItems:x,moreRef:y}=useHideElementsInLine(e),z=useRef(null),A=useMutableRef(i),B=useMutableRef(l),C=useCallback(a=>A.current(a)?"a":"span",[]),D=useCallback(a=>{const b=A.current(a),c=B.current(a);return _objectSpread(_objectSpread({},b&&{href:A.current(a)}),c&&{href:B.current(a)})},[]),E="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return useEffect(useDebounce(()=>{s||r(void 0)},animateTimeout),[s]),React.createElement("nav",Object.assign({},p,{className:cnMenu({width:g},[f]),onMouseLeave:t.off,onMouseEnter:t.on,ref:b}),React.createElement("ul",{className:cnMenu("List"),ref:w},e.map((a,b)=>{const c=j(a),d=i(a),e=d?l(a):void 0,f=h(a),g=d?"a":"span",p=m(a),s=q===b,t=!u[b];return React.createElement("li",{className:cnMenu("Item",{hidden:t,active:f,opened:s}),key:cnMenu("Item",{index:b}),ref:v[b],onMouseEnter:()=>r(b)},React.createElement(g,{className:cnMenu("Link"),href:d,target:e,onClick:getItemClick(a,k,n)},c),p&&React.createElement(IconSelect,{size:"s",className:cnMenu("Arrow")}),React.createElement(ContextMenu,{className:cnMenu("SubMenu",{index:b.toString()},[o]),isOpen:p&&0<p.length&&s,items:p||[],getItemLabel:j,getItemSubMenu:m,anchorRef:v[b],onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartLeft",getItemAs:C,getItemAttributes:D,style:{zIndex:E}}))}),0<x.length&&React.createElement("li",{className:cnMenu("Item"),key:cnMenu("Item",{more:!0}),ref:y,onMouseEnter:()=>r("more")},React.createElement(Button,{iconLeft:IconMeatball,ref:z,size:"xs",view:"clear"}),React.createElement(ContextMenu,{isOpen:"more"===q,items:x,getItemLabel:j,getItemSubMenu:m,anchorRef:z,onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartRight",getItemAs:C,getItemAttributes:D,style:{zIndex:E},offset:8}))))};export const Menu=forwardRef(MenuRender);export*from"./types";
2
2
  //# sourceMappingURL=Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["IconMeatball","IconSelect","Button","ContextMenu","animateTimeout","useDebounce","useFlag","useHideElementsInLine","useMutableRef","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","cn","withDefaultGetters","cnMenu","MenuRender","props","ref","c","d","items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","otherProps","_objectWithoutProperties","_excluded","openedSubMenu","setOpenedSubMenu","mouseOnMenu","setMouseOnMenu","visibleItems","itemsRefs","wrapperRef","hiddenItems","moreRef","moreButtonRef","getItemHrefRef","getItemTargetRef","getItemAs","item","current","getItemHTMLAttributes","href","target","_objectSpread","elementZIndex","style","zIndex","createElement","Object","assign","onMouseLeave","off","onMouseEnter","on","map","index","label","active","Tag","subItems","opened","hidden","key","g","onClick","size","isOpen","length","anchorRef","e","direction","possibleDirections","spareDirection","getItemAttributes","more","iconLeft","view","offset","Menu"],"sources":["../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import './Menu.css';\n\nimport { IconMeatball } from '@consta/icons/IconMeatball';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { animateTimeout } from '@consta/uikit/MixPopoverAnimate';\nimport { useDebounce } from '@consta/uikit/useDebounce';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useHideElementsInLine } from '@consta/uikit/useHideElementsInLineDepricated';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { MenuComponent, MenuProps } from './types';\n\nexport const cnMenu = cn('Menu');\n\nconst MenuRender = (props: MenuProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n width,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n onItemClick,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [openedSubMenu, setOpenedSubMenu] = useState<\n number | 'more' | undefined\n >();\n const [mouseOnMenu, setMouseOnMenu] = useFlag();\n\n const { visibleItems, itemsRefs, wrapperRef, hiddenItems, moreRef } =\n useHideElementsInLine<\n (typeof items)[number],\n HTMLLIElement,\n HTMLUListElement\n >(items);\n\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n\n const getItemAs = useCallback((item: (typeof items)[number]) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: (typeof items)[number]) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(\n useDebounce(() => {\n if (!mouseOnMenu) {\n setOpenedSubMenu(undefined);\n }\n }, animateTimeout),\n [mouseOnMenu],\n );\n\n return (\n <nav\n {...otherProps}\n className={cnMenu({ width }, [className])}\n onMouseLeave={setMouseOnMenu.off}\n onMouseEnter={setMouseOnMenu.on}\n ref={ref}\n >\n <ul className={cnMenu('List')} ref={wrapperRef}>\n {items.map((item, index) => {\n const label = getItemLabel(item);\n const href = getItemHref(item);\n const target = href ? getItemTarget(item) : undefined;\n const active = getItemActive(item);\n const Tag = href ? 'a' : 'span';\n const subItems = getItemSubMenu(item);\n const opened = openedSubMenu === index;\n const hidden = !visibleItems[index];\n return (\n <li\n className={cnMenu('Item', { hidden, active, opened })}\n key={cnMenu('Item', { index })}\n ref={itemsRefs[index]}\n onMouseEnter={() => setOpenedSubMenu(index)}\n >\n <Tag\n className={cnMenu('Link')}\n href={href}\n target={target}\n onClick={getItemClick(item, getItemOnClick, onItemClick)}\n >\n {label}\n </Tag>\n {subItems && <IconSelect size=\"s\" className={cnMenu('Arrow')} />}\n <ContextMenu\n isOpen={subItems && subItems.length > 0 && opened}\n items={subItems || []}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={itemsRefs[index]}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartLeft\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n />\n </li>\n );\n })}\n {hiddenItems.length > 0 && (\n <li\n className={cnMenu('Item')}\n key={cnMenu('Item', { more: true })}\n ref={moreRef}\n onMouseEnter={() => setOpenedSubMenu('more')}\n >\n <Button\n iconLeft={IconMeatball}\n ref={moreButtonRef}\n size=\"xs\"\n view=\"clear\"\n />\n <ContextMenu\n isOpen={openedSubMenu === 'more'}\n items={hiddenItems}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={moreButtonRef}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartRight\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n offset={8}\n />\n </li>\n )}\n </ul>\n </nav>\n );\n};\n\nexport const Menu = forwardRef(MenuRender) as MenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["IconMeatball","IconSelect","Button","ContextMenu","animateTimeout","useDebounce","useFlag","useHideElementsInLine","useMutableRef","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","cn","withDefaultGetters","cnMenu","MenuRender","props","ref","c","d","items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","subMenuClassName","otherProps","_objectWithoutProperties","_excluded","openedSubMenu","setOpenedSubMenu","mouseOnMenu","setMouseOnMenu","visibleItems","itemsRefs","wrapperRef","hiddenItems","moreRef","moreButtonRef","getItemHrefRef","getItemTargetRef","getItemAs","item","current","getItemHTMLAttributes","href","target","_objectSpread","elementZIndex","style","zIndex","createElement","Object","assign","onMouseLeave","off","onMouseEnter","on","map","index","label","active","Tag","subItems","opened","hidden","key","g","onClick","size","toString","isOpen","length","anchorRef","e","direction","possibleDirections","spareDirection","getItemAttributes","more","iconLeft","view","offset","Menu"],"sources":["../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import './Menu.css';\n\nimport { IconMeatball } from '@consta/icons/IconMeatball';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { animateTimeout } from '@consta/uikit/MixPopoverAnimate';\nimport { useDebounce } from '@consta/uikit/useDebounce';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useHideElementsInLine } from '@consta/uikit/useHideElementsInLineDepricated';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { MenuComponent, MenuProps } from './types';\n\nexport const cnMenu = cn('Menu');\n\nconst MenuRender = (props: MenuProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n width,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n onItemClick,\n subMenuClassName,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [openedSubMenu, setOpenedSubMenu] = useState<\n number | 'more' | undefined\n >();\n const [mouseOnMenu, setMouseOnMenu] = useFlag();\n\n const { visibleItems, itemsRefs, wrapperRef, hiddenItems, moreRef } =\n useHideElementsInLine<\n (typeof items)[number],\n HTMLLIElement,\n HTMLUListElement\n >(items);\n\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n\n const getItemAs = useCallback((item: (typeof items)[number]) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: (typeof items)[number]) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(\n useDebounce(() => {\n if (!mouseOnMenu) {\n setOpenedSubMenu(undefined);\n }\n }, animateTimeout),\n [mouseOnMenu],\n );\n\n return (\n <nav\n {...otherProps}\n className={cnMenu({ width }, [className])}\n onMouseLeave={setMouseOnMenu.off}\n onMouseEnter={setMouseOnMenu.on}\n ref={ref}\n >\n <ul className={cnMenu('List')} ref={wrapperRef}>\n {items.map((item, index) => {\n const label = getItemLabel(item);\n const href = getItemHref(item);\n const target = href ? getItemTarget(item) : undefined;\n const active = getItemActive(item);\n const Tag = href ? 'a' : 'span';\n const subItems = getItemSubMenu(item);\n const opened = openedSubMenu === index;\n const hidden = !visibleItems[index];\n return (\n <li\n className={cnMenu('Item', { hidden, active, opened })}\n key={cnMenu('Item', { index })}\n ref={itemsRefs[index]}\n onMouseEnter={() => setOpenedSubMenu(index)}\n >\n <Tag\n className={cnMenu('Link')}\n href={href}\n target={target}\n onClick={getItemClick(item, getItemOnClick, onItemClick)}\n >\n {label}\n </Tag>\n {subItems && <IconSelect size=\"s\" className={cnMenu('Arrow')} />}\n <ContextMenu\n className={cnMenu('SubMenu', { index: index.toString() }, [\n subMenuClassName,\n ])}\n isOpen={subItems && subItems.length > 0 && opened}\n items={subItems || []}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={itemsRefs[index]}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartLeft\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n />\n </li>\n );\n })}\n {hiddenItems.length > 0 && (\n <li\n className={cnMenu('Item')}\n key={cnMenu('Item', { more: true })}\n ref={moreRef}\n onMouseEnter={() => setOpenedSubMenu('more')}\n >\n <Button\n iconLeft={IconMeatball}\n ref={moreButtonRef}\n size=\"xs\"\n view=\"clear\"\n />\n <ContextMenu\n isOpen={openedSubMenu === 'more'}\n items={hiddenItems}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={moreButtonRef}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartRight\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n offset={8}\n />\n </li>\n )}\n </ul>\n </nav>\n );\n};\n\nexport const Menu = forwardRef(MenuRender) as MenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -30,7 +30,8 @@ export declare function withDefaultGetters<ITEM>(props: MenuProps<ITEM>): {
30
30
  getItemActive?: MenuPropGetItemActive<ITEM> | undefined;
31
31
  getItemOnClick?: MenuPropGetItemOnClick<ITEM> | undefined;
32
32
  getItemSubMenu?: MenuPropGetItemSubMenu<ITEM> | undefined;
33
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemHref" | "getItemLabel" | "getItemTarget" | "getItemOnClick" | "width" | "getItemSubMenu" | "getItemActive"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
33
+ subMenuClassName?: string;
34
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemHref" | "getItemLabel" | "getItemTarget" | "getItemOnClick" | "width" | "getItemSubMenu" | "getItemActive" | "subMenuClassName"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
34
35
  label: MenuDefaultItem["label"];
35
36
  } ? {} : {
36
37
  getItemLabel: MenuPropGetItemLabel<ITEM>;
@@ -26,6 +26,7 @@ export type MenuProps<ITEM = MenuDefaultItem> = PropsWithHTMLAttributesAndRef<{
26
26
  getItemActive?: MenuPropGetItemActive<ITEM>;
27
27
  getItemOnClick?: MenuPropGetItemOnClick<ITEM>;
28
28
  getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;
29
+ subMenuClassName?: string;
29
30
  }, HTMLDivElement> & (ITEM extends {
30
31
  label: MenuDefaultItem['label'];
31
32
  } ? {} : {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/Menu/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\n\nexport type MenuDefaultItem = {\n label: string;\n href?: string;\n target?: string;\n active?: boolean;\n onClick?: React.EventHandler<React.MouseEvent>;\n subMenu?: MenuDefaultItem[];\n};\n\nexport type MenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;\nexport type MenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;\nexport type MenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\nexport type MenuPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type MenuProps<ITEM = MenuDefaultItem> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n width?: 'full';\n onItemClick?: MenuPropOnItemClick<ITEM>;\n getItemHref?: MenuPropGetItemHref<ITEM>;\n getItemLabel?: MenuPropGetItemLabel<ITEM>;\n getItemTarget?: MenuPropGetItemTarget<ITEM>;\n getItemActive?: MenuPropGetItemActive<ITEM>;\n getItemOnClick?: MenuPropGetItemOnClick<ITEM>;\n getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: MenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MenuPropGetItemLabel<ITEM> });\n\nexport type MenuComponent = <ITEM = MenuDefaultItem>(\n props: MenuProps<ITEM>,\n) => React.ReactNode;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/Menu/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\n\nexport type MenuDefaultItem = {\n label: string;\n href?: string;\n target?: string;\n active?: boolean;\n onClick?: React.EventHandler<React.MouseEvent>;\n subMenu?: MenuDefaultItem[];\n};\n\nexport type MenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;\nexport type MenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;\nexport type MenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\nexport type MenuPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type MenuProps<ITEM = MenuDefaultItem> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n width?: 'full';\n onItemClick?: MenuPropOnItemClick<ITEM>;\n getItemHref?: MenuPropGetItemHref<ITEM>;\n getItemLabel?: MenuPropGetItemLabel<ITEM>;\n getItemTarget?: MenuPropGetItemTarget<ITEM>;\n getItemActive?: MenuPropGetItemActive<ITEM>;\n getItemOnClick?: MenuPropGetItemOnClick<ITEM>;\n getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;\n subMenuClassName?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: MenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MenuPropGetItemLabel<ITEM> });\n\nexport type MenuComponent = <ITEM = MenuDefaultItem>(\n props: MenuProps<ITEM>,\n) => React.ReactNode;\n"],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  import { NavbarComponent } from './types';
2
+ export declare const cnNavbar: import("@bem-react/classname").ClassNameFormatter;
2
3
  export declare const Navbar: NavbarComponent;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","groups","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","sortGroup","className"];import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{renderHeader}from"@consta/uikit/ListCanary";import React,{forwardRef,useMemo}from"react";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{NavbarItem}from"./NavbarItem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"./types";const cnNavbar=cnCanary("Navbar"),NavbarRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,onItemClick:e,groups:f,getItemLabel:g,getItemIcon:h,getItemRightSide:i,getItemAs:j,getItemAttributes:k,getItemGroupKey:l,getItemActive:m,getItemRef:n,getItemAdditionalClassName:o,getGroupKey:p,getGroupLabel:q,getGroupRightSide:r,getGroupAdditionalClassName:s,size:x=defaultNavbarPropSize,form:y=defaultNavbarPropForm,getItemSubMenu:t,getItemStatus:u,sortGroup:v,className:w}=c,z=_objectWithoutProperties(c,_excluded),A=useMemo(()=>getGroups(d,l,f,p,v),[f,d]);return React.createElement("div",Object.assign({},z,{ref:b,className:cnNavbar(null,[w])}),A.map((a,b)=>React.createElement(React.Fragment,{key:a.key},renderHeader(a.group&&q(a.group),0===b,x,a.group&&r(a.group),{pV:"xs",mH:"m",mB:"2xs"},void 0,s&&a.group&&s(a.group)),a.items.map((b,c)=>React.createElement(React.Fragment,{key:`${a.key}-${c}`},React.createElement(NavbarItem,{size:x,item:b,level:0,onItemClick:e,getItemLabel:g,getItemActive:m,getItemAdditionalClassName:o,getItemAs:j,getItemAttributes:k,getItemIcon:h,getItemRef:n,getItemRightSide:i,getItemSubMenu:t,getItemStatus:u,form:y}))))))};export const Navbar=forwardRef(NavbarRender);
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","groups","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","getItemSubMenuOpen","onSubMenuToggle","sortGroup","className"];import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{renderHeader}from"@consta/uikit/ListCanary";import React,{forwardRef,useMemo}from"react";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{NavbarItem}from"./NavbarItem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"./types";export const cnNavbar=cnCanary("Navbar");const NavbarRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,onItemClick:e,groups:f,getItemLabel:g,getItemIcon:h,getItemRightSide:i,getItemAs:j,getItemAttributes:k,getItemGroupKey:l,getItemActive:m,getItemRef:n,getItemAdditionalClassName:o,getGroupKey:p,getGroupLabel:q,getGroupRightSide:r,getGroupAdditionalClassName:s,size:z=defaultNavbarPropSize,form:A=defaultNavbarPropForm,getItemSubMenu:t,getItemStatus:u,getItemSubMenuOpen:v,onSubMenuToggle:w,sortGroup:x,className:y}=c,B=_objectWithoutProperties(c,_excluded),C=useMemo(()=>getGroups(d,l,f,p,x),[f,d]);return React.createElement("div",Object.assign({},B,{ref:b,className:cnNavbar(null,[y])}),C.map((a,b)=>React.createElement(React.Fragment,{key:a.key},renderHeader(a.group&&q(a.group),0===b,z,a.group&&r(a.group),{pV:"xs",mH:"m",mB:"2xs"},void 0,s&&a.group&&s(a.group)),a.items.map((b,c)=>React.createElement(React.Fragment,{key:`${a.key}-${c}`},React.createElement(NavbarItem,{size:z,item:b,level:0,onItemClick:e,getItemLabel:g,getItemActive:m,getItemAdditionalClassName:o,getItemAs:j,getItemAttributes:k,getItemIcon:h,getItemRef:n,getItemRightSide:i,getItemSubMenu:t,getItemStatus:u,getItemSubMenuOpen:v,onSubMenuToggle:w,form:A}))))))};export const Navbar=forwardRef(NavbarRender);
2
2
  //# sourceMappingURL=Navbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar.js","names":["getGroups","renderHeader","React","forwardRef","useMemo","cnCanary","withDefaultGetters","NavbarItem","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbar","NavbarRender","props","ref","c","items","onItemClick","groups","groupsProp","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","sortGroup","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","map","group","groupIndex","Fragment","key","pV","mH","mB","item","index","level","Navbar"],"sources":["../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { renderHeader } from '@consta/uikit/ListCanary';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { NavbarItem } from './NavbarItem';\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarComponent,\n NavbarProps,\n} from './types';\n\nconst cnNavbar = cnCanary('Navbar');\n\nconst NavbarRender = (props: NavbarProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n onItemClick,\n groups: groupsProp,\n getItemLabel,\n getItemIcon,\n getItemRightSide,\n getItemAs,\n getItemAttributes,\n getItemGroupKey,\n getItemActive,\n getItemRef,\n getItemAdditionalClassName,\n getGroupKey,\n getGroupLabel,\n getGroupRightSide,\n getGroupAdditionalClassName,\n size = defaultNavbarPropSize,\n form = defaultNavbarPropForm,\n getItemSubMenu,\n getItemStatus,\n sortGroup,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const groups = useMemo(\n () => getGroups(items, getItemGroupKey, groupsProp, getGroupKey, sortGroup),\n [groupsProp, items],\n );\n\n return (\n <div {...otherProps} ref={ref} className={cnNavbar(null, [className])}>\n {groups.map((group, groupIndex) => {\n return (\n <React.Fragment key={group.key}>\n {renderHeader(\n group.group && getGroupLabel(group.group),\n groupIndex === 0,\n size,\n group.group && getGroupRightSide(group.group),\n { pV: 'xs', mH: 'm', mB: '2xs' },\n undefined,\n getGroupAdditionalClassName &&\n group.group &&\n getGroupAdditionalClassName(group.group),\n )}\n {group.items.map((item, index) => {\n return (\n <React.Fragment key={`${group.key}-${index}`}>\n <NavbarItem\n size={size}\n item={item}\n level={0}\n onItemClick={onItemClick}\n getItemLabel={getItemLabel}\n getItemActive={getItemActive}\n getItemAdditionalClassName={getItemAdditionalClassName}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemIcon={getItemIcon}\n getItemRef={getItemRef}\n getItemRightSide={getItemRightSide}\n getItemSubMenu={getItemSubMenu}\n getItemStatus={getItemStatus}\n form={form}\n />\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const Navbar = forwardRef(NavbarRender) as NavbarComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Navbar.js","names":["getGroups","renderHeader","React","forwardRef","useMemo","cnCanary","withDefaultGetters","NavbarItem","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbar","NavbarRender","props","ref","c","items","onItemClick","groups","groupsProp","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","getItemSubMenuOpen","onSubMenuToggle","sortGroup","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","map","group","groupIndex","Fragment","key","pV","mH","mB","item","index","level","Navbar"],"sources":["../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { renderHeader } from '@consta/uikit/ListCanary';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { NavbarItem } from './NavbarItem';\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarComponent,\n NavbarProps,\n} from './types';\n\nexport const cnNavbar = cnCanary('Navbar');\n\nconst NavbarRender = (props: NavbarProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n onItemClick,\n groups: groupsProp,\n getItemLabel,\n getItemIcon,\n getItemRightSide,\n getItemAs,\n getItemAttributes,\n getItemGroupKey,\n getItemActive,\n getItemRef,\n getItemAdditionalClassName,\n getGroupKey,\n getGroupLabel,\n getGroupRightSide,\n getGroupAdditionalClassName,\n size = defaultNavbarPropSize,\n form = defaultNavbarPropForm,\n getItemSubMenu,\n getItemStatus,\n getItemSubMenuOpen,\n onSubMenuToggle,\n sortGroup,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const groups = useMemo(\n () => getGroups(items, getItemGroupKey, groupsProp, getGroupKey, sortGroup),\n [groupsProp, items],\n );\n\n return (\n <div {...otherProps} ref={ref} className={cnNavbar(null, [className])}>\n {groups.map((group, groupIndex) => {\n return (\n <React.Fragment key={group.key}>\n {renderHeader(\n group.group && getGroupLabel(group.group),\n groupIndex === 0,\n size,\n group.group && getGroupRightSide(group.group),\n { pV: 'xs', mH: 'm', mB: '2xs' },\n undefined,\n getGroupAdditionalClassName &&\n group.group &&\n getGroupAdditionalClassName(group.group),\n )}\n {group.items.map((item, index) => {\n return (\n <React.Fragment key={`${group.key}-${index}`}>\n <NavbarItem\n size={size}\n item={item}\n level={0}\n onItemClick={onItemClick}\n getItemLabel={getItemLabel}\n getItemActive={getItemActive}\n getItemAdditionalClassName={getItemAdditionalClassName}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemIcon={getItemIcon}\n getItemRef={getItemRef}\n getItemRightSide={getItemRightSide}\n getItemSubMenu={getItemSubMenu}\n getItemStatus={getItemStatus}\n getItemSubMenuOpen={getItemSubMenuOpen}\n onSubMenuToggle={onSubMenuToggle}\n form={form}\n />\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const Navbar = forwardRef(NavbarRender) as NavbarComponent;\n"],"mappings":"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"}
@@ -1,3 +1,24 @@
1
1
  import './NavbarItem.css';
2
2
  import { NavbarItemComponent } from '../types';
3
+ export declare const cnNavbarItem: import("@bem-react/classname").ClassNameFormatter;
4
+ export declare const spaceMap: {
5
+ readonly m: {
6
+ readonly pV: "s";
7
+ readonly pH: "m";
8
+ readonly mB: "2xs";
9
+ };
10
+ readonly s: {
11
+ readonly pV: "xs";
12
+ readonly pH: "m";
13
+ readonly mB: "2xs";
14
+ };
15
+ };
16
+ export declare const mapLevelSpace: {
17
+ readonly m: "2xl";
18
+ readonly s: "xl";
19
+ };
20
+ export declare const bageSizeMap: {
21
+ readonly s: "xs";
22
+ readonly m: "s";
23
+ };
3
24
  export declare const NavbarItem: NavbarItemComponent;
@@ -1,2 +1,2 @@
1
- import"./NavbarItem.css";import{Badge}from"@consta/uikit/Badge";import{ListItem}from"@consta/uikit/ListCanary";import{useFlag}from"@consta/uikit/useFlag";import{useForkRef}from"@consta/uikit/useForkRef";import React,{forwardRef}from"react";import{cn}from"../../../utils/bem";import{NavbarArrow}from"../NavbarArrow";import{defaultNavbarPropSize}from"../types";const cnNavbarItem=cn("NavbarItem"),spaceMap={m:{pV:"s",pH:"m",mB:"2xs"},s:{pV:"xs",pH:"m",mB:"2xs"}},mapLevelSpace={m:"2xl",s:"xl"},bageSizeMap={s:"xs",m:"s"},NavbarItemRender=(a,b)=>{const{size:q=defaultNavbarPropSize,item:c,getItemLabel:d,getItemActive:e,getItemAdditionalClassName:f,getItemAs:g,getItemAttributes:h,getItemIcon:i,getItemRef:j,getItemRightSide:k,getItemSubMenu:l,onItemClick:m,className:n,getItemStatus:o,level:r=0,form:p}=a,[s,t]=useFlag(),u=null===l||void 0===l?void 0:l(c),v=null===k||void 0===k?void 0:k(c),w=null===e||void 0===e?void 0:e(c),x=null===o||void 0===o?void 0:o(c);return React.createElement(React.Fragment,null,React.createElement(ListItem,Object.assign({},(null===h||void 0===h?void 0:h(c))||{},{label:d(c),size:q,onClick:a=>{(null===u||void 0===u?void 0:u.length)&&t.toggle(),null===m||void 0===m?void 0:m(c,{e:a})},leftIcon:null===i||void 0===i?void 0:i(c),iconSize:q,rightSide:[...(Array.isArray(v)?v:[v]),x?React.createElement(Badge,{size:bageSizeMap[q],status:x,minified:!0}):void 0,null!==u&&void 0!==u&&u.length?React.createElement(NavbarArrow,{open:s,onClick:t.toggle}):void 0],as:null===g||void 0===g?void 0:g(c),active:w,ref:useForkRef([null===j||void 0===j?void 0:j(c),b]),className:cnNavbarItem({form:p,active:w},[n,null===f||void 0===f?void 0:f(c)]),space:spaceMap[q],style:{"--navbar-item-level":r,"--navbar-item-ph":`var(--space-${spaceMap[q].pH})`,"--navbar-item-level-space":`var(--space-${mapLevelSpace[q]})`}})),s&&(null===u||void 0===u?void 0:u.map((b,c)=>React.createElement(NavbarItem,Object.assign({},a,{key:c,level:r+1,item:b})))))};export const NavbarItem=forwardRef(NavbarItemRender);
1
+ import"./NavbarItem.css";import{Badge}from"@consta/uikit/Badge";import{ListItem}from"@consta/uikit/ListCanary";import{useFlag}from"@consta/uikit/useFlag";import{useForkRef}from"@consta/uikit/useForkRef";import React,{forwardRef,useEffect}from"react";import{cn}from"../../../utils/bem";import{NavbarArrow}from"../NavbarArrow";import{defaultNavbarPropSize}from"../types";export const cnNavbarItem=cn("NavbarItem");export const spaceMap={m:{pV:"s",pH:"m",mB:"2xs"},s:{pV:"xs",pH:"m",mB:"2xs"}};export const mapLevelSpace={m:"2xl",s:"xl"};export const bageSizeMap={s:"xs",m:"s"};const NavbarItemRender=(a,b)=>{const{size:s=defaultNavbarPropSize,item:c,getItemLabel:d,getItemActive:e,getItemAdditionalClassName:f,getItemAs:g,getItemAttributes:h,getItemIcon:i,getItemRef:j,getItemRightSide:k,getItemSubMenu:l,onItemClick:m,className:n,getItemStatus:o,getItemSubMenuOpen:p,onSubMenuToggle:q,level:t=0,form:r}=a,[u,v]=useFlag((null===p||void 0===p?void 0:p(c))||!1),w=null===p||void 0===p?void 0:p(c),x=null===l||void 0===l?void 0:l(c),y=null===k||void 0===k?void 0:k(c),z=null===e||void 0===e?void 0:e(c),A=null===o||void 0===o?void 0:o(c),B=a=>{null!==x&&void 0!==x&&x.length&&(null===q||void 0===q?void 0:q(c,{open:!u,e:a}),v.set(!u))};return useEffect(()=>{void 0!==w&&v.set(w)},[w]),React.createElement(React.Fragment,null,React.createElement(ListItem,Object.assign({},(null===h||void 0===h?void 0:h(c))||{},{label:d(c),size:s,onClick:a=>{B(a),null===m||void 0===m?void 0:m(c,{e:a})},leftIcon:null===i||void 0===i?void 0:i(c),iconSize:s,rightSide:[...(Array.isArray(y)?y:[y]),A?React.createElement(Badge,{size:bageSizeMap[s],status:A,minified:!0}):void 0,null!==x&&void 0!==x&&x.length?React.createElement(NavbarArrow,{open:u,onClick:B}):void 0],as:null===g||void 0===g?void 0:g(c),active:z,ref:useForkRef([null===j||void 0===j?void 0:j(c),b]),className:cnNavbarItem({form:r,active:z},[n,null===f||void 0===f?void 0:f(c)]),space:spaceMap[s],style:{"--navbar-item-level":t,"--navbar-item-ph":`var(--space-${spaceMap[s].pH})`,"--navbar-item-level-space":`var(--space-${mapLevelSpace[s]})`}})),u&&(null===x||void 0===x?void 0:x.map((b,c)=>React.createElement(NavbarItem,Object.assign({},a,{key:c,level:t+1,item:b})))))};export const NavbarItem=forwardRef(NavbarItemRender);
2
2
  //# sourceMappingURL=NavbarItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavbarItem.js","names":["Badge","ListItem","useFlag","useForkRef","React","forwardRef","cn","NavbarArrow","defaultNavbarPropSize","cnNavbarItem","spaceMap","m","pV","pH","mB","s","mapLevelSpace","bageSizeMap","NavbarItemRender","props","ref","size","item","getItemLabel","getItemActive","getItemAdditionalClassName","getItemAs","getItemAttributes","getItemIcon","getItemRef","getItemRightSide","getItemSubMenu","onItemClick","className","getItemStatus","level","form","open","setOpen","subItems","rightSide","active","status","createElement","Fragment","Object","assign","label","onClick","e","length","toggle","leftIcon","iconSize","Array","isArray","minified","as","space","style","\"--navbar-item-level\"","\"--navbar-item-ph\"","\"--navbar-item-level-space\"","map","index","NavbarItem","key"],"sources":["../../../../../../src/components/Navbar/NavbarItem/NavbarItem.tsx"],"sourcesContent":["import './NavbarItem.css';\n\nimport { Badge } from '@consta/uikit/Badge';\nimport { ListItem } from '@consta/uikit/ListCanary';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport React, { forwardRef } from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport { NavbarArrow } from '../NavbarArrow';\nimport {\n defaultNavbarPropSize,\n NavbarItemComponent,\n NavbarItemProps,\n} from '../types';\n\nconst cnNavbarItem = cn('NavbarItem');\n\nconst spaceMap = {\n m: { pV: 's', pH: 'm', mB: '2xs' },\n s: { pV: 'xs', pH: 'm', mB: '2xs' },\n} as const;\n\nconst mapLevelSpace = {\n m: '2xl',\n s: 'xl',\n} as const;\n\nconst bageSizeMap = {\n s: 'xs',\n m: 's',\n} as const;\n\nconst NavbarItemRender = (\n props: NavbarItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = defaultNavbarPropSize,\n item,\n getItemLabel,\n getItemActive,\n getItemAdditionalClassName,\n getItemAs,\n getItemAttributes,\n getItemIcon,\n getItemRef,\n getItemRightSide,\n getItemSubMenu,\n onItemClick,\n className,\n getItemStatus,\n level = 0,\n form,\n } = props;\n\n const [open, setOpen] = useFlag();\n const subItems = getItemSubMenu?.(item);\n const rightSide = getItemRightSide?.(item);\n const active = getItemActive?.(item);\n const status = getItemStatus?.(item);\n\n return (\n <>\n <ListItem\n {...(getItemAttributes?.(item) || {})}\n label={getItemLabel(item)}\n size={size}\n onClick={(e: React.MouseEvent) => {\n subItems?.length && setOpen.toggle();\n onItemClick?.(item, { e });\n }}\n leftIcon={getItemIcon?.(item)}\n iconSize={size}\n rightSide={[\n ...(Array.isArray(rightSide) ? rightSide : [rightSide]),\n status ? (\n <Badge size={bageSizeMap[size]} status={status} minified />\n ) : undefined,\n subItems?.length ? (\n <NavbarArrow open={open} onClick={setOpen.toggle} />\n ) : undefined,\n ]}\n as={getItemAs?.(item)}\n active={active}\n ref={useForkRef([getItemRef?.(item), ref])}\n className={cnNavbarItem({ form, active }, [\n className,\n getItemAdditionalClassName?.(item),\n ])}\n space={spaceMap[size]}\n style={{\n ['--navbar-item-level' as string]: level,\n ['--navbar-item-ph' as string]: `var(--space-${spaceMap[size].pH})`,\n ['--navbar-item-level-space' as string]: `var(--space-${mapLevelSpace[size]})`,\n }}\n />\n {open &&\n subItems?.map((item, index) => (\n <NavbarItem {...props} key={index} level={level + 1} item={item} />\n ))}\n </>\n );\n};\n\nexport const NavbarItem = forwardRef(NavbarItemRender) as NavbarItemComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"NavbarItem.js","names":["Badge","ListItem","useFlag","useForkRef","React","forwardRef","useEffect","cn","NavbarArrow","defaultNavbarPropSize","cnNavbarItem","spaceMap","m","pV","pH","mB","s","mapLevelSpace","bageSizeMap","NavbarItemRender","props","ref","size","item","getItemLabel","getItemActive","getItemAdditionalClassName","getItemAs","getItemAttributes","getItemIcon","getItemRef","getItemRightSide","getItemSubMenu","onItemClick","className","getItemStatus","getItemSubMenuOpen","onSubMenuToggle","level","form","open","setOpen","controlledOpen","subItems","rightSide","active","status","handleToggle","e","length","set","createElement","Fragment","Object","assign","label","onClick","leftIcon","iconSize","Array","isArray","minified","as","space","style","\"--navbar-item-level\"","\"--navbar-item-ph\"","\"--navbar-item-level-space\"","map","subItem","index","NavbarItem","key"],"sources":["../../../../../../src/components/Navbar/NavbarItem/NavbarItem.tsx"],"sourcesContent":["import './NavbarItem.css';\n\nimport { Badge } from '@consta/uikit/Badge';\nimport { ListItem } from '@consta/uikit/ListCanary';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport React, { forwardRef, useEffect } from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport { NavbarArrow } from '../NavbarArrow';\nimport {\n defaultNavbarPropSize,\n NavbarItemComponent,\n NavbarItemProps,\n} from '../types';\n\nexport const cnNavbarItem = cn('NavbarItem');\n\nexport const spaceMap = {\n m: { pV: 's', pH: 'm', mB: '2xs' },\n s: { pV: 'xs', pH: 'm', mB: '2xs' },\n} as const;\n\nexport const mapLevelSpace = {\n m: '2xl',\n s: 'xl',\n} as const;\n\nexport const bageSizeMap = {\n s: 'xs',\n m: 's',\n} as const;\n\nconst NavbarItemRender = (\n props: NavbarItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = defaultNavbarPropSize,\n item,\n getItemLabel,\n getItemActive,\n getItemAdditionalClassName,\n getItemAs,\n getItemAttributes,\n getItemIcon,\n getItemRef,\n getItemRightSide,\n getItemSubMenu,\n onItemClick,\n className,\n getItemStatus,\n getItemSubMenuOpen,\n onSubMenuToggle,\n level = 0,\n form,\n } = props;\n\n const [open, setOpen] = useFlag(getItemSubMenuOpen?.(item) || false);\n const controlledOpen = getItemSubMenuOpen?.(item);\n\n const subItems = getItemSubMenu?.(item);\n const rightSide = getItemRightSide?.(item);\n const active = getItemActive?.(item);\n const status = getItemStatus?.(item);\n\n const handleToggle = (e: React.MouseEvent) => {\n if (subItems?.length) {\n onSubMenuToggle?.(item, { open: !open, e });\n setOpen.set(!open);\n }\n };\n\n useEffect(() => {\n if (controlledOpen !== undefined) {\n setOpen.set(controlledOpen);\n }\n }, [controlledOpen]);\n\n return (\n <>\n <ListItem\n {...(getItemAttributes?.(item) || {})}\n label={getItemLabel(item)}\n size={size}\n onClick={(e: React.MouseEvent) => {\n handleToggle(e);\n onItemClick?.(item, { e });\n }}\n leftIcon={getItemIcon?.(item)}\n iconSize={size}\n rightSide={[\n ...(Array.isArray(rightSide) ? rightSide : [rightSide]),\n status ? (\n <Badge size={bageSizeMap[size]} status={status} minified />\n ) : undefined,\n subItems?.length ? (\n <NavbarArrow open={open} onClick={handleToggle} />\n ) : undefined,\n ]}\n as={getItemAs?.(item)}\n active={active}\n ref={useForkRef([getItemRef?.(item), ref])}\n className={cnNavbarItem({ form, active }, [\n className,\n getItemAdditionalClassName?.(item),\n ])}\n space={spaceMap[size]}\n style={{\n ['--navbar-item-level' as string]: level,\n ['--navbar-item-ph' as string]: `var(--space-${spaceMap[size].pH})`,\n ['--navbar-item-level-space' as string]: `var(--space-${mapLevelSpace[size]})`,\n }}\n />\n {open &&\n subItems?.map((subItem, index) => (\n <NavbarItem {...props} key={index} level={level + 1} item={subItem} />\n ))}\n </>\n );\n};\n\nexport const NavbarItem = forwardRef(NavbarItemRender) as NavbarItemComponent;\n"],"mappings":"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"}
@@ -1,6 +1,19 @@
1
1
  import './NavbarRailItem.css';
2
2
  import React from 'react';
3
3
  import { NavbarRailItemProps } from '../types';
4
+ export declare const cnNavbarItem: import("@bem-react/classname").ClassNameFormatter;
5
+ export declare const spaceMap: {
6
+ readonly m: {
7
+ readonly pV: "s";
8
+ readonly pH: "m";
9
+ readonly mB: "2xs";
10
+ };
11
+ readonly s: {
12
+ readonly pV: "xs";
13
+ readonly pH: "m";
14
+ readonly mB: "2xs";
15
+ };
16
+ };
4
17
  export declare const NavbarRailItem: import("@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes").ComponentWithAs<NavbarRailItemProps, "div"> | React.ComponentType<{
5
18
  tooltipProps?: import("@consta/uikit/withTooltip").TooltipProps;
6
19
  }>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["size","icon","status","form","active","label","as","className"];import"./NavbarRailItem.css";import{forwardRefWithAs}from"@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes";import{Badge}from"@consta/uikit/Badge";import{cnMixSpace}from"@consta/uikit/MixSpace";import{Text}from"@consta/uikit/Text";import{withTooltip}from"@consta/uikit/withTooltip";import React from"react";import{cn}from"../../../utils/bem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"../types";const cnNavbarItem=cn("NavbarRailItem"),spaceMap={m:{pV:"s",pH:"m",mB:"2xs"},s:{pV:"xs",pH:"m",mB:"2xs"}},bageSizeMap={s:"xs",m:"s"},textSpaceMap={m:{mT:"xs"},s:{mT:"2xs"}},Item=forwardRefWithAs((a,b)=>{const{size:h=defaultNavbarPropSize,icon:c,status:d,form:i=defaultNavbarPropForm,active:e,label:f,as:j="div",className:g}=a,k=_objectWithoutProperties(a,_excluded);return React.createElement(j,Object.assign({},k,{ref:b,className:cnNavbarItem({size:h,form:i,active:e},[cnMixSpace(spaceMap[h]),g])}),React.createElement("div",{className:cnNavbarItem("IconWrapper")},c&&React.createElement(c,{size:h}),d&&React.createElement(Badge,{className:cnNavbarItem("Badge"),size:bageSizeMap[h],status:d,minified:!0})),f&&React.createElement(Text,{className:cnNavbarItem("Label",[cnMixSpace(textSpaceMap[h])]),align:"center",size:h,view:"primary",lineHeight:"m"},f))});export const NavbarRailItem=withTooltip({direction:"rightCenter",mode:"mouseover",possibleDirections:["rightCenter","rightDown","rightUp","rightStartDown","rightStartUp"],spareDirection:"rightCenter"})(Item);
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["size","icon","status","form","active","label","as","className"];import"./NavbarRailItem.css";import{forwardRefWithAs}from"@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes";import{Badge}from"@consta/uikit/Badge";import{cnMixSpace}from"@consta/uikit/MixSpace";import{Text}from"@consta/uikit/Text";import{withTooltip}from"@consta/uikit/withTooltip";import React from"react";import{cn}from"../../../utils/bem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"../types";export const cnNavbarItem=cn("NavbarRailItem");export const spaceMap={m:{pV:"s",pH:"m",mB:"2xs"},s:{pV:"xs",pH:"m",mB:"2xs"}};const bageSizeMap={s:"xs",m:"s"},textSpaceMap={m:{mT:"xs"},s:{mT:"2xs"}},Item=forwardRefWithAs((a,b)=>{const{size:h=defaultNavbarPropSize,icon:c,status:d,form:i=defaultNavbarPropForm,active:e,label:f,as:j="div",className:g}=a,k=_objectWithoutProperties(a,_excluded);return React.createElement(j,Object.assign({},k,{ref:b,className:cnNavbarItem({size:h,form:i,active:e},[cnMixSpace(spaceMap[h]),g])}),React.createElement("div",{className:cnNavbarItem("IconWrapper")},c&&React.createElement(c,{size:h}),d&&React.createElement(Badge,{className:cnNavbarItem("Badge"),size:bageSizeMap[h],status:d,minified:!0})),f&&React.createElement(Text,{className:cnNavbarItem("Label",[cnMixSpace(textSpaceMap[h])]),align:"center",size:h,view:"primary",lineHeight:"m"},f))});export const NavbarRailItem=withTooltip({direction:"rightCenter",mode:"mouseover",possibleDirections:["rightCenter","rightDown","rightUp","rightStartDown","rightStartUp"],spareDirection:"rightCenter"})(Item);
2
2
  //# sourceMappingURL=NavbarRailItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavbarRailItem.js","names":["forwardRefWithAs","Badge","cnMixSpace","Text","withTooltip","React","cn","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbarItem","spaceMap","m","pV","pH","mB","s","bageSizeMap","textSpaceMap","mT","Item","props","ref","size","icon","Icon","status","form","active","label","as","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","c","minified","align","view","lineHeight","NavbarRailItem","direction","mode","possibleDirections","spareDirection"],"sources":["../../../../../../src/components/Navbar/NavbarRailItem/NavbarRailItem.tsx"],"sourcesContent":["import './NavbarRailItem.css';\n\nimport { forwardRefWithAs } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport { Badge } from '@consta/uikit/Badge';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport { Text } from '@consta/uikit/Text';\nimport { withTooltip } from '@consta/uikit/withTooltip';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarRailItemProps,\n} from '../types';\n\nconst cnNavbarItem = cn('NavbarRailItem');\n\nconst spaceMap = {\n m: { pV: 's', pH: 'm', mB: '2xs' },\n s: { pV: 'xs', pH: 'm', mB: '2xs' },\n} as const;\n\nconst bageSizeMap = {\n s: 'xs',\n m: 's',\n} as const;\n\nconst textSpaceMap = {\n m: { mT: 'xs' },\n s: { mT: '2xs' },\n} as const;\n\nconst Item = forwardRefWithAs<NavbarRailItemProps, 'div'>((props, ref) => {\n const {\n size = defaultNavbarPropSize,\n icon: Icon,\n status,\n form = defaultNavbarPropForm,\n active,\n label,\n as = 'div',\n className,\n ...otherProps\n } = props;\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n ref={ref}\n className={cnNavbarItem({ size, form, active }, [\n cnMixSpace(spaceMap[size]),\n className,\n ])}\n >\n <div className={cnNavbarItem('IconWrapper')}>\n {Icon && <Icon size={size} />}\n {status && (\n <Badge\n className={cnNavbarItem('Badge')}\n size={bageSizeMap[size]}\n status={status}\n minified\n />\n )}\n </div>\n {label && (\n <Text\n className={cnNavbarItem('Label', [cnMixSpace(textSpaceMap[size])])}\n align=\"center\"\n size={size}\n view=\"primary\"\n lineHeight=\"m\"\n >\n {label}\n </Text>\n )}\n </Tag>\n );\n});\n\nexport const NavbarRailItem = withTooltip({\n direction: 'rightCenter',\n mode: 'mouseover',\n possibleDirections: [\n 'rightCenter',\n 'rightDown',\n 'rightUp',\n 'rightStartDown',\n 'rightStartUp',\n ],\n spareDirection: 'rightCenter',\n})(Item);\n"],"mappings":"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"}
1
+ {"version":3,"file":"NavbarRailItem.js","names":["forwardRefWithAs","Badge","cnMixSpace","Text","withTooltip","React","cn","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbarItem","spaceMap","m","pV","pH","mB","s","bageSizeMap","textSpaceMap","mT","Item","props","ref","size","icon","Icon","status","form","active","label","as","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","c","minified","align","view","lineHeight","NavbarRailItem","direction","mode","possibleDirections","spareDirection"],"sources":["../../../../../../src/components/Navbar/NavbarRailItem/NavbarRailItem.tsx"],"sourcesContent":["import './NavbarRailItem.css';\n\nimport { forwardRefWithAs } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport { Badge } from '@consta/uikit/Badge';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport { Text } from '@consta/uikit/Text';\nimport { withTooltip } from '@consta/uikit/withTooltip';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarRailItemProps,\n} from '../types';\n\nexport const cnNavbarItem = cn('NavbarRailItem');\n\nexport const spaceMap = {\n m: { pV: 's', pH: 'm', mB: '2xs' },\n s: { pV: 'xs', pH: 'm', mB: '2xs' },\n} as const;\n\nconst bageSizeMap = {\n s: 'xs',\n m: 's',\n} as const;\n\nconst textSpaceMap = {\n m: { mT: 'xs' },\n s: { mT: '2xs' },\n} as const;\n\nconst Item = forwardRefWithAs<NavbarRailItemProps, 'div'>((props, ref) => {\n const {\n size = defaultNavbarPropSize,\n icon: Icon,\n status,\n form = defaultNavbarPropForm,\n active,\n label,\n as = 'div',\n className,\n ...otherProps\n } = props;\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n ref={ref}\n className={cnNavbarItem({ size, form, active }, [\n cnMixSpace(spaceMap[size]),\n className,\n ])}\n >\n <div className={cnNavbarItem('IconWrapper')}>\n {Icon && <Icon size={size} />}\n {status && (\n <Badge\n className={cnNavbarItem('Badge')}\n size={bageSizeMap[size]}\n status={status}\n minified\n />\n )}\n </div>\n {label && (\n <Text\n className={cnNavbarItem('Label', [cnMixSpace(textSpaceMap[size])])}\n align=\"center\"\n size={size}\n view=\"primary\"\n lineHeight=\"m\"\n >\n {label}\n </Text>\n )}\n </Tag>\n );\n});\n\nexport const NavbarRailItem = withTooltip({\n direction: 'rightCenter',\n mode: 'mouseover',\n possibleDirections: [\n 'rightCenter',\n 'rightDown',\n 'rightUp',\n 'rightStartDown',\n 'rightStartUp',\n ],\n spareDirection: 'rightCenter',\n})(Item);\n"],"mappings":"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"}
@@ -21,7 +21,9 @@ export declare function withDefaultGetters<ITEM = DefaultNavbarItem, GROUP = Def
21
21
  getGroupRightSide?: NavbarPropGetGroupRightSide<GROUP> | undefined;
22
22
  sortGroup?: import("./types").NavbarPropSortGroup<ITEM, GROUP> | undefined;
23
23
  getGroupAdditionalClassName?: import("./types").NavbarPropGetGroupAdditionalClassName<GROUP> | undefined;
24
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemLabel" | "getItemIcon" | "form" | "size" | "getItemAs" | "getItemAttributes" | "groups" | "getItemSubMenu" | "getItemActive" | "getGroupKey" | "getGroupLabel" | "getItemRightSide" | "getItemGroupKey" | "getItemStatus" | "getItemRef" | "getItemAdditionalClassName" | "getGroupRightSide" | "sortGroup" | "getGroupAdditionalClassName"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
24
+ getItemSubMenuOpen?: import("./types").NavbarPropGetItemSubMenuOpen<ITEM> | undefined;
25
+ onSubMenuToggle?: import("./types").NavbarPropOnSubMenuToggle<ITEM> | undefined;
26
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemLabel" | "getItemIcon" | "form" | "size" | "getItemAs" | "getItemAttributes" | "groups" | "getItemSubMenu" | "getItemActive" | "getGroupKey" | "getGroupLabel" | "getItemRightSide" | "getItemGroupKey" | "getItemStatus" | "getItemRef" | "getItemAdditionalClassName" | "getGroupRightSide" | "sortGroup" | "getGroupAdditionalClassName" | "getItemSubMenuOpen" | "onSubMenuToggle"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
25
27
  label: DefaultNavbarItem["label"];
26
28
  } ? {} : {
27
29
  getItemLabel: NavbarPropGetItemLabel<ITEM>;
@@ -4,7 +4,7 @@ import { AsAttributes, AsTags } from '@consta/uikit/__internal__/src/utils/types
4
4
  import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';
5
5
  import { BadgePropStatus } from '@consta/uikit/Badge';
6
6
  import { TooltipProps } from '@consta/uikit/Tooltip';
7
- import React from 'react';
7
+ import * as React from 'react';
8
8
  export declare const navbarPropSize: readonly ["s", "m"];
9
9
  export type NavbarPropSize = (typeof navbarPropSize)[number];
10
10
  export declare const defaultNavbarPropSize: NavbarPropSize;
@@ -49,6 +49,11 @@ export type NavbarPropGetItemRightIcon<ITEM> = (item: ITEM) => IconComponent | u
49
49
  export type NavbarPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;
50
50
  export type NavbarPropGetItemAttributes<ITEM> = (item: ITEM) => AsAttributes | undefined;
51
51
  export type NavbarPropSortGroup<ITEM, GROUP> = (a: Group<ITEM, GROUP>, b: Group<ITEM, GROUP>) => number;
52
+ export type NavbarPropGetItemSubMenuOpen<ITEM> = (item: ITEM) => boolean;
53
+ export type NavbarPropOnSubMenuToggle<ITEM> = (item: ITEM, params: {
54
+ open: boolean;
55
+ e?: React.MouseEvent;
56
+ }) => void;
52
57
  export type NavbarPropGetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;
53
58
  export type NavbarPropGetGroupAdditionalClassName<GROUP> = (item: GROUP) => string;
54
59
  export type NavbarPropGetGroupLabel<GROUP> = (item: GROUP) => string | undefined;
@@ -79,6 +84,8 @@ export type NavbarProps<ITEM = DefaultNavbarItem, GROUP = DefaultNavbarGroup> =
79
84
  getGroupRightSide?: NavbarPropGetGroupRightSide<GROUP>;
80
85
  sortGroup?: NavbarPropSortGroup<ITEM, GROUP>;
81
86
  getGroupAdditionalClassName?: NavbarPropGetGroupAdditionalClassName<GROUP>;
87
+ getItemSubMenuOpen?: NavbarPropGetItemSubMenuOpen<ITEM>;
88
+ onSubMenuToggle?: NavbarPropOnSubMenuToggle<ITEM>;
82
89
  }, HTMLDivElement> & (ITEM extends {
83
90
  label: DefaultNavbarItem['label'];
84
91
  } ? {} : {
@@ -126,6 +133,8 @@ export type NavbarItemProps<ITEM = DefaultNavbarItem> = PropsWithHTMLAttributesA
126
133
  getItemSubMenu: NavbarPropGetItemSubMenu<ITEM> | undefined;
127
134
  getItemAdditionalClassName: NavbarPropGetItemAdditionalClassName<ITEM> | undefined;
128
135
  level: number;
136
+ getItemSubMenuOpen: NavbarPropGetItemSubMenuOpen<ITEM> | undefined;
137
+ onSubMenuToggle: NavbarPropOnSubMenuToggle<ITEM> | undefined;
129
138
  }, HTMLDivElement>;
130
139
  export type NavbarItemComponent = <ITEM = DefaultNavbarItem>(props: NavbarItemProps<ITEM>) => React.ReactNode;
131
140
  export type NavbarRailItemProps = PropsWithHTMLAttributesAndRef<{
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["navbarPropSize","defaultNavbarPropSize","navbarPropForm","defaultNavbarPropForm"],"sources":["../../../../../src/components/Navbar/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport { Group } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport {\n AsAttributes,\n AsTags,\n} from '@consta/uikit/__internal__/src/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\nimport { BadgePropStatus } from '@consta/uikit/Badge';\nimport { TooltipProps } from '@consta/uikit/Tooltip';\nimport React from 'react';\n\nexport const navbarPropSize = ['s', 'm'] as const;\nexport type NavbarPropSize = (typeof navbarPropSize)[number];\nexport const defaultNavbarPropSize: NavbarPropSize = 'm';\n\nexport const navbarPropForm = ['default', 'brick', 'round'] as const;\nexport type NavbarPropForm = (typeof navbarPropForm)[number];\nexport const defaultNavbarPropForm = navbarPropForm[0];\n\nexport type DefaultNavbarGroup = {\n id: string | number;\n label?: string;\n rightSide?: React.ReactNode;\n};\n\nexport type DefaultNavbarItem = {\n label: string;\n status?: BadgePropStatus;\n groupId?: string | number;\n icon?: IconComponent;\n rightSide?: React.ReactNode;\n active?: boolean;\n subMenu?: DefaultNavbarItem[];\n};\n\nexport type DefaultNavbarRailItem = {\n label: string;\n icon: IconComponent;\n status?: BadgePropStatus;\n active?: boolean;\n tooltip?: React.ReactNode;\n};\n\nexport type NavbarPropOnItemClick<ITEM> = (\n item: ITEM,\n params: {\n e: React.MouseEvent;\n },\n) => void;\n\n// ITEMS\n\nexport type NavbarPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type NavbarRailPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type NavbarPropGetItemAdditionalClassName<ITEM> = (item: ITEM) => string;\n\nexport type NavbarPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type NavbarPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type NavbarPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type NavbarPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type NavbarRailPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent;\n\nexport type NavbarPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type NavbarPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type NavbarPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type NavbarPropSortGroup<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\n// GROUPS\nexport type NavbarPropGetGroupKey<GROUP> = (\n item: GROUP,\n) => string | number | undefined;\n\nexport type NavbarPropGetGroupAdditionalClassName<GROUP> = (\n item: GROUP,\n) => string;\n\nexport type NavbarPropGetGroupLabel<GROUP> = (\n item: GROUP,\n) => string | undefined;\nexport type NavbarPropGetGroupRightSide<GROUP> = (\n item: GROUP,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type NavbarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => BadgePropStatus | undefined;\n\nexport type NavbarPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;\nexport type NavbarRailPropGetItemTooltip<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarProps<\n ITEM = DefaultNavbarItem,\n GROUP = DefaultNavbarGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n onItemClick?: NavbarPropOnItemClick<ITEM>;\n getItemLabel?: NavbarPropGetItemLabel<ITEM>;\n getItemIcon?: NavbarPropGetItemIcon<ITEM>;\n getItemActive?: NavbarPropGetItemActive<ITEM>;\n getItemRightSide?: NavbarPropGetItemRightSide<ITEM>;\n getItemStatus?: NavbarPropGetItemStatus<ITEM>;\n getItemGroupKey?: NavbarPropGetItemGroupId<ITEM>;\n getItemAs?: NavbarPropGetItemAs<ITEM>;\n getItemAttributes?: NavbarPropGetItemAttributes<ITEM>;\n getItemRef?: NavbarPropGetItemRef<ITEM>;\n getItemSubMenu?: NavbarPropGetItemSubMenu<ITEM>;\n getItemAdditionalClassName?: NavbarPropGetItemAdditionalClassName<ITEM>;\n groups?: GROUP[];\n getGroupKey?: NavbarPropGetGroupKey<GROUP>;\n getGroupLabel?: NavbarPropGetGroupLabel<GROUP>;\n getGroupRightSide?: NavbarPropGetGroupRightSide<GROUP>;\n sortGroup?: NavbarPropSortGroup<ITEM, GROUP>;\n getGroupAdditionalClassName?: NavbarPropGetGroupAdditionalClassName<GROUP>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultNavbarItem['label'] }\n ? {}\n : { getItemLabel: NavbarPropGetItemLabel<ITEM> }) &\n (GROUP extends { id: DefaultNavbarGroup['id'] }\n ? {}\n : { getGroupKey: NavbarPropGetGroupKey<GROUP> });\n\nexport type NavbarComponent = <\n ITEM = DefaultNavbarItem,\n GROUP = DefaultNavbarGroup,\n>(\n props: NavbarProps<ITEM, GROUP>,\n) => React.ReactNode;\n\nexport type NavbarRailProps<ITEM = DefaultNavbarRailItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n onItemClick?: NavbarPropOnItemClick<ITEM>;\n getItemLabel?: NavbarRailPropGetItemLabel<ITEM>;\n getItemIcon?: NavbarRailPropGetItemIcon<ITEM>;\n getItemActive?: NavbarPropGetItemActive<ITEM>;\n getItemStatus?: NavbarPropGetItemStatus<ITEM>;\n getItemAs?: NavbarPropGetItemAs<ITEM>;\n getItemAttributes?: NavbarPropGetItemAttributes<ITEM>;\n getItemRef?: NavbarPropGetItemRef<ITEM>;\n getItemAdditionalClassName?: NavbarPropGetItemAdditionalClassName<ITEM>;\n getItemTooltip?: NavbarRailPropGetItemTooltip<ITEM>;\n tooltipProps?: Omit<\n TooltipProps,\n 'children' | 'position' | 'equalAnchorWidth' | 'anchorRef'\n >;\n },\n HTMLDivElement\n > &\n (ITEM extends { icon: DefaultNavbarRailItem['icon'] }\n ? {}\n : { getItemIcon: NavbarRailPropGetItemIcon<ITEM> });\n\nexport type NavbarRailComponent = <ITEM = DefaultNavbarRailItem>(\n props: NavbarRailProps<ITEM>,\n) => React.ReactNode;\n\nexport type NavbarItemProps<ITEM = DefaultNavbarItem> =\n PropsWithHTMLAttributesAndRef<\n {\n size: NavbarPropSize;\n item: ITEM;\n form: NavbarPropForm;\n onItemClick: NavbarPropOnItemClick<ITEM> | undefined;\n getItemLabel: NavbarPropGetItemLabel<ITEM>;\n getItemIcon: NavbarPropGetItemIcon<ITEM>;\n getItemActive: NavbarPropGetItemActive<ITEM>;\n getItemRightSide: NavbarPropGetItemRightSide<ITEM>;\n getItemStatus: NavbarPropGetItemStatus<ITEM> | undefined;\n getItemAs: NavbarPropGetItemAs<ITEM> | undefined;\n getItemAttributes: NavbarPropGetItemAttributes<ITEM> | undefined;\n getItemRef: NavbarPropGetItemRef<ITEM> | undefined;\n getItemSubMenu: NavbarPropGetItemSubMenu<ITEM> | undefined;\n getItemAdditionalClassName:\n | NavbarPropGetItemAdditionalClassName<ITEM>\n | undefined;\n level: number;\n },\n HTMLDivElement\n >;\n\nexport type NavbarItemComponent = <ITEM = DefaultNavbarItem>(\n props: NavbarItemProps<ITEM>,\n) => React.ReactNode;\n\nexport type NavbarRailItemProps = PropsWithHTMLAttributesAndRef<\n {\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n icon?: IconComponent;\n active?: boolean;\n status?: BadgePropStatus;\n label?: string;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAWA,MAAO,MAAM,CAAAA,cAAc,CAAG,CAAC,GAAG,CAAE,GAAG,CAAU,CAEjD,MAAO,MAAM,CAAAC,qBAAqC,CAAG,GAAG,CAExD,MAAO,MAAM,CAAAC,cAAc,CAAG,CAAC,SAAS,CAAE,OAAO,CAAE,OAAO,CAAU,CAEpE,MAAO,MAAM,CAAAC,qBAAqB,CAAGD,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","names":["navbarPropSize","defaultNavbarPropSize","navbarPropForm","defaultNavbarPropForm"],"sources":["../../../../../src/components/Navbar/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport { Group } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport {\n AsAttributes,\n AsTags,\n} from '@consta/uikit/__internal__/src/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\nimport { BadgePropStatus } from '@consta/uikit/Badge';\nimport { TooltipProps } from '@consta/uikit/Tooltip';\nimport * as React from 'react';\n\nexport const navbarPropSize = ['s', 'm'] as const;\nexport type NavbarPropSize = (typeof navbarPropSize)[number];\nexport const defaultNavbarPropSize: NavbarPropSize = 'm';\n\nexport const navbarPropForm = ['default', 'brick', 'round'] as const;\nexport type NavbarPropForm = (typeof navbarPropForm)[number];\nexport const defaultNavbarPropForm = navbarPropForm[0];\n\nexport type DefaultNavbarGroup = {\n id: string | number;\n label?: string;\n rightSide?: React.ReactNode;\n};\n\nexport type DefaultNavbarItem = {\n label: string;\n status?: BadgePropStatus;\n groupId?: string | number;\n icon?: IconComponent;\n rightSide?: React.ReactNode;\n active?: boolean;\n subMenu?: DefaultNavbarItem[];\n};\n\nexport type DefaultNavbarRailItem = {\n label: string;\n icon: IconComponent;\n status?: BadgePropStatus;\n active?: boolean;\n tooltip?: React.ReactNode;\n};\n\nexport type NavbarPropOnItemClick<ITEM> = (\n item: ITEM,\n params: {\n e: React.MouseEvent;\n },\n) => void;\n\n// ITEMS\n\nexport type NavbarPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type NavbarRailPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type NavbarPropGetItemAdditionalClassName<ITEM> = (item: ITEM) => string;\n\nexport type NavbarPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type NavbarPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type NavbarPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type NavbarPropGetItemLeftSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type NavbarRailPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent;\n\nexport type NavbarPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type NavbarPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\n\nexport type NavbarPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type NavbarPropSortGroup<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\nexport type NavbarPropGetItemSubMenuOpen<ITEM> = (item: ITEM) => boolean;\n\nexport type NavbarPropOnSubMenuToggle<ITEM> = (\n item: ITEM,\n params: {\n open: boolean;\n e?: React.MouseEvent;\n },\n) => void;\n\n// GROUPS\nexport type NavbarPropGetGroupKey<GROUP> = (\n item: GROUP,\n) => string | number | undefined;\n\nexport type NavbarPropGetGroupAdditionalClassName<GROUP> = (\n item: GROUP,\n) => string;\n\nexport type NavbarPropGetGroupLabel<GROUP> = (\n item: GROUP,\n) => string | undefined;\nexport type NavbarPropGetGroupRightSide<GROUP> = (\n item: GROUP,\n) => React.ReactNode | undefined;\n\nexport type NavbarPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type NavbarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => BadgePropStatus | undefined;\n\nexport type NavbarPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;\nexport type NavbarRailPropGetItemTooltip<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type NavbarProps<\n ITEM = DefaultNavbarItem,\n GROUP = DefaultNavbarGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n onItemClick?: NavbarPropOnItemClick<ITEM>;\n getItemLabel?: NavbarPropGetItemLabel<ITEM>;\n getItemIcon?: NavbarPropGetItemIcon<ITEM>;\n getItemActive?: NavbarPropGetItemActive<ITEM>;\n getItemRightSide?: NavbarPropGetItemRightSide<ITEM>;\n getItemStatus?: NavbarPropGetItemStatus<ITEM>;\n getItemGroupKey?: NavbarPropGetItemGroupId<ITEM>;\n getItemAs?: NavbarPropGetItemAs<ITEM>;\n getItemAttributes?: NavbarPropGetItemAttributes<ITEM>;\n getItemRef?: NavbarPropGetItemRef<ITEM>;\n getItemSubMenu?: NavbarPropGetItemSubMenu<ITEM>;\n getItemAdditionalClassName?: NavbarPropGetItemAdditionalClassName<ITEM>;\n groups?: GROUP[];\n getGroupKey?: NavbarPropGetGroupKey<GROUP>;\n getGroupLabel?: NavbarPropGetGroupLabel<GROUP>;\n getGroupRightSide?: NavbarPropGetGroupRightSide<GROUP>;\n sortGroup?: NavbarPropSortGroup<ITEM, GROUP>;\n getGroupAdditionalClassName?: NavbarPropGetGroupAdditionalClassName<GROUP>;\n getItemSubMenuOpen?: NavbarPropGetItemSubMenuOpen<ITEM>;\n onSubMenuToggle?: NavbarPropOnSubMenuToggle<ITEM>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultNavbarItem['label'] }\n ? {}\n : { getItemLabel: NavbarPropGetItemLabel<ITEM> }) &\n (GROUP extends { id: DefaultNavbarGroup['id'] }\n ? {}\n : { getGroupKey: NavbarPropGetGroupKey<GROUP> });\n\nexport type NavbarComponent = <\n ITEM = DefaultNavbarItem,\n GROUP = DefaultNavbarGroup,\n>(\n props: NavbarProps<ITEM, GROUP>,\n) => React.ReactNode;\n\nexport type NavbarRailProps<ITEM = DefaultNavbarRailItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n onItemClick?: NavbarPropOnItemClick<ITEM>;\n getItemLabel?: NavbarRailPropGetItemLabel<ITEM>;\n getItemIcon?: NavbarRailPropGetItemIcon<ITEM>;\n getItemActive?: NavbarPropGetItemActive<ITEM>;\n getItemStatus?: NavbarPropGetItemStatus<ITEM>;\n getItemAs?: NavbarPropGetItemAs<ITEM>;\n getItemAttributes?: NavbarPropGetItemAttributes<ITEM>;\n getItemRef?: NavbarPropGetItemRef<ITEM>;\n getItemAdditionalClassName?: NavbarPropGetItemAdditionalClassName<ITEM>;\n getItemTooltip?: NavbarRailPropGetItemTooltip<ITEM>;\n tooltipProps?: Omit<\n TooltipProps,\n 'children' | 'position' | 'equalAnchorWidth' | 'anchorRef'\n >;\n },\n HTMLDivElement\n > &\n (ITEM extends { icon: DefaultNavbarRailItem['icon'] }\n ? {}\n : { getItemIcon: NavbarRailPropGetItemIcon<ITEM> });\n\nexport type NavbarRailComponent = <ITEM = DefaultNavbarRailItem>(\n props: NavbarRailProps<ITEM>,\n) => React.ReactNode;\n\nexport type NavbarItemProps<ITEM = DefaultNavbarItem> =\n PropsWithHTMLAttributesAndRef<\n {\n size: NavbarPropSize;\n item: ITEM;\n form: NavbarPropForm;\n onItemClick: NavbarPropOnItemClick<ITEM> | undefined;\n getItemLabel: NavbarPropGetItemLabel<ITEM>;\n getItemIcon: NavbarPropGetItemIcon<ITEM>;\n getItemActive: NavbarPropGetItemActive<ITEM>;\n getItemRightSide: NavbarPropGetItemRightSide<ITEM>;\n getItemStatus: NavbarPropGetItemStatus<ITEM> | undefined;\n getItemAs: NavbarPropGetItemAs<ITEM> | undefined;\n getItemAttributes: NavbarPropGetItemAttributes<ITEM> | undefined;\n getItemRef: NavbarPropGetItemRef<ITEM> | undefined;\n getItemSubMenu: NavbarPropGetItemSubMenu<ITEM> | undefined;\n getItemAdditionalClassName:\n | NavbarPropGetItemAdditionalClassName<ITEM>\n | undefined;\n level: number;\n getItemSubMenuOpen: NavbarPropGetItemSubMenuOpen<ITEM> | undefined;\n onSubMenuToggle: NavbarPropOnSubMenuToggle<ITEM> | undefined;\n },\n HTMLDivElement\n >;\n\nexport type NavbarItemComponent = <ITEM = DefaultNavbarItem>(\n props: NavbarItemProps<ITEM>,\n) => React.ReactNode;\n\nexport type NavbarRailItemProps = PropsWithHTMLAttributesAndRef<\n {\n size?: NavbarPropSize;\n form?: NavbarPropForm;\n icon?: IconComponent;\n active?: boolean;\n status?: BadgePropStatus;\n label?: string;\n },\n HTMLDivElement\n>;\n"],"mappings":"AAWA,MAAO,MAAM,CAAAA,cAAc,CAAG,CAAC,GAAG,CAAE,GAAG,CAAU,CAEjD,MAAO,MAAM,CAAAC,qBAAqC,CAAG,GAAG,CAExD,MAAO,MAAM,CAAAC,cAAc,CAAG,CAAC,SAAS,CAAE,OAAO,CAAE,OAAO,CAAU,CAEpE,MAAO,MAAM,CAAAC,qBAAqB,CAAGD,cAAc,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import format from"date-fns/format";import formatDistanceToNow from"date-fns/formatDistanceToNow";import ruLocale from"date-fns/locale/ru";export const defaultDateFormat=a=>{const b=new Date;return 36e5>b.getTime()-a.getTime()?formatDistanceToNow(a,{locale:ruLocale,addSuffix:!0}):format(b,"dd.MM.yyyy")===format(a,"dd.MM.yyyy")?format(a,"HH:mm"):format(a,"dd.MM.yyyy HH:mm")};
1
+ import{format,formatDistanceToNow}from"date-fns";import{ru as ruLocale}from"date-fns/locale";export const defaultDateFormat=a=>{const b=new Date;return 36e5>b.getTime()-a.getTime()?formatDistanceToNow(a,{locale:ruLocale,addSuffix:!0}):format(b,"dd.MM.yyyy")===format(a,"dd.MM.yyyy")?format(a,"HH:mm"):format(a,"dd.MM.yyyy HH:mm")};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["format","formatDistanceToNow","ruLocale","defaultDateFormat","date","currentDate","Date","getTime","locale","addSuffix"],"sources":["../../../../../../src/components/Notifications/NotificationsItemFooter/helpers.ts"],"sourcesContent":["import format from 'date-fns/format';\nimport formatDistanceToNow from 'date-fns/formatDistanceToNow';\nimport ruLocale from 'date-fns/locale/ru';\n\nexport const defaultDateFormat = (date: Date): string => {\n const currentDate = new Date();\n\n if (currentDate.getTime() - date.getTime() < 3600000) {\n return formatDistanceToNow(date, { locale: ruLocale, addSuffix: true });\n }\n\n if (format(currentDate, 'dd.MM.yyyy') === format(date, 'dd.MM.yyyy')) {\n return format(date, 'HH:mm');\n }\n\n return format(date, 'dd.MM.yyyy HH:mm');\n};\n"],"mappings":"AAAA,MAAO,CAAAA,MAAM,KAAM,iBAAiB,CACpC,MAAO,CAAAC,mBAAmB,KAAM,8BAA8B,CAC9D,MAAO,CAAAC,QAAQ,KAAM,oBAAoB,CAEzC,MAAO,MAAM,CAAAC,iBAAiB,CAAIC,CAAU,EAAa,CACvD,KAAM,CAAAC,CAAW,CAAG,GAAI,CAAAC,IAAM,CAAC,MAEc,KAAO,CAAhDD,CAAW,CAACE,OAAO,CAAC,CAAC,CAAGH,CAAI,CAACG,OAAO,CAAC,CAAW,CAC3CN,mBAAmB,CAACG,CAAI,CAAE,CAAEI,MAAM,CAAEN,QAAQ,CAAEO,SAAS,GAAO,CAAC,CAAC,CAGrET,MAAM,CAACK,CAAW,CAAE,YAAY,CAAC,GAAKL,MAAM,CAACI,CAAI,CAAE,YAAY,CAAC,CAC3DJ,MAAM,CAACI,CAAI,CAAE,OAAO,CAAC,CAGvBJ,MAAM,CAACI,CAAI,CAAE,kBAAkB,CACxC,CAAC"}
1
+ {"version":3,"file":"helpers.js","names":["format","formatDistanceToNow","ru","ruLocale","defaultDateFormat","date","currentDate","Date","getTime","locale","addSuffix"],"sources":["../../../../../../src/components/Notifications/NotificationsItemFooter/helpers.ts"],"sourcesContent":["import { format, formatDistanceToNow } from 'date-fns';\nimport { ru as ruLocale } from 'date-fns/locale';\n\nexport const defaultDateFormat = (date: Date): string => {\n const currentDate = new Date();\n\n if (currentDate.getTime() - date.getTime() < 3600000) {\n return formatDistanceToNow(date, { locale: ruLocale, addSuffix: true });\n }\n\n if (format(currentDate, 'dd.MM.yyyy') === format(date, 'dd.MM.yyyy')) {\n return format(date, 'HH:mm');\n }\n\n return format(date, 'dd.MM.yyyy HH:mm');\n};\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,mBAAmB,KAAQ,UAAU,CACtD,OAASC,EAAE,GAAI,CAAAC,QAAQ,KAAQ,iBAAiB,CAEhD,MAAO,MAAM,CAAAC,iBAAiB,CAAIC,CAAU,EAAa,CACvD,KAAM,CAAAC,CAAW,CAAG,GAAI,CAAAC,IAAM,CAAC,MAEc,KAAO,CAAhDD,CAAW,CAACE,OAAO,CAAC,CAAC,CAAGH,CAAI,CAACG,OAAO,CAAC,CAAW,CAC3CP,mBAAmB,CAACI,CAAI,CAAE,CAAEI,MAAM,CAAEN,QAAQ,CAAEO,SAAS,GAAO,CAAC,CAAC,CAGrEV,MAAM,CAACM,CAAW,CAAE,YAAY,CAAC,GAAKN,MAAM,CAACK,CAAI,CAAE,YAAY,CAAC,CAC3DL,MAAM,CAACK,CAAI,CAAE,OAAO,CAAC,CAGvBL,MAAM,CAACK,CAAI,CAAE,kBAAkB,CACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consta/header",
3
- "version": "3.0.2",
3
+ "version": "3.2.0",
4
4
  "files": [
5
5
  "*",
6
6
  "!**/__mocks__",
@@ -20,8 +20,8 @@
20
20
  "peerDependencies": {
21
21
  "@bem-react/classname": "^1.6.0",
22
22
  "@bem-react/classnames": "^1.3.10",
23
- "@consta/icons": "^1.1.1",
24
- "@consta/uikit": "^5.22.0",
25
- "date-fns": "^2.30.0"
23
+ "@consta/icons": "^1.7.0",
24
+ "@consta/uikit": "^5.32.0",
25
+ "date-fns": "^4.1.0"
26
26
  }
27
27
  }
@@ -1,2 +0,0 @@
1
- import { NavbarComponent } from '../types';
2
- export declare const Navbar: NavbarComponent;
@@ -1,2 +0,0 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","groups","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","sortGroup","className","getItemStatus"];import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{renderHeader}from"@consta/uikit/ListCanary";import React,{forwardRef,useMemo}from"react";import{withDefaultGetters}from"../helpers";import{defaultNavbarPropForm,defaultNavbarPropSize}from"../types";import{NavbarItem}from".";const NavbarRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,onItemClick:e,groups:f,getItemLabel:g,getItemIcon:h,getItemRightSide:i,getItemAs:j,getItemAttributes:k,getItemGroupKey:l,getItemActive:m,getItemRef:n,getItemAdditionalClassName:o,getGroupKey:p,getGroupLabel:q,getGroupRightSide:r,getGroupAdditionalClassName:s,size:x=defaultNavbarPropSize,form:y=defaultNavbarPropForm,getItemSubMenu:t,sortGroup:u,className:v,getItemStatus:w}=c,z=_objectWithoutProperties(c,_excluded),A=useMemo(()=>getGroups(d,l,f,p,u),[f,d]);return React.createElement("div",Object.assign({},z,{ref:b,className:v}),A.map((a,b)=>React.createElement(React.Fragment,{key:a.key},renderHeader(a.group&&q(a.group),0===b,x,a.group&&r(a.group),{pV:"xs",mH:"m",mB:"2xs"},void 0,s&&a.group&&s(a.group)),a.items.map((b,c)=>React.createElement(React.Fragment,{key:`${a.key}-${c}`},React.createElement(NavbarItem,{size:x,item:b,level:0,onItemClick:e,getItemLabel:g,getItemActive:m,getItemAdditionalClassName:o,getItemAs:j,getItemAttributes:k,getItemIcon:h,getItemRef:n,getItemRightSide:i,getItemSubMenu:t,form:y,getItemStatus:w}))))))};export const Navbar=forwardRef(NavbarRender);
2
- //# sourceMappingURL=NavbarDrawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavbarDrawer.js","names":["getGroups","renderHeader","React","forwardRef","useMemo","withDefaultGetters","defaultNavbarPropForm","defaultNavbarPropSize","NavbarItem","NavbarRender","props","ref","c","items","onItemClick","groups","groupsProp","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","sortGroup","className","getItemStatus","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","map","group","groupIndex","Fragment","key","pV","mH","mB","item","index","level","Navbar"],"sources":["../../../../../../src/components/Navbar/NavbarItem/NavbarDrawer.tsx"],"sourcesContent":["import { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { renderHeader } from '@consta/uikit/ListCanary';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { withDefaultGetters } from '../helpers';\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarComponent,\n NavbarProps,\n} from '../types';\nimport { NavbarItem } from '.';\n\nconst NavbarRender = (props: NavbarProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n onItemClick,\n groups: groupsProp,\n getItemLabel,\n getItemIcon,\n getItemRightSide,\n getItemAs,\n getItemAttributes,\n getItemGroupKey,\n getItemActive,\n getItemRef,\n getItemAdditionalClassName,\n getGroupKey,\n getGroupLabel,\n getGroupRightSide,\n getGroupAdditionalClassName,\n size = defaultNavbarPropSize,\n form = defaultNavbarPropForm,\n getItemSubMenu,\n sortGroup,\n className,\n getItemStatus,\n ...otherProps\n } = withDefaultGetters(props);\n\n const groups = useMemo(\n () => getGroups(items, getItemGroupKey, groupsProp, getGroupKey, sortGroup),\n [groupsProp, items],\n );\n\n return (\n <div {...otherProps} ref={ref} className={className}>\n {groups.map((group, groupIndex) => {\n return (\n <React.Fragment key={group.key}>\n {renderHeader(\n group.group && getGroupLabel(group.group),\n groupIndex === 0,\n size,\n group.group && getGroupRightSide(group.group),\n { pV: 'xs', mH: 'm', mB: '2xs' },\n undefined,\n getGroupAdditionalClassName &&\n group.group &&\n getGroupAdditionalClassName(group.group),\n )}\n {group.items.map((item, index) => {\n return (\n <React.Fragment key={`${group.key}-${index}`}>\n <NavbarItem\n size={size}\n item={item}\n level={0}\n onItemClick={onItemClick}\n getItemLabel={getItemLabel}\n getItemActive={getItemActive}\n getItemAdditionalClassName={getItemAdditionalClassName}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemIcon={getItemIcon}\n getItemRef={getItemRef}\n getItemRightSide={getItemRightSide}\n getItemSubMenu={getItemSubMenu}\n form={form}\n getItemStatus={getItemStatus}\n />\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const Navbar = forwardRef(NavbarRender) as NavbarComponent;\n"],"mappings":"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"}