@contember/react-client 1.2.6 → 1.3.0-alpha.3

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 (158) hide show
  1. package/dist/development/ClientError.cjs +6 -0
  2. package/dist/development/ClientError.cjs.map +1 -0
  3. package/dist/development/ContemberClient.cjs +65 -0
  4. package/dist/development/ContemberClient.cjs.map +1 -0
  5. package/dist/development/apiRequest/apiRequestReducer.cjs +34 -0
  6. package/dist/development/apiRequest/apiRequestReducer.cjs.map +1 -0
  7. package/dist/development/apiRequest/useApiRequest.cjs +50 -0
  8. package/dist/development/apiRequest/useApiRequest.cjs.map +1 -0
  9. package/dist/development/auth/SessionTokenContext.cjs +10 -0
  10. package/dist/development/auth/SessionTokenContext.cjs.map +1 -0
  11. package/dist/development/auth/SetSessionTokenContext.cjs +8 -0
  12. package/dist/development/auth/SetSessionTokenContext.cjs.map +1 -0
  13. package/dist/development/auth/useSessionToken.cjs +9 -0
  14. package/dist/development/auth/useSessionToken.cjs.map +1 -0
  15. package/dist/development/auth/useSetSessionToken.cjs +7 -0
  16. package/dist/development/auth/useSetSessionToken.cjs.map +1 -0
  17. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs +27 -0
  18. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs.map +1 -0
  19. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs +28 -0
  20. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs.map +1 -0
  21. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs +155 -0
  22. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs.map +1 -0
  23. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs +74 -0
  24. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs.map +1 -0
  25. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +15 -0
  26. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +1 -0
  27. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs +124 -0
  28. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs.map +1 -0
  29. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs +6 -0
  30. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs.map +1 -0
  31. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs +14 -0
  32. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs.map +1 -0
  33. package/dist/development/components/RichTextRenderer/renderChildren.cjs +33 -0
  34. package/dist/development/components/RichTextRenderer/renderChildren.cjs.map +1 -0
  35. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +29 -0
  36. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +1 -0
  37. package/dist/development/config/ApiBaseUrlContext.cjs +6 -0
  38. package/dist/development/config/ApiBaseUrlContext.cjs.map +1 -0
  39. package/dist/development/config/LoginTokenContext.cjs +6 -0
  40. package/dist/development/config/LoginTokenContext.cjs.map +1 -0
  41. package/dist/development/config/useApiBaseUrl.cjs +7 -0
  42. package/dist/development/config/useApiBaseUrl.cjs.map +1 -0
  43. package/dist/development/config/useLoginToken.cjs +7 -0
  44. package/dist/development/config/useLoginToken.cjs.map +1 -0
  45. package/dist/development/content/useContentApiRequest.cjs +7 -0
  46. package/dist/development/content/useContentApiRequest.cjs.map +1 -0
  47. package/dist/development/content/useContentGraphQlClient.cjs +7 -0
  48. package/dist/development/content/useContentGraphQlClient.cjs.map +1 -0
  49. package/dist/development/content/useCurrentContentGraphQlClient.cjs +19 -0
  50. package/dist/development/content/useCurrentContentGraphQlClient.cjs.map +1 -0
  51. package/dist/development/index.cjs +68 -0
  52. package/dist/development/index.cjs.map +1 -0
  53. package/dist/development/project/ProjectSlugContext.cjs +6 -0
  54. package/dist/development/project/ProjectSlugContext.cjs.map +1 -0
  55. package/dist/development/project/StageSlugContext.cjs +6 -0
  56. package/dist/development/project/StageSlugContext.cjs.map +1 -0
  57. package/dist/development/project/useProjectSlug.cjs +7 -0
  58. package/dist/development/project/useProjectSlug.cjs.map +1 -0
  59. package/dist/development/project/useStageSlug.cjs +7 -0
  60. package/dist/development/project/useStageSlug.cjs.map +1 -0
  61. package/dist/development/system/useCurrentSystemGraphQlClient.cjs +14 -0
  62. package/dist/development/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
  63. package/dist/development/system/useSystemApiRequest.cjs +7 -0
  64. package/dist/development/system/useSystemApiRequest.cjs.map +1 -0
  65. package/dist/development/system/useSystemGraphQlClient.cjs +7 -0
  66. package/dist/development/system/useSystemGraphQlClient.cjs.map +1 -0
  67. package/dist/development/tenant/useTenantApiRequest.cjs +7 -0
  68. package/dist/development/tenant/useTenantApiRequest.cjs.map +1 -0
  69. package/dist/development/tenant/useTenantGraphQlClient.cjs +7 -0
  70. package/dist/development/tenant/useTenantGraphQlClient.cjs.map +1 -0
  71. package/dist/development/upload/fileUploadReducer.cjs +150 -0
  72. package/dist/development/upload/fileUploadReducer.cjs.map +1 -0
  73. package/dist/development/upload/toFileId.cjs +10 -0
  74. package/dist/development/upload/toFileId.cjs.map +1 -0
  75. package/dist/development/upload/useFileUpload.cjs +166 -0
  76. package/dist/development/upload/useFileUpload.cjs.map +1 -0
  77. package/dist/development/useGraphQlClient.cjs +13 -0
  78. package/dist/development/useGraphQlClient.cjs.map +1 -0
  79. package/dist/production/ClientError.cjs +6 -0
  80. package/dist/production/ClientError.cjs.map +1 -0
  81. package/dist/production/ContemberClient.cjs +41 -0
  82. package/dist/production/ContemberClient.cjs.map +1 -0
  83. package/dist/production/apiRequest/apiRequestReducer.cjs +34 -0
  84. package/dist/production/apiRequest/apiRequestReducer.cjs.map +1 -0
  85. package/dist/production/apiRequest/useApiRequest.cjs +50 -0
  86. package/dist/production/apiRequest/useApiRequest.cjs.map +1 -0
  87. package/dist/production/auth/SessionTokenContext.cjs +10 -0
  88. package/dist/production/auth/SessionTokenContext.cjs.map +1 -0
  89. package/dist/production/auth/SetSessionTokenContext.cjs +8 -0
  90. package/dist/production/auth/SetSessionTokenContext.cjs.map +1 -0
  91. package/dist/production/auth/useSessionToken.cjs +9 -0
  92. package/dist/production/auth/useSessionToken.cjs.map +1 -0
  93. package/dist/production/auth/useSetSessionToken.cjs +7 -0
  94. package/dist/production/auth/useSetSessionToken.cjs.map +1 -0
  95. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs +23 -0
  96. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs.map +1 -0
  97. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs +24 -0
  98. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs.map +1 -0
  99. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs +82 -0
  100. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs.map +1 -0
  101. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs +38 -0
  102. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs.map +1 -0
  103. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +15 -0
  104. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +1 -0
  105. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs +109 -0
  106. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs.map +1 -0
  107. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs +6 -0
  108. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs.map +1 -0
  109. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs +14 -0
  110. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs.map +1 -0
  111. package/dist/production/components/RichTextRenderer/renderChildren.cjs +21 -0
  112. package/dist/production/components/RichTextRenderer/renderChildren.cjs.map +1 -0
  113. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +29 -0
  114. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +1 -0
  115. package/dist/production/config/ApiBaseUrlContext.cjs +6 -0
  116. package/dist/production/config/ApiBaseUrlContext.cjs.map +1 -0
  117. package/dist/production/config/LoginTokenContext.cjs +6 -0
  118. package/dist/production/config/LoginTokenContext.cjs.map +1 -0
  119. package/dist/production/config/useApiBaseUrl.cjs +7 -0
  120. package/dist/production/config/useApiBaseUrl.cjs.map +1 -0
  121. package/dist/production/config/useLoginToken.cjs +7 -0
  122. package/dist/production/config/useLoginToken.cjs.map +1 -0
  123. package/dist/production/content/useContentApiRequest.cjs +7 -0
  124. package/dist/production/content/useContentApiRequest.cjs.map +1 -0
  125. package/dist/production/content/useContentGraphQlClient.cjs +7 -0
  126. package/dist/production/content/useContentGraphQlClient.cjs.map +1 -0
  127. package/dist/production/content/useCurrentContentGraphQlClient.cjs +19 -0
  128. package/dist/production/content/useCurrentContentGraphQlClient.cjs.map +1 -0
  129. package/dist/production/index.cjs +68 -0
  130. package/dist/production/index.cjs.map +1 -0
  131. package/dist/production/project/ProjectSlugContext.cjs +6 -0
  132. package/dist/production/project/ProjectSlugContext.cjs.map +1 -0
  133. package/dist/production/project/StageSlugContext.cjs +6 -0
  134. package/dist/production/project/StageSlugContext.cjs.map +1 -0
  135. package/dist/production/project/useProjectSlug.cjs +7 -0
  136. package/dist/production/project/useProjectSlug.cjs.map +1 -0
  137. package/dist/production/project/useStageSlug.cjs +7 -0
  138. package/dist/production/project/useStageSlug.cjs.map +1 -0
  139. package/dist/production/system/useCurrentSystemGraphQlClient.cjs +14 -0
  140. package/dist/production/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
  141. package/dist/production/system/useSystemApiRequest.cjs +7 -0
  142. package/dist/production/system/useSystemApiRequest.cjs.map +1 -0
  143. package/dist/production/system/useSystemGraphQlClient.cjs +7 -0
  144. package/dist/production/system/useSystemGraphQlClient.cjs.map +1 -0
  145. package/dist/production/tenant/useTenantApiRequest.cjs +7 -0
  146. package/dist/production/tenant/useTenantApiRequest.cjs.map +1 -0
  147. package/dist/production/tenant/useTenantGraphQlClient.cjs +7 -0
  148. package/dist/production/tenant/useTenantGraphQlClient.cjs.map +1 -0
  149. package/dist/production/upload/fileUploadReducer.cjs +150 -0
  150. package/dist/production/upload/fileUploadReducer.cjs.map +1 -0
  151. package/dist/production/upload/toFileId.cjs +10 -0
  152. package/dist/production/upload/toFileId.cjs.map +1 -0
  153. package/dist/production/upload/useFileUpload.cjs +166 -0
  154. package/dist/production/upload/useFileUpload.cjs.map +1 -0
  155. package/dist/production/useGraphQlClient.cjs +13 -0
  156. package/dist/production/useGraphQlClient.cjs.map +1 -0
  157. package/dist/types/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +11 -4
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ContemberClient = require("./ContemberClient.cjs");
4
+ const ClientError = require("./ClientError.cjs");
5
+ const useGraphQlClient = require("./useGraphQlClient.cjs");
6
+ const client = require("@contember/client");
7
+ const apiRequestReducer = require("./apiRequest/apiRequestReducer.cjs");
8
+ const useApiRequest = require("./apiRequest/useApiRequest.cjs");
9
+ const SessionTokenContext = require("./auth/SessionTokenContext.cjs");
10
+ const SetSessionTokenContext = require("./auth/SetSessionTokenContext.cjs");
11
+ const useSessionToken = require("./auth/useSessionToken.cjs");
12
+ const useSetSessionToken = require("./auth/useSetSessionToken.cjs");
13
+ const RichTextRenderer = require("./components/RichTextRenderer/RichTextRenderer.cjs");
14
+ const RichTextRendererError = require("./components/RichTextRenderer/RichTextRendererError.cjs");
15
+ const ApiBaseUrlContext = require("./config/ApiBaseUrlContext.cjs");
16
+ const LoginTokenContext = require("./config/LoginTokenContext.cjs");
17
+ const useApiBaseUrl = require("./config/useApiBaseUrl.cjs");
18
+ const useLoginToken = require("./config/useLoginToken.cjs");
19
+ const useContentApiRequest = require("./content/useContentApiRequest.cjs");
20
+ const useContentGraphQlClient = require("./content/useContentGraphQlClient.cjs");
21
+ const useCurrentContentGraphQlClient = require("./content/useCurrentContentGraphQlClient.cjs");
22
+ const ProjectSlugContext = require("./project/ProjectSlugContext.cjs");
23
+ const StageSlugContext = require("./project/StageSlugContext.cjs");
24
+ const useProjectSlug = require("./project/useProjectSlug.cjs");
25
+ const useStageSlug = require("./project/useStageSlug.cjs");
26
+ const useCurrentSystemGraphQlClient = require("./system/useCurrentSystemGraphQlClient.cjs");
27
+ const useSystemApiRequest = require("./system/useSystemApiRequest.cjs");
28
+ const useSystemGraphQlClient = require("./system/useSystemGraphQlClient.cjs");
29
+ const useTenantApiRequest = require("./tenant/useTenantApiRequest.cjs");
30
+ const useTenantGraphQlClient = require("./tenant/useTenantGraphQlClient.cjs");
31
+ const useFileUpload = require("./upload/useFileUpload.cjs");
32
+ exports.ContemberClient = ContemberClient.ContemberClient;
33
+ exports.ClientError = ClientError.ClientError;
34
+ exports.useGraphQlClient = useGraphQlClient.useGraphQlClient;
35
+ exports.apiRequestReducer = apiRequestReducer.apiRequestReducer;
36
+ exports.useApiRequest = useApiRequest.useApiRequest;
37
+ exports.SessionTokenContext = SessionTokenContext.SessionTokenContext;
38
+ exports.SetSessionTokenContext = SetSessionTokenContext.SetSessionTokenContext;
39
+ exports.useSessionToken = useSessionToken.useSessionToken;
40
+ exports.useSessionTokenWithMeta = useSessionToken.useSessionTokenWithMeta;
41
+ exports.useSetSessionToken = useSetSessionToken.useSetSessionToken;
42
+ exports.RichTextRenderer = RichTextRenderer.RichTextRenderer;
43
+ exports.RichTextRendererError = RichTextRendererError.RichTextRendererError;
44
+ exports.ApiBaseUrlContext = ApiBaseUrlContext.ApiBaseUrlContext;
45
+ exports.LoginTokenContext = LoginTokenContext.LoginTokenContext;
46
+ exports.useApiBaseUrl = useApiBaseUrl.useApiBaseUrl;
47
+ exports.useLoginToken = useLoginToken.useLoginToken;
48
+ exports.useContentApiRequest = useContentApiRequest.useContentApiRequest;
49
+ exports.useContentGraphQlClient = useContentGraphQlClient.useContentGraphQlClient;
50
+ exports.useCurrentContentGraphQlClient = useCurrentContentGraphQlClient.useCurrentContentGraphQlClient;
51
+ exports.ProjectSlugContext = ProjectSlugContext.ProjectSlugContext;
52
+ exports.StageSlugContext = StageSlugContext.StageSlugContext;
53
+ exports.useProjectSlug = useProjectSlug.useProjectSlug;
54
+ exports.useStageSlug = useStageSlug.useStageSlug;
55
+ exports.useCurrentSystemGraphQlClient = useCurrentSystemGraphQlClient.useCurrentSystemGraphQlClient;
56
+ exports.useSystemApiRequest = useSystemApiRequest.useSystemApiRequest;
57
+ exports.useSystemGraphQlClient = useSystemGraphQlClient.useSystemGraphQlClient;
58
+ exports.useTenantApiRequest = useTenantApiRequest.useTenantApiRequest;
59
+ exports.useTenantGraphQlClient = useTenantGraphQlClient.useTenantGraphQlClient;
60
+ exports.useFileUpload = useFileUpload.useFileUpload;
61
+ Object.keys(client).forEach((k) => {
62
+ if (k !== "default" && !exports.hasOwnProperty(k))
63
+ Object.defineProperty(exports, k, {
64
+ enumerable: true,
65
+ get: () => client[k]
66
+ });
67
+ });
68
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const ProjectSlugContext = react.createContext(void 0);
5
+ exports.ProjectSlugContext = ProjectSlugContext;
6
+ //# sourceMappingURL=ProjectSlugContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectSlugContext.cjs","sources":["../../../src/project/ProjectSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const ProjectSlugContext = createContext<string | undefined>(undefined)\n"],"names":["createContext"],"mappings":";;;AAEa,MAAA,qBAAqBA,oBAAkC,MAAS;;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const StageSlugContext = react.createContext(void 0);
5
+ exports.StageSlugContext = StageSlugContext;
6
+ //# sourceMappingURL=StageSlugContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageSlugContext.cjs","sources":["../../../src/project/StageSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const StageSlugContext = createContext<string | undefined>(undefined)\n"],"names":["createContext"],"mappings":";;;AAEa,MAAA,mBAAmBA,oBAAkC,MAAS;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const ProjectSlugContext = require("./ProjectSlugContext.cjs");
5
+ const useProjectSlug = () => react.useContext(ProjectSlugContext.ProjectSlugContext);
6
+ exports.useProjectSlug = useProjectSlug;
7
+ //# sourceMappingURL=useProjectSlug.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectSlug.cjs","sources":["../../../src/project/useProjectSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { ProjectSlugContext } from './ProjectSlugContext'\n\nexport const useProjectSlug = () => useContext(ProjectSlugContext)\n"],"names":["useContext","ProjectSlugContext"],"mappings":";;;;AAGa,MAAA,iBAAiB,MAAMA,MAAAA,WAAWC,mBAAkB,kBAAA;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const StageSlugContext = require("./StageSlugContext.cjs");
5
+ const useStageSlug = () => react.useContext(StageSlugContext.StageSlugContext);
6
+ exports.useStageSlug = useStageSlug;
7
+ //# sourceMappingURL=useStageSlug.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStageSlug.cjs","sources":["../../../src/project/useStageSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { StageSlugContext } from './StageSlugContext'\n\nexport const useStageSlug = () => useContext(StageSlugContext)\n"],"names":["useContext","StageSlugContext"],"mappings":";;;;AAGa,MAAA,eAAe,MAAMA,MAAAA,WAAWC,iBAAgB,gBAAA;;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ClientError = require("../ClientError.cjs");
4
+ const useSystemGraphQlClient = require("./useSystemGraphQlClient.cjs");
5
+ const useProjectSlug = require("../project/useProjectSlug.cjs");
6
+ const useCurrentSystemGraphQlClient = () => {
7
+ const projectSlug = useProjectSlug.useProjectSlug();
8
+ if (projectSlug === void 0) {
9
+ throw new ClientError.ClientError(`Cannot contact the system API: undefined project slug.`);
10
+ }
11
+ return useSystemGraphQlClient.useSystemGraphQlClient(projectSlug);
12
+ };
13
+ exports.useCurrentSystemGraphQlClient = useCurrentSystemGraphQlClient;
14
+ //# sourceMappingURL=useCurrentSystemGraphQlClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrentSystemGraphQlClient.cjs","sources":["../../../src/system/useCurrentSystemGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { ClientError } from '../ClientError'\nimport { useProjectSlug } from '../project'\nimport { useSystemGraphQlClient } from './useSystemGraphQlClient'\n\nexport const useCurrentSystemGraphQlClient = (): GraphQlClient => {\n\tconst projectSlug = useProjectSlug()\n\n\tif (projectSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the system API: undefined project slug.`)\n\t}\n\treturn useSystemGraphQlClient(projectSlug)\n}\n"],"names":["useProjectSlug","ClientError","useSystemGraphQlClient"],"mappings":";;;;;AAKO,MAAM,gCAAgC,MAAqB;AACjE,QAAM,cAAcA,eAAAA;AAEpB,MAAI,gBAAgB,QAAW;AACxB,UAAA,IAAIC,wBAAY,wDAAwD;AAAA,EAC/E;AACA,SAAOC,uBAAAA,uBAAuB,WAAW;AAC1C;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const useCurrentSystemGraphQlClient = require("./useCurrentSystemGraphQlClient.cjs");
4
+ const useApiRequest = require("../apiRequest/useApiRequest.cjs");
5
+ const useSystemApiRequest = () => useApiRequest.useApiRequest(useCurrentSystemGraphQlClient.useCurrentSystemGraphQlClient());
6
+ exports.useSystemApiRequest = useSystemApiRequest;
7
+ //# sourceMappingURL=useSystemApiRequest.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSystemApiRequest.cjs","sources":["../../../src/system/useSystemApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useCurrentSystemGraphQlClient } from './useCurrentSystemGraphQlClient'\n\nexport const useSystemApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useCurrentSystemGraphQlClient())\n"],"names":["useApiRequest","useCurrentSystemGraphQlClient"],"mappings":";;;;AAIO,MAAM,sBAAsB,MAClCA,cAA2B,cAAAC,4DAA+B,CAAA;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const client = require("@contember/client");
4
+ const useGraphQlClient = require("../useGraphQlClient.cjs");
5
+ const useSystemGraphQlClient = (projectSlug) => useGraphQlClient.useGraphQlClient(client.formatSystemApiRelativeUrl(projectSlug));
6
+ exports.useSystemGraphQlClient = useSystemGraphQlClient;
7
+ //# sourceMappingURL=useSystemGraphQlClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSystemGraphQlClient.cjs","sources":["../../../src/system/useSystemGraphQlClient.ts"],"sourcesContent":["import { formatSystemApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useSystemGraphQlClient = (projectSlug: string) => useGraphQlClient(formatSystemApiRelativeUrl(projectSlug))\n"],"names":["useGraphQlClient","formatSystemApiRelativeUrl"],"mappings":";;;;AAGO,MAAM,yBAAyB,CAAC,gBAAwBA,kCAAiBC,OAAAA,2BAA2B,WAAW,CAAC;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const useTenantGraphQlClient = require("./useTenantGraphQlClient.cjs");
4
+ const useApiRequest = require("../apiRequest/useApiRequest.cjs");
5
+ const useTenantApiRequest = () => useApiRequest.useApiRequest(useTenantGraphQlClient.useTenantGraphQlClient());
6
+ exports.useTenantApiRequest = useTenantApiRequest;
7
+ //# sourceMappingURL=useTenantApiRequest.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTenantApiRequest.cjs","sources":["../../../src/tenant/useTenantApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useTenantGraphQlClient } from './useTenantGraphQlClient'\n\nexport const useTenantApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useTenantGraphQlClient())\n"],"names":["useApiRequest","useTenantGraphQlClient"],"mappings":";;;;AAIO,MAAM,sBAAsB,MAClCA,cAA2B,cAAAC,8CAAwB,CAAA;;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const client = require("@contember/client");
4
+ const useGraphQlClient = require("../useGraphQlClient.cjs");
5
+ const useTenantGraphQlClient = () => useGraphQlClient.useGraphQlClient(client.tenantApiRelativeUrl);
6
+ exports.useTenantGraphQlClient = useTenantGraphQlClient;
7
+ //# sourceMappingURL=useTenantGraphQlClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTenantGraphQlClient.cjs","sources":["../../../src/tenant/useTenantGraphQlClient.ts"],"sourcesContent":["import { tenantApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useTenantGraphQlClient = () => useGraphQlClient(tenantApiRelativeUrl)\n"],"names":["useGraphQlClient","tenantApiRelativeUrl"],"mappings":";;;;AAGa,MAAA,yBAAyB,MAAMA,iBAAAA,iBAAiBC,OAAoB,oBAAA;;"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const client = require("@contember/client");
4
+ const utilities = require("@contember/utilities");
5
+ const toFileId = require("./toFileId.cjs");
6
+ const initializeFileUploadState = () => ({
7
+ fileIdByFile: /* @__PURE__ */ new WeakMap(),
8
+ state: /* @__PURE__ */ new Map()
9
+ });
10
+ const fileUploadReducer = (previousState, action) => {
11
+ let newState = void 0;
12
+ switch (action.type) {
13
+ case "initialize": {
14
+ for (const [fileId, metadata] of action.files) {
15
+ (newState ?? (newState = new Map(previousState.state))).set(fileId, {
16
+ readyState: "initializing",
17
+ abortController: metadata.abortController,
18
+ previewUrl: metadata.previewUrl,
19
+ file: metadata.file
20
+ });
21
+ previousState.fileIdByFile.set(metadata.file, fileId);
22
+ }
23
+ break;
24
+ }
25
+ case "startUploading": {
26
+ for (const [fileOrId, metadata] of action.files) {
27
+ const fileId = toFileId.toFileId(previousState, fileOrId);
28
+ const fileState = (newState ?? previousState.state).get(fileId);
29
+ if (fileState === void 0 || fileState.readyState !== "initializing") {
30
+ continue;
31
+ }
32
+ (newState ?? (newState = new Map(previousState.state))).set(fileId, {
33
+ readyState: "uploading",
34
+ abortController: fileState.abortController,
35
+ file: fileState.file,
36
+ metadata: metadata.metadata,
37
+ // If the user didn't supply the metadata, then that's on them.
38
+ previewUrl: fileState.previewUrl,
39
+ progress: void 0,
40
+ uploader: metadata.uploader
41
+ });
42
+ }
43
+ break;
44
+ }
45
+ case "finishSuccessfully": {
46
+ for (const [fileOrId, result] of action.result) {
47
+ const fileId = toFileId.toFileId(previousState, fileOrId);
48
+ const previousFileState = (newState ?? previousState.state).get(fileId);
49
+ if (previousFileState === void 0 || previousFileState.readyState !== "uploading") {
50
+ continue;
51
+ }
52
+ (newState ?? (newState = new Map(previousState.state))).set(fileId, {
53
+ readyState: "success",
54
+ file: previousFileState.file,
55
+ metadata: previousFileState.metadata,
56
+ previewUrl: previousFileState.previewUrl,
57
+ result,
58
+ uploader: previousFileState.uploader
59
+ });
60
+ }
61
+ break;
62
+ }
63
+ case "finishWithError": {
64
+ for (const errorSpec of action.error) {
65
+ let fileOrId;
66
+ let rawError;
67
+ if (Array.isArray(errorSpec)) {
68
+ [fileOrId, rawError] = errorSpec;
69
+ } else {
70
+ fileOrId = errorSpec;
71
+ rawError = void 0;
72
+ }
73
+ const errors = [];
74
+ if (rawError instanceof client.FileUploadError) {
75
+ errors.push(rawError);
76
+ } else if (Array.isArray(rawError)) {
77
+ for (const error of rawError) {
78
+ if (error instanceof client.FileUploadError) {
79
+ errors.push(error);
80
+ }
81
+ }
82
+ }
83
+ const fileId = toFileId.toFileId(previousState, fileOrId);
84
+ const previousFileState = (newState ?? previousState.state).get(fileId);
85
+ if (previousFileState === void 0 || previousFileState.readyState !== "initializing" && previousFileState.readyState !== "uploading") {
86
+ continue;
87
+ }
88
+ const uploader = previousFileState.readyState === "uploading" ? previousFileState.uploader : void 0;
89
+ const metadata = previousFileState.readyState === "uploading" ? previousFileState.metadata : void 0;
90
+ (newState ?? (newState = new Map(previousState.state))).set(fileId, {
91
+ readyState: "error",
92
+ errors: errors.length ? errors : void 0,
93
+ rawError,
94
+ file: previousFileState.file,
95
+ metadata,
96
+ previewUrl: previousFileState.previewUrl,
97
+ uploader
98
+ });
99
+ }
100
+ break;
101
+ }
102
+ case "purge": {
103
+ for (const fileOrId of action.files) {
104
+ const fileId = toFileId.toFileId(previousState, fileOrId);
105
+ const fileState = (newState ?? previousState.state).get(fileId);
106
+ if (fileState === void 0) {
107
+ continue;
108
+ }
109
+ URL.revokeObjectURL(fileState.previewUrl);
110
+ if (fileState.readyState === "initializing" || fileState.readyState === "uploading") {
111
+ fileState.abortController.abort();
112
+ }
113
+ (newState ?? (newState = new Map(previousState.state))).delete(fileId);
114
+ }
115
+ break;
116
+ }
117
+ case "updateUploadProgress": {
118
+ for (const [fileOrId, { progress }] of action.progress) {
119
+ const fileId = toFileId.toFileId(previousState, fileOrId);
120
+ const previousFileState = (newState ?? previousState.state).get(fileId);
121
+ if (progress === void 0 || previousFileState === void 0 || previousFileState.readyState !== "uploading") {
122
+ continue;
123
+ }
124
+ const roundedProgress = Math.floor(progress);
125
+ if (roundedProgress === previousFileState.progress) {
126
+ continue;
127
+ }
128
+ (newState ?? (newState = new Map(previousState.state))).set(fileId, {
129
+ readyState: "uploading",
130
+ file: previousFileState.file,
131
+ uploader: previousFileState.uploader,
132
+ abortController: previousFileState.abortController,
133
+ previewUrl: previousFileState.previewUrl,
134
+ metadata: previousFileState.metadata,
135
+ progress: roundedProgress
136
+ });
137
+ }
138
+ break;
139
+ }
140
+ default:
141
+ utilities.assertNever(action);
142
+ }
143
+ if (newState === void 0) {
144
+ return previousState;
145
+ }
146
+ return { ...previousState, state: newState };
147
+ };
148
+ exports.fileUploadReducer = fileUploadReducer;
149
+ exports.initializeFileUploadState = initializeFileUploadState;
150
+ //# sourceMappingURL=fileUploadReducer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUploadReducer.cjs","sources":["../../../src/upload/fileUploadReducer.ts"],"sourcesContent":["import { FileUploadError } from '@contember/client'\nimport { assertNever } from '@contember/utilities'\nimport type { FileId } from './FileId'\nimport type { FileUploadAction } from './FileUploadAction'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\nimport { toFileId } from './toFileId'\n\nexport const initializeFileUploadState = <Result = unknown, Metadata = undefined>(): FileUploadMultiTemporalState<Result, Metadata> => ({\n\tfileIdByFile: new WeakMap<File, FileId>(),\n\tstate: new Map(),\n})\n\nexport const fileUploadReducer = <Result = unknown, Metadata = undefined>(\n\tpreviousState: FileUploadMultiTemporalState<Result, Metadata>,\n\taction: FileUploadAction<Result, Metadata>,\n): FileUploadMultiTemporalState<Result, Metadata> => {\n\tlet newState: undefined | FileUploadMultiTemporalState<Result, Metadata>['state'] = undefined\n\n\tswitch (action.type) {\n\t\tcase 'initialize': {\n\t\t\tfor (const [fileId, metadata] of action.files) {\n\t\t\t\t// Deliberately allowing starting a new upload with the same id\n\t\t\t\t(newState ??= new Map(previousState.state)).set(fileId, {\n\t\t\t\t\treadyState: 'initializing',\n\t\t\t\t\tabortController: metadata.abortController,\n\t\t\t\t\tpreviewUrl: metadata.previewUrl,\n\t\t\t\t\tfile: metadata.file,\n\t\t\t\t})\n\t\t\t\t// Deliberately mutating\n\t\t\t\tpreviousState.fileIdByFile.set(metadata.file, fileId)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcase 'startUploading': {\n\t\t\tfor (const [fileOrId, metadata] of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = (newState ?? previousState.state).get(fileId)\n\n\t\t\t\tif (fileState === undefined || fileState.readyState !== 'initializing') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\t(newState ??= new Map(previousState.state)).set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tabortController: fileState.abortController,\n\t\t\t\t\tfile: fileState.file,\n\t\t\t\t\tmetadata: metadata.metadata!, // If the user didn't supply the metadata, then that's on them.\n\t\t\t\t\tpreviewUrl: fileState.previewUrl,\n\t\t\t\t\tprogress: undefined,\n\t\t\t\t\tuploader: metadata.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcase 'finishSuccessfully': {\n\t\t\tfor (const [fileOrId, result] of action.result) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = (newState ?? previousState.state).get(fileId)\n\t\t\t\tif (previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t(newState ??= new Map(previousState.state)).set(fileId, {\n\t\t\t\t\treadyState: 'success',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tresult,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcase 'finishWithError': {\n\t\t\tfor (const errorSpec of action.error) {\n\t\t\t\tlet fileOrId: File | FileId\n\t\t\t\tlet rawError: unknown\n\n\t\t\t\tif (Array.isArray(errorSpec)) {\n\t\t\t\t\t[fileOrId, rawError] = errorSpec\n\t\t\t\t} else {\n\t\t\t\t\tfileOrId = errorSpec\n\t\t\t\t\trawError = undefined\n\t\t\t\t}\n\n\t\t\t\tconst errors: FileUploadError[] = []\n\n\t\t\t\tif (rawError instanceof FileUploadError) {\n\t\t\t\t\terrors.push(rawError)\n\t\t\t\t} else if (Array.isArray(rawError)) {\n\t\t\t\t\tfor (const error of rawError) {\n\t\t\t\t\t\tif (error instanceof FileUploadError) {\n\t\t\t\t\t\t\terrors.push(error)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = (newState ?? previousState.state).get(fileId)\n\t\t\t\tif (\n\t\t\t\t\tpreviousFileState === undefined ||\n\t\t\t\t\t(previousFileState.readyState !== 'initializing' && previousFileState.readyState !== 'uploading')\n\t\t\t\t) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst uploader = previousFileState.readyState === 'uploading' ? previousFileState.uploader : undefined\n\t\t\t\tconst metadata = previousFileState.readyState === 'uploading' ? previousFileState.metadata : undefined\n\t\t\t\t\t; (newState ??= new Map(previousState.state)).set(fileId, {\n\t\t\t\t\t\treadyState: 'error',\n\t\t\t\t\t\terrors: errors.length ? errors : undefined,\n\t\t\t\t\t\trawError,\n\t\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\t\tuploader,\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcase 'purge': {\n\t\t\tfor (const fileOrId of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = (newState ?? previousState.state).get(fileId)\n\n\t\t\t\tif (fileState === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tURL.revokeObjectURL(fileState.previewUrl)\n\t\t\t\tif (fileState.readyState === 'initializing' || fileState.readyState === 'uploading') {\n\t\t\t\t\tfileState.abortController.abort() // This is a bit naughty… We shouldn't do this from here.\n\t\t\t\t}\n\t\t\t\t(newState ??= new Map(previousState.state)).delete(fileId)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcase 'updateUploadProgress': {\n\t\t\tfor (const [fileOrId, { progress }] of action.progress) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = (newState ?? previousState.state).get(fileId)\n\t\t\t\tif (progress === undefined || previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst roundedProgress = Math.floor(progress) // throttling\n\t\t\t\tif (roundedProgress === previousFileState.progress) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t(newState ??= new Map(previousState.state)).set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t\tabortController: previousFileState.abortController,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tprogress: roundedProgress,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tdefault:\n\t\t\tassertNever(action)\n\t}\n\tif (newState === undefined) {\n\t\treturn previousState\n\t}\n\treturn { ...previousState, state: newState }\n}\n"],"names":["toFileId","FileUploadError","assertNever"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const toFileId = (state, fileOrId) => {
4
+ if (fileOrId instanceof File) {
5
+ return state.fileIdByFile.get(fileOrId);
6
+ }
7
+ return fileOrId;
8
+ };
9
+ exports.toFileId = toFileId;
10
+ //# sourceMappingURL=toFileId.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toFileId.cjs","sources":["../../../src/upload/toFileId.ts"],"sourcesContent":["import type { FileId } from './FileId'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\n\nexport const toFileId = <Result = unknown, Metadata = undefined>(\n\tstate: FileUploadMultiTemporalState<Result, Metadata>,\n\tfileOrId: File | FileId,\n): FileId => {\n\tif (fileOrId instanceof File) {\n\t\treturn state.fileIdByFile.get(fileOrId)! // Should we throw instead of the yolo \"!\"?\n\t}\n\treturn fileOrId\n}\n"],"names":[],"mappings":";;AAGa,MAAA,WAAW,CACvB,OACA,aACY;AACZ,MAAI,oBAAoB,MAAM;AACtB,WAAA,MAAM,aAAa,IAAI,QAAQ;AAAA,EACvC;AACO,SAAA;AACR;;"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const client = require("@contember/client");
4
+ const react = require("react");
5
+ const fileUploadReducer = require("./fileUploadReducer.cjs");
6
+ const useCurrentContentGraphQlClient = require("../content/useCurrentContentGraphQlClient.cjs");
7
+ const useFileUpload = ({} = {}) => {
8
+ const contentApiClient = useCurrentContentGraphQlClient.useCurrentContentGraphQlClient();
9
+ const fileIdSeedRef = react.useRef(1);
10
+ const [internalState, dispatch] = react.useReducer(fileUploadReducer.fileUploadReducer, void 0, fileUploadReducer.initializeFileUploadState);
11
+ const defaultUploader = react.useMemo(() => new client.S3FileUploader(), []);
12
+ const purgeUpload = react.useCallback((files) => {
13
+ dispatch({
14
+ type: "purge",
15
+ files
16
+ });
17
+ }, []);
18
+ const failUpload = react.useCallback((error) => {
19
+ dispatch({
20
+ type: "finishWithError",
21
+ error
22
+ });
23
+ }, []);
24
+ const previewUrls = react.useRef(/* @__PURE__ */ new Set());
25
+ const fileIds = react.useRef(/* @__PURE__ */ new WeakMap());
26
+ const filesWithMetadataById = react.useRef(/* @__PURE__ */ new Map());
27
+ const initializeUpload = react.useCallback(
28
+ (files) => {
29
+ const newFileIds = /* @__PURE__ */ new Set();
30
+ const fileWithMetadataByFileConfig = /* @__PURE__ */ new Map();
31
+ for (const fileMaybeWithId of files) {
32
+ const abortController = new AbortController();
33
+ let fileId;
34
+ let file;
35
+ if (fileMaybeWithId instanceof File) {
36
+ fileId = `__contember__file-${fileIdSeedRef.current++}`;
37
+ file = fileMaybeWithId;
38
+ } else {
39
+ fileId = fileMaybeWithId[0];
40
+ file = fileMaybeWithId[1];
41
+ }
42
+ abortController.signal.addEventListener("abort", () => {
43
+ purgeUpload([fileId]);
44
+ });
45
+ const previewUrl = URL.createObjectURL(file);
46
+ const fileWithMetadata = {
47
+ previewUrl,
48
+ abortController,
49
+ file,
50
+ fileId
51
+ };
52
+ fileWithMetadataByFileConfig.set(fileId, fileWithMetadata);
53
+ newFileIds.add(fileId);
54
+ previewUrls.current.add(previewUrl);
55
+ fileIds.current.set(file, fileId);
56
+ filesWithMetadataById.current.set(fileId, new WeakRef(fileWithMetadata));
57
+ }
58
+ if (fileWithMetadataByFileConfig.size === 0) {
59
+ return fileWithMetadataByFileConfig;
60
+ }
61
+ if (newFileIds.size) {
62
+ dispatch({
63
+ type: "purge",
64
+ files: newFileIds
65
+ });
66
+ }
67
+ dispatch({
68
+ type: "initialize",
69
+ files: fileWithMetadataByFileConfig
70
+ });
71
+ return fileWithMetadataByFileConfig;
72
+ },
73
+ [purgeUpload]
74
+ );
75
+ const startUpload = react.useCallback(
76
+ (files) => {
77
+ const filesById = /* @__PURE__ */ new Map();
78
+ const groupedByUploader = /* @__PURE__ */ new Map();
79
+ for (const fileOrIdMaybeWithOptions of files) {
80
+ let fileOrId;
81
+ let options;
82
+ if (Array.isArray(fileOrIdMaybeWithOptions)) {
83
+ fileOrId = fileOrIdMaybeWithOptions[0];
84
+ options = fileOrIdMaybeWithOptions[1];
85
+ } else {
86
+ fileOrId = fileOrIdMaybeWithOptions;
87
+ options = {};
88
+ }
89
+ const { uploader = defaultUploader, metadata } = options;
90
+ const fileId = fileOrId instanceof File ? fileIds.current.get(fileOrId) : fileOrId;
91
+ const fileState = fileId ? filesWithMetadataById.current.get(fileId)?.deref() : void 0;
92
+ if (fileId === void 0 || fileState === void 0) {
93
+ throw new Error(
94
+ `Trying to startUpload a file that hasn't been previously initialized. This will be possible in future, but isn't yet.`
95
+ );
96
+ }
97
+ filesById.set(fileId, {
98
+ uploader,
99
+ metadata
100
+ });
101
+ let filesWithSameUploader = groupedByUploader.get(uploader);
102
+ if (filesWithSameUploader === void 0) {
103
+ groupedByUploader.set(uploader, filesWithSameUploader = /* @__PURE__ */ new Map());
104
+ }
105
+ filesWithSameUploader.set(fileState.file, {
106
+ abortSignal: fileState.abortController.signal
107
+ });
108
+ }
109
+ dispatch({
110
+ type: "startUploading",
111
+ files: filesById
112
+ });
113
+ for (const [uploader, filesForUpload] of groupedByUploader) {
114
+ try {
115
+ uploader.upload(filesForUpload, {
116
+ onProgress: (progress) => {
117
+ dispatch({
118
+ type: "updateUploadProgress",
119
+ progress
120
+ });
121
+ },
122
+ onSuccess: (result) => {
123
+ dispatch({
124
+ type: "finishSuccessfully",
125
+ result
126
+ });
127
+ },
128
+ onError: (error) => {
129
+ dispatch({
130
+ type: "finishWithError",
131
+ error
132
+ });
133
+ },
134
+ contentApiClient
135
+ });
136
+ } catch (error) {
137
+ dispatch({
138
+ type: "finishWithError",
139
+ error: Array.from(filesForUpload).map(([file]) => [file, error])
140
+ });
141
+ }
142
+ }
143
+ },
144
+ [contentApiClient, defaultUploader]
145
+ );
146
+ const operations = react.useMemo(
147
+ () => ({
148
+ failUpload,
149
+ initializeUpload,
150
+ purgeUpload,
151
+ startUpload
152
+ }),
153
+ [failUpload, initializeUpload, purgeUpload, startUpload]
154
+ );
155
+ react.useEffect(
156
+ () => () => {
157
+ for (const previewUrl of Array.from(previewUrls.current)) {
158
+ URL.revokeObjectURL(previewUrl);
159
+ }
160
+ },
161
+ []
162
+ );
163
+ return [internalState.state, operations];
164
+ };
165
+ exports.useFileUpload = useFileUpload;
166
+ //# sourceMappingURL=useFileUpload.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileUpload.cjs","sources":["../../../src/upload/useFileUpload.ts"],"sourcesContent":["import { FileUploader, S3FileUploader, UploadedFileMetadata } from '@contember/client'\nimport { Reducer, useCallback, useEffect, useMemo, useReducer, useRef } from 'react'\nimport { useCurrentContentGraphQlClient } from '../content'\nimport type { FileId } from './FileId'\nimport type { FileUploadAction } from './FileUploadAction'\nimport type { FileUploadCompoundState } from './FileUploadCompoundState'\nimport type { FileUploadMetadata } from './FileUploadMetadata'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\nimport type {\n\tPurgeUpload,\n\tFileUploadOperations,\n\tInitializeUpload,\n\tStartUpload,\n\tStartUploadFileOptions,\n\tFailUpload,\n} from './FileUploadOperations'\nimport { fileUploadReducer, initializeFileUploadState } from './fileUploadReducer'\nimport type { FileWithMetadata } from './FileWithMetadata'\n\nexport type FileUpload<Result = unknown, Metadata = undefined> = [\n\tFileUploadCompoundState<Result, Metadata>,\n\tFileUploadOperations<Metadata>,\n]\n\nexport interface FileUploadOptions {\n}\n\nexport const useFileUpload = <Result = unknown, Metadata = undefined>({}: FileUploadOptions = {}): FileUpload<Result, Metadata> => {\n\tconst contentApiClient = useCurrentContentGraphQlClient()\n\n\tconst fileIdSeedRef = useRef(1)\n\n\tconst [internalState, dispatch] = useReducer<\n\t\tReducer<FileUploadMultiTemporalState<Result, Metadata>, FileUploadAction<Result, Metadata>>,\n\t\tundefined\n\t>(fileUploadReducer, undefined, initializeFileUploadState)\n\n\tconst defaultUploader = useMemo(() => new S3FileUploader(), [])\n\n\tconst purgeUpload = useCallback<PurgeUpload>(files => {\n\t\tdispatch({\n\t\t\ttype: 'purge',\n\t\t\tfiles,\n\t\t})\n\t}, [])\n\tconst failUpload = useCallback<FailUpload>(error => {\n\t\tdispatch({\n\t\t\ttype: 'finishWithError',\n\t\t\terror,\n\t\t})\n\t}, [])\n\n\tconst previewUrls = useRef(new Set<string>())\n\tconst fileIds = useRef(new WeakMap<File, FileId>())\n\tconst filesWithMetadataById = useRef(new Map<FileId, WeakRef<FileWithMetadata>>)\n\n\tconst initializeUpload = useCallback<InitializeUpload>(\n\t\tfiles => {\n\t\t\tconst newFileIds = new Set<FileId>()\n\t\t\tconst fileWithMetadataByFileConfig = new Map<FileId, FileWithMetadata>()\n\n\t\t\tfor (const fileMaybeWithId of files) {\n\t\t\t\tconst abortController = new AbortController()\n\n\t\t\t\tlet fileId: FileId\n\t\t\t\tlet file: File\n\n\t\t\t\tif (fileMaybeWithId instanceof File) {\n\t\t\t\t\tfileId = `__contember__file-${fileIdSeedRef.current++}`\n\t\t\t\t\tfile = fileMaybeWithId\n\t\t\t\t} else {\n\t\t\t\t\tfileId = fileMaybeWithId[0]\n\t\t\t\t\tfile = fileMaybeWithId[1]\n\t\t\t\t}\n\n\t\t\t\tabortController.signal.addEventListener('abort', () => {\n\t\t\t\t\tpurgeUpload([fileId])\n\t\t\t\t})\n\n\t\t\t\tconst previewUrl = URL.createObjectURL(file)\n\t\t\t\tconst fileWithMetadata: FileWithMetadata = {\n\t\t\t\t\tpreviewUrl: previewUrl,\n\t\t\t\t\tabortController,\n\t\t\t\t\tfile,\n\t\t\t\t\tfileId,\n\t\t\t\t}\n\t\t\t\tfileWithMetadataByFileConfig.set(fileId, fileWithMetadata)\n\n\t\t\t\tnewFileIds.add(fileId)\n\n\t\t\t\tpreviewUrls.current.add(previewUrl)\n\t\t\t\tfileIds.current.set(file, fileId)\n\t\t\t\tfilesWithMetadataById.current.set(fileId, new WeakRef(fileWithMetadata))\n\t\t\t}\n\t\t\tif (fileWithMetadataByFileConfig.size === 0) {\n\t\t\t\treturn fileWithMetadataByFileConfig\n\t\t\t}\n\n\t\t\tif (newFileIds.size) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'purge',\n\t\t\t\t\tfiles: newFileIds,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'initialize',\n\t\t\t\tfiles: fileWithMetadataByFileConfig,\n\t\t\t})\n\n\t\t\treturn fileWithMetadataByFileConfig\n\t\t},\n\t\t[purgeUpload],\n\t)\n\tconst startUpload = useCallback<StartUpload<Metadata>>(\n\t\tfiles => {\n\t\t\tconst filesById = new Map<FileId, FileUploadMetadata<Metadata>>()\n\t\t\tconst groupedByUploader: Map<FileUploader, Map<File, UploadedFileMetadata>> = new Map()\n\n\t\t\tfor (const fileOrIdMaybeWithOptions of files) {\n\t\t\t\tlet fileOrId: File | FileId\n\t\t\t\tlet options: StartUploadFileOptions<Metadata>\n\n\t\t\t\tif (Array.isArray(fileOrIdMaybeWithOptions)) {\n\t\t\t\t\tfileOrId = fileOrIdMaybeWithOptions[0]\n\t\t\t\t\toptions = fileOrIdMaybeWithOptions[1]\n\t\t\t\t} else {\n\t\t\t\t\tfileOrId = fileOrIdMaybeWithOptions\n\t\t\t\t\toptions = {}\n\t\t\t\t}\n\t\t\t\tconst { uploader = defaultUploader, metadata } = options\n\n\t\t\t\tconst fileId = fileOrId instanceof File ? fileIds.current.get(fileOrId) : fileOrId\n\t\t\t\tconst fileState = fileId ? filesWithMetadataById.current.get(fileId)?.deref() : undefined\n\n\t\t\t\tif (fileId === undefined || fileState === undefined) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Trying to startUpload a file that hasn't been previously initialized. ` +\n\t\t\t\t\t\t\t`This will be possible in future, but isn't yet.`,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\n\t\t\t\tfilesById.set(fileId, {\n\t\t\t\t\tuploader,\n\t\t\t\t\tmetadata,\n\t\t\t\t})\n\n\t\t\t\tlet filesWithSameUploader = groupedByUploader.get(uploader)\n\t\t\t\tif (filesWithSameUploader === undefined) {\n\t\t\t\t\tgroupedByUploader.set(uploader, (filesWithSameUploader = new Map()))\n\t\t\t\t}\n\t\t\t\tfilesWithSameUploader.set(fileState.file, {\n\t\t\t\t\tabortSignal: fileState.abortController.signal,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'startUploading',\n\t\t\t\tfiles: filesById,\n\t\t\t})\n\n\t\t\tfor (const [uploader, filesForUpload] of groupedByUploader) {\n\t\t\t\ttry {\n\t\t\t\t\tuploader.upload(filesForUpload, {\n\t\t\t\t\t\tonProgress: progress => {\n\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\ttype: 'updateUploadProgress',\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonSuccess: result => {\n\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\ttype: 'finishSuccessfully',\n\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError: error => {\n\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\ttype: 'finishWithError',\n\t\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontentApiClient,\n\t\t\t\t\t})\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'finishWithError',\n\t\t\t\t\t\terror: Array.from(filesForUpload).map(([file]) => [file, error]),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[contentApiClient, defaultUploader],\n\t)\n\n\tconst operations = useMemo<FileUploadOperations<Metadata>>(\n\t\t() => ({\n\t\t\tfailUpload,\n\t\t\tinitializeUpload,\n\t\t\tpurgeUpload,\n\t\t\tstartUpload,\n\t\t}),\n\t\t[failUpload, initializeUpload, purgeUpload, startUpload],\n\t)\n\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tfor (const previewUrl of Array.from(previewUrls.current)) {\n\t\t\t\tURL.revokeObjectURL(previewUrl)\n\t\t\t}\n\t\t},\n\t\t[],\n\t)\n\n\treturn [internalState.state, operations]\n}\n"],"names":["useCurrentContentGraphQlClient","useRef","useReducer","fileUploadReducer","initializeFileUploadState","useMemo","S3FileUploader","useCallback","useEffect"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const client = require("@contember/client");
4
+ const react = require("react");
5
+ const useApiBaseUrl = require("./config/useApiBaseUrl.cjs");
6
+ const useSessionToken = require("./auth/useSessionToken.cjs");
7
+ const useGraphQlClient = (path) => {
8
+ const apiBaseUrl = useApiBaseUrl.useApiBaseUrl();
9
+ const sessionToken = useSessionToken.useSessionToken();
10
+ return react.useMemo(() => new client.GraphQlClient(`${apiBaseUrl}${path}`, sessionToken), [apiBaseUrl, path, sessionToken]);
11
+ };
12
+ exports.useGraphQlClient = useGraphQlClient;
13
+ //# sourceMappingURL=useGraphQlClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGraphQlClient.cjs","sources":["../../src/useGraphQlClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/client'\nimport { useMemo } from 'react'\nimport { useSessionToken } from './auth'\nimport { useApiBaseUrl } from './config'\n\nexport const useGraphQlClient = (path: string): GraphQlClient => {\n\tconst apiBaseUrl = useApiBaseUrl()\n\tconst sessionToken = useSessionToken()\n\treturn useMemo(() => new GraphQlClient(`${apiBaseUrl}${path}`, sessionToken), [apiBaseUrl, path, sessionToken])\n}\n"],"names":["useApiBaseUrl","useSessionToken","useMemo","GraphQlClient"],"mappings":";;;;;;AAKa,MAAA,mBAAmB,CAAC,SAAgC;AAChE,QAAM,aAAaA,cAAAA;AACnB,QAAM,eAAeC,gBAAAA;AACrB,SAAOC,MAAQ,QAAA,MAAM,IAAIC,OAAA,cAAc,GAAG,aAAa,QAAQ,YAAY,GAAG,CAAC,YAAY,MAAM,YAAY,CAAC;AAC/G;;"}