@contember/react-client 1.1.0-rc.5 → 1.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/ContemberClient.js +2 -45
- package/dist/development/ContemberClient.js.map +1 -1
- package/dist/development/apiRequest/apiRequestReducer.js.map +1 -1
- package/dist/development/apiRequest/useApiRequest.js +1 -0
- package/dist/development/apiRequest/useApiRequest.js.map +1 -1
- package/dist/development/components/RichTextRenderer/ElementRenderer.js +3 -16
- package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/LeafRenderer.js +11 -14
- package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js +36 -157
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +13 -61
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js +41 -36
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/renderChildren.js +10 -28
- package/dist/development/components/RichTextRenderer/renderChildren.js.map +1 -1
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
- package/dist/development/upload/fileUploadReducer.js +32 -45
- package/dist/development/upload/fileUploadReducer.js.map +1 -1
- package/dist/development/upload/toFileId.js.map +1 -1
- package/dist/development/upload/useFileUpload.js +24 -64
- package/dist/development/upload/useFileUpload.js.map +1 -1
- package/dist/production/ContemberClient.js +2 -20
- package/dist/production/ContemberClient.js.map +1 -1
- package/dist/production/apiRequest/apiRequestReducer.js.map +1 -1
- package/dist/production/apiRequest/useApiRequest.js +1 -0
- package/dist/production/apiRequest/useApiRequest.js.map +1 -1
- package/dist/production/components/RichTextRenderer/ElementRenderer.js +3 -11
- package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/LeafRenderer.js +11 -9
- package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js +34 -89
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +13 -28
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js +41 -31
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/renderChildren.js +10 -19
- package/dist/production/components/RichTextRenderer/renderChildren.js.map +1 -1
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
- package/dist/production/upload/fileUploadReducer.js +32 -45
- package/dist/production/upload/fileUploadReducer.js.map +1 -1
- package/dist/production/upload/toFileId.js.map +1 -1
- package/dist/production/upload/useFileUpload.js +24 -64
- package/dist/production/upload/useFileUpload.js.map +1 -1
- package/dist/types/ContemberClient.d.ts +0 -1
- package/dist/types/ContemberClient.d.ts.map +1 -1
- package/dist/types/auth/SessionTokenContext.d.ts +0 -1
- package/dist/types/auth/SessionTokenContext.d.ts.map +1 -1
- package/dist/types/auth/SetSessionTokenContext.d.ts +0 -1
- package/dist/types/auth/SetSessionTokenContext.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts +0 -1
- package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts +0 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts.map +1 -1
- package/dist/types/config/ApiBaseUrlContext.d.ts +0 -1
- package/dist/types/config/ApiBaseUrlContext.d.ts.map +1 -1
- package/dist/types/config/LoginTokenContext.d.ts +0 -1
- package/dist/types/config/LoginTokenContext.d.ts.map +1 -1
- package/dist/types/project/ProjectSlugContext.d.ts +0 -1
- package/dist/types/project/ProjectSlugContext.d.ts.map +1 -1
- package/dist/types/project/StageSlugContext.d.ts +0 -1
- package/dist/types/project/StageSlugContext.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/upload/FileUploadAction.d.ts +0 -2
- package/dist/types/upload/FileUploadAction.d.ts.map +1 -1
- package/dist/types/upload/FileUploadMultiTemporalState.d.ts +1 -4
- package/dist/types/upload/FileUploadMultiTemporalState.d.ts.map +1 -1
- package/dist/types/upload/fileUploadReducer.d.ts.map +1 -1
- package/dist/types/upload/toFileId.d.ts.map +1 -1
- package/dist/types/upload/useFileUpload.d.ts +1 -2
- package/dist/types/upload/useFileUpload.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/upload/FileUploadAction.ts +0 -3
- package/src/upload/FileUploadMultiTemporalState.ts +1 -4
- package/src/upload/fileUploadReducer.ts +33 -53
- package/src/upload/toFileId.ts +1 -1
- package/src/upload/useFileUpload.ts +23 -67
- package/LICENSE +0 -186
- package/src/ambient.d.ts +0 -1
|
@@ -1,12 +1,11 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import { memo, useState, useCallback } from "react";
|
|
2
|
-
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { ApiBaseUrlContext } from "./config/ApiBaseUrlContext.js";
|
|
4
4
|
import { LoginTokenContext } from "./config/LoginTokenContext.js";
|
|
5
5
|
import { SetSessionTokenContext } from "./auth/SetSessionTokenContext.js";
|
|
6
6
|
import { SessionTokenContext } from "./auth/SessionTokenContext.js";
|
|
7
7
|
import { ProjectSlugContext } from "./project/ProjectSlugContext.js";
|
|
8
8
|
import { StageSlugContext } from "./project/StageSlugContext.js";
|
|
9
|
-
var _jsxFileName = "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx";
|
|
10
9
|
const sessionTokenKey = "contember_session_token";
|
|
11
10
|
const ContemberClient = memo(function ContemberClient2({
|
|
12
11
|
apiBaseUrl,
|
|
@@ -25,49 +24,7 @@ const ContemberClient = memo(function ContemberClient2({
|
|
|
25
24
|
}
|
|
26
25
|
setSessionTokenInner(token);
|
|
27
26
|
}, []);
|
|
28
|
-
return /* @__PURE__ */
|
|
29
|
-
value: apiBaseUrl,
|
|
30
|
-
children: /* @__PURE__ */ jsxDEV(LoginTokenContext.Provider, {
|
|
31
|
-
value: loginToken,
|
|
32
|
-
children: /* @__PURE__ */ jsxDEV(SetSessionTokenContext.Provider, {
|
|
33
|
-
value: setSessionToken,
|
|
34
|
-
children: /* @__PURE__ */ jsxDEV(SessionTokenContext.Provider, {
|
|
35
|
-
value: sessionTokenInner,
|
|
36
|
-
children: /* @__PURE__ */ jsxDEV(ProjectSlugContext.Provider, {
|
|
37
|
-
value: project,
|
|
38
|
-
children: /* @__PURE__ */ jsxDEV(StageSlugContext.Provider, {
|
|
39
|
-
value: stage,
|
|
40
|
-
children
|
|
41
|
-
}, void 0, false, {
|
|
42
|
-
fileName: _jsxFileName,
|
|
43
|
-
lineNumber: 41,
|
|
44
|
-
columnNumber: 8
|
|
45
|
-
}, this)
|
|
46
|
-
}, void 0, false, {
|
|
47
|
-
fileName: _jsxFileName,
|
|
48
|
-
lineNumber: 40,
|
|
49
|
-
columnNumber: 7
|
|
50
|
-
}, this)
|
|
51
|
-
}, void 0, false, {
|
|
52
|
-
fileName: _jsxFileName,
|
|
53
|
-
lineNumber: 39,
|
|
54
|
-
columnNumber: 6
|
|
55
|
-
}, this)
|
|
56
|
-
}, void 0, false, {
|
|
57
|
-
fileName: _jsxFileName,
|
|
58
|
-
lineNumber: 38,
|
|
59
|
-
columnNumber: 5
|
|
60
|
-
}, this)
|
|
61
|
-
}, void 0, false, {
|
|
62
|
-
fileName: _jsxFileName,
|
|
63
|
-
lineNumber: 37,
|
|
64
|
-
columnNumber: 4
|
|
65
|
-
}, this)
|
|
66
|
-
}, void 0, false, {
|
|
67
|
-
fileName: _jsxFileName,
|
|
68
|
-
lineNumber: 36,
|
|
69
|
-
columnNumber: 3
|
|
70
|
-
}, this);
|
|
27
|
+
return /* @__PURE__ */ jsx(ApiBaseUrlContext.Provider, { value: apiBaseUrl, children: /* @__PURE__ */ jsx(LoginTokenContext.Provider, { value: loginToken, children: /* @__PURE__ */ jsx(SetSessionTokenContext.Provider, { value: setSessionToken, children: /* @__PURE__ */ jsx(SessionTokenContext.Provider, { value: sessionTokenInner, children: /* @__PURE__ */ jsx(ProjectSlugContext.Provider, { value: project, children: /* @__PURE__ */ jsx(StageSlugContext.Provider, { value: stage, children }) }) }) }) }) });
|
|
71
28
|
});
|
|
72
29
|
export {
|
|
73
30
|
ContemberClient
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContemberClient.js","sources":["../../src/ContemberClient.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState } from 'react'\nimport { SessionTokenContext, 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\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 [sessionTokenInner, setSessionTokenInner] = useState(() => localStorage.getItem(sessionTokenKey) ?? sessionToken ?? 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 (\n\t\t<ApiBaseUrlContext.Provider value={apiBaseUrl}>\n\t\t\t<LoginTokenContext.Provider value={loginToken}>\n\t\t\t\t<SetSessionTokenContext.Provider value={setSessionToken}>\n\t\t\t\t\t<SessionTokenContext.Provider value={sessionTokenInner}>\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"],"names":["
|
|
1
|
+
{"version":3,"file":"ContemberClient.js","sources":["../../src/ContemberClient.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState } from 'react'\nimport { SessionTokenContext, 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\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 [sessionTokenInner, setSessionTokenInner] = useState(() => localStorage.getItem(sessionTokenKey) ?? sessionToken ?? 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 (\n\t\t<ApiBaseUrlContext.Provider value={apiBaseUrl}>\n\t\t\t<LoginTokenContext.Provider value={loginToken}>\n\t\t\t\t<SetSessionTokenContext.Provider value={setSessionToken}>\n\t\t\t\t\t<SessionTokenContext.Provider value={sessionTokenInner}>\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"],"names":["ContemberClient"],"mappings":";;;;;;;;AAaA,MAAM,kBAAkB;AAEX,MAAA,kBAAkB,KAA2D,SAASA,iBAAgB;AAAA,EAClH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAG;AACI,QAAA,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,MAAM,aAAa,QAAQ,eAAe,KAAK,gBAAiB,MAAS;AAE9H,QAAA,kBAAkB,YAAY,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;AAEL,6BACE,kBAAkB,UAAlB,EAA2B,OAAO,YAClC,8BAAC,kBAAkB,UAAlB,EAA2B,OAAO,YAClC,UAAC,oBAAA,uBAAuB,UAAvB,EAAgC,OAAO,iBACvC,UAAC,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,mBACpC,UAAA,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAA,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,OAAQ,SAAS,CAAA,GACpD,EACD,CAAA,EACD,CAAA,GACD,EACD,CAAA;AAEF,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiRequestReducer.js","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;AAAA,
|
|
1
|
+
{"version":3,"file":"apiRequestReducer.js","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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApiRequest.js","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":[],"mappings":";;AAUA,MAAM,eAAqC;AAAA,EAC1C,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACb;AAWa,MAAA,gBAAgB,CAAc,WAA4D;AACtG,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,mBAAqD,YAAY;AAEhG,QAAA,iBAAiB,OAAO,KAAK;AACnC,QAAM,cAAc;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;AAGR;AAAA,IACC,MAAM,MAAM;AACX,qBAAe,UAAU;AAAA,IAC1B;AAAA,IACA,CAAC;AAAA,EAAA;AAGK,SAAA,CAAC,OAAO,WAAW;AAC3B;"}
|
|
1
|
+
{"version":3,"file":"useApiRequest.js","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":[],"mappings":";;AAUA,MAAM,eAAqC;AAAA,EAC1C,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACb;AAWa,MAAA,gBAAgB,CAAc,WAA4D;AACtG,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,mBAAqD,YAAY;AAEhG,QAAA,iBAAiB,OAAO,KAAK;AACnC,QAAM,cAAc;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;AAGR;AAAA,IACC,MAAM,MAAM;AACX,qBAAe,UAAU;AAAA,IAC1B;AAAA,IACA,CAAC;AAAA;AAAA,EAAA;AAGK,SAAA,CAAC,OAAO,WAAW;AAC3B;"}
|
|
@@ -1,26 +1,13 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import { createElement } from "react";
|
|
2
3
|
import { renderChildren } from "./renderChildren.js";
|
|
3
4
|
import { RenderElementFallback } from "./RenderElementFallback.js";
|
|
4
5
|
import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
|
|
5
6
|
import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
|
|
6
|
-
|
|
7
|
-
var _jsxFileName = "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/ElementRenderer.tsx";
|
|
8
|
-
function ElementRenderer({
|
|
9
|
-
element,
|
|
10
|
-
children,
|
|
11
|
-
options
|
|
12
|
-
}) {
|
|
7
|
+
function ElementRenderer({ element, children, options }) {
|
|
13
8
|
const metadata = useRichTextRenderMetadata();
|
|
14
9
|
const elementMetadata = resolveRichTextElementMetadata(element, metadata);
|
|
15
|
-
const fallback = /* @__PURE__ */
|
|
16
|
-
element,
|
|
17
|
-
options,
|
|
18
|
-
children
|
|
19
|
-
}, void 0, false, {
|
|
20
|
-
fileName: _jsxFileName,
|
|
21
|
-
lineNumber: 56,
|
|
22
|
-
columnNumber: 3
|
|
23
|
-
}, this);
|
|
10
|
+
const fallback = /* @__PURE__ */ jsx(RenderElementFallback, { element, options, children });
|
|
24
11
|
return options.renderElement ? createElement(options.renderElement, {
|
|
25
12
|
...elementMetadata,
|
|
26
13
|
element,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementRenderer.js","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":[
|
|
1
|
+
{"version":3,"file":"ElementRenderer.js","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":[],"mappings":";;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACL,oBAAC,uBAAsB,EAAA,SAAqC,SAC1D,SACF,CAAA;AAGD,SAAO,QAAQ,gBACZ,cAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import { createElement } from "react";
|
|
2
3
|
import { RenderLeafFallback } from "./RenderLeafFallback.js";
|
|
3
4
|
import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
|
|
4
|
-
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
5
|
-
var _jsxFileName = "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/LeafRenderer.tsx";
|
|
6
5
|
function LeafRenderer({
|
|
7
6
|
leaf,
|
|
8
7
|
renderLeaf
|
|
9
8
|
}) {
|
|
10
9
|
const formatVersion = useRichTextRenderMetadata().formatVersion;
|
|
11
|
-
const fallback = /* @__PURE__ */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
fallback
|
|
22
|
-
}, leaf.text) : fallback;
|
|
10
|
+
const fallback = /* @__PURE__ */ jsx(RenderLeafFallback, { leaf });
|
|
11
|
+
return renderLeaf ? createElement(
|
|
12
|
+
renderLeaf,
|
|
13
|
+
{
|
|
14
|
+
formatVersion,
|
|
15
|
+
leaf,
|
|
16
|
+
fallback
|
|
17
|
+
},
|
|
18
|
+
leaf.text
|
|
19
|
+
) : fallback;
|
|
23
20
|
}
|
|
24
21
|
export {
|
|
25
22
|
LeafRenderer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeafRenderer.js","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":[
|
|
1
|
+
{"version":3,"file":"LeafRenderer.js","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":[],"mappings":";;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgB,0BAA4B,EAAA;AAC5C,QAAA,WAAY,oBAAA,oBAAA,EAAmB,KAAY,CAAA;AAEjD,SAAO,aACJ;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;"}
|
|
@@ -1,201 +1,80 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
1
2
|
import { createElement } from "react";
|
|
2
3
|
import { renderChildren } from "./renderChildren.js";
|
|
3
4
|
import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
|
|
4
|
-
import { RichTextRendererError } from "./RichTextRendererError.js";
|
|
5
5
|
import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
|
|
6
|
-
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
7
|
-
var _jsxFileName = "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx";
|
|
8
6
|
const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return t === "string" || t === "number" || t === "boolean";
|
|
17
|
-
}).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]));
|
|
7
|
+
const { children, referenceId, ...extendedSpecifics } = element;
|
|
8
|
+
return Object.fromEntries(
|
|
9
|
+
Object.entries(extendedSpecifics).filter(([, value]) => {
|
|
10
|
+
const t = typeof value;
|
|
11
|
+
return t === "string" || t === "number" || t === "boolean";
|
|
12
|
+
}).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
|
|
13
|
+
);
|
|
18
14
|
};
|
|
19
|
-
function RenderElementFallback({
|
|
20
|
-
element,
|
|
21
|
-
children,
|
|
22
|
-
options
|
|
23
|
-
}) {
|
|
15
|
+
function RenderElementFallback({ element, children, options }) {
|
|
24
16
|
const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
|
|
25
17
|
switch (element.type) {
|
|
26
18
|
case "anchor":
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
-
...attributes,
|
|
29
|
-
href: element.href,
|
|
30
|
-
children
|
|
31
|
-
}, void 0, false, {
|
|
32
|
-
fileName: _jsxFileName,
|
|
33
|
-
lineNumber: 49,
|
|
34
|
-
columnNumber: 5
|
|
35
|
-
}, this);
|
|
19
|
+
return /* @__PURE__ */ jsx("a", { ...attributes, href: element.href, children });
|
|
36
20
|
case "heading":
|
|
37
21
|
return createElement(`h${element.level}`, attributes, children);
|
|
38
22
|
case "horizontalRule":
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
-
...attributes
|
|
41
|
-
}, void 0, false, {
|
|
42
|
-
fileName: _jsxFileName,
|
|
43
|
-
lineNumber: 56,
|
|
44
|
-
columnNumber: 11
|
|
45
|
-
}, this);
|
|
23
|
+
return /* @__PURE__ */ jsx("hr", { ...attributes });
|
|
46
24
|
case "listItem":
|
|
47
|
-
return /* @__PURE__ */
|
|
48
|
-
...attributes,
|
|
49
|
-
children
|
|
50
|
-
}, void 0, false, {
|
|
51
|
-
fileName: _jsxFileName,
|
|
52
|
-
lineNumber: 58,
|
|
53
|
-
columnNumber: 11
|
|
54
|
-
}, this);
|
|
25
|
+
return /* @__PURE__ */ jsx("li", { ...attributes, children });
|
|
55
26
|
case "orderedList":
|
|
56
|
-
return /* @__PURE__ */
|
|
57
|
-
...attributes,
|
|
58
|
-
children
|
|
59
|
-
}, void 0, false, {
|
|
60
|
-
fileName: _jsxFileName,
|
|
61
|
-
lineNumber: 60,
|
|
62
|
-
columnNumber: 11
|
|
63
|
-
}, this);
|
|
27
|
+
return /* @__PURE__ */ jsx("ol", { ...attributes, children });
|
|
64
28
|
case "paragraph":
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
-
...attributes,
|
|
67
|
-
children
|
|
68
|
-
}, void 0, false, {
|
|
69
|
-
fileName: _jsxFileName,
|
|
70
|
-
lineNumber: 62,
|
|
71
|
-
columnNumber: 11
|
|
72
|
-
}, this);
|
|
29
|
+
return /* @__PURE__ */ jsx("p", { ...attributes, children });
|
|
73
30
|
case "reference": {
|
|
74
|
-
return /* @__PURE__ */
|
|
75
|
-
element,
|
|
76
|
-
children
|
|
77
|
-
}, void 0, false, {
|
|
78
|
-
fileName: _jsxFileName,
|
|
79
|
-
lineNumber: 64,
|
|
80
|
-
columnNumber: 11
|
|
81
|
-
}, this);
|
|
31
|
+
return /* @__PURE__ */ jsx(ReferenceElementFallback, { element, children });
|
|
82
32
|
}
|
|
83
33
|
case "scrollTarget":
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
...attributes,
|
|
86
|
-
id: element.identifier,
|
|
87
|
-
children
|
|
88
|
-
}, void 0, false, {
|
|
89
|
-
fileName: _jsxFileName,
|
|
90
|
-
lineNumber: 68,
|
|
91
|
-
columnNumber: 5
|
|
92
|
-
}, this);
|
|
34
|
+
return /* @__PURE__ */ jsx("span", { ...attributes, id: element.identifier, children });
|
|
93
35
|
case "table": {
|
|
94
36
|
const firstRow = element.children[0];
|
|
95
37
|
if (!firstRow || firstRow.headerScope !== "table") {
|
|
96
|
-
return /* @__PURE__ */
|
|
97
|
-
...attributes,
|
|
98
|
-
children: /* @__PURE__ */ jsxDEV("tbody", {
|
|
99
|
-
children
|
|
100
|
-
}, void 0, false, {
|
|
101
|
-
fileName: _jsxFileName,
|
|
102
|
-
lineNumber: 77,
|
|
103
|
-
columnNumber: 7
|
|
104
|
-
}, this)
|
|
105
|
-
}, void 0, false, {
|
|
106
|
-
fileName: _jsxFileName,
|
|
107
|
-
lineNumber: 76,
|
|
108
|
-
columnNumber: 6
|
|
109
|
-
}, this);
|
|
38
|
+
return /* @__PURE__ */ jsx("table", { ...attributes, children: /* @__PURE__ */ jsx("tbody", { children }) });
|
|
110
39
|
}
|
|
111
|
-
return /* @__PURE__ */
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}, void 0, false, {
|
|
116
|
-
fileName: _jsxFileName,
|
|
117
|
-
lineNumber: 83,
|
|
118
|
-
columnNumber: 6
|
|
119
|
-
}, this), /* @__PURE__ */ jsxDEV("tbody", {
|
|
120
|
-
children: renderChildren(element.children.slice(1), options)
|
|
121
|
-
}, void 0, false, {
|
|
122
|
-
fileName: _jsxFileName,
|
|
123
|
-
lineNumber: 84,
|
|
124
|
-
columnNumber: 6
|
|
125
|
-
}, this)]
|
|
126
|
-
}, void 0, true, {
|
|
127
|
-
fileName: _jsxFileName,
|
|
128
|
-
lineNumber: 82,
|
|
129
|
-
columnNumber: 5
|
|
130
|
-
}, this);
|
|
40
|
+
return /* @__PURE__ */ jsxs("table", { ...attributes, children: [
|
|
41
|
+
/* @__PURE__ */ jsx("thead", { children: renderChildren([firstRow], options) }),
|
|
42
|
+
/* @__PURE__ */ jsx("tbody", { children: renderChildren(element.children.slice(1), options) })
|
|
43
|
+
] });
|
|
131
44
|
}
|
|
132
45
|
case "tableRow":
|
|
133
|
-
return /* @__PURE__ */
|
|
134
|
-
...attributes,
|
|
135
|
-
children
|
|
136
|
-
}, void 0, false, {
|
|
137
|
-
fileName: _jsxFileName,
|
|
138
|
-
lineNumber: 89,
|
|
139
|
-
columnNumber: 11
|
|
140
|
-
}, this);
|
|
46
|
+
return /* @__PURE__ */ jsx("tr", { ...attributes, children });
|
|
141
47
|
case "tableCell": {
|
|
142
48
|
if (element.headerScope) {
|
|
143
|
-
return /* @__PURE__ */
|
|
144
|
-
...attributes,
|
|
145
|
-
scope: element.headerScope,
|
|
146
|
-
children
|
|
147
|
-
}, void 0, false, {
|
|
148
|
-
fileName: _jsxFileName,
|
|
149
|
-
lineNumber: 93,
|
|
150
|
-
columnNumber: 6
|
|
151
|
-
}, this);
|
|
49
|
+
return /* @__PURE__ */ jsx("th", { ...attributes, scope: element.headerScope, children });
|
|
152
50
|
}
|
|
153
|
-
return /* @__PURE__ */
|
|
154
|
-
...attributes,
|
|
155
|
-
children
|
|
156
|
-
}, void 0, false, {
|
|
157
|
-
fileName: _jsxFileName,
|
|
158
|
-
lineNumber: 98,
|
|
159
|
-
columnNumber: 11
|
|
160
|
-
}, this);
|
|
51
|
+
return /* @__PURE__ */ jsx("td", { ...attributes, children });
|
|
161
52
|
}
|
|
162
53
|
case "unorderedList":
|
|
163
|
-
return /* @__PURE__ */
|
|
164
|
-
...attributes,
|
|
165
|
-
children
|
|
166
|
-
}, void 0, false, {
|
|
167
|
-
fileName: _jsxFileName,
|
|
168
|
-
lineNumber: 101,
|
|
169
|
-
columnNumber: 11
|
|
170
|
-
}, this);
|
|
54
|
+
return /* @__PURE__ */ jsx("ul", { ...attributes, children });
|
|
171
55
|
default: {
|
|
172
56
|
{
|
|
173
|
-
|
|
57
|
+
return children;
|
|
174
58
|
}
|
|
175
59
|
}
|
|
176
60
|
}
|
|
177
61
|
}
|
|
178
|
-
function ReferenceElementFallback({
|
|
179
|
-
element,
|
|
180
|
-
children
|
|
181
|
-
}) {
|
|
62
|
+
function ReferenceElementFallback({ element, children }) {
|
|
182
63
|
const metadata = useRichTextRenderMetadata();
|
|
183
64
|
const elementMetadata = resolveRichTextElementMetadata(element, metadata);
|
|
184
65
|
if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
|
|
185
66
|
{
|
|
186
|
-
|
|
67
|
+
return children;
|
|
187
68
|
}
|
|
188
69
|
}
|
|
189
|
-
return /* @__PURE__ */
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
})
|
|
198
|
-
}, void 0, false);
|
|
70
|
+
return /* @__PURE__ */ jsx(Fragment, { children: elementMetadata.referenceRenderer?.({
|
|
71
|
+
referenceType: elementMetadata.referenceType,
|
|
72
|
+
referenceRenderer: elementMetadata.referenceRenderer,
|
|
73
|
+
reference: elementMetadata.reference,
|
|
74
|
+
formatVersion: elementMetadata.formatVersion,
|
|
75
|
+
element,
|
|
76
|
+
children
|
|
77
|
+
}) });
|
|
199
78
|
}
|
|
200
79
|
export {
|
|
201
80
|
RenderElementFallback
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderElementFallback.js","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":[
|
|
1
|
+
{"version":3,"file":"RenderElementFallback.js","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":[],"mappings":";;;;;AAkBA,MAAM,2BAA2B,CAIhC,SACA,sBAA8B,iBAG1B;AACJ,QAAM,EAAE,UAAU,aAAa,GAAG,sBAAsB;AAExD,SAAO,OAAO;AAAA,IACb,OAAO,QAAQ,iBAAiB,EAC9B,OAAO,CAAC,CAAG,EAAA,KAAK,MAAM;AACtB,YAAM,IAAI,OAAO;AACjB,aAAO,MAAM,YAAY,MAAM,YAAY,MAAM;AAAA,IACjD,CAAA,EACA,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,QAAQ,sBAAsB,UAAU,YAAY,KAAK,KAAK,CAAC;AAAA,EAAA;AAEhG;AAEO,SAAS,sBAGd,EAAE,SAAS,UAAU,WAAqE;AAC3F,QAAM,aAAa,yBAAyB,SAAS,QAAQ,mBAAmB;AAEhF,UAAQ,QAAQ,MAAM;AAAA,IACrB,KAAK;AACJ,iCACE,KAAG,EAAA,GAAG,YAAY,MAAM,QAAQ,MAC/B,SACF,CAAA;AAAA,IAEF,KAAK;AACJ,aAAO,cAAc,IAAI,QAAQ,SAAS,YAAY,QAAQ;AAAA,IAC/D,KAAK;AACG,aAAA,oBAAC,MAAI,EAAA,GAAG,WAAY,CAAA;AAAA,IAC5B,KAAK;AACJ,aAAQ,oBAAA,MAAA,EAAI,GAAG,YAAa,SAAS,CAAA;AAAA,IACtC,KAAK;AACJ,aAAQ,oBAAA,MAAA,EAAI,GAAG,YAAa,SAAS,CAAA;AAAA,IACtC,KAAK;AACJ,aAAQ,oBAAA,KAAA,EAAG,GAAG,YAAa,SAAS,CAAA;AAAA,IACrC,KAAK,aAAa;AACV,aAAA,oBAAC,0BAAyB,EAAA,SAAkB,SAAoB,CAAA;AAAA,IACxE;AAAA,IACA,KAAK;AACJ,iCACE,QAAM,EAAA,GAAG,YAAY,IAAI,QAAQ,YAChC,SACF,CAAA;AAAA,IAEF,KAAK,SAAS;AACP,YAAA,WAAW,QAAQ,SAAS,CAAC;AACnC,UAAI,CAAC,YAAY,SAAS,gBAAgB,SAAS;AAClD,mCACE,SAAO,EAAA,GAAG,YACV,UAAC,oBAAA,SAAA,EAAO,SAAS,CAAA,EAClB,CAAA;AAAA,MAEF;AAEC,aAAA,qBAAC,SAAO,EAAA,GAAG,YACV,UAAA;AAAA,QAAA,oBAAC,WAAO,UAA6C,eAAA,CAAC,QAAQ,GAAG,OAAO,GAAE;AAAA,QAC1E,oBAAC,WAAO,UAA6C,eAAA,QAAQ,SAAS,MAAM,CAAC,GAAU,OAAO,EAAE,CAAA;AAAA,MACjG,EAAA,CAAA;AAAA,IAEF;AAAA,IACA,KAAK;AACJ,aAAQ,oBAAA,MAAA,EAAI,GAAG,YAAa,SAAS,CAAA;AAAA,IACtC,KAAK,aAAa;AACjB,UAAI,QAAQ,aAAa;AACxB,mCACE,MAAI,EAAA,GAAG,YAAY,OAAO,QAAQ,aACjC,SACF,CAAA;AAAA,MAEF;AACA,aAAQ,oBAAA,MAAA,EAAI,GAAG,YAAa,SAAS,CAAA;AAAA,IACtC;AAAA,IACA,KAAK;AACJ,aAAQ,oBAAA,MAAA,EAAI,GAAG,YAAa,SAAS,CAAA;AAAA,IACtC,SAAS;AAKD;AACC,eAAA;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAEA,SAAS,yBAGP,EAAE,SAAS,YAAyG;AACrH,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAGrG,MAAA,gBAAgB,sBAAsB,UACtC,gBAAgB,kBAAkB,UAClC,gBAAgB,cAAc,QAC7B;AAKM;AACC,aAAA;AAAA,IACR;AAAA,EACD;AAGC,SAAA,oBAAA,UAAA,EACE,0BAAgB,oBAAoB;AAAA,IACpC,eAAe,gBAAgB;AAAA,IAC/B,mBAAmB,gBAAgB;AAAA,IACnC,WAAW,gBAAgB;AAAA,IAC3B,eAAe,gBAAgB;AAAA,IAC/B;AAAA,IACA;AAAA,EACA,CAAA,EACF,CAAA;AAEF;"}
|
|
@@ -1,84 +1,36 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { Fragment as Fragment$1 } from "react";
|
|
2
|
-
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
3
|
-
var _jsxFileName = "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderLeafFallback.tsx";
|
|
4
3
|
function jsxN2br(text) {
|
|
5
4
|
const lines = text.split("\n");
|
|
6
5
|
if (lines.length <= 1) {
|
|
7
6
|
return text;
|
|
8
7
|
}
|
|
9
|
-
return lines.map((line, i) => /* @__PURE__ */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
columnNumber: 12
|
|
14
|
-
}, this), line]
|
|
15
|
-
}, i, true, {
|
|
16
|
-
fileName: _jsxFileName,
|
|
17
|
-
lineNumber: 14,
|
|
18
|
-
columnNumber: 3
|
|
19
|
-
}, this));
|
|
8
|
+
return lines.map((line, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
9
|
+
!!i && /* @__PURE__ */ jsx("br", {}),
|
|
10
|
+
line
|
|
11
|
+
] }, i));
|
|
20
12
|
}
|
|
21
|
-
function RenderLeafFallback({
|
|
22
|
-
leaf
|
|
23
|
-
}) {
|
|
13
|
+
function RenderLeafFallback({ leaf }) {
|
|
24
14
|
let element = jsxN2br(leaf.text);
|
|
25
15
|
if ("isCode" in leaf && leaf.isCode === true) {
|
|
26
|
-
element = /* @__PURE__ */
|
|
27
|
-
children: element
|
|
28
|
-
}, void 0, false, {
|
|
29
|
-
fileName: _jsxFileName,
|
|
30
|
-
lineNumber: 25,
|
|
31
|
-
columnNumber: 13
|
|
32
|
-
}, this);
|
|
16
|
+
element = /* @__PURE__ */ jsx("code", { children: element });
|
|
33
17
|
}
|
|
34
18
|
if ("isStruckThrough" in leaf && leaf.isStruckThrough === true) {
|
|
35
|
-
element = /* @__PURE__ */
|
|
36
|
-
children: element
|
|
37
|
-
}, void 0, false, {
|
|
38
|
-
fileName: _jsxFileName,
|
|
39
|
-
lineNumber: 28,
|
|
40
|
-
columnNumber: 13
|
|
41
|
-
}, this);
|
|
19
|
+
element = /* @__PURE__ */ jsx("s", { children: element });
|
|
42
20
|
}
|
|
43
21
|
if ("isHighlighted" in leaf && leaf.isHighlighted === true) {
|
|
44
|
-
element = /* @__PURE__ */
|
|
45
|
-
children: element
|
|
46
|
-
}, void 0, false, {
|
|
47
|
-
fileName: _jsxFileName,
|
|
48
|
-
lineNumber: 31,
|
|
49
|
-
columnNumber: 13
|
|
50
|
-
}, this);
|
|
22
|
+
element = /* @__PURE__ */ jsx("em", { children: element });
|
|
51
23
|
}
|
|
52
24
|
if ("isUnderlined" in leaf && leaf.isUnderlined === true) {
|
|
53
|
-
element = /* @__PURE__ */
|
|
54
|
-
children: element
|
|
55
|
-
}, void 0, false, {
|
|
56
|
-
fileName: _jsxFileName,
|
|
57
|
-
lineNumber: 34,
|
|
58
|
-
columnNumber: 13
|
|
59
|
-
}, this);
|
|
25
|
+
element = /* @__PURE__ */ jsx("u", { children: element });
|
|
60
26
|
}
|
|
61
27
|
if ("isItalic" in leaf && leaf.isItalic === true) {
|
|
62
|
-
element = /* @__PURE__ */
|
|
63
|
-
children: element
|
|
64
|
-
}, void 0, false, {
|
|
65
|
-
fileName: _jsxFileName,
|
|
66
|
-
lineNumber: 37,
|
|
67
|
-
columnNumber: 13
|
|
68
|
-
}, this);
|
|
28
|
+
element = /* @__PURE__ */ jsx("i", { children: element });
|
|
69
29
|
}
|
|
70
30
|
if ("isBold" in leaf && leaf.isBold === true) {
|
|
71
|
-
element = /* @__PURE__ */
|
|
72
|
-
children: element
|
|
73
|
-
}, void 0, false, {
|
|
74
|
-
fileName: _jsxFileName,
|
|
75
|
-
lineNumber: 40,
|
|
76
|
-
columnNumber: 13
|
|
77
|
-
}, this);
|
|
31
|
+
element = /* @__PURE__ */ jsx("b", { children: element });
|
|
78
32
|
}
|
|
79
|
-
return /* @__PURE__ */
|
|
80
|
-
children: element
|
|
81
|
-
}, void 0, false);
|
|
33
|
+
return /* @__PURE__ */ jsx(Fragment, { children: element });
|
|
82
34
|
}
|
|
83
35
|
export {
|
|
84
36
|
RenderLeafFallback
|