@next-bricks/nav 0.2.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/2108.68cb4c94.js +2 -0
- package/dist/chunks/2108.68cb4c94.js.map +1 -0
- package/dist/chunks/{327.bc947d20.js → 327.fd453bd5.js} +3 -3
- package/dist/chunks/327.fd453bd5.js.map +1 -0
- package/dist/chunks/{3532.c0eeabdd.js → 3532.69deed83.js} +2 -2
- package/dist/chunks/{3532.c0eeabdd.js.map → 3532.69deed83.js.map} +1 -1
- package/dist/chunks/{4969.0688e35c.js → 4969.fcc12546.js} +2 -2
- package/dist/chunks/{4969.0688e35c.js.map → 4969.fcc12546.js.map} +1 -1
- package/dist/chunks/4991.f8554fea.js +2 -0
- package/dist/chunks/4991.f8554fea.js.map +1 -0
- package/dist/chunks/{5636.ab9986cb.js → 5636.8ec660f7.js} +2 -2
- package/dist/chunks/{5636.ab9986cb.js.map → 5636.8ec660f7.js.map} +1 -1
- package/dist/chunks/{6051.18d57d32.js → 6051.302804c7.js} +2 -2
- package/dist/chunks/6051.302804c7.js.map +1 -0
- package/dist/chunks/{6205.24aa80a6.js → 6205.58037d6e.js} +2 -2
- package/dist/chunks/{6205.24aa80a6.js.map → 6205.58037d6e.js.map} +1 -1
- package/dist/chunks/{7164.01315865.js → 7164.769212f8.js} +2 -2
- package/dist/chunks/{7164.01315865.js.map → 7164.769212f8.js.map} +1 -1
- package/dist/chunks/8588.e57d8469.js +2 -0
- package/dist/chunks/8588.e57d8469.js.map +1 -0
- package/dist/chunks/{9102.672a13cf.js → 9102.28271a75.js} +3 -3
- package/dist/chunks/{9102.672a13cf.js.map → 9102.28271a75.js.map} +1 -1
- package/dist/chunks/{eo-launchpad-button.508b415f.js → eo-launchpad-button.6b2c839b.js} +2 -2
- package/dist/chunks/{eo-launchpad-button.508b415f.js.map → eo-launchpad-button.6b2c839b.js.map} +1 -1
- package/dist/chunks/{eo-nav-menu.fd245124.js → eo-nav-menu.632f5a8a.js} +3 -3
- package/dist/chunks/{eo-nav-menu.fd245124.js.map → eo-nav-menu.632f5a8a.js.map} +1 -1
- package/dist/chunks/main.f6e836d9.js +2 -0
- package/dist/chunks/{main.de222b79.js.map → main.f6e836d9.js.map} +1 -1
- package/dist/index.e3ed5ab6.js +2 -0
- package/dist/{index.9eee3280.js.map → index.e3ed5ab6.js.map} +1 -1
- package/package.json +3 -3
- package/dist/chunks/2108.2f50e77e.js +0 -2
- package/dist/chunks/2108.2f50e77e.js.map +0 -1
- package/dist/chunks/327.bc947d20.js.map +0 -1
- package/dist/chunks/4991.69bc7edd.js +0 -2
- package/dist/chunks/4991.69bc7edd.js.map +0 -1
- package/dist/chunks/6051.18d57d32.js.map +0 -1
- package/dist/chunks/8588.f7679fd8.js +0 -2
- package/dist/chunks/8588.f7679fd8.js.map +0 -1
- package/dist/chunks/main.de222b79.js +0 -2
- package/dist/index.9eee3280.js +0 -2
- /package/dist/chunks/{327.bc947d20.js.LICENSE.txt → 327.fd453bd5.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9102.672a13cf.js.LICENSE.txt → 9102.28271a75.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-nav-menu.fd245124.js.LICENSE.txt → eo-nav-menu.632f5a8a.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4969],{4969:(e,t,n)=>{n.r(t);var l,a,i,r,o,s,c,m,u,d=n(4795),p=n(3395),h=n(381),v=n(687),y=n(8390),g=n(7896),w=n(8657),b=n.n(w),E=n(5366),f=n(
|
|
2
|
-
//# sourceMappingURL=4969.
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4969],{4969:(e,t,n)=>{n.r(t);var l,a,i,r,o,s,c,m,u,d=n(4795),p=n(3395),h=n(381),v=n(687),y=n(8390),g=n(7896),w=n(8657),b=n.n(w),E=n(5366),f=n(4009),k=n(4511),x=n(9800),T=n(3808),N=n(7993),Z=(n(2230),n(2779)),D=n.n(Z),K=n(1880),R=n(9705),C=n(2598),I=n(8462),_=n(8101),{defineElement:M,property:S}=(0,E.createDecorators)(),F=(0,k.wrapBrick)("eo-menu-item"),L=(0,k.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});function V(e){var{item:t}=e;return(0,T.cl)(t,e.topData)?b().createElement(z,(0,g.Z)({},e,{item:t})):(0,T.ty)(t)?b().createElement(G,(0,g.Z)({},e,{item:t})):b().createElement(W,(0,g.Z)({},e,{item:t}))}function W(e){var{item:t,index:n,hidden:l,showTooltip:a,selectedKey:i=[]}=e;return b().createElement(F,{"data-index":n,className:l?"overflow-menu-item":"",key:t.key,title:a?t.text:"",active:!!t.key&&i.includes(t.key)},(0,T.nC)(t,{width:"100%"}))}var A,B=e=>{var t,n=null!==(t=u)&&void 0!==t?t:u=window.innerWidth-document.body.clientWidth;document.body.style.paddingRight=e.detail?n+"px":"",document.body.style.overflow=e.detail?"hidden":"",document.body.style.touchAction=e.detail?"none":""};function z(e){var t,{index:n,hidden:l,item:a,topData:i,showTooltip:r,selectedKey:o=[],overflow:s}=e;return(null===(t=a.items)||void 0===t?void 0:t.length)>0?b().createElement(L,{"data-index":n,className:D()("popover",{subprime:!i,"overflow-menu-item":l}),trigger:"hover",placement:i?"bottom-start":"right-start",distance:0,anchorDisplay:"block",strategy:"fixed"},b().createElement(F,{className:"sub-menu-item-label",key:a.key,slot:"anchor",title:r?a.title:""},(0,T.cx)(a,!i)),b().createElement("div",{className:D()("sub-menu-wrapper",{"overflow-menu-wrapper":s})},a.items.map((e=>b().createElement(b().Fragment,{key:e.key},b().createElement(V,{item:e,selectedKey:o,showTooltip:r})))))):null}function G(e){var t,{item:n,showTooltip:l,selectedKey:a=[]}=e;return(null===(t=n.items)||void 0===t?void 0:t.length)>0?"category"===n.childLayout?b().createElement(O,{item:n,selectedKey:a,showTooltip:l,placement:"right-start",anchorDisplay:"block"}):"siteMap"===n.childLayout?b().createElement(X,{item:n,selectedKey:a,showTooltip:l,placement:"right-start",anchorDisplay:"block",topData:!1}):b().createElement(b().Fragment,null,b().createElement("div",{className:"group-label"},n.title),b().createElement("div",{className:"group-wrapper"},n.items.map((e=>b().createElement(b().Fragment,{key:e.key},b().createElement(V,{item:e,showTooltip:l,selectedKey:a})))))):null}function O(e){var t,{index:n,hidden:l,item:a,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:s}=e;return(null===(t=a.items)||void 0===t?void 0:t.length)>0?b().createElement(L,{"data-index":n,className:D()("three-level-menu-popover","popover",{"overflow-menu-item":l}),trigger:"hover",placement:o,distance:0,key:a.key,strategy:"fixed",anchorDisplay:s,beforeVisibleChange:B},b().createElement(F,{className:"sub-menu-item-label",key:a.key,slot:"anchor",title:r?a.title:""},(0,T.cx)(a)),b().createElement("div",{className:"sub-menu-wrapper"},b().createElement(K.m,{menuItem:a,selectedKey:i}))):null}function X(e){var t,{index:n,hidden:l,item:a,selectedKey:i=[],showTooltip:r,placement:o="bottom-start",anchorDisplay:s,topData:c}=e,[m,u]=(0,w.useState)();return(null===(t=a.items)||void 0===t?void 0:t.length)>0?b().createElement(L,{"data-index":n,className:D()("popover",{"overflow-menu-item":l}),trigger:"hover",placement:o,distance:0,key:a.key,strategy:"fixed",anchorDisplay:s,beforeVisibleChange:e=>{u(e.detail),B(e)}},b().createElement(F,{className:"sub-menu-item-label",key:a.key,slot:"anchor",title:r?a.title:""},(0,T.cx)(a)),b().createElement("div",{className:D()("sub-menu-sit-map-wrapper",{"in-group-site-map":!c}),onClick:e=>e.stopPropagation()},b().createElement(R.hX,{menuGroup:a,selectedKey:i,visible:m}))):null}a=M("eo-nav-menu",{styleTexts:[C.Z,I.Z,_.Z,x.Z]}),i=S({attribute:!1}),o=S({type:Boolean});var H=new WeakMap,P=new WeakMap;class j extends k.ReactNextElement{constructor(){super(...arguments),(0,p.Z)(this,H,{writable:!0,value:(c(this),r(this))}),(0,p.Z)(this,P,{writable:!0,value:s(this)})}get menu(){return(0,v.Z)(this,H)}set menu(e){(0,h.Z)(this,H,e)}get showTooltip(){return(0,v.Z)(this,P)}set showTooltip(e){(0,h.Z)(this,P,e)}render(){return b().createElement(q,{menu:this.menu,showTooltip:this.showTooltip})}}function q(e){var t,n,{menu:l,showTooltip:a}=e,i=(0,f.getHistory)(),r=(0,w.useRef)(null),[o,s]=(0,w.useState)(i.location),[c,m]=(0,w.useState)(Number.MAX_SAFE_INTEGER),{pathname:u,search:p}=o,[h,v]=(0,w.useState)([]),y=function(){var e=(0,d.Z)((function*(){var e,{selectedKeys:t}=(0,N.OZ)(null!==(e=null==l?void 0:l.menuItems)&&void 0!==e?e:[],u,p,"");v(t)}));return function(){return e.apply(this,arguments)}}();(0,w.useEffect)((()=>{var e=i.listen((e=>{s(e)}));return y(),e}),[]),(0,w.useEffect)((()=>{if(r.current){var e=new ResizeObserver((()=>{if(r.current){var e,{width:t}=null!==(e=r.current.getClientRects()[0])&&void 0!==e?e:{},n=r.current.childNodes;if(n.length&&t){for(var l=t,a=n.length,i=0;i<n.length;i++){var{width:o,height:s}=n[i].getClientRects()[0];if(!s&&l-40<0){a=i-1;break}if((l=l-o-(i>0?8:0))<0){a=i;break}}m(a<0?0:a)}}}));return e.observe(r.current),()=>{e.disconnect()}}}),[]);var g=(0,w.useMemo)((()=>({type:"subMenu",title:"···",items:null==l?void 0:l.menuItems.slice(c,l.menuItems.length)})),[null==l?void 0:l.menuItems,c]);return b().createElement("div",{ref:r,className:"nav-menu-wrapper"},null==l?void 0:l.menuItems.map(((e,t)=>{var n,l=c<=t;return b().createElement(b().Fragment,{key:e.key},(0,T.cl)(e,!0)&&"category"===e.childLayout&&null!==(n=e.items)&&void 0!==n&&n.length?b().createElement(O,{index:t,hidden:l,item:e,showTooltip:a,selectedKey:h}):"group"===e.type&&"siteMap"===e.childLayout?b().createElement(X,{index:t,hidden:l,item:e,showTooltip:a,selectedKey:h,topData:!0}):b().createElement(V,{index:t,hidden:l,item:e,showTooltip:a,selectedKey:h,topData:!0}))})),b().createElement(V,{hidden:c>(null!==(t=null==l||null===(n=l.menuItems)||void 0===n?void 0:n.length)&&void 0!==t?t:0),item:g,showTooltip:a,selectedKey:h,overflow:!0,topData:!0}))}m=j,({e:[r,s,c],c:[A,l]}=(0,y.Z)(m,[[i,1,"menu"],[o,1,"showTooltip"]],[a],0,void 0,k.ReactNextElement)),l();var J,Q,U,Y=n(7947),$=n(5830),ee=n(4497),te=n(2152);(0,$.initializeReactI18n)(ee.NS,ee.k);var ne,{defineElement:le}=(0,E.createDecorators)();Q=le("eo-launchpad-button",{styleTexts:[te.Z]});class ae extends k.ReactNextElement{render(){return b().createElement(Y.L,null)}}U=ae,[ne,J]=(0,y.Z)(U,[],[Q],0,void 0,k.ReactNextElement).c,J()}}]);
|
|
2
|
+
//# sourceMappingURL=4969.fcc12546.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4969.0688e35c.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///./src/launchpad/index.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./nav-menu.shadow.css\";\nimport { LocationDescriptor, UnregisterCallback } from \"history\";\nimport type { SidebarMenu } from \"@next-bricks/basic/menu\";\nimport type {\n MenuItem as MenuItemComponent,\n MenuComponentProps,\n} from \"@next-bricks/basic/menu-item\";\nimport {\n isSimple,\n isSubMenu,\n isGroup,\n renderLinkCom,\n renderSpanCom,\n} from \"./utils.js\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport \"@next-core/theme\";\nimport classnames from \"classnames\";\nimport { ThreeLevelMenuPopoverContent } from \"./ThreeLevelMenuPopoverContent.js\";\nimport { SiteMapItem } from \"./site-map/SiteMapItem.js\";\nimport SiteMapStyleText from \"../nav-menu/site-map/SiteMapItem.shadow.css\";\nimport ItemTagStyleText from \"../nav-menu/site-map/ItemTag.shadow.css\";\nimport GroupItemStyleText from \"../nav-menu/site-map/GroupItem.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedMenuItem = wrapBrick<MenuItemComponent, MenuComponentProps>(\n \"eo-menu-item\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\nconst GAP_WIDTH = 8;\n\ninterface NavMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\ninterface MenuItemComProps {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuItem;\n topData?: boolean;\n selectedKey?: string[];\n showTooltip?: boolean;\n overflow?: boolean;\n}\ninterface SimpleMenuItemComProps extends MenuItemComProps {\n item: SidebarMenuSimpleItem;\n}\ninterface MenuGroupComProps extends MenuItemComProps {\n item: SidebarMenuGroup;\n}\nfunction RenderMenuItemCom(props: MenuItemComProps) {\n const { item } = props;\n return isSubMenu(item as SidebarMenuGroup, props.topData) ? (\n <SubMenuItemCom {...props} item={item as SidebarMenuGroup}></SubMenuItemCom>\n ) : isGroup(item) ? (\n <GroupMenuItemCom {...props} item={item as SidebarMenuGroup} />\n ) : (\n <SimpleMenuItemCom\n {...props}\n item={item as SidebarMenuSimpleItem}\n ></SimpleMenuItemCom>\n );\n}\nfunction SimpleMenuItemCom(props: SimpleMenuItemComProps) {\n const { item, index, hidden, showTooltip, selectedKey = [] } = props;\n return (\n <WrappedMenuItem\n data-index={index}\n className={hidden ? \"overflow-menu-item\" : \"\"}\n key={item.key}\n title={showTooltip ? item.text : \"\"}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n {renderLinkCom(item, { width: \"100%\" })}\n </WrappedMenuItem>\n );\n}\n\nlet scrollWidth: number;\n// istanbul ignore next;\nconst handlePopupVisibleChange = (event: CustomEvent<boolean>) => {\n // 当用户设置滚动条一直显示时,来回切换 overflow: hidden 会导致滚动条显示或隐藏\n // 造成页面宽度变化而导致的抖动的问题\n const paddingRight =\n scrollWidth ??\n (scrollWidth = window.innerWidth - document.body.clientWidth);\n\n document.body.style.paddingRight = event.detail ? paddingRight + \"px\" : \"\";\n document.body.style.overflow = event.detail ? \"hidden\" : \"\";\n document.body.style.touchAction = event.detail ? \"none\" : \"\";\n};\n\nfunction SubMenuItemCom({\n index,\n hidden,\n item,\n topData,\n showTooltip,\n selectedKey = [],\n overflow,\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n subprime: !topData,\n \"overflow-menu-item\": hidden,\n })}\n trigger=\"hover\"\n placement={topData ? \"bottom-start\" : \"right-start\"}\n distance={0}\n anchorDisplay=\"block\"\n strategy=\"fixed\"\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item, !topData)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-wrapper\", {\n \"overflow-menu-wrapper\": overflow,\n })}\n >\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n />\n </React.Fragment>\n ))}\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction GroupMenuItemCom({\n item,\n showTooltip,\n selectedKey = [],\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n item.childLayout === \"category\" ? (\n <ThreeLevelMenuCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n />\n ) : (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n topData={false}\n />\n ) : (\n <>\n <div className=\"group-label\">{item.title}</div>\n <div className=\"group-wrapper\">\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n </React.Fragment>\n );\n })}\n </div>\n </>\n )\n ) : null;\n}\n\nfunction ThreeLevelMenuCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n}) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"three-level-menu-popover\", \"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handlePopupVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div className=\"sub-menu-wrapper\">\n <ThreeLevelMenuPopoverContent\n menuItem={item}\n selectedKey={selectedKey}\n ></ThreeLevelMenuPopoverContent>\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction SitMapMenCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n topData,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n topData?: boolean;\n}) {\n const [visible, setVisible] = useState<boolean>();\n\n const handleVisibleChange = (event: CustomEvent<boolean>): void => {\n setVisible(event.detail);\n handlePopupVisibleChange(event);\n };\n\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handleVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-sit-map-wrapper\", {\n \"in-group-site-map\": !topData,\n })}\n onClick={(e) => e.stopPropagation()}\n >\n <SiteMapItem\n menuGroup={item}\n selectedKey={selectedKey}\n visible={visible}\n />\n </div>\n </WrappedPopover>\n ) : null;\n}\n\n/**\n * 菜单构件\n * @author sailor\n *\n */\n@defineElement(\"eo-nav-menu\", {\n styleTexts: [\n SiteMapStyleText,\n ItemTagStyleText,\n GroupItemStyleText,\n styleText,\n ],\n})\nclass NavMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n /**\n * 是否显示 tooltip\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n render() {\n return <NavMenuComponent menu={this.menu} showTooltip={this.showTooltip} />;\n }\n}\n\nfunction NavMenuComponent(props: NavMenuProps) {\n const { menu, showTooltip } = props;\n\n const history = getHistory();\n const navMenuWrapperRef = useRef<HTMLDivElement>(null);\n const [location, setLocation] = useState(history.location);\n const [overflowIndex, setOverflowIndex] = useState<number>(\n Number.MAX_SAFE_INTEGER\n );\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n\n const setSelected = async (): Promise<void> => {\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n };\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, []);\n\n useEffect(() => {\n if (navMenuWrapperRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (navMenuWrapperRef.current) {\n const { width } = navMenuWrapperRef.current.getClientRects()[0] ?? {};\n const childNodes = navMenuWrapperRef.current.childNodes;\n\n if (childNodes.length && width) {\n let wrapperWidth = width;\n let overflowIndex = childNodes.length;\n\n for (let i = 0; i < childNodes.length; i++) {\n const { width: childWidth, height: childHeight } = (\n childNodes[i] as HTMLElement\n ).getClientRects()[0];\n\n if (!childHeight && wrapperWidth - 40 < 0) {\n overflowIndex = i - 1;\n break;\n }\n\n wrapperWidth =\n wrapperWidth - childWidth - (i > 0 ? GAP_WIDTH : 0);\n if (wrapperWidth < 0) {\n overflowIndex = i;\n break;\n }\n }\n\n setOverflowIndex(overflowIndex < 0 ? 0 : overflowIndex);\n }\n }\n });\n resizeObserver.observe(navMenuWrapperRef.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n const overflowMenu = useMemo(\n (): SidebarMenuItem => ({\n type: \"subMenu\",\n title: \"···\",\n items: menu?.menuItems.slice(\n overflowIndex,\n menu.menuItems.length\n ) as SidebarMenuItem[],\n }),\n [menu?.menuItems, overflowIndex]\n );\n\n return (\n <div ref={navMenuWrapperRef} className=\"nav-menu-wrapper\">\n {menu?.menuItems.map((item, index) => {\n const isHidden = overflowIndex <= index;\n return (\n <React.Fragment key={item.key}>\n {isSubMenu(item as SidebarMenuGroup, true) &&\n (item as SidebarMenuGroup).childLayout === \"category\" &&\n (item as SidebarMenuGroup).items?.length ? (\n <ThreeLevelMenuCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n ) : (item as SidebarMenuGroup).type === \"group\" &&\n (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n ) : (\n <RenderMenuItemCom\n index={index}\n hidden={isHidden}\n item={item}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n )}\n </React.Fragment>\n );\n })}\n <RenderMenuItemCom\n hidden={overflowIndex > (menu?.menuItems?.length ?? 0)}\n item={overflowMenu}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n overflow={true}\n topData={true}\n />\n </div>\n );\n}\n\nexport { NavMenu };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { LaunchpadButton as LaunchpadButtonComponent } from \"./LaunchpadButton/LaunchpadButton.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport \"@next-core/theme\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./LaunchpadButton/LaunchpadButton.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\n/**\n * Launchpad 按钮构件\n * @author sailor\n */\n@defineElement(\"eo-launchpad-button\", {\n styleTexts: [styleText],\n})\nclass LaunchpadButton extends ReactNextElement {\n render() {\n return <LaunchpadButtonComponent />;\n }\n}\n\nexport { LaunchpadButton };\n"],"names":["scrollWidth","defineElement","property","createDecorators","WrappedMenuItem","wrapBrick","WrappedPopover","onVisibleChange","beforeVisibleChange","RenderMenuItemCom","props","item","isSubMenu","topData","React","SubMenuItemCom","_extends","isGroup","GroupMenuItemCom","SimpleMenuItemCom","index","hidden","showTooltip","selectedKey","className","key","title","text","active","includes","renderLinkCom","width","_NavMenu","handlePopupVisibleChange","event","_scrollWidth","paddingRight","window","innerWidth","document","body","clientWidth","style","detail","overflow","touchAction","_ref","_item$items","items","length","classnames","subprime","trigger","placement","distance","anchorDisplay","strategy","slot","renderSpanCom","map","innerItem","_ref2","_item$items2","childLayout","ThreeLevelMenuCom","SitMapMenCom","_ref3","_item$items3","ThreeLevelMenuPopoverContent","menuItem","_ref4","_item$items4","visible","setVisible","useState","onClick","e","stopPropagation","SiteMapItem","menuGroup","_dec","styleTexts","SiteMapStyleText","ItemTagStyleText","GroupItemStyleText","styleText","_dec2","attribute","_dec3","type","Boolean","_A","WeakMap","_B","NavMenu","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","writable","value","_initProto","_init_menu","_init_showTooltip","menu","_classPrivateFieldGet","v","_classPrivateFieldSet","render","NavMenuComponent","this","_menu$menuItems$lengt","_menu$menuItems2","history","getHistory","navMenuWrapperRef","useRef","location","setLocation","overflowIndex","setOverflowIndex","Number","MAX_SAFE_INTEGER","pathname","search","setSelectedKey","setSelected","_ref5","_asyncToGenerator","_menu$menuItems","selectedKeys","initMenuItemAndMatchCurrentPathKeys","menuItems","apply","useEffect","unListen","listen","current","resizeObserver","ResizeObserver","_navMenuWrapperRef$cu","getClientRects","childNodes","wrapperWidth","i","childWidth","height","childHeight","observe","disconnect","overflowMenu","useMemo","slice","ref","_items","isHidden","_class","c","_initClass","_applyDecs","initializeReactI18n","NS","locales","_LaunchpadButton","LaunchpadButton","LaunchpadButtonComponent"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/4969.fcc12546.js","mappings":"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","sources":["webpack:///./src/nav-menu/index.tsx","webpack:///./src/launchpad/index.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./nav-menu.shadow.css\";\nimport { LocationDescriptor, UnregisterCallback } from \"history\";\nimport type { SidebarMenu } from \"@next-bricks/basic/menu\";\nimport type {\n MenuItem as MenuItemComponent,\n MenuComponentProps,\n} from \"@next-bricks/basic/menu-item\";\nimport {\n isSimple,\n isSubMenu,\n isGroup,\n renderLinkCom,\n renderSpanCom,\n} from \"./utils.js\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport type {\n SidebarMenuGroup,\n SidebarMenuItem,\n SidebarMenuSimpleItem,\n} from \"@next-shared/general/types\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport \"@next-core/theme\";\nimport classnames from \"classnames\";\nimport { ThreeLevelMenuPopoverContent } from \"./ThreeLevelMenuPopoverContent.js\";\nimport { SiteMapItem } from \"./site-map/SiteMapItem.js\";\nimport SiteMapStyleText from \"../nav-menu/site-map/SiteMapItem.shadow.css\";\nimport ItemTagStyleText from \"../nav-menu/site-map/ItemTag.shadow.css\";\nimport GroupItemStyleText from \"../nav-menu/site-map/GroupItem.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrappedMenuItem = wrapBrick<MenuItemComponent, MenuComponentProps>(\n \"eo-menu-item\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\nconst GAP_WIDTH = 8;\n\ninterface NavMenuProps {\n menu?: SidebarMenu;\n showTooltip?: boolean;\n}\n\ninterface MenuItemComProps {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuItem;\n topData?: boolean;\n selectedKey?: string[];\n showTooltip?: boolean;\n overflow?: boolean;\n}\ninterface SimpleMenuItemComProps extends MenuItemComProps {\n item: SidebarMenuSimpleItem;\n}\ninterface MenuGroupComProps extends MenuItemComProps {\n item: SidebarMenuGroup;\n}\nfunction RenderMenuItemCom(props: MenuItemComProps) {\n const { item } = props;\n return isSubMenu(item as SidebarMenuGroup, props.topData) ? (\n <SubMenuItemCom {...props} item={item as SidebarMenuGroup}></SubMenuItemCom>\n ) : isGroup(item) ? (\n <GroupMenuItemCom {...props} item={item as SidebarMenuGroup} />\n ) : (\n <SimpleMenuItemCom\n {...props}\n item={item as SidebarMenuSimpleItem}\n ></SimpleMenuItemCom>\n );\n}\nfunction SimpleMenuItemCom(props: SimpleMenuItemComProps) {\n const { item, index, hidden, showTooltip, selectedKey = [] } = props;\n return (\n <WrappedMenuItem\n data-index={index}\n className={hidden ? \"overflow-menu-item\" : \"\"}\n key={item.key}\n title={showTooltip ? item.text : \"\"}\n active={item.key ? selectedKey.includes(item.key) : false}\n >\n {renderLinkCom(item, { width: \"100%\" })}\n </WrappedMenuItem>\n );\n}\n\nlet scrollWidth: number;\n// istanbul ignore next;\nconst handlePopupVisibleChange = (event: CustomEvent<boolean>) => {\n // 当用户设置滚动条一直显示时,来回切换 overflow: hidden 会导致滚动条显示或隐藏\n // 造成页面宽度变化而导致的抖动的问题\n const paddingRight =\n scrollWidth ??\n (scrollWidth = window.innerWidth - document.body.clientWidth);\n\n document.body.style.paddingRight = event.detail ? paddingRight + \"px\" : \"\";\n document.body.style.overflow = event.detail ? \"hidden\" : \"\";\n document.body.style.touchAction = event.detail ? \"none\" : \"\";\n};\n\nfunction SubMenuItemCom({\n index,\n hidden,\n item,\n topData,\n showTooltip,\n selectedKey = [],\n overflow,\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n subprime: !topData,\n \"overflow-menu-item\": hidden,\n })}\n trigger=\"hover\"\n placement={topData ? \"bottom-start\" : \"right-start\"}\n distance={0}\n anchorDisplay=\"block\"\n strategy=\"fixed\"\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item, !topData)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-wrapper\", {\n \"overflow-menu-wrapper\": overflow,\n })}\n >\n {item.items.map((innerItem) => (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n />\n </React.Fragment>\n ))}\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction GroupMenuItemCom({\n item,\n showTooltip,\n selectedKey = [],\n}: MenuGroupComProps) {\n return item.items?.length > 0 ? (\n item.childLayout === \"category\" ? (\n <ThreeLevelMenuCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n />\n ) : (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n item={item}\n selectedKey={selectedKey}\n showTooltip={showTooltip}\n placement=\"right-start\"\n anchorDisplay=\"block\"\n topData={false}\n />\n ) : (\n <>\n <div className=\"group-label\">{item.title}</div>\n <div className=\"group-wrapper\">\n {item.items.map((innerItem) => {\n return (\n <React.Fragment key={innerItem.key}>\n <RenderMenuItemCom\n item={innerItem}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n </React.Fragment>\n );\n })}\n </div>\n </>\n )\n ) : null;\n}\n\nfunction ThreeLevelMenuCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n}) {\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"three-level-menu-popover\", \"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handlePopupVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div className=\"sub-menu-wrapper\">\n <ThreeLevelMenuPopoverContent\n menuItem={item}\n selectedKey={selectedKey}\n ></ThreeLevelMenuPopoverContent>\n </div>\n </WrappedPopover>\n ) : null;\n}\n\nfunction SitMapMenCom({\n index,\n hidden,\n item,\n selectedKey = [],\n showTooltip,\n placement = \"bottom-start\",\n anchorDisplay,\n topData,\n}: {\n index?: number;\n hidden?: boolean;\n item: SidebarMenuGroup;\n selectedKey?: string[];\n showTooltip?: boolean;\n placement?: Placement;\n anchorDisplay?: CSSProperties[\"display\"];\n topData?: boolean;\n}) {\n const [visible, setVisible] = useState<boolean>();\n\n const handleVisibleChange = (event: CustomEvent<boolean>): void => {\n setVisible(event.detail);\n handlePopupVisibleChange(event);\n };\n\n return item.items?.length > 0 ? (\n <WrappedPopover\n data-index={index}\n className={classnames(\"popover\", {\n \"overflow-menu-item\": hidden,\n })}\n trigger={\"hover\"}\n placement={placement}\n distance={0}\n key={item.key}\n strategy=\"fixed\"\n anchorDisplay={anchorDisplay}\n beforeVisibleChange={handleVisibleChange}\n >\n <WrappedMenuItem\n className=\"sub-menu-item-label\"\n key={item.key}\n slot=\"anchor\"\n title={showTooltip ? item.title : \"\"}\n >\n {renderSpanCom(item)}\n </WrappedMenuItem>\n <div\n className={classnames(\"sub-menu-sit-map-wrapper\", {\n \"in-group-site-map\": !topData,\n })}\n onClick={(e) => e.stopPropagation()}\n >\n <SiteMapItem\n menuGroup={item}\n selectedKey={selectedKey}\n visible={visible}\n />\n </div>\n </WrappedPopover>\n ) : null;\n}\n\n/**\n * 菜单构件\n * @author sailor\n *\n */\n@defineElement(\"eo-nav-menu\", {\n styleTexts: [\n SiteMapStyleText,\n ItemTagStyleText,\n GroupItemStyleText,\n styleText,\n ],\n})\nclass NavMenu extends ReactNextElement {\n /**\n * 菜单项\n */\n @property({\n attribute: false,\n })\n accessor menu: SidebarMenu | undefined;\n\n /**\n * 是否显示 tooltip\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n render() {\n return <NavMenuComponent menu={this.menu} showTooltip={this.showTooltip} />;\n }\n}\n\nfunction NavMenuComponent(props: NavMenuProps) {\n const { menu, showTooltip } = props;\n\n const history = getHistory();\n const navMenuWrapperRef = useRef<HTMLDivElement>(null);\n const [location, setLocation] = useState(history.location);\n const [overflowIndex, setOverflowIndex] = useState<number>(\n Number.MAX_SAFE_INTEGER\n );\n const { pathname, search } = location;\n\n const [selectedKey, setSelectedKey] = useState<string[]>([]);\n\n const setSelected = async (): Promise<void> => {\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setSelectedKey(selectedKeys);\n };\n\n useEffect(() => {\n const unListen: UnregisterCallback = history.listen((location) => {\n setLocation(location);\n });\n setSelected();\n return unListen;\n }, []);\n\n useEffect(() => {\n if (navMenuWrapperRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (navMenuWrapperRef.current) {\n const { width } = navMenuWrapperRef.current.getClientRects()[0] ?? {};\n const childNodes = navMenuWrapperRef.current.childNodes;\n\n if (childNodes.length && width) {\n let wrapperWidth = width;\n let overflowIndex = childNodes.length;\n\n for (let i = 0; i < childNodes.length; i++) {\n const { width: childWidth, height: childHeight } = (\n childNodes[i] as HTMLElement\n ).getClientRects()[0];\n\n if (!childHeight && wrapperWidth - 40 < 0) {\n overflowIndex = i - 1;\n break;\n }\n\n wrapperWidth =\n wrapperWidth - childWidth - (i > 0 ? GAP_WIDTH : 0);\n if (wrapperWidth < 0) {\n overflowIndex = i;\n break;\n }\n }\n\n setOverflowIndex(overflowIndex < 0 ? 0 : overflowIndex);\n }\n }\n });\n resizeObserver.observe(navMenuWrapperRef.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }\n }, []);\n\n const overflowMenu = useMemo(\n (): SidebarMenuItem => ({\n type: \"subMenu\",\n title: \"···\",\n items: menu?.menuItems.slice(\n overflowIndex,\n menu.menuItems.length\n ) as SidebarMenuItem[],\n }),\n [menu?.menuItems, overflowIndex]\n );\n\n return (\n <div ref={navMenuWrapperRef} className=\"nav-menu-wrapper\">\n {menu?.menuItems.map((item, index) => {\n const isHidden = overflowIndex <= index;\n return (\n <React.Fragment key={item.key}>\n {isSubMenu(item as SidebarMenuGroup, true) &&\n (item as SidebarMenuGroup).childLayout === \"category\" &&\n (item as SidebarMenuGroup).items?.length ? (\n <ThreeLevelMenuCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n />\n ) : (item as SidebarMenuGroup).type === \"group\" &&\n (item as SidebarMenuGroup).childLayout === \"siteMap\" ? (\n <SitMapMenCom\n index={index}\n hidden={isHidden}\n item={item as SidebarMenuGroup}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n ) : (\n <RenderMenuItemCom\n index={index}\n hidden={isHidden}\n item={item}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n topData={true}\n />\n )}\n </React.Fragment>\n );\n })}\n <RenderMenuItemCom\n hidden={overflowIndex > (menu?.menuItems?.length ?? 0)}\n item={overflowMenu}\n showTooltip={showTooltip}\n selectedKey={selectedKey}\n overflow={true}\n topData={true}\n />\n </div>\n );\n}\n\nexport { NavMenu };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { LaunchpadButton as LaunchpadButtonComponent } from \"./LaunchpadButton/LaunchpadButton.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport \"@next-core/theme\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./LaunchpadButton/LaunchpadButton.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement } = createDecorators();\n\n/**\n * Launchpad 按钮构件\n * @author sailor\n */\n@defineElement(\"eo-launchpad-button\", {\n styleTexts: [styleText],\n})\nclass LaunchpadButton extends ReactNextElement {\n render() {\n return <LaunchpadButtonComponent />;\n }\n}\n\nexport { LaunchpadButton };\n"],"names":["scrollWidth","defineElement","property","createDecorators","WrappedMenuItem","wrapBrick","WrappedPopover","onVisibleChange","beforeVisibleChange","RenderMenuItemCom","props","item","isSubMenu","topData","React","SubMenuItemCom","_extends","isGroup","GroupMenuItemCom","SimpleMenuItemCom","index","hidden","showTooltip","selectedKey","className","key","title","text","active","includes","renderLinkCom","width","_NavMenu","handlePopupVisibleChange","event","_scrollWidth","paddingRight","window","innerWidth","document","body","clientWidth","style","detail","overflow","touchAction","_ref","_item$items","items","length","classnames","subprime","trigger","placement","distance","anchorDisplay","strategy","slot","renderSpanCom","map","innerItem","_ref2","_item$items2","childLayout","ThreeLevelMenuCom","SitMapMenCom","_ref3","_item$items3","ThreeLevelMenuPopoverContent","menuItem","_ref4","_item$items4","visible","setVisible","useState","onClick","e","stopPropagation","SiteMapItem","menuGroup","_dec","styleTexts","SiteMapStyleText","ItemTagStyleText","GroupItemStyleText","styleText","_dec2","attribute","_dec3","type","Boolean","_A","WeakMap","_B","NavMenu","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","writable","value","_initProto","_init_menu","_init_showTooltip","menu","_classPrivateFieldGet","v","_classPrivateFieldSet","render","NavMenuComponent","this","_menu$menuItems$lengt","_menu$menuItems2","history","getHistory","navMenuWrapperRef","useRef","location","setLocation","overflowIndex","setOverflowIndex","Number","MAX_SAFE_INTEGER","pathname","search","setSelectedKey","setSelected","_ref5","_asyncToGenerator","_menu$menuItems","selectedKeys","initMenuItemAndMatchCurrentPathKeys","menuItems","apply","useEffect","unListen","listen","current","resizeObserver","ResizeObserver","_navMenuWrapperRef$cu","getClientRects","childNodes","wrapperWidth","i","childWidth","height","childHeight","observe","disconnect","overflowMenu","useMemo","slice","ref","_items","isHidden","_class","c","_initClass","_applyDecs","initializeReactI18n","NS","locales","_LaunchpadButton","LaunchpadButton","LaunchpadButtonComponent"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[4991],{4991:(t,e,s)=>{s.r(e),s.d(e,{changeLanguage:()=>q,createInstance:()=>M,default:()=>K,dir:()=>H,exists:()=>G,getFixedT:()=>W,hasLoadedNamespace:()=>X,init:()=>B,loadLanguages:()=>tt,loadNamespaces:()=>Z,loadResources:()=>J,reloadResources:()=>z,setDefaultNamespace:()=>Q,t:()=>Y,use:()=>_});const i={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console&&console[t]&&console[t].apply(console,e)}};class n{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(t,e)}init(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=e.prefix||"i18next:",this.logger=t||i,this.options=e,this.debug=e.debug}log(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"log","",!0)}warn(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"warn","",!0)}error(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"error","")}deprecate(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,e,s,i){return i&&!this.debug?null:("string"==typeof t[0]&&(t[0]=`${s}${this.prefix} ${t[0]}`),this.logger[e](t))}create(t){return new n(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new n(this.logger,t)}}var o=new n;class r{constructor(){this.observers={}}on(t,e){return t.split(" ").forEach((t=>{this.observers[t]=this.observers[t]||[],this.observers[t].push(e)})),this}off(t,e){this.observers[t]&&(e?this.observers[t]=this.observers[t].filter((t=>t!==e)):delete this.observers[t])}emit(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];this.observers[t]&&[].concat(this.observers[t]).forEach((t=>{t(...s)})),this.observers["*"]&&[].concat(this.observers["*"]).forEach((e=>{e.apply(e,[t,...s])}))}}function a(){let t,e;const s=new Promise(((s,i)=>{t=s,e=i}));return s.resolve=t,s.reject=e,s}function l(t){return null==t?"":""+t}function u(t,e,s){function i(t){return t&&t.indexOf("###")>-1?t.replace(/###/g,"."):t}function n(){return!t||"string"==typeof t}const o="string"!=typeof e?[].concat(e):e.split(".");for(;o.length>1;){if(n())return{};const e=i(o.shift());!t[e]&&s&&(t[e]=new s),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{}}return n()?{}:{obj:t,k:i(o.shift())}}function h(t,e,s){const{obj:i,k:n}=u(t,e,Object);i[n]=s}function c(t,e){const{obj:s,k:i}=u(t,e);if(s)return s[i]}function p(t,e,s){for(const i in e)"__proto__"!==i&&"constructor"!==i&&(i in t?"string"==typeof t[i]||t[i]instanceof String||"string"==typeof e[i]||e[i]instanceof String?s&&(t[i]=e[i]):p(t[i],e[i],s):t[i]=e[i]);return t}function g(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var d={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function f(t){return"string"==typeof t?t.replace(/[&<>"'\/]/g,(t=>d[t])):t}const m=[" ",",","?","!",";"];function y(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!t)return;if(t[e])return t[e];const i=e.split(s);let n=t;for(let t=0;t<i.length;++t){if(!n)return;if("string"==typeof n[i[t]]&&t+1<i.length)return;if(void 0===n[i[t]]){let o=2,r=i.slice(t,t+o).join(s),a=n[r];for(;void 0===a&&i.length>t+o;)o++,r=i.slice(t,t+o).join(s),a=n[r];if(void 0===a)return;if(null===a)return null;if(e.endsWith(r)){if("string"==typeof a)return a;if(r&&"string"==typeof a[r])return a[r]}const l=i.slice(t+o).join(s);return l?y(a,l,s):void 0}n=n[i[t]]}return n}function v(t){return t&&t.indexOf("_")>0?t.replace("_","-"):t}class b extends r{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let r=[t,e];s&&"string"!=typeof s&&(r=r.concat(s)),s&&"string"==typeof s&&(r=r.concat(n?s.split(n):s)),t.indexOf(".")>-1&&(r=t.split("."));const a=c(this.data,r);return a||!o||"string"!=typeof s?a:y(this.data&&this.data[t]&&this.data[t][e],s,n)}addResource(t,e,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[t,e];s&&(r=r.concat(o?s.split(o):s)),t.indexOf(".")>-1&&(r=t.split("."),i=e,e=r[1]),this.addNamespaces(e),h(this.data,r,i),n.silent||this.emit("added",t,e,s,i)}addResources(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const i in s)"string"!=typeof s[i]&&"[object Array]"!==Object.prototype.toString.apply(s[i])||this.addResource(t,e,i,s[i],{silent:!0});i.silent||this.emit("added",t,e,s)}addResourceBundle(t,e,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},r=[t,e];t.indexOf(".")>-1&&(r=t.split("."),i=s,s=e,e=r[1]),this.addNamespaces(e);let a=c(this.data,r)||{};i?p(a,s,n):a={...a,...s},h(this.data,r,a),o.silent||this.emit("added",t,e,s)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return void 0!==this.getResource(t,e)}getResourceBundle(t,e){return e||(e=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(t,e)}:this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find((t=>e[t]&&Object.keys(e[t]).length>0))}toJSON(){return this.data}}var x={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,s,i,n){return t.forEach((t=>{this.processors[t]&&(e=this.processors[t].process(e,s,i,n))})),e}};const S={};class k extends r{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(t,e,s){["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((t=>{e[t]&&(s[t]=e[t])}))}(0,t,this),this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=o.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==t)return!1;const s=this.resolve(t,e);return s&&void 0!==s.res}extractFromKey(t,e){let s=void 0!==e.nsSeparator?e.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const i=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator;let n=e.ns||this.options.defaultNS||[];const o=s&&t.indexOf(s)>-1,r=!(this.options.userDefinedKeySeparator||e.keySeparator||this.options.userDefinedNsSeparator||e.nsSeparator||function(t,e,s){e=e||"",s=s||"";const i=m.filter((t=>e.indexOf(t)<0&&s.indexOf(t)<0));if(0===i.length)return!0;const n=new RegExp(`(${i.map((t=>"?"===t?"\\?":t)).join("|")})`);let o=!n.test(t);if(!o){const e=t.indexOf(s);e>0&&!n.test(t.substring(0,e))&&(o=!0)}return o}(t,s,i));if(o&&!r){const e=t.match(this.interpolator.nestingRegexp);if(e&&e.length>0)return{key:t,namespaces:n};const o=t.split(s);(s!==i||s===i&&this.options.ns.indexOf(o[0])>-1)&&(n=o.shift()),t=o.join(i)}return"string"==typeof n&&(n=[n]),{key:t,namespaces:n}}translate(t,e,s){if("object"!=typeof e&&this.options.overloadTranslationOptionHandler&&(e=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof e&&(e={...e}),e||(e={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);const i=void 0!==e.returnDetails?e.returnDetails:this.options.returnDetails,n=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator,{key:o,namespaces:r}=this.extractFromKey(t[t.length-1],e),a=r[r.length-1],l=e.lng||this.language,u=e.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){const t=e.nsSeparator||this.options.nsSeparator;return i?{res:`${a}${t}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(e)}:`${a}${t}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(e)}:o}const h=this.resolve(t,e);let c=h&&h.res;const p=h&&h.usedKey||o,g=h&&h.exactUsedKey||o,d=Object.prototype.toString.apply(c),f=void 0!==e.joinArrays?e.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&c&&"string"!=typeof c&&"boolean"!=typeof c&&"number"!=typeof c&&["[object Number]","[object Function]","[object RegExp]"].indexOf(d)<0&&("string"!=typeof f||"[object Array]"!==d)){if(!e.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const t=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,c,{...e,ns:r}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=t,h.usedParams=this.getUsedParamsDetails(e),h):t}if(n){const t="[object Array]"===d,s=t?[]:{},i=t?g:p;for(const t in c)if(Object.prototype.hasOwnProperty.call(c,t)){const o=`${i}${n}${t}`;s[t]=this.translate(o,{...e,joinArrays:!1,ns:r}),s[t]===o&&(s[t]=c[t])}c=s}}else if(m&&"string"==typeof f&&"[object Array]"===d)c=c.join(f),c&&(c=this.extendTranslation(c,t,e,s));else{let i=!1,r=!1;const u=void 0!==e.count&&"string"!=typeof e.count,p=k.hasDefaultValue(e),g=u?this.pluralResolver.getSuffix(l,e.count,e):"",d=e.ordinal&&u?this.pluralResolver.getSuffix(l,e.count,{ordinal:!1}):"",f=e[`defaultValue${g}`]||e[`defaultValue${d}`]||e.defaultValue;!this.isValidLookup(c)&&p&&(i=!0,c=f),this.isValidLookup(c)||(r=!0,c=o);const m=(e.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&r?void 0:c,y=p&&f!==c&&this.options.updateMissing;if(r||i||y){if(this.logger.log(y?"updateKey":"missingKey",l,a,o,y?f:c),n){const t=this.resolve(o,{...e,keySeparator:!1});t&&t.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let t=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,e.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let e=0;e<s.length;e++)t.push(s[e]);else"all"===this.options.saveMissingTo?t=this.languageUtils.toResolveHierarchy(e.lng||this.language):t.push(e.lng||this.language);const i=(t,s,i)=>{const n=p&&i!==c?i:m;this.options.missingKeyHandler?this.options.missingKeyHandler(t,a,s,n,y,e):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(t,a,s,n,y,e),this.emit("missingKey",t,a,s,c)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?t.forEach((t=>{this.pluralResolver.getSuffixes(t,e).forEach((s=>{i([t],o+s,e[`defaultValue${s}`]||f)}))})):i(t,o,f))}c=this.extendTranslation(c,t,e,h,s),r&&c===o&&this.options.appendNamespaceToMissingKey&&(c=`${a}:${o}`),(r||i)&&this.options.parseMissingKeyHandler&&(c="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${a}:${o}`:o,i?c:void 0):this.options.parseMissingKeyHandler(c))}return i?(h.res=c,h.usedParams=this.getUsedParamsDetails(e),h):c}extendTranslation(t,e,s,i,n){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const r="string"==typeof t&&(s&&s.interpolation&&void 0!==s.interpolation.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let a;if(r){const e=t.match(this.interpolator.nestingRegexp);a=e&&e.length}let l=s.replace&&"string"!=typeof s.replace?s.replace:s;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,s.lng||this.language,s),r){const e=t.match(this.interpolator.nestingRegexp);a<(e&&e.length)&&(s.nest=!1)}!s.lng&&"v1"!==this.options.compatibilityAPI&&i&&i.res&&(s.lng=i.usedLng),!1!==s.nest&&(t=this.interpolator.nest(t,(function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];return n&&n[0]===i[0]&&!s.context?(o.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${e[0]}`),null):o.translate(...i,e)}),s)),s.interpolation&&this.interpolator.reset()}const r=s.postProcess||this.options.postProcess,a="string"==typeof r?[r]:r;return null!=t&&a&&a.length&&!1!==s.applyPostProcessor&&(t=x.handle(a,t,e,this.options&&this.options.postProcessPassResolved?{i18nResolved:i,...s}:s,this)),t}resolve(t){let e,s,i,n,o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof t&&(t=[t]),t.forEach((t=>{if(this.isValidLookup(e))return;const a=this.extractFromKey(t,r),l=a.key;s=l;let u=a.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==r.count&&"string"!=typeof r.count,c=h&&!r.ordinal&&0===r.count&&this.pluralResolver.shouldUseIntlApi(),p=void 0!==r.context&&("string"==typeof r.context||"number"==typeof r.context)&&""!==r.context,g=r.lngs?r.lngs:this.languageUtils.toResolveHierarchy(r.lng||this.language,r.fallbackLng);u.forEach((t=>{this.isValidLookup(e)||(o=t,!S[`${g[0]}-${t}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(S[`${g[0]}-${t}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((s=>{if(this.isValidLookup(e))return;n=s;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,s,t,r);else{let t;h&&(t=this.pluralResolver.getSuffix(s,r.count,r));const e=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(o.push(l+t),r.ordinal&&0===t.indexOf(i)&&o.push(l+t.replace(i,this.options.pluralSeparator)),c&&o.push(l+e)),p){const s=`${l}${this.options.contextSeparator}${r.context}`;o.push(s),h&&(o.push(s+t),r.ordinal&&0===t.indexOf(i)&&o.push(s+t.replace(i,this.options.pluralSeparator)),c&&o.push(s+e))}}let a;for(;a=o.pop();)this.isValidLookup(e)||(i=a,e=this.getResource(s,t,a,r))})))}))})),{res:e,usedKey:s,exactUsedKey:i,usedLng:n,usedNS:o}}isValidLookup(t){return!(void 0===t||!this.options.returnNull&&null===t||!this.options.returnEmptyString&&""===t)}getResource(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,e,s,i):this.resourceStore.getResource(t,e,s,i)}getUsedParamsDetails(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=t.replace&&"string"!=typeof t.replace;let i=s?t.replace:t;if(s&&void 0!==t.count&&(i.count=t.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!s){i={...i};for(const t of e)delete i[t]}return i}static hasDefaultValue(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&"defaultValue"===e.substring(0,12)&&void 0!==t[e])return!0;return!1}}function L(t){return t.charAt(0).toUpperCase()+t.slice(1)}class O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=o.create("languageUtils")}getScriptPartFromCode(t){if(!(t=v(t))||t.indexOf("-")<0)return null;const e=t.split("-");return 2===e.length?null:(e.pop(),"x"===e[e.length-1].toLowerCase()?null:this.formatLanguageCode(e.join("-")))}getLanguagePartFromCode(t){if(!(t=v(t))||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if("string"==typeof t&&t.indexOf("-")>-1){const e=["hans","hant","latn","cyrl","cans","mong","arab"];let s=t.split("-");return this.options.lowerCaseLng?s=s.map((t=>t.toLowerCase())):2===s.length?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),e.indexOf(s[1].toLowerCase())>-1&&(s[1]=L(s[1].toLowerCase()))):3===s.length&&(s[0]=s[0].toLowerCase(),2===s[1].length&&(s[1]=s[1].toUpperCase()),"sgn"!==s[0]&&2===s[2].length&&(s[2]=s[2].toUpperCase()),e.indexOf(s[1].toLowerCase())>-1&&(s[1]=L(s[1].toLowerCase())),e.indexOf(s[2].toLowerCase())>-1&&(s[2]=L(s[2].toLowerCase()))),s.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach((t=>{if(e)return;const s=this.formatLanguageCode(t);this.options.supportedLngs&&!this.isSupportedCode(s)||(e=s)})),!e&&this.options.supportedLngs&&t.forEach((t=>{if(e)return;const s=this.getLanguagePartFromCode(t);if(this.isSupportedCode(s))return e=s;e=this.options.supportedLngs.find((t=>t===s?t:t.indexOf("-")<0&&s.indexOf("-")<0?void 0:0===t.indexOf(s)?t:void 0))})),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if("function"==typeof t&&(t=t(e)),"string"==typeof t&&(t=[t]),"[object Array]"===Object.prototype.toString.apply(t))return t;if(!e)return t.default||[];let s=t[e];return s||(s=t[this.getScriptPartFromCode(e)]),s||(s=t[this.formatLanguageCode(e)]),s||(s=t[this.getLanguagePartFromCode(e)]),s||(s=t.default),s||[]}toResolveHierarchy(t,e){const s=this.getFallbackCodes(e||this.options.fallbackLng||[],t),i=[],n=t=>{t&&(this.isSupportedCode(t)?i.push(t):this.logger.warn(`rejecting language code not found in supportedLngs: ${t}`))};return"string"==typeof t&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):"string"==typeof t&&n(this.formatLanguageCode(t)),s.forEach((t=>{i.indexOf(t)<0&&n(this.formatLanguageCode(t))})),i}}let w=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],N={1:function(t){return Number(t>1)},2:function(t){return Number(1!=t)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(0==t?0:1==t?1:2==t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(1==t?0:t>=2&&t<=4?1:2)},7:function(t){return Number(1==t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(1==t?0:2==t?1:8!=t&&11!=t?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(1==t?0:2==t?1:t<7?2:t<11?3:4)},11:function(t){return Number(1==t||11==t?0:2==t||12==t?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(0!==t)},14:function(t){return Number(1==t?0:2==t?1:3==t?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:0!==t?1:2)},17:function(t){return Number(1==t||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(0==t?0:1==t?1:2)},19:function(t){return Number(1==t?0:0==t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(1==t?0:0==t||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(1==t?0:2==t?1:(t<0||t>10)&&t%10==0?2:3)}};const R=["v1","v2","v3"],$=["v4"],C={zero:0,one:1,two:2,few:3,many:4,other:5};class P{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=t,this.options=e,this.logger=o.create("pluralResolver"),this.options.compatibilityJSON&&!$.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const t={};return w.forEach((e=>{e.lngs.forEach((s=>{t[s]={numbers:e.nr,plurals:N[e.fc]}}))})),t}()}addRule(t,e){this.rules[t]=e}getRule(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(v(t),{type:e.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(t,e);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(t,s).map((t=>`${e}${t}`))}getSuffixes(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(t,e);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort(((t,e)=>C[t]-C[e])).map((t=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${t}`)):s.numbers.map((s=>this.getSuffix(t,s,e))):[]}getSuffix(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(t,s);return i?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(e)}`:this.getSuffixRetroCompatible(i,e):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,e){const s=t.noAbs?t.plurals(e):t.plurals(Math.abs(e));let i=t.numbers[s];this.options.simplifyPluralSuffix&&2===t.numbers.length&&1===t.numbers[0]&&(2===i?i="plural":1===i&&(i=""));const n=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?`_plural_${i.toString()}`:n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===t.numbers.length&&1===t.numbers[0]?n():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!R.includes(this.options.compatibilityJSON)}}function j(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(t,e,s){const i=c(t,s);return void 0!==i?i:c(e,s)}(t,e,s);return!o&&n&&"string"==typeof s&&(o=y(t,s,i),void 0===o&&(o=y(e,s,i))),o}class E{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(t=>t),this.init(t)}init(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const e=t.interpolation;this.escape=void 0!==e.escape?e.escape:f,this.escapeValue=void 0===e.escapeValue||e.escapeValue,this.useRawValueToEscape=void 0!==e.useRawValueToEscape&&e.useRawValueToEscape,this.prefix=e.prefix?g(e.prefix):e.prefixEscaped||"{{",this.suffix=e.suffix?g(e.suffix):e.suffixEscaped||"}}",this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||",",this.unescapePrefix=e.unescapeSuffix?"":e.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":e.unescapeSuffix||"",this.nestingPrefix=e.nestingPrefix?g(e.nestingPrefix):e.nestingPrefixEscaped||g("$t("),this.nestingSuffix=e.nestingSuffix?g(e.nestingSuffix):e.nestingSuffixEscaped||g(")"),this.nestingOptionsSeparator=e.nestingOptionsSeparator?e.nestingOptionsSeparator:e.nestingOptionsSeparator||",",this.maxReplaces=e.maxReplaces?e.maxReplaces:1e3,this.alwaysFormat=void 0!==e.alwaysFormat&&e.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const e=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(e,"g");const s=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(s,"g")}interpolate(t,e,s,i){let n,o,r;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(t){return t.replace(/\$/g,"$$$$")}const h=t=>{if(t.indexOf(this.formatSeparator)<0){const n=j(e,a,t,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,s,{...i,...e,interpolationkey:t}):n}const n=t.split(this.formatSeparator),o=n.shift().trim(),r=n.join(this.formatSeparator).trim();return this.format(j(e,a,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...i,...e,interpolationkey:o})};this.resetRegExp();const c=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:t=>u(t)},{regex:this.regexp,safeValue:t=>this.escapeValue?u(this.escape(t)):u(t)}].forEach((e=>{for(r=0;n=e.regex.exec(t);){const s=n[1].trim();if(o=h(s),void 0===o)if("function"==typeof c){const e=c(t,n,i);o="string"==typeof e?e:""}else if(i&&Object.prototype.hasOwnProperty.call(i,s))o="";else{if(p){o=n[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${t}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=l(o));const a=e.safeValue(o);if(t=t.replace(n[0],a),p?(e.regex.lastIndex+=o.length,e.regex.lastIndex-=n[0].length):e.regex.lastIndex=0,r++,r>=this.maxReplaces)break}})),t}nest(t,e){let s,i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function r(t,e){const s=this.nestingOptionsSeparator;if(t.indexOf(s)<0)return t;const i=t.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;t=i[0],o=this.interpolate(o,n);const r=o.match(/'/g),a=o.match(/"/g);(r&&r.length%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{n=JSON.parse(o),e&&(n={...e,...n})}catch(e){return this.logger.warn(`failed parsing options string in nesting for key ${t}`,e),`${t}${s}${o}`}return delete n.defaultValue,t}for(;s=this.nestingRegexp.exec(t);){let a=[];n={...o},n=n.replace&&"string"!=typeof n.replace?n.replace:n,n.applyPostProcessor=!1,delete n.defaultValue;let u=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const t=s[1].split(this.formatSeparator).map((t=>t.trim()));s[1]=t.shift(),a=t,u=!0}if(i=e(r.call(this,s[1].trim(),n),n),i&&s[0]===t&&"string"!=typeof i)return i;"string"!=typeof i&&(i=l(i)),i||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${t}`),i=""),u&&(i=a.reduce(((t,e)=>this.format(t,e,o.lng,{...o,interpolationkey:s[1].trim()})),i.trim())),t=t.replace(s[0],i),this.regexp.lastIndex=0}return t}}function F(t){const e={};return function(s,i,n){const o=i+JSON.stringify(n);let r=e[o];return r||(r=t(v(i),n),e[o]=r),r(s)}}class I{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("formatter"),this.options=t,this.formats={number:F(((t,e)=>{const s=new Intl.NumberFormat(t,{...e});return t=>s.format(t)})),currency:F(((t,e)=>{const s=new Intl.NumberFormat(t,{...e,style:"currency"});return t=>s.format(t)})),datetime:F(((t,e)=>{const s=new Intl.DateTimeFormat(t,{...e});return t=>s.format(t)})),relativetime:F(((t,e)=>{const s=new Intl.RelativeTimeFormat(t,{...e});return t=>s.format(t,e.range||"day")})),list:F(((t,e)=>{const s=new Intl.ListFormat(t,{...e});return t=>s.format(t)}))},this.init(t)}init(t){const e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||","}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=F(e)}format(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.split(this.formatSeparator).reduce(((t,e)=>{const{formatName:n,formatOptions:o}=function(t){let e=t.toLowerCase().trim();const s={};if(t.indexOf("(")>-1){const i=t.split("(");e=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===e&&n.indexOf(":")<0?s.currency||(s.currency=n.trim()):"relativetime"===e&&n.indexOf(":")<0?s.range||(s.range=n.trim()):n.split(";").forEach((t=>{if(!t)return;const[e,...i]=t.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,"");s[e.trim()]||(s[e.trim()]=n),"false"===n&&(s[e.trim()]=!1),"true"===n&&(s[e.trim()]=!0),isNaN(n)||(s[e.trim()]=parseInt(n,10))}))}return{formatName:e,formatOptions:s}}(e);if(this.formats[n]){let e=t;try{const r=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},a=r.locale||r.lng||i.locale||i.lng||s;e=this.formats[n](t,a,{...o,...i,...r})}catch(t){this.logger.warn(t)}return e}return this.logger.warn(`there was no format function for ${n}`),t}),t)}}class D extends r{constructor(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=t,this.store=e,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=o.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(s,i.backend,i)}queueLoad(t,e,s,i){const n={},o={},r={},a={};return t.forEach((t=>{let i=!0;e.forEach((e=>{const r=`${t}|${e}`;!s.reload&&this.store.hasResourceBundle(t,e)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,i=!1,void 0===o[r]&&(o[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===a[e]&&(a[e]=!0)))})),i||(r[t]=!0)})),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(t,e,s){const i=t.split("|"),n=i[0],o=i[1];e&&this.emit("failedLoading",n,o,e),s&&this.store.addResourceBundle(n,o,s),this.state[t]=e?-1:2;const r={};this.queue.forEach((s=>{!function(t,e,s,i){const{obj:n,k:o}=u(t,e,Object);n[o]=n[o]||[],n[o].push(s)}(s.loaded,[n],o),function(t,e){void 0!==t.pending[e]&&(delete t.pending[e],t.pendingCount--)}(s,t),e&&s.errors.push(e),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((t=>{r[t]||(r[t]={});const e=s.loaded[t];e.length&&e.forEach((e=>{void 0===r[t][e]&&(r[t][e]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((t=>!t.done))}read(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!t.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:t,ns:e,fcName:s,tried:i,wait:n,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const t=this.waitingReads.shift();this.read(t.lng,t.ns,t.fcName,t.tried,t.wait,t.callback)}r&&a&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,t,e,s,i+1,2*n,o)}),n):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(t,e,r);try{const s=a(t,e);s&&"function"==typeof s.then?s.then((t=>r(null,t))).catch(r):r(null,s)}catch(t){r(t)}}prepareLoading(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof t&&(t=this.languageUtils.toResolveHierarchy(t)),"string"==typeof e&&(e=[e]);const n=this.queueLoad(t,e,s,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach((t=>{this.loadOne(t)}))}load(t,e,s){this.prepareLoading(t,e,{},s)}reload(t,e,s){this.prepareLoading(t,e,{reload:!0},s)}loadOne(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=t.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${e}loading namespace ${n} for language ${i} failed`,s),!s&&o&&this.logger.log(`${e}loaded namespace ${n} for language ${i}`,o),this.loaded(t,s,o)}))}saveMissing(t,e,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e))this.logger.warn(`did not save key "${s}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=s&&""!==s){if(this.backend&&this.backend.create){const a={...o,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(t,e,s,i,a):l(t,e,s,i),n&&"function"==typeof n.then?n.then((t=>r(null,t))).catch(r):r(null,n)}catch(t){r(t)}else l(t,e,s,i,r,a)}t&&t[0]&&this.store.addResource(t[0],e,s,i)}}}function V(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let e={};if("object"==typeof t[1]&&(e=t[1]),"string"==typeof t[1]&&(e.defaultValue=t[1]),"string"==typeof t[2]&&(e.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const s=t[3]||t[2];Object.keys(s).forEach((t=>{e[t]=s[t]}))}return e},interpolation:{escapeValue:!0,format:(t,e,s,i)=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function T(t){return"string"==typeof t.ns&&(t.ns=[t.ns]),"string"==typeof t.fallbackLng&&(t.fallbackLng=[t.fallbackLng]),"string"==typeof t.fallbackNS&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function A(){}class U extends r{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;var s;if(super(),this.options=T(t),this.services={},this.logger=o,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((t=>{"function"==typeof s[t]&&(s[t]=s[t].bind(s))})),e&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,e),this;setTimeout((()=>{this.init(t,e)}),0)}}init(){var t=this;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;"function"==typeof e&&(s=e,e={}),!e.defaultNS&&!1!==e.defaultNS&&e.ns&&("string"==typeof e.ns?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const i=V();function n(t){return t?"function"==typeof t?new t:t:null}if(this.options={...i,...this.options,...T(e)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator),!this.options.isClone){let e;this.modules.logger?o.init(n(this.modules.logger),this.options):o.init(null,this.options),this.modules.formatter?e=this.modules.formatter:"undefined"!=typeof Intl&&(e=I);const s=new O(this.options);this.store=new b(this.options.resources,this.options);const r=this.services;r.logger=o,r.resourceStore=this.store,r.languageUtils=s,r.pluralResolver=new P(s,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==i.interpolation.format||(r.formatter=n(e),r.formatter.init(r,this.options),this.options.interpolation.format=r.formatter.format.bind(r.formatter)),r.interpolator=new E(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new D(n(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",(function(e){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];t.emit(e,...i)})),this.modules.languageDetector&&(r.languageDetector=n(this.modules.languageDetector),r.languageDetector.init&&r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=n(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new k(this.services,this.options),this.translator.on("*",(function(e){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];t.emit(e,...i)})),this.modules.external.forEach((t=>{t.init&&t.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=A),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);t.length>0&&"dev"!==t[0]&&(this.options.lng=t[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((e=>{this[e]=function(){return t.store[e](...arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((e=>{this[e]=function(){return t.store[e](...arguments),t}}));const r=a(),l=()=>{const t=(t,e)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),r.resolve(e),s(t,e)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return t(null,this.t.bind(this));this.changeLanguage(this.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),r}loadResources(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:A;const s="string"==typeof t?t:this.language;if("function"==typeof t&&(e=t),!this.options.resources||this.options.partialBundledLanguages){if(s&&"cimode"===s.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return e();const t=[],i=e=>{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach((e=>{"cimode"!==e&&t.indexOf(e)<0&&t.push(e)}))};s?i(s):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((t=>i(t))),this.options.preload&&this.options.preload.forEach((t=>i(t))),this.services.backendConnector.load(t,this.options.ns,(t=>{t||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),e(t)}))}else e(null)}reloadResources(t,e,s){const i=a();return t||(t=this.languages),e||(e=this.options.ns),s||(s=A),this.services.backendConnector.reload(t,e,(t=>{i.resolve(),s(t)})),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===t.type&&(this.modules.backend=t),("logger"===t.type||t.log&&t.warn&&t.error)&&(this.modules.logger=t),"languageDetector"===t.type&&(this.modules.languageDetector=t),"i18nFormat"===t.type&&(this.modules.i18nFormat=t),"postProcessor"===t.type&&x.addPostProcessor(t),"formatter"===t.type&&(this.modules.formatter=t),"3rdParty"===t.type&&this.modules.external.push(t),this}setResolvedLanguage(t){if(t&&this.languages&&!(["cimode","dev"].indexOf(t)>-1))for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(!(["cimode","dev"].indexOf(e)>-1)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}}changeLanguage(t,e){var s=this;this.isLanguageChangingTo=t;const i=a();this.emit("languageChanging",t);const n=t=>{this.language=t,this.languages=this.services.languageUtils.toResolveHierarchy(t),this.resolvedLanguage=void 0,this.setResolvedLanguage(t)},o=(t,o)=>{o?(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,i.resolve((function(){return s.t(...arguments)})),e&&e(t,(function(){return s.t(...arguments)}))},r=e=>{t||e||!this.services.languageDetector||(e=[]);const s="string"==typeof e?e:this.services.languageUtils.getBestMatchFromCodes(e);s&&(this.language||n(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(s)),this.loadResources(s,(t=>{o(t,s)}))};return t||!this.services.languageDetector||this.services.languageDetector.async?!t&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(t):r(this.services.languageDetector.detect()),i}getFixedT(t,e,s){var i=this;const n=function(t,e){let o;if("object"!=typeof e){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([t,e].concat(a))}else o={...e};o.lng=o.lng||n.lng,o.lngs=o.lngs||n.lngs,o.ns=o.ns||n.ns,o.keyPrefix=o.keyPrefix||s||n.keyPrefix;const u=i.options.keySeparator||".";let h;return h=o.keyPrefix&&Array.isArray(t)?t.map((t=>`${o.keyPrefix}${u}${t}`)):o.keyPrefix?`${o.keyPrefix}${u}${t}`:t,i.t(h,o)};return"string"==typeof t?n.lng=t:n.lngs=t,n.ns=e,n.keyPrefix=s,n}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=e.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(t,e)=>{const s=this.services.backendConnector.state[`${t}|${e}`];return-1===s||2===s};if(e.precheck){const t=e.precheck(this,o);if(void 0!==t)return t}return!(!this.hasResourceBundle(s,t)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(s,t)||i&&!o(n,t)))}loadNamespaces(t,e){const s=a();return this.options.ns?("string"==typeof t&&(t=[t]),t.forEach((t=>{this.options.ns.indexOf(t)<0&&this.options.ns.push(t)})),this.loadResources((t=>{s.resolve(),e&&e(t)})),s):(e&&e(),Promise.resolve())}loadLanguages(t,e){const s=a();"string"==typeof t&&(t=[t]);const i=this.options.preload||[],n=t.filter((t=>i.indexOf(t)<0));return n.length?(this.options.preload=i.concat(n),this.loadResources((t=>{s.resolve(),e&&e(t)})),s):(e&&e(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const e=this.services&&this.services.languageUtils||new O(V());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(e.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new U(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:A;const s=t.forkResourceStore;s&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},n=new U(i);return void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t)),["store","services","language"].forEach((t=>{n[t]=this[t]})),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s&&(n.store=new b(this.store.data,i),n.services.resourceStore=n.store),n.translator=new k(n.services,i),n.translator.on("*",(function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];n.emit(t,...s)})),n.init(i,e),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const K=U.createInstance();K.createInstance=U.createInstance;const M=K.createInstance,H=K.dir,B=K.init,J=K.loadResources,z=K.reloadResources,_=K.use,q=K.changeLanguage,W=K.getFixedT,Y=K.t,G=K.exists,Q=K.setDefaultNamespace,X=K.hasLoadedNamespace,Z=K.loadNamespaces,tt=K.loadLanguages}}]);
|
|
2
|
+
//# sourceMappingURL=4991.f8554fea.js.map
|