@morlay/dsh-client-modules 0.2.10 → 0.2.11-alpha.0

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/client.cjs CHANGED
@@ -4,7 +4,7 @@ window.__ModuleLoader__.load({
4
4
  var module = { exports: {} };
5
5
  var exports = module.exports;
6
6
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
7
- //#region \0rolldown/runtime.js
7
+ // \0rolldown/runtime.js
8
8
  var __defProp = Object.defineProperty;
9
9
  var __exportAll = (all, no_symbols) => {
10
10
  let target = {};
@@ -15,7 +15,6 @@ window.__ModuleLoader__.load({
15
15
  if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
16
16
  return target;
17
17
  };
18
- //#endregion
19
18
  let _deepseek_ai_dsh_client_store = require("@deepseek-ai/dsh-client-store");
20
19
  let _deepseek_ai_cordis = require("@deepseek-ai/cordis");
21
20
  let react = require("react");
@@ -514,8 +513,7 @@ window.__ModuleLoader__.load({
514
513
  }
515
514
  return node.variants[0];
516
515
  }
517
- //#endregion
518
- //#region ../dsh-client-ui-primitives/src/client/schema-form/draft.ts
516
+ // ../dsh-client-ui-primitives/src/client/schema-form/draft.ts
519
517
  function failureOf(error) {
520
518
  const raw = error instanceof Error ? error.message : String(error);
521
519
  const path = (error.options?.path ?? []).filter((segment) => typeof segment === "string" || typeof segment === "number").map(String);
@@ -802,8 +800,7 @@ window.__ModuleLoader__.load({
802
800
  }
803
801
  return next;
804
802
  }
805
- //#endregion
806
- //#region ../dsh-client-ui-primitives/src/client/schema-form/controller.ts
803
+ // ../dsh-client-ui-primitives/src/client/schema-form/controller.ts
807
804
  function declaredSource(node) {
808
805
  const extra = node?.meta.extra;
809
806
  if (typeof extra !== "object" || extra === null) return void 0;
@@ -1006,8 +1003,7 @@ window.__ModuleLoader__.load({
1006
1003
  };
1007
1004
  }
1008
1005
  };
1009
- //#endregion
1010
- //#region ../dsh-client-ui-primitives/src/client/schema-form/hints.ts
1006
+ // ../dsh-client-ui-primitives/src/client/schema-form/hints.ts
1011
1007
  var SchemaFormHints = class extends _deepseek_ai_cordis.Service {
1012
1008
  readers = /* @__PURE__ */ new Map();
1013
1009
  texts = /* @__PURE__ */ new Map();
@@ -1096,8 +1092,7 @@ window.__ModuleLoader__.load({
1096
1092
  const wildcardable = Math.max(0, path.length - 1);
1097
1093
  for (let bits = (1 << wildcardable) - 1; bits > 0; bits--) yield path.map((segment, index) => index > 0 && (bits & 1 << index - 1) !== 0 ? "*" : segment);
1098
1094
  }
1099
- //#endregion
1100
- //#region ../dsh-client-ui-primitives/src/client/schema-form/locales.ts
1095
+ // ../dsh-client-ui-primitives/src/client/schema-form/locales.ts
1101
1096
  const zh = {
1102
1097
  unavailable: "该插件当前未加载,暂时无法配置。",
1103
1098
  readOnly: "本部署的设置为只读。",
@@ -1206,8 +1201,7 @@ window.__ModuleLoader__.load({
1206
1201
  duplicateItem: "Duplicate {key}: {value}",
1207
1202
  missingItem: "Every item needs a {key}"
1208
1203
  };
1209
- //#endregion
1210
- //#region ../dsh-client-ui-primitives/src/client/schema-form/rows.ts
1204
+ // ../dsh-client-ui-primitives/src/client/schema-form/rows.ts
1211
1205
  function rowRegistrations(namespaces, bundles) {
1212
1206
  const owners = /* @__PURE__ */ new Map();
1213
1207
  for (const bundle of bundles) for (const row of bundle.rows) owners.set(row.rowId, bundle.name);
@@ -1279,16 +1273,14 @@ window.__ModuleLoader__.load({
1279
1273
  }
1280
1274
  }
1281
1275
  };
1282
- //#endregion
1283
- //#region ../dsh-client-ui-primitives/src/client/schema-form/labels.ts
1276
+ // ../dsh-client-ui-primitives/src/client/schema-form/labels.ts
1284
1277
  function fieldHint(node, resolveText) {
1285
1278
  const parts = [];
1286
1279
  if (node.meta.description !== void 0) parts.push(resolveText(node.meta.description));
1287
1280
  if (node.meta.comment !== void 0) parts.push(node.meta.comment);
1288
1281
  return parts.length === 0 ? void 0 : parts.join(" ");
1289
1282
  }
1290
- //#endregion
1291
- //#region ../dsh-client-ui-primitives/src/client/schema-form/lines.ts
1283
+ // ../dsh-client-ui-primitives/src/client/schema-form/lines.ts
1292
1284
  function containerShape(node, value) {
1293
1285
  switch (variantOf(node, value).type) {
1294
1286
  case "object":
@@ -1457,9 +1449,8 @@ window.__ModuleLoader__.load({
1457
1449
  if (prefix.length > path.length) return false;
1458
1450
  return prefix.every((segment, index) => path[index] === segment);
1459
1451
  }
1460
- //#endregion
1461
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/schema-form/schema-form.module.css.mjs
1462
- const css$14 = ".N3kx7G_editorRoot{width:100%;color:var(--dsw-alias-label-primary);flex-direction:column;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:14px;line-height:22px;display:flex}.N3kx7G_lineRow{white-space:nowrap;align-items:flex-start;gap:6px;min-height:22px;padding-right:8px;display:flex}.N3kx7G_lineRow:hover{background:var(--dsw-alias-bg-layer-2)}.N3kx7G_lineRow[data-selected=true]{background:var(--dsw-alias-bg-layer-3)}.N3kx7G_lineRow[data-dirty=true]{box-shadow:inset 2px 0 0 var(--dsw-alias-brand-primary)}.N3kx7G_lineRow[data-overridden=true]{box-shadow:inset 2px 0 0 var(--dsw-elevation-stroke-color)}.N3kx7G_lineRow[data-dirty=true] [data-role=key],.N3kx7G_lineRow[data-overridden=true] [data-role=key]{color:var(--dsw-alias-brand-primary)}.N3kx7G_lineRow[data-invalid=true]{background:color-mix(in srgb, var(--dsw-alias-state-error-secondary) 12%, transparent);box-shadow:inset 2px 0 0 var(--dsw-alias-state-error-primary)}.N3kx7G_lineRow[data-invalid=true] [data-role=key]{color:var(--dsw-alias-state-error-primary)}.N3kx7G_lineRow:hover [data-role=actions]{opacity:1}.N3kx7G_lineBody{flex:1;align-items:center;gap:6px;min-width:0;min-height:22px;display:flex}.N3kx7G_lineNumber{text-align:right;width:32px;color:var(--dsw-alias-label-caption);user-select:none;cursor:pointer;flex:none;line-height:22px}.N3kx7G_lineFold{width:14px;height:22px;color:var(--dsw-alias-label-caption);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.N3kx7G_lineFold:hover{color:var(--dsw-alias-label-secondary)}.N3kx7G_lineFoldSpacer{flex:none;width:14px}.N3kx7G_lineKey{color:var(--dsw-alias-label-primary);flex:none}.N3kx7G_lineKey[data-index=true]{color:var(--dsw-alias-label-caption)}.N3kx7G_lineToken{color:var(--dsw-alias-label-caption);flex:none}.N3kx7G_lineValue{text-overflow:ellipsis;cursor:text;min-width:0;color:var(--dsw-alias-state-business-primary);display:block;overflow:hidden}.N3kx7G_lineValue[data-tone=number]{color:var(--dsw-alias-state-warn-primary)}.N3kx7G_lineValue[data-tone=boolean]{color:var(--dsw-alias-state-success-primary)}.N3kx7G_lineValue[data-tone=empty]{color:var(--dsw-alias-label-caption)}.N3kx7G_valueSlot{flex:0 auto;min-width:0;display:block;overflow:hidden}.N3kx7G_valueTrigger{min-width:0;font:inherit;text-align:left;cursor:pointer;color:var(--dsw-alias-label-caption);background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.N3kx7G_valueTrigger:disabled{cursor:default}.N3kx7G_valueTrigger:focus-visible{outline:none}.N3kx7G_compactInput{flex:auto;min-width:0;display:inline-flex}.N3kx7G_compactInput>span{border-radius:4px;width:100%;height:22px;padding:0 6px}.N3kx7G_compactInput input{font-size:14px;line-height:22px}.N3kx7G_compactTextField{background:var(--dsw-alias-bg-layer-1);min-width:0;box-shadow:0 0 0 .5px var(--dsw-elevation-stroke-color);border:0;border-radius:4px;flex:auto;padding:0 6px;display:inline-flex}.N3kx7G_compactTextField:focus-within{--dsw-elevation-stroke-color:var(--dsw-alias-brand-primary)}.N3kx7G_compactTextField>textarea{resize:none;field-sizing:content;width:100%;min-height:20px;max-height:240px;color:var(--dsw-alias-label-primary);background:0 0;border:0;outline:none;flex:1;padding:0;font-family:inherit;font-size:14px;line-height:22px}.N3kx7G_lineComment{text-overflow:ellipsis;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-family:inherit;font-size:12px;overflow:hidden}.N3kx7G_lineInvalid{text-overflow:ellipsis;min-width:0;color:var(--dsw-alias-state-error-primary);flex:0 auto;font-family:inherit;font-size:12px;overflow:hidden}.N3kx7G_lineActions{opacity:0;flex:none;align-items:center;gap:4px;display:inline-flex}.N3kx7G_lineActions>button{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.N3kx7G_lineActions>button:hover{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary)}.N3kx7G_lineActions>button:disabled{cursor:not-allowed;color:var(--dsw-alias-label-dimmed)}.N3kx7G_hoverActions[data-editing=true]{opacity:1;gap:6px}.N3kx7G_hoverActions[data-editing=true]>button{box-shadow:0 0 0 .5px var(--dsw-elevation-stroke-color);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}.N3kx7G_hoverActions[data-editing=true]>button:first-of-type{color:var(--dsw-alias-state-success-primary)}.N3kx7G_addWrap{flex:auto;align-items:center;gap:6px;min-width:0;margin-left:6px;display:inline-flex;position:relative}.N3kx7G_addWrap[data-invalid=true] input{border-color:var(--dsw-alias-state-error-primary)}.N3kx7G_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}";
1452
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/schema-form/schema-form.module.css.mjs
1453
+ const css$14 = ".oZhWGq_editorRoot{width:100%;color:var(--dsw-alias-label-primary);flex-direction:column;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:14px;line-height:22px;display:flex}.oZhWGq_lineRow{white-space:nowrap;align-items:flex-start;gap:6px;min-height:22px;padding-right:8px;display:flex}.oZhWGq_lineRow:hover{background:var(--dsw-alias-bg-layer-2)}.oZhWGq_lineRow[data-selected=true]{background:var(--dsw-alias-bg-layer-3)}.oZhWGq_lineRow[data-dirty=true]{box-shadow:inset 2px 0 0 var(--dsw-alias-brand-primary)}.oZhWGq_lineRow[data-overridden=true]{box-shadow:inset 2px 0 0 var(--dsw-elevation-stroke-color)}.oZhWGq_lineRow[data-dirty=true] [data-role=key],.oZhWGq_lineRow[data-overridden=true] [data-role=key]{color:var(--dsw-alias-brand-primary)}.oZhWGq_lineRow[data-invalid=true]{background:color-mix(in srgb, var(--dsw-alias-state-error-secondary) 12%, transparent);box-shadow:inset 2px 0 0 var(--dsw-alias-state-error-primary)}.oZhWGq_lineRow[data-invalid=true] [data-role=key]{color:var(--dsw-alias-state-error-primary)}.oZhWGq_lineRow:hover [data-role=actions]{opacity:1}.oZhWGq_lineBody{flex:1;align-items:center;gap:6px;min-width:0;min-height:22px;display:flex}.oZhWGq_lineNumber{text-align:right;width:32px;color:var(--dsw-alias-label-caption);user-select:none;cursor:pointer;flex:none;line-height:22px}.oZhWGq_lineFold{width:14px;height:22px;color:var(--dsw-alias-label-caption);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.oZhWGq_lineFold:hover{color:var(--dsw-alias-label-secondary)}.oZhWGq_lineFoldSpacer{flex:none;width:14px}.oZhWGq_lineKey{color:var(--dsw-alias-label-primary);flex:none}.oZhWGq_lineKey[data-index=true]{color:var(--dsw-alias-label-caption)}.oZhWGq_lineToken{color:var(--dsw-alias-label-caption);flex:none}.oZhWGq_lineValue{text-overflow:ellipsis;cursor:text;min-width:0;color:var(--dsw-alias-state-business-primary);display:block;overflow:hidden}.oZhWGq_lineValue[data-tone=number]{color:var(--dsw-alias-state-warn-primary)}.oZhWGq_lineValue[data-tone=boolean]{color:var(--dsw-alias-state-success-primary)}.oZhWGq_lineValue[data-tone=empty]{color:var(--dsw-alias-label-caption)}.oZhWGq_valueSlot{flex:0 auto;min-width:0;display:block;overflow:hidden}.oZhWGq_valueTrigger{min-width:0;font:inherit;text-align:left;cursor:pointer;color:var(--dsw-alias-label-caption);background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.oZhWGq_valueTrigger:disabled{cursor:default}.oZhWGq_valueTrigger:focus-visible{outline:none}.oZhWGq_compactInput{flex:auto;min-width:0;display:inline-flex}.oZhWGq_compactInput>span{border-radius:4px;width:100%;height:22px;padding:0 6px}.oZhWGq_compactInput input{font-size:14px;line-height:22px}.oZhWGq_compactTextField{background:var(--dsw-alias-bg-layer-1);min-width:0;box-shadow:0 0 0 .5px var(--dsw-elevation-stroke-color);border:0;border-radius:4px;flex:auto;padding:0 6px;display:inline-flex}.oZhWGq_compactTextField:focus-within{--dsw-elevation-stroke-color:var(--dsw-alias-brand-primary)}.oZhWGq_compactTextField>textarea{resize:none;field-sizing:content;width:100%;min-height:20px;max-height:240px;color:var(--dsw-alias-label-primary);background:0 0;border:0;outline:none;flex:1;padding:0;font-family:inherit;font-size:14px;line-height:22px}.oZhWGq_lineComment{text-overflow:ellipsis;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-family:inherit;font-size:12px;overflow:hidden}.oZhWGq_lineInvalid{text-overflow:ellipsis;min-width:0;color:var(--dsw-alias-state-error-primary);flex:0 auto;font-family:inherit;font-size:12px;overflow:hidden}.oZhWGq_lineActions{opacity:0;flex:none;align-items:center;gap:4px;display:inline-flex}.oZhWGq_lineActions>button{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.oZhWGq_lineActions>button:hover{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary)}.oZhWGq_lineActions>button:disabled{cursor:not-allowed;color:var(--dsw-alias-label-dimmed)}.oZhWGq_hoverActions[data-editing=true]{opacity:1;gap:6px}.oZhWGq_hoverActions[data-editing=true]>button{box-shadow:0 0 0 .5px var(--dsw-elevation-stroke-color);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}.oZhWGq_hoverActions[data-editing=true]>button:first-of-type{color:var(--dsw-alias-state-success-primary)}.oZhWGq_addWrap{flex:auto;align-items:center;gap:6px;min-width:0;margin-left:6px;display:inline-flex;position:relative}.oZhWGq_addWrap[data-invalid=true] input{border-color:var(--dsw-alias-state-error-primary)}.oZhWGq_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}";
1463
1454
  const tagId$14 = "@morlay/dsh-client-modules/schema-form.module.css";
1464
1455
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/schema-form.module.css\"]") === null) {
1465
1456
  const tag = document.createElement("style");
@@ -1469,28 +1460,27 @@ window.__ModuleLoader__.load({
1469
1460
  document.head.appendChild(tag);
1470
1461
  }
1471
1462
  var schema_form_module_css_default = {
1472
- "lineNumber": "N3kx7G_lineNumber",
1473
- "lineInvalid": "N3kx7G_lineInvalid",
1474
- "lineActions": "N3kx7G_lineActions",
1475
- "valueSlot": "N3kx7G_valueSlot",
1476
- "hoverActions": "N3kx7G_hoverActions",
1477
- "addWrap": "N3kx7G_addWrap",
1478
- "lineValue": "N3kx7G_lineValue",
1479
- "hint": "N3kx7G_hint",
1480
- "lineKey": "N3kx7G_lineKey",
1481
- "compactTextField": "N3kx7G_compactTextField",
1482
- "lineComment": "N3kx7G_lineComment",
1483
- "compactInput": "N3kx7G_compactInput",
1484
- "lineFold": "N3kx7G_lineFold",
1485
- "lineBody": "N3kx7G_lineBody",
1486
- "lineToken": "N3kx7G_lineToken",
1487
- "valueTrigger": "N3kx7G_valueTrigger",
1488
- "editorRoot": "N3kx7G_editorRoot",
1489
- "lineRow": "N3kx7G_lineRow",
1490
- "lineFoldSpacer": "N3kx7G_lineFoldSpacer"
1463
+ "valueSlot": "oZhWGq_valueSlot",
1464
+ "compactTextField": "oZhWGq_compactTextField",
1465
+ "lineNumber": "oZhWGq_lineNumber",
1466
+ "addWrap": "oZhWGq_addWrap",
1467
+ "lineBody": "oZhWGq_lineBody",
1468
+ "compactInput": "oZhWGq_compactInput",
1469
+ "lineToken": "oZhWGq_lineToken",
1470
+ "lineFold": "oZhWGq_lineFold",
1471
+ "lineComment": "oZhWGq_lineComment",
1472
+ "lineRow": "oZhWGq_lineRow",
1473
+ "hoverActions": "oZhWGq_hoverActions",
1474
+ "lineKey": "oZhWGq_lineKey",
1475
+ "lineFoldSpacer": "oZhWGq_lineFoldSpacer",
1476
+ "lineValue": "oZhWGq_lineValue",
1477
+ "lineActions": "oZhWGq_lineActions",
1478
+ "hint": "oZhWGq_hint",
1479
+ "editorRoot": "oZhWGq_editorRoot",
1480
+ "valueTrigger": "oZhWGq_valueTrigger",
1481
+ "lineInvalid": "oZhWGq_lineInvalid"
1491
1482
  };
1492
- //#endregion
1493
- //#region ../dsh-client-ui-primitives/src/client/schema-form/TruncatedTooltip.tsx
1483
+ // ../dsh-client-ui-primitives/src/client/schema-form/TruncatedTooltip.tsx
1494
1484
  function TruncatedTooltip({ label, children }) {
1495
1485
  const node = (0, react.useRef)(null);
1496
1486
  const watch = (0, react.useRef)(null);
@@ -1518,8 +1508,7 @@ window.__ModuleLoader__.load({
1518
1508
  children: (0, react.cloneElement)(children, { ref: anchor })
1519
1509
  });
1520
1510
  }
1521
- //#endregion
1522
- //#region ../dsh-client-ui-primitives/src/client/schema-form/value.tsx
1511
+ // ../dsh-client-ui-primitives/src/client/schema-form/value.tsx
1523
1512
  function valueText(value) {
1524
1513
  if (value === void 0 || value === null) return "";
1525
1514
  if (typeof value === "string") return value;
@@ -1610,8 +1599,7 @@ window.__ModuleLoader__.load({
1610
1599
  function SchemaFieldDefault({ owner }) {
1611
1600
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineValue, { owner });
1612
1601
  }
1613
- //#endregion
1614
- //#region ../dsh-client-ui-primitives/src/client/schema-form/fields.tsx
1602
+ // ../dsh-client-ui-primitives/src/client/schema-form/fields.tsx
1615
1603
  function parseFor(node, t) {
1616
1604
  switch (node.type) {
1617
1605
  case "number": return (text) => {
@@ -1723,13 +1711,11 @@ window.__ModuleLoader__.load({
1723
1711
  });
1724
1712
  }
1725
1713
  }
1726
- //#endregion
1727
- //#region ../dsh-client-ui-primitives/src/client/controls/classes.ts
1714
+ // ../dsh-client-ui-primitives/src/client/controls/classes.ts
1728
1715
  function classes(...names) {
1729
1716
  return names.filter((name) => typeof name === "string" && name !== "").join(" ");
1730
1717
  }
1731
- //#endregion
1732
- //#region ../dsh-client-ui-primitives/src/client/schema-form/Editor.tsx
1718
+ // ../dsh-client-ui-primitives/src/client/schema-form/Editor.tsx
1733
1719
  function Editor(props) {
1734
1720
  const { ns, state, face, t, resolveText, renderField } = props;
1735
1721
  const [toggled, setToggled] = (0, react.useState)(() => /* @__PURE__ */ new Set());
@@ -2268,8 +2254,7 @@ window.__ModuleLoader__.load({
2268
2254
  ]
2269
2255
  });
2270
2256
  }
2271
- //#endregion
2272
- //#region ../dsh-client-ui-primitives/src/client/schema-form/SchemaForm.tsx
2257
+ // ../dsh-client-ui-primitives/src/client/schema-form/SchemaForm.tsx
2273
2258
  function SchemaForm(props) {
2274
2259
  const { ns, face, t, resolveText, renderSlotChain } = props;
2275
2260
  const store = face.hooks.schemaForm;
@@ -2318,8 +2303,7 @@ window.__ModuleLoader__.load({
2318
2303
  owner.onEditText(text, parse ?? parseFor(owner.node, t));
2319
2304
  };
2320
2305
  }
2321
- //#endregion
2322
- //#region ../dsh-client-ui-primitives/src/client/schema-form/index.ts
2306
+ // ../dsh-client-ui-primitives/src/client/schema-form/index.ts
2323
2307
  const NS = "settings.schema-form";
2324
2308
  const inject$1 = [
2325
2309
  "slots",
@@ -2430,9 +2414,8 @@ window.__ModuleLoader__.load({
2430
2414
  };
2431
2415
  }, "ui-schema-form: row registrations");
2432
2416
  }
2433
- //#endregion
2434
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/layout/layout.module.css.mjs
2435
- const css$13 = "._7Ar2dq_stack{flex-direction:column;min-width:0;display:flex}._7Ar2dq_row{flex-direction:row;align-items:center;min-width:0;display:flex}._7Ar2dq_gap0{gap:0}._7Ar2dq_gap2{gap:2px}._7Ar2dq_gap4{gap:4px}._7Ar2dq_gap6{gap:6px}._7Ar2dq_gap8{gap:8px}._7Ar2dq_gap10{gap:10px}._7Ar2dq_gap12{gap:12px}._7Ar2dq_gap14{gap:14px}._7Ar2dq_gap16{gap:16px}._7Ar2dq_alignStart{align-items:flex-start}._7Ar2dq_alignCenter{align-items:center}._7Ar2dq_alignEnd{align-items:flex-end}._7Ar2dq_justifyBetween{justify-content:space-between}._7Ar2dq_justifyEnd{justify-content:flex-end}._7Ar2dq_justifyCenter{justify-content:center}._7Ar2dq_wrap{flex-wrap:wrap}._7Ar2dq_grow{flex:auto;min-width:0}._7Ar2dq_push{margin-left:auto}._7Ar2dq_fill{box-sizing:border-box;width:100%;height:100%;overflow:hidden}._7Ar2dq_scroll{flex:auto;min-height:0;overflow-y:auto}._7Ar2dq_plain{margin:0;padding:0;list-style:none}._7Ar2dq_padNone{padding:0}._7Ar2dq_padCard{padding:8px 12px}._7Ar2dq_padBody{padding:8px 0}._7Ar2dq_padPage{padding:24px 28px}._7Ar2dq_padRow{padding:10px 12px}._7Ar2dq_padBlocking{padding:32px 40px}._7Ar2dq_text{margin:0}._7Ar2dq_sizeXs{font-size:11px;line-height:1.5}._7Ar2dq_sizeSm{font-size:12px;line-height:18px}._7Ar2dq_sizeMd{font-size:13px;line-height:20px}._7Ar2dq_sizeBase{font-size:14px;line-height:24px}._7Ar2dq_sizeLg{font-size:16px;line-height:24px}._7Ar2dq_tonePrimary{color:var(--dsw-alias-label-primary)}._7Ar2dq_toneSecondary{color:var(--dsw-alias-label-secondary)}._7Ar2dq_toneTertiary{color:var(--dsw-alias-label-tertiary)}._7Ar2dq_toneDanger{color:var(--dsw-alias-label-error,var(--dsw-alias-label-primary))}._7Ar2dq_weightMedium{font-weight:500}._7Ar2dq_strong{font-weight:600}._7Ar2dq_mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}._7Ar2dq_truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._7Ar2dq_tabular{font-variant-numeric:tabular-nums}._7Ar2dq_boxed{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);border-radius:10px}._7Ar2dq_fixed{flex:none}._7Ar2dq_gapWide{gap:6px 20px}._7Ar2dq_narrow{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%)}._7Ar2dq_wSearch{flex:none;width:360px;max-width:100%}";
2417
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/layout/layout.module.css.mjs
2418
+ const css$13 = ".uxI0LG_stack{flex-direction:column;min-width:0;display:flex}.uxI0LG_row{flex-direction:row;align-items:center;min-width:0;display:flex}.uxI0LG_gap0{gap:0}.uxI0LG_gap2{gap:2px}.uxI0LG_gap4{gap:4px}.uxI0LG_gap6{gap:6px}.uxI0LG_gap8{gap:8px}.uxI0LG_gap10{gap:10px}.uxI0LG_gap12{gap:12px}.uxI0LG_gap14{gap:14px}.uxI0LG_gap16{gap:16px}.uxI0LG_alignStart{align-items:flex-start}.uxI0LG_alignCenter{align-items:center}.uxI0LG_alignEnd{align-items:flex-end}.uxI0LG_justifyBetween{justify-content:space-between}.uxI0LG_justifyEnd{justify-content:flex-end}.uxI0LG_justifyCenter{justify-content:center}.uxI0LG_wrap{flex-wrap:wrap}.uxI0LG_grow{flex:auto;min-width:0}.uxI0LG_push{margin-left:auto}.uxI0LG_fill{box-sizing:border-box;width:100%;height:100%;overflow:hidden}.uxI0LG_scroll{flex:auto;min-height:0;overflow-y:auto}.uxI0LG_plain{margin:0;padding:0;list-style:none}.uxI0LG_padNone{padding:0}.uxI0LG_padCard{padding:8px 12px}.uxI0LG_padBody{padding:8px 0}.uxI0LG_padPage{padding:24px 28px}.uxI0LG_padRow{padding:10px 12px}.uxI0LG_padBlocking{padding:32px 40px}.uxI0LG_text{margin:0}.uxI0LG_sizeXs{font-size:11px;line-height:1.5}.uxI0LG_sizeSm{font-size:12px;line-height:18px}.uxI0LG_sizeMd{font-size:13px;line-height:20px}.uxI0LG_sizeBase{font-size:14px;line-height:24px}.uxI0LG_sizeLg{font-size:16px;line-height:24px}.uxI0LG_tonePrimary{color:var(--dsw-alias-label-primary)}.uxI0LG_toneSecondary{color:var(--dsw-alias-label-secondary)}.uxI0LG_toneTertiary{color:var(--dsw-alias-label-tertiary)}.uxI0LG_toneDanger{color:var(--dsw-alias-label-error,var(--dsw-alias-label-primary))}.uxI0LG_weightMedium{font-weight:500}.uxI0LG_strong{font-weight:600}.uxI0LG_mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.uxI0LG_truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uxI0LG_tabular{font-variant-numeric:tabular-nums}.uxI0LG_boxed{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);border-radius:10px}.uxI0LG_fixed{flex:none}.uxI0LG_gapWide{gap:6px 20px}.uxI0LG_narrow{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%)}.uxI0LG_wSearch{flex:none;width:360px;max-width:100%}";
2436
2419
  const tagId$13 = "@morlay/dsh-client-modules/layout.module.css";
2437
2420
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/layout.module.css\"]") === null) {
2438
2421
  const tag = document.createElement("style");
@@ -2442,58 +2425,57 @@ window.__ModuleLoader__.load({
2442
2425
  document.head.appendChild(tag);
2443
2426
  }
2444
2427
  var layout_module_css_default = {
2445
- "padNone": "_7Ar2dq_padNone",
2446
- "stack": "_7Ar2dq_stack",
2447
- "gap2": "_7Ar2dq_gap2",
2448
- "justifyEnd": "_7Ar2dq_justifyEnd",
2449
- "justifyCenter": "_7Ar2dq_justifyCenter",
2450
- "padRow": "_7Ar2dq_padRow",
2451
- "push": "_7Ar2dq_push",
2452
- "padBlocking": "_7Ar2dq_padBlocking",
2453
- "sizeXs": "_7Ar2dq_sizeXs",
2454
- "tonePrimary": "_7Ar2dq_tonePrimary",
2455
- "weightMedium": "_7Ar2dq_weightMedium",
2456
- "alignStart": "_7Ar2dq_alignStart",
2457
- "text": "_7Ar2dq_text",
2458
- "gap6": "_7Ar2dq_gap6",
2459
- "mono": "_7Ar2dq_mono",
2460
- "tabular": "_7Ar2dq_tabular",
2461
- "padCard": "_7Ar2dq_padCard",
2462
- "sizeBase": "_7Ar2dq_sizeBase",
2463
- "boxed": "_7Ar2dq_boxed",
2464
- "gap10": "_7Ar2dq_gap10",
2465
- "gap12": "_7Ar2dq_gap12",
2466
- "toneSecondary": "_7Ar2dq_toneSecondary",
2467
- "toneTertiary": "_7Ar2dq_toneTertiary",
2468
- "toneDanger": "_7Ar2dq_toneDanger",
2469
- "alignCenter": "_7Ar2dq_alignCenter",
2470
- "sizeLg": "_7Ar2dq_sizeLg",
2471
- "fixed": "_7Ar2dq_fixed",
2472
- "wSearch": "_7Ar2dq_wSearch",
2473
- "justifyBetween": "_7Ar2dq_justifyBetween",
2474
- "gapWide": "_7Ar2dq_gapWide",
2475
- "scroll": "_7Ar2dq_scroll",
2476
- "gap0": "_7Ar2dq_gap0",
2477
- "padPage": "_7Ar2dq_padPage",
2478
- "gap14": "_7Ar2dq_gap14",
2479
- "plain": "_7Ar2dq_plain",
2480
- "gap8": "_7Ar2dq_gap8",
2481
- "strong": "_7Ar2dq_strong",
2482
- "grow": "_7Ar2dq_grow",
2483
- "alignEnd": "_7Ar2dq_alignEnd",
2484
- "fill": "_7Ar2dq_fill",
2485
- "padBody": "_7Ar2dq_padBody",
2486
- "gap16": "_7Ar2dq_gap16",
2487
- "wrap": "_7Ar2dq_wrap",
2488
- "narrow": "_7Ar2dq_narrow",
2489
- "row": "_7Ar2dq_row",
2490
- "gap4": "_7Ar2dq_gap4",
2491
- "sizeSm": "_7Ar2dq_sizeSm",
2492
- "sizeMd": "_7Ar2dq_sizeMd",
2493
- "truncate": "_7Ar2dq_truncate"
2428
+ "row": "uxI0LG_row",
2429
+ "gap4": "uxI0LG_gap4",
2430
+ "gap14": "uxI0LG_gap14",
2431
+ "gap16": "uxI0LG_gap16",
2432
+ "alignEnd": "uxI0LG_alignEnd",
2433
+ "padNone": "uxI0LG_padNone",
2434
+ "push": "uxI0LG_push",
2435
+ "sizeMd": "uxI0LG_sizeMd",
2436
+ "stack": "uxI0LG_stack",
2437
+ "mono": "uxI0LG_mono",
2438
+ "truncate": "uxI0LG_truncate",
2439
+ "justifyCenter": "uxI0LG_justifyCenter",
2440
+ "padBody": "uxI0LG_padBody",
2441
+ "tonePrimary": "uxI0LG_tonePrimary",
2442
+ "tabular": "uxI0LG_tabular",
2443
+ "alignCenter": "uxI0LG_alignCenter",
2444
+ "boxed": "uxI0LG_boxed",
2445
+ "padCard": "uxI0LG_padCard",
2446
+ "sizeSm": "uxI0LG_sizeSm",
2447
+ "grow": "uxI0LG_grow",
2448
+ "padPage": "uxI0LG_padPage",
2449
+ "fill": "uxI0LG_fill",
2450
+ "alignStart": "uxI0LG_alignStart",
2451
+ "gap10": "uxI0LG_gap10",
2452
+ "justifyEnd": "uxI0LG_justifyEnd",
2453
+ "gap8": "uxI0LG_gap8",
2454
+ "gap6": "uxI0LG_gap6",
2455
+ "plain": "uxI0LG_plain",
2456
+ "padRow": "uxI0LG_padRow",
2457
+ "gap12": "uxI0LG_gap12",
2458
+ "text": "uxI0LG_text",
2459
+ "sizeLg": "uxI0LG_sizeLg",
2460
+ "toneDanger": "uxI0LG_toneDanger",
2461
+ "strong": "uxI0LG_strong",
2462
+ "fixed": "uxI0LG_fixed",
2463
+ "justifyBetween": "uxI0LG_justifyBetween",
2464
+ "gapWide": "uxI0LG_gapWide",
2465
+ "gap2": "uxI0LG_gap2",
2466
+ "wrap": "uxI0LG_wrap",
2467
+ "wSearch": "uxI0LG_wSearch",
2468
+ "scroll": "uxI0LG_scroll",
2469
+ "sizeXs": "uxI0LG_sizeXs",
2470
+ "gap0": "uxI0LG_gap0",
2471
+ "sizeBase": "uxI0LG_sizeBase",
2472
+ "toneSecondary": "uxI0LG_toneSecondary",
2473
+ "weightMedium": "uxI0LG_weightMedium",
2474
+ "toneTertiary": "uxI0LG_toneTertiary",
2475
+ "padBlocking": "uxI0LG_padBlocking",
2476
+ "narrow": "uxI0LG_narrow"
2494
2477
  };
2495
- //#endregion
2496
- //#region ../dsh-client-ui-primitives/src/client/layout/scales.ts
2478
+ // ../dsh-client-ui-primitives/src/client/layout/scales.ts
2497
2479
  function gapClass(css, gap) {
2498
2480
  if (gap === void 0) return void 0;
2499
2481
  return gap === "wide" ? css.gapWide : css[`gap${gap}`];
@@ -2532,9 +2514,8 @@ window.__ModuleLoader__.load({
2532
2514
  children
2533
2515
  });
2534
2516
  });
2535
- //#endregion
2536
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/settings-form/SettingsFieldRow.module.css.mjs
2537
- const css$12 = ".Il1Dtq_row{flex-direction:column;display:flex}.Il1Dtq_row[data-divider=true]{border-top:.5px solid var(--dsw-alias-border-l2)}.Il1Dtq_body{flex-direction:column;gap:6px;padding:12px 0;display:flex}.Il1Dtq_inline{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.Il1Dtq_text{flex-direction:column;gap:2px;min-width:0;display:flex}.Il1Dtq_label{color:var(--dsw-alias-label-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.Il1Dtq_badge{corner-shape:round;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.Il1Dtq_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.Il1Dtq_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.Il1Dtq_reset:disabled{cursor:default}.Il1Dtq_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.Il1Dtq_invalid{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}";
2517
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/settings-form/SettingsFieldRow.module.css.mjs
2518
+ const css$12 = "._0Kpzea_row{flex-direction:column;display:flex}._0Kpzea_row[data-divider=true]{border-top:.5px solid var(--dsw-alias-border-l2)}._0Kpzea_body{flex-direction:column;gap:6px;padding:12px 0;display:flex}._0Kpzea_inline{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}._0Kpzea_text{flex-direction:column;gap:2px;min-width:0;display:flex}._0Kpzea_label{color:var(--dsw-alias-label-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.5;display:flex}._0Kpzea_badge{corner-shape:round;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}._0Kpzea_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}._0Kpzea_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}._0Kpzea_reset:disabled{cursor:default}._0Kpzea_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}._0Kpzea_invalid{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}";
2538
2519
  const tagId$12 = "@morlay/dsh-client-modules/SettingsFieldRow.module.css";
2539
2520
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/SettingsFieldRow.module.css\"]") === null) {
2540
2521
  const tag = document.createElement("style");
@@ -2543,9 +2524,8 @@ window.__ModuleLoader__.load({
2543
2524
  tag.textContent = css$12;
2544
2525
  document.head.appendChild(tag);
2545
2526
  }
2546
- //#endregion
2547
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/Bubble.module.css.mjs
2548
- const css$11 = ".Iy2DYG_bubble{background:var(--dsw-specific-bubble);border-radius:var(--dsw-radius-xl);max-width:100%;font-size:var(--dsh-content-font-size,14px);line-height:calc(22px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;padding:10px 16px}";
2527
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/Bubble.module.css.mjs
2528
+ const css$11 = ".LQ5bkq_bubble{background:var(--dsw-specific-bubble);border-radius:var(--dsw-radius-xl);max-width:100%;font-size:var(--dsh-content-font-size,14px);line-height:calc(22px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;padding:10px 16px}";
2549
2529
  const tagId$11 = "@morlay/dsh-client-modules/Bubble.module.css";
2550
2530
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/Bubble.module.css\"]") === null) {
2551
2531
  const tag = document.createElement("style");
@@ -2554,9 +2534,8 @@ window.__ModuleLoader__.load({
2554
2534
  tag.textContent = css$11;
2555
2535
  document.head.appendChild(tag);
2556
2536
  }
2557
- //#endregion
2558
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/Button.module.css.mjs
2559
- const css$10 = ".LWgVXW_label{white-space:nowrap}.LWgVXW_danger{--dsw-alias-button-primary-fill:var(--dsw-alias-state-error-primary)}";
2537
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/Button.module.css.mjs
2538
+ const css$10 = ".SBA8ka_label{white-space:nowrap}.SBA8ka_danger{--dsw-alias-button-primary-fill:var(--dsw-alias-state-error-primary)}";
2560
2539
  const tagId$10 = "@morlay/dsh-client-modules/Button.module.css";
2561
2540
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/Button.module.css\"]") === null) {
2562
2541
  const tag = document.createElement("style");
@@ -2566,8 +2545,8 @@ window.__ModuleLoader__.load({
2566
2545
  document.head.appendChild(tag);
2567
2546
  }
2568
2547
  var Button_module_css_default = {
2569
- "label": "LWgVXW_label",
2570
- "danger": "LWgVXW_danger"
2548
+ "label": "SBA8ka_label",
2549
+ "danger": "SBA8ka_danger"
2571
2550
  };
2572
2551
  (0, react.forwardRef)(function Button({ className, tone, ...rest }, ref) {
2573
2552
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
@@ -2577,9 +2556,8 @@ window.__ModuleLoader__.load({
2577
2556
  ...rest
2578
2557
  });
2579
2558
  });
2580
- //#endregion
2581
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/DisclosureRow.module.css.mjs
2582
- const css$9 = "._2HN-kW_content{flex:auto;min-width:0}._2HN-kW_contentLayout{align-items:center;gap:8px;width:100%;min-width:0;display:flex}";
2559
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/DisclosureRow.module.css.mjs
2560
+ const css$9 = ".BDL1HG_content{flex:auto;min-width:0}.BDL1HG_contentLayout{align-items:center;gap:8px;width:100%;min-width:0;display:flex}";
2583
2561
  const tagId$9 = "@morlay/dsh-client-modules/DisclosureRow.module.css";
2584
2562
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/DisclosureRow.module.css\"]") === null) {
2585
2563
  const tag = document.createElement("style");
@@ -2588,9 +2566,8 @@ window.__ModuleLoader__.load({
2588
2566
  tag.textContent = css$9;
2589
2567
  document.head.appendChild(tag);
2590
2568
  }
2591
- //#endregion
2592
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/SeatButton.module.css.mjs
2593
- const css$8 = ".JqQ4qG_seat{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(100%,240px);min-height:28px;color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.JqQ4qG_seat:not(:disabled):hover,.JqQ4qG_seat[aria-expanded=true],.JqQ4qG_expanded{background:var(--dsw-alias-interactive-bg-hover)}.JqQ4qG_seat:disabled{cursor:default;color:var(--dsw-alias-label-quaternary)}.JqQ4qG_icon{color:var(--dsw-alias-label-primary);flex:none;align-items:center;display:inline-flex}.JqQ4qG_label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.JqQ4qG_chevron{color:var(--dsw-alias-label-caption);flex:none;display:inline-flex}";
2569
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/SeatButton.module.css.mjs
2570
+ const css$8 = ".io5HbW_seat{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(100%,240px);min-height:28px;color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.io5HbW_seat:not(:disabled):hover,.io5HbW_seat[aria-expanded=true],.io5HbW_expanded{background:var(--dsw-alias-interactive-bg-hover)}.io5HbW_seat:disabled{cursor:default;color:var(--dsw-alias-label-quaternary)}.io5HbW_icon{color:var(--dsw-alias-label-primary);flex:none;align-items:center;display:inline-flex}.io5HbW_label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.io5HbW_chevron{color:var(--dsw-alias-label-caption);flex:none;display:inline-flex}";
2594
2571
  const tagId$8 = "@morlay/dsh-client-modules/SeatButton.module.css";
2595
2572
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/SeatButton.module.css\"]") === null) {
2596
2573
  const tag = document.createElement("style");
@@ -2599,9 +2576,8 @@ window.__ModuleLoader__.load({
2599
2576
  tag.textContent = css$8;
2600
2577
  document.head.appendChild(tag);
2601
2578
  }
2602
- //#endregion
2603
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/Spinner.module.css.mjs
2604
- const css$7 = "._1uNobG_spinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite _1uNobG_spin}@keyframes _1uNobG_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}";
2579
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/Spinner.module.css.mjs
2580
+ const css$7 = ".If7fBq_spinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite If7fBq_spin}@keyframes If7fBq_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}";
2605
2581
  const tagId$7 = "@morlay/dsh-client-modules/Spinner.module.css";
2606
2582
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/Spinner.module.css\"]") === null) {
2607
2583
  const tag = document.createElement("style");
@@ -2610,9 +2586,8 @@ window.__ModuleLoader__.load({
2610
2586
  tag.textContent = css$7;
2611
2587
  document.head.appendChild(tag);
2612
2588
  }
2613
- //#endregion
2614
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/TimeLabel.module.css.mjs
2615
- const css$6 = ".P8Yiia_label{color:var(--dsw-alias-label-tertiary);white-space:nowrap;opacity:0;padding:0;font-size:14px;line-height:24px;transition:opacity 80ms}[data-time-hover-root]:hover .P8Yiia_label,[data-time-hover-root]:focus-within .P8Yiia_label{opacity:1}";
2589
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/TimeLabel.module.css.mjs
2590
+ const css$6 = ".rbYIyq_label{color:var(--dsw-alias-label-tertiary);white-space:nowrap;opacity:0;padding:0;font-size:14px;line-height:24px;transition:opacity 80ms}[data-time-hover-root]:hover .rbYIyq_label,[data-time-hover-root]:focus-within .rbYIyq_label{opacity:1}";
2616
2591
  const tagId$6 = "@morlay/dsh-client-modules/TimeLabel.module.css";
2617
2592
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/TimeLabel.module.css\"]") === null) {
2618
2593
  const tag = document.createElement("style");
@@ -2621,9 +2596,8 @@ window.__ModuleLoader__.load({
2621
2596
  tag.textContent = css$6;
2622
2597
  document.head.appendChild(tag);
2623
2598
  }
2624
- //#endregion
2625
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/VisuallyHidden.module.css.mjs
2626
- const css$5 = ".d5ueOG_hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
2599
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/VisuallyHidden.module.css.mjs
2600
+ const css$5 = ".UjjB8a_hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
2627
2601
  const tagId$5 = "@morlay/dsh-client-modules/VisuallyHidden.module.css";
2628
2602
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/VisuallyHidden.module.css\"]") === null) {
2629
2603
  const tag = document.createElement("style");
@@ -2632,9 +2606,8 @@ window.__ModuleLoader__.load({
2632
2606
  tag.textContent = css$5;
2633
2607
  document.head.appendChild(tag);
2634
2608
  }
2635
- //#endregion
2636
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/IconButton.module.css.mjs
2637
- const css$4 = ".AibFna_iconButton{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);border-radius:var(--dsw-radius-sm);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.AibFna_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.AibFna_iconButton:disabled{cursor:not-allowed;opacity:.4}.AibFna_iconButton:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.AibFna_sm{width:20px;height:20px;padding:0}.AibFna_circle{color:var(--dsw-alias-label-tertiary);border-radius:28px;padding:6px}.AibFna_circle:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}";
2609
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/IconButton.module.css.mjs
2610
+ const css$4 = ".G842ma_iconButton{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);border-radius:var(--dsw-radius-sm);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.G842ma_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.G842ma_iconButton:disabled{cursor:not-allowed;opacity:.4}.G842ma_iconButton:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.G842ma_sm{width:20px;height:20px;padding:0}.G842ma_circle{color:var(--dsw-alias-label-tertiary);border-radius:28px;padding:6px}.G842ma_circle:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}";
2638
2611
  const tagId$4 = "@morlay/dsh-client-modules/IconButton.module.css";
2639
2612
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/IconButton.module.css\"]") === null) {
2640
2613
  const tag = document.createElement("style");
@@ -2643,9 +2616,8 @@ window.__ModuleLoader__.load({
2643
2616
  tag.textContent = css$4;
2644
2617
  document.head.appendChild(tag);
2645
2618
  }
2646
- //#endregion
2647
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/ModelRouteList.module.css.mjs
2648
- const css$3 = "._1vK46q_list{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-lg);gap:6px;min-width:0;max-height:280px;margin:0;padding:10px;display:grid;overflow:auto}._1vK46q_group{gap:6px;display:grid}._1vK46q_group+._1vK46q_group{border-top:.5px solid var(--dsw-alias-border-l3);margin-top:4px;padding-top:10px}._1vK46q_provider{color:var(--dsw-alias-label-tertiary);padding:0 6px;font-size:11px;font-weight:500}._1vK46q_item{border-radius:var(--dsw-radius-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:6px;display:grid}._1vK46q_item:hover{background:var(--dsw-alias-bg-layer-4)}._1vK46q_item:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}._1vK46q_item[aria-disabled=true]{cursor:not-allowed;opacity:.4}._1vK46q_picked{background:var(--dsw-alias-interactive-bg-hover)}._1vK46q_text{min-width:0}._1vK46q_name{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);font-size:13px;display:block;overflow:hidden}._1vK46q_id{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary);margin-top:2px;font-size:11px;display:block;overflow:hidden}._1vK46q_notice{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}._1vK46q_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}";
2619
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/ModelRouteList.module.css.mjs
2620
+ const css$3 = ".aGmQkW_list{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-lg);gap:6px;min-width:0;max-height:280px;margin:0;padding:10px;display:grid;overflow:auto}.aGmQkW_group{gap:6px;display:grid}.aGmQkW_group+.aGmQkW_group{border-top:.5px solid var(--dsw-alias-border-l3);margin-top:4px;padding-top:10px}.aGmQkW_provider{color:var(--dsw-alias-label-tertiary);padding:0 6px;font-size:11px;font-weight:500}.aGmQkW_item{border-radius:var(--dsw-radius-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:6px;display:grid}.aGmQkW_item:hover{background:var(--dsw-alias-bg-layer-4)}.aGmQkW_item:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.aGmQkW_item[aria-disabled=true]{cursor:not-allowed;opacity:.4}.aGmQkW_picked{background:var(--dsw-alias-interactive-bg-hover)}.aGmQkW_text{min-width:0}.aGmQkW_name{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);font-size:13px;display:block;overflow:hidden}.aGmQkW_id{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary);margin-top:2px;font-size:11px;display:block;overflow:hidden}.aGmQkW_notice{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.aGmQkW_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}";
2649
2621
  const tagId$3 = "@morlay/dsh-client-modules/ModelRouteList.module.css";
2650
2622
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/ModelRouteList.module.css\"]") === null) {
2651
2623
  const tag = document.createElement("style");
@@ -2654,9 +2626,8 @@ window.__ModuleLoader__.load({
2654
2626
  tag.textContent = css$3;
2655
2627
  document.head.appendChild(tag);
2656
2628
  }
2657
- //#endregion
2658
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/MultilineField.module.css.mjs
2659
- const css$2 = ".V0rRdq_multiline{box-sizing:border-box;width:100%;min-height:64px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);resize:vertical;padding:6px 12px;font-family:inherit;font-size:13px;line-height:1.5}.V0rRdq_multiline:disabled{cursor:not-allowed;opacity:.4}.V0rRdq_multiline:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}";
2629
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/MultilineField.module.css.mjs
2630
+ const css$2 = ".tafk7W_multiline{box-sizing:border-box;width:100%;min-height:64px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);resize:vertical;padding:6px 12px;font-family:inherit;font-size:13px;line-height:1.5}.tafk7W_multiline:disabled{cursor:not-allowed;opacity:.4}.tafk7W_multiline:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}";
2660
2631
  const tagId$2 = "@morlay/dsh-client-modules/MultilineField.module.css";
2661
2632
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/MultilineField.module.css\"]") === null) {
2662
2633
  const tag = document.createElement("style");
@@ -2665,9 +2636,8 @@ window.__ModuleLoader__.load({
2665
2636
  tag.textContent = css$2;
2666
2637
  document.head.appendChild(tag);
2667
2638
  }
2668
- //#endregion
2669
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/SearchSelect.module.css.mjs
2670
- const css$1 = ".kEYv4q_trigger{white-space:nowrap;height:32px}.kEYv4q_searchRow{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;padding:4px 8px 8px;display:flex}.kEYv4q_searchInput{width:100%;color:var(--dsw-alias-label-primary);background:0 0;border:none;outline:none;padding:2px 0;font-family:inherit;font-size:13px;line-height:1.5}.kEYv4q_empty{color:var(--dsw-alias-label-tertiary);margin:0;padding:8px;font-size:12px;line-height:1.5}";
2639
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/SearchSelect.module.css.mjs
2640
+ const css$1 = ".pNIIcq_trigger{white-space:nowrap;height:32px}.pNIIcq_searchRow{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;padding:4px 8px 8px;display:flex}.pNIIcq_searchInput{width:100%;color:var(--dsw-alias-label-primary);background:0 0;border:none;outline:none;padding:2px 0;font-family:inherit;font-size:13px;line-height:1.5}.pNIIcq_empty{color:var(--dsw-alias-label-tertiary);margin:0;padding:8px;font-size:12px;line-height:1.5}";
2671
2641
  const tagId$1 = "@morlay/dsh-client-modules/SearchSelect.module.css";
2672
2642
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/SearchSelect.module.css\"]") === null) {
2673
2643
  const tag = document.createElement("style");
@@ -2676,9 +2646,8 @@ window.__ModuleLoader__.load({
2676
2646
  tag.textContent = css$1;
2677
2647
  document.head.appendChild(tag);
2678
2648
  }
2679
- //#endregion
2680
- //#region \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin/packages/client/dsh-client-ui-primitives/src/client/controls/TagInput.module.css.mjs
2681
- const css = ".Qg7I9G_row{align-items:flex-start;gap:8px;width:100%;display:flex}.Qg7I9G_anchor{flex:auto;width:100%;min-width:0;display:flex}.Qg7I9G_box{box-sizing:border-box;background:var(--dsw-alias-bg-layer-3);border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);flex-flow:wrap;align-items:center;gap:4px 6px;width:100%;min-height:32px;padding:4px 8px;display:flex}.Qg7I9G_input{min-width:120px;color:var(--dsw-alias-label-primary);background:0 0;border:none;outline:none;flex:120px;padding:2px 0;font-family:inherit;font-size:13px;line-height:1.5}.Qg7I9G_chip{corner-shape:round;white-space:nowrap;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform);border-radius:999px;align-items:center;gap:2px;padding:1px 4px 1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.Qg7I9G_chipRemove{box-sizing:border-box;width:14px;height:14px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.Qg7I9G_chipRemove:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Qg7I9G_chipRemove:disabled{cursor:not-allowed;opacity:.4}.Qg7I9G_chipRemove:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:0}.Qg7I9G_empty{color:var(--dsw-alias-label-tertiary);margin:0;padding:8px;font-size:12px;line-height:1.5}";
2649
+ // \0dsh-css-modules:/Users/morlay/src/github.com/morlay/dsh-plugin-main/packages/client/dsh-client-ui-primitives/src/client/controls/TagInput.module.css.mjs
2650
+ const css = "._0uSpIq_row{align-items:flex-start;gap:8px;width:100%;display:flex}._0uSpIq_anchor{flex:auto;width:100%;min-width:0;display:flex}._0uSpIq_box{box-sizing:border-box;background:var(--dsw-alias-bg-layer-3);border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);flex-flow:wrap;align-items:center;gap:4px 6px;width:100%;min-height:32px;padding:4px 8px;display:flex}._0uSpIq_input{min-width:120px;color:var(--dsw-alias-label-primary);background:0 0;border:none;outline:none;flex:120px;padding:2px 0;font-family:inherit;font-size:13px;line-height:1.5}._0uSpIq_chip{corner-shape:round;white-space:nowrap;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform);border-radius:999px;align-items:center;gap:2px;padding:1px 4px 1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}._0uSpIq_chipRemove{box-sizing:border-box;width:14px;height:14px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}._0uSpIq_chipRemove:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._0uSpIq_chipRemove:disabled{cursor:not-allowed;opacity:.4}._0uSpIq_chipRemove:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:0}._0uSpIq_empty{color:var(--dsw-alias-label-tertiary);margin:0;padding:8px;font-size:12px;line-height:1.5}";
2682
2651
  const tagId = "@morlay/dsh-client-modules/TagInput.module.css";
2683
2652
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"@morlay/dsh-client-modules/TagInput.module.css\"]") === null) {
2684
2653
  const tag = document.createElement("style");
@@ -2687,8 +2656,7 @@ window.__ModuleLoader__.load({
2687
2656
  tag.textContent = css;
2688
2657
  document.head.appendChild(tag);
2689
2658
  }
2690
- //#endregion
2691
- //#region ../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
2659
+ // ../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
2692
2660
  /**
2693
2661
  * @typedef {import('mdast').Nodes} Nodes
2694
2662
  *
@@ -2769,8 +2737,7 @@ window.__ModuleLoader__.load({
2769
2737
  function node(value) {
2770
2738
  return Boolean(value && typeof value === "object");
2771
2739
  }
2772
- //#endregion
2773
- //#region ../../../node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.dom.js
2740
+ // ../../../node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.dom.js
2774
2741
  const element = document.createElement("i");
2775
2742
  /**
2776
2743
  * @param {string} value
@@ -2783,8 +2750,7 @@ window.__ModuleLoader__.load({
2783
2750
  if (character.charCodeAt(character.length - 1) === 59 && value !== "semi") return false;
2784
2751
  return character === characterReference ? false : character;
2785
2752
  }
2786
- //#endregion
2787
- //#region ../../../node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js
2753
+ // ../../../node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js
2788
2754
  /**
2789
2755
  * Like `Array#splice`, but smarter for giant arrays.
2790
2756
  *
@@ -2853,8 +2819,7 @@ window.__ModuleLoader__.load({
2853
2819
  }
2854
2820
  return items;
2855
2821
  }
2856
- //#endregion
2857
- //#region ../../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js
2822
+ // ../../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js
2858
2823
  /**
2859
2824
  * @import {
2860
2825
  * Extension,
@@ -2924,8 +2889,7 @@ window.__ModuleLoader__.load({
2924
2889
  while (++index < list.length) (list[index].add === "after" ? existing : before).push(list[index]);
2925
2890
  splice(existing, 0, 0, before);
2926
2891
  }
2927
- //#endregion
2928
- //#region ../../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js
2892
+ // ../../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js
2929
2893
  /**
2930
2894
  * Turn the number (in string form as either hexa- or plain decimal) coming from
2931
2895
  * a numeric character reference into a character.
@@ -2945,8 +2909,7 @@ window.__ModuleLoader__.load({
2945
2909
  if (code < 9 || code === 11 || code > 13 && code < 32 || code > 126 && code < 160 || code > 55295 && code < 57344 || code > 64975 && code < 65008 || (code & 65535) === 65535 || (code & 65535) === 65534 || code > 1114111) return "�";
2946
2910
  return String.fromCodePoint(code);
2947
2911
  }
2948
- //#endregion
2949
- //#region ../../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js
2912
+ // ../../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js
2950
2913
  /**
2951
2914
  * Normalize an identifier (as found in references, definitions).
2952
2915
  *
@@ -2969,8 +2932,7 @@ window.__ModuleLoader__.load({
2969
2932
  function normalizeIdentifier(value) {
2970
2933
  return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
2971
2934
  }
2972
- //#endregion
2973
- //#region ../../../node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js
2935
+ // ../../../node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js
2974
2936
  /**
2975
2937
  * @import {Code} from 'micromark-util-types'
2976
2938
  */
@@ -3198,8 +3160,7 @@ window.__ModuleLoader__.load({
3198
3160
  }
3199
3161
  }
3200
3162
  ({}).hasOwnProperty;
3201
- //#endregion
3202
- //#region ../../../node_modules/.pnpm/micromark-factory-space@2.1.0/node_modules/micromark-factory-space/index.js
3163
+ // ../../../node_modules/.pnpm/micromark-factory-space@2.1.0/node_modules/micromark-factory-space/index.js
3203
3164
  /**
3204
3165
  * @import {Effects, State, TokenType} from 'micromark-util-types'
3205
3166
  */
@@ -3305,8 +3266,7 @@ window.__ModuleLoader__.load({
3305
3266
  return size >= min ? ok(code) : nok(code);
3306
3267
  }
3307
3268
  }
3308
- //#endregion
3309
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/content.js
3269
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/content.js
3310
3270
  /**
3311
3271
  * @import {
3312
3272
  * InitialConstruct,
@@ -3372,8 +3332,7 @@ window.__ModuleLoader__.load({
3372
3332
  return data;
3373
3333
  }
3374
3334
  }
3375
- //#endregion
3376
- //#region ../../../node_modules/.pnpm/micromark-util-edit-map@1.0.0/node_modules/micromark-util-edit-map/index.js
3335
+ // ../../../node_modules/.pnpm/micromark-util-edit-map@1.0.0/node_modules/micromark-util-edit-map/index.js
3377
3336
  /**
3378
3337
  * @import {Event} from 'micromark-util-types'
3379
3338
  */
@@ -3518,8 +3477,7 @@ window.__ModuleLoader__.load({
3518
3477
  editMap.map.push(change);
3519
3478
  editMap.index.set(at, change);
3520
3479
  }
3521
- //#endregion
3522
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/document.js
3480
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/document.js
3523
3481
  /**
3524
3482
  * @import {
3525
3483
  * Construct,
@@ -3738,8 +3696,7 @@ window.__ModuleLoader__.load({
3738
3696
  function tokenizeContainer(effects, ok, nok) {
3739
3697
  return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3740
3698
  }
3741
- //#endregion
3742
- //#region ../../../node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js
3699
+ // ../../../node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js
3743
3700
  /**
3744
3701
  * @import {Code} from 'micromark-util-types'
3745
3702
  */
@@ -3761,8 +3718,7 @@ window.__ModuleLoader__.load({
3761
3718
  if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) return 1;
3762
3719
  if (unicodePunctuation(code)) return 2;
3763
3720
  }
3764
- //#endregion
3765
- //#region ../../../node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js
3721
+ // ../../../node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js
3766
3722
  /**
3767
3723
  * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'
3768
3724
  */
@@ -3791,8 +3747,7 @@ window.__ModuleLoader__.load({
3791
3747
  }
3792
3748
  return events;
3793
3749
  }
3794
- //#endregion
3795
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/attention.js
3750
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/attention.js
3796
3751
  /**
3797
3752
  * @import {
3798
3753
  * Code,
@@ -3999,8 +3954,7 @@ window.__ModuleLoader__.load({
3999
3954
  point.offset += offset;
4000
3955
  point._bufferIndex += offset;
4001
3956
  }
4002
- //#endregion
4003
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/autolink.js
3957
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/autolink.js
4004
3958
  /**
4005
3959
  * @import {
4006
3960
  * Construct,
@@ -4210,8 +4164,7 @@ window.__ModuleLoader__.load({
4210
4164
  return nok(code);
4211
4165
  }
4212
4166
  }
4213
- //#endregion
4214
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/blank-line.js
4167
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/blank-line.js
4215
4168
  /**
4216
4169
  * @import {
4217
4170
  * Construct,
@@ -4267,8 +4220,7 @@ window.__ModuleLoader__.load({
4267
4220
  return code === null || markdownLineEnding(code) ? ok(code) : nok(code);
4268
4221
  }
4269
4222
  }
4270
- //#endregion
4271
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/block-quote.js
4223
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/block-quote.js
4272
4224
  /**
4273
4225
  * @import {
4274
4226
  * Construct,
@@ -4394,8 +4346,7 @@ window.__ModuleLoader__.load({
4394
4346
  function exit$1(effects) {
4395
4347
  effects.exit("blockQuote");
4396
4348
  }
4397
- //#endregion
4398
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/character-escape.js
4349
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/character-escape.js
4399
4350
  /**
4400
4351
  * @import {
4401
4352
  * Construct,
@@ -4454,8 +4405,7 @@ window.__ModuleLoader__.load({
4454
4405
  return nok(code);
4455
4406
  }
4456
4407
  }
4457
- //#endregion
4458
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/character-reference.js
4408
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/character-reference.js
4459
4409
  /**
4460
4410
  * @import {
4461
4411
  * Code,
@@ -4592,8 +4542,7 @@ window.__ModuleLoader__.load({
4592
4542
  return nok(code);
4593
4543
  }
4594
4544
  }
4595
- //#endregion
4596
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js
4545
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js
4597
4546
  /** @type {Construct} */
4598
4547
  const nonLazyContinuation = {
4599
4548
  partial: true,
@@ -4640,8 +4589,7 @@ window.__ModuleLoader__.load({
4640
4589
  return self.parser.lazy[self.now().line] ? nok(code) : ok(code);
4641
4590
  }
4642
4591
  }
4643
- //#endregion
4644
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-fenced.js
4592
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-fenced.js
4645
4593
  /**
4646
4594
  * @import {
4647
4595
  * Code,
@@ -5021,8 +4969,7 @@ window.__ModuleLoader__.load({
5021
4969
  }
5022
4970
  }
5023
4971
  }
5024
- //#endregion
5025
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-indented.js
4972
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-indented.js
5026
4973
  /**
5027
4974
  * @import {
5028
4975
  * Construct,
@@ -5153,8 +5100,7 @@ window.__ModuleLoader__.load({
5153
5100
  return markdownLineEnding(code) ? furtherStart(code) : nok(code);
5154
5101
  }
5155
5102
  }
5156
- //#endregion
5157
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-text.js
5103
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/code-text.js
5158
5104
  /**
5159
5105
  * @import {
5160
5106
  * Construct,
@@ -5338,8 +5284,7 @@ window.__ModuleLoader__.load({
5338
5284
  return data(code);
5339
5285
  }
5340
5286
  }
5341
- //#endregion
5342
- //#region ../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js
5287
+ // ../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js
5343
5288
  /**
5344
5289
  * Some of the internal operations of micromark do lots of editing
5345
5290
  * operations on very large arrays. This runs into problems with two
@@ -5568,8 +5513,7 @@ window.__ModuleLoader__.load({
5568
5513
  chunkStart += 1e4;
5569
5514
  }
5570
5515
  }
5571
- //#endregion
5572
- //#region ../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js
5516
+ // ../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js
5573
5517
  /**
5574
5518
  * @import {Chunk, Event, Token} from 'micromark-util-types'
5575
5519
  */
@@ -5723,8 +5667,7 @@ window.__ModuleLoader__.load({
5723
5667
  }
5724
5668
  return gaps;
5725
5669
  }
5726
- //#endregion
5727
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/content.js
5670
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/content.js
5728
5671
  /**
5729
5672
  * @import {
5730
5673
  * Construct,
@@ -5856,8 +5799,7 @@ window.__ModuleLoader__.load({
5856
5799
  return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);
5857
5800
  }
5858
5801
  }
5859
- //#endregion
5860
- //#region ../../../node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js
5802
+ // ../../../node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js
5861
5803
  /**
5862
5804
  * @import {Effects, State, TokenType} from 'micromark-util-types'
5863
5805
  */
@@ -6040,8 +5982,7 @@ window.__ModuleLoader__.load({
6040
5982
  return raw(code);
6041
5983
  }
6042
5984
  }
6043
- //#endregion
6044
- //#region ../../../node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js
5985
+ // ../../../node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js
6045
5986
  /**
6046
5987
  * @import {
6047
5988
  * Effects,
@@ -6174,8 +6115,7 @@ window.__ModuleLoader__.load({
6174
6115
  return labelInside(code);
6175
6116
  }
6176
6117
  }
6177
- //#endregion
6178
- //#region ../../../node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js
6118
+ // ../../../node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js
6179
6119
  /**
6180
6120
  * @import {
6181
6121
  * Code,
@@ -6319,8 +6259,7 @@ window.__ModuleLoader__.load({
6319
6259
  return inside(code);
6320
6260
  }
6321
6261
  }
6322
- //#endregion
6323
- //#region ../../../node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js
6262
+ // ../../../node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js
6324
6263
  /**
6325
6264
  * @import {Effects, State} from 'micromark-util-types'
6326
6265
  */
@@ -6359,8 +6298,7 @@ window.__ModuleLoader__.load({
6359
6298
  return ok(code);
6360
6299
  }
6361
6300
  }
6362
- //#endregion
6363
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/definition.js
6301
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/definition.js
6364
6302
  /**
6365
6303
  * @import {
6366
6304
  * Construct,
@@ -6574,8 +6512,7 @@ window.__ModuleLoader__.load({
6574
6512
  return code === null || markdownLineEnding(code) ? ok(code) : nok(code);
6575
6513
  }
6576
6514
  }
6577
- //#endregion
6578
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/hard-break-escape.js
6515
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/hard-break-escape.js
6579
6516
  /**
6580
6517
  * @import {
6581
6518
  * Construct,
@@ -6631,8 +6568,7 @@ window.__ModuleLoader__.load({
6631
6568
  return nok(code);
6632
6569
  }
6633
6570
  }
6634
- //#endregion
6635
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/heading-atx.js
6571
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/heading-atx.js
6636
6572
  /**
6637
6573
  * @import {
6638
6574
  * Construct,
@@ -6812,8 +6748,7 @@ window.__ModuleLoader__.load({
6812
6748
  return data;
6813
6749
  }
6814
6750
  }
6815
- //#endregion
6816
- //#region ../../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js
6751
+ // ../../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js
6817
6752
  /**
6818
6753
  * List of lowercase HTML “block” tag names.
6819
6754
  *
@@ -6911,8 +6846,7 @@ window.__ModuleLoader__.load({
6911
6846
  "style",
6912
6847
  "textarea"
6913
6848
  ];
6914
- //#endregion
6915
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/html-flow.js
6849
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/html-flow.js
6916
6850
  /**
6917
6851
  * @import {
6918
6852
  * Code,
@@ -7637,8 +7571,7 @@ window.__ModuleLoader__.load({
7637
7571
  return effects.attempt(blankLine, ok, nok);
7638
7572
  }
7639
7573
  }
7640
- //#endregion
7641
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/html-text.js
7574
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/html-text.js
7642
7575
  /**
7643
7576
  * @import {
7644
7577
  * Code,
@@ -8251,8 +8184,7 @@ window.__ModuleLoader__.load({
8251
8184
  return returnState(code);
8252
8185
  }
8253
8186
  }
8254
- //#endregion
8255
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-end.js
8187
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-end.js
8256
8188
  /**
8257
8189
  * @import {
8258
8190
  * Construct,
@@ -8720,8 +8652,7 @@ window.__ModuleLoader__.load({
8720
8652
  return nok(code);
8721
8653
  }
8722
8654
  }
8723
- //#endregion
8724
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-start-image.js
8655
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-start-image.js
8725
8656
  /**
8726
8657
  * @import {
8727
8658
  * Construct,
@@ -8819,8 +8750,7 @@ window.__ModuleLoader__.load({
8819
8750
  return ok(code);
8820
8751
  }
8821
8752
  }
8822
- //#endregion
8823
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-start-link.js
8753
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/label-start-link.js
8824
8754
  /**
8825
8755
  * @import {
8826
8756
  * Construct,
@@ -8873,8 +8803,7 @@ window.__ModuleLoader__.load({
8873
8803
  return ok(code);
8874
8804
  }
8875
8805
  }
8876
- //#endregion
8877
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/line-ending.js
8806
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/line-ending.js
8878
8807
  /**
8879
8808
  * @import {
8880
8809
  * Construct,
@@ -8903,8 +8832,7 @@ window.__ModuleLoader__.load({
8903
8832
  return factorySpace(effects, ok, "linePrefix");
8904
8833
  }
8905
8834
  }
8906
- //#endregion
8907
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/thematic-break.js
8835
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/thematic-break.js
8908
8836
  /**
8909
8837
  * @import {
8910
8838
  * Code,
@@ -8998,8 +8926,7 @@ window.__ModuleLoader__.load({
8998
8926
  return markdownSpace(code) ? factorySpace(effects, atBreak, "whitespace")(code) : atBreak(code);
8999
8927
  }
9000
8928
  }
9001
- //#endregion
9002
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/list.js
8929
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/list.js
9003
8930
  /**
9004
8931
  * @import {
9005
8932
  * Code,
@@ -9170,8 +9097,7 @@ window.__ModuleLoader__.load({
9170
9097
  return !markdownSpace(code) && tail && tail[1].type === "listItemPrefixWhitespace" ? ok(code) : nok(code);
9171
9098
  }
9172
9099
  }
9173
- //#endregion
9174
- //#region ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/setext-underline.js
9100
+ // ../../../node_modules/.pnpm/micromark-core-commonmark@2.0.4/node_modules/micromark-core-commonmark/lib/setext-underline.js
9175
9101
  /**
9176
9102
  * @import {
9177
9103
  * Code,
@@ -9324,8 +9250,7 @@ window.__ModuleLoader__.load({
9324
9250
  return nok(code);
9325
9251
  }
9326
9252
  }
9327
- //#endregion
9328
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/flow.js
9253
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/flow.js
9329
9254
  /**
9330
9255
  * @import {
9331
9256
  * InitialConstruct,
@@ -9371,8 +9296,7 @@ window.__ModuleLoader__.load({
9371
9296
  return initial;
9372
9297
  }
9373
9298
  }
9374
- //#endregion
9375
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/text.js
9299
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/initialize/text.js
9376
9300
  /**
9377
9301
  * @import {
9378
9302
  * Code,
@@ -9547,8 +9471,7 @@ window.__ModuleLoader__.load({
9547
9471
  editMap.consume(events);
9548
9472
  return events;
9549
9473
  }
9550
- //#endregion
9551
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/constructs.js
9474
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/constructs.js
9552
9475
  /**
9553
9476
  * @import {Extension} from 'micromark-util-types'
9554
9477
  */
@@ -9625,8 +9548,7 @@ window.__ModuleLoader__.load({
9625
9548
  const attentionMarkers = { null: [42, 95] };
9626
9549
  /** @satisfies {Extension['disable']} */
9627
9550
  const disable = { null: [] };
9628
- //#endregion
9629
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/create-tokenizer.js
9551
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/create-tokenizer.js
9630
9552
  /**
9631
9553
  * @import {
9632
9554
  * Chunk,
@@ -10092,8 +10014,7 @@ window.__ModuleLoader__.load({
10092
10014
  }
10093
10015
  return result.join("");
10094
10016
  }
10095
- //#endregion
10096
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/parse.js
10017
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/parse.js
10097
10018
  /**
10098
10019
  * @import {
10099
10020
  * Create,
@@ -10136,8 +10057,7 @@ window.__ModuleLoader__.load({
10136
10057
  }
10137
10058
  }
10138
10059
  }
10139
- //#endregion
10140
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/postprocess.js
10060
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/postprocess.js
10141
10061
  /**
10142
10062
  * @import {Event} from 'micromark-util-types'
10143
10063
  */
@@ -10151,8 +10071,7 @@ window.__ModuleLoader__.load({
10151
10071
  while (!subtokenize(events));
10152
10072
  return events;
10153
10073
  }
10154
- //#endregion
10155
- //#region ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/preprocess.js
10074
+ // ../../../node_modules/.pnpm/micromark@4.0.3_supports-color@9.4.0/node_modules/micromark/lib/preprocess.js
10156
10075
  /**
10157
10076
  * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'
10158
10077
  */
@@ -10243,8 +10162,7 @@ window.__ModuleLoader__.load({
10243
10162
  return chunks;
10244
10163
  }
10245
10164
  }
10246
- //#endregion
10247
- //#region ../../../node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js
10165
+ // ../../../node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js
10248
10166
  const characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
10249
10167
  /**
10250
10168
  * Decode markdown strings (which occur in places such as fenced code info
@@ -10280,8 +10198,7 @@ window.__ModuleLoader__.load({
10280
10198
  }
10281
10199
  return decodeNamedCharacterReference($2) || $0;
10282
10200
  }
10283
- //#endregion
10284
- //#region ../../../node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js
10201
+ // ../../../node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js
10285
10202
  /**
10286
10203
  * @typedef {import('unist').Node} Node
10287
10204
  * @typedef {import('unist').Point} Point
@@ -10344,8 +10261,7 @@ window.__ModuleLoader__.load({
10344
10261
  function index(value) {
10345
10262
  return value && typeof value === "number" ? value : 1;
10346
10263
  }
10347
- //#endregion
10348
- //#region ../../../node_modules/.pnpm/mdast-util-from-markdown@2.1.0_supports-color@9.4.0/node_modules/mdast-util-from-markdown/lib/index.js
10264
+ // ../../../node_modules/.pnpm/mdast-util-from-markdown@2.1.0_supports-color@9.4.0/node_modules/mdast-util-from-markdown/lib/index.js
10349
10265
  /**
10350
10266
  * @import {
10351
10267
  * Break,
@@ -11391,8 +11307,7 @@ window.__ModuleLoader__.load({
11391
11307
  end: right.end
11392
11308
  }) + ") is still open");
11393
11309
  }
11394
- //#endregion
11395
- //#region ../../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js
11310
+ // ../../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js
11396
11311
  /**
11397
11312
  * Count how often a character (or substring) is used in a string.
11398
11313
  *
@@ -11414,14 +11329,12 @@ window.__ModuleLoader__.load({
11414
11329
  }
11415
11330
  return count;
11416
11331
  }
11417
- //#endregion
11418
- //#region ../../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
11332
+ // ../../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
11419
11333
  function escapeStringRegexp(string) {
11420
11334
  if (typeof string !== "string") throw new TypeError("Expected a string");
11421
11335
  return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
11422
11336
  }
11423
- //#endregion
11424
- //#region ../../../node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js
11337
+ // ../../../node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js
11425
11338
  /**
11426
11339
  * Generate an assertion from a test.
11427
11340
  *
@@ -11534,17 +11447,19 @@ window.__ModuleLoader__.load({
11534
11447
  function looksLikeANode(value) {
11535
11448
  return value !== null && typeof value === "object" && "type" in value;
11536
11449
  }
11537
- //#endregion
11538
- //#region ../../../node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.js
11450
+ // ../../../node_modules/.pnpm/unist-util-visit-parents@6.1.0/node_modules/unist-util-visit-parents/lib/color.js
11539
11451
  /**
11452
+ * Color a string.
11453
+ *
11540
11454
  * @param {string} d
11455
+ * Value.
11541
11456
  * @returns {string}
11457
+ * Colored value.
11542
11458
  */
11543
11459
  function color(d) {
11544
11460
  return d;
11545
11461
  }
11546
- //#endregion
11547
- //#region ../../../node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js
11462
+ // ../../../node_modules/.pnpm/unist-util-visit-parents@6.1.0/node_modules/unist-util-visit-parents/lib/index.js
11548
11463
  /**
11549
11464
  * @import {Node as UnistNode, Parent as UnistParent} from 'unist'
11550
11465
  */
@@ -11702,43 +11617,93 @@ window.__ModuleLoader__.load({
11702
11617
  * List with one or two values, the first an action, the second an index.
11703
11618
  *
11704
11619
  * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult
11705
- * Any value that can be returned from a visitor.
11620
+ * Any value that can be returned from an enter visitor.
11621
+ *
11622
+ * Like `VisitorResultExit`,
11623
+ * but `SKIP` can also be returned,
11624
+ * to not walk the children of the node,
11625
+ * and `ActionTuple` can be used to combine an action with an index.
11626
+ *
11627
+ * @typedef {Index | boolean | null | undefined | void} VisitorResultExit
11628
+ * Any value that can be returned from an exit visitor.
11706
11629
  */
11707
11630
  /**
11708
11631
  * @callback Visitor
11709
- * Handle a node (matching `test`, if given).
11710
- *
11711
- * Visitors are free to transform `node`.
11712
- * They can also transform the parent of node (the last of `ancestors`).
11632
+ * Handle a node (matching `test`, if given) before its children.
11713
11633
  *
11714
- * Replacing `node` itself, if `SKIP` is not returned, still causes its
11715
- * descendants to be walked (which is a bug).
11716
- *
11717
- * When adding or removing previous siblings of `node` (or next siblings, in
11718
- * case of reverse), the `Visitor` should return a new `Index` to specify the
11719
- * sibling to traverse after `node` is traversed.
11720
- * Adding or removing next siblings of `node` (or previous siblings, in case
11721
- * of reverse) is handled as expected without needing to return a new `Index`.
11722
- *
11723
- * Removing the children property of an ancestor still results in them being
11724
- * traversed.
11634
+ * Changes inside `node` are walked next.
11635
+ * Replacing or removing it is easier in `exit`.
11636
+ * When replacing or removing it here,
11637
+ * return `SKIP` (as otherwise its old children are walked),
11638
+ * or `[SKIP, index]` to continue with the node now at `index`.
11639
+ * Changing next siblings (in walk order) is fine;
11640
+ * changing previous siblings needs a new `Index`.
11641
+ * Removing an ancestor or changing its previous siblings is not supported.
11725
11642
  * @param {Visited} node
11726
11643
  * Found node.
11727
11644
  * @param {Array<VisitedParents>} ancestors
11728
11645
  * Ancestors of `node`.
11646
+ * @param {number | undefined} index
11647
+ * Index of `node` in its parent (the last of `ancestors`),
11648
+ * or `undefined` for the tree itself.
11729
11649
  * @returns {VisitorResult}
11730
11650
  * What to do next.
11731
11651
  *
11732
- * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
11733
- * An `Action` is treated as a tuple of `[Action]`.
11652
+ * Like `VisitorExit`,
11653
+ * but `SKIP` can also be returned,
11654
+ * to not walk the children of `node`.
11655
+ * Passing a tuple back (`ActionTuple`) only makes sense as `[SKIP, Index]`.
11656
+ * @template {UnistNode} [Visited=UnistNode]
11657
+ * Visited node type.
11658
+ * @template {UnistParent} [VisitedParents=UnistParent]
11659
+ * Ancestor type.
11660
+ */
11661
+ /**
11662
+ * @callback VisitorExit
11663
+ * Handle a node (matching `test`, if given) after its children.
11734
11664
  *
11735
- * Passing a tuple back only makes sense if the `Action` is `SKIP`.
11736
- * When the `Action` is `EXIT`, that action can be returned.
11737
- * When the `Action` is `CONTINUE`, `Index` can be returned.
11665
+ * Changes inside `node` are not walked,
11666
+ * which makes this a good place to change `node` based on its children,
11667
+ * or to replace or remove it.
11668
+ * When removing `node` or changing previous siblings (in walk order),
11669
+ * return a new `Index`.
11670
+ * Removing an ancestor or changing its previous siblings is not supported.
11671
+ * @param {Visited} node
11672
+ * Found node.
11673
+ * @param {Array<VisitedParents>} ancestors
11674
+ * Ancestors of `node`.
11675
+ * @param {number | undefined} index
11676
+ * Index of `node` in its parent (the last of `ancestors`),
11677
+ * or `undefined` for the tree itself.
11678
+ * @returns {VisitorResultExit}
11679
+ * What to do next.
11680
+ *
11681
+ * `CONTINUE` (`true`, nothing) continues as normal,
11682
+ * `EXIT` (`false`) stops traversing,
11683
+ * and `Index` continues at that sibling.
11684
+ * @template {UnistNode} [Visited=UnistNode]
11685
+ * Visited node type.
11686
+ * @template {UnistParent} [VisitedParents=UnistParent]
11687
+ * Ancestor type.
11688
+ */
11689
+ /**
11738
11690
  * @template {UnistNode} [Visited=UnistNode]
11739
11691
  * Visited node type.
11740
11692
  * @template {UnistParent} [VisitedParents=UnistParent]
11741
11693
  * Ancestor type.
11694
+ * @typedef Visitors
11695
+ * Handle nodes when entering and exiting them.
11696
+ * The `enter` visitor is optional while `exit` is required.
11697
+ *
11698
+ * Pass an `enter` visitor directly to only handle nodes when entering them.
11699
+ *
11700
+ * `enter` is called before children (if any) are walked and `exit` after that.
11701
+ * `exit` is still called when `enter` returns `SKIP`.
11702
+ * Both `enter` and `exit` are only called for nodes that match an optional `test`.
11703
+ * @property {Visitor<Visited, VisitedParents> | null | undefined} [enter]
11704
+ * Handle a node before its children (optional).
11705
+ * @property {VisitorExit<Visited, VisitedParents>} exit
11706
+ * Handle a node after its children.
11742
11707
  */
11743
11708
  /**
11744
11709
  * @typedef {Visitor<Matches<InclusiveDescendant<Tree>, Check>, Ancestor<Tree, Matches<InclusiveDescendant<Tree>, Check>>>} BuildVisitor
@@ -11750,16 +11715,34 @@ window.__ModuleLoader__.load({
11750
11715
  * @template {Test} [Check=Test]
11751
11716
  * Test type.
11752
11717
  */
11718
+ /**
11719
+ * @typedef {Visitors<Matches<InclusiveDescendant<Tree>, Check>, Ancestor<Tree, Matches<InclusiveDescendant<Tree>, Check>>>} BuildVisitors
11720
+ * Build typed `Visitors` from a tree and a test.
11721
+ *
11722
+ * It will infer which values are passed as `node` and which as `parents`.
11723
+ * @template {UnistNode} [Tree=UnistNode]
11724
+ * Tree type.
11725
+ * @template {Test} [Check=Test]
11726
+ * Test type.
11727
+ */
11753
11728
  /** @type {Readonly<ActionTuple>} */
11754
11729
  const empty = [];
11755
11730
  /**
11731
+ * Do not traverse this node’s children.
11732
+ * Only works when entering a node.
11733
+ */
11734
+ const SKIP = "skip";
11735
+ /**
11756
11736
  * Visit nodes, with ancestral information.
11757
11737
  *
11758
11738
  * This algorithm performs *depth-first* *tree traversal* in *preorder*
11759
- * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
11739
+ * (**NLR**) or if `reverse` is given,
11740
+ * in *reverse preorder* (**NRL**).
11741
+ * An `exit` visitor is called in *postorder* (**LRN**)
11742
+ * or if `reverse` is given, in *reverse postorder* (**RLN**).
11760
11743
  *
11761
- * You can choose for which nodes `visitor` is called by passing a `test`.
11762
- * For complex tests, you should test yourself in `visitor`, as it will be
11744
+ * You can choose which nodes are visited by passing a `test`.
11745
+ * For complex tests, you should test yourself in a visitor, as it will be
11763
11746
  * faster and will have improved type information.
11764
11747
  *
11765
11748
  * Walking the tree is an intensive task.
@@ -11768,29 +11751,72 @@ window.__ModuleLoader__.load({
11768
11751
  * to check if a node matches, and then perform different operations.
11769
11752
  *
11770
11753
  * You can change the tree.
11771
- * See `Visitor` for more info.
11754
+ * Changes inside a node made when entering it are walked,
11755
+ * changes made when exiting it are not.
11756
+ * See `Visitor` and `VisitorExit` for more info.
11772
11757
  *
11773
11758
  * @overload
11774
11759
  * @param {Tree} tree
11760
+ * Tree to traverse.
11775
11761
  * @param {Check} check
11776
- * @param {BuildVisitor<Tree, Check>} visitor
11762
+ * `unist-util-is`-compatible test.
11763
+ * @param {BuildVisitor<Tree, Check>} enter
11764
+ * Handle each node when entering it.
11777
11765
  * @param {boolean | null | undefined} [reverse]
11766
+ * Walk children from last to first;
11767
+ * for `enter`, reverse preorder (NRL) instead of preorder (NLR);
11768
+ * for `exit`, reverse postorder (RLN) instead of postorder (LRN).
11778
11769
  * @returns {undefined}
11770
+ * Nothing.
11779
11771
  *
11780
11772
  * @overload
11781
11773
  * @param {Tree} tree
11782
- * @param {BuildVisitor<Tree>} visitor
11774
+ * Tree to traverse.
11775
+ * @param {Check} check
11776
+ * `unist-util-is`-compatible test.
11777
+ * @param {BuildVisitors<Tree, Check>} visitors
11778
+ * Handle each node when exiting it, and optionally when entering it.
11783
11779
  * @param {boolean | null | undefined} [reverse]
11780
+ * Walk children from last to first;
11781
+ * for `enter`, reverse preorder (NRL) instead of preorder (NLR);
11782
+ * for `exit`, reverse postorder (RLN) instead of postorder (LRN).
11784
11783
  * @returns {undefined}
11784
+ * Nothing.
11785
+ *
11786
+ * @overload
11787
+ * @param {Tree} tree
11788
+ * Tree to traverse.
11789
+ * @param {BuildVisitor<Tree>} enter
11790
+ * Handle each node when entering it.
11791
+ * @param {boolean | null | undefined} [reverse]
11792
+ * Walk children from last to first;
11793
+ * for `enter`, reverse preorder (NRL) instead of preorder (NLR);
11794
+ * for `exit`, reverse postorder (RLN) instead of postorder (LRN).
11795
+ * @returns {undefined}
11796
+ * Nothing.
11797
+ *
11798
+ * @overload
11799
+ * @param {Tree} tree
11800
+ * Tree to traverse.
11801
+ * @param {BuildVisitors<Tree>} visitors
11802
+ * Handle each node when exiting it, and optionally when entering it.
11803
+ * @param {boolean | null | undefined} [reverse]
11804
+ * Walk children from last to first;
11805
+ * for `enter`, reverse preorder (NRL) instead of preorder (NLR);
11806
+ * for `exit`, reverse postorder (RLN) instead of postorder (LRN).
11807
+ * @returns {undefined}
11808
+ * Nothing.
11785
11809
  *
11786
11810
  * @param {UnistNode} tree
11787
11811
  * Tree to traverse.
11788
- * @param {Visitor | Test} test
11789
- * `unist-util-is`-compatible test
11790
- * @param {Visitor | boolean | null | undefined} [visitor]
11791
- * Handle each node.
11812
+ * @param {Visitor | Visitors | Test} testOrEnterOrVisitors
11813
+ * `unist-util-is`-compatible test, `enter`, or `visitors`.
11814
+ * @param {Visitor | Visitors | boolean | null | undefined} [enterOrVisitorsOrReverse]
11815
+ * `enter`, `visitors`, or `reverse` after a test.
11792
11816
  * @param {boolean | null | undefined} [reverse]
11793
- * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
11817
+ * Walk children from last to first;
11818
+ * for `enter`, reverse preorder (NRL) instead of preorder (NLR);
11819
+ * for `exit`, reverse postorder (RLN) instead of postorder (LRN).
11794
11820
  * @returns {undefined}
11795
11821
  * Nothing.
11796
11822
  *
@@ -11799,20 +11825,46 @@ window.__ModuleLoader__.load({
11799
11825
  * @template {Test} Check
11800
11826
  * `unist-util-is`-compatible test.
11801
11827
  */
11802
- function visitParents(tree, test, visitor, reverse) {
11828
+ function visitParents(tree, testOrEnterOrVisitors, enterOrVisitorsOrReverse, reverse) {
11829
+ if (!tree || typeof tree !== "object") throw new Error("Unexpected value `" + tree + "` for `tree`, expected node");
11830
+ let preorder = true;
11803
11831
  /** @type {Test} */
11804
11832
  let check;
11805
- if (typeof test === "function" && typeof visitor !== "function") {
11806
- reverse = visitor;
11807
- visitor = test;
11808
- } else check = test;
11833
+ /** @type {Visitors | Visitor} */
11834
+ let visitors;
11835
+ /** @type {Visitor | null | undefined} */
11836
+ let enter;
11837
+ /** @type {VisitorExit | null | undefined} */
11838
+ let exit;
11839
+ if (typeof enterOrVisitorsOrReverse === "function" || enterOrVisitorsOrReverse && typeof enterOrVisitorsOrReverse === "object") {
11840
+ check = testOrEnterOrVisitors;
11841
+ visitors = enterOrVisitorsOrReverse;
11842
+ if (reverse) preorder = false;
11843
+ } else {
11844
+ visitors = testOrEnterOrVisitors;
11845
+ if (enterOrVisitorsOrReverse) preorder = false;
11846
+ }
11847
+ if (typeof visitors === "function") enter = visitors;
11848
+ else if (visitors && typeof visitors === "object") {
11849
+ if (visitors.enter === null || visitors.enter === void 0) {} else if (typeof visitors.enter === "function") enter = visitors.enter;
11850
+ else throw new Error("Unexpected value `" + visitors.enter + "` for `visitors.enter`, expected optional visitor");
11851
+ if (typeof visitors.exit === "function") exit = visitors.exit;
11852
+ else throw new Error("Unexpected value `" + visitors.exit + "` for `visitors.exit`, expected visitor (pass a visitor directly if you only want an enter visitor)");
11853
+ } else throw new Error("Unexpected value `" + visitors + "` for `enter` or `visitors`, expected visitor or object with visitors");
11809
11854
  const is = convert(check);
11810
- const step = reverse ? -1 : 1;
11855
+ const step = preorder ? 1 : -1;
11811
11856
  factory(tree, void 0, [])();
11812
11857
  /**
11858
+ * Create a function to visit a node.
11859
+ *
11813
11860
  * @param {UnistNode} node
11861
+ * Node to visit.
11814
11862
  * @param {number | undefined} index
11863
+ * Index of `node` in its parent.
11815
11864
  * @param {Array<UnistParent>} parents
11865
+ * Ancestors of `node`.
11866
+ * @returns {() => Readonly<ActionTuple>}
11867
+ * Visit `node`.
11816
11868
  */
11817
11869
  function factory(node, index, parents) {
11818
11870
  const value = node && typeof node === "object" ? node : {};
@@ -11822,31 +11874,31 @@ window.__ModuleLoader__.load({
11822
11874
  }
11823
11875
  return visit;
11824
11876
  function visit() {
11877
+ const matches = !check || is(node, index, parents[parents.length - 1] || void 0);
11825
11878
  /** @type {Readonly<ActionTuple>} */
11826
11879
  let result = empty;
11827
- /** @type {Readonly<ActionTuple>} */
11828
- let subresult;
11829
- /** @type {number} */
11830
- let offset;
11831
- /** @type {Array<UnistParent>} */
11832
- let grandparents;
11833
- if (!test || is(node, index, parents[parents.length - 1] || void 0)) {
11834
- result = toResult(visitor(node, parents));
11880
+ if (enter && matches) {
11881
+ result = toResult(enter(node, parents, index));
11835
11882
  if (result[0] === false) return result;
11836
11883
  }
11837
11884
  if ("children" in node && node.children) {
11838
11885
  const nodeAsParent = node;
11839
11886
  if (nodeAsParent.children && result[0] !== "skip") {
11840
- offset = (reverse ? nodeAsParent.children.length : -1) + step;
11841
- grandparents = parents.concat(nodeAsParent);
11887
+ let offset = (preorder ? -1 : nodeAsParent.children.length) + step;
11888
+ const grandparents = [...parents, nodeAsParent];
11842
11889
  while (offset > -1 && offset < nodeAsParent.children.length) {
11843
11890
  const child = nodeAsParent.children[offset];
11844
- subresult = factory(child, offset, grandparents)();
11891
+ const subresult = factory(child, offset, grandparents)();
11845
11892
  if (subresult[0] === false) return subresult;
11846
11893
  offset = typeof subresult[1] === "number" ? subresult[1] : offset + step;
11847
11894
  }
11848
11895
  }
11849
11896
  }
11897
+ if (exit && matches) {
11898
+ const exitResult = toResult(exit(node, parents, index));
11899
+ if (exitResult[0] === "skip") throw new Error("Unexpected value `" + exitResult[0] + "` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");
11900
+ if (exitResult[0] === false || typeof exitResult[1] === "number") return exitResult;
11901
+ }
11850
11902
  return result;
11851
11903
  }
11852
11904
  }
@@ -11864,8 +11916,7 @@ window.__ModuleLoader__.load({
11864
11916
  if (typeof value === "number") return [true, value];
11865
11917
  return value === null || value === void 0 ? empty : [value];
11866
11918
  }
11867
- //#endregion
11868
- //#region ../../../node_modules/.pnpm/mdast-util-find-and-replace@3.0.3/node_modules/mdast-util-find-and-replace/lib/index.js
11919
+ // ../../../node_modules/.pnpm/mdast-util-find-and-replace@3.0.4/node_modules/mdast-util-find-and-replace/lib/index.js
11869
11920
  /**
11870
11921
  * @import {Nodes, Parents, PhrasingContent, Root, Text} from 'mdast'
11871
11922
  * @import {BuildVisitor, Test, VisitorResult} from 'unist-util-visit-parents'
@@ -11933,7 +11984,7 @@ window.__ModuleLoader__.load({
11933
11984
  * @param {FindAndReplaceList | FindAndReplaceTuple} list
11934
11985
  * Patterns to find.
11935
11986
  * @param {Options | null | undefined} [options]
11936
- * Configuration (when `find` is not `Find`).
11987
+ * Configuration (optional).
11937
11988
  * @returns {undefined}
11938
11989
  * Nothing.
11939
11990
  */
@@ -11941,24 +11992,15 @@ window.__ModuleLoader__.load({
11941
11992
  const ignored = convert((options || {}).ignore || []);
11942
11993
  const pairs = toPairs(list);
11943
11994
  let pairIndex = -1;
11944
- while (++pairIndex < pairs.length) visitParents(tree, "text", visitor);
11995
+ while (++pairIndex < pairs.length) visitParents(tree, visitor);
11945
11996
  /**
11946
- * Visit a text node, and handle it if it is not in an ignored parent.
11997
+ * Handle text nodes and skip ignored nodes.
11947
11998
  *
11948
- * @type {BuildVisitor<Root, 'text'>}
11999
+ * @type {BuildVisitor<Root>}
11949
12000
  */
11950
- function visitor(node, parents) {
11951
- let index = -1;
11952
- /** @type {Parents | undefined} */
11953
- let grandparent;
11954
- while (++index < parents.length) {
11955
- const parent = parents[index];
11956
- /** @type {Array<Nodes> | undefined} */
11957
- const siblings = grandparent ? grandparent.children : void 0;
11958
- if (ignored(parent, siblings ? siblings.indexOf(parent) : void 0, grandparent)) return;
11959
- grandparent = parent;
11960
- }
11961
- if (grandparent) return handler(node, parents);
12001
+ function visitor(node, parents, index) {
12002
+ if (node.type === "text" && typeof index === "number") return handler(node, parents, index);
12003
+ if (ignored(node, index, parents[parents.length - 1])) return SKIP;
11962
12004
  }
11963
12005
  /**
11964
12006
  * Handle a text node which is not in an ignored parent.
@@ -11967,15 +12009,16 @@ window.__ModuleLoader__.load({
11967
12009
  * Text node to search in.
11968
12010
  * @param {Array<Parents>} parents
11969
12011
  * Ancestors of `node`.
12012
+ * @param {number} index
12013
+ * Index of `node` in its parent.
11970
12014
  * @returns {VisitorResult}
11971
12015
  * Where to continue visiting.
11972
12016
  */
11973
- function handler(node, parents) {
12017
+ function handler(node, parents, index) {
11974
12018
  const parent = parents[parents.length - 1];
11975
12019
  const find = pairs[pairIndex][0];
11976
12020
  const replace = pairs[pairIndex][1];
11977
12021
  let start = 0;
11978
- const index = parent.children.indexOf(node);
11979
12022
  let change = false;
11980
12023
  /** @type {Array<PhrasingContent>} */
11981
12024
  let nodes = [];
@@ -12043,7 +12086,6 @@ window.__ModuleLoader__.load({
12043
12086
  if (!Array.isArray(tupleOrList)) throw new TypeError("Expected find and replace tuple or list of tuples");
12044
12087
  /** @type {Pairs} */
12045
12088
  const result = [];
12046
- /** @type {FindAndReplaceList} */
12047
12089
  const list = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];
12048
12090
  let index = -1;
12049
12091
  while (++index < list.length) {
@@ -12076,8 +12118,7 @@ window.__ModuleLoader__.load({
12076
12118
  return replace;
12077
12119
  };
12078
12120
  }
12079
- //#endregion
12080
- //#region ../../../node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
12121
+ // ../../../node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1_patch_hash=7fa6fc7927128a45c3f148d31faf388806895e2de39c14a144200edbc1e7aaa0/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
12081
12122
  /**
12082
12123
  * @import {RegExpMatchObject, ReplaceFunction} from 'mdast-util-find-and-replace'
12083
12124
  * @import {CompileContext, Extension as FromMarkdownExtension, Handle as FromMarkdownHandle, Transform as FromMarkdownTransform} from 'mdast-util-from-markdown'
@@ -12160,7 +12201,7 @@ window.__ModuleLoader__.load({
12160
12201
  }
12161
12202
  /** @type {FromMarkdownTransform} */
12162
12203
  function transformGfmAutolinkLiterals(tree) {
12163
- findAndReplace(tree, [[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi, findUrl], [/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu, findEmail]], { ignore: ["link", "linkReference"] });
12204
+ findAndReplace(tree, [[/(https?:\/\/|www(?=\.))([-.\w]+)((?:[!-~]|(?![\p{P}\p{S}\s])[^ \t\r\n])*)/giu, findUrl], [/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu, findEmail]], { ignore: ["link", "linkReference"] });
12164
12205
  }
12165
12206
  /**
12166
12207
  * @type {ReplaceFunction}
@@ -12256,8 +12297,7 @@ window.__ModuleLoader__.load({
12256
12297
  const code = match.input.charCodeAt(match.index - 1);
12257
12298
  return (match.index === 0 || unicodeWhitespace(code) || unicodePunctuation(code)) && (!email || code !== 47);
12258
12299
  }
12259
- //#endregion
12260
- //#region ../../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0_supports-color@9.4.0/node_modules/mdast-util-gfm-footnote/lib/index.js
12300
+ // ../../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0_supports-color@9.4.0/node_modules/mdast-util-gfm-footnote/lib/index.js
12261
12301
  /**
12262
12302
  * @import {
12263
12303
  * CompileContext,
@@ -12391,8 +12431,7 @@ window.__ModuleLoader__.load({
12391
12431
  }
12392
12432
  };
12393
12433
  }
12394
- //#endregion
12395
- //#region ../../../node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.1_supports-color@9.4.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js
12434
+ // ../../../node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.1_supports-color@9.4.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js
12396
12435
  handleDelete.attention = attentionDelete;
12397
12436
  handleDelete.peek = peekDelete;
12398
12437
  /**
@@ -12492,8 +12531,7 @@ window.__ModuleLoader__.load({
12492
12531
  ]);
12493
12532
  ({}).hasOwnProperty;
12494
12533
  ({}).hasOwnProperty;
12495
- //#endregion
12496
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/util/check-quote.js
12534
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/check-quote.js
12497
12535
  /**
12498
12536
  * @import {Options, State} from 'mdast-util-to-markdown'
12499
12537
  */
@@ -12510,8 +12548,7 @@ window.__ModuleLoader__.load({
12510
12548
  if (marker !== "\"" && marker !== "'") throw new Error("Cannot serialize title with `" + marker + "` for `options.quote`, expected `\"`, or `'`");
12511
12549
  return marker;
12512
12550
  }
12513
- //#endregion
12514
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
12551
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
12515
12552
  /**
12516
12553
  * @import {Options, State} from 'mdast-util-to-markdown'
12517
12554
  */
@@ -12528,8 +12565,674 @@ window.__ModuleLoader__.load({
12528
12565
  if (marker !== "*" && marker !== "_") throw new Error("Cannot serialize emphasis with `" + marker + "` for `options.emphasis`, expected `*`, or `_`");
12529
12566
  return marker;
12530
12567
  }
12531
- //#endregion
12532
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
12568
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/character.js
12569
+ /**
12570
+ * Get the first character of a value.
12571
+ *
12572
+ * Is aware of astral characters (such as emoji).
12573
+ *
12574
+ * @param {string} value
12575
+ * Value.
12576
+ * @returns {string}
12577
+ * First character; empty if `value` is empty.
12578
+ */
12579
+ function firstCharacter(value) {
12580
+ const code = value.codePointAt(0);
12581
+ return code === void 0 ? "" : String.fromCodePoint(code);
12582
+ }
12583
+ /**
12584
+ * Get the last character of a value.
12585
+ *
12586
+ * Is aware of astral characters (such as emoji).
12587
+ *
12588
+ * @param {string} value
12589
+ * Value.
12590
+ * @returns {string}
12591
+ * Last character; empty if `value` is empty.
12592
+ */
12593
+ function lastCharacter(value) {
12594
+ const code = value.codePointAt(value.length - 2);
12595
+ return code !== void 0 && code > 65535 ? value.slice(-2) : value.slice(-1);
12596
+ }
12597
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
12598
+ /**
12599
+ * Encode a code point as a character reference.
12600
+ *
12601
+ * @param {number} code
12602
+ * Code point to encode.
12603
+ * @returns {string}
12604
+ * Encoded character reference.
12605
+ */
12606
+ function encodeCharacterReference(code) {
12607
+ return "&#x" + code.toString(16).toUpperCase() + ";";
12608
+ }
12609
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/encode-info.js
12610
+ /**
12611
+ * @import {EncodeSides} from '../types.js'
12612
+ */
12613
+ /**
12614
+ * Check whether to encode (as a character reference) the characters
12615
+ * surrounding an attention run.
12616
+ *
12617
+ * Which characters are around an attention run influence whether it works or
12618
+ * not.
12619
+ *
12620
+ * See <https://github.com/orgs/syntax-tree/discussions/60> for more info.
12621
+ * See this markdown in a particular renderer to see what works:
12622
+ *
12623
+ * ```markdown
12624
+ * | | A (letter inside) | B (punctuation inside) | C (whitespace inside) | D (nothing inside) |
12625
+ * | ----------------------- | ----------------- | ---------------------- | --------------------- | ------------------ |
12626
+ * | 1 (letter outside) | x*y*z | x*.*z | x* *z | x**z |
12627
+ * | 2 (punctuation outside) | .*y*. | .*.*. | .* *. | .**. |
12628
+ * | 3 (whitespace outside) | x *y* z | x *.* z | x * * z | x ** z |
12629
+ * | 4 (nothing outside) | *x* | *.* | * * | ** |
12630
+ * ```
12631
+ *
12632
+ * @param {number} outside
12633
+ * Code point on the outer side of the run.
12634
+ * @param {number} inside
12635
+ * Code point on the inner side of the run.
12636
+ * @param {string} marker
12637
+ * Marker of the run.
12638
+ * Underscores are handled more strictly (they form less often) than
12639
+ * asterisks.
12640
+ * @returns {EncodeSides}
12641
+ * Whether to encode characters.
12642
+ */
12643
+ function encodeInfo(outside, inside, marker) {
12644
+ const outsideKind = classifyCharacter(outside);
12645
+ const insideKind = classifyCharacter(inside);
12646
+ if (outsideKind === void 0) return insideKind === void 0 ? marker === "_" ? {
12647
+ inside: true,
12648
+ outside: true
12649
+ } : {
12650
+ inside: false,
12651
+ outside: false
12652
+ } : insideKind === 1 ? {
12653
+ inside: true,
12654
+ outside: true
12655
+ } : {
12656
+ inside: false,
12657
+ outside: true
12658
+ };
12659
+ if (outsideKind === 1) return insideKind === void 0 ? {
12660
+ inside: false,
12661
+ outside: false
12662
+ } : insideKind === 1 ? {
12663
+ inside: true,
12664
+ outside: true
12665
+ } : {
12666
+ inside: false,
12667
+ outside: false
12668
+ };
12669
+ return insideKind === void 0 ? {
12670
+ inside: false,
12671
+ outside: false
12672
+ } : insideKind === 1 ? {
12673
+ inside: true,
12674
+ outside: false
12675
+ } : {
12676
+ inside: false,
12677
+ outside: false
12678
+ };
12679
+ }
12680
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/html-kind.js
12681
+ /**
12682
+ * @typedef {1 | 2 | 3 | 4 | 5 | 6 | 7} Kind
12683
+ * Kind of HTML (flow) element.
12684
+ */
12685
+ /**
12686
+ * Infer the kind of HTML that `value` is.
12687
+ *
12688
+ * This works on valid trees as produced by `micromark`.
12689
+ * Kinds:
12690
+ *
12691
+ * 1. raw
12692
+ * 2. comment
12693
+ * 3. instruction
12694
+ * 4. declaration
12695
+ * 5. cdata
12696
+ * 6. block
12697
+ * 7. other
12698
+ *
12699
+ * See: <https://spec.commonmark.org/0.31.2/#html-blocks>.
12700
+ *
12701
+ * @param {string} value
12702
+ * HTML.
12703
+ * @returns {Kind | undefined}
12704
+ * Kind; `undefined` if unknown.
12705
+ */
12706
+ function htmlKind(value) {
12707
+ if (value.charCodeAt(0) !== 60) return;
12708
+ const next = value.charCodeAt(1);
12709
+ if (next === 33) {
12710
+ const code = value.charCodeAt(2);
12711
+ if (code === 45) return 2;
12712
+ if (code === 91) return 5;
12713
+ if (asciiAlpha(code)) return 4;
12714
+ return;
12715
+ }
12716
+ if (next === 63) return 3;
12717
+ const closing = next === 47;
12718
+ const start = closing ? 2 : 1;
12719
+ let end = start;
12720
+ let code = value.charCodeAt(end);
12721
+ if (!asciiAlpha(code)) return;
12722
+ while (code === 45 || asciiAlphanumeric(code)) code = value.charCodeAt(++end);
12723
+ const name = value.slice(start, end).toLowerCase();
12724
+ if (!closing && code !== 47 && htmlRawNames.includes(name)) return 1;
12725
+ return htmlBlockNames.includes(name) ? 6 : 7;
12726
+ }
12727
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js
12728
+ /**
12729
+ * @import {Attention, Handle, Info, State, Tracker} from 'mdast-util-to-markdown'
12730
+ * @import {PhrasingParents} from '../types.js'
12731
+ */
12732
+ /**
12733
+ * Markers for builtin attention (emphasis, strong) to whether they are stricter:
12734
+ * whether they cannot open and close inside words.
12735
+ *
12736
+ * Builtin runs pair following CommonMark rules for emphasis and strong:
12737
+ * they are split,
12738
+ * using one or two markers at a time,
12739
+ * with the rule of 3.
12740
+ * Other markers pair like GFM strikethrough:
12741
+ * whole runs pair with a run of the same size.
12742
+ *
12743
+ * @type {Map<string, boolean>}
12744
+ */
12745
+ const builtins = /* @__PURE__ */ new Map([["*", false], ["_", true]]);
12746
+ /**
12747
+ * @typedef AttentionResult
12748
+ * Attention, of which the sequence is chosen later.
12749
+ * @property {Array<Item>} children
12750
+ * Serialized children.
12751
+ * @property {Array<string>} sequences
12752
+ * Sequences that can be used, in order of preference.
12753
+ */
12754
+ /**
12755
+ * @typedef Improvement
12756
+ * Improvement of attention sequences.
12757
+ * @property {Map<AttentionResult, string>} chosen
12758
+ * Chosen sequences for each attention.
12759
+ * @property {Array<Token>} tokens
12760
+ * Tokens involved in the improvement.
12761
+ * @property {Mistake | undefined} mistake
12762
+ * Mistake that led to this improvement, if any.
12763
+ */
12764
+ /**
12765
+ * @typedef {AttentionResult | string} Item
12766
+ * Serialized phrasing.
12767
+ */
12768
+ /**
12769
+ * @typedef Mistake
12770
+ * Sequence that does not form its attention.
12771
+ * @property {Array<AttentionResult>} attention
12772
+ * Attention to try other sequences for.
12773
+ * @property {number} index
12774
+ * Index of the token.
12775
+ */
12776
+ /**
12777
+ * @typedef Run
12778
+ * Sequences next to each other with the same marker.
12779
+ * @property {boolean} close
12780
+ * Whether it can close.
12781
+ * @property {number} end
12782
+ * Index after the last marker not used (to open).
12783
+ * @property {Array<Token>} markers
12784
+ * Sequence of each marker.
12785
+ * @property {boolean} open
12786
+ * Whether it can open.
12787
+ * @property {boolean} split
12788
+ * Whether it can be split (built-in attention).
12789
+ * @property {number} start
12790
+ * Index of the first marker not used (to close).
12791
+ * @property {Array<Token>} tokens
12792
+ * Sequences.
12793
+ */
12794
+ /**
12795
+ * @typedef Token
12796
+ * Rendered phrasing.
12797
+ * @property {AttentionResult | undefined} attention
12798
+ * Attention, if this is one of its sequences.
12799
+ * @property {string} value
12800
+ * Value.
12801
+ */
12802
+ /**
12803
+ * Get candidates for a mistake:
12804
+ * attention to try other sequences for,
12805
+ * later first.
12806
+ *
12807
+ * @param {Array<Token>} tokens
12808
+ * Tokens.
12809
+ * @param {Array<Token>} involved
12810
+ * Sequences involved in the mistake.
12811
+ * @param {Map<Token, Run>} runOf
12812
+ * Run of each sequence.
12813
+ * @returns {Array<AttentionResult>}
12814
+ * Candidates.
12815
+ */
12816
+ function candidates(tokens, involved, runOf) {
12817
+ /** @type {Set<AttentionResult | undefined>} */
12818
+ const related = /* @__PURE__ */ new Set();
12819
+ for (const token of tokens) {
12820
+ const siblings = runOf.get(token);
12821
+ if (siblings && token.attention && involved.some((d) => d.attention === token.attention)) for (const sibling of siblings.tokens) related.add(sibling.attention);
12822
+ }
12823
+ /** @type {Array<AttentionResult>} */
12824
+ const ordered = [];
12825
+ for (const token of tokens) if (token.attention && related.delete(token.attention)) ordered.push(token.attention);
12826
+ ordered.reverse();
12827
+ return ordered;
12828
+ }
12829
+ /**
12830
+ * Check whether sequences form their attention, like `micromark`.
12831
+ *
12832
+ * Sequences of `*` and `_` pair like emphasis and strong in CommonMark,
12833
+ * others like strikethrough in GFM.
12834
+ *
12835
+ * @param {Array<Token>} tokens
12836
+ * Tokens.
12837
+ * @param {string} before
12838
+ * Characters before.
12839
+ * @param {string} after
12840
+ * Characters after.
12841
+ * @returns {Mistake | undefined}
12842
+ * First mistake, if any.
12843
+ */
12844
+ function check(tokens, before, after) {
12845
+ /** @type {Array<Run>} */
12846
+ const runs = [];
12847
+ /** @type {Map<Token, Array<Token>>} */
12848
+ const wrong = /* @__PURE__ */ new Map();
12849
+ /** @type {Map<Token, Run>} */
12850
+ const runOf = /* @__PURE__ */ new Map();
12851
+ let index = 0;
12852
+ while (index < tokens.length) {
12853
+ if (!tokens[index].attention) {
12854
+ index++;
12855
+ continue;
12856
+ }
12857
+ const marker = tokens[index].value.charAt(0);
12858
+ const strict = builtins.get(marker);
12859
+ let end = index + 1;
12860
+ while (end < tokens.length && tokens[end].attention && tokens[end].value.charAt(0) === marker) end++;
12861
+ const head = index ? tokens[index - 1].value : before;
12862
+ const previous = classifyCharacter(head.charCodeAt(head.length - 1));
12863
+ const next = classifyCharacter((end < tokens.length ? tokens[end].value : after).charCodeAt(0));
12864
+ const open = !next || next === 2 && Boolean(previous);
12865
+ const close = !previous || previous === 2 && Boolean(next);
12866
+ /** @type {Run} */
12867
+ const run = {
12868
+ tokens: tokens.slice(index, end),
12869
+ markers: [],
12870
+ start: 0,
12871
+ end: 0,
12872
+ open: strict ? open && (Boolean(previous) || !close) : open,
12873
+ close: strict ? close && (Boolean(next) || !open) : close,
12874
+ split: strict !== void 0
12875
+ };
12876
+ for (const token of run.tokens) {
12877
+ wrong.set(token, [...run.tokens]);
12878
+ runOf.set(token, run);
12879
+ let size = token.value.length;
12880
+ while (size--) run.markers.push(token);
12881
+ }
12882
+ run.end = run.markers.length;
12883
+ runs.push(run);
12884
+ index = end;
12885
+ }
12886
+ pair(runs, wrong);
12887
+ index = -1;
12888
+ while (++index < tokens.length) {
12889
+ const involved = wrong.get(tokens[index]);
12890
+ if (involved) return {
12891
+ attention: candidates(tokens, involved, runOf),
12892
+ index
12893
+ };
12894
+ }
12895
+ }
12896
+ /**
12897
+ * Encode the first or last character of tokens as a character reference,
12898
+ * if it is text.
12899
+ *
12900
+ * @param {Array<Token>} tokens
12901
+ * Tokens.
12902
+ * @param {boolean} start
12903
+ * Whether to encode the first or last character.
12904
+ * @returns {undefined}
12905
+ * Nothing.
12906
+ */
12907
+ function encode(tokens, start) {
12908
+ const token = tokens[start ? 0 : tokens.length - 1];
12909
+ if (!token || token.attention) return;
12910
+ const character = start ? firstCharacter(token.value) : lastCharacter(token.value);
12911
+ const reference = encodeCharacterReference(character.codePointAt(0));
12912
+ if (start) token.value = reference + token.value.slice(character.length);
12913
+ else {
12914
+ let value = token.value.slice(0, token.value.length - character.length);
12915
+ let escapes = 0;
12916
+ while (value.charCodeAt(value.length - 1 - escapes) === 92) escapes++;
12917
+ if (escapes % 2) value += "\\";
12918
+ token.value = value + reference;
12919
+ }
12920
+ }
12921
+ /**
12922
+ * Try other sequences for the candidates of a mistake and use the first that
12923
+ * moves the mistake further.
12924
+ *
12925
+ * @param {Array<Item>} items
12926
+ * Items.
12927
+ * @param {Map<AttentionResult, string>} chosen
12928
+ * Sequences to use instead of preferred sequences.
12929
+ * @param {Mistake} mistake
12930
+ * Mistake.
12931
+ * @param {string} before
12932
+ * Characters before.
12933
+ * @param {string} after
12934
+ * Characters after.
12935
+ * @returns {Improvement | undefined}
12936
+ * Result if better.
12937
+ */
12938
+ function improve(items, chosen, mistake, before, after) {
12939
+ for (const attention of mistake.attention) {
12940
+ const current = chosen.get(attention) || attention.sequences[0];
12941
+ for (const sequence of attention.sequences) {
12942
+ if (sequence === current) continue;
12943
+ const trial = new Map(chosen);
12944
+ trial.set(attention, sequence);
12945
+ const tokens = render(items, trial, before, after);
12946
+ const next = check(tokens, before, after);
12947
+ if (!next || next.index > mistake.index) return {
12948
+ chosen: trial,
12949
+ mistake: next,
12950
+ tokens
12951
+ };
12952
+ }
12953
+ }
12954
+ }
12955
+ /**
12956
+ * Pair runs like `micromark` and mark sequences that do form their attention
12957
+ * as fine.
12958
+ *
12959
+ * Each pair uses markers from the end of an opener and the start of a closer.
12960
+ * It forms the intended attention if those markers are exactly the whole
12961
+ * opening and closing sequence of one attention.
12962
+ * Otherwise attention is mixed up:
12963
+ * either sequences of different attention pair,
12964
+ * part of a sequence is used (such as `**` of strong as `*`),
12965
+ * or several sequences are used together (such as `*` and `*` as `**`).
12966
+ * Then the sequences involved are recorded with each other.
12967
+ *
12968
+ * @param {Array<Run>} runs
12969
+ * Runs.
12970
+ * @param {Map<Token, Array<Token>>} wrong
12971
+ * Sequences that are wrong, with the sequences involved.
12972
+ * @returns {undefined}
12973
+ * Nothing, `wrong` is changed.
12974
+ */
12975
+ function pair(runs, wrong) {
12976
+ /** @type {Map<string, Array<Run>>} */
12977
+ const openersByMarker = /* @__PURE__ */ new Map();
12978
+ for (const closer of runs) {
12979
+ const marker = closer.tokens[0].value.charAt(0);
12980
+ let openers = openersByMarker.get(marker);
12981
+ if (!openers) {
12982
+ openers = [];
12983
+ openersByMarker.set(marker, openers);
12984
+ }
12985
+ let open = closer.close ? openers.length : 0;
12986
+ while (open-- && closer.start < closer.end) {
12987
+ const opener = openers[open];
12988
+ const openerSize = opener.end - opener.start;
12989
+ const closerSize = closer.end - closer.start;
12990
+ if (closer.split ? (opener.close || closer.open) && closerSize % 3 && !((openerSize + closerSize) % 3) : openerSize !== opener.markers.length || openerSize !== closerSize) continue;
12991
+ const size = closer.split ? openerSize > 1 && closerSize > 1 ? 2 : 1 : closerSize;
12992
+ const opening = opener.markers.slice(opener.end - size, opener.end);
12993
+ const closing = closer.markers.slice(closer.start, closer.start + size);
12994
+ const openToken = opening[0];
12995
+ const closeToken = closing[0];
12996
+ if (openToken === opening[size - 1] && openToken.value.length === size && closeToken === closing[size - 1] && closeToken.value.length === size && openToken.attention === closeToken.attention) {
12997
+ wrong.delete(openToken);
12998
+ wrong.delete(closeToken);
12999
+ } else {
13000
+ const involved = [.../* @__PURE__ */ new Set([...opening, ...closing])];
13001
+ for (const token of involved) {
13002
+ const list = wrong.get(token);
13003
+ if (list) list.push(...involved);
13004
+ }
13005
+ }
13006
+ opener.end -= size;
13007
+ closer.start += size;
13008
+ if (opener.start === opener.end) openers.splice(open, 1);
13009
+ open = openers.length;
13010
+ }
13011
+ if (closer.open && closer.start < closer.end) openers.push(closer);
13012
+ }
13013
+ }
13014
+ /**
13015
+ * Get the sequences that can be used for attention, in order of preference.
13016
+ *
13017
+ * @param {string} type
13018
+ * Node type.
13019
+ * @param {Array<string>} markers
13020
+ * Markers.
13021
+ * @param {Array<number>} sizes
13022
+ * Sizes.
13023
+ * @returns {Array<string>}
13024
+ * Sequences.
13025
+ */
13026
+ function attentionSequences(type, markers, sizes) {
13027
+ if (markers.length === 0) throw new Error("Cannot serialize `" + type + "` as attention without markers, expected one or more markers");
13028
+ if (sizes.length === 0) throw new Error("Cannot serialize `" + type + "` as attention without sizes, expected one or more sizes");
13029
+ for (const size of sizes) if (!Number.isSafeInteger(size) || size < 1) throw new Error("Cannot serialize `" + type + "` as attention with `" + size + "` as size, expected positive integer");
13030
+ /** @type {Array<string>} */
13031
+ const sequences = [];
13032
+ for (const marker of markers) {
13033
+ if (marker.length !== 1) throw new Error("Cannot serialize `" + type + "` as attention with `" + marker + "` as marker, expected a single ascii character");
13034
+ if (!asciiPunctuation(marker.charCodeAt(0))) throw new Error("Cannot serialize `" + type + "` as attention with `" + marker + "` as marker, expected ascii punctuation");
13035
+ for (const size of sizes) sequences.push(marker.repeat(size));
13036
+ }
13037
+ return sequences;
13038
+ }
13039
+ /**
13040
+ * Serialize the children of a parent that contains phrasing children,
13041
+ * keeping attention separate,
13042
+ * so that its markers can be chosen later.
13043
+ *
13044
+ * @param {PhrasingParents} parent
13045
+ * Parent of phrasing nodes.
13046
+ * @param {State} state
13047
+ * Info passed around about the current state.
13048
+ * @param {Info} info
13049
+ * Info on where we are in the document we are generating.
13050
+ * @returns {Array<Item>}
13051
+ * Items.
13052
+ */
13053
+ function phrasing(parent, state, info) {
13054
+ const indexStack = state.indexStack;
13055
+ const children = parent.children || [];
13056
+ /** @type {Array<Item>} */
13057
+ const results = [];
13058
+ let index = -1;
13059
+ let before = info.before;
13060
+ indexStack.push(-1);
13061
+ let tracker = state.createTracker(info);
13062
+ while (++index < children.length) {
13063
+ const child = children[index];
13064
+ /** @type {string} */
13065
+ let after;
13066
+ indexStack[indexStack.length - 1] = index;
13067
+ if (index + 1 < children.length) {
13068
+ /** @type {Handle} */
13069
+ let handle = state.handle.handlers[children[index + 1].type];
13070
+ if (handle && handle.peek) handle = handle.peek;
13071
+ after = handle ? firstCharacter(handle(children[index + 1], parent, state, {
13072
+ before: "",
13073
+ after: "",
13074
+ ...tracker.current()
13075
+ })) : "";
13076
+ } else after = info.after;
13077
+ const previous = results[results.length - 1];
13078
+ if (typeof previous === "string" && (before === "\r" || before === "\n") && child.type === "html" && htmlKind(child.value) !== 7) {
13079
+ results[results.length - 1] = previous.replace(/(\r?\n|\r)$/, " ");
13080
+ before = " ";
13081
+ tracker = state.createTracker(info);
13082
+ tracker.move(serialize(results, info.before, info.after));
13083
+ }
13084
+ /** @type {(Handle & {attention?: Attention | undefined}) | undefined} */
13085
+ const handle = state.handle.handlers[child.type];
13086
+ if (handle && handle.attention) {
13087
+ const item = attentionItem(child, handle.attention, state, tracker);
13088
+ results.push(item);
13089
+ before = lastCharacter(item.sequences[0]);
13090
+ } else {
13091
+ const value = state.handle(child, parent, state, {
13092
+ ...tracker.current(),
13093
+ after,
13094
+ before
13095
+ });
13096
+ if (!value) continue;
13097
+ tracker.move(value);
13098
+ results.push(value);
13099
+ before = lastCharacter(value);
13100
+ }
13101
+ }
13102
+ indexStack.pop();
13103
+ return results;
13104
+ }
13105
+ /**
13106
+ * Serialize a node as attention,
13107
+ * with its sequence chosen later.
13108
+ *
13109
+ * @param {PhrasingParents} node
13110
+ * Node.
13111
+ * @param {Attention} attention
13112
+ * Attention of the node.
13113
+ * @param {State} state
13114
+ * Info passed around about the current state.
13115
+ * @param {Tracker} tracker
13116
+ * Tracker.
13117
+ * @returns {AttentionResult}
13118
+ * Attention.
13119
+ */
13120
+ function attentionItem(node, attention, state, tracker) {
13121
+ const { construct, markers, sizes } = attention(node, state);
13122
+ const sequences = attentionSequences(node.type, markers, sizes);
13123
+ const sequence = sequences[0];
13124
+ const exit = state.enter(construct);
13125
+ tracker.move(sequence);
13126
+ const children = phrasing(node, state, {
13127
+ ...tracker.current(),
13128
+ before: sequence,
13129
+ after: sequence
13130
+ });
13131
+ tracker.move(serialize(children, sequence, sequence));
13132
+ tracker.move(sequence);
13133
+ exit();
13134
+ return {
13135
+ children,
13136
+ sequences
13137
+ };
13138
+ }
13139
+ /**
13140
+ * Render items with sequences;
13141
+ * encoding characters around attention where needed.
13142
+ *
13143
+ * @param {Array<Item>} items
13144
+ * Serialized phrasing.
13145
+ * @param {Map<AttentionResult, string>} chosen
13146
+ * Sequences to use instead of preferred sequences.
13147
+ * @param {string} before
13148
+ * Characters before.
13149
+ * @param {string} after
13150
+ * Characters after.
13151
+ * @returns {Array<Token>}
13152
+ * Tokens.
13153
+ */
13154
+ function render(items, chosen, before, after) {
13155
+ /** @type {Array<Token>} */
13156
+ const tokens = [];
13157
+ /** @type {string | undefined} */
13158
+ let encodeAfter;
13159
+ let previous = lastCharacter(before);
13160
+ let index = -1;
13161
+ while (++index < items.length) {
13162
+ const item = items[index];
13163
+ if (typeof item === "string") {
13164
+ /** @type {Token} */
13165
+ const token = {
13166
+ value: item,
13167
+ attention: void 0
13168
+ };
13169
+ if (encodeAfter && encodeAfter === firstCharacter(item)) encode([token], true);
13170
+ encodeAfter = void 0;
13171
+ tokens.push(token);
13172
+ if (token.value) previous = lastCharacter(token.value);
13173
+ continue;
13174
+ }
13175
+ const sequence = chosen.get(item) || item.sequences[0];
13176
+ const marker = sequence.charAt(0);
13177
+ const next = items[index + 1];
13178
+ const outsideBefore = previous;
13179
+ const outsideAfter = firstCharacter(next === void 0 ? after : typeof next === "string" ? next : chosen.get(next) || next.sequences[0]);
13180
+ const inside = render(item.children, chosen, sequence, sequence);
13181
+ const head = inside.length > 0 ? inside[0].value : "";
13182
+ const open = encodeInfo(outsideBefore.charCodeAt(outsideBefore.length - 1), head.charCodeAt(0), marker);
13183
+ if (open.inside) encode(inside, true);
13184
+ const tail = inside.length > 0 ? lastCharacter(inside[inside.length - 1].value) : "";
13185
+ const close = encodeInfo(outsideAfter.charCodeAt(0), tail.charCodeAt(tail.length - 1), marker);
13186
+ if (close.inside) encode(inside, false);
13187
+ if (open.outside && outsideBefore !== "\n" && outsideBefore !== "\r") encode(tokens, false);
13188
+ if (close.outside) encodeAfter = outsideAfter;
13189
+ tokens.push({
13190
+ value: sequence,
13191
+ attention: item
13192
+ }, ...inside, {
13193
+ value: sequence,
13194
+ attention: item
13195
+ });
13196
+ previous = sequence.charAt(sequence.length - 1);
13197
+ }
13198
+ return tokens;
13199
+ }
13200
+ /**
13201
+ * Serialize phrasing with attention.
13202
+ *
13203
+ * Whether attention forms depends on everything around it.
13204
+ * This checks that it does and tries other sequences if not.
13205
+ *
13206
+ * @param {Array<Item>} items
13207
+ * Phrasing items.
13208
+ * @param {string} before
13209
+ * Characters before.
13210
+ * @param {string} after
13211
+ * Characters after.
13212
+ * @returns {string}
13213
+ * Serialized markdown.
13214
+ */
13215
+ function serialize(items, before, after) {
13216
+ /** @type {Map<AttentionResult, string>} */
13217
+ let chosen = /* @__PURE__ */ new Map();
13218
+ const initial = render(items, chosen, before, after);
13219
+ let tokens = initial;
13220
+ let mistake = check(tokens, before, after);
13221
+ while (mistake) {
13222
+ const next = improve(items, chosen, mistake, before, after);
13223
+ if (!next) {
13224
+ tokens = initial;
13225
+ break;
13226
+ }
13227
+ chosen = next.chosen;
13228
+ tokens = next.tokens;
13229
+ mistake = next.mistake;
13230
+ }
13231
+ let result = "";
13232
+ for (const token of tokens) result += token.value;
13233
+ return result;
13234
+ }
13235
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
12533
13236
  /**
12534
13237
  * @import {AttentionInfo, Info, State} from 'mdast-util-to-markdown'
12535
13238
  * @import {Emphasis, Parents} from 'mdast'
@@ -12554,10 +13257,7 @@ window.__ModuleLoader__.load({
12554
13257
  */
12555
13258
  function emphasis(node, _, state, info) {
12556
13259
  const exit = state.enter("phrasing");
12557
- const value = state.containerPhrasing({
12558
- type: "root",
12559
- children: [node]
12560
- }, info);
13260
+ const value = serialize([attentionItem(node, attention$1, state, state.createTracker(info))], info.before, info.after);
12561
13261
  exit();
12562
13262
  return value;
12563
13263
  }
@@ -12593,8 +13293,7 @@ window.__ModuleLoader__.load({
12593
13293
  function peek$1(_, _1, state) {
12594
13294
  return state.options.emphasis || "*";
12595
13295
  }
12596
- //#endregion
12597
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/html.js
13296
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/html.js
12598
13297
  /**
12599
13298
  * @import {Html} from 'mdast'
12600
13299
  */
@@ -12619,8 +13318,7 @@ window.__ModuleLoader__.load({
12619
13318
  function htmlPeek() {
12620
13319
  return "<";
12621
13320
  }
12622
- //#endregion
12623
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/image.js
13321
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/image.js
12624
13322
  /**
12625
13323
  * @import {Info, State} from 'mdast-util-to-markdown'
12626
13324
  * @import {Image, Parents} from 'mdast'
@@ -12696,8 +13394,7 @@ window.__ModuleLoader__.load({
12696
13394
  function imagePeek() {
12697
13395
  return "!";
12698
13396
  }
12699
- //#endregion
12700
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
13397
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
12701
13398
  /**
12702
13399
  * @import {Info, State} from 'mdast-util-to-markdown'
12703
13400
  * @import {ImageReference, Parents} from 'mdast'
@@ -12757,8 +13454,7 @@ window.__ModuleLoader__.load({
12757
13454
  function imageReferencePeek() {
12758
13455
  return "!";
12759
13456
  }
12760
- //#endregion
12761
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
13457
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
12762
13458
  /**
12763
13459
  * @import {State} from 'mdast-util-to-markdown'
12764
13460
  * @import {InlineCode, Parents} from 'mdast'
@@ -12805,8 +13501,7 @@ window.__ModuleLoader__.load({
12805
13501
  function inlineCodePeek() {
12806
13502
  return "`";
12807
13503
  }
12808
- //#endregion
12809
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
13504
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
12810
13505
  /**
12811
13506
  * @import {State} from 'mdast-util-to-markdown'
12812
13507
  * @import {Link} from 'mdast'
@@ -12825,8 +13520,7 @@ window.__ModuleLoader__.load({
12825
13520
  const raw = toString(node);
12826
13521
  return Boolean(!state.options.resourceLink && node.url && !node.title && node.children && node.children.length === 1 && node.children[0].type === "text" && (raw === node.url || "mailto:" + raw === node.url) && /^[a-z][+\-.a-z]+:/i.test(node.url) && !/[\0- <>\u007F]/.test(node.url));
12827
13522
  }
12828
- //#endregion
12829
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/link.js
13523
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/link.js
12830
13524
  /**
12831
13525
  * @import {Info, State} from 'mdast-util-to-markdown'
12832
13526
  * @import {Link, Parents} from 'mdast'
@@ -12871,14 +13565,23 @@ window.__ModuleLoader__.load({
12871
13565
  const exit = state.enter("link");
12872
13566
  let subexit = state.enter("label");
12873
13567
  let value = tracker.move("[");
12874
- value += tracker.move(state.containerPhrasing(node, {
13568
+ const text = state.containerPhrasing(node, {
12875
13569
  before: value,
12876
13570
  after: "](",
12877
13571
  ...tracker.current()
12878
- }));
12879
- value += tracker.move("](");
13572
+ });
13573
+ value += tracker.move(text);
12880
13574
  subexit();
12881
- if (!node.url && node.title || /[\0- \u007F]/.test(node.url)) {
13575
+ value += tracker.move("](");
13576
+ const enclose = /[\0- \u007F]/.test(node.url);
13577
+ const last = info.before.charAt(info.before.length - 1);
13578
+ let title = node.title || void 0;
13579
+ if (!title && !enclose && (last === "\n" || last === "\r")) {
13580
+ let index = 0;
13581
+ while (index < text.length && text.charCodeAt(index) !== 93) index += text.charCodeAt(index) === 92 ? 2 : 1;
13582
+ if (text.charCodeAt(index + 1) === 58) title = "";
13583
+ }
13584
+ if (!node.url && typeof title === "string" || enclose) {
12882
13585
  subexit = state.enter("destinationLiteral");
12883
13586
  value += tracker.move("<");
12884
13587
  value += tracker.move(state.safe(node.url, {
@@ -12891,15 +13594,15 @@ window.__ModuleLoader__.load({
12891
13594
  subexit = state.enter("destinationRaw");
12892
13595
  value += tracker.move(state.safe(node.url, {
12893
13596
  before: value,
12894
- after: node.title ? " " : ")",
13597
+ after: typeof title === "string" ? " " : ")",
12895
13598
  ...tracker.current()
12896
13599
  }));
12897
13600
  }
12898
13601
  subexit();
12899
- if (node.title) {
13602
+ if (typeof title === "string") {
12900
13603
  subexit = state.enter(`title${suffix}`);
12901
13604
  value += tracker.move(" " + quote);
12902
- value += tracker.move(state.safe(node.title, {
13605
+ value += tracker.move(state.safe(title, {
12903
13606
  before: value,
12904
13607
  after: quote,
12905
13608
  ...tracker.current()
@@ -12926,8 +13629,7 @@ window.__ModuleLoader__.load({
12926
13629
  function linkPeek(node, _, state) {
12927
13630
  return formatLinkAsAutolink(node, state) ? "<" : "[";
12928
13631
  }
12929
- //#endregion
12930
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
13632
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
12931
13633
  /**
12932
13634
  * @import {Info, State} from 'mdast-util-to-markdown'
12933
13635
  * @import {LinkReference, Parents} from 'mdast'
@@ -12987,8 +13689,7 @@ window.__ModuleLoader__.load({
12987
13689
  function linkReferencePeek() {
12988
13690
  return "[";
12989
13691
  }
12990
- //#endregion
12991
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/util/check-strong.js
13692
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/util/check-strong.js
12992
13693
  /**
12993
13694
  * @import {Options, State} from 'mdast-util-to-markdown'
12994
13695
  */
@@ -13005,8 +13706,7 @@ window.__ModuleLoader__.load({
13005
13706
  if (marker !== "*" && marker !== "_") throw new Error("Cannot serialize strong with `" + marker + "` for `options.strong`, expected `*`, or `_`");
13006
13707
  return marker;
13007
13708
  }
13008
- //#endregion
13009
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/handle/strong.js
13709
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/handle/strong.js
13010
13710
  /**
13011
13711
  * @import {AttentionInfo, Info, State} from 'mdast-util-to-markdown'
13012
13712
  * @import {Parents, Strong} from 'mdast'
@@ -13031,10 +13731,7 @@ window.__ModuleLoader__.load({
13031
13731
  */
13032
13732
  function strong(node, _, state, info) {
13033
13733
  const exit = state.enter("phrasing");
13034
- const value = state.containerPhrasing({
13035
- type: "root",
13036
- children: [node]
13037
- }, info);
13734
+ const value = serialize([attentionItem(node, attention, state, state.createTracker(info))], info.before, info.after);
13038
13735
  exit();
13039
13736
  return value;
13040
13737
  }
@@ -13070,8 +13767,7 @@ window.__ModuleLoader__.load({
13070
13767
  function peek(_, _1, state) {
13071
13768
  return state.options.strong || "*";
13072
13769
  }
13073
- //#endregion
13074
- //#region ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.0/node_modules/mdast-util-to-markdown/lib/unsafe.js
13770
+ // ../../../node_modules/.pnpm/mdast-util-to-markdown@2.2.1/node_modules/mdast-util-to-markdown/lib/unsafe.js
13075
13771
  /**
13076
13772
  * @import {ConstructName, Unsafe} from 'mdast-util-to-markdown'
13077
13773
  */
@@ -13185,7 +13881,17 @@ window.__ModuleLoader__.load({
13185
13881
  {
13186
13882
  character: "&",
13187
13883
  after: "[#A-Za-z]",
13188
- inConstruct: "phrasing"
13884
+ inConstruct: [
13885
+ "codeFencedLangGraveAccent",
13886
+ "codeFencedLangTilde",
13887
+ "codeFencedMetaGraveAccent",
13888
+ "codeFencedMetaTilde",
13889
+ "destinationLiteral",
13890
+ "destinationRaw",
13891
+ "phrasing",
13892
+ "titleApostrophe",
13893
+ "titleQuote"
13894
+ ]
13189
13895
  },
13190
13896
  {
13191
13897
  character: "'",
@@ -13330,8 +14036,7 @@ window.__ModuleLoader__.load({
13330
14036
  inConstruct: "autolink"
13331
14037
  });
13332
14038
  ({}).hasOwnProperty;
13333
- //#endregion
13334
- //#region ../../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0_supports-color@9.4.0/node_modules/mdast-util-gfm-table/lib/index.js
14039
+ // ../../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0_supports-color@9.4.0/node_modules/mdast-util-gfm-table/lib/index.js
13335
14040
  /**
13336
14041
  * @typedef {import('mdast').InlineCode} InlineCode
13337
14042
  * @typedef {import('mdast').Table} Table
@@ -13455,8 +14160,7 @@ window.__ModuleLoader__.load({
13455
14160
  function replace($0, $1) {
13456
14161
  return $1 === "|" ? $1 : $0;
13457
14162
  }
13458
- //#endregion
13459
- //#region ../../../node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0_supports-color@9.4.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js
14163
+ // ../../../node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0_supports-color@9.4.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js
13460
14164
  /**
13461
14165
  * @typedef {import('mdast').ListItem} ListItem
13462
14166
  * @typedef {import('mdast').Paragraph} Paragraph
@@ -13524,8 +14228,7 @@ window.__ModuleLoader__.load({
13524
14228
  }
13525
14229
  this.exit(token);
13526
14230
  }
13527
- //#endregion
13528
- //#region ../../../node_modules/.pnpm/mdast-util-gfm@3.1.0_supports-color@9.4.0/node_modules/mdast-util-gfm/lib/index.js
14231
+ // ../../../node_modules/.pnpm/mdast-util-gfm@3.1.0_supports-color@9.4.0/node_modules/mdast-util-gfm/lib/index.js
13529
14232
  /**
13530
14233
  * @import {Extension as FromMarkdownExtension} from 'mdast-util-from-markdown'
13531
14234
  * @import {Options} from 'mdast-util-gfm'
@@ -13548,8 +14251,7 @@ window.__ModuleLoader__.load({
13548
14251
  gfmTaskListItemFromMarkdown()
13549
14252
  ];
13550
14253
  }
13551
- //#endregion
13552
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
14254
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0_patch_hash=906ae7c0cd1f69e7ee308a41bc054_3cbe234c53027bed16ba7d28e78f0ec4/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
13553
14255
  /**
13554
14256
  * @import {Code, ConstructRecord, Event, Extension, Previous, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
13555
14257
  */
@@ -13569,6 +14271,10 @@ window.__ModuleLoader__.load({
13569
14271
  tokenize: tokenizeTrail,
13570
14272
  partial: true
13571
14273
  };
14274
+ const astralPunctuation = {
14275
+ tokenize: tokenizeAstralPunctuation,
14276
+ partial: true
14277
+ };
13572
14278
  const emailDomainDotTrail = {
13573
14279
  tokenize: tokenizeEmailDomainDotTrail,
13574
14280
  partial: true
@@ -14036,7 +14742,8 @@ window.__ModuleLoader__.load({
14036
14742
  }
14037
14743
  if (code === 41 && sizeClose < sizeOpen) return pathAtPunctuation(code);
14038
14744
  if (code === 33 || code === 34 || code === 38 || code === 39 || code === 41 || code === 42 || code === 44 || code === 46 || code === 58 || code === 59 || code === 60 || code === 63 || code === 93 || code === 95 || code === 126) return effects.check(trail, ok, pathAtPunctuation)(code);
14039
- if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) return ok(code);
14745
+ if (highSurrogate(code)) return effects.check(astralPunctuation, ok, pathAtPunctuation)(code);
14746
+ if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || nonAsciiPunctuation(code)) return ok(code);
14040
14747
  effects.consume(code);
14041
14748
  return pathInside;
14042
14749
  }
@@ -14096,7 +14803,8 @@ window.__ModuleLoader__.load({
14096
14803
  effects.consume(code);
14097
14804
  return trailBracketAfter;
14098
14805
  }
14099
- if (code === 60 || code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) return ok(code);
14806
+ if (code === 60 || code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || nonAsciiPunctuation(code)) return ok(code);
14807
+ if (highSurrogate(code)) return effects.check(astralPunctuation, ok, nok)(code);
14100
14808
  return nok(code);
14101
14809
  }
14102
14810
  /**
@@ -14222,6 +14930,47 @@ window.__ModuleLoader__.load({
14222
14930
  return !(code === 47 || gfmAtext(code));
14223
14931
  }
14224
14932
  /**
14933
+ * Non-ASCII punctuation or symbol, such as `。` or `,`, which ends a literal
14934
+ * in CJK prose.
14935
+ *
14936
+ * @param {Code} code
14937
+ * @returns {boolean}
14938
+ */
14939
+ function nonAsciiPunctuation(code) {
14940
+ return code !== null && code > 127 && unicodePunctuation(code);
14941
+ }
14942
+ /**
14943
+ * Whether `code` is a UTF-16 high surrogate, which starts a character outside
14944
+ * the BMP such as `😀`.
14945
+ *
14946
+ * @param {Code} code
14947
+ * @returns {boolean}
14948
+ */
14949
+ function highSurrogate(code) {
14950
+ return code !== null && code >= 55296 && code <= 56319;
14951
+ }
14952
+ /**
14953
+ * Check whether a surrogate pair is punctuation or a symbol.
14954
+ *
14955
+ * @this {TokenizeContext}
14956
+ * @type {Tokenizer}
14957
+ */
14958
+ function tokenizeAstralPunctuation(effects, ok, nok) {
14959
+ /** @type {number} */
14960
+ let high;
14961
+ return start;
14962
+ /** @type {State} */
14963
+ function start(code) {
14964
+ high = code;
14965
+ effects.consume(code);
14966
+ return low;
14967
+ }
14968
+ /** @type {State} */
14969
+ function low(code) {
14970
+ return code !== null && code >= 56320 && code <= 57343 && /[\p{P}\p{S}]/u.test(String.fromCharCode(high, code)) ? ok(code) : nok(code);
14971
+ }
14972
+ }
14973
+ /**
14225
14974
  * @param {Code} code
14226
14975
  * @returns {boolean}
14227
14976
  */
@@ -14249,8 +14998,7 @@ window.__ModuleLoader__.load({
14249
14998
  if (events.length > 0 && !result) events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;
14250
14999
  return result;
14251
15000
  }
14252
- //#endregion
14253
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js
15001
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js
14254
15002
  /**
14255
15003
  * @import {Event, Exiter, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
14256
15004
  */
@@ -14669,8 +15417,7 @@ window.__ModuleLoader__.load({
14669
15417
  }
14670
15418
  }
14671
15419
  ({}).hasOwnProperty;
14672
- //#endregion
14673
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
15420
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
14674
15421
  /**
14675
15422
  * @import {Options} from 'micromark-extension-gfm-strikethrough'
14676
15423
  * @import {Event, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
@@ -14810,8 +15557,7 @@ window.__ModuleLoader__.load({
14810
15557
  }
14811
15558
  }
14812
15559
  }
14813
- //#endregion
14814
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/edit-map.js
15560
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/edit-map.js
14815
15561
  /**
14816
15562
  * @import {Event} from 'micromark-util-types'
14817
15563
  */
@@ -14921,8 +15667,7 @@ window.__ModuleLoader__.load({
14921
15667
  editMap.map.push(change);
14922
15668
  editMap.index.set(at, change);
14923
15669
  }
14924
- //#endregion
14925
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/infer.js
15670
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/infer.js
14926
15671
  /**
14927
15672
  * @import {Event} from 'micromark-util-types'
14928
15673
  */
@@ -14959,8 +15704,7 @@ window.__ModuleLoader__.load({
14959
15704
  }
14960
15705
  return align;
14961
15706
  }
14962
- //#endregion
14963
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/syntax.js
15707
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/syntax.js
14964
15708
  /**
14965
15709
  * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
14966
15710
  */
@@ -15677,8 +16421,7 @@ window.__ModuleLoader__.load({
15677
16421
  return event[1][side];
15678
16422
  }
15679
16423
  new RegExp("^" + /<(\/?)(iframe|noembed|noframes|plaintext|script|style|title|textarea|xmp)(?=[\t\n\f\r />])/gi.source, "i");
15680
- //#endregion
15681
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
16424
+ // ../../../node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
15682
16425
  /**
15683
16426
  * @import {Extension, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
15684
16427
  */
@@ -15796,8 +16539,7 @@ window.__ModuleLoader__.load({
15796
16539
  return code === null ? nok(code) : ok(code);
15797
16540
  }
15798
16541
  }
15799
- //#endregion
15800
- //#region ../../../node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js
16542
+ // ../../../node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js
15801
16543
  /**
15802
16544
  * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions
15803
16545
  * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options
@@ -15824,8 +16566,7 @@ window.__ModuleLoader__.load({
15824
16566
  gfmTaskListItem()
15825
16567
  ]);
15826
16568
  }
15827
- //#endregion
15828
- //#region ../../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/codes.js
16569
+ // ../../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/codes.js
15829
16570
  /**
15830
16571
  * Character codes.
15831
16572
  *
@@ -15982,8 +16723,7 @@ window.__ModuleLoader__.load({
15982
16723
  byteOrderMarker: 65279,
15983
16724
  replacementCharacter: 65533
15984
16725
  };
15985
- //#endregion
15986
- //#region ../../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/types.js
16726
+ // ../../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/types.js
15987
16727
  /**
15988
16728
  * This module is compiled away!
15989
16729
  *
@@ -16099,8 +16839,7 @@ window.__ModuleLoader__.load({
16099
16839
  chunkText: "chunkText",
16100
16840
  chunkString: "chunkString"
16101
16841
  };
16102
- //#endregion
16103
- //#region ../dsh-client-ui-primitives/src/reference.ts
16842
+ // ../dsh-client-ui-primitives/src/reference.ts
16104
16843
  const DEFAULT_PROTOCOL = "file";
16105
16844
  const EXTERNAL_PROTOCOLS = [
16106
16845
  "http",
@@ -16535,8 +17274,7 @@ window.__ModuleLoader__.load({
16535
17274
  return;
16536
17275
  }
16537
17276
  }
16538
- //#endregion
16539
- //#region ../dsh-client-ui-primitives/src/reference-markdown.tsx
17277
+ // ../dsh-client-ui-primitives/src/reference-markdown.tsx
16540
17278
  function referenceMentions(actions, tokens) {
16541
17279
  return { resolve: (value) => {
16542
17280
  const reference = tokens?.get(value) ?? parseReferenceToken(value);
@@ -16598,8 +17336,7 @@ window.__ModuleLoader__.load({
16598
17336
  function apply$1(ctx) {
16599
17337
  apply$2(ctx);
16600
17338
  }
16601
- //#endregion
16602
- //#region src/client/index.ts
17339
+ // src/client/index.ts
16603
17340
  /** 恒 `undefined` 的可订阅快照(`useSyncExternalStore` 的入参形状)。 */
16604
17341
  const NO_RELEASE_CHANGE = {
16605
17342
  getSnapshot: () => void 0,
@@ -16654,7 +17391,6 @@ window.__ModuleLoader__.load({
16654
17391
  };
16655
17392
  });
16656
17393
  }
16657
- //#endregion
16658
17394
  exports.apply = apply;
16659
17395
  return module.exports;
16660
17396
  }