@owlmeans/client 0.1.18-rc.11 → 0.1.18-rc.13
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.
- package/README.md +34 -10
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/client/SKILL.md +25 -11
- package/build/components/modal.d.ts.map +1 -1
- package/build/components/modal.js.map +1 -1
- package/build/components/toggle.d.ts.map +1 -1
- package/build/context.d.ts.map +1 -1
- package/build/context.js +1 -3
- package/build/context.js.map +1 -1
- package/build/debug.d.ts.map +1 -1
- package/build/entrypoint.d.ts +3 -0
- package/build/entrypoint.d.ts.map +1 -0
- package/build/entrypoint.js +4 -0
- package/build/entrypoint.js.map +1 -0
- package/build/errors.d.ts.map +1 -1
- package/build/errors.js.map +1 -1
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +3 -3
- package/build/helper.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/navigate.d.ts.map +1 -1
- package/build/navigate.js +12 -15
- package/build/navigate.js.map +1 -1
- package/build/router.d.ts.map +1 -1
- package/build/router.js +12 -6
- package/build/router.js.map +1 -1
- package/build/services/debug.d.ts.map +1 -1
- package/build/services/debug.js.map +1 -1
- package/build/store.d.ts +18 -3
- package/build/store.d.ts.map +1 -1
- package/build/store.js +56 -55
- package/build/store.js.map +1 -1
- package/build/types.d.ts +11 -2
- package/build/types.d.ts.map +1 -1
- package/build/utils/entrypoint.d.ts +3 -0
- package/build/utils/entrypoint.d.ts.map +1 -0
- package/build/utils/{module.js → entrypoint.js} +2 -2
- package/build/utils/entrypoint.js.map +1 -0
- package/build/utils/index.d.ts +1 -1
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +1 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/route.d.ts.map +1 -1
- package/build/utils/route.js +3 -3
- package/build/utils/route.js.map +1 -1
- package/build/utils/router.d.ts +4 -4
- package/build/utils/router.d.ts.map +1 -1
- package/build/utils/router.js +8 -8
- package/build/utils/router.js.map +1 -1
- package/build/value.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/context.ts +1 -4
- package/src/entrypoint.ts +6 -0
- package/src/helper.tsx +6 -6
- package/src/index.ts +1 -1
- package/src/navigate.ts +12 -15
- package/src/router.ts +14 -10
- package/src/services/debug.ts +2 -2
- package/src/store.ts +70 -59
- package/src/types.ts +12 -2
- package/src/utils/{module.ts → entrypoint.ts} +2 -2
- package/src/utils/index.ts +1 -1
- package/src/utils/route.tsx +5 -5
- package/src/utils/router.ts +11 -11
- package/build/module.d.ts +0 -3
- package/build/module.d.ts.map +0 -1
- package/build/module.js +0 -4
- package/build/module.js.map +0 -1
- package/build/utils/module.d.ts +0 -3
- package/build/utils/module.d.ts.map +0 -1
- package/build/utils/module.js.map +0 -1
- package/src/module.ts +0 -6
package/README.md
CHANGED
|
@@ -5,8 +5,9 @@ Core React client framework providing hooks, context, navigation, and state mana
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
- React hooks for subscribing to state stores (`useStoreModel`, `useStoreList`) and async data (`useValue`)
|
|
8
|
-
- `useNavigate()` —
|
|
8
|
+
- `useNavigate()` — entrypoint-aware navigation that builds URLs and drives the router
|
|
9
9
|
- `useContext()` — access the application's `ClientContext` from any React component
|
|
10
|
+
- `useEntrypoint()` — the alias, params and path of the entrypoint that rendered the current screen
|
|
10
11
|
- `useToggle()` — boolean state toggle hook
|
|
11
12
|
- Used by every React frontend in the OwlMeans ecosystem
|
|
12
13
|
|
|
@@ -25,10 +26,22 @@ import { useStoreModel, useStoreList } from '@owlmeans/client'
|
|
|
25
26
|
|
|
26
27
|
function ProjectView({ projectId }: { projectId: string }) {
|
|
27
28
|
const model = useStoreModel<ProjectState>(projectId, 'project-state')
|
|
29
|
+
if (model.empty) return <Loading />
|
|
30
|
+
|
|
28
31
|
return <div>{model.record.title}</div>
|
|
29
32
|
}
|
|
30
33
|
```
|
|
31
34
|
|
|
35
|
+
Subscribe to a live list:
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
const open = useStoreList<ProjectState>({
|
|
39
|
+
query: { status: ['draft', 'active'] },
|
|
40
|
+
sort: [{ field: 'createdAt', order: 'desc' }],
|
|
41
|
+
resource: 'project-state'
|
|
42
|
+
})
|
|
43
|
+
```
|
|
44
|
+
|
|
32
45
|
Load async data:
|
|
33
46
|
|
|
34
47
|
```typescript
|
|
@@ -36,14 +49,14 @@ import { useValue } from '@owlmeans/client'
|
|
|
36
49
|
|
|
37
50
|
function StoryList({ projectId }: { projectId: string }) {
|
|
38
51
|
const stories = useValue(async () => {
|
|
39
|
-
return await ctx.story().list({
|
|
52
|
+
return await ctx.story().list({ projectId })
|
|
40
53
|
}, [projectId])
|
|
41
54
|
|
|
42
55
|
return stories ? <List items={stories.items} /> : <Loading />
|
|
43
56
|
}
|
|
44
57
|
```
|
|
45
58
|
|
|
46
|
-
Navigate to
|
|
59
|
+
Navigate to an entrypoint:
|
|
47
60
|
|
|
48
61
|
```typescript
|
|
49
62
|
import { useNavigate } from '@owlmeans/client'
|
|
@@ -56,13 +69,18 @@ function CreateButton() {
|
|
|
56
69
|
|
|
57
70
|
## API
|
|
58
71
|
|
|
59
|
-
### `useStoreModel<T>(id?,
|
|
72
|
+
### `useStoreModel<T>(id?, alias?): StateModel<T>`
|
|
60
73
|
|
|
61
|
-
|
|
74
|
+
One record from a state resource, live. An id the store knows nothing about yields a model whose
|
|
75
|
+
`empty` is true — `record` gives the resource's configured default and nothing is written on the
|
|
76
|
+
way — so the hook never throws for missing data. Passing no id addresses the one record of a
|
|
77
|
+
`single` resource; on any other that is a configuration error and throws.
|
|
62
78
|
|
|
63
|
-
### `useStoreList<T>(
|
|
79
|
+
### `useStoreList<T>(opts?): StateModel<T>[]`
|
|
64
80
|
|
|
65
|
-
|
|
81
|
+
A live list from a state resource: every record `opts.query` accepts, re-evaluated on every write
|
|
82
|
+
that changes the answer. `opts` takes `query` (a `Criteria<T>`; omitted matches everything), `sort`
|
|
83
|
+
and `resource` (the context's default state resource when omitted).
|
|
66
84
|
|
|
67
85
|
### `useValue<T>(loader, deps?, forceDefault?): T | null`
|
|
68
86
|
|
|
@@ -71,13 +89,19 @@ Async data loader hook. Re-runs when `deps` change. Returns `null` while loading
|
|
|
71
89
|
### `useNavigate(): Navigator`
|
|
72
90
|
|
|
73
91
|
Returns a navigator with:
|
|
74
|
-
- `navigate(
|
|
75
|
-
- `go(alias, request?)` — navigate by
|
|
92
|
+
- `navigate(entrypoint, request?)` — navigate to a `ClientEntrypoint`, addressed by its `url()`
|
|
93
|
+
- `go(alias, request?)` — navigate by entrypoint alias
|
|
94
|
+
- `press(alias, request?)` / `pressBack()` — the same as event handlers
|
|
95
|
+
- `back()` / `location()`
|
|
76
96
|
|
|
77
97
|
### `useContext<T>(): T`
|
|
78
98
|
|
|
79
99
|
Returns the current `ClientContext` cast to `T`.
|
|
80
100
|
|
|
101
|
+
### `useEntrypoint<T>(): EntrypointContextParams<T>`
|
|
102
|
+
|
|
103
|
+
The `alias`, `params`, `path` and `context` of the entrypoint that rendered the current screen.
|
|
104
|
+
|
|
81
105
|
### `useToggle(initial?): [boolean, () => void]`
|
|
82
106
|
|
|
83
107
|
Simple boolean toggle hook.
|
|
@@ -85,7 +109,7 @@ Simple boolean toggle hook.
|
|
|
85
109
|
## Related Packages
|
|
86
110
|
|
|
87
111
|
- [`@owlmeans/state`](../state) — `StateModel`, `StateResource` used by `useStoreModel`
|
|
88
|
-
- [`@owlmeans/client-
|
|
112
|
+
- [`@owlmeans/client-entrypoint`](../client-entrypoint) — `ClientEntrypoint` used by `useNavigate`
|
|
89
113
|
- [`@owlmeans/client-context`](../client-context) — `ClientContext` returned by `useContext`
|
|
90
114
|
|
|
91
115
|
<!-- owlmeans:agent-guidance:start -->
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/client",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-
|
|
4
|
+
"version": "0.1.18-rc.13",
|
|
5
|
+
"generatedAt": "2026-09-01T16:28:56.990Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: client
|
|
3
|
-
description: How to use @owlmeans/client — platform-agnostic React client framework (works with web and React Native) providing context, components, services, useNavigate/Navigator, RoutedComponent, store. Auto-invoked when importing client framework primitives or navigating between screens.
|
|
3
|
+
description: How to use @owlmeans/client — platform-agnostic React client framework (works with web and React Native) providing context, components, services, useNavigate/Navigator, useEntrypoint, RoutedComponent, store. Auto-invoked when importing client framework primitives or navigating between screens.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/client
|
|
9
9
|
|
|
10
10
|
**Layer:** Client
|
|
11
|
-
**Install:** `"@owlmeans/client": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/client": "^0.1.18-rc.13"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
## Key Exports
|
|
14
14
|
|
|
@@ -16,8 +16,9 @@ user-invocable: false
|
|
|
16
16
|
|--------|-------------|
|
|
17
17
|
| `App` / context helpers | Mount the React app, provide context |
|
|
18
18
|
| `useNavigate` | Hook returning the `Navigator` — programmatic navigation by entrypoint alias |
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
19
|
+
| `useEntrypoint<T>()` | The `EntrypointContextParams` of the screen currently rendering — `{ alias, path, params, context }` |
|
|
20
|
+
| `RoutedComponent` | Type of a component elevated on a frontend entrypoint (takes `EntrypointContextParams` as props) |
|
|
21
|
+
| `handler(Component)` | Wrap a React component as an entrypoint handler |
|
|
21
22
|
| `useStoreModel` / `useStoreList` | React hooks over a `@owlmeans/state` resource — one record by id, or a live query. Not re-exported by `@owlmeans/web-client`; import them from here |
|
|
22
23
|
| `components` | Cross-platform components (e.g. error boundaries) |
|
|
23
24
|
| `value`, `debug` | Render-time helpers |
|
|
@@ -33,7 +34,8 @@ user-invocable: false
|
|
|
33
34
|
This is the platform-agnostic substrate that `@owlmeans/web-client` (browser) and the native equivalent build on. Most apps import from `@owlmeans/web-client` directly; use `@owlmeans/client` only for cross-platform code.
|
|
34
35
|
|
|
35
36
|
Navigation addresses an ALIAS, never a URL — the path lives in the entrypoint declaration, so a
|
|
36
|
-
component never builds one. `useNavigate()` returns the `Navigator
|
|
37
|
+
component never builds one. `useNavigate()` returns the `Navigator`, which asks the target
|
|
38
|
+
entrypoint for its `url(request)` and hands that to the active router plugin:
|
|
37
39
|
|
|
38
40
|
```typescript
|
|
39
41
|
import { useNavigate } from '@owlmeans/client'
|
|
@@ -51,9 +53,14 @@ export const ProjectScreen: RoutedComponent = ({ params }) => {
|
|
|
51
53
|
}
|
|
52
54
|
```
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
A URL that belongs to another service comes back absolute, and the navigator leaves the app for it
|
|
57
|
+
rather than pushing a history entry. `nav.navigate(entrypoint, request)` takes the entrypoint
|
|
58
|
+
itself when you already hold it; `nav.back()` / `nav.pressBack()` go one entry back, and
|
|
59
|
+
`nav.location()` reads the current one.
|
|
60
|
+
|
|
61
|
+
An elevated screen receives `{ alias, path, params, context }` as props, and `useEntrypoint()`
|
|
62
|
+
reads the same values from anywhere below it — read path parameters from `params` and pass them
|
|
63
|
+
down; a nested component never resolves route parameters itself.
|
|
57
64
|
|
|
58
65
|
## Client state
|
|
59
66
|
|
|
@@ -62,12 +69,19 @@ State lives on the context as a `@owlmeans/state` resource; these hooks subscrib
|
|
|
62
69
|
```typescript
|
|
63
70
|
import { useStoreList, useStoreModel } from '@owlmeans/client'
|
|
64
71
|
|
|
65
|
-
const task = useStoreModel<Task>(id,
|
|
66
|
-
const open = useStoreList<Task>({ query: { status: 'open' }, resource:
|
|
72
|
+
const task = useStoreModel<Task>(id, TASKS) // one record
|
|
73
|
+
const open = useStoreList<Task>({ query: { status: 'open' }, resource: TASKS }) // live query
|
|
67
74
|
```
|
|
68
75
|
|
|
69
76
|
`useStoreModel` returns a `StateModel` — read `model.record`, write with `model.update({ ... })`.
|
|
70
|
-
Assigning
|
|
77
|
+
Assigning into `model.record` reaches nobody: it is a snapshot, so nothing is written and nothing
|
|
78
|
+
re-renders. The hook never throws for missing data either — an id the store knows nothing about
|
|
79
|
+
yields a model whose `empty` is true, and nothing is written into the store on the way.
|
|
80
|
+
`useStoreList` takes `{ query?, sort?, resource? }` and matches everything when `query` is omitted.
|
|
81
|
+
Full contract: [[state]].
|
|
82
|
+
|
|
83
|
+
Both hooks subscribe in an effect through `useSyncExternalStore`, so a render never installs a
|
|
84
|
+
subscription and never leaves one behind.
|
|
71
85
|
|
|
72
86
|
## Depends On
|
|
73
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,eAAO,MAAM,kBAAkB,GAAI,QAAO,MAAwB,KAAG,YAwDpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EACnF,KAAK,CAAC,EAAE,QAAO,MAAwB,KACtC,CAAC,GAAG,kBAUN,CAAA;AAED,eAAO,MAAM,sBAAsB,YAOlC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/components/toggle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/components/toggle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,UAkB5C,CAAA"}
|
package/build/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAmB/C,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAG,CA4BjH,CAAA;AAED,eAAO,MAAM,sBAAsB,2CAA+C,CAAA;AAElF,eAAO,MAAM,OAAO,uDAAkC,CAAA;AAEtD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,QAE5E,CAAA"}
|
package/build/context.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext, useContext as useCtx } from 'react';
|
|
2
2
|
import { makeClientContext as makeBasicContext, PLUGINS } from '@owlmeans/client-context';
|
|
3
|
-
import { AppType, CONFIG_RECORD
|
|
3
|
+
import { AppType, CONFIG_RECORD } from '@owlmeans/context';
|
|
4
4
|
import { appendStateResource } from '@owlmeans/state';
|
|
5
5
|
import { appendModalService } from './components/modal.js';
|
|
6
6
|
import { appendDebugService } from './services/debug.js';
|
|
@@ -9,7 +9,6 @@ import { ROUTER_SERVICE } from '@owlmeans/router';
|
|
|
9
9
|
const defaultCfg = {
|
|
10
10
|
services: {},
|
|
11
11
|
brand: {},
|
|
12
|
-
layer: Layer.Service,
|
|
13
12
|
trusted: [],
|
|
14
13
|
[CONFIG_RECORD]: [],
|
|
15
14
|
ready: false,
|
|
@@ -40,7 +39,6 @@ export const makeClientContext = (cfg) => {
|
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
41
|
context.router = () => context.service(ROUTER_SERVICE);
|
|
43
|
-
context.makeContext = makeClientContext;
|
|
44
42
|
return context;
|
|
45
43
|
};
|
|
46
44
|
export const ClientContextContainer = createContext(makeClientContext(defaultCfg));
|
package/build/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEzF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEzF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,GAAiB;IAC/B,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,CAAC,aAAa,CAAC,EAAE,EAAE;IACnB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,OAAO,CAAC,QAAQ;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAwE,GAAM,EAAK,EAAE;IACpH,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAM,CAAA;IAC1C,mBAAmB,CAAO,OAAO,CAAC,CAAA;IAClC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,oBAAoB,CAAO,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAC3D,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,WAAW,GAAuB,EAAE,CAAA;QAE1C,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC,EAAE;YACtC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1B,OAAO,GAAG,EAAE;gBACV,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC3C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC,CAAA;QACH,CAAC,CAAA;QACD,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE;YACtB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAgB,cAAc,CAAC,CAAA;IAErE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAuD,EAAE,CAAC,MAAM,CACxF,sBAAoD,CACrD,CAAA"}
|
package/build/debug.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAElE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAElE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,MAAM,SASzG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEzD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAwC,uBAAuB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAsB,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAA+B,CAAA"}
|
package/build/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,WAAY,SAAQ,cAAc;IAC7C,OAAuB,QAAQ,EAAE,MAAM,CAAgB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,WAAY,SAAQ,cAAc;IAC7C,OAAuB,QAAQ,EAAE,MAAM,CAAgB;gBAE3C,OAAO,GAAE,MAAgB;CAGtC;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAuB,QAAQ,EAAE,MAAM,CAAqC;gBAEhE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAuB,QAAQ,EAAE,MAAM,CAAmC;gBAE9D,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,OAAuB,QAAQ,EAAE,MAAM,CAA4C;gBAEvE,OAAO,GAAE,MAAgB;CAItC"}
|
package/build/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,OAAO,WAAY,SAAQ,cAAc;IACtC,MAAM,CAAU,QAAQ,GAAW,aAAa,CAAA;IAEvD,YAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,OAAO,WAAY,SAAQ,cAAc;IACtC,MAAM,CAAU,QAAQ,GAAW,aAAa,CAAA;IAEvD,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,OAAO,EAAE,CAAC,CAAA;IAClD,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,WAAW;IACtC,MAAM,CAAU,QAAQ,GAAW,GAAG,WAAW,CAAC,QAAQ,WAAW,CAAA;IAE5E,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAA;IACrC,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAC7C,MAAM,CAAU,QAAQ,GAAW,GAAG,cAAc,CAAC,QAAQ,MAAM,CAAA;IAE1E,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAA;IACzC,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,MAAM,CAAU,QAAQ,GAAW,GAAG,kBAAkB,CAAC,QAAQ,WAAW,CAAA;IAEnF,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAA;IAC7C,CAAC;;AAIH,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;AAC9C,cAAc,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;AACjD,cAAc,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;AACrD,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;AACzD,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA"}
|
package/build/helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUlD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUlD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,EAAE,EAClC,WAAW,eAAe,CAAC,CAAC,CAAC,EAAE,aAAa,OAAO,KAClD,sBAAsB,CAAC,CAAC,CAiC1B,CAAA"}
|
package/build/helper.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { isValidElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { EntrypointContext } from './utils/entrypoint.js';
|
|
4
4
|
import { assertContext } from '@owlmeans/context';
|
|
5
5
|
export const handler = (Component, preprender) => ref => (req, res) => {
|
|
6
|
-
const location = `client-handler:${ref.ref?.
|
|
6
|
+
const location = `client-handler:${ref.ref?.alias ?? 'unknown'}`;
|
|
7
7
|
if (ref.ref == null) {
|
|
8
8
|
throw new SyntaxError('Module reference is not provided');
|
|
9
9
|
}
|
|
@@ -23,7 +23,7 @@ export const handler = (Component, preprender) => ref => (req, res) => {
|
|
|
23
23
|
}
|
|
24
24
|
const Renderer = ({ children, ...props }) => {
|
|
25
25
|
const Renderer = Component;
|
|
26
|
-
return _jsx(
|
|
26
|
+
return _jsx(EntrypointContext.Provider, { value: props, children: _jsx(Renderer, { ...props, children: children }) });
|
|
27
27
|
};
|
|
28
28
|
return Renderer;
|
|
29
29
|
};
|
package/build/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,SAA6B,EAAE,UAAoB,EACxB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAGrC,GAAM,EAAE,GAAM,EAAO,EAAE;IACvB,MAAM,QAAQ,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,SAAS,EAAE,CAAA;IAChE,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAkB,GAAG,CAAC,GAAG,CAAC,GAAc,EAAE,QAAQ,CAAC,CAAA;IAC5E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,WAAW,CAAC,gCAAgC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAoC,CAAA;QACrD,MAAM,OAAO,GAAG,KAAC,QAAQ,OAAK,GAAG,EAAE,OAAO,EAAE,GAAG,GAAI,CAAA;QACnD,GAAG,CAAC,OAAO,CAAC,OAA6B,CAAC,CAAA;QAE1C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,SAAoC,CAAA;QACrD,OAAO,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC7C,KAAC,QAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,GACf,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
package/build/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export * from './components/index.js';
|
|
|
3
3
|
export * from './services/index.js';
|
|
4
4
|
export * from './helper.js';
|
|
5
5
|
export * from './navigate.js';
|
|
6
|
-
export * from './
|
|
6
|
+
export * from './entrypoint.js';
|
|
7
7
|
export * from './router.js';
|
|
8
8
|
export * from './types.js';
|
|
9
9
|
export * from './store.js';
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export * from './components/index.js';
|
|
|
3
3
|
export * from './services/index.js';
|
|
4
4
|
export * from './helper.js';
|
|
5
5
|
export * from './navigate.js';
|
|
6
|
-
export * from './
|
|
6
|
+
export * from './entrypoint.js';
|
|
7
7
|
export * from './router.js';
|
|
8
8
|
export * from './types.js';
|
|
9
9
|
export * from './store.js';
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
|
package/build/navigate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,eAAO,MAAM,WAAW,QAAO,SA6C9B,CAAA"}
|
package/build/navigate.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
|
-
import { EntrypointOutcome } from '@owlmeans/entrypoint';
|
|
3
2
|
import { useContext } from './context.js';
|
|
4
3
|
export const useNavigate = () => {
|
|
5
4
|
const context = useContext();
|
|
@@ -8,20 +7,18 @@ export const useNavigate = () => {
|
|
|
8
7
|
const navigator = useMemo(() => {
|
|
9
8
|
const navigator = {
|
|
10
9
|
_navigate: navigate,
|
|
11
|
-
navigate: async (
|
|
12
|
-
const
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
}
|
|
10
|
+
navigate: async (entrypoint, request) => {
|
|
11
|
+
const url = await entrypoint.url(request);
|
|
12
|
+
if (url.startsWith('http')) {
|
|
13
|
+
globalThis.location.href = url;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
navigate(url, {
|
|
17
|
+
state: {
|
|
18
|
+
...entrypoint.route.route, silent: request?.silent
|
|
19
|
+
},
|
|
20
|
+
replace: request?.replace ?? false
|
|
21
|
+
});
|
|
25
22
|
}
|
|
26
23
|
},
|
|
27
24
|
go: async (alias, request) => navigator.navigate(context.entrypoint(alias), request),
|
package/build/navigate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAc,EAAE;IACzC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAA;IAC/C,MAAM,SAAS,GAAc,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,SAAS,GAAc;YAC3B,SAAS,EAAE,QAAQ;YAEnB,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;gBACtC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEzC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,EAAE;wBACZ,KAAK,EAAE;4BACL,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;yBACnD;wBACD,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;qBACnC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAA2B,KAAK,CAAC,EAAE,OAAO,CAAC;YAElF,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE;gBAC9B,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;YAED,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;gBACpB,KAAK,SAAS,CAAC,IAAI,EAAE,CAAA;YACvB,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;SACzB,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
package/build/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAA;AAqB1E,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAkClC,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,WA6BlC,CAAA"}
|
package/build/router.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { createElement, useEffect, useRef, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { buildEntrypointTree, initializeRouter, visitEntrypointTree } from './utils/router.js';
|
|
3
3
|
import { createRouteRenderer } from './utils/route.js';
|
|
4
4
|
import { useContext } from './context.js';
|
|
5
5
|
import { assertContext } from '@owlmeans/context';
|
|
6
|
+
/** A child path that keeps its leading separator reads as absolute, and the router rejects it. */
|
|
7
|
+
const relative = (segment) => {
|
|
8
|
+
segment = segment.trim();
|
|
9
|
+
segment = segment.endsWith('/') ? segment.slice(0, -1) : segment;
|
|
10
|
+
return segment.startsWith('/') ? segment.substring(1) : segment;
|
|
11
|
+
};
|
|
6
12
|
export const Router = ({ provide }) => {
|
|
7
13
|
const progress = useRef(false);
|
|
8
14
|
const context = useContext();
|
|
@@ -37,16 +43,16 @@ export const makeRouterModel = () => {
|
|
|
37
43
|
routes: [],
|
|
38
44
|
resolve: async (ctx) => {
|
|
39
45
|
const context = assertContext(ctx, location);
|
|
40
|
-
const
|
|
41
|
-
const reactRoutes = await
|
|
42
|
-
const ctx = assertContext((module.ctx ?? context), location);
|
|
43
|
-
await module.route.resolve(ctx);
|
|
46
|
+
const entrypointTree = buildEntrypointTree(context);
|
|
47
|
+
const reactRoutes = await visitEntrypointTree(entrypointTree, async (module, children) => {
|
|
44
48
|
const renderer = module.handle != null
|
|
45
49
|
? { Component: createRouteRenderer({ context, module, hasChildren: children.length > 0 }) }
|
|
46
50
|
: undefined;
|
|
51
|
+
// The React tree nests, so each node contributes only its OWN segment — its ancestors are
|
|
52
|
+
// the branches it hangs under and already carry theirs.
|
|
47
53
|
const route = {
|
|
48
54
|
...(module.route.route.default ? { index: true } : undefined),
|
|
49
|
-
...(!module.route.route.default ? { path: module.
|
|
55
|
+
...(!module.route.route.default ? { path: relative(module.segment()), children } : undefined),
|
|
50
56
|
...renderer
|
|
51
57
|
};
|
|
52
58
|
return route;
|
package/build/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/services/debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAA;AAKnE,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/services/debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAA;AAKnE,eAAO,MAAM,kBAAkB,GAAI,QAAO,MAAwB,KAAG,YA4EpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EACnF,KAAK,CAAC,EAAE,QAAO,MAAwB,KACtC,CAAC,GAAG,kBAYN,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/services/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAK/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/services/debug.ts"],"names":[],"mappings":"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"}
|
package/build/store.d.ts
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { ResourceRecord } from '@owlmeans/resource';
|
|
2
|
+
import type { StateModel } from '@owlmeans/state';
|
|
3
|
+
import type { UseStoreListOptions } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* One record from a state resource, live.
|
|
6
|
+
*
|
|
7
|
+
* It never throws for missing data: an id the store knows nothing about yields a model whose
|
|
8
|
+
* `empty` is true — reading `record` gives the resource's configured default, and nothing is
|
|
9
|
+
* written into the store on the way. Pass no id to address the one record of a `single`
|
|
10
|
+
* resource; on any other that is a configuration error and throws.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useStoreModel: <T extends ResourceRecord = ResourceRecord>(id?: string, alias?: string) => StateModel<T>;
|
|
13
|
+
/**
|
|
14
|
+
* A live LIST from a state resource: every record the query accepts, re-evaluated on every write
|
|
15
|
+
* that changes the answer, so a screen never recomputes ids and never re-subscribes to keep up.
|
|
16
|
+
* Omitting `query` matches everything.
|
|
17
|
+
*/
|
|
18
|
+
export declare const useStoreList: <T extends ResourceRecord = ResourceRecord>(opts?: UseStoreListOptions<T>) => StateModel<T>[];
|
|
4
19
|
//# sourceMappingURL=store.d.ts.map
|
package/build/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAiCrD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EACrE,KAAK,MAAM,EAAE,QAAQ,MAAM,KAC1B,UAAU,CAAC,CAAC,CASd,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EACpE,OAAO,mBAAmB,CAAC,CAAC,CAAC,KAC5B,UAAU,CAAC,CAAC,CAAC,EAkBf,CAAA"}
|