@contember/interface 2.1.0-alpha.37 → 2.1.0-alpha.39

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 (100) hide show
  1. package/dist/development/index.cjs +43 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +22 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/bootstrap/ApplicationEntrypoint.cjs +67 -0
  6. package/dist/development/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  7. package/dist/development/src/bootstrap/ApplicationEntrypoint.js +67 -0
  8. package/dist/development/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  9. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.cjs +15 -0
  10. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  11. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.js +15 -0
  12. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  13. package/dist/development/src/components/binding/ClearFieldTrigger.cjs +25 -0
  14. package/dist/development/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  15. package/dist/development/src/components/binding/ClearFieldTrigger.js +25 -0
  16. package/dist/development/src/components/binding/ClearFieldTrigger.js.map +1 -0
  17. package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs +52 -0
  18. package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  19. package/dist/development/src/components/binding/DisconnectEntityTrigger.js +52 -0
  20. package/dist/development/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  21. package/dist/development/src/components/binding/EntityBeforePersist.cjs +9 -0
  22. package/dist/development/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  23. package/dist/development/src/components/binding/EntityBeforePersist.js +9 -0
  24. package/dist/development/src/components/binding/EntityBeforePersist.js.map +1 -0
  25. package/dist/development/src/components/binding/RedirectOnPersist.cjs +16 -0
  26. package/dist/development/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  27. package/dist/development/src/components/binding/RedirectOnPersist.js +16 -0
  28. package/dist/development/src/components/binding/RedirectOnPersist.js.map +1 -0
  29. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
  30. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
  31. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
  32. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
  33. package/dist/development/src/hooks/useIsApplicationOutdated.cjs +55 -0
  34. package/dist/development/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  35. package/dist/development/src/hooks/useIsApplicationOutdated.js +55 -0
  36. package/dist/development/src/hooks/useIsApplicationOutdated.js.map +1 -0
  37. package/dist/production/index.cjs +43 -0
  38. package/dist/production/index.cjs.map +1 -0
  39. package/dist/production/index.js +22 -0
  40. package/dist/production/index.js.map +1 -0
  41. package/dist/production/src/bootstrap/ApplicationEntrypoint.cjs +35 -0
  42. package/dist/production/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  43. package/dist/production/src/bootstrap/ApplicationEntrypoint.js +35 -0
  44. package/dist/production/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  45. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.cjs +11 -0
  46. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  47. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.js +11 -0
  48. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  49. package/dist/production/src/components/binding/ClearFieldTrigger.cjs +17 -0
  50. package/dist/production/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  51. package/dist/production/src/components/binding/ClearFieldTrigger.js +17 -0
  52. package/dist/production/src/components/binding/ClearFieldTrigger.js.map +1 -0
  53. package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs +44 -0
  54. package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  55. package/dist/production/src/components/binding/DisconnectEntityTrigger.js +44 -0
  56. package/dist/production/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  57. package/dist/production/src/components/binding/EntityBeforePersist.cjs +9 -0
  58. package/dist/production/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  59. package/dist/production/src/components/binding/EntityBeforePersist.js +9 -0
  60. package/dist/production/src/components/binding/EntityBeforePersist.js.map +1 -0
  61. package/dist/production/src/components/binding/RedirectOnPersist.cjs +16 -0
  62. package/dist/production/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  63. package/dist/production/src/components/binding/RedirectOnPersist.js +16 -0
  64. package/dist/production/src/components/binding/RedirectOnPersist.js.map +1 -0
  65. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
  66. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
  67. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
  68. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
  69. package/dist/production/src/hooks/useIsApplicationOutdated.cjs +55 -0
  70. package/dist/production/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  71. package/dist/production/src/hooks/useIsApplicationOutdated.js +55 -0
  72. package/dist/production/src/hooks/useIsApplicationOutdated.js.map +1 -0
  73. package/dist/types/bootstrap/ApplicationEntrypoint.d.ts +16 -0
  74. package/dist/types/bootstrap/ApplicationEntrypoint.d.ts.map +1 -0
  75. package/dist/types/bootstrap/DataViewPageNameKeyProvider.d.ts +5 -0
  76. package/dist/types/bootstrap/DataViewPageNameKeyProvider.d.ts.map +1 -0
  77. package/dist/types/bootstrap/index.d.ts +2 -0
  78. package/dist/types/bootstrap/index.d.ts.map +1 -0
  79. package/dist/types/components/binding/ClearFieldTrigger.d.ts +8 -0
  80. package/dist/types/components/binding/ClearFieldTrigger.d.ts.map +1 -0
  81. package/dist/types/components/binding/DisconnectEntityTrigger.d.ts +11 -0
  82. package/dist/types/components/binding/DisconnectEntityTrigger.d.ts.map +1 -0
  83. package/dist/types/components/binding/EntityBeforePersist.d.ts +5 -0
  84. package/dist/types/components/binding/EntityBeforePersist.d.ts.map +1 -0
  85. package/dist/types/components/binding/RedirectOnPersist.d.ts +7 -0
  86. package/dist/types/components/binding/RedirectOnPersist.d.ts.map +1 -0
  87. package/dist/types/components/binding/index.d.ts +5 -0
  88. package/dist/types/components/binding/index.d.ts.map +1 -0
  89. package/dist/types/components/index.d.ts +2 -0
  90. package/dist/types/components/index.d.ts.map +1 -0
  91. package/dist/types/hooks/index.d.ts +3 -0
  92. package/dist/types/hooks/index.d.ts.map +1 -0
  93. package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts +7 -0
  94. package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts.map +1 -0
  95. package/dist/types/hooks/useIsApplicationOutdated.d.ts +4 -0
  96. package/dist/types/hooks/useIsApplicationOutdated.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +8 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/tsconfig.tsbuildinfo +1 -0
  100. package/package.json +13 -13
@@ -0,0 +1,36 @@
1
+ import { useDirtinessState, useMutationState, usePersist } from "@contember/react-binding";
2
+ import { useRef, useCallback } from "react";
3
+ import { useRegisterRequestChangeListener } from "@contember/react-routing";
4
+ const useBlockNavigationOnDirtyState = (handler, options) => {
5
+ const isDirty = useDirtinessState();
6
+ const isDirtyRef = useRef(isDirty);
7
+ isDirtyRef.current = isDirty;
8
+ const isMutating = useMutationState();
9
+ const isMutatingRef = useRef(isMutating);
10
+ isMutatingRef.current = isMutating;
11
+ const persist = usePersist();
12
+ useRegisterRequestChangeListener(useCallback(async (event) => {
13
+ if (!isDirtyRef.current || isMutatingRef.current) {
14
+ return;
15
+ }
16
+ const result = await handler();
17
+ if (result === "cancel") {
18
+ event.abortNavigation();
19
+ return;
20
+ }
21
+ if (result === "save") {
22
+ try {
23
+ const result2 = await persist();
24
+ options?.onPersistSuccess?.(result2);
25
+ } catch (e) {
26
+ options?.onPersistError?.(e);
27
+ event.abortNavigation();
28
+ return;
29
+ }
30
+ }
31
+ }, [handler, options, persist]));
32
+ };
33
+ export {
34
+ useBlockNavigationOnDirtyState
35
+ };
36
+ //# sourceMappingURL=useBlockNavigationOnDirtyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlockNavigationOnDirtyState.js","sources":["../../../../../packages/interface/src/hooks/useBlockNavigationOnDirtyState.ts"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { useCallback, useRef } from 'react'\nimport { useRegisterRequestChangeListener } from '@contember/react-routing'\n\nexport type BlockNavigationOnDirtyStateResult = 'save' | 'discard' | 'cancel'\n\nexport const useBlockNavigationOnDirtyState = (handler: () => Promise<BlockNavigationOnDirtyStateResult>, options?: {\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}) => {\n\tconst isDirty = useDirtinessState()\n\tconst isDirtyRef = useRef(isDirty)\n\tisDirtyRef.current = isDirty\n\tconst isMutating = useMutationState()\n\tconst isMutatingRef = useRef(isMutating)\n\tisMutatingRef.current = isMutating\n\tconst persist = usePersist()\n\n\tuseRegisterRequestChangeListener(useCallback(async event => {\n\t\tif (!isDirtyRef.current || isMutatingRef.current) {\n\t\t\treturn\n\t\t}\n\t\tconst result = await handler()\n\t\tif (result === 'cancel') {\n\t\t\tevent.abortNavigation()\n\t\t\treturn\n\t\t}\n\n\t\tif (result === 'save') {\n\t\t\ttry {\n\t\t\t\tconst result = await persist()\n\t\t\t\toptions?.onPersistSuccess?.(result)\n\t\t\t} catch (e: any) {\n\t\t\t\toptions?.onPersistError?.(e)\n\t\t\t\tevent.abortNavigation()\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}, [handler, options, persist]))\n}\n"],"names":["result"],"mappings":";;;AAMO,MAAM,iCAAiC,CAAC,SAA2D,YAGpG;AACL,QAAM,UAAU,kBAAA;AAChB,QAAM,aAAa,OAAO,OAAO;AACjC,aAAW,UAAU;AACrB,QAAM,aAAa,iBAAA;AACnB,QAAM,gBAAgB,OAAO,UAAU;AACvC,gBAAc,UAAU;AACxB,QAAM,UAAU,WAAA;AAEhB,mCAAiC,YAAY,OAAM,UAAS;AAC3D,QAAI,CAAC,WAAW,WAAW,cAAc,SAAS;AACjD;AAAA,IACD;AACA,UAAM,SAAS,MAAM,QAAA;AACrB,QAAI,WAAW,UAAU;AACxB,YAAM,gBAAA;AACN;AAAA,IACD;AAEA,QAAI,WAAW,QAAQ;AACtB,UAAI;AACH,cAAMA,UAAS,MAAM,QAAA;AACrB,iBAAS,mBAAmBA,OAAM;AAAA,MACnC,SAAS,GAAQ;AAChB,iBAAS,iBAAiB,CAAC;AAC3B,cAAM,gBAAA;AACN;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,OAAO,CAAC,CAAC;AAChC;"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const defaultCheckIntervalMs = 3e4;
5
+ const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs } = {}) => {
6
+ const [initialVersion] = React.useState(() => {
7
+ return getVersionFromDocument(document.head);
8
+ });
9
+ const [isOutdated, setIsOutdated] = React.useState(false);
10
+ const fetchVersion = useFetchVersion();
11
+ const checkVersion = React.useCallback(async () => {
12
+ if (document.hidden) {
13
+ return;
14
+ }
15
+ const version = await fetchVersion();
16
+ if (version && version !== initialVersion) {
17
+ setIsOutdated(true);
18
+ }
19
+ }, [fetchVersion, initialVersion]);
20
+ const shouldCheck = !!initialVersion && !isOutdated;
21
+ React.useEffect(() => {
22
+ if (!shouldCheck) {
23
+ return;
24
+ }
25
+ const handle = setInterval(checkVersion, checkIntervalMs);
26
+ return () => clearInterval(handle);
27
+ }, [checkIntervalMs, checkVersion, shouldCheck]);
28
+ React.useEffect(() => {
29
+ if (!shouldCheck) {
30
+ return;
31
+ }
32
+ document.addEventListener("visibilitychange", checkVersion);
33
+ return () => document.removeEventListener("visibilitychange", checkVersion);
34
+ }, [checkVersion, shouldCheck]);
35
+ return isOutdated;
36
+ };
37
+ const getVersionFromDocument = (node) => {
38
+ const meta = node.querySelector("meta[name=contember-build-version]");
39
+ return meta?.content;
40
+ };
41
+ const useFetchVersion = () => {
42
+ return React.useCallback(async () => {
43
+ try {
44
+ const result = await (await fetch(window.location.href)).text();
45
+ const html = document.createElement("html");
46
+ html.innerHTML = result;
47
+ return getVersionFromDocument(html);
48
+ } catch (e) {
49
+ console.error(e);
50
+ return void 0;
51
+ }
52
+ }, []);
53
+ };
54
+ exports.useIsApplicationOutdated = useIsApplicationOutdated;
55
+ //# sourceMappingURL=useIsApplicationOutdated.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsApplicationOutdated.cjs","sources":["../../../../../packages/interface/src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version && version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":["useState","useCallback","useEffect"],"mappings":";;;AAEA,MAAM,yBAAyB;AAExB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAA,IAEzD,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAIA,MAAAA,SAAS,MAAM;AACvC,WAAO,uBAAuB,SAAS,IAAI;AAAA,EAC5C,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,KAAK;AAClD,QAAM,eAAe,gBAAA;AAErB,QAAM,eAAeC,MAAAA,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACA,UAAM,UAAU,MAAM,aAAA;AACtB,QAAI,WAAW,YAAY,gBAAgB;AAC1C,oBAAc,IAAI;AAAA,IACnB;AAAA,EACD,GAAG,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzCC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACA,UAAM,SAAS,YAAY,cAAc,eAAe;AACxD,WAAO,MAAM,cAAc,MAAM;AAAA,EAClC,GAAG,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/CA,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACA,aAAS,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAC3E,GAAG,CAAC,cAAc,WAAW,CAAC;AAE9B,SAAO;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AACpD,QAAM,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAOD,MAAAA,YAAY,YAAY;AAC9B,QAAI;AACH,YAAM,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG,KAAA;AACzD,YAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,IACnC,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO;AAAA,IACR;AAAA,EACD,GAAG,CAAA,CAAE;AACN;;"}
@@ -0,0 +1,55 @@
1
+ import { useState, useCallback, useEffect } from "react";
2
+ const defaultCheckIntervalMs = 3e4;
3
+ const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs } = {}) => {
4
+ const [initialVersion] = useState(() => {
5
+ return getVersionFromDocument(document.head);
6
+ });
7
+ const [isOutdated, setIsOutdated] = useState(false);
8
+ const fetchVersion = useFetchVersion();
9
+ const checkVersion = useCallback(async () => {
10
+ if (document.hidden) {
11
+ return;
12
+ }
13
+ const version = await fetchVersion();
14
+ if (version && version !== initialVersion) {
15
+ setIsOutdated(true);
16
+ }
17
+ }, [fetchVersion, initialVersion]);
18
+ const shouldCheck = !!initialVersion && !isOutdated;
19
+ useEffect(() => {
20
+ if (!shouldCheck) {
21
+ return;
22
+ }
23
+ const handle = setInterval(checkVersion, checkIntervalMs);
24
+ return () => clearInterval(handle);
25
+ }, [checkIntervalMs, checkVersion, shouldCheck]);
26
+ useEffect(() => {
27
+ if (!shouldCheck) {
28
+ return;
29
+ }
30
+ document.addEventListener("visibilitychange", checkVersion);
31
+ return () => document.removeEventListener("visibilitychange", checkVersion);
32
+ }, [checkVersion, shouldCheck]);
33
+ return isOutdated;
34
+ };
35
+ const getVersionFromDocument = (node) => {
36
+ const meta = node.querySelector("meta[name=contember-build-version]");
37
+ return meta?.content;
38
+ };
39
+ const useFetchVersion = () => {
40
+ return useCallback(async () => {
41
+ try {
42
+ const result = await (await fetch(window.location.href)).text();
43
+ const html = document.createElement("html");
44
+ html.innerHTML = result;
45
+ return getVersionFromDocument(html);
46
+ } catch (e) {
47
+ console.error(e);
48
+ return void 0;
49
+ }
50
+ }, []);
51
+ };
52
+ export {
53
+ useIsApplicationOutdated
54
+ };
55
+ //# sourceMappingURL=useIsApplicationOutdated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsApplicationOutdated.js","sources":["../../../../../packages/interface/src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version && version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":[],"mappings":";AAEA,MAAM,yBAAyB;AAExB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAA,IAEzD,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAI,SAAS,MAAM;AACvC,WAAO,uBAAuB,SAAS,IAAI;AAAA,EAC5C,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,eAAe,gBAAA;AAErB,QAAM,eAAe,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACA,UAAM,UAAU,MAAM,aAAA;AACtB,QAAI,WAAW,YAAY,gBAAgB;AAC1C,oBAAc,IAAI;AAAA,IACnB;AAAA,EACD,GAAG,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzC,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACA,UAAM,SAAS,YAAY,cAAc,eAAe;AACxD,WAAO,MAAM,cAAc,MAAM;AAAA,EAClC,GAAG,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/C,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACA,aAAS,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAC3E,GAAG,CAAC,cAAc,WAAW,CAAC;AAE9B,SAAO;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AACpD,QAAM,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAO,YAAY,YAAY;AAC9B,QAAI;AACH,YAAM,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG,KAAA;AACzD,YAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,IACnC,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO;AAAA,IACR;AAAA,EACD,GAAG,CAAA,CAAE;AACN;"}
@@ -0,0 +1,16 @@
1
+ import { Environment } from '@contember/react-binding';
2
+ import { ContemberClientProps } from '@contember/react-client';
3
+ import { ReactNode } from 'react';
4
+ import { RouteMap } from '@contember/react-routing';
5
+ export interface ApplicationEntrypointProps extends ContemberClientProps {
6
+ basePath: string;
7
+ sessionToken?: string;
8
+ routes?: RouteMap;
9
+ children: ReactNode;
10
+ environment?: Environment;
11
+ }
12
+ /**
13
+ * @group Entrypoints
14
+ */
15
+ export declare const ApplicationEntrypoint: (props: ApplicationEntrypointProps) => import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=ApplicationEntrypoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/ApplicationEntrypoint.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoD,MAAM,0BAA0B,CAAA;AACxG,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAwC,MAAM,0BAA0B,CAAA;AAIzF,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACvE,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,WAAW,CAAA;CACzB;AAQD;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,4CAkCtE,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const DataViewPageNameKeyProvider: ({ children }: {
3
+ children: ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=DataViewPageNameKeyProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViewPageNameKeyProvider.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/DataViewPageNameKeyProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,eAAO,MAAM,2BAA2B,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAQhF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ApplicationEntrypoint';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { SugaredRelativeSingleField } from '@contember/react-binding';
3
+ export interface ClearFieldTriggerProps {
4
+ field: SugaredRelativeSingleField['field'];
5
+ children: ReactNode;
6
+ }
7
+ export declare const ClearFieldTrigger: import("react").NamedExoticComponent<ClearFieldTriggerProps>;
8
+ //# sourceMappingURL=ClearFieldTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFieldTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/ClearFieldTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,OAAO,CAAA;AAE9C,OAAO,EAAoB,0BAA0B,EAAY,MAAM,0BAA0B,CAAA;AAEjG,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACnB;AAED,eAAO,MAAM,iBAAiB,8DAQ5B,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { ErrorPersistResult, SuccessfulPersistResult, SugaredRelativeSingleEntity } from '@contember/react-binding';
3
+ export interface DisconnectEntityTriggerProps {
4
+ immediatePersist?: true;
5
+ children: ReactNode;
6
+ onPersistSuccess?: (result: SuccessfulPersistResult) => void;
7
+ onPersistError?: (result: ErrorPersistResult) => void;
8
+ field?: SugaredRelativeSingleEntity['field'];
9
+ }
10
+ export declare const DisconnectEntityTrigger: ({ immediatePersist, onPersistError, onPersistSuccess, field, ...props }: DisconnectEntityTriggerProps) => import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=DisconnectEntityTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisconnectEntityTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/DisconnectEntityTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAe,MAAM,OAAO,CAAA;AAE7D,OAAO,EAGN,kBAAkB,EAElB,uBAAuB,EACvB,2BAA2B,EAI3B,MAAM,0BAA0B,CAAA;AAIjC,MAAM,WAAW,4BAA4B;IAC5C,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,EAAE,SAAS,CAAA;IACnB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACrD,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAA;CAC5C;AAED,eAAO,MAAM,uBAAuB,GAAI,yEAAyE,4BAA4B,4CAqC5I,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { EntityAccessor } from '@contember/react-binding';
2
+ export declare const EntityBeforePersist: ({ listener }: {
3
+ listener: EntityAccessor.EntityEventListenerMap["beforePersist"];
4
+ }) => null;
5
+ //# sourceMappingURL=EntityBeforePersist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityBeforePersist.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/EntityBeforePersist.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,0BAA0B,CAAA;AAEjF,eAAO,MAAM,mBAAmB,GAAI,cAAc;IAAE,QAAQ,EAAE,cAAc,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAA;CAAE,SAGrH,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { RequestParameters } from '@contember/react-routing';
2
+ import { RoutingLinkTarget } from '@contember/react-routing';
3
+ export declare const RedirectOnPersist: ({ to, parameters }: {
4
+ to: RoutingLinkTarget;
5
+ parameters?: RequestParameters;
6
+ }) => null;
7
+ //# sourceMappingURL=RedirectOnPersist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedirectOnPersist.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/RedirectOnPersist.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,eAAO,MAAM,iBAAiB,GAAI,oBAAoB;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAE,SAS9G,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './ClearFieldTrigger';
2
+ export * from './DisconnectEntityTrigger';
3
+ export * from './EntityBeforePersist';
4
+ export * from './RedirectOnPersist';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/binding/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './binding';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './useIsApplicationOutdated';
2
+ export * from './useBlockNavigationOnDirtyState';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ErrorPersistResult, SuccessfulPersistResult } from '@contember/react-binding';
2
+ export type BlockNavigationOnDirtyStateResult = 'save' | 'discard' | 'cancel';
3
+ export declare const useBlockNavigationOnDirtyState: (handler: () => Promise<BlockNavigationOnDirtyStateResult>, options?: {
4
+ onPersistSuccess?: (result: SuccessfulPersistResult) => void;
5
+ onPersistError?: (result: ErrorPersistResult) => void;
6
+ }) => void;
7
+ //# sourceMappingURL=useBlockNavigationOnDirtyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlockNavigationOnDirtyState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBlockNavigationOnDirtyState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAmD,MAAM,0BAA0B,CAAA;AAIvI,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7E,eAAO,MAAM,8BAA8B,GAAI,SAAS,MAAM,OAAO,CAAC,iCAAiC,CAAC,EAAE,UAAU;IACnH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACrD,SA8BA,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const useIsApplicationOutdated: ({ checkIntervalMs }?: {
2
+ checkIntervalMs?: number;
3
+ }) => boolean;
4
+ //# sourceMappingURL=useIsApplicationOutdated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsApplicationOutdated.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsApplicationOutdated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,GAAI,sBAA8C;IACtF,eAAe,CAAC,EAAE,MAAM,CAAA;CACnB,YAmCL,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * from './bootstrap';
2
+ export * from './components';
3
+ export * from './hooks';
4
+ export * from '@contember/react-routing';
5
+ export * from '@contember/react-binding';
6
+ export * from '@contember/react-identity';
7
+ export { createErrorHandler } from '@contember/react-devbar';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}