lit-ui-router 1.9.0 → 1.11.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 +5 -9
- package/dist/core.js.map +1 -1
- package/dist/dev-warn.d.ts +26 -0
- package/dist/dev-warn.d.ts.map +1 -0
- package/dist/dev-warn.js +11 -0
- package/dist/dev-warn.js.map +1 -0
- package/dist/development/core.js +66 -0
- package/dist/development/core.js.map +1 -0
- package/dist/development/dev-warn.js +11 -0
- package/dist/development/dev-warn.js.map +1 -0
- package/dist/development/index.js +3 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/interface.js +2 -0
- package/dist/development/interface.js.map +1 -0
- package/dist/development/pure.js +7 -0
- package/dist/development/pure.js.map +1 -0
- package/dist/development/register.js +3 -0
- package/dist/development/register.js.map +1 -0
- package/dist/development/transition-controller.js +47 -0
- package/dist/development/transition-controller.js.map +1 -0
- package/dist/development/ui-router.js +44 -0
- package/dist/development/ui-router.js.map +1 -0
- package/dist/development/ui-router.register.js +4 -0
- package/dist/development/ui-router.register.js.map +1 -0
- package/dist/development/ui-sref-active.js +228 -0
- package/dist/development/ui-sref-active.js.map +1 -0
- package/dist/development/ui-sref.js +162 -0
- package/dist/development/ui-sref.js.map +1 -0
- package/dist/development/ui-view.js +176 -0
- package/dist/development/ui-view.js.map +1 -0
- package/dist/development/ui-view.register.js +4 -0
- package/dist/development/ui-view.register.js.map +1 -0
- package/dist/transition-controller.js +3 -9
- package/dist/transition-controller.js.map +1 -1
- package/dist/ui-router.register.js +2 -5
- package/dist/ui-router.register.js.map +1 -1
- package/dist/ui-sref-active.d.ts +156 -3
- package/dist/ui-sref-active.d.ts.map +1 -1
- package/dist/ui-sref-active.js +56 -56
- package/dist/ui-sref-active.js.map +1 -1
- package/dist/ui-sref.d.ts +89 -3
- package/dist/ui-sref.d.ts.map +1 -1
- package/dist/ui-sref.js +66 -28
- package/dist/ui-sref.js.map +1 -1
- package/dist/ui-view.d.ts +12 -1
- package/dist/ui-view.d.ts.map +1 -1
- package/dist/ui-view.js +22 -39
- package/dist/ui-view.js.map +1 -1
- package/dist/ui-view.register.js +2 -5
- package/dist/ui-view.register.js.map +1 -1
- package/package.json +11 -2
- package/src/core.ts +44 -35
- package/src/dev-warn.ts +54 -0
- package/src/ui-sref-active.ts +273 -14
- package/src/ui-sref.ts +241 -32
- package/src/ui-view.ts +19 -1
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,8BAEA,2BACA,2BACK;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"core.d.ts","mappings":"AAAA,SAGE,UAIA,aACA,UACA,YAEA,wBACK;AAGP,SACE,kBACA,oBACA,4BACA,8BAEA,2BACA,2BACK;;;;;;;;;AA2BP,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoGnE,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
2
|
import { html, LitElement } from "lit";
|
|
3
|
+
const forEachValue = forEach;
|
|
3
4
|
let viewConfigIdCounter = 0;
|
|
4
5
|
export class LitViewConfig {
|
|
5
6
|
constructor(path, viewDecl) {
|
|
@@ -20,14 +21,11 @@ export function isRoutedLitElement(component) {
|
|
|
20
21
|
}
|
|
21
22
|
export function litViewsBuilder(state) {
|
|
22
23
|
const views = {}, viewsObject = state.views || { $default: pick(state, ["component"]) };
|
|
23
|
-
|
|
24
|
+
forEachValue(viewsObject, function(config, name) {
|
|
24
25
|
let normalizedConfig;
|
|
25
26
|
name = name || "$default";
|
|
26
|
-
if (isLitViewDeclarationTemplate(config)) {
|
|
27
|
-
|
|
28
|
-
} else {
|
|
29
|
-
normalizedConfig = config;
|
|
30
|
-
}
|
|
27
|
+
if (isLitViewDeclarationTemplate(config)) normalizedConfig = { component: config };
|
|
28
|
+
else normalizedConfig = config;
|
|
31
29
|
if (Object.keys(normalizedConfig || {}).length === 0) return;
|
|
32
30
|
normalizedConfig.$type = "lit";
|
|
33
31
|
normalizedConfig.$context = state;
|
|
@@ -58,9 +56,7 @@ export class UIRouterLit extends UIRouter {
|
|
|
58
56
|
this.stateRegistry.decorator("views", litViewsBuilder);
|
|
59
57
|
}
|
|
60
58
|
start() {
|
|
61
|
-
if (this.started)
|
|
62
|
-
throw new Error("start() called multiple times");
|
|
63
|
-
}
|
|
59
|
+
if (this.started) throw new Error("start() called multiple times");
|
|
64
60
|
this.urlMatcherFactory.$get();
|
|
65
61
|
this.urlService.listen();
|
|
66
62
|
this.urlService.sync();
|
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,MAAM,kBAAkB;
|
|
1
|
+
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,MAAM,kBAAkB;AAkBjC,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,OAAqC;OAErE,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;EAEnB,IAAI,mBAAsB,iBAAiB,SAAS,GAAG;GACrD,MAAM,YAAY,iBAAiB;GACnC,IAAI;GACJ,iBAAiB,aAAa,UAAkC;IAC9D,YAAa,UAAU,UAAU,aAAc,IAAI,UAAU,KAAK;IAClE,UAAU,eAAe;IACzB,OAAO,IAAI,GAAG;GAChB;EACF;EAEA,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,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether lit resolved to its development build. `enableWarning` is inherited
|
|
3
|
+
* from `ReactiveElement`, which declares it optional precisely because it
|
|
4
|
+
* exists only in development — lit's own docs prescribe guarding on it. Same
|
|
5
|
+
* shape in lit 2 and 3, and typed optional in both builds' `.d.ts`, so this
|
|
6
|
+
* needs no cast. Read per call, so import order cannot matter.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function inLitDevMode(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Warns once per element that a binding found no `<ui-router>` ancestor and has
|
|
12
|
+
* therefore degraded to a no-op.
|
|
13
|
+
*
|
|
14
|
+
* Callers must only reach this **after** the router seek has actually run and
|
|
15
|
+
* come back empty. Every seek here is deferred past the element's first render,
|
|
16
|
+
* so a binding legitimately sees no router on its first pass; warning there
|
|
17
|
+
* would fire on every correctly wired app.
|
|
18
|
+
*
|
|
19
|
+
* @param element the element whose binding found nothing
|
|
20
|
+
* @param subject how to name it in the message, e.g. `<a uiSref="home">`
|
|
21
|
+
* @param consequence what will not happen, e.g. `will not navigate`
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare function warnMissingRouter(element: Element, subject: string, consequence: string): void;
|
|
26
|
+
//# sourceMappingURL=dev-warn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-warn.d.ts","mappings":";;;;;;;;AAUA,OAAO,iBAAS;;;;;;;;;;;;;;;;AA6BhB,OAAO,iBAAS,kBACd,SAAS,SACT,iBACA","names":[],"ignoreList":[],"sources":["../src/dev-warn.ts"]}
|
package/dist/dev-warn.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UIRouterLitElement } from "./ui-router.js";
|
|
2
|
+
export function inLitDevMode() {
|
|
3
|
+
return typeof UIRouterLitElement.enableWarning === "function";
|
|
4
|
+
}
|
|
5
|
+
const warnedMissingRouter = new WeakSet();
|
|
6
|
+
export function warnMissingRouter(element, subject, consequence) {
|
|
7
|
+
if (!inLitDevMode() || warnedMissingRouter.has(element)) return;
|
|
8
|
+
warnedMissingRouter.add(element);
|
|
9
|
+
console.warn(`lit-ui-router: ${subject} found no <ui-router> ancestor, so it ${consequence}. Wrap this subtree in <ui-router>, or pass a router explicitly.`, element);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dev-warn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-warn.js","mappings":"AAAA,SAAS,0BAA0B;AAUnC,OAAO,SAAS,eAAwB;CACtC,OAAO,OAAO,mBAAmB,kBAAkB;AACrD;AAUA,MAAM,sBAAsB,IAAI,QAAiB;AAiBjD,OAAO,SAAS,kBACd,SACA,SACA,aACM;CACN,IAAI,CAAC,aAAa,KAAK,oBAAoB,IAAI,OAAO,GACpD;CAEF,oBAAoB,IAAI,OAAO;CAC/B,QAAQ,KACN,kBAAkB,QAAQ,wCAAwC,YAAY,mEAE9E,OACF;AACF","names":[],"ignoreList":[],"sources":["../src/dev-warn.ts"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { forEach, isFunction, pick, servicesPlugin, UIRouter, ViewService } from "@uirouter/core";
|
|
2
|
+
import { html, LitElement } from "lit";
|
|
3
|
+
const forEachValue = forEach;
|
|
4
|
+
let viewConfigIdCounter = 0;
|
|
5
|
+
export class LitViewConfig {
|
|
6
|
+
constructor(path, viewDecl) {
|
|
7
|
+
this.path = path;
|
|
8
|
+
this.viewDecl = viewDecl;
|
|
9
|
+
this.$id = viewConfigIdCounter++;
|
|
10
|
+
this.loaded = true;
|
|
11
|
+
}
|
|
12
|
+
load() {
|
|
13
|
+
return Promise.resolve(this);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function isLitViewDeclarationTemplate(config) {
|
|
17
|
+
return isFunction(config);
|
|
18
|
+
}
|
|
19
|
+
export function isRoutedLitElement(component) {
|
|
20
|
+
return component?.prototype instanceof LitElement;
|
|
21
|
+
}
|
|
22
|
+
export function litViewsBuilder(state) {
|
|
23
|
+
const views = {}, viewsObject = state.views || { $default: pick(state, ["component"]) };
|
|
24
|
+
forEachValue(viewsObject, function(config, name) {
|
|
25
|
+
let normalizedConfig;
|
|
26
|
+
name = name || "$default";
|
|
27
|
+
if (isLitViewDeclarationTemplate(config)) normalizedConfig = { component: config };
|
|
28
|
+
else normalizedConfig = config;
|
|
29
|
+
if (Object.keys(normalizedConfig || {}).length === 0) return;
|
|
30
|
+
normalizedConfig.$type = "lit";
|
|
31
|
+
normalizedConfig.$context = state;
|
|
32
|
+
normalizedConfig.$name = name;
|
|
33
|
+
const normalizedTarget = ViewService.normalizeUIViewTarget(normalizedConfig.$context, normalizedConfig.$name);
|
|
34
|
+
normalizedConfig.$uiViewName = normalizedTarget.uiViewName;
|
|
35
|
+
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
|
+
}
|
|
45
|
+
views[name] = viewsObject[name] = normalizedConfig;
|
|
46
|
+
});
|
|
47
|
+
return views;
|
|
48
|
+
}
|
|
49
|
+
const viewConfigFactory = (path, config) => new LitViewConfig(path, config);
|
|
50
|
+
export class UIRouterLit extends UIRouter {
|
|
51
|
+
constructor() {
|
|
52
|
+
super();
|
|
53
|
+
this.started = false;
|
|
54
|
+
this.plugin(servicesPlugin);
|
|
55
|
+
this.viewService._pluginapi._viewConfigFactory("lit", viewConfigFactory);
|
|
56
|
+
this.stateRegistry.decorator("views", litViewsBuilder);
|
|
57
|
+
}
|
|
58
|
+
start() {
|
|
59
|
+
if (this.started) throw new Error("start() called multiple times");
|
|
60
|
+
this.urlMatcherFactory.$get();
|
|
61
|
+
this.urlService.listen();
|
|
62
|
+
this.urlService.sync();
|
|
63
|
+
this.started = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","mappings":"AAAA,SACE,SACA,YAEA,MACA,gBAGA,UAEA,mBAEK;AACP,SAAS,MAAM,kBAAkB;AAkBjC,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,OAAqC;OAErE,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;EAEnB,IAAI,mBAAsB,iBAAiB,SAAS,GAAG;GACrD,MAAM,YAAY,iBAAiB;GACnC,IAAI;GACJ,iBAAiB,aAAa,UAAkC;IAC9D,YAAa,UAAU,UAAU,aAAc,IAAI,UAAU,KAAK;IAClE,UAAU,eAAe;IACzB,OAAO,IAAI,GAAG;GAChB;EACF;EAEA,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,11 @@
|
|
|
1
|
+
import { UIRouterLitElement } from "./ui-router.js";
|
|
2
|
+
export function inLitDevMode() {
|
|
3
|
+
return typeof UIRouterLitElement.enableWarning === "function";
|
|
4
|
+
}
|
|
5
|
+
const warnedMissingRouter = new WeakSet();
|
|
6
|
+
export function warnMissingRouter(element, subject, consequence) {
|
|
7
|
+
if (!inLitDevMode() || warnedMissingRouter.has(element)) return;
|
|
8
|
+
warnedMissingRouter.add(element);
|
|
9
|
+
console.warn(`lit-ui-router: ${subject} found no <ui-router> ancestor, so it ${consequence}. Wrap this subtree in <ui-router>, or pass a router explicitly.`, element);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dev-warn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-warn.js","mappings":"AAAA,SAAS,0BAA0B;AAUnC,OAAO,SAAS,eAAwB;CACtC,OAAO,OAAO,mBAAmB,kBAAkB;AACrD;AAUA,MAAM,sBAAsB,IAAI,QAAiB;AAiBjD,OAAO,SAAS,kBACd,SACA,SACA,aACM;CACN,IAAI,CAAC,aAAa,KAAK,oBAAoB,IAAI,OAAO,GACpD;CAEF,oBAAoB,IAAI,OAAO;CAC/B,QAAQ,KACN,kBAAkB,QAAQ,wCAAwC,YAAY,mEAE9E,OACF;AACF","names":[],"ignoreList":[],"sources":["../../src/dev-warn.ts"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"AACA,OAAO;AAEP,cAAc","names":[],"ignoreList":[],"sources":["../../src/index.ts"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","mappings":"","names":[],"ignoreList":[],"sources":["../../src/interface.ts"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pure.js","mappings":"AAEA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","names":[],"ignoreList":[],"sources":["../../src/pure.ts"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","mappings":"AACA,OAAO;AACP,OAAO","names":[],"ignoreList":[],"sources":["../../src/register.ts"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { UIRouterLitElement } from "./ui-router.js";
|
|
2
|
+
export class TransitionController {
|
|
3
|
+
constructor(host, options = {}) {
|
|
4
|
+
this.deregisterFns = [];
|
|
5
|
+
this.host = host;
|
|
6
|
+
this.options = options;
|
|
7
|
+
this._router = options.router;
|
|
8
|
+
host.addController(this);
|
|
9
|
+
}
|
|
10
|
+
get router() {
|
|
11
|
+
return this._router;
|
|
12
|
+
}
|
|
13
|
+
get globals() {
|
|
14
|
+
return this._router?.globals;
|
|
15
|
+
}
|
|
16
|
+
get params() {
|
|
17
|
+
return this.globals?.params ?? {};
|
|
18
|
+
}
|
|
19
|
+
get current() {
|
|
20
|
+
return this.globals?.current;
|
|
21
|
+
}
|
|
22
|
+
get transition() {
|
|
23
|
+
return this._transition;
|
|
24
|
+
}
|
|
25
|
+
includes(stateOrName, params) {
|
|
26
|
+
return this._router?.stateService.includes(stateOrName, params) ?? false;
|
|
27
|
+
}
|
|
28
|
+
hostConnected() {
|
|
29
|
+
this._router ??= this.options.router ?? UIRouterLitElement.seekRouter(this.host);
|
|
30
|
+
const router = this._router;
|
|
31
|
+
if (!router) return;
|
|
32
|
+
const criteria = this.options.criteria ?? {};
|
|
33
|
+
const events = this.options.events ?? ["onSuccess"];
|
|
34
|
+
for (const event of events) this.deregisterFns.push(router.transitionService[event](criteria, (transition) => this.notify(transition, event)));
|
|
35
|
+
this.notify(router.globals.successfulTransitions.peekTail(), "hostConnected");
|
|
36
|
+
}
|
|
37
|
+
hostDisconnected() {
|
|
38
|
+
while (this.deregisterFns.length) this.deregisterFns.shift()?.();
|
|
39
|
+
}
|
|
40
|
+
notify(transition, reason) {
|
|
41
|
+
this._transition = transition ?? this._transition;
|
|
42
|
+
const result = this.options.callback?.(transition, reason);
|
|
43
|
+
this.host.requestUpdate();
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=transition-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-controller.js","mappings":"AAYA,SAAS,0BAA0B;AAuInC,OAAO,MAAM,qBAAmD;CAW9D,YACE,MACA,UAAuC,CAAC,GACxC;uBAT+C,CAAC;EAUhD,KAAK,OAAO;EACZ,KAAK,UAAU;EACf,KAAK,UAAU,QAAQ;EACvB,KAAK,cAAc,IAAI;CACzB;CAQA,IAAI,SAA+B;EACjC,OAAO,KAAK;CACd;CAGA,IAAI,UAAuC;EACzC,OAAO,KAAK,SAAS;CACvB;CAGA,IAAI,SAAoB;EACtB,OAAO,KAAK,SAAS,UAAU,CAAC;CAClC;CAGA,IAAI,UAAwC;EAC1C,OAAO,KAAK,SAAS;CACvB;CAMA,IAAI,aAAqC;EACvC,OAAO,KAAK;CACd;CAQA,SAAS,aAA0B,QAA6B;EAC9D,OAAO,KAAK,SAAS,aAAa,SAAS,aAAa,MAAM,KAAK;CACrE;CAGA,gBAAsB;EACpB,KAAK,YACH,KAAK,QAAQ,UAAU,mBAAmB,WAAW,KAAK,IAAI;EAEhE,MAAM,SAAS,KAAK;EACpB,IAAI,CAAC,QACH;EAGF,MAAM,WAAW,KAAK,QAAQ,YAAY,CAAC;EAC3C,MAAM,SAAS,KAAK,QAAQ,UAAU,CAAC,WAAW;EAElD,KAAK,MAAM,SAAS,QAClB,KAAK,cAAc,KACjB,OAAO,kBAAkB,MAAM,CAC7B,WACC,eAAe,KAAK,OAAO,YAAY,KAAK,CAC/C,CACF;EAKF,KAAK,OACH,OAAO,QAAQ,sBAAsB,SAAS,GAC9C,eACF;CACF;CAGA,mBAAyB;EACvB,OAAO,KAAK,cAAc,QACxB,KAAK,cAAc,MAAM,CAAC,GAAG;CAEjC;CAEA,OACE,YACA,QACS;EACT,KAAK,cAAc,cAAc,KAAK;EACtC,MAAM,SAAS,KAAK,QAAQ,WAAW,YAAY,MAAM;EACzD,KAAK,KAAK,cAAc;EACxB,OAAO;CACT;AACF","names":[],"ignoreList":[],"sources":["../../src/transition-controller.ts"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { html, LitElement } from "lit";
|
|
2
|
+
import { property } from "lit/decorators.js";
|
|
3
|
+
import { UIRouterLit } from "./core.js";
|
|
4
|
+
import _decorate from "@oxc-project/runtime/helpers/decorate";
|
|
5
|
+
export class UIRouterLitElement extends LitElement {
|
|
6
|
+
constructor(..._args) {
|
|
7
|
+
super(..._args);
|
|
8
|
+
this.onUiRouterContextEvent = (event) => {
|
|
9
|
+
this.constructor.onUiRouterContextEvent(this.uiRouter)(event);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
static {
|
|
13
|
+
this.uiRouterContextEventName = "ui-router-context";
|
|
14
|
+
}
|
|
15
|
+
static uiRouterContextEvent(uiRouter) {
|
|
16
|
+
return new CustomEvent(this.uiRouterContextEventName, {
|
|
17
|
+
bubbles: true,
|
|
18
|
+
composed: true,
|
|
19
|
+
detail: { uiRouter }
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
static seekRouter(candidate) {
|
|
23
|
+
const uiRouterContextEvent = this.uiRouterContextEvent();
|
|
24
|
+
candidate.dispatchEvent(uiRouterContextEvent);
|
|
25
|
+
return uiRouterContextEvent.detail.uiRouter;
|
|
26
|
+
}
|
|
27
|
+
static onUiRouterContextEvent(uiRouter) {
|
|
28
|
+
return (event) => {
|
|
29
|
+
event.stopPropagation();
|
|
30
|
+
event.detail.uiRouter = uiRouter;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
connectedCallback() {
|
|
34
|
+
super.connectedCallback();
|
|
35
|
+
this.uiRouter = this.uiRouter || new UIRouterLit();
|
|
36
|
+
this.addEventListener(this.constructor.uiRouterContextEventName, this.onUiRouterContextEvent);
|
|
37
|
+
this.dispatchEvent(this.constructor.uiRouterContextEvent(this.uiRouter));
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
return html`<slot></slot>`;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
_decorate([property({ attribute: false })], UIRouterLitElement.prototype, "uiRouter", void 0);
|
|
44
|
+
//# sourceMappingURL=ui-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-router.js","mappings":"AAAA,SAAS,MAAM,kBAAkB;AAEjC,SAAS,gBAAgB;AAEzB,SAAS,mBAAmB;;AA2B5B,OAAO,MAAM,2BAA2B,WAAW;;;iCAqDN,UAAgC;GACzE,KAAK,YAAY,uBAAuB,KAAK,QAAQ,CAAC,CAAC,KAAK;EAC9D;;;kCA9CkC;;CAGlC,OAAO,qBAAqB,UAA8C;EACxE,OAAO,IAAI,YAAY,KAAK,0BAA0B;GACpD,SAAS;GACT,UAAU;GACV,QAAQ,EACN,SACF;EACF,CAAC;CACH;CAiBA,OAAO,WAAW,WAA6C;EAC7D,MAAM,uBAAuB,KAAK,qBAAqB;EACvD,UAAU,cAAc,oBAAoB;EAC5C,OAAO,qBAAqB,OAAO;CACrC;CAGA,OAAO,uBACL,UACuC;EACvC,QAAQ,UAAgC;GACtC,MAAM,gBAAgB;GACtB,MAAM,OAAO,WAAW;EAC1B;CACF;CAOA,oBAA0B;EACxB,MAAM,kBAAkB;EACxB,KAAK,WAAW,KAAK,YAAY,IAAI,YAAY;EAEjD,KAAK,iBACH,KAAK,YAAY,0BACjB,KAAK,sBACP;EAEA,KAAK,cAAc,KAAK,YAAY,qBAAqB,KAAK,QAAQ,CAAC;CACzE;CAGA,SAAyB;EACvB,OAAO,IAAI;CACb;AACF;WArEG,SAAS,EAAE,WAAW,MAAM,CAAC","names":[],"ignoreList":[],"sources":["../../src/ui-router.ts"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { UIRouterLitElement } from "./ui-router.js";
|
|
2
|
+
if (!customElements.get("ui-router")) customElements.define("ui-router", UIRouterLitElement);
|
|
3
|
+
else console.warn("lit-ui-router: <ui-router> is already defined; skipping registration. Multiple copies of lit-ui-router may be loaded.");
|
|
4
|
+
//# sourceMappingURL=ui-router.register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-router.register.js","mappings":"AACA,SAAS,0BAA0B;AASnC,IAAI,CAAC,eAAe,IAAI,WAAW,GACjC,eAAe,OAAO,aAAa,kBAAkB;KAErD,QAAQ,KACN,uHACF","names":[],"ignoreList":[],"sources":["../../src/ui-router.register.ts"]}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { anyTrueR, extend, Param, PathUtils, tail, unnestR } from "@uirouter/core";
|
|
2
|
+
import { noChange } from "lit";
|
|
3
|
+
import { directive, PartType } from "lit/directive.js";
|
|
4
|
+
import { AsyncDirective } from "lit/async-directive.js";
|
|
5
|
+
import { UIRouterLitElement } from "./ui-router.js";
|
|
6
|
+
import { inLitDevMode, warnMissingRouter } from "./dev-warn.js";
|
|
7
|
+
import { isNativeLink, UI_SREF_TARGET_EVENT } from "./ui-sref.js";
|
|
8
|
+
import { UiView } from "./ui-view.js";
|
|
9
|
+
export const TRANSITION_STATE_CHANGE_EVENT = "transitionStateChange";
|
|
10
|
+
export let TransitionStateChange = function(TransitionStateChange) {
|
|
11
|
+
TransitionStateChange["start"] = "start";
|
|
12
|
+
TransitionStateChange["success"] = "success";
|
|
13
|
+
TransitionStateChange["error"] = "error";
|
|
14
|
+
return TransitionStateChange;
|
|
15
|
+
}({});
|
|
16
|
+
const pathMatches = (target) => {
|
|
17
|
+
if (!target.exists()) return () => false;
|
|
18
|
+
const state = target.$state();
|
|
19
|
+
const targetParamVals = target.params();
|
|
20
|
+
const paramSchema = PathUtils.buildPath(target).map((node) => node.paramSchema).reduce(unnestR, []).filter((param) => Object.prototype.hasOwnProperty.call(targetParamVals, param.id));
|
|
21
|
+
return (path = []) => {
|
|
22
|
+
const tailNode = tail(path);
|
|
23
|
+
if (!tailNode || tailNode.state !== state) return false;
|
|
24
|
+
const paramValues = PathUtils.paramValues(path);
|
|
25
|
+
return Param.equals(paramSchema, paramValues, targetParamVals);
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
function spreadToSubPaths(basePath, appendPath) {
|
|
29
|
+
return appendPath.map((node) => basePath.concat(PathUtils.subPath(appendPath, (n) => n.state === node.state)));
|
|
30
|
+
}
|
|
31
|
+
export function mergeSrefStatus(left, right) {
|
|
32
|
+
return {
|
|
33
|
+
active: left.active || right.active,
|
|
34
|
+
exact: left.exact || right.exact,
|
|
35
|
+
entering: left.entering || right.entering,
|
|
36
|
+
exiting: left.exiting || right.exiting,
|
|
37
|
+
targetStates: [...left.targetStates, ...right.targetStates]
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const isLinkElement = (element) => isNativeLink(element) || element.matches("[role~=\"link\"]");
|
|
41
|
+
const toAriaCurrentValues = (ariaCurrentValue) => typeof ariaCurrentValue === "object" ? ariaCurrentValue : { exact: ariaCurrentValue };
|
|
42
|
+
let _first = null;
|
|
43
|
+
export class UiSrefActiveDirective extends AsyncDirective {
|
|
44
|
+
seekRouter() {
|
|
45
|
+
this.uiRouter = UIRouterLitElement.seekRouter(this.element);
|
|
46
|
+
}
|
|
47
|
+
seekParentView() {
|
|
48
|
+
this.parentView = UiView.seekParentView(this.element);
|
|
49
|
+
}
|
|
50
|
+
constructor(partInfo) {
|
|
51
|
+
super(partInfo);
|
|
52
|
+
this.element = null;
|
|
53
|
+
this.parentView = null;
|
|
54
|
+
this.activeClasses = [];
|
|
55
|
+
this.exactClasses = [];
|
|
56
|
+
this.ownsAriaCurrent = false;
|
|
57
|
+
this.warnedAriaCurrentTakeover = false;
|
|
58
|
+
this.params = {};
|
|
59
|
+
this.options = {};
|
|
60
|
+
this.targetStates = new Set();
|
|
61
|
+
this.uiSrefs = new WeakMap();
|
|
62
|
+
this.doRender = () => {
|
|
63
|
+
return this.render({
|
|
64
|
+
activeClasses: this.activeClasses,
|
|
65
|
+
exactClasses: this.exactClasses,
|
|
66
|
+
ariaCurrentValue: this.ariaCurrentValue
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
this._firstUpdated = false;
|
|
70
|
+
this.onUiSrefTargetEvent = (event) => {
|
|
71
|
+
const { targetState } = event.detail;
|
|
72
|
+
this.targetStates.add(targetState);
|
|
73
|
+
this.uiSrefs.set(targetState, event.target);
|
|
74
|
+
};
|
|
75
|
+
this.onTransitionStateChange = (e) => {
|
|
76
|
+
const event = e;
|
|
77
|
+
const status = this.getStatus(event.detail);
|
|
78
|
+
if (!status) return;
|
|
79
|
+
const { active, exact, entering, exiting } = status;
|
|
80
|
+
this.active = active;
|
|
81
|
+
this.exact = exact;
|
|
82
|
+
this.entering = entering;
|
|
83
|
+
this.exiting = exiting;
|
|
84
|
+
this.doRender();
|
|
85
|
+
};
|
|
86
|
+
this.onTransitionStart = (trans) => {
|
|
87
|
+
this.element.dispatchEvent(this.createTransitionStateChangeEvent(TransitionStateChange.start, trans));
|
|
88
|
+
trans.promise.then(() => {
|
|
89
|
+
this.element.dispatchEvent(this.createTransitionStateChangeEvent(TransitionStateChange.success, trans));
|
|
90
|
+
}, () => {
|
|
91
|
+
this.element.dispatchEvent(this.createTransitionStateChangeEvent(TransitionStateChange.error, trans));
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
this.onStatesChanged = () => {
|
|
95
|
+
const { active, exact } = this.getStatus() || {};
|
|
96
|
+
this.active = active;
|
|
97
|
+
this.exact = exact;
|
|
98
|
+
this.doRender();
|
|
99
|
+
};
|
|
100
|
+
if (partInfo.type !== PartType.ELEMENT) throw new Error("The `uiSrefActive` directive must be used as an element");
|
|
101
|
+
_first = _first || this;
|
|
102
|
+
}
|
|
103
|
+
render({ activeClasses, exactClasses, ariaCurrentValue }) {
|
|
104
|
+
if (!this._firstUpdated) return noChange;
|
|
105
|
+
activeClasses?.forEach((className) => {
|
|
106
|
+
if (this.active) this.element.classList.add(className);
|
|
107
|
+
else this.element.classList.remove(className);
|
|
108
|
+
});
|
|
109
|
+
exactClasses?.forEach((className) => {
|
|
110
|
+
if (this.exact) this.element.classList.add(className);
|
|
111
|
+
else this.element.classList.remove(className);
|
|
112
|
+
});
|
|
113
|
+
this.applyAriaCurrent(ariaCurrentValue);
|
|
114
|
+
return noChange;
|
|
115
|
+
}
|
|
116
|
+
resolveAriaCurrent(values) {
|
|
117
|
+
if (this.exact) return values.exact ?? (isLinkElement(this.element) && "page");
|
|
118
|
+
if (this.active) return values.active ?? false;
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
applyAriaCurrent(ariaCurrentValue) {
|
|
122
|
+
const resolved = this.resolveAriaCurrent(toAriaCurrentValues(ariaCurrentValue));
|
|
123
|
+
if (resolved) {
|
|
124
|
+
if (!this.ownsAriaCurrent) this.warnAriaCurrentTakeover();
|
|
125
|
+
this.element.setAttribute("aria-current", resolved);
|
|
126
|
+
this.ownsAriaCurrent = true;
|
|
127
|
+
} else if (this.ownsAriaCurrent) {
|
|
128
|
+
this.element.removeAttribute("aria-current");
|
|
129
|
+
this.ownsAriaCurrent = false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
warnAriaCurrentTakeover() {
|
|
133
|
+
const existing = this.element.getAttribute("aria-current");
|
|
134
|
+
if (!inLitDevMode() || existing === null || this.warnedAriaCurrentTakeover) return;
|
|
135
|
+
this.warnedAriaCurrentTakeover = true;
|
|
136
|
+
console.warn(`lit-ui-router: uiSrefActive is taking over an existing aria-current="${existing}" that it did not set; the attribute will be removed when the state goes inactive. Pass ariaCurrentValue: false to keep the attribute under your own control.`, this.element);
|
|
137
|
+
}
|
|
138
|
+
getOptions() {
|
|
139
|
+
const defaultOpts = { relative: this.parentView?.viewContext?.name };
|
|
140
|
+
return extend(defaultOpts, this.options || {});
|
|
141
|
+
}
|
|
142
|
+
getSrefStatus(event, srefTarget) {
|
|
143
|
+
const pathMatchesTarget = pathMatches(srefTarget);
|
|
144
|
+
const tc = event?.trans.treeChanges();
|
|
145
|
+
const isStartEvent = event?.evt === "start";
|
|
146
|
+
const activePath = event?.evt === "success" ? tc?.to : tc?.from;
|
|
147
|
+
const isActive = () => activePath ? spreadToSubPaths([], activePath).map(pathMatchesTarget).reduce(anyTrueR, false) : this.uiRouter.stateService.includes(srefTarget.name(), srefTarget.params());
|
|
148
|
+
const isExact = () => activePath ? pathMatchesTarget(activePath) : this.uiRouter.stateService.is(srefTarget.name(), srefTarget.params());
|
|
149
|
+
const isEntering = () => spreadToSubPaths(tc.retained, tc.entering).map(pathMatchesTarget).reduce(anyTrueR, false);
|
|
150
|
+
const isExiting = () => spreadToSubPaths(tc.retained, tc.exiting).map(pathMatchesTarget).reduce(anyTrueR, false);
|
|
151
|
+
return {
|
|
152
|
+
active: isActive(),
|
|
153
|
+
exact: isExact(),
|
|
154
|
+
entering: isStartEvent ? isEntering() : false,
|
|
155
|
+
exiting: isStartEvent ? isExiting() : false,
|
|
156
|
+
targetStates: [srefTarget]
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
async update(part, [{ activeClasses, exactClasses, ariaCurrentValue, state, params = {}, options = {}, targetStates }]) {
|
|
160
|
+
this.activeClasses = activeClasses;
|
|
161
|
+
this.exactClasses = exactClasses;
|
|
162
|
+
this.ariaCurrentValue = ariaCurrentValue;
|
|
163
|
+
this.state = state;
|
|
164
|
+
this.params = params;
|
|
165
|
+
this.options = options;
|
|
166
|
+
const { element } = part;
|
|
167
|
+
if (this.element !== element) {
|
|
168
|
+
this.element = element;
|
|
169
|
+
this._firstUpdated = false;
|
|
170
|
+
await Promise.resolve();
|
|
171
|
+
this.firstUpdated({ targetStates });
|
|
172
|
+
}
|
|
173
|
+
if (this.uiRouter && this._firstUpdated) this.doRender();
|
|
174
|
+
else if (!this.uiRouter) warnMissingRouter(element, `<${element.localName} uiSrefActive>`, "will never be marked active");
|
|
175
|
+
}
|
|
176
|
+
firstUpdated({ targetStates }) {
|
|
177
|
+
if (this._firstUpdated || !this.isConnected) return;
|
|
178
|
+
this.seekRouter();
|
|
179
|
+
this.seekParentView();
|
|
180
|
+
this.targetStates.clear();
|
|
181
|
+
if (targetStates) Array.prototype.forEach.call(targetStates, (targetState) => {
|
|
182
|
+
this.targetStates.add(targetState);
|
|
183
|
+
});
|
|
184
|
+
else if (this.state) {
|
|
185
|
+
if (this.uiRouter) this.targetStates.add(this.uiRouter.stateService.target(this.state, this.params, this.getOptions()));
|
|
186
|
+
} else this.element.addEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
187
|
+
this.element.addEventListener(TRANSITION_STATE_CHANGE_EVENT, this.onTransitionStateChange);
|
|
188
|
+
if (this.uiRouter) {
|
|
189
|
+
this._deregisterOnStart = this.uiRouter.transitionService.onStart({}, this.onTransitionStart);
|
|
190
|
+
this._deregisterOnStatesChanged = this.uiRouter.stateRegistry.onStatesChanged(this.onStatesChanged);
|
|
191
|
+
}
|
|
192
|
+
setTimeout(() => {
|
|
193
|
+
if (this.targetStates.size) {
|
|
194
|
+
const { active, exact } = this.getStatus() || {};
|
|
195
|
+
this.active = active;
|
|
196
|
+
this.exact = exact;
|
|
197
|
+
this.doRender();
|
|
198
|
+
}
|
|
199
|
+
}, 0);
|
|
200
|
+
this._firstUpdated = true;
|
|
201
|
+
}
|
|
202
|
+
disconnected() {
|
|
203
|
+
if (!this.element) return;
|
|
204
|
+
this.element.removeEventListener(UI_SREF_TARGET_EVENT, this.onUiSrefTargetEvent);
|
|
205
|
+
this.element.removeEventListener(TRANSITION_STATE_CHANGE_EVENT, this.onTransitionStateChange);
|
|
206
|
+
this.element = null;
|
|
207
|
+
this._deregisterOnStart?.();
|
|
208
|
+
this._deregisterOnStatesChanged?.();
|
|
209
|
+
}
|
|
210
|
+
createTransitionStateChangeEvent(evt, trans) {
|
|
211
|
+
const detail = {
|
|
212
|
+
evt,
|
|
213
|
+
trans,
|
|
214
|
+
status: void 0
|
|
215
|
+
};
|
|
216
|
+
detail.status = this.getStatus(detail);
|
|
217
|
+
return new CustomEvent(TRANSITION_STATE_CHANGE_EVENT, { detail });
|
|
218
|
+
}
|
|
219
|
+
getStatus(transEvt) {
|
|
220
|
+
const { targetStates } = this;
|
|
221
|
+
if (!targetStates.size) return;
|
|
222
|
+
const statuses = [];
|
|
223
|
+
for (const target of targetStates) statuses.push(this.getSrefStatus(transEvt, target));
|
|
224
|
+
return statuses.reduce(mergeSrefStatus);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
export const uiSrefActive = directive(UiSrefActiveDirective);
|
|
228
|
+
//# sourceMappingURL=ui-sref-active.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-sref-active.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref-active.ts"]}
|