@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.
@@ -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"}
@@ -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":"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"}
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;IAoE7B,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"}
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 (!wasFocused) {
111
- element.focus();
112
- this.logger.debug("[Focus] Restored focus");
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
- this.lastFocusedSelectionStart !== null &&
116
- this.lastFocusedSelectionEnd !== null) {
117
- element.setSelectionRange(this.lastFocusedSelectionStart, this.lastFocusedSelectionEnd);
118
- this.logger.debug("[Focus] Restored cursor:", this.lastFocusedSelectionStart, "-", this.lastFocusedSelectionEnd);
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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"}