@floegence/floeterm-terminal-web 0.5.22 → 0.5.24

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.
@@ -34,13 +34,6 @@ const createSuppressionTokenFromKeydown = (event) => {
34
34
  return { kind: 'backspace' };
35
35
  return null;
36
36
  };
37
- const mapKeydownToTerminalData = (event) => {
38
- if (event.key === 'Enter')
39
- return '\r';
40
- if (event.key === 'Backspace')
41
- return '\x7f';
42
- return null;
43
- };
44
37
  const normalizeTerminalFocusOptions = (options) => ({
45
38
  ...options,
46
39
  preventScroll: options?.preventScroll ?? true,
@@ -104,16 +97,25 @@ const matchesInputSuppression = (token, value) => {
104
97
  const mapBeforeInputToTerminalData = (event) => {
105
98
  switch (event.inputType) {
106
99
  case 'insertText':
107
- return String(event.data ?? '');
100
+ case 'insertReplacementText': {
101
+ const data = String(event.data ?? '');
102
+ return data.length > 0 ? data.replace(/\n/g, '\r') : null;
103
+ }
108
104
  case 'insertLineBreak':
109
105
  case 'insertParagraph':
110
106
  return '\r';
111
107
  case 'deleteContentBackward':
112
108
  return '\x7f';
109
+ case 'deleteContentForward':
110
+ return '\x1b[3~';
113
111
  default:
114
112
  return null;
115
113
  }
116
114
  };
115
+ const consumeBrowserInputEvent = (event) => {
116
+ event.preventDefault();
117
+ event.stopImmediatePropagation();
118
+ };
117
119
  const cloneKeyboardEventInit = (event) => ({
118
120
  key: event.key,
119
121
  code: event.code,
@@ -134,27 +136,12 @@ const isEditableTarget = (target) => {
134
136
  return target.matches('input, select, textarea, [contenteditable], [contenteditable="true"]');
135
137
  };
136
138
  const documentShortcutCoordinators = new WeakMap();
137
- export const resolveTerminalInputElement = (container) => {
138
- const direct = container.querySelector(TERMINAL_INPUT_SELECTOR);
139
- if (direct instanceof HTMLTextAreaElement) {
140
- return direct;
141
- }
142
- const fallback = container.querySelector('textarea');
143
- return fallback instanceof HTMLTextAreaElement ? fallback : null;
139
+ export const resolveTerminalInputElement = (inputHost) => {
140
+ const inputElement = inputHost.querySelector(TERMINAL_INPUT_SELECTOR);
141
+ return inputElement instanceof HTMLTextAreaElement ? inputElement : null;
144
142
  };
145
143
  export class TerminalInputBridge {
146
- constructor(container, input, onData, logger = noopLogger, hasSelection = () => false, copySelection = async (source) => ({
147
- copied: false,
148
- reason: 'empty_selection',
149
- source,
150
- }), syncInputGeometry = () => { }) {
151
- this.container = container;
152
- this.input = input;
153
- this.onData = onData;
154
- this.logger = logger;
155
- this.hasSelection = hasSelection;
156
- this.copySelection = copySelection;
157
- this.syncInputGeometry = syncInputGeometry;
144
+ constructor(options) {
158
145
  this.isComposing = false;
159
146
  this.ignoreNextInput = false;
160
147
  this.suppressionToken = null;
@@ -179,21 +166,32 @@ export class TerminalInputBridge {
179
166
  this.focusListener = () => {
180
167
  this.clearInputValue();
181
168
  };
182
- this.containerFocusInListener = (event) => {
183
- this.handleContainerFocusIn(event);
169
+ this.inputHostFocusInListener = (event) => {
170
+ this.handleInputHostFocusIn(event);
184
171
  };
185
- this.containerPointerDownListener = () => {
172
+ this.inputHostPointerDownListener = () => {
186
173
  this.scheduleInputFocusClaim();
187
174
  };
188
175
  this.inputFocusClaimTimer = null;
189
- this.input.setAttribute('inputmode', 'text');
190
- this.input.setAttribute('enterkeyhint', 'enter');
191
- this.unregisterDocumentShortcutBridge = registerDocumentShortcutBridge(this.container.ownerDocument, this);
176
+ this.inputHost = options.inputHost;
177
+ this.inputElement = options.inputElement;
178
+ this.onData = options.onData;
179
+ this.logger = options.logger ?? noopLogger;
180
+ this.hasSelection = options.hasSelection ?? (() => false);
181
+ this.copySelection = options.copySelection ?? (async (source) => ({
182
+ copied: false,
183
+ reason: 'empty_selection',
184
+ source,
185
+ }));
186
+ this.syncInputGeometry = options.syncInputGeometry ?? (() => { });
187
+ this.inputElement.setAttribute('inputmode', 'text');
188
+ this.inputElement.setAttribute('enterkeyhint', 'enter');
189
+ this.unregisterDocumentShortcutBridge = registerDocumentShortcutBridge(this.inputHost.ownerDocument, this);
192
190
  this.attach();
193
191
  }
194
192
  focus(options) {
195
193
  this.syncInputGeometry();
196
- focusTerminalElement(this.input, options);
194
+ focusTerminalElement(this.inputElement, options);
197
195
  }
198
196
  dispose() {
199
197
  this.clearEphemeralStateResetTimer();
@@ -202,29 +200,31 @@ export class TerminalInputBridge {
202
200
  this.restoreTerminalFocusHost = null;
203
201
  this.patchedTerminalFocusHost = null;
204
202
  this.unregisterDocumentShortcutBridge();
205
- this.input.removeEventListener('keydown', this.keydownListener);
206
- this.input.removeEventListener('beforeinput', this.beforeInputListener);
207
- this.input.removeEventListener('input', this.inputListener);
208
- this.input.removeEventListener('compositionstart', this.compositionStartListener);
209
- this.input.removeEventListener('compositionend', this.compositionEndListener);
210
- this.input.removeEventListener('focus', this.focusListener);
211
- this.container.removeEventListener('focusin', this.containerFocusInListener);
212
- this.container.removeEventListener('pointerdown', this.containerPointerDownListener, true);
203
+ this.inputElement.removeEventListener('keydown', this.keydownListener);
204
+ this.inputElement.removeEventListener('beforeinput', this.beforeInputListener, true);
205
+ this.inputElement.removeEventListener('input', this.inputListener);
206
+ this.inputElement.removeEventListener('compositionstart', this.compositionStartListener);
207
+ this.inputElement.removeEventListener('compositionend', this.compositionEndListener);
208
+ this.inputElement.removeEventListener('focus', this.focusListener);
209
+ this.inputHost.removeEventListener('focusin', this.inputHostFocusInListener);
210
+ this.inputHost.removeEventListener('pointerdown', this.inputHostPointerDownListener, true);
213
211
  }
214
212
  attach() {
215
213
  this.patchTerminalFocusHost();
216
- this.input.addEventListener('keydown', this.keydownListener);
217
- this.input.addEventListener('beforeinput', this.beforeInputListener);
218
- this.input.addEventListener('input', this.inputListener);
219
- this.input.addEventListener('compositionstart', this.compositionStartListener);
220
- this.input.addEventListener('compositionend', this.compositionEndListener);
221
- this.input.addEventListener('focus', this.focusListener);
222
- this.container.addEventListener('focusin', this.containerFocusInListener);
223
- this.container.addEventListener('pointerdown', this.containerPointerDownListener, true);
224
- }
225
- handleContainerFocusIn(event) {
214
+ this.inputElement.addEventListener('keydown', this.keydownListener);
215
+ // The bridge owns mapped browser text input before ghostty's retained
216
+ // textarea listener; physical key encoding remains on the input host.
217
+ this.inputElement.addEventListener('beforeinput', this.beforeInputListener, true);
218
+ this.inputElement.addEventListener('input', this.inputListener);
219
+ this.inputElement.addEventListener('compositionstart', this.compositionStartListener);
220
+ this.inputElement.addEventListener('compositionend', this.compositionEndListener);
221
+ this.inputElement.addEventListener('focus', this.focusListener);
222
+ this.inputHost.addEventListener('focusin', this.inputHostFocusInListener);
223
+ this.inputHost.addEventListener('pointerdown', this.inputHostPointerDownListener, true);
224
+ }
225
+ handleInputHostFocusIn(event) {
226
226
  const target = event.target;
227
- if (!(target instanceof HTMLElement) || target === this.input) {
227
+ if (!(target instanceof HTMLElement) || target === this.inputElement) {
228
228
  return;
229
229
  }
230
230
  if (!this.isTerminalOwnedEditableTarget(target)) {
@@ -236,8 +236,8 @@ export class TerminalInputBridge {
236
236
  this.clearInputFocusClaimTimer();
237
237
  this.inputFocusClaimTimer = setTimeout(() => {
238
238
  this.inputFocusClaimTimer = null;
239
- const active = this.container.ownerDocument.activeElement;
240
- if (!(active instanceof HTMLElement) || active === this.input) {
239
+ const active = this.inputHost.ownerDocument.activeElement;
240
+ if (!(active instanceof HTMLElement) || active === this.inputElement) {
241
241
  return;
242
242
  }
243
243
  if (!this.isTerminalOwnedEditableTarget(active)) {
@@ -258,13 +258,9 @@ export class TerminalInputBridge {
258
258
  return;
259
259
  }
260
260
  const forwarded = new KeyboardEvent('keydown', cloneKeyboardEventInit(event));
261
- const notCancelled = this.container.dispatchEvent(forwarded);
262
- const keydownData = mapKeydownToTerminalData(event);
261
+ const notCancelled = this.inputHost.dispatchEvent(forwarded);
263
262
  this.suppressionToken = createSuppressionTokenFromKeydown(event);
264
263
  this.scheduleEphemeralStateReset();
265
- if (keydownData && notCancelled) {
266
- this.emitData(keydownData);
267
- }
268
264
  if (!notCancelled || this.suppressionToken) {
269
265
  event.preventDefault();
270
266
  event.stopPropagation();
@@ -280,7 +276,14 @@ export class TerminalInputBridge {
280
276
  this.suppressionToken = null;
281
277
  this.ignoreNextInput = true;
282
278
  this.scheduleEphemeralStateReset();
283
- event.preventDefault();
279
+ consumeBrowserInputEvent(event);
280
+ return;
281
+ }
282
+ if (this.ignoreNextInput) {
283
+ this.clearEphemeralStateResetTimer();
284
+ this.ignoreNextInput = false;
285
+ this.scheduleEphemeralStateReset();
286
+ consumeBrowserInputEvent(event);
284
287
  return;
285
288
  }
286
289
  const data = mapBeforeInputToTerminalData(event);
@@ -290,14 +293,14 @@ export class TerminalInputBridge {
290
293
  this.ignoreNextInput = true;
291
294
  this.scheduleEphemeralStateReset();
292
295
  this.emitData(data);
293
- event.preventDefault();
296
+ consumeBrowserInputEvent(event);
294
297
  }
295
298
  handleInput() {
296
299
  this.syncInputGeometry();
297
300
  if (this.isComposing) {
298
301
  return;
299
302
  }
300
- const value = this.input.value;
303
+ const value = this.inputElement.value;
301
304
  if (this.suppressionToken && matchesInputSuppression(this.suppressionToken, value)) {
302
305
  this.clearEphemeralStateResetTimer();
303
306
  this.suppressionToken = null;
@@ -325,7 +328,7 @@ export class TerminalInputBridge {
325
328
  handleCompositionEnd(event) {
326
329
  this.syncInputGeometry();
327
330
  this.isComposing = false;
328
- const data = String(event.data ?? this.input.value ?? '');
331
+ const data = String(event.data ?? this.inputElement.value ?? '');
329
332
  if (data.length > 0) {
330
333
  this.emitData(data);
331
334
  }
@@ -334,7 +337,9 @@ export class TerminalInputBridge {
334
337
  this.clearInputValue();
335
338
  }
336
339
  containsTarget(target) {
337
- return this.container.contains(target);
340
+ return target === this.inputElement
341
+ || this.inputElement.contains(target)
342
+ || this.inputHost.contains(target);
338
343
  }
339
344
  tryHandleDocumentCopyShortcut(event) {
340
345
  if (this.isComposing || event.isComposing || event.keyCode === 229) {
@@ -376,10 +381,10 @@ export class TerminalInputBridge {
376
381
  return !this.isTerminalOwnedEditableTarget(target);
377
382
  }
378
383
  isTerminalOwnedEditableTarget(target) {
379
- if (target === this.input || target === this.container) {
384
+ if (target === this.inputElement || target === this.inputHost) {
380
385
  return true;
381
386
  }
382
- if (!this.container.contains(target)) {
387
+ if (!this.inputHost.contains(target)) {
383
388
  return false;
384
389
  }
385
390
  // ghostty-web places the real keyboard focus on an inner contenteditable
@@ -388,9 +393,9 @@ export class TerminalInputBridge {
388
393
  return target.matches(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR);
389
394
  }
390
395
  patchTerminalFocusHost() {
391
- const host = this.container.matches(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR)
392
- ? this.container
393
- : this.container.querySelector(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR);
396
+ const host = this.inputHost.matches(TERMINAL_CONTENTEDITABLE_INPUT_SELECTOR)
397
+ ? this.inputHost
398
+ : null;
394
399
  if (!(host instanceof HTMLElement) || this.patchedTerminalFocusHost === host) {
395
400
  return;
396
401
  }
@@ -404,12 +409,12 @@ export class TerminalInputBridge {
404
409
  });
405
410
  }
406
411
  clearInputValue() {
407
- if (this.input.value.length === 0) {
412
+ if (this.inputElement.value.length === 0) {
408
413
  return;
409
414
  }
410
- this.input.value = '';
415
+ this.inputElement.value = '';
411
416
  try {
412
- this.input.setSelectionRange(0, 0);
417
+ this.inputElement.setSelectionRange(0, 0);
413
418
  }
414
419
  catch {
415
420
  this.logger.debug('[TerminalInputBridge] Failed to reset selection range');
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalInputBridge.js","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhD,MAAM,uBAAuB,GAAG,uCAAuC,CAAC;AACxE,MAAM,uCAAuC,GAAG,uDAAuD,CAAC;AAExG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,KAAK;IACL,UAAU;IACV,UAAU;IACV,SAAS;IACT,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC9D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,mBAAmB,GACvB,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,mBAAmB,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,KAAoB,EAAkC,EAAE;IACjG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,KAAoB,EAAiB,EAAE;IACvE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,OAA6C,EAAgB,EAAE,CAAC,CAAC;IACtG,GAAG,OAAO;IACV,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;CAC9C,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,OAAoB,EAAE,OAA8B,EAAQ,EAAE;IAC1F,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AASF,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAA0C,CAAC;AAEvF,MAAM,4BAA4B,GAAG,CAAC,IAAiB,EAAgB,EAAE;IACvE,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,UAAU,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,6BAA6B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IACjC,MAAM,KAAK,GAA8B;QACvC,aAAa;QACb,kBAAkB;QAClB,YAAY,EAAE,CAAC,CAAC,OAAsB,EAAE,EAAE;YACxC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,CAAC,CAAsB;QACvB,UAAU,EAAE,CAAC;KACd,CAAC;IACF,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;IAChC,OAAO,GAAG,EAAE;QACV,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,IAAiB,EAAE,KAAgC,EAAQ,EAAE;IAClG,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAQ,IAAsC,CAAC,KAAK,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,KAA8B,EAAE,KAAiB,EAAW,EAAE;IACnG,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,SAAS,KAAK,iBAAiB,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAA8B,EAAE,KAAa,EAAW,EAAE;IACzF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACxE,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,iBAAiB,CAAC;QACvB,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC;QACd,KAAK,uBAAuB;YAC1B,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAoB,EAAqB,EAAE,CAAC,CAAC;IAC3E,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAyB,EAAE;IAC7E,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;AAChG,CAAC,CAAC;AAWF,MAAM,4BAA4B,GAAG,IAAI,OAAO,EAAoD,CAAC;AAErG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAsB,EAA8B,EAAE;IAChG,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,MAAM,YAAY,mBAAmB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACrD,OAAO,QAAQ,YAAY,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,OAAO,mBAAmB;IA2C9B,YACmB,SAAsB,EACtB,KAA0B,EAC1B,MAA8B,EAC9B,SAAiB,UAAU,EAC3B,eAA8B,GAAG,EAAE,CAAC,KAAK,EACzC,gBAGyD,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,iBAAiB;QACzB,MAAM;KACP,CAAC,EACe,oBAAgC,GAAG,EAAE,GAAE,CAAC;QAbxC,cAAS,GAAT,SAAS,CAAa;QACtB,UAAK,GAAL,KAAK,CAAqB;QAC1B,WAAM,GAAN,MAAM,CAAwB;QAC9B,WAAM,GAAN,MAAM,CAAqB;QAC3B,iBAAY,GAAZ,YAAY,CAA6B;QACzC,kBAAa,GAAb,aAAa,CAO5B;QACe,sBAAiB,GAAjB,iBAAiB,CAAuB;QAxDnD,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAmC,IAAI,CAAC;QACxD,6BAAwB,GAAyC,IAAI,CAAC;QACtE,6BAAwB,GAAuB,IAAI,CAAC;QACpD,6BAAwB,GAAwB,IAAI,CAAC;QAG5C,oBAAe,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEe,wBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;YAC/C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,CAAC;QAEe,2BAAsB,GAAG,CAAC,KAAuB,EAAE,EAAE;YACpE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAChE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;YACnD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QAEM,yBAAoB,GAAyC,IAAI,CAAC;QAkBxE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,gCAAgC,GAAG,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAA8B;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC7F,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IAEO,sBAAsB,CAAC,KAAiB;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC;YAC1D,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAiB;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAAC,KAAuB;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAAY;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,6BAA6B,CAAC,KAAoB;QAChD,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CAAC,KAAqB;QAC9C,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iCAAiC,CAAC,MAA0B;QAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAEO,6BAA6B,CAAC,MAAmB;QACvD,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,OAAO,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAEO,oBAAoB,CAAC,MAAmC,EAAE,gBAAqC,IAAI;QACzG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,6BAA6B;QACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,sBAAsB,GAAG,CAC7B,OAAiC,EACjC,MAA0B,EACE,EAAE;IAC9B,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,QAAkB,EAA0C,EAAE;IACpG,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAA2C;QAC1D,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI,GAAG,EAAuB;QACvC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,WAAW,CAAC,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,WAAW,CAAC,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC;YACrG,MAAM,EAAE,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC;YACrG,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAElE,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,8BAA8B,CAAC,QAAkB,EAAE,MAA2B;IACrF,MAAM,WAAW,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC7D,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC/E,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjE,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TerminalInputBridge.js","sourceRoot":"","sources":["../../src/core/TerminalInputBridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floeterm-terminal-web",
3
- "version": "0.5.22",
3
+ "version": "0.5.24",
4
4
  "description": "Framework-neutral ghostty-web (xterm.js API-compatible) integration with terminal core, session, and data flow utilities.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -48,8 +48,9 @@
48
48
  "build": "node -e \"const fs=require('fs'); fs.rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.build.json && node -e \"const fs=require('fs'); if (fs.existsSync('src/styles')) fs.cpSync('src/styles', 'dist/styles', { recursive: true })\"",
49
49
  "check:package-artifact": "node scripts/check-package-artifact.mjs",
50
50
  "test": "vitest run",
51
+ "test:browser": "node scripts/runVitestBrowser.mjs",
51
52
  "lint": "tsc --noEmit",
52
- "prepublishOnly": "npm run lint && npm test && npm run build && npm run check:package-artifact"
53
+ "prepublishOnly": "npm run lint && npm test && npm run test:browser && npm run build && npm run check:package-artifact"
53
54
  },
54
55
  "keywords": [
55
56
  "terminal",
@@ -67,8 +68,13 @@
67
68
  "ws": "^8.21.0"
68
69
  },
69
70
  "devDependencies": {
71
+ "@vitest/browser": "4.1.8",
72
+ "@vitest/browser-playwright": "4.1.8",
70
73
  "jsdom": "^24.1.3",
74
+ "playwright": "^1.57.0",
71
75
  "typescript": "^5.4.0",
76
+ "vite": "^8.0.16",
77
+ "vite-plugin-wasm": "^3.6.0",
72
78
  "vitest": "^4.1.8"
73
79
  }
74
80
  }