@contember/interface 2.0.0-alpha.6 → 2.0.0-alpha.9

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 (124) hide show
  1. package/api-extractor.json +3 -0
  2. package/dist/development/index.cjs +20 -23
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +8 -8
  5. package/dist/development/{bootstrap → src/bootstrap}/ApplicationEntrypoint.cjs +7 -7
  6. package/dist/development/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  7. package/dist/development/{bootstrap → src/bootstrap}/ApplicationEntrypoint.js +7 -7
  8. package/dist/development/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  9. package/dist/development/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.cjs +1 -1
  10. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  11. package/dist/development/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.js +1 -1
  12. package/dist/development/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  13. package/dist/development/{components → src/components}/binding/ClearFieldTrigger.cjs +4 -4
  14. package/dist/development/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  15. package/dist/development/{components → src/components}/binding/ClearFieldTrigger.js +2 -2
  16. package/dist/development/src/components/binding/ClearFieldTrigger.js.map +1 -0
  17. package/dist/development/{components → src/components}/binding/DeleteEntityTrigger.cjs +3 -3
  18. package/dist/development/src/components/binding/DeleteEntityTrigger.cjs.map +1 -0
  19. package/dist/development/{components → src/components}/binding/DeleteEntityTrigger.js +1 -1
  20. package/dist/development/src/components/binding/DeleteEntityTrigger.js.map +1 -0
  21. package/dist/development/{components → src/components}/binding/DisconnectEntityTrigger.cjs +3 -3
  22. package/dist/development/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  23. package/dist/development/{components → src/components}/binding/DisconnectEntityTrigger.js +1 -1
  24. package/dist/development/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  25. package/dist/development/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  26. package/dist/development/src/components/binding/EntityBeforePersist.js.map +1 -0
  27. package/dist/development/{components → src/components}/binding/PersistTrigger.cjs +3 -3
  28. package/dist/development/src/components/binding/PersistTrigger.cjs.map +1 -0
  29. package/dist/development/{components → src/components}/binding/PersistTrigger.js +1 -1
  30. package/dist/development/src/components/binding/PersistTrigger.js.map +1 -0
  31. package/dist/{production → development/src}/components/binding/RedirectOnPersist.cjs +2 -2
  32. package/dist/development/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  33. package/dist/development/{components → src/components}/binding/RedirectOnPersist.js +2 -2
  34. package/dist/development/src/components/binding/RedirectOnPersist.js.map +1 -0
  35. package/dist/development/{hooks → src/hooks}/useIsApplicationOutdated.cjs +7 -7
  36. package/dist/development/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  37. package/dist/development/src/hooks/useIsApplicationOutdated.js.map +1 -0
  38. package/dist/production/index.cjs +20 -23
  39. package/dist/production/index.cjs.map +1 -1
  40. package/dist/production/index.js +8 -8
  41. package/dist/production/src/bootstrap/ApplicationEntrypoint.cjs.map +1 -0
  42. package/dist/production/src/bootstrap/ApplicationEntrypoint.js.map +1 -0
  43. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.cjs.map +1 -0
  44. package/dist/production/src/bootstrap/DataViewPageNameKeyProvider.js.map +1 -0
  45. package/dist/production/{components → src/components}/binding/ClearFieldTrigger.cjs +2 -2
  46. package/dist/production/src/components/binding/ClearFieldTrigger.cjs.map +1 -0
  47. package/dist/production/src/components/binding/ClearFieldTrigger.js.map +1 -0
  48. package/dist/production/{components → src/components}/binding/DeleteEntityTrigger.cjs +2 -2
  49. package/dist/production/src/components/binding/DeleteEntityTrigger.cjs.map +1 -0
  50. package/dist/production/src/components/binding/DeleteEntityTrigger.js.map +1 -0
  51. package/dist/production/{components → src/components}/binding/DisconnectEntityTrigger.cjs +2 -2
  52. package/dist/production/src/components/binding/DisconnectEntityTrigger.cjs.map +1 -0
  53. package/dist/production/src/components/binding/DisconnectEntityTrigger.js.map +1 -0
  54. package/dist/production/src/components/binding/EntityBeforePersist.cjs.map +1 -0
  55. package/dist/production/src/components/binding/EntityBeforePersist.js.map +1 -0
  56. package/dist/production/{components → src/components}/binding/PersistTrigger.cjs +2 -2
  57. package/dist/production/src/components/binding/PersistTrigger.cjs.map +1 -0
  58. package/dist/production/src/components/binding/PersistTrigger.js.map +1 -0
  59. package/dist/{development → production/src}/components/binding/RedirectOnPersist.cjs +2 -2
  60. package/dist/production/src/components/binding/RedirectOnPersist.cjs.map +1 -0
  61. package/dist/production/{components → src/components}/binding/RedirectOnPersist.js +2 -2
  62. package/dist/production/src/components/binding/RedirectOnPersist.js.map +1 -0
  63. package/dist/production/{hooks → src/hooks}/useIsApplicationOutdated.cjs +7 -7
  64. package/dist/production/src/hooks/useIsApplicationOutdated.cjs.map +1 -0
  65. package/dist/production/src/hooks/useIsApplicationOutdated.js.map +1 -0
  66. package/dist/types/components/binding/EntityBeforePersist.d.ts +1 -1
  67. package/dist/types/components/binding/EntityBeforePersist.d.ts.map +1 -1
  68. package/dist/types/components/binding/RedirectOnPersist.d.ts +3 -1
  69. package/dist/types/components/binding/RedirectOnPersist.d.ts.map +1 -1
  70. package/dist/types/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +11 -19
  72. package/src/components/binding/RedirectOnPersist.tsx +3 -3
  73. package/tsconfig.json +7 -0
  74. package/tsdoc.json +6 -0
  75. package/dist/development/bootstrap/ApplicationEntrypoint.cjs.map +0 -1
  76. package/dist/development/bootstrap/ApplicationEntrypoint.js.map +0 -1
  77. package/dist/development/bootstrap/DataViewPageNameKeyProvider.cjs.map +0 -1
  78. package/dist/development/bootstrap/DataViewPageNameKeyProvider.js.map +0 -1
  79. package/dist/development/components/binding/ClearFieldTrigger.cjs.map +0 -1
  80. package/dist/development/components/binding/ClearFieldTrigger.js.map +0 -1
  81. package/dist/development/components/binding/DeleteEntityTrigger.cjs.map +0 -1
  82. package/dist/development/components/binding/DeleteEntityTrigger.js.map +0 -1
  83. package/dist/development/components/binding/DisconnectEntityTrigger.cjs.map +0 -1
  84. package/dist/development/components/binding/DisconnectEntityTrigger.js.map +0 -1
  85. package/dist/development/components/binding/EntityBeforePersist.cjs.map +0 -1
  86. package/dist/development/components/binding/EntityBeforePersist.js.map +0 -1
  87. package/dist/development/components/binding/PersistTrigger.cjs.map +0 -1
  88. package/dist/development/components/binding/PersistTrigger.js.map +0 -1
  89. package/dist/development/components/binding/RedirectOnPersist.cjs.map +0 -1
  90. package/dist/development/components/binding/RedirectOnPersist.js.map +0 -1
  91. package/dist/development/hooks/useIsApplicationOutdated.cjs.map +0 -1
  92. package/dist/development/hooks/useIsApplicationOutdated.js.map +0 -1
  93. package/dist/production/bootstrap/ApplicationEntrypoint.cjs.map +0 -1
  94. package/dist/production/bootstrap/ApplicationEntrypoint.js.map +0 -1
  95. package/dist/production/bootstrap/DataViewPageNameKeyProvider.cjs.map +0 -1
  96. package/dist/production/bootstrap/DataViewPageNameKeyProvider.js.map +0 -1
  97. package/dist/production/components/binding/ClearFieldTrigger.cjs.map +0 -1
  98. package/dist/production/components/binding/ClearFieldTrigger.js.map +0 -1
  99. package/dist/production/components/binding/DeleteEntityTrigger.cjs.map +0 -1
  100. package/dist/production/components/binding/DeleteEntityTrigger.js.map +0 -1
  101. package/dist/production/components/binding/DisconnectEntityTrigger.cjs.map +0 -1
  102. package/dist/production/components/binding/DisconnectEntityTrigger.js.map +0 -1
  103. package/dist/production/components/binding/EntityBeforePersist.cjs.map +0 -1
  104. package/dist/production/components/binding/EntityBeforePersist.js.map +0 -1
  105. package/dist/production/components/binding/PersistTrigger.cjs.map +0 -1
  106. package/dist/production/components/binding/PersistTrigger.js.map +0 -1
  107. package/dist/production/components/binding/RedirectOnPersist.cjs.map +0 -1
  108. package/dist/production/components/binding/RedirectOnPersist.js.map +0 -1
  109. package/dist/production/hooks/useIsApplicationOutdated.cjs.map +0 -1
  110. package/dist/production/hooks/useIsApplicationOutdated.js.map +0 -1
  111. /package/dist/development/{components → src/components}/binding/EntityBeforePersist.cjs +0 -0
  112. /package/dist/development/{components → src/components}/binding/EntityBeforePersist.js +0 -0
  113. /package/dist/development/{hooks → src/hooks}/useIsApplicationOutdated.js +0 -0
  114. /package/dist/production/{bootstrap → src/bootstrap}/ApplicationEntrypoint.cjs +0 -0
  115. /package/dist/production/{bootstrap → src/bootstrap}/ApplicationEntrypoint.js +0 -0
  116. /package/dist/production/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.cjs +0 -0
  117. /package/dist/production/{bootstrap → src/bootstrap}/DataViewPageNameKeyProvider.js +0 -0
  118. /package/dist/production/{components → src/components}/binding/ClearFieldTrigger.js +0 -0
  119. /package/dist/production/{components → src/components}/binding/DeleteEntityTrigger.js +0 -0
  120. /package/dist/production/{components → src/components}/binding/DisconnectEntityTrigger.js +0 -0
  121. /package/dist/production/{components → src/components}/binding/EntityBeforePersist.cjs +0 -0
  122. /package/dist/production/{components → src/components}/binding/EntityBeforePersist.js +0 -0
  123. /package/dist/production/{components → src/components}/binding/PersistTrigger.js +0 -0
  124. /package/dist/production/{hooks → src/hooks}/useIsApplicationOutdated.js +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contember/interface",
3
3
  "license": "Apache-2.0",
4
- "version": "2.0.0-alpha.6",
4
+ "version": "2.0.0-alpha.9",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "./dist/production/index.js",
@@ -17,31 +17,24 @@
17
17
  "types": "./dist/types/index.d.ts",
18
18
  "development": "./dist/development/index.cjs",
19
19
  "production": "./dist/production/index.cjs",
20
+ "typescript": "./src/index.ts",
20
21
  "default": "./dist/production/index.cjs"
21
22
  }
22
23
  }
23
24
  },
24
- "files": [
25
- "dist/",
26
- "src/"
27
- ],
28
25
  "typings": "./dist/types/index.d.ts",
29
26
  "scripts": {
30
- "build": "yarn build:js:dev && yarn build:js:prod",
31
- "build:js:dev": "NODE_ENV=development vite build --mode development",
32
- "build:js:prod": "vite build --mode production",
33
27
  "ae:build": "api-extractor run --local",
34
- "ae:test": "api-extractor run",
35
- "test": "vitest"
28
+ "ae:test": "api-extractor run"
36
29
  },
37
30
  "dependencies": {
38
- "@contember/react-binding": "2.0.0-alpha.6",
39
- "@contember/react-client": "2.0.0-alpha.6",
40
- "@contember/react-dataview": "2.0.0-alpha.6",
41
- "@contember/react-devbar": "2.0.0-alpha.6",
42
- "@contember/react-identity": "2.0.0-alpha.6",
43
- "@contember/react-routing": "2.0.0-alpha.6",
44
- "@contember/utilities": "2.0.0-alpha.6",
31
+ "@contember/react-binding": "2.0.0-alpha.9",
32
+ "@contember/react-client": "2.0.0-alpha.9",
33
+ "@contember/react-dataview": "2.0.0-alpha.9",
34
+ "@contember/react-devbar": "2.0.0-alpha.9",
35
+ "@contember/react-identity": "2.0.0-alpha.9",
36
+ "@contember/react-routing": "2.0.0-alpha.9",
37
+ "@contember/utilities": "2.0.0-alpha.9",
45
38
  "@radix-ui/react-slot": "^1.0.2",
46
39
  "stacktracey": "^2.1.8"
47
40
  },
@@ -57,6 +50,5 @@
57
50
  "type": "git",
58
51
  "url": "https://github.com/contember/interface.git",
59
52
  "directory": "packages/interface"
60
- },
61
- "stableVersion": "0.0.0"
53
+ }
62
54
  }
@@ -1,14 +1,14 @@
1
1
  import { useEntityPersistSuccess } from '@contember/react-binding'
2
- import { useRedirect } from '@contember/react-routing'
2
+ import { RequestParameters, useRedirect } from '@contember/react-routing'
3
3
  import { RoutingLinkTarget } from '@contember/react-routing'
4
4
 
5
- export const RedirectOnPersist = ({ to }: { to: RoutingLinkTarget }) => {
5
+ export const RedirectOnPersist = ({ to, parameters }: { to: RoutingLinkTarget; parameters?: RequestParameters }) => {
6
6
  const redirect = useRedirect()
7
7
  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
  }
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "include": [],
4
+ "references": [
5
+ { "path": "./src" },
6
+ ],
7
+ }
package/tsdoc.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
3
+ "extends": [
4
+ "../../tsdoc.json"
5
+ ]
6
+ }
@@ -1 +0,0 @@
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, RoutingProvider, SelectedDimension } 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,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;AAK5C,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,MAQA,GAAAA,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;;"}
@@ -1 +0,0 @@
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, RoutingProvider, SelectedDimension } 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,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;AAK5C,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,MAQA,GAAAA,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;"}
@@ -1 +0,0 @@
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","jsxDEV","DataViewKeyProvider","this"],"mappings":";;;;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAWA,+BAAqB,GAAA;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;;"}
@@ -1 +0,0 @@
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":["this"],"mappings":";;;AAIO,MAAM,8BAA8B,CAAC,EAAE,eAAwC;AAC/E,QAAA,WAAW,kBAAqB,GAAA;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 +0,0 @@
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","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;;"}
@@ -1 +0,0 @@
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":["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 +0,0 @@
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?: boolean\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","jsxDEV","this"],"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,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,EAAA;AAMF;;"}
@@ -1 +0,0 @@
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?: boolean\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":["this"],"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,IAHL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAMF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisconnectEntityTrigger.cjs","sources":["../../../../src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult, 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 (parent instanceof EntityListAccessor) {\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","EntityListAccessor","jsxDEV","this"],"mappings":";;;;;;AAKA,MAAM,aAAaA,UAAAA;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAASC,aAAAA;AACf,QAAM,iBAAiBC,aAAAA;AACvB,QAAM,aAAaC,aAAAA;AACb,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,MAAA,CAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO;AACtB,UAAI,CAAC,QAAQ;AACN,cAAA,IAAIC,aAAAA,aAAa,+BAA+B;AAAA,MACvD;AACA,UAAI,kBAAkBC,aAAAA,oBAAoB;AACzC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAID,aAAAA,aAAa,+BAA+B;AAAA,QACvD;AACA,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MACjE;AAAA,IACD;AAEA,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,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,EAAA;AAMF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisconnectEntityTrigger.js","sources":["../../../../src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult, 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 (parent instanceof EntityListAccessor) {\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":";;;;AAKA,MAAM,aAAa;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAAS;AACf,QAAM,iBAAiB;AACvB,QAAM,aAAa;AACb,QAAA,UAAU,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,MAAA,CAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO;AACtB,UAAI,CAAC,QAAQ;AACN,cAAA,IAAI,aAAa,+BAA+B;AAAA,MACvD;AACA,UAAI,kBAAkB,oBAAoB;AACzC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAI,aAAa,+BAA+B;AAAA,QACvD;AACA,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MACjE;AAAA,IACD;AAEA,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,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,EAAA;AAMF;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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","jsxDEV","dataAttribute","this"],"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,8BAAA;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,IALL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AAQF;;"}
@@ -1 +0,0 @@
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":["this"],"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,IALL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAQF;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsApplicationOutdated.cjs","sources":["../../../src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":["useState","useCallback","useEffect"],"mappings":";;;AAEA,MAAM,yBAAyB;AAGxB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAuB,IAEhF,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAIA,MAAAA,SAAS,MAAM;AAChC,WAAA,uBAAuB,SAAS,IAAI;AAAA,EAAA,CAC3C;AACD,QAAM,CAAC,YAAY,aAAa,IAAIA,eAAS,KAAK;AAClD,QAAM,eAAe;AAEf,QAAA,eAAeC,MAAAA,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACM,UAAA,UAAU,MAAM;AACtB,QAAI,YAAY,gBAAgB;AAC/B,oBAAc,IAAI;AAAA,IACnB;AAAA,EAAA,GACE,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzCC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACM,UAAA,SAAS,YAAY,cAAc,eAAe;AACjD,WAAA,MAAM,cAAc,MAAM;AAAA,EAC/B,GAAA,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/CA,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACS,aAAA,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAAA,GACxE,CAAC,cAAc,WAAW,CAAC;AAEvB,SAAA;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AAC9C,QAAA,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAOD,kBAAY,YAAY;AAC1B,QAAA;AACG,YAAA,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG;AACnD,YAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,aAC1B,GAAG;AACX,cAAQ,MAAM,CAAC;AACR,aAAA;AAAA,IACR;AAAA,EACD,GAAG,CAAE,CAAA;AACN;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsApplicationOutdated.js","sources":["../../../src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":[],"mappings":";AAEA,MAAM,yBAAyB;AAGxB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAuB,IAEhF,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAI,SAAS,MAAM;AAChC,WAAA,uBAAuB,SAAS,IAAI;AAAA,EAAA,CAC3C;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,eAAe;AAEf,QAAA,eAAe,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACM,UAAA,UAAU,MAAM;AACtB,QAAI,YAAY,gBAAgB;AAC/B,oBAAc,IAAI;AAAA,IACnB;AAAA,EAAA,GACE,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzC,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACM,UAAA,SAAS,YAAY,cAAc,eAAe;AACjD,WAAA,MAAM,cAAc,MAAM;AAAA,EAC/B,GAAA,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/C,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACS,aAAA,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAAA,GACxE,CAAC,cAAc,WAAW,CAAC;AAEvB,SAAA;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AAC9C,QAAA,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAO,YAAY,YAAY;AAC1B,QAAA;AACG,YAAA,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG;AACnD,YAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,aAC1B,GAAG;AACX,cAAQ,MAAM,CAAC;AACR,aAAA;AAAA,IACR;AAAA,EACD,GAAG,CAAE,CAAA;AACN;"}
@@ -1 +0,0 @@
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, RoutingProvider, SelectedDimension } 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","jsx","EnvironmentContext","RoutingProvider","ContemberClient","EnvironmentExtensionProvider","projectEnvironmentExtension","DataViewPageNameKeyProvider","IdentityProvider","IdentityEnvironmentProvider"],"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;AAK5C,SAAAC,2BAAA,IAACC,gCAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAAD,2BAAAA,IAACE,aAAAA,iBAAiB,EAAA,GAAG,SACpB,UAAAF,2BAAA;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,yCAACC,aAAAA,8BAA6B,EAAA,WAAWC,cAAAA,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAAL,2BAAAA,IAACM,4BAAAA,6BACA,EAAA,UAAAN,2BAAAA,IAACO,cAAAA,oBACA,UAACP,2BAAAA,IAAAQ,cAAAA,6BAAA,EACC,gBAAM,SACR,CAAA,GACD,GACD,EACD,CAAA;AAAA,IAAA;AAAA,EAAA,EAEF,CAAA,EACD,CAAA;AAEF;;"}
@@ -1 +0,0 @@
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, RoutingProvider, SelectedDimension } 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":[],"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;AAK5C,SAAA,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,SACnC,UAAA,oBAAC,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,8BAAC,8BAA6B,EAAA,WAAW,6BAA6B,OAAO,MAAM,WAAW,MAC7F,UAAA,oBAAC,6BACA,EAAA,UAAA,oBAAC,oBACA,UAAC,oBAAA,6BAAA,EACC,gBAAM,SACR,CAAA,GACD,GACD,EACD,CAAA;AAAA,IAAA;AAAA,EAAA,EAEF,CAAA,EACD,CAAA;AAEF;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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?: boolean\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;;"}
@@ -1 +0,0 @@
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?: boolean\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;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisconnectEntityTrigger.cjs","sources":["../../../../src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult, 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 (parent instanceof EntityListAccessor) {\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","EntityListAccessor","jsx"],"mappings":";;;;;;AAKA,MAAM,aAAaA,UAAAA;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAASC,aAAAA;AACf,QAAM,iBAAiBC,aAAAA;AACvB,QAAM,aAAaC,aAAAA;AACb,QAAA,UAAUC,MAAAA,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,MAAA,CAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO;AACtB,UAAI,CAAC,QAAQ;AACN,cAAA,IAAIC,aAAAA,aAAa,+BAA+B;AAAA,MACvD;AACA,UAAI,kBAAkBC,aAAAA,oBAAoB;AACzC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAID,aAAAA,aAAa,+BAA+B;AAAA,QACvD;AACA,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MACjE;AAAA,IACD;AAEA,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,GACE,CAAC,OAAO,kBAAkB,QAAQ,gBAAgB,kBAAkB,cAAc,CAAC;AAGrF,SAAAE,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,OAAO;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisconnectEntityTrigger.js","sources":["../../../../src/components/binding/DisconnectEntityTrigger.tsx"],"sourcesContent":["import { ComponentType, ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { BindingError, EntityListAccessor, ErrorPersistResult, 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 (parent instanceof EntityListAccessor) {\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":[],"mappings":";;;;AAKA,MAAM,aAAa;AAUN,MAAA,0BAA0B,CAAC,EAAE,kBAAkB,gBAAgB,kBAAkB,OAAO,GAAG,YAA0C;AACjJ,QAAM,SAAS;AACf,QAAM,iBAAiB;AACvB,QAAM,aAAa;AACb,QAAA,UAAU,YAAY,MAAM;AACjC,QAAI,OAAO;AACH,aAAA,wBAAwB,EAAE,MAAA,CAAO;AAAA,IAAA,OAClC;AACA,YAAA,SAAS,OAAO;AACtB,UAAI,CAAC,QAAQ;AACN,cAAA,IAAI,aAAa,+BAA+B;AAAA,MACvD;AACA,UAAI,kBAAkB,oBAAoB;AACzC,eAAO,iBAAiB,MAAM;AAAA,MAAA,OACxB;AACA,cAAA,cAAc,OAAO,YAAY,eAAe;AAClD,YAAA,YAAY,SAAS,UAAU;AAC5B,gBAAA,IAAI,aAAa,+BAA+B;AAAA,QACvD;AACA,eAAO,wBAAwB,EAAE,OAAO,YAAY,MAAM,MAAM;AAAA,MACjE;AAAA,IACD;AAEA,QAAI,kBAAkB;AACrB,qBAAA,EACE,KAAK,gBAAgB,EACrB,MAAM,cAAc;AAAA,IACvB;AAAA,EAAA,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,EAAA;AAGP;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsApplicationOutdated.cjs","sources":["../../../src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":["useState","useCallback","useEffect"],"mappings":";;;AAEA,MAAM,yBAAyB;AAGxB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAuB,IAEhF,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAIA,MAAAA,SAAS,MAAM;AAChC,WAAA,uBAAuB,SAAS,IAAI;AAAA,EAAA,CAC3C;AACD,QAAM,CAAC,YAAY,aAAa,IAAIA,eAAS,KAAK;AAClD,QAAM,eAAe;AAEf,QAAA,eAAeC,MAAAA,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACM,UAAA,UAAU,MAAM;AACtB,QAAI,YAAY,gBAAgB;AAC/B,oBAAc,IAAI;AAAA,IACnB;AAAA,EAAA,GACE,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzCC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACM,UAAA,SAAS,YAAY,cAAc,eAAe;AACjD,WAAA,MAAM,cAAc,MAAM;AAAA,EAC/B,GAAA,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/CA,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACS,aAAA,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAAA,GACxE,CAAC,cAAc,WAAW,CAAC;AAEvB,SAAA;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AAC9C,QAAA,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAOD,kBAAY,YAAY;AAC1B,QAAA;AACG,YAAA,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG;AACnD,YAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,aAC1B,GAAG;AACX,cAAQ,MAAM,CAAC;AACR,aAAA;AAAA,IACR;AAAA,EACD,GAAG,CAAE,CAAA;AACN;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsApplicationOutdated.js","sources":["../../../src/hooks/useIsApplicationOutdated.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nconst defaultCheckIntervalMs = 30_000\n\n\nexport const useIsApplicationOutdated = ({ checkIntervalMs = defaultCheckIntervalMs }: {\n\tcheckIntervalMs?: number\n} = {}) => {\n\tconst [initialVersion] = useState(() => {\n\t\treturn getVersionFromDocument(document.head)\n\t})\n\tconst [isOutdated, setIsOutdated] = useState(false)\n\tconst fetchVersion = useFetchVersion()\n\n\tconst checkVersion = useCallback(async () => {\n\t\tif (document.hidden) {\n\t\t\treturn\n\t\t}\n\t\tconst version = await fetchVersion()\n\t\tif (version !== initialVersion) {\n\t\t\tsetIsOutdated(true)\n\t\t}\n\t}, [fetchVersion, initialVersion])\n\tconst shouldCheck = !!initialVersion && !isOutdated\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tconst handle = setInterval(checkVersion, checkIntervalMs)\n\t\treturn () => clearInterval(handle)\n\t}, [checkIntervalMs, checkVersion, shouldCheck])\n\n\tuseEffect(() => {\n\t\tif (!shouldCheck) {\n\t\t\treturn\n\t\t}\n\t\tdocument.addEventListener('visibilitychange', checkVersion)\n\t\treturn () => document.removeEventListener('visibilitychange', checkVersion)\n\t}, [checkVersion, shouldCheck])\n\n\treturn isOutdated\n}\n\nconst getVersionFromDocument = (node: ParentNode) => {\n\tconst meta = node.querySelector<HTMLMetaElement>('meta[name=contember-build-version]')\n\treturn meta?.content\n}\n\nconst useFetchVersion = () => {\n\treturn useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await (await fetch(window.location.href)).text()\n\t\t\tconst html = document.createElement('html')\n\t\t\thtml.innerHTML = result\n\t\t\treturn getVersionFromDocument(html)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn undefined\n\t\t}\n\t}, [])\n}\n"],"names":[],"mappings":";AAEA,MAAM,yBAAyB;AAGxB,MAAM,2BAA2B,CAAC,EAAE,kBAAkB,uBAAuB,IAEhF,CAAA,MAAO;AACV,QAAM,CAAC,cAAc,IAAI,SAAS,MAAM;AAChC,WAAA,uBAAuB,SAAS,IAAI;AAAA,EAAA,CAC3C;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,eAAe;AAEf,QAAA,eAAe,YAAY,YAAY;AAC5C,QAAI,SAAS,QAAQ;AACpB;AAAA,IACD;AACM,UAAA,UAAU,MAAM;AACtB,QAAI,YAAY,gBAAgB;AAC/B,oBAAc,IAAI;AAAA,IACnB;AAAA,EAAA,GACE,CAAC,cAAc,cAAc,CAAC;AACjC,QAAM,cAAc,CAAC,CAAC,kBAAkB,CAAC;AAEzC,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACM,UAAA,SAAS,YAAY,cAAc,eAAe;AACjD,WAAA,MAAM,cAAc,MAAM;AAAA,EAC/B,GAAA,CAAC,iBAAiB,cAAc,WAAW,CAAC;AAE/C,YAAU,MAAM;AACf,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACS,aAAA,iBAAiB,oBAAoB,YAAY;AAC1D,WAAO,MAAM,SAAS,oBAAoB,oBAAoB,YAAY;AAAA,EAAA,GACxE,CAAC,cAAc,WAAW,CAAC;AAEvB,SAAA;AACR;AAEA,MAAM,yBAAyB,CAAC,SAAqB;AAC9C,QAAA,OAAO,KAAK,cAA+B,oCAAoC;AACrF,SAAO,MAAM;AACd;AAEA,MAAM,kBAAkB,MAAM;AAC7B,SAAO,YAAY,YAAY;AAC1B,QAAA;AACG,YAAA,SAAS,OAAO,MAAM,MAAM,OAAO,SAAS,IAAI,GAAG;AACnD,YAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,YAAY;AACjB,aAAO,uBAAuB,IAAI;AAAA,aAC1B,GAAG;AACX,cAAQ,MAAM,CAAC;AACR,aAAA;AAAA,IACR;AAAA,EACD,GAAG,CAAE,CAAA;AACN;"}