@contember/react-client 1.2.3 → 1.3.0-alpha.2
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.
- package/dist/development/ClientError.cjs +6 -0
- package/dist/development/ClientError.cjs.map +1 -0
- package/dist/development/ContemberClient.cjs +65 -0
- package/dist/development/ContemberClient.cjs.map +1 -0
- package/dist/development/apiRequest/apiRequestReducer.cjs +34 -0
- package/dist/development/apiRequest/apiRequestReducer.cjs.map +1 -0
- package/dist/development/apiRequest/useApiRequest.cjs +50 -0
- package/dist/development/apiRequest/useApiRequest.cjs.map +1 -0
- package/dist/development/auth/SessionTokenContext.cjs +10 -0
- package/dist/development/auth/SessionTokenContext.cjs.map +1 -0
- package/dist/development/auth/SetSessionTokenContext.cjs +8 -0
- package/dist/development/auth/SetSessionTokenContext.cjs.map +1 -0
- package/dist/development/auth/useSessionToken.cjs +9 -0
- package/dist/development/auth/useSessionToken.cjs.map +1 -0
- package/dist/development/auth/useSetSessionToken.cjs +7 -0
- package/dist/development/auth/useSetSessionToken.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/ElementRenderer.cjs +27 -0
- package/dist/development/components/RichTextRenderer/ElementRenderer.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/LeafRenderer.cjs +28 -0
- package/dist/development/components/RichTextRenderer/LeafRenderer.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs +155 -0
- package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs +74 -0
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +15 -0
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs +124 -0
- package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs +6 -0
- package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs +14 -0
- package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/renderChildren.cjs +33 -0
- package/dist/development/components/RichTextRenderer/renderChildren.cjs.map +1 -0
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +29 -0
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +1 -0
- package/dist/development/config/ApiBaseUrlContext.cjs +6 -0
- package/dist/development/config/ApiBaseUrlContext.cjs.map +1 -0
- package/dist/development/config/LoginTokenContext.cjs +6 -0
- package/dist/development/config/LoginTokenContext.cjs.map +1 -0
- package/dist/development/config/useApiBaseUrl.cjs +7 -0
- package/dist/development/config/useApiBaseUrl.cjs.map +1 -0
- package/dist/development/config/useLoginToken.cjs +7 -0
- package/dist/development/config/useLoginToken.cjs.map +1 -0
- package/dist/development/content/useContentApiRequest.cjs +7 -0
- package/dist/development/content/useContentApiRequest.cjs.map +1 -0
- package/dist/development/content/useContentGraphQlClient.cjs +7 -0
- package/dist/development/content/useContentGraphQlClient.cjs.map +1 -0
- package/dist/development/content/useCurrentContentGraphQlClient.cjs +19 -0
- package/dist/development/content/useCurrentContentGraphQlClient.cjs.map +1 -0
- package/dist/development/index.cjs +68 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/project/ProjectSlugContext.cjs +6 -0
- package/dist/development/project/ProjectSlugContext.cjs.map +1 -0
- package/dist/development/project/StageSlugContext.cjs +6 -0
- package/dist/development/project/StageSlugContext.cjs.map +1 -0
- package/dist/development/project/useProjectSlug.cjs +7 -0
- package/dist/development/project/useProjectSlug.cjs.map +1 -0
- package/dist/development/project/useStageSlug.cjs +7 -0
- package/dist/development/project/useStageSlug.cjs.map +1 -0
- package/dist/development/system/useCurrentSystemGraphQlClient.cjs +14 -0
- package/dist/development/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
- package/dist/development/system/useSystemApiRequest.cjs +7 -0
- package/dist/development/system/useSystemApiRequest.cjs.map +1 -0
- package/dist/development/system/useSystemGraphQlClient.cjs +7 -0
- package/dist/development/system/useSystemGraphQlClient.cjs.map +1 -0
- package/dist/development/tenant/useTenantApiRequest.cjs +7 -0
- package/dist/development/tenant/useTenantApiRequest.cjs.map +1 -0
- package/dist/development/tenant/useTenantGraphQlClient.cjs +7 -0
- package/dist/development/tenant/useTenantGraphQlClient.cjs.map +1 -0
- package/dist/development/upload/fileUploadReducer.cjs +150 -0
- package/dist/development/upload/fileUploadReducer.cjs.map +1 -0
- package/dist/development/upload/toFileId.cjs +10 -0
- package/dist/development/upload/toFileId.cjs.map +1 -0
- package/dist/development/upload/useFileUpload.cjs +166 -0
- package/dist/development/upload/useFileUpload.cjs.map +1 -0
- package/dist/development/useGraphQlClient.cjs +13 -0
- package/dist/development/useGraphQlClient.cjs.map +1 -0
- package/dist/production/ClientError.cjs +6 -0
- package/dist/production/ClientError.cjs.map +1 -0
- package/dist/production/ContemberClient.cjs +41 -0
- package/dist/production/ContemberClient.cjs.map +1 -0
- package/dist/production/apiRequest/apiRequestReducer.cjs +34 -0
- package/dist/production/apiRequest/apiRequestReducer.cjs.map +1 -0
- package/dist/production/apiRequest/useApiRequest.cjs +50 -0
- package/dist/production/apiRequest/useApiRequest.cjs.map +1 -0
- package/dist/production/auth/SessionTokenContext.cjs +10 -0
- package/dist/production/auth/SessionTokenContext.cjs.map +1 -0
- package/dist/production/auth/SetSessionTokenContext.cjs +8 -0
- package/dist/production/auth/SetSessionTokenContext.cjs.map +1 -0
- package/dist/production/auth/useSessionToken.cjs +9 -0
- package/dist/production/auth/useSessionToken.cjs.map +1 -0
- package/dist/production/auth/useSetSessionToken.cjs +7 -0
- package/dist/production/auth/useSetSessionToken.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/ElementRenderer.cjs +23 -0
- package/dist/production/components/RichTextRenderer/ElementRenderer.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/LeafRenderer.cjs +24 -0
- package/dist/production/components/RichTextRenderer/LeafRenderer.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs +82 -0
- package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs +38 -0
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +15 -0
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs +109 -0
- package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs +6 -0
- package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs +14 -0
- package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/renderChildren.cjs +21 -0
- package/dist/production/components/RichTextRenderer/renderChildren.cjs.map +1 -0
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +29 -0
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +1 -0
- package/dist/production/config/ApiBaseUrlContext.cjs +6 -0
- package/dist/production/config/ApiBaseUrlContext.cjs.map +1 -0
- package/dist/production/config/LoginTokenContext.cjs +6 -0
- package/dist/production/config/LoginTokenContext.cjs.map +1 -0
- package/dist/production/config/useApiBaseUrl.cjs +7 -0
- package/dist/production/config/useApiBaseUrl.cjs.map +1 -0
- package/dist/production/config/useLoginToken.cjs +7 -0
- package/dist/production/config/useLoginToken.cjs.map +1 -0
- package/dist/production/content/useContentApiRequest.cjs +7 -0
- package/dist/production/content/useContentApiRequest.cjs.map +1 -0
- package/dist/production/content/useContentGraphQlClient.cjs +7 -0
- package/dist/production/content/useContentGraphQlClient.cjs.map +1 -0
- package/dist/production/content/useCurrentContentGraphQlClient.cjs +19 -0
- package/dist/production/content/useCurrentContentGraphQlClient.cjs.map +1 -0
- package/dist/production/index.cjs +68 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/project/ProjectSlugContext.cjs +6 -0
- package/dist/production/project/ProjectSlugContext.cjs.map +1 -0
- package/dist/production/project/StageSlugContext.cjs +6 -0
- package/dist/production/project/StageSlugContext.cjs.map +1 -0
- package/dist/production/project/useProjectSlug.cjs +7 -0
- package/dist/production/project/useProjectSlug.cjs.map +1 -0
- package/dist/production/project/useStageSlug.cjs +7 -0
- package/dist/production/project/useStageSlug.cjs.map +1 -0
- package/dist/production/system/useCurrentSystemGraphQlClient.cjs +14 -0
- package/dist/production/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
- package/dist/production/system/useSystemApiRequest.cjs +7 -0
- package/dist/production/system/useSystemApiRequest.cjs.map +1 -0
- package/dist/production/system/useSystemGraphQlClient.cjs +7 -0
- package/dist/production/system/useSystemGraphQlClient.cjs.map +1 -0
- package/dist/production/tenant/useTenantApiRequest.cjs +7 -0
- package/dist/production/tenant/useTenantApiRequest.cjs.map +1 -0
- package/dist/production/tenant/useTenantGraphQlClient.cjs +7 -0
- package/dist/production/tenant/useTenantGraphQlClient.cjs.map +1 -0
- package/dist/production/upload/fileUploadReducer.cjs +150 -0
- package/dist/production/upload/fileUploadReducer.cjs.map +1 -0
- package/dist/production/upload/toFileId.cjs +10 -0
- package/dist/production/upload/toFileId.cjs.map +1 -0
- package/dist/production/upload/useFileUpload.cjs +166 -0
- package/dist/production/upload/useFileUpload.cjs.map +1 -0
- package/dist/production/useGraphQlClient.cjs +13 -0
- package/dist/production/useGraphQlClient.cjs.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientError.cjs","sources":["../../src/ClientError.ts"],"sourcesContent":["export class ClientError extends Error {}\n"],"names":[],"mappings":";;AAAO,MAAM,oBAAoB,MAAM;AAAC;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const ApiBaseUrlContext = require("./config/ApiBaseUrlContext.cjs");
|
|
6
|
+
const LoginTokenContext = require("./config/LoginTokenContext.cjs");
|
|
7
|
+
const SetSessionTokenContext = require("./auth/SetSessionTokenContext.cjs");
|
|
8
|
+
const SessionTokenContext = require("./auth/SessionTokenContext.cjs");
|
|
9
|
+
const ProjectSlugContext = require("./project/ProjectSlugContext.cjs");
|
|
10
|
+
const StageSlugContext = require("./project/StageSlugContext.cjs");
|
|
11
|
+
const sessionTokenKey = "contember_session_token";
|
|
12
|
+
const ContemberClient = react.memo(function ContemberClient2({
|
|
13
|
+
apiBaseUrl,
|
|
14
|
+
children,
|
|
15
|
+
loginToken,
|
|
16
|
+
project,
|
|
17
|
+
sessionToken,
|
|
18
|
+
stage
|
|
19
|
+
}) {
|
|
20
|
+
const [localStorageSessionToken, setLocalStorageSessionToken] = useLocalStorageSessionToken();
|
|
21
|
+
const sessionTokenContextValue = react.useMemo(() => ({
|
|
22
|
+
propsToken: sessionToken,
|
|
23
|
+
token: localStorageSessionToken ?? sessionToken,
|
|
24
|
+
source: localStorageSessionToken ? "localstorage" : sessionToken ? "props" : void 0
|
|
25
|
+
}), [localStorageSessionToken, sessionToken]);
|
|
26
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(ApiBaseUrlContext.ApiBaseUrlContext.Provider, { value: apiBaseUrl, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(LoginTokenContext.LoginTokenContext.Provider, { value: loginToken, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(SetSessionTokenContext.SetSessionTokenContext.Provider, { value: setLocalStorageSessionToken, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(SessionTokenContext.SessionTokenContext.Provider, { value: sessionTokenContextValue, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(ProjectSlugContext.ProjectSlugContext.Provider, { value: project, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(StageSlugContext.StageSlugContext.Provider, { value: stage, children }, void 0, false, {
|
|
27
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
28
|
+
lineNumber: 41,
|
|
29
|
+
columnNumber: 8
|
|
30
|
+
}, this) }, void 0, false, {
|
|
31
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
32
|
+
lineNumber: 40,
|
|
33
|
+
columnNumber: 7
|
|
34
|
+
}, this) }, void 0, false, {
|
|
35
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
36
|
+
lineNumber: 39,
|
|
37
|
+
columnNumber: 6
|
|
38
|
+
}, this) }, void 0, false, {
|
|
39
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
40
|
+
lineNumber: 38,
|
|
41
|
+
columnNumber: 5
|
|
42
|
+
}, this) }, void 0, false, {
|
|
43
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
44
|
+
lineNumber: 37,
|
|
45
|
+
columnNumber: 4
|
|
46
|
+
}, this) }, void 0, false, {
|
|
47
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
48
|
+
lineNumber: 36,
|
|
49
|
+
columnNumber: 3
|
|
50
|
+
}, this);
|
|
51
|
+
});
|
|
52
|
+
const useLocalStorageSessionToken = () => {
|
|
53
|
+
const [sessionTokenInner, setSessionTokenInner] = react.useState(() => localStorage.getItem(sessionTokenKey) ?? void 0);
|
|
54
|
+
const setSessionToken = react.useCallback((token) => {
|
|
55
|
+
if (token !== void 0) {
|
|
56
|
+
localStorage.setItem(sessionTokenKey, token);
|
|
57
|
+
} else {
|
|
58
|
+
localStorage.removeItem(sessionTokenKey);
|
|
59
|
+
}
|
|
60
|
+
setSessionTokenInner(token);
|
|
61
|
+
}, []);
|
|
62
|
+
return [sessionTokenInner, setSessionToken];
|
|
63
|
+
};
|
|
64
|
+
exports.ContemberClient = ContemberClient;
|
|
65
|
+
//# sourceMappingURL=ContemberClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContemberClient.cjs","sources":["../../src/ContemberClient.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState } from 'react'\nimport { SessionTokenContext, SessionTokenContextValue, SetSessionTokenContext } from './auth'\nimport { ApiBaseUrlContext, LoginTokenContext } from './config'\nimport { ProjectSlugContext, StageSlugContext } from './project'\n\nexport interface ContemberClientProps {\n\tapiBaseUrl: string\n\tsessionToken?: string\n\tloginToken?: string\n\tproject?: string\n\tstage?: string\n}\n\nconst sessionTokenKey = 'contember_session_token'\n\n/**\n * @group Entrypoints\n */\nexport const ContemberClient = memo<ContemberClientProps & { children: React.ReactNode }>(function ContemberClient({\n\tapiBaseUrl,\n\tchildren,\n\tloginToken,\n\tproject,\n\tsessionToken,\n\tstage,\n}) {\n\tconst [localStorageSessionToken, setLocalStorageSessionToken] = useLocalStorageSessionToken()\n\n\tconst sessionTokenContextValue = useMemo((): SessionTokenContextValue => ({\n\t\tpropsToken: sessionToken,\n\t\ttoken: localStorageSessionToken ?? sessionToken,\n\t\tsource: localStorageSessionToken ? 'localstorage' : (sessionToken ? 'props' : undefined),\n\t}), [localStorageSessionToken, sessionToken])\n\n\treturn (\n\t\t<ApiBaseUrlContext.Provider value={apiBaseUrl}>\n\t\t\t<LoginTokenContext.Provider value={loginToken}>\n\t\t\t\t<SetSessionTokenContext.Provider value={setLocalStorageSessionToken}>\n\t\t\t\t\t<SessionTokenContext.Provider value={sessionTokenContextValue}>\n\t\t\t\t\t\t<ProjectSlugContext.Provider value={project}>\n\t\t\t\t\t\t\t<StageSlugContext.Provider value={stage}>{children}</StageSlugContext.Provider>\n\t\t\t\t\t\t</ProjectSlugContext.Provider>\n\t\t\t\t\t</SessionTokenContext.Provider>\n\t\t\t\t</SetSessionTokenContext.Provider>\n\t\t\t</LoginTokenContext.Provider>\n\t\t</ApiBaseUrlContext.Provider>\n\t)\n})\n\nconst useLocalStorageSessionToken = (): [value: string | undefined, set: (token: string | undefined) => void] => {\n\tconst [sessionTokenInner, setSessionTokenInner] = useState(() => localStorage.getItem(sessionTokenKey) ?? undefined)\n\n\tconst setSessionToken = useCallback((token: string | undefined) => {\n\t\tif (token !== undefined) {\n\t\t\tlocalStorage.setItem(sessionTokenKey, token)\n\t\t} else {\n\t\t\tlocalStorage.removeItem(sessionTokenKey)\n\t\t}\n\t\tsetSessionTokenInner(token)\n\t}, [])\n\n\treturn [sessionTokenInner, setSessionToken]\n}\n"],"names":["memo","ContemberClient","useMemo","ApiBaseUrlContext","jsxDEV","LoginTokenContext","SetSessionTokenContext","SessionTokenContext","ProjectSlugContext","StageSlugContext","useState","useCallback"],"mappings":";;;;;;;;;;AAaA,MAAM,kBAAkB;AAKX,MAAA,kBAAkBA,MAAAA,KAA2D,SAASC,iBAAgB;AAAA,EAClH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAG;AACF,QAAM,CAAC,0BAA0B,2BAA2B,IAAI,4BAA4B;AAEtF,QAAA,2BAA2BC,MAAAA,QAAQ,OAAiC;AAAA,IACzE,YAAY;AAAA,IACZ,OAAO,4BAA4B;AAAA,IACnC,QAAQ,2BAA2B,iBAAkB,eAAe,UAAU;AAAA,EAC3E,IAAA,CAAC,0BAA0B,YAAY,CAAC;AAE5C,8CACEC,oCAAkB,UAAlB,EAA2B,OAAO,YAClC,UAACC,qCAAAC,kBAAAA,kBAAkB,UAAlB,EAA2B,OAAO,YAClC,UAAAD,8BAAAA,OAACE,uBAAuB,uBAAA,UAAvB,EAAgC,OAAO,6BACvC,UAACF,8BAAA,OAAAG,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,0BACpC,UAAAH,8BAAA,OAACI,sCAAmB,UAAnB,EAA4B,OAAO,SACnC,+CAACC,iBAAAA,iBAAiB,UAAjB,EAA0B,OAAO,OAAQ,SAA1C,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAAmD,EADpD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAQA,EATD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAUA,GAAA,IAAA;AAEF,CAAC;AAED,MAAM,8BAA8B,MAA6E;AAC1G,QAAA,CAAC,mBAAmB,oBAAoB,IAAIC,eAAS,MAAM,aAAa,QAAQ,eAAe,KAAK,MAAS;AAE7G,QAAA,kBAAkBC,kBAAY,CAAC,UAA8B;AAClE,QAAI,UAAU,QAAW;AACX,mBAAA,QAAQ,iBAAiB,KAAK;AAAA,IAAA,OACrC;AACN,mBAAa,WAAW,eAAe;AAAA,IACxC;AACA,yBAAqB,KAAK;AAAA,EAC3B,GAAG,CAAE,CAAA;AAEE,SAAA,CAAC,mBAAmB,eAAe;AAC3C;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const apiRequestReducer = (previousState, action) => {
|
|
4
|
+
switch (action.type) {
|
|
5
|
+
case "uninitialize":
|
|
6
|
+
return {
|
|
7
|
+
readyState: "uninitialized",
|
|
8
|
+
isFinished: false,
|
|
9
|
+
isLoading: false
|
|
10
|
+
};
|
|
11
|
+
case "initialize":
|
|
12
|
+
return {
|
|
13
|
+
readyState: "pending",
|
|
14
|
+
isFinished: false,
|
|
15
|
+
isLoading: true
|
|
16
|
+
};
|
|
17
|
+
case "resolveSuccessfully":
|
|
18
|
+
return {
|
|
19
|
+
readyState: "networkSuccess",
|
|
20
|
+
data: action.data,
|
|
21
|
+
isFinished: true,
|
|
22
|
+
isLoading: false
|
|
23
|
+
};
|
|
24
|
+
case "resolveWithError":
|
|
25
|
+
return {
|
|
26
|
+
readyState: "networkError",
|
|
27
|
+
data: action.error,
|
|
28
|
+
isFinished: true,
|
|
29
|
+
isLoading: false
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.apiRequestReducer = apiRequestReducer;
|
|
34
|
+
//# sourceMappingURL=apiRequestReducer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiRequestReducer.cjs","sources":["../../../src/apiRequest/apiRequestReducer.ts"],"sourcesContent":["import type { ApiRequestAction } from './ApiRequestAction'\nimport type { ApiRequestState } from './ApiRequestState'\n\nexport type ApiRequestReducer<SuccessData> = (\n\tpreviousState: ApiRequestState<SuccessData>,\n\taction: ApiRequestAction<SuccessData>,\n) => ApiRequestState<SuccessData>\n\nexport const apiRequestReducer = <SuccessData>(\n\tpreviousState: ApiRequestState<SuccessData>,\n\taction: ApiRequestAction<SuccessData>,\n): ApiRequestState<SuccessData> => {\n\tswitch (action.type) {\n\t\tcase 'uninitialize':\n\t\t\treturn {\n\t\t\t\treadyState: 'uninitialized',\n\t\t\t\tisFinished: false,\n\t\t\t\tisLoading: false,\n\t\t\t}\n\t\tcase 'initialize':\n\t\t\treturn {\n\t\t\t\treadyState: 'pending',\n\t\t\t\tisFinished: false,\n\t\t\t\tisLoading: true,\n\t\t\t}\n\t\tcase 'resolveSuccessfully':\n\t\t\treturn {\n\t\t\t\treadyState: 'networkSuccess',\n\t\t\t\tdata: action.data,\n\t\t\t\tisFinished: true,\n\t\t\t\tisLoading: false,\n\t\t\t}\n\t\tcase 'resolveWithError':\n\t\t\treturn {\n\t\t\t\treadyState: 'networkError',\n\t\t\t\tdata: action.error,\n\t\t\t\tisFinished: true,\n\t\t\t\tisLoading: false,\n\t\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAQa,MAAA,oBAAoB,CAChC,eACA,WACkC;AAClC,UAAQ,OAAO,MAAM;AAAA,IACpB,KAAK;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IAEb,KAAK;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IAEb,KAAK;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,MAAM,OAAO;AAAA,QACb,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IAEb,KAAK;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,MAAM,OAAO;AAAA,QACb,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,EAEd;AACD;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const apiRequestReducer = require("./apiRequestReducer.cjs");
|
|
5
|
+
const initialState = {
|
|
6
|
+
isLoading: false,
|
|
7
|
+
isFinished: false,
|
|
8
|
+
readyState: "uninitialized"
|
|
9
|
+
};
|
|
10
|
+
const useApiRequest = (client) => {
|
|
11
|
+
const [state, dispatch] = react.useReducer(apiRequestReducer.apiRequestReducer, initialState);
|
|
12
|
+
const isUnmountedRef = react.useRef(false);
|
|
13
|
+
const sendRequest = react.useCallback(
|
|
14
|
+
async (query, variables = {}, options) => {
|
|
15
|
+
if (isUnmountedRef.current) {
|
|
16
|
+
return Promise.reject();
|
|
17
|
+
}
|
|
18
|
+
dispatch({
|
|
19
|
+
type: "initialize"
|
|
20
|
+
});
|
|
21
|
+
return client.sendRequest(query, {
|
|
22
|
+
...options,
|
|
23
|
+
variables
|
|
24
|
+
}).then((data) => {
|
|
25
|
+
dispatch({
|
|
26
|
+
type: "resolveSuccessfully",
|
|
27
|
+
data
|
|
28
|
+
});
|
|
29
|
+
return Promise.resolve(data);
|
|
30
|
+
}).catch((error) => {
|
|
31
|
+
dispatch({
|
|
32
|
+
type: "resolveWithError",
|
|
33
|
+
error
|
|
34
|
+
});
|
|
35
|
+
return Promise.reject(error);
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
[client]
|
|
39
|
+
);
|
|
40
|
+
react.useEffect(
|
|
41
|
+
() => () => {
|
|
42
|
+
isUnmountedRef.current = true;
|
|
43
|
+
},
|
|
44
|
+
[]
|
|
45
|
+
// This empty array is crucial! Otherwise it will first "unmount" before second render no matter what.
|
|
46
|
+
);
|
|
47
|
+
return [state, sendRequest];
|
|
48
|
+
};
|
|
49
|
+
exports.useApiRequest = useApiRequest;
|
|
50
|
+
//# sourceMappingURL=useApiRequest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiRequest.cjs","sources":["../../../src/apiRequest/useApiRequest.ts"],"sourcesContent":["import type {\n\tGraphQlClient,\n\tGraphQlClientFailedRequestMetadata,\n\tGraphQlClientRequestOptions,\n\tGraphQlClientVariables,\n} from '@contember/client'\nimport { useCallback, useEffect, useReducer, useRef } from 'react'\nimport { ApiRequestReducer, apiRequestReducer } from './apiRequestReducer'\nimport type { ApiRequestState } from './ApiRequestState'\n\nconst initialState: ApiRequestState<any> = {\n\tisLoading: false,\n\tisFinished: false,\n\treadyState: 'uninitialized',\n}\n\nexport type UseApiRequestResult<SuccessData> = [\n\tApiRequestState<SuccessData>,\n\t(\n\t\tquery: string,\n\t\tvariables?: GraphQlClientVariables,\n\t\toptions?: Omit<GraphQlClientRequestOptions, 'variables'>,\n\t) => Promise<SuccessData>,\n]\n\nexport const useApiRequest = <SuccessData>(client: GraphQlClient): UseApiRequestResult<SuccessData> => {\n\tconst [state, dispatch] = useReducer(apiRequestReducer as ApiRequestReducer<SuccessData>, initialState)\n\n\tconst isUnmountedRef = useRef(false)\n\tconst sendRequest = useCallback(\n\t\tasync (\n\t\t\tquery: string,\n\t\t\tvariables: GraphQlClientVariables = {},\n\t\t\toptions?: Omit<GraphQlClientRequestOptions, 'variables'>,\n\t\t): Promise<SuccessData> => {\n\t\t\tif (isUnmountedRef.current) {\n\t\t\t\treturn Promise.reject()\n\t\t\t}\n\t\t\tdispatch({\n\t\t\t\ttype: 'initialize',\n\t\t\t})\n\t\t\treturn client\n\t\t\t\t.sendRequest<SuccessData>(query, {\n\t\t\t\t\t...options,\n\t\t\t\t\tvariables,\n\t\t\t\t})\n\t\t\t\t.then(data => {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'resolveSuccessfully',\n\t\t\t\t\t\tdata,\n\t\t\t\t\t})\n\t\t\t\t\treturn Promise.resolve(data)\n\t\t\t\t})\n\t\t\t\t.catch((error: GraphQlClientFailedRequestMetadata) => {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'resolveWithError',\n\t\t\t\t\t\terror,\n\t\t\t\t\t})\n\t\t\t\t\treturn Promise.reject(error)\n\t\t\t\t})\n\t\t},\n\t\t[client],\n\t)\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tisUnmountedRef.current = true\n\t\t},\n\t\t[], // This empty array is crucial! Otherwise it will first \"unmount\" before second render no matter what.\n\t)\n\n\treturn [state, sendRequest]\n}\n"],"names":["useReducer","apiRequestReducer","useRef","useCallback","useEffect"],"mappings":";;;;AAUA,MAAM,eAAqC;AAAA,EAC1C,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACb;AAWa,MAAA,gBAAgB,CAAc,WAA4D;AACtG,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,WAAWC,kBAAAA,mBAAqD,YAAY;AAEhG,QAAA,iBAAiBC,aAAO,KAAK;AACnC,QAAM,cAAcC,MAAA;AAAA,IACnB,OACC,OACA,YAAoC,IACpC,YAC0B;AAC1B,UAAI,eAAe,SAAS;AAC3B,eAAO,QAAQ;MAChB;AACS,eAAA;AAAA,QACR,MAAM;AAAA,MAAA,CACN;AACM,aAAA,OACL,YAAyB,OAAO;AAAA,QAChC,GAAG;AAAA,QACH;AAAA,MAAA,CACA,EACA,KAAK,CAAQ,SAAA;AACJ,iBAAA;AAAA,UACR,MAAM;AAAA,UACN;AAAA,QAAA,CACA;AACM,eAAA,QAAQ,QAAQ,IAAI;AAAA,MAAA,CAC3B,EACA,MAAM,CAAC,UAA8C;AAC5C,iBAAA;AAAA,UACR,MAAM;AAAA,UACN;AAAA,QAAA,CACA;AACM,eAAA,QAAQ,OAAO,KAAK;AAAA,MAAA,CAC3B;AAAA,IACH;AAAA,IACA,CAAC,MAAM;AAAA,EAAA;AAGRC,QAAA;AAAA,IACC,MAAM,MAAM;AACX,qBAAe,UAAU;AAAA,IAC1B;AAAA,IACA,CAAC;AAAA;AAAA,EAAA;AAGK,SAAA,CAAC,OAAO,WAAW;AAC3B;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const SessionTokenContext = react.createContext({
|
|
5
|
+
propsToken: void 0,
|
|
6
|
+
source: void 0,
|
|
7
|
+
token: void 0
|
|
8
|
+
});
|
|
9
|
+
exports.SessionTokenContext = SessionTokenContext;
|
|
10
|
+
//# sourceMappingURL=SessionTokenContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionTokenContext.cjs","sources":["../../../src/auth/SessionTokenContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport interface SessionTokenContextValue {\n\tpropsToken: string | undefined\n\tsource: 'props' | 'localstorage' | undefined\n\ttoken: string | undefined\n}\n\nexport const SessionTokenContext = createContext<SessionTokenContextValue>({\n\tpropsToken: undefined,\n\tsource: undefined,\n\ttoken: undefined,\n})\n"],"names":["createContext"],"mappings":";;;AAQO,MAAM,sBAAsBA,MAAAA,cAAwC;AAAA,EAC1E,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AACR,CAAC;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const SetSessionTokenContext = react.createContext(() => {
|
|
5
|
+
throw new Error("SetSessionTokenContext is not set");
|
|
6
|
+
});
|
|
7
|
+
exports.SetSessionTokenContext = SetSessionTokenContext;
|
|
8
|
+
//# sourceMappingURL=SetSessionTokenContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetSessionTokenContext.cjs","sources":["../../../src/auth/SetSessionTokenContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const SetSessionTokenContext = createContext<(token: string | undefined) => void>(() => {\n\tthrow new Error('SetSessionTokenContext is not set')\n})\n"],"names":["createContext"],"mappings":";;;AAEa,MAAA,yBAAyBA,oBAAmD,MAAM;AACxF,QAAA,IAAI,MAAM,mCAAmC;AACpD,CAAC;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const SessionTokenContext = require("./SessionTokenContext.cjs");
|
|
5
|
+
const useSessionToken = () => react.useContext(SessionTokenContext.SessionTokenContext).token;
|
|
6
|
+
const useSessionTokenWithMeta = () => react.useContext(SessionTokenContext.SessionTokenContext);
|
|
7
|
+
exports.useSessionToken = useSessionToken;
|
|
8
|
+
exports.useSessionTokenWithMeta = useSessionTokenWithMeta;
|
|
9
|
+
//# sourceMappingURL=useSessionToken.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessionToken.cjs","sources":["../../../src/auth/useSessionToken.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { SessionTokenContext } from './SessionTokenContext'\n\nexport const useSessionToken = () => useContext(SessionTokenContext).token\nexport const useSessionTokenWithMeta = () => useContext(SessionTokenContext)\n"],"names":["useContext","SessionTokenContext"],"mappings":";;;;AAGO,MAAM,kBAAkB,MAAMA,MAAAA,WAAWC,oBAAmB,mBAAA,EAAE;AACxD,MAAA,0BAA0B,MAAMD,MAAAA,WAAWC,oBAAmB,mBAAA;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const SetSessionTokenContext = require("./SetSessionTokenContext.cjs");
|
|
5
|
+
const useSetSessionToken = () => react.useContext(SetSessionTokenContext.SetSessionTokenContext);
|
|
6
|
+
exports.useSetSessionToken = useSetSessionToken;
|
|
7
|
+
//# sourceMappingURL=useSetSessionToken.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSetSessionToken.cjs","sources":["../../../src/auth/useSetSessionToken.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { SetSessionTokenContext } from './SetSessionTokenContext'\n\nexport const useSetSessionToken = () => useContext(SetSessionTokenContext)\n"],"names":["useContext","SetSessionTokenContext"],"mappings":";;;;AAGa,MAAA,qBAAqB,MAAMA,MAAAA,WAAWC,uBAAsB,sBAAA;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const renderChildren = require("./renderChildren.cjs");
|
|
6
|
+
const RenderElementFallback = require("./RenderElementFallback.cjs");
|
|
7
|
+
const resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
|
|
8
|
+
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
9
|
+
function ElementRenderer({ element, children, options }) {
|
|
10
|
+
const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
|
|
11
|
+
const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
|
|
12
|
+
const fallback = /* @__PURE__ */ jsxDevRuntime.jsxDEV(RenderElementFallback.RenderElementFallback, { element, options, children }, void 0, false, {
|
|
13
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/ElementRenderer.tsx",
|
|
14
|
+
lineNumber: 56,
|
|
15
|
+
columnNumber: 3
|
|
16
|
+
}, this);
|
|
17
|
+
return options.renderElement ? react.createElement(options.renderElement, {
|
|
18
|
+
...elementMetadata,
|
|
19
|
+
element,
|
|
20
|
+
fallback,
|
|
21
|
+
children,
|
|
22
|
+
renderChildren: renderChildren.renderChildren,
|
|
23
|
+
renderChildrenOptions: options
|
|
24
|
+
}) : fallback;
|
|
25
|
+
}
|
|
26
|
+
exports.ElementRenderer = ElementRenderer;
|
|
27
|
+
//# sourceMappingURL=ElementRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","resolveRichTextElementMetadata","jsxDEV","RenderElementFallback","createElement","renderChildren"],"mappings":";;;;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAWA,8BAAAA;AACX,QAAA,kBAAkBC,+BAAAA,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACLC,qCAACC,sBAAAA,uBAAsB,EAAA,SAAqC,SAC1D,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAA,IAAA;AAGD,SAAO,QAAQ,gBACZC,oBAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IAAA,gBACAC,eAAA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const RenderLeafFallback = require("./RenderLeafFallback.cjs");
|
|
6
|
+
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
7
|
+
function LeafRenderer({
|
|
8
|
+
leaf,
|
|
9
|
+
renderLeaf
|
|
10
|
+
}) {
|
|
11
|
+
const formatVersion = RichTextRenderMetadataContext.useRichTextRenderMetadata().formatVersion;
|
|
12
|
+
const fallback = /* @__PURE__ */ jsxDevRuntime.jsxDEV(RenderLeafFallback.RenderLeafFallback, { leaf }, void 0, false, {
|
|
13
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/LeafRenderer.tsx",
|
|
14
|
+
lineNumber: 26,
|
|
15
|
+
columnNumber: 19
|
|
16
|
+
}, this);
|
|
17
|
+
return renderLeaf ? react.createElement(
|
|
18
|
+
renderLeaf,
|
|
19
|
+
{
|
|
20
|
+
formatVersion,
|
|
21
|
+
leaf,
|
|
22
|
+
fallback
|
|
23
|
+
},
|
|
24
|
+
leaf.text
|
|
25
|
+
) : fallback;
|
|
26
|
+
}
|
|
27
|
+
exports.LeafRenderer = LeafRenderer;
|
|
28
|
+
//# sourceMappingURL=LeafRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeafRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/LeafRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { RenderLeafFallback } from './RenderLeafFallback'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextLeafMetadata } from './RichTextLeafMetadata'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderLeaf<CustomLeaves extends RichTextLeaf> = ComponentType<\n\t{\n\t\tleaf: CustomLeaves | BuiltinLeaves\n\t\tfallback: ReactElement\n\t} & RichTextLeafMetadata\n>\n\nexport interface LeafRendererProps<CustomLeaves extends RichTextLeaf = never> {\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tleaf: CustomLeaves | BuiltinLeaves\n}\n\nexport function LeafRenderer<CustomLeaves extends RichTextLeaf = never>({\n\tleaf,\n\trenderLeaf,\n}: LeafRendererProps<CustomLeaves>) {\n\tconst formatVersion = useRichTextRenderMetadata().formatVersion\n\tconst fallback = <RenderLeafFallback leaf={leaf} />\n\n\treturn renderLeaf\n\t\t? createElement(\n\t\t\t\trenderLeaf,\n\t\t\t\t{\n\t\t\t\t\tformatVersion,\n\t\t\t\t\tleaf,\n\t\t\t\t\tfallback,\n\t\t\t\t},\n\t\t\t\tleaf.text,\n\t\t )\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","jsxDEV","RenderLeafFallback","createElement"],"mappings":";;;;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgBA,wDAA4B,EAAA;AAC5C,QAAA,WAAYC,8BAAAA,OAAAC,mBAAA,oBAAA,EAAmB,QAApB,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgC,GAAA,IAAA;AAEjD,SAAO,aACJC,MAAA;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;;"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const renderChildren = require("./renderChildren.cjs");
|
|
6
|
+
const resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
|
|
7
|
+
const RichTextRendererError = require("./RichTextRendererError.cjs");
|
|
8
|
+
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
9
|
+
const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
|
|
10
|
+
const { children, referenceId, ...extendedSpecifics } = element;
|
|
11
|
+
return Object.fromEntries(
|
|
12
|
+
Object.entries(extendedSpecifics).filter(([, value]) => {
|
|
13
|
+
const t = typeof value;
|
|
14
|
+
return t === "string" || t === "number" || t === "boolean";
|
|
15
|
+
}).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
function RenderElementFallback({ element, children, options }) {
|
|
19
|
+
const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
|
|
20
|
+
switch (element.type) {
|
|
21
|
+
case "anchor":
|
|
22
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("a", { ...attributes, href: element.href, children }, void 0, false, {
|
|
23
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
24
|
+
lineNumber: 49,
|
|
25
|
+
columnNumber: 5
|
|
26
|
+
}, this);
|
|
27
|
+
case "heading":
|
|
28
|
+
return react.createElement(`h${element.level}`, attributes, children);
|
|
29
|
+
case "horizontalRule":
|
|
30
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("hr", { ...attributes }, void 0, false, {
|
|
31
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
32
|
+
lineNumber: 56,
|
|
33
|
+
columnNumber: 11
|
|
34
|
+
}, this);
|
|
35
|
+
case "listItem":
|
|
36
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("li", { ...attributes, children }, void 0, false, {
|
|
37
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
38
|
+
lineNumber: 58,
|
|
39
|
+
columnNumber: 11
|
|
40
|
+
}, this);
|
|
41
|
+
case "orderedList":
|
|
42
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("ol", { ...attributes, children }, void 0, false, {
|
|
43
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
44
|
+
lineNumber: 60,
|
|
45
|
+
columnNumber: 11
|
|
46
|
+
}, this);
|
|
47
|
+
case "paragraph":
|
|
48
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("p", { ...attributes, children }, void 0, false, {
|
|
49
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
50
|
+
lineNumber: 62,
|
|
51
|
+
columnNumber: 11
|
|
52
|
+
}, this);
|
|
53
|
+
case "reference": {
|
|
54
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(ReferenceElementFallback, { element, children }, void 0, false, {
|
|
55
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
56
|
+
lineNumber: 64,
|
|
57
|
+
columnNumber: 11
|
|
58
|
+
}, this);
|
|
59
|
+
}
|
|
60
|
+
case "scrollTarget":
|
|
61
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("span", { ...attributes, id: element.identifier, children }, void 0, false, {
|
|
62
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
63
|
+
lineNumber: 68,
|
|
64
|
+
columnNumber: 5
|
|
65
|
+
}, this);
|
|
66
|
+
case "table": {
|
|
67
|
+
const firstRow = element.children[0];
|
|
68
|
+
if (!firstRow || firstRow.headerScope !== "table") {
|
|
69
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("table", { ...attributes, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV("tbody", { children }, void 0, false, {
|
|
70
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
71
|
+
lineNumber: 77,
|
|
72
|
+
columnNumber: 7
|
|
73
|
+
}, this) }, void 0, false, {
|
|
74
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
75
|
+
lineNumber: 76,
|
|
76
|
+
columnNumber: 6
|
|
77
|
+
}, this);
|
|
78
|
+
}
|
|
79
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("table", { ...attributes, children: [
|
|
80
|
+
/* @__PURE__ */ jsxDevRuntime.jsxDEV("thead", { children: renderChildren.renderChildren([firstRow], options) }, void 0, false, {
|
|
81
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
82
|
+
lineNumber: 83,
|
|
83
|
+
columnNumber: 6
|
|
84
|
+
}, this),
|
|
85
|
+
/* @__PURE__ */ jsxDevRuntime.jsxDEV("tbody", { children: renderChildren.renderChildren(element.children.slice(1), options) }, void 0, false, {
|
|
86
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
87
|
+
lineNumber: 84,
|
|
88
|
+
columnNumber: 6
|
|
89
|
+
}, this)
|
|
90
|
+
] }, void 0, true, {
|
|
91
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
92
|
+
lineNumber: 82,
|
|
93
|
+
columnNumber: 5
|
|
94
|
+
}, this);
|
|
95
|
+
}
|
|
96
|
+
case "tableRow":
|
|
97
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("tr", { ...attributes, children }, void 0, false, {
|
|
98
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
99
|
+
lineNumber: 89,
|
|
100
|
+
columnNumber: 11
|
|
101
|
+
}, this);
|
|
102
|
+
case "tableCell": {
|
|
103
|
+
if (element.headerScope) {
|
|
104
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("th", { ...attributes, scope: element.headerScope, children }, void 0, false, {
|
|
105
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
106
|
+
lineNumber: 93,
|
|
107
|
+
columnNumber: 6
|
|
108
|
+
}, this);
|
|
109
|
+
}
|
|
110
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("td", { ...attributes, children }, void 0, false, {
|
|
111
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
112
|
+
lineNumber: 98,
|
|
113
|
+
columnNumber: 11
|
|
114
|
+
}, this);
|
|
115
|
+
}
|
|
116
|
+
case "unorderedList":
|
|
117
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV("ul", { ...attributes, children }, void 0, false, {
|
|
118
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
119
|
+
lineNumber: 101,
|
|
120
|
+
columnNumber: 11
|
|
121
|
+
}, this);
|
|
122
|
+
default: {
|
|
123
|
+
{
|
|
124
|
+
throw new RichTextRendererError.RichTextRendererError(
|
|
125
|
+
`RichTextRenderer: unknown element of type '${element.type}'.`
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function ReferenceElementFallback({ element, children }) {
|
|
132
|
+
const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
|
|
133
|
+
const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
|
|
134
|
+
if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
|
|
135
|
+
{
|
|
136
|
+
throw new RichTextRendererError.RichTextRendererError(
|
|
137
|
+
`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: elementMetadata.referenceRenderer?.({
|
|
142
|
+
referenceType: elementMetadata.referenceType,
|
|
143
|
+
referenceRenderer: elementMetadata.referenceRenderer,
|
|
144
|
+
reference: elementMetadata.reference,
|
|
145
|
+
formatVersion: elementMetadata.formatVersion,
|
|
146
|
+
element,
|
|
147
|
+
children
|
|
148
|
+
}) }, void 0, false, {
|
|
149
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
150
|
+
lineNumber: 136,
|
|
151
|
+
columnNumber: 3
|
|
152
|
+
}, this);
|
|
153
|
+
}
|
|
154
|
+
exports.RenderElementFallback = RenderElementFallback;
|
|
155
|
+
//# sourceMappingURL=RenderElementFallback.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderElementFallback.cjs","sources":["../../../../src/components/RichTextRenderer/RenderElementFallback.tsx"],"sourcesContent":["import { createElement, ReactElement } from 'react'\nimport type { BuiltinElements, RichTextReferenceElement, RichTextTableRowElement } from './BuiltinElements'\nimport { renderChildren, RenderChildrenOptions } from './renderChildren'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport interface RenderElementFallbackProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nconst getElementDataAttributes = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\telement: RichTextElement<CustomElements, CustomLeaves>,\n\tattributeNamePrefix: string = 'contember-',\n): {\n\t[dataAttribute: string]: string | number | boolean\n} => {\n\tconst { children, referenceId, ...extendedSpecifics } = element\n\n\treturn Object.fromEntries(\n\t\tObject.entries(extendedSpecifics)\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst t = typeof value\n\t\t\t\treturn t === 'string' || t === 'number' || t === 'boolean'\n\t\t\t})\n\t\t\t.map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]),\n\t)\n}\n\nexport function RenderElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: RenderElementFallbackProps<CustomElements, CustomLeaves>) {\n\tconst attributes = getElementDataAttributes(element, options.attributeNamePrefix)\n\n\tswitch (element.type) {\n\t\tcase 'anchor':\n\t\t\treturn (\n\t\t\t\t<a {...attributes} href={element.href}>\n\t\t\t\t\t{children}\n\t\t\t\t</a>\n\t\t\t)\n\t\tcase 'heading':\n\t\t\treturn createElement(`h${element.level}`, attributes, children) // TODO numbered\n\t\tcase 'horizontalRule':\n\t\t\treturn <hr {...attributes} />\n\t\tcase 'listItem':\n\t\t\treturn <li {...attributes}>{children}</li>\n\t\tcase 'orderedList':\n\t\t\treturn <ol {...attributes}>{children}</ol>\n\t\tcase 'paragraph':\n\t\t\treturn <p {...attributes}>{children}</p>\n\t\tcase 'reference': {\n\t\t\treturn <ReferenceElementFallback element={element} children={children} />\n\t\t}\n\t\tcase 'scrollTarget':\n\t\t\treturn (\n\t\t\t\t<span {...attributes} id={element.identifier}>\n\t\t\t\t\t{children}\n\t\t\t\t</span>\n\t\t\t)\n\t\tcase 'table': {\n\t\t\tconst firstRow = element.children[0] as RichTextTableRowElement<CustomElements, CustomLeaves> | undefined\n\t\t\tif (!firstRow || firstRow.headerScope !== 'table') {\n\t\t\t\treturn (\n\t\t\t\t\t<table {...attributes}>\n\t\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<table {...attributes}>\n\t\t\t\t\t<thead>{renderChildren<CustomElements, CustomLeaves>([firstRow], options)}</thead>\n\t\t\t\t\t<tbody>{renderChildren<CustomElements, CustomLeaves>(element.children.slice(1) as any, options)}</tbody>\n\t\t\t\t</table>\n\t\t\t)\n\t\t}\n\t\tcase 'tableRow':\n\t\t\treturn <tr {...attributes}>{children}</tr>\n\t\tcase 'tableCell': {\n\t\t\tif (element.headerScope) {\n\t\t\t\treturn (\n\t\t\t\t\t<th {...attributes} scope={element.headerScope}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</th>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn <td {...attributes}>{children}</td>\n\t\t}\n\t\tcase 'unorderedList':\n\t\t\treturn <ul {...attributes}>{children}</ul>\n\t\tdefault: {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`RichTextRenderer: unknown element of type '${(element as { type: string }).type}'.`,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\treturn children // At least render the text contents\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction ReferenceElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children }: { element: RichTextReferenceElement<CustomElements, CustomLeaves>; children: ReactElement }) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tif (\n\t\telementMetadata.referenceRenderer === undefined ||\n\t\telementMetadata.referenceType === undefined ||\n\t\telementMetadata.reference === undefined\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`,\n\t\t\t)\n\t\t} else {\n\t\t\treturn children // At least render the text contents\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{elementMetadata.referenceRenderer?.({\n\t\t\t\treferenceType: elementMetadata.referenceType,\n\t\t\t\treferenceRenderer: elementMetadata.referenceRenderer,\n\t\t\t\treference: elementMetadata.reference,\n\t\t\t\tformatVersion: elementMetadata.formatVersion,\n\t\t\t\telement,\n\t\t\t\tchildren,\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["createElement","jsxDEV","renderChildren","RichTextRendererError","useRichTextRenderMetadata","resolveRichTextElementMetadata","Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
function jsxN2br(text) {
|
|
6
|
+
const lines = text.split("\n");
|
|
7
|
+
if (lines.length <= 1) {
|
|
8
|
+
return text;
|
|
9
|
+
}
|
|
10
|
+
return lines.map((line, i) => /* @__PURE__ */ jsxDevRuntime.jsxDEV(react.Fragment, { children: [
|
|
11
|
+
!!i && /* @__PURE__ */ jsxDevRuntime.jsxDEV("br", {}, void 0, false, {
|
|
12
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
13
|
+
lineNumber: 15,
|
|
14
|
+
columnNumber: 12
|
|
15
|
+
}, this),
|
|
16
|
+
line
|
|
17
|
+
] }, i, true, {
|
|
18
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
19
|
+
lineNumber: 14,
|
|
20
|
+
columnNumber: 3
|
|
21
|
+
}, this));
|
|
22
|
+
}
|
|
23
|
+
function RenderLeafFallback({ leaf }) {
|
|
24
|
+
let element = jsxN2br(leaf.text);
|
|
25
|
+
if ("isCode" in leaf && leaf.isCode === true) {
|
|
26
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("code", { children: element }, void 0, false, {
|
|
27
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
28
|
+
lineNumber: 25,
|
|
29
|
+
columnNumber: 13
|
|
30
|
+
}, this);
|
|
31
|
+
}
|
|
32
|
+
if ("isStruckThrough" in leaf && leaf.isStruckThrough === true) {
|
|
33
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("s", { children: element }, void 0, false, {
|
|
34
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
35
|
+
lineNumber: 28,
|
|
36
|
+
columnNumber: 13
|
|
37
|
+
}, this);
|
|
38
|
+
}
|
|
39
|
+
if ("isHighlighted" in leaf && leaf.isHighlighted === true) {
|
|
40
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("em", { children: element }, void 0, false, {
|
|
41
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
42
|
+
lineNumber: 31,
|
|
43
|
+
columnNumber: 13
|
|
44
|
+
}, this);
|
|
45
|
+
}
|
|
46
|
+
if ("isUnderlined" in leaf && leaf.isUnderlined === true) {
|
|
47
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("u", { children: element }, void 0, false, {
|
|
48
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
49
|
+
lineNumber: 34,
|
|
50
|
+
columnNumber: 13
|
|
51
|
+
}, this);
|
|
52
|
+
}
|
|
53
|
+
if ("isItalic" in leaf && leaf.isItalic === true) {
|
|
54
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("i", { children: element }, void 0, false, {
|
|
55
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
56
|
+
lineNumber: 37,
|
|
57
|
+
columnNumber: 13
|
|
58
|
+
}, this);
|
|
59
|
+
}
|
|
60
|
+
if ("isBold" in leaf && leaf.isBold === true) {
|
|
61
|
+
element = /* @__PURE__ */ jsxDevRuntime.jsxDEV("b", { children: element }, void 0, false, {
|
|
62
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
63
|
+
lineNumber: 40,
|
|
64
|
+
columnNumber: 13
|
|
65
|
+
}, this);
|
|
66
|
+
}
|
|
67
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: element }, void 0, false, {
|
|
68
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx",
|
|
69
|
+
lineNumber: 42,
|
|
70
|
+
columnNumber: 9
|
|
71
|
+
}, this);
|
|
72
|
+
}
|
|
73
|
+
exports.RenderLeafFallback = RenderLeafFallback;
|
|
74
|
+
//# sourceMappingURL=RenderLeafFallback.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderLeafFallback.cjs","sources":["../../../../src/components/RichTextRenderer/RenderLeafFallback.tsx"],"sourcesContent":["import { Fragment, ReactNode } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\n\nexport interface RenderLeafFallbackProps {\n\tleaf: BuiltinLeaves\n}\n\nfunction jsxN2br(text: string): ReactNode {\n\tconst lines = text.split('\\n')\n\tif (lines.length <= 1) {\n\t\treturn text\n\t}\n\treturn lines.map((line, i) => (\n\t\t<Fragment key={i}>\n\t\t\t{!!i && <br />}\n\t\t\t{line}\n\t\t</Fragment>\n\t))\n}\n\nexport function RenderLeafFallback({ leaf }: RenderLeafFallbackProps) {\n\tlet element = jsxN2br(leaf.text)\n\n\tif ('isCode' in leaf && leaf.isCode === true) {\n\t\telement = <code>{element}</code>\n\t}\n\tif ('isStruckThrough' in leaf && leaf.isStruckThrough === true) {\n\t\telement = <s>{element}</s>\n\t}\n\tif ('isHighlighted' in leaf && leaf.isHighlighted === true) {\n\t\telement = <em>{element}</em>\n\t}\n\tif ('isUnderlined' in leaf && leaf.isUnderlined === true) {\n\t\telement = <u>{element}</u>\n\t}\n\tif ('isItalic' in leaf && leaf.isItalic === true) {\n\t\telement = <i>{element}</i>\n\t}\n\tif ('isBold' in leaf && leaf.isBold === true) {\n\t\telement = <b>{element}</b>\n\t}\n\treturn <>{element}</>\n}\n"],"names":["jsxDEV","Fragment"],"mappings":";;;;AAOA,SAAS,QAAQ,MAAyB;AACnC,QAAA,QAAQ,KAAK,MAAM,IAAI;AACzB,MAAA,MAAM,UAAU,GAAG;AACf,WAAA;AAAA,EACR;AACA,SAAO,MAAM,IAAI,CAAC,MAAM,MACvBA,qCAACC,MAAAA,UAAA,EACC,UAAA;AAAA,IAAC,CAAA,CAAC,KAAKD,qCAAC,MAAD,CAAA,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAI,GAAA,IAAA;AAAA,IACX;AAAA,EAAA,EAAA,GAFa,GAAf,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAGA,CACA;AACF;AAEgB,SAAA,mBAAmB,EAAE,QAAiC;AACjE,MAAA,UAAU,QAAQ,KAAK,IAAI;AAE/B,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,8BAAAA,OAAC,UAAM,UAAP,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAe,GAAA,IAAA;AAAA,EAC1B;AACA,MAAI,qBAAqB,QAAQ,KAAK,oBAAoB,MAAM;AACrD,cAAAA,8BAAAA,OAAC,OAAG,UAAJ,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAY,GAAA,IAAA;AAAA,EACvB;AACA,MAAI,mBAAmB,QAAQ,KAAK,kBAAkB,MAAM;AACjD,cAAAA,8BAAAA,OAAC,QAAI,UAAL,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAa,GAAA,IAAA;AAAA,EACxB;AACA,MAAI,kBAAkB,QAAQ,KAAK,iBAAiB,MAAM;AAC/C,cAAAA,8BAAAA,OAAC,OAAG,UAAJ,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAY,GAAA,IAAA;AAAA,EACvB;AACA,MAAI,cAAc,QAAQ,KAAK,aAAa,MAAM;AACvC,cAAAA,8BAAAA,OAAC,OAAG,UAAJ,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAY,GAAA,IAAA;AAAA,EACvB;AACA,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,8BAAAA,OAAC,OAAG,UAAJ,WAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAY,GAAA,IAAA;AAAA,EACvB;AACA,wEAAU,UAAH,WAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAW,GAAA,IAAA;AACnB;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
const RichTextRenderMetadataContext = react.createContext({
|
|
5
|
+
formatVersion: 0,
|
|
6
|
+
referencesField: void 0,
|
|
7
|
+
referenceDiscriminationField: void 0,
|
|
8
|
+
referenceRenderers: {},
|
|
9
|
+
references: void 0
|
|
10
|
+
});
|
|
11
|
+
RichTextRenderMetadataContext.displayName = "RichTextRenderMetadataContext";
|
|
12
|
+
const useRichTextRenderMetadata = () => react.useContext(RichTextRenderMetadataContext);
|
|
13
|
+
exports.RichTextRenderMetadataContext = RichTextRenderMetadataContext;
|
|
14
|
+
exports.useRichTextRenderMetadata = useRichTextRenderMetadata;
|
|
15
|
+
//# sourceMappingURL=RichTextRenderMetadataContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextRenderMetadataContext.cjs","sources":["../../../../src/components/RichTextRenderer/RichTextRenderMetadataContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const RichTextRenderMetadataContext = createContext<RichTextRenderMetadata<any, any, any>>({\n\tformatVersion: 0,\n\treferencesField: undefined,\n\treferenceDiscriminationField: undefined,\n\treferenceRenderers: {},\n\treferences: undefined,\n})\nRichTextRenderMetadataContext.displayName = 'RichTextRenderMetadataContext'\n\nexport const useRichTextRenderMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>() => useContext(RichTextRenderMetadataContext) as RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>\n"],"names":["createContext","useContext"],"mappings":";;;AAMO,MAAM,gCAAgCA,MAAAA,cAAqD;AAAA,EACjG,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,8BAA8B;AAAA,EAC9B,oBAAoB,CAAC;AAAA,EACrB,YAAY;AACb,CAAC;AACD,8BAA8B,cAAc;AAE/B,MAAA,4BAA4B,MAIlCC,MAAAA,WAAW,6BAA6B;;;"}
|