@contember/interface 2.0.0-alpha.4 → 2.0.0-alpha.40

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 (147) hide show
  1. package/api-extractor.json +3 -0
  2. package/dist/development/index.cjs +20 -25
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +8 -10
  5. package/dist/development/index.js.map +1 -1
  6. package/dist/development/{bootstrap → src/bootstrap}/ApplicationEntrypoint.cjs +7 -7
  7. package/dist/development/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  8. package/dist/development/{bootstrap → src/bootstrap}/ApplicationEntrypoint.js +7 -7
  9. package/dist/development/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  10. package/dist/development/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.cjs +1 -1
  11. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  12. package/dist/development/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.js +1 -1
  13. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  14. package/dist/development/{components → src/components}/binding/ClearFieldTrigger.cjs +4 -4
  15. package/dist/development/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  16. package/dist/development/{components → src/components}/binding/ClearFieldTrigger.js +2 -2
  17. package/dist/development/src/components/binding/ClearFieldTrigger.js.map +1 -0
  18. package/dist/development/{components → src/components}/binding/DisconnectEntityTrigger.cjs +5 -5
  19. package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  20. package/dist/development/{components → src/components}/binding/DisconnectEntityTrigger.js +4 -4
  21. package/dist/development/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  22. package/dist/development/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  23. package/dist/development/src/components/binding/EntityBeforePersist.js.map +1 -0
  24. package/dist/{production → development/src}/components/binding/RedirectOnPersist.cjs +2 -2
  25. package/dist/development/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  26. package/dist/development/{components → src/components}/binding/RedirectOnPersist.js +2 -2
  27. package/dist/development/src/components/binding/RedirectOnPersist.js.map +1 -0
  28. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
  29. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
  30. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
  31. package/dist/development/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
  32. package/dist/development/{hooks → src/hooks}/useIsApplicationOutdated.cjs +8 -8
  33. package/dist/development/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  34. package/dist/development/{hooks → src/hooks}/useIsApplicationOutdated.js +1 -1
  35. package/dist/development/src/hooks/useIsApplicationOutdated.js.map +1 -0
  36. package/dist/production/index.cjs +20 -25
  37. package/dist/production/index.cjs.map +1 -1
  38. package/dist/production/index.js +8 -10
  39. package/dist/production/index.js.map +1 -1
  40. package/dist/production/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  41. package/dist/production/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  42. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  43. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  44. package/dist/production/{components → src/components}/binding/ClearFieldTrigger.cjs +2 -2
  45. package/dist/production/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  46. package/dist/production/src/components/binding/ClearFieldTrigger.js.map +1 -0
  47. package/dist/production/{components → src/components}/binding/DisconnectEntityTrigger.cjs +3 -3
  48. package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  49. package/dist/production/{components → src/components}/binding/DisconnectEntityTrigger.js +2 -2
  50. package/dist/production/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  51. package/dist/production/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  52. package/dist/production/src/components/binding/EntityBeforePersist.js.map +1 -0
  53. package/dist/{development → production/src}/components/binding/RedirectOnPersist.cjs +2 -2
  54. package/dist/production/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  55. package/dist/production/{components → src/components}/binding/RedirectOnPersist.js +2 -2
  56. package/dist/production/src/components/binding/RedirectOnPersist.js.map +1 -0
  57. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs +36 -0
  58. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.cjs.map +1 -0
  59. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js +36 -0
  60. package/dist/production/src/hooks/useBlockNavigationOnDirtyState.js.map +1 -0
  61. package/dist/production/{hooks → src/hooks}/useIsApplicationOutdated.cjs +8 -8
  62. package/dist/production/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  63. package/dist/production/{hooks → src/hooks}/useIsApplicationOutdated.js +1 -1
  64. package/dist/production/src/hooks/useIsApplicationOutdated.js.map +1 -0
  65. package/dist/types/bootstrap/ApplicationEntrypoint.d.ts.map +1 -1
  66. package/dist/types/components/binding/DisconnectEntityTrigger.d.ts.map +1 -1
  67. package/dist/types/components/binding/EntityBeforePersist.d.ts +1 -1
  68. package/dist/types/components/binding/EntityBeforePersist.d.ts.map +1 -1
  69. package/dist/types/components/binding/RedirectOnPersist.d.ts +3 -1
  70. package/dist/types/components/binding/RedirectOnPersist.d.ts.map +1 -1
  71. package/dist/types/components/binding/index.d.ts +0 -2
  72. package/dist/types/components/binding/index.d.ts.map +1 -1
  73. package/dist/types/hooks/index.d.ts +1 -0
  74. package/dist/types/hooks/index.d.ts.map +1 -1
  75. package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts +7 -0
  76. package/dist/types/hooks/useBlockNavigationOnDirtyState.d.ts.map +1 -0
  77. package/dist/types/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +13 -21
  79. package/src/bootstrap/ApplicationEntrypoint.tsx +1 -1
  80. package/src/components/binding/DisconnectEntityTrigger.tsx +3 -2
  81. package/src/components/binding/RedirectOnPersist.tsx +3 -3
  82. package/src/components/binding/index.ts +0 -2
  83. package/src/hooks/index.ts +1 -0
  84. package/src/hooks/useBlockNavigationOnDirtyState.ts +40 -0
  85. package/src/hooks/useIsApplicationOutdated.ts +1 -1
  86. package/src/tsconfig.json +0 -1
  87. package/tsconfig.json +7 -0
  88. package/tsdoc.json +6 -0
  89. package/dist/development/bootstrap/ApplicationEntrypoint.cjs.map +0 -1
  90. package/dist/development/bootstrap/ApplicationEntrypoint.js.map +0 -1
  91. package/dist/development/bootstrap/DataViewPageNameKeyProvider.cjs.map +0 -1
  92. package/dist/development/bootstrap/DataViewPageNameKeyProvider.js.map +0 -1
  93. package/dist/development/components/binding/ClearFieldTrigger.cjs.map +0 -1
  94. package/dist/development/components/binding/ClearFieldTrigger.js.map +0 -1
  95. package/dist/development/components/binding/DeleteEntityTrigger.cjs +0 -36
  96. package/dist/development/components/binding/DeleteEntityTrigger.cjs.map +0 -1
  97. package/dist/development/components/binding/DeleteEntityTrigger.js +0 -36
  98. package/dist/development/components/binding/DeleteEntityTrigger.js.map +0 -1
  99. package/dist/development/components/binding/DisconnectEntityTrigger.cjs.map +0 -1
  100. package/dist/development/components/binding/DisconnectEntityTrigger.js.map +0 -1
  101. package/dist/development/components/binding/EntityBeforePersist.cjs.map +0 -1
  102. package/dist/development/components/binding/EntityBeforePersist.js.map +0 -1
  103. package/dist/development/components/binding/PersistTrigger.cjs +0 -37
  104. package/dist/development/components/binding/PersistTrigger.cjs.map +0 -1
  105. package/dist/development/components/binding/PersistTrigger.js +0 -37
  106. package/dist/development/components/binding/PersistTrigger.js.map +0 -1
  107. package/dist/development/components/binding/RedirectOnPersist.cjs.map +0 -1
  108. package/dist/development/components/binding/RedirectOnPersist.js.map +0 -1
  109. package/dist/development/hooks/useIsApplicationOutdated.cjs.map +0 -1
  110. package/dist/development/hooks/useIsApplicationOutdated.js.map +0 -1
  111. package/dist/production/bootstrap/ApplicationEntrypoint.cjs.map +0 -1
  112. package/dist/production/bootstrap/ApplicationEntrypoint.js.map +0 -1
  113. package/dist/production/bootstrap/DataViewPageNameKeyProvider.cjs.map +0 -1
  114. package/dist/production/bootstrap/DataViewPageNameKeyProvider.js.map +0 -1
  115. package/dist/production/components/binding/ClearFieldTrigger.cjs.map +0 -1
  116. package/dist/production/components/binding/ClearFieldTrigger.js.map +0 -1
  117. package/dist/production/components/binding/DeleteEntityTrigger.cjs +0 -28
  118. package/dist/production/components/binding/DeleteEntityTrigger.cjs.map +0 -1
  119. package/dist/production/components/binding/DeleteEntityTrigger.js +0 -28
  120. package/dist/production/components/binding/DeleteEntityTrigger.js.map +0 -1
  121. package/dist/production/components/binding/DisconnectEntityTrigger.cjs.map +0 -1
  122. package/dist/production/components/binding/DisconnectEntityTrigger.js.map +0 -1
  123. package/dist/production/components/binding/EntityBeforePersist.cjs.map +0 -1
  124. package/dist/production/components/binding/EntityBeforePersist.js.map +0 -1
  125. package/dist/production/components/binding/PersistTrigger.cjs +0 -29
  126. package/dist/production/components/binding/PersistTrigger.cjs.map +0 -1
  127. package/dist/production/components/binding/PersistTrigger.js +0 -29
  128. package/dist/production/components/binding/PersistTrigger.js.map +0 -1
  129. package/dist/production/components/binding/RedirectOnPersist.cjs.map +0 -1
  130. package/dist/production/components/binding/RedirectOnPersist.js.map +0 -1
  131. package/dist/production/hooks/useIsApplicationOutdated.cjs.map +0 -1
  132. package/dist/production/hooks/useIsApplicationOutdated.js.map +0 -1
  133. package/dist/types/components/binding/DeleteEntityTrigger.d.ts +0 -10
  134. package/dist/types/components/binding/DeleteEntityTrigger.d.ts.map +0 -1
  135. package/dist/types/components/binding/PersistTrigger.d.ts +0 -9
  136. package/dist/types/components/binding/PersistTrigger.d.ts.map +0 -1
  137. package/src/components/binding/DeleteEntityTrigger.tsx +0 -36
  138. package/src/components/binding/PersistTrigger.tsx +0 -35
  139. /package/dist/development/{components → src/components}/binding/EntityBeforePersist.cjs +0 -0
  140. /package/dist/development/{components → src/components}/binding/EntityBeforePersist.js +0 -0
  141. /package/dist/production/{bootstrap → src/bootstrap}/ApplicationEntrypoint.cjs +0 -0
  142. /package/dist/production/{bootstrap → src/bootstrap}/ApplicationEntrypoint.js +0 -0
  143. /package/dist/production/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.cjs +0 -0
  144. /package/dist/production/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.js +0 -0
  145. /package/dist/production/{components → src/components}/binding/ClearFieldTrigger.js +0 -0
  146. /package/dist/production/{components → src/components}/binding/EntityBeforePersist.cjs +0 -0
  147. /package/dist/production/{components → src/components}/binding/EntityBeforePersist.js +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../build/api-extractor.json"
3
+ }
@@ -4,45 +4,40 @@ const reactRouting = require("@contember/react-routing");
4
4
  const reactBinding = require("@contember/react-binding");
5
5
  const reactIdentity = require("@contember/react-identity");
6
6
  const reactDevbar = require("@contember/react-devbar");
7
- const ApplicationEntrypoint = require("./bootstrap/ApplicationEntrypoint.cjs");
8
- const ClearFieldTrigger = require("./components/binding/ClearFieldTrigger.cjs");
9
- const DeleteEntityTrigger = require("./components/binding/DeleteEntityTrigger.cjs");
10
- const DisconnectEntityTrigger = require("./components/binding/DisconnectEntityTrigger.cjs");
11
- const PersistTrigger = require("./components/binding/PersistTrigger.cjs");
12
- const EntityBeforePersist = require("./components/binding/EntityBeforePersist.cjs");
13
- const RedirectOnPersist = require("./components/binding/RedirectOnPersist.cjs");
14
- const useIsApplicationOutdated = require("./hooks/useIsApplicationOutdated.cjs");
7
+ const ApplicationEntrypoint = require("./src/bootstrap/ApplicationEntrypoint.cjs");
8
+ const ClearFieldTrigger = require("./src/components/binding/ClearFieldTrigger.cjs");
9
+ const DisconnectEntityTrigger = require("./src/components/binding/DisconnectEntityTrigger.cjs");
10
+ const EntityBeforePersist = require("./src/components/binding/EntityBeforePersist.cjs");
11
+ const RedirectOnPersist = require("./src/components/binding/RedirectOnPersist.cjs");
12
+ const useIsApplicationOutdated = require("./src/hooks/useIsApplicationOutdated.cjs");
13
+ const useBlockNavigationOnDirtyState = require("./src/hooks/useBlockNavigationOnDirtyState.cjs");
15
14
  Object.defineProperty(exports, "createErrorHandler", {
16
15
  enumerable: true,
17
16
  get: () => reactDevbar.createErrorHandler
18
17
  });
19
18
  exports.ApplicationEntrypoint = ApplicationEntrypoint.ApplicationEntrypoint;
20
19
  exports.ClearFieldTrigger = ClearFieldTrigger.ClearFieldTrigger;
21
- exports.DeleteEntityTrigger = DeleteEntityTrigger.DeleteEntityTrigger;
22
20
  exports.DisconnectEntityTrigger = DisconnectEntityTrigger.DisconnectEntityTrigger;
23
- exports.PersistTrigger = PersistTrigger.PersistTrigger;
24
21
  exports.EntityBeforePersist = EntityBeforePersist.EntityBeforePersist;
25
22
  exports.RedirectOnPersist = RedirectOnPersist.RedirectOnPersist;
26
23
  exports.useIsApplicationOutdated = useIsApplicationOutdated.useIsApplicationOutdated;
24
+ exports.useBlockNavigationOnDirtyState = useBlockNavigationOnDirtyState.useBlockNavigationOnDirtyState;
27
25
  Object.keys(reactRouting).forEach((k) => {
28
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
29
- Object.defineProperty(exports, k, {
30
- enumerable: true,
31
- get: () => reactRouting[k]
32
- });
26
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
27
+ enumerable: true,
28
+ get: () => reactRouting[k]
29
+ });
33
30
  });
34
31
  Object.keys(reactBinding).forEach((k) => {
35
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
36
- Object.defineProperty(exports, k, {
37
- enumerable: true,
38
- get: () => reactBinding[k]
39
- });
32
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
33
+ enumerable: true,
34
+ get: () => reactBinding[k]
35
+ });
40
36
  });
41
37
  Object.keys(reactIdentity).forEach((k) => {
42
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
43
- Object.defineProperty(exports, k, {
44
- enumerable: true,
45
- get: () => reactIdentity[k]
46
- });
38
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
39
+ enumerable: true,
40
+ get: () => reactIdentity[k]
41
+ });
47
42
  });
48
43
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,23 +2,21 @@ export * from "@contember/react-routing";
2
2
  export * from "@contember/react-binding";
3
3
  export * from "@contember/react-identity";
4
4
  import { createErrorHandler } from "@contember/react-devbar";
5
- import { ApplicationEntrypoint } from "./bootstrap/ApplicationEntrypoint.js";
6
- import { ClearFieldTrigger } from "./components/binding/ClearFieldTrigger.js";
7
- import { DeleteEntityTrigger } from "./components/binding/DeleteEntityTrigger.js";
8
- import { DisconnectEntityTrigger } from "./components/binding/DisconnectEntityTrigger.js";
9
- import { PersistTrigger } from "./components/binding/PersistTrigger.js";
10
- import { EntityBeforePersist } from "./components/binding/EntityBeforePersist.js";
11
- import { RedirectOnPersist } from "./components/binding/RedirectOnPersist.js";
12
- import { useIsApplicationOutdated } from "./hooks/useIsApplicationOutdated.js";
5
+ import { ApplicationEntrypoint } from "./src/bootstrap/ApplicationEntrypoint.js";
6
+ import { ClearFieldTrigger } from "./src/components/binding/ClearFieldTrigger.js";
7
+ import { DisconnectEntityTrigger } from "./src/components/binding/DisconnectEntityTrigger.js";
8
+ import { EntityBeforePersist } from "./src/components/binding/EntityBeforePersist.js";
9
+ import { RedirectOnPersist } from "./src/components/binding/RedirectOnPersist.js";
10
+ import { useIsApplicationOutdated } from "./src/hooks/useIsApplicationOutdated.js";
11
+ import { useBlockNavigationOnDirtyState } from "./src/hooks/useBlockNavigationOnDirtyState.js";
13
12
  export {
14
13
  ApplicationEntrypoint,
15
14
  ClearFieldTrigger,
16
- DeleteEntityTrigger,
17
15
  DisconnectEntityTrigger,
18
16
  EntityBeforePersist,
19
- PersistTrigger,
20
17
  RedirectOnPersist,
21
18
  createErrorHandler,
19
+ useBlockNavigationOnDirtyState,
22
20
  useIsApplicationOutdated
23
21
  };
24
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -28,19 +28,19 @@ const ApplicationEntrypoint = (props) => {
28
28
  project: props.project,
29
29
  stage: props.stage,
30
30
  children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.EnvironmentExtensionProvider, { extension: reactIdentity.projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(DataViewPageNameKeyProvider.DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactIdentity.IdentityProvider, { children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactIdentity.IdentityEnvironmentProvider, { children: props.children }, void 0, false, {
31
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
31
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
32
32
  lineNumber: 50,
33
33
  columnNumber: 9
34
34
  }, void 0) }, void 0, false, {
35
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
35
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
36
36
  lineNumber: 49,
37
37
  columnNumber: 8
38
38
  }, void 0) }, void 0, false, {
39
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
39
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
40
40
  lineNumber: 48,
41
41
  columnNumber: 7
42
42
  }, void 0) }, void 0, false, {
43
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
43
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
44
44
  lineNumber: 47,
45
45
  columnNumber: 6
46
46
  }, void 0)
@@ -48,17 +48,17 @@ const ApplicationEntrypoint = (props) => {
48
48
  void 0,
49
49
  false,
50
50
  {
51
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
51
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
52
52
  lineNumber: 40,
53
53
  columnNumber: 5
54
54
  },
55
55
  void 0
56
56
  ) }, void 0, false, {
57
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
57
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
58
58
  lineNumber: 39,
59
59
  columnNumber: 4
60
60
  }, void 0) }, void 0, false, {
61
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
61
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
62
62
  lineNumber: 38,
63
63
  columnNumber: 3
64
64
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.cjs","sources":["../../../../../packages/interface/src/bootstrap/ApplicationEntrypoint.tsx"],"sourcesContent":["import { Environment, EnvironmentContext, EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { ContemberClient, ContemberClientProps } from '@contember/react-client'\nimport { ReactNode } from 'react'\nimport { RouteMap, RoutingContextValue, RoutingProvider } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { IdentityEnvironmentProvider, IdentityProvider, projectEnvironmentExtension } from '@contember/react-identity'\n\nexport interface ApplicationEntrypointProps extends ContemberClientProps {\n\tbasePath: string\n\tsessionToken?: string\n\troutes?: RouteMap\n\tchildren: ReactNode\n\tenvironment?: Environment\n}\n\nconst validateProps = (props: Partial<ApplicationEntrypointProps>) => {\n\tif (typeof props.apiBaseUrl !== 'string') {\n\t\tthrow new Error(`The ENV variables haven't been set. Check your \\`.env.development.local\\` file.`) // TODO: better message\n\t}\n}\n\n/**\n * @group Entrypoints\n */\nexport const ApplicationEntrypoint = (props: ApplicationEntrypointProps) => {\n\tvalidateProps(props)\n\n\tconst rootEnv = props.environment ?? Environment.create()\n\n\tconst routing: RoutingContextValue = {\n\t\tbasePath: props.basePath,\n\t\troutes: props.routes ?? { index: { path: '/' } },\n\t\tdefaultDimensions: rootEnv.getAllDimensions(),\n\t}\n\n\n\treturn (\n\t\t<EnvironmentContext.Provider value={rootEnv}>\n\t\t\t<RoutingProvider {...routing}>\n\t\t\t\t<ContemberClient\n\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\tproject={props.project}\n\t\t\t\t\tstage={props.stage}\n\t\t\t\t>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t<IdentityEnvironmentProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityEnvironmentProvider>\n\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</ContemberClient>\n\t\t\t</RoutingProvider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":["Environment","jsxDEV","EnvironmentContext","RoutingProvider","ContemberClient","EnvironmentExtensionProvider","projectEnvironmentExtension","DataViewPageNameKeyProvider","IdentityProvider","IdentityEnvironmentProvider","this"],"mappings":";;;;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAAA;AAEnG;AAKa,MAAA,wBAAwB,CAAC,UAAsC;AAC3E,gBAAc,KAAK;AAEnB,QAAM,UAAU,MAAM,eAAeA,aAAAA,YAAY,OAAO;AAExD,QAAM,UAA+B;AAAA,IACpC,UAAU,MAAM;AAAA,IAChB,QAAQ,MAAM,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM;AAAA,IAC/C,mBAAmB,QAAQ,iBAAiB;AAAA,EAC7C;AAIC,SAAAC,8BAAA,OAACC,gCAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAAD,8BAAAA,OAACE,aAAAA,iBAAiB,EAAA,GAAG,SACpB,UAAAF,8BAAA;AAAA,IAACG,YAAA;AAAA,IAAA;AAAA,MACA,YAAY,MAAM;AAAA,MAClB,cAAc,MAAM;AAAA,MACpB,YAAY,MAAM;AAAA,MAClB,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,MAEb,UAACH,8BAAA,OAAAI,2CAAA,EAA6B,WAAWC,cAAA,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAAL,8BAAA,OAACM,2DACA,UAACN,8BAAA,OAAAO,cAAA,kBAAA,EACA,UAACP,8BAAA,OAAAQ,cAAA,6BAAA,EACC,gBAAM,SADR,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAQAA,MAAA;AAAA,IAAA;AAAA,IAfD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA,KADD,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAkBA,EAnBD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAoBA,GAAAA,MAAA;AAEF;;"}
@@ -26,19 +26,19 @@ const ApplicationEntrypoint = (props) => {
26
26
  project: props.project,
27
27
  stage: props.stage,
28
28
  children: /* @__PURE__ */ jsxDEV(EnvironmentExtensionProvider, { extension: projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsxDEV(DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsxDEV(IdentityProvider, { children: /* @__PURE__ */ jsxDEV(IdentityEnvironmentProvider, { children: props.children }, void 0, false, {
29
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
29
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
30
30
  lineNumber: 50,
31
31
  columnNumber: 9
32
32
  }, void 0) }, void 0, false, {
33
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
33
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
34
34
  lineNumber: 49,
35
35
  columnNumber: 8
36
36
  }, void 0) }, void 0, false, {
37
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
37
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
38
38
  lineNumber: 48,
39
39
  columnNumber: 7
40
40
  }, void 0) }, void 0, false, {
41
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
41
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
42
42
  lineNumber: 47,
43
43
  columnNumber: 6
44
44
  }, void 0)
@@ -46,17 +46,17 @@ const ApplicationEntrypoint = (props) => {
46
46
  void 0,
47
47
  false,
48
48
  {
49
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
49
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
50
50
  lineNumber: 40,
51
51
  columnNumber: 5
52
52
  },
53
53
  void 0
54
54
  ) }, void 0, false, {
55
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
55
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
56
56
  lineNumber: 39,
57
57
  columnNumber: 4
58
58
  }, void 0) }, void 0, false, {
59
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
59
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/ApplicationEntrypoint.tsx",
60
60
  lineNumber: 38,
61
61
  columnNumber: 3
62
62
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.js","sources":["../../../../../packages/interface/src/bootstrap/ApplicationEntrypoint.tsx"],"sourcesContent":["import { Environment, EnvironmentContext, EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { ContemberClient, ContemberClientProps } from '@contember/react-client'\nimport { ReactNode } from 'react'\nimport { RouteMap, RoutingContextValue, RoutingProvider } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { IdentityEnvironmentProvider, IdentityProvider, projectEnvironmentExtension } from '@contember/react-identity'\n\nexport interface ApplicationEntrypointProps extends ContemberClientProps {\n\tbasePath: string\n\tsessionToken?: string\n\troutes?: RouteMap\n\tchildren: ReactNode\n\tenvironment?: Environment\n}\n\nconst validateProps = (props: Partial<ApplicationEntrypointProps>) => {\n\tif (typeof props.apiBaseUrl !== 'string') {\n\t\tthrow new Error(`The ENV variables haven't been set. Check your \\`.env.development.local\\` file.`) // TODO: better message\n\t}\n}\n\n/**\n * @group Entrypoints\n */\nexport const ApplicationEntrypoint = (props: ApplicationEntrypointProps) => {\n\tvalidateProps(props)\n\n\tconst rootEnv = props.environment ?? Environment.create()\n\n\tconst routing: RoutingContextValue = {\n\t\tbasePath: props.basePath,\n\t\troutes: props.routes ?? { index: { path: '/' } },\n\t\tdefaultDimensions: rootEnv.getAllDimensions(),\n\t}\n\n\n\treturn (\n\t\t<EnvironmentContext.Provider value={rootEnv}>\n\t\t\t<RoutingProvider {...routing}>\n\t\t\t\t<ContemberClient\n\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\tproject={props.project}\n\t\t\t\t\tstage={props.stage}\n\t\t\t\t>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t<IdentityEnvironmentProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityEnvironmentProvider>\n\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</ContemberClient>\n\t\t\t</RoutingProvider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAAA;AAEnG;AAKa,MAAA,wBAAwB,CAAC,UAAsC;AAC3E,gBAAc,KAAK;AAEnB,QAAM,UAAU,MAAM,eAAe,YAAY,OAAO;AAExD,QAAM,UAA+B;AAAA,IACpC,UAAU,MAAM;AAAA,IAChB,QAAQ,MAAM,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM;AAAA,IAC/C,mBAAmB,QAAQ,iBAAiB;AAAA,EAC7C;AAIC,SAAA,uBAAC,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAA,uBAAC,iBAAiB,EAAA,GAAG,SACpB,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,MAAM;AAAA,MAClB,cAAc,MAAM;AAAA,MACpB,YAAY,MAAM;AAAA,MAClB,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,MAEb,UAAC,uBAAA,8BAAA,EAA6B,WAAW,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAA,uBAAC,+BACA,UAAC,uBAAA,kBAAA,EACA,UAAC,uBAAA,6BAAA,EACC,gBAAM,SADR,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAA,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA,GAQAA,MAAA;AAAA,IAAA;AAAA,IAfD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA,KADD,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAkBA,EAnBD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAoBA,GAAAA,MAAA;AAEF;"}
@@ -6,7 +6,7 @@ const reactDataview = require("@contember/react-dataview");
6
6
  const DataViewPageNameKeyProvider = ({ children }) => {
7
7
  const pageName = reactRouting.useCurrentRequest()?.pageName;
8
8
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactDataview.DataViewKeyProvider, { value: pageName ?? "", children }, void 0, false, {
9
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx",
9
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx",
10
10
  lineNumber: 9,
11
11
  columnNumber: 3
12
12
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViewPageNameKeyProvider.cjs","sources":["../../../../../packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx"],"sourcesContent":["import { useCurrentRequest } from '@contember/react-routing'\nimport { DataViewKeyProvider } from '@contember/react-dataview'\nimport { ReactNode } from 'react'\n\nexport const DataViewPageNameKeyProvider = ({ children }: { children: ReactNode }) => {\n\tconst pageName = useCurrentRequest()?.pageName\n\n\treturn (\n\t\t<DataViewKeyProvider value={pageName ?? ''}>\n\t\t\t{children}\n\t\t</DataViewKeyProvider>\n\t)\n}\n"],"names":["useCurrentRequest","jsxDEV","DataViewKeyProvider","this"],"mappings":";;;;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAWA,kCAAqB;AAEtC,SACEC,8BAAA,OAAAC,mCAAA,EAAoB,OAAO,YAAY,IACtC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAC,MAAA;AAEF;;"}
@@ -4,7 +4,7 @@ import { DataViewKeyProvider } from "@contember/react-dataview";
4
4
  const DataViewPageNameKeyProvider = ({ children }) => {
5
5
  const pageName = useCurrentRequest()?.pageName;
6
6
  return /* @__PURE__ */ jsxDEV(DataViewKeyProvider, { value: pageName ?? "", children }, void 0, false, {
7
- fileName: "/__w/interface/interface/packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx",
7
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx",
8
8
  lineNumber: 9,
9
9
  columnNumber: 3
10
10
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViewPageNameKeyProvider.js","sources":["../../../../../packages/interface/src/bootstrap/DataViewPageNameKeyProvider.tsx"],"sourcesContent":["import { useCurrentRequest } from '@contember/react-routing'\nimport { DataViewKeyProvider } from '@contember/react-dataview'\nimport { ReactNode } from 'react'\n\nexport const DataViewPageNameKeyProvider = ({ children }: { children: ReactNode }) => {\n\tconst pageName = useCurrentRequest()?.pageName\n\n\treturn (\n\t\t<DataViewKeyProvider value={pageName ?? ''}>\n\t\t\t{children}\n\t\t</DataViewKeyProvider>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAW,qBAAqB;AAEtC,SACE,uBAAA,qBAAA,EAAoB,OAAO,YAAY,IACtC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA;AAEF;"}
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxDevRuntime = require("react/jsx-dev-runtime");
4
- const react = require("react");
4
+ const React = require("react");
5
5
  const reactSlot = require("@radix-ui/react-slot");
6
6
  const reactBinding = require("@contember/react-binding");
7
7
  const ClearFieldTrigger = reactBinding.Component(({ field, ...props }) => {
8
8
  const fieldAccessor = reactBinding.useField(field);
9
- const clearField = react.useCallback(() => {
9
+ const clearField = React.useCallback(() => {
10
10
  fieldAccessor.updateValue(null);
11
11
  }, [fieldAccessor]);
12
12
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactSlot.Slot, { onClick: clearField, ...props }, void 0, false, {
13
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
13
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
14
14
  lineNumber: 15,
15
15
  columnNumber: 9
16
16
  }, void 0);
17
17
  }, ({ field }) => {
18
18
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Field, { field }, void 0, false, {
19
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
19
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
20
20
  lineNumber: 17,
21
21
  columnNumber: 9
22
22
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFieldTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/ClearFieldTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Component, Field, SugaredRelativeSingleField, useField } from '@contember/react-binding'\n\nexport interface ClearFieldTriggerProps {\n\tfield: SugaredRelativeSingleField['field']\n\tchildren: ReactNode\n}\n\nexport const ClearFieldTrigger = Component<ClearFieldTriggerProps>(({ field, ...props }) => {\n\tconst fieldAccessor = useField(field)\n\tconst clearField = useCallback(() => {\n\t\tfieldAccessor.updateValue(null)\n\t}, [fieldAccessor])\n\treturn <Slot onClick={clearField} {...props} />\n}, ({ field }) => {\n\treturn <Field field={field} />\n})\n"],"names":["Component","useField","useCallback","jsxDEV","Slot","this","Field"],"mappings":";;;;;;AASO,MAAM,oBAAoBA,aAAAA,UAAkC,CAAC,EAAE,OAAO,GAAG,YAAY;AACrF,QAAA,gBAAgBC,sBAAS,KAAK;AAC9B,QAAA,aAAaC,MAAAA,YAAY,MAAM;AACpC,kBAAc,YAAY,IAAI;AAAA,EAAA,GAC5B,CAAC,aAAa,CAAC;AAClB,SAAQC,8BAAA,OAAAC,gBAAA,EAAK,SAAS,YAAa,GAAG,MAA/B,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAsC,GAAAC,MAAA;AAC9C,GAAG,CAAC,EAAE,YAAY;AACV,SAAAF,8BAAAA,OAACG,aAAAA,SAAM,MAAP,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAD,MAAA;AAC7B,CAAC;;"}
@@ -8,13 +8,13 @@ const ClearFieldTrigger = Component(({ field, ...props }) => {
8
8
  fieldAccessor.updateValue(null);
9
9
  }, [fieldAccessor]);
10
10
  return /* @__PURE__ */ jsxDEV(Slot, { onClick: clearField, ...props }, void 0, false, {
11
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
11
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
12
12
  lineNumber: 15,
13
13
  columnNumber: 9
14
14
  }, void 0);
15
15
  }, ({ field }) => {
16
16
  return /* @__PURE__ */ jsxDEV(Field, { field }, void 0, false, {
17
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
17
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/ClearFieldTrigger.tsx",
18
18
  lineNumber: 17,
19
19
  columnNumber: 9
20
20
  }, void 0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFieldTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/ClearFieldTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Component, Field, SugaredRelativeSingleField, useField } from '@contember/react-binding'\n\nexport interface ClearFieldTriggerProps {\n\tfield: SugaredRelativeSingleField['field']\n\tchildren: ReactNode\n}\n\nexport const ClearFieldTrigger = Component<ClearFieldTriggerProps>(({ field, ...props }) => {\n\tconst fieldAccessor = useField(field)\n\tconst clearField = useCallback(() => {\n\t\tfieldAccessor.updateValue(null)\n\t}, [fieldAccessor])\n\treturn <Slot onClick={clearField} {...props} />\n}, ({ field }) => {\n\treturn <Field field={field} />\n})\n"],"names":["this"],"mappings":";;;;AASO,MAAM,oBAAoB,UAAkC,CAAC,EAAE,OAAO,GAAG,YAAY;AACrF,QAAA,gBAAgB,SAAS,KAAK;AAC9B,QAAA,aAAa,YAAY,MAAM;AACpC,kBAAc,YAAY,IAAI;AAAA,EAAA,GAC5B,CAAC,aAAa,CAAC;AAClB,SAAQ,uBAAA,MAAA,EAAK,SAAS,YAAa,GAAG,MAA/B,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAsC,GAAAA,MAAA;AAC9C,GAAG,CAAC,EAAE,YAAY;AACV,SAAA,uBAAC,SAAM,MAAP,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAA,MAAA;AAC7B,CAAC;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxDevRuntime = require("react/jsx-dev-runtime");
4
- const react = require("react");
4
+ const React = require("react");
5
5
  const reactSlot = require("@radix-ui/react-slot");
6
6
  const reactBinding = require("@contember/react-binding");
7
7
  const SlotButton = reactSlot.Slot;
@@ -9,7 +9,7 @@ const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSu
9
9
  const entity = reactBinding.useEntity();
10
10
  const triggerPersist = reactBinding.usePersist();
11
11
  const isMutating = reactBinding.useMutationState();
12
- const onClick = react.useCallback(() => {
12
+ const onClick = React.useCallback(() => {
13
13
  if (field) {
14
14
  entity.disconnectEntityAtField({ field });
15
15
  } else {
@@ -17,7 +17,7 @@ const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSu
17
17
  if (!parent) {
18
18
  throw new reactBinding.BindingError("Cannot disconnect root entity");
19
19
  }
20
- if (parent instanceof reactBinding.EntityListAccessor) {
20
+ if (reactBinding.isEntityListAccessor(parent)) {
21
21
  parent.disconnectEntity(entity);
22
22
  } else {
23
23
  const subTreeNode = entity.environment.getSubTreeNode();
@@ -41,8 +41,8 @@ const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSu
41
41
  void 0,
42
42
  false,
43
43
  {
44
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/DisconnectEntityTrigger.tsx",
45
- lineNumber: 47,
44
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/DisconnectEntityTrigger.tsx",
45
+ lineNumber: 48,
46
46
  columnNumber: 3
47
47
  },
48
48
  void 0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisconnectEntityTrigger.cjs","sources":["../../../../../../packages/interface/src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult,\n\tisEntityListAccessor, SuccessfulPersistResult, SugaredRelativeSingleEntity, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DisconnectEntityTriggerProps {\n\timmediatePersist?: true\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n\tfield?: SugaredRelativeSingleEntity['field']\n}\n\nexport const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, field, ...props }: DisconnectEntityTriggerProps) => {\n\tconst entity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tif (field) {\n\t\t\tentity.disconnectEntityAtField({ field })\n\t\t} else {\n\t\t\tconst parent = entity.getParent()\n\t\t\tif (!parent) {\n\t\t\t\tthrow new BindingError('Cannot disconnect root entity')\n\t\t\t}\n\t\t\tif (isEntityListAccessor(parent)) {\n\t\t\t\tparent.disconnectEntity(entity)\n\t\t\t} else {\n\t\t\t\tconst subTreeNode = entity.environment.getSubTreeNode()\n\t\t\t\tif (subTreeNode.type !== 'entity') {\n\t\t\t\t\tthrow new BindingError('Cannot disconnect root entity')\n\t\t\t\t}\n\t\t\t\tparent.disconnectEntityAtField({ field: subTreeNode.field.name })\n\t\t\t}\n\t\t}\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [field, immediatePersist, entity, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useEntity","usePersist","useMutationState","useCallback","BindingError","isEntityListAccessor","jsxDEV","this"],"mappings":";;;;;;AAMA,MAAM,aAAaA,UAAA;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAASC,aAAAA,UAAU;AACzB,QAAM,iBAAiBC,aAAAA,WAAW;AAClC,QAAM,aAAaC,aAAAA,iBAAiB;AAC9B,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,OAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO,UAAU;AAChC,UAAI,CAAC,QAAQ;AACN,cAAA,IAAIC,0BAAa,+BAA+B;AAAA,MAAA;AAEnD,UAAAC,aAAAA,qBAAqB,MAAM,GAAG;AACjC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAID,0BAAa,+BAA+B;AAAA,QAAA;AAEvD,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MAAA;AAAA,IACjE;AAGD,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,GACE,CAAC,OAAO,kBAAkB,QAAQ,gBAAgB,kBAAkB,cAAc,CAAC;AAGrF,SAAAE,8BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,IAHL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAIA;AAEF;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { useCallback } from "react";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
- import { useEntity, usePersist, useMutationState, BindingError, EntityListAccessor } from "@contember/react-binding";
4
+ import { useEntity, usePersist, useMutationState, BindingError, isEntityListAccessor } from "@contember/react-binding";
5
5
  const SlotButton = Slot;
6
6
  const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, field, ...props }) => {
7
7
  const entity = useEntity();
@@ -15,7 +15,7 @@ const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSu
15
15
  if (!parent) {
16
16
  throw new BindingError("Cannot disconnect root entity");
17
17
  }
18
- if (parent instanceof EntityListAccessor) {
18
+ if (isEntityListAccessor(parent)) {
19
19
  parent.disconnectEntity(entity);
20
20
  } else {
21
21
  const subTreeNode = entity.environment.getSubTreeNode();
@@ -39,8 +39,8 @@ const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSu
39
39
  void 0,
40
40
  false,
41
41
  {
42
- fileName: "/__w/interface/interface/packages/interface/src/components/binding/DisconnectEntityTrigger.tsx",
43
- lineNumber: 47,
42
+ fileName: "/home/runner/work/contember/contember/packages/interface/src/components/binding/DisconnectEntityTrigger.tsx",
43
+ lineNumber: 48,
44
44
  columnNumber: 3
45
45
  },
46
46
  void 0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisconnectEntityTrigger.js","sources":["../../../../../../packages/interface/src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult,\n\tisEntityListAccessor, SuccessfulPersistResult, SugaredRelativeSingleEntity, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DisconnectEntityTriggerProps {\n\timmediatePersist?: true\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n\tfield?: SugaredRelativeSingleEntity['field']\n}\n\nexport const DisconnectEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, field, ...props }: DisconnectEntityTriggerProps) => {\n\tconst entity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tif (field) {\n\t\t\tentity.disconnectEntityAtField({ field })\n\t\t} else {\n\t\t\tconst parent = entity.getParent()\n\t\t\tif (!parent) {\n\t\t\t\tthrow new BindingError('Cannot disconnect root entity')\n\t\t\t}\n\t\t\tif (isEntityListAccessor(parent)) {\n\t\t\t\tparent.disconnectEntity(entity)\n\t\t\t} else {\n\t\t\t\tconst subTreeNode = entity.environment.getSubTreeNode()\n\t\t\t\tif (subTreeNode.type !== 'entity') {\n\t\t\t\t\tthrow new BindingError('Cannot disconnect root entity')\n\t\t\t\t}\n\t\t\t\tparent.disconnectEntityAtField({ field: subTreeNode.field.name })\n\t\t\t}\n\t\t}\n\n\t\tif (immediatePersist) {\n\t\t\ttriggerPersist()\n\t\t\t\t.then(onPersistSuccess)\n\t\t\t\t.catch(onPersistError)\n\t\t}\n\t}, [field, immediatePersist, entity, triggerPersist, onPersistSuccess, onPersistError])\n\n\treturn (\n\t\t<SlotButton\n\t\t\tonClick={onClick}\n\t\t\tdisabled={isMutating ? true : undefined}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;;AAMA,MAAM,aAAa;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAAS,UAAU;AACzB,QAAM,iBAAiB,WAAW;AAClC,QAAM,aAAa,iBAAiB;AAC9B,QAAA,UAAU,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,OAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO,UAAU;AAChC,UAAI,CAAC,QAAQ;AACN,cAAA,IAAI,aAAa,+BAA+B;AAAA,MAAA;AAEnD,UAAA,qBAAqB,MAAM,GAAG;AACjC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAI,aAAa,+BAA+B;AAAA,QAAA;AAEvD,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MAAA;AAAA,IACjE;AAGD,QAAI,kBAAkB;AACrB,qBACE,EAAA,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IAAA;AAAA,EACvB,GACE,CAAC,OAAO,kBAAkB,QAAQ,gBAAgB,kBAAkB,cAAc,CAAC;AAGrF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,IAHL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAIA;AAEF;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityBeforePersist.cjs","sources":["../../../../../../packages/interface/src/components/binding/EntityBeforePersist.tsx"],"sourcesContent":["import { EntityAccessor, useEntityBeforePersist } from '@contember/react-binding'\n\nexport const EntityBeforePersist = ({ listener }: { listener: EntityAccessor.EntityEventListenerMap['beforePersist']}) => {\n\tuseEntityBeforePersist(listener)\n\treturn null\n}\n"],"names":["useEntityBeforePersist"],"mappings":";;;AAEO,MAAM,sBAAsB,CAAC,EAAE,eAAoF;AACzHA,eAAAA,uBAAuB,QAAQ;AACxB,SAAA;AACR;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityBeforePersist.js","sources":["../../../../../../packages/interface/src/components/binding/EntityBeforePersist.tsx"],"sourcesContent":["import { EntityAccessor, useEntityBeforePersist } from '@contember/react-binding'\n\nexport const EntityBeforePersist = ({ listener }: { listener: EntityAccessor.EntityEventListenerMap['beforePersist']}) => {\n\tuseEntityBeforePersist(listener)\n\treturn null\n}\n"],"names":[],"mappings":";AAEO,MAAM,sBAAsB,CAAC,EAAE,eAAoF;AACzH,yBAAuB,QAAQ;AACxB,SAAA;AACR;"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const reactBinding = require("@contember/react-binding");
4
4
  const reactRouting = require("@contember/react-routing");
5
- const RedirectOnPersist = ({ to }) => {
5
+ const RedirectOnPersist = ({ to, parameters }) => {
6
6
  const redirect = reactRouting.useRedirect();
7
7
  reactBinding.useEntityPersistSuccess((getEntity, options) => {
8
8
  if (options.successType !== "justSuccess") {
9
9
  return;
10
10
  }
11
- redirect(to);
11
+ redirect(to, parameters);
12
12
  });
13
13
  return null;
14
14
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedirectOnPersist.cjs","sources":["../../../../../../packages/interface/src/components/binding/RedirectOnPersist.tsx"],"sourcesContent":["import { useEntityPersistSuccess } from '@contember/react-binding'\nimport { RequestParameters, useRedirect } from '@contember/react-routing'\nimport { RoutingLinkTarget } from '@contember/react-routing'\n\nexport const RedirectOnPersist = ({ to, parameters }: { to: RoutingLinkTarget; parameters?: RequestParameters }) => {\n\tconst redirect = useRedirect()\n\tuseEntityPersistSuccess((getEntity, options) => {\n\t\tif (options.successType !== 'justSuccess') {\n\t\t\treturn\n\t\t}\n\t\tredirect(to, parameters)\n\t})\n\treturn null\n}\n"],"names":["useRedirect","useEntityPersistSuccess"],"mappings":";;;;AAIO,MAAM,oBAAoB,CAAC,EAAE,IAAI,iBAA4E;AACnH,QAAM,WAAWA,aAAAA,YAAY;AACLC,uCAAA,CAAC,WAAW,YAAY;AAC3C,QAAA,QAAQ,gBAAgB,eAAe;AAC1C;AAAA,IAAA;AAED,aAAS,IAAI,UAAU;AAAA,EAAA,CACvB;AACM,SAAA;AACR;;"}
@@ -1,12 +1,12 @@
1
1
  import { useEntityPersistSuccess } from "@contember/react-binding";
2
2
  import { useRedirect } from "@contember/react-routing";
3
- const RedirectOnPersist = ({ to }) => {
3
+ const RedirectOnPersist = ({ to, parameters }) => {
4
4
  const redirect = useRedirect();
5
5
  useEntityPersistSuccess((getEntity, options) => {
6
6
  if (options.successType !== "justSuccess") {
7
7
  return;
8
8
  }
9
- redirect(to);
9
+ redirect(to, parameters);
10
10
  });
11
11
  return null;
12
12
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedirectOnPersist.js","sources":["../../../../../../packages/interface/src/components/binding/RedirectOnPersist.tsx"],"sourcesContent":["import { useEntityPersistSuccess } from '@contember/react-binding'\nimport { RequestParameters, useRedirect } from '@contember/react-routing'\nimport { RoutingLinkTarget } from '@contember/react-routing'\n\nexport const RedirectOnPersist = ({ to, parameters }: { to: RoutingLinkTarget; parameters?: RequestParameters }) => {\n\tconst redirect = useRedirect()\n\tuseEntityPersistSuccess((getEntity, options) => {\n\t\tif (options.successType !== 'justSuccess') {\n\t\t\treturn\n\t\t}\n\t\tredirect(to, parameters)\n\t})\n\treturn null\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,CAAC,EAAE,IAAI,iBAA4E;AACnH,QAAM,WAAW,YAAY;AACL,0BAAA,CAAC,WAAW,YAAY;AAC3C,QAAA,QAAQ,gBAAgB,eAAe;AAC1C;AAAA,IAAA;AAED,aAAS,IAAI,UAAU;AAAA,EAAA,CACvB;AACM,SAAA;AACR;"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactBinding = require("@contember/react-binding");
4
+ const React = require("react");
5
+ const reactRouting = require("@contember/react-routing");
6
+ const useBlockNavigationOnDirtyState = (handler, options) => {
7
+ const isDirty = reactBinding.useDirtinessState();
8
+ const isDirtyRef = React.useRef(isDirty);
9
+ isDirtyRef.current = isDirty;
10
+ const isMutating = reactBinding.useMutationState();
11
+ const isMutatingRef = React.useRef(isMutating);
12
+ isMutatingRef.current = isMutating;
13
+ const persist = reactBinding.usePersist();
14
+ reactRouting.useRegisterRequestChangeListener(React.useCallback(async (event) => {
15
+ if (!isDirtyRef.current || isMutatingRef.current) {
16
+ return;
17
+ }
18
+ const result = await handler();
19
+ if (result === "cancel") {
20
+ event.abortNavigation();
21
+ return;
22
+ }
23
+ if (result === "save") {
24
+ try {
25
+ const result2 = await persist();
26
+ options?.onPersistSuccess?.(result2);
27
+ } catch (e) {
28
+ options?.onPersistError?.(e);
29
+ event.abortNavigation();
30
+ return;
31
+ }
32
+ }
33
+ }, [handler, options, persist]));
34
+ };
35
+ exports.useBlockNavigationOnDirtyState = useBlockNavigationOnDirtyState;
36
+ //# sourceMappingURL=useBlockNavigationOnDirtyState.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlockNavigationOnDirtyState.cjs","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":["useDirtinessState","useRef","useMutationState","usePersist","useRegisterRequestChangeListener","useCallback","result"],"mappings":";;;;;AAMa,MAAA,iCAAiC,CAAC,SAA2D,YAGpG;AACL,QAAM,UAAUA,aAAAA,kBAAkB;AAC5B,QAAA,aAAaC,aAAO,OAAO;AACjC,aAAW,UAAU;AACrB,QAAM,aAAaC,aAAAA,iBAAiB;AAC9B,QAAA,gBAAgBD,aAAO,UAAU;AACvC,gBAAc,UAAU;AACxB,QAAM,UAAUE,aAAAA,WAAW;AAEMC,gDAAAC,MAAAA,YAAY,OAAM,UAAS;AAC3D,QAAI,CAAC,WAAW,WAAW,cAAc,SAAS;AACjD;AAAA,IAAA;AAEK,UAAA,SAAS,MAAM,QAAQ;AAC7B,QAAI,WAAW,UAAU;AACxB,YAAM,gBAAgB;AACtB;AAAA,IAAA;AAGD,QAAI,WAAW,QAAQ;AAClB,UAAA;AACGC,cAAAA,UAAS,MAAM,QAAQ;AAC7B,iBAAS,mBAAmBA,OAAM;AAAA,eAC1B,GAAQ;AAChB,iBAAS,iBAAiB,CAAC;AAC3B,cAAM,gBAAgB;AACtB;AAAA,MAAA;AAAA,IACD;AAAA,KAEC,CAAC,SAAS,SAAS,OAAO,CAAC,CAAC;AAChC;;"}
@@ -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":";;;AAMa,MAAA,iCAAiC,CAAC,SAA2D,YAGpG;AACL,QAAM,UAAU,kBAAkB;AAC5B,QAAA,aAAa,OAAO,OAAO;AACjC,aAAW,UAAU;AACrB,QAAM,aAAa,iBAAiB;AAC9B,QAAA,gBAAgB,OAAO,UAAU;AACvC,gBAAc,UAAU;AACxB,QAAM,UAAU,WAAW;AAEM,mCAAA,YAAY,OAAM,UAAS;AAC3D,QAAI,CAAC,WAAW,WAAW,cAAc,SAAS;AACjD;AAAA,IAAA;AAEK,UAAA,SAAS,MAAM,QAAQ;AAC7B,QAAI,WAAW,UAAU;AACxB,YAAM,gBAAgB;AACtB;AAAA,IAAA;AAGD,QAAI,WAAW,QAAQ;AAClB,UAAA;AACGA,cAAAA,UAAS,MAAM,QAAQ;AAC7B,iBAAS,mBAAmBA,OAAM;AAAA,eAC1B,GAAQ;AAChB,iBAAS,iBAAiB,CAAC;AAC3B,cAAM,gBAAgB;AACtB;AAAA,MAAA;AAAA,IACD;AAAA,KAEC,CAAC,SAAS,SAAS,OAAO,CAAC,CAAC;AAChC;"}
@@ -1,31 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("react");
3
+ const React = require("react");
4
4
  const defaultCheckIntervalMs = 3e4;
5
5
  const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs } = {}) => {
6
- const [initialVersion] = react.useState(() => {
6
+ const [initialVersion] = React.useState(() => {
7
7
  return getVersionFromDocument(document.head);
8
8
  });
9
- const [isOutdated, setIsOutdated] = react.useState(false);
9
+ const [isOutdated, setIsOutdated] = React.useState(false);
10
10
  const fetchVersion = useFetchVersion();
11
- const checkVersion = react.useCallback(async () => {
11
+ const checkVersion = React.useCallback(async () => {
12
12
  if (document.hidden) {
13
13
  return;
14
14
  }
15
15
  const version = await fetchVersion();
16
- if (version !== initialVersion) {
16
+ if (version && version !== initialVersion) {
17
17
  setIsOutdated(true);
18
18
  }
19
19
  }, [fetchVersion, initialVersion]);
20
20
  const shouldCheck = !!initialVersion && !isOutdated;
21
- react.useEffect(() => {
21
+ React.useEffect(() => {
22
22
  if (!shouldCheck) {
23
23
  return;
24
24
  }
25
25
  const handle = setInterval(checkVersion, checkIntervalMs);
26
26
  return () => clearInterval(handle);
27
27
  }, [checkIntervalMs, checkVersion, shouldCheck]);
28
- react.useEffect(() => {
28
+ React.useEffect(() => {
29
29
  if (!shouldCheck) {
30
30
  return;
31
31
  }
@@ -39,7 +39,7 @@ const getVersionFromDocument = (node) => {
39
39
  return meta?.content;
40
40
  };
41
41
  const useFetchVersion = () => {
42
- return react.useCallback(async () => {
42
+ return React.useCallback(async () => {
43
43
  try {
44
44
  const result = await (await fetch(window.location.href)).text();
45
45
  const html = document.createElement("html");