@livetemplate/client 0.8.29 → 0.8.30
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/dom/hash-link.d.ts +20 -0
- package/dist/dom/hash-link.d.ts.map +1 -0
- package/dist/dom/hash-link.js +194 -0
- package/dist/dom/hash-link.js.map +1 -0
- package/dist/dom/invoker-polyfill.d.ts +2 -2
- package/dist/dom/invoker-polyfill.d.ts.map +1 -1
- package/dist/dom/invoker-polyfill.js +20 -7
- package/dist/dom/invoker-polyfill.js.map +1 -1
- package/dist/dom/link-interceptor.d.ts.map +1 -1
- package/dist/dom/link-interceptor.js +9 -3
- package/dist/dom/link-interceptor.js.map +1 -1
- package/dist/livetemplate-client.browser.js +5 -5
- package/dist/livetemplate-client.browser.js.map +4 -4
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +16 -0
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/tests/hash-link.test.d.ts +2 -0
- package/dist/tests/hash-link.test.d.ts.map +1 -0
- package/dist/tests/hash-link.test.js +350 -0
- package/dist/tests/hash-link.test.js.map +1 -0
- package/dist/tests/invoker-polyfill.test.js +83 -1
- package/dist/tests/invoker-polyfill.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hash-driven element activation (deep-linking).
|
|
3
|
+
*
|
|
4
|
+
* Synchronizes the URL hash fragment with the open/close state of
|
|
5
|
+
* <dialog>, [popover], and <details> elements. When the hash matches
|
|
6
|
+
* an element's ID, the element is activated (showModal, showPopover,
|
|
7
|
+
* or open=true). When the element deactivates, the hash is cleared.
|
|
8
|
+
*
|
|
9
|
+
* Uses history.pushState (not location.hash) to avoid triggering
|
|
10
|
+
* hashchange events that could cause double-activation errors.
|
|
11
|
+
*/
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare function safeMatchesPopoverOpen(el: HTMLElement): boolean;
|
|
14
|
+
export declare function openFromHash(): void;
|
|
15
|
+
export declare function isHashLinkTarget(id: string): boolean;
|
|
16
|
+
export declare function activateHashTarget(id: string): void;
|
|
17
|
+
export declare function setupHashLink(): void;
|
|
18
|
+
/** @internal Remove all hash-link event listeners. */
|
|
19
|
+
export declare function teardownHashLink(): void;
|
|
20
|
+
//# sourceMappingURL=hash-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash-link.d.ts","sourceRoot":"","sources":["../../dom/hash-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAM/D;AA2HD,wBAAgB,YAAY,IAAI,IAAI,CAYnC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIpD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CASnD;AAID,wBAAgB,aAAa,IAAI,IAAI,CAUpC;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Hash-driven element activation (deep-linking).
|
|
4
|
+
*
|
|
5
|
+
* Synchronizes the URL hash fragment with the open/close state of
|
|
6
|
+
* <dialog>, [popover], and <details> elements. When the hash matches
|
|
7
|
+
* an element's ID, the element is activated (showModal, showPopover,
|
|
8
|
+
* or open=true). When the element deactivates, the hash is cleared.
|
|
9
|
+
*
|
|
10
|
+
* Uses history.pushState (not location.hash) to avoid triggering
|
|
11
|
+
* hashchange events that could cause double-activation errors.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.safeMatchesPopoverOpen = safeMatchesPopoverOpen;
|
|
15
|
+
exports.openFromHash = openFromHash;
|
|
16
|
+
exports.isHashLinkTarget = isHashLinkTarget;
|
|
17
|
+
exports.activateHashTarget = activateHashTarget;
|
|
18
|
+
exports.setupHashLink = setupHashLink;
|
|
19
|
+
exports.teardownHashLink = teardownHashLink;
|
|
20
|
+
/** @internal */
|
|
21
|
+
function safeMatchesPopoverOpen(el) {
|
|
22
|
+
try {
|
|
23
|
+
return el.matches(":popover-open");
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const handlers = [
|
|
30
|
+
{
|
|
31
|
+
matches: (el) => el instanceof HTMLDialogElement,
|
|
32
|
+
isOpen: (el) => el.open,
|
|
33
|
+
open: (el) => el.showModal(),
|
|
34
|
+
close: (el) => el.close(),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
matches: (el) => el instanceof HTMLElement && el.hasAttribute("popover"),
|
|
38
|
+
isOpen: (el) => safeMatchesPopoverOpen(el),
|
|
39
|
+
open: (el) => {
|
|
40
|
+
if (typeof el.showPopover === "function")
|
|
41
|
+
el.showPopover();
|
|
42
|
+
},
|
|
43
|
+
close: (el) => {
|
|
44
|
+
if (typeof el.hidePopover === "function")
|
|
45
|
+
el.hidePopover();
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
matches: (el) => el instanceof HTMLDetailsElement,
|
|
50
|
+
isOpen: (el) => el.open,
|
|
51
|
+
open: (el) => {
|
|
52
|
+
el.open = true;
|
|
53
|
+
},
|
|
54
|
+
close: (el) => {
|
|
55
|
+
el.open = false;
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
function findHandler(el) {
|
|
60
|
+
return handlers.find((h) => h.matches(el));
|
|
61
|
+
}
|
|
62
|
+
const SHOW_COMMANDS = new Set(["show-modal", "show-popover"]);
|
|
63
|
+
function handleClick(e) {
|
|
64
|
+
const el = e.target;
|
|
65
|
+
if (!el || !(el instanceof Element))
|
|
66
|
+
return;
|
|
67
|
+
const button = el.closest("button[command][commandfor]");
|
|
68
|
+
if (!button || button.disabled)
|
|
69
|
+
return;
|
|
70
|
+
const command = button.getAttribute("command");
|
|
71
|
+
if (!command)
|
|
72
|
+
return;
|
|
73
|
+
const targetId = button.getAttribute("commandfor");
|
|
74
|
+
if (!targetId)
|
|
75
|
+
return;
|
|
76
|
+
const target = document.getElementById(targetId);
|
|
77
|
+
if (!target)
|
|
78
|
+
return;
|
|
79
|
+
const handler = findHandler(target);
|
|
80
|
+
if (!handler)
|
|
81
|
+
return;
|
|
82
|
+
if (SHOW_COMMANDS.has(command)) {
|
|
83
|
+
if (location.hash === "#" + targetId)
|
|
84
|
+
return;
|
|
85
|
+
history.pushState(null, "", "#" + targetId);
|
|
86
|
+
}
|
|
87
|
+
else if (command === "toggle-popover" && !handler.isOpen(target)) {
|
|
88
|
+
if (location.hash === "#" + targetId)
|
|
89
|
+
return;
|
|
90
|
+
history.pushState(null, "", "#" + targetId);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function handleClose(e) {
|
|
94
|
+
const el = e.target;
|
|
95
|
+
if (!(el instanceof Element))
|
|
96
|
+
return;
|
|
97
|
+
if (!el.id)
|
|
98
|
+
return;
|
|
99
|
+
if (!findHandler(el))
|
|
100
|
+
return;
|
|
101
|
+
if (location.hash !== "#" + el.id)
|
|
102
|
+
return;
|
|
103
|
+
history.replaceState(null, "", location.pathname + location.search);
|
|
104
|
+
}
|
|
105
|
+
function handleToggle(e) {
|
|
106
|
+
const el = e.target;
|
|
107
|
+
if (!(el instanceof Element))
|
|
108
|
+
return;
|
|
109
|
+
if (!el.id)
|
|
110
|
+
return;
|
|
111
|
+
const handler = findHandler(el);
|
|
112
|
+
if (!handler)
|
|
113
|
+
return;
|
|
114
|
+
if (handler.isOpen(el)) {
|
|
115
|
+
if (location.hash === "#" + el.id)
|
|
116
|
+
return;
|
|
117
|
+
history.pushState(null, "", "#" + el.id);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
if (location.hash !== "#" + el.id)
|
|
121
|
+
return;
|
|
122
|
+
history.replaceState(null, "", location.pathname + location.search);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function handlePopstate() {
|
|
126
|
+
const id = location.hash.slice(1);
|
|
127
|
+
// Only close dialogs/popovers — details elements are independent
|
|
128
|
+
// (multiple can be open at once) and should not be swept closed.
|
|
129
|
+
document.querySelectorAll("dialog, [popover]").forEach((el) => {
|
|
130
|
+
const handler = findHandler(el);
|
|
131
|
+
if (handler && handler.isOpen(el) && el.id !== id)
|
|
132
|
+
handler.close(el);
|
|
133
|
+
});
|
|
134
|
+
if (id) {
|
|
135
|
+
const el = document.getElementById(id);
|
|
136
|
+
if (el) {
|
|
137
|
+
const handler = findHandler(el);
|
|
138
|
+
if (handler && !handler.isOpen(el))
|
|
139
|
+
handler.open(el);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function openFromHash() {
|
|
144
|
+
const id = location.hash.slice(1);
|
|
145
|
+
if (!id)
|
|
146
|
+
return;
|
|
147
|
+
const el = document.getElementById(id);
|
|
148
|
+
if (!el)
|
|
149
|
+
return;
|
|
150
|
+
const handler = findHandler(el);
|
|
151
|
+
if (!handler)
|
|
152
|
+
return;
|
|
153
|
+
if (handler.isOpen(el))
|
|
154
|
+
return;
|
|
155
|
+
handler.open(el);
|
|
156
|
+
}
|
|
157
|
+
function isHashLinkTarget(id) {
|
|
158
|
+
const el = document.getElementById(id);
|
|
159
|
+
if (!el)
|
|
160
|
+
return false;
|
|
161
|
+
return !!findHandler(el);
|
|
162
|
+
}
|
|
163
|
+
function activateHashTarget(id) {
|
|
164
|
+
const el = document.getElementById(id);
|
|
165
|
+
if (!el)
|
|
166
|
+
return;
|
|
167
|
+
const handler = findHandler(el);
|
|
168
|
+
if (!handler || handler.isOpen(el))
|
|
169
|
+
return;
|
|
170
|
+
history.pushState(null, "", "#" + id);
|
|
171
|
+
handler.open(el);
|
|
172
|
+
}
|
|
173
|
+
let installed = false;
|
|
174
|
+
function setupHashLink() {
|
|
175
|
+
if (installed)
|
|
176
|
+
return;
|
|
177
|
+
installed = true;
|
|
178
|
+
document.addEventListener("click", handleClick);
|
|
179
|
+
document.addEventListener("close", handleClose, true);
|
|
180
|
+
document.addEventListener("toggle", handleToggle, true);
|
|
181
|
+
window.addEventListener("popstate", handlePopstate);
|
|
182
|
+
openFromHash();
|
|
183
|
+
}
|
|
184
|
+
/** @internal Remove all hash-link event listeners. */
|
|
185
|
+
function teardownHashLink() {
|
|
186
|
+
if (!installed)
|
|
187
|
+
return;
|
|
188
|
+
installed = false;
|
|
189
|
+
document.removeEventListener("click", handleClick);
|
|
190
|
+
document.removeEventListener("close", handleClose, true);
|
|
191
|
+
document.removeEventListener("toggle", handleToggle, true);
|
|
192
|
+
window.removeEventListener("popstate", handlePopstate);
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=hash-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash-link.js","sourceRoot":"","sources":["../../dom/hash-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Polyfill for the HTML Invoker Commands API (command/commandfor).
|
|
3
|
-
* Enables <button command="show-modal" commandfor="dialog-id">
|
|
4
|
-
* cross-browser
|
|
3
|
+
* Enables <button command="show-modal" commandfor="dialog-id"> and
|
|
4
|
+
* popover commands to work cross-browser.
|
|
5
5
|
*
|
|
6
6
|
* No-op when native support is detected.
|
|
7
7
|
* Spec: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/command
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoker-polyfill.d.ts","sourceRoot":"","sources":["../../dom/invoker-polyfill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"invoker-polyfill.d.ts","sourceRoot":"","sources":["../../dom/invoker-polyfill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Polyfill for the HTML Invoker Commands API (command/commandfor).
|
|
4
|
-
* Enables <button command="show-modal" commandfor="dialog-id">
|
|
5
|
-
* cross-browser
|
|
4
|
+
* Enables <button command="show-modal" commandfor="dialog-id"> and
|
|
5
|
+
* popover commands to work cross-browser.
|
|
6
6
|
*
|
|
7
7
|
* No-op when native support is detected.
|
|
8
8
|
* Spec: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/command
|
|
@@ -23,13 +23,26 @@ function handleClick(e) {
|
|
|
23
23
|
return;
|
|
24
24
|
const command = button.getAttribute("command");
|
|
25
25
|
const target = document.getElementById(targetId);
|
|
26
|
-
if (!target
|
|
26
|
+
if (!target)
|
|
27
27
|
return;
|
|
28
|
-
if (
|
|
29
|
-
target.
|
|
28
|
+
if (target instanceof HTMLDialogElement) {
|
|
29
|
+
if (command === "show-modal" && !target.open) {
|
|
30
|
+
target.showModal();
|
|
31
|
+
}
|
|
32
|
+
else if (command === "close" && target.open) {
|
|
33
|
+
target.close();
|
|
34
|
+
}
|
|
30
35
|
}
|
|
31
|
-
else if (
|
|
32
|
-
target.
|
|
36
|
+
else if (target instanceof HTMLElement && target.hasAttribute("popover")) {
|
|
37
|
+
if (command === "show-popover" && typeof target.showPopover === "function") {
|
|
38
|
+
target.showPopover();
|
|
39
|
+
}
|
|
40
|
+
else if (command === "hide-popover" && typeof target.hidePopover === "function") {
|
|
41
|
+
target.hidePopover();
|
|
42
|
+
}
|
|
43
|
+
else if (command === "toggle-popover" && typeof target.togglePopover === "function") {
|
|
44
|
+
target.togglePopover();
|
|
45
|
+
}
|
|
33
46
|
}
|
|
34
47
|
}
|
|
35
48
|
function setupInvokerPolyfill() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoker-polyfill.js","sourceRoot":"","sources":["../../dom/invoker-polyfill.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"invoker-polyfill.js","sourceRoot":"","sources":["../../dom/invoker-polyfill.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAmCH,oDAMC;AAGD,0DAKC;AA/CD,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,SAAS,WAAW,CAAC,CAAQ;IAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,OAAO,CAAC;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAA6B,CAAC;IAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO;IAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3E,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAClF,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACtF,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB;IAClC,IAAI,mBAAmB,IAAI,iBAAiB,CAAC,SAAS;QAAE,OAAO;IAC/D,IAAI,SAAS;QAAE,OAAO;IAEtB,SAAS,GAAG,IAAI,CAAC;IACjB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,oFAAoF;AACpF,SAAgB,uBAAuB;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-interceptor.d.ts","sourceRoot":"","sources":["../../dom/link-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"link-interceptor.d.ts","sourceRoot":"","sources":["../../dom/link-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAO7C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAKpC,eAAe,IAAI,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;IAaxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAgC;IAQvD,OAAO,CAAC,WAAW,CAAgC;gBAGhC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,MAAM;IAGjC;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmBlD,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAsD7B,OAAO,CAAC,UAAU;YAsBJ,QAAQ;CA6FvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LinkInterceptor = void 0;
|
|
4
|
+
const hash_link_1 = require("./hash-link");
|
|
4
5
|
/**
|
|
5
6
|
* Intercepts <a> clicks within the LiveTemplate wrapper for SPA navigation.
|
|
6
7
|
*
|
|
@@ -78,6 +79,14 @@ class LinkInterceptor {
|
|
|
78
79
|
return;
|
|
79
80
|
if (this.shouldSkip(target))
|
|
80
81
|
return;
|
|
82
|
+
if (target.pathname === window.location.pathname && target.search === window.location.search && target.hash) {
|
|
83
|
+
const hashId = target.hash.slice(1);
|
|
84
|
+
if (hashId && (0, hash_link_1.isHashLinkTarget)(hashId)) {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
(0, hash_link_1.activateHashTarget)(hashId);
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
81
90
|
e.preventDefault();
|
|
82
91
|
this.navigate(target.href);
|
|
83
92
|
};
|
|
@@ -110,9 +119,6 @@ class LinkInterceptor {
|
|
|
110
119
|
// Opt-out attribute for link interception
|
|
111
120
|
if (link.hasAttribute("lvt-nav:no-intercept"))
|
|
112
121
|
return true;
|
|
113
|
-
// Hash-only links (scroll anchors)
|
|
114
|
-
if (link.pathname === window.location.pathname && link.hash)
|
|
115
|
-
return true;
|
|
116
122
|
// mailto/tel/javascript
|
|
117
123
|
const protocol = link.protocol;
|
|
118
124
|
if (protocol !== "http:" && protocol !== "https:")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-interceptor.js","sourceRoot":"","sources":["../../dom/link-interceptor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"link-interceptor.js","sourceRoot":"","sources":["../../dom/link-interceptor.ts"],"names":[],"mappings":";;;AACA,2CAAmE;AAmBnE;;;;;;;;;;;;;GAaG;AACH,MAAa,eAAe;IAY1B,YACmB,OAA+B,EAC/B,MAAc;QADd,YAAO,GAAP,OAAO,CAAwB;QAC/B,WAAM,GAAN,MAAM,CAAQ;QAbzB,qBAAgB,GAAwB,IAAI,CAAC;QAC7C,oBAAe,GAA2B,IAAI,CAAC;QACvD,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,2EAA2E;QAC3E,mEAAmE;QACnE,gEAAgE;QACxD,gBAAW,GAAW,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAKhD,CAAC;IAEJ;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAwB;QACzC,qEAAqE;QACrE,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,WAAW,GAAG,wBAAwB,SAAS,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,qDAAqD;YACrD,yDAAyD;YACzD,uBAAuB;YACvB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvD,OAAQ,QAAgB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAgB;QACpB,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAExC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,wBAAwB,SAAS,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAI,CAAC,CAAC,MAAkB,EAAE,OAAO,CAAC,SAAS,CAA6B,CAAC;YACrF,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAEhE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO;YAEpC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5G,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,MAAM,IAAI,IAAA,4BAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAA,8BAAkB,EAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,QAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAE1C,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE;gBAC3B,mEAAmE;gBACnE,sEAAsE;gBACtE,uEAAuE;gBACvE,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAuB;QACxC,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACxD,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACxD,iBAAiB;QACjB,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kEAAkE;IAClE,wEAAwE;IACxE,kEAAkE;IAClE,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IAC7D,KAAK,CAAC,QAAQ,CACpB,IAAY,EACZ,YAAqB,IAAI,EACzB,WAAmB,MAAM,CAAC,QAAQ,CAAC,IAAI;QAEvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAClC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;YACtD,IAAI,UAAU,EAAE,CAAC;gBACf,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,oEAAoE;gBACpE,sEAAsE;gBACtE,EAAE;gBACF,gEAAgE;gBAChE,iEAAiE;gBACjE,6DAA6D;gBAC7D,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,uEAAuE;YACvE,mEAAmE;YACnE,sEAAsE;YACtE,mEAAmE;YACnE,0CAA0C;YAC1C,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBAChD,gEAAgE;gBAChE,iEAAiE;gBACjE,8DAA8D;gBAC9D,mEAAmE;gBACnE,+BAA+B;gBAC/B,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,iEAAiE;gBACjE,6DAA6D;gBAC7D,4CAA4C;gBAC5C,iEAAiE;gBACjE,iEAAiE;gBACjE,6DAA6D;gBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,mEAAmE;YACrE,CAAC;YACD,oEAAoE;YACpE,iEAAiE;QACnE,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;gBACjC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;gBAChC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,4DAA4D;YAC5D,0DAA0D;YAC1D,6DAA6D;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,iEAAiE;YACjE,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO;YACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAtND,0CAsNC"}
|