@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.
Files changed (81) hide show
  1. package/dist/development/ContemberClient.js +2 -45
  2. package/dist/development/ContemberClient.js.map +1 -1
  3. package/dist/development/apiRequest/apiRequestReducer.js.map +1 -1
  4. package/dist/development/apiRequest/useApiRequest.js +1 -0
  5. package/dist/development/apiRequest/useApiRequest.js.map +1 -1
  6. package/dist/development/components/RichTextRenderer/ElementRenderer.js +3 -16
  7. package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +1 -1
  8. package/dist/development/components/RichTextRenderer/LeafRenderer.js +11 -14
  9. package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +1 -1
  10. package/dist/development/components/RichTextRenderer/RenderElementFallback.js +36 -157
  11. package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
  12. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +13 -61
  13. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
  14. package/dist/development/components/RichTextRenderer/RichTextRenderer.js +41 -36
  15. package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
  16. package/dist/development/components/RichTextRenderer/renderChildren.js +10 -28
  17. package/dist/development/components/RichTextRenderer/renderChildren.js.map +1 -1
  18. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
  19. package/dist/development/upload/fileUploadReducer.js +32 -45
  20. package/dist/development/upload/fileUploadReducer.js.map +1 -1
  21. package/dist/development/upload/toFileId.js.map +1 -1
  22. package/dist/development/upload/useFileUpload.js +24 -64
  23. package/dist/development/upload/useFileUpload.js.map +1 -1
  24. package/dist/production/ContemberClient.js +2 -20
  25. package/dist/production/ContemberClient.js.map +1 -1
  26. package/dist/production/apiRequest/apiRequestReducer.js.map +1 -1
  27. package/dist/production/apiRequest/useApiRequest.js +1 -0
  28. package/dist/production/apiRequest/useApiRequest.js.map +1 -1
  29. package/dist/production/components/RichTextRenderer/ElementRenderer.js +3 -11
  30. package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +1 -1
  31. package/dist/production/components/RichTextRenderer/LeafRenderer.js +11 -9
  32. package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +1 -1
  33. package/dist/production/components/RichTextRenderer/RenderElementFallback.js +34 -89
  34. package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
  35. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +13 -28
  36. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
  37. package/dist/production/components/RichTextRenderer/RichTextRenderer.js +41 -31
  38. package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
  39. package/dist/production/components/RichTextRenderer/renderChildren.js +10 -19
  40. package/dist/production/components/RichTextRenderer/renderChildren.js.map +1 -1
  41. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
  42. package/dist/production/upload/fileUploadReducer.js +32 -45
  43. package/dist/production/upload/fileUploadReducer.js.map +1 -1
  44. package/dist/production/upload/toFileId.js.map +1 -1
  45. package/dist/production/upload/useFileUpload.js +24 -64
  46. package/dist/production/upload/useFileUpload.js.map +1 -1
  47. package/dist/types/ContemberClient.d.ts +0 -1
  48. package/dist/types/ContemberClient.d.ts.map +1 -1
  49. package/dist/types/auth/SessionTokenContext.d.ts +0 -1
  50. package/dist/types/auth/SessionTokenContext.d.ts.map +1 -1
  51. package/dist/types/auth/SetSessionTokenContext.d.ts +0 -1
  52. package/dist/types/auth/SetSessionTokenContext.d.ts.map +1 -1
  53. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts +0 -1
  54. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts.map +1 -1
  55. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts +0 -1
  56. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts.map +1 -1
  57. package/dist/types/config/ApiBaseUrlContext.d.ts +0 -1
  58. package/dist/types/config/ApiBaseUrlContext.d.ts.map +1 -1
  59. package/dist/types/config/LoginTokenContext.d.ts +0 -1
  60. package/dist/types/config/LoginTokenContext.d.ts.map +1 -1
  61. package/dist/types/project/ProjectSlugContext.d.ts +0 -1
  62. package/dist/types/project/ProjectSlugContext.d.ts.map +1 -1
  63. package/dist/types/project/StageSlugContext.d.ts +0 -1
  64. package/dist/types/project/StageSlugContext.d.ts.map +1 -1
  65. package/dist/types/tsconfig.tsbuildinfo +1 -1
  66. package/dist/types/upload/FileUploadAction.d.ts +0 -2
  67. package/dist/types/upload/FileUploadAction.d.ts.map +1 -1
  68. package/dist/types/upload/FileUploadMultiTemporalState.d.ts +1 -4
  69. package/dist/types/upload/FileUploadMultiTemporalState.d.ts.map +1 -1
  70. package/dist/types/upload/fileUploadReducer.d.ts.map +1 -1
  71. package/dist/types/upload/toFileId.d.ts.map +1 -1
  72. package/dist/types/upload/useFileUpload.d.ts +1 -2
  73. package/dist/types/upload/useFileUpload.d.ts.map +1 -1
  74. package/package.json +9 -9
  75. package/src/upload/FileUploadAction.ts +0 -3
  76. package/src/upload/FileUploadMultiTemporalState.ts +1 -4
  77. package/src/upload/fileUploadReducer.ts +33 -53
  78. package/src/upload/toFileId.ts +1 -1
  79. package/src/upload/useFileUpload.ts +23 -67
  80. package/LICENSE +0 -186
  81. 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__ */ jsxDEV(ApiBaseUrlContext.Provider, {
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":["sessionTokenKey","ContemberClient","memo","apiBaseUrl","children","loginToken","project","sessionToken","stage","sessionTokenInner","setSessionTokenInner","useState","localStorage","getItem","undefined","setSessionToken","useCallback","token","setItem","removeItem","_jsxDEV"],"mappings":";;;;;;;;;AAaA,MAAMA,kBAAkB;AAEXC,MAAAA,kBAAkBC,KAA2D,SAASD,iBAAgB;AAAA,EAClHE;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACD,GAAG;AACI,QAAA,CAACC,mBAAmBC,oBAAoB,IAAIC,SAAS,MAAMC,aAAaC,QAAQb,eAAe,KAAKO,gBAAiBO,MAAS;AAE9HC,QAAAA,kBAAkBC,YAAY,CAACC,UAA8B;AAClE,QAAIA,UAAUH,QAAW;AACXI,mBAAAA,QAAQlB,iBAAiBiB,KAAK;AAAA,IAAA,OACrC;AACNL,mBAAaO,WAAWnB,eAAe;AAAA,IACxC;AACAU,yBAAqBO,KAAK;AAAA,EAC3B,GAAG,CAAE,CAAA;AAGJ,SAAAG,uBAAC,kBAAkB,UAAQ;AAAA,IAAC,OAAOjB;AAAAA,IAAW,UAC5CiB,uBAAA,kBAAkB,UAAQ;AAAA,MAAC,OAAOf;AAAAA,MAAW,UAC5Ce,uBAAA,uBAAuB,UAAQ;AAAA,QAAC,OAAOL;AAAAA,QAAgB,UACtDK,uBAAA,oBAAoB,UAAQ;AAAA,UAAC,OAAOX;AAAAA,UAAkB,UACrDW,uBAAA,mBAAmB,UAAQ;AAAA,YAAC,OAAOd;AAAAA,YAAQ,UAC1Cc,uBAAA,iBAAiB,UAAQ;AAAA,cAAC,OAAOZ;AAAAA,cAAM;AAAA,YAAA,GAAU,QAAA,OAAA;AAAA,cAAA,UAAA;AAAA,cAAA,YAAA;AAAA,cAAA,cAAA;AAAA,eAAA,IAAA;AAAA,UAAA,GAA6B,QAAA,OAAA;AAAA,YAAA,UAAA;AAAA,YAAA,YAAA;AAAA,YAAA,cAAA;AAAA,aAAA,IAAA;AAAA,QAAA,GAClD,QAAA,OAAA;AAAA,UAAA,UAAA;AAAA,UAAA,YAAA;AAAA,UAAA,cAAA;AAAA,WAAA,IAAA;AAAA,MAAA,GACA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,SAAA,IAAA;AAAA,IAAA,GACE,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,OAAA,IAAA;AAAA,EAAA,GACN,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,KACD,IAAA;AAE/B,CAAC;"}
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,SACT;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,SAER;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,SAER;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,MAAM,OAAO;AAAA,QACb,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,SAER;AACG,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,MAAM,OAAO;AAAA,QACb,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA;AAGf;"}
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;"}
@@ -40,6 +40,7 @@ const useApiRequest = (client) => {
40
40
  isUnmountedRef.current = true;
41
41
  },
42
42
  []
43
+ // This empty array is crucial! Otherwise it will first "unmount" before second render no matter what.
43
44
  );
44
45
  return [state, sendRequest];
45
46
  };
@@ -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
- import { jsxDEV } from "react/jsx-dev-runtime";
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
- 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":["ElementRenderer","element","children","options","metadata","useRichTextRenderMetadata","elementMetadata","resolveRichTextElementMetadata","fallback","renderElement","createElement","renderChildren","renderChildrenOptions"],"mappings":";;;;;;;AA+CO,SAASA,gBAGd;AAAA,EAAEC;AAAAA,EAASC;AAAAA,EAAUC;AAA4D,GAAG;AACrF,QAAMC,WAAWC;AACXC,QAAAA,kBAAkBC,+BAA6DN,SAASG,QAAQ;AAEhGI,QAAAA,kCACJ,uBAAqB;AAAA,IAAC;AAAA,IAAqC;AAAA,IAAiB;AAAA,EAAA,GACnE,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,KAEV,IAAA;AAED,SAAOL,QAAQM,gBACZC,cAAcP,QAAQM,eAAe;AAAA,IACrC,GAAGH;AAAAA,IACHL;AAAAA,IACAO;AAAAA,IACAN;AAAAA,IACAS;AAAAA,IACAC,uBAAuBT;AAAAA,EACtB,CAAA,IACDK;AACJ;"}
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__ */ jsxDEV(RenderLeafFallback, {
12
- leaf
13
- }, void 0, false, {
14
- fileName: _jsxFileName,
15
- lineNumber: 26,
16
- columnNumber: 19
17
- }, this);
18
- return renderLeaf ? createElement(renderLeaf, {
19
- formatVersion,
20
- leaf,
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":["LeafRenderer","leaf","renderLeaf","formatVersion","useRichTextRenderMetadata","fallback","createElement","text"],"mappings":";;;;;AAoBO,SAASA,aAAwD;AAAA,EACvEC;AAAAA,EACAC;AACgC,GAAG;AAC7BC,QAAAA,gBAAgBC,0BAA4BD,EAAAA;AAC5CE,QAAAA,kCAAY,oBAAkB;AAAA,IAAC;AAAA,EAAA,GAAW,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,KAAG,IAAA;AAE5CH,SAAAA,aACJI,cACAJ,YACA;AAAA,IACCC;AAAAA,IACAF;AAAAA,IACAI;AAAAA,EAAAA,GAEDJ,KAAKM,IAAI,IAETF;AACJ;"}
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
- children,
11
- referenceId,
12
- ...extendedSpecifics
13
- } = element;
14
- return Object.fromEntries(Object.entries(extendedSpecifics).filter(([, value]) => {
15
- const t = typeof value;
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__ */ jsxDEV("a", {
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__ */ jsxDEV("hr", {
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__ */ jsxDEV("li", {
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__ */ jsxDEV("ol", {
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__ */ jsxDEV("p", {
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__ */ jsxDEV(ReferenceElementFallback, {
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__ */ jsxDEV("span", {
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__ */ jsxDEV("table", {
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__ */ jsxDEV("table", {
112
- ...attributes,
113
- children: [/* @__PURE__ */ jsxDEV("thead", {
114
- children: renderChildren([firstRow], options)
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__ */ jsxDEV("tr", {
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__ */ jsxDEV("th", {
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__ */ jsxDEV("td", {
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__ */ jsxDEV("ul", {
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
- throw new RichTextRendererError(`RichTextRenderer: unknown element of type '${element.type}'.`);
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
- throw new RichTextRendererError(`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`);
67
+ return children;
187
68
  }
188
69
  }
189
- return /* @__PURE__ */ jsxDEV(Fragment, {
190
- children: elementMetadata.referenceRenderer?.({
191
- referenceType: elementMetadata.referenceType,
192
- referenceRenderer: elementMetadata.referenceRenderer,
193
- reference: elementMetadata.reference,
194
- formatVersion: elementMetadata.formatVersion,
195
- element,
196
- children
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":["getElementDataAttributes","element","attributeNamePrefix","children","referenceId","extendedSpecifics","Object","fromEntries","entries","filter","value","t","map","attribute","toLowerCase","RenderElementFallback","options","attributes","type","href","createElement","level","identifier","firstRow","headerScope","_jsxDEV","renderChildren","slice","RichTextRendererError","ReferenceElementFallback","metadata","useRichTextRenderMetadata","elementMetadata","resolveRichTextElementMetadata","referenceRenderer","undefined","referenceType","reference","_Fragment","formatVersion"],"mappings":"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"}
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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"}
@@ -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__ */ jsxDEV(Fragment$1, {
10
- children: [!!i && /* @__PURE__ */ jsxDEV("br", {}, void 0, false, {
11
- fileName: _jsxFileName,
12
- lineNumber: 15,
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__ */ jsxDEV("code", {
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__ */ jsxDEV("s", {
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__ */ jsxDEV("em", {
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__ */ jsxDEV("u", {
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__ */ jsxDEV("i", {
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__ */ jsxDEV("b", {
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__ */ jsxDEV(Fragment, {
80
- children: element
81
- }, void 0, false);
33
+ return /* @__PURE__ */ jsx(Fragment, { children: element });
82
34
  }
83
35
  export {
84
36
  RenderLeafFallback