typedoc 0.24.3 → 0.24.5

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.
Files changed (31) hide show
  1. package/dist/lib/converter/comments/discovery.d.ts +5 -0
  2. package/dist/lib/converter/comments/discovery.js +14 -1
  3. package/dist/lib/converter/comments/index.d.ts +1 -0
  4. package/dist/lib/converter/comments/index.js +6 -1
  5. package/dist/lib/converter/comments/parser.js +5 -0
  6. package/dist/lib/converter/context.d.ts +1 -0
  7. package/dist/lib/converter/context.js +3 -0
  8. package/dist/lib/converter/converter.js +6 -2
  9. package/dist/lib/converter/plugins/GroupPlugin.d.ts +6 -0
  10. package/dist/lib/converter/plugins/GroupPlugin.js +32 -3
  11. package/dist/lib/models/reflections/kind.js +3 -1
  12. package/dist/lib/output/themes/MarkedPlugin.js +20 -2
  13. package/dist/lib/output/themes/default/partials/comment.d.ts +1 -1
  14. package/dist/lib/output/themes/default/partials/comment.js +5 -1
  15. package/dist/lib/output/themes/default/partials/member.declaration.js +1 -1
  16. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +3 -3
  17. package/dist/lib/output/themes/default/partials/member.signature.body.js +28 -24
  18. package/dist/lib/output/themes/default/partials/member.signature.title.js +1 -1
  19. package/dist/lib/output/themes/default/partials/navigation.js +38 -13
  20. package/dist/lib/output/themes/default/partials/type.js +1 -1
  21. package/dist/lib/output/themes/default/partials/typeParameters.js +2 -2
  22. package/dist/lib/output/themes/lib.d.ts +2 -1
  23. package/dist/lib/output/themes/lib.js +19 -4
  24. package/dist/lib/utils/html.d.ts +1 -0
  25. package/dist/lib/utils/html.js +12 -1
  26. package/dist/lib/utils/jsx.js +2 -11
  27. package/dist/lib/utils/options/declaration.d.ts +5 -0
  28. package/dist/lib/utils/options/sources/typedoc.js +90 -57
  29. package/package.json +1 -1
  30. package/static/main.js +2 -2
  31. package/static/style.css +67 -33
@@ -7,5 +7,10 @@ export interface DiscoveredComment {
7
7
  ranges: ts.CommentRange[];
8
8
  jsDoc: ts.JSDoc | undefined;
9
9
  }
10
+ export declare function discoverFileComment(node: ts.SourceFile, commentStyle: CommentStyle): {
11
+ file: ts.SourceFile;
12
+ ranges: ts.CommentRange[];
13
+ jsDoc: ts.JSDoc | undefined;
14
+ } | undefined;
10
15
  export declare function discoverComment(symbol: ts.Symbol, kind: ReflectionKind, logger: Logger, commentStyle: CommentStyle): DiscoveredComment | undefined;
11
16
  export declare function discoverSignatureComment(declaration: ts.SignatureDeclaration | ts.JSDocSignature, commentStyle: CommentStyle): DiscoveredComment | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.discoverSignatureComment = exports.discoverComment = void 0;
6
+ exports.discoverSignatureComment = exports.discoverComment = exports.discoverFileComment = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
8
  const models_1 = require("../../models");
9
9
  const utils_1 = require("../../utils");
@@ -98,6 +98,19 @@ const wantedKinds = {
98
98
  typescript_1.default.SyntaxKind.ExportSpecifier,
99
99
  ],
100
100
  };
101
+ function discoverFileComment(node, commentStyle) {
102
+ const text = node.text;
103
+ const comments = collectCommentRanges(typescript_1.default.getLeadingCommentRanges(text, node.pos));
104
+ const selectedDocComment = comments.find((ranges) => permittedRange(text, ranges, commentStyle));
105
+ if (selectedDocComment) {
106
+ return {
107
+ file: node,
108
+ ranges: selectedDocComment,
109
+ jsDoc: findJsDocForComment(node, selectedDocComment),
110
+ };
111
+ }
112
+ }
113
+ exports.discoverFileComment = discoverFileComment;
101
114
  function discoverComment(symbol, kind, logger, commentStyle) {
102
115
  // For a module comment, we want the first one defined in the file,
103
116
  // not the last one, since that will apply to the import or declaration.
@@ -10,5 +10,6 @@ export interface CommentParserConfig {
10
10
  }
11
11
  export declare function clearCommentCache(): void;
12
12
  export declare function getComment(symbol: ts.Symbol, kind: ReflectionKind, config: CommentParserConfig, logger: Logger, commentStyle: CommentStyle, checker: ts.TypeChecker | undefined): Comment | undefined;
13
+ export declare function getFileComment(file: ts.SourceFile, config: CommentParserConfig, logger: Logger, commentStyle: CommentStyle, checker: ts.TypeChecker | undefined): Comment | undefined;
13
14
  export declare function getSignatureComment(declaration: ts.SignatureDeclaration | ts.JSDocSignature, config: CommentParserConfig, logger: Logger, commentStyle: CommentStyle, checker: ts.TypeChecker | undefined): Comment | undefined;
14
15
  export declare function getJsDocComment(declaration: ts.JSDocPropertyLikeTag | ts.JSDocCallbackTag | ts.JSDocTypedefTag | ts.JSDocTemplateTag | ts.JSDocEnumTag, config: CommentParserConfig, logger: Logger, checker: ts.TypeChecker | undefined): Comment | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getJsDocComment = exports.getSignatureComment = exports.getComment = exports.clearCommentCache = void 0;
6
+ exports.getJsDocComment = exports.getSignatureComment = exports.getFileComment = exports.getComment = exports.clearCommentCache = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
8
  const models_1 = require("../../models");
9
9
  const utils_1 = require("../../utils");
@@ -81,6 +81,11 @@ function getComment(symbol, kind, config, logger, commentStyle, checker) {
81
81
  return comment;
82
82
  }
83
83
  exports.getComment = getComment;
84
+ function getFileComment(file, config, logger, commentStyle, checker) {
85
+ return getCommentImpl((0, discovery_1.discoverFileComment)(file, commentStyle), config, logger,
86
+ /* moduleComment */ true, checker);
87
+ }
88
+ exports.getFileComment = getFileComment;
84
89
  function getConstructorParamPropertyComment(symbol, config, logger, commentStyle, checker) {
85
90
  const decl = symbol.declarations?.find(typescript_1.default.isParameter);
86
91
  if (!decl)
@@ -105,6 +105,11 @@ function postProcessComment(comment, warning) {
105
105
  warning("At most one @remarks tag is expected in a comment, ignoring all but the first");
106
106
  (0, utils_1.removeIf)(comment.blockTags, (tag) => remarks.indexOf(tag) > 0);
107
107
  }
108
+ const returns = comment.blockTags.filter((tag) => tag.tag === "@returns");
109
+ if (remarks.length > 1) {
110
+ warning("At most one @returns tag is expected in a comment, ignoring all but the first");
111
+ (0, utils_1.removeIf)(comment.blockTags, (tag) => returns.indexOf(tag) > 0);
112
+ }
108
113
  const inheritDoc = comment.blockTags.filter((tag) => tag.tag === "@inheritDoc");
109
114
  const inlineInheritDoc = comment.summary.filter((part) => part.kind === "inline-tag" && part.tag === "@inheritDoc");
110
115
  if (inlineInheritDoc.length + inheritDoc.length > 1) {
@@ -79,6 +79,7 @@ export declare class Context {
79
79
  /** @internal */
80
80
  setActiveProgram(program: ts.Program | undefined): void;
81
81
  getComment(symbol: ts.Symbol, kind: ReflectionKind): import("../models/index").Comment | undefined;
82
+ getFileComment(node: ts.SourceFile): import("../models/index").Comment | undefined;
82
83
  getJsDocComment(declaration: ts.JSDocPropertyLikeTag | ts.JSDocCallbackTag | ts.JSDocTypedefTag | ts.JSDocTemplateTag | ts.JSDocEnumTag): import("../models/index").Comment | undefined;
83
84
  getSignatureComment(declaration: ts.SignatureDeclaration | ts.JSDocSignature): import("../models/index").Comment | undefined;
84
85
  /**
@@ -176,6 +176,9 @@ class Context {
176
176
  getComment(symbol, kind) {
177
177
  return (0, comments_1.getComment)(symbol, kind, this.converter.config, this.logger, this.converter.commentStyle, this.converter.useTsLinkResolution ? this.checker : undefined);
178
178
  }
179
+ getFileComment(node) {
180
+ return (0, comments_1.getFileComment)(node, this.converter.config, this.logger, this.converter.commentStyle, this.converter.useTsLinkResolution ? this.checker : undefined);
181
+ }
179
182
  getJsDocComment(declaration) {
180
183
  return (0, comments_1.getJsDocComment)(declaration, this.converter.config, this.logger, this.converter.useTsLinkResolution ? this.checker : undefined);
181
184
  }
@@ -163,13 +163,17 @@ let Converter = Converter_1 = class Converter extends component_1.ChildableCompo
163
163
  // Special case for when we're giving a single entry point, we don't need to
164
164
  // create modules for each entry. Register the project as this module.
165
165
  context.project.registerReflection(context.project, symbol);
166
- context.project.comment =
167
- symbol && context.getComment(symbol, context.project.kind);
166
+ context.project.comment = symbol
167
+ ? context.getComment(symbol, context.project.kind)
168
+ : context.getFileComment(node);
168
169
  context.trigger(Converter_1.EVENT_CREATE_DECLARATION, context.project);
169
170
  moduleContext = context;
170
171
  }
171
172
  else {
172
173
  const reflection = context.createDeclarationReflection(index_1.ReflectionKind.Module, symbol, void 0, entryName);
174
+ if (!reflection.comment && !symbol) {
175
+ reflection.comment = context.getFileComment(node);
176
+ }
173
177
  if (entryPoint.readmeFile) {
174
178
  const readme = (0, utils_1.readFile)(entryPoint.readmeFile);
175
179
  const comment = this.parseRawComment(new utils_1.MinimalSourceFile(readme, entryPoint.readmeFile));
@@ -9,7 +9,9 @@ import { ConverterComponent } from "../components";
9
9
  export declare class GroupPlugin extends ConverterComponent {
10
10
  sortFunction: (reflections: DeclarationReflection[]) => void;
11
11
  boosts: Record<string, number>;
12
+ groupOrder: string[];
12
13
  usedBoosts: Set<string>;
14
+ static WEIGHTS: string[];
13
15
  /**
14
16
  * Create a new GroupPlugin instance.
15
17
  */
@@ -44,4 +46,8 @@ export declare class GroupPlugin extends ConverterComponent {
44
46
  * @returns An array containing all children of the given reflection grouped by their kind.
45
47
  */
46
48
  getReflectionGroups(reflections: DeclarationReflection[]): ReflectionGroup[];
49
+ /**
50
+ * Callback used to sort groups by name.
51
+ */
52
+ static sortGroupCallback(a: ReflectionGroup, b: ReflectionGroup): number;
47
53
  }
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var GroupPlugin_1;
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.GroupPlugin = void 0;
10
11
  const index_1 = require("../../models/reflections/index");
@@ -19,7 +20,7 @@ const models_1 = require("../../models");
19
20
  *
20
21
  * The handler sets the `groups` property of all container reflections.
21
22
  */
22
- let GroupPlugin = class GroupPlugin extends components_1.ConverterComponent {
23
+ let GroupPlugin = GroupPlugin_1 = class GroupPlugin extends components_1.ConverterComponent {
23
24
  constructor() {
24
25
  super(...arguments);
25
26
  this.usedBoosts = new Set();
@@ -31,6 +32,7 @@ let GroupPlugin = class GroupPlugin extends components_1.ConverterComponent {
31
32
  this.listenTo(this.owner, {
32
33
  [converter_1.Converter.EVENT_RESOLVE_BEGIN]: () => {
33
34
  this.sortFunction = (0, sort_1.getSortFunction)(this.application.options);
35
+ GroupPlugin_1.WEIGHTS = this.groupOrder;
34
36
  },
35
37
  [converter_1.Converter.EVENT_RESOLVE]: this.onResolve,
36
38
  [converter_1.Converter.EVENT_RESOLVE_END]: this.onEndResolve,
@@ -135,13 +137,40 @@ let GroupPlugin = class GroupPlugin extends components_1.ConverterComponent {
135
137
  group.children.push(child);
136
138
  }
137
139
  });
138
- return Array.from(groups.values());
140
+ return Array.from(groups.values()).sort(GroupPlugin_1.sortGroupCallback);
141
+ }
142
+ /**
143
+ * Callback used to sort groups by name.
144
+ */
145
+ static sortGroupCallback(a, b) {
146
+ let aWeight = GroupPlugin_1.WEIGHTS.indexOf(a.title);
147
+ let bWeight = GroupPlugin_1.WEIGHTS.indexOf(b.title);
148
+ if (aWeight === -1 || bWeight === -1) {
149
+ let asteriskIndex = GroupPlugin_1.WEIGHTS.indexOf("*");
150
+ if (asteriskIndex === -1) {
151
+ asteriskIndex = GroupPlugin_1.WEIGHTS.length;
152
+ }
153
+ if (aWeight === -1) {
154
+ aWeight = asteriskIndex;
155
+ }
156
+ if (bWeight === -1) {
157
+ bWeight = asteriskIndex;
158
+ }
159
+ }
160
+ if (aWeight === bWeight) {
161
+ return a.title > b.title ? 1 : -1;
162
+ }
163
+ return aWeight - bWeight;
139
164
  }
140
165
  };
166
+ GroupPlugin.WEIGHTS = [];
141
167
  __decorate([
142
168
  (0, utils_1.BindOption)("searchGroupBoosts")
143
169
  ], GroupPlugin.prototype, "boosts", void 0);
144
- GroupPlugin = __decorate([
170
+ __decorate([
171
+ (0, utils_1.BindOption)("groupOrder")
172
+ ], GroupPlugin.prototype, "groupOrder", void 0);
173
+ GroupPlugin = GroupPlugin_1 = __decorate([
145
174
  (0, components_1.Component)({ name: "group" })
146
175
  ], GroupPlugin);
147
176
  exports.GroupPlugin = GroupPlugin;
@@ -124,7 +124,9 @@ var ReflectionKind;
124
124
  }
125
125
  ReflectionKind.pluralString = pluralString;
126
126
  function classString(kind) {
127
- return `tsd-kind-${ReflectionKind[kind].replace(/(.)([A-Z])/g, (_m, a, b) => `${a}-${b}`.toLowerCase())}`;
127
+ return `tsd-kind-${ReflectionKind[kind]
128
+ .replace(/(.)([A-Z])/g, (_m, a, b) => `${a}-${b}`)
129
+ .toLowerCase()}`;
128
130
  }
129
131
  ReflectionKind.classString = classString;
130
132
  })(ReflectionKind = exports.ReflectionKind || (exports.ReflectionKind = {}));
@@ -165,14 +165,15 @@ output file :
165
165
  markedOptions.renderer = new Marked.Renderer();
166
166
  markedOptions.renderer.heading = (text, level, _, slugger) => {
167
167
  const slug = slugger.slug(text);
168
- // Prefix the slug with an extra `$` to prevent conflicts with TypeDoc's anchors.
168
+ // Prefix the slug with an extra `md:` to prevent conflicts with TypeDoc's anchors.
169
169
  this.page.pageHeadings.push({
170
170
  link: `#md:${slug}`,
171
171
  text: (0, html_1.getTextContent)(text),
172
172
  level,
173
173
  });
174
- return `<a id="md:${slug}" class="tsd-anchor"></a><h${level}><a href="#$${slug}" style="color:inherit;text-decoration:none">${text}</a></h${level}>`;
174
+ return `<a id="md:${slug}" class="tsd-anchor"></a><h${level}><a href="#md:${slug}">${text}</a></h${level}>`;
175
175
  };
176
+ markedOptions.renderer.code = renderCode;
176
177
  }
177
178
  markedOptions.mangle ?? (markedOptions.mangle = false); // See https://github.com/TypeStrong/typedoc/issues/1395
178
179
  return markedOptions;
@@ -202,3 +203,20 @@ MarkedPlugin = __decorate([
202
203
  (0, components_1.Component)({ name: "marked" })
203
204
  ], MarkedPlugin);
204
205
  exports.MarkedPlugin = MarkedPlugin;
206
+ // Basically a copy/paste of Marked's code, with the addition of the button
207
+ // https://github.com/markedjs/marked/blob/v4.3.0/src/Renderer.js#L15-L39
208
+ function renderCode(code, infostring, escaped) {
209
+ const lang = (infostring || "").match(/\S*/)[0];
210
+ if (this.options.highlight) {
211
+ const out = this.options.highlight(code, lang);
212
+ if (out != null && out !== code) {
213
+ escaped = true;
214
+ code = out;
215
+ }
216
+ }
217
+ code = code.replace(/\n$/, "") + "\n";
218
+ if (!lang) {
219
+ return `<pre><code>${escaped ? code : (0, html_1.escapeHtml)(code)}</code><button>Copy</button></pre>\n`;
220
+ }
221
+ return `<pre><code class="${this.options.langPrefix + (0, html_1.escapeHtml)(lang)}">${escaped ? code : (0, html_1.escapeHtml)(code)}</code><button>Copy</button></pre>\n`;
222
+ }
@@ -1,4 +1,4 @@
1
1
  import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
2
2
  import { JSX } from "../../../../utils";
3
- import type { Reflection } from "../../../../models";
3
+ import { Reflection } from "../../../../models";
4
4
  export declare function comment({ markdown }: DefaultThemeRenderContext, props: Reflection): JSX.Element | undefined;
@@ -2,14 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.comment = void 0;
4
4
  const utils_1 = require("../../../../utils");
5
+ const models_1 = require("../../../../models");
5
6
  const lib_1 = require("../../lib");
6
7
  function comment({ markdown }, props) {
7
8
  if (!props.comment?.hasVisibleComponent())
8
9
  return;
9
10
  // Note: Comment modifiers are handled in `renderFlags`
11
+ const tags = props.kindOf(models_1.ReflectionKind.SomeSignature)
12
+ ? props.comment.blockTags.filter((tag) => tag.tag !== "@returns")
13
+ : props.comment.blockTags;
10
14
  return (utils_1.JSX.createElement("div", { class: "tsd-comment tsd-typography" },
11
15
  utils_1.JSX.createElement(utils_1.Raw, { html: markdown(props.comment.summary) }),
12
- props.comment.blockTags.map((item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
16
+ tags.map((item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
13
17
  utils_1.JSX.createElement("h3", null, (0, lib_1.camelToTitleCase)(item.tag.substring(1))),
14
18
  utils_1.JSX.createElement(utils_1.Raw, { html: markdown(item.content) }))))));
15
19
  }
@@ -7,7 +7,7 @@ const lib_1 = require("../../lib");
7
7
  const memberDeclaration = (context, props) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
8
8
  utils_1.JSX.createElement("div", { class: "tsd-signature" },
9
9
  utils_1.JSX.createElement("span", { class: (0, lib_1.getKindClass)(props) }, (0, lib_1.wbr)(props.name)),
10
- (0, lib_1.renderTypeParametersSignature)(props.typeParameters),
10
+ (0, lib_1.renderTypeParametersSignature)(context, props.typeParameters),
11
11
  props.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
12
12
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" },
13
13
  !!props.flags.isOptional && "?",
@@ -1,6 +1,6 @@
1
1
  import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
2
2
  import { JSX } from "../../../../utils";
3
3
  import { SignatureReflection } from "../../../../models";
4
- export declare const memberSignatureBody: (context: DefaultThemeRenderContext, props: SignatureReflection, { hideSources }?: {
5
- hideSources?: boolean | undefined;
6
- }) => JSX.Element;
4
+ export declare function memberSignatureBody(context: DefaultThemeRenderContext, props: SignatureReflection, { hideSources }?: {
5
+ hideSources?: boolean;
6
+ }): JSX.Element;
@@ -4,28 +4,32 @@ exports.memberSignatureBody = void 0;
4
4
  const utils_1 = require("../../../../utils");
5
5
  const models_1 = require("../../../../models");
6
6
  const lib_1 = require("../../lib");
7
- const memberSignatureBody = (context, props, { hideSources = false } = {}) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
8
- (0, lib_1.renderFlags)(props.flags, props.comment),
9
- context.comment(props),
10
- (0, lib_1.hasTypeParameters)(props) && context.typeParameters(props.typeParameters),
11
- props.parameters && props.parameters.length > 0 && (utils_1.JSX.createElement("div", { class: "tsd-parameters" },
12
- utils_1.JSX.createElement("h4", { class: "tsd-parameters-title" }, "Parameters"),
13
- utils_1.JSX.createElement("ul", { class: "tsd-parameter-list" }, props.parameters.map((item) => (utils_1.JSX.createElement("li", null,
14
- utils_1.JSX.createElement("h5", null,
15
- (0, lib_1.renderFlags)(item.flags, item.comment),
16
- !!item.flags.isRest && utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "..."),
17
- utils_1.JSX.createElement("span", { class: "tsd-kind-parameter" }, item.name),
18
- ": ",
19
- context.type(item.type),
20
- item.defaultValue != null && (utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" },
21
- " = ",
22
- item.defaultValue))),
23
- context.comment(item),
24
- item.type instanceof models_1.ReflectionType && context.parameter(item.type.declaration))))))),
25
- props.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
26
- utils_1.JSX.createElement("h4", { class: "tsd-returns-title" },
27
- "Returns ",
28
- context.type(props.type)),
29
- props.type instanceof models_1.ReflectionType && context.parameter(props.type.declaration))),
30
- !hideSources && context.memberSources(props)));
7
+ function memberSignatureBody(context, props, { hideSources = false } = {}) {
8
+ const returnsTag = props.comment?.getTag("@returns");
9
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
10
+ (0, lib_1.renderFlags)(props.flags, props.comment),
11
+ context.comment(props),
12
+ (0, lib_1.hasTypeParameters)(props) && context.typeParameters(props.typeParameters),
13
+ props.parameters && props.parameters.length > 0 && (utils_1.JSX.createElement("div", { class: "tsd-parameters" },
14
+ utils_1.JSX.createElement("h4", { class: "tsd-parameters-title" }, "Parameters"),
15
+ utils_1.JSX.createElement("ul", { class: "tsd-parameter-list" }, props.parameters.map((item) => (utils_1.JSX.createElement("li", null,
16
+ utils_1.JSX.createElement("h5", null,
17
+ (0, lib_1.renderFlags)(item.flags, item.comment),
18
+ !!item.flags.isRest && utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "..."),
19
+ utils_1.JSX.createElement("span", { class: "tsd-kind-parameter" }, item.name),
20
+ ": ",
21
+ context.type(item.type),
22
+ item.defaultValue != null && (utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" },
23
+ " = ",
24
+ item.defaultValue))),
25
+ context.comment(item),
26
+ item.type instanceof models_1.ReflectionType && context.parameter(item.type.declaration))))))),
27
+ props.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
28
+ utils_1.JSX.createElement("h4", { class: "tsd-returns-title" },
29
+ "Returns ",
30
+ context.type(props.type)),
31
+ returnsTag && utils_1.JSX.createElement(utils_1.Raw, { html: context.markdown(returnsTag.content) }),
32
+ props.type instanceof models_1.ReflectionType && context.parameter(props.type.declaration))),
33
+ !hideSources && context.memberSources(props)));
34
+ }
31
35
  exports.memberSignatureBody = memberSignatureBody;
@@ -27,7 +27,7 @@ function memberSignatureTitle(context, props, { hideName = false, arrowStyle = f
27
27
  !hideName ? (utils_1.JSX.createElement("span", { class: (0, lib_1.getKindClass)(props) }, (0, lib_1.wbr)(props.name))) : (utils_1.JSX.createElement(utils_1.JSX.Fragment, null, props.kind === models_1.ReflectionKind.ConstructorSignature && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
28
28
  !!props.flags.isAbstract && utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "abstract "),
29
29
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "new "))))),
30
- (0, lib_1.renderTypeParametersSignature)(props.typeParameters),
30
+ (0, lib_1.renderTypeParametersSignature)(context, props.typeParameters),
31
31
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "("),
32
32
  (0, lib_1.join)(", ", props.parameters ?? [], renderParam),
33
33
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ")"),
@@ -62,29 +62,54 @@ function settings(context) {
62
62
  utils_1.JSX.createElement("option", { value: "dark" }, "Dark")))))));
63
63
  }
64
64
  exports.settings = settings;
65
+ function getNavigationElements(parent, opts) {
66
+ if (parent instanceof models_1.ReflectionCategory) {
67
+ return parent.children;
68
+ }
69
+ if (parent instanceof models_1.ReflectionGroup) {
70
+ if (opts.includeCategories && parent.categories) {
71
+ return parent.categories;
72
+ }
73
+ return parent.children;
74
+ }
75
+ if (!parent.kindOf(models_1.ReflectionKind.SomeModule | models_1.ReflectionKind.Project)) {
76
+ return [];
77
+ }
78
+ if (parent.categories && opts.includeCategories) {
79
+ return parent.categories;
80
+ }
81
+ if (parent.groups && opts.includeGroups) {
82
+ return parent.groups;
83
+ }
84
+ return parent.children || [];
85
+ }
65
86
  function navigation(context, props) {
87
+ const opts = context.options.getValue("navigation");
66
88
  // Create the navigation for the current page
67
89
  // Recurse to children if the parent is some kind of module
68
90
  return (utils_1.JSX.createElement("nav", { class: "tsd-navigation" },
69
- link(props.project),
70
- utils_1.JSX.createElement("ul", { class: "tsd-small-nested-navigation" }, props.project.children?.map((c) => (utils_1.JSX.createElement("li", null, links(c)))))));
71
- function links(mod) {
72
- const children = (mod.kindOf(models_1.ReflectionKind.SomeModule | models_1.ReflectionKind.Project) && mod.children) || [];
73
- const nameClasses = (0, lib_1.classNames)({ deprecated: mod.isDeprecated() }, mod.isProject() ? void 0 : context.getReflectionClasses(mod));
91
+ createNavElement(props.project),
92
+ utils_1.JSX.createElement("ul", { class: "tsd-small-nested-navigation" }, getNavigationElements(props.project, opts).map((c) => (utils_1.JSX.createElement("li", null, links(c, [])))))));
93
+ function links(mod, parents) {
94
+ const nameClasses = (0, lib_1.classNames)({ deprecated: mod instanceof models_1.Reflection && mod.isDeprecated() }, !(mod instanceof models_1.Reflection) || mod.isProject() ? void 0 : context.getReflectionClasses(mod));
95
+ const children = getNavigationElements(mod, opts);
74
96
  if (!children.length) {
75
- return link(mod, nameClasses);
97
+ return createNavElement(mod, nameClasses);
76
98
  }
77
- return (utils_1.JSX.createElement("details", { class: (0, lib_1.classNames)({ "tsd-index-accordion": true }, nameClasses), open: inPath(mod), "data-key": mod.getFullName() },
99
+ return (utils_1.JSX.createElement("details", { class: (0, lib_1.classNames)({ "tsd-index-accordion": true }, nameClasses), open: mod instanceof models_1.Reflection && inPath(mod), "data-key": mod instanceof models_1.Reflection ? mod.getFullName() : [...parents, mod.title].join("$") },
78
100
  utils_1.JSX.createElement("summary", { class: "tsd-accordion-summary" },
79
101
  context.icons.chevronDown(),
80
- link(mod)),
102
+ createNavElement(mod)),
81
103
  utils_1.JSX.createElement("div", { class: "tsd-accordion-details" },
82
- utils_1.JSX.createElement("ul", { class: "tsd-nested-navigation" }, children.map((c) => (utils_1.JSX.createElement("li", null, links(c))))))));
104
+ utils_1.JSX.createElement("ul", { class: "tsd-nested-navigation" }, children.map((c) => (utils_1.JSX.createElement("li", null, links(c, mod instanceof models_1.Reflection ? [mod.getFullName()] : [...parents, mod.title]))))))));
83
105
  }
84
- function link(child, nameClasses) {
85
- return (utils_1.JSX.createElement("a", { href: context.urlTo(child), class: (0, lib_1.classNames)({ current: child === props.model }, nameClasses) },
86
- context.icons[child.kind](),
87
- utils_1.JSX.createElement("span", null, (0, lib_1.wbr)((0, lib_1.getDisplayName)(child)))));
106
+ function createNavElement(child, nameClasses) {
107
+ if (child instanceof models_1.Reflection) {
108
+ return (utils_1.JSX.createElement("a", { href: context.urlTo(child), class: (0, lib_1.classNames)({ current: child === props.model }, nameClasses) },
109
+ context.icons[child.kind](),
110
+ utils_1.JSX.createElement("span", null, (0, lib_1.wbr)((0, lib_1.getDisplayName)(child)))));
111
+ }
112
+ return utils_1.JSX.createElement("span", null, child.title);
88
113
  }
89
114
  function inPath(mod) {
90
115
  let iter = props.model;
@@ -171,7 +171,7 @@ const typeRenderers = {
171
171
  predicate(context, type) {
172
172
  return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
173
173
  !!type.asserts && utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "asserts "),
174
- utils_1.JSX.createElement("span", { class: "tsd-signature-type" }, type.name),
174
+ utils_1.JSX.createElement("span", { class: "tsd-kind-parameter" }, type.name),
175
175
  !!type.targetType && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
176
176
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, " is "),
177
177
  renderType(context, type.targetType, models_1.TypeContext.predicateTarget)))));
@@ -4,9 +4,9 @@ exports.typeParameters = void 0;
4
4
  const utils_1 = require("../../../../utils");
5
5
  function typeParameters(context, typeParameters) {
6
6
  return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
7
- utils_1.JSX.createElement("section", { class: "tsd-panel tsd-type-parameters" },
7
+ utils_1.JSX.createElement("section", { class: "tsd-panel" },
8
8
  utils_1.JSX.createElement("h4", null, "Type Parameters"),
9
- utils_1.JSX.createElement("ul", { class: "tsd-type-parameters" }, typeParameters?.map((item) => (utils_1.JSX.createElement("li", null,
9
+ utils_1.JSX.createElement("ul", { class: "tsd-type-parameter-list" }, typeParameters?.map((item) => (utils_1.JSX.createElement("li", null,
10
10
  utils_1.JSX.createElement("h4", null,
11
11
  item.flags.isConst && "const ",
12
12
  item.varianceModifier ? `${item.varianceModifier} ` : "",
@@ -1,3 +1,4 @@
1
+ import type { DefaultThemeRenderContext } from "..";
1
2
  import { Comment, Reflection, ReflectionFlags, TypeParameterReflection } from "../../models";
2
3
  import { JSX } from "../../utils";
3
4
  export declare function stringify(data: unknown): string;
@@ -19,7 +20,7 @@ export declare function classNames(names: Record<string, boolean | null | undefi
19
20
  export declare function hasTypeParameters(reflection: Reflection): reflection is Reflection & {
20
21
  typeParameters: TypeParameterReflection[];
21
22
  };
22
- export declare function renderTypeParametersSignature(typeParameters: readonly TypeParameterReflection[] | undefined): JSX.Element;
23
+ export declare function renderTypeParametersSignature(context: DefaultThemeRenderContext, typeParameters: readonly TypeParameterReflection[] | undefined): JSX.Element;
23
24
  export declare function camelToTitleCase(text: string): string;
24
25
  /**
25
26
  * Renders the reflection name with an additional `?` if optional.
@@ -88,14 +88,29 @@ function hasTypeParameters(reflection) {
88
88
  reflection.typeParameters.length > 0);
89
89
  }
90
90
  exports.hasTypeParameters = hasTypeParameters;
91
- function renderTypeParametersSignature(typeParameters) {
92
- return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null, !!typeParameters && typeParameters.length > 0 && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
91
+ function renderTypeParametersSignature(context, typeParameters) {
92
+ if (!typeParameters || typeParameters.length === 0)
93
+ return utils_1.JSX.createElement(utils_1.JSX.Fragment, null);
94
+ const hideParamTypes = context.options.getValue("hideParameterTypesInTitle");
95
+ if (hideParamTypes) {
96
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
97
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "<"),
98
+ join(utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ", "), typeParameters, (item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
99
+ item.flags.isConst && "const ",
100
+ item.varianceModifier ? `${item.varianceModifier} ` : "",
101
+ utils_1.JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, item.name)))),
102
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")));
103
+ }
104
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
93
105
  utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "<"),
94
106
  join(utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ", "), typeParameters, (item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
95
107
  item.flags.isConst && "const ",
96
108
  item.varianceModifier ? `${item.varianceModifier} ` : "",
97
- utils_1.JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, item.name)))),
98
- utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")))));
109
+ utils_1.JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, item.name),
110
+ !!item.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
111
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, " extends "),
112
+ context.type(item.type)))))),
113
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")));
99
114
  }
100
115
  exports.renderTypeParametersSignature = renderTypeParametersSignature;
101
116
  function camelToTitleCase(text) {
@@ -1 +1,2 @@
1
1
  export declare function getTextContent(text: string): string;
2
+ export declare function escapeHtml(html: string): string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTextContent = void 0;
6
+ exports.escapeHtml = exports.getTextContent = void 0;
7
7
  // There is a fixed list of named character references which will not be expanded in the future.
8
8
  // This json file is based on https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references
9
9
  // with some modifications to reduce the file size of the original JSON since we just need.
@@ -26,3 +26,14 @@ function getTextContent(text) {
26
26
  return unescapeEntities(text.replace(/<.*?(?:>|$)/g, ""));
27
27
  }
28
28
  exports.getTextContent = getTextContent;
29
+ const htmlEscapes = {
30
+ "&": "&amp;",
31
+ "<": "&lt;",
32
+ ">": "&gt;",
33
+ '"': "&quot;",
34
+ "'": "&#39;",
35
+ };
36
+ function escapeHtml(html) {
37
+ return html.replace(/[&<>'"]/g, (c) => htmlEscapes[c]);
38
+ }
39
+ exports.escapeHtml = escapeHtml;
@@ -15,6 +15,7 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.renderElement = exports.createElement = exports.Raw = exports.Fragment = void 0;
18
+ const html_1 = require("./html");
18
19
  const jsx_elements_1 = require("./jsx.elements");
19
20
  var jsx_elements_2 = require("./jsx.elements");
20
21
  Object.defineProperty(exports, "Fragment", { enumerable: true, get: function () { return jsx_elements_2.JsxFragment; } });
@@ -28,16 +29,6 @@ function Raw(_props) {
28
29
  return null;
29
30
  }
30
31
  exports.Raw = Raw;
31
- const htmlEscapes = {
32
- "&": "&amp;",
33
- "<": "&lt;",
34
- ">": "&gt;",
35
- '"': "&quot;",
36
- "'": "&#39;",
37
- };
38
- function escapeHtml(html) {
39
- return html.replace(/[&<>'"]/g, (c) => htmlEscapes[c]);
40
- }
41
32
  const voidElements = new Set([
42
33
  "area",
43
34
  "base",
@@ -139,7 +130,7 @@ function renderElement(element) {
139
130
  renderChildren(child);
140
131
  }
141
132
  else if (typeof child === "string" || typeof child === "number") {
142
- html.push(escapeHtml(child.toString()));
133
+ html.push((0, html_1.escapeHtml)(child.toString()));
143
134
  }
144
135
  else {
145
136
  html.push(renderElement(child));
@@ -100,6 +100,10 @@ export interface TypeDocOptionMap {
100
100
  titleLink: string;
101
101
  navigationLinks: ManuallyValidatedOption<Record<string, string>>;
102
102
  sidebarLinks: ManuallyValidatedOption<Record<string, string>>;
103
+ navigation: {
104
+ includeCategories: boolean;
105
+ includeGroups: boolean;
106
+ };
103
107
  visibilityFilters: ManuallyValidatedOption<{
104
108
  protected?: boolean;
105
109
  private?: boolean;
@@ -122,6 +126,7 @@ export interface TypeDocOptionMap {
122
126
  categorizeByGroup: boolean;
123
127
  defaultCategory: string;
124
128
  categoryOrder: string[];
129
+ groupOrder: string[];
125
130
  sort: SortStrategy[];
126
131
  kindSortOrder: ReflectionKind.KindString[];
127
132
  treatWarningsAsErrors: boolean;
@@ -407,6 +407,71 @@ function addTypeDocOptions(options) {
407
407
  }
408
408
  },
409
409
  });
410
+ options.addDeclaration({
411
+ name: "navigation",
412
+ help: "Determines how the navigation sidebar is organized.",
413
+ type: declaration_1.ParameterType.Flags,
414
+ defaults: {
415
+ includeCategories: false,
416
+ includeGroups: false,
417
+ },
418
+ });
419
+ options.addDeclaration({
420
+ name: "visibilityFilters",
421
+ help: "Specify the default visibility for builtin filters and additional filters according to modifier tags.",
422
+ type: declaration_1.ParameterType.Mixed,
423
+ configFileOnly: true,
424
+ defaultValue: {
425
+ protected: false,
426
+ private: false,
427
+ inherited: true,
428
+ external: false,
429
+ },
430
+ validate(value) {
431
+ const knownKeys = ["protected", "private", "inherited", "external"];
432
+ if (!value || typeof value !== "object") {
433
+ throw new Error("visibilityFilters must be an object.");
434
+ }
435
+ for (const [key, val] of Object.entries(value)) {
436
+ if (!key.startsWith("@") && !knownKeys.includes(key)) {
437
+ throw new Error(`visibilityFilters can only include the following non-@ keys: ${knownKeys.join(", ")}`);
438
+ }
439
+ if (typeof val !== "boolean") {
440
+ throw new Error(`All values of visibilityFilters must be booleans.`);
441
+ }
442
+ }
443
+ },
444
+ });
445
+ options.addDeclaration({
446
+ name: "searchCategoryBoosts",
447
+ help: "Configure search to give a relevance boost to selected categories",
448
+ type: declaration_1.ParameterType.Mixed,
449
+ configFileOnly: true,
450
+ defaultValue: {},
451
+ validate(value) {
452
+ if (!isObject(value)) {
453
+ throw new Error("The 'searchCategoryBoosts' option must be a non-array object.");
454
+ }
455
+ if (Object.values(value).some((x) => typeof x !== "number")) {
456
+ throw new Error("All values of 'searchCategoryBoosts' must be numbers.");
457
+ }
458
+ },
459
+ });
460
+ options.addDeclaration({
461
+ name: "searchGroupBoosts",
462
+ help: 'Configure search to give a relevance boost to selected kinds (eg "class")',
463
+ type: declaration_1.ParameterType.Mixed,
464
+ configFileOnly: true,
465
+ defaultValue: {},
466
+ validate(value) {
467
+ if (!isObject(value)) {
468
+ throw new Error("The 'searchGroupBoosts' option must be a non-array object.");
469
+ }
470
+ if (Object.values(value).some((x) => typeof x !== "number")) {
471
+ throw new Error("All values of 'searchGroupBoosts' must be numbers.");
472
+ }
473
+ },
474
+ });
410
475
  ///////////////////////////
411
476
  ///// Comment Options /////
412
477
  ///////////////////////////
@@ -472,7 +537,7 @@ function addTypeDocOptions(options) {
472
537
  name: "categorizeByGroup",
473
538
  help: "Specify whether categorization will be done at the group level.",
474
539
  type: declaration_1.ParameterType.Boolean,
475
- defaultValue: true,
540
+ defaultValue: true, // 0.25, change this to false.
476
541
  });
477
542
  options.addDeclaration({
478
543
  name: "defaultCategory",
@@ -484,6 +549,30 @@ function addTypeDocOptions(options) {
484
549
  help: "Specify the order in which categories appear. * indicates the relative order for categories not in the list.",
485
550
  type: declaration_1.ParameterType.Array,
486
551
  });
552
+ options.addDeclaration({
553
+ name: "groupOrder",
554
+ help: "Specify the order in which groups appear. * indicates the relative order for groups not in the list.",
555
+ type: declaration_1.ParameterType.Array,
556
+ // Defaults to the same as the defaultKindSortOrder in sort.ts
557
+ defaultValue: [
558
+ kind_1.ReflectionKind.Reference,
559
+ // project is never a child so never added to a group
560
+ kind_1.ReflectionKind.Module,
561
+ kind_1.ReflectionKind.Namespace,
562
+ kind_1.ReflectionKind.Enum,
563
+ kind_1.ReflectionKind.EnumMember,
564
+ kind_1.ReflectionKind.Class,
565
+ kind_1.ReflectionKind.Interface,
566
+ kind_1.ReflectionKind.TypeAlias,
567
+ kind_1.ReflectionKind.Constructor,
568
+ kind_1.ReflectionKind.Property,
569
+ kind_1.ReflectionKind.Variable,
570
+ kind_1.ReflectionKind.Function,
571
+ kind_1.ReflectionKind.Accessor,
572
+ kind_1.ReflectionKind.Method,
573
+ // others are never added to groups
574
+ ].map(kind_1.ReflectionKind.pluralString),
575
+ });
487
576
  options.addDeclaration({
488
577
  name: "sort",
489
578
  help: "Specify the sort strategy for documented values.",
@@ -515,62 +604,6 @@ function addTypeDocOptions(options) {
515
604
  }
516
605
  },
517
606
  });
518
- options.addDeclaration({
519
- name: "visibilityFilters",
520
- help: "Specify the default visibility for builtin filters and additional filters according to modifier tags.",
521
- type: declaration_1.ParameterType.Mixed,
522
- configFileOnly: true,
523
- defaultValue: {
524
- protected: false,
525
- private: false,
526
- inherited: true,
527
- external: false,
528
- },
529
- validate(value) {
530
- const knownKeys = ["protected", "private", "inherited", "external"];
531
- if (!value || typeof value !== "object") {
532
- throw new Error("visibilityFilters must be an object.");
533
- }
534
- for (const [key, val] of Object.entries(value)) {
535
- if (!key.startsWith("@") && !knownKeys.includes(key)) {
536
- throw new Error(`visibilityFilters can only include the following non-@ keys: ${knownKeys.join(", ")}`);
537
- }
538
- if (typeof val !== "boolean") {
539
- throw new Error(`All values of visibilityFilters must be booleans.`);
540
- }
541
- }
542
- },
543
- });
544
- options.addDeclaration({
545
- name: "searchCategoryBoosts",
546
- help: "Configure search to give a relevance boost to selected categories",
547
- type: declaration_1.ParameterType.Mixed,
548
- configFileOnly: true,
549
- defaultValue: {},
550
- validate(value) {
551
- if (!isObject(value)) {
552
- throw new Error("The 'searchCategoryBoosts' option must be a non-array object.");
553
- }
554
- if (Object.values(value).some((x) => typeof x !== "number")) {
555
- throw new Error("All values of 'searchCategoryBoosts' must be numbers.");
556
- }
557
- },
558
- });
559
- options.addDeclaration({
560
- name: "searchGroupBoosts",
561
- help: 'Configure search to give a relevance boost to selected kinds (eg "class")',
562
- type: declaration_1.ParameterType.Mixed,
563
- configFileOnly: true,
564
- defaultValue: {},
565
- validate(value) {
566
- if (!isObject(value)) {
567
- throw new Error("The 'searchGroupBoosts' option must be a non-array object.");
568
- }
569
- if (Object.values(value).some((x) => typeof x !== "number")) {
570
- throw new Error("All values of 'searchGroupBoosts' must be numbers.");
571
- }
572
- },
573
- });
574
607
  ///////////////////////////
575
608
  ///// General Options /////
576
609
  ///////////////////////////
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typedoc",
3
3
  "description": "Create api documentation for TypeScript projects.",
4
- "version": "0.24.3",
4
+ "version": "0.24.5",
5
5
  "homepage": "https://typedoc.org",
6
6
  "exports": {
7
7
  ".": "./dist/index.js",
package/static/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  "use strict";(()=>{var be=Object.create;var re=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var Te=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var Qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Pe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of we(e))!ke.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=Se(e,i))||n.enumerable});return t};var Ie=(t,e,r)=>(r=t!=null?be(Te(t)):{},Pe(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Qe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var l=n.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
3
- `,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=n[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),y=new RegExp(u),b=new RegExp(l),g=new RegExp(d),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=function(c){var v,C,T,h,x,O,F;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=E,x=f,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=p,x=w,h.test(c)){var L=h.exec(c);h=m,h.test(L[1])&&(h=S,c=c.replace(h,""))}else if(x.test(c)){var L=x.exec(c);v=L[1],x=g,x.test(v)&&(c=v,x=k,O=_,F=B,x.test(c)?c=c+"e":O.test(c)?(h=S,c=c.replace(h,"")):F.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var L=h.exec(c);v=L[1],c=v+"i"}if(h=j,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+e[C])}if(h=q,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+r[C])}if(h=V,x=$,h.test(c)){var L=h.exec(c);v=L[1],h=y,h.test(v)&&(c=v)}else if(x.test(c)){var L=x.exec(c);v=L[1]+L[2],x=y,x.test(v)&&(c=v)}if(h=I,h.test(c)){var L=h.exec(c);v=L[1],h=y,x=b,O=W,(h.test(v)||x.test(v)&&!O.test(v))&&(c=v)}return h=z,x=y,h.test(c)&&x.test(c)&&(h=S,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(H)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var l=new t.TokenSet;l.final=a,r.edges[o]=l,r=l}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],m=0;m<l;m++){var y=a[m];if(y==d||d=="*"){var b=n.node.edges[y],g=n.qNode.edges[d],E=b.final&&g.final,f=void 0;y in n.output.edges?(f=n.output.edges[y],f.final=f.final||E):(f=new t.TokenSet,f.final=E,n.output.edges[y]=f),i.push({qNode:g,output:f,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(r,r);for(var l=0;l<r.clauses.length;l++){var u=r.clauses[l],d=null,m=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var y=0;y<d.length;y++){var b=d[y];u.term=b;var g=t.TokenSet.fromClause(u),E=this.tokenSet.intersect(g).toArray();if(E.length===0&&u.presence===t.Query.presence.REQUIRED){for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],k=this.invertedIndex[S],_=k._index,f=0;f<u.fields.length;f++){var p=u.fields[f],B=k[p],A=Object.keys(B),j=S+"/"+p,q=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(m=m.union(q),o[p]===void 0&&(o[p]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union(q);continue}if(i[p].upsert(_,u.boost,function(Le,Ee){return Le+Ee}),!s[j]){for(var V=0;V<A.length;V++){var $=A[V],I=new t.FieldRef($,p),z=B[$],W;(W=n[I])===void 0?n[I]=new t.MatchData(S,p,z):W.add(S,p,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=o[p].intersect(m)}}for(var H=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var p=this.fields[l];o[p]&&(H=H.intersect(o[p])),a[p]&&(R=R.union(a[p]))}var c=Object.keys(n),v=[],C=Object.create(null);if(r.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var I=c[l],T=t.FieldRef.fromString(I);n[I]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(H.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),F;if((F=C[h])!==void 0)F.score+=O,F.matchData.combine(n[T]);else{var L={ref:h,score:O,matchData:n[T]};C[h]=L,v.push(L)}}}return v.sort(function(ge,xe){return xe.score-ge.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],m=d[0],y=d[1];n[m]=new t.Vector(y)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=l,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),m=new t.FieldRef(n,o),y=Object.create(null);this.fieldTermFrequencies[m]=y,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(y[g]==null&&(y[g]=0),y[g]+=1,this.invertedIndex[g]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[g]=E}this.invertedIndex[g][o][n]==null&&(this.invertedIndex[g][o][n]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=g.metadata[w];this.invertedIndex[g][o][n][w]==null&&(this.invertedIndex[g][o][n][w]=[]),this.invertedIndex[g][o][n][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];n[u]=n[u]/i[u]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),y=m.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,E=0;E<y;E++){var f=m[E],p=d[f],w=this.invertedIndex[f]._index,S,k,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],k=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+p),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(w,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&e?.parentElement?.parentElement!==r&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ie(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ce(t,n,r,s)}function Ce(t,e,r,n){r.addEventListener("input",ie(()=>{_e(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Re(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Oe(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function _e(t,e,r,n){if(Oe(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],l=n.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=n.data.rows[Number(s[o].ref)],u=le(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(u+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(u=`<span class="parent">${le(l.parent,i)}.</span>${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Re(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`<b>${K(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Fe={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function K(t){return t.replace(/[&<>"'"]/g,e=>Fe[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,Me=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(Me=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
4
- `}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}addEventListener("load",()=>{de(),G(X,"a[data-toggle]"),G(Z,".tsd-index-accordion"),G(Y,".tsd-filter-item input[type=checkbox]");let t=document.getElementById("tsd-theme");t&&ve(t);let e=new U;Object.defineProperty(window,"app",{value:e})});})();
3
+ `,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=n[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),y=new RegExp(u),b=new RegExp(l),g=new RegExp(d),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=function(c){var v,C,T,h,x,O,M;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=E,x=f,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=p,x=w,h.test(c)){var L=h.exec(c);h=m,h.test(L[1])&&(h=S,c=c.replace(h,""))}else if(x.test(c)){var L=x.exec(c);v=L[1],x=g,x.test(v)&&(c=v,x=k,O=_,M=B,x.test(c)?c=c+"e":O.test(c)?(h=S,c=c.replace(h,"")):M.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var L=h.exec(c);v=L[1],c=v+"i"}if(h=j,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+e[C])}if(h=q,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+r[C])}if(h=V,x=$,h.test(c)){var L=h.exec(c);v=L[1],h=y,h.test(v)&&(c=v)}else if(x.test(c)){var L=x.exec(c);v=L[1]+L[2],x=y,x.test(v)&&(c=v)}if(h=I,h.test(c)){var L=h.exec(c);v=L[1],h=y,x=b,O=W,(h.test(v)||x.test(v)&&!O.test(v))&&(c=v)}return h=z,x=y,h.test(c)&&x.test(c)&&(h=S,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(H)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var l=new t.TokenSet;l.final=a,r.edges[o]=l,r=l}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],m=0;m<l;m++){var y=a[m];if(y==d||d=="*"){var b=n.node.edges[y],g=n.qNode.edges[d],E=b.final&&g.final,f=void 0;y in n.output.edges?(f=n.output.edges[y],f.final=f.final||E):(f=new t.TokenSet,f.final=E,n.output.edges[y]=f),i.push({qNode:g,output:f,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(r,r);for(var l=0;l<r.clauses.length;l++){var u=r.clauses[l],d=null,m=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var y=0;y<d.length;y++){var b=d[y];u.term=b;var g=t.TokenSet.fromClause(u),E=this.tokenSet.intersect(g).toArray();if(E.length===0&&u.presence===t.Query.presence.REQUIRED){for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],k=this.invertedIndex[S],_=k._index,f=0;f<u.fields.length;f++){var p=u.fields[f],B=k[p],A=Object.keys(B),j=S+"/"+p,q=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(m=m.union(q),o[p]===void 0&&(o[p]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union(q);continue}if(i[p].upsert(_,u.boost,function(Le,Ee){return Le+Ee}),!s[j]){for(var V=0;V<A.length;V++){var $=A[V],I=new t.FieldRef($,p),z=B[$],W;(W=n[I])===void 0?n[I]=new t.MatchData(S,p,z):W.add(S,p,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=o[p].intersect(m)}}for(var H=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var p=this.fields[l];o[p]&&(H=H.intersect(o[p])),a[p]&&(R=R.union(a[p]))}var c=Object.keys(n),v=[],C=Object.create(null);if(r.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var I=c[l],T=t.FieldRef.fromString(I);n[I]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(H.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),M;if((M=C[h])!==void 0)M.score+=O,M.matchData.combine(n[T]);else{var L={ref:h,score:O,matchData:n[T]};C[h]=L,v.push(L)}}}return v.sort(function(ge,xe){return xe.score-ge.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],m=d[0],y=d[1];n[m]=new t.Vector(y)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=l,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),m=new t.FieldRef(n,o),y=Object.create(null);this.fieldTermFrequencies[m]=y,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(y[g]==null&&(y[g]=0),y[g]+=1,this.invertedIndex[g]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[g]=E}this.invertedIndex[g][o][n]==null&&(this.invertedIndex[g][o][n]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=g.metadata[w];this.invertedIndex[g][o][n][w]==null&&(this.invertedIndex[g][o][n][w]=[]),this.invertedIndex[g][o][n][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];n[u]=n[u]/i[u]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),y=m.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,E=0;E<y;E++){var f=m[E],p=d[f],w=this.invertedIndex[f]._index,S,k,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],k=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+p),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(w,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&e?.parentElement?.parentElement!==r&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ie(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ce(t,n,r,s)}function Ce(t,e,r,n){r.addEventListener("input",ie(()=>{_e(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Re(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Oe(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function _e(t,e,r,n){if(Oe(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],l=n.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=n.data.rows[Number(s[o].ref)],u=le(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(u+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(u=`<span class="parent">${le(l.parent,i)}.</span>${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Re(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`<b>${K(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,Fe=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(Fe=!0,F="touchstart",fe="touchmove",N="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
4
+ `}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}addEventListener("load",()=>{de(),De(),G(X,"a[data-toggle]"),G(Z,".tsd-index-accordion"),G(Y,".tsd-filter-item input[type=checkbox]");let t=document.getElementById("tsd-theme");t&&ve(t);let e=new U;Object.defineProperty(window,"app",{value:e})});function De(){document.querySelectorAll("pre > button").forEach(t=>{let e;t.addEventListener("click",()=>{t.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(t.previousElementSibling.innerText.trim()),t.textContent="Copied!",t.classList.add("visible"),clearTimeout(e),e=setTimeout(()=>{t.classList.remove("visible"),e=setTimeout(()=>{t.textContent="Copy"},100)},1e3)})})}})();
5
5
  /*! Bundled license information:
6
6
 
7
7
  lunr/lunr.js:
package/static/style.css CHANGED
@@ -6,8 +6,9 @@
6
6
  --light-color-background-warning: #e6e600;
7
7
  --light-color-icon-background: var(--light-color-background);
8
8
  --light-color-accent: #c5c7c9;
9
+ --light-color-active-menu-item: var(--light-color-accent);
9
10
  --light-color-text: #222;
10
- --light-color-text-aside: #707070;
11
+ --light-color-text-aside: #6e6e6e;
11
12
  --light-color-link: #1f70c2;
12
13
 
13
14
  --light-color-ts-project: #b111c9;
@@ -45,18 +46,19 @@
45
46
  --dark-color-warning-text: #222;
46
47
  --dark-color-icon-background: var(--dark-color-background-secondary);
47
48
  --dark-color-accent: #9096a2;
49
+ --dark-color-active-menu-item: #5d5d6a;
48
50
  --dark-color-text: #f5f5f5;
49
51
  --dark-color-text-aside: #dddddd;
50
52
  --dark-color-link: #00aff4;
51
53
 
52
- --dark-color-ts-project: #e14dff;
54
+ --dark-color-ts-project: #e358ff;
53
55
  --dark-color-ts-module: var(--dark-color-ts-project);
54
56
  --dark-color-ts-namespace: var(--dark-color-ts-project);
55
57
  --dark-color-ts-enum: #f4d93e;
56
58
  --dark-color-ts-enum-member: var(--dark-color-ts-enum);
57
- --dark-color-ts-variable: #4d68ff;
58
- --dark-color-ts-function: #9772ff;
59
- --dark-color-ts-class: #61b0ff;
59
+ --dark-color-ts-variable: #798dff;
60
+ --dark-color-ts-function: #a280ff;
61
+ --dark-color-ts-class: #8ac4ff;
60
62
  --dark-color-ts-interface: #6cff87;
61
63
  --dark-color-ts-constructor: var(--dark-color-ts-class);
62
64
  --dark-color-ts-property: var(--dark-color-ts-variable);
@@ -86,6 +88,7 @@
86
88
  --color-warning-text: var(--light-color-warning-text);
87
89
  --color-icon-background: var(--light-color-icon-background);
88
90
  --color-accent: var(--light-color-accent);
91
+ --color-active-menu-item: var(--light-color-active-menu-item);
89
92
  --color-text: var(--light-color-text);
90
93
  --color-text-aside: var(--light-color-text-aside);
91
94
  --color-link: var(--light-color-link);
@@ -126,6 +129,7 @@
126
129
  --color-warning-text: var(--dark-color-warning-text);
127
130
  --color-icon-background: var(--dark-color-icon-background);
128
131
  --color-accent: var(--dark-color-accent);
132
+ --color-active-menu-item: var(--dark-color-active-menu-item);
129
133
  --color-text: var(--dark-color-text);
130
134
  --color-text-aside: var(--dark-color-text-aside);
131
135
  --color-link: var(--dark-color-link);
@@ -173,6 +177,7 @@ body {
173
177
  --color-warning-text: var(--light-color-warning-text);
174
178
  --color-icon-background: var(--light-color-icon-background);
175
179
  --color-accent: var(--light-color-accent);
180
+ --color-active-menu-item: var(--light-color-active-menu-item);
176
181
  --color-text: var(--light-color-text);
177
182
  --color-text-aside: var(--light-color-text-aside);
178
183
  --color-link: var(--light-color-link);
@@ -211,6 +216,7 @@ body {
211
216
  --color-warning-text: var(--dark-color-warning-text);
212
217
  --color-icon-background: var(--dark-color-icon-background);
213
218
  --color-accent: var(--dark-color-accent);
219
+ --color-active-menu-item: var(--dark-color-active-menu-item);
214
220
  --color-text: var(--dark-color-text);
215
221
  --color-text-aside: var(--dark-color-text-aside);
216
222
  --color-link: var(--dark-color-link);
@@ -256,6 +262,16 @@ h6 {
256
262
  line-height: 1.2;
257
263
  }
258
264
 
265
+ h1 > a,
266
+ h2 > a,
267
+ h3 > a,
268
+ h4 > a,
269
+ h5 > a,
270
+ h6 > a {
271
+ text-decoration: none;
272
+ color: var(--color-text);
273
+ }
274
+
259
275
  h1 {
260
276
  font-size: 1.875rem;
261
277
  margin: 0.67rem 0;
@@ -290,12 +306,6 @@ h6 {
290
306
  text-transform: uppercase;
291
307
  }
292
308
 
293
- pre {
294
- white-space: pre;
295
- white-space: pre-wrap;
296
- word-wrap: break-word;
297
- }
298
-
299
309
  dl,
300
310
  menu,
301
311
  ol,
@@ -420,13 +430,29 @@ pre {
420
430
  }
421
431
 
422
432
  pre {
433
+ position: relative;
434
+ white-space: pre;
435
+ white-space: pre-wrap;
436
+ word-wrap: break-word;
423
437
  padding: 10px;
424
- border: 0.1em solid var(--color-accent);
438
+ border: 1px solid var(--color-accent);
425
439
  }
426
440
  pre code {
427
441
  padding: 0;
428
442
  font-size: 100%;
429
443
  }
444
+ pre > button {
445
+ position: absolute;
446
+ top: 10px;
447
+ right: 10px;
448
+ opacity: 0;
449
+ transition: opacity 0.1s;
450
+ box-sizing: border-box;
451
+ }
452
+ pre:hover > button,
453
+ pre > button.visible {
454
+ opacity: 1;
455
+ }
430
456
 
431
457
  blockquote {
432
458
  margin: 1em 0;
@@ -670,7 +696,12 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
670
696
  .tsd-navigation.settings {
671
697
  margin: 1rem 0;
672
698
  }
699
+ .tsd-navigation > a,
700
+ .tsd-navigation .tsd-accordion-summary {
701
+ width: calc(100% - 0.5rem);
702
+ }
673
703
  .tsd-navigation a,
704
+ .tsd-navigation summary > span,
674
705
  .tsd-page-navigation a {
675
706
  display: inline-flex;
676
707
  align-items: center;
@@ -679,17 +710,9 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
679
710
  text-decoration: none;
680
711
  box-sizing: border-box;
681
712
  }
682
- .tsd-navigation a {
683
- /* why 3rem? No idea, but it seems to work. */
684
- width: calc(100% - 3rem);
685
- }
686
- .tsd-page-navigation a {
687
- /* why is this different? */
688
- width: 100%;
689
- }
690
713
  .tsd-navigation a.current,
691
714
  .tsd-page-navigation a.current {
692
- background: var(--color-accent);
715
+ background: var(--color-active-menu-item);
693
716
  }
694
717
  .tsd-navigation a:hover,
695
718
  .tsd-page-navigation a:hover {
@@ -697,7 +720,8 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
697
720
  }
698
721
  .tsd-navigation ul,
699
722
  .tsd-page-navigation ul {
700
- margin: 0;
723
+ margin-top: 0;
724
+ margin-bottom: 0;
701
725
  padding: 0;
702
726
  list-style: none;
703
727
  }
@@ -706,18 +730,24 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
706
730
  padding: 0;
707
731
  max-width: 100%;
708
732
  }
709
- .tsd-nested-navigation > li > a {
733
+ .tsd-nested-navigation {
710
734
  margin-left: 3rem;
711
735
  }
712
736
  .tsd-nested-navigation > li > details {
713
- margin-left: 1.5rem;
737
+ margin-left: -1.5rem;
714
738
  }
715
- .tsd-small-nested-navigation > li > a {
739
+ .tsd-small-nested-navigation {
716
740
  margin-left: 1.5rem;
717
741
  }
718
742
  .tsd-small-nested-navigation > li > details {
719
- margin-left: 0;
743
+ margin-left: -1.5rem;
720
744
  }
745
+
746
+ .tsd-nested-navigation > li > a,
747
+ .tsd-nested-navigation > li > span {
748
+ width: calc(100% - 1.75rem - 0.5rem);
749
+ }
750
+
721
751
  .tsd-page-navigation ul {
722
752
  padding-left: 1.75rem;
723
753
  }
@@ -737,6 +767,12 @@ a.tsd-index-link {
737
767
  line-height: 1.25rem;
738
768
  display: inline-flex;
739
769
  align-items: center;
770
+ color: var(--color-text);
771
+ }
772
+ .tsd-accordion-summary {
773
+ list-style-type: none;
774
+ display: flex;
775
+ align-items: center;
740
776
  }
741
777
  .tsd-accordion-summary,
742
778
  .tsd-accordion-summary a {
@@ -745,21 +781,19 @@ a.tsd-index-link {
745
781
  -webkit-user-select: none;
746
782
  -ms-user-select: none;
747
783
 
748
- display: flex;
749
- align-items: center;
750
784
  cursor: pointer;
751
785
  }
786
+ .tsd-accordion-summary a {
787
+ flex-grow: 1;
788
+ }
752
789
  .tsd-accordion-summary > * {
753
790
  margin-top: 0;
754
791
  margin-bottom: 0;
755
792
  padding-top: 0;
756
793
  padding-bottom: 0;
757
794
  }
758
- .tsd-accordion-summary::-webkit-details-marker {
759
- display: none;
760
- }
761
- .tsd-index-accordion .tsd-accordion-summary svg {
762
- margin-right: 0.25rem;
795
+ .tsd-index-accordion .tsd-accordion-summary > svg {
796
+ margin-left: 0.25rem;
763
797
  }
764
798
  .tsd-index-content > :not(:first-child) {
765
799
  margin-top: 0.75rem;