@webiny/app 0.0.0-mt-3 → 0.0.0-unstable.3386f66516

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 (141) hide show
  1. package/App.d.ts +29 -0
  2. package/App.js +127 -0
  3. package/App.js.map +1 -0
  4. package/apollo-client/InMemoryCache.d.ts +1 -1
  5. package/apollo-client/InMemoryCache.js +49 -29
  6. package/apollo-client/InMemoryCache.js.map +1 -0
  7. package/components/Image.js +26 -11
  8. package/components/Image.js.map +1 -0
  9. package/components/Routes.js +26 -10
  10. package/components/Routes.js.map +1 -0
  11. package/components/View.js +27 -9
  12. package/components/View.js.map +1 -0
  13. package/components/index.d.ts +1 -0
  14. package/components/index.js +21 -1
  15. package/components/index.js.map +1 -0
  16. package/config.d.ts +8 -0
  17. package/config.js +33 -0
  18. package/config.js.map +1 -0
  19. package/contexts/Ui/index.d.ts +1 -4
  20. package/contexts/Ui/index.js +48 -36
  21. package/contexts/Ui/index.js.map +1 -0
  22. package/core/AddRoute.d.ts +3 -0
  23. package/core/AddRoute.js +26 -0
  24. package/core/AddRoute.js.map +1 -0
  25. package/core/DebounceRender.d.ts +11 -0
  26. package/core/DebounceRender.js +51 -0
  27. package/core/DebounceRender.js.map +1 -0
  28. package/core/Plugin.d.ts +8 -0
  29. package/core/Plugin.js +27 -0
  30. package/core/Plugin.js.map +1 -0
  31. package/core/Plugins.d.ts +12 -0
  32. package/core/Plugins.js +57 -0
  33. package/core/Plugins.js.map +1 -0
  34. package/core/Provider.d.ts +9 -0
  35. package/core/Provider.js +27 -0
  36. package/core/Provider.js.map +1 -0
  37. package/core/Routes.d.ts +6 -0
  38. package/core/Routes.js +49 -0
  39. package/core/Routes.js.map +1 -0
  40. package/core/createProvider.d.ts +6 -0
  41. package/core/createProvider.js +14 -0
  42. package/core/createProvider.js.map +1 -0
  43. package/core/createProviderPlugin.d.ts +8 -0
  44. package/core/createProviderPlugin.js +25 -0
  45. package/core/createProviderPlugin.js.map +1 -0
  46. package/hooks/useAutocomplete/index.js +13 -1
  47. package/hooks/useAutocomplete/index.js.map +1 -0
  48. package/hooks/useAutocomplete/useAutocomplete.d.ts +6 -1
  49. package/hooks/useAutocomplete/useAutocomplete.js +22 -11
  50. package/hooks/useAutocomplete/useAutocomplete.js.map +1 -0
  51. package/hooks/useDataList/functions/getData.d.ts +1 -1
  52. package/hooks/useDataList/functions/getData.js +16 -4
  53. package/hooks/useDataList/functions/getData.js.map +1 -0
  54. package/hooks/useDataList/functions/getError.d.ts +1 -1
  55. package/hooks/useDataList/functions/getError.js +16 -4
  56. package/hooks/useDataList/functions/getError.js.map +1 -0
  57. package/hooks/useDataList/functions/getMeta.d.ts +1 -1
  58. package/hooks/useDataList/functions/getMeta.js +16 -4
  59. package/hooks/useDataList/functions/getMeta.js.map +1 -0
  60. package/hooks/useDataList/functions/index.js +31 -3
  61. package/hooks/useDataList/functions/index.js.map +1 -0
  62. package/hooks/useDataList/functions/searchDataByKey.d.ts +1 -1
  63. package/hooks/useDataList/functions/searchDataByKey.js +9 -1
  64. package/hooks/useDataList/functions/searchDataByKey.js.map +1 -0
  65. package/hooks/useDataList/index.js +13 -1
  66. package/hooks/useDataList/index.js.map +1 -0
  67. package/hooks/useDataList/useDataList.d.ts +4 -4
  68. package/hooks/useDataList/useDataList.js +54 -39
  69. package/hooks/useDataList/useDataList.js.map +1 -0
  70. package/hooks/useDataList/utils/index.js +23 -2
  71. package/hooks/useDataList/utils/index.js.map +1 -0
  72. package/hooks/useDataList/utils/prepareLoadListParams.d.ts +10 -3
  73. package/hooks/useDataList/utils/prepareLoadListParams.js +23 -9
  74. package/hooks/useDataList/utils/prepareLoadListParams.js.map +1 -0
  75. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.d.ts +13 -4
  76. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js +13 -4
  77. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js.map +1 -0
  78. package/hooks/useDataList/utils/types.js +5 -1
  79. package/hooks/useDataList/utils/types.js.map +1 -0
  80. package/hooks/useHandler.d.ts +11 -1
  81. package/hooks/useHandler.js +13 -5
  82. package/hooks/useHandler.js.map +1 -0
  83. package/hooks/useHandlers.d.ts +1 -1
  84. package/hooks/useHandlers.js +16 -5
  85. package/hooks/useHandlers.js.map +1 -0
  86. package/hooks/useUi.js +16 -5
  87. package/hooks/useUi.js.map +1 -0
  88. package/i18n/i18n.js +21 -5
  89. package/i18n/i18n.js.map +1 -0
  90. package/i18n/index.js +15 -1
  91. package/i18n/index.js.map +1 -0
  92. package/index.d.ts +15 -0
  93. package/index.js +169 -0
  94. package/index.js.map +1 -0
  95. package/package.json +31 -23
  96. package/plugins/AddQuerySelectionPlugin.d.ts +1 -1
  97. package/plugins/AddQuerySelectionPlugin.js +60 -29
  98. package/plugins/AddQuerySelectionPlugin.js.map +1 -0
  99. package/plugins/ApolloCacheObjectIdPlugin.d.ts +8 -8
  100. package/plugins/ApolloCacheObjectIdPlugin.js +33 -20
  101. package/plugins/ApolloCacheObjectIdPlugin.js.map +1 -0
  102. package/plugins/ApolloDynamicLink.d.ts +3 -2
  103. package/plugins/ApolloDynamicLink.js +41 -20
  104. package/plugins/ApolloDynamicLink.js.map +1 -0
  105. package/plugins/ApolloLinkPlugin.d.ts +5 -5
  106. package/plugins/ApolloLinkPlugin.js +43 -23
  107. package/plugins/ApolloLinkPlugin.js.map +1 -0
  108. package/plugins/ConsoleLinkPlugin.js +35 -19
  109. package/plugins/ConsoleLinkPlugin.js.map +1 -0
  110. package/plugins/LocaleHeaderLinkPlugin.d.ts +3 -2
  111. package/plugins/LocaleHeaderLinkPlugin.js +37 -21
  112. package/plugins/LocaleHeaderLinkPlugin.js.map +1 -0
  113. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.d.ts +13 -5
  114. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js +56 -35
  115. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js.map +1 -0
  116. package/plugins/NetworkErrorLinkPlugin/StyledComponents.d.ts +4 -2
  117. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js +16 -4
  118. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js.map +1 -0
  119. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.d.ts +6 -4
  120. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js +20 -9
  121. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js.map +1 -0
  122. package/plugins/NetworkErrorLinkPlugin.js +42 -22
  123. package/plugins/NetworkErrorLinkPlugin.js.map +1 -0
  124. package/plugins/OmitTypenameLinkPlugin.js +29 -15
  125. package/plugins/OmitTypenameLinkPlugin.js.map +1 -0
  126. package/plugins/RoutePlugin.d.ts +2 -2
  127. package/plugins/RoutePlugin.js +37 -20
  128. package/plugins/RoutePlugin.js.map +1 -0
  129. package/plugins/TenantHeaderLinkPlugin.d.ts +3 -2
  130. package/plugins/TenantHeaderLinkPlugin.js +37 -23
  131. package/plugins/TenantHeaderLinkPlugin.js.map +1 -0
  132. package/plugins/ViewPlugin.d.ts +4 -4
  133. package/plugins/ViewPlugin.js +37 -20
  134. package/plugins/ViewPlugin.js.map +1 -0
  135. package/plugins/image.js +43 -24
  136. package/plugins/image.js.map +1 -0
  137. package/plugins/index.js +51 -14
  138. package/plugins/index.js.map +1 -0
  139. package/types.d.ts +21 -13
  140. package/types.js +13 -2
  141. package/types.js.map +1 -0
package/plugins/image.js CHANGED
@@ -1,8 +1,21 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _Image = require("@webiny/ui/Image");
17
+
3
18
  var _excluded = ["transform", "srcSet"];
4
- import React from "react";
5
- import { Image } from "@webiny/ui/Image";
6
19
  var SUPPORTED_IMAGE_RESIZE_WIDTHS = [100, 300, 500, 750, 1000, 1500, 2500];
7
20
  /**
8
21
  * Width of the image should not be just any random number. For optimization reasons,
@@ -35,43 +48,48 @@ var getSupportedImageResizeWidth = function getSupportedImageResizeWidth(width)
35
48
 
36
49
  return output;
37
50
  };
51
+
38
52
  /**
39
53
  * Currently we only allow "width" as a transform option.
40
54
  * @param args
41
55
  */
42
-
43
-
44
56
  var sanitizeTransformArgs = function sanitizeTransformArgs(args) {
45
57
  var output = {};
46
58
 
47
- if (args) {
48
- var width = parseInt(args.width);
59
+ if (!args || args.width === undefined || args.width === null) {
60
+ return output;
61
+ }
49
62
 
50
- if (width > 0) {
51
- output.width = getSupportedImageResizeWidth(width);
52
- }
63
+ var width = parseInt(args.width);
64
+
65
+ if (width > 0) {
66
+ output.width = getSupportedImageResizeWidth(width);
53
67
  }
54
68
 
55
69
  return output;
56
70
  };
57
71
 
58
72
  var getSizes = function getSizes(width) {
59
- // Check if width was set as percentage, with "%" in the value.
60
- if (typeof width === "string" && width.endsWith("%")) {
73
+ if (typeof width !== "string") {
74
+ return undefined;
75
+ } // Check if width was set as percentage, with "%" in the value.
76
+
77
+
78
+ if (width.endsWith("%")) {
61
79
  return "".concat(parseInt(width), "vw");
62
80
  } // Check if width was set as viewport width, with "vw" in the value.
63
81
 
64
82
 
65
- if (typeof width === "string" && width.endsWith("vw")) {
83
+ if (width.endsWith("vw")) {
66
84
  return "".concat(parseInt(width), "vw");
67
85
  } // Check if width was set as relative, with "em" in the value.
68
86
 
69
87
 
70
- if (typeof width === "string" && width.endsWith("em")) {
88
+ if (width.endsWith("em")) {
71
89
  return "".concat(parseInt(width), "em");
72
90
  }
73
91
 
74
- return null;
92
+ return undefined;
75
93
  };
76
94
 
77
95
  var isFixedImageWidth = function isFixedImageWidth(width) {
@@ -100,7 +118,7 @@ var convertTransformToQueryParams = function convertTransformToQueryParams(trans
100
118
  }).join("&");
101
119
  };
102
120
 
103
- export default (function () {
121
+ var _default = function _default() {
104
122
  var imagePlugin = {
105
123
  name: "image-component",
106
124
  type: "image-component",
@@ -125,15 +143,14 @@ export default (function () {
125
143
  return src;
126
144
  }
127
145
 
128
- var params = sanitizeTransformArgs(transform);
129
- params = convertTransformToQueryParams(params);
146
+ var sanitizedParams = sanitizeTransformArgs(transform);
147
+ var params = convertTransformToQueryParams(sanitizedParams);
130
148
  return src + "?" + params;
131
149
  },
132
150
  render: function render(props) {
133
151
  var transform = props.transform,
134
152
  srcSetInitial = props.srcSet,
135
- imageProps = _objectWithoutProperties(props, _excluded);
136
-
153
+ imageProps = (0, _objectWithoutProperties2.default)(props, _excluded);
137
154
  var srcSet = srcSetInitial;
138
155
  var sizes;
139
156
  var src = imageProps.src;
@@ -146,7 +163,7 @@ export default (function () {
146
163
  srcSetAutoWidths.forEach(function (width) {
147
164
  srcSet[width + "w"] = imagePlugin.getImageSrc({
148
165
  src: src,
149
- transform: _objectSpread(_objectSpread({}, transform), {}, {
166
+ transform: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, transform), {}, {
150
167
  width: width
151
168
  })
152
169
  });
@@ -154,7 +171,7 @@ export default (function () {
154
171
  sizes = getSizes(forcedWidth);
155
172
  }
156
173
 
157
- return /*#__PURE__*/React.createElement(Image, Object.assign({}, imageProps, {
174
+ return /*#__PURE__*/_react.default.createElement(_Image.Image, Object.assign({}, imageProps, {
158
175
  srcSet: srcSet,
159
176
  src: src,
160
177
  sizes: sizes
@@ -162,4 +179,6 @@ export default (function () {
162
179
  }
163
180
  };
164
181
  return imagePlugin;
165
- });
182
+ };
183
+
184
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SUPPORTED_IMAGE_RESIZE_WIDTHS","getSupportedImageResizeWidth","width","output","i","length","sanitizeTransformArgs","args","undefined","parseInt","getSizes","endsWith","isFixedImageWidth","Number","isFinite","getSrcSetAutoSizes","max","maxWidth","filter","supportedWidth","convertTransformToQueryParams","transform","Object","keys","map","key","join","imagePlugin","name","type","presets","avatar","getImageSrc","props","src","startsWith","sanitizedParams","params","render","srcSetInitial","srcSet","imageProps","sizes","forcedWidth","style","srcSetAutoWidths","forEach"],"sources":["image.tsx"],"sourcesContent":["import React from \"react\";\nimport { Image } from \"@webiny/ui/Image\";\nimport { ImageComponentPlugin } from \"~/types\";\n\nconst SUPPORTED_IMAGE_RESIZE_WIDTHS = [100, 300, 500, 750, 1000, 1500, 2500];\n\n/**\n * Width of the image should not be just any random number. For optimization reasons,\n * we only allow the ones listed in SUPPORTED_IMAGE_RESIZE_WIDTHS list (Webiny Cloud supports only these).\n */\nconst getSupportedImageResizeWidth = (width: number) => {\n let output = SUPPORTED_IMAGE_RESIZE_WIDTHS[0];\n let i = SUPPORTED_IMAGE_RESIZE_WIDTHS.length;\n while (i >= 0) {\n if (width === SUPPORTED_IMAGE_RESIZE_WIDTHS[i]) {\n output = SUPPORTED_IMAGE_RESIZE_WIDTHS[i];\n break;\n }\n\n if (width > SUPPORTED_IMAGE_RESIZE_WIDTHS[i]) {\n // Use next larger width. If there isn't any, use current.\n output = SUPPORTED_IMAGE_RESIZE_WIDTHS[i + 1];\n if (!output) {\n output = SUPPORTED_IMAGE_RESIZE_WIDTHS[i];\n }\n break;\n }\n\n i--;\n }\n\n return output;\n};\n\ninterface SanitizeTransformArgsParams {\n width?: string;\n}\ninterface SanitizeTransformArgsResult {\n width?: number;\n}\n/**\n * Currently we only allow \"width\" as a transform option.\n * @param args\n */\nconst sanitizeTransformArgs = (args?: SanitizeTransformArgsParams): SanitizeTransformArgsResult => {\n const output: SanitizeTransformArgsResult = {};\n if (!args || args.width === undefined || args.width === null) {\n return output;\n }\n const width = parseInt(args.width);\n if (width > 0) {\n output.width = getSupportedImageResizeWidth(width);\n }\n\n return output;\n};\n\nconst getSizes = (width?: string | number): string | undefined => {\n if (typeof width !== \"string\") {\n return undefined;\n }\n // Check if width was set as percentage, with \"%\" in the value.\n if (width.endsWith(\"%\")) {\n return `${parseInt(width)}vw`;\n }\n // Check if width was set as viewport width, with \"vw\" in the value.\n if (width.endsWith(\"vw\")) {\n return `${parseInt(width)}vw`;\n }\n\n // Check if width was set as relative, with \"em\" in the value.\n if (width.endsWith(\"em\")) {\n return `${parseInt(width)}em`;\n }\n\n return undefined;\n};\n\nconst isFixedImageWidth = (width?: number | string) => {\n if (Number.isFinite(width)) {\n return true;\n }\n\n if (typeof width === \"string\" && width.endsWith(\"px\")) {\n return true;\n }\n return false;\n};\n\nconst getSrcSetAutoSizes = (max?: string | number) => {\n max = isFixedImageWidth(max) ? parseInt(\"\" + max) : 2500;\n const maxWidth = getSupportedImageResizeWidth(max);\n return SUPPORTED_IMAGE_RESIZE_WIDTHS.filter((supportedWidth: number) => {\n return supportedWidth <= maxWidth;\n });\n};\n\nconst convertTransformToQueryParams = (transform: Record<string, any>): string => {\n return Object.keys(transform)\n .map(key => `${key}=${transform[key]}`)\n .join(\"&\");\n};\n\nexport default () => {\n const imagePlugin: ImageComponentPlugin = {\n name: \"image-component\",\n type: \"image-component\",\n presets: {\n avatar: { width: 300 }\n },\n getImageSrc: (props?: Record<string, any>) => {\n if (!props) {\n return \"\";\n }\n\n const { src, transform } = props;\n if (!transform) {\n return src;\n }\n\n if (!src || src.startsWith(\"data:\") || src.endsWith(\"svg\")) {\n return src;\n }\n\n const sanitizedParams = sanitizeTransformArgs(transform);\n const params = convertTransformToQueryParams(sanitizedParams);\n return src + \"?\" + params;\n },\n render(props) {\n const { transform, srcSet: srcSetInitial, ...imageProps } = props;\n let srcSet: any = srcSetInitial;\n let sizes: string | undefined;\n const src = imageProps.src;\n if (srcSet && srcSet === \"auto\") {\n srcSet = {};\n\n // Check if image width was forced, and additionally if width was set as pixels, with \"px\" in the value.\n const forcedWidth = props.width || (props.style && props.style.width);\n const srcSetAutoWidths = getSrcSetAutoSizes(forcedWidth);\n srcSetAutoWidths.forEach(width => {\n srcSet[width + \"w\"] = imagePlugin.getImageSrc({\n src,\n transform: { ...transform, width }\n });\n });\n sizes = getSizes(forcedWidth);\n }\n\n return <Image {...imageProps} srcSet={srcSet} src={src} sizes={sizes} />;\n }\n };\n\n return imagePlugin;\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;AAGA,IAAMA,6BAA6B,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,IAArB,EAA2B,IAA3B,EAAiC,IAAjC,CAAtC;AAEA;AACA;AACA;AACA;;AACA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,KAAD,EAAmB;EACpD,IAAIC,MAAM,GAAGH,6BAA6B,CAAC,CAAD,CAA1C;EACA,IAAII,CAAC,GAAGJ,6BAA6B,CAACK,MAAtC;;EACA,OAAOD,CAAC,IAAI,CAAZ,EAAe;IACX,IAAIF,KAAK,KAAKF,6BAA6B,CAACI,CAAD,CAA3C,EAAgD;MAC5CD,MAAM,GAAGH,6BAA6B,CAACI,CAAD,CAAtC;MACA;IACH;;IAED,IAAIF,KAAK,GAAGF,6BAA6B,CAACI,CAAD,CAAzC,EAA8C;MAC1C;MACAD,MAAM,GAAGH,6BAA6B,CAACI,CAAC,GAAG,CAAL,CAAtC;;MACA,IAAI,CAACD,MAAL,EAAa;QACTA,MAAM,GAAGH,6BAA6B,CAACI,CAAD,CAAtC;MACH;;MACD;IACH;;IAEDA,CAAC;EACJ;;EAED,OAAOD,MAAP;AACH,CAtBD;;AA8BA;AACA;AACA;AACA;AACA,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,IAAD,EAAqE;EAC/F,IAAMJ,MAAmC,GAAG,EAA5C;;EACA,IAAI,CAACI,IAAD,IAASA,IAAI,CAACL,KAAL,KAAeM,SAAxB,IAAqCD,IAAI,CAACL,KAAL,KAAe,IAAxD,EAA8D;IAC1D,OAAOC,MAAP;EACH;;EACD,IAAMD,KAAK,GAAGO,QAAQ,CAACF,IAAI,CAACL,KAAN,CAAtB;;EACA,IAAIA,KAAK,GAAG,CAAZ,EAAe;IACXC,MAAM,CAACD,KAAP,GAAeD,4BAA4B,CAACC,KAAD,CAA3C;EACH;;EAED,OAAOC,MAAP;AACH,CAXD;;AAaA,IAAMO,QAAQ,GAAG,SAAXA,QAAW,CAACR,KAAD,EAAiD;EAC9D,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3B,OAAOM,SAAP;EACH,CAH6D,CAI9D;;;EACA,IAAIN,KAAK,CAACS,QAAN,CAAe,GAAf,CAAJ,EAAyB;IACrB,iBAAUF,QAAQ,CAACP,KAAD,CAAlB;EACH,CAP6D,CAQ9D;;;EACA,IAAIA,KAAK,CAACS,QAAN,CAAe,IAAf,CAAJ,EAA0B;IACtB,iBAAUF,QAAQ,CAACP,KAAD,CAAlB;EACH,CAX6D,CAa9D;;;EACA,IAAIA,KAAK,CAACS,QAAN,CAAe,IAAf,CAAJ,EAA0B;IACtB,iBAAUF,QAAQ,CAACP,KAAD,CAAlB;EACH;;EAED,OAAOM,SAAP;AACH,CAnBD;;AAqBA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACV,KAAD,EAA6B;EACnD,IAAIW,MAAM,CAACC,QAAP,CAAgBZ,KAAhB,CAAJ,EAA4B;IACxB,OAAO,IAAP;EACH;;EAED,IAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACS,QAAN,CAAe,IAAf,CAAjC,EAAuD;IACnD,OAAO,IAAP;EACH;;EACD,OAAO,KAAP;AACH,CATD;;AAWA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,GAAD,EAA2B;EAClDA,GAAG,GAAGJ,iBAAiB,CAACI,GAAD,CAAjB,GAAyBP,QAAQ,CAAC,KAAKO,GAAN,CAAjC,GAA8C,IAApD;EACA,IAAMC,QAAQ,GAAGhB,4BAA4B,CAACe,GAAD,CAA7C;EACA,OAAOhB,6BAA6B,CAACkB,MAA9B,CAAqC,UAACC,cAAD,EAA4B;IACpE,OAAOA,cAAc,IAAIF,QAAzB;EACH,CAFM,CAAP;AAGH,CAND;;AAQA,IAAMG,6BAA6B,GAAG,SAAhCA,6BAAgC,CAACC,SAAD,EAA4C;EAC9E,OAAOC,MAAM,CAACC,IAAP,CAAYF,SAAZ,EACFG,GADE,CACE,UAAAC,GAAG;IAAA,iBAAOA,GAAP,cAAcJ,SAAS,CAACI,GAAD,CAAvB;EAAA,CADL,EAEFC,IAFE,CAEG,GAFH,CAAP;AAGH,CAJD;;eAMe,oBAAM;EACjB,IAAMC,WAAiC,GAAG;IACtCC,IAAI,EAAE,iBADgC;IAEtCC,IAAI,EAAE,iBAFgC;IAGtCC,OAAO,EAAE;MACLC,MAAM,EAAE;QAAE7B,KAAK,EAAE;MAAT;IADH,CAH6B;IAMtC8B,WAAW,EAAE,qBAACC,KAAD,EAAiC;MAC1C,IAAI,CAACA,KAAL,EAAY;QACR,OAAO,EAAP;MACH;;MAED,IAAQC,GAAR,GAA2BD,KAA3B,CAAQC,GAAR;MAAA,IAAab,SAAb,GAA2BY,KAA3B,CAAaZ,SAAb;;MACA,IAAI,CAACA,SAAL,EAAgB;QACZ,OAAOa,GAAP;MACH;;MAED,IAAI,CAACA,GAAD,IAAQA,GAAG,CAACC,UAAJ,CAAe,OAAf,CAAR,IAAmCD,GAAG,CAACvB,QAAJ,CAAa,KAAb,CAAvC,EAA4D;QACxD,OAAOuB,GAAP;MACH;;MAED,IAAME,eAAe,GAAG9B,qBAAqB,CAACe,SAAD,CAA7C;MACA,IAAMgB,MAAM,GAAGjB,6BAA6B,CAACgB,eAAD,CAA5C;MACA,OAAOF,GAAG,GAAG,GAAN,GAAYG,MAAnB;IACH,CAvBqC;IAwBtCC,MAxBsC,kBAwB/BL,KAxB+B,EAwBxB;MACV,IAAQZ,SAAR,GAA4DY,KAA5D,CAAQZ,SAAR;MAAA,IAA2BkB,aAA3B,GAA4DN,KAA5D,CAAmBO,MAAnB;MAAA,IAA6CC,UAA7C,0CAA4DR,KAA5D;MACA,IAAIO,MAAW,GAAGD,aAAlB;MACA,IAAIG,KAAJ;MACA,IAAMR,GAAG,GAAGO,UAAU,CAACP,GAAvB;;MACA,IAAIM,MAAM,IAAIA,MAAM,KAAK,MAAzB,EAAiC;QAC7BA,MAAM,GAAG,EAAT,CAD6B,CAG7B;;QACA,IAAMG,WAAW,GAAGV,KAAK,CAAC/B,KAAN,IAAgB+B,KAAK,CAACW,KAAN,IAAeX,KAAK,CAACW,KAAN,CAAY1C,KAA/D;QACA,IAAM2C,gBAAgB,GAAG9B,kBAAkB,CAAC4B,WAAD,CAA3C;QACAE,gBAAgB,CAACC,OAAjB,CAAyB,UAAA5C,KAAK,EAAI;UAC9BsC,MAAM,CAACtC,KAAK,GAAG,GAAT,CAAN,GAAsByB,WAAW,CAACK,WAAZ,CAAwB;YAC1CE,GAAG,EAAHA,GAD0C;YAE1Cb,SAAS,8DAAOA,SAAP;cAAkBnB,KAAK,EAALA;YAAlB;UAFiC,CAAxB,CAAtB;QAIH,CALD;QAMAwC,KAAK,GAAGhC,QAAQ,CAACiC,WAAD,CAAhB;MACH;;MAED,oBAAO,6BAAC,YAAD,oBAAWF,UAAX;QAAuB,MAAM,EAAED,MAA/B;QAAuC,GAAG,EAAEN,GAA5C;QAAiD,KAAK,EAAEQ;MAAxD,GAAP;IACH;EA7CqC,CAA1C;EAgDA,OAAOf,WAAP;AACH,C"}
package/plugins/index.js CHANGED
@@ -1,8 +1,26 @@
1
- import React from "react";
2
- import warning from "warning";
3
- import { plugins } from "@webiny/plugins";
4
- import imagePlugin from "./image";
5
- export { imagePlugin };
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ Object.defineProperty(exports, "imagePlugin", {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _image.default;
13
+ }
14
+ });
15
+ exports.renderPlugins = exports.renderPlugin = void 0;
16
+
17
+ var _react = _interopRequireDefault(require("react"));
18
+
19
+ var _warning = _interopRequireDefault(require("warning"));
20
+
21
+ var _plugins = require("@webiny/plugins");
22
+
23
+ var _image = _interopRequireDefault(require("./image"));
6
24
 
7
25
  var PluginComponent = function PluginComponent(props) {
8
26
  return props.children;
@@ -12,15 +30,17 @@ var PluginsComponent = function PluginsComponent(props) {
12
30
  return props.children;
13
31
  };
14
32
 
15
- export var renderPlugin = function renderPlugin(name) {
33
+ var renderPlugin = function renderPlugin(name) {
16
34
  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17
35
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
18
36
  var _options$wrapper = options.wrapper,
19
37
  wrapper = _options$wrapper === void 0 ? true : _options$wrapper,
20
38
  _options$fn = options.fn,
21
39
  fn = _options$fn === void 0 ? "render" : _options$fn;
22
- var plugin = plugins.byName(name);
23
- warning(plugin, "No such plugin \"".concat(name, "\""));
40
+
41
+ var plugin = _plugins.plugins.byName(name);
42
+
43
+ (0, _warning.default)(plugin, "No such plugin \"".concat(name, "\""));
24
44
 
25
45
  if (!plugin) {
26
46
  return null;
@@ -29,19 +49,22 @@ export var renderPlugin = function renderPlugin(name) {
29
49
  var content = plugin[fn](params);
30
50
 
31
51
  if (content) {
32
- return wrapper ? /*#__PURE__*/React.createElement(PluginComponent, {
52
+ return wrapper ? /*#__PURE__*/_react.default.createElement(PluginComponent, {
33
53
  key: plugin.name,
34
54
  name: name,
35
55
  params: params,
36
56
  fn: fn
37
- }, content) : /*#__PURE__*/React.cloneElement(content, {
57
+ }, content) : /*#__PURE__*/_react.default.cloneElement(content, {
38
58
  key: plugin.name
39
59
  });
40
60
  }
41
61
 
42
62
  return null;
43
63
  };
44
- export var renderPlugins = function renderPlugins(type) {
64
+
65
+ exports.renderPlugin = renderPlugin;
66
+
67
+ var renderPlugins = function renderPlugins(type) {
45
68
  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46
69
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
47
70
  var _options$wrapper2 = options.wrapper,
@@ -53,7 +76,18 @@ export var renderPlugins = function renderPlugins(type) {
53
76
  return v;
54
77
  } : _options$filter,
55
78
  reverse = options.reverse;
56
- var content = plugins.byType(type).filter(filter).map(function (plugin) {
79
+
80
+ var content = _plugins.plugins.byType(type).filter(function (pl) {
81
+ /**
82
+ * TODO @ts-refactor Problem with possibility of a different subtype.
83
+ */
84
+ // @ts-ignore
85
+ return filter(pl);
86
+ })
87
+ /**
88
+ * We cast as string because renderPlugin checks for the plugin.name
89
+ */
90
+ .map(function (plugin) {
57
91
  return renderPlugin(plugin.name, params, {
58
92
  wrapper: wrapper,
59
93
  fn: fn
@@ -64,10 +98,13 @@ export var renderPlugins = function renderPlugins(type) {
64
98
  content.reverse();
65
99
  }
66
100
 
67
- return wrapper ? /*#__PURE__*/React.createElement(PluginsComponent, {
101
+ return wrapper ? /*#__PURE__*/_react.default.createElement(PluginsComponent, {
68
102
  type: type,
69
103
  params: params,
70
104
  fn: fn
71
105
  }, content) : content;
72
106
  };
73
- export default [imagePlugin];
107
+
108
+ exports.renderPlugins = renderPlugins;
109
+ var _default = [_image.default];
110
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PluginComponent","props","children","PluginsComponent","renderPlugin","name","params","options","wrapper","fn","plugin","plugins","byName","warning","content","React","cloneElement","key","renderPlugins","type","filter","v","reverse","byType","pl","map","Boolean","imagePlugin"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport warning from \"warning\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport imagePlugin from \"./image\";\n\nexport { imagePlugin };\n\ntype RenderPluginOptions<T> = {\n wrapper?: boolean;\n fn?: string;\n filter?: (value: T, index: number, array: T[]) => boolean;\n reverse?: boolean;\n};\n\ninterface RenderPlugin {\n <T extends Plugin = Plugin>(name: string, params?: any, options?: RenderPluginOptions<T>):\n | ReactNode\n | ReactNode[];\n}\n\ninterface RenderPlugins {\n <T extends Plugin = Plugin>(type: string, params?: any, options?: RenderPluginOptions<T>):\n | ReactNode\n | ReactNode[];\n}\n\ninterface PluginComponentProps {\n name: string;\n params: Record<string, any>;\n fn: string;\n}\nconst PluginComponent: React.FC<PluginComponentProps> = props => {\n return props.children as React.ReactElement;\n};\ninterface PluginsComponentProps {\n type: string;\n params: Record<string, any>;\n fn: string;\n}\nconst PluginsComponent: React.FC<PluginsComponentProps> = props => {\n return props.children as React.ReactElement;\n};\n\nexport const renderPlugin: RenderPlugin = (name, params = {}, options = {}) => {\n const { wrapper = true, fn = \"render\" } = options;\n\n const plugin = plugins.byName(name);\n warning(plugin, `No such plugin \"${name}\"`);\n\n if (!plugin) {\n return null;\n }\n\n const content = plugin[fn](params);\n if (content) {\n return wrapper ? (\n <PluginComponent key={plugin.name} name={name} params={params} fn={fn}>\n {content}\n </PluginComponent>\n ) : (\n React.cloneElement(content, { key: plugin.name })\n );\n }\n return null;\n};\n\nexport const renderPlugins: RenderPlugins = (type, params = {}, options = {}) => {\n const { wrapper = true, fn = \"render\", filter = v => v, reverse } = options;\n\n const content = plugins\n .byType(type)\n .filter(pl => {\n /**\n * TODO @ts-refactor Problem with possibility of a different subtype.\n */\n // @ts-ignore\n return filter(pl);\n })\n /**\n * We cast as string because renderPlugin checks for the plugin.name\n */\n .map(plugin => renderPlugin(plugin.name as string, params, { wrapper, fn }))\n .filter(Boolean);\n\n if (reverse) {\n content.reverse();\n }\n\n return wrapper ? (\n <PluginsComponent type={type} params={params} fn={fn}>\n {content}\n </PluginsComponent>\n ) : (\n content\n );\n};\n\nexport default [imagePlugin];\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AA4BA,IAAMA,eAA+C,GAAG,SAAlDA,eAAkD,CAAAC,KAAK,EAAI;EAC7D,OAAOA,KAAK,CAACC,QAAb;AACH,CAFD;;AAQA,IAAMC,gBAAiD,GAAG,SAApDA,gBAAoD,CAAAF,KAAK,EAAI;EAC/D,OAAOA,KAAK,CAACC,QAAb;AACH,CAFD;;AAIO,IAAME,YAA0B,GAAG,SAA7BA,YAA6B,CAACC,IAAD,EAAqC;EAAA,IAA9BC,MAA8B,uEAArB,EAAqB;EAAA,IAAjBC,OAAiB,uEAAP,EAAO;EAC3E,uBAA0CA,OAA1C,CAAQC,OAAR;EAAA,IAAQA,OAAR,iCAAkB,IAAlB;EAAA,kBAA0CD,OAA1C,CAAwBE,EAAxB;EAAA,IAAwBA,EAAxB,4BAA6B,QAA7B;;EAEA,IAAMC,MAAM,GAAGC,gBAAA,CAAQC,MAAR,CAAeP,IAAf,CAAf;;EACA,IAAAQ,gBAAA,EAAQH,MAAR,6BAAmCL,IAAnC;;EAEA,IAAI,CAACK,MAAL,EAAa;IACT,OAAO,IAAP;EACH;;EAED,IAAMI,OAAO,GAAGJ,MAAM,CAACD,EAAD,CAAN,CAAWH,MAAX,CAAhB;;EACA,IAAIQ,OAAJ,EAAa;IACT,OAAON,OAAO,gBACV,6BAAC,eAAD;MAAiB,GAAG,EAAEE,MAAM,CAACL,IAA7B;MAAmC,IAAI,EAAEA,IAAzC;MAA+C,MAAM,EAAEC,MAAvD;MAA+D,EAAE,EAAEG;IAAnE,GACKK,OADL,CADU,gBAKVC,cAAA,CAAMC,YAAN,CAAmBF,OAAnB,EAA4B;MAAEG,GAAG,EAAEP,MAAM,CAACL;IAAd,CAA5B,CALJ;EAOH;;EACD,OAAO,IAAP;AACH,CArBM;;;;AAuBA,IAAMa,aAA4B,GAAG,SAA/BA,aAA+B,CAACC,IAAD,EAAqC;EAAA,IAA9Bb,MAA8B,uEAArB,EAAqB;EAAA,IAAjBC,OAAiB,uEAAP,EAAO;EAC7E,wBAAoEA,OAApE,CAAQC,OAAR;EAAA,IAAQA,OAAR,kCAAkB,IAAlB;EAAA,mBAAoED,OAApE,CAAwBE,EAAxB;EAAA,IAAwBA,EAAxB,6BAA6B,QAA7B;EAAA,sBAAoEF,OAApE,CAAuCa,MAAvC;EAAA,IAAuCA,MAAvC,gCAAgD,UAAAC,CAAC;IAAA,OAAIA,CAAJ;EAAA,CAAjD;EAAA,IAAwDC,OAAxD,GAAoEf,OAApE,CAAwDe,OAAxD;;EAEA,IAAMR,OAAO,GAAGH,gBAAA,CACXY,MADW,CACJJ,IADI,EAEXC,MAFW,CAEJ,UAAAI,EAAE,EAAI;IACV;AACZ;AACA;IACY;IACA,OAAOJ,MAAM,CAACI,EAAD,CAAb;EACH,CARW;EASZ;AACR;AACA;EAXoB,CAYXC,GAZW,CAYP,UAAAf,MAAM;IAAA,OAAIN,YAAY,CAACM,MAAM,CAACL,IAAR,EAAwBC,MAAxB,EAAgC;MAAEE,OAAO,EAAPA,OAAF;MAAWC,EAAE,EAAFA;IAAX,CAAhC,CAAhB;EAAA,CAZC,EAaXW,MAbW,CAaJM,OAbI,CAAhB;;EAeA,IAAIJ,OAAJ,EAAa;IACTR,OAAO,CAACQ,OAAR;EACH;;EAED,OAAOd,OAAO,gBACV,6BAAC,gBAAD;IAAkB,IAAI,EAAEW,IAAxB;IAA8B,MAAM,EAAEb,MAAtC;IAA8C,EAAE,EAAEG;EAAlD,GACKK,OADL,CADU,GAKVA,OALJ;AAOH,CA7BM;;;eA+BQ,CAACa,cAAD,C"}
package/types.d.ts CHANGED
@@ -2,10 +2,20 @@ import * as React from "react";
2
2
  import { Plugin } from "@webiny/plugins/types";
3
3
  import { ApolloClient } from "apollo-client";
4
4
  import { CSSProperties } from "react";
5
- export declare type WebinyInitPlugin = Plugin & {
6
- type: "webiny-init";
7
- init(): void;
8
- };
5
+ export interface FileItem {
6
+ id: string;
7
+ name: string;
8
+ key: string;
9
+ src: string;
10
+ size: number;
11
+ type: string;
12
+ tags: string[];
13
+ createdOn: string;
14
+ createdBy: {
15
+ id: string;
16
+ };
17
+ [key: string]: any;
18
+ }
9
19
  export declare type UploadOptions = {
10
20
  apolloClient: ApolloClient<object>;
11
21
  };
@@ -15,14 +25,14 @@ export declare type UiStatePlugin = Plugin & {
15
25
  };
16
26
  export declare type FileUploaderPlugin = Plugin & {
17
27
  type: "file-uploader";
18
- upload(file: File, options: UploadOptions): Promise<any>;
28
+ upload(file: FileItem, options: UploadOptions): Promise<any>;
19
29
  };
20
30
  export declare type AppFileManagerStoragePlugin = Plugin & {
21
31
  type: "app-file-manager-storage";
22
- upload(file: File, options: UploadOptions): Promise<any>;
32
+ upload(file: FileItem, options: UploadOptions): Promise<any>;
23
33
  };
24
34
  export { Plugin };
25
- export declare type ImageProps = {
35
+ export interface ImageProps {
26
36
  src: string;
27
37
  preset?: string;
28
38
  transform?: {
@@ -35,7 +45,9 @@ export declare type ImageProps = {
35
45
  title?: string;
36
46
  alt?: string;
37
47
  style?: CSSProperties;
38
- };
48
+ width?: string | number;
49
+ height?: string | number;
50
+ }
39
51
  /**
40
52
  * "getImageSrc" has to be defined as a separate property, so its functionality can be reused outside of
41
53
  * the Image component. This is ideal in cases where manual creation of image src is needed.
@@ -43,7 +55,7 @@ export declare type ImageProps = {
43
55
  export declare type ImageComponentPlugin = Plugin & {
44
56
  type: "image-component";
45
57
  render: (props: ImageProps) => React.ReactElement;
46
- getImageSrc: (props?: Object) => string;
58
+ getImageSrc: (props?: Record<string, any>) => string;
47
59
  presets: {
48
60
  [key: string]: any;
49
61
  };
@@ -56,7 +68,3 @@ export declare type RoutePlugin = Plugin & {
56
68
  type: "route";
57
69
  route: React.ReactElement;
58
70
  };
59
- export declare type CacheGetObjectIdPlugin = Plugin & {
60
- type: "cache-get-object-id";
61
- getObjectId(obj: Record<string, any>): string | undefined;
62
- };
package/types.js CHANGED
@@ -1,2 +1,13 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- export { Plugin };
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Plugin", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _types.Plugin;
10
+ }
11
+ });
12
+
13
+ var _types = require("@webiny/plugins/types");
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { ApolloClient } from \"apollo-client\";\nimport { CSSProperties } from \"react\";\n\nexport interface FileItem {\n id: string;\n name: string;\n key: string;\n src: string;\n size: number;\n type: string;\n tags: string[];\n createdOn: string;\n createdBy: {\n id: string;\n };\n [key: string]: any;\n}\n\nexport type UploadOptions = {\n apolloClient: ApolloClient<object>;\n};\n\nexport type UiStatePlugin = Plugin & {\n type: \"ui-state\";\n render(): React.ReactElement;\n};\n\nexport type FileUploaderPlugin = Plugin & {\n type: \"file-uploader\";\n // TODO: @adrian define type for the returned object\n upload(file: FileItem, options: UploadOptions): Promise<any>;\n};\n\nexport type AppFileManagerStoragePlugin = Plugin & {\n type: \"app-file-manager-storage\";\n // TODO: @adrian define type for the returned object\n upload(file: FileItem, options: UploadOptions): Promise<any>;\n};\n\nexport { Plugin };\n\nexport interface ImageProps {\n src: string;\n preset?: string;\n transform?: {\n [key: string]: any;\n };\n // \"auto\" is a special keyword - if present, plugins insert their own srcSet.\n srcSet?: { [key: string]: any } | \"auto\";\n className?: string;\n title?: string;\n alt?: string;\n style?: CSSProperties;\n width?: string | number;\n height?: string | number;\n}\n\n/**\n * \"getImageSrc\" has to be defined as a separate property, so its functionality can be reused outside of\n * the Image component. This is ideal in cases where manual creation of image src is needed.\n */\nexport type ImageComponentPlugin = Plugin & {\n type: \"image-component\";\n render: (props: ImageProps) => React.ReactElement;\n getImageSrc: (props?: Record<string, any>) => string;\n presets: { [key: string]: any };\n};\n\n/**\n * Enables registering new routes.\n * @see https://docs.webiny.com/docs/webiny-apps/admin/development/plugins-reference/app#route\n */\nexport type RoutePlugin = Plugin & {\n type: \"route\";\n route: React.ReactElement;\n};\n"],"mappings":";;;;;;;;;;;;AACA"}