wxt 0.18.6 → 0.18.8

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/index.d.cts CHANGED
@@ -65,6 +65,6 @@ declare function prepare(config: InlineConfig): Promise<void>;
65
65
  */
66
66
  declare function zip(config?: InlineConfig): Promise<string[]>;
67
67
 
68
- var version = "0.18.6";
68
+ var version = "0.18.7";
69
69
 
70
70
  export { BuildOutput, ExtensionRunnerConfig, InlineConfig, UserConfig, WxtDevServer, build, clean, createServer, defineConfig, defineRunnerConfig, initialize, prepare, version, zip };
package/dist/index.d.ts CHANGED
@@ -65,6 +65,6 @@ declare function prepare(config: InlineConfig): Promise<void>;
65
65
  */
66
66
  declare function zip(config?: InlineConfig): Promise<string[]>;
67
67
 
68
- var version = "0.18.6";
68
+ var version = "0.18.7";
69
69
 
70
70
  export { BuildOutput, ExtensionRunnerConfig, InlineConfig, UserConfig, WxtDevServer, build, clean, createServer, defineConfig, defineRunnerConfig, initialize, prepare, version, zip };
package/dist/index.js CHANGED
@@ -19,12 +19,12 @@ import {
19
19
  unnormalizePath,
20
20
  version,
21
21
  wxt
22
- } from "./chunk-QOYT5J6A.js";
23
- import "./chunk-5X3S6AWF.js";
22
+ } from "./chunk-Z3C7S5VV.js";
23
+ import "./chunk-BERPNPEZ.js";
24
24
  import {
25
25
  consola
26
- } from "./chunk-ZZCTFNQ5.js";
27
- import "./chunk-VBXJIVYU.js";
26
+ } from "./chunk-BM6QYGAW.js";
27
+ import "./chunk-QGM4M3NI.js";
28
28
 
29
29
  // src/core/build.ts
30
30
  async function build(config) {
@@ -107,10 +107,8 @@ function createWebExtRunner() {
107
107
  }
108
108
  const webExtLogger = await import("web-ext-run/util/logger");
109
109
  webExtLogger.consoleStream.write = ({ level, msg, name }) => {
110
- if (level >= ERROR_LOG_LEVEL)
111
- wxt.logger.error(name, msg);
112
- if (level >= WARN_LOG_LEVEL)
113
- wxt.logger.warn(msg);
110
+ if (level >= ERROR_LOG_LEVEL) wxt.logger.error(name, msg);
111
+ if (level >= WARN_LOG_LEVEL) wxt.logger.warn(msg);
114
112
  };
115
113
  const wxtUserConfig = wxt.config.runnerConfig.config;
116
114
  const userConfig = {
@@ -212,12 +210,9 @@ async function isWsl() {
212
210
 
213
211
  // src/core/runners/index.ts
214
212
  async function createExtensionRunner() {
215
- if (wxt.config.browser === "safari")
216
- return createSafariRunner();
217
- if (await isWsl())
218
- return createWslRunner();
219
- if (wxt.config.runnerConfig.config?.disabled)
220
- return createManualRunner();
213
+ if (wxt.config.browser === "safari") return createSafariRunner();
214
+ if (await isWsl()) return createWslRunner();
215
+ if (wxt.config.runnerConfig.config?.disabled) return createManualRunner();
221
216
  return createWebExtRunner();
222
217
  }
223
218
 
@@ -294,8 +289,7 @@ async function createServer(inlineConfig) {
294
289
  runner = await createExtensionRunner();
295
290
  };
296
291
  server.ws.on("wxt:background-initialized", () => {
297
- if (server.currentOutput == null)
298
- return;
292
+ if (server.currentOutput == null) return;
299
293
  reloadContentScripts(server.currentOutput.steps, server);
300
294
  });
301
295
  const reloadOnChange = createFileReloader(server);
@@ -307,18 +301,15 @@ function createFileReloader(server) {
307
301
  const changeQueue = [];
308
302
  return async (event, path4) => {
309
303
  await wxt.reloadConfig();
310
- if (path4.startsWith(wxt.config.outBaseDir))
311
- return;
304
+ if (path4.startsWith(wxt.config.outBaseDir)) return;
305
+ if (path4.startsWith(wxt.config.wxtDir)) return;
312
306
  changeQueue.push([event, path4]);
313
307
  await fileChangedMutex.runExclusive(async () => {
314
- if (server.currentOutput == null)
315
- return;
308
+ if (server.currentOutput == null) return;
316
309
  const fileChanges = changeQueue.splice(0, changeQueue.length).map(([_, file]) => file);
317
- if (fileChanges.length === 0)
318
- return;
310
+ if (fileChanges.length === 0) return;
319
311
  const changes = detectDevChanges(fileChanges, server.currentOutput);
320
- if (changes.type === "no-change")
321
- return;
312
+ if (changes.type === "no-change") return;
322
313
  if (changes.type === "full-restart") {
323
314
  wxt.logger.info("Config changed, restarting server...");
324
315
  server.restart();
@@ -367,11 +358,9 @@ function createFileReloader(server) {
367
358
  function reloadContentScripts(steps, server) {
368
359
  if (wxt.config.manifestVersion === 3) {
369
360
  steps.forEach((step) => {
370
- if (server.currentOutput == null)
371
- return;
361
+ if (server.currentOutput == null) return;
372
362
  const entry = step.entrypoints;
373
- if (Array.isArray(entry) || entry.type !== "content-script")
374
- return;
363
+ if (Array.isArray(entry) || entry.type !== "content-script") return;
375
364
  const js = getContentScriptJs(wxt.config, entry);
376
365
  const cssMap = getContentScriptsCssMap(server.currentOutput, [entry]);
377
366
  const css = getContentScriptCssFiles([entry], cssMap);
@@ -409,8 +398,7 @@ function getExternalOutputDependencies(server) {
409
398
  return [];
410
399
  }
411
400
  return step.chunks.flatMap((chunk) => {
412
- if (chunk.type === "asset")
413
- return [];
401
+ if (chunk.type === "asset") return [];
414
402
  return chunk.moduleIds;
415
403
  });
416
404
  }).filter(
@@ -488,8 +476,7 @@ async function initialize(options) {
488
476
  console.log();
489
477
  consola.log("Next steps:");
490
478
  let step = 0;
491
- if (cdPath !== "")
492
- consola.log(` ${++step}.`, pc3.cyan(`cd ${cdPath}`));
479
+ if (cdPath !== "") consola.log(` ${++step}.`, pc3.cyan(`cd ${cdPath}`));
493
480
  consola.log(` ${++step}.`, pc3.cyan(`${input.packageManager} install`));
494
481
  console.log();
495
482
  }
@@ -503,8 +490,7 @@ async function listTemplates() {
503
490
  const lWeight = TEMPLATE_SORT_WEIGHT[l.name] ?? Number.MAX_SAFE_INTEGER;
504
491
  const rWeight = TEMPLATE_SORT_WEIGHT[r.name] ?? Number.MAX_SAFE_INTEGER;
505
492
  const diff = lWeight - rWeight;
506
- if (diff !== 0)
507
- return diff;
493
+ if (diff !== 0) return diff;
508
494
  return l.name.localeCompare(r.name);
509
495
  });
510
496
  } catch (err) {
@@ -614,8 +600,9 @@ async function zipDir(directory, outputPath, options) {
614
600
  cwd: directory,
615
601
  // Ignore node_modules, otherwise this glob step takes forever
616
602
  ignore: ["**/node_modules"],
617
- onlyFiles: true,
618
- dot: true
603
+ onlyFiles: true
604
+ // TODO: Fix #738
605
+ // dot: true,
619
606
  })).filter((relativePath) => {
620
607
  return options?.include?.some((pattern) => minimatch(relativePath, pattern)) || !options?.exclude?.some((pattern) => minimatch(relativePath, pattern));
621
608
  });
@@ -674,8 +661,7 @@ async function downloadPrivatePackages() {
674
661
  return { overrides, files };
675
662
  }
676
663
  function addOverridesToPackageJson(absolutePackageJsonPath, content, overrides) {
677
- if (Object.keys(overrides).length === 0)
678
- return content;
664
+ if (Object.keys(overrides).length === 0) return content;
679
665
  const packageJsonDir = path3.dirname(absolutePackageJsonPath);
680
666
  const oldPackage = JSON.parse(content);
681
667
  const newPackage = {
package/dist/modules.cjs CHANGED
@@ -42,8 +42,7 @@ var vite = __toESM(require("vite"), 1);
42
42
  var import_fast_glob = __toESM(require("fast-glob"), 1);
43
43
  var import_node_path = require("path");
44
44
  function defineWxtModule(module2) {
45
- if (typeof module2 === "function")
46
- return { setup: module2 };
45
+ if (typeof module2 === "function") return { setup: module2 };
47
46
  return module2;
48
47
  }
49
48
  function addEntrypoint(wxt, entrypoint) {
@@ -66,12 +65,11 @@ function addPublicAssets(wxt, dir) {
66
65
  function addViteConfig(wxt, viteConfig) {
67
66
  wxt.hooks.hook("ready", (wxt2) => {
68
67
  const userVite = wxt2.config.vite;
69
- wxt2.config.vite = (env) => vite.mergeConfig(
70
- // Use config added by module as base
71
- viteConfig(env) ?? {},
72
- // Overwrite module config with user config
73
- userVite(env)
74
- );
68
+ wxt2.config.vite = async (env) => {
69
+ const fromUser = await userVite(env);
70
+ const fromModule = viteConfig(env) ?? {};
71
+ return vite.mergeConfig(fromModule, fromUser);
72
+ };
75
73
  });
76
74
  }
77
75
  function addWxtPlugin(wxt, plugin) {
@@ -81,11 +79,9 @@ function addWxtPlugin(wxt, plugin) {
81
79
  }
82
80
  function addImportPreset(wxt, preset) {
83
81
  wxt.hooks.hook("ready", (wxt2) => {
84
- if (!wxt2.config.imports)
85
- return;
82
+ if (!wxt2.config.imports) return;
86
83
  wxt2.config.imports.presets ??= [];
87
- if (wxt2.config.imports.presets.includes(preset))
88
- return;
84
+ if (wxt2.config.imports.presets.includes(preset)) return;
89
85
  wxt2.config.imports.presets.push(preset);
90
86
  });
91
87
  }
package/dist/modules.js CHANGED
@@ -1,12 +1,11 @@
1
- import "./chunk-VBXJIVYU.js";
1
+ import "./chunk-QGM4M3NI.js";
2
2
 
3
3
  // src/modules.ts
4
4
  import * as vite from "vite";
5
5
  import glob from "fast-glob";
6
6
  import { resolve } from "node:path";
7
7
  function defineWxtModule(module) {
8
- if (typeof module === "function")
9
- return { setup: module };
8
+ if (typeof module === "function") return { setup: module };
10
9
  return module;
11
10
  }
12
11
  function addEntrypoint(wxt, entrypoint) {
@@ -29,12 +28,11 @@ function addPublicAssets(wxt, dir) {
29
28
  function addViteConfig(wxt, viteConfig) {
30
29
  wxt.hooks.hook("ready", (wxt2) => {
31
30
  const userVite = wxt2.config.vite;
32
- wxt2.config.vite = (env) => vite.mergeConfig(
33
- // Use config added by module as base
34
- viteConfig(env) ?? {},
35
- // Overwrite module config with user config
36
- userVite(env)
37
- );
31
+ wxt2.config.vite = async (env) => {
32
+ const fromUser = await userVite(env);
33
+ const fromModule = viteConfig(env) ?? {};
34
+ return vite.mergeConfig(fromModule, fromUser);
35
+ };
38
36
  });
39
37
  }
40
38
  function addWxtPlugin(wxt, plugin) {
@@ -44,11 +42,9 @@ function addWxtPlugin(wxt, plugin) {
44
42
  }
45
43
  function addImportPreset(wxt, preset) {
46
44
  wxt.hooks.hook("ready", (wxt2) => {
47
- if (!wxt2.config.imports)
48
- return;
45
+ if (!wxt2.config.imports) return;
49
46
  wxt2.config.imports.presets ??= [];
50
- if (wxt2.config.imports.presets.includes(preset))
51
- return;
47
+ if (wxt2.config.imports.presets.includes(preset)) return;
52
48
  wxt2.config.imports.presets.push(preset);
53
49
  });
54
50
  }
@@ -3,8 +3,8 @@ import {
3
3
  colors,
4
4
  getDefaultExportFromCjs,
5
5
  isUnicodeSupported
6
- } from "./chunk-NAMV4VWQ.js";
7
- import "./chunk-73I7FAJU.js";
6
+ } from "./chunk-KPD5J7PZ.js";
7
+ import "./chunk-SGKCDMVR.js";
8
8
 
9
9
  // ../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/chunks/prompt.mjs
10
10
  import { stdin, stdout } from "node:process";
@@ -16,20 +16,15 @@ var CSI = `${ESC}[`;
16
16
  var beep = "\x07";
17
17
  var cursor = {
18
18
  to(x, y) {
19
- if (!y)
20
- return `${CSI}${x + 1}G`;
19
+ if (!y) return `${CSI}${x + 1}G`;
21
20
  return `${CSI}${y + 1};${x + 1}H`;
22
21
  },
23
22
  move(x, y) {
24
23
  let ret = "";
25
- if (x < 0)
26
- ret += `${CSI}${-x}D`;
27
- else if (x > 0)
28
- ret += `${CSI}${x}C`;
29
- if (y < 0)
30
- ret += `${CSI}${-y}A`;
31
- else if (y > 0)
32
- ret += `${CSI}${y}B`;
24
+ if (x < 0) ret += `${CSI}${-x}D`;
25
+ else if (x > 0) ret += `${CSI}${x}C`;
26
+ if (y < 0) ret += `${CSI}${-y}A`;
27
+ else if (y > 0) ret += `${CSI}${y}B`;
33
28
  return ret;
34
29
  },
35
30
  up: (count = 1) => `${CSI}${count}A`,
@@ -116,8 +111,7 @@ function z({ onlyFirst: t = false } = {}) {
116
111
  return new RegExp(u, t ? void 0 : "g");
117
112
  }
118
113
  function $(t) {
119
- if (typeof t != "string")
120
- throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);
114
+ if (typeof t != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);
121
115
  return t.replace(z(), "");
122
116
  }
123
117
  var m = {};
@@ -139,18 +133,14 @@ var G = { get exports() {
139
133
  return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
140
134
  }
141
135
  u.length = function(e) {
142
- for (var s2 = F(e), C = 0, D = 0; D < s2.length; D++)
143
- C = C + this.characterLength(s2[D]);
136
+ for (var s2 = F(e), C = 0, D = 0; D < s2.length; D++) C = C + this.characterLength(s2[D]);
144
137
  return C;
145
138
  }, u.slice = function(e, s2, C) {
146
139
  textLen = u.length(e), s2 = s2 || 0, C = C || 1, s2 < 0 && (s2 = textLen + s2), C < 0 && (C = textLen + C);
147
140
  for (var D = "", i = 0, o = F(e), E = 0; E < o.length; E++) {
148
141
  var a = o[E], n = u.length(a);
149
- if (i >= s2 - (n == 2 ? 1 : 0))
150
- if (i + n <= C)
151
- D += a;
152
- else
153
- break;
142
+ if (i >= s2 - (n == 2 ? 1 : 0)) if (i + n <= C) D += a;
143
+ else break;
154
144
  i += n;
155
145
  }
156
146
  return D;
@@ -161,15 +151,13 @@ var Y = function() {
161
151
  return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
162
152
  };
163
153
  function c(t, u = {}) {
164
- if (typeof t != "string" || t.length === 0 || (u = { ambiguousIsNarrow: true, ...u }, t = $(t), t.length === 0))
165
- return 0;
154
+ if (typeof t != "string" || t.length === 0 || (u = { ambiguousIsNarrow: true, ...u }, t = $(t), t.length === 0)) return 0;
166
155
  t = t.replace(Y(), " ");
167
156
  const F = u.ambiguousIsNarrow ? 1 : 2;
168
157
  let e = 0;
169
158
  for (const s2 of t) {
170
159
  const C = s2.codePointAt(0);
171
- if (C <= 31 || C >= 127 && C <= 159 || C >= 768 && C <= 879)
172
- continue;
160
+ if (C <= 31 || C >= 127 && C <= 159 || C >= 768 && C <= 879) continue;
173
161
  switch (K.eastAsianWidth(s2)) {
174
162
  case "F":
175
163
  case "W":
@@ -196,34 +184,28 @@ var H = Object.keys(r.bgColor);
196
184
  function U() {
197
185
  const t = /* @__PURE__ */ new Map();
198
186
  for (const [u, F] of Object.entries(r)) {
199
- for (const [e, s2] of Object.entries(F))
200
- r[e] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F[e] = r[e], t.set(s2[0], s2[1]);
187
+ for (const [e, s2] of Object.entries(F)) r[e] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F[e] = r[e], t.set(s2[0], s2[1]);
201
188
  Object.defineProperty(r, u, { value: F, enumerable: false });
202
189
  }
203
190
  return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L(), r.color.ansi256 = M(), r.color.ansi16m = T(), r.bgColor.ansi = L(v), r.bgColor.ansi256 = M(v), r.bgColor.ansi16m = T(v), Object.defineProperties(r, { rgbToAnsi256: { value: (u, F, e) => u === F && F === e ? u < 8 ? 16 : u > 248 ? 231 : Math.round((u - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u / 255 * 5) + 6 * Math.round(F / 255 * 5) + Math.round(e / 255 * 5), enumerable: false }, hexToRgb: { value: (u) => {
204
191
  const F = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));
205
- if (!F)
206
- return [0, 0, 0];
192
+ if (!F) return [0, 0, 0];
207
193
  let [e] = F;
208
194
  e.length === 3 && (e = [...e].map((C) => C + C).join(""));
209
195
  const s2 = Number.parseInt(e, 16);
210
196
  return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255];
211
197
  }, enumerable: false }, hexToAnsi256: { value: (u) => r.rgbToAnsi256(...r.hexToRgb(u)), enumerable: false }, ansi256ToAnsi: { value: (u) => {
212
- if (u < 8)
213
- return 30 + u;
214
- if (u < 16)
215
- return 90 + (u - 8);
198
+ if (u < 8) return 30 + u;
199
+ if (u < 16) return 90 + (u - 8);
216
200
  let F, e, s2;
217
- if (u >= 232)
218
- F = ((u - 232) * 10 + 8) / 255, e = F, s2 = F;
201
+ if (u >= 232) F = ((u - 232) * 10 + 8) / 255, e = F, s2 = F;
219
202
  else {
220
203
  u -= 16;
221
204
  const i = u % 36;
222
205
  F = Math.floor(u / 36) / 5, e = Math.floor(i / 6) / 5, s2 = i % 6 / 5;
223
206
  }
224
207
  const C = Math.max(F, e, s2) * 2;
225
- if (C === 0)
226
- return 30;
208
+ if (C === 0) return 30;
227
209
  let D = 30 + (Math.round(s2) << 2 | Math.round(e) << 1 | Math.round(F));
228
210
  return C === 2 && (D += 60), D;
229
211
  }, enumerable: false }, rgbToAnsi: { value: (u, F, e) => r.ansi256ToAnsi(r.rgbToAnsi256(u, F, e)), enumerable: false }, hexToAnsi: { value: (u) => r.ansi256ToAnsi(r.hexToAnsi256(u)), enumerable: false } }), r;
@@ -255,13 +237,11 @@ var _ = (t, u, F) => {
255
237
  var DD = (t) => {
256
238
  const u = t.split(" ");
257
239
  let F = u.length;
258
- for (; F > 0 && !(c(u[F - 1]) > 0); )
259
- F--;
240
+ for (; F > 0 && !(c(u[F - 1]) > 0); ) F--;
260
241
  return F === u.length ? t : u.slice(0, F).join(" ") + u.slice(F).join("");
261
242
  };
262
243
  var uD = (t, u, F = {}) => {
263
- if (F.trim !== false && t.trim() === "")
264
- return "";
244
+ if (F.trim !== false && t.trim() === "") return "";
265
245
  let e = "", s2, C;
266
246
  const D = X(t);
267
247
  let i = [""];
@@ -295,8 +275,7 @@ var uD = (t, u, F = {}) => {
295
275
  if (B.code !== void 0) {
296
276
  const A = Number.parseFloat(B.code);
297
277
  s2 = A === J ? void 0 : A;
298
- } else
299
- B.uri !== void 0 && (C = B.uri.length === 0 ? void 0 : B.uri);
278
+ } else B.uri !== void 0 && (C = B.uri.length === 0 ? void 0 : B.uri);
300
279
  }
301
280
  const n = q.codes.get(Number(s2));
302
281
  o[E + 1] === `
@@ -312,13 +291,11 @@ function P(t, u, F) {
312
291
  `);
313
292
  }
314
293
  function FD(t, u) {
315
- if (t === u)
316
- return;
294
+ if (t === u) return;
317
295
  const F = t.split(`
318
296
  `), e = u.split(`
319
297
  `), s2 = [];
320
- for (let C = 0; C < Math.max(F.length, e.length); C++)
321
- F[C] !== e[C] && s2.push(C);
298
+ for (let C = 0; C < Math.max(F.length, e.length); C++) F[C] !== e[C] && s2.push(C);
322
299
  return s2;
323
300
  }
324
301
  var R = Symbol("clack:cancel");
@@ -353,10 +330,8 @@ var h = class {
353
330
  }
354
331
  emit(u, ...F) {
355
332
  const e = this.subscribers.get(u) ?? [], s2 = [];
356
- for (const C of e)
357
- C.cb(...F), C.once && s2.push(() => e.splice(e.indexOf(C), 1));
358
- for (const C of s2)
359
- C();
333
+ for (const C of e) C.cb(...F), C.once && s2.push(() => e.splice(e.indexOf(C), 1));
334
+ for (const C of s2) C();
360
335
  }
361
336
  unsubscribe() {
362
337
  this.subscribers.clear();
@@ -383,8 +358,7 @@ var h = class {
383
358
  render() {
384
359
  const u = P(this._render(this) ?? "", process.stdout.columns, { hard: true });
385
360
  if (u !== this._prevFrame) {
386
- if (this.state === "initial")
387
- this.output.write(src.cursor.hide);
361
+ if (this.state === "initial") this.output.write(src.cursor.hide);
388
362
  else {
389
363
  const F = FD(this._prevFrame, u);
390
364
  if (this.restoreCursor(), F && F?.length === 1) {
@@ -486,8 +460,7 @@ var oD = class extends h {
486
460
  super(u), this.valueWithCursor = "", this.on("finalize", () => {
487
461
  this.value || (this.value = u.defaultValue), this.valueWithCursor = this.value;
488
462
  }), this.on("value", () => {
489
- if (this.cursor >= this.value.length)
490
- this.valueWithCursor = `${this.value}${l.inverse(l.hidden("_"))}`;
463
+ if (this.cursor >= this.value.length) this.valueWithCursor = `${this.value}${l.inverse(l.hidden("_"))}`;
491
464
  else {
492
465
  const F = this.value.slice(0, this.cursor), e = this.value.slice(this.cursor);
493
466
  this.valueWithCursor = `${F}${l.inverse(e[0])}${e.slice(1)}`;