@webiny/app-admin-rmwc 5.41.4 → 5.42.0-beta.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_Button","_hamburger","_index","_appAdmin","Hamburger","_useTags","useTags","location","_useNavigation","useNavigation","visible","setVisible","default","createElement","IconButton","icon","ReactComponent","style","color","undefined","onClick","_default","exports"],"sources":["Hamburger.tsx"],"sourcesContent":["import React from \"react\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as MenuIcon } from \"./icons/hamburger.svg\";\nimport { useNavigation } from \"./index\";\nimport { useTags } from \"@webiny/app-admin\";\n\nconst Hamburger = () => {\n const { location } = useTags();\n const { visible, setVisible } = useNavigation();\n\n if (location === \"installer\") {\n return null;\n }\n\n return (\n <IconButton\n icon={<MenuIcon style={{ color: location === \"navigation\" ? undefined : \"white\" }} />}\n onClick={() => setVisible(!visible)}\n data-testid={location === \"navigation\" ? undefined : \"apps-menu\"}\n />\n );\n};\n\nexport default Hamburger;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEA,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;EACpB,IAAAC,QAAA,GAAqB,IAAAC,iBAAO,EAAC,CAAC;IAAtBC,QAAQ,GAAAF,QAAA,CAARE,QAAQ;EAChB,IAAAC,cAAA,GAAgC,IAAAC,oBAAa,EAAC,CAAC;IAAvCC,OAAO,GAAAF,cAAA,CAAPE,OAAO;IAAEC,UAAU,GAAAH,cAAA,CAAVG,UAAU;EAE3B,IAAIJ,QAAQ,KAAK,WAAW,EAAE;IAC1B,OAAO,IAAI;EACf;EAEA,oBACIV,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAc,UAAU;IACPC,IAAI,eAAElB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,UAAA,CAAAe,cAAQ;MAACC,KAAK,EAAE;QAAEC,KAAK,EAAEX,QAAQ,KAAK,YAAY,GAAGY,SAAS,GAAG;MAAQ;IAAE,CAAE,CAAE;IACtFC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Button","_hamburger","_index","_appAdmin","Hamburger","_useTags","useTags","location","_useNavigation","useNavigation","visible","setVisible","default","createElement","IconButton","icon","ReactComponent","style","color","undefined","onClick","_default","exports"],"sources":["Hamburger.tsx"],"sourcesContent":["import React from \"react\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as MenuIcon } from \"./icons/hamburger.svg\";\nimport { useNavigation } from \"./index\";\nimport { useTags } from \"@webiny/app-admin\";\n\nconst Hamburger = () => {\n const { location } = useTags();\n const { visible, setVisible } = useNavigation();\n\n if (location === \"installer\") {\n return null;\n }\n\n return (\n <IconButton\n icon={<MenuIcon style={{ color: location === \"navigation\" ? undefined : \"white\" }} />}\n onClick={() => setVisible(!visible)}\n data-testid={location === \"navigation\" ? undefined : \"apps-menu\"}\n />\n );\n};\n\nexport default Hamburger;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEA,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;EACpB,IAAAC,QAAA,GAAqB,IAAAC,iBAAO,EAAC,CAAC;IAAtBC,QAAQ,GAAAF,QAAA,CAARE,QAAQ;EAChB,IAAAC,cAAA,GAAgC,IAAAC,oBAAa,EAAC,CAAC;IAAvCC,OAAO,GAAAF,cAAA,CAAPE,OAAO;IAAEC,UAAU,GAAAH,cAAA,CAAVG,UAAU;EAE3B,IAAIJ,QAAQ,KAAK,WAAW,EAAE;IAC1B,OAAO,IAAI;EACf;EAEA,oBACIV,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAc,UAAU;IACPC,IAAI,eAAElB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,UAAA,CAAAe,cAAQ;MAACC,KAAK,EAAE;QAAEC,KAAK,EAAEX,QAAQ,KAAK,YAAY,GAAGY,SAAS,GAAG;MAAQ;IAAE,CAAE,CAAE;IACtFC,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQT,UAAU,CAAC,CAACD,OAAO,CAAC;IAAA,CAAC;IACpC,eAAaH,QAAQ,KAAK,YAAY,GAAGY,SAAS,GAAG;EAAY,CACpE,CAAC;AAEV,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEaR,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_Drawer","_appAdmin","_Hamburger","_interopRequireDefault","_MenuGroupRenderer","_MenuSectionItemRenderer","_MenuSectionRenderer","_MenuLinkRenderer","_MenuElementRenderer","_List","_Styled","_EMOTION_STRINGIFIED_CSS_ERROR__","AutoWidthDrawer","_base","default","Drawer","process","env","NODE_ENV","target","label","name","styles","map","toString","NavigationContext","React","createContext","visible","setVisible","displayName","useNavigation","useContext","BrandImpl","Brand","BrandWithHamburger","createElement","Fragment","NavigationProvider","Component","props","_useState","useState","_useState2","_slicedToArray2","context","useMemo","Provider","value","NavigationImpl","exports","Navigation","_useAdminNavigation","useAdminNavigation","menuItems","_useNavigation","hideDrawer","useCallback","mainMenu","filter","m","tags","includes","footerMenu","modal","open","onClose","DrawerHeader","className","navHeader","MenuHeader","DrawerContent","navContent","MenuItems","MenuFooter","List","nonInteractive","menuSorter","a","b","pin","localeCompare","SortedMenuItems","_ref","_toConsumableArray2","sort","hoc","Compose","component","NavigationSpec","with","BrandSpec","MenuItemRenderer","MenuGroupRenderer","MenuSectionItemRenderer","MenuSectionRenderer","MenuLinkRenderer","MenuElementRenderer"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useContext, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Drawer, DrawerContent, DrawerHeader } from \"@webiny/ui/Drawer\";\nimport {\n Brand as BrandSpec,\n Compose,\n HigherOrderComponent,\n MenuData,\n MenuItemRenderer,\n MenuItems,\n MenuItemsProps,\n NavigationRenderer as NavigationSpec,\n Provider,\n useNavigation as useAdminNavigation\n} from \"@webiny/app-admin\";\nimport Hamburger from \"./Hamburger\";\nimport { MenuGroupRenderer } from \"./renderers/MenuGroupRenderer\";\nimport { MenuSectionItemRenderer } from \"./renderers/MenuSectionItemRenderer\";\nimport { MenuSectionRenderer } from \"./renderers/MenuSectionRenderer\";\nimport { MenuLinkRenderer } from \"./renderers/MenuLinkRenderer\";\nimport { MenuElementRenderer } from \"./renderers/MenuElementRenderer\";\nimport { List } from \"@webiny/ui/List\";\nimport { MenuFooter, MenuHeader, navContent, navHeader } from \"./Styled\";\n\nconst AutoWidthDrawer = styled(Drawer)`\n width: auto;\n`;\n\ninterface NavigationContext {\n visible: boolean;\n setVisible(visible: boolean): void;\n}\n\nconst NavigationContext = React.createContext<NavigationContext>({\n visible: false,\n setVisible: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation(): NavigationContext {\n return useContext(NavigationContext);\n}\n\nconst BrandImpl: HigherOrderComponent = Brand => {\n return function BrandWithHamburger() {\n return (\n <Fragment>\n <Hamburger />\n <Brand />\n </Fragment>\n );\n };\n};\n\ninterface NavigationProviderProps {\n children?: React.ReactNode;\n}\n\nconst NavigationProvider = (Component: React.ComponentType<NavigationProviderProps>) => {\n return function NavigationProvider(props: NavigationProviderProps) {\n const [visible, setVisible] = useState(false);\n\n const context = useMemo(() => ({ visible, setVisible }), [visible]);\n\n return (\n <NavigationContext.Provider value={context}>\n <Component {...props} />\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const NavigationImpl = () => {\n return function Navigation() {\n const { menuItems } = useAdminNavigation();\n const { visible, setVisible } = useNavigation();\n\n const hideDrawer = useCallback(() => {\n setVisible(false);\n }, []);\n\n const mainMenu = useMemo(\n () => menuItems.filter(m => !(m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const footerMenu = useMemo(\n () => menuItems.filter(m => (m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n return (\n <AutoWidthDrawer modal open={visible} onClose={hideDrawer}>\n <DrawerHeader className={navHeader}>\n <MenuHeader>\n <BrandSpec />\n </MenuHeader>\n </DrawerHeader>\n <DrawerContent className={navContent}>\n <MenuItems menuItems={mainMenu} />\n </DrawerContent>\n <MenuFooter>\n <List nonInteractive>\n <MenuItems menuItems={footerMenu} />\n </List>\n </MenuFooter>\n </AutoWidthDrawer>\n );\n };\n};\n\nconst menuSorter = (a: MenuData, b: MenuData): number => {\n if (a.pin === b.pin) {\n return (a.label || \"\").localeCompare(b.label || \"\");\n }\n\n if (a.pin) {\n return a.pin === \"first\" ? -1 : 1;\n }\n\n if (b.pin) {\n return b.pin === \"first\" ? 1 : -1;\n }\n\n return (a.label || \"\").localeCompare(b.label || \"\");\n};\n\nconst SortedMenuItems: HigherOrderComponent<MenuItemsProps> = MenuItems => {\n return function SortedMenuItems({ menuItems }) {\n return <MenuItems menuItems={[...menuItems].sort(menuSorter)} />;\n };\n};\n\nexport const Navigation = () => {\n return (\n <Fragment>\n <Provider hoc={NavigationProvider} />\n <Compose component={NavigationSpec} with={NavigationImpl} />\n <Compose component={MenuItems} with={SortedMenuItems} />\n <Compose component={BrandSpec} with={BrandImpl} />\n <Compose\n component={MenuItemRenderer}\n with={[\n MenuGroupRenderer,\n MenuSectionItemRenderer,\n MenuSectionRenderer,\n MenuLinkRenderer,\n MenuElementRenderer\n ]}\n />\n </Fragment>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_Drawer","_appAdmin","_Hamburger","_interopRequireDefault","_MenuGroupRenderer","_MenuSectionItemRenderer","_MenuSectionRenderer","_MenuLinkRenderer","_MenuElementRenderer","_List","_Styled","_EMOTION_STRINGIFIED_CSS_ERROR__","AutoWidthDrawer","_base","default","Drawer","process","env","NODE_ENV","target","label","name","styles","map","toString","NavigationContext","React","createContext","visible","setVisible","displayName","useNavigation","useContext","BrandImpl","Brand","BrandWithHamburger","createElement","Fragment","NavigationProvider","Component","props","_useState","useState","_useState2","_slicedToArray2","context","useMemo","Provider","value","NavigationImpl","exports","Navigation","_useAdminNavigation","useAdminNavigation","menuItems","_useNavigation","hideDrawer","useCallback","mainMenu","filter","m","tags","includes","footerMenu","modal","open","onClose","DrawerHeader","className","navHeader","MenuHeader","DrawerContent","navContent","MenuItems","MenuFooter","List","nonInteractive","menuSorter","a","b","pin","localeCompare","SortedMenuItems","_ref","_toConsumableArray2","sort","hoc","Compose","component","NavigationSpec","with","BrandSpec","MenuItemRenderer","MenuGroupRenderer","MenuSectionItemRenderer","MenuSectionRenderer","MenuLinkRenderer","MenuElementRenderer"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useContext, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Drawer, DrawerContent, DrawerHeader } from \"@webiny/ui/Drawer\";\nimport {\n Brand as BrandSpec,\n Compose,\n HigherOrderComponent,\n MenuData,\n MenuItemRenderer,\n MenuItems,\n MenuItemsProps,\n NavigationRenderer as NavigationSpec,\n Provider,\n useNavigation as useAdminNavigation\n} from \"@webiny/app-admin\";\nimport Hamburger from \"./Hamburger\";\nimport { MenuGroupRenderer } from \"./renderers/MenuGroupRenderer\";\nimport { MenuSectionItemRenderer } from \"./renderers/MenuSectionItemRenderer\";\nimport { MenuSectionRenderer } from \"./renderers/MenuSectionRenderer\";\nimport { MenuLinkRenderer } from \"./renderers/MenuLinkRenderer\";\nimport { MenuElementRenderer } from \"./renderers/MenuElementRenderer\";\nimport { List } from \"@webiny/ui/List\";\nimport { MenuFooter, MenuHeader, navContent, navHeader } from \"./Styled\";\n\nconst AutoWidthDrawer = styled(Drawer)`\n width: auto;\n`;\n\ninterface NavigationContext {\n visible: boolean;\n setVisible(visible: boolean): void;\n}\n\nconst NavigationContext = React.createContext<NavigationContext>({\n visible: false,\n setVisible: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation(): NavigationContext {\n return useContext(NavigationContext);\n}\n\nconst BrandImpl: HigherOrderComponent = Brand => {\n return function BrandWithHamburger() {\n return (\n <Fragment>\n <Hamburger />\n <Brand />\n </Fragment>\n );\n };\n};\n\ninterface NavigationProviderProps {\n children?: React.ReactNode;\n}\n\nconst NavigationProvider = (Component: React.ComponentType<NavigationProviderProps>) => {\n return function NavigationProvider(props: NavigationProviderProps) {\n const [visible, setVisible] = useState(false);\n\n const context = useMemo(() => ({ visible, setVisible }), [visible]);\n\n return (\n <NavigationContext.Provider value={context}>\n <Component {...props} />\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const NavigationImpl = () => {\n return function Navigation() {\n const { menuItems } = useAdminNavigation();\n const { visible, setVisible } = useNavigation();\n\n const hideDrawer = useCallback(() => {\n setVisible(false);\n }, []);\n\n const mainMenu = useMemo(\n () => menuItems.filter(m => !(m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n const footerMenu = useMemo(\n () => menuItems.filter(m => (m.tags || []).includes(\"footer\")),\n [menuItems]\n );\n\n return (\n <AutoWidthDrawer modal open={visible} onClose={hideDrawer}>\n <DrawerHeader className={navHeader}>\n <MenuHeader>\n <BrandSpec />\n </MenuHeader>\n </DrawerHeader>\n <DrawerContent className={navContent}>\n <MenuItems menuItems={mainMenu} />\n </DrawerContent>\n <MenuFooter>\n <List nonInteractive>\n <MenuItems menuItems={footerMenu} />\n </List>\n </MenuFooter>\n </AutoWidthDrawer>\n );\n };\n};\n\nconst menuSorter = (a: MenuData, b: MenuData): number => {\n if (a.pin === b.pin) {\n return (a.label || \"\").localeCompare(b.label || \"\");\n }\n\n if (a.pin) {\n return a.pin === \"first\" ? -1 : 1;\n }\n\n if (b.pin) {\n return b.pin === \"first\" ? 1 : -1;\n }\n\n return (a.label || \"\").localeCompare(b.label || \"\");\n};\n\nconst SortedMenuItems: HigherOrderComponent<MenuItemsProps> = MenuItems => {\n return function SortedMenuItems({ menuItems }) {\n return <MenuItems menuItems={[...menuItems].sort(menuSorter)} />;\n };\n};\n\nexport const Navigation = () => {\n return (\n <Fragment>\n <Provider hoc={NavigationProvider} />\n <Compose component={NavigationSpec} with={NavigationImpl} />\n <Compose component={MenuItems} with={SortedMenuItems} />\n <Compose component={BrandSpec} with={BrandImpl} />\n <Compose\n component={MenuItemRenderer}\n with={[\n MenuGroupRenderer,\n MenuSectionItemRenderer,\n MenuSectionRenderer,\n MenuLinkRenderer,\n MenuElementRenderer\n ]}\n />\n </Fragment>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_reactRouter","_List","_index","_appAdmin","linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","fontWeight","submenuItems","margin","padding","submenuList","MenuSectionItemRenderer","exports","PrevMenuItem","MenuSectionItem","_useNavigation","useNavigation","setVisible","_useMenuItem","useMenuItem","menuItem","depth","hideMenu","useCallback","shouldRender","Boolean","path","default","createElement","console","log","List","className","ListItem","testId","Link","to","onClick","label"],"sources":["MenuSectionItemRenderer.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport { Link } from \"@webiny/react-router\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { useNavigation } from \"../index\";\nimport { useMenuItem } from \"@webiny/app-admin\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n fontWeight: 400,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-deprecated-list-item\": {\n paddingLeft: 0,\n margin: 0,\n padding: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-deprecated-list\": {\n padding: 0\n }\n});\n\nexport const MenuSectionItemRenderer = (PrevMenuItem: React.ComponentType) => {\n return function MenuSectionItem() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n\n const hideMenu = useCallback(() => setVisible(false), []);\n const shouldRender = depth > 0 && Boolean(menuItem ? menuItem.path : false);\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n } else if (!menuItem) {\n // TODO @ts-refactor check if to return component or null @pavel\n console.log(\n \"MenuSectionItemRenderer returning PrevMenuItem because no menuItem variable.\"\n );\n return <PrevMenuItem />;\n }\n\n return (\n <List className={submenuList}>\n <ListItem className={submenuItems} data-testid={menuItem.testId}>\n {menuItem.path ? (\n <Link\n className={linkStyle}\n to={menuItem.path}\n onClick={menuItem.onClick || hideMenu}\n >\n {menuItem.label}\n </Link>\n ) : (\n <span\n onClick={() => {\n if (!menuItem.onClick) {\n return;\n }\n menuItem.onClick();\n }}\n className={linkStyle}\n >\n {menuItem.label}\n </span>\n )}\n </ListItem>\n </List>\n );\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAMM,SAAS,GAAG,IAAAC,YAAG,EAAC;EAClBC,KAAK,EAAE,6CAA6C;EACpDC,cAAc,EAAE,MAAM;EACtBC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAE,MAAM;EACfC,WAAW,EAAE,EAAE;EACfC,UAAU,EAAE,GAAG;EACf,SAAS,EAAE;IACPP,cAAc,EAAE;EACpB;AACJ,CAAC,CAAC;AAEF,IAAMQ,YAAY,GAAG,IAAAV,YAAG,EAAC;EACrB,wCAAwC,EAAE;IACtCQ,WAAW,EAAE,CAAC;IACdG,MAAM,EAAE,CAAC;IACTC,OAAO,EAAE;EACb;AACJ,CAAC,CAAC;AAEF,IAAMC,WAAW,GAAG,IAAAb,YAAG,EAAC;EACpB,uBAAuB,EAAE;IACrBY,OAAO,EAAE;EACb;AACJ,CAAC,CAAC;AAEK,IAAME,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAIE,YAAiC,EAAK;EAC1E,OAAO,SAASC,eAAeA,CAAA,EAAG;IAC9B,IAAAC,cAAA,GAAuB,IAAAC,oBAAa,EAAC,CAAC;MAA9BC,UAAU,GAAAF,cAAA,CAAVE,UAAU;IAClB,IAAAC,YAAA,GAA4B,IAAAC,qBAAW,EAAC,CAAC;MAAjCC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;MAAEC,KAAK,GAAAH,YAAA,CAALG,KAAK;IAEvB,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC;MAAA,OAAMN,UAAU,CAAC,KAAK,CAAC;IAAA,GAAE,EAAE,CAAC;IACzD,IAAMO,YAAY,GAAGH,KAAK,GAAG,CAAC,IAAII,OAAO,CAACL,QAAQ,GAAGA,QAAQ,CAACM,IAAI,GAAG,KAAK,CAAC;IAE3E,IAAI,CAACF,YAAY,EAAE;MACf,oBAAOpC,MAAA,CAAAuC,OAAA,CAAAC,aAAA,CAACf,YAAY,MAAE,CAAC;IAC3B,CAAC,MAAM,IAAI,CAACO,QAAQ,EAAE;MAClB;MACAS,OAAO,CAACC,GAAG,CACP,8EACJ,CAAC;MACD,oBAAO1C,MAAA,CAAAuC,OAAA,CAAAC,aAAA,CAACf,YAAY,MAAE,CAAC;IAC3B;IAEA,oBACIzB,MAAA,CAAAuC,OAAA,CAAAC,aAAA,CAACnC,KAAA,CAAAsC,IAAI;MAACC,SAAS,EAAEtB;IAAY,gBACzBtB,MAAA,CAAAuC,OAAA,CAAAC,aAAA,CAACnC,KAAA,CAAAwC,QAAQ;MAACD,SAAS,EAAEzB,YAAa;MAAC,eAAaa,QAAQ,CAACc;IAAO,GAC3Dd,QAAQ,CAACM,IAAI,gBACVtC,MAAA,CAAAuC,OAAA,CAAAC,aAAA,CAACpC,YAAA,CAAA2C,IAAI;MACDH,SAAS,EAAEpC,SAAU;MACrBwC,EAAE,EAAEhB,QAAQ,CAACM,IAAK;MAClBW,OAAO,EAAEjB,QAAQ,CAACiB,OAAO,IAAIf;IAAS,GAErCF,QAAQ,CAACkB,KACR,CAAC,gBAEPlD,MAAA,CAAAuC,OAAA,CAAAC,aAAA;MACIS,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_reactRouter","_List","_index","_appAdmin","linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","fontWeight","submenuItems","margin","padding","submenuList","MenuSectionItemRenderer","exports","PrevMenuItem","MenuSectionItem","_useNavigation","useNavigation","setVisible","_useMenuItem","useMenuItem","menuItem","depth","hideMenu","useCallback","shouldRender","Boolean","path","default","createElement","console","log","List","className","ListItem","testId","Link","to","onClick","label"],"sources":["MenuSectionItemRenderer.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport { Link } from \"@webiny/react-router\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { useNavigation } from \"../index\";\nimport { useMenuItem } from \"@webiny/app-admin\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n fontWeight: 400,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-deprecated-list-item\": {\n paddingLeft: 0,\n margin: 0,\n padding: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-deprecated-list\": {\n padding: 0\n }\n});\n\nexport const MenuSectionItemRenderer = (PrevMenuItem: React.ComponentType) => {\n return function MenuSectionItem() {\n const { setVisible } = useNavigation();\n const { menuItem, depth } = useMenuItem();\n\n const hideMenu = useCallback(() => setVisible(false), []);\n const shouldRender = depth > 0 && Boolean(menuItem ? menuItem.path : false);\n\n if (!shouldRender) {\n return <PrevMenuItem />;\n } else if (!menuItem) {\n // TODO @ts-refactor check if to return component or null @pavel\n console.log(\n \"MenuSectionItemRenderer returning PrevMenuItem because no menuItem variable.\"\n );\n return <PrevMenuItem />;\n }\n\n return (\n <List className={submenuList}>\n <ListItem className={submenuItems} data-testid={menuItem.testId}>\n {menuItem.path ? (\n <Link\n className={linkStyle}\n to={menuItem.path}\n onClick={menuItem.onClick || hideMenu}\n >\n {menuItem.label}\n </Link>\n ) : (\n <span\n onClick={() => {\n if (!menuItem.onClick) {\n return;\n }\n menuItem.onClick();\n }}\n className={linkStyle}\n >\n {menuItem.label}\n </span>\n )}\n </ListItem>\n </List>\n );\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactRouter","_utils","_search","_reactHotkeyz","_Input","_Typography","_Dialog","getIndexedItemsList","items","lastUsedItemIndex","map","itemsSection","_objectSpread2","default","item","index","getItemFromIndexedItemsList","itemsSections","i","length","j","OmniSearch","exports","_useState","useState","_useState2","_slicedToArray2","omniSearchVisible","setShowOmniSearch","_useState3","_useState4","itemRender","setItemRender","_useState5","_useState6","filter","setFilter","_useState7","_useState8","focusedItemIndex","focusItemAtIndex","_useNavigation","useNavigation","menuItems","_useSnackbar","useSnackbar","showSnackbar","navigate","useNavigate","showOmniSearch","useCallback","hideOmniSearch","undefined","onFilter","searchString","selectItem","link","callback","render","fullItemsList","useMemo","id","title","_toConsumableArray2","level1Item","children","level2Item","child","description","label","join","path","flat","getTenantId","navigator","clipboard","writeText","Boolean","filteredIndexedItemsList","filteredItems1stPass","toLowerCase","includes","filteredItems2ndPass","selectFocusedItem","focusedItem","focusNextItem","nextIndex","itemToFocus","focusPrevItem","prevIndex","useHotkeys","zIndex","keys","esc","enter","arrowUp","arrowDown","disabled","renderedResults","createElement","Fragment","key","className","Typography","use","isFocused","onClick","onMouseEnter","Dialog","Input","icon","ReactComponent","placeholder","autoFocus","value","onChange"],"sources":["OmniSearch.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useNavigation } from \"@webiny/app-admin\";\nimport { useNavigate } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { getTenantId } from \"@webiny/app/utils\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\n/**\n * Library does not have types.\n */\n// @ts-expect-error\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { Dialog } from \"./OmniSearch/Dialog\";\n\ninterface Item {\n id: string;\n title: string;\n description: string;\n link?: string;\n callback?: () => void | Promise<void>;\n render?: () => React.ReactElement;\n}\n\ninterface ItemsSection {\n id: string;\n title: string;\n items: Item[];\n}\n\ninterface IndexedItem extends Item {\n index: number;\n}\n\ninterface IndexedItemsSection extends Omit<ItemsSection, \"items\"> {\n id: string;\n title: string;\n items: IndexedItem[];\n}\n\nconst getIndexedItemsList = (items: ItemsSection[]): IndexedItemsSection[] => {\n let lastUsedItemIndex = 0;\n return items.map(itemsSection => {\n return {\n ...itemsSection,\n items: itemsSection.items.map(item => {\n const index = lastUsedItemIndex++;\n return {\n ...item,\n index\n };\n })\n };\n });\n};\n\nconst getItemFromIndexedItemsList = (\n itemsSections: IndexedItemsSection[],\n index: number\n): IndexedItem | null => {\n if (index < 0) {\n return null;\n }\n\n for (let i = 0; i < itemsSections.length; i++) {\n const itemsSection = itemsSections[i];\n for (let j = 0; j < itemsSection.items.length; j++) {\n const item = itemsSection.items[j];\n if (item.index === index) {\n return item;\n }\n }\n }\n\n return null;\n};\n\nexport const OmniSearch = () => {\n const [omniSearchVisible, setShowOmniSearch] = useState(false);\n const [itemRender, setItemRender] = useState<() => React.ReactElement>();\n const [filter, setFilter] = useState(\"\");\n const [focusedItemIndex, focusItemAtIndex] = useState(0);\n const { menuItems } = useNavigation();\n const { showSnackbar } = useSnackbar();\n const navigate = useNavigate();\n const showOmniSearch = useCallback(() => {\n setShowOmniSearch(true);\n }, []);\n\n const hideOmniSearch = useCallback(() => {\n setShowOmniSearch(false);\n setItemRender(undefined);\n setFilter(\"\");\n }, []);\n\n const onFilter = useCallback((searchString: string) => {\n setFilter(searchString);\n focusItemAtIndex(0);\n }, []);\n\n const selectItem = useCallback((item: Item) => {\n if (item.link) {\n navigate(item.link);\n hideOmniSearch();\n return;\n }\n\n if (item.callback) {\n item.callback();\n hideOmniSearch();\n return;\n }\n\n if (item.render) {\n setFilter(\"\");\n setItemRender(() => item.render);\n }\n }, []);\n\n // TODO: should be pulled from registered plugins.\n const fullItemsList = useMemo<ItemsSection[]>(() => {\n return [\n {\n id: \"apps\",\n title: \"Apps\",\n items: [\n ...menuItems\n .map(level1Item => {\n return [\n ...level1Item.children.map(level2Item => {\n return [\n ...level2Item.children.map(child => {\n const description = [\n level1Item.label,\n level2Item.label\n ].join(\" / \");\n\n return {\n id: description + child.label,\n title: child.label!,\n description,\n link: child.path\n };\n })\n ];\n })\n ].flat();\n })\n .flat()\n ]\n },\n {\n id: \"other\",\n title: \"Other\",\n items: [\n {\n id: \"back\",\n title: \"← Back\",\n description: \"Navigates to the previous page.\",\n callback: () => {\n navigate(-1);\n }\n }\n ]\n },\n getTenantId() && {\n id: \"development\",\n title: \"Development\",\n items: [\n {\n id: \"copy-tenant-id\",\n title: \"Copy current tenant ID\",\n description: \"Copies current tenant ID into clipboard.\",\n callback: () => {\n navigator.clipboard.writeText(getTenantId()!);\n showSnackbar(\"Tenant ID copied to clipboard.\");\n }\n }\n ]\n }\n ].filter(Boolean) as ItemsSection[];\n }, [menuItems]);\n\n const filteredIndexedItemsList = useMemo(() => {\n if (!filter) {\n return getIndexedItemsList(fullItemsList);\n }\n\n const filteredItems1stPass = fullItemsList.map(itemsSection => {\n return {\n ...itemsSection,\n items: itemsSection.items.filter(item => {\n return item.title?.toLowerCase().includes(filter.toLowerCase());\n })\n };\n });\n\n const filteredItems2ndPass = filteredItems1stPass.filter(\n itemsSection => itemsSection.items.length > 0\n );\n\n return getIndexedItemsList(filteredItems2ndPass);\n }, [fullItemsList, filter]);\n\n const selectFocusedItem = useCallback(() => {\n const focusedItem = getItemFromIndexedItemsList(filteredIndexedItemsList, focusedItemIndex);\n if (focusedItem) {\n selectItem(focusedItem);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n const focusNextItem = useCallback(() => {\n const nextIndex = focusedItemIndex + 1;\n const itemToFocus = getItemFromIndexedItemsList(filteredIndexedItemsList, nextIndex);\n if (itemToFocus) {\n focusItemAtIndex(itemToFocus.index);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n const focusPrevItem = useCallback(() => {\n const prevIndex = focusedItemIndex - 1;\n const itemToFocus = getItemFromIndexedItemsList(filteredIndexedItemsList, prevIndex);\n if (itemToFocus) {\n focusItemAtIndex(itemToFocus.index);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n useHotkeys({\n zIndex: 1000,\n keys: {\n \"mod+k\": showOmniSearch,\n esc: hideOmniSearch\n }\n });\n\n useHotkeys({\n zIndex: 1000,\n keys: {\n enter: selectFocusedItem,\n arrowUp: focusPrevItem,\n arrowDown: focusNextItem\n },\n disabled: !omniSearchVisible\n });\n\n if (!omniSearchVisible) {\n return null;\n }\n\n let renderedResults = <>Nothing to show.</>;\n if (itemRender) {\n renderedResults = itemRender();\n } else if (filteredIndexedItemsList.length > 0) {\n renderedResults = (\n <ul>\n {filteredIndexedItemsList.map(itemsSection => (\n <li key={itemsSection.id}>\n <div className={\"section-title\"}>\n <Typography use={\"overline\"}>{itemsSection.title}</Typography>\n </div>\n <div className={\"section-items\"}>\n <ul>\n {itemsSection.items.map(item => {\n const isFocused = item.index === focusedItemIndex;\n return (\n <li\n className={isFocused ? \"focused\" : \"\"}\n key={item.id}\n onClick={() => selectFocusedItem()}\n onMouseEnter={() => focusItemAtIndex(item.index)}\n >\n <div className={\"section-item-title\"}>{item.title}</div>\n <Typography\n use={\"caption\"}\n className={\"section-item-description\"}\n >\n {item.description}\n </Typography>\n </li>\n );\n })}\n </ul>\n </div>\n </li>\n ))}\n </ul>\n );\n }\n\n return (\n <Dialog>\n <div className={\"dialog\"}>\n <div className={\"search-input\"}>\n <Input\n icon={<SearchIcon />}\n placeholder={\"Search...\"}\n autoFocus\n value={filter}\n onChange={onFilter}\n />\n </div>\n {renderedResults}\n </div>\n </Dialog>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AARA;AACA;AACA;AACA;;AAgCA,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAqB,EAA4B;EAC1E,IAAIC,iBAAiB,GAAG,CAAC;EACzB,OAAOD,KAAK,CAACE,GAAG,CAAC,UAAAC,YAAY,EAAI;IAC7B,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,YAAY;MACfH,KAAK,EAAEG,YAAY,CAACH,KAAK,CAACE,GAAG,CAAC,UAAAI,IAAI,EAAI;QAClC,IAAMC,KAAK,GAAGN,iBAAiB,EAAE;QACjC,WAAAG,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOC,IAAI;UACPC,KAAK,EAALA;QAAK;MAEb,CAAC;IAAC;EAEV,CAAC,CAAC;AACN,CAAC;AAED,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,aAAoC,EACpCF,KAAa,EACQ;EACrB,IAAIA,KAAK,GAAG,CAAC,EAAE;IACX,OAAO,IAAI;EACf;EAEA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,aAAa,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IAC3C,IAAMP,YAAY,GAAGM,aAAa,CAACC,CAAC,CAAC;IACrC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,YAAY,CAACH,KAAK,CAACW,MAAM,EAAEC,CAAC,EAAE,EAAE;MAChD,IAAMN,IAAI,GAAGH,YAAY,CAACH,KAAK,CAACY,CAAC,CAAC;MAClC,IAAIN,IAAI,CAACC,KAAK,KAAKA,KAAK,EAAE;QACtB,OAAOD,IAAI;MACf;IACJ;EACJ;EAEA,OAAO,IAAI;AACf,CAAC;AAEM,IAAMO,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAA,EAAS;EAC5B,IAAAE,SAAA,GAA+C,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAb,OAAA,EAAAU,SAAA;IAAvDI,iBAAiB,GAAAF,UAAA;IAAEG,iBAAiB,GAAAH,UAAA;EAC3C,IAAAI,UAAA,GAAoC,IAAAL,eAAQ,EAA2B,CAAC;IAAAM,UAAA,OAAAJ,eAAA,CAAAb,OAAA,EAAAgB,UAAA;IAAjEE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAA4B,IAAAT,eAAQ,EAAC,EAAE,CAAC;IAAAU,UAAA,OAAAR,eAAA,CAAAb,OAAA,EAAAoB,UAAA;IAAjCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GAA6C,IAAAb,eAAQ,EAAC,CAAC,CAAC;IAAAc,UAAA,OAAAZ,eAAA,CAAAb,OAAA,EAAAwB,UAAA;IAAjDE,gBAAgB,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACzC,IAAAG,cAAA,GAAsB,IAAAC,uBAAa,EAAC,CAAC;IAA7BC,SAAS,GAAAF,cAAA,CAATE,SAAS;EACjB,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAC9B,IAAMC,cAAc,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACrCtB,iBAAiB,CAAC,IAAI,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMuB,cAAc,GAAG,IAAAD,kBAAW,EAAC,YAAM;IACrCtB,iBAAiB,CAAC,KAAK,CAAC;IACxBI,aAAa,CAACoB,SAAS,CAAC;IACxBhB,SAAS,CAAC,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMiB,QAAQ,GAAG,IAAAH,kBAAW,EAAC,UAACI,YAAoB,EAAK;IACnDlB,SAAS,CAACkB,YAAY,CAAC;IACvBd,gBAAgB,CAAC,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMe,UAAU,GAAG,IAAAL,kBAAW,EAAC,UAACpC,IAAU,EAAK;IAC3C,IAAIA,IAAI,CAAC0C,IAAI,EAAE;MACXT,QAAQ,CAACjC,IAAI,CAAC0C,IAAI,CAAC;MACnBL,cAAc,CAAC,CAAC;MAChB;IACJ;IAEA,IAAIrC,IAAI,CAAC2C,QAAQ,EAAE;MACf3C,IAAI,CAAC2C,QAAQ,CAAC,CAAC;MACfN,cAAc,CAAC,CAAC;MAChB;IACJ;IAEA,IAAIrC,IAAI,CAAC4C,MAAM,EAAE;MACbtB,SAAS,CAAC,EAAE,CAAC;MACbJ,aAAa,CAAC;QAAA,OAAMlB,IAAI,CAAC4C,MAAM;MAAA,EAAC;IACpC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAMC,aAAa,GAAG,IAAAC,cAAO,EAAiB,YAAM;IAChD,OAAO,CACH;MACIC,EAAE,EAAE,MAAM;MACVC,KAAK,EAAE,MAAM;MACbtD,KAAK,MAAAuD,mBAAA,CAAAlD,OAAA,EACE8B,SAAS,CACPjC,GAAG,CAAC,UAAAsD,UAAU,EAAI;QACf,OAAO,IAAAD,mBAAA,CAAAlD,OAAA,EACAmD,UAAU,CAACC,QAAQ,CAACvD,GAAG,CAAC,UAAAwD,UAAU,EAAI;UACrC,WAAAH,mBAAA,CAAAlD,OAAA,EACOqD,UAAU,CAACD,QAAQ,CAACvD,GAAG,CAAC,UAAAyD,KAAK,EAAI;YAChC,IAAMC,WAAW,GAAG,CAChBJ,UAAU,CAACK,KAAK,EAChBH,UAAU,CAACG,KAAK,CACnB,CAACC,IAAI,CAAC,KAAK,CAAC;YAEb,OAAO;cACHT,EAAE,EAAEO,WAAW,GAAGD,KAAK,CAACE,KAAK;cAC7BP,KAAK,EAAEK,KAAK,CAACE,KAAM;cACnBD,WAAW,EAAXA,WAAW;cACXZ,IAAI,EAAEW,KAAK,CAACI;YAChB,CAAC;UACL,CAAC,CAAC;QAEV,CAAC,CAAC,EACJC,IAAI,CAAC,CAAC;MACZ,CAAC,CAAC,CACDA,IAAI,CAAC,CAAC;IAEnB,CAAC,EACD;MACIX,EAAE,EAAE,OAAO;MACXC,KAAK,EAAE,OAAO;MACdtD,KAAK,EAAE,CACH;QACIqD,EAAE,EAAE,MAAM;QACVC,KAAK,EAAE,QAAQ;QACfM,WAAW,EAAE,iCAAiC;QAC9CX,QAAQ,EAAE,SAAAA,SAAA,EAAM;UACZV,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChB;MACJ,CAAC;IAET,CAAC,EACD,IAAA0B,kBAAW,EAAC,CAAC,IAAI;MACbZ,EAAE,EAAE,aAAa;MACjBC,KAAK,EAAE,aAAa;MACpBtD,KAAK,EAAE,CACH;QACIqD,EAAE,EAAE,gBAAgB;QACpBC,KAAK,EAAE,wBAAwB;QAC/BM,WAAW,EAAE,0CAA0C;QACvDX,QAAQ,EAAE,SAAAA,SAAA,EAAM;UACZiB,SAAS,CAACC,SAAS,CAACC,SAAS,CAAC,IAAAH,kBAAW,EAAC,CAAE,CAAC;UAC7C3B,YAAY,CAAC,gCAAgC,CAAC;QAClD;MACJ,CAAC;IAET,CAAC,CACJ,CAACX,MAAM,CAAC0C,OAAO,CAAC;EACrB,CAAC,EAAE,CAAClC,SAAS,CAAC,CAAC;EAEf,IAAMmC,wBAAwB,GAAG,IAAAlB,cAAO,EAAC,YAAM;IAC3C,IAAI,CAACzB,MAAM,EAAE;MACT,OAAO5B,mBAAmB,CAACoD,aAAa,CAAC;IAC7C;IAEA,IAAMoB,oBAAoB,GAAGpB,aAAa,CAACjD,GAAG,CAAC,UAAAC,YAAY,EAAI;MAC3D,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,YAAY;QACfH,KAAK,EAAEG,YAAY,CAACH,KAAK,CAAC2B,MAAM,CAAC,UAAArB,IAAI,EAAI;UACrC,OAAOA,IAAI,CAACgD,KAAK,EAAEkB,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC9C,MAAM,CAAC6C,WAAW,CAAC,CAAC,CAAC;QACnE,CAAC;MAAC;IAEV,CAAC,CAAC;IAEF,IAAME,oBAAoB,GAAGH,oBAAoB,CAAC5C,MAAM,CACpD,UAAAxB,YAAY;MAAA,OAAIA,YAAY,CAACH,KAAK,CAACW,MAAM,GAAG,CAAC;IAAA,CACjD,CAAC;IAED,OAAOZ,mBAAmB,CAAC2E,oBAAoB,CAAC;EACpD,CAAC,EAAE,CAACvB,aAAa,EAAExB,MAAM,CAAC,CAAC;EAE3B,IAAMgD,iBAAiB,GAAG,IAAAjC,kBAAW,EAAC,YAAM;IACxC,IAAMkC,WAAW,GAAGpE,2BAA2B,CAAC8D,wBAAwB,EAAEvC,gBAAgB,CAAC;IAC3F,IAAI6C,WAAW,EAAE;MACb7B,UAAU,CAAC6B,WAAW,CAAC;IAC3B;EACJ,CAAC,EAAE,CAACN,wBAAwB,EAAEvC,gBAAgB,CAAC,CAAC;EAEhD,IAAM8C,aAAa,GAAG,IAAAnC,kBAAW,EAAC,YAAM;IACpC,IAAMoC,SAAS,GAAG/C,gBAAgB,GAAG,CAAC;IACtC,IAAMgD,WAAW,GAAGvE,2BAA2B,CAAC8D,wBAAwB,EAAEQ,SAAS,CAAC;IACpF,IAAIC,WAAW,EAAE;MACb/C,gBAAgB,CAAC+C,WAAW,CAACxE,KAAK,CAAC;IACvC;EACJ,CAAC,EAAE,CAAC+D,wBAAwB,EAAEvC,gBAAgB,CAAC,CAAC;EAEhD,IAAMiD,aAAa,GAAG,IAAAtC,kBAAW,EAAC,YAAM;IACpC,IAAMuC,SAAS,GAAGlD,gBAAgB,GAAG,CAAC;IACtC,IAAMgD,WAAW,GAAGvE,2BAA2B,CAAC8D,wBAAwB,EAAEW,SAAS,CAAC;IACpF,IAAIF,WAAW,EAAE;MACb/C,gBAAgB,CAAC+C,WAAW,CAACxE,KAAK,CAAC;IACvC;EACJ,CAAC,EAAE,CAAC+D,wBAAwB,EAAEvC,gBAAgB,CAAC,CAAC;EAEhD,IAAAmD,wBAAU,EAAC;IACPC,MAAM,EAAE,IAAI;IACZC,IAAI,EAAE;MACF,OAAO,EAAE3C,cAAc;MACvB4C,GAAG,EAAE1C;IACT;EACJ,CAAC,CAAC;EAEF,IAAAuC,wBAAU,EAAC;IACPC,MAAM,EAAE,IAAI;IACZC,IAAI,EAAE;MACFE,KAAK,EAAEX,iBAAiB;MACxBY,OAAO,EAAEP,aAAa;MACtBQ,SAAS,EAAEX;IACf,CAAC;IACDY,QAAQ,EAAE,CAACtE;EACf,CAAC,CAAC;EAEF,IAAI,CAACA,iBAAiB,EAAE;IACpB,OAAO,IAAI;EACf;EAEA,IAAIuE,eAAe,gBAAGtG,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAAAvG,MAAA,CAAAiB,OAAA,CAAAuF,QAAA,QAAE,kBAAkB,CAAC;EAC3C,IAAIrE,UAAU,EAAE;IACZmE,eAAe,GAAGnE,UAAU,CAAC,CAAC;EAClC,CAAC,MAAM,IAAI+C,wBAAwB,CAAC3D,MAAM,GAAG,CAAC,EAAE;IAC5C+E,eAAe,gBACXtG,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,aACKrB,wBAAwB,CAACpE,GAAG,CAAC,UAAAC,YAAY;MAAA,oBACtCf,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;QAAIE,GAAG,EAAE1F,YAAY,CAACkD;MAAG,gBACrBjE,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;QAAKG,SAAS,EAAE;MAAgB,gBAC5B1G,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAAC9F,WAAA,CAAAkG,UAAU;QAACC,GAAG,EAAE;MAAW,GAAE7F,YAAY,CAACmD,KAAkB,CAC5D,CAAC,eACNlE,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;QAAKG,SAAS,EAAE;MAAgB,gBAC5B1G,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,aACKxF,YAAY,CAACH,KAAK,CAACE,GAAG,CAAC,UAAAI,IAAI,EAAI;QAC5B,IAAM2F,SAAS,GAAG3F,IAAI,CAACC,KAAK,KAAKwB,gBAAgB;QACjD,oBACI3C,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;UACIG,SAAS,EAAEG,SAAS,GAAG,SAAS,GAAG,EAAG;UACtCJ,GAAG,EAAEvF,IAAI,CAAC+C,EAAG;UACb6C,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMvB,iBAAiB,CAAC,CAAC;UAAA,CAAC;UACnCwB,YAAY,EAAE,SAAAA,aAAA;YAAA,OAAMnE,gBAAgB,CAAC1B,IAAI,CAACC,KAAK,CAAC;UAAA;QAAC,gBAEjDnB,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;UAAKG,SAAS,EAAE;QAAqB,GAAExF,IAAI,CAACgD,KAAW,CAAC,eACxDlE,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAAC9F,WAAA,CAAAkG,UAAU;UACPC,GAAG,EAAE,SAAU;UACfF,SAAS,EAAE;QAA2B,GAErCxF,IAAI,CAACsD,WACE,CACZ,CAAC;MAEb,CAAC,CACD,CACH,CACL,CAAC;IAAA,CACR,CACD,CACP;EACL;EAEA,oBACIxE,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAAC7F,OAAA,CAAAsG,MAAM,qBACHhH,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;IAAKG,SAAS,EAAE;EAAS,gBACrB1G,MAAA,CAAAiB,OAAA,CAAAsF,aAAA;IAAKG,SAAS,EAAE;EAAe,gBAC3B1G,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAAC/F,MAAA,CAAAyG,KAAK;IACFC,IAAI,eAAElH,MAAA,CAAAiB,OAAA,CAAAsF,aAAA,CAACjG,OAAA,CAAA6G,cAAU,MAAE,CAAE;IACrBC,WAAW,EAAE,WAAY;IACzBC,SAAS;IACTC,KAAK,EAAE/E,MAAO;IACdgF,QAAQ,EAAE9D;EAAS,CACtB,CACA,CAAC,EACL6C,eACA,CACD,CAAC;AAEjB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactRouter","_utils","_search","_reactHotkeyz","_Input","_Typography","_Dialog","getIndexedItemsList","items","lastUsedItemIndex","map","itemsSection","_objectSpread2","default","item","index","getItemFromIndexedItemsList","itemsSections","i","length","j","OmniSearch","exports","_useState","useState","_useState2","_slicedToArray2","omniSearchVisible","setShowOmniSearch","_useState3","_useState4","itemRender","setItemRender","_useState5","_useState6","filter","setFilter","_useState7","_useState8","focusedItemIndex","focusItemAtIndex","_useNavigation","useNavigation","menuItems","_useSnackbar","useSnackbar","showSnackbar","navigate","useNavigate","showOmniSearch","useCallback","hideOmniSearch","undefined","onFilter","searchString","selectItem","link","callback","render","fullItemsList","useMemo","id","title","_toConsumableArray2","level1Item","children","level2Item","child","description","label","join","path","flat","getTenantId","navigator","clipboard","writeText","Boolean","filteredIndexedItemsList","filteredItems1stPass","toLowerCase","includes","filteredItems2ndPass","selectFocusedItem","focusedItem","focusNextItem","nextIndex","itemToFocus","focusPrevItem","prevIndex","useHotkeys","zIndex","keys","esc","enter","arrowUp","arrowDown","disabled","renderedResults","createElement","Fragment","key","className","Typography","use","isFocused","onClick","onMouseEnter","Dialog","Input","icon","ReactComponent","placeholder","autoFocus","value","onChange"],"sources":["OmniSearch.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useNavigation } from \"@webiny/app-admin\";\nimport { useNavigate } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { getTenantId } from \"@webiny/app/utils\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\n/**\n * Library does not have types.\n */\n// @ts-expect-error\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { Dialog } from \"./OmniSearch/Dialog\";\n\ninterface Item {\n id: string;\n title: string;\n description: string;\n link?: string;\n callback?: () => void | Promise<void>;\n render?: () => React.ReactElement;\n}\n\ninterface ItemsSection {\n id: string;\n title: string;\n items: Item[];\n}\n\ninterface IndexedItem extends Item {\n index: number;\n}\n\ninterface IndexedItemsSection extends Omit<ItemsSection, \"items\"> {\n id: string;\n title: string;\n items: IndexedItem[];\n}\n\nconst getIndexedItemsList = (items: ItemsSection[]): IndexedItemsSection[] => {\n let lastUsedItemIndex = 0;\n return items.map(itemsSection => {\n return {\n ...itemsSection,\n items: itemsSection.items.map(item => {\n const index = lastUsedItemIndex++;\n return {\n ...item,\n index\n };\n })\n };\n });\n};\n\nconst getItemFromIndexedItemsList = (\n itemsSections: IndexedItemsSection[],\n index: number\n): IndexedItem | null => {\n if (index < 0) {\n return null;\n }\n\n for (let i = 0; i < itemsSections.length; i++) {\n const itemsSection = itemsSections[i];\n for (let j = 0; j < itemsSection.items.length; j++) {\n const item = itemsSection.items[j];\n if (item.index === index) {\n return item;\n }\n }\n }\n\n return null;\n};\n\nexport const OmniSearch = () => {\n const [omniSearchVisible, setShowOmniSearch] = useState(false);\n const [itemRender, setItemRender] = useState<() => React.ReactElement>();\n const [filter, setFilter] = useState(\"\");\n const [focusedItemIndex, focusItemAtIndex] = useState(0);\n const { menuItems } = useNavigation();\n const { showSnackbar } = useSnackbar();\n const navigate = useNavigate();\n const showOmniSearch = useCallback(() => {\n setShowOmniSearch(true);\n }, []);\n\n const hideOmniSearch = useCallback(() => {\n setShowOmniSearch(false);\n setItemRender(undefined);\n setFilter(\"\");\n }, []);\n\n const onFilter = useCallback((searchString: string) => {\n setFilter(searchString);\n focusItemAtIndex(0);\n }, []);\n\n const selectItem = useCallback((item: Item) => {\n if (item.link) {\n navigate(item.link);\n hideOmniSearch();\n return;\n }\n\n if (item.callback) {\n item.callback();\n hideOmniSearch();\n return;\n }\n\n if (item.render) {\n setFilter(\"\");\n setItemRender(() => item.render);\n }\n }, []);\n\n // TODO: should be pulled from registered plugins.\n const fullItemsList = useMemo<ItemsSection[]>(() => {\n return [\n {\n id: \"apps\",\n title: \"Apps\",\n items: [\n ...menuItems\n .map(level1Item => {\n return [\n ...level1Item.children.map(level2Item => {\n return [\n ...level2Item.children.map(child => {\n const description = [\n level1Item.label,\n level2Item.label\n ].join(\" / \");\n\n return {\n id: description + child.label,\n title: child.label!,\n description,\n link: child.path\n };\n })\n ];\n })\n ].flat();\n })\n .flat()\n ]\n },\n {\n id: \"other\",\n title: \"Other\",\n items: [\n {\n id: \"back\",\n title: \"← Back\",\n description: \"Navigates to the previous page.\",\n callback: () => {\n navigate(-1);\n }\n }\n ]\n },\n getTenantId() && {\n id: \"development\",\n title: \"Development\",\n items: [\n {\n id: \"copy-tenant-id\",\n title: \"Copy current tenant ID\",\n description: \"Copies current tenant ID into clipboard.\",\n callback: () => {\n navigator.clipboard.writeText(getTenantId()!);\n showSnackbar(\"Tenant ID copied to clipboard.\");\n }\n }\n ]\n }\n ].filter(Boolean) as ItemsSection[];\n }, [menuItems]);\n\n const filteredIndexedItemsList = useMemo(() => {\n if (!filter) {\n return getIndexedItemsList(fullItemsList);\n }\n\n const filteredItems1stPass = fullItemsList.map(itemsSection => {\n return {\n ...itemsSection,\n items: itemsSection.items.filter(item => {\n return item.title?.toLowerCase().includes(filter.toLowerCase());\n })\n };\n });\n\n const filteredItems2ndPass = filteredItems1stPass.filter(\n itemsSection => itemsSection.items.length > 0\n );\n\n return getIndexedItemsList(filteredItems2ndPass);\n }, [fullItemsList, filter]);\n\n const selectFocusedItem = useCallback(() => {\n const focusedItem = getItemFromIndexedItemsList(filteredIndexedItemsList, focusedItemIndex);\n if (focusedItem) {\n selectItem(focusedItem);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n const focusNextItem = useCallback(() => {\n const nextIndex = focusedItemIndex + 1;\n const itemToFocus = getItemFromIndexedItemsList(filteredIndexedItemsList, nextIndex);\n if (itemToFocus) {\n focusItemAtIndex(itemToFocus.index);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n const focusPrevItem = useCallback(() => {\n const prevIndex = focusedItemIndex - 1;\n const itemToFocus = getItemFromIndexedItemsList(filteredIndexedItemsList, prevIndex);\n if (itemToFocus) {\n focusItemAtIndex(itemToFocus.index);\n }\n }, [filteredIndexedItemsList, focusedItemIndex]);\n\n useHotkeys({\n zIndex: 1000,\n keys: {\n \"mod+k\": showOmniSearch,\n esc: hideOmniSearch\n }\n });\n\n useHotkeys({\n zIndex: 1000,\n keys: {\n enter: selectFocusedItem,\n arrowUp: focusPrevItem,\n arrowDown: focusNextItem\n },\n disabled: !omniSearchVisible\n });\n\n if (!omniSearchVisible) {\n return null;\n }\n\n let renderedResults = <>Nothing to show.</>;\n if (itemRender) {\n renderedResults = itemRender();\n } else if (filteredIndexedItemsList.length > 0) {\n renderedResults = (\n <ul>\n {filteredIndexedItemsList.map(itemsSection => (\n <li key={itemsSection.id}>\n <div className={\"section-title\"}>\n <Typography use={\"overline\"}>{itemsSection.title}</Typography>\n </div>\n <div className={\"section-items\"}>\n <ul>\n {itemsSection.items.map(item => {\n const isFocused = item.index === focusedItemIndex;\n return (\n <li\n className={isFocused ? \"focused\" : \"\"}\n key={item.id}\n onClick={() => selectFocusedItem()}\n onMouseEnter={() => focusItemAtIndex(item.index)}\n >\n <div className={\"section-item-title\"}>{item.title}</div>\n <Typography\n use={\"caption\"}\n className={\"section-item-description\"}\n >\n {item.description}\n </Typography>\n </li>\n );\n })}\n </ul>\n </div>\n </li>\n ))}\n </ul>\n );\n }\n\n return (\n <Dialog>\n <div className={\"dialog\"}>\n <div className={\"search-input\"}>\n <Input\n icon={<SearchIcon />}\n placeholder={\"Search...\"}\n autoFocus\n value={filter}\n onChange={onFilter}\n />\n </div>\n {renderedResults}\n </div>\n </Dialog>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_appAdmin","_Menu","_List","_Icon","_reactRouter","_appSecurity","_Avatar","_components","_TopAppBar","UserMenuRendererImpl","UserMenu","security","useSecurity","_useUserMenu","useUserMenu","menuItems","identity","default","createElement","Menu","anchor","handle","TopAppBarActionItem","icon","UserMenuHandle","List","UserMenuItems","UserMenuHandleRendererImpl","_useSecurity","profile","Avatar","src","undefined","alt","displayName","fallbackText","renderImage","props","Image","Object","assign","transform","width","firstName","lastName","avatar","gravatar","fullName","concat","linkStyles","css","textDecoration","UserMenuItemRendererImpl","UserMenuItemRenderer","_useUserMenuItem","useUserMenuItem","label","path","onClick","element","Link","to","className","ListItem","ListItemGraphic","Icon","exports","Fragment","Compose","component","UserMenuHandleRendererSpec","with","UserMenuRendererSpec","UserMenuItemRendererSpec"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { css } from \"emotion\";\nimport {\n Compose,\n UserMenuHandle,\n UserMenuHandleRenderer as UserMenuHandleRendererSpec,\n UserMenuRenderer as UserMenuRendererSpec,\n UserMenuItems,\n UserMenuItemRenderer as UserMenuItemRendererSpec,\n useUserMenuItem,\n useUserMenu\n} from \"@webiny/app-admin\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Link } from \"@webiny/react-router\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Avatar } from \"@webiny/ui/Avatar\";\nimport { Image } from \"@webiny/app/components\";\nimport { TopAppBarActionItem } from \"@webiny/ui/TopAppBar\";\n\nconst UserMenuRendererImpl = () => {\n return function UserMenu() {\n const security = useSecurity();\n const { menuItems } = useUserMenu();\n\n if (!security || !security.identity) {\n return null;\n }\n\n return (\n <Menu anchor={\"topEnd\"} handle={<TopAppBarActionItem icon={<UserMenuHandle />} />}>\n <List data-testid=\"logged-in-user-menu-list\">\n <UserMenuItems menuItems={menuItems} />\n </List>\n </Menu>\n );\n };\n};\n\nconst UserMenuHandleRendererImpl = () => {\n return function UserMenuHandle() {\n const { identity } = useSecurity();\n\n if (!identity) {\n return null;\n }\n\n const profile = identity.profile;\n\n if (!profile) {\n return (\n <Avatar\n data-testid=\"logged-in-user-menu-avatar\"\n src={undefined}\n alt={identity.displayName}\n fallbackText={identity.displayName}\n renderImage={props => <Image {...props} transform={{ width: 100 }} />}\n />\n );\n }\n\n const { firstName, lastName, avatar, gravatar } = profile;\n const fullName = `${firstName} ${lastName}`;\n\n return (\n <Avatar\n data-testid=\"logged-in-user-menu-avatar\"\n src={avatar ? avatar.src : gravatar}\n alt={fullName}\n fallbackText={fullName}\n renderImage={props => <Image {...props} transform={{ width: 100 }} />}\n />\n );\n };\n};\n\nconst linkStyles = css({\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst UserMenuItemRendererImpl = () => {\n return function UserMenuItemRenderer() {\n const { label, path, icon, onClick, element } = useUserMenuItem();\n\n if (element) {\n return element;\n }\n\n if (path) {\n return (\n <Link to={path} className={linkStyles}>\n <ListItem>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n </Link>\n );\n }\n\n return (\n <ListItem onClick={onClick}>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n );\n };\n};\n\nexport const UserMenu = () => {\n return (\n <Fragment>\n <Compose component={UserMenuHandleRendererSpec} with={UserMenuHandleRendererImpl} />\n <Compose component={UserMenuRendererSpec} with={UserMenuRendererImpl} />\n <Compose component={UserMenuItemRendererSpec} with={UserMenuItemRendererImpl} />\n </Fragment>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAUA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAEA,IAAMW,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EAC/B,OAAO,SAASC,QAAQA,CAAA,EAAG;IACvB,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAAC,CAAC;IAC9B,IAAAC,YAAA,GAAsB,IAAAC,qBAAW,EAAC,CAAC;MAA3BC,SAAS,GAAAF,YAAA,CAATE,SAAS;IAEjB,IAAI,CAACJ,QAAQ,IAAI,CAACA,QAAQ,CAACK,QAAQ,EAAE;MACjC,OAAO,IAAI;IACf;IAEA,oBACIpB,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACjB,KAAA,CAAAkB,IAAI;MAACC,MAAM,EAAE,QAAS;MAACC,MAAM,eAAEzB,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAc,mBAAmB;QAACC,IAAI,eAAE3B,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAAClB,SAAA,CAAAwB,cAAc,MAAE;MAAE,CAAE;IAAE,gBAC9E5B,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAuB,IAAI;MAAC,eAAY;IAA0B,gBACxC7B,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAAClB,SAAA,CAAA0B,aAAa;MAACX,SAAS,EAAEA;IAAU,CAAE,CACpC,CACJ,CAAC;EAEf,CAAC;AACL,CAAC;AAED,IAAMY,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;EACrC,OAAO,SAASH,cAAcA,CAAA,EAAG;IAC7B,IAAAI,YAAA,GAAqB,IAAAhB,wBAAW,EAAC,CAAC;MAA1BI,QAAQ,GAAAY,YAAA,CAARZ,QAAQ;IAEhB,IAAI,CAACA,QAAQ,EAAE;MACX,OAAO,IAAI;IACf;IAEA,IAAMa,OAAO,GAAGb,QAAQ,CAACa,OAAO;IAEhC,IAAI,CAACA,OAAO,EAAE;MACV,oBACIjC,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACZ,OAAA,CAAAwB,MAAM;QACH,eAAY,4BAA4B;QACxCC,GAAG,EAAEC,SAAU;QACfC,GAAG,EAAEjB,QAAQ,CAACkB,WAAY;QAC1BC,YAAY,EAAEnB,QAAQ,CAACkB,WAAY;QACnCE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_appAdmin","_Menu","_List","_Icon","_reactRouter","_appSecurity","_Avatar","_components","_TopAppBar","UserMenuRendererImpl","UserMenu","security","useSecurity","_useUserMenu","useUserMenu","menuItems","identity","default","createElement","Menu","anchor","handle","TopAppBarActionItem","icon","UserMenuHandle","List","UserMenuItems","UserMenuHandleRendererImpl","_useSecurity","profile","Avatar","src","undefined","alt","displayName","fallbackText","renderImage","props","Image","Object","assign","transform","width","firstName","lastName","avatar","gravatar","fullName","concat","linkStyles","css","textDecoration","UserMenuItemRendererImpl","UserMenuItemRenderer","_useUserMenuItem","useUserMenuItem","label","path","onClick","element","Link","to","className","ListItem","ListItemGraphic","Icon","exports","Fragment","Compose","component","UserMenuHandleRendererSpec","with","UserMenuRendererSpec","UserMenuItemRendererSpec"],"sources":["index.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { css } from \"emotion\";\nimport {\n Compose,\n UserMenuHandle,\n UserMenuHandleRenderer as UserMenuHandleRendererSpec,\n UserMenuRenderer as UserMenuRendererSpec,\n UserMenuItems,\n UserMenuItemRenderer as UserMenuItemRendererSpec,\n useUserMenuItem,\n useUserMenu\n} from \"@webiny/app-admin\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Link } from \"@webiny/react-router\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Avatar } from \"@webiny/ui/Avatar\";\nimport { Image } from \"@webiny/app/components\";\nimport { TopAppBarActionItem } from \"@webiny/ui/TopAppBar\";\n\nconst UserMenuRendererImpl = () => {\n return function UserMenu() {\n const security = useSecurity();\n const { menuItems } = useUserMenu();\n\n if (!security || !security.identity) {\n return null;\n }\n\n return (\n <Menu anchor={\"topEnd\"} handle={<TopAppBarActionItem icon={<UserMenuHandle />} />}>\n <List data-testid=\"logged-in-user-menu-list\">\n <UserMenuItems menuItems={menuItems} />\n </List>\n </Menu>\n );\n };\n};\n\nconst UserMenuHandleRendererImpl = () => {\n return function UserMenuHandle() {\n const { identity } = useSecurity();\n\n if (!identity) {\n return null;\n }\n\n const profile = identity.profile;\n\n if (!profile) {\n return (\n <Avatar\n data-testid=\"logged-in-user-menu-avatar\"\n src={undefined}\n alt={identity.displayName}\n fallbackText={identity.displayName}\n renderImage={props => <Image {...props} transform={{ width: 100 }} />}\n />\n );\n }\n\n const { firstName, lastName, avatar, gravatar } = profile;\n const fullName = `${firstName} ${lastName}`;\n\n return (\n <Avatar\n data-testid=\"logged-in-user-menu-avatar\"\n src={avatar ? avatar.src : gravatar}\n alt={fullName}\n fallbackText={fullName}\n renderImage={props => <Image {...props} transform={{ width: 100 }} />}\n />\n );\n };\n};\n\nconst linkStyles = css({\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst UserMenuItemRendererImpl = () => {\n return function UserMenuItemRenderer() {\n const { label, path, icon, onClick, element } = useUserMenuItem();\n\n if (element) {\n return element;\n }\n\n if (path) {\n return (\n <Link to={path} className={linkStyles}>\n <ListItem>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n </Link>\n );\n }\n\n return (\n <ListItem onClick={onClick}>\n <ListItemGraphic>{icon ? <Icon icon={icon} /> : null}</ListItemGraphic>\n {label}\n </ListItem>\n );\n };\n};\n\nexport const UserMenu = () => {\n return (\n <Fragment>\n <Compose component={UserMenuHandleRendererSpec} with={UserMenuHandleRendererImpl} />\n <Compose component={UserMenuRendererSpec} with={UserMenuRendererImpl} />\n <Compose component={UserMenuItemRendererSpec} with={UserMenuItemRendererImpl} />\n </Fragment>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-admin-rmwc",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.42.0-beta.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,21 +9,20 @@
|
|
|
9
9
|
"author": "Webiny Ltd.",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@babel/runtime": "7.24.1",
|
|
13
12
|
"@emotion/styled": "11.10.6",
|
|
14
13
|
"@material-design-icons/svg": "0.14.13",
|
|
15
14
|
"@rmwc/base": "14.2.2",
|
|
16
15
|
"@rmwc/provider": "14.2.2",
|
|
17
16
|
"@types/react": "18.2.79",
|
|
18
|
-
"@webiny/app": "5.
|
|
19
|
-
"@webiny/app-admin": "5.
|
|
20
|
-
"@webiny/app-plugin-admin-welcome-screen": "5.
|
|
21
|
-
"@webiny/app-security": "5.
|
|
22
|
-
"@webiny/feature-flags": "5.
|
|
23
|
-
"@webiny/plugins": "5.
|
|
24
|
-
"@webiny/react-router": "5.
|
|
25
|
-
"@webiny/ui": "5.
|
|
26
|
-
"classnames": "2.
|
|
17
|
+
"@webiny/app": "5.42.0-beta.0",
|
|
18
|
+
"@webiny/app-admin": "5.42.0-beta.0",
|
|
19
|
+
"@webiny/app-plugin-admin-welcome-screen": "5.42.0-beta.0",
|
|
20
|
+
"@webiny/app-security": "5.42.0-beta.0",
|
|
21
|
+
"@webiny/feature-flags": "5.42.0-beta.0",
|
|
22
|
+
"@webiny/plugins": "5.42.0-beta.0",
|
|
23
|
+
"@webiny/react-router": "5.42.0-beta.0",
|
|
24
|
+
"@webiny/ui": "5.42.0-beta.0",
|
|
25
|
+
"classnames": "2.5.1",
|
|
27
26
|
"emotion": "10.0.27",
|
|
28
27
|
"lodash": "4.17.21",
|
|
29
28
|
"react": "18.2.0",
|
|
@@ -34,17 +33,12 @@
|
|
|
34
33
|
"store": "2.0.12"
|
|
35
34
|
},
|
|
36
35
|
"devDependencies": {
|
|
37
|
-
"@babel/cli": "7.24.1",
|
|
38
|
-
"@babel/core": "7.24.3",
|
|
39
|
-
"@babel/preset-env": "7.24.3",
|
|
40
|
-
"@babel/preset-react": "7.24.1",
|
|
41
|
-
"@babel/preset-typescript": "7.24.1",
|
|
42
36
|
"@emotion/babel-plugin": "11.11.0",
|
|
43
|
-
"@types/react-helmet": "6.1.
|
|
44
|
-
"@webiny/cli": "5.
|
|
45
|
-
"@webiny/project-utils": "5.
|
|
37
|
+
"@types/react-helmet": "6.1.11",
|
|
38
|
+
"@webiny/cli": "5.42.0-beta.0",
|
|
39
|
+
"@webiny/project-utils": "5.42.0-beta.0",
|
|
46
40
|
"babel-plugin-named-asset-import": "1.0.0-next.fb6e6f70",
|
|
47
|
-
"rimraf": "
|
|
41
|
+
"rimraf": "6.0.1",
|
|
48
42
|
"ttypescript": "1.5.15",
|
|
49
43
|
"typescript": "4.9.5"
|
|
50
44
|
},
|
|
@@ -61,5 +55,5 @@
|
|
|
61
55
|
"removeViewBox": false
|
|
62
56
|
}
|
|
63
57
|
},
|
|
64
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "ebf90f62ed3f28114ffdb012b7e5f80988af53d3"
|
|
65
59
|
}
|