{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/ui-view.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "UiView",
          "slots": [
            {
              "description": "<code>&lt;ui-view&gt;</code> renders slotted content as fallback whenever no routed component is active.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "the view name this viewport fills; empty selects the `$default` view",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "uiRouter",
              "type": {
                "text": "UIRouterLit"
              },
              "description": "<code>&lt;ui-view&gt;</code> can be used without <code>&lt;ui-router&gt;</code>\nby providing the <code>uiRouter</code> property directly."
            },
            {
              "kind": "field",
              "name": "viewAddress",
              "type": {
                "text": "UiViewAddress"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "component",
              "type": {
                "text": "RoutedLitTemplate | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Replaced only by a real view config change, so a retained view keeps its subtree."
            },
            {
              "kind": "field",
              "name": "inner",
              "type": {
                "text": "DocumentFragment | undefined"
              },
              "privacy": "private",
              "description": "Created on connect: the"
            },
            {
              "kind": "field",
              "name": "viewId",
              "privacy": "private",
              "readonly": true,
              "default": "viewIdCounter++"
            },
            {
              "kind": "field",
              "name": "_uiViewData",
              "type": {
                "text": "ActiveUIView"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resolveContext",
              "type": {
                "text": "ResolveContext"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_viewConfigUpdated",
              "privacy": "private",
              "parameters": [
                {
                  "name": "config",
                  "type": {
                    "text": "ViewConfig"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_applyUpdatedConfig",
              "privacy": "private",
              "parameters": [
                {
                  "name": "config",
                  "type": {
                    "text": "LitViewConfig"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "parentView",
              "type": {
                "text": "UiView"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "onUiViewContextEvent",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "uiViewContextEventName",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "static": true,
              "readonly": true,
              "default": "'ui-view-context'"
            },
            {
              "kind": "method",
              "name": "uiViewContextEvent",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "UiViewContextEvent"
                }
              }
            },
            {
              "kind": "method",
              "name": "seekParentView",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "onUiRouterContextEvent",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "seekRouter",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "routerFromProvider",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether `uiRouter` came from the context event rather than the app."
            },
            {
              "kind": "field",
              "name": "registeredRouter",
              "type": {
                "text": "UIRouterLit | undefined"
              },
              "privacy": "private",
              "description": "The router this view registered with; a late upgrade can supersede it."
            },
            {
              "kind": "field",
              "name": "seekingProvidedRouter",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set only for the synchronous span of our own re-seek."
            },
            {
              "kind": "method",
              "name": "seekProvidedRouter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "UIRouterLit | undefined"
                }
              },
              "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."
            },
            {
              "kind": "method",
              "name": "adoptProvidedRouter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "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."
            },
            {
              "kind": "method",
              "name": "deregisterAll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "captureContent",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "disconnectedHandlers",
              "type": {
                "text": "deregisterFn[]"
              },
              "privacy": "private",
              "readonly": true,
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "setupUiView",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_invokeUiCanExitHook",
              "privacy": "private",
              "parameters": [
                {
                  "name": "trans",
                  "type": {
                    "text": "Transition"
                  }
                }
              ],
              "description": "For each transition, checks the component loaded in the ui-view for:\n\n- has a uiCanExit() component hook\n- is being exited\n\nIf both are true, adds the uiCanExit component function as a hook to that singular Transition."
            },
            {
              "kind": "method",
              "name": "_invokeUiOnParamsChangedHook",
              "privacy": "private",
              "parameters": [
                {
                  "name": "$transition$",
                  "type": {
                    "text": "Transition"
                  }
                }
              ],
              "description": "For each transition, checks if any param values changed and notify component"
            }
          ],
          "events": [
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "This event is fired to obtain the <code>uiRouter</code> instance, when not directly provided. Once obtained, the <code>&lt;ui-view&gt;</code> listens and provides the <code>uiRouter</code> to descendants.",
              "name": "ui-router-context"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "This event is fired to obtain the parent <code>&lt;ui-view&gt;</code>.",
              "name": "ui-view-context"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "the view name this viewport fills; empty selects the `$default` view",
              "fieldName": "name"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "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.",
          "tagName": "ui-view",
          "customElement": true
        },
        {
          "kind": "variable",
          "name": "router"
        },
        {
          "kind": "variable",
          "name": "resolves"
        },
        {
          "kind": "variable",
          "name": "transition",
          "default": "injector.get(Transition)"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "UiView",
          "declaration": {
            "name": "UiView",
            "module": "src/ui-view.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/ui-router.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "UIRouterLitElement",
          "slots": [
            {
              "description": "<code>&lt;ui-router&gt;</code> renders slotted content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "uiRouter",
              "type": {
                "text": "UIRouterLit | undefined"
              },
              "description": "Root <code>uiRouter</code> singleton.\nIf not provided, the element creates and assigns a new instance."
            },
            {
              "kind": "method",
              "name": "seekRouter",
              "static": true,
              "return": {
                "type": {
                  "text": "UIRouterLit | undefined"
                }
              },
              "parameters": [
                {
                  "name": "candidate",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "Discovers the UIRouterLit instance provided by the nearest\nenclosing <code>&lt;ui-router&gt;</code> element.\n\nDispatches a bubbling, composed <code>ui-router-context</code> event from\nthe candidate element; the enclosing <code>&lt;ui-router&gt;</code>\nanswers it with its router instance. Returns <code>undefined</code> when\nthe candidate is not inside a <code>&lt;ui-router&gt;</code> (e.g. not\nyet connected).\n\nThis is the dependency-injection primitive for integrating external\nreactivity systems (state stores, controllers) with the router context —\ncall it from <code>hostConnected()</code> / <code>connectedCallback()</code>\ninstead of prop-drilling the router instance.\n\nWhen no <code>&lt;ui-router&gt;</code> answers, it asks again with\nrequestRouter, so an ancestor providing routerContext\nover the community protocol — a bare <code>@lit/context</code>\n<code>ContextProvider</code>, say — is found as well."
            },
            {
              "kind": "field",
              "name": "onUiRouterContextEvent",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "onContextRequest",
              "privacy": "private",
              "readonly": true,
              "description": "Answers a `context-request` for the router context.\n\n`subscribe` gets one call and a no-op unsubscribe: the element takes its\nrouter on connect and does not swap it afterwards."
            }
          ],
          "events": [
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "<code>&lt;ui-router&gt;</code> listens to the <code>ui-router-context</code> event and provides the <code>uiRouter</code> instance. It answers the community <code>context-request</code> protocol for {@link routerContext} from the same listener position, so an element built on <code>@lit/context</code> gets the router too. The two paths coexist and neither sees the other's event: {@link UIRouterLitElement.seekRouter} asks on <code>ui-router-context</code> first and falls back to {@link requestRouter}.",
              "name": "ui-router-context"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "summary": "This is the root ui-router component.",
          "tagName": "ui-router",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "UIRouterLitElement",
          "declaration": {
            "name": "UIRouterLitElement",
            "module": "src/ui-router.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/ui-view.register.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "ui-view",
          "declaration": {
            "name": "UiView",
            "module": "src/ui-view.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/ui-router.register.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "ui-router",
          "declaration": {
            "name": "UIRouterLitElement",
            "module": "src/ui-router.ts"
          }
        }
      ]
    }
  ]
}
