@owlmeans/web-client 0.1.18-rc.2 → 0.1.18-rc.20

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 (85) hide show
  1. package/agent-meta/manifest.json +2 -2
  2. package/agent-meta/skills/web-client/SKILL.md +45 -10
  3. package/build/components/dispatcher/component.d.ts.map +1 -1
  4. package/build/components/dispatcher/component.js +54 -9
  5. package/build/components/dispatcher/component.js.map +1 -1
  6. package/build/context.d.ts.map +1 -1
  7. package/build/context.js +2 -0
  8. package/build/context.js.map +1 -1
  9. package/build/exports.d.ts +1 -0
  10. package/build/exports.d.ts.map +1 -1
  11. package/build/i18n/auth-be.json +32 -0
  12. package/build/i18n/auth-de.json +32 -0
  13. package/build/i18n/auth-en.json +32 -0
  14. package/build/i18n/auth-es.json +32 -0
  15. package/build/i18n/auth-pl.json +32 -0
  16. package/build/i18n/auth-ru.json +32 -0
  17. package/build/i18n/auth-uk.json +32 -0
  18. package/build/index.d.ts +1 -0
  19. package/build/index.d.ts.map +1 -1
  20. package/build/index.js +1 -0
  21. package/build/index.js.map +1 -1
  22. package/build/login/consts.d.ts +11 -0
  23. package/build/login/consts.d.ts.map +1 -0
  24. package/build/login/consts.js +11 -0
  25. package/build/login/consts.js.map +1 -0
  26. package/build/login/index.d.ts +8 -0
  27. package/build/login/index.d.ts.map +1 -0
  28. package/build/login/index.js +8 -0
  29. package/build/login/index.js.map +1 -0
  30. package/build/login/pump.d.ts +20 -0
  31. package/build/login/pump.d.ts.map +1 -0
  32. package/build/login/pump.js +46 -0
  33. package/build/login/pump.js.map +1 -0
  34. package/build/login/redirect.d.ts +9 -0
  35. package/build/login/redirect.d.ts.map +1 -0
  36. package/build/login/redirect.js +47 -0
  37. package/build/login/redirect.js.map +1 -0
  38. package/build/login/screen.d.ts +15 -0
  39. package/build/login/screen.d.ts.map +1 -0
  40. package/build/login/screen.js +97 -0
  41. package/build/login/screen.js.map +1 -0
  42. package/build/login/service.d.ts +10 -0
  43. package/build/login/service.d.ts.map +1 -0
  44. package/build/login/service.js +17 -0
  45. package/build/login/service.js.map +1 -0
  46. package/build/login/surrogate.d.ts +21 -0
  47. package/build/login/surrogate.d.ts.map +1 -0
  48. package/build/login/surrogate.js +144 -0
  49. package/build/login/surrogate.js.map +1 -0
  50. package/build/login/view.d.ts +26 -0
  51. package/build/login/view.d.ts.map +1 -0
  52. package/build/login/view.js +73 -0
  53. package/build/login/view.js.map +1 -0
  54. package/build/main.d.ts +9 -1
  55. package/build/main.d.ts.map +1 -1
  56. package/build/main.js +9 -1
  57. package/build/main.js.map +1 -1
  58. package/build/modules.d.ts.map +1 -1
  59. package/build/modules.js +11 -1
  60. package/build/modules.js.map +1 -1
  61. package/build/types.d.ts +2 -1
  62. package/build/types.d.ts.map +1 -1
  63. package/package.json +17 -17
  64. package/src/components/dispatcher/component.tsx +72 -8
  65. package/src/context.ts +2 -0
  66. package/src/exports.ts +1 -0
  67. package/src/i18n/auth-be.json +32 -0
  68. package/src/i18n/auth-de.json +32 -0
  69. package/src/i18n/auth-en.json +32 -0
  70. package/src/i18n/auth-es.json +32 -0
  71. package/src/i18n/auth-pl.json +32 -0
  72. package/src/i18n/auth-ru.json +32 -0
  73. package/src/i18n/auth-uk.json +32 -0
  74. package/src/index.ts +1 -0
  75. package/src/login/consts.ts +12 -0
  76. package/src/login/index.ts +7 -0
  77. package/src/login/pump.ts +53 -0
  78. package/src/login/redirect.ts +59 -0
  79. package/src/login/screen.tsx +119 -0
  80. package/src/login/service.ts +19 -0
  81. package/src/login/surrogate.ts +175 -0
  82. package/src/login/view.tsx +94 -0
  83. package/src/main.tsx +11 -2
  84. package/src/modules.ts +12 -1
  85. package/src/types.ts +2 -1
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/web-client",
4
- "version": "0.1.18-rc.0",
5
- "generatedAt": "2026-08-16T22:20:50.508Z",
4
+ "version": "0.1.18-rc.20",
5
+ "generatedAt": "2026-09-01T12:30:48.602Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,19 +8,21 @@ user-invocable: false
8
8
  # @owlmeans/web-client
9
9
 
10
10
  **Layer:** Web (React)
11
- **Install:** `"@owlmeans/web-client": "^0.1.18-rc.0"` in `dependencies`
11
+ **Install:** `"@owlmeans/web-client": "^0.1.18-rc.20"` in `dependencies`
12
12
 
13
13
  ## Key Exports
14
14
 
15
15
  | Export | Description |
16
16
  |--------|-------------|
17
17
  | `renderApp<C, T>(context)` | Mount the React app (routing via the active router plugin — OwlMeans by default) |
18
- | `elevate(modules, alias, handler)` | Attach a React component (or `handler(Component)`) to an entrypoint |
18
+ | `elevate(entrypoints, alias, handler)` | Attach a React component (or `handler(Component)`) to an entrypoint |
19
19
  | `handler(Component)` | Wrap a React component as an entrypoint handler |
20
- | `context.registerEntrypoints(modules)` | Register the full entrypoint list on the context |
20
+ | `context.registerEntrypoints(entrypoints)` | Register the full entrypoint list on the context |
21
21
  | `context.serviceRoute(alias, isDefault?)` | Mark a service's routing root |
22
+ | `makeContext(cfg)` | Build the browser context — auth, web db, client resource, router and login are all appended here |
23
+ | `appendWebLogin(context)` | Register the login host plus the redirect and surrogate-window plugins |
22
24
  | `router`, `components`, `service`, `i18n`, `helpers`, `errors` | Web-specific helpers |
23
- | Constants | Default aliases (BASE, HOME) |
25
+ | Constants | Default aliases (BASE, HOME), `REDIRECT_LOGIN`, `SURROGATE_LOGIN` |
24
26
 
25
27
  ## Usage
26
28
 
@@ -29,31 +31,64 @@ user-invocable: false
29
31
  // index.tsx
30
32
  import { renderApp } from '@owlmeans/web-client'
31
33
  import { makeContext } from './context.js'
32
- import { appModules } from './modules.js'
34
+ import { appEntrypoints } from './entrypoints.js'
33
35
  import { MANAGER, MANAGER_API } from 'my-common'
34
36
  import config from './config.js'
35
37
 
36
38
  const context = makeContext(config)
37
- context.registerEntrypoints(appModules)
39
+ context.registerEntrypoints(appEntrypoints)
38
40
  context.serviceRoute(MANAGER, true)
39
41
  context.serviceRoute(MANAGER_API, true)
40
42
  renderApp<Config, Context>(context)
41
43
  ```
42
44
 
43
- ### Module elevation with React components
45
+ ### Entrypoint elevation with React components
44
46
  ```typescript
45
- import { elevate, route, frontend, handler, entrypoint, guard } from '@owlmeans/web-client'
47
+ import { elevate, route, frontend, handler, entrypoint } from '@owlmeans/web-client'
46
48
  import { HomeScreen, ProjectDashboardScreen } from './screens/index.js'
47
49
 
48
- elevate(modules, manager.front.project.dashboard, handler(ProjectDashboardScreen))
50
+ elevate(entrypoints, manager.front.project.dashboard, handler(ProjectDashboardScreen))
49
51
 
50
- modules.push(
52
+ entrypoints.push(
51
53
  entrypoint(route(HOME, '/', frontend({ default: true, parent: BASE })), handler(HomeScreen))
52
54
  )
53
55
  ```
54
56
 
57
+ A **backend** alias the client calls needs a bare `elevate(entrypoints, alias)` — no handler. That
58
+ makes `context.entrypoint<ClientEntrypoint<T>>(alias).call({ params, body, query })` work; the auth
59
+ header is attached automatically for guarded entrypoints.
60
+
61
+ ### Login comes with the context
62
+
63
+ `makeContext` calls `appendWebLogin`, which registers the login host (`@owlmeans/client-auth/login`)
64
+ and both browser plugins on it — redirect (`REDIRECT_LOGIN`, priority 0, applies always) and
65
+ surrogate window (`SURROGATE_LOGIN`, priority 100, applies in a frame or in the surrogate itself).
66
+ So every web app — and everything built on `web-panel` or `mui-panel` — has working sign-in,
67
+ including from an embedded app, with nothing registered by hand:
68
+
69
+ ```typescript
70
+ import { useLogin, useLogout } from '@owlmeans/client-auth/login'
71
+
72
+ const [, onLogIn] = useLogin() // one control, one handler, no environment checks
73
+ ```
74
+
75
+ An app that needs a different mechanic registers its own plugin at a higher priority after building
76
+ the base context (`context.login().registerPlugin(...)`); it never replaces these. The contract, the
77
+ cascade and the invariants are the `login-plugins` skill.
78
+
79
+ ### Navigation
80
+ ```typescript
81
+ import { useNavigate } from '@owlmeans/client' // not re-exported by web-client
82
+ import { useStoreList, useStoreModel } from '@owlmeans/client' // client state — also not re-exported
83
+
84
+ const nav = useNavigate()
85
+ <Button onClick={nav.press(manager.front.project.dashboard, { params: { projectId } })}>Open</Button>
86
+ await nav.go(alias, { params }) // programmatic; nav.back() to go back
87
+ ```
88
+
55
89
  ## Depends On
56
90
 
57
91
  - `@owlmeans/client`, `@owlmeans/web-router` (default OwlMeans browser routing), `@owlmeans/web-panel` (typically), `@owlmeans/client-i18n`
92
+ - `@owlmeans/client-auth` — `AUTH_RESOURCE` and the `./login` host the browser plugins register on
58
93
  - `@owlmeans/entrypoint`, `@owlmeans/route`
59
94
  - `react`, `react-dom` (peer). No longer depends on `react-router` — opt into it with `@owlmeans/web-router-react-router` (`appendReactRouter`). The former `provide` export is a deprecated `undefined`.
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,6FAmCrB,CAAA"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,6FA+FrB,CAAA"}
@@ -1,14 +1,27 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { DispatcherHOC } from '@owlmeans/client-auth';
3
- import { useEffect } from 'react';
3
+ import { useEffect, useState } from 'react';
4
4
  import { useI18nLib } from '@owlmeans/client-i18n';
5
5
  import { AUTH_QUERY } from '@owlmeans/auth';
6
+ import { FallbackLoginScreen, LoginIntent, LoginOutcome, ResumeAction, resumeAction, } from '@owlmeans/client-auth/login';
7
+ import { LoginSurrogateView, SurrogateStage } from '../../login/view.js';
6
8
  import { useContext } from '../../context.js';
7
- export const Dispatcher = DispatcherHOC(({ provideToken }) => {
9
+ export const Dispatcher = DispatcherHOC(({ provideToken, navigate }) => {
8
10
  const context = useContext();
9
11
  const [query] = context.router().useSearchParams();
10
12
  const t = useI18nLib('auth', 'dispatcher');
13
+ const tAuth = useI18nLib('auth');
14
+ // Read in the component body, not in the effect: `window.name` is set by `window.open` before
15
+ // this document loads and `sessionStorage` carries the marker across the provider round trip, so
16
+ // the answer is already correct at first paint — and a first paint that showed the application
17
+ // before an effect corrected it is the defect this exists to prevent.
18
+ const [env] = useState(() => context.login().env());
19
+ const [outcome, setOutcome] = useState(null);
20
+ // Nothing to return from and nobody signed in: offer the choice rather than starting a flow.
21
+ const [choose, setChoose] = useState(false);
11
22
  useEffect(() => {
23
+ // First statement of the effect on purpose: everything below can navigate this window away.
24
+ context.login().enter();
12
25
  const token = query.get(AUTH_QUERY);
13
26
  if (token != null) {
14
27
  const params = {};
@@ -18,15 +31,47 @@ export const Dispatcher = DispatcherHOC(({ provideToken }) => {
18
31
  }
19
32
  });
20
33
  provideToken({ token }, params);
34
+ return;
21
35
  }
22
- else {
23
- context.auth().authenticated().then(authzToken => {
24
- if (authzToken == null) {
25
- provideToken({ token: '' }, undefined);
26
- }
27
- });
28
- }
36
+ void context.auth().authenticated().then(async (authzToken) => {
37
+ if (authzToken == null || authzToken === '') {
38
+ setChoose(true);
39
+ return;
40
+ }
41
+ // A session already exists in THIS document. Whether it is useful here, or belongs to the
42
+ // window that opened this one, is the plugin's call — the dispatcher reads no environment.
43
+ const settled = await context.login().resume(authzToken);
44
+ switch (resumeAction(settled)) {
45
+ case ResumeAction.Stop:
46
+ return;
47
+ case ResumeAction.Render:
48
+ setOutcome(settled);
49
+ return;
50
+ default:
51
+ await navigate();
52
+ }
53
+ });
29
54
  }, []);
55
+ // A surrogate window never renders the application, whatever else is true. Checked ahead of
56
+ // every other return for exactly that reason.
57
+ //
58
+ // `choose` is the one state this must NOT mask, and it is not an exception to the rule: the
59
+ // login chooser is not the application. A login window with nothing to return from and nobody
60
+ // signed in has exactly one thing left that can move it forward, and that is asking which
61
+ // provider. The surrogate URL normally carries `?method=` so the question is already settled,
62
+ // but a window opened from a bare "Log in" — the framed application's own header button — has no
63
+ // method to send. Returning the "working" panel there left the popup on "Signing you in…"
64
+ // permanently, because nothing was ever going to start.
65
+ if (env.surrogate && !choose) {
66
+ return _jsx(LoginSurrogateView, { intent: LoginIntent.Login, stage: outcome === LoginOutcome.Orphaned ? SurrogateStage.Orphaned
67
+ : outcome === LoginOutcome.Failed ? SurrogateStage.Failed
68
+ : outcome === LoginOutcome.Gesture ? SurrogateStage.Gesture
69
+ : SurrogateStage.Working, onAction: () => window.close(), translate: (key, defaultValue) => tAuth(key, { defaultValue }) });
70
+ }
71
+ if (choose) {
72
+ const Screen = context.login().screen() ?? FallbackLoginScreen;
73
+ return _jsx(Screen, { translate: (key, defaultValue) => tAuth(key, { defaultValue }) });
74
+ }
30
75
  return query.has(AUTH_QUERY) ? _jsx("div", { style: {
31
76
  width: '100%', // Makes the div occupy the full width
32
77
  display: 'flex', // Enables flexbox layout
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,CAAA;IAElD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACrB,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAK,KAAK,EAAE;YACzC,KAAK,EAAE,MAAM,EAAE,sCAAsC;YACrD,OAAO,EAAE,MAAM,EAAE,yBAAyB;YAC1C,cAAc,EAAE,QAAQ,EAAE,+BAA+B;YACzD,UAAU,EAAE,QAAQ,EAAE,yCAAyC;YAC/D,SAAS,EAAE,QAAQ,EAAE,8BAA8B;YACnD,UAAU,EAAE,MAAM,EAAE,6BAA6B;YACjD,aAAa,EAAE,MAAM,EAAE,6BAA6B;SACrD,YAAG,CAAC,CAAC,SAAS,CAAC,GAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACrC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASlD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,OAC7F,CAAC,KACL,CAYF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,QACnF,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAUlD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,OAC7F,CAAC,KACL,CAaF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,QACnF,CAAA"}
package/build/context.js CHANGED
@@ -6,6 +6,7 @@ import { useContext as useCtx } from '@owlmeans/client';
6
6
  import { extractPrimaryHost } from './helper.js';
7
7
  import { appendWebAuthService } from './service.js';
8
8
  import { appendWebRouter } from '@owlmeans/web-router';
9
+ import { appendWebLogin } from './login/service.js';
9
10
  export const makeContext = (cfg) => {
10
11
  const context = makeClientContext(cfg);
11
12
  extractPrimaryHost(context);
@@ -13,6 +14,7 @@ export const makeContext = (cfg) => {
13
14
  appendWebDbService(context);
14
15
  appendClientResource(context, AUTH_RESOURCE);
15
16
  appendWebRouter(context);
17
+ appendWebLogin(context);
16
18
  context.makeContext = makeContext;
17
19
  return context;
18
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAM,EACH,EAAE;IACL,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAM,CAAA;IAC3C,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,EAAE,aAAa,CAAC,CAAA;IAClD,eAAe,CAAO,OAAO,CAAC,CAAA;IAE9B,OAAO,CAAC,WAAW,GAAG,WAAyC,CAAA;IAE/D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAA4E,EAAE,CACtG,MAAM,EAAO,CAAA"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAM,EACH,EAAE;IACL,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAM,CAAA;IAC3C,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,EAAE,aAAa,CAAC,CAAA;IAClD,eAAe,CAAO,OAAO,CAAC,CAAA;IAC9B,cAAc,CAAO,OAAO,CAAC,CAAA;IAE7B,OAAO,CAAC,WAAW,GAAG,WAAyC,CAAA;IAE/D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAA4E,EAAE,CACtG,MAAM,EAAO,CAAA"}
@@ -4,6 +4,7 @@ export { service } from '@owlmeans/config';
4
4
  export { AppType, HOME, ROOT, BASE, GUEST } from '@owlmeans/context';
5
5
  export { entrypoint, elevate, provideRequest, stab } from '@owlmeans/client-entrypoint';
6
6
  export { route, frontend } from '@owlmeans/route';
7
+ export type { ClientEntrypoint } from '@owlmeans/client-entrypoint';
7
8
  export type { ClientEntrypoint as Module } from '@owlmeans/client-entrypoint';
8
9
  export type { ClientRoute as Route } from '@owlmeans/client-route';
9
10
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAC7E,YAAY,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,YAAY,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAC7E,YAAY,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,wBAAwB,CAAA"}
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Загрузка...",
4
4
  "error": "Не ўдалося прайсці аўтэнтыфікацыю: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Выконваем уваход…",
9
+ "gesture": {
10
+ "title": "Працягніце, каб увайсці.",
11
+ "action": "Увайсці"
12
+ },
13
+ "handing": "Гатова. Вяртаемся ў праграму…",
14
+ "orphaned": "Уваход выкананы. Можаце закрыць гэтае акно і вярнуцца ў праграму.",
15
+ "failed": "Не ўдалося завяршыць. Закрыйце гэтае акно і паспрабуйце зноў.",
16
+ "standalone": {
17
+ "title": "Гэтая старонка выкарыстоўваецца для ўваходу з іншага акна.",
18
+ "action": "Адкрыць праграму"
19
+ },
20
+ "close": "Закрыць"
21
+ },
22
+ "logout": {
23
+ "working": "Выконваем выхад…",
24
+ "gesture": {
25
+ "title": "Працягніце, каб выйсці.",
26
+ "action": "Выйсці"
27
+ },
28
+ "handing": "Выхад выкананы. Вяртаемся ў праграму…",
29
+ "orphaned": "Выхад выкананы. Можаце закрыць гэтае акно.",
30
+ "failed": "Выхад тут не завершаны. Можаце закрыць гэтае акно.",
31
+ "standalone": {
32
+ "title": "Гэтая старонка выкарыстоўваецца для выхаду з іншага акна.",
33
+ "action": "Адкрыць праграму"
34
+ },
35
+ "close": "Закрыць"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Wird geladen...",
4
4
  "error": "Authentifizierung fehlgeschlagen: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Anmeldung läuft…",
9
+ "gesture": {
10
+ "title": "Fortfahren, um sich anzumelden.",
11
+ "action": "Anmelden"
12
+ },
13
+ "handing": "Fertig. Zurück zur Anwendung…",
14
+ "orphaned": "Angemeldet. Sie können dieses Fenster schließen und in der Anwendung fortfahren.",
15
+ "failed": "Das wurde nicht abgeschlossen. Schließen Sie dieses Fenster und versuchen Sie es erneut.",
16
+ "standalone": {
17
+ "title": "Diese Seite dient der Anmeldung aus einem anderen Fenster.",
18
+ "action": "Anwendung öffnen"
19
+ },
20
+ "close": "Schließen"
21
+ },
22
+ "logout": {
23
+ "working": "Abmeldung läuft…",
24
+ "gesture": {
25
+ "title": "Fortfahren, um sich abzumelden.",
26
+ "action": "Abmelden"
27
+ },
28
+ "handing": "Abgemeldet. Zurück zur Anwendung…",
29
+ "orphaned": "Abgemeldet. Sie können dieses Fenster schließen.",
30
+ "failed": "Die Abmeldung wurde hier nicht abgeschlossen. Sie können dieses Fenster schließen.",
31
+ "standalone": {
32
+ "title": "Diese Seite dient der Abmeldung aus einem anderen Fenster.",
33
+ "action": "Anwendung öffnen"
34
+ },
35
+ "close": "Schließen"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Loading...",
4
4
  "error": "Authentication failed: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Signing you in…",
9
+ "gesture": {
10
+ "title": "Continue to sign in.",
11
+ "action": "Sign in"
12
+ },
13
+ "handing": "Done. Returning to the application…",
14
+ "orphaned": "Signed in. You can close this window and continue in the application.",
15
+ "failed": "That did not complete. You can close this window and try again.",
16
+ "standalone": {
17
+ "title": "This page is used to sign in from another window.",
18
+ "action": "Open the application"
19
+ },
20
+ "close": "Close"
21
+ },
22
+ "logout": {
23
+ "working": "Signing you out…",
24
+ "gesture": {
25
+ "title": "Continue to sign out.",
26
+ "action": "Sign out"
27
+ },
28
+ "handing": "Signed out. Returning to the application…",
29
+ "orphaned": "Signed out. You can close this window.",
30
+ "failed": "Sign-out did not complete here. You can close this window.",
31
+ "standalone": {
32
+ "title": "This page is used to sign out from another window.",
33
+ "action": "Open the application"
34
+ },
35
+ "close": "Close"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Cargando...",
4
4
  "error": "Error de autenticación: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Iniciando sesión…",
9
+ "gesture": {
10
+ "title": "Continúa para iniciar sesión.",
11
+ "action": "Iniciar sesión"
12
+ },
13
+ "handing": "Listo. Volviendo a la aplicación…",
14
+ "orphaned": "Sesión iniciada. Puedes cerrar esta ventana y continuar en la aplicación.",
15
+ "failed": "No se completó. Cierra esta ventana e inténtalo de nuevo.",
16
+ "standalone": {
17
+ "title": "Esta página se usa para iniciar sesión desde otra ventana.",
18
+ "action": "Abrir la aplicación"
19
+ },
20
+ "close": "Cerrar"
21
+ },
22
+ "logout": {
23
+ "working": "Cerrando sesión…",
24
+ "gesture": {
25
+ "title": "Continúa para cerrar sesión.",
26
+ "action": "Cerrar sesión"
27
+ },
28
+ "handing": "Sesión cerrada. Volviendo a la aplicación…",
29
+ "orphaned": "Sesión cerrada. Puedes cerrar esta ventana.",
30
+ "failed": "El cierre de sesión no se completó aquí. Puedes cerrar esta ventana.",
31
+ "standalone": {
32
+ "title": "Esta página se usa para cerrar sesión desde otra ventana.",
33
+ "action": "Abrir la aplicación"
34
+ },
35
+ "close": "Cerrar"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Ładowanie...",
4
4
  "error": "Uwierzytelnianie nie powiodło się: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Trwa logowanie…",
9
+ "gesture": {
10
+ "title": "Kontynuuj, aby się zalogować.",
11
+ "action": "Zaloguj się"
12
+ },
13
+ "handing": "Gotowe. Wracamy do aplikacji…",
14
+ "orphaned": "Zalogowano. Możesz zamknąć to okno i kontynuować w aplikacji.",
15
+ "failed": "Nie udało się ukończyć. Zamknij to okno i spróbuj ponownie.",
16
+ "standalone": {
17
+ "title": "Ta strona służy do logowania z innego okna.",
18
+ "action": "Otwórz aplikację"
19
+ },
20
+ "close": "Zamknij"
21
+ },
22
+ "logout": {
23
+ "working": "Trwa wylogowywanie…",
24
+ "gesture": {
25
+ "title": "Kontynuuj, aby się wylogować.",
26
+ "action": "Wyloguj się"
27
+ },
28
+ "handing": "Wylogowano. Wracamy do aplikacji…",
29
+ "orphaned": "Wylogowano. Możesz zamknąć to okno.",
30
+ "failed": "Wylogowanie nie zostało tu ukończone. Możesz zamknąć to okno.",
31
+ "standalone": {
32
+ "title": "Ta strona służy do wylogowania z innego okna.",
33
+ "action": "Otwórz aplikację"
34
+ },
35
+ "close": "Zamknij"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Загрузка...",
4
4
  "error": "Не удалось выполнить аутентификацию: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Выполняем вход…",
9
+ "gesture": {
10
+ "title": "Продолжите, чтобы войти.",
11
+ "action": "Войти"
12
+ },
13
+ "handing": "Готово. Возвращаемся в приложение…",
14
+ "orphaned": "Вход выполнен. Можете закрыть это окно и вернуться в приложение.",
15
+ "failed": "Не удалось завершить. Закройте это окно и попробуйте снова.",
16
+ "standalone": {
17
+ "title": "Эта страница используется для входа из другого окна.",
18
+ "action": "Открыть приложение"
19
+ },
20
+ "close": "Закрыть"
21
+ },
22
+ "logout": {
23
+ "working": "Выполняем выход…",
24
+ "gesture": {
25
+ "title": "Продолжите, чтобы выйти.",
26
+ "action": "Выйти"
27
+ },
28
+ "handing": "Выход выполнен. Возвращаемся в приложение…",
29
+ "orphaned": "Выход выполнен. Можете закрыть это окно.",
30
+ "failed": "Выход здесь не завершён. Можете закрыть это окно.",
31
+ "standalone": {
32
+ "title": "Эта страница используется для выхода из другого окна.",
33
+ "action": "Открыть приложение"
34
+ },
35
+ "close": "Закрыть"
36
+ }
5
37
  }
6
38
  }
@@ -2,5 +2,37 @@
2
2
  "dispatcher": {
3
3
  "loading": "Завантаження...",
4
4
  "error": "Не вдалося пройти автентифікацію: {{error}}"
5
+ },
6
+ "surrogate": {
7
+ "login": {
8
+ "working": "Виконуємо вхід…",
9
+ "gesture": {
10
+ "title": "Продовжте, щоб увійти.",
11
+ "action": "Увійти"
12
+ },
13
+ "handing": "Готово. Повертаємось до застосунку…",
14
+ "orphaned": "Вхід виконано. Можете закрити це вікно й повернутися до застосунку.",
15
+ "failed": "Не вдалося завершити. Закрийте це вікно та спробуйте ще раз.",
16
+ "standalone": {
17
+ "title": "Ця сторінка використовується для входу з іншого вікна.",
18
+ "action": "Відкрити застосунок"
19
+ },
20
+ "close": "Закрити"
21
+ },
22
+ "logout": {
23
+ "working": "Виконуємо вихід…",
24
+ "gesture": {
25
+ "title": "Продовжте, щоб вийти.",
26
+ "action": "Вийти"
27
+ },
28
+ "handing": "Вихід виконано. Повертаємось до застосунку…",
29
+ "orphaned": "Вихід виконано. Можете закрити це вікно.",
30
+ "failed": "Вихід тут не завершено. Можете закрити це вікно.",
31
+ "standalone": {
32
+ "title": "Ця сторінка використовується для виходу з іншого вікна.",
33
+ "action": "Відкрити застосунок"
34
+ },
35
+ "close": "Закрити"
36
+ }
5
37
  }
6
38
  }
package/build/index.d.ts CHANGED
@@ -10,4 +10,5 @@ export * from './helper.js';
10
10
  export * from './i18n.js';
11
11
  export * from './service.js';
12
12
  export * from './errors.js';
13
+ export * from './login/index.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA"}
package/build/index.js CHANGED
@@ -10,4 +10,5 @@ export * from './helper.js';
10
10
  export * from './i18n.js';
11
11
  export * from './service.js';
12
12
  export * from './errors.js';
13
+ export * from './login/index.js';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,11 @@
1
+ /** The ordinary flow: leave for the provider and come back. */
2
+ export declare const REDIRECT_LOGIN = "owlmeans-redirect-login";
3
+ /** The flow that runs one window up, for a document that cannot redirect where it is. */
4
+ export declare const SURROGATE_LOGIN = "owlmeans-surrogate-login";
5
+ /**
6
+ * Registered above the default so it wins the cascade wherever it applies. It applies narrowly —
7
+ * only in a frame, or in the surrogate window itself — so the default still serves every
8
+ * ordinary tab.
9
+ */
10
+ export declare const SURROGATE_LOGIN_PRIORITY = 100;
11
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/login/consts.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,eAAO,MAAM,cAAc,4BAA4B,CAAA;AAEvD,yFAAyF;AACzF,eAAO,MAAM,eAAe,6BAA6B,CAAA;AAEzD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA"}
@@ -0,0 +1,11 @@
1
+ /** The ordinary flow: leave for the provider and come back. */
2
+ export const REDIRECT_LOGIN = 'owlmeans-redirect-login';
3
+ /** The flow that runs one window up, for a document that cannot redirect where it is. */
4
+ export const SURROGATE_LOGIN = 'owlmeans-surrogate-login';
5
+ /**
6
+ * Registered above the default so it wins the cascade wherever it applies. It applies narrowly —
7
+ * only in a frame, or in the surrogate window itself — so the default still serves every
8
+ * ordinary tab.
9
+ */
10
+ export const SURROGATE_LOGIN_PRIORITY = 100;
11
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/login/consts.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAA;AAEvD,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * from './consts.js';
2
+ export * from './pump.js';
3
+ export * from './redirect.js';
4
+ export * from './surrogate.js';
5
+ export * from './view.js';
6
+ export * from './screen.js';
7
+ export * from './service.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * from './consts.js';
2
+ export * from './pump.js';
3
+ export * from './redirect.js';
4
+ export * from './surrogate.js';
5
+ export * from './view.js';
6
+ export * from './screen.js';
7
+ export * from './service.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}