@livetemplate/client 0.8.9 → 0.8.12
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/directives.d.ts +10 -0
- package/dist/dom/directives.d.ts.map +1 -1
- package/dist/dom/directives.js +130 -0
- package/dist/dom/directives.js.map +1 -1
- package/dist/dom/focus-manager.d.ts.map +1 -1
- package/dist/dom/focus-manager.js +14 -7
- package/dist/dom/focus-manager.js.map +1 -1
- package/dist/livetemplate-client.browser.js +4 -4
- package/dist/livetemplate-client.browser.js.map +3 -3
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +4 -0
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/state/change-auto-wirer.d.ts.map +1 -1
- package/dist/state/change-auto-wirer.js +23 -1
- package/dist/state/change-auto-wirer.js.map +1 -1
- package/dist/tests/change-auto-wirer.test.js +141 -7
- package/dist/tests/change-auto-wirer.test.js.map +1 -1
- package/dist/tests/focus-manager.test.js +47 -0
- package/dist/tests/focus-manager.test.js.map +1 -1
- package/package.json +1 -1
package/dist/dom/directives.d.ts
CHANGED
|
@@ -10,4 +10,14 @@ export declare function handleHighlightDirectives(rootElement: Element): void;
|
|
|
10
10
|
* Apply animation directives to elements with lvt-animate attributes.
|
|
11
11
|
*/
|
|
12
12
|
export declare function handleAnimateDirectives(rootElement: Element): void;
|
|
13
|
+
/**
|
|
14
|
+
* Read data-pending toast messages from server trigger elements and create
|
|
15
|
+
* client-managed toast DOM. Called after each LiveTemplate DOM update.
|
|
16
|
+
*/
|
|
17
|
+
export declare function handleToastDirectives(rootElement: Element): void;
|
|
18
|
+
/**
|
|
19
|
+
* Set up a document click listener that dismisses all visible toasts when
|
|
20
|
+
* the user clicks outside the toast stack. Called once at connect time.
|
|
21
|
+
*/
|
|
22
|
+
export declare function setupToastClickOutside(): void;
|
|
13
23
|
//# sourceMappingURL=directives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAqDjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CA4BpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAyElE"}
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAqDjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CA4BpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAyElE;AAkBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CA4BhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C"}
|
package/dist/dom/directives.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleScrollDirectives = handleScrollDirectives;
|
|
4
4
|
exports.handleHighlightDirectives = handleHighlightDirectives;
|
|
5
5
|
exports.handleAnimateDirectives = handleAnimateDirectives;
|
|
6
|
+
exports.handleToastDirectives = handleToastDirectives;
|
|
7
|
+
exports.setupToastClickOutside = setupToastClickOutside;
|
|
6
8
|
/**
|
|
7
9
|
* Apply scroll directives on elements with lvt-scroll attributes.
|
|
8
10
|
*/
|
|
@@ -134,4 +136,132 @@ function handleAnimateDirectives(rootElement) {
|
|
|
134
136
|
document.head.appendChild(style);
|
|
135
137
|
}
|
|
136
138
|
}
|
|
139
|
+
// Key used to store the last processed data-pending value on each trigger element.
|
|
140
|
+
// Prevents showing the same batch of toasts twice if handleToastDirectives is
|
|
141
|
+
// called multiple times within a single update cycle (e.g. from multiple patches).
|
|
142
|
+
const PENDING_PROCESSED_KEY = "__lvtPendingProcessed";
|
|
143
|
+
/**
|
|
144
|
+
* Read data-pending toast messages from server trigger elements and create
|
|
145
|
+
* client-managed toast DOM. Called after each LiveTemplate DOM update.
|
|
146
|
+
*/
|
|
147
|
+
function handleToastDirectives(rootElement) {
|
|
148
|
+
rootElement
|
|
149
|
+
.querySelectorAll("[data-toast-trigger]")
|
|
150
|
+
.forEach((trigger) => {
|
|
151
|
+
const pending = trigger.getAttribute("data-pending");
|
|
152
|
+
if (!pending)
|
|
153
|
+
return;
|
|
154
|
+
// Skip if this exact batch was already processed (handles multi-patch calls)
|
|
155
|
+
if (trigger[PENDING_PROCESSED_KEY] === pending)
|
|
156
|
+
return;
|
|
157
|
+
trigger[PENDING_PROCESSED_KEY] = pending;
|
|
158
|
+
let messages;
|
|
159
|
+
try {
|
|
160
|
+
messages = JSON.parse(pending);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (!Array.isArray(messages) || !messages.length)
|
|
166
|
+
return;
|
|
167
|
+
const position = trigger.getAttribute("data-position") || "top-right";
|
|
168
|
+
const stack = getOrCreateToastStack(position);
|
|
169
|
+
messages.forEach((msg) => {
|
|
170
|
+
const el = createToastElement(msg);
|
|
171
|
+
stack.appendChild(el);
|
|
172
|
+
if (typeof msg.dismissMS === "number" && msg.dismissMS > 0) {
|
|
173
|
+
setTimeout(() => el.remove(), msg.dismissMS);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Set up a document click listener that dismisses all visible toasts when
|
|
180
|
+
* the user clicks outside the toast stack. Called once at connect time.
|
|
181
|
+
*/
|
|
182
|
+
function setupToastClickOutside() {
|
|
183
|
+
const key = "__lvt_toast_click_outside";
|
|
184
|
+
const existing = document[key];
|
|
185
|
+
if (existing)
|
|
186
|
+
document.removeEventListener("click", existing);
|
|
187
|
+
const listener = (e) => {
|
|
188
|
+
const stack = document.querySelector("[data-lvt-toast-stack]");
|
|
189
|
+
if (!stack || stack.contains(e.target))
|
|
190
|
+
return;
|
|
191
|
+
stack.querySelectorAll("[data-lvt-toast-item]").forEach((el) => el.remove());
|
|
192
|
+
};
|
|
193
|
+
document[key] = listener;
|
|
194
|
+
document.addEventListener("click", listener);
|
|
195
|
+
}
|
|
196
|
+
function getOrCreateToastStack(position) {
|
|
197
|
+
let stack = document.querySelector("[data-lvt-toast-stack]");
|
|
198
|
+
if (!stack) {
|
|
199
|
+
stack = document.createElement("div");
|
|
200
|
+
stack.setAttribute("data-lvt-toast-stack", "");
|
|
201
|
+
stack.setAttribute("aria-live", "polite");
|
|
202
|
+
applyPositionStyles(stack, position);
|
|
203
|
+
document.body.appendChild(stack);
|
|
204
|
+
}
|
|
205
|
+
return stack;
|
|
206
|
+
}
|
|
207
|
+
function applyPositionStyles(stack, position) {
|
|
208
|
+
const s = stack.style;
|
|
209
|
+
switch (position) {
|
|
210
|
+
case "top-left":
|
|
211
|
+
s.top = "1rem";
|
|
212
|
+
s.left = "1rem";
|
|
213
|
+
break;
|
|
214
|
+
case "top-center":
|
|
215
|
+
s.top = "1rem";
|
|
216
|
+
s.left = "50%";
|
|
217
|
+
s.transform = "translateX(-50%)";
|
|
218
|
+
break;
|
|
219
|
+
case "bottom-right":
|
|
220
|
+
s.bottom = "1rem";
|
|
221
|
+
s.right = "1rem";
|
|
222
|
+
break;
|
|
223
|
+
case "bottom-left":
|
|
224
|
+
s.bottom = "1rem";
|
|
225
|
+
s.left = "1rem";
|
|
226
|
+
break;
|
|
227
|
+
case "bottom-center":
|
|
228
|
+
s.bottom = "1rem";
|
|
229
|
+
s.left = "50%";
|
|
230
|
+
s.transform = "translateX(-50%)";
|
|
231
|
+
break;
|
|
232
|
+
default: // top-right
|
|
233
|
+
s.top = "1rem";
|
|
234
|
+
s.right = "1rem";
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function createToastElement(msg) {
|
|
239
|
+
const el = document.createElement("div");
|
|
240
|
+
el.setAttribute("role", "alert");
|
|
241
|
+
el.setAttribute("data-lvt-toast-item", msg.id);
|
|
242
|
+
if (msg.type)
|
|
243
|
+
el.setAttribute("data-type", msg.type);
|
|
244
|
+
const inner = document.createElement("div");
|
|
245
|
+
inner.setAttribute("data-lvt-toast-content", "");
|
|
246
|
+
if (msg.title) {
|
|
247
|
+
const t = document.createElement("strong");
|
|
248
|
+
t.textContent = msg.title;
|
|
249
|
+
inner.appendChild(t);
|
|
250
|
+
}
|
|
251
|
+
if (msg.body) {
|
|
252
|
+
const b = document.createElement("p");
|
|
253
|
+
b.textContent = msg.body;
|
|
254
|
+
inner.appendChild(b);
|
|
255
|
+
}
|
|
256
|
+
el.appendChild(inner);
|
|
257
|
+
if (msg.dismissible) {
|
|
258
|
+
const btn = document.createElement("button");
|
|
259
|
+
btn.type = "button";
|
|
260
|
+
btn.setAttribute("aria-label", "Dismiss");
|
|
261
|
+
btn.textContent = "×";
|
|
262
|
+
btn.addEventListener("click", () => el.remove());
|
|
263
|
+
el.appendChild(btn);
|
|
264
|
+
}
|
|
265
|
+
return el;
|
|
266
|
+
}
|
|
137
267
|
//# sourceMappingURL=directives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":";;AAGA,wDAqDC;AAKD,8DA4BC;AAKD,0DAyEC;
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":";;AAGA,wDAqDC;AAKD,8DA4BC;AAKD,0DAyEC;AAsBD,sDA4BC;AAMD,wDAWC;AA1OD;;GAEG;AACH,SAAgB,sBAAsB,CAAC,WAAoB;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEpE,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,OAAsB,CAAC;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GACX,WAAW,CAAC,YAAY,CAAC,qBAAqB,CAAoB;YACnE,MAAM,CAAC;QACT,MAAM,SAAS,GAAG,QAAQ,CACxB,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,KAAK,EACzD,EAAE,CACH,CAAC;QAEF,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,WAAW,CAAC,QAAQ,CAAC;oBACnB,GAAG,EAAE,WAAW,CAAC,YAAY;oBAC7B,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,YAAY,GAChB,WAAW,CAAC,YAAY;oBACtB,WAAW,CAAC,SAAS;oBACrB,WAAW,CAAC,YAAY;oBAC1B,SAAS,CAAC;gBACZ,IAAI,YAAY,EAAE,CAAC;oBACjB,WAAW,CAAC,QAAQ,CAAC;wBACnB,GAAG,EAAE,WAAW,CAAC,YAAY;wBAC7B,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,KAAK;gBACR,WAAW,CAAC,QAAQ,CAAC;oBACnB,GAAG,EAAE,CAAC;oBACN,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,MAAM;YAER;gBACE,OAAO,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,WAAoB;IAC5D,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAE1E,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CACvB,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,KAAK,EACvD,EAAE,CACH,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAC;QAEvE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,WAAW,GAAG,OAAsB,CAAC;QAC3C,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC;QAC7D,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;QAExD,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,oBAAoB,QAAQ,aAAa,CAAC;QACzE,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;QAE1C,UAAU,CAAC,GAAG,EAAE;YACd,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,kBAAkB,CAAC;YAEvD,UAAU,CAAC,GAAG,EAAE;gBACd,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC;YACpD,CAAC,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,WAAoB;IAC1D,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAEtE,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,QAAQ,CACvB,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,KAAK,EACrD,EAAE,CACH,CAAC;QAEF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,WAAW,GAAG,OAAsB,CAAC;QAE3C,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;QAEzE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,kDAAkD,CAAC;gBACjF,MAAM;YAER,KAAK,OAAO;gBACV,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,mDAAmD,CAAC;gBAClF,MAAM;YAER,KAAK,OAAO;gBACV,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,mDAAmD,CAAC;gBAClF,MAAM;YAER;gBACE,OAAO,CAAC,IAAI,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,WAAW,CAAC,gBAAgB,CAC1B,cAAc,EACd,GAAG,EAAE;YACH,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACnC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,oBAAoB,CAAC;QAChC,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;KAyBnB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAaD,mFAAmF;AACnF,8EAA8E;AAC9E,mFAAmF;AACnF,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,WAAoB;IACxD,WAAW;SACR,gBAAgB,CAAc,sBAAsB,CAAC;SACrD,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,6EAA6E;QAC7E,IAAK,OAAe,CAAC,qBAAqB,CAAC,KAAK,OAAO;YAAE,OAAO;QAC/D,OAAe,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAElD,IAAI,QAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAEzD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC;QACtE,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACnC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC3D,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,MAAM,GAAG,GAAG,2BAA2B,CAAC;IACxC,MAAM,QAAQ,GAAI,QAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO;QACvD,KAAK,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;IACD,QAAgB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAChC,wBAAwB,CACH,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkB,EAAE,QAAgB;IAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACtB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YAAC,MAAM;QACzC,KAAK,YAAY;YACf,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YAAC,CAAC,CAAC,SAAS,GAAG,kBAAkB,CAAC;YAAC,MAAM;QAC1E,KAAK,cAAc;YACjB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;YAAC,MAAM;QAC7C,KAAK,aAAa;YAChB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YAAC,MAAM;QAC5C,KAAK,eAAe;YAClB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YAAC,CAAC,CAAC,SAAS,GAAG,kBAAkB,CAAC;YAAC,MAAM;QAC7E,SAAS,YAAY;YACnB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC;YAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;YAAC,MAAM;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAiB;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,GAAG,CAAC,IAAI;QAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,YAAY,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAEjD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEtB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;QACpB,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1C,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;QACtB,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-manager.d.ts","sourceRoot":"","sources":["../../dom/focus-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,YAAY;IAOX,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,uBAAuB,CAAuB;gBAEzB,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAWrC,KAAK,IAAI,IAAI;IAQb,uBAAuB,IAAI,IAAI;IAkB/B,kBAAkB,IAAI,IAAI;IA0D1B,qBAAqB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"focus-manager.d.ts","sourceRoot":"","sources":["../../dom/focus-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,YAAY;IAOX,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,yBAAyB,CAAuB;IACxD,OAAO,CAAC,uBAAuB,CAAuB;gBAEzB,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAWrC,KAAK,IAAI,IAAI;IAQb,uBAAuB,IAAI,IAAI;IAkB/B,kBAAkB,IAAI,IAAI;IA0D1B,qBAAqB,IAAI,IAAI;IA4E7B,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,gBAAgB,GAAG,mBAAmB;IAQzE,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAoBtC,qBAAqB,IAAI,WAAW,GAAG,IAAI;IAI3C,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -107,15 +107,22 @@ class FocusManager {
|
|
|
107
107
|
}
|
|
108
108
|
const wasFocused = element.matches(":focus");
|
|
109
109
|
this.logger.debug("[Focus] Already focused:", wasFocused);
|
|
110
|
-
if (
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
if (wasFocused) {
|
|
111
|
+
this.logger.debug("[Focus] Element retained focus — skipping restoration");
|
|
112
|
+
return;
|
|
113
113
|
}
|
|
114
|
+
// Capture selection before focus() — the focus event listener fires
|
|
115
|
+
// synchronously and overwrites lastFocusedSelection* with the new
|
|
116
|
+
// element's current (wrong) cursor position.
|
|
117
|
+
const selectionStart = this.lastFocusedSelectionStart;
|
|
118
|
+
const selectionEnd = this.lastFocusedSelectionEnd;
|
|
119
|
+
element.focus();
|
|
120
|
+
this.logger.debug("[Focus] Restored focus");
|
|
114
121
|
if (this.isTextualInput(element) &&
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
element.setSelectionRange(
|
|
118
|
-
this.logger.debug("[Focus] Restored cursor:",
|
|
122
|
+
selectionStart !== null &&
|
|
123
|
+
selectionEnd !== null) {
|
|
124
|
+
element.setSelectionRange(selectionStart, selectionEnd);
|
|
125
|
+
this.logger.debug("[Focus] Restored cursor:", selectionStart, "-", selectionEnd);
|
|
119
126
|
}
|
|
120
127
|
}
|
|
121
128
|
isTextualInput(el) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-manager.js","sourceRoot":"","sources":["../../dom/focus-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"focus-manager.js","sourceRoot":"","sources":["../../dom/focus-manager.ts"],"names":[],"mappings":"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"}
|