diff --git a/analysis.json b/analysis.json
index 0f8b040e..04cff3a3 100644
--- a/analysis.json
+++ b/analysis.json
@@ -241,11 +241,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1107,
+ "line": 1117,
"column": 2
},
"end": {
- "line": 1114,
+ "line": 1124,
"column": 3
}
},
@@ -259,11 +259,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 970,
+ "line": 974,
"column": 2
},
"end": {
- "line": 972,
+ "line": 976,
"column": 3
}
},
@@ -279,11 +279,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 980,
+ "line": 984,
"column": 2
},
"end": {
- "line": 984,
+ "line": 988,
"column": 3
}
},
@@ -305,11 +305,11 @@
"privacy": "protected",
"sourceRange": {
"start": {
- "line": 995,
+ "line": 999,
"column": 2
},
"end": {
- "line": 999,
+ "line": 1003,
"column": 3
}
},
@@ -331,11 +331,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1004,
+ "line": 1008,
"column": 2
},
"end": {
- "line": 1006,
+ "line": 1010,
"column": 3
}
},
@@ -351,11 +351,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1025,
+ "line": 1029,
"column": 2
},
"end": {
- "line": 1091,
+ "line": 1101,
"column": 3
}
},
@@ -377,11 +377,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1124,
+ "line": 1134,
"column": 2
},
"end": {
- "line": 1135,
+ "line": 1145,
"column": 3
}
},
@@ -400,11 +400,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1096,
+ "line": 1106,
"column": 2
},
"end": {
- "line": 1098,
+ "line": 1108,
"column": 3
}
},
@@ -423,11 +423,11 @@
"metadata": {},
"sourceRange": {
"start": {
- "line": 949,
+ "line": 953,
"column": 0
},
"end": {
- "line": 1136,
+ "line": 1146,
"column": 1
}
},
@@ -446,11 +446,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1107,
+ "line": 1117,
"column": 2
},
"end": {
- "line": 1114,
+ "line": 1124,
"column": 3
}
},
@@ -464,11 +464,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1484,
+ "line": 1494,
"column": 4
},
"end": {
- "line": 1484,
+ "line": 1494,
"column": 17
}
},
@@ -481,11 +481,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1494,
+ "line": 1504,
"column": 4
},
"end": {
- "line": 1494,
+ "line": 1504,
"column": 15
}
},
@@ -498,11 +498,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1506,
+ "line": 1516,
"column": 4
},
"end": {
- "line": 1506,
+ "line": 1516,
"column": 18
}
},
@@ -516,11 +516,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 970,
+ "line": 974,
"column": 2
},
"end": {
- "line": 972,
+ "line": 976,
"column": 3
}
},
@@ -537,11 +537,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1698,
+ "line": 1708,
"column": 2
},
"end": {
- "line": 1706,
+ "line": 1716,
"column": 3
}
},
@@ -569,11 +569,11 @@
"privacy": "protected",
"sourceRange": {
"start": {
- "line": 995,
+ "line": 999,
"column": 2
},
"end": {
- "line": 999,
+ "line": 1003,
"column": 3
}
},
@@ -596,11 +596,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1004,
+ "line": 1008,
"column": 2
},
"end": {
- "line": 1006,
+ "line": 1010,
"column": 3
}
},
@@ -617,11 +617,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1025,
+ "line": 1029,
"column": 2
},
"end": {
- "line": 1091,
+ "line": 1101,
"column": 3
}
},
@@ -644,11 +644,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1124,
+ "line": 1134,
"column": 2
},
"end": {
- "line": 1135,
+ "line": 1145,
"column": 3
}
},
@@ -666,11 +666,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1518,
+ "line": 1528,
"column": 2
},
"end": {
- "line": 1582,
+ "line": 1592,
"column": 3
}
},
@@ -687,11 +687,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1594,
+ "line": 1604,
"column": 2
},
"end": {
- "line": 1599,
+ "line": 1609,
"column": 3
}
},
@@ -713,11 +713,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1606,
+ "line": 1616,
"column": 2
},
"end": {
- "line": 1608,
+ "line": 1618,
"column": 3
}
},
@@ -734,11 +734,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1729,
+ "line": 1739,
"column": 2
},
"end": {
- "line": 1813,
+ "line": 1823,
"column": 3
}
},
@@ -765,11 +765,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1826,
+ "line": 1836,
"column": 2
},
"end": {
- "line": 1851,
+ "line": 1888,
"column": 3
}
},
@@ -790,11 +790,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1853,
+ "line": 1890,
"column": 2
},
"end": {
- "line": 1873,
+ "line": 1910,
"column": 3
}
},
@@ -811,11 +811,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1875,
+ "line": 1912,
"column": 2
},
"end": {
- "line": 1882,
+ "line": 1919,
"column": 3
}
},
@@ -832,11 +832,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1884,
+ "line": 1921,
"column": 2
},
"end": {
- "line": 1949,
+ "line": 1986,
"column": 3
}
},
@@ -853,11 +853,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1951,
+ "line": 1988,
"column": 2
},
"end": {
- "line": 1963,
+ "line": 2000,
"column": 3
}
},
@@ -883,11 +883,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1965,
+ "line": 2002,
"column": 2
},
"end": {
- "line": 1973,
+ "line": 2010,
"column": 3
}
},
@@ -913,11 +913,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1975,
+ "line": 2012,
"column": 2
},
"end": {
- "line": 1982,
+ "line": 2019,
"column": 3
}
},
@@ -937,11 +937,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1984,
+ "line": 2021,
"column": 2
},
"end": {
- "line": 1986,
+ "line": 2023,
"column": 3
}
},
@@ -958,11 +958,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1988,
+ "line": 2025,
"column": 2
},
"end": {
- "line": 2002,
+ "line": 2039,
"column": 3
}
},
@@ -985,11 +985,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2004,
+ "line": 2041,
"column": 2
},
"end": {
- "line": 2008,
+ "line": 2045,
"column": 3
}
},
@@ -1010,11 +1010,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2010,
+ "line": 2047,
"column": 2
},
"end": {
- "line": 2019,
+ "line": 2056,
"column": 3
}
},
@@ -1037,11 +1037,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2021,
+ "line": 2058,
"column": 2
},
"end": {
- "line": 2037,
+ "line": 2074,
"column": 3
}
},
@@ -1061,11 +1061,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2039,
+ "line": 2076,
"column": 2
},
"end": {
- "line": 2077,
+ "line": 2114,
"column": 3
}
},
@@ -1088,11 +1088,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2079,
+ "line": 2116,
"column": 2
},
"end": {
- "line": 2085,
+ "line": 2122,
"column": 3
}
},
@@ -1108,11 +1108,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2087,
+ "line": 2124,
"column": 2
},
"end": {
- "line": 2093,
+ "line": 2130,
"column": 3
}
},
@@ -1128,11 +1128,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2095,
+ "line": 2132,
"column": 2
},
"end": {
- "line": 2121,
+ "line": 2158,
"column": 3
}
},
@@ -1155,11 +1155,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2123,
+ "line": 2160,
"column": 2
},
"end": {
- "line": 2136,
+ "line": 2173,
"column": 3
}
},
@@ -1179,11 +1179,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2138,
+ "line": 2175,
"column": 2
},
"end": {
- "line": 2160,
+ "line": 2197,
"column": 3
}
},
@@ -1200,11 +1200,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2168,
+ "line": 2205,
"column": 2
},
"end": {
- "line": 2170,
+ "line": 2207,
"column": 3
}
},
@@ -1220,11 +1220,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2176,
+ "line": 2213,
"column": 2
},
"end": {
- "line": 2178,
+ "line": 2215,
"column": 3
}
},
@@ -1240,11 +1240,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2180,
+ "line": 2217,
"column": 2
},
"end": {
- "line": 2188,
+ "line": 2225,
"column": 3
}
},
@@ -1264,11 +1264,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2229,
+ "line": 2266,
"column": 2
},
"end": {
- "line": 2237,
+ "line": 2274,
"column": 3
}
},
@@ -1295,11 +1295,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2250,
+ "line": 2287,
"column": 2
},
"end": {
- "line": 2255,
+ "line": 2292,
"column": 3
}
},
@@ -1328,11 +1328,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1096,
+ "line": 1106,
"column": 2
},
"end": {
- "line": 1098,
+ "line": 1108,
"column": 3
}
},
@@ -1353,11 +1353,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2206,
+ "line": 2243,
"column": 2
},
"end": {
- "line": 2208,
+ "line": 2245,
"column": 3
}
},
@@ -1379,11 +1379,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2268,
+ "line": 2305,
"column": 2
},
"end": {
- "line": 2273,
+ "line": 2310,
"column": 3
}
},
@@ -1413,11 +1413,11 @@
"metadata": {},
"sourceRange": {
"start": {
- "line": 1448,
+ "line": 1458,
"column": 0
},
"end": {
- "line": 2274,
+ "line": 2311,
"column": 1
}
},
diff --git a/docs/vaadin-router/analysis.json b/docs/vaadin-router/analysis.json
index 0f8b040e..04cff3a3 100644
--- a/docs/vaadin-router/analysis.json
+++ b/docs/vaadin-router/analysis.json
@@ -241,11 +241,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1107,
+ "line": 1117,
"column": 2
},
"end": {
- "line": 1114,
+ "line": 1124,
"column": 3
}
},
@@ -259,11 +259,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 970,
+ "line": 974,
"column": 2
},
"end": {
- "line": 972,
+ "line": 976,
"column": 3
}
},
@@ -279,11 +279,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 980,
+ "line": 984,
"column": 2
},
"end": {
- "line": 984,
+ "line": 988,
"column": 3
}
},
@@ -305,11 +305,11 @@
"privacy": "protected",
"sourceRange": {
"start": {
- "line": 995,
+ "line": 999,
"column": 2
},
"end": {
- "line": 999,
+ "line": 1003,
"column": 3
}
},
@@ -331,11 +331,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1004,
+ "line": 1008,
"column": 2
},
"end": {
- "line": 1006,
+ "line": 1010,
"column": 3
}
},
@@ -351,11 +351,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1025,
+ "line": 1029,
"column": 2
},
"end": {
- "line": 1091,
+ "line": 1101,
"column": 3
}
},
@@ -377,11 +377,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1124,
+ "line": 1134,
"column": 2
},
"end": {
- "line": 1135,
+ "line": 1145,
"column": 3
}
},
@@ -400,11 +400,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1096,
+ "line": 1106,
"column": 2
},
"end": {
- "line": 1098,
+ "line": 1108,
"column": 3
}
},
@@ -423,11 +423,11 @@
"metadata": {},
"sourceRange": {
"start": {
- "line": 949,
+ "line": 953,
"column": 0
},
"end": {
- "line": 1136,
+ "line": 1146,
"column": 1
}
},
@@ -446,11 +446,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1107,
+ "line": 1117,
"column": 2
},
"end": {
- "line": 1114,
+ "line": 1124,
"column": 3
}
},
@@ -464,11 +464,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1484,
+ "line": 1494,
"column": 4
},
"end": {
- "line": 1484,
+ "line": 1494,
"column": 17
}
},
@@ -481,11 +481,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1494,
+ "line": 1504,
"column": 4
},
"end": {
- "line": 1494,
+ "line": 1504,
"column": 15
}
},
@@ -498,11 +498,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1506,
+ "line": 1516,
"column": 4
},
"end": {
- "line": 1506,
+ "line": 1516,
"column": 18
}
},
@@ -516,11 +516,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 970,
+ "line": 974,
"column": 2
},
"end": {
- "line": 972,
+ "line": 976,
"column": 3
}
},
@@ -537,11 +537,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1698,
+ "line": 1708,
"column": 2
},
"end": {
- "line": 1706,
+ "line": 1716,
"column": 3
}
},
@@ -569,11 +569,11 @@
"privacy": "protected",
"sourceRange": {
"start": {
- "line": 995,
+ "line": 999,
"column": 2
},
"end": {
- "line": 999,
+ "line": 1003,
"column": 3
}
},
@@ -596,11 +596,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1004,
+ "line": 1008,
"column": 2
},
"end": {
- "line": 1006,
+ "line": 1010,
"column": 3
}
},
@@ -617,11 +617,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1025,
+ "line": 1029,
"column": 2
},
"end": {
- "line": 1091,
+ "line": 1101,
"column": 3
}
},
@@ -644,11 +644,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1124,
+ "line": 1134,
"column": 2
},
"end": {
- "line": 1135,
+ "line": 1145,
"column": 3
}
},
@@ -666,11 +666,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1518,
+ "line": 1528,
"column": 2
},
"end": {
- "line": 1582,
+ "line": 1592,
"column": 3
}
},
@@ -687,11 +687,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1594,
+ "line": 1604,
"column": 2
},
"end": {
- "line": 1599,
+ "line": 1609,
"column": 3
}
},
@@ -713,11 +713,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1606,
+ "line": 1616,
"column": 2
},
"end": {
- "line": 1608,
+ "line": 1618,
"column": 3
}
},
@@ -734,11 +734,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 1729,
+ "line": 1739,
"column": 2
},
"end": {
- "line": 1813,
+ "line": 1823,
"column": 3
}
},
@@ -765,11 +765,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1826,
+ "line": 1836,
"column": 2
},
"end": {
- "line": 1851,
+ "line": 1888,
"column": 3
}
},
@@ -790,11 +790,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1853,
+ "line": 1890,
"column": 2
},
"end": {
- "line": 1873,
+ "line": 1910,
"column": 3
}
},
@@ -811,11 +811,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1875,
+ "line": 1912,
"column": 2
},
"end": {
- "line": 1882,
+ "line": 1919,
"column": 3
}
},
@@ -832,11 +832,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1884,
+ "line": 1921,
"column": 2
},
"end": {
- "line": 1949,
+ "line": 1986,
"column": 3
}
},
@@ -853,11 +853,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1951,
+ "line": 1988,
"column": 2
},
"end": {
- "line": 1963,
+ "line": 2000,
"column": 3
}
},
@@ -883,11 +883,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1965,
+ "line": 2002,
"column": 2
},
"end": {
- "line": 1973,
+ "line": 2010,
"column": 3
}
},
@@ -913,11 +913,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1975,
+ "line": 2012,
"column": 2
},
"end": {
- "line": 1982,
+ "line": 2019,
"column": 3
}
},
@@ -937,11 +937,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1984,
+ "line": 2021,
"column": 2
},
"end": {
- "line": 1986,
+ "line": 2023,
"column": 3
}
},
@@ -958,11 +958,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1988,
+ "line": 2025,
"column": 2
},
"end": {
- "line": 2002,
+ "line": 2039,
"column": 3
}
},
@@ -985,11 +985,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2004,
+ "line": 2041,
"column": 2
},
"end": {
- "line": 2008,
+ "line": 2045,
"column": 3
}
},
@@ -1010,11 +1010,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2010,
+ "line": 2047,
"column": 2
},
"end": {
- "line": 2019,
+ "line": 2056,
"column": 3
}
},
@@ -1037,11 +1037,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2021,
+ "line": 2058,
"column": 2
},
"end": {
- "line": 2037,
+ "line": 2074,
"column": 3
}
},
@@ -1061,11 +1061,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2039,
+ "line": 2076,
"column": 2
},
"end": {
- "line": 2077,
+ "line": 2114,
"column": 3
}
},
@@ -1088,11 +1088,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2079,
+ "line": 2116,
"column": 2
},
"end": {
- "line": 2085,
+ "line": 2122,
"column": 3
}
},
@@ -1108,11 +1108,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2087,
+ "line": 2124,
"column": 2
},
"end": {
- "line": 2093,
+ "line": 2130,
"column": 3
}
},
@@ -1128,11 +1128,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2095,
+ "line": 2132,
"column": 2
},
"end": {
- "line": 2121,
+ "line": 2158,
"column": 3
}
},
@@ -1155,11 +1155,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2123,
+ "line": 2160,
"column": 2
},
"end": {
- "line": 2136,
+ "line": 2173,
"column": 3
}
},
@@ -1179,11 +1179,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2138,
+ "line": 2175,
"column": 2
},
"end": {
- "line": 2160,
+ "line": 2197,
"column": 3
}
},
@@ -1200,11 +1200,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2168,
+ "line": 2205,
"column": 2
},
"end": {
- "line": 2170,
+ "line": 2207,
"column": 3
}
},
@@ -1220,11 +1220,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2176,
+ "line": 2213,
"column": 2
},
"end": {
- "line": 2178,
+ "line": 2215,
"column": 3
}
},
@@ -1240,11 +1240,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 2180,
+ "line": 2217,
"column": 2
},
"end": {
- "line": 2188,
+ "line": 2225,
"column": 3
}
},
@@ -1264,11 +1264,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2229,
+ "line": 2266,
"column": 2
},
"end": {
- "line": 2237,
+ "line": 2274,
"column": 3
}
},
@@ -1295,11 +1295,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2250,
+ "line": 2287,
"column": 2
},
"end": {
- "line": 2255,
+ "line": 2292,
"column": 3
}
},
@@ -1328,11 +1328,11 @@
"privacy": "private",
"sourceRange": {
"start": {
- "line": 1096,
+ "line": 1106,
"column": 2
},
"end": {
- "line": 1098,
+ "line": 1108,
"column": 3
}
},
@@ -1353,11 +1353,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2206,
+ "line": 2243,
"column": 2
},
"end": {
- "line": 2208,
+ "line": 2245,
"column": 3
}
},
@@ -1379,11 +1379,11 @@
"privacy": "public",
"sourceRange": {
"start": {
- "line": 2268,
+ "line": 2305,
"column": 2
},
"end": {
- "line": 2273,
+ "line": 2310,
"column": 3
}
},
@@ -1413,11 +1413,11 @@
"metadata": {},
"sourceRange": {
"start": {
- "line": 1448,
+ "line": 1458,
"column": 0
},
"end": {
- "line": 2274,
+ "line": 2311,
"column": 1
}
},
diff --git a/docs/vaadin-router/demo/demo-shell.html b/docs/vaadin-router/demo/demo-shell.html
index a071440f..c71eeff6 100644
--- a/docs/vaadin-router/demo/demo-shell.html
+++ b/docs/vaadin-router/demo/demo-shell.html
@@ -6900,7 +6900,8 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE.txt file in the root directory of this source tree.
- */function resolveRoute(context){if(isFunction(context.route.action)){return context.route.action(context)}return void 0}function isChildRoute(parentRoute,childRoute){var route=childRoute;while(route){route=route.parent;if(route===parentRoute){return!0}}return!1}function generateErrorMessage(currentContext){var errorMessage="Path '".concat(currentContext.pathname,"' is not properly resolved due to an error."),routePath=(currentContext.route||{}).path;if(routePath){errorMessage+=" Resolution had failed on route: '".concat(routePath,"'")}return errorMessage}function addRouteToChain(context,match){var route=match.route,path=match.path;function shouldDiscardOldChain(oldChain,route){return!route.parent||!oldChain||!oldChain.length||oldChain[oldChain.length-1].route!==route.parent}if(route&&!route.__synthetic){var item={path:path,route:route};if(shouldDiscardOldChain(context.chain,route)){context.chain=[item]}else{context.chain.push(item)}}}/**
+ */function resolveRoute(context){if(isFunction(context.route.action)){return context.route.action(context)}return void 0}function isChildRoute(parentRoute,childRoute){var route=childRoute;while(route){route=route.parent;if(route===parentRoute){return!0}}return!1}function generateErrorMessage(currentContext){var errorMessage="Path '".concat(currentContext.pathname,"' is not properly resolved due to an error."),routePath=(currentContext.route||{}).path;if(routePath){errorMessage+=" Resolution had failed on route: '".concat(routePath,"'")}return errorMessage}function updateChainForRoute(context,match){var route=match.route,path=match.path;if(route&&!route.__synthetic){var item={path:path,route:route};if(!context.chain){context.chain=[]}else{// Discard old items
+if(route.parent){var i=context.chain.length;while(i--&&context.chain[i].route&&context.chain[i].route!==route.parent){context.chain.pop()}}}context.chain.push(item)}}/**
*/var Resolver=/*#__PURE__*/function(){function Resolver(routes){var options=1this.location.pathname
).
this.location
+ If you use Polymer and JavaScript to build your view components,
+ the location
property does not require a declaration.
+ It is recommended to add it to the properties
of your
+ component for consistency, though:
+
static get properties() {
+ return {
+ // ...
+ location: Object
+ };
+}
+
+ For LitElement and TypeScript a declaration in the component is required.
+ Declare the location
property in the class and initialize it
+ from the router
Vaadin Router instance:
+
import {router} from './index';
+import {customElement, html, LitElement, property} from 'lit-element';
+
+@customElement('my-view')
+class MyViewElement extends LitElement {
+ @property({type: Object}) location = router.location;
+
+ render() {
+ return html`
+ Current location URL: ${this.location.getUrl()}
+ `;
+ }
+}
+ This property is automatically updated on navigation.
+If Vaadin Router does not find a matching route, the promise returned
from the render()
method gets rejected, and any content in
diff --git a/docs/vaadin-router/demo/vaadin-router-lifecycle-callbacks-demos.html b/docs/vaadin-router/demo/vaadin-router-lifecycle-callbacks-demos.html
index d120ca35..9160f7cf 100644
--- a/docs/vaadin-router/demo/vaadin-router-lifecycle-callbacks-demos.html
+++ b/docs/vaadin-router/demo/vaadin-router-lifecycle-callbacks-demos.html
@@ -423,6 +423,90 @@
vaadin-router-location-changed
events.
+
+ + For using with components defined as TypeScript classes, the following + interfaces are available for implementing: +
+BeforeEnterObserver
import {
+ BeforeEnterObserver,
+ PreventAndRedirectCommands,
+ Router,
+ RouterLocation
+} from '@vaadin/router';
+
+@customElement('my-view-with-before-enter')
+class MyViewWithBeforeEnter extends LitElement implements BeforeEnterObserver {
+ onBeforeEnter(
+ location: RouterLocation,
+ commands: PreventAndRedirectCommands,
+ router: Router) {
+ // ...
+ }
+}
+ AfterEnterObserver
import {
+ AfterEnterObserver,
+ EmptyCommands,
+ Router,
+ RouterLocation
+} from '@vaadin/router';
+
+@customElement('my-view-with-after-enter')
+class MyViewWithAfterEnter extends LitElement implements AfterEnterObserver {
+ onAfterEnter(
+ location: RouterLocation,
+ commands: EmptyCommands,
+ router: Router) {
+ // ...
+ }
+}
+ BeforeLeaveObserver
import {
+ BeforeLeaveObserver,
+ PreventCommands,
+ Router,
+ RouterLocation
+} from '@vaadin/router';
+
+@customElement('my-view-with-before-leave')
+class MyViewWithBeforeLeave extends LitElement implements BeforeLeaveObserver {
+ onBeforeLeave(
+ location: RouterLocation,
+ commands: PreventCommands,
+ router: Router) {
+ // ...
+ }
+}
+ AfterLeaveObserver
import {
+ AfterLeaveObserver,
+ EmptyCommands,
+ Router,
+ RouterLocation
+} from '@vaadin/router';
+
+@customElement('my-view-with-after-leave')
+class MyViewWithAfterLeave extends LitElement implements AfterLeaveObserver {
+ onAfterLeave(
+ location: RouterLocation,
+ commands: EmptyCommands,
+ router: Router) {
+ // ...
+ }
+}
+