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.
Files changed (39) hide show
  1. package/dist/core.d.ts.map +1 -1
  2. package/dist/core.js +3 -10
  3. package/dist/core.js.map +1 -1
  4. package/dist/custom-elements.json +86 -2
  5. package/dist/development/core.js +3 -10
  6. package/dist/development/core.js.map +1 -1
  7. package/dist/development/routed-element.js +10 -0
  8. package/dist/development/routed-element.js.map +1 -0
  9. package/dist/development/ui-sref-active.js +33 -6
  10. package/dist/development/ui-sref-active.js.map +1 -1
  11. package/dist/development/ui-sref.js +9 -1
  12. package/dist/development/ui-sref.js.map +1 -1
  13. package/dist/development/ui-view.js +40 -13
  14. package/dist/development/ui-view.js.map +1 -1
  15. package/dist/interface.d.ts +6 -1
  16. package/dist/interface.d.ts.map +1 -1
  17. package/dist/routed-element.d.ts +11 -0
  18. package/dist/routed-element.d.ts.map +1 -0
  19. package/dist/routed-element.js +10 -0
  20. package/dist/routed-element.js.map +1 -0
  21. package/dist/ui-sref-active.d.ts +25 -0
  22. package/dist/ui-sref-active.d.ts.map +1 -1
  23. package/dist/ui-sref-active.js +33 -6
  24. package/dist/ui-sref-active.js.map +1 -1
  25. package/dist/ui-sref.d.ts +10 -0
  26. package/dist/ui-sref.d.ts.map +1 -1
  27. package/dist/ui-sref.js +9 -1
  28. package/dist/ui-sref.js.map +1 -1
  29. package/dist/ui-view.d.ts +37 -1
  30. package/dist/ui-view.d.ts.map +1 -1
  31. package/dist/ui-view.js +40 -13
  32. package/dist/ui-view.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/core.ts +14 -12
  35. package/src/interface.ts +6 -1
  36. package/src/routed-element.ts +27 -0
  37. package/src/ui-sref-active.ts +74 -19
  38. package/src/ui-sref.ts +25 -3
  39. package/src/ui-view.ts +95 -17
@@ -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;;;;;;;;;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"]}
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 { html, LitElement } from "lit";
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,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"]}
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>&lt;ui-view&gt;</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
- "readonly": true
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>&lt;ui-view&gt;</code> component.\n\nThe <code>&lt;ui-view&gt;</code> component is a viewport for routed components.\nRouted components will be rendered inside the <code>&lt;ui-view&gt;</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": [
@@ -1,5 +1,6 @@
1
1
  import { forEach, isFunction, pick, servicesPlugin, UIRouter, ViewService } from "@uirouter/core";
2
- import { html, LitElement } from "lit";
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,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"]}
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.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
- });
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":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref-active.ts"]}
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.name() === b.name() && paramsEqual(a.params(), b.params());
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":"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","names":[],"ignoreList":[],"sources":["../../src/ui-sref.ts"]}
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
- this.component = config.viewDecl.component;
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
- this.uiRouter = this.uiRouter || UIRouterLitElement.seekRouter(this);
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
- while (this.disconnectedHandlers.length) this.disconnectedHandlers.shift()?.();
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.cloneNode(true);
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 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, {});
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":"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","names":[],"ignoreList":[],"sources":["../../src/ui-view.ts"]}
1
+ {"version":3,"file":"ui-view.js","mappings":"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","names":[],"ignoreList":[],"sources":["../../src/ui-view.ts"]}
@@ -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
- component: RoutedLitTemplate<T>;
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
@@ -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;CACzB,WAAW,kBAAkB;AAC/B","names":[],"ignoreList":[],"sources":["../src/interface.ts"]}
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"]}
@@ -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;;CAM9B,oBAAoB;;CAEpB,4BAA4B;;CAG5B,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;;CAgCH,uBAAsB;;CAStB;;CAEA,aAAa,EAAE,gBAAgB,QAAQ;;CAyDvC;;CAkBA,iCACE,KAAK,uBACL,OAAO,aACN,YAAY;;CAcf,sBAAuB,OAAO;;CAO9B,0BAA2B,GAAG;;CAe9B,UAAU,WAAW,WAAW;;CAahC,oBAAqB,OAAO;;CAyB5B;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,OAAO,cAAM,eACX,QAAQ,QAAQ,wBACb,uBAAuB","names":[],"ignoreList":[],"sources":["../src/ui-sref-active.ts"]}
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"]}