lit-ui-router 1.11.2 → 1.13.0
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/dist/core.d.ts.map +1 -1
- package/dist/core.js +3 -10
- package/dist/core.js.map +1 -1
- package/dist/custom-elements.json +86 -2
- package/dist/development/core.js +3 -10
- package/dist/development/core.js.map +1 -1
- package/dist/development/routed-element.js +10 -0
- package/dist/development/routed-element.js.map +1 -0
- package/dist/development/ui-sref-active.js +33 -6
- package/dist/development/ui-sref-active.js.map +1 -1
- package/dist/development/ui-sref.js +9 -1
- package/dist/development/ui-sref.js.map +1 -1
- package/dist/development/ui-view.js +40 -13
- package/dist/development/ui-view.js.map +1 -1
- package/dist/interface.d.ts +6 -1
- package/dist/interface.d.ts.map +1 -1
- package/dist/routed-element.d.ts +11 -0
- package/dist/routed-element.d.ts.map +1 -0
- package/dist/routed-element.js +10 -0
- package/dist/routed-element.js.map +1 -0
- package/dist/ui-sref-active.d.ts +25 -0
- package/dist/ui-sref-active.d.ts.map +1 -1
- package/dist/ui-sref-active.js +33 -6
- package/dist/ui-sref-active.js.map +1 -1
- package/dist/ui-sref.d.ts +10 -0
- package/dist/ui-sref.d.ts.map +1 -1
- package/dist/ui-sref.js +9 -1
- package/dist/ui-sref.js.map +1 -1
- package/dist/ui-view.d.ts +37 -1
- package/dist/ui-view.d.ts.map +1 -1
- package/dist/ui-view.js +40 -13
- package/dist/ui-view.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +14 -12
- package/src/interface.ts +6 -1
- package/src/routed-element.ts +27 -0
- package/src/ui-sref-active.ts +74 -19
- package/src/ui-sref.ts +25 -3
- package/src/ui-view.ts +95 -17
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","mappings":"AAAA,SAGE,UAIA,aACA,UACA,YAEA,wBACK;AAGP,SACE,kBACA,oBACA,4BACA,
|
|
1
|
+
{"version":3,"file":"core.d.ts","mappings":"AAAA,SAGE,UAIA,aACA,UACA,YAEA,wBACK;AAGP,SACE,kBACA,oBACA,4BACA,8BACA,2BACA,2BACK;;;;;;;;;AA4BP,OAAO,cAAM,yBAAyB,WAAW;CAY7C,MAAa;CACb,UAAiB;;CAXnB;;CAEA;;;;;;CAOA,YACE,AAAO,MAAM,YACb,AAAO,UAAU;;;;;CAOnB,QAAQ;AAGV;;;;;;;;;;;;;AAcA,OAAO,iBAAS,6BACd,UAAU,sBAAsB,qBAEhC,QAAQ,mBAAmB,KAC1B,UAAU,2BAA2B,KAAK,0BAA0B;;;;;;;;AAWvE,OAAO,iBAAS,mBACd,UAAU,sBAAsB,qBAChC,sBAAsB,aAAa,iBAAiB;;;;;;;;;;;;;;AAiBtD,OAAO,iBAAS,gBACd,UAAU,sBAAsB,qBAChC,OAAO,cAAc,eAAe,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsGnE,OAAO,cAAM,oBAAoB,SAAS;;;;;;;;;CASxC;;CASA,QAAQ;;;;;;;;;;;;;;;;;CAkBR;AAUF","names":[],"ignoreList":[],"sources":["../src/core.ts"]}
|
package/dist/core.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { forEach, isFunction, pick, servicesPlugin, UIRouter, ViewService } from "@uirouter/core";
|
|
2
|
-
import {
|
|
2
|
+
import { LitElement } from "lit";
|
|
3
|
+
import { routedLitElementRenderer } from "./routed-element.js";
|
|
3
4
|
const forEachValue = forEach;
|
|
4
5
|
let viewConfigIdCounter = 0;
|
|
5
6
|
export class LitViewConfig {
|
|
@@ -33,15 +34,7 @@ export function litViewsBuilder(state) {
|
|
|
33
34
|
const normalizedTarget = ViewService.normalizeUIViewTarget(normalizedConfig.$context, normalizedConfig.$name);
|
|
34
35
|
normalizedConfig.$uiViewName = normalizedTarget.uiViewName;
|
|
35
36
|
normalizedConfig.$uiViewContextAnchor = normalizedTarget.uiViewContextAnchor;
|
|
36
|
-
if (isRoutedLitElement(normalizedConfig.component))
|
|
37
|
-
const Component = normalizedConfig.component;
|
|
38
|
-
let component;
|
|
39
|
-
normalizedConfig.component = (props) => {
|
|
40
|
-
component = Component.sticky && component || new Component(props);
|
|
41
|
-
component._uiViewProps = props;
|
|
42
|
-
return html`${component}`;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
37
|
+
if (isRoutedLitElement(normalizedConfig.component) && normalizedConfig.component.sticky) normalizedConfig.component = routedLitElementRenderer(normalizedConfig.component);
|
|
45
38
|
views[name] = viewsObject[name] = normalizedConfig;
|
|
46
39
|
});
|
|
47
40
|
return views;
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,
|
|
1
|
+
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,kBAAkB;AAU3B,SAAS,gCAAgC;AAQzC,MAAM,eAAe;AASrB,IAAI,sBAAsB;AAU1B,OAAO,MAAM,cAAoC;CAW/C,YACE,MACA,UACA;EAFO;EACA;aAXK;gBAEL;CAUN;CAMH,OAAsB;EACpB,OAAO,QAAQ,QAAQ,IAAI;CAC7B;AACF;AAcA,OAAO,SAAS,6BAGd,QACwE;CACxE,OAAO,WAAW,MAAM;AAC1B;AASA,OAAO,SAAS,mBAEd,WAAuD;CACvD,OAAQ,WAAsC,qBAAqB;AACrE;AAeA,OAAO,SAAS,gBAEd,OAAqE;CACrE,MAAM,QAAyD,CAAC,GAC9D,cAAc,MAAM,SAAS,EAC3B,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,EACrC;CAEF,aACE,aACA,SAAU,QAA+B,MAAc;EACrD,IAAI;EACJ,OAAO,QAAQ;EACf,IAAI,6BAAgC,MAAM,GACxC,mBAAmB,EAAE,WAAW,OAAO;OAEvC,mBAAmB;EAErB,IAAI,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG;EAEtD,iBAAiB,QAAQ;EACzB,iBAAiB,WAAW;EAC5B,iBAAiB,QAAQ;EAEzB,MAAM,mBAAmB,YAAY,sBACnC,iBAAiB,UACjB,iBAAiB,KACnB;EACA,iBAAiB,cAAc,iBAAiB;EAChD,iBAAiB,uBACf,iBAAiB;EAKnB,IACE,mBAAsB,iBAAiB,SAAS,KAChD,iBAAiB,UAAU,QAE3B,iBAAiB,YAAY,yBAC3B,iBAAiB,SACnB;EAGF,MAAM,QAAQ,YAAY,QAAQ;CACpC,CACF;CACA,OAAO;AACT;AAMA,MAAM,qBAAqB,MAAkB,WAC3C,IAAI,cAAc,MAAM,MAAM;AAiDhC,OAAO,MAAM,oBAAoB,SAAS;CASxC,cAAc;EACZ,MAAM;iBAQU;EAPhB,KAAK,OAAuB,cAAc;EAE1C,KAAK,YAAY,WAAW,mBAAmB,OAAO,iBAAiB;EACvE,KAAK,cAAc,UAAU,SAAS,eAAe;CACvD;CAqBA,QAAc;EACZ,IAAI,KAAK,SACP,MAAM,IAAI,MAAM,+BAA+B;EAGjD,KAAK,kBAAkB,KAAK;EAC5B,KAAK,WAAW,OAAO;EACvB,KAAK,WAAW,KAAK;EACrB,KAAK,UAAU;CACjB;AACF","names":[],"ignoreList":[],"sources":["../src/core.ts"]}
|
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
"kind": "class",
|
|
11
11
|
"description": "",
|
|
12
12
|
"name": "UiView",
|
|
13
|
+
"slots": [
|
|
14
|
+
{
|
|
15
|
+
"description": "<code><ui-view></code> renders slotted content as fallback whenever no routed component is active.",
|
|
16
|
+
"name": ""
|
|
17
|
+
}
|
|
18
|
+
],
|
|
13
19
|
"members": [
|
|
14
20
|
{
|
|
15
21
|
"kind": "field",
|
|
@@ -43,13 +49,17 @@
|
|
|
43
49
|
"text": "RoutedLitTemplate | null"
|
|
44
50
|
},
|
|
45
51
|
"privacy": "private",
|
|
46
|
-
"default": "null"
|
|
52
|
+
"default": "null",
|
|
53
|
+
"description": "Replaced only by a real view config change, so a retained view keeps its subtree."
|
|
47
54
|
},
|
|
48
55
|
{
|
|
49
56
|
"kind": "field",
|
|
50
57
|
"name": "inner",
|
|
58
|
+
"type": {
|
|
59
|
+
"text": "DocumentFragment | undefined"
|
|
60
|
+
},
|
|
51
61
|
"privacy": "private",
|
|
52
|
-
"
|
|
62
|
+
"description": "Created on connect: the"
|
|
53
63
|
},
|
|
54
64
|
{
|
|
55
65
|
"kind": "field",
|
|
@@ -152,6 +162,67 @@
|
|
|
152
162
|
"name": "seekRouter",
|
|
153
163
|
"privacy": "private"
|
|
154
164
|
},
|
|
165
|
+
{
|
|
166
|
+
"kind": "field",
|
|
167
|
+
"name": "routerFromProvider",
|
|
168
|
+
"type": {
|
|
169
|
+
"text": "boolean"
|
|
170
|
+
},
|
|
171
|
+
"privacy": "private",
|
|
172
|
+
"default": "false",
|
|
173
|
+
"description": "Whether `uiRouter` came from the context event rather than the app."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"kind": "field",
|
|
177
|
+
"name": "registeredRouter",
|
|
178
|
+
"type": {
|
|
179
|
+
"text": "UIRouterLit | undefined"
|
|
180
|
+
},
|
|
181
|
+
"privacy": "private",
|
|
182
|
+
"description": "The router this view registered with; a late upgrade can supersede it."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"kind": "field",
|
|
186
|
+
"name": "seekingProvidedRouter",
|
|
187
|
+
"type": {
|
|
188
|
+
"text": "boolean"
|
|
189
|
+
},
|
|
190
|
+
"privacy": "private",
|
|
191
|
+
"default": "false",
|
|
192
|
+
"description": "Set only for the synchronous span of our own re-seek."
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"kind": "method",
|
|
196
|
+
"name": "seekProvidedRouter",
|
|
197
|
+
"privacy": "private",
|
|
198
|
+
"return": {
|
|
199
|
+
"type": {
|
|
200
|
+
"text": "UIRouterLit | undefined"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"description": "Seeks the provider's router, past our own answer.\n\n`<ui-view>` answers this event for descendants and stops it, deliberately —\nsee `listener-identity.spec.ts`. Suppressing that for the span of our own\ndispatch keeps the guarantee intact for everyone else."
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"kind": "method",
|
|
207
|
+
"name": "adoptProvidedRouter",
|
|
208
|
+
"privacy": "private",
|
|
209
|
+
"return": {
|
|
210
|
+
"type": {
|
|
211
|
+
"text": "void"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"description": "Adopts the router the provider now offers, when this view registered\nwithout it.\n\nlit replays a pre-upgrade property inside the element's first update, not\nat upgrade, so `<ui-router>` can run `connectedCallback` with `uiRouter`\nstill undefined and provide an instance of its own; a `<ui-view>`\nconnecting in between registers with that one and never sees a transition.\nFirefox upgrades a detached subtree later than Chrome and WebKit, so\ndeclarative shadow DOM parsed off-document reaches this there first.\n\n`registerUIView` syncs, so the re-registered view picks up the current\nstate without waiting for the next transition."
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"kind": "method",
|
|
218
|
+
"name": "deregisterAll",
|
|
219
|
+
"privacy": "private",
|
|
220
|
+
"return": {
|
|
221
|
+
"type": {
|
|
222
|
+
"text": "void"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
155
226
|
{
|
|
156
227
|
"kind": "method",
|
|
157
228
|
"name": "captureContent",
|
|
@@ -234,6 +305,19 @@
|
|
|
234
305
|
"summary": "This is the <code><ui-view></code> component.\n\nThe <code><ui-view></code> component is a viewport for routed components.\nRouted components will be rendered inside the <code><ui-view></code> viewport.",
|
|
235
306
|
"tagName": "ui-view",
|
|
236
307
|
"customElement": true
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"kind": "variable",
|
|
311
|
+
"name": "router"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"kind": "variable",
|
|
315
|
+
"name": "resolves"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"kind": "variable",
|
|
319
|
+
"name": "transition",
|
|
320
|
+
"default": "injector.get(Transition)"
|
|
237
321
|
}
|
|
238
322
|
],
|
|
239
323
|
"exports": [
|
package/dist/development/core.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { forEach, isFunction, pick, servicesPlugin, UIRouter, ViewService } from "@uirouter/core";
|
|
2
|
-
import {
|
|
2
|
+
import { LitElement } from "lit";
|
|
3
|
+
import { routedLitElementRenderer } from "./routed-element.js";
|
|
3
4
|
const forEachValue = forEach;
|
|
4
5
|
let viewConfigIdCounter = 0;
|
|
5
6
|
export class LitViewConfig {
|
|
@@ -33,15 +34,7 @@ export function litViewsBuilder(state) {
|
|
|
33
34
|
const normalizedTarget = ViewService.normalizeUIViewTarget(normalizedConfig.$context, normalizedConfig.$name);
|
|
34
35
|
normalizedConfig.$uiViewName = normalizedTarget.uiViewName;
|
|
35
36
|
normalizedConfig.$uiViewContextAnchor = normalizedTarget.uiViewContextAnchor;
|
|
36
|
-
if (isRoutedLitElement(normalizedConfig.component))
|
|
37
|
-
const Component = normalizedConfig.component;
|
|
38
|
-
let component;
|
|
39
|
-
normalizedConfig.component = (props) => {
|
|
40
|
-
component = Component.sticky && component || new Component(props);
|
|
41
|
-
component._uiViewProps = props;
|
|
42
|
-
return html`${component}`;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
37
|
+
if (isRoutedLitElement(normalizedConfig.component) && normalizedConfig.component.sticky) normalizedConfig.component = routedLitElementRenderer(normalizedConfig.component);
|
|
45
38
|
views[name] = viewsObject[name] = normalizedConfig;
|
|
46
39
|
});
|
|
47
40
|
return views;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,
|
|
1
|
+
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,kBAAkB;AAU3B,SAAS,gCAAgC;AAQzC,MAAM,eAAe;AASrB,IAAI,sBAAsB;AAU1B,OAAO,MAAM,cAAoC;CAW/C,YACE,MACA,UACA;EAFO;EACA;aAXK;gBAEL;CAUN;CAMH,OAAsB;EACpB,OAAO,QAAQ,QAAQ,IAAI;CAC7B;AACF;AAcA,OAAO,SAAS,6BAGd,QACwE;CACxE,OAAO,WAAW,MAAM;AAC1B;AASA,OAAO,SAAS,mBAEd,WAAuD;CACvD,OAAQ,WAAsC,qBAAqB;AACrE;AAeA,OAAO,SAAS,gBAEd,OAAqE;CACrE,MAAM,QAAyD,CAAC,GAC9D,cAAc,MAAM,SAAS,EAC3B,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,EACrC;CAEF,aACE,aACA,SAAU,QAA+B,MAAc;EACrD,IAAI;EACJ,OAAO,QAAQ;EACf,IAAI,6BAAgC,MAAM,GACxC,mBAAmB,EAAE,WAAW,OAAO;OAEvC,mBAAmB;EAErB,IAAI,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG;EAEtD,iBAAiB,QAAQ;EACzB,iBAAiB,WAAW;EAC5B,iBAAiB,QAAQ;EAEzB,MAAM,mBAAmB,YAAY,sBACnC,iBAAiB,UACjB,iBAAiB,KACnB;EACA,iBAAiB,cAAc,iBAAiB;EAChD,iBAAiB,uBACf,iBAAiB;EAKnB,IACE,mBAAsB,iBAAiB,SAAS,KAChD,iBAAiB,UAAU,QAE3B,iBAAiB,YAAY,yBAC3B,iBAAiB,SACnB;EAGF,MAAM,QAAQ,YAAY,QAAQ;CACpC,CACF;CACA,OAAO;AACT;AAMA,MAAM,qBAAqB,MAAkB,WAC3C,IAAI,cAAc,MAAM,MAAM;AAiDhC,OAAO,MAAM,oBAAoB,SAAS;CASxC,cAAc;EACZ,MAAM;iBAQU;EAPhB,KAAK,OAAuB,cAAc;EAE1C,KAAK,YAAY,WAAW,mBAAmB,OAAO,iBAAiB;EACvE,KAAK,cAAc,UAAU,SAAS,eAAe;CACvD;CAqBA,QAAc;EACZ,IAAI,KAAK,SACP,MAAM,IAAI,MAAM,+BAA+B;EAGjD,KAAK,kBAAkB,KAAK;EAC5B,KAAK,WAAW,OAAO;EACvB,KAAK,WAAW,KAAK;EACrB,KAAK,UAAU;CACjB;AACF","names":[],"ignoreList":[],"sources":["../../src/core.ts"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
export function routedLitElementRenderer(Component) {
|
|
3
|
+
let element;
|
|
4
|
+
return (props) => {
|
|
5
|
+
element ??= new Component(props);
|
|
6
|
+
element._uiViewProps = props;
|
|
7
|
+
return html`${element}`;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=routed-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routed-element.js","mappings":"AAAA,SAAS,YAAY;AAiBrB,OAAO,SAAS,yBAEd,WAAsD;CACtD,IAAI;CACJ,QAAQ,UAAkC;EACxC,YAAY,IAAI,UAAU,KAAK;EAC/B,QAAQ,eAAe;EACvB,OAAO,IAAI,GAAG;CAChB;AACF","names":[],"ignoreList":[],"sources":["../../src/routed-element.ts"]}
|
|
@@ -59,6 +59,10 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
59
59
|
this.options = {};
|
|
60
60
|
this.targetStates = new Set();
|
|
61
61
|
this.uiSrefs = new WeakMap();
|
|
62
|
+
this._linkTargets = new WeakMap();
|
|
63
|
+
this._partElement = null;
|
|
64
|
+
this._lastTargetStates = void 0;
|
|
65
|
+
this._connection = 0;
|
|
62
66
|
this.doRender = () => {
|
|
63
67
|
return this.render({
|
|
64
68
|
activeClasses: this.activeClasses,
|
|
@@ -69,8 +73,15 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
69
73
|
this._firstUpdated = false;
|
|
70
74
|
this.onUiSrefTargetEvent = (event) => {
|
|
71
75
|
const { targetState } = event.detail;
|
|
76
|
+
const previous = this._linkTargets.get(event.target);
|
|
77
|
+
if (previous) {
|
|
78
|
+
this.targetStates.delete(previous);
|
|
79
|
+
this.uiSrefs.delete(previous);
|
|
80
|
+
}
|
|
72
81
|
this.targetStates.add(targetState);
|
|
73
82
|
this.uiSrefs.set(targetState, event.target);
|
|
83
|
+
this._linkTargets.set(event.target, targetState);
|
|
84
|
+
if (this._firstUpdated) this.onStatesChanged();
|
|
74
85
|
};
|
|
75
86
|
this.onTransitionStateChange = (e) => {
|
|
76
87
|
const event = e;
|
|
@@ -84,12 +95,13 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
84
95
|
this.doRender();
|
|
85
96
|
};
|
|
86
97
|
this.onTransitionStart = (trans) => {
|
|
87
|
-
this.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
const connection = this._connection;
|
|
99
|
+
const dispatch = (evt) => {
|
|
100
|
+
if (connection !== this._connection) return;
|
|
101
|
+
this.element?.dispatchEvent(this.createTransitionStateChangeEvent(evt, trans));
|
|
102
|
+
};
|
|
103
|
+
dispatch(TransitionStateChange.start);
|
|
104
|
+
trans.promise.then(() => dispatch(TransitionStateChange.success), () => dispatch(TransitionStateChange.error));
|
|
93
105
|
};
|
|
94
106
|
this.onStatesChanged = () => {
|
|
95
107
|
const { active, exact } = this.getStatus() || {};
|
|
@@ -164,6 +176,8 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
164
176
|
this.params = params;
|
|
165
177
|
this.options = options;
|
|
166
178
|
const { element } = part;
|
|
179
|
+
this._partElement = element;
|
|
180
|
+
this._lastTargetStates = targetStates && Array.from(targetStates);
|
|
167
181
|
if (this.element !== element) {
|
|
168
182
|
this.element = element;
|
|
169
183
|
this._firstUpdated = false;
|
|
@@ -200,12 +214,25 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
200
214
|
this._firstUpdated = true;
|
|
201
215
|
}
|
|
202
216
|
disconnected() {
|
|
217
|
+
this._firstUpdated = false;
|
|
218
|
+
this._connection++;
|
|
203
219
|
if (!this.element) return;
|
|
204
220
|
this.element.removeEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
205
221
|
this.element.removeEventListener(TRANSITION_STATE_CHANGE_EVENT, this.onTransitionStateChange);
|
|
206
222
|
this.element = null;
|
|
207
223
|
this._deregisterOnStart?.();
|
|
224
|
+
this._deregisterOnStart = void 0;
|
|
208
225
|
this._deregisterOnStatesChanged?.();
|
|
226
|
+
this._deregisterOnStatesChanged = void 0;
|
|
227
|
+
}
|
|
228
|
+
reconnected() {
|
|
229
|
+
this.element = this._partElement;
|
|
230
|
+
if (!this.element) return;
|
|
231
|
+
const retained = !this._lastTargetStates && !this.state ? [...this.targetStates] : [];
|
|
232
|
+
this.firstUpdated({ targetStates: this._lastTargetStates });
|
|
233
|
+
retained.forEach((targetState) => this.targetStates.add(targetState));
|
|
234
|
+
const inFlight = this.uiRouter?.globals.transition;
|
|
235
|
+
if (inFlight) this.onTransitionStart(inFlight);
|
|
209
236
|
}
|
|
210
237
|
createTransitionStateChangeEvent(evt, trans) {
|
|
211
238
|
const detail = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-sref-active.js","mappings":"AAAA,SACE,UACA,QACA,OAEA,WAIA,MAIA,eACK;AACP,SAAS,gBAA6B;AACtC,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAG/B,SAAS,0BAA0B;AACnC,SAAS,cAAc,yBAAyB;AAChD,SACE,cAGA,4BACK;AACP,SAAS,cAAc;AAavB,OAAO,MAAM,gCAAgC;AAM7C,OAAO,IAAK,wBAAL;CAEL;CAEA;CAEA;;AACF;AAkCA,MAAM,eAAe,WAA+C;CAClE,IAAI,CAAC,OAAO,OAAO,GAAG,aAAa;CACnC,MAAM,QAAqB,OAAO,OAAO;CACzC,MAAM,kBAAkB,OAAO,OAAO;CAEtC,MAAM,cADyB,UAAU,UAAU,MACb,CAAC,CACpC,KAAK,SAAS,KAAK,WAAW,CAAC,CAC/B,OAAgB,SAAS,CAAC,CAAC,CAAC,CAC5B,QAAQ,UACP,OAAO,UAAU,eAAe,KAAK,iBAAiB,MAAM,EAAE,CAChE;CACF,QAAQ,OAAmB,CAAC,MAAM;EAChC,MAAM,WAAW,KAAK,IAAI;EAC1B,IAAI,CAAC,YAAY,SAAS,UAAU,OAAO,OAAO;EAClD,MAAM,cAAc,UAAU,YAAY,IAAI;EAC9C,OAAO,MAAM,OAAO,aAAa,aAAa,eAAe;CAC/D;AACF;AASA,SAAS,iBACP,UACA,YACc;CACd,OAAO,WAAW,KAAK,SACrB,SAAS,OACP,UAAU,QAAQ,aAAa,MAAM,EAAG,UAAU,KAAK,KAAK,CAC9D,CACF;AACF;AAGA,OAAO,SAAS,gBACd,MACA,OACY;CACZ,OAAO;EACL,QAAQ,KAAK,UAAU,MAAM;EAC7B,OAAO,KAAK,SAAS,MAAM;EAC3B,UAAU,KAAK,YAAY,MAAM;EACjC,SAAS,KAAK,WAAW,MAAM;EAC/B,cAAc,CAAC,GAAG,KAAK,cAAc,GAAG,MAAM,YAAY;CAC5D;AACF;AAoDA,MAAM,iBAAiB,YACrB,aAAa,OAAO,KAAK,QAAQ,QAAQ,kBAAgB;AAQ3D,MAAM,uBACJ,qBAEA,OAAO,qBAAqB,WACxB,mBACA,EAAE,OAAO,iBAAiB;AA2ChC,IAAI,SAAuC;AAqB3C,OAAO,MAAM,8BAA8B,eAAe;CAKxD,aAAmB;EACjB,KAAK,WAAW,mBAAmB,WAAW,KAAK,OAAQ;CAC7D;CAIA,iBAAuB;EACrB,KAAK,aAAa,OAAO,eAAe,KAAK,OAAQ;CACvD;
|
|
1
|
+
{"version":3,"file":"ui-sref-active.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref-active.ts"]}
|
|
@@ -16,7 +16,7 @@ export function uiSrefTargetEvent(targetState) {
|
|
|
16
16
|
}
|
|
17
17
|
const paramsEqual = equals;
|
|
18
18
|
function sameTarget(a, b) {
|
|
19
|
-
return !!a && a
|
|
19
|
+
return !!a && a.$state() === b.$state() && paramsEqual(a.params(), b.params());
|
|
20
20
|
}
|
|
21
21
|
const warnedAssignHref = new WeakSet();
|
|
22
22
|
export function isNativeLink(element) {
|
|
@@ -45,6 +45,7 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
45
45
|
this.targetState = null;
|
|
46
46
|
this._ownsHref = false;
|
|
47
47
|
this._seekedRouter = false;
|
|
48
|
+
this._partElement = null;
|
|
48
49
|
this.onClick = (event) => {
|
|
49
50
|
const { uiRouter: router, state, params } = this;
|
|
50
51
|
const options = this.getOptions();
|
|
@@ -131,6 +132,12 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
131
132
|
this.href = null;
|
|
132
133
|
this._ownsHref = false;
|
|
133
134
|
this.unsubscribe?.();
|
|
135
|
+
this.unsubscribe = void 0;
|
|
136
|
+
this._firstUpdated = false;
|
|
137
|
+
}
|
|
138
|
+
reconnected() {
|
|
139
|
+
this.element = this._partElement;
|
|
140
|
+
if (this.element) this.firstUpdated();
|
|
134
141
|
}
|
|
135
142
|
update(part, [state, params = {}, options = {}]) {
|
|
136
143
|
const { assignHref, ...transitionOptions } = options;
|
|
@@ -139,6 +146,7 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
139
146
|
this.options = transitionOptions;
|
|
140
147
|
this.uiSrefOptions = { assignHref };
|
|
141
148
|
const uiSrefElement = part.element;
|
|
149
|
+
this._partElement = uiSrefElement;
|
|
142
150
|
if (this.element !== uiSrefElement) {
|
|
143
151
|
this.element = uiSrefElement;
|
|
144
152
|
this._firstUpdated = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-sref.js","mappings":"AAAA,SACE,QACA,QAGA,gBAEK;AACP,SAAS,gBAA6B;AACtC,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAG/B,SAAS,cAAc,yBAAyB;AAChD,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAGvB,SAAS;AAMT,OAAO,MAAM,uBAAuB;AA8BpC,OAAO,SAAS,kBAAkB,aAA6C;CAC7E,OAAO,IAAI,YAAY,sBAAsB;EAC3C,SAAS;EACT,UAAU;EACV,QAAQ,EAAE,YAAY;CACxB,CAAC;AACH;AAQA,MAAM,cAAc;
|
|
1
|
+
{"version":3,"file":"ui-sref.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref.ts"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
1
|
+
import { LitElement, html } from "lit";
|
|
2
2
|
import { property, state } from "lit/decorators.js";
|
|
3
3
|
import { ResolveContext, Transition, applyPairs, trace, isFunction, isString, unnestR, filter } from "@uirouter/core";
|
|
4
|
-
import { LitViewConfig } from "./core.js";
|
|
4
|
+
import { LitViewConfig, isRoutedLitElement } from "./core.js";
|
|
5
|
+
import { routedLitElementRenderer } from "./routed-element.js";
|
|
5
6
|
import { warnMissingRouter } from "./dev-warn.js";
|
|
6
7
|
import { UIRouterLitElement } from "./ui-router.js";
|
|
7
8
|
import _decorate from "@oxc-project/runtime/helpers/decorate";
|
|
@@ -11,7 +12,6 @@ export class UiView extends LitElement {
|
|
|
11
12
|
super(..._args);
|
|
12
13
|
this.name = "";
|
|
13
14
|
this.component = null;
|
|
14
|
-
this.inner = document.createDocumentFragment();
|
|
15
15
|
this.viewId = viewIdCounter++;
|
|
16
16
|
this.onUiViewContextEvent = (event) => {
|
|
17
17
|
if (event.target === this) return;
|
|
@@ -19,8 +19,11 @@ export class UiView extends LitElement {
|
|
|
19
19
|
event.detail.parentView = this;
|
|
20
20
|
};
|
|
21
21
|
this.onUiRouterContextEvent = (event) => {
|
|
22
|
+
if (this.seekingProvidedRouter) return;
|
|
22
23
|
UIRouterLitElement.onUiRouterContextEvent(this.uiRouter)(event);
|
|
23
24
|
};
|
|
25
|
+
this.routerFromProvider = false;
|
|
26
|
+
this.seekingProvidedRouter = false;
|
|
24
27
|
this.disconnectedHandlers = [];
|
|
25
28
|
}
|
|
26
29
|
createRenderRoot() {
|
|
@@ -44,7 +47,8 @@ export class UiView extends LitElement {
|
|
|
44
47
|
context: config.viewDecl.$context
|
|
45
48
|
};
|
|
46
49
|
this.resolveContext = new ResolveContext(config.path);
|
|
47
|
-
|
|
50
|
+
const { component } = config.viewDecl;
|
|
51
|
+
this.component = isRoutedLitElement(component) ? routedLitElementRenderer(component) : component;
|
|
48
52
|
this.requestUpdate();
|
|
49
53
|
}
|
|
50
54
|
connectedCallback() {
|
|
@@ -72,10 +76,32 @@ export class UiView extends LitElement {
|
|
|
72
76
|
this.parentView = this.constructor.seekParentView(this);
|
|
73
77
|
}
|
|
74
78
|
seekRouter() {
|
|
75
|
-
|
|
79
|
+
if (!this.uiRouter) {
|
|
80
|
+
this.uiRouter = UIRouterLitElement.seekRouter(this);
|
|
81
|
+
this.routerFromProvider = !!this.uiRouter;
|
|
82
|
+
}
|
|
76
83
|
this.addEventListener(UIRouterLitElement.uiRouterContextEventName, this.onUiRouterContextEvent);
|
|
77
84
|
}
|
|
85
|
+
seekProvidedRouter() {
|
|
86
|
+
this.seekingProvidedRouter = true;
|
|
87
|
+
try {
|
|
88
|
+
return UIRouterLitElement.seekRouter(this);
|
|
89
|
+
} finally {
|
|
90
|
+
this.seekingProvidedRouter = false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
adoptProvidedRouter() {
|
|
94
|
+
const router = this.routerFromProvider ? this.seekProvidedRouter() : this.uiRouter;
|
|
95
|
+
if (!router || router === this.registeredRouter) return;
|
|
96
|
+
this.deregisterAll();
|
|
97
|
+
this.uiRouter = router;
|
|
98
|
+
this.setupUiView();
|
|
99
|
+
}
|
|
100
|
+
deregisterAll() {
|
|
101
|
+
while (this.disconnectedHandlers.length) this.disconnectedHandlers.shift()?.();
|
|
102
|
+
}
|
|
78
103
|
captureContent() {
|
|
104
|
+
this.inner ??= document.createDocumentFragment();
|
|
79
105
|
this.inner.append(...this.childNodes.values());
|
|
80
106
|
}
|
|
81
107
|
setupUiView() {
|
|
@@ -101,11 +127,12 @@ export class UiView extends LitElement {
|
|
|
101
127
|
}));
|
|
102
128
|
this.disconnectedHandlers.push(router.transitionService.onSuccess({}, (trans) => this._invokeUiOnParamsChangedHook(trans)));
|
|
103
129
|
this.disconnectedHandlers.push(router.viewService.registerUIView(this._uiViewData));
|
|
130
|
+
this.registeredRouter = router;
|
|
104
131
|
}
|
|
105
132
|
disconnectedCallback() {
|
|
106
133
|
super.disconnectedCallback();
|
|
107
134
|
this.removeEventListener(this.constructor.uiViewContextEventName, this.onUiViewContextEvent);
|
|
108
|
-
|
|
135
|
+
this.deregisterAll();
|
|
109
136
|
}
|
|
110
137
|
_invokeUiCanExitHook(trans) {
|
|
111
138
|
const instance = this.firstElementChild;
|
|
@@ -153,19 +180,19 @@ export class UiView extends LitElement {
|
|
|
153
180
|
}
|
|
154
181
|
firstUpdated(changed) {
|
|
155
182
|
super.firstUpdated(changed);
|
|
183
|
+
this.adoptProvidedRouter();
|
|
156
184
|
if (!this.uiRouter) warnMissingRouter(this, "<ui-view>", "will never render a routed view");
|
|
157
185
|
}
|
|
158
186
|
render() {
|
|
159
|
-
if (!this.component || !this.viewAddress) return this.inner
|
|
187
|
+
if (!this.component || !this.viewAddress) return this.inner?.cloneNode(true) ?? html`<slot></slot>`;
|
|
160
188
|
const { uiRouter: router } = this;
|
|
161
189
|
const injector = this.resolveContext.injector();
|
|
162
|
-
const
|
|
163
|
-
const transition = injector.get(Transition);
|
|
164
|
-
return this.component({
|
|
190
|
+
const props = {
|
|
165
191
|
router,
|
|
166
|
-
resolves,
|
|
167
|
-
transition
|
|
168
|
-
}
|
|
192
|
+
resolves: this.resolveContext.getTokens().filter((token) => isString(token)).map((token) => this.resolveContext.getResolvable(token)).filter((r) => r.resolved).map(({ token }) => [token, injector.get(token)]).reduce(applyPairs, {}),
|
|
193
|
+
transition: injector.get(Transition)
|
|
194
|
+
};
|
|
195
|
+
return this.component(props);
|
|
169
196
|
}
|
|
170
197
|
}
|
|
171
198
|
_decorate([property()], UiView.prototype, "name", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-view.js","mappings":"AAAA,SAAS,
|
|
1
|
+
{"version":3,"file":"ui-view.js","mappings":"AAAA,SAAS,YAAY,YAAY;AAEjC,SAAS,UAAU,aAAa;AAChC,SAEE,gBACA,YAEA,YAGA,OAEA,YACA,UACA,SAEA,cAGK;AASP,SAAS,eAA4B,0BAA0B;AAC/D,SAAS,gCAAgC;AACzC,SAAS,yBAAyB;AAClC,SAAS,0BAAgD;;AAGzD,IAAI,gBAAgB;AA0CpB,OAAO,MAAM,eAAe,WAAW;;;cAE9B;mBAcuC;gBAUpB;+BAiDe,UAA8B;GAErE,IAAI,MAAM,WAAW,MACnB;GAGF,MAAM,gBAAgB;GACtB,MAAM,OAAO,aAAa;EAC5B;iCAoC2C,UAAgC;GAEzE,IAAI,KAAK,uBACP;GAEF,mBAAmB,uBAAuB,KAAK,QAAQ,CAAC,CAAC,KAAK;EAChE;4BAe6B;+BAMG;8BAyDwB,CAAC;;CArLzD,mBAAyB;EACvB,OAAO;CACT;CAQA,mBAA2B,QAAoB;EAC7C,IAAI,CAAC,QAAQ;GACX,KAAK,YAAY;GACjB,KAAK,cAAc;GACnB;EACF;EAEA,IAAI,EAAE,kBAAkB,gBACtB;EAIF,IAAI,KAAK,YAAY,WAAW,QAC9B;EAGF,MAAM,yBAAyB,KAAK,aAAa,OAAO,SAAS,QAAS;EAC1E,KAAK,oBAAoB,MAAM;CACjC;CAEA,oBAA4B,QAAuB;EACjD,KAAK,YAAY,SAAS;EAE1B,IAAI,CAAC,KAAK,eAAe,QAAQ,UAAU,UACzC,KAAK,cAAc;GACjB,KAAK,KAAK,YAAY;GACtB,SAAS,OAAO,SAAS;EAC3B;EAGF,KAAK,iBAAiB,IAAI,eAAe,OAAO,IAAI;EAGpD,MAAM,EAAE,cAAc,OAAO;EAC7B,KAAK,YAAY,mBAAmB,SAAS,IACzC,yBAAyB,SAAS,IAClC;EACJ,KAAK,cAAc;CACrB;CAgBA,oBAA0B;EACxB,MAAM,kBAAkB;EACxB,KAAK,iBACH,KAAK,YAAY,wBACjB,KAAK,oBACP;EACA,KAAK,YAAY;EACjB,KAAK,eAAe;CACtB;;gCAEiD;;CAEjD,OAAe,qBAAyC;EACtD,OAAO,IAAI,YAAY,KAAK,wBAAwB;GAClD,SAAS;GACT,UAAU;GACV,QAAQ,EACN,YAAY,KACd;EACF,CAAC;CACH;CAGA,OAAO,eAAe,WAAmC;EACvD,MAAM,qBAAqB,KAAK,mBAAmB;EACnD,UAAU,cAAc,kBAAkB;EAC1C,OAAO,mBAAmB,OAAO;CACnC;CAEA,iBAAyB;EACvB,KAAK,aAAa,KAAK,YAAY,eAAe,IAAI;CACxD;CAUA,aAAqB;EACnB,IAAI,CAAC,KAAK,UAAU;GAClB,KAAK,WAAW,mBAAmB,WAAW,IAAI;GAElD,KAAK,qBAAqB,CAAC,CAAC,KAAK;EACnC;EACA,KAAK,iBACH,mBAAmB,0BACnB,KAAK,sBACP;CACF;CAkBA,qBAAsD;EACpD,KAAK,wBAAwB;EAC7B,IAAI;GACF,OAAO,mBAAmB,WAAW,IAAI;EAC3C,UAAU;GACR,KAAK,wBAAwB;EAC/B;CACF;CAgBA,sBAAoC;EAClC,MAAM,SAAS,KAAK,qBAChB,KAAK,mBAAmB,IACxB,KAAK;EACT,IAAI,CAAC,UAAU,WAAW,KAAK,kBAC7B;EAGF,KAAK,cAAc;EACnB,KAAK,WAAW;EAChB,KAAK,YAAY;CACnB;CAEA,gBAA8B;EAC5B,OAAO,KAAK,qBAAqB,QAE/B,KADqB,qBAAqB,MACpC,CAAC,GAAG;CAEd;CAEA,iBAAyB;EACvB,KAAK,UAAU,SAAS,uBAAuB;EAC/C,KAAK,MAAM,OAAO,GAAG,KAAK,WAAW,OAAO,CAAC;CAC/C;CAIA,cAAsB;EACpB,KAAK,WAAW;EAChB,KAAK,eAAe;EACpB,MAAM,EAAE,QAAQ,UAAU,QAAQ,eAAe;EACjD,MAAM,OAAO,KAAK,QAAQ;EAE1B,MAAM,YAAY,YAAY,aAAa;EAC3C,MAAM,kBACJ,YAAY,eAAe,QAAQ,cAAc,KAAK;EACxD,MAAM,MAAM,YAAY,YAAY,MAAM,OAAO;EAEjD,KAAK,cAAc;GACjB,OAAO;GACP,IAAI;GACJ;GACA;GACA;GACA,eAAe,KAAK,mBAAmB,KAAK,IAAI;GAChD,QAAQ;EACV;EAEA,IAAI,CAAC,QACH;EAGF,KAAK,qBAAqB,KACxB,OAAO,kBAAkB,SAAS,CAAC,IAAI,UAAU;GAC/C,OAAO,KAAK,qBAAqB,KAAK;EACxC,CAAC,CACH;EAEA,KAAK,qBAAqB,KACxB,OAAO,kBAAkB,UAAU,CAAC,IAAI,UACtC,KAAK,6BAA6B,KAAK,CACzC,CACF;EAEA,KAAK,qBAAqB,KACxB,OAAO,YAAY,eAAe,KAAK,WAAW,CACpD;EACA,KAAK,mBAAmB;CAC1B;CAGA,uBAA6B;EAC3B,MAAM,qBAAqB;EAC3B,KAAK,oBACH,KAAK,YAAY,wBACjB,KAAK,oBACP;EAEA,KAAK,cAAc;CACrB;CAUA,qBAA6B,OAAmB;EAC9C,MAAM,WAAW,KAAK;EACtB,MAAM,cAAgC,UAAU;EAChD,IAAI,WAAW,WAAW,GAAG;GAC3B,MAAM,QAA0B,KAAK;GAErC,IAAI,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,GAChC,MAAM,QAAQ,CAAC,GAAG,WAAY;IAC5B,OAAO,YAAY,KAAK,UAAU,KAAK;GACzC,CAAC;EAEL;CACF;CAGA,cAAc,GAAG,MAAqD;EACpE,MAAM,cAAc,GAAG,IAAI;EAC3B,MAAM,WAAW,KAAK;EACtB,IAAI,WAAW,UAAU,aAAa,GACpC,SAAS,cAAc;CAE3B;CAKA,6BAAqC,cAA0B;EAE7D,KAAK,cAAc;EAEnB,MAAM,WAAW,KAAK;EACtB,MAAM,oBAAsC,UAAU;EAEtD,IAAI,WAAW,iBAAiB,GAAG;GACjC,MAAM,YAAY,KAAK;GASvB,IACE,iBALA,IAJyC,eACzC,KAAK,YAAY,OAAO,IAGX,CAAC,CAAC,cAAc,cAAc,CAAC,CAAC,QAM7C,aAAa,QAAQ,CAAC,CAAC,SAAS,SAAS,GAEzC;GAEF,MAAM,WACJ,aAAa,OAAO,IAAI;GAC1B,MAAM,aACJ,aAAa,OAAO,MAAM;GAC5B,MAAM,iBAAiB,SAAmB,KAAK;GAC/C,MAAM,WAAoB,aACvB,YAAY,IAAI,CAAC,CACjB,IAAI,aAAa,CAAC,CAClB,OAAgB,SAAS,CAAC,CAAC;GAC9B,MAAM,aAAsB,aACzB,YAAY,MAAM,CAAC,CACnB,IAAI,aAAa,CAAC,CAClB,OAAgB,SAAS,CAAC,CAAC;GAG9B,MAAM,kBAAkB,SAAS,QAAQ,UAAiB;IACxD,MAAM,MAAM,WAAW,QAAQ,KAAK;IACpC,OACE,QAAQ,MACR,CAAC,WAAW,IAAI,CAAC,KAAK,OAAO,SAAS,MAAM,KAAK,WAAW,MAAM,GAAG;GAEzE,CAAC;GAGD,IAAI,gBAAgB,QAAQ;IAC1B,MAAM,cAAwB,gBAAgB,KAAK,MAAM,EAAE,EAAE;IAE7D,MAAM,YAAY,OAAO,WAAW,GAAG,QACrC,YAAY,SAAS,GAAI,CAC3B;IACA,SAAS,kBAAkB,WAAW,YAAY;GACpD;EACF;CACF;CAGA,IAAW,cAAuC;EAChD,OAAO,MAAM,aAAa,QAAQ,SAAS;CAC7C;CAGA,IAAW,QAA0B;EACnC,OAAQ,KAAK,YAA4B;CAC3C;CAYA,aAAuB,SAA+B;EACpD,MAAM,aAAa,OAAO;EAC1B,KAAK,oBAAoB;EACzB,IAAI,CAAC,KAAK,UACR,kBAAkB,MAAM,aAAa,iCAAiC;CAE1E;CAGA,SAAgC;EAC9B,IAAI,CAAC,KAAK,aAAa,CAAC,KAAK,aAE3B,OAAO,KAAK,OAAO,UAAU,IAAI,KAAK,IAAI;EAG5C,MAAM,EAAE,UAAU,WAAW;EAC7B,MAAM,WAAW,KAAK,eAAe,SAAS;EAY9C,MAAM,QAA6B;GAAE;GAAQ,UAXzB,KAAK,eACtB,UAAU,CAAC,CACX,QAAQ,UAAU,SAAS,KAAK,CAAC,CAAC,CAClC,KAAK,UAAU,KAAK,eAAe,cAAc,KAAK,CAAC,CAAC,CACxD,QAAQ,MAAM,EAAE,QAEQ,CAAC,CACzB,KAAK,EAAE,YAAY,CAAC,OAAiB,SAAS,IAAI,KAAK,CAAY,CAAC,CAAC,CACrE,OAAO,YAAY,CAAC,CAG6B;GAAG,YAFpC,SAAS,IAAI,UAEgC;EAAE;EAElE,OAAO,KAAK,UAAU,KAAK;CAC7B;AACF;WAlZG,SAAS;WAOT,SAAS,EAAE,WAAW,MAAM,CAAC;WAG7B,MAAM;WAIN,MAAM;WAyDN,MAAM","names":[],"ignoreList":[],"sources":["../../src/ui-view.ts"]}
|
package/dist/interface.d.ts
CHANGED
|
@@ -364,6 +364,11 @@ export interface LitStateDeclaration<T extends DefaultResolvesType = DefaultReso
|
|
|
364
364
|
* @category types
|
|
365
365
|
*/
|
|
366
366
|
export interface NormalizedLitViewDeclaration<T extends DefaultResolvesType = DefaultResolvesType> extends _ViewDeclaration {
|
|
367
|
-
|
|
367
|
+
/**
|
|
368
|
+
* A template function, or a {@link RoutedLitElement} class that the rendering
|
|
369
|
+
* `<ui-view>` instantiates and owns. `sticky` classes are normalized to a
|
|
370
|
+
* template function so their single instance outlives any one `<ui-view>`.
|
|
371
|
+
*/
|
|
372
|
+
component: RoutedLitComponent<T>;
|
|
368
373
|
}
|
|
369
374
|
//# sourceMappingURL=interface.d.ts.map
|
package/dist/interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","mappings":"AAAA,SACE,YACA,YACA,kBACA,kBACA,UACA,iBACK;AACP,SAAS,gBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;AA0B3C,iBAAiB,kBAAkB;;;;;;;;;;;;;;;;;;;CAmBjC,kBAAkB,WAAW,WAAW,QAAQ;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,iBAAiB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxB,UAAU,gBAAgB,aAAa;AACzC;;;;;;AAQA,YAAY,sBAAsB;;;;;;;;;;;;AAalC,YAAY,eACV,UAAU,sBAAsB,uBAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCJ,iBAAiB,oBACf,UAAU,sBAAsB,qBAChC;;CAEA,aAAa;;CAEb,UAAU,eAAe;;CAEzB,QAAQ;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,YAAY,kBACV,UAAU,sBAAsB,wBAC7B,OAAO,oBAAoB,OAAO;;;;;;;AAQvC,YAAY,2BACV,UAAU,sBAAsB,uBAC9B,kBAAkB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiD3B,iBAAiB,iBACf,UAAU,sBAAsB,qBAChC;;;;;MAKK,OAAO,oBAAoB,KAAK,aAAa;EAChD,eAAe,oBAAoB;CACrC;;CAGA;AACF;;;;;;;;;;AAWA,YAAY,mBACV,UAAU,sBAAsB,uBAC9B,kBAAkB,KAAK,iBAAiB;;;;AAK5C,iBAAiB,0BACf,UAAU,sBAAsB,6BAExB,iBAAiB,IAAI,iBAAiB,CAAC;;;;AAKjD,iBAAiB,yBACf,UAAU,sBAAsB,6BACxB,iBAAiB;CACzB,WAAW,mBAAmB;AAChC;;;;;;;;;AAUA,YAAY,mBACV,UAAU,sBAAsB,uBAE9B,yBAAyB,KACzB,0BAA0B,KAC1B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsD/B,iBAAiB,oBACf,UAAU,sBAAsB,6BACxB,iBAAiB;;CAEzB,YAAY,mBAAmB;;;;;;;;;;CAW/B,QAAQ;iBAAiB,mBAAmB;CAAG;AACjD;;;;;;AAOA,iBAAiB,6BACf,UAAU,sBAAsB,6BACxB,iBAAiB
|
|
1
|
+
{"version":3,"file":"interface.d.ts","mappings":"AAAA,SACE,YACA,YACA,kBACA,kBACA,UACA,iBACK;AACP,SAAS,gBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;AA0B3C,iBAAiB,kBAAkB;;;;;;;;;;;;;;;;;;;CAmBjC,kBAAkB,WAAW,WAAW,QAAQ;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,iBAAiB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxB,UAAU,gBAAgB,aAAa;AACzC;;;;;;AAQA,YAAY,sBAAsB;;;;;;;;;;;;AAalC,YAAY,eACV,UAAU,sBAAsB,uBAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCJ,iBAAiB,oBACf,UAAU,sBAAsB,qBAChC;;CAEA,aAAa;;CAEb,UAAU,eAAe;;CAEzB,QAAQ;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,YAAY,kBACV,UAAU,sBAAsB,wBAC7B,OAAO,oBAAoB,OAAO;;;;;;;AAQvC,YAAY,2BACV,UAAU,sBAAsB,uBAC9B,kBAAkB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiD3B,iBAAiB,iBACf,UAAU,sBAAsB,qBAChC;;;;;MAKK,OAAO,oBAAoB,KAAK,aAAa;EAChD,eAAe,oBAAoB;CACrC;;CAGA;AACF;;;;;;;;;;AAWA,YAAY,mBACV,UAAU,sBAAsB,uBAC9B,kBAAkB,KAAK,iBAAiB;;;;AAK5C,iBAAiB,0BACf,UAAU,sBAAsB,6BAExB,iBAAiB,IAAI,iBAAiB,CAAC;;;;AAKjD,iBAAiB,yBACf,UAAU,sBAAsB,6BACxB,iBAAiB;CACzB,WAAW,mBAAmB;AAChC;;;;;;;;;AAUA,YAAY,mBACV,UAAU,sBAAsB,uBAE9B,yBAAyB,KACzB,0BAA0B,KAC1B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsD/B,iBAAiB,oBACf,UAAU,sBAAsB,6BACxB,iBAAiB;;CAEzB,YAAY,mBAAmB;;;;;;;;;;CAW/B,QAAQ;iBAAiB,mBAAmB;CAAG;AACjD;;;;;;AAOA,iBAAiB,6BACf,UAAU,sBAAsB,6BACxB,iBAAiB;;;;;;CAMzB,WAAW,mBAAmB;AAChC","names":[],"ignoreList":[],"sources":["../src/interface.ts"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DefaultResolvesType, RoutedLitElement, RoutedLitTemplate } from "./interface.js";
|
|
2
|
+
/**
|
|
3
|
+
* Binds a routed class to a single instance for as long as the returned renderer
|
|
4
|
+
* lives, so whoever holds the renderer decides how long the element survives.
|
|
5
|
+
*
|
|
6
|
+
* Not re-exported by `pure.ts`: this is plumbing shared by `core` and `ui-view`.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare function routedLitElementRenderer<T extends DefaultResolvesType = DefaultResolvesType>(Component: RoutedLitElement<T>): RoutedLitTemplate<T>;
|
|
11
|
+
//# sourceMappingURL=routed-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routed-element.d.ts","mappings":"AAEA,cACE,qBACA,kBACA,yBAEK;;;;;;;;;AAUP,OAAO,iBAAS,yBACd,UAAU,sBAAsB,qBAChC,WAAW,iBAAiB,KAAK,kBAAkB","names":[],"ignoreList":[],"sources":["../src/routed-element.ts"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
export function routedLitElementRenderer(Component) {
|
|
3
|
+
let element;
|
|
4
|
+
return (props) => {
|
|
5
|
+
element ??= new Component(props);
|
|
6
|
+
element._uiViewProps = props;
|
|
7
|
+
return html`${element}`;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=routed-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routed-element.js","mappings":"AAAA,SAAS,YAAY;AAiBrB,OAAO,SAAS,yBAEd,WAAsD;CACtD,IAAI;CACJ,QAAQ,UAAkC;EACxC,YAAY,IAAI,UAAU,KAAK;EAC/B,QAAQ,eAAe;EACvB,OAAO,IAAI,GAAG;CAChB;AACF","names":[],"ignoreList":[],"sources":["../src/routed-element.ts"]}
|
package/dist/ui-sref-active.d.ts
CHANGED
|
@@ -178,10 +178,30 @@ export declare class UiSrefActiveDirective extends AsyncDirective {
|
|
|
178
178
|
exiting: boolean | undefined;
|
|
179
179
|
targetStates: Set<TargetState>;
|
|
180
180
|
uiSrefs: WeakMap<TargetState, UiSrefElement>;
|
|
181
|
+
/**
|
|
182
|
+
* The reverse of {@link uiSrefs}, so a re-targeting link retires its old one.
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
private readonly _linkTargets;
|
|
181
186
|
/** @internal */
|
|
182
187
|
_deregisterOnStart: deregisterFn | undefined;
|
|
183
188
|
/** @internal */
|
|
184
189
|
_deregisterOnStatesChanged: deregisterFn | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* Kept across a disconnect so {@link reconnected} can re-arm.
|
|
192
|
+
* @internal
|
|
193
|
+
*/
|
|
194
|
+
private _partElement;
|
|
195
|
+
/**
|
|
196
|
+
* Replayed by {@link reconnected} so it re-arms the way `firstUpdated` did.
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
199
|
+
private _lastTargetStates;
|
|
200
|
+
/**
|
|
201
|
+
* Bumped on disconnect; `reconnected` re-subscribes to what is in flight.
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
private _connection;
|
|
185
205
|
/** @internal */
|
|
186
206
|
constructor(partInfo: PartInfo);
|
|
187
207
|
/** @internal */
|
|
@@ -239,6 +259,11 @@ export declare class UiSrefActiveDirective extends AsyncDirective {
|
|
|
239
259
|
firstUpdated({ targetStates }: Partial<UiSrefActiveParams>): void;
|
|
240
260
|
/** @internal */
|
|
241
261
|
disconnected(): void;
|
|
262
|
+
/**
|
|
263
|
+
* Re-arms after a detach/re-attach; `update` only re-arms on a NEW element.
|
|
264
|
+
* @internal
|
|
265
|
+
*/
|
|
266
|
+
reconnected(): void;
|
|
242
267
|
/** @internal */
|
|
243
268
|
createTransitionStateChangeEvent(evt: TransitionStateChange, trans: Transition): CustomEvent<TransEvt>;
|
|
244
269
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-sref-active.d.ts","mappings":"AAAA,SAOE,WAGA,aACA,YACA,yBAEK;AACP,SAAS,UAAU,mBAAmB;AACtC,SAAoB,gBAA0B;AAC9C,cAAc,uBAAuB;AACrC,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAG5B,SAEE,eACA,yBAEK;AACP,SAAS,cAAc;;UAGb,SAAS;CACjB;CACA,OAAO;CACP,SAAS;AACX;;;;;AAMA,OAAO,cAAM,gCAAgC;;;;;AAM7C,oBAAY,sBAAsB;;CAEhC;;CAEA;;CAEA;AACF;;;;;;;;;;;;AAaA,iBAAiB,WAAW;;CAE1B;;CAEA;;CAEA;;CAEA;;CAEA,cAAc;AAChB;;AAgDA,OAAO,iBAAS,gBACd,MAAM,YACN,OAAO,aACN;;;;;;;;;AAkBH,YAAY,mBACR,SACA,SACA,aACA,SACA,SACA;;;;;;;;;;;;;;AAeJ,iBAAiB,kBAAkB;;CAEjC,QAAQ,mBAAmB;;;;;CAK3B,SAAS,mBAAmB;AAC9B;;;;;;;;AAoCA,iBAAiB,mBAAmB;;CAElC;;CAEA;;;;;;;;;;;;;;;;;;CAkBA,mBAAmB,mBAAmB,QAAQ;;CAE9C;;CAEA,SAAS;;CAET,UAAU;;CAEV,cAAc;AAChB;KAKK;;;;;;;;;;;;;;;;;;AAmBL,OAAO,cAAM,8BAA8B,eAAe;CACxD,SAAS;CAET,UAAU;;CAEV;CAIA,YAAY;;CAEZ;CAIA;CACA;;CAEA,kBAAkB,mBAAmB,QAAQ;;;;;;;CAO7C,QAAQ;;;;;;;;CAQR,QAAQ;CAER;CACA,QAAQ;CACR,SAAS;CAET;CACA;CACA;CACA;CAEA,cAAc,IAAI;CAClB,SAAS,QAAQ,aAAa;;
|
|
1
|
+
{"version":3,"file":"ui-sref-active.d.ts","mappings":"AAAA,SAOE,WAGA,aACA,YACA,yBAEK;AACP,SAAS,UAAU,mBAAmB;AACtC,SAAoB,gBAA0B;AAC9C,cAAc,uBAAuB;AACrC,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAG5B,SAEE,eACA,yBAEK;AACP,SAAS,cAAc;;UAGb,SAAS;CACjB;CACA,OAAO;CACP,SAAS;AACX;;;;;AAMA,OAAO,cAAM,gCAAgC;;;;;AAM7C,oBAAY,sBAAsB;;CAEhC;;CAEA;;CAEA;AACF;;;;;;;;;;;;AAaA,iBAAiB,WAAW;;CAE1B;;CAEA;;CAEA;;CAEA;;CAEA,cAAc;AAChB;;AAgDA,OAAO,iBAAS,gBACd,MAAM,YACN,OAAO,aACN;;;;;;;;;AAkBH,YAAY,mBACR,SACA,SACA,aACA,SACA,SACA;;;;;;;;;;;;;;AAeJ,iBAAiB,kBAAkB;;CAEjC,QAAQ,mBAAmB;;;;;CAK3B,SAAS,mBAAmB;AAC9B;;;;;;;;AAoCA,iBAAiB,mBAAmB;;CAElC;;CAEA;;;;;;;;;;;;;;;;;;CAkBA,mBAAmB,mBAAmB,QAAQ;;CAE9C;;CAEA,SAAS;;CAET,UAAU;;CAEV,cAAc;AAChB;KAKK;;;;;;;;;;;;;;;;;;AAmBL,OAAO,cAAM,8BAA8B,eAAe;CACxD,SAAS;CAET,UAAU;;CAEV;CAIA,YAAY;;CAEZ;CAIA;CACA;;CAEA,kBAAkB,mBAAmB,QAAQ;;;;;;;CAO7C,QAAQ;;;;;;;;CAQR,QAAQ;CAER;CACA,QAAQ;CACR,SAAS;CAET;CACA;CACA;CACA;CAEA,cAAc,IAAI;CAClB,SAAS,QAAQ,aAAa;;;;;CAS9B,iBAAiB;;CAGjB,oBAAoB;;CAEpB,4BAA4B;;;;;CAM5B,QAAQ;;;;;CAMR,QAAQ;;;;;CAMR,QAAQ;;CAGR,YAAY,UAAU;;CAYtB,OAAO,EACL,eACA,cACA,oBACC,QAAQ,6BAA6B;;;;;;;;;;;CAmCxC,QAAQ;;;;;;;;;CAoBR,QAAQ;;;;;;;;;;;;CA8BR,QAAQ;;CAqBR,cAAc;;;;;;;;;CAed,cACE,OAAO,sBACP,YAAY,cACX;;CAiDH,AAAM,OACJ,MAAM,aACN,CACE,EACE,eACA,cACA,kBACA,OACA,QACA,SACA,kBAEA,sBACH;;CAkCH,uBAAsB;;CAStB;;CAEA,aAAa,EAAE,gBAAgB,QAAQ;;CAyDvC;;;;;CA0BA;;CAkBA,iCACE,KAAK,uBACL,OAAO,aACN,YAAY;;CAcf,sBAAuB,OAAO;;CAgB9B,0BAA2B,GAAG;;CAe9B,UAAU,WAAW,WAAW;;CAahC,oBAAqB,OAAO;;CAmB5B;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,OAAO,cAAM,eACX,QAAQ,QAAQ,wBACb,uBAAuB","names":[],"ignoreList":[],"sources":["../src/ui-sref-active.ts"]}
|