@contember/interface 1.3.0-alpha.14

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 (111) hide show
  1. package/dist/development/bootstrap/ApplicationEntrypoint.cjs +35 -0
  2. package/dist/development/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  3. package/dist/development/bootstrap/ApplicationEntrypoint.js +35 -0
  4. package/dist/development/bootstrap/ApplicationEntrypoint.js.map +1 -0
  5. package/dist/development/bootstrap/DataViewPageNameKeyProvider.cjs +11 -0
  6. package/dist/development/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  7. package/dist/development/bootstrap/DataViewPageNameKeyProvider.js +11 -0
  8. package/dist/development/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  9. package/dist/development/bootstrap/runReactApp.cjs +11 -0
  10. package/dist/development/bootstrap/runReactApp.cjs.map +1 -0
  11. package/dist/development/bootstrap/runReactApp.js +11 -0
  12. package/dist/development/bootstrap/runReactApp.js.map +1 -0
  13. package/dist/development/components/binding/ClearFieldTrigger.cjs +17 -0
  14. package/dist/development/components/binding/ClearFieldTrigger.cjs.map +1 -0
  15. package/dist/development/components/binding/ClearFieldTrigger.js +17 -0
  16. package/dist/development/components/binding/ClearFieldTrigger.js.map +1 -0
  17. package/dist/development/components/binding/DeleteEntityTrigger.cjs +28 -0
  18. package/dist/development/components/binding/DeleteEntityTrigger.cjs.map +1 -0
  19. package/dist/development/components/binding/DeleteEntityTrigger.js +28 -0
  20. package/dist/development/components/binding/DeleteEntityTrigger.js.map +1 -0
  21. package/dist/development/components/binding/EntityBeforePersist.cjs +9 -0
  22. package/dist/development/components/binding/EntityBeforePersist.cjs.map +1 -0
  23. package/dist/development/components/binding/EntityBeforePersist.js +9 -0
  24. package/dist/development/components/binding/EntityBeforePersist.js.map +1 -0
  25. package/dist/development/components/binding/PersistTrigger.cjs +29 -0
  26. package/dist/development/components/binding/PersistTrigger.cjs.map +1 -0
  27. package/dist/development/components/binding/PersistTrigger.js +29 -0
  28. package/dist/development/components/binding/PersistTrigger.js.map +1 -0
  29. package/dist/development/components/binding/RedirectOnPersist.cjs +16 -0
  30. package/dist/development/components/binding/RedirectOnPersist.cjs.map +1 -0
  31. package/dist/development/components/binding/RedirectOnPersist.js +16 -0
  32. package/dist/development/components/binding/RedirectOnPersist.js.map +1 -0
  33. package/dist/development/index.cjs +41 -0
  34. package/dist/development/index.cjs.map +1 -0
  35. package/dist/development/index.js +20 -0
  36. package/dist/development/index.js.map +1 -0
  37. package/dist/production/bootstrap/ApplicationEntrypoint.cjs +35 -0
  38. package/dist/production/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  39. package/dist/production/bootstrap/ApplicationEntrypoint.js +35 -0
  40. package/dist/production/bootstrap/ApplicationEntrypoint.js.map +1 -0
  41. package/dist/production/bootstrap/DataViewPageNameKeyProvider.cjs +11 -0
  42. package/dist/production/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  43. package/dist/production/bootstrap/DataViewPageNameKeyProvider.js +11 -0
  44. package/dist/production/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  45. package/dist/production/bootstrap/runReactApp.cjs +11 -0
  46. package/dist/production/bootstrap/runReactApp.cjs.map +1 -0
  47. package/dist/production/bootstrap/runReactApp.js +11 -0
  48. package/dist/production/bootstrap/runReactApp.js.map +1 -0
  49. package/dist/production/components/binding/ClearFieldTrigger.cjs +17 -0
  50. package/dist/production/components/binding/ClearFieldTrigger.cjs.map +1 -0
  51. package/dist/production/components/binding/ClearFieldTrigger.js +17 -0
  52. package/dist/production/components/binding/ClearFieldTrigger.js.map +1 -0
  53. package/dist/production/components/binding/DeleteEntityTrigger.cjs +28 -0
  54. package/dist/production/components/binding/DeleteEntityTrigger.cjs.map +1 -0
  55. package/dist/production/components/binding/DeleteEntityTrigger.js +28 -0
  56. package/dist/production/components/binding/DeleteEntityTrigger.js.map +1 -0
  57. package/dist/production/components/binding/EntityBeforePersist.cjs +9 -0
  58. package/dist/production/components/binding/EntityBeforePersist.cjs.map +1 -0
  59. package/dist/production/components/binding/EntityBeforePersist.js +9 -0
  60. package/dist/production/components/binding/EntityBeforePersist.js.map +1 -0
  61. package/dist/production/components/binding/PersistTrigger.cjs +29 -0
  62. package/dist/production/components/binding/PersistTrigger.cjs.map +1 -0
  63. package/dist/production/components/binding/PersistTrigger.js +29 -0
  64. package/dist/production/components/binding/PersistTrigger.js.map +1 -0
  65. package/dist/production/components/binding/RedirectOnPersist.cjs +16 -0
  66. package/dist/production/components/binding/RedirectOnPersist.cjs.map +1 -0
  67. package/dist/production/components/binding/RedirectOnPersist.js +16 -0
  68. package/dist/production/components/binding/RedirectOnPersist.js.map +1 -0
  69. package/dist/production/index.cjs +41 -0
  70. package/dist/production/index.cjs.map +1 -0
  71. package/dist/production/index.js +20 -0
  72. package/dist/production/index.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 +3 -0
  78. package/dist/types/bootstrap/index.d.ts.map +1 -0
  79. package/dist/types/bootstrap/runReactApp.d.ts +5 -0
  80. package/dist/types/bootstrap/runReactApp.d.ts.map +1 -0
  81. package/dist/types/components/binding/ClearFieldTrigger.d.ts +8 -0
  82. package/dist/types/components/binding/ClearFieldTrigger.d.ts.map +1 -0
  83. package/dist/types/components/binding/DeleteEntityTrigger.d.ts +10 -0
  84. package/dist/types/components/binding/DeleteEntityTrigger.d.ts.map +1 -0
  85. package/dist/types/components/binding/EntityBeforePersist.d.ts +5 -0
  86. package/dist/types/components/binding/EntityBeforePersist.d.ts.map +1 -0
  87. package/dist/types/components/binding/PersistTrigger.d.ts +9 -0
  88. package/dist/types/components/binding/PersistTrigger.d.ts.map +1 -0
  89. package/dist/types/components/binding/RedirectOnPersist.d.ts +5 -0
  90. package/dist/types/components/binding/RedirectOnPersist.d.ts.map +1 -0
  91. package/dist/types/components/binding/index.d.ts +6 -0
  92. package/dist/types/components/binding/index.d.ts.map +1 -0
  93. package/dist/types/components/index.d.ts +2 -0
  94. package/dist/types/components/index.d.ts.map +1 -0
  95. package/dist/types/index.d.ts +6 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/tsconfig.tsbuildinfo +1 -0
  98. package/package.json +61 -0
  99. package/src/bootstrap/ApplicationEntrypoint.tsx +60 -0
  100. package/src/bootstrap/DataViewPageNameKeyProvider.tsx +13 -0
  101. package/src/bootstrap/index.ts +2 -0
  102. package/src/bootstrap/runReactApp.tsx +16 -0
  103. package/src/components/binding/ClearFieldTrigger.tsx +18 -0
  104. package/src/components/binding/DeleteEntityTrigger.tsx +36 -0
  105. package/src/components/binding/EntityBeforePersist.tsx +6 -0
  106. package/src/components/binding/PersistTrigger.tsx +35 -0
  107. package/src/components/binding/RedirectOnPersist.tsx +14 -0
  108. package/src/components/binding/index.ts +5 -0
  109. package/src/components/index.ts +1 -0
  110. package/src/index.ts +5 -0
  111. package/src/tsconfig.json +15 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactBinding = require("@contember/react-binding");
5
+ const reactClient = require("@contember/react-client");
6
+ const reactRouting = require("@contember/react-routing");
7
+ const DataViewPageNameKeyProvider = require("./DataViewPageNameKeyProvider.cjs");
8
+ const reactIdentity = require("@contember/react-identity");
9
+ const validateProps = (props) => {
10
+ if (typeof props.apiBaseUrl !== "string") {
11
+ throw new Error(`The ENV variables haven't been set. Check your \`.env.development.local\` file.`);
12
+ }
13
+ };
14
+ const ApplicationEntrypoint = (props) => {
15
+ validateProps(props);
16
+ const rootEnv = props.environment ?? reactBinding.Environment.create();
17
+ const routing = {
18
+ basePath: props.basePath,
19
+ routes: props.routes ?? { index: { path: "/" } },
20
+ defaultDimensions: rootEnv.getAllDimensions()
21
+ };
22
+ return /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EnvironmentContext.Provider, { value: rootEnv, children: /* @__PURE__ */ jsxRuntime.jsx(reactRouting.RoutingContext.Provider, { value: routing, children: /* @__PURE__ */ jsxRuntime.jsx(reactRouting.RequestProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
23
+ reactClient.ContemberClient,
24
+ {
25
+ apiBaseUrl: props.apiBaseUrl,
26
+ sessionToken: props.sessionToken,
27
+ loginToken: props.loginToken,
28
+ project: props.project,
29
+ stage: props.stage,
30
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EnvironmentExtensionProvider, { extension: reactIdentity.projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsxRuntime.jsx(DataViewPageNameKeyProvider.DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIdentity.IdentityProvider, { children: props.children }) }) })
31
+ }
32
+ ) }) }) });
33
+ };
34
+ exports.ApplicationEntrypoint = ApplicationEntrypoint;
35
+ //# sourceMappingURL=ApplicationEntrypoint.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.cjs","sources":["../../../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 { RequestProvider, RouteMap, RoutingContext, RoutingContextValue, SelectedDimension } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { 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<RoutingContext.Provider value={routing}>\n\t\t\t\t<RequestProvider>\n\t\t\t\t\t<ContemberClient\n\t\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\t\tproject={props.project}\n\t\t\t\t\t\tstage={props.stage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t\t</ContemberClient>\n\t\t\t\t</RequestProvider>\n\t\t\t</RoutingContext.Provider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":["Environment","jsx","EnvironmentContext","RoutingContext","RequestProvider","ContemberClient","EnvironmentExtensionProvider","projectEnvironmentExtension","DataViewPageNameKeyProvider","IdentityProvider"],"mappings":";;;;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAClG;AACD;AAKa,MAAA,wBAAwB,CAAC,UAAsC;AAC3E,gBAAc,KAAK;AAEnB,QAAM,UAAU,MAAM,eAAeA,aAAA,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,EAAA;AAI7C,SACEC,2BAAAA,IAAAC,aAAAA,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAACD,+BAAAE,aAAAA,eAAe,UAAf,EAAwB,OAAO,SAC/B,yCAACC,aACA,iBAAA,EAAA,UAAAH,2BAAA;AAAA,IAACI,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,UAACJ,2BAAAA,IAAAK,aAAA,8BAAA,EAA6B,WAAWC,2CAA6B,OAAO,MAAM,WAAW,MAC7F,UAAAN,+BAACO,4BAAAA,+BACA,UAACP,2BAAA,IAAAQ,gCAAA,EACC,UAAM,MAAA,SAAA,CACR,EACD,CAAA,GACD;AAAA,IAAA;AAAA,EAAA,GAEF,GACD,EACD,CAAA;AAEF;;"}
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Environment, EnvironmentContext, EnvironmentExtensionProvider } from "@contember/react-binding";
3
+ import { ContemberClient } from "@contember/react-client";
4
+ import { RoutingContext, RequestProvider } from "@contember/react-routing";
5
+ import { DataViewPageNameKeyProvider } from "./DataViewPageNameKeyProvider.js";
6
+ import { projectEnvironmentExtension, IdentityProvider } from "@contember/react-identity";
7
+ const validateProps = (props) => {
8
+ if (typeof props.apiBaseUrl !== "string") {
9
+ throw new Error(`The ENV variables haven't been set. Check your \`.env.development.local\` file.`);
10
+ }
11
+ };
12
+ const ApplicationEntrypoint = (props) => {
13
+ validateProps(props);
14
+ const rootEnv = props.environment ?? Environment.create();
15
+ const routing = {
16
+ basePath: props.basePath,
17
+ routes: props.routes ?? { index: { path: "/" } },
18
+ defaultDimensions: rootEnv.getAllDimensions()
19
+ };
20
+ return /* @__PURE__ */ jsx(EnvironmentContext.Provider, { value: rootEnv, children: /* @__PURE__ */ jsx(RoutingContext.Provider, { value: routing, children: /* @__PURE__ */ jsx(RequestProvider, { children: /* @__PURE__ */ jsx(
21
+ ContemberClient,
22
+ {
23
+ apiBaseUrl: props.apiBaseUrl,
24
+ sessionToken: props.sessionToken,
25
+ loginToken: props.loginToken,
26
+ project: props.project,
27
+ stage: props.stage,
28
+ children: /* @__PURE__ */ jsx(EnvironmentExtensionProvider, { extension: projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsx(DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsx(IdentityProvider, { children: props.children }) }) })
29
+ }
30
+ ) }) }) });
31
+ };
32
+ export {
33
+ ApplicationEntrypoint
34
+ };
35
+ //# sourceMappingURL=ApplicationEntrypoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.js","sources":["../../../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 { RequestProvider, RouteMap, RoutingContext, RoutingContextValue, SelectedDimension } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { 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<RoutingContext.Provider value={routing}>\n\t\t\t\t<RequestProvider>\n\t\t\t\t\t<ContemberClient\n\t\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\t\tproject={props.project}\n\t\t\t\t\t\tstage={props.stage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t\t</ContemberClient>\n\t\t\t\t</RequestProvider>\n\t\t\t</RoutingContext.Provider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAClG;AACD;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,EAAA;AAI7C,SACE,oBAAA,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAC,oBAAA,eAAe,UAAf,EAAwB,OAAO,SAC/B,8BAAC,iBACA,EAAA,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,oBAAA,8BAAA,EAA6B,WAAW,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAA,oBAAC,+BACA,UAAC,oBAAA,kBAAA,EACC,UAAM,MAAA,SAAA,CACR,EACD,CAAA,GACD;AAAA,IAAA;AAAA,EAAA,GAEF,GACD,EACD,CAAA;AAEF;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactRouting = require("@contember/react-routing");
5
+ const reactDataview = require("@contember/react-dataview");
6
+ const DataViewPageNameKeyProvider = ({ children }) => {
7
+ const pageName = reactRouting.useCurrentRequest()?.pageName;
8
+ return /* @__PURE__ */ jsxRuntime.jsx(reactDataview.DataViewKeyProvider, { value: pageName ?? "", children });
9
+ };
10
+ exports.DataViewPageNameKeyProvider = DataViewPageNameKeyProvider;
11
+ //# sourceMappingURL=DataViewPageNameKeyProvider.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViewPageNameKeyProvider.cjs","sources":["../../../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","jsx","DataViewKeyProvider"],"mappings":";;;;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAWA,+BAAqB,GAAA;AAEtC,SACEC,2BAAAA,IAAAC,cAAAA,qBAAA,EAAoB,OAAO,YAAY,IACtC,SACF,CAAA;AAEF;;"}
@@ -0,0 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCurrentRequest } from "@contember/react-routing";
3
+ import { DataViewKeyProvider } from "@contember/react-dataview";
4
+ const DataViewPageNameKeyProvider = ({ children }) => {
5
+ const pageName = useCurrentRequest()?.pageName;
6
+ return /* @__PURE__ */ jsx(DataViewKeyProvider, { value: pageName ?? "", children });
7
+ };
8
+ export {
9
+ DataViewPageNameKeyProvider
10
+ };
11
+ //# sourceMappingURL=DataViewPageNameKeyProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViewPageNameKeyProvider.js","sources":["../../../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":[],"mappings":";;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAW,kBAAqB,GAAA;AAEtC,SACE,oBAAA,qBAAA,EAAoB,OAAO,YAAY,IACtC,SACF,CAAA;AAEF;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactDevbar = require("@contember/react-devbar");
4
+ const client = require("react-dom/client");
5
+ const runReactApp = (reactElement, { domRoot } = {}) => {
6
+ const rootEl = domRoot ?? document.body.appendChild(document.createElement("div"));
7
+ const errorHandler = reactDevbar.createErrorHandler((dom, react, onRecoverableError) => client.createRoot(dom, { onRecoverableError }).render(react));
8
+ errorHandler((onRecoverableError) => client.createRoot(rootEl, { onRecoverableError }).render(reactElement));
9
+ };
10
+ exports.runReactApp = runReactApp;
11
+ //# sourceMappingURL=runReactApp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runReactApp.cjs","sources":["../../../src/bootstrap/runReactApp.tsx"],"sourcesContent":["import { ReactElement } from 'react'\nimport { createErrorHandler } from '@contember/react-devbar'\nimport { createRoot } from 'react-dom/client'\n\nexport const runReactApp = (\n\treactElement: ReactElement,\n\t{ domRoot }: {\n\t\tdomRoot?: HTMLElement,\n\t} = {},\n) => {\n\tconst rootEl = domRoot ?? document.body.appendChild(document.createElement('div'))\n\n\tconst errorHandler = createErrorHandler((dom, react, onRecoverableError) => createRoot(dom, { onRecoverableError }).render(react))\n\n\terrorHandler(onRecoverableError => createRoot(rootEl, { onRecoverableError }).render(reactElement))\n}\n"],"names":["createErrorHandler","createRoot"],"mappings":";;;;AAIO,MAAM,cAAc,CAC1B,cACA,EAAE,QAAQ,IAEN,CAAA,MACA;AACE,QAAA,SAAS,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,KAAK,CAAC;AAEjF,QAAM,eAAeA,YAAA,mBAAmB,CAAC,KAAK,OAAO,uBAAuBC,OAAAA,WAAW,KAAK,EAAE,mBAAoB,CAAA,EAAE,OAAO,KAAK,CAAC;AAEpH,eAAA,CAAA,uBAAsBA,OAAAA,WAAW,QAAQ,EAAE,oBAAoB,EAAE,OAAO,YAAY,CAAC;AACnG;;"}
@@ -0,0 +1,11 @@
1
+ import { createErrorHandler } from "@contember/react-devbar";
2
+ import { createRoot } from "react-dom/client";
3
+ const runReactApp = (reactElement, { domRoot } = {}) => {
4
+ const rootEl = domRoot ?? document.body.appendChild(document.createElement("div"));
5
+ const errorHandler = createErrorHandler((dom, react, onRecoverableError) => createRoot(dom, { onRecoverableError }).render(react));
6
+ errorHandler((onRecoverableError) => createRoot(rootEl, { onRecoverableError }).render(reactElement));
7
+ };
8
+ export {
9
+ runReactApp
10
+ };
11
+ //# sourceMappingURL=runReactApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runReactApp.js","sources":["../../../src/bootstrap/runReactApp.tsx"],"sourcesContent":["import { ReactElement } from 'react'\nimport { createErrorHandler } from '@contember/react-devbar'\nimport { createRoot } from 'react-dom/client'\n\nexport const runReactApp = (\n\treactElement: ReactElement,\n\t{ domRoot }: {\n\t\tdomRoot?: HTMLElement,\n\t} = {},\n) => {\n\tconst rootEl = domRoot ?? document.body.appendChild(document.createElement('div'))\n\n\tconst errorHandler = createErrorHandler((dom, react, onRecoverableError) => createRoot(dom, { onRecoverableError }).render(react))\n\n\terrorHandler(onRecoverableError => createRoot(rootEl, { onRecoverableError }).render(reactElement))\n}\n"],"names":[],"mappings":";;AAIO,MAAM,cAAc,CAC1B,cACA,EAAE,QAAQ,IAEN,CAAA,MACA;AACE,QAAA,SAAS,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,KAAK,CAAC;AAEjF,QAAM,eAAe,mBAAmB,CAAC,KAAK,OAAO,uBAAuB,WAAW,KAAK,EAAE,mBAAoB,CAAA,EAAE,OAAO,KAAK,CAAC;AAEpH,eAAA,CAAA,uBAAsB,WAAW,QAAQ,EAAE,oBAAoB,EAAE,OAAO,YAAY,CAAC;AACnG;"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("react");
5
+ const reactSlot = require("@radix-ui/react-slot");
6
+ const reactBinding = require("@contember/react-binding");
7
+ const ClearFieldTrigger = reactBinding.Component(({ field, ...props }) => {
8
+ const fieldAccessor = reactBinding.useField(field);
9
+ const clearField = react.useCallback(() => {
10
+ fieldAccessor.updateValue(null);
11
+ }, [fieldAccessor]);
12
+ return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { onClick: clearField, ...props });
13
+ }, ({ field }) => {
14
+ return /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { field });
15
+ });
16
+ exports.ClearFieldTrigger = ClearFieldTrigger;
17
+ //# sourceMappingURL=ClearFieldTrigger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFieldTrigger.cjs","sources":["../../../../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","jsx","Slot","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,2BAAAA,IAAAC,UAAAA,MAAA,EAAK,SAAS,YAAa,GAAG,MAAO,CAAA;AAC9C,GAAG,CAAC,EAAE,YAAY;AACV,SAAAD,+BAACE,aAAAA,SAAM,MAAc,CAAA;AAC7B,CAAC;;"}
@@ -0,0 +1,17 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { Component, useField, Field } from "@contember/react-binding";
5
+ const ClearFieldTrigger = Component(({ field, ...props }) => {
6
+ const fieldAccessor = useField(field);
7
+ const clearField = useCallback(() => {
8
+ fieldAccessor.updateValue(null);
9
+ }, [fieldAccessor]);
10
+ return /* @__PURE__ */ jsx(Slot, { onClick: clearField, ...props });
11
+ }, ({ field }) => {
12
+ return /* @__PURE__ */ jsx(Field, { field });
13
+ });
14
+ export {
15
+ ClearFieldTrigger
16
+ };
17
+ //# sourceMappingURL=ClearFieldTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFieldTrigger.js","sources":["../../../../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":[],"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,oBAAA,MAAA,EAAK,SAAS,YAAa,GAAG,MAAO,CAAA;AAC9C,GAAG,CAAC,EAAE,YAAY;AACV,SAAA,oBAAC,SAAM,MAAc,CAAA;AAC7B,CAAC;"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("react");
5
+ const reactSlot = require("@radix-ui/react-slot");
6
+ const reactBinding = require("@contember/react-binding");
7
+ const SlotButton = reactSlot.Slot;
8
+ const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
9
+ const parentEntity = reactBinding.useEntity();
10
+ const triggerPersist = reactBinding.usePersist();
11
+ const isMutating = reactBinding.useMutationState();
12
+ const onClick = react.useCallback(() => {
13
+ parentEntity.deleteEntity();
14
+ if (immediatePersist) {
15
+ triggerPersist().then(onPersistSuccess).catch(onPersistError);
16
+ }
17
+ }, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
18
+ return /* @__PURE__ */ jsxRuntime.jsx(
19
+ SlotButton,
20
+ {
21
+ onClick,
22
+ disabled: isMutating ? true : void 0,
23
+ ...props
24
+ }
25
+ );
26
+ };
27
+ exports.DeleteEntityTrigger = DeleteEntityTrigger;
28
+ //# sourceMappingURL=DeleteEntityTrigger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteEntityTrigger.cjs","sources":["../../../../src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: true\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\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}, [parentEntity, immediatePersist, 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","jsx"],"mappings":";;;;;;AAKA,MAAM,aAAaA,UAAAA;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAeC,aAAAA;AACrB,QAAM,iBAAiBC,aAAAA;AACvB,QAAM,aAAaC,aAAAA;AACb,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { useEntity, usePersist, useMutationState } from "@contember/react-binding";
5
+ const SlotButton = Slot;
6
+ const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }) => {
7
+ const parentEntity = useEntity();
8
+ const triggerPersist = usePersist();
9
+ const isMutating = useMutationState();
10
+ const onClick = useCallback(() => {
11
+ parentEntity.deleteEntity();
12
+ if (immediatePersist) {
13
+ triggerPersist().then(onPersistSuccess).catch(onPersistError);
14
+ }
15
+ }, [parentEntity, immediatePersist, triggerPersist, onPersistSuccess, onPersistError]);
16
+ return /* @__PURE__ */ jsx(
17
+ SlotButton,
18
+ {
19
+ onClick,
20
+ disabled: isMutating ? true : void 0,
21
+ ...props
22
+ }
23
+ );
24
+ };
25
+ export {
26
+ DeleteEntityTrigger
27
+ };
28
+ //# sourceMappingURL=DeleteEntityTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteEntityTrigger.js","sources":["../../../../src/components/binding/DeleteEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ErrorPersistResult, SuccessfulPersistResult, useEntity, useMutationState, usePersist } from '@contember/react-binding'\n\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface DeleteEntityTriggerProps {\n\timmediatePersist?: true\n\tchildren: ReactNode\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const DeleteEntityTrigger = ({ immediatePersist, onPersistError, onPersistSuccess, ...props }: DeleteEntityTriggerProps) => {\n\tconst parentEntity = useEntity()\n\tconst triggerPersist = usePersist()\n\tconst isMutating = useMutationState()\n\tconst onClick = useCallback(() => {\n\t\tparentEntity.deleteEntity()\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}, [parentEntity, immediatePersist, 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":[],"mappings":";;;;AAKA,MAAM,aAAa;AASN,MAAA,sBAAsB,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,GAAG,YAAsC;AAClI,QAAM,eAAe;AACrB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AACb,QAAA,UAAU,YAAY,MAAM;AACjC,iBAAa,aAAa;AAE1B,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,cAAc,kBAAkB,gBAAgB,kBAAkB,cAAc,CAAC;AAGpF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactBinding = require("@contember/react-binding");
4
+ const EntityBeforePersist = ({ listener }) => {
5
+ reactBinding.useEntityBeforePersist(listener);
6
+ return null;
7
+ };
8
+ exports.EntityBeforePersist = EntityBeforePersist;
9
+ //# sourceMappingURL=EntityBeforePersist.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityBeforePersist.cjs","sources":["../../../../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,eAAA,uBAAuB,QAAQ;AACxB,SAAA;AACR;;"}
@@ -0,0 +1,9 @@
1
+ import { useEntityBeforePersist } from "@contember/react-binding";
2
+ const EntityBeforePersist = ({ listener }) => {
3
+ useEntityBeforePersist(listener);
4
+ return null;
5
+ };
6
+ export {
7
+ EntityBeforePersist
8
+ };
9
+ //# sourceMappingURL=EntityBeforePersist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityBeforePersist.js","sources":["../../../../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;"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactBinding = require("@contember/react-binding");
5
+ const react = require("react");
6
+ const reactSlot = require("@radix-ui/react-slot");
7
+ const utilities = require("@contember/utilities");
8
+ const SlotButton = reactSlot.Slot;
9
+ const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
10
+ const isMutating = reactBinding.useMutationState();
11
+ const isDirty = reactBinding.useDirtinessState();
12
+ const triggerPersist = reactBinding.usePersist();
13
+ const onClick = react.useCallback(() => {
14
+ triggerPersist().then(onPersistSuccess).catch(onPersistError);
15
+ }, [onPersistError, onPersistSuccess, triggerPersist]);
16
+ const isDisabled = isMutating || !isDirty;
17
+ return /* @__PURE__ */ jsxRuntime.jsx(
18
+ SlotButton,
19
+ {
20
+ disabled: isDisabled,
21
+ "data-dirty": utilities.dataAttribute(isDirty),
22
+ "data-loading": utilities.dataAttribute(isMutating),
23
+ onClick,
24
+ ...props
25
+ }
26
+ );
27
+ };
28
+ exports.PersistTrigger = PersistTrigger;
29
+ //# sourceMappingURL=PersistTrigger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistTrigger.cjs","sources":["../../../../src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Slot","useMutationState","useDirtinessState","usePersist","useCallback","jsx","dataAttribute"],"mappings":";;;;;;;AAKA,MAAM,aAAaA,UAAAA;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAaC,aAAAA;AACnB,QAAM,UAAUC,aAAAA;AAChB,QAAM,iBAAiBC,aAAAA;AACjB,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAYC,wBAAc,OAAO;AAAA,MACjC,gBAAcA,wBAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
@@ -0,0 +1,29 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMutationState, useDirtinessState, usePersist } from "@contember/react-binding";
3
+ import { useCallback } from "react";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { dataAttribute } from "@contember/utilities";
6
+ const SlotButton = Slot;
7
+ const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }) => {
8
+ const isMutating = useMutationState();
9
+ const isDirty = useDirtinessState();
10
+ const triggerPersist = usePersist();
11
+ const onClick = useCallback(() => {
12
+ triggerPersist().then(onPersistSuccess).catch(onPersistError);
13
+ }, [onPersistError, onPersistSuccess, triggerPersist]);
14
+ const isDisabled = isMutating || !isDirty;
15
+ return /* @__PURE__ */ jsx(
16
+ SlotButton,
17
+ {
18
+ disabled: isDisabled,
19
+ "data-dirty": dataAttribute(isDirty),
20
+ "data-loading": dataAttribute(isMutating),
21
+ onClick,
22
+ ...props
23
+ }
24
+ );
25
+ };
26
+ export {
27
+ PersistTrigger
28
+ };
29
+ //# sourceMappingURL=PersistTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistTrigger.js","sources":["../../../../src/components/binding/PersistTrigger.tsx"],"sourcesContent":["import { ErrorPersistResult, SuccessfulPersistResult, useDirtinessState, useMutationState, usePersist } from '@contember/react-binding'\nimport { ComponentType, ReactElement, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { dataAttribute } from '@contember/utilities'\n\nconst SlotButton = Slot as ComponentType<React.ButtonHTMLAttributes<HTMLButtonElement>>\n\nexport interface PersistTriggerProps {\n\tchildren: ReactElement\n\tonPersistSuccess?: (result: SuccessfulPersistResult) => void\n\tonPersistError?: (result: ErrorPersistResult) => void\n}\n\nexport const PersistTrigger = ({ onPersistError, onPersistSuccess, ...props }: PersistTriggerProps) => {\n\tconst isMutating = useMutationState()\n\tconst isDirty = useDirtinessState()\n\tconst triggerPersist = usePersist()\n\tconst onClick = useCallback(() => {\n\t\ttriggerPersist()\n\t\t\t.then(onPersistSuccess)\n\t\t\t.catch(onPersistError)\n\t}, [onPersistError, onPersistSuccess, triggerPersist])\n\n\tconst isDisabled = isMutating || !isDirty\n\n\treturn (\n\t\t<SlotButton\n\t\t\tdisabled={isDisabled}\n\t\t\tdata-dirty={dataAttribute(isDirty)}\n\t\t\tdata-loading={dataAttribute(isMutating)}\n\t\t\tonClick={onClick}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAM,aAAa;AAQZ,MAAM,iBAAiB,CAAC,EAAE,gBAAgB,kBAAkB,GAAG,YAAiC;AACtG,QAAM,aAAa;AACnB,QAAM,UAAU;AAChB,QAAM,iBAAiB;AACjB,QAAA,UAAU,YAAY,MAAM;AACjC,mBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,EACpB,GAAA,CAAC,gBAAgB,kBAAkB,cAAc,CAAC;AAE/C,QAAA,aAAa,cAAc,CAAC;AAGjC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,UAAU;AAAA,MACV,cAAY,cAAc,OAAO;AAAA,MACjC,gBAAc,cAAc,UAAU;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactBinding = require("@contember/react-binding");
4
+ const reactRouting = require("@contember/react-routing");
5
+ const RedirectOnPersist = ({ to }) => {
6
+ const redirect = reactRouting.useRedirect();
7
+ reactBinding.useEntityPersistSuccess((getEntity, options) => {
8
+ if (options.successType !== "justSuccess") {
9
+ return;
10
+ }
11
+ redirect(to);
12
+ });
13
+ return null;
14
+ };
15
+ exports.RedirectOnPersist = RedirectOnPersist;
16
+ //# sourceMappingURL=RedirectOnPersist.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedirectOnPersist.cjs","sources":["../../../../src/components/binding/RedirectOnPersist.tsx"],"sourcesContent":["import { useEntityPersistSuccess } from '@contember/react-binding'\nimport { useRedirect } from '@contember/react-routing'\nimport { RoutingLinkTarget } from '@contember/react-routing'\n\nexport const RedirectOnPersist = ({ to }: { to: RoutingLinkTarget }) => {\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)\n\t})\n\treturn null\n}\n"],"names":["useRedirect","useEntityPersistSuccess"],"mappings":";;;;AAIO,MAAM,oBAAoB,CAAC,EAAE,SAAoC;AACvE,QAAM,WAAWA,aAAAA;AACOC,uCAAA,CAAC,WAAW,YAAY;AAC3C,QAAA,QAAQ,gBAAgB,eAAe;AAC1C;AAAA,IACD;AACA,aAAS,EAAE;AAAA,EAAA,CACX;AACM,SAAA;AACR;;"}
@@ -0,0 +1,16 @@
1
+ import { useEntityPersistSuccess } from "@contember/react-binding";
2
+ import { useRedirect } from "@contember/react-routing";
3
+ const RedirectOnPersist = ({ to }) => {
4
+ const redirect = useRedirect();
5
+ useEntityPersistSuccess((getEntity, options) => {
6
+ if (options.successType !== "justSuccess") {
7
+ return;
8
+ }
9
+ redirect(to);
10
+ });
11
+ return null;
12
+ };
13
+ export {
14
+ RedirectOnPersist
15
+ };
16
+ //# sourceMappingURL=RedirectOnPersist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedirectOnPersist.js","sources":["../../../../src/components/binding/RedirectOnPersist.tsx"],"sourcesContent":["import { useEntityPersistSuccess } from '@contember/react-binding'\nimport { useRedirect } from '@contember/react-routing'\nimport { RoutingLinkTarget } from '@contember/react-routing'\n\nexport const RedirectOnPersist = ({ to }: { to: RoutingLinkTarget }) => {\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)\n\t})\n\treturn null\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,CAAC,EAAE,SAAoC;AACvE,QAAM,WAAW;AACO,0BAAA,CAAC,WAAW,YAAY;AAC3C,QAAA,QAAQ,gBAAgB,eAAe;AAC1C;AAAA,IACD;AACA,aAAS,EAAE;AAAA,EAAA,CACX;AACM,SAAA;AACR;"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactRouting = require("@contember/react-routing");
4
+ const reactBinding = require("@contember/react-binding");
5
+ const reactIdentity = require("@contember/react-identity");
6
+ const ApplicationEntrypoint = require("./bootstrap/ApplicationEntrypoint.cjs");
7
+ const runReactApp = require("./bootstrap/runReactApp.cjs");
8
+ const ClearFieldTrigger = require("./components/binding/ClearFieldTrigger.cjs");
9
+ const DeleteEntityTrigger = require("./components/binding/DeleteEntityTrigger.cjs");
10
+ const PersistTrigger = require("./components/binding/PersistTrigger.cjs");
11
+ const EntityBeforePersist = require("./components/binding/EntityBeforePersist.cjs");
12
+ const RedirectOnPersist = require("./components/binding/RedirectOnPersist.cjs");
13
+ exports.ApplicationEntrypoint = ApplicationEntrypoint.ApplicationEntrypoint;
14
+ exports.runReactApp = runReactApp.runReactApp;
15
+ exports.ClearFieldTrigger = ClearFieldTrigger.ClearFieldTrigger;
16
+ exports.DeleteEntityTrigger = DeleteEntityTrigger.DeleteEntityTrigger;
17
+ exports.PersistTrigger = PersistTrigger.PersistTrigger;
18
+ exports.EntityBeforePersist = EntityBeforePersist.EntityBeforePersist;
19
+ exports.RedirectOnPersist = RedirectOnPersist.RedirectOnPersist;
20
+ Object.keys(reactRouting).forEach((k) => {
21
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
22
+ Object.defineProperty(exports, k, {
23
+ enumerable: true,
24
+ get: () => reactRouting[k]
25
+ });
26
+ });
27
+ Object.keys(reactBinding).forEach((k) => {
28
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
29
+ Object.defineProperty(exports, k, {
30
+ enumerable: true,
31
+ get: () => reactBinding[k]
32
+ });
33
+ });
34
+ Object.keys(reactIdentity).forEach((k) => {
35
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
36
+ Object.defineProperty(exports, k, {
37
+ enumerable: true,
38
+ get: () => reactIdentity[k]
39
+ });
40
+ });
41
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ export * from "@contember/react-routing";
2
+ export * from "@contember/react-binding";
3
+ export * from "@contember/react-identity";
4
+ import { ApplicationEntrypoint } from "./bootstrap/ApplicationEntrypoint.js";
5
+ import { runReactApp } from "./bootstrap/runReactApp.js";
6
+ import { ClearFieldTrigger } from "./components/binding/ClearFieldTrigger.js";
7
+ import { DeleteEntityTrigger } from "./components/binding/DeleteEntityTrigger.js";
8
+ import { PersistTrigger } from "./components/binding/PersistTrigger.js";
9
+ import { EntityBeforePersist } from "./components/binding/EntityBeforePersist.js";
10
+ import { RedirectOnPersist } from "./components/binding/RedirectOnPersist.js";
11
+ export {
12
+ ApplicationEntrypoint,
13
+ ClearFieldTrigger,
14
+ DeleteEntityTrigger,
15
+ EntityBeforePersist,
16
+ PersistTrigger,
17
+ RedirectOnPersist,
18
+ runReactApp
19
+ };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactBinding = require("@contember/react-binding");
5
+ const reactClient = require("@contember/react-client");
6
+ const reactRouting = require("@contember/react-routing");
7
+ const DataViewPageNameKeyProvider = require("./DataViewPageNameKeyProvider.cjs");
8
+ const reactIdentity = require("@contember/react-identity");
9
+ const validateProps = (props) => {
10
+ if (typeof props.apiBaseUrl !== "string") {
11
+ throw new Error(`The ENV variables haven't been set. Check your \`.env.development.local\` file.`);
12
+ }
13
+ };
14
+ const ApplicationEntrypoint = (props) => {
15
+ validateProps(props);
16
+ const rootEnv = props.environment ?? reactBinding.Environment.create();
17
+ const routing = {
18
+ basePath: props.basePath,
19
+ routes: props.routes ?? { index: { path: "/" } },
20
+ defaultDimensions: rootEnv.getAllDimensions()
21
+ };
22
+ return /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EnvironmentContext.Provider, { value: rootEnv, children: /* @__PURE__ */ jsxRuntime.jsx(reactRouting.RoutingContext.Provider, { value: routing, children: /* @__PURE__ */ jsxRuntime.jsx(reactRouting.RequestProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
23
+ reactClient.ContemberClient,
24
+ {
25
+ apiBaseUrl: props.apiBaseUrl,
26
+ sessionToken: props.sessionToken,
27
+ loginToken: props.loginToken,
28
+ project: props.project,
29
+ stage: props.stage,
30
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EnvironmentExtensionProvider, { extension: reactIdentity.projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsxRuntime.jsx(DataViewPageNameKeyProvider.DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIdentity.IdentityProvider, { children: props.children }) }) })
31
+ }
32
+ ) }) }) });
33
+ };
34
+ exports.ApplicationEntrypoint = ApplicationEntrypoint;
35
+ //# sourceMappingURL=ApplicationEntrypoint.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.cjs","sources":["../../../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 { RequestProvider, RouteMap, RoutingContext, RoutingContextValue, SelectedDimension } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { 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<RoutingContext.Provider value={routing}>\n\t\t\t\t<RequestProvider>\n\t\t\t\t\t<ContemberClient\n\t\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\t\tproject={props.project}\n\t\t\t\t\t\tstage={props.stage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t\t</ContemberClient>\n\t\t\t\t</RequestProvider>\n\t\t\t</RoutingContext.Provider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":["Environment","jsx","EnvironmentContext","RoutingContext","RequestProvider","ContemberClient","EnvironmentExtensionProvider","projectEnvironmentExtension","DataViewPageNameKeyProvider","IdentityProvider"],"mappings":";;;;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAClG;AACD;AAKa,MAAA,wBAAwB,CAAC,UAAsC;AAC3E,gBAAc,KAAK;AAEnB,QAAM,UAAU,MAAM,eAAeA,aAAA,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,EAAA;AAI7C,SACEC,2BAAAA,IAAAC,aAAAA,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAACD,+BAAAE,aAAAA,eAAe,UAAf,EAAwB,OAAO,SAC/B,yCAACC,aACA,iBAAA,EAAA,UAAAH,2BAAA;AAAA,IAACI,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,UAACJ,2BAAAA,IAAAK,aAAA,8BAAA,EAA6B,WAAWC,2CAA6B,OAAO,MAAM,WAAW,MAC7F,UAAAN,+BAACO,4BAAAA,+BACA,UAACP,2BAAA,IAAAQ,gCAAA,EACC,UAAM,MAAA,SAAA,CACR,EACD,CAAA,GACD;AAAA,IAAA;AAAA,EAAA,GAEF,GACD,EACD,CAAA;AAEF;;"}
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Environment, EnvironmentContext, EnvironmentExtensionProvider } from "@contember/react-binding";
3
+ import { ContemberClient } from "@contember/react-client";
4
+ import { RoutingContext, RequestProvider } from "@contember/react-routing";
5
+ import { DataViewPageNameKeyProvider } from "./DataViewPageNameKeyProvider.js";
6
+ import { projectEnvironmentExtension, IdentityProvider } from "@contember/react-identity";
7
+ const validateProps = (props) => {
8
+ if (typeof props.apiBaseUrl !== "string") {
9
+ throw new Error(`The ENV variables haven't been set. Check your \`.env.development.local\` file.`);
10
+ }
11
+ };
12
+ const ApplicationEntrypoint = (props) => {
13
+ validateProps(props);
14
+ const rootEnv = props.environment ?? Environment.create();
15
+ const routing = {
16
+ basePath: props.basePath,
17
+ routes: props.routes ?? { index: { path: "/" } },
18
+ defaultDimensions: rootEnv.getAllDimensions()
19
+ };
20
+ return /* @__PURE__ */ jsx(EnvironmentContext.Provider, { value: rootEnv, children: /* @__PURE__ */ jsx(RoutingContext.Provider, { value: routing, children: /* @__PURE__ */ jsx(RequestProvider, { children: /* @__PURE__ */ jsx(
21
+ ContemberClient,
22
+ {
23
+ apiBaseUrl: props.apiBaseUrl,
24
+ sessionToken: props.sessionToken,
25
+ loginToken: props.loginToken,
26
+ project: props.project,
27
+ stage: props.stage,
28
+ children: /* @__PURE__ */ jsx(EnvironmentExtensionProvider, { extension: projectEnvironmentExtension, state: props.project ?? null, children: /* @__PURE__ */ jsx(DataViewPageNameKeyProvider, { children: /* @__PURE__ */ jsx(IdentityProvider, { children: props.children }) }) })
29
+ }
30
+ ) }) }) });
31
+ };
32
+ export {
33
+ ApplicationEntrypoint
34
+ };
35
+ //# sourceMappingURL=ApplicationEntrypoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationEntrypoint.js","sources":["../../../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 { RequestProvider, RouteMap, RoutingContext, RoutingContextValue, SelectedDimension } from '@contember/react-routing'\nimport { DataViewPageNameKeyProvider } from './DataViewPageNameKeyProvider'\nimport { 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<RoutingContext.Provider value={routing}>\n\t\t\t\t<RequestProvider>\n\t\t\t\t\t<ContemberClient\n\t\t\t\t\t\tapiBaseUrl={props.apiBaseUrl}\n\t\t\t\t\t\tsessionToken={props.sessionToken}\n\t\t\t\t\t\tloginToken={props.loginToken}\n\t\t\t\t\t\tproject={props.project}\n\t\t\t\t\t\tstage={props.stage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<EnvironmentExtensionProvider extension={projectEnvironmentExtension} state={props.project ?? null}>\n\t\t\t\t\t\t\t<DataViewPageNameKeyProvider>\n\t\t\t\t\t\t\t\t<IdentityProvider>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</IdentityProvider>\n\t\t\t\t\t\t\t</DataViewPageNameKeyProvider>\n\t\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t\t</ContemberClient>\n\t\t\t\t</RequestProvider>\n\t\t\t</RoutingContext.Provider>\n\t\t</EnvironmentContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;;AAeA,MAAM,gBAAgB,CAAC,UAA+C;AACjE,MAAA,OAAO,MAAM,eAAe,UAAU;AACnC,UAAA,IAAI,MAAM,iFAAiF;AAAA,EAClG;AACD;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,EAAA;AAI7C,SACE,oBAAA,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAC,oBAAA,eAAe,UAAf,EAAwB,OAAO,SAC/B,8BAAC,iBACA,EAAA,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,oBAAA,8BAAA,EAA6B,WAAW,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAA,oBAAC,+BACA,UAAC,oBAAA,kBAAA,EACC,UAAM,MAAA,SAAA,CACR,EACD,CAAA,GACD;AAAA,IAAA;AAAA,EAAA,GAEF,GACD,EACD,CAAA;AAEF;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactRouting = require("@contember/react-routing");
5
+ const reactDataview = require("@contember/react-dataview");
6
+ const DataViewPageNameKeyProvider = ({ children }) => {
7
+ const pageName = reactRouting.useCurrentRequest()?.pageName;
8
+ return /* @__PURE__ */ jsxRuntime.jsx(reactDataview.DataViewKeyProvider, { value: pageName ?? "", children });
9
+ };
10
+ exports.DataViewPageNameKeyProvider = DataViewPageNameKeyProvider;
11
+ //# sourceMappingURL=DataViewPageNameKeyProvider.cjs.map