@webiny/app 5.23.1 → 5.25.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.
Files changed (82) hide show
  1. package/apollo-client/InMemoryCache.d.ts +1 -1
  2. package/apollo-client/InMemoryCache.js.map +1 -0
  3. package/components/Image.js.map +1 -0
  4. package/components/Routes.js.map +1 -0
  5. package/components/View.js.map +1 -0
  6. package/components/index.js.map +1 -0
  7. package/config.js.map +1 -0
  8. package/contexts/Ui/index.d.ts +5 -4
  9. package/contexts/Ui/index.js.map +1 -0
  10. package/hooks/useAutocomplete/index.js.map +1 -0
  11. package/hooks/useAutocomplete/useAutocomplete.d.ts +6 -1
  12. package/hooks/useAutocomplete/useAutocomplete.js +1 -4
  13. package/hooks/useAutocomplete/useAutocomplete.js.map +1 -0
  14. package/hooks/useDataList/functions/getData.d.ts +1 -1
  15. package/hooks/useDataList/functions/getData.js.map +1 -0
  16. package/hooks/useDataList/functions/getError.d.ts +1 -1
  17. package/hooks/useDataList/functions/getError.js.map +1 -0
  18. package/hooks/useDataList/functions/getMeta.d.ts +1 -1
  19. package/hooks/useDataList/functions/getMeta.js.map +1 -0
  20. package/hooks/useDataList/functions/index.js.map +1 -0
  21. package/hooks/useDataList/functions/searchDataByKey.d.ts +1 -1
  22. package/hooks/useDataList/functions/searchDataByKey.js.map +1 -0
  23. package/hooks/useDataList/index.js.map +1 -0
  24. package/hooks/useDataList/useDataList.d.ts +4 -4
  25. package/hooks/useDataList/useDataList.js +5 -1
  26. package/hooks/useDataList/useDataList.js.map +1 -0
  27. package/hooks/useDataList/utils/index.js.map +1 -0
  28. package/hooks/useDataList/utils/prepareLoadListParams.d.ts +9 -3
  29. package/hooks/useDataList/utils/prepareLoadListParams.js +12 -7
  30. package/hooks/useDataList/utils/prepareLoadListParams.js.map +1 -0
  31. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.d.ts +13 -4
  32. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js +3 -3
  33. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js.map +1 -0
  34. package/hooks/useDataList/utils/types.js.map +1 -0
  35. package/hooks/useHandler.d.ts +11 -1
  36. package/hooks/useHandler.js +4 -0
  37. package/hooks/useHandler.js.map +1 -0
  38. package/hooks/useHandlers.d.ts +1 -1
  39. package/hooks/useHandlers.js +3 -0
  40. package/hooks/useHandlers.js.map +1 -0
  41. package/hooks/useUi.js.map +1 -0
  42. package/i18n/i18n.js.map +1 -0
  43. package/i18n/index.js.map +1 -0
  44. package/package.json +14 -13
  45. package/plugins/AddQuerySelectionPlugin.d.ts +1 -1
  46. package/plugins/AddQuerySelectionPlugin.js +17 -3
  47. package/plugins/AddQuerySelectionPlugin.js.map +1 -0
  48. package/plugins/ApolloCacheObjectIdPlugin.d.ts +6 -6
  49. package/plugins/ApolloCacheObjectIdPlugin.js.map +1 -0
  50. package/plugins/ApolloDynamicLink.d.ts +3 -2
  51. package/plugins/ApolloDynamicLink.js +2 -1
  52. package/plugins/ApolloDynamicLink.js.map +1 -0
  53. package/plugins/ApolloLinkPlugin.d.ts +4 -4
  54. package/plugins/ApolloLinkPlugin.js.map +1 -0
  55. package/plugins/ConsoleLinkPlugin.js +3 -2
  56. package/plugins/ConsoleLinkPlugin.js.map +1 -0
  57. package/plugins/LocaleHeaderLinkPlugin.d.ts +3 -2
  58. package/plugins/LocaleHeaderLinkPlugin.js.map +1 -0
  59. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.d.ts +13 -5
  60. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js +3 -3
  61. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js.map +1 -0
  62. package/plugins/NetworkErrorLinkPlugin/StyledComponents.d.ts +2 -2
  63. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js.map +1 -0
  64. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.d.ts +6 -4
  65. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js +3 -4
  66. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js.map +1 -0
  67. package/plugins/NetworkErrorLinkPlugin.js.map +1 -0
  68. package/plugins/OmitTypenameLinkPlugin.js.map +1 -0
  69. package/plugins/RoutePlugin.d.ts +2 -2
  70. package/plugins/RoutePlugin.js +4 -0
  71. package/plugins/RoutePlugin.js.map +1 -0
  72. package/plugins/TenantHeaderLinkPlugin.d.ts +3 -2
  73. package/plugins/TenantHeaderLinkPlugin.js.map +1 -0
  74. package/plugins/ViewPlugin.d.ts +4 -4
  75. package/plugins/ViewPlugin.js +4 -0
  76. package/plugins/ViewPlugin.js.map +1 -0
  77. package/plugins/image.js +19 -14
  78. package/plugins/image.js.map +1 -0
  79. package/plugins/index.js +11 -1
  80. package/plugins/index.js.map +1 -0
  81. package/types.d.ts +26 -6
  82. package/types.js.map +1 -0
@@ -1,7 +1,7 @@
1
1
  import { InMemoryCache as BaseInMemoryCache, InMemoryCacheConfig } from "apollo-cache-inmemory";
2
2
  import { DocumentNode } from "graphql";
3
3
  export declare class InMemoryCache extends BaseInMemoryCache {
4
- private transformPlugins;
4
+ private readonly transformPlugins;
5
5
  constructor(config?: InMemoryCacheConfig);
6
6
  transformDocument(document: DocumentNode): DocumentNode;
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["InMemoryCache.ts"],"names":["InMemoryCache","BaseInMemoryCache","plugins","AddQuerySelectionPlugin","ApolloLinkPlugin","config","transformPlugins","byType","type","filter","pl","document","operationName","definitions","name","value","addSelectionToQuery"],"mappings":";;;;;;;;;AAAA,SAASA,aAAa,IAAIC,iBAA1B,QAAwE,uBAAxE;AAEA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,uBAAT;AACA,SAASC,gBAAT;AAEA,WAAaJ,aAAb;AAAA;;AAAA;;AAGI,yBAAYK,MAAZ,EAA0C;AAAA;;AAAA;;AACtC,8BAAMA,MAAN;;AADsC;;AAGtC,UAAKC,gBAAL,GAAwBJ,OAAO,CAC1BK,MADmB,CACaH,gBAAgB,CAACI,IAD9B,EAEnBC,MAFmB,CAEZ,UAAAC,EAAE;AAAA,aAAIA,EAAE,YAAYP,uBAAlB;AAAA,KAFU,CAAxB;AAHsC;AAMzC;;AATL;AAAA;AAAA,WAWI,2BAAkCQ,QAAlC,EAAwE;AACpE;AACA,UAAMC,aAAa,GAAGD,QAAQ,CAACE,WAAT,CAAqB,CAArB,EAAwBC,IAAxB,CAA6BC,KAAnD;;AAFoE,iDAInD,KAAKT,gBAJ8C;AAAA;;AAAA;AAIpE,4DAAwC;AAAA,cAA7BI,EAA6B;AACpCA,UAAAA,EAAE,CAACM,mBAAH,CAAuBJ,aAAvB,EAAsCD,QAAtC;AACH;AANmE;AAAA;AAAA;AAAA;AAAA;;AAQpE,kGAA+BA,QAA/B;AACH;AApBL;;AAAA;AAAA,EAAmCV,iBAAnC","sourcesContent":["import { InMemoryCache as BaseInMemoryCache, InMemoryCacheConfig } from \"apollo-cache-inmemory\";\nimport { DocumentNode } from \"graphql\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AddQuerySelectionPlugin } from \"../plugins/AddQuerySelectionPlugin\";\nimport { ApolloLinkPlugin } from \"../plugins/ApolloLinkPlugin\";\n\nexport class InMemoryCache extends BaseInMemoryCache {\n private readonly transformPlugins: AddQuerySelectionPlugin[];\n\n constructor(config?: InMemoryCacheConfig) {\n super(config);\n\n this.transformPlugins = plugins\n .byType<AddQuerySelectionPlugin>(ApolloLinkPlugin.type)\n .filter(pl => pl instanceof AddQuerySelectionPlugin);\n }\n\n public override transformDocument(document: DocumentNode): DocumentNode {\n // @ts-ignore\n const operationName = document.definitions[0].name.value;\n\n for (const pl of this.transformPlugins) {\n pl.addSelectionToQuery(operationName, document);\n }\n\n return super.transformDocument(document);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Image.tsx"],"names":["invariant","plugins","Image","presetName","preset","props","plugin","byName","Error","transform","src","getImageSrc","render"],"mappings":";;;AACA,OAAOA,SAAP,MAAsB,WAAtB;AACA,SAASC,OAAT,QAAwB,iBAAxB;AAIA,OAAO,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,OAAsC;AAAA,MAA3BC,UAA2B,QAAnCC,MAAmC;AAAA,MAAZC,KAAY;;AAC7E,MAAMC,MAAM,GAAGL,OAAO,CAACM,MAAR,CAAqC,iBAArC,CAAf;;AACA,MAAI,CAACD,MAAL,EAAa;AACT,UAAM,IAAIE,KAAJ,kEAAN;AACH;;AAED,MAAIL,UAAJ,EAAgB;AACZ,QAAMC,MAAM,GAAG,KAAIE,MAAJ,oBAAuBH,UAAvB,EAAf;;AACAH,IAAAA,SAAS,CAACI,MAAD,+BAA8BD,UAA9B,mBAAT;AACAE,IAAAA,KAAK,CAACI,SAAN,GAAkBL,MAAlB;AACH;;AAED,MAAIC,KAAK,CAACI,SAAV,EAAqB;AACjBJ,IAAAA,KAAK,CAACK,GAAN,GAAYJ,MAAM,CAACK,WAAP,CAAmBN,KAAnB,CAAZ;AACH;;AAED,SAAOC,MAAM,CAACM,MAAP,CAAcP,KAAd,CAAP;AACH,CAjBM","sourcesContent":["import * as React from \"react\";\nimport invariant from \"invariant\";\nimport { plugins } from \"@webiny/plugins\";\nimport { get } from \"lodash\";\nimport { ImageComponentPlugin, ImageProps } from \"~/types\";\n\nexport const Image: React.FC<ImageProps> = ({ preset: presetName, ...props }) => {\n const plugin = plugins.byName<ImageComponentPlugin>(\"image-component\");\n if (!plugin) {\n throw new Error(`Image component plugin (type \"image-component\") not defined.`);\n }\n\n if (presetName) {\n const preset = get(plugin, `presets.${presetName}`);\n invariant(preset, `Transform preset \"${presetName}\" not found.`);\n props.transform = preset;\n }\n\n if (props.transform) {\n props.src = plugin.getImageSrc(props);\n }\n\n return plugin.render(props);\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Routes.tsx"],"names":["React","plugins","Switch","Routes","routes","byType","sort","a","b","pathA","route","props","path","pathB","includes","map","name","cloneElement","key"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,MAAT,QAAuB,sBAAvB;AAGA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACxB;AACA,MAAMC,MAAM,GAAG,mBAAIH,OAAO,CAACI,MAAR,CAA4B,OAA5B,CAAJ,EAA0CC,IAA1C,CAA+C,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACpE,QAAMC,KAAK,GAAGF,CAAC,CAACG,KAAF,CAAQC,KAAR,CAAcC,IAAd,IAAsB,GAApC;AACA,QAAMC,KAAK,GAAGL,CAAC,CAACE,KAAF,CAAQC,KAAR,CAAcC,IAAd,IAAsB,GAApC,CAFoE,CAIpE;;AACA,QAAIH,KAAK,KAAK,GAAV,IAAiBI,KAAK,KAAK,GAA/B,EAAoC;AAChC,aAAO,CAAC,CAAR;AACH,KAPmE,CASpE;;;AACA,QAAIJ,KAAK,KAAK,GAAV,IAAiBA,KAAK,KAAK,GAA/B,EAAoC;AAChC,aAAO,CAAP;AACH,KAZmE,CAcpE;;;AACA,QAAI,CAAC,GAAD,EAAM,GAAN,EAAWK,QAAX,CAAoBD,KAApB,CAAJ,EAAgC;AAC5B,aAAO,CAAC,CAAR;AACH;;AAED,WAAO,CAAP;AACH,GApBc,CAAf;;AAsBA,sBACI,oBAAC,MAAD,QAAST,MAAM,CAACW,GAAP,CAAW;AAAA,QAAGL,KAAH,QAAGA,KAAH;AAAA,QAAUM,IAAV,QAAUA,IAAV;AAAA,wBAAqBhB,KAAK,CAACiB,YAAN,CAAmBP,KAAnB,EAA0B;AAAEQ,MAAAA,GAAG,EAAEF;AAAP,KAA1B,CAArB;AAAA,GAAX,CAAT,CADJ;AAGH,CA3BM","sourcesContent":["import React from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Switch } from \"@webiny/react-router\";\nimport { RoutePlugin } from \"../types\";\n\nexport const Routes = () => {\n // We cannot call `sort` on the array returned by the `plugins.byType` call - it is read-only.\n const routes = [...plugins.byType<RoutePlugin>(\"route\")].sort((a, b) => {\n const pathA = a.route.props.path || \"*\";\n const pathB = b.route.props.path || \"*\";\n\n // This will sort paths at the very bottom of the list\n if (pathA === \"/\" && pathB === \"*\") {\n return -1;\n }\n\n // This will push * and / to the bottom of the list\n if (pathA === \"*\" || pathA === \"/\") {\n return 1;\n }\n\n // This will push * and / to the bottom of the list\n if ([\"*\", \"/\"].includes(pathB)) {\n return -1;\n }\n\n return 0;\n });\n\n return (\n <Switch>{routes.map(({ route, name }) => React.cloneElement(route, { key: name }))}</Switch>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["View.tsx"],"names":["React","Fragment","plugins","ViewPlugin","View","name","children","props","viewPlugins","byType","type","filter","pl","key","length","reduce","el","render"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,UAAT;AAQA,OAAO,IAAMC,IAAI,GAAG,SAAPA,IAAO,OAA2C;AAAA,MAAxCC,IAAwC,QAAxCA,IAAwC;AAAA,MAAlCC,QAAkC,QAAlCA,QAAkC;AAAA,wBAAxBC,KAAwB;AAAA,MAAxBA,KAAwB,2BAAhB,EAAgB;AAC3D,MAAMC,WAAW,GAAGN,OAAO,CAACO,MAAR,CAA2BN,UAAU,CAACO,IAAtC,EAA4CC,MAA5C,CAAmD,UAAAC,EAAE;AAAA,WAAIA,EAAE,CAACC,GAAH,KAAWR,IAAf;AAAA,GAArD,CAApB;;AAEA,MAAIG,WAAW,CAACM,MAAhB,EAAwB;AACpBR,IAAAA,QAAQ,GAAGE,WAAW,CAACO,MAAZ,CAAmB,UAACC,EAAD,EAAKJ,EAAL;AAAA,aAAYA,EAAE,CAACK,MAAH;AAAYX,QAAAA,QAAQ,EAAEU;AAAtB,SAA6BT,KAA7B,EAAZ;AAAA,KAAnB,EAAsED,QAAtE,CAAX;AACH;;AAED,sBAAO,oBAAC,QAAD,QAAWA,QAAQ,IAAI,IAAvB,CAAP;AACH,CARM","sourcesContent":["import React, { Fragment } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ViewPlugin } from \"../plugins/ViewPlugin\";\n\ninterface Props {\n name: string;\n props?: Record<string, any>;\n children?: React.ReactNode;\n}\n\nexport const View = ({ name, children, props = {} }: Props) => {\n const viewPlugins = plugins.byType<ViewPlugin>(ViewPlugin.type).filter(pl => pl.key === name);\n\n if (viewPlugins.length) {\n children = viewPlugins.reduce((el, pl) => pl.render({ children: el, ...props }), children);\n }\n\n return <Fragment>{children || null}</Fragment>;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["Image","Routes"],"mappings":"AAAA,SAASA,KAAT;AACA,SAASC,MAAT","sourcesContent":["export { Image } from \"./Image\";\nexport { Routes } from \"./Routes\";\n"]}
package/config.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["config.ts"],"names":["deepFreeze","obj","Object","keys","forEach","prop","isFrozen","freeze","createConfig","_config","set","config","get","getKey","key","defaultValue"],"mappings":"AAQA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAmD;AAClEC,EAAAA,MAAM,CAACC,IAAP,CAAYF,GAAZ,EAAiBG,OAAjB,CAAyB,UAAAC,IAAI,EAAI;AAC7B,QAAI,OAAOJ,GAAG,CAACI,IAAD,CAAV,KAAqB,QAArB,IAAiC,CAACH,MAAM,CAACI,QAAP,CAAgBL,GAAG,CAACI,IAAD,CAAnB,CAAtC,EAAkE;AAC9DL,MAAAA,UAAU,CAACC,GAAG,CAACI,IAAD,CAAJ,CAAV;AACH;AACJ,GAJD;AAKA,SAAOH,MAAM,CAACK,MAAP,CAAcN,GAAd,CAAP;AACH,CAPD;;AASA,SAASO,YAAT,GAAmC;AAC/B,MAAIC,OAA4B,GAAG,EAAnC;AAEA,SAAO;AACHC,IAAAA,GADG,eACCC,MADD,EACiB;AAChBF,MAAAA,OAAO,GAAGT,UAAU,CAACW,MAAD,CAApB;AACH,KAHE;AAIHC,IAAAA,GAJG,iBAIG;AACF,aAAOH,OAAP;AACH,KANE;AAOHI,IAAAA,MAPG,kBAOIC,GAPJ,EAOSC,YAPT,EAOuB;AACtB,aAAOD,GAAG,IAAIL,OAAP,GAAiBA,OAAO,CAACK,GAAD,CAAxB,GAAgCC,YAAvC;AACH;AATE,GAAP;AAWH;;AAED,OAAO,IAAMJ,MAAM,GAAGH,YAAY,EAA3B","sourcesContent":["export type Config = Record<string, any>;\n\ninterface AppConfig {\n set(config: Config): void;\n get(): Config;\n getKey<T = string>(key: string, defaultValue: T): T;\n}\n\nconst deepFreeze = (obj: Record<string, any>): Record<string, any> => {\n Object.keys(obj).forEach(prop => {\n if (typeof obj[prop] === \"object\" && !Object.isFrozen(obj[prop])) {\n deepFreeze(obj[prop]);\n }\n });\n return Object.freeze(obj);\n};\n\nfunction createConfig(): AppConfig {\n let _config: Record<string, any> = {};\n\n return {\n set(config: Config) {\n _config = deepFreeze(config);\n },\n get() {\n return _config;\n },\n getKey(key, defaultValue) {\n return key in _config ? _config[key] : defaultValue;\n }\n };\n}\n\nexport const config = createConfig();\n"]}
@@ -18,10 +18,11 @@ export interface UiContextValue {
18
18
  }
19
19
  export declare class UiProvider extends React.Component<Props, State> {
20
20
  state: State;
21
- setData: (setter: Function) => void;
21
+ private readonly setData;
22
22
  render(): JSX.Element;
23
23
  }
24
- export declare const UiConsumer: ({ children }: {
25
- children: any;
26
- }) => JSX.Element;
24
+ export interface UiConsumerProps {
25
+ children: React.ReactElement;
26
+ }
27
+ export declare const UiConsumer: React.FC<UiConsumerProps>;
27
28
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.tsx"],"names":["React","plugins","UiContext","createContext","UiProvider","ui","setter","setState","state","value","setData","uiStatePlugins","byType","map","pl","cloneElement","render","key","name","props","children","Component","UiConsumer"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,OAAT,QAAwB,iBAAxB;AAEA,OAAO,IAAMC,SAAS,gBAAGF,KAAK,CAACG,aAAN,CAAoB,EAApB,CAAlB;AAqBP,WAAaC,UAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,4DACmC;AAC3BC,MAAAA,EAAE,EAAE;AADuB,KADnC;;AAAA,8DAK+B,UAACC,MAAD,EAA4B;AACnD,aAAO,MAAKC,QAAL,CAAc,UAACC,KAAD,EAAkB;AACnC,eAAO;AAAEH,UAAAA,EAAE,kCAAOG,KAAK,CAACH,EAAb,GAAoBC,MAAM,CAACE,KAAK,CAACH,EAAP,CAA1B;AAAJ,SAAP;AACH,OAFM,CAAP;AAGH,KATL;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAWI,kBAAyB;AACrB,UAAMI,KAAqB,mCAAQ,KAAKD,KAAL,CAAWH,EAAnB;AAAuBE,QAAAA,QAAQ,EAAE,KAAKG;AAAtC,QAA3B;;AACA,UAAMC,cAAc,GAAGV,OAAO,CAACW,MAAR,CAA8B,UAA9B,CAAvB;AACA,0BACI,oBAAC,SAAD,CAAW,QAAX;AAAoB,QAAA,KAAK,EAAEH;AAA3B,SACKE,cAAc,CAACE,GAAf,CAAmB,UAAAC,EAAE;AAAA,4BAAId,KAAK,CAACe,YAAN,CAAmBD,EAAE,CAACE,MAAH,EAAnB,EAAgC;AAAEC,UAAAA,GAAG,EAAEH,EAAE,CAACI;AAAV,SAAhC,CAAJ;AAAA,OAArB,CADL,EAEK,KAAKC,KAAL,CAAWC,QAFhB,CADJ;AAMH;AApBL;;AAAA;AAAA,EAAgCpB,KAAK,CAACqB,SAAtC;AA0BA,OAAO,IAAMC,UAAqC,GAAG,SAAxCA,UAAwC,OAAkB;AAAA,MAAfF,QAAe,QAAfA,QAAe;AACnE,sBAAO,oBAAC,SAAD,CAAW,QAAX,QAAqB,UAAAf,EAAE;AAAA,wBAAIL,KAAK,CAACe,YAAN,CAAmBK,QAAnB,EAA6B;AAAEf,MAAAA,EAAE,EAAFA;AAAF,KAA7B,CAAJ;AAAA,GAAvB,CAAP;AACH,CAFM","sourcesContent":["import React from \"react\";\nimport { UiStatePlugin } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\n\nexport const UiContext = React.createContext({});\n\ntype Props = {};\n\ntype State = {\n ui: { [key: string]: any };\n};\n\ninterface UiData {\n [key: string]: any;\n}\n\ninterface UiDataSetter {\n (ui: UiData): UiData;\n}\n\nexport interface UiContextValue {\n setState: (setter: UiDataSetter) => void;\n [key: string]: any;\n}\n\nexport class UiProvider extends React.Component<Props, State> {\n public override state: State = {\n ui: {}\n };\n\n private readonly setData = (setter: Function): void => {\n return this.setState((state: State) => {\n return { ui: { ...state.ui, ...setter(state.ui) } };\n });\n };\n\n public override render() {\n const value: UiContextValue = { ...this.state.ui, setState: this.setData };\n const uiStatePlugins = plugins.byType<UiStatePlugin>(\"ui-state\");\n return (\n <UiContext.Provider value={value}>\n {uiStatePlugins.map(pl => React.cloneElement(pl.render(), { key: pl.name }))}\n {this.props.children}\n </UiContext.Provider>\n );\n }\n}\n\nexport interface UiConsumerProps {\n children: React.ReactElement;\n}\nexport const UiConsumer: React.FC<UiConsumerProps> = ({ children }) => {\n return <UiContext.Consumer>{ui => React.cloneElement(children, { ui })}</UiContext.Consumer>;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["useAutocomplete"],"mappings":"AAAA,SAASA,eAAT","sourcesContent":["export { useAutocomplete } from \"./useAutocomplete\";\n"]}
@@ -1,6 +1,11 @@
1
+ import { DocumentNode } from "graphql";
1
2
  interface UseAutocompleteHook {
2
3
  options: any[];
3
4
  onInput(value: string): void;
4
5
  }
5
- export declare const useAutocomplete: (props: any) => UseAutocompleteHook;
6
+ interface Props {
7
+ query: DocumentNode;
8
+ search?: string | ((value: string) => string);
9
+ }
10
+ export declare const useAutocomplete: (props: Props) => UseAutocompleteHook;
6
11
  export {};
@@ -2,12 +2,9 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _debounce from "lodash/debounce";
3
3
  import { useDataList } from "../useDataList";
4
4
  export var useAutocomplete = function useAutocomplete(props) {
5
- var useDataListProps = props.query ? props : {
6
- query: props
7
- };
8
5
  var dataList = useDataList(_objectSpread({
9
6
  useRouter: false
10
- }, useDataListProps));
7
+ }, props));
11
8
  return {
12
9
  options: dataList.data || [],
13
10
  onInput: _debounce(function (query) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useAutocomplete.ts"],"names":["useDataList","useAutocomplete","props","dataList","useRouter","options","data","onInput","query","search","setSearch"],"mappings":";;AAAA,SAASA,WAAT;AAcA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAuC;AAClE,MAAMC,QAAQ,GAAGH,WAAW;AAAGI,IAAAA,SAAS,EAAE;AAAd,KAAwBF,KAAxB,EAA5B;AAEA,SAAO;AACHG,IAAAA,OAAO,EAAEF,QAAQ,CAACG,IAAT,IAAiB,EADvB;AAEHC,IAAAA,OAAO,EAAE,UAAS,UAAAC,KAAK,EAAI;AACvB,UAAI,CAACA,KAAL,EAAY;AACR;AACH;;AAED,UAAIC,MAAM,GAAGP,KAAK,CAACO,MAAN,IAAgBD,KAA7B;;AACA,UAAI,OAAOC,MAAP,KAAkB,UAAtB,EAAkC;AAC9BA,QAAAA,MAAM,GAAGA,MAAM,CAACD,KAAD,CAAf;AACH;;AAEDL,MAAAA,QAAQ,CAACO,SAAT,CAAmBD,MAAnB;AACH,KAXQ,EAWN,GAXM;AAFN,GAAP;AAeH,CAlBM","sourcesContent":["import { useDataList } from \"../useDataList\";\nimport { debounce } from \"lodash\";\nimport { DocumentNode } from \"graphql\";\n\ninterface UseAutocompleteHook {\n options: any[];\n onInput(value: string): void;\n}\n\ninterface Props {\n query: DocumentNode;\n search?: string | ((value: string) => string);\n}\n\nexport const useAutocomplete = (props: Props): UseAutocompleteHook => {\n const dataList = useDataList({ useRouter: false, ...props });\n\n return {\n options: dataList.data || [],\n onInput: debounce(query => {\n if (!query) {\n return;\n }\n\n let search = props.search || query;\n if (typeof search === \"function\") {\n search = search(query);\n }\n\n dataList.setSearch(search);\n }, 250)\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (response: any) => any;
1
+ declare const _default: (response: Record<string, string>) => string | null;
2
2
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getData.ts"],"names":["searchDataByKey","response"],"mappings":"AAAA,OAAOA,eAAP;AAEA,gBAAe,UAACC,QAAD;AAAA,SAAsCD,eAAe,CAAC,MAAD,EAASC,QAAT,CAArD;AAAA,CAAf","sourcesContent":["import searchDataByKey from \"./searchDataByKey\";\n\nexport default (response: Record<string, string>) => searchDataByKey(\"data\", response);\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (response: any) => any;
1
+ declare const _default: (response: Record<string, string>) => string | null;
2
2
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getError.ts"],"names":["searchDataByKey","response"],"mappings":"AAAA,OAAOA,eAAP;AAEA,gBAAe,UAACC,QAAD;AAAA,SAAsCD,eAAe,CAAC,OAAD,EAAUC,QAAV,CAArD;AAAA,CAAf","sourcesContent":["import searchDataByKey from \"./searchDataByKey\";\n\nexport default (response: Record<string, string>) => searchDataByKey(\"error\", response);\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (response: any) => any;
1
+ declare const _default: (response: Record<string, string>) => string | null;
2
2
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getMeta.ts"],"names":["searchDataByKey","response"],"mappings":"AAAA,OAAOA,eAAP;AAEA,gBAAe,UAACC,QAAD;AAAA,SAAsCD,eAAe,CAAC,MAAD,EAASC,QAAT,CAArD;AAAA,CAAf","sourcesContent":["import searchDataByKey from \"./searchDataByKey\";\n\nexport default (response: Record<string, string>) => searchDataByKey(\"meta\", response);\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["default","getData","getError","getMeta"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAApB;AACA,SAASD,OAAO,IAAIE,QAApB;AACA,SAASF,OAAO,IAAIG,OAApB","sourcesContent":["export { default as getData } from \"./getData\";\nexport { default as getError } from \"./getError\";\nexport { default as getMeta } from \"./getMeta\";\n"]}
@@ -1,2 +1,2 @@
1
- declare const searchDataByKey: (searchKey: any, object: any) => any;
1
+ declare const searchDataByKey: (searchKey: string, object: Record<string, any>) => string | null;
2
2
  export default searchDataByKey;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["searchDataByKey.ts"],"names":["searchDataByKey","searchKey","object","key","value"],"mappings":"AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,SAAD,EAAoBC,MAApB,EAAmE;AACvF,MAAI,CAACA,MAAD,IAAW,OAAOA,MAAP,KAAkB,QAAjC,EAA2C;AACvC,WAAO,IAAP;AACH;;AAED,MAAIA,MAAM,CAACD,SAAD,CAAV,EAAuB;AACnB,WAAOC,MAAM,CAACD,SAAD,CAAb;AACH;;AAED,OAAK,IAAME,GAAX,IAAkBD,MAAlB,EAA0B;AACtB,QAAME,KAAK,GAAGJ,eAAe,CAACC,SAAD,EAAYC,MAAM,CAACC,GAAD,CAAlB,CAA7B;;AACA,QAAIC,KAAJ,EAAW;AACP,aAAOA,KAAP;AACH;AACJ;;AAED,SAAO,IAAP;AACH,CAjBD;;AAmBA,eAAeJ,eAAf","sourcesContent":["const searchDataByKey = (searchKey: string, object: Record<string, any>): string | null => {\n if (!object || typeof object !== \"object\") {\n return null;\n }\n\n if (object[searchKey]) {\n return object[searchKey];\n }\n\n for (const key in object) {\n const value = searchDataByKey(searchKey, object[key]);\n if (value) {\n return value;\n }\n }\n\n return null;\n};\n\nexport default searchDataByKey;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["useDataList"],"mappings":"AAAA,SAASA,WAAT","sourcesContent":["export { useDataList } from \"./useDataList\";\n"]}
@@ -1,6 +1,6 @@
1
1
  import { DocumentNode } from "graphql";
2
2
  import { ApolloClient } from "apollo-client";
3
- export declare type UseDataListParams = {
3
+ export interface UseDataListParams {
4
4
  useRouter?: boolean;
5
5
  variables?: ((params: UseDataListParams) => any) | object;
6
6
  client?: ApolloClient<any>;
@@ -8,8 +8,8 @@ export declare type UseDataListParams = {
8
8
  getData?: (data: any) => any;
9
9
  getMeta?: (data: any) => any;
10
10
  getError?: (data: any) => any;
11
- };
12
- export declare type DataListProps = {
11
+ }
12
+ export interface DataListProps {
13
13
  __loadParams: any;
14
14
  refresh: (params?: any) => void;
15
15
  data: any[];
@@ -31,6 +31,6 @@ export declare type DataListProps = {
31
31
  setNextPage: (cursor: string) => void;
32
32
  multiSelect: (items: string | string[], value?: boolean) => void;
33
33
  init: () => void;
34
- };
34
+ }
35
35
  declare const useDataList: (params: UseDataListParams) => DataListProps;
36
36
  export { useDataList };
@@ -16,6 +16,10 @@ var useDataList = function useDataList(params) {
16
16
  _multiSelect = _useState2[1];
17
17
 
18
18
  var history = null;
19
+ /**
20
+ * TODO: figure out the location type.
21
+ */
22
+
19
23
  var location = null;
20
24
  var routerHook = useRouter();
21
25
 
@@ -35,7 +39,7 @@ var useDataList = function useDataList(params) {
35
39
  client: params.client,
36
40
  variables: _objectSpread(_objectSpread({}, variables), prepareLoadListParams(location))
37
41
  };
38
- }, undefined);
42
+ }, []);
39
43
  var queryData = useQuery(params.query, getQueryOptions());
40
44
  var prevLoadParamsRef = useRef({});
41
45
  var dataListProps = {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useDataList.ts"],"names":["useState","useEffect","useRef","useCallback","useQuery","useRouter","prepareLoadListParams","getData","getError","getMeta","useDataList","params","multiSelectedItems","multiSelect","history","location","routerHook","getQueryOptions","variables","client","queryData","query","prevLoadParamsRef","dataListProps","data","meta","error","loading","init","refresh","refetch","__loadParams","setPerPage","perPage","preparedParams","limit","parseInt","after","undefined","before","setNextPage","cursor","setPreviousPage","setSearch","search","setWhere","where","setSorters","sort","items","value","Array","isArray","returnItems","forEach","item","includes","splice","indexOf","push","isSelected","URLSearchParams","get","id","select","set","toString","isMultiSelected","isNoneMultiSelected","length","getMultiSelected","multiSelectAll","isAllMultiSelected","prev","current"],"mappings":";;;;;AAAA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,EAAsCC,WAAtC,QAAyD,OAAzD;AACA,SAASC,QAAT,QAAyB,qBAAzB;AACA,SAASC,SAAT,QAA0B,sBAA1B;AAEA,SAASC,qBAAT;AACA,SAASC,OAAT,EAAkBC,QAAlB,EAA4BC,OAA5B;;AAuCA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAA+B;AAC/C,kBAA0CX,QAAQ,CAAW,EAAX,CAAlD;AAAA;AAAA,MAAOY,kBAAP;AAAA,MAA2BC,YAA3B;;AAEA,MAAIC,OAAO,GAAG,IAAd;AACA;AACJ;AACA;;AACI,MAAIC,QAAa,GAAG,IAApB;AACA,MAAMC,UAAU,GAAGX,SAAS,EAA5B;;AAEA,MAAIM,MAAM,CAACN,SAAP,KAAqB,KAAzB,EAAgC;AAC5BS,IAAAA,OAAO,GAAGE,UAAU,CAACF,OAArB;AACAC,IAAAA,QAAQ,GAAGC,UAAU,CAACD,QAAtB;AACH;;AAED,MAAME,eAAe,GAAGd,WAAW,CAAC,YAAM;AACtC,QAAIe,SAAS,GAAGP,MAAM,CAACO,SAAvB;;AACA,QAAI,OAAOA,SAAP,KAAqB,UAAzB,EAAqC;AACjCA,MAAAA,SAAS,GAAGA,SAAS,CAACP,MAAD,CAArB;AACH;;AAED,WAAO;AACHQ,MAAAA,MAAM,EAAER,MAAM,CAACQ,MADZ;AAEHD,MAAAA,SAAS,kCACFA,SADE,GAEFZ,qBAAqB,CAACS,QAAD,CAFnB;AAFN,KAAP;AAOH,GAbkC,EAahC,EAbgC,CAAnC;AAeA,MAAMK,SAAS,GAAGhB,QAAQ,CAACO,MAAM,CAACU,KAAR,EAAeJ,eAAe,EAA9B,CAA1B;AACA,MAAMK,iBAAiB,GAAGpB,MAAM,CAAC,EAAD,CAAhC;AAEA,MAAMqB,aAA4B,GAAG;AACjCC,IAAAA,IAAI,EAAE,KAAIb,MAAJ,EAAY,SAAZ,EAAuBJ,OAAvB,EAAgCa,SAAS,CAACI,IAA1C,CAD2B;AAEjCC,IAAAA,IAAI,EAAE,KAAId,MAAJ,EAAY,SAAZ,EAAuBF,OAAvB,EAAgCW,SAAS,CAACI,IAA1C,CAF2B;AAGjCE,IAAAA,KAAK,EAAE,KAAIf,MAAJ,EAAY,UAAZ,EAAwBH,QAAxB,EAAkCY,SAAS,CAACI,IAA5C,CAH0B;AAKjCG,IAAAA,OAAO,EAAEP,SAAS,CAACO,OALc;AAMjCC,IAAAA,IANiC,kBAM1B;AACH,WAAKC,OAAL;AACH,KARgC;AASjCA,IAAAA,OATiC,qBASJ;AAAA,UAArBlB,MAAqB,uEAAZ,IAAY;;AACzB;AACAE,MAAAA,YAAW,CAAC,EAAD,CAAX;;AAEA,UAAI,CAACF,MAAL,EAAa;AACTS,QAAAA,SAAS,CAACU,OAAV,CAAkBP,aAAa,CAACQ,YAAhC;AACA;AACH,OAPwB,CASzB;AACA;AACA;AACA;;;AAEAX,MAAAA,SAAS,CAACU,OAAV,CAAkBnB,MAAlB;AACH,KAxBgC;AAyBjCqB,IAAAA,UAzBiC,sBAyBtBC,OAzBsB,EAyBC;AAC9B,UAAMC,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBI,QAAAA,KAAK,EAAEC,QAAQ,CAAC,KAAKH,OAAN,CAFC;AAGhBI,QAAAA,KAAK,EAAEC,SAHS;AAIhBC,QAAAA,MAAM,EAAED;AAJQ,QAApB;;AAMA,WAAKT,OAAL,CAAaK,cAAb;AACH,KAjCgC;AAkCjCM,IAAAA,WAlCiC,uBAkCrBC,MAlCqB,EAkCC;AAC9B,UAAMP,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBM,QAAAA,KAAK,EAAEI,MAFS;AAGhBF,QAAAA,MAAM,EAAED;AAHQ,QAApB;;AAKA,WAAKT,OAAL,CAAaK,cAAb;AACH,KAzCgC;AA0CjCQ,IAAAA,eA1CiC,2BA0CjBD,MA1CiB,EA0CK;AAClC,UAAMP,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBM,QAAAA,KAAK,EAAEC,SAFS;AAGhBC,QAAAA,MAAM,EAAEE;AAHQ,QAApB;;AAKA,WAAKZ,OAAL,CAAaK,cAAb;AACH,KAjDgC;AAkDjCS,IAAAA,SAlDiC,qBAkDvBC,MAlDuB,EAkDT;AACpB,UAAMV,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBa,QAAAA,MAAM,EAANA,MAFgB;AAGhBP,QAAAA,KAAK,EAAEC,SAHS;AAIhBC,QAAAA,MAAM,EAAED;AAJQ,QAApB;;AAMA,WAAKT,OAAL,CAAaK,cAAb;AACH,KA1DgC;AA2DjCW,IAAAA,QA3DiC,oBA2DxBC,KA3DwB,EA2DX;AAClB,UAAMZ,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBe,QAAAA,KAAK,EAALA,KAFgB;AAGhBT,QAAAA,KAAK,EAAEC,SAHS;AAIhBC,QAAAA,MAAM,EAAED;AAJQ,QAApB;;AAMA,WAAKT,OAAL,CAAaK,cAAb;AACH,KAnEgC;AAoEjCa,IAAAA,UApEiC,sBAoEtBC,IApEsB,EAoEV;AACnB,UAAMd,cAAc,mCACbX,aAAa,CAACQ,YADD;AAEhBiB,QAAAA,IAAI,EAAJA,IAFgB;AAGhBX,QAAAA,KAAK,EAAEC,SAHS;AAIhBC,QAAAA,MAAM,EAAED;AAJQ,QAApB;;AAMA,WAAKT,OAAL,CAAaK,cAAb;AACH,KA5EgC;AA6EjCrB,IAAAA,WA7EiC,uBA6ErBoC,KA7EqB,EA6EdC,KA7Ec,EA6ED;AAC5B,UAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAL,EAA2B;AACvBA,QAAAA,KAAK,GAAG,CAACA,KAAD,CAAR;AACH;;AAED,UAAMI,WAAW,sBAAOzC,kBAAP,CAAjB;;AAEAqC,MAAAA,KAAK,CAACK,OAAN,CAAc,UAAAC,IAAI,EAAI;AAClB,YAAIL,KAAK,KAAKZ,SAAd,EAAyB;AACrBe,UAAAA,WAAW,CAACG,QAAZ,CAAqBD,IAArB,IACMF,WAAW,CAACI,MAAZ,CAAmBJ,WAAW,CAACK,OAAZ,CAAoBH,IAApB,CAAnB,EAA8C,CAA9C,CADN,GAEMF,WAAW,CAACM,IAAZ,CAAiBJ,IAAjB,CAFN;AAGH,SAJD,MAIO;AACH,cAAIL,KAAK,KAAK,IAAd,EAAoB;AAChB,aAACG,WAAW,CAACG,QAAZ,CAAqBD,IAArB,CAAD,IAA+BF,WAAW,CAACM,IAAZ,CAAiBJ,IAAjB,CAA/B;AACH,WAFD,MAEO;AACHF,YAAAA,WAAW,CAACG,QAAZ,CAAqBD,IAArB,KACIF,WAAW,CAACI,MAAZ,CAAmBJ,WAAW,CAACK,OAAZ,CAAoBH,IAApB,CAAnB,EAA8C,CAA9C,CADJ;AAEH;AACJ;AACJ,OAbD;;AAeA1C,MAAAA,YAAW,CAACwC,WAAD,CAAX;AACH,KApGgC;AAqGjCO,IAAAA,UArGiC,sBAqGtBL,IArGsB,EAqGhB;AACb,UAAMlC,KAAK,GAAG,IAAIwC,eAAJ,CAAoB9C,QAAQ,CAAC6B,MAA7B,CAAd;AACA,aAAOvB,KAAK,CAACyC,GAAN,CAAU,IAAV,MAAoBP,IAAI,CAACQ,EAAhC;AACH,KAxGgC;AAyGjCC,IAAAA,MAzGiC,kBAyG1BT,IAzG0B,EAyGpB;AACT,UAAMlC,KAAK,GAAG,IAAIwC,eAAJ,CAAoB9C,QAAQ,CAAC6B,MAA7B,CAAd;AACAvB,MAAAA,KAAK,CAAC4C,GAAN,CAAU,IAAV,EAAgBV,IAAI,CAACQ,EAArB;AACAjD,MAAAA,OAAO,CAAC6C,IAAR,CAAa;AAAEf,QAAAA,MAAM,EAAEvB,KAAK,CAAC6C,QAAN;AAAV,OAAb;AACH,KA7GgC;AA8GjCC,IAAAA,eA9GiC,2BA8GjBZ,IA9GiB,EA8GX;AAClB,UAAI,CAACJ,KAAK,CAACC,OAAN,CAAcxC,kBAAd,CAAL,EAAwC;AACpC,eAAO,KAAP;AACH;;AAED,aAAOA,kBAAkB,CAAC4C,QAAnB,CAA4BD,IAA5B,CAAP;AACH,KApHgC;AAqHjCa,IAAAA,mBArHiC,iCAqHX;AAClB,aAAOxD,kBAAkB,CAACyD,MAAnB,KAA8B,CAArC;AACH,KAvHgC;AAwHjCC,IAAAA,gBAxHiC,8BAwHd;AACf,aAAO1D,kBAAP;AACH,KA1HgC;AA2HjC2D,IAAAA,cA3HiC,0BA2HlBrB,KA3HkB,EA2HI;AACjC,UAAQ1B,IAAR,GAAiBD,aAAjB,CAAQC,IAAR;;AACA,UAAI2B,KAAK,CAACC,OAAN,CAAc5B,IAAd,CAAJ,EAAyB;AACrBD,QAAAA,aAAa,CAACV,WAAd,CAA0BW,IAA1B,EAAgC0B,KAAhC;AACH,OAFD,MAEO;AACH3B,QAAAA,aAAa,CAACV,WAAd,CAA0B,EAA1B,EAA8BqC,KAA9B;AACH;AACJ,KAlIgC;AAmIjCsB,IAAAA,kBAnIiC,gCAmIH;AAC1B,UAAQhD,IAAR,GAAiBD,aAAjB,CAAQC,IAAR;AAEA,aAAO2B,KAAK,CAACC,OAAN,CAAc5B,IAAd,KAAuBZ,kBAAkB,CAACyD,MAAnB,KAA8B7C,IAAI,CAAC6C,MAAjE;AACH,KAvIgC;AAyIjCtC,IAAAA,YAAY,EAAEzB,qBAAqB,CAACS,QAAD;AAzIF,GAArC;AA4IAd,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAMU,MAAM,GAAG;AACX8D,MAAAA,IAAI,EAAEnD,iBAAiB,CAACoD,OADb;AAEXA,MAAAA,OAAO,EAAEnD,aAAa,CAACQ;AAFZ,KAAf;;AAKA,QAAI,CAAC,SAAQpB,MAAM,CAAC8D,IAAf,EAAqB9D,MAAM,CAAC+D,OAA5B,CAAL,EAA2C;AACvCnD,MAAAA,aAAa,CAACK,IAAd;AACH;;AAEDN,IAAAA,iBAAiB,CAACoD,OAAlB,GAA4B/D,MAAM,CAAC+D,OAAnC;AACH,GAXQ,CAAT;AAaA,SAAOnD,aAAP;AACH,CA3LD;;AA6LA,SAASb,WAAT","sourcesContent":["import { useState, useEffect, useRef, useCallback } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { get, isEqual } from \"lodash\";\nimport { prepareLoadListParams } from \"./utils\";\nimport { getData, getError, getMeta } from \"./functions\";\n\nimport { DocumentNode } from \"graphql\";\nimport { ApolloClient } from \"apollo-client\";\n\nexport interface UseDataListParams {\n useRouter?: boolean;\n variables?: ((params: UseDataListParams) => any) | object;\n client?: ApolloClient<any>;\n query: DocumentNode;\n getData?: (data: any) => any;\n getMeta?: (data: any) => any;\n getError?: (data: any) => any;\n}\n\nexport interface DataListProps {\n __loadParams: any;\n refresh: (params?: any) => void;\n data: any[];\n meta: any;\n error: any;\n loading: boolean;\n isSelected: (item: any) => boolean;\n select: (item: any) => void;\n isMultiSelected: (item: any) => boolean;\n isNoneMultiSelected: () => boolean;\n isAllMultiSelected: () => boolean;\n multiSelectAll: (value: boolean) => void;\n getMultiSelected: () => any[];\n setSearch: (search: any) => void;\n setWhere: (where: any) => void;\n setSorters: (sort: any) => void;\n setPerPage: (perPage: number) => void;\n setPreviousPage: (cursor: string) => void;\n setNextPage: (cursor: string) => void;\n multiSelect: (items: string | string[], value?: boolean) => void;\n init: () => void;\n}\n\nconst useDataList = (params: UseDataListParams) => {\n const [multiSelectedItems, multiSelect] = useState<string[]>([]);\n\n let history = null;\n /**\n * TODO: figure out the location type.\n */\n let location: any = null;\n const routerHook = useRouter();\n\n if (params.useRouter !== false) {\n history = routerHook.history;\n location = routerHook.location;\n }\n\n const getQueryOptions = useCallback(() => {\n let variables = params.variables;\n if (typeof variables === \"function\") {\n variables = variables(params);\n }\n\n return {\n client: params.client,\n variables: {\n ...variables,\n ...prepareLoadListParams(location)\n }\n };\n }, []);\n\n const queryData = useQuery(params.query, getQueryOptions());\n const prevLoadParamsRef = useRef({});\n\n const dataListProps: DataListProps = {\n data: get(params, \"getData\", getData)(queryData.data),\n meta: get(params, \"getMeta\", getMeta)(queryData.data),\n error: get(params, \"getError\", getError)(queryData.data),\n\n loading: queryData.loading,\n init() {\n this.refresh();\n },\n refresh(params = null): void {\n // Refresh multi select first.\n multiSelect([]);\n\n if (!params) {\n queryData.refetch(dataListProps.__loadParams);\n return;\n }\n\n // if (history) {\n // redirectToRouteWithQueryParams(params, { history, location });\n // return;\n // }\n\n queryData.refetch(params);\n },\n setPerPage(perPage: number): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n limit: parseInt(\"\" + perPage),\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setNextPage(cursor: string): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n after: cursor,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setPreviousPage(cursor: string): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n after: undefined,\n before: cursor\n };\n this.refresh(preparedParams);\n },\n setSearch(search): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n search,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setWhere(where): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n where,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setSorters(sort): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n sort,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n multiSelect(items, value): void {\n if (!Array.isArray(items)) {\n items = [items];\n }\n\n const returnItems = [...multiSelectedItems];\n\n items.forEach(item => {\n if (value === undefined) {\n returnItems.includes(item)\n ? returnItems.splice(returnItems.indexOf(item), 1)\n : returnItems.push(item);\n } else {\n if (value === true) {\n !returnItems.includes(item) && returnItems.push(item);\n } else {\n returnItems.includes(item) &&\n returnItems.splice(returnItems.indexOf(item), 1);\n }\n }\n });\n\n multiSelect(returnItems);\n },\n isSelected(item) {\n const query = new URLSearchParams(location.search);\n return query.get(\"id\") === item.id;\n },\n select(item) {\n const query = new URLSearchParams(location.search);\n query.set(\"id\", item.id);\n history.push({ search: query.toString() });\n },\n isMultiSelected(item) {\n if (!Array.isArray(multiSelectedItems)) {\n return false;\n }\n\n return multiSelectedItems.includes(item);\n },\n isNoneMultiSelected() {\n return multiSelectedItems.length === 0;\n },\n getMultiSelected() {\n return multiSelectedItems;\n },\n multiSelectAll(value: boolean): void {\n const { data } = dataListProps;\n if (Array.isArray(data)) {\n dataListProps.multiSelect(data, value);\n } else {\n dataListProps.multiSelect([], value);\n }\n },\n isAllMultiSelected(): boolean {\n const { data } = dataListProps;\n\n return Array.isArray(data) && multiSelectedItems.length === data.length;\n },\n\n __loadParams: prepareLoadListParams(location)\n };\n\n useEffect(() => {\n const params = {\n prev: prevLoadParamsRef.current,\n current: dataListProps.__loadParams\n };\n\n if (!isEqual(params.prev, params.current)) {\n dataListProps.init();\n }\n\n prevLoadParamsRef.current = params.current;\n });\n\n return dataListProps;\n};\n\nexport { useDataList };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["default","prepareLoadListParams","redirectToRouteWithQueryParams"],"mappings":"AAAA,SAASA,OAAO,IAAIC,qBAApB;AACA,SAASD,OAAO,IAAIE,8BAApB","sourcesContent":["export { default as prepareLoadListParams } from \"./prepareLoadListParams\";\nexport { default as redirectToRouteWithQueryParams } from \"./redirectToRouteWithQueryParams\";\n"]}
@@ -1,4 +1,10 @@
1
- declare const _default: (location: any) => {
2
- [key: string]: any;
3
- };
1
+ interface Params {
2
+ after?: string;
3
+ before?: string;
4
+ limit?: number;
5
+ sort?: string;
6
+ where?: Record<string, any>;
7
+ search?: string;
8
+ }
9
+ declare const _default: (location: Location) => Params;
4
10
  export default _default;
@@ -1,3 +1,4 @@
1
+ var keys = ["sort", "where", "search"];
1
2
  export default (function (location) {
2
3
  var params = {};
3
4
 
@@ -19,13 +20,17 @@ export default (function (location) {
19
20
  params.limit = parseInt(limit);
20
21
  }
21
22
 
22
- ["sort", "where", "search"].forEach(function (key) {
23
- if (typeof query.get(key) === "string") {
24
- try {
25
- params[key] = JSON.parse(query.get(key));
26
- } catch (e) {
27
- params[key] = query.get(key);
28
- }
23
+ keys.forEach(function (key) {
24
+ var value = query.get(key);
25
+
26
+ if (typeof value !== "string") {
27
+ return;
28
+ }
29
+
30
+ try {
31
+ params[key] = JSON.parse(value);
32
+ } catch (e) {
33
+ params[key] = value;
29
34
  }
30
35
  });
31
36
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["prepareLoadListParams.ts"],"names":["keys","location","params","query","URLSearchParams","search","after","get","before","limit","parseInt","forEach","key","value","JSON","parse","e"],"mappings":"AASA,IAAMA,IAAsB,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,CAA/B;AAEA,gBAAe,UAACC,QAAD,EAAgC;AAC3C,MAAMC,MAAc,GAAG,EAAvB;;AAEA,MAAID,QAAJ,EAAc;AACV,QAAME,KAAK,GAAG,IAAIC,eAAJ,CAAoBH,QAAQ,CAACI,MAA7B,CAAd;AAEA,QAAMC,KAAK,GAAGH,KAAK,CAACI,GAAN,CAAU,OAAV,CAAd;AACA,QAAMC,MAAM,GAAGL,KAAK,CAACI,GAAN,CAAU,QAAV,CAAf;AACA,QAAME,KAAK,GAAGN,KAAK,CAACI,GAAN,CAAU,OAAV,CAAd;;AAEA,QAAID,KAAJ,EAAW;AACPJ,MAAAA,MAAM,CAACI,KAAP,GAAeA,KAAf;AACH;;AAED,QAAIE,MAAJ,EAAY;AACRN,MAAAA,MAAM,CAACM,MAAP,GAAgBA,MAAhB;AACH;;AAED,QAAIC,KAAJ,EAAW;AACPP,MAAAA,MAAM,CAACO,KAAP,GAAeC,QAAQ,CAACD,KAAD,CAAvB;AACH;;AAEDT,IAAAA,IAAI,CAACW,OAAL,CAAa,UAAAC,GAAG,EAAI;AAChB,UAAMC,KAAK,GAAGV,KAAK,CAACI,GAAN,CAAUK,GAAV,CAAd;;AACA,UAAI,OAAOC,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACH;;AACD,UAAI;AACAX,QAAAA,MAAM,CAACU,GAAD,CAAN,GAAcE,IAAI,CAACC,KAAL,CAAWF,KAAX,CAAd;AACH,OAFD,CAEE,OAAOG,CAAP,EAAU;AACRd,QAAAA,MAAM,CAACU,GAAD,CAAN,GAAcC,KAAd;AACH;AACJ,KAVD;AAWH;;AAED,SAAOX,MAAP;AACH,CApCD","sourcesContent":["interface Params {\n after?: string;\n before?: string;\n limit?: number;\n sort?: string;\n where?: Record<string, any>;\n search?: string;\n}\n\nconst keys: (keyof Params)[] = [\"sort\", \"where\", \"search\"];\n\nexport default (location: Location): Params => {\n const params: Params = {};\n\n if (location) {\n const query = new URLSearchParams(location.search);\n\n const after = query.get(\"after\");\n const before = query.get(\"before\");\n const limit = query.get(\"limit\");\n\n if (after) {\n params.after = after;\n }\n\n if (before) {\n params.before = before;\n }\n\n if (limit) {\n params.limit = parseInt(limit);\n }\n\n keys.forEach(key => {\n const value = query.get(key);\n if (typeof value !== \"string\") {\n return;\n }\n try {\n params[key] = JSON.parse(value);\n } catch (e) {\n params[key] = value as any;\n }\n });\n }\n\n return params as Params;\n};\n"]}
@@ -1,5 +1,14 @@
1
- declare const _default: (params: any, { history, location }: {
2
- history: any;
3
- location: any;
4
- }) => void;
1
+ interface Params {
2
+ sort: string;
3
+ search: string;
4
+ where: Record<string, any>;
5
+ }
6
+ interface Location {
7
+ search: string;
8
+ }
9
+ interface Options {
10
+ history: Location[];
11
+ location: Location;
12
+ }
13
+ declare const _default: (params: Params, options: Options) => void;
5
14
  export default _default;
@@ -1,6 +1,6 @@
1
- export default (function (params, _ref) {
2
- var history = _ref.history,
3
- location = _ref.location;
1
+ export default (function (params, options) {
2
+ var history = options.history,
3
+ location = options.location;
4
4
  var paramsClone = Object.assign({}, params);
5
5
  ["sort", "search", "where"].forEach(function (key) {
6
6
  if (typeof paramsClone[key] === "object") {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["redirectToRouteWithQueryParams.ts"],"names":["params","options","history","location","paramsClone","Object","assign","forEach","key","JSON","stringify","keys","query","URLSearchParams","search","set","delete","push","toString"],"mappings":"AAYA,gBAAe,UAACA,MAAD,EAAiBC,OAAjB,EAA4C;AACvD,MAAQC,OAAR,GAA8BD,OAA9B,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAA8BF,OAA9B,CAAiBE,QAAjB;AACA,MAAMC,WAAgC,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBN,MAAlB,CAAzC;AAEA,GAAC,MAAD,EAAS,QAAT,EAAmB,OAAnB,EAA4BO,OAA5B,CAAoC,UAAAC,GAAG,EAAI;AACvC,QAAI,OAAOJ,WAAW,CAACI,GAAD,CAAlB,KAA4B,QAAhC,EAA0C;AACtCJ,MAAAA,WAAW,CAACI,GAAD,CAAX,GAAmBC,IAAI,CAACC,SAAL,CAAeN,WAAW,CAACI,GAAD,CAA1B,CAAnB;AACH;AACJ,GAJD;AAMA,MAAMG,IAAc,GAAG,CAAC,OAAD,EAAU,OAAV,EAAmB,QAAnB,EAA6B,OAA7B,EAAsC,QAAtC,EAAgD,MAAhD,CAAvB;AAEA,MAAMC,KAAK,GAAG,IAAIC,eAAJ,CAAoBV,QAAQ,CAACW,MAA7B,CAAd;AACAH,EAAAA,IAAI,CAACJ,OAAL,CAAa,UAAAC,GAAG,EAAI;AAChB,QAAI,OAAOJ,WAAW,CAACI,GAAD,CAAlB,KAA4B,WAAhC,EAA6C;AACzCI,MAAAA,KAAK,CAACG,GAAN,CAAUP,GAAV,EAAeJ,WAAW,CAACI,GAAD,CAA1B;AACH,KAFD,MAEO;AACHI,MAAAA,KAAK,CAACI,MAAN,CAAaR,GAAb;AACH;AACJ,GAND;AAQAN,EAAAA,OAAO,CAACe,IAAR,CAAa;AAAEH,IAAAA,MAAM,EAAEF,KAAK,CAACM,QAAN;AAAV,GAAb;AACH,CAtBD","sourcesContent":["interface Params {\n sort: string;\n search: string;\n where: Record<string, any>;\n}\ninterface Location {\n search: string;\n}\ninterface Options {\n history: Location[];\n location: Location;\n}\nexport default (params: Params, options: Options): void => {\n const { history, location } = options;\n const paramsClone: Record<string, any> = Object.assign({}, params);\n\n [\"sort\", \"search\", \"where\"].forEach(key => {\n if (typeof paramsClone[key] === \"object\") {\n paramsClone[key] = JSON.stringify(paramsClone[key]);\n }\n });\n\n const keys: string[] = [\"limit\", \"after\", \"before\", \"where\", \"search\", \"sort\"];\n\n const query = new URLSearchParams(location.search);\n keys.forEach(key => {\n if (typeof paramsClone[key] !== \"undefined\") {\n query.set(key, paramsClone[key]);\n } else {\n query.delete(key);\n }\n });\n\n history.push({ search: query.toString() });\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -1 +1,11 @@
1
- export declare function useHandler(props: any, factory: any): (...args: any[]) => any;
1
+ /**
2
+ * TODO: figure out any types.
3
+ */
4
+ interface Props {
5
+ [key: string]: any;
6
+ }
7
+ interface Factory {
8
+ (...args: any): any;
9
+ }
10
+ export declare function useHandler(props: Props, factory: Factory): (...args: any) => any;
11
+ export {};
@@ -1,4 +1,8 @@
1
1
  import { useRef, useEffect } from "react";
2
+ /**
3
+ * TODO: figure out any types.
4
+ */
5
+
2
6
  export function useHandler(props, factory) {
3
7
  var propsRef = useRef(props);
4
8
  var handlerRef = useRef(function () {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useHandler.ts"],"names":["useRef","useEffect","useHandler","props","factory","propsRef","handlerRef","handler","current"],"mappings":"AAAA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,OAAlC;AAEA;AACA;AACA;;AAOA,OAAO,SAASC,UAAT,CAAoBC,KAApB,EAAkCC,OAAlC,EAAoD;AACvD,MAAMC,QAAQ,GAAGL,MAAM,CAACG,KAAD,CAAvB;AAEA,MAAMG,UAAU,GAAGN,MAAM,CAAC,YAAkB;AACxC,QAAMO,OAAO,GAAGH,OAAO,CAACC,QAAQ,CAACG,OAAV,CAAvB;AACA,WAAOD,OAAO,MAAP,mBAAP;AACH,GAHwB,CAAzB;AAKAN,EAAAA,SAAS,CAAC,YAAM;AACZI,IAAAA,QAAQ,CAACG,OAAT,GAAmBL,KAAnB;AACH,GAFQ,CAAT;AAIA,SAAOG,UAAU,CAACE,OAAlB;AACH","sourcesContent":["import { useRef, useEffect } from \"react\";\n\n/**\n * TODO: figure out any types.\n */\ninterface Props {\n [key: string]: any;\n}\ninterface Factory {\n (...args: any): any;\n}\nexport function useHandler(props: Props, factory: Factory) {\n const propsRef = useRef(props);\n\n const handlerRef = useRef((...args: any) => {\n const handler = factory(propsRef.current);\n return handler(...args);\n });\n\n useEffect(() => {\n propsRef.current = props;\n });\n\n return handlerRef.current;\n}\n"]}
@@ -7,5 +7,5 @@ declare type HandlerFactories = {
7
7
  declare type Handlers = {
8
8
  [K in keyof HandlerFactories]: (...params: any[]) => any;
9
9
  };
10
- export declare function useHandlers(props: HandlerProps, factories: HandlerFactories): Handlers;
10
+ export declare function useHandlers<H = Handlers>(props: HandlerProps, factories: HandlerFactories): H;
11
11
  export {};
@@ -4,6 +4,9 @@ export function useHandlers(props, factories) {
4
4
  var handlersRef = useRef(function () {
5
5
  var names = Object.keys(factories);
6
6
  return names.reduce(function (handlers, name) {
7
+ /**
8
+ * TODO: figure out args types
9
+ */
7
10
  handlers[name] = function () {
8
11
  var handler = factories[name](propsRef.current);
9
12
  return handler.apply(void 0, arguments);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useHandlers.ts"],"names":["useRef","useEffect","useHandlers","props","factories","propsRef","handlersRef","names","Object","keys","reduce","handlers","name","handler","current"],"mappings":"AAAA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,OAAlC;AAQA,OAAO,SAASC,WAAT,CAAmCC,KAAnC,EAAwDC,SAAxD,EAAqF;AACxF,MAAMC,QAAQ,GAAGL,MAAM,CAACG,KAAD,CAAvB;AAEA,MAAMG,WAAW,GAAGN,MAAM,CACrB,YAAM;AACH,QAAMO,KAAK,GAAGC,MAAM,CAACC,IAAP,CAAYL,SAAZ,CAAd;AACA,WAAOG,KAAK,CAACG,MAAN,CAAa,UAACC,QAAD,EAAWC,IAAX,EAAoB;AACpC;AAChB;AACA;AACgBD,MAAAA,QAAQ,CAACC,IAAD,CAAR,GAAiB,YAAkB;AAC/B,YAAMC,OAAO,GAAGT,SAAS,CAACQ,IAAD,CAAT,CAAgBP,QAAQ,CAACS,OAAzB,CAAhB;AACA,eAAOD,OAAO,MAAP,mBAAP;AACH,OAHD;;AAIA,aAAOF,QAAP;AACH,KATM,EASJ,EATI,CAAP;AAUH,GAZD,EADsB,CAA1B;AAgBAV,EAAAA,SAAS,CAAC,YAAM;AACZI,IAAAA,QAAQ,CAACS,OAAT,GAAmBX,KAAnB;AACH,GAFQ,CAAT;AAIA,SAAOG,WAAW,CAACQ,OAAnB;AACH","sourcesContent":["import { useRef, useEffect } from \"react\";\n\ntype HandlerProps = { [key: string]: any };\ntype HandlerFactories = { [key: string]: (props: HandlerProps) => (...params: any[]) => any };\ntype Handlers = {\n [K in keyof HandlerFactories]: (...params: any[]) => any;\n};\n\nexport function useHandlers<H = Handlers>(props: HandlerProps, factories: HandlerFactories) {\n const propsRef = useRef(props);\n\n const handlersRef = useRef(\n (() => {\n const names = Object.keys(factories);\n return names.reduce((handlers, name) => {\n /**\n * TODO: figure out args types\n */\n handlers[name] = (...args: any) => {\n const handler = factories[name](propsRef.current);\n return handler(...args);\n };\n return handlers;\n }, {} as Record<string, any>);\n })()\n );\n\n useEffect(() => {\n propsRef.current = props;\n });\n\n return handlersRef.current as H;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useUi.ts"],"names":["useContext","UiContext","useUi"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,SAAT;AAEA,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAQ,GAAM;AACvB,SAAOF,UAAU,CAACC,SAAD,CAAjB;AACH,CAFM","sourcesContent":["import { useContext } from \"react\";\nimport { UiContext, UiContextValue } from \"./../contexts/Ui\";\n\nexport const useUi = () => {\n return useContext(UiContext) as UiContextValue;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["i18n.ts"],"names":["i18n","defaultProcessor","defaultModifiers","reactProcessor","registerProcessors","registerModifiers"],"mappings":"AAAA,OAAOA,IAAP,IAAeC,gBAAf,EAAiCC,gBAAjC,QAAyD,cAAzD;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAH,IAAI,CAACI,kBAAL,CAAwB,CAACH,gBAAD,EAAmBE,cAAnB,CAAxB;AACAH,IAAI,CAACK,iBAAL,CAAuBH,gBAAvB;AAEA,eAAeF,IAAf","sourcesContent":["import i18n, { defaultProcessor, defaultModifiers } from \"@webiny/i18n\";\nimport reactProcessor from \"@webiny/i18n-react\";\n\ni18n.registerProcessors([defaultProcessor, reactProcessor]);\ni18n.registerModifiers(defaultModifiers);\n\nexport default i18n;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["default","i18n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAApB","sourcesContent":["export { default as i18n } from \"./i18n\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app",
3
- "version": "5.23.1",
3
+ "version": "5.25.0-beta.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,14 +15,14 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@apollo/react-hooks": "3.1.5",
18
- "@babel/runtime": "7.16.7",
18
+ "@babel/runtime": "7.17.2",
19
19
  "@emotion/styled": "10.3.0",
20
20
  "@types/react": "16.14.2",
21
- "@webiny/i18n": "5.23.1",
22
- "@webiny/i18n-react": "5.23.1",
23
- "@webiny/plugins": "5.23.1",
24
- "@webiny/react-router": "5.23.1",
25
- "@webiny/ui": "5.23.1",
21
+ "@webiny/i18n": "5.25.0-beta.0",
22
+ "@webiny/i18n-react": "5.25.0-beta.0",
23
+ "@webiny/plugins": "5.25.0-beta.0",
24
+ "@webiny/react-router": "5.25.0-beta.0",
25
+ "@webiny/ui": "5.25.0-beta.0",
26
26
  "apollo-cache": "1.3.5",
27
27
  "apollo-cache-inmemory": "1.6.6",
28
28
  "apollo-client": "2.6.10",
@@ -30,11 +30,11 @@
30
30
  "apollo-link-context": "1.0.20",
31
31
  "apollo-link-error": "1.1.13",
32
32
  "apollo-utilities": "1.3.4",
33
- "boolean": "3.1.4",
33
+ "boolean": "3.2.0",
34
34
  "graphql": "15.8.0",
35
35
  "invariant": "2.2.4",
36
36
  "lodash": "4.17.21",
37
- "nanoid": "3.2.0",
37
+ "nanoid": "3.3.1",
38
38
  "react": "16.14.0",
39
39
  "react-dom": "16.14.0",
40
40
  "warning": "4.0.3"
@@ -46,11 +46,12 @@
46
46
  "@babel/preset-env": "^7.16.4",
47
47
  "@babel/preset-react": "^7.16.0",
48
48
  "@babel/preset-typescript": "^7.16.0",
49
- "@webiny/cli": "^5.23.1",
50
- "@webiny/project-utils": "^5.23.1",
49
+ "@types/warning": "^3.0.0",
50
+ "@webiny/cli": "^5.25.0-beta.0",
51
+ "@webiny/project-utils": "^5.25.0-beta.0",
51
52
  "babel-plugin-lodash": "^3.3.4",
52
53
  "rimraf": "^3.0.2",
53
- "typescript": "^4.1.3"
54
+ "typescript": "4.5.5"
54
55
  },
55
56
  "publishConfig": {
56
57
  "access": "public",
@@ -67,5 +68,5 @@
67
68
  ]
68
69
  }
69
70
  },
70
- "gitHead": "a726d09d2647d13e5a4f376cef23463564ef7ca0"
71
+ "gitHead": "2d3e7833575e88fde77d84e5490e746933a5ec28"
71
72
  }
@@ -7,7 +7,7 @@ interface Config {
7
7
  addSelection: DocumentNode;
8
8
  }
9
9
  export declare class AddQuerySelectionPlugin extends ApolloLinkPlugin {
10
- private config;
10
+ private readonly config;
11
11
  constructor(config: Config);
12
12
  createLink(): ApolloLink;
13
13
  addSelectionToQuery(operationName: string, query: DocumentNode): void;
@@ -53,9 +53,16 @@ export var AddQuerySelectionPlugin = /*#__PURE__*/function (_ApolloLinkPlugin) {
53
53
  var _this$config = this.config,
54
54
  addSelection = _this$config.addSelection,
55
55
  selectionPath = _this$config.selectionPath; // TODO: check if the selection is already in the query and don't add it again if not necessary.
56
- // @ts-ignore
57
56
 
58
- var tree = query.definitions[0].selectionSet.selections;
57
+ var firstQueryDefinition = query.definitions[0];
58
+
59
+ if (!firstQueryDefinition) {
60
+ return;
61
+ } else if (!firstQueryDefinition.selectionSet) {
62
+ return;
63
+ }
64
+
65
+ var tree = firstQueryDefinition.selectionSet.selections;
59
66
  var fields = selectionPath.split(".");
60
67
 
61
68
  var _iterator = _createForOfIteratorHelper(fields),
@@ -72,6 +79,10 @@ export var AddQuerySelectionPlugin = /*#__PURE__*/function (_ApolloLinkPlugin) {
72
79
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
73
80
  var selection = _step2.value;
74
81
 
82
+ if (!selection.selectionSet) {
83
+ continue;
84
+ }
85
+
75
86
  if (selection.name.value === field) {
76
87
  tree = selection.selectionSet.selections;
77
88
  continue fieldLoop;
@@ -90,7 +101,10 @@ export var AddQuerySelectionPlugin = /*#__PURE__*/function (_ApolloLinkPlugin) {
90
101
  _iterator.e(err);
91
102
  } finally {
92
103
  _iterator.f();
93
- } // @ts-ignore
104
+ }
105
+ /**
106
+ * We must cast because there are a lot of types that are not intertwined and TS is complaining
107
+ */
94
108
 
95
109
 
96
110
  (_tree = tree).push.apply(_tree, _toConsumableArray(addSelection.definitions[0].selectionSet.selections));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["AddQuerySelectionPlugin.ts"],"names":["ApolloLink","ApolloLinkPlugin","AddQuerySelectionPlugin","config","operation","forward","operationName","addSelectionToQuery","query","addSelection","selectionPath","firstQueryDefinition","definitions","selectionSet","tree","selections","fields","split","fieldLoop","field","selection","name","value","push"],"mappings":";;;;;;;;AAAA,SAASA,UAAT,QAA2B,aAA3B;AAEA,SAASC,gBAAT;AASA,WAAaC,uBAAb;AAAA;;AAAA;;AAGI,mCAAYC,MAAZ,EAA4B;AAAA;;AAAA;;AACxB;;AADwB;;AAExB,UAAKA,MAAL,GAAcA,MAAd;AAFwB;AAG3B;;AANL;AAAA;AAAA,WAQI,sBAAyC;AAAA;;AACrC,aAAO,IAAIH,UAAJ,CAAe,UAACI,SAAD,EAAYC,OAAZ,EAAwB;AAC1C,YAAID,SAAS,CAACE,aAAV,KAA4B,MAAI,CAACH,MAAL,CAAYG,aAA5C,EAA2D;AACvD,iBAAOD,OAAO,CAACD,SAAD,CAAd;AACH;;AAED,QAAA,MAAI,CAACG,mBAAL,CAAyBH,SAAS,CAACE,aAAnC,EAAkDF,SAAS,CAACI,KAA5D;;AAEA,eAAOH,OAAO,CAACD,SAAD,CAAd;AACH,OARM,CAAP;AASH;AAlBL;AAAA;AAAA,WAoBI,6BAA2BE,aAA3B,EAAkDE,KAAlD,EAA6E;AAAA;;AACzE,UAAIF,aAAa,KAAK,KAAKH,MAAL,CAAYG,aAAlC,EAAiD;AAC7C;AACH;;AAED,yBAAwC,KAAKH,MAA7C;AAAA,UAAQM,YAAR,gBAAQA,YAAR;AAAA,UAAsBC,aAAtB,gBAAsBA,aAAtB,CALyE,CAOzE;;AAEA,UAAMC,oBAAoB,GAAGH,KAAK,CAACI,WAAN,CAAkB,CAAlB,CAA7B;;AACA,UAAI,CAACD,oBAAL,EAA2B;AACvB;AACH,OAFD,MAEO,IAAI,CAACA,oBAAoB,CAACE,YAA1B,EAAwC;AAC3C;AACH;;AAED,UAAIC,IAAI,GAAGH,oBAAoB,CAACE,YAArB,CAAkCE,UAA7C;AACA,UAAMC,MAAM,GAAGN,aAAa,CAACO,KAAd,CAAoB,GAApB,CAAf;;AAjByE,iDAmB1CD,MAnB0C;AAAA;;AAAA;AAmBzEE,QAAAA,SAnByE,EAmB9D,oDAA4B;AAAA,cAAjBC,KAAiB;;AAAA,sDACXL,IADW;AAAA;;AAAA;AACnC,mEAA8B;AAAA,kBAAnBM,SAAmB;;AAC1B,kBAAI,CAACA,SAAS,CAACP,YAAf,EAA6B;AACzB;AACH;;AACD,kBAAIO,SAAS,CAACC,IAAV,CAAeC,KAAf,KAAyBH,KAA7B,EAAoC;AAChCL,gBAAAA,IAAI,GAAGM,SAAS,CAACP,YAAV,CAAuBE,UAA9B;AACA,yBAASG,SAAT;AACH;AACJ,aATkC,CAUnC;;AAVmC;AAAA;AAAA;AAAA;AAAA;;AAWnC;AACH;AA/BwE;AAAA;AAAA;AAAA;AAAA;AAgCzE;AACR;AACA;;;AACQ,eAAAJ,IAAI,EAACS,IAAL,iCACSd,YAAY,CAACG,WAAb,CAAyB,CAAzB,CAAD,CAA0DC,YAA1D,CACCE,UAFT;AAIH;AA3DL;;AAAA;AAAA,EAA6Cd,gBAA7C","sourcesContent":["import { ApolloLink } from \"apollo-link\";\nimport { DocumentNode } from \"graphql\";\nimport { ApolloLinkPlugin } from \"./ApolloLinkPlugin\";\nimport { ExecutableDefinitionNode, FieldNode } from \"graphql/language/ast\";\n\ninterface Config {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport class AddQuerySelectionPlugin extends ApolloLinkPlugin {\n private readonly config: Config;\n\n constructor(config: Config) {\n super();\n this.config = config;\n }\n\n public override createLink(): ApolloLink {\n return new ApolloLink((operation, forward) => {\n if (operation.operationName !== this.config.operationName) {\n return forward(operation);\n }\n\n this.addSelectionToQuery(operation.operationName, operation.query);\n\n return forward(operation);\n });\n }\n\n public addSelectionToQuery(operationName: string, query: DocumentNode): void {\n if (operationName !== this.config.operationName) {\n return;\n }\n\n const { addSelection, selectionPath } = this.config;\n\n // TODO: check if the selection is already in the query and don't add it again if not necessary.\n\n const firstQueryDefinition = query.definitions[0] as ExecutableDefinitionNode;\n if (!firstQueryDefinition) {\n return;\n } else if (!firstQueryDefinition.selectionSet) {\n return;\n }\n\n let tree = firstQueryDefinition.selectionSet.selections as FieldNode[];\n const fields = selectionPath.split(\".\");\n\n fieldLoop: for (const field of fields) {\n for (const selection of tree) {\n if (!selection.selectionSet) {\n continue;\n }\n if (selection.name.value === field) {\n tree = selection.selectionSet.selections as FieldNode[];\n continue fieldLoop;\n }\n }\n // If we get here, it means we didn't find the necessary selection\n return;\n }\n /**\n * We must cast because there are a lot of types that are not intertwined and TS is complaining\n */\n tree.push(\n ...((addSelection.definitions[0] as ExecutableDefinitionNode).selectionSet\n .selections as FieldNode[])\n );\n }\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  import { Plugin } from "@webiny/plugins";
2
- export interface Object {
2
+ export interface ApolloCacheObject {
3
3
  __typename?: string;
4
4
  [key: string]: any;
5
5
  }
6
- interface Callable<T> {
6
+ interface ApolloCacheObjectIdPluginCallable<T> {
7
7
  (data: T): any;
8
8
  }
9
- export declare class ApolloCacheObjectIdPlugin<T extends Object = Object> extends Plugin {
10
- static readonly type = "cache-get-object-id";
11
- private _getObjectId;
12
- constructor(getObjectId?: Callable<T>);
9
+ export declare class ApolloCacheObjectIdPlugin<T extends ApolloCacheObject = ApolloCacheObject> extends Plugin {
10
+ static readonly type: string;
11
+ private readonly _getObjectId?;
12
+ constructor(getObjectId?: ApolloCacheObjectIdPluginCallable<T>);
13
13
  getObjectId(data: T): any;
14
14
  }
15
15
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ApolloCacheObjectIdPlugin.ts"],"names":["Plugin","ApolloCacheObjectIdPlugin","getObjectId","_getObjectId","data","Error"],"mappings":";;;;;;AAAA,SAASA,MAAT,QAAuB,iBAAvB;AAYA,WAAaC,yBAAb;AAAA;;AAAA;;AAMI,qCAAmBC,WAAnB,EAAuE;AAAA;;AAAA;;AACnE;;AADmE;;AAEnE,UAAKC,YAAL,GAAoBD,WAApB;AAFmE;AAGtE;;AATL;AAAA;AAAA,WAWI,qBAAmBE,IAAnB,EAA4B;AACxB,UAAI,OAAO,KAAKD,YAAZ,KAA6B,UAAjC,EAA6C;AACzC,cAAME,KAAK,kHAAX;AAGH;;AAED,aAAO,KAAKF,YAAL,CAAkBC,IAAlB,CAAP;AACH;AAnBL;;AAAA;AAAA,EAEUJ,MAFV;;gBAAaC,yB,UAGsC,qB","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\n\nexport interface ApolloCacheObject {\n __typename?: string;\n [key: string]: any;\n}\n\ninterface ApolloCacheObjectIdPluginCallable<T> {\n // TODO @ts-refactor probably a string but @pavel check it out\n (data: T): any;\n}\n\nexport class ApolloCacheObjectIdPlugin<\n T extends ApolloCacheObject = ApolloCacheObject\n> extends Plugin {\n public static override readonly type: string = \"cache-get-object-id\";\n private readonly _getObjectId?: ApolloCacheObjectIdPluginCallable<T>;\n\n public constructor(getObjectId?: ApolloCacheObjectIdPluginCallable<T>) {\n super();\n this._getObjectId = getObjectId;\n }\n\n public getObjectId(data: T) {\n if (typeof this._getObjectId !== \"function\") {\n throw Error(\n `You must provide a \"getObjectId\" callable to the plugin constructor or extend the ApolloCacheObjectIdPlugin.`\n );\n }\n\n return this._getObjectId(data);\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
- import { ApolloLink } from "apollo-link";
1
+ import { ApolloLink, NextLink } from "apollo-link";
2
+ import { Operation } from "apollo-link/lib/types";
2
3
  export declare class ApolloDynamicLink extends ApolloLink {
3
4
  private cache;
4
- request(operation: any, forward: any): any;
5
+ request(operation: Operation, forward: NextLink): any;
5
6
  }
@@ -56,7 +56,8 @@ export var ApolloDynamicLink = /*#__PURE__*/function (_ApolloLink) {
56
56
  /**
57
57
  * We filter out falsy items from the linkPlugins because there might be some error while creating link.
58
58
  */
59
- this.cache.set(cacheKey, ApolloLink.from(linkPlugins.map(createLink).filter(Boolean)));
59
+ var links = linkPlugins.map(createLink).filter(Boolean);
60
+ this.cache.set(cacheKey, ApolloLink.from(links));
60
61
  }
61
62
 
62
63
  return this.cache.get(cacheKey).request(operation, forward);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ApolloDynamicLink.ts"],"names":["ApolloLink","plugins","createLink","plugin","e","console","error","ApolloDynamicLink","Map","operation","forward","linkPlugins","byType","length","cacheKey","map","pl","join","cache","has","links","filter","Boolean","set","from","get","request"],"mappings":";;;;;;AAAA,SAASA,UAAT,QAAqC,aAArC;AACA,SAASC,OAAT,QAAwB,iBAAxB;;AAIA,SAASC,UAAT,CAAoBC,MAApB,EAA8C;AAC1C,MAAI;AACA,WAAOA,MAAM,CAACD,UAAP,EAAP;AACH,GAFD,CAEE,OAAOE,CAAP,EAAU;AACRC,IAAAA,OAAO,CAACC,KAAR,6DAAwEH,MAAxE;AACAE,IAAAA,OAAO,CAACC,KAAR,CAAcF,CAAd;AACH;;AACD,SAAO,IAAP;AACH;;AAED,WAAaG,iBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,4DACoB,IAAIC,GAAJ,EADpB;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAGI,iBAAwBC,SAAxB,EAA8CC,OAA9C,EAAiE;AAC7D,UAAMC,WAAW,GAAGV,OAAO,CAACW,MAAR,CAAiC,aAAjC,CAApB;;AAEA,UAAI,CAACD,WAAW,CAACE,MAAjB,EAAyB;AACrB,eAAOH,OAAO,CAACD,SAAD,CAAd;AACH;;AAED,UAAMK,QAAQ,GAAGH,WAAW,CAACI,GAAZ,CAAgB,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACF,QAAP;AAAA,OAAlB,EAAmCG,IAAnC,CAAwC,GAAxC,CAAjB;;AAEA,UAAI,CAAC,KAAKC,KAAL,CAAWC,GAAX,CAAeL,QAAf,CAAL,EAA+B;AAC3B;AACZ;AACA;AACY,YAAMM,KAAK,GAAGT,WAAW,CAACI,GAAZ,CAAgBb,UAAhB,EAA4BmB,MAA5B,CAAmCC,OAAnC,CAAd;AACA,aAAKJ,KAAL,CAAWK,GAAX,CAAeT,QAAf,EAAyBd,UAAU,CAACwB,IAAX,CAAgBJ,KAAhB,CAAzB;AACH;;AAED,aAAO,KAAKF,KAAL,CAAWO,GAAX,CAAeX,QAAf,EAAyBY,OAAzB,CAAiCjB,SAAjC,EAA4CC,OAA5C,CAAP;AACH;AArBL;;AAAA;AAAA,EAAuCV,UAAvC","sourcesContent":["import { ApolloLink, NextLink } from \"apollo-link\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ApolloLinkPlugin } from \"./ApolloLinkPlugin\";\nimport { Operation } from \"apollo-link/lib/types\";\n\nfunction createLink(plugin: ApolloLinkPlugin) {\n try {\n return plugin.createLink();\n } catch (e) {\n console.error(`Caught an error while executing \"createLink\" on plugin`, plugin);\n console.error(e);\n }\n return null;\n}\n\nexport class ApolloDynamicLink extends ApolloLink {\n private cache = new Map();\n\n public override request(operation: Operation, forward: NextLink) {\n const linkPlugins = plugins.byType<ApolloLinkPlugin>(\"apollo-link\");\n\n if (!linkPlugins.length) {\n return forward(operation);\n }\n\n const cacheKey = linkPlugins.map(pl => pl.cacheKey).join(\",\");\n\n if (!this.cache.has(cacheKey)) {\n /**\n * We filter out falsy items from the linkPlugins because there might be some error while creating link.\n */\n const links = linkPlugins.map(createLink).filter(Boolean) as ApolloLink[];\n this.cache.set(cacheKey, ApolloLink.from(links));\n }\n\n return this.cache.get(cacheKey).request(operation, forward);\n }\n}\n"]}