@contember/react-client 1.1.0-rc.1 → 1.1.0-rc.12
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 +23 -42
- package/dist/development/ContemberClient.js.map +1 -1
- package/dist/development/apiRequest/apiRequestReducer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/ElementRenderer.js +4 -13
- package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/LeafRenderer.js +12 -11
- package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js +65 -113
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +26 -38
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js +55 -35
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/renderChildren.js +22 -28
- package/dist/development/components/RichTextRenderer/renderChildren.js.map +1 -1
- package/dist/development/upload/fileUploadReducer.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/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 +42 -32
- 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/upload/fileUploadReducer.js.map +1 -1
- package/dist/types/apiRequest/ApiRequestAction.d.ts +1 -1
- package/dist/types/apiRequest/ApiRequestAction.d.ts.map +1 -1
- package/dist/types/apiRequest/ApiRequestState.d.ts +1 -1
- package/dist/types/apiRequest/ApiRequestState.d.ts.map +1 -1
- package/dist/types/apiRequest/apiRequestReducer.d.ts +1 -1
- package/dist/types/apiRequest/apiRequestReducer.d.ts.map +1 -1
- package/dist/types/apiRequest/useApiRequest.d.ts +1 -1
- package/dist/types/apiRequest/useApiRequest.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts +2 -2
- package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts.map +1 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts +1 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/upload/FileId.d.ts +1 -1
- package/dist/types/upload/FileId.d.ts.map +1 -1
- package/dist/types/upload/FileUploadAction.d.ts +1 -1
- package/dist/types/upload/FileUploadAction.d.ts.map +1 -1
- package/dist/types/upload/FileUploadCompoundState.d.ts +1 -1
- package/dist/types/upload/FileUploadCompoundState.d.ts.map +1 -1
- package/dist/types/upload/FileUploadOperations.d.ts +4 -4
- package/dist/types/upload/FileUploadOperations.d.ts.map +1 -1
- package/dist/types/upload/SingleFileUploadState.d.ts +1 -1
- package/dist/types/upload/SingleFileUploadState.d.ts.map +1 -1
- package/dist/types/upload/useFileUpload.d.ts +1 -1
- package/dist/types/upload/useFileUpload.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/components/RichTextRenderer/RichTextRenderer.tsx +1 -1
- package/LICENSE +0 -186
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { memo, useState, useCallback } from "react";
|
|
2
1
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
+
import { memo, useState, useCallback } from "react";
|
|
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,46 +24,28 @@ const ContemberClient = memo(function ContemberClient2({
|
|
|
25
24
|
}
|
|
26
25
|
setSessionTokenInner(token);
|
|
27
26
|
}, []);
|
|
28
|
-
return /* @__PURE__ */ jsxDEV(ApiBaseUrlContext.Provider, {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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,
|
|
27
|
+
return /* @__PURE__ */ jsxDEV(ApiBaseUrlContext.Provider, { value: apiBaseUrl, children: /* @__PURE__ */ jsxDEV(LoginTokenContext.Provider, { value: loginToken, children: /* @__PURE__ */ jsxDEV(SetSessionTokenContext.Provider, { value: setSessionToken, children: /* @__PURE__ */ jsxDEV(SessionTokenContext.Provider, { value: sessionTokenInner, children: /* @__PURE__ */ jsxDEV(ProjectSlugContext.Provider, { value: project, children: /* @__PURE__ */ jsxDEV(StageSlugContext.Provider, { value: stage, children }, void 0, false, {
|
|
28
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
29
|
+
lineNumber: 41,
|
|
30
|
+
columnNumber: 8
|
|
31
|
+
}, this) }, void 0, false, {
|
|
32
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
33
|
+
lineNumber: 40,
|
|
34
|
+
columnNumber: 7
|
|
35
|
+
}, this) }, void 0, false, {
|
|
36
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
37
|
+
lineNumber: 39,
|
|
38
|
+
columnNumber: 6
|
|
39
|
+
}, this) }, void 0, false, {
|
|
40
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
41
|
+
lineNumber: 38,
|
|
42
|
+
columnNumber: 5
|
|
43
|
+
}, this) }, void 0, false, {
|
|
44
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
45
|
+
lineNumber: 37,
|
|
46
|
+
columnNumber: 4
|
|
47
|
+
}, this) }, void 0, false, {
|
|
48
|
+
fileName: "/__w/interface/interface/packages/react-client/src/ContemberClient.tsx",
|
|
68
49
|
lineNumber: 36,
|
|
69
50
|
columnNumber: 3
|
|
70
51
|
}, this);
|
|
@@ -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,gCACE,kBAAkB,UAAlB,EAA2B,OAAO,YAClC,UAAC,uBAAA,kBAAkB,UAAlB,EAA2B,OAAO,YAClC,UAAA,uBAAC,uBAAuB,UAAvB,EAAgC,OAAO,iBACvC,UAAC,uBAAA,oBAAoB,UAApB,EAA6B,OAAO,mBACpC,UAAA,uBAAC,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,iCAAC,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;"}
|
|
@@ -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,23 +1,14 @@
|
|
|
1
|
+
import { jsxDEV } from "react/jsx-dev-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__ */ jsxDEV(RenderElementFallback, {
|
|
16
|
-
|
|
17
|
-
options,
|
|
18
|
-
children
|
|
19
|
-
}, void 0, false, {
|
|
20
|
-
fileName: _jsxFileName,
|
|
10
|
+
const fallback = /* @__PURE__ */ jsxDEV(RenderElementFallback, { element, options, children }, void 0, false, {
|
|
11
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/ElementRenderer.tsx",
|
|
21
12
|
lineNumber: 56,
|
|
22
13
|
columnNumber: 3
|
|
23
14
|
}, this);
|
|
@@ -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,uBAAC,uBAAsB,EAAA,SAAqC,SAC1D,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAA,IAAA;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,26 @@
|
|
|
1
|
+
import { jsxDEV } from "react/jsx-dev-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__ */ jsxDEV(RenderLeafFallback, {
|
|
12
|
-
|
|
13
|
-
}, void 0, false, {
|
|
14
|
-
fileName: _jsxFileName,
|
|
10
|
+
const fallback = /* @__PURE__ */ jsxDEV(RenderLeafFallback, { leaf }, void 0, false, {
|
|
11
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/LeafRenderer.tsx",
|
|
15
12
|
lineNumber: 26,
|
|
16
13
|
columnNumber: 19
|
|
17
14
|
}, this);
|
|
18
|
-
return renderLeaf ? createElement(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
return renderLeaf ? createElement(
|
|
16
|
+
renderLeaf,
|
|
17
|
+
{
|
|
18
|
+
formatVersion,
|
|
19
|
+
leaf,
|
|
20
|
+
fallback
|
|
21
|
+
},
|
|
22
|
+
leaf.text
|
|
23
|
+
) : fallback;
|
|
23
24
|
}
|
|
24
25
|
export {
|
|
25
26
|
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,uBAAA,oBAAA,EAAmB,QAApB,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgC,GAAA,IAAA;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,153 @@
|
|
|
1
|
+
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
1
2
|
import { createElement } from "react";
|
|
2
3
|
import { renderChildren } from "./renderChildren.js";
|
|
3
4
|
import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
|
|
4
5
|
import { RichTextRendererError } from "./RichTextRendererError.js";
|
|
5
6
|
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
7
|
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]));
|
|
8
|
+
const { children, referenceId, ...extendedSpecifics } = element;
|
|
9
|
+
return Object.fromEntries(
|
|
10
|
+
Object.entries(extendedSpecifics).filter(([, value]) => {
|
|
11
|
+
const t = typeof value;
|
|
12
|
+
return t === "string" || t === "number" || t === "boolean";
|
|
13
|
+
}).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
|
|
14
|
+
);
|
|
18
15
|
};
|
|
19
|
-
function RenderElementFallback({
|
|
20
|
-
element,
|
|
21
|
-
children,
|
|
22
|
-
options
|
|
23
|
-
}) {
|
|
16
|
+
function RenderElementFallback({ element, children, options }) {
|
|
24
17
|
const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
|
|
25
18
|
switch (element.type) {
|
|
26
19
|
case "anchor":
|
|
27
|
-
return /* @__PURE__ */ jsxDEV("a", {
|
|
28
|
-
|
|
29
|
-
href: element.href,
|
|
30
|
-
children
|
|
31
|
-
}, void 0, false, {
|
|
32
|
-
fileName: _jsxFileName,
|
|
20
|
+
return /* @__PURE__ */ jsxDEV("a", { ...attributes, href: element.href, children }, void 0, false, {
|
|
21
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
33
22
|
lineNumber: 49,
|
|
34
23
|
columnNumber: 5
|
|
35
24
|
}, this);
|
|
36
25
|
case "heading":
|
|
37
26
|
return createElement(`h${element.level}`, attributes, children);
|
|
38
27
|
case "horizontalRule":
|
|
39
|
-
return /* @__PURE__ */ jsxDEV("hr", {
|
|
40
|
-
|
|
41
|
-
}, void 0, false, {
|
|
42
|
-
fileName: _jsxFileName,
|
|
28
|
+
return /* @__PURE__ */ jsxDEV("hr", { ...attributes }, void 0, false, {
|
|
29
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
43
30
|
lineNumber: 56,
|
|
44
31
|
columnNumber: 11
|
|
45
32
|
}, this);
|
|
46
33
|
case "listItem":
|
|
47
|
-
return /* @__PURE__ */ jsxDEV("li", {
|
|
48
|
-
|
|
49
|
-
children
|
|
50
|
-
}, void 0, false, {
|
|
51
|
-
fileName: _jsxFileName,
|
|
34
|
+
return /* @__PURE__ */ jsxDEV("li", { ...attributes, children }, void 0, false, {
|
|
35
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
52
36
|
lineNumber: 58,
|
|
53
37
|
columnNumber: 11
|
|
54
38
|
}, this);
|
|
55
39
|
case "orderedList":
|
|
56
|
-
return /* @__PURE__ */ jsxDEV("ol", {
|
|
57
|
-
|
|
58
|
-
children
|
|
59
|
-
}, void 0, false, {
|
|
60
|
-
fileName: _jsxFileName,
|
|
40
|
+
return /* @__PURE__ */ jsxDEV("ol", { ...attributes, children }, void 0, false, {
|
|
41
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
61
42
|
lineNumber: 60,
|
|
62
43
|
columnNumber: 11
|
|
63
44
|
}, this);
|
|
64
45
|
case "paragraph":
|
|
65
|
-
return /* @__PURE__ */ jsxDEV("p", {
|
|
66
|
-
|
|
67
|
-
children
|
|
68
|
-
}, void 0, false, {
|
|
69
|
-
fileName: _jsxFileName,
|
|
46
|
+
return /* @__PURE__ */ jsxDEV("p", { ...attributes, children }, void 0, false, {
|
|
47
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
70
48
|
lineNumber: 62,
|
|
71
49
|
columnNumber: 11
|
|
72
50
|
}, this);
|
|
73
51
|
case "reference": {
|
|
74
|
-
return /* @__PURE__ */ jsxDEV(ReferenceElementFallback, {
|
|
75
|
-
|
|
76
|
-
children
|
|
77
|
-
}, void 0, false, {
|
|
78
|
-
fileName: _jsxFileName,
|
|
52
|
+
return /* @__PURE__ */ jsxDEV(ReferenceElementFallback, { element, children }, void 0, false, {
|
|
53
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
79
54
|
lineNumber: 64,
|
|
80
55
|
columnNumber: 11
|
|
81
56
|
}, this);
|
|
82
57
|
}
|
|
83
58
|
case "scrollTarget":
|
|
84
|
-
return /* @__PURE__ */ jsxDEV("span", {
|
|
85
|
-
|
|
86
|
-
id: element.identifier,
|
|
87
|
-
children
|
|
88
|
-
}, void 0, false, {
|
|
89
|
-
fileName: _jsxFileName,
|
|
59
|
+
return /* @__PURE__ */ jsxDEV("span", { ...attributes, id: element.identifier, children }, void 0, false, {
|
|
60
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
90
61
|
lineNumber: 68,
|
|
91
62
|
columnNumber: 5
|
|
92
63
|
}, this);
|
|
93
64
|
case "table": {
|
|
94
65
|
const firstRow = element.children[0];
|
|
95
66
|
if (!firstRow || firstRow.headerScope !== "table") {
|
|
96
|
-
return /* @__PURE__ */ jsxDEV("table", {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
lineNumber: 77,
|
|
103
|
-
columnNumber: 7
|
|
104
|
-
}, this)
|
|
105
|
-
}, void 0, false, {
|
|
106
|
-
fileName: _jsxFileName,
|
|
67
|
+
return /* @__PURE__ */ jsxDEV("table", { ...attributes, children: /* @__PURE__ */ jsxDEV("tbody", { children }, void 0, false, {
|
|
68
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
69
|
+
lineNumber: 77,
|
|
70
|
+
columnNumber: 7
|
|
71
|
+
}, this) }, void 0, false, {
|
|
72
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
107
73
|
lineNumber: 76,
|
|
108
74
|
columnNumber: 6
|
|
109
75
|
}, this);
|
|
110
76
|
}
|
|
111
|
-
return /* @__PURE__ */ jsxDEV("table", {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
children: renderChildren([firstRow], options)
|
|
115
|
-
}, void 0, false, {
|
|
116
|
-
fileName: _jsxFileName,
|
|
77
|
+
return /* @__PURE__ */ jsxDEV("table", { ...attributes, children: [
|
|
78
|
+
/* @__PURE__ */ jsxDEV("thead", { children: renderChildren([firstRow], options) }, void 0, false, {
|
|
79
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
117
80
|
lineNumber: 83,
|
|
118
81
|
columnNumber: 6
|
|
119
|
-
}, this),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
fileName: _jsxFileName,
|
|
82
|
+
}, this),
|
|
83
|
+
/* @__PURE__ */ jsxDEV("tbody", { children: renderChildren(element.children.slice(1), options) }, void 0, false, {
|
|
84
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
123
85
|
lineNumber: 84,
|
|
124
86
|
columnNumber: 6
|
|
125
|
-
}, this)
|
|
126
|
-
}, void 0, true, {
|
|
127
|
-
fileName:
|
|
87
|
+
}, this)
|
|
88
|
+
] }, void 0, true, {
|
|
89
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
128
90
|
lineNumber: 82,
|
|
129
91
|
columnNumber: 5
|
|
130
92
|
}, this);
|
|
131
93
|
}
|
|
132
94
|
case "tableRow":
|
|
133
|
-
return /* @__PURE__ */ jsxDEV("tr", {
|
|
134
|
-
|
|
135
|
-
children
|
|
136
|
-
}, void 0, false, {
|
|
137
|
-
fileName: _jsxFileName,
|
|
95
|
+
return /* @__PURE__ */ jsxDEV("tr", { ...attributes, children }, void 0, false, {
|
|
96
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
138
97
|
lineNumber: 89,
|
|
139
98
|
columnNumber: 11
|
|
140
99
|
}, this);
|
|
141
100
|
case "tableCell": {
|
|
142
101
|
if (element.headerScope) {
|
|
143
|
-
return /* @__PURE__ */ jsxDEV("th", {
|
|
144
|
-
|
|
145
|
-
scope: element.headerScope,
|
|
146
|
-
children
|
|
147
|
-
}, void 0, false, {
|
|
148
|
-
fileName: _jsxFileName,
|
|
102
|
+
return /* @__PURE__ */ jsxDEV("th", { ...attributes, scope: element.headerScope, children }, void 0, false, {
|
|
103
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
149
104
|
lineNumber: 93,
|
|
150
105
|
columnNumber: 6
|
|
151
106
|
}, this);
|
|
152
107
|
}
|
|
153
|
-
return /* @__PURE__ */ jsxDEV("td", {
|
|
154
|
-
|
|
155
|
-
children
|
|
156
|
-
}, void 0, false, {
|
|
157
|
-
fileName: _jsxFileName,
|
|
108
|
+
return /* @__PURE__ */ jsxDEV("td", { ...attributes, children }, void 0, false, {
|
|
109
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
158
110
|
lineNumber: 98,
|
|
159
111
|
columnNumber: 11
|
|
160
112
|
}, this);
|
|
161
113
|
}
|
|
162
114
|
case "unorderedList":
|
|
163
|
-
return /* @__PURE__ */ jsxDEV("ul", {
|
|
164
|
-
|
|
165
|
-
children
|
|
166
|
-
}, void 0, false, {
|
|
167
|
-
fileName: _jsxFileName,
|
|
115
|
+
return /* @__PURE__ */ jsxDEV("ul", { ...attributes, children }, void 0, false, {
|
|
116
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
168
117
|
lineNumber: 101,
|
|
169
118
|
columnNumber: 11
|
|
170
119
|
}, this);
|
|
171
120
|
default: {
|
|
172
121
|
{
|
|
173
|
-
throw new RichTextRendererError(
|
|
122
|
+
throw new RichTextRendererError(
|
|
123
|
+
`RichTextRenderer: unknown element of type '${element.type}'.`
|
|
124
|
+
);
|
|
174
125
|
}
|
|
175
126
|
}
|
|
176
127
|
}
|
|
177
128
|
}
|
|
178
|
-
function ReferenceElementFallback({
|
|
179
|
-
element,
|
|
180
|
-
children
|
|
181
|
-
}) {
|
|
129
|
+
function ReferenceElementFallback({ element, children }) {
|
|
182
130
|
const metadata = useRichTextRenderMetadata();
|
|
183
131
|
const elementMetadata = resolveRichTextElementMetadata(element, metadata);
|
|
184
132
|
if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
|
|
185
133
|
{
|
|
186
|
-
throw new RichTextRendererError(
|
|
134
|
+
throw new RichTextRendererError(
|
|
135
|
+
`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`
|
|
136
|
+
);
|
|
187
137
|
}
|
|
188
138
|
}
|
|
189
|
-
return /* @__PURE__ */ jsxDEV(Fragment, {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
139
|
+
return /* @__PURE__ */ jsxDEV(Fragment, { children: elementMetadata.referenceRenderer?.({
|
|
140
|
+
referenceType: elementMetadata.referenceType,
|
|
141
|
+
referenceRenderer: elementMetadata.referenceRenderer,
|
|
142
|
+
reference: elementMetadata.reference,
|
|
143
|
+
formatVersion: elementMetadata.formatVersion,
|
|
144
|
+
element,
|
|
145
|
+
children
|
|
146
|
+
}) }, void 0, false, {
|
|
147
|
+
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RenderElementFallback.tsx",
|
|
148
|
+
lineNumber: 136,
|
|
149
|
+
columnNumber: 3
|
|
150
|
+
}, this);
|
|
199
151
|
}
|
|
200
152
|
export {
|
|
201
153
|
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":"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"}
|