@webiny/app-admin 5.38.0-beta.0 → 5.38.0-beta.1

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.
@@ -8,10 +8,10 @@ exports.AddGraphQLQuerySelection = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
10
  var _plugins = require("@webiny/plugins");
11
- var _nanoid = require("nanoid");
11
+ var _utils = require("@webiny/utils");
12
12
  var _AddQuerySelectionPlugin = require("@webiny/app/plugins/AddQuerySelectionPlugin");
13
13
  var AddGraphQLQuerySelection = function AddGraphQLQuerySelection(props) {
14
- var _useState = (0, _react.useState)("AddGraphQLQuerySelection:".concat(props.operationName, ":").concat((0, _nanoid.nanoid)())),
14
+ var _useState = (0, _react.useState)("AddGraphQLQuerySelection:".concat(props.operationName, ":").concat((0, _utils.generateId)())),
15
15
  _useState2 = (0, _slicedToArray2.default)(_useState, 1),
16
16
  name = _useState2[0];
17
17
  (0, _react.useEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_plugins","_nanoid","_AddQuerySelectionPlugin","AddGraphQLQuerySelection","props","_useState","useState","concat","operationName","nanoid","_useState2","_slicedToArray2","default","name","useEffect","plugin","AddQuerySelectionPlugin","plugins","register","unregister","exports"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { nanoid } from \"nanoid\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection: React.FC<Props> = props => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${nanoid()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AASO,IAAMI,wBAAyC,GAAG,SAA5CA,wBAAyCA,CAAGC,KAAK,EAAI;EAC9D,IAAAC,SAAA,GAAe,IAAAC,eAAQ,8BAAAC,MAAA,CAA6BH,KAAK,CAACI,aAAa,OAAAD,MAAA,CAAI,IAAAE,cAAM,EAAC,CAAC,CAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAP,SAAA;IAA/EQ,IAAI,GAAAH,UAAA;EAEX,IAAAI,gBAAS,EAAC,YAAM;IACZ,IAAMC,MAAM,GAAG,IAAIC,gDAAuB,CAACZ,KAAK,CAAC;IAEjDW,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBI,gBAAO,CAACC,QAAQ,CAACH,MAAM,CAAC;IAExB,OAAO,YAAM;MACTE,gBAAO,CAACE,UAAU,CAACN,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAACO,OAAA,CAAAjB,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_react","require","_plugins","_utils","_AddQuerySelectionPlugin","AddGraphQLQuerySelection","props","_useState","useState","concat","operationName","generateId","_useState2","_slicedToArray2","default","name","useEffect","plugin","AddQuerySelectionPlugin","plugins","register","unregister","exports"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { generateId } from \"@webiny/utils\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection: React.FC<Props> = props => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${generateId()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AASO,IAAMI,wBAAyC,GAAG,SAA5CA,wBAAyCA,CAAGC,KAAK,EAAI;EAC9D,IAAAC,SAAA,GAAe,IAAAC,eAAQ,8BAAAC,MAAA,CAA6BH,KAAK,CAACI,aAAa,OAAAD,MAAA,CAAI,IAAAE,iBAAU,EAAC,CAAC,CAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAP,SAAA;IAAnFQ,IAAI,GAAAH,UAAA;EAEX,IAAAI,gBAAS,EAAC,YAAM;IACZ,IAAMC,MAAM,GAAG,IAAIC,gDAAuB,CAACZ,KAAK,CAAC;IAEjDW,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBI,gBAAO,CAACC,QAAQ,CAACH,MAAM,CAAC;IAExB,OAAO,YAAM;MACTE,gBAAO,CAACE,UAAU,CAACN,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAACO,OAAA,CAAAjB,wBAAA,GAAAA,wBAAA"}
@@ -11,7 +11,7 @@ exports.useNavigation = useNavigation;
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
- var _nanoid = require("nanoid");
14
+ var _utils = require("@webiny/utils");
15
15
  var _app = require("@webiny/app");
16
16
  var _ = require("../..");
17
17
  var _plugins = require("@webiny/plugins");
@@ -34,7 +34,7 @@ function useNavigation() {
34
34
  // scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).
35
35
  var LegacyMenu = function LegacyMenu(props) {
36
36
  return /*#__PURE__*/_react.default.createElement(_.AddMenu, Object.assign({}, props, {
37
- name: props.name || (0, _nanoid.nanoid)(),
37
+ name: props.name || (0, _utils.generateId)(),
38
38
  label: props.label
39
39
  }), props.children);
40
40
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_nanoid","_app","_","_plugins","NavigationContext","createContext","menuItems","setMenu","removeMenu","displayName","useNavigation","useContext","LegacyMenu","props","default","createElement","AddMenu","Object","assign","name","nanoid","label","children","LegacyMenuPlugins","_useState","useState","_useState2","_slicedToArray2","menus","setMenus","useEffect","menuPlugins","plugins","byType","menuElements","map","plugin","Plugins","key","render","Menu","Item","Section","NavigationProvider","Component","_ref","_useState3","_useState4","setState","id","updater","state","index","findIndex","m","newMenu","createEmptyMenu","_toConsumableArray2","concat","slice","useCallback","context","useMemo","Provider","value","exports","Navigation","Tags","tags","location","NavigationRenderer","makeComposable","MenuItemContext","React","menuItem","undefined","depth","useMenuItem","MenuItems","_ref2","Fragment","MenuItem","MenuItemRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React, {\n Fragment,\n useEffect,\n createContext,\n useCallback,\n useMemo,\n useState,\n useContext\n} from \"react\";\nimport { nanoid } from \"nanoid\";\nimport { makeComposable, Plugins } from \"@webiny/app\";\nimport { MenuData, MenuProps, AddMenu as Menu, Tags, MenuUpdater, createEmptyMenu } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { ItemProps, SectionProps } from \"~/plugins/MenuPlugin\";\n\nexport interface NavigationContext {\n menuItems: MenuData[];\n setMenu(id: string, update: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst NavigationContext = createContext<NavigationContext>({\n menuItems: [],\n setMenu: () => {\n return void 0;\n },\n removeMenu: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!\n// It is not a public component, and is not even exported from this file. We need it to take care of\n// scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).\nconst LegacyMenu: React.FC<MenuProps | SectionProps | ItemProps> = props => {\n return (\n <Menu {...props} name={(props as MenuProps).name || nanoid()} label={props.label as string}>\n {props.children}\n </Menu>\n );\n};\n\nconst LegacyMenuPlugins: React.FC = () => {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const [menus, setMenus] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const menuElements = menuPlugins.map(plugin => {\n // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC\n return (\n <Plugins key={plugin.name}>\n {plugin.render({\n Menu: LegacyMenu as React.FC,\n Item: LegacyMenu as React.FC,\n Section: LegacyMenu as React.FC\n })}\n </Plugins>\n );\n });\n // TODO @ts-refactor\n setMenus(menuElements as any);\n }, []);\n\n return menus;\n};\n\nexport const NavigationProvider = (Component: React.ComponentType<unknown>): React.FC => {\n return function NavigationProvider({ children }) {\n const [menuItems, setState] = useState<MenuData[]>([]);\n\n const setMenu = (id: string, updater: MenuUpdater): void => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n const newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));\n if (!newMenu) {\n return [...state];\n }\n if (!newMenu.children) {\n newMenu.children = [];\n }\n\n return index > -1\n ? [...state.slice(0, index), newMenu, ...state.slice(index + 1)]\n : [...state, newMenu];\n });\n };\n const removeMenu = useCallback(\n id => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n if (index < 0) {\n return state;\n }\n\n return [...state.slice(0, index), ...state.slice(index + 1)];\n });\n },\n [setState]\n );\n\n const context = useMemo<NavigationContext>(\n () => ({\n menuItems,\n setMenu,\n removeMenu\n }),\n [menuItems, setMenu, removeMenu]\n );\n\n return (\n <NavigationContext.Provider value={context}>\n <LegacyMenuPlugins />\n <Component>{children}</Component>\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n};\n\nexport const NavigationRenderer = makeComposable(\"NavigationRenderer\");\n\ninterface MenuItemContext {\n menuItem?: MenuData;\n depth: number;\n}\n\nconst MenuItemContext = React.createContext<MenuItemContext>({\n menuItem: undefined,\n depth: -1\n});\nMenuItemContext.displayName = \"MenuItemContext\";\n\nexport function useMenuItem() {\n return React.useContext(MenuItemContext);\n}\n\nexport interface MenuItemsProps {\n menuItems: MenuData[];\n}\n\nexport const MenuItems = makeComposable<MenuItemsProps>(\"MenuItems\", ({ menuItems }) => {\n const menuItem = useMenuItem();\n\n const depth = menuItem ? menuItem.depth : -1;\n\n return (\n <Fragment>\n {menuItems.map(menuItem => (\n <MenuItemContext.Provider\n key={menuItem.name}\n value={{ menuItem, depth: depth + 1 }}\n >\n <MenuItem />\n </MenuItemContext.Provider>\n ))}\n </Fragment>\n );\n});\n\nexport const MenuItem: React.FC = () => {\n return <MenuItemRenderer />;\n};\n\nexport const MenuItemRenderer = makeComposable(\"MenuItemRenderer\");\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_app","_","_plugins","NavigationContext","createContext","menuItems","setMenu","removeMenu","displayName","useNavigation","useContext","LegacyMenu","props","default","createElement","AddMenu","Object","assign","name","generateId","label","children","LegacyMenuPlugins","_useState","useState","_useState2","_slicedToArray2","menus","setMenus","useEffect","menuPlugins","plugins","byType","menuElements","map","plugin","Plugins","key","render","Menu","Item","Section","NavigationProvider","Component","_ref","_useState3","_useState4","setState","id","updater","state","index","findIndex","m","newMenu","createEmptyMenu","_toConsumableArray2","concat","slice","useCallback","context","useMemo","Provider","value","exports","Navigation","Tags","tags","location","NavigationRenderer","makeComposable","MenuItemContext","React","menuItem","undefined","depth","useMenuItem","MenuItems","_ref2","Fragment","MenuItem","MenuItemRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React, {\n Fragment,\n useEffect,\n createContext,\n useCallback,\n useMemo,\n useState,\n useContext\n} from \"react\";\nimport { generateId } from \"@webiny/utils\";\nimport { makeComposable, Plugins } from \"@webiny/app\";\nimport { MenuData, MenuProps, AddMenu as Menu, Tags, MenuUpdater, createEmptyMenu } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { ItemProps, SectionProps } from \"~/plugins/MenuPlugin\";\n\nexport interface NavigationContext {\n menuItems: MenuData[];\n setMenu(id: string, update: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst NavigationContext = createContext<NavigationContext>({\n menuItems: [],\n setMenu: () => {\n return void 0;\n },\n removeMenu: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!\n// It is not a public component, and is not even exported from this file. We need it to take care of\n// scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).\nconst LegacyMenu: React.FC<MenuProps | SectionProps | ItemProps> = props => {\n return (\n <Menu\n {...props}\n name={(props as MenuProps).name || generateId()}\n label={props.label as string}\n >\n {props.children}\n </Menu>\n );\n};\n\nconst LegacyMenuPlugins: React.FC = () => {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const [menus, setMenus] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const menuElements = menuPlugins.map(plugin => {\n // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC\n return (\n <Plugins key={plugin.name}>\n {plugin.render({\n Menu: LegacyMenu as React.FC,\n Item: LegacyMenu as React.FC,\n Section: LegacyMenu as React.FC\n })}\n </Plugins>\n );\n });\n // TODO @ts-refactor\n setMenus(menuElements as any);\n }, []);\n\n return menus;\n};\n\nexport const NavigationProvider = (Component: React.ComponentType<unknown>): React.FC => {\n return function NavigationProvider({ children }) {\n const [menuItems, setState] = useState<MenuData[]>([]);\n\n const setMenu = (id: string, updater: MenuUpdater): void => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n const newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));\n if (!newMenu) {\n return [...state];\n }\n if (!newMenu.children) {\n newMenu.children = [];\n }\n\n return index > -1\n ? [...state.slice(0, index), newMenu, ...state.slice(index + 1)]\n : [...state, newMenu];\n });\n };\n const removeMenu = useCallback(\n id => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n if (index < 0) {\n return state;\n }\n\n return [...state.slice(0, index), ...state.slice(index + 1)];\n });\n },\n [setState]\n );\n\n const context = useMemo<NavigationContext>(\n () => ({\n menuItems,\n setMenu,\n removeMenu\n }),\n [menuItems, setMenu, removeMenu]\n );\n\n return (\n <NavigationContext.Provider value={context}>\n <LegacyMenuPlugins />\n <Component>{children}</Component>\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n};\n\nexport const NavigationRenderer = makeComposable(\"NavigationRenderer\");\n\ninterface MenuItemContext {\n menuItem?: MenuData;\n depth: number;\n}\n\nconst MenuItemContext = React.createContext<MenuItemContext>({\n menuItem: undefined,\n depth: -1\n});\nMenuItemContext.displayName = \"MenuItemContext\";\n\nexport function useMenuItem() {\n return React.useContext(MenuItemContext);\n}\n\nexport interface MenuItemsProps {\n menuItems: MenuData[];\n}\n\nexport const MenuItems = makeComposable<MenuItemsProps>(\"MenuItems\", ({ menuItems }) => {\n const menuItem = useMenuItem();\n\n const depth = menuItem ? menuItem.depth : -1;\n\n return (\n <Fragment>\n {menuItems.map(menuItem => (\n <MenuItemContext.Provider\n key={menuItem.name}\n value={{ menuItem, depth: depth + 1 }}\n >\n <MenuItem />\n </MenuItemContext.Provider>\n ))}\n </Fragment>\n );\n});\n\nexport const MenuItem: React.FC = () => {\n return <MenuItemRenderer />;\n};\n\nexport const MenuItemRenderer = makeComposable(\"MenuItemRenderer\");\n"],"mappings":"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"}
package/hooks/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  export * from "./useConfirmationDialog";
2
2
  export * from "./useDialog";
3
3
  export * from "./useSnackbar";
4
+ export * from "./useKeyHandler";
5
+ export * from "./useShiftKey";
6
+ export * from "./useModKey";
package/hooks/index.js CHANGED
@@ -36,5 +36,38 @@ Object.keys(_useSnackbar).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _useKeyHandler = require("./useKeyHandler");
40
+ Object.keys(_useKeyHandler).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _useKeyHandler[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _useKeyHandler[key];
47
+ }
48
+ });
49
+ });
50
+ var _useShiftKey = require("./useShiftKey");
51
+ Object.keys(_useShiftKey).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _useShiftKey[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _useShiftKey[key];
58
+ }
59
+ });
60
+ });
61
+ var _useModKey = require("./useModKey");
62
+ Object.keys(_useModKey).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _useModKey[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function get() {
68
+ return _useModKey[key];
69
+ }
70
+ });
71
+ });
39
72
 
40
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_useConfirmationDialog","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useDialog","_useSnackbar"],"sources":["index.ts"],"sourcesContent":["export * from \"./useConfirmationDialog\";\nexport * from \"./useDialog\";\nexport * from \"./useSnackbar\";\n"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_useConfirmationDialog","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useDialog","_useSnackbar","_useKeyHandler","_useShiftKey","_useModKey"],"sources":["index.ts"],"sourcesContent":["export * from \"./useConfirmationDialog\";\nexport * from \"./useDialog\";\nexport * from \"./useSnackbar\";\nexport * from \"./useKeyHandler\";\nexport * from \"./useShiftKey\";\nexport * from \"./useModKey\";\n"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,cAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,cAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,cAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,cAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,YAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,YAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,YAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAI,YAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,UAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,UAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,UAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAK,UAAA,CAAAT,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="web" />
2
+ import { SyntheticEvent } from "react";
3
+ declare type AddKeyHandlerType = (key: string, handler: (e: SyntheticEvent<HTMLElement>) => void) => void;
4
+ declare type RemoveKeyHandlerType = (key: string) => void;
5
+ export declare function useKeyHandler(): {
6
+ addKeyHandler: AddKeyHandlerType;
7
+ removeKeyHandler: RemoveKeyHandlerType;
8
+ };
9
+ export {};
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useKeyHandler = useKeyHandler;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _isHotkey = _interopRequireDefault(require("is-hotkey"));
11
+ var _utils = require("@webiny/utils");
12
+ var keyStack = {};
13
+ var listener = false;
14
+ var filter = ["TEXTAREA", "INPUT"];
15
+ var isContentEditable = function isContentEditable(value) {
16
+ return ["true", true].includes(value);
17
+ };
18
+ var setupListener = function setupListener() {
19
+ if (listener || !document.body) {
20
+ return;
21
+ }
22
+ var eventListener = function eventListener(ev) {
23
+ if (!ev.target) {
24
+ return;
25
+ }
26
+ var target = ev.target;
27
+ // We ignore all keyboard events coming from within contentEditable element and inputs.
28
+ if (filter.includes(target.nodeName) || isContentEditable(target.contentEditable)) {
29
+ return;
30
+ }
31
+ var matchedKey = Object.keys(keyStack).find(function (key) {
32
+ return (0, _isHotkey.default)(key, ev);
33
+ });
34
+ if (matchedKey && keyStack[matchedKey].length > 0) {
35
+ var item = keyStack[matchedKey][0];
36
+ item.handler(ev);
37
+ ev.stopPropagation();
38
+ }
39
+ };
40
+ document.body.addEventListener("keydown", eventListener);
41
+ listener = true;
42
+ };
43
+ var _addKeyHandler = function addKeyHandler(id, key, handler) {
44
+ setupListener();
45
+ keyStack[key] = keyStack[key] || [];
46
+ if (!keyStack[key].find(function (item) {
47
+ return item.id === id;
48
+ })) {
49
+ keyStack[key].unshift({
50
+ id: id,
51
+ handler: handler
52
+ });
53
+ }
54
+ };
55
+ var _removeKeyHandler = function removeKeyHandler(id, key) {
56
+ if (!keyStack[key]) {
57
+ return;
58
+ }
59
+ var index = keyStack[key].findIndex(function (item) {
60
+ return item.id === id;
61
+ });
62
+ if (index >= 0) {
63
+ keyStack[key].splice(index, 1);
64
+ }
65
+ };
66
+ function useKeyHandler() {
67
+ var _React$useState = _react.default.useState((0, _utils.generateId)()),
68
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
69
+ id = _React$useState2[0];
70
+ return _react.default.useMemo(function () {
71
+ return {
72
+ addKeyHandler: function addKeyHandler(key, handler) {
73
+ _addKeyHandler(id, key, handler);
74
+ },
75
+ removeKeyHandler: function removeKeyHandler(key) {
76
+ _removeKeyHandler(id, key);
77
+ }
78
+ };
79
+ }, []);
80
+ }
81
+
82
+ //# sourceMappingURL=useKeyHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_isHotkey","_utils","keyStack","listener","filter","isContentEditable","value","includes","setupListener","document","body","eventListener","ev","target","nodeName","contentEditable","matchedKey","Object","keys","find","key","isHotkey","length","item","handler","stopPropagation","addEventListener","addKeyHandler","id","unshift","removeKeyHandler","index","findIndex","splice","useKeyHandler","_React$useState","React","useState","generateId","_React$useState2","_slicedToArray2","default","useMemo"],"sources":["useKeyHandler.ts"],"sourcesContent":["import React, { SyntheticEvent } from \"react\";\nimport isHotkey from \"is-hotkey\";\nimport { generateId } from \"@webiny/utils\";\n\ninterface KeyHandler {\n id: string;\n handler: any;\n}\nconst keyStack: Record<string, KeyHandler[]> = {};\n\nlet listener = false;\nconst filter = [\"TEXTAREA\", \"INPUT\"];\n\nconst isContentEditable = (value: any) => {\n return [\"true\", true].includes(value);\n};\n\nconst setupListener = (): void => {\n if (listener || !document.body) {\n return;\n }\n\n const eventListener = (ev: KeyboardEvent) => {\n if (!ev.target) {\n return;\n }\n const target = ev.target as HTMLElement;\n // We ignore all keyboard events coming from within contentEditable element and inputs.\n if (filter.includes(target.nodeName) || isContentEditable(target.contentEditable)) {\n return;\n }\n\n const matchedKey = Object.keys(keyStack).find(key => isHotkey(key, ev));\n\n if (matchedKey && keyStack[matchedKey].length > 0) {\n const item = keyStack[matchedKey][0];\n item.handler(ev);\n ev.stopPropagation();\n }\n };\n\n document.body.addEventListener(\"keydown\", eventListener);\n\n listener = true;\n};\n\nconst addKeyHandler = (\n id: string,\n key: string,\n handler: (e: SyntheticEvent<HTMLElement>) => void\n) => {\n setupListener();\n keyStack[key] = keyStack[key] || [];\n if (!keyStack[key].find(item => item.id === id)) {\n keyStack[key].unshift({ id, handler });\n }\n};\n\nconst removeKeyHandler = (id: string, key: string): void => {\n if (!keyStack[key]) {\n return;\n }\n\n const index = keyStack[key].findIndex(item => item.id === id);\n if (index >= 0) {\n keyStack[key].splice(index, 1);\n }\n};\n\ntype AddKeyHandlerType = (key: string, handler: (e: SyntheticEvent<HTMLElement>) => void) => void;\n\ntype RemoveKeyHandlerType = (key: string) => void;\n\nexport function useKeyHandler(): {\n addKeyHandler: AddKeyHandlerType;\n removeKeyHandler: RemoveKeyHandlerType;\n} {\n const [id] = React.useState(generateId());\n\n return React.useMemo(\n () => ({\n addKeyHandler(key, handler) {\n addKeyHandler(id, key, handler);\n },\n removeKeyHandler(key) {\n removeKeyHandler(id, key);\n }\n }),\n []\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function useModKey(): boolean;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useModKey = useModKey;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _isHotkey = _interopRequireDefault(require("is-hotkey"));
11
+ function useModKey() {
12
+ var _useState = (0, _react.useState)(false),
13
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
14
+ pressed = _useState2[0],
15
+ setPressed = _useState2[1];
16
+ var onKeyDown = (0, _react.useCallback)(function (event) {
17
+ if ((0, _isHotkey.default)("Control", event) || (0, _isHotkey.default)("Meta", event)) {
18
+ setPressed(true);
19
+ }
20
+ }, []);
21
+ var onKeyUp = (0, _react.useCallback)(function (event) {
22
+ if (event.key === "Control" && event.ctrlKey === false) {
23
+ setPressed(false);
24
+ }
25
+ if (event.key === "Meta" && event.metaKey === false) {
26
+ setPressed(false);
27
+ }
28
+ }, []);
29
+ (0, _react.useEffect)(function () {
30
+ document.addEventListener("keydown", onKeyDown);
31
+ document.addEventListener("keyup", onKeyUp);
32
+ return function () {
33
+ document.removeEventListener("keydown", onKeyDown);
34
+ document.removeEventListener("keyup", onKeyUp);
35
+ };
36
+ }, []);
37
+ console.log("pressed", pressed);
38
+ return pressed;
39
+ }
40
+
41
+ //# sourceMappingURL=useModKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_isHotkey","_interopRequireDefault","useModKey","_useState","useState","_useState2","_slicedToArray2","default","pressed","setPressed","onKeyDown","useCallback","event","isHotkey","onKeyUp","key","ctrlKey","metaKey","useEffect","document","addEventListener","removeEventListener","console","log"],"sources":["useModKey.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\nimport isHotkey from \"is-hotkey\";\n\nexport function useModKey() {\n const [pressed, setPressed] = useState(false);\n\n const onKeyDown = useCallback((event: KeyboardEvent) => {\n if (isHotkey(\"Control\", event) || isHotkey(\"Meta\", event)) {\n setPressed(true);\n }\n }, []);\n\n const onKeyUp = useCallback((event: KeyboardEvent) => {\n if (event.key === \"Control\" && event.ctrlKey === false) {\n setPressed(false);\n }\n\n if (event.key === \"Meta\" && event.metaKey === false) {\n setPressed(false);\n }\n }, []);\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDown);\n document.addEventListener(\"keyup\", onKeyUp);\n\n return () => {\n document.removeEventListener(\"keydown\", onKeyDown);\n document.removeEventListener(\"keyup\", onKeyUp);\n };\n }, []);\n\n console.log(\"pressed\", pressed);\n\n return pressed;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEO,SAASG,SAASA,CAAA,EAAG;EACxB,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAAtCK,OAAO,GAAAH,UAAA;IAAEI,UAAU,GAAAJ,UAAA;EAE1B,IAAMK,SAAS,GAAG,IAAAC,kBAAW,EAAC,UAACC,KAAoB,EAAK;IACpD,IAAI,IAAAC,iBAAQ,EAAC,SAAS,EAAED,KAAK,CAAC,IAAI,IAAAC,iBAAQ,EAAC,MAAM,EAAED,KAAK,CAAC,EAAE;MACvDH,UAAU,CAAC,IAAI,CAAC;IACpB;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMK,OAAO,GAAG,IAAAH,kBAAW,EAAC,UAACC,KAAoB,EAAK;IAClD,IAAIA,KAAK,CAACG,GAAG,KAAK,SAAS,IAAIH,KAAK,CAACI,OAAO,KAAK,KAAK,EAAE;MACpDP,UAAU,CAAC,KAAK,CAAC;IACrB;IAEA,IAAIG,KAAK,CAACG,GAAG,KAAK,MAAM,IAAIH,KAAK,CAACK,OAAO,KAAK,KAAK,EAAE;MACjDR,UAAU,CAAC,KAAK,CAAC;IACrB;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAS,gBAAS,EAAC,YAAM;IACZC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEV,SAAS,CAAC;IAC/CS,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,OAAO,CAAC;IAE3C,OAAO,YAAM;MACTK,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEX,SAAS,CAAC;MAClDS,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,OAAO,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENQ,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEf,OAAO,CAAC;EAE/B,OAAOA,OAAO;AAClB"}
@@ -0,0 +1 @@
1
+ export declare function useShiftKey(): boolean;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useShiftKey = useShiftKey;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _isHotkey = _interopRequireDefault(require("is-hotkey"));
11
+ function useShiftKey() {
12
+ var _useState = (0, _react.useState)(false),
13
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
14
+ pressed = _useState2[0],
15
+ setPressed = _useState2[1];
16
+ var onselectstartRef = (0, _react.useRef)(document.onselectstart);
17
+ var onKeyDown = (0, _react.useCallback)(function (event) {
18
+ if ((0, _isHotkey.default)("shift", event)) {
19
+ setPressed(true);
20
+ }
21
+ }, []);
22
+ var onKeyUp = (0, _react.useCallback)(function (event) {
23
+ if (event.key === "Shift" && event.shiftKey === false) {
24
+ setPressed(false);
25
+ }
26
+ }, []);
27
+ (0, _react.useEffect)(function () {
28
+ // @ts-ignore
29
+ document.onselectstart = function () {
30
+ return !pressed;
31
+ };
32
+ return function () {
33
+ document.onselectstart = onselectstartRef.current;
34
+ };
35
+ }, [pressed]);
36
+ (0, _react.useEffect)(function () {
37
+ document.addEventListener("keydown", onKeyDown);
38
+ document.addEventListener("keyup", onKeyUp);
39
+ return function () {
40
+ document.removeEventListener("keydown", onKeyDown);
41
+ document.removeEventListener("keyup", onKeyUp);
42
+ };
43
+ }, []);
44
+ return pressed;
45
+ }
46
+
47
+ //# sourceMappingURL=useShiftKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_isHotkey","_interopRequireDefault","useShiftKey","_useState","useState","_useState2","_slicedToArray2","default","pressed","setPressed","onselectstartRef","useRef","document","onselectstart","onKeyDown","useCallback","event","isHotkey","onKeyUp","key","shiftKey","useEffect","current","addEventListener","removeEventListener"],"sources":["useShiftKey.ts"],"sourcesContent":["import { useState, useEffect, useCallback, useRef } from \"react\";\nimport isHotkey from \"is-hotkey\";\n\nexport function useShiftKey() {\n const [pressed, setPressed] = useState(false);\n const onselectstartRef = useRef(document.onselectstart);\n\n const onKeyDown = useCallback((event: KeyboardEvent) => {\n if (isHotkey(\"shift\", event)) {\n setPressed(true);\n }\n }, []);\n\n const onKeyUp = useCallback((event: KeyboardEvent) => {\n if (event.key === \"Shift\" && event.shiftKey === false) {\n setPressed(false);\n }\n }, []);\n\n useEffect(() => {\n // @ts-ignore\n document.onselectstart = () => !pressed;\n\n return () => {\n document.onselectstart = onselectstartRef.current;\n };\n }, [pressed]);\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDown);\n document.addEventListener(\"keyup\", onKeyUp);\n\n return () => {\n document.removeEventListener(\"keydown\", onKeyDown);\n document.removeEventListener(\"keyup\", onKeyUp);\n };\n }, []);\n\n return pressed;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEO,SAASG,WAAWA,CAAA,EAAG;EAC1B,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAAtCK,OAAO,GAAAH,UAAA;IAAEI,UAAU,GAAAJ,UAAA;EAC1B,IAAMK,gBAAgB,GAAG,IAAAC,aAAM,EAACC,QAAQ,CAACC,aAAa,CAAC;EAEvD,IAAMC,SAAS,GAAG,IAAAC,kBAAW,EAAC,UAACC,KAAoB,EAAK;IACpD,IAAI,IAAAC,iBAAQ,EAAC,OAAO,EAAED,KAAK,CAAC,EAAE;MAC1BP,UAAU,CAAC,IAAI,CAAC;IACpB;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMS,OAAO,GAAG,IAAAH,kBAAW,EAAC,UAACC,KAAoB,EAAK;IAClD,IAAIA,KAAK,CAACG,GAAG,KAAK,OAAO,IAAIH,KAAK,CAACI,QAAQ,KAAK,KAAK,EAAE;MACnDX,UAAU,CAAC,KAAK,CAAC;IACrB;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAY,gBAAS,EAAC,YAAM;IACZ;IACAT,QAAQ,CAACC,aAAa,GAAG;MAAA,OAAM,CAACL,OAAO;IAAA;IAEvC,OAAO,YAAM;MACTI,QAAQ,CAACC,aAAa,GAAGH,gBAAgB,CAACY,OAAO;IACrD,CAAC;EACL,CAAC,EAAE,CAACd,OAAO,CAAC,CAAC;EAEb,IAAAa,gBAAS,EAAC,YAAM;IACZT,QAAQ,CAACW,gBAAgB,CAAC,SAAS,EAAET,SAAS,CAAC;IAC/CF,QAAQ,CAACW,gBAAgB,CAAC,OAAO,EAAEL,OAAO,CAAC;IAE3C,OAAO,YAAM;MACTN,QAAQ,CAACY,mBAAmB,CAAC,SAAS,EAAEV,SAAS,CAAC;MAClDF,QAAQ,CAACY,mBAAmB,CAAC,OAAO,EAAEN,OAAO,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOV,OAAO;AAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-admin",
3
- "version": "5.38.0-beta.0",
3
+ "version": "5.38.0-beta.1",
4
4
  "main": "index.js",
5
5
  "description": "A collection of plugins that together form a complete admin interface, customizable and extensible with Webiny apps and plugins.",
6
6
  "repository": {
@@ -20,19 +20,20 @@
20
20
  "@svgr/webpack": "6.5.1",
21
21
  "@types/mime": "2.0.3",
22
22
  "@types/react": "17.0.39",
23
- "@webiny/app": "5.38.0-beta.0",
24
- "@webiny/app-security": "5.38.0-beta.0",
25
- "@webiny/app-theme": "5.38.0-beta.0",
26
- "@webiny/app-wcp": "5.38.0-beta.0",
27
- "@webiny/form": "5.38.0-beta.0",
28
- "@webiny/lexical-editor": "5.38.0-beta.0",
29
- "@webiny/plugins": "5.38.0-beta.0",
30
- "@webiny/react-composition": "5.38.0-beta.0",
31
- "@webiny/react-router": "5.38.0-beta.0",
32
- "@webiny/telemetry": "5.38.0-beta.0",
33
- "@webiny/ui": "5.38.0-beta.0",
34
- "@webiny/ui-composer": "5.38.0-beta.0",
35
- "@webiny/validation": "5.38.0-beta.0",
23
+ "@webiny/app": "5.38.0-beta.1",
24
+ "@webiny/app-security": "5.38.0-beta.1",
25
+ "@webiny/app-theme": "5.38.0-beta.1",
26
+ "@webiny/app-wcp": "5.38.0-beta.1",
27
+ "@webiny/form": "5.38.0-beta.1",
28
+ "@webiny/lexical-editor": "5.38.0-beta.1",
29
+ "@webiny/plugins": "5.38.0-beta.1",
30
+ "@webiny/react-composition": "5.38.0-beta.1",
31
+ "@webiny/react-router": "5.38.0-beta.1",
32
+ "@webiny/telemetry": "5.38.0-beta.1",
33
+ "@webiny/ui": "5.38.0-beta.1",
34
+ "@webiny/ui-composer": "5.38.0-beta.1",
35
+ "@webiny/utils": "5.38.0-beta.1",
36
+ "@webiny/validation": "5.38.0-beta.1",
36
37
  "apollo-cache": "1.3.5",
37
38
  "apollo-client": "2.6.10",
38
39
  "apollo-link": "1.2.14",
@@ -43,9 +44,9 @@
43
44
  "emotion": "10.0.27",
44
45
  "graphlib": "2.1.8",
45
46
  "graphql": "15.8.0",
47
+ "is-hotkey": "0.1.8",
46
48
  "lodash": "4.17.21",
47
49
  "mobx": "6.9.0",
48
- "nanoid": "3.3.4",
49
50
  "prop-types": "15.8.1",
50
51
  "react": "17.0.2",
51
52
  "react-dom": "17.0.2",
@@ -62,9 +63,10 @@
62
63
  "@babel/preset-typescript": "7.22.5",
63
64
  "@types/bytes": "3.1.1",
64
65
  "@types/graphlib": "2.1.8",
66
+ "@types/is-hotkey": "0.1.7",
65
67
  "@types/store": "2.0.2",
66
- "@webiny/cli": "5.38.0-beta.0",
67
- "@webiny/project-utils": "5.38.0-beta.0",
68
+ "@webiny/cli": "5.38.0-beta.1",
69
+ "@webiny/project-utils": "5.38.0-beta.1",
68
70
  "babel-plugin-emotion": "9.2.11",
69
71
  "rimraf": "3.0.2",
70
72
  "ttypescript": "1.5.15",
@@ -90,5 +92,5 @@
90
92
  ]
91
93
  }
92
94
  },
93
- "gitHead": "5746389d4988626b50e2523ccfa0a9a5e398e0ed"
95
+ "gitHead": "6daf38d3ed0c029a8fea005c2b6246e5b325a09c"
94
96
  }