lit-ui-router 1.16.3 → 1.16.5
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 +6 -0
- package/dist/development/sref-active.js +23 -5
- package/dist/development/sref-active.js.map +1 -1
- package/dist/development/sref-href.js +13 -2
- package/dist/development/sref-href.js.map +1 -1
- package/dist/development/ui-sref-active.js +35 -12
- package/dist/development/ui-sref-active.js.map +1 -1
- package/dist/development/ui-sref.js +14 -2
- package/dist/development/ui-sref.js.map +1 -1
- package/dist/development/ui-view.js +6 -3
- package/dist/development/ui-view.js.map +1 -1
- package/dist/interface.d.ts +1 -1
- package/dist/sref-active.d.ts +6 -0
- package/dist/sref-active.d.ts.map +1 -1
- package/dist/sref-active.js +23 -5
- package/dist/sref-active.js.map +1 -1
- package/dist/sref-href.d.ts +4 -0
- package/dist/sref-href.d.ts.map +1 -1
- package/dist/sref-href.js +13 -2
- package/dist/sref-href.js.map +1 -1
- package/dist/ui-sref-active.d.ts +7 -0
- package/dist/ui-sref-active.d.ts.map +1 -1
- package/dist/ui-sref-active.js +35 -12
- package/dist/ui-sref-active.js.map +1 -1
- package/dist/ui-sref.d.ts +4 -0
- package/dist/ui-sref.d.ts.map +1 -1
- package/dist/ui-sref.js +14 -2
- package/dist/ui-sref.js.map +1 -1
- package/dist/ui-view.d.ts.map +1 -1
- package/dist/ui-view.js +6 -3
- package/dist/ui-view.js.map +1 -1
- package/package.json +1 -1
- package/src/interface.ts +1 -1
- package/src/sref-active.ts +43 -12
- package/src/sref-href.ts +23 -2
- package/src/ui-sref-active.ts +56 -21
- package/src/ui-sref.ts +24 -2
- package/src/ui-view.ts +12 -4
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@ import { directive, PartType } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
4
|
import { getScopedRouter } from "./context.js";
|
|
5
5
|
import { warnMissingRouter } from "./dev-warn.js";
|
|
6
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
6
7
|
import { resolveAriaCurrent, SrefTargets } from "./sref-status.js";
|
|
7
|
-
import { UIRouterLitElement } from "./ui-router.js";
|
|
8
8
|
import { UI_SREF_TARGET_EVENT, UI_SREF_TARGET_REMOVED_EVENT } from "./ui-sref.js";
|
|
9
9
|
import { UiView } from "./ui-view.js";
|
|
10
10
|
export class SrefStatusDirective extends AsyncDirective {
|
|
@@ -16,7 +16,16 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
16
16
|
this.targets = new SrefTargets();
|
|
17
17
|
this._firstUpdated = false;
|
|
18
18
|
this._deregister = [];
|
|
19
|
+
this._routerDeregister = [];
|
|
19
20
|
this._connection = 0;
|
|
21
|
+
this.onRouterReplaced = (router) => {
|
|
22
|
+
this.unwatch();
|
|
23
|
+
this.uiRouter = router;
|
|
24
|
+
this.targets.router = router;
|
|
25
|
+
this.targets.rebuild();
|
|
26
|
+
this.watch(router);
|
|
27
|
+
this.refresh();
|
|
28
|
+
};
|
|
20
29
|
this.onUiSrefTargetEvent = (event) => {
|
|
21
30
|
this.targets.onLink(event);
|
|
22
31
|
this.refresh();
|
|
@@ -74,7 +83,9 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
74
83
|
firstUpdated() {
|
|
75
84
|
if (this._firstUpdated || !this.isConnected) return;
|
|
76
85
|
const element = this.element;
|
|
77
|
-
|
|
86
|
+
const { router, unsubscribe } = subscribeRouter(element, this.onRouterReplaced);
|
|
87
|
+
this.uiRouter = router;
|
|
88
|
+
if (unsubscribe) this._deregister.push(unsubscribe);
|
|
78
89
|
this.parentView = UiView.seekParentView(element);
|
|
79
90
|
this.targets.router = this.uiRouter;
|
|
80
91
|
this.targets.relative = this.parentView?.viewContext?.name;
|
|
@@ -85,19 +96,26 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
85
96
|
element.removeEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
86
97
|
element.removeEventListener(UI_SREF_TARGET_REMOVED_EVENT, this.onUiSrefTargetRemovedEvent);
|
|
87
98
|
});
|
|
88
|
-
|
|
89
|
-
if (router) this._deregister.push(router.transitionService.onStart({}, this.onTransitionStart, { priority: -Infinity }), router.stateRegistry.onStatesChanged(this.onStatesChanged));
|
|
99
|
+
if (router) this.watch(router);
|
|
90
100
|
else warnMissingRouter(element, `<${element.localName} ${this.attributeName}=\${${this.directiveName}(...)}>`, "will never be marked active");
|
|
91
101
|
this._firstUpdated = true;
|
|
92
102
|
this.refresh();
|
|
93
103
|
}
|
|
104
|
+
watch(router) {
|
|
105
|
+
this._routerDeregister.push(router.transitionService.onStart({}, this.onTransitionStart, { priority: -Infinity }), router.stateRegistry.onStatesChanged(this.onStatesChanged));
|
|
106
|
+
}
|
|
107
|
+
unwatch() {
|
|
108
|
+
this._connection++;
|
|
109
|
+
this._routerDeregister.forEach((deregister) => deregister());
|
|
110
|
+
this._routerDeregister = [];
|
|
111
|
+
}
|
|
94
112
|
refresh(event) {
|
|
95
113
|
this.status = this.targets.status(event);
|
|
96
114
|
const value = this.commit();
|
|
97
115
|
if (value !== noChange && this.isConnected) this.setValue(value);
|
|
98
116
|
}
|
|
99
117
|
disconnected() {
|
|
100
|
-
this.
|
|
118
|
+
this.unwatch();
|
|
101
119
|
this._deregister.forEach((deregister) => deregister());
|
|
102
120
|
this._deregister = [];
|
|
103
121
|
this._firstUpdated = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-active.js","mappings":"AACA,SAAS,UAAU,eAA8B;AACjD,SAEE,WAEA,gBACK;AAGP,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,mBAAmB;AAChD,
|
|
1
|
+
{"version":3,"file":"sref-active.js","mappings":"AACA,SAAS,UAAU,eAA8B;AACjD,SAEE,WAEA,gBACK;AAGP,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,oBAAoB,mBAAmB;AAChD,SACE,sBACA,oCAEK;AAQP,SAAS,cAAc;AAiCvB,OAAO,MAAe,4BAGZ,eAAe;CAiCvB,YACE,UACA,eACA;EACA,MAAM,QAAQ;EAFK;iBAjCK;oBAIM;iBAWU,IAAI,YAAY;uBAElC;qBACc,CAAC;2BAEK,CAAC;qBAEvB;2BA+Je,WAA8B;GACjE,KAAK,QAAQ;GACb,KAAK,WAAW;GAChB,KAAK,QAAQ,SAAS;GACtB,KAAK,QAAQ,QAAQ;GACrB,KAAK,MAAM,MAAM;GACjB,KAAK,QAAQ;EACf;8BAGuB,UAAmC;GACxD,KAAK,QAAQ,OAAO,KAAK;GACzB,KAAK,QAAQ;EACf;qCAG8B,UAAuB;GACnD,IAAI,KAAK,QAAQ,cAAc,KAAK,GAClC,KAAK,QAAQ;EAEjB;+BAQ8B;GAC5B,KAAK,QAAQ,QAAQ;GACrB,KAAK,QAAQ;EACf;4BAGqB,UAA4B;GAG/C,MAAM,aAAa,KAAK;GAExB,MAAM,WAAW,QAA+B;IAC9C,IAAI,eAAe,KAAK,aACtB,KAAK,QAAQ;KAAE;KAAK;IAAM,CAAC;GAE/B;GAEA,KAAK,QAAQ;IAAE,KAAK;IAAS;GAAM,CAAC;GACpC,MAAM,QAAQ,WACN,QAAQ,SAAS,SACjB,QAAQ,OAAO,CACvB;EACF;EAlME,IAAI,SAAS,SAAS,SAAS,WAC7B,MAAM,IAAI,MACR,SAAS,cAAc,0CACzB;EAGF,KAAK,gBAAgB,SAAS;CAChC;CAwBA,gBAA0B,QAAwC;EAChE,IAAI,KAAK,UAAU,KAAK,UAAU,OAAO,KAAK;EAC9C,MAAM,SAAS,gBAAgB;EAE/B,IAAI,CAAC,QAAQ,OAAO,KAAK;EACzB,KAAK,QAAQ,SAAS;EACtB,KAAK,QAAQ,SAAS;EACtB,KAAK,QAAQ,YAAY;EACzB,KAAK,SAAS,KAAK,QAAQ,OAAO;EAElC,OAAO,KAAK;CACd;CAGA,OAAO,MAAqB,CAAC,SAA+C;EAC1E,KAAK,SAAS;EACd,KAAK,QAAQ,SAAS;EAEtB,IAAI,KAAK,YAAY,KAAK,SAAS;GACjC,KAAK,UAAU,KAAK;GACpB,KAAK,gBAAgB;GAErB,iBAAiB;IACf,KAAK,aAAa;GACpB,GAAG,CAAC;EACN,OAAO,IAAI,KAAK,UAAU;GAExB,KAAK,QAAQ,YAAY;GACzB,KAAK,QAAQ;GAEb,OAAO;EACT;EAEA,OAAO,KAAK,OAAO;CACrB;CAGA,eAAqB;EACnB,IAAI,KAAK,iBAAiB,CAAC,KAAK,aAC9B;EAGF,MAAM,UAAU,KAAK;EAErB,MAAM,EAAE,QAAQ,gBAAgB,gBAC9B,SACA,KAAK,gBACP;EAEA,KAAK,WAAW;EAEhB,IAAI,aACF,KAAK,YAAY,KAAK,WAAW;EAGnC,KAAK,aAAa,OAAO,eAAe,OAAO;EAC/C,KAAK,QAAQ,SAAS,KAAK;EAC3B,KAAK,QAAQ,WAAW,KAAK,YAAY,aAAa;EACtD,KAAK,QAAQ,YAAY;EAGzB,QAAQ,iBACN,sBAEA,KAAK,mBACP;EACA,QAAQ,iBACN,8BACA,KAAK,0BACP;EACA,KAAK,YAAY,WAAW;GAC1B,QAAQ,oBACN,sBAEA,KAAK,mBACP;GACA,QAAQ,oBACN,8BACA,KAAK,0BACP;EACF,CAAC;EAED,IAAI,QACF,KAAK,MAAM,MAAM;OAEjB,kBACE,SACA,IAAI,QAAQ,UAAU,GAAG,KAAK,cAAc,MAAM,KAAK,cAAc,UACrE,6BACF;EAGF,KAAK,gBAAgB;EACrB,KAAK,QAAQ;CACf;CAEA,MAAc,QAA2B;EAEvC,KAAK,kBAAkB,KACrB,OAAO,kBAAkB,QAAQ,CAAC,GAAG,KAAK,mBAAmB,EAC3D,UAAU,UACZ,CAAC,GACD,OAAO,cAAc,gBAAgB,KAAK,eAAe,CAC3D;CACF;CAEA,UAAwB;EACtB,KAAK;EACL,KAAK,kBAAkB,SAAS,eAAe,WAAW,CAAC;EAC3D,KAAK,oBAAoB,CAAC;CAC5B;CA4DA,QAAQ,OAAwB;EAC9B,KAAK,SAAS,KAAK,QAAQ,OAAO,KAAK;EACvC,MAAM,QAAQ,KAAK,OAAO;EAE1B,IAAI,UAAU,YAAY,KAAK,aAC7B,KAAK,SAAS,KAAK;CAEvB;CAGA,eAAqB;EACnB,KAAK,QAAQ;EACb,KAAK,YAAY,SAAS,eAAe,WAAW,CAAC;EACrD,KAAK,cAAc,CAAC;EACpB,KAAK,gBAAgB;CACvB;CAGA,cAAoB;EAGlB,iBAAiB;GACf,KAAK,aAAa;EACpB,GAAG,CAAC;CACN;AACF;AAsCA,OAAO,MAAM,iCAAiC,oBAG5C;CAOA,YAAY,UAAoB;EAC9B,MAAM,UAAU,iBAAiB;EAEjC,MAAM,EAAE,MAAM,YAAY;EAE1B,IAAI,SAAS,YAAY,SAAS,UAAU,KAAK,GAC/C,MAAM,IAAI,MACR,qGACF;CAEJ;CAGA,UAAkB,EAChB,gBAAgB,CAAC,GACjB,eAAe,CAAC,GAChB,UAAU,CAAC,KACmC;EAC9C,MAAM,OAAO,IAAI,IAAqB;EACtC,MAAM,EAAE,SAAS,OAAO,QAAQ,UAAU,KAAK,UAAU,CAAC;EAE1D,KAAK,MAAM,QAAQ,SACjB,KAAK,IAAI,MAAM,CAAC,CAAC,QAAQ,KAAK;EAGhC,KAAK,MAAM,QAAQ,eACjB,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,MAAM;EAGzC,KAAK,MAAM,QAAQ,cACjB,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK;EAGxC,OAAO;CACT;CAMA,OAAO,QAAyD;EAG9D,IAAI,CAFW,KAAK,gBAAgB,MAE1B,GACR,OAAO;EAKT,OACE,MACA,CAAC,GAJU,KAAK,UAAU,MAInB,CAAC,CAAC,CACN,SAAS,CAAC,MAAM,aAAc,UAAU,CAAC,IAAI,IAAI,CAAC,CAAE,CAAC,CACrD,KAAK,GAAG,IACX;CAEJ;CAGA,OACE,MACA,MAC0B;EAC1B,IAAI,KAAK,mBAAmB,UAAa,KAAK,YAAY,QACxD,KAAK,iBAAiB,IAAI,IACxB,KAAK,QACF,KAAK,GAAG,CAAC,CACT,MAAM,IAAI,CAAC,CACX,QAAQ,MAAM,MAAM,EAAE,CAC3B;EAGF,OAAO,MAAM,OAAO,MAAM,IAAI;CAChC;CAGA,SAA6C;EAC3C,MAAM,OAAO,KAAK,UAAU,KAAK,MAAO;EAExC,IAAI,KAAK,qBAAqB,QAAW;GACvC,MAAM,QAAQ,KAAK,OAAO,KAAK,MAAO;GAEtC,IAAI,UAAU,UACZ,OAAO;GAGT,KAAK,mBAAmB,IAAI,IAAI;GAEhC,KAAK,MAAM,CAAC,MAAM,YAAY,MAC5B,IAAI,WAAW,CAAC,KAAK,gBAAgB,IAAI,IAAI,GAC3C,KAAK,iBAAiB,IAAI,IAAI;GAIlC,OAAO;EACT;EAEA,MAAM,EAAE,cAAc,KAAK;EAE3B,KAAK,MAAM,QAAQ,KAAK,kBACtB,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG;GACnB,UAAU,OAAO,IAAI;GACrB,KAAK,iBAAiB,OAAO,IAAI;EACnC;EAGF,KAAK,MAAM,CAAC,MAAM,UAAU,MAC1B,IACE,UAAU,KAAK,iBAAiB,IAAI,IAAI,KACxC,CAAC,KAAK,gBAAgB,IAAI,IAAI,GAC9B;GACA,IAAI,OAAO;IACT,UAAU,IAAI,IAAI;IAClB,KAAK,iBAAiB,IAAI,IAAI;GAChC,OAAO;IACL,UAAU,OAAO,IAAI;IACrB,KAAK,iBAAiB,OAAO,IAAI;GACnC;EACF;EAGF,OAAO;CACT;AACF;AAwBA,OAAO,MAAM,iCAAiC,oBAG5C;CAKA,YAAY,UAAoB;EAC9B,MAAM,UAAU,iBAAiB;gBAJlB;EAOf,IAAK,SAA+B,YAAY,QAC9C,MAAM,IAAI,MACR,kEACF;CAEJ;CAGA,SAAwE;EACtE,IAAI,CAAC,KAAK,QACR,OAAO,KAAK,SAAS,UAAU;EAGjC,KAAK,SAAS;EAEd,OAAO,KAAK,OAAO,KAAK,MAAO;CACjC;CAMA,OACE,QACqD;EACrD,MAAM,SAAS,KAAK,gBAAgB,MAAM;EAE1C,IAAI,CAAC,QACH,OAAO;EAGT,OAAO,mBAAmB,QAAQ,OAAO,KAAK;CAChD;AACF;AAsDA,OAAO,MAAM,kBAE2C,UACtD,wBACF;AA4BA,OAAO,MAAM,kBAE2C,UACtD,wBACF","names":[],"ignoreList":[],"sources":["../../src/sref-active.ts"]}
|
|
@@ -3,7 +3,7 @@ import { directive, PartType } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
4
|
import { getScopedRouter } from "./context.js";
|
|
5
5
|
import { warnMissingRouter } from "./dev-warn.js";
|
|
6
|
-
import {
|
|
6
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
7
7
|
import { clickBelongsToBrowser, sameTarget, srefTransitionOptions, uiSrefTargetEvent, uiSrefTargetRemovedEvent } from "./sref-internals.js";
|
|
8
8
|
import { UiView } from "./ui-view.js";
|
|
9
9
|
export class SrefHrefDirective extends AsyncDirective {
|
|
@@ -18,6 +18,13 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
18
18
|
this.targetState = null;
|
|
19
19
|
this._seekedRouter = false;
|
|
20
20
|
this._firstUpdated = false;
|
|
21
|
+
this.onRouterReplaced = (router) => {
|
|
22
|
+
this._unsubscribeRouter = void 0;
|
|
23
|
+
this.unsubscribe?.();
|
|
24
|
+
this.uiRouter = router;
|
|
25
|
+
this.unsubscribe = router.stateRegistry.onStatesChanged(this.doRender);
|
|
26
|
+
this.doRender();
|
|
27
|
+
};
|
|
21
28
|
this.doRender = () => {
|
|
22
29
|
const value = this.render(this.state, this.params, this.options);
|
|
23
30
|
if (value !== noChange && this.isConnected) this.setValue(value);
|
|
@@ -67,7 +74,9 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
67
74
|
firstUpdated() {
|
|
68
75
|
if (this._firstUpdated || !this.isConnected) return;
|
|
69
76
|
const element = this.element;
|
|
70
|
-
|
|
77
|
+
const { router, unsubscribe } = subscribeRouter(element, this.onRouterReplaced);
|
|
78
|
+
this.uiRouter = router;
|
|
79
|
+
this._unsubscribeRouter = unsubscribe;
|
|
71
80
|
this._seekedRouter = true;
|
|
72
81
|
this.parentView = UiView.seekParentView(element);
|
|
73
82
|
element.addEventListener("click", this.onClick);
|
|
@@ -86,6 +95,8 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
86
95
|
this.targetState = null;
|
|
87
96
|
this.unsubscribe?.();
|
|
88
97
|
this.unsubscribe = void 0;
|
|
98
|
+
this._unsubscribeRouter?.();
|
|
99
|
+
this._unsubscribeRouter = void 0;
|
|
89
100
|
this._firstUpdated = false;
|
|
90
101
|
}
|
|
91
102
|
reconnected() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-href.js","mappings":"AACA,SAAS,UAAU,eAA8B;AACjD,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,
|
|
1
|
+
{"version":3,"file":"sref-href.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/sref-href.ts"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { noChange } from "lit";
|
|
2
2
|
import { directive, PartType } from "lit/directive.js";
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
|
-
import { UIRouterLitElement } from "./ui-router.js";
|
|
5
4
|
import { inLitDevMode, warnMissingRouter } from "./dev-warn.js";
|
|
5
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
6
6
|
import { isNativeLink, mergeSrefStatus, srefStatus, toAriaCurrentValues, UI_SREF_TARGET_EVENT } from "./sref-internals.js";
|
|
7
7
|
import { UiView } from "./ui-view.js";
|
|
8
8
|
export { mergeSrefStatus, srefStatus } from "./sref-internals.js";
|
|
@@ -17,7 +17,10 @@ const isLinkElement = (element) => isNativeLink(element) || element.matches("[ro
|
|
|
17
17
|
let _first = null;
|
|
18
18
|
export class UiSrefActiveDirective extends AsyncDirective {
|
|
19
19
|
seekRouter() {
|
|
20
|
-
this.
|
|
20
|
+
this._unsubscribeRouter?.();
|
|
21
|
+
const { router, unsubscribe } = subscribeRouter(this.element, this.onRouterReplaced);
|
|
22
|
+
this.uiRouter = router;
|
|
23
|
+
this._unsubscribeRouter = unsubscribe;
|
|
21
24
|
}
|
|
22
25
|
seekParentView() {
|
|
23
26
|
this.parentView = UiView.seekParentView(this.element);
|
|
@@ -46,6 +49,17 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
46
49
|
});
|
|
47
50
|
};
|
|
48
51
|
this._firstUpdated = false;
|
|
52
|
+
this.onRouterReplaced = (router) => {
|
|
53
|
+
this._unsubscribeRouter = void 0;
|
|
54
|
+
this.unwatch();
|
|
55
|
+
this.uiRouter = router;
|
|
56
|
+
if (!this._lastTargetStates && this.state) {
|
|
57
|
+
this.targetStates.clear();
|
|
58
|
+
this.targetStates.add(this.explicitTarget(router, this.state));
|
|
59
|
+
}
|
|
60
|
+
this.watch(router);
|
|
61
|
+
this.onStatesChanged();
|
|
62
|
+
};
|
|
49
63
|
this.onUiSrefTargetEvent = (event) => {
|
|
50
64
|
const { targetState } = event.detail;
|
|
51
65
|
const previous = this._linkTargets.get(event.target);
|
|
@@ -159,13 +173,10 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
159
173
|
this.targetStates.add(targetState);
|
|
160
174
|
});
|
|
161
175
|
else if (this.state) {
|
|
162
|
-
if (this.uiRouter) this.targetStates.add(this.
|
|
176
|
+
if (this.uiRouter) this.targetStates.add(this.explicitTarget(this.uiRouter, this.state));
|
|
163
177
|
} else this.element.addEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
164
178
|
this.element.addEventListener(TRANSITION_STATE_CHANGE_EVENT, this.onTransitionStateChange);
|
|
165
|
-
if (this.uiRouter)
|
|
166
|
-
this._deregisterOnStart = this.uiRouter.transitionService.onStart({}, this.onTransitionStart);
|
|
167
|
-
this._deregisterOnStatesChanged = this.uiRouter.stateRegistry.onStatesChanged(this.onStatesChanged);
|
|
168
|
-
}
|
|
179
|
+
if (this.uiRouter) this.watch(this.uiRouter);
|
|
169
180
|
setTimeout(() => {
|
|
170
181
|
if (this.targetStates.size) {
|
|
171
182
|
const { active, exact } = this.getStatus() || {};
|
|
@@ -176,17 +187,29 @@ export class UiSrefActiveDirective extends AsyncDirective {
|
|
|
176
187
|
}, 0);
|
|
177
188
|
this._firstUpdated = true;
|
|
178
189
|
}
|
|
190
|
+
explicitTarget(router, state) {
|
|
191
|
+
return router.stateService.target(state, this.params, this.getOptions());
|
|
192
|
+
}
|
|
193
|
+
watch(router) {
|
|
194
|
+
this._deregisterOnStart = router.transitionService.onStart({}, this.onTransitionStart);
|
|
195
|
+
this._deregisterOnStatesChanged = router.stateRegistry.onStatesChanged(this.onStatesChanged);
|
|
196
|
+
}
|
|
197
|
+
unwatch() {
|
|
198
|
+
this._connection++;
|
|
199
|
+
this._deregisterOnStart?.();
|
|
200
|
+
this._deregisterOnStart = void 0;
|
|
201
|
+
this._deregisterOnStatesChanged?.();
|
|
202
|
+
this._deregisterOnStatesChanged = void 0;
|
|
203
|
+
}
|
|
179
204
|
disconnected() {
|
|
180
205
|
this._firstUpdated = false;
|
|
181
|
-
this.
|
|
206
|
+
this.unwatch();
|
|
207
|
+
this._unsubscribeRouter?.();
|
|
208
|
+
this._unsubscribeRouter = void 0;
|
|
182
209
|
if (!this.element) return;
|
|
183
210
|
this.element.removeEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
184
211
|
this.element.removeEventListener(TRANSITION_STATE_CHANGE_EVENT, this.onTransitionStateChange);
|
|
185
212
|
this.element = null;
|
|
186
|
-
this._deregisterOnStart?.();
|
|
187
|
-
this._deregisterOnStart = void 0;
|
|
188
|
-
this._deregisterOnStatesChanged?.();
|
|
189
|
-
this._deregisterOnStatesChanged = void 0;
|
|
190
213
|
}
|
|
191
214
|
reconnected() {
|
|
192
215
|
this.element = this._partElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-sref-active.js","mappings":"AAMA,SAAS,gBAA6B;AACtC,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAG/B,SAAS,
|
|
1
|
+
{"version":3,"file":"ui-sref-active.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref-active.ts"]}
|
|
@@ -2,7 +2,7 @@ import { noChange } from "lit";
|
|
|
2
2
|
import { directive, PartType } from "lit/directive.js";
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
4
|
import { inLitDevMode, warnMissingRouter } from "./dev-warn.js";
|
|
5
|
-
import {
|
|
5
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
6
6
|
import { UiView } from "./ui-view.js";
|
|
7
7
|
import { clickBelongsToBrowser, isNativeLink, sameTarget, srefTransitionOptions, uiSrefTargetEvent, uiSrefTargetRemovedEvent } from "./sref-internals.js";
|
|
8
8
|
export { inLitDevMode };
|
|
@@ -23,6 +23,13 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
23
23
|
this._ownsHref = false;
|
|
24
24
|
this._seekedRouter = false;
|
|
25
25
|
this._partElement = null;
|
|
26
|
+
this.onRouterReplaced = (router) => {
|
|
27
|
+
this._unsubscribeRouter = void 0;
|
|
28
|
+
this.unsubscribe?.();
|
|
29
|
+
this.uiRouter = router;
|
|
30
|
+
this.unsubscribe = router.stateRegistry.onStatesChanged(this.doRender);
|
|
31
|
+
this.doRender();
|
|
32
|
+
};
|
|
26
33
|
this.onClick = (event) => {
|
|
27
34
|
const { uiRouter: router, state, params } = this;
|
|
28
35
|
const options = this.getOptions();
|
|
@@ -85,7 +92,10 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
85
92
|
return true;
|
|
86
93
|
}
|
|
87
94
|
seekRouter() {
|
|
88
|
-
this.
|
|
95
|
+
this._unsubscribeRouter?.();
|
|
96
|
+
const { router, unsubscribe } = subscribeRouter(this.element, this.onRouterReplaced);
|
|
97
|
+
this.uiRouter = router;
|
|
98
|
+
this._unsubscribeRouter = unsubscribe;
|
|
89
99
|
this._seekedRouter = true;
|
|
90
100
|
}
|
|
91
101
|
warnMissingRouter(state) {
|
|
@@ -104,6 +114,8 @@ export class UiSrefDirective extends AsyncDirective {
|
|
|
104
114
|
this._ownsHref = false;
|
|
105
115
|
this.unsubscribe?.();
|
|
106
116
|
this.unsubscribe = void 0;
|
|
117
|
+
this._unsubscribeRouter?.();
|
|
118
|
+
this._unsubscribeRouter = void 0;
|
|
107
119
|
this._firstUpdated = false;
|
|
108
120
|
}
|
|
109
121
|
reconnected() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-sref.js","mappings":"AACA,SAAS,gBAA6B;AACtC,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAG/B,SAAS,cAAc,yBAAyB;AAChD,SAAS,
|
|
1
|
+
{"version":3,"file":"ui-sref.js","mappings":"AACA,SAAS,gBAA6B;AACtC,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAG/B,SAAS,cAAc,yBAAyB;AAChD,SAAS,uBAAuB;AAEhC,SAAS,cAAc;AAEvB,SACE,uBACA,cACA,YACA,uBACA,mBACA,gCACK;AAIP,SAAS;AAET,SACE,sBACA,oCACK;AAIP,SAKE,uBAKA,cAKA,YAKA,eAKA,uBAKA,mBAKA,gCACK;AAuCP,MAAM,mBAAmB,IAAI,QAAiB;AAe9C,OAAO,MAAM,wBAAwB,eAAe;CAkDlD,YAAY,UAAoB;EAC9B,MAAM,QAAQ;eAjDO;gBAEH,CAAC;iBAEQ,CAAC;iBAGE;oBAKA;uBAGD,CAAC;cAGV;qBAEY;mBAGd;uBAUI;sBAYqB;2BAuHR,WAA8B;GACjE,KAAK,qBAAqB;GAC1B,KAAK,cAAc;GACnB,KAAK,WAAW;GAChB,KAAK,cAAc,OAAO,cAAc,gBAAgB,KAAK,QAAQ;GACrE,KAAK,SAAS;EAChB;kBAsDW,UAA4B;GACrC,MAAM,EAAE,UAAU,QAAQ,OAAO,WAAW;GAC5C,MAAM,UAAU,KAAK,WAAW;GAChC,MAAM,SAAS,QAAQ;GAEvB,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,eAAe,CAAC,OAAO;IACnD,IAAI,CAAC,UAAU,SAAS,KAAK,SAAS,aACpC,KAAK,kBAAkB,KAAK;IAG9B;GACF;GAGA,IAAI,sBAAsB,OAAO,MAAM,aAAwB,GAC7D;GAIF,OAAY,GAAG,OAAO,QAAQ,OAAO;GACrC,MAAM,eAAe;EACvB;wBAiCkC;GAChC,OAAO,KAAK,OAAO,KAAK,OAAQ,KAAK,QAAQ,KAAK,OAAO;EAC3D;uBAEwB;EAvOtB,IAAI,SAAS,SAAS,SAAS,SAC7B,MAAM,IAAI,MAAM,mDAAmD;CAEvE;CAGA,WAAW,OAA0B,KAAK,SAA4B;EACpE,OAAO,sBAAsB,KAAK,YAAY,IAAI;CACpD;CAGA,OACE,OACA,QACA,SACiB;EACjB,IAAI,CAAC,KAAK,SACR,OAAO;EAGT,MAAM,EAAE,UAAU,WAAW;EAC7B,MAAM,SAAS,QAAQ;EAEvB,IAAI,CAAC,QAAQ;GACX,IAAI,KAAK,eACP,KAAK,kBAAkB,KAAK;GAG9B,OAAO;EACT;EAEA,MAAM,cAAc,OAAO,OAAO,OAAO,QAAQ,KAAK,WAAW,OAAO,CAAC;EACzE,MAAM,gBAAgB,CAAC,WAAW,KAAK,aAAa,WAAW;EAC/D,KAAK,QAAQ,cAAc,KAAK,cAAc;EAG9C,KAAK,OAAO,OAAO,KAAK,OAAO,QAAQ,KAAK,WAAW,OAAO,CAAC;EAE/D,IAAI,KAAK,iBAAiB,GACxB;OAAI,KAAK,SAAS,KAAK,QAAQ,aAAa,MAAM,GAAG;IACnD,IAAI,KAAK,MAAM;KACb,KAAK,QAAQ,aAAa,QAAQ,KAAK,IAAI;KAC3C,KAAK,YAAY;IACnB,OAAO;KACL,KAAK,QAAQ,gBAAgB,MAAM;KACnC,KAAK,YAAY;IACnB;GACF;SACK,IAAI,KAAK,WAAW;GAEzB,KAAK,QAAQ,gBAAgB,MAAM;GACnC,KAAK,YAAY;EACnB;EAIA,IAAI,eACF,KAAK,QAAQ,cAAc,kBAAkB,KAAK,WAAW,CAAC;EAGhE,OAAO;CACT;CAOA,mBAA4B;EAC1B,MAAM,UAAU,KAAK;EACrB,MAAM,EAAE,aAAa,SAAS,KAAK;EAEnC,IAAI,eAAe,QACjB,OAAO,aAAa,OAAO;EAG7B,IAAI,CAAC,YACH,OAAO;EAIT,IAEE,aAAa,KACb,KAAK,SAAS,QACd,CAAC,aAAa,OAAO,KACrB,CAAC,iBAAiB,IAAI,OAAO,GAC7B;GACA,iBAAiB,IAAI,OAAO;GAC5B,QAAQ,KACN,qCAAqC,KAAK,KAAK,QAAQ,QAAQ,UAAU,wHAE3E;EACF;EAEA,OAAO;CACT;CAGA,aAAmB;EACjB,KAAK,qBAAqB;EAE1B,MAAM,EAAE,QAAQ,gBAAgB,gBAC9B,KAAK,SACL,KAAK,gBACP;EAEA,KAAK,WAAW;EAChB,KAAK,qBAAqB;EAC1B,KAAK,gBAAgB;CACvB;CAkBA,kBAA0B,OAAqB;EAC7C,MAAM,UAAU,KAAK;EACrB,kBACE,SACA,IAAI,QAAQ,UAAU,WAAW,MAAM,KACvC,mBACF;CACF;CAGA,iBAAuB;EACrB,KAAK,aAAa,OAAO,eAAe,KAAK,OAAQ;CACvD;CAGA,eAAqB;EAEnB,KAAK,SAAS,oBAAoB,SAAS,KAAK,OAAwB;EAExE,KAAK,SAAS,cAAc,yBAAyB,CAAC;EACtD,KAAK,UAAU;EACf,KAAK,cAAc;EACnB,KAAK,OAAO;EACZ,KAAK,YAAY;EACjB,KAAK,cAAc;EACnB,KAAK,cAAc;EACnB,KAAK,qBAAqB;EAC1B,KAAK,qBAAqB;EAE1B,KAAK,gBAAgB;CACvB;CAMA,cAAoB;EAClB,KAAK,UAAU,KAAK;EAEpB,IAAI,KAAK,SACP,KAAK,aAAa;CAEtB;CA2BA,OACE,MACA,CAAC,OAAO,SAAS,CAAC,GAAG,UAAU,CAAC,IAKf;EAEjB,MAAM,EAAE,YAAY,GAAG,sBAAsB;EAC7C,KAAK,QAAQ;EACb,KAAK,SAAS;EACd,KAAK,UAAU;EACf,KAAK,gBAAgB,EAAE,WAAW;EAElC,MAAM,gBAAgB,KAAK;EAC3B,KAAK,eAAe;EAEpB,IAAI,KAAK,YAAY,eAAe;GAClC,KAAK,UAAU;GACf,KAAK,gBAAgB;GACrB,iBAAiB;IACf,KAAK,aAAa;GACpB,GAAG,CAAC;EACN;EAEA,OAAO,KAAK,SAAS;CACvB;CAWA,eAAqB;EACnB,IAAI,KAAK,iBAAiB,CAAC,KAAK,aAC9B;EAGF,KAAK,WAAW;EAChB,KAAK,eAAe;EAEpB,KAAK,QAAS,iBAAiB,SAAS,KAAK,OAAwB;EAIrE,IAAI,KAAK,UACP,KAAK,cAAc,KAAK,SAAS,cAAc,gBAC7C,KAAK,QACP;EAGF,KAAK,SAAS;EACd,KAAK,gBAAgB;CACvB;AACF;AAwDA,OAAO,MAAM,SAIkC,UAAU,eAAe","names":[],"ignoreList":[],"sources":["../../src/ui-sref.ts"]}
|
|
@@ -260,11 +260,14 @@ export class UiView extends LitElement {
|
|
|
260
260
|
}
|
|
261
261
|
render() {
|
|
262
262
|
if (this.showsFallback) return this.fallback ? nothing : html`<slot></slot>`;
|
|
263
|
-
const { uiRouter: router, component } = this;
|
|
264
|
-
const injector =
|
|
263
|
+
const { uiRouter: router, component, resolveContext: context } = this;
|
|
264
|
+
const injector = context.injector();
|
|
265
265
|
return component({
|
|
266
266
|
router,
|
|
267
|
-
resolves:
|
|
267
|
+
resolves: context.getTokens().filter(isString).filter((token) => {
|
|
268
|
+
const resolvable = context.getResolvable(token);
|
|
269
|
+
return resolvable.resolved || context.getPolicy(resolvable).async === "NOWAIT";
|
|
270
|
+
}).map((token) => [token, injector.get(token)]).reduce(applyPairs, {}),
|
|
268
271
|
transition: injector.get(Transition)
|
|
269
272
|
});
|
|
270
273
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-view.js","mappings":"AAAA,SAAS,YAAY,MAAM,eAAe;AAE1C,SAAS,UAAU,aAAa;AAChC,SAEE,gBACA,YAEA,YAGA,OACA,YACA,UACA,SAGA,cAGK;AASP,SAAS,eAA4B,0BAA0B;AAC/D,SAAS,gCAAgC;AACzC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAMnC,SACE,yBACA,kBACA,2BACK;AACP,SAAS,mBAAmB,uBAAuB;;AAGnD,IAAI,gBAAgB;AAMpB,MAAM,eAAe;AAMrB,MAAM,kBAAkB,SAAoC;CAC1D,IAAI,CAAC,QAAQ,KAAK,aAAa,cAC7B,OAAO;CAIT,MAAM,EAAE,SAAS;CAEjB,OAAO,SAAS,MAAM,KAAK,SAAS,UAAU;AAChD;AAWA,MAAM,gCAAgC,CAAC;AAyCvC,OAAO,MAAM,eAAe,WAAW;;;cAG9B;mBAcuC;uBAWT,CAAC;wBAGb;gBAOC;+BAmDe,UAA8B;GAErE,IAAI,MAAM,aAAa,CAAC,CAAC,OAAO,MAC9B;GAIF,MAAM,gBAAgB;GACtB,MAAM,OAAO,aAAa;EAC5B;qCAQ+C,UAAiB;GAE9D,IACE,MAAM,aAAa,CAAC,CAAC,OAAO,QAC5B,CAAC,iBAAiB,OAAO,mBAAmB,GAE5C;GAGF,MAAM,yBAAyB;GAC/B,MAAM,SAAS,MAAM,MAAM,YAAY,0BAA0B,MAAS;EAC5E;iCAkD2C,UAAgC;GAEzE,IAAI,KAAK,uBACP;GAGF,mBAAmB,uBAAuB,KAAK,QAAQ,CAAC,CAAC,KAAK;EAChE;2BAGqC,IAAI,kBAAkB;2BAUtB,UAAiB;GACpD,IAAI,KAAK,uBACP;GAGF,KAAK,kBAAkB,OACrB,OACA,KAAK,UACL,CAAC,CAAC,KAAK,wBAAwB,KAAK,aAAa,KAAK,YACxD;EACF;+BA8BgC;wCAMkB;GAChD,KAAK,uBAAuB;GAC5B,KAAK,oBAAoB;EAC3B;kBA+EmB;8BAmGqC,CAAC;;CA5XzD,mBAAyB;EACvB,OAAO;CACT;CAQA,mBAA2B,QAAoB;EAC7C,IAAI,CAAC,QAAQ;GACX,KAAK,YAAY;GACjB,KAAK,cAAc;GAEnB;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;EAIpD,MAAM,EAAE,cAAc,OAAO;EAC7B,KAAK,YAAY,mBAAmB,SAAS,IACzC,yBAAyB,SAAS,IAClC;EACJ,KAAK,cAAc;CACrB;CAoCA,oBAA0B;EACxB,MAAM,kBAAkB;EACxB,KAAK,iBACH,KAAK,YAAY,wBAEjB,KAAK,oBACP;EACA,KAAK,iBACH,yBACA,KAAK,0BACP;EACA,KAAK,YAAY;EAEjB,IAAI,KAAK,YAEP,KAAK,oBAAoB;OAGzB,KAAK,eAAe;CAExB;;gCAGE,mBAAmB;;CAErB,OAAe,qBAAyC;EACtD,OAAO,IAAI,YAAY,KAAK,wBAAwB;GAClD,SAAS;GACT,UAAU;GACV,QAAQ,EACN,YAAY,KACd;EACF,CAAC;CACH;CAGA,OAAO,eAAe,WAAuC;EAC3D,MAAM,qBAAqB,KAAK,mBAAmB;EACnD,UAAU,cAAc,kBAAkB;EAE1C,OAAO,mBAAmB,OAAO;CACnC;CAEA,iBAAyB;EACvB,KAAK,aAAa,KAAK,YAAY,eAAe,IAAI;CACxD;CAkCA,aAAqB;EACnB,IAAI,CAAC,KAAK,UAAU;GAClB,KAAK,eAAe,KAAK,mBAAmB;GAC5C,KAAK,WAAW,KAAK;EACvB;EAEA,KAAK,iBACH,mBAAmB,0BAEnB,KAAK,sBACP;EACA,KAAK,iBAAiB,yBAAyB,KAAK,gBAAgB;CACtE;CAkCA,qBAAsD;EACpD,KAAK,uBAAuB;EAC5B,KAAK,wBAAwB;EAE7B,IAAI;GACF,MAAM,EAAE,QAAQ,gBAAgB,gBAC9B,MACA,KAAK,wBACP;GAEA,KAAK,uBAAuB;GAE5B,OAAO;EACT,UAAU;GACR,KAAK,wBAAwB;EAC/B;CACF;CAuBA,sBAAsC;EAEpC,IAAI,CAAC,KAAK,aACR;EAGF,MAAM,WAAW,CAAC,CAAC,KAAK,YAAY,KAAK,aAAa,KAAK;EAC3D,MAAM,SAAS,WAAW,KAAK,WAAW,KAAK,mBAAmB;EAElE,IAAI,CAAC,UAAU,WAAW,KAAK,kBAC7B;EAGF,IAAI,CAAC,UACH,KAAK,eAAe;EAGtB,KAAK,cAAc;EACnB,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,kBAAkB,QAAQ,MAAM;CACvC;CAEA,gBAA8B;EAC5B,OAAO,KAAK,qBAAqB,QAE/B,KADqB,qBAAqB,MACpC,CAAC,GAAG;CAEd;CAUA,iBAAsC;EACpC,MAAM,WAAwB,CAAC;EAE/B,KAAK,MAAM,SAAS,KAAK,YAAY;GACnC,IAAI,eAAe,KAAK,GAAG;GAC3B,SAAS,KAAK,KAAK;EACrB;EAEA,OAAO;CACT;CAcA,iBAAiC;EAC/B,IAAI,KAAK,YAAY,eAAe,KAAK,UAAU,GACjD;EAGF,KAAK,WAAW;EAChB,KAAK,aAAa,SAAS,uBAAuB;EAClD,KAAK,gBAAgB,KAAK,eAAe;EACzC,KAAK,SAAS,OAAO,GAAG,KAAK,aAAa;CAC5C;CAcA,wBAAwC;EACtC,IAAI,KAAK,UACP;EAGF,MAAM,WAAW,KAAK,eAAe;EAErC,IAAI,CAAC,SAAS,QACZ;EAGF,KAAK,WAAW;EAChB,KAAK,aAAa,SAAS,uBAAuB;EAClD,KAAK,gBAAgB;EACrB,KAAK,iBAAiB;CACxB;CAGA,IAAY,gBAAyB;EACnC,OAAO,CAAC,KAAK,aAAa,CAAC,KAAK;CAClC;CASA,gBAA8B;EAC5B,MAAM,WAAW,KAAK;EACtB,MAAM,OAAO,CAAC,KAAK;EAEnB,IAAI,CAAC,YAAY,SAAS,KAAK,gBAC7B;EAGF,KAAK,iBAAiB;EAEtB,IAAI,MACF,SAAS,OAAO,GAAG,KAAK,aAAa;OAErC,KAAK,aAAa,UAAU,KAAK,UAAU;CAE/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;EAE9B,MAAM,kBACJ,YAAY,eAAe,QAAQ,cAAc,KAAK;EAIxD,MAAM,eACJ;GACE,OAAO;GACP,IAAI;GACJ;GACA,KAPQ,YAAY,YAAY,MAAM,OAAO;GAQ7C;GACA,eAAe,KAAK,mBAAmB,KAAK,IAAI;GAChD,QAAQ;EACV;EAGF,KAAK,cAAc;EAEnB,IAAI,CAAC,QACH;EAIF,KAAK,qBAAqB,KACxB,OAAO,kBAAkB,SAAS,CAAC,IAAI,UAAU;GAC/C,OAAO,KAAK,qBAAqB,KAAK;EACxC,CAAC,CACH;EAGA,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,wBAEjB,KAAK,oBACP;EACA,KAAK,oBACH,yBACA,KAAK,0BACP;EAEA,KAAK,uBAAuB;EAC5B,KAAK,uBAAuB;EAC5B,KAAK,cAAc;CACrB;CAUA,qBAA6B,OAAmB;EAC9C,MAAM,WACJ,KAAK;EAEP,MAAM,cAAc,UAAU;EAE9B,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;EAE3B,MAAM,WAEK,KAAK;EAEhB,IAAI,WAAW,UAAU,aAAa,GACpC,SAAS,cAAc;CAE3B;CAKA,6BAAqC,cAA0B;EAE7D,KAAK,cAAc;EAEnB,MAAM,WACJ,KAAK;EAEP,IAAI,WAAW,UAAU,iBAAiB,GAAG;GAC3C,MAAM,YAAY,KAAK;GAWvB,IACE,iBALA,IALyC,eACzC,KAAK,YAAY,OAAO,IAIX,CAAC,CAAC,cAAc,cAAc,CAAC,CAAC,QAM7C,aAAa,QAAQ,CAAC,CAAC,SAAS,SAAS,GAEzC;GAEF,MAAM,WAAsB,aAAa,OAAO,IAAI;GAEpD,MAAM,aAAwB,aAAa,OAAO,MAAM;GAExD,MAAM,iBAAiB,SAAmB,KAAK;GAE/C,MAAM,WAAoB,aACvB,YAAY,IAAI,CAAC,CACjB,IAAI,aAAa,CAAC,CAClB,OAAgB,SAAS,CAAC,CAAC;GAE9B,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;IAEpC,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;IAG7D,MAAM,YAAY,OAAO,WAAW,GAAG,QACrC,YAAY,SAAS,GAAI,CAC3B;IAEA,SAAS,kBAAkB,WAAW,YAAY;GACpD;EACF;CACF;CAGA,IAAW,MAA0B;EACnC,OAAO,KAAK,aAAa;CAC3B;CAGA,IAAW,cAAuC;EAChD,OAAO,MAAM,aAAa,QAAQ,SAAS;CAC7C;CAGA,IAAW,QAA0B;EAEnC,OAAQ,KAAK,YAA4B;CAC3C;CAYA,WAAqB,SAAqC;EACxD,MAAM,WAAW,OAAO;EAExB,IAAI,CAAC,KAAK,YACR,KAAK,oBAAoB;EAG3B,KAAK,cAAc;CACrB;CAaA,aAAuB,SAA+B;EACpD,MAAM,aAAa,OAAO;EAE1B,IAAI,CAAC,KAAK,UACR,kBAAkB,MAAM,aAAa,iCAAiC;CAE1E;CAMA,SAA0C;EACxC,IAAI,KAAK,eAEP,OAAO,KAAK,WAAW,UAAU,IAAI;EAGvC,MAAM,EAAE,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"ui-view.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-view.ts"]}
|
package/dist/interface.d.ts
CHANGED
|
@@ -158,7 +158,7 @@ export type UIViewResolves<T extends DefaultResolvesType = DefaultResolvesType>
|
|
|
158
158
|
export interface UIViewInjectedProps<T extends DefaultResolvesType = DefaultResolvesType> {
|
|
159
159
|
/** The current transition (if one is in progress) */
|
|
160
160
|
transition?: Transition;
|
|
161
|
-
/** Resolved data from state declarations */
|
|
161
|
+
/** Resolved data from state declarations; a `NOWAIT` resolve arrives as its promise */
|
|
162
162
|
resolves: UIViewResolves<T>;
|
|
163
163
|
/** The UIRouter instance for programmatic navigation */
|
|
164
164
|
router: UIRouter;
|
package/dist/sref-active.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export declare abstract class SrefStatusDirective<
|
|
|
59
59
|
protected readonly targets: SrefTargets;
|
|
60
60
|
private _firstUpdated;
|
|
61
61
|
private _deregister;
|
|
62
|
+
/** the hooks on the router itself, which a replacement router moves */
|
|
63
|
+
private _routerDeregister;
|
|
62
64
|
/** bumped on disconnect, so a settlement subscribed before it stays quiet */
|
|
63
65
|
private _connection;
|
|
64
66
|
/** the attribute this directive is bound in, for warnings */
|
|
@@ -93,6 +95,10 @@ export declare abstract class SrefStatusDirective<
|
|
|
93
95
|
update(part: AttributePart, [params]: [Params]): Rendered | typeof noChange;
|
|
94
96
|
/** @internal */
|
|
95
97
|
firstUpdated(): void;
|
|
98
|
+
private watch;
|
|
99
|
+
private unwatch;
|
|
100
|
+
/** What a disconnect and reconnect would do, for the router that replaced the one found. */
|
|
101
|
+
private readonly onRouterReplaced;
|
|
96
102
|
/** @internal */
|
|
97
103
|
onUiSrefTargetEvent: (event: UiSrefTargetEvent) => void;
|
|
98
104
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-active.d.ts","mappings":"AAAA,SAAS,WAAW,YAAY,yBAAyB;AACzD,SAAS,UAAU,SAAS,qBAAqB;AACjD,SAGE,gBAEK;AACP,cAAc,uBAAuB;AACrC,cAAc,iBAAiB;AAC/B,SAAS,sBAAsB;AAG/B,SAAS,mBAAmB;
|
|
1
|
+
{"version":3,"file":"sref-active.d.ts","mappings":"AAAA,SAAS,WAAW,YAAY,yBAAyB;AACzD,SAAS,UAAU,SAAS,qBAAqB;AACjD,SAGE,gBAEK;AACP,cAAc,uBAAuB;AACrC,cAAc,iBAAiB;AAC/B,SAAS,sBAAsB;AAG/B,SAAS,mBAAmB;AAG5B,SAA6B,mBAAmB;AAChD,SAGE,yBACK;AACP,SACE,kBACA,mBACA,YACA,gBACK;AACP,cAAc,kBAAkB;;;;;;;;AAUhC,iBAAiB,iBAAiB;;CAEhC;;CAEA,SAAS;;CAET,UAAU;AACZ;;;;;;;;;;;;;;AAiBA,OAAO,uBAAe;CACpB,eAAe;CACf;UACQ,eAAe;CAmCrB;;CAjCF,SAAS;;CAET,UAAU;;CAEV,YAAY;;CAGZ,QAAQ;;CAER,QAAQ;;;;;CAMR,mBAAmB,SAAS;CAE5B,QAAQ;CACR,QAAQ;;CAER,QAAQ;;CAER,QAAQ;;CAGR,iBAAiB;;;;;CAMjB,YACE,UAAU,UACV,AAAmB;;CAcrB,SAAS,OAAO,QAAQ,SAAS;;;;;;;CAQjC,mBAAmB,UAAU;;;;;;;;;;;;CAa7B,UAAU,gBAAgB,QAAQ,SAAS;;CAc3C,OAAO,MAAM,eAAe,CAAC,UAAU,UAAU,kBAAkB;;CAuBnE;CA2DA,QAAQ;CAUR,QAAQ;;CAOR,iBAAiB;;CAUjB,sBAAuB,OAAO;;CAM9B,6BAA8B,OAAO;;;;;;;CAYrC;;CAMA,oBAAqB,OAAO;;;;;;CAuB5B,QAAQ,QAAQ;;CAUhB;;CAQA;AAOF;;;;;;AAOA,iBAAiB,8BAA8B,iBAAiB;;CAE9D;;CAEA;;;;;;;;CAQA,UAAU;AACZ;;;;;;;;;;;;;;;;;AAkBA,OAAO,cAAM,iCAAiC,oBAC5C,uCACgB,UAChB;;CAEA,QAAQ;;CAER,QAAQ;;CAGR,YAAY,UAAU;;CAatB,QAAQ;;;;;CA2BR,OAAO,QAAQ,wCAAwC;;CAmBvD,OACE,MAAM,eACN,OAAO,yCACU;;CAcnB,UAAU,0BAA0B;AA+CtC;;;;;;AAOA,iBAAiB,8BAA8B,iBAAiB;;;;;;CAM9D,QAAQ,mBAAmB;AAC7B;;;;;;;;;AAUA,OAAO,cAAM,iCAAiC,oBAC5C,uBACA,0BAA0B,iBAAiB,UAC3C;;CAEA,QAAQ;;CAGR,YAAY,UAAU;;CAYtB,UAAU,UAAU,0BAA0B,iBAAiB;;;;;CAc/D,OACE,QAAQ,wBACP,0BAA0B,iBAAiB;AAShD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,OAAO,cAAM,kBACX,QAAQ,0BACL,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8B5B,OAAO,cAAM,kBACX,QAAQ,0BACL,uBAAuB","names":[],"ignoreList":[],"sources":["../src/sref-active.ts"]}
|
package/dist/sref-active.js
CHANGED
|
@@ -3,8 +3,8 @@ import { directive, PartType } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
4
|
import { getScopedRouter } from "./context.js";
|
|
5
5
|
import { warnMissingRouter } from "./dev-warn.js";
|
|
6
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
6
7
|
import { resolveAriaCurrent, SrefTargets } from "./sref-status.js";
|
|
7
|
-
import { UIRouterLitElement } from "./ui-router.js";
|
|
8
8
|
import { UI_SREF_TARGET_EVENT, UI_SREF_TARGET_REMOVED_EVENT } from "./ui-sref.js";
|
|
9
9
|
import { UiView } from "./ui-view.js";
|
|
10
10
|
export class SrefStatusDirective extends AsyncDirective {
|
|
@@ -16,7 +16,16 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
16
16
|
this.targets = new SrefTargets();
|
|
17
17
|
this._firstUpdated = false;
|
|
18
18
|
this._deregister = [];
|
|
19
|
+
this._routerDeregister = [];
|
|
19
20
|
this._connection = 0;
|
|
21
|
+
this.onRouterReplaced = (router) => {
|
|
22
|
+
this.unwatch();
|
|
23
|
+
this.uiRouter = router;
|
|
24
|
+
this.targets.router = router;
|
|
25
|
+
this.targets.rebuild();
|
|
26
|
+
this.watch(router);
|
|
27
|
+
this.refresh();
|
|
28
|
+
};
|
|
20
29
|
this.onUiSrefTargetEvent = (event) => {
|
|
21
30
|
this.targets.onLink(event);
|
|
22
31
|
this.refresh();
|
|
@@ -74,7 +83,9 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
74
83
|
firstUpdated() {
|
|
75
84
|
if (this._firstUpdated || !this.isConnected) return;
|
|
76
85
|
const element = this.element;
|
|
77
|
-
|
|
86
|
+
const { router, unsubscribe } = subscribeRouter(element, this.onRouterReplaced);
|
|
87
|
+
this.uiRouter = router;
|
|
88
|
+
if (unsubscribe) this._deregister.push(unsubscribe);
|
|
78
89
|
this.parentView = UiView.seekParentView(element);
|
|
79
90
|
this.targets.router = this.uiRouter;
|
|
80
91
|
this.targets.relative = this.parentView?.viewContext?.name;
|
|
@@ -85,19 +96,26 @@ export class SrefStatusDirective extends AsyncDirective {
|
|
|
85
96
|
element.removeEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
86
97
|
element.removeEventListener(UI_SREF_TARGET_REMOVED_EVENT, this.onUiSrefTargetRemovedEvent);
|
|
87
98
|
});
|
|
88
|
-
|
|
89
|
-
if (router) this._deregister.push(router.transitionService.onStart({}, this.onTransitionStart, { priority: -Infinity }), router.stateRegistry.onStatesChanged(this.onStatesChanged));
|
|
99
|
+
if (router) this.watch(router);
|
|
90
100
|
else warnMissingRouter(element, `<${element.localName} ${this.attributeName}=\${${this.directiveName}(...)}>`, "will never be marked active");
|
|
91
101
|
this._firstUpdated = true;
|
|
92
102
|
this.refresh();
|
|
93
103
|
}
|
|
104
|
+
watch(router) {
|
|
105
|
+
this._routerDeregister.push(router.transitionService.onStart({}, this.onTransitionStart, { priority: -Infinity }), router.stateRegistry.onStatesChanged(this.onStatesChanged));
|
|
106
|
+
}
|
|
107
|
+
unwatch() {
|
|
108
|
+
this._connection++;
|
|
109
|
+
this._routerDeregister.forEach((deregister) => deregister());
|
|
110
|
+
this._routerDeregister = [];
|
|
111
|
+
}
|
|
94
112
|
refresh(event) {
|
|
95
113
|
this.status = this.targets.status(event);
|
|
96
114
|
const value = this.commit();
|
|
97
115
|
if (value !== noChange && this.isConnected) this.setValue(value);
|
|
98
116
|
}
|
|
99
117
|
disconnected() {
|
|
100
|
-
this.
|
|
118
|
+
this.unwatch();
|
|
101
119
|
this._deregister.forEach((deregister) => deregister());
|
|
102
120
|
this._deregister = [];
|
|
103
121
|
this._firstUpdated = false;
|
package/dist/sref-active.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-active.js","mappings":"AACA,SAAS,UAAU,eAA8B;AACjD,SAEE,WAEA,gBACK;AAGP,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,mBAAmB;AAChD,
|
|
1
|
+
{"version":3,"file":"sref-active.js","mappings":"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","names":[],"ignoreList":[],"sources":["../src/sref-active.ts"]}
|
package/dist/sref-href.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export declare class SrefHrefDirective extends AsyncDirective {
|
|
|
43
43
|
private _firstUpdated;
|
|
44
44
|
/** @internal */
|
|
45
45
|
unsubscribe: (() => void) | undefined;
|
|
46
|
+
/** drops the subscription to a provider that may still replace its router */
|
|
47
|
+
private _unsubscribeRouter;
|
|
46
48
|
/** @internal */
|
|
47
49
|
constructor(partInfo: PartInfo);
|
|
48
50
|
/** @internal */
|
|
@@ -60,6 +62,8 @@ export declare class SrefHrefDirective extends AsyncDirective {
|
|
|
60
62
|
update(part: AttributePart, [state, params, options]: [string, RawParams?, TransitionOptions?]): ReturnType<SrefHrefDirective["render"]>;
|
|
61
63
|
/** @internal */
|
|
62
64
|
firstUpdated(): void;
|
|
65
|
+
/** What a disconnect and reconnect would do, for the router that replaced the one found. */
|
|
66
|
+
private readonly onRouterReplaced;
|
|
63
67
|
/** @internal */
|
|
64
68
|
doRender: () => void;
|
|
65
69
|
/** @internal */
|
package/dist/sref-href.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-href.d.ts","mappings":"AAAA,SAAS,WAAW,aAAa,yBAAyB;AAC1D,SAAS,UAAU,SAAS,qBAAqB;AACjD,SAAoB,gBAA0B;AAC9C,cAAc,uBAAuB;AACrC,SAAS,sBAAsB;AAG/B,SAAS,mBAAmB;AAU5B,cAAc,kBAAkB;;;;;;;;;;;;;;;;;AAmBhC,OAAO,cAAM,0BAA0B,eAAe;;CAEpD;;CAEA,QAAQ;;CAER,SAAS;;CAGT,SAAS;;CAGT,UAAU;;CAEV,YAAY;;CAGZ;;CAEA,aAAa;;CAGb,QAAQ;CACR,QAAQ;;CAGR;;CAGA,YAAY,UAAU;;CActB,WAAW,OAAM,oBAAmC;;;;;;;;;CAYpD,OACE,eACA,SAAS,WACT,UAAU,oCACO,iBAAiB;;CA4BpC,OACE,MAAM,eACN,CAAC,OAAO,QAAa,mBAEnB,YACA,sBAED,WAAW,kBAAkB;;CAkBhC;;
|
|
1
|
+
{"version":3,"file":"sref-href.d.ts","mappings":"AAAA,SAAS,WAAW,aAAa,yBAAyB;AAC1D,SAAS,UAAU,SAAS,qBAAqB;AACjD,SAAoB,gBAA0B;AAC9C,cAAc,uBAAuB;AACrC,SAAS,sBAAsB;AAG/B,SAAS,mBAAmB;AAU5B,cAAc,kBAAkB;;;;;;;;;;;;;;;;;AAmBhC,OAAO,cAAM,0BAA0B,eAAe;;CAEpD;;CAEA,QAAQ;;CAER,SAAS;;CAGT,SAAS;;CAGT,UAAU;;CAEV,YAAY;;CAGZ;;CAEA,aAAa;;CAGb,QAAQ;CACR,QAAQ;;CAGR;;CAGA,QAAQ;;CAGR,YAAY,UAAU;;CActB,WAAW,OAAM,oBAAmC;;;;;;;;;CAYpD,OACE,eACA,SAAS,WACT,UAAU,oCACO,iBAAiB;;CA4BpC,OACE,MAAM,eACN,CAAC,OAAO,QAAa,mBAEnB,YACA,sBAED,WAAW,kBAAkB;;CAkBhC;;CAgCA,iBAAiB;;CASjB;;CASA,UAAW,OAAO;CAsBlB,QAAQ;;CAYR;;CAeA;AAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,OAAO,cAAM,WACX,eACA,SAAS,WACT,UAAU,sBACP,uBAAuB","names":[],"ignoreList":[],"sources":["../src/sref-href.ts"]}
|
package/dist/sref-href.js
CHANGED
|
@@ -3,7 +3,7 @@ import { directive, PartType } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective } from "lit/async-directive.js";
|
|
4
4
|
import { getScopedRouter } from "./context.js";
|
|
5
5
|
import { warnMissingRouter } from "./dev-warn.js";
|
|
6
|
-
import {
|
|
6
|
+
import { subscribeRouter } from "./router-subscription.js";
|
|
7
7
|
import { clickBelongsToBrowser, sameTarget, srefTransitionOptions, uiSrefTargetEvent, uiSrefTargetRemovedEvent } from "./sref-internals.js";
|
|
8
8
|
import { UiView } from "./ui-view.js";
|
|
9
9
|
export class SrefHrefDirective extends AsyncDirective {
|
|
@@ -18,6 +18,13 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
18
18
|
this.targetState = null;
|
|
19
19
|
this._seekedRouter = false;
|
|
20
20
|
this._firstUpdated = false;
|
|
21
|
+
this.onRouterReplaced = (router) => {
|
|
22
|
+
this._unsubscribeRouter = void 0;
|
|
23
|
+
this.unsubscribe?.();
|
|
24
|
+
this.uiRouter = router;
|
|
25
|
+
this.unsubscribe = router.stateRegistry.onStatesChanged(this.doRender);
|
|
26
|
+
this.doRender();
|
|
27
|
+
};
|
|
21
28
|
this.doRender = () => {
|
|
22
29
|
const value = this.render(this.state, this.params, this.options);
|
|
23
30
|
if (value !== noChange && this.isConnected) this.setValue(value);
|
|
@@ -67,7 +74,9 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
67
74
|
firstUpdated() {
|
|
68
75
|
if (this._firstUpdated || !this.isConnected) return;
|
|
69
76
|
const element = this.element;
|
|
70
|
-
|
|
77
|
+
const { router, unsubscribe } = subscribeRouter(element, this.onRouterReplaced);
|
|
78
|
+
this.uiRouter = router;
|
|
79
|
+
this._unsubscribeRouter = unsubscribe;
|
|
71
80
|
this._seekedRouter = true;
|
|
72
81
|
this.parentView = UiView.seekParentView(element);
|
|
73
82
|
element.addEventListener("click", this.onClick);
|
|
@@ -86,6 +95,8 @@ export class SrefHrefDirective extends AsyncDirective {
|
|
|
86
95
|
this.targetState = null;
|
|
87
96
|
this.unsubscribe?.();
|
|
88
97
|
this.unsubscribe = void 0;
|
|
98
|
+
this._unsubscribeRouter?.();
|
|
99
|
+
this._unsubscribeRouter = void 0;
|
|
89
100
|
this._firstUpdated = false;
|
|
90
101
|
}
|
|
91
102
|
reconnected() {
|
package/dist/sref-href.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sref-href.js","mappings":"AACA,SAAS,UAAU,eAA8B;AACjD,SAAS,WAAqB,gBAAgB;AAE9C,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,
|
|
1
|
+
{"version":3,"file":"sref-href.js","mappings":"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","names":[],"ignoreList":[],"sources":["../src/sref-href.ts"]}
|