@ng-prism/plugin-jsdoc 22.6.0 → 22.7.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +18 -15
  2. package/dist/api-page/api-page.helpers.d.ts +79 -0
  3. package/dist/api-page/api-page.helpers.d.ts.map +1 -0
  4. package/dist/api-page/api-page.helpers.js +133 -0
  5. package/dist/api-page/api-page.model.d.ts +62 -0
  6. package/dist/api-page/api-page.model.d.ts.map +1 -0
  7. package/dist/api-page/api-page.model.js +122 -0
  8. package/dist/api-page/component-usage.d.ts +14 -0
  9. package/dist/api-page/component-usage.d.ts.map +1 -0
  10. package/dist/api-page/component-usage.js +120 -0
  11. package/dist/api-page/doc-links.d.ts +15 -0
  12. package/dist/api-page/doc-links.d.ts.map +1 -0
  13. package/dist/api-page/doc-links.js +45 -0
  14. package/dist/api-page/jsdoc-api-page.component.d.ts +98 -0
  15. package/dist/api-page/jsdoc-api-page.component.d.ts.map +1 -0
  16. package/dist/api-page/jsdoc-api-page.component.js +1458 -0
  17. package/dist/api-page/pipe-usage.d.ts +13 -0
  18. package/dist/api-page/pipe-usage.d.ts.map +1 -0
  19. package/dist/api-page/pipe-usage.js +35 -0
  20. package/dist/api-page/service-usage.d.ts +31 -0
  21. package/dist/api-page/service-usage.d.ts.map +1 -0
  22. package/dist/api-page/service-usage.js +66 -0
  23. package/dist/jsdoc-extractor.d.ts.map +1 -1
  24. package/dist/jsdoc-extractor.js +17 -10
  25. package/dist/jsdoc-panel.component.d.ts +8 -25
  26. package/dist/jsdoc-panel.component.d.ts.map +1 -1
  27. package/dist/jsdoc-panel.component.js +34 -474
  28. package/dist/jsdoc-plugin.browser.d.ts.map +1 -1
  29. package/dist/jsdoc-plugin.browser.js +2 -1
  30. package/dist/jsdoc-plugin.d.ts.map +1 -1
  31. package/dist/jsdoc-plugin.js +5 -1
  32. package/dist/service-page/api-page.model.d.ts +35 -0
  33. package/dist/service-page/api-page.model.d.ts.map +1 -0
  34. package/dist/service-page/api-page.model.js +54 -0
  35. package/dist/service-page/jsdoc-service-page.component.d.ts +82 -0
  36. package/dist/service-page/jsdoc-service-page.component.d.ts.map +1 -0
  37. package/dist/service-page/jsdoc-service-page.component.js +1178 -0
  38. package/dist/service-page/pipe-usage.d.ts +13 -0
  39. package/dist/service-page/pipe-usage.d.ts.map +1 -0
  40. package/dist/service-page/pipe-usage.js +35 -0
  41. package/dist/service-page/service-page.model.d.ts +78 -0
  42. package/dist/service-page/service-page.model.d.ts.map +1 -0
  43. package/dist/service-page/service-page.model.js +130 -0
  44. package/dist/service-page/service-usage.d.ts +28 -0
  45. package/dist/service-page/service-usage.d.ts.map +1 -0
  46. package/dist/service-page/service-usage.js +61 -0
  47. package/package.json +3 -2
@@ -0,0 +1,1178 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, ElementRef, inject, input, NgZone, signal, untracked } from '@angular/core';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
+ import { Highlight } from 'ngx-highlightjs';
5
+ import { parseExample, renderBlockMarkdown, renderInlineMarkdown } from '../markdown.js';
6
+ import { activeTocId, buildApiPageToc, declaredParamSegments, documentsParams, setupSignature, splitReachedFrom, typeAnchor, typeSegments } from './service-page.model.js';
7
+ import * as i0 from "@angular/core";
8
+ const _c0 = a0 => ({ $implicit: a0 });
9
+ const _c1 = (a0, a1) => ({ $implicit: a0, tags: a1 });
10
+ const _c2 = () => [];
11
+ const _c3 = a0 => ({ $implicit: a0, label: "Option", defaults: true });
12
+ const _c4 = a0 => ({ $implicit: a0, label: "Name", params: true });
13
+ const _c5 = (a0, a1, a2) => ({ $implicit: a0, label: "Property", defaults: a1, owner: a2 });
14
+ const _c6 = (a0, a1) => ({ $implicit: a0, label: "Method", params: a1 });
15
+ const _forTrack0 = ($index, $item) => $item.label;
16
+ const _forTrack1 = ($index, $item) => $item.id;
17
+ const _forTrack2 = ($index, $item) => $item.name;
18
+ function JsDocServicePageComponent_ng_template_0_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
19
+ const _r1 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "button", 25);
21
+ i0.ɵɵlistener("click", function JsDocServicePageComponent_ng_template_0_For_1_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const segment_r2 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.goTo(segment_r2.link)); });
22
+ i0.ɵɵtext(1);
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const segment_r2 = i0.ɵɵnextContext().$implicit;
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵtextInterpolate1(" ", segment_r2.text, " ");
28
+ } }
29
+ function JsDocServicePageComponent_ng_template_0_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "span");
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵelementEnd();
33
+ } if (rf & 2) {
34
+ const segment_r2 = i0.ɵɵnextContext().$implicit;
35
+ i0.ɵɵadvance();
36
+ i0.ɵɵtextInterpolate(segment_r2.text);
37
+ } }
38
+ function JsDocServicePageComponent_ng_template_0_For_1_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵconditionalCreate(0, JsDocServicePageComponent_ng_template_0_For_1_Conditional_0_Template, 2, 1, "button", 24)(1, JsDocServicePageComponent_ng_template_0_For_1_Conditional_1_Template, 2, 1, "span");
40
+ } if (rf & 2) {
41
+ const segment_r2 = ctx.$implicit;
42
+ i0.ɵɵconditional(segment_r2.link ? 0 : 1);
43
+ } }
44
+ function JsDocServicePageComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵrepeaterCreate(0, JsDocServicePageComponent_ng_template_0_For_1_Template, 2, 1, null, null, i0.ɵɵrepeaterTrackByIndex);
46
+ } if (rf & 2) {
47
+ const segments_r4 = ctx.$implicit;
48
+ i0.ɵɵrepeater(segments_r4);
49
+ } }
50
+ function JsDocServicePageComponent_ng_template_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelement(0, "span", 26);
52
+ } if (rf & 2) {
53
+ const description_r5 = i0.ɵɵnextContext().$implicit;
54
+ const ctx_r2 = i0.ɵɵnextContext();
55
+ i0.ɵɵproperty("innerHTML", ctx_r2.renderInline(description_r5), i0.ɵɵsanitizeHtml);
56
+ } }
57
+ function JsDocServicePageComponent_ng_template_2_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "span", 27);
59
+ i0.ɵɵtext(1, " \u00B7 ");
60
+ i0.ɵɵelementEnd();
61
+ } }
62
+ function JsDocServicePageComponent_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
63
+ i0.ɵɵconditionalCreate(0, JsDocServicePageComponent_ng_template_2_Conditional_1_Conditional_0_Template, 2, 0, "span", 27);
64
+ i0.ɵɵelementStart(1, "span", 28);
65
+ i0.ɵɵtext(2);
66
+ i0.ɵɵelementEnd();
67
+ } if (rf & 2) {
68
+ const description_r5 = i0.ɵɵnextContext().$implicit;
69
+ i0.ɵɵconditional(description_r5 ? 0 : -1);
70
+ i0.ɵɵadvance(2);
71
+ i0.ɵɵtextInterpolate1("Since ", ctx);
72
+ } }
73
+ function JsDocServicePageComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵconditionalCreate(0, JsDocServicePageComponent_ng_template_2_Conditional_0_Template, 1, 1, "span", 26);
75
+ i0.ɵɵconditionalCreate(1, JsDocServicePageComponent_ng_template_2_Conditional_1_Template, 3, 2);
76
+ } if (rf & 2) {
77
+ let tmp_11_0;
78
+ const description_r5 = ctx.$implicit;
79
+ const tags_r6 = ctx.tags;
80
+ i0.ɵɵconditional(description_r5 ? 0 : -1);
81
+ i0.ɵɵadvance();
82
+ i0.ɵɵconditional((tmp_11_0 = tags_r6.since) ? 1 : -1, tmp_11_0);
83
+ } }
84
+ function JsDocServicePageComponent_ng_template_4_For_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵelementContainer(0);
86
+ } }
87
+ function JsDocServicePageComponent_ng_template_4_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelement(0, "div", 30);
89
+ } if (rf & 2) {
90
+ const param_r7 = i0.ɵɵnextContext().$implicit;
91
+ const ctx_r2 = i0.ɵɵnextContext(2);
92
+ i0.ɵɵproperty("innerHTML", ctx_r2.renderInline(param_r7.description), i0.ɵɵsanitizeHtml);
93
+ } }
94
+ function JsDocServicePageComponent_ng_template_4_For_1_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "div", 29)(1, "code");
96
+ i0.ɵɵtemplate(2, JsDocServicePageComponent_ng_template_4_For_1_ng_container_2_Template, 1, 0, "ng-container", 11);
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵconditionalCreate(3, JsDocServicePageComponent_ng_template_4_For_1_Conditional_3_Template, 1, 1, "div", 30);
99
+ i0.ɵɵelementEnd();
100
+ } if (rf & 2) {
101
+ const param_r7 = ctx.$implicit;
102
+ const ctx_r2 = i0.ɵɵnextContext(2);
103
+ const typeText_r8 = i0.ɵɵreference(1);
104
+ i0.ɵɵadvance(2);
105
+ i0.ɵɵproperty("ngTemplateOutlet", typeText_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c0, ctx_r2.declaredParamSegmentsOf(param_r7)));
106
+ i0.ɵɵadvance();
107
+ i0.ɵɵconditional(param_r7.description ? 3 : -1);
108
+ } }
109
+ function JsDocServicePageComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
110
+ i0.ɵɵrepeaterCreate(0, JsDocServicePageComponent_ng_template_4_For_1_Template, 4, 5, "div", 29, _forTrack2);
111
+ } if (rf & 2) {
112
+ const params_r9 = ctx.$implicit;
113
+ i0.ɵɵrepeater(params_r9);
114
+ } }
115
+ function JsDocServicePageComponent_ng_template_6_For_1_Template(rf, ctx) { if (rf & 1) {
116
+ i0.ɵɵelementStart(0, "span", 31)(1, "span", 32);
117
+ i0.ɵɵtext(2, "See:");
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵtext(3);
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ const ref_r10 = ctx.$implicit;
123
+ i0.ɵɵadvance(3);
124
+ i0.ɵɵtextInterpolate1(" ", ref_r10, " ");
125
+ } }
126
+ function JsDocServicePageComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵrepeaterCreate(0, JsDocServicePageComponent_ng_template_6_For_1_Template, 4, 1, "span", 31, i0.ɵɵrepeaterTrackByIndex);
128
+ } if (rf & 2) {
129
+ const refs_r11 = ctx.$implicit;
130
+ i0.ɵɵrepeater(refs_r11);
131
+ } }
132
+ function JsDocServicePageComponent_ng_template_8_Conditional_7_Template(rf, ctx) { if (rf & 1) {
133
+ i0.ɵɵelementStart(0, "th");
134
+ i0.ɵɵtext(1, "Default");
135
+ i0.ɵɵelementEnd();
136
+ } }
137
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
138
+ i0.ɵɵelementStart(0, "span", 36);
139
+ i0.ɵɵtext(1, "required");
140
+ i0.ɵɵelementEnd();
141
+ } }
142
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
143
+ i0.ɵɵelementStart(0, "span", 37);
144
+ i0.ɵɵtext(1, "readonly");
145
+ i0.ɵɵelementEnd();
146
+ } }
147
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_6_Template(rf, ctx) { if (rf & 1) {
148
+ i0.ɵɵelementStart(0, "span", 38);
149
+ i0.ɵɵtext(1, "deprecated");
150
+ i0.ɵɵelementEnd();
151
+ } }
152
+ function JsDocServicePageComponent_ng_template_8_For_12_ng_container_9_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelementContainer(0);
154
+ } }
155
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Conditional_1_Template(rf, ctx) { if (rf & 1) {
156
+ i0.ɵɵelementStart(0, "code");
157
+ i0.ɵɵtext(1);
158
+ i0.ɵɵelementEnd();
159
+ } if (rf & 2) {
160
+ i0.ɵɵadvance();
161
+ i0.ɵɵtextInterpolate(ctx);
162
+ } }
163
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
164
+ i0.ɵɵelementStart(0, "span", 42);
165
+ i0.ɵɵtext(1, "\u2014");
166
+ i0.ɵɵelementEnd();
167
+ } }
168
+ function JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Template(rf, ctx) { if (rf & 1) {
169
+ i0.ɵɵelementStart(0, "td", 40);
170
+ i0.ɵɵconditionalCreate(1, JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Conditional_1_Template, 2, 1, "code")(2, JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Conditional_2_Template, 2, 0, "span", 42);
171
+ i0.ɵɵelementEnd();
172
+ } if (rf & 2) {
173
+ let tmp_23_0;
174
+ const property_r12 = i0.ɵɵnextContext().$implicit;
175
+ i0.ɵɵadvance();
176
+ i0.ɵɵconditional((tmp_23_0 = property_r12.tags.default) ? 1 : 2, tmp_23_0);
177
+ } }
178
+ function JsDocServicePageComponent_ng_template_8_For_12_ng_container_12_Template(rf, ctx) { if (rf & 1) {
179
+ i0.ɵɵelementContainer(0);
180
+ } }
181
+ function JsDocServicePageComponent_ng_template_8_For_12_Template(rf, ctx) { if (rf & 1) {
182
+ i0.ɵɵelementStart(0, "tr")(1, "td", 35)(2, "code");
183
+ i0.ɵɵtext(3);
184
+ i0.ɵɵelementEnd();
185
+ i0.ɵɵconditionalCreate(4, JsDocServicePageComponent_ng_template_8_For_12_Conditional_4_Template, 2, 0, "span", 36);
186
+ i0.ɵɵconditionalCreate(5, JsDocServicePageComponent_ng_template_8_For_12_Conditional_5_Template, 2, 0, "span", 37);
187
+ i0.ɵɵconditionalCreate(6, JsDocServicePageComponent_ng_template_8_For_12_Conditional_6_Template, 2, 0, "span", 38);
188
+ i0.ɵɵelementEnd();
189
+ i0.ɵɵelementStart(7, "td", 39)(8, "code");
190
+ i0.ɵɵtemplate(9, JsDocServicePageComponent_ng_template_8_For_12_ng_container_9_Template, 1, 0, "ng-container", 11);
191
+ i0.ɵɵelementEnd()();
192
+ i0.ɵɵconditionalCreate(10, JsDocServicePageComponent_ng_template_8_For_12_Conditional_10_Template, 3, 1, "td", 40);
193
+ i0.ɵɵelementStart(11, "td", 41);
194
+ i0.ɵɵtemplate(12, JsDocServicePageComponent_ng_template_8_For_12_ng_container_12_Template, 1, 0, "ng-container", 11);
195
+ i0.ɵɵelementEnd()();
196
+ } if (rf & 2) {
197
+ const property_r12 = ctx.$implicit;
198
+ const ctx_r12 = i0.ɵɵnextContext();
199
+ const defaults_r14 = ctx_r12.defaults;
200
+ const owner_r15 = ctx_r12.owner;
201
+ const ctx_r2 = i0.ɵɵnextContext();
202
+ const typeText_r8 = i0.ɵɵreference(1);
203
+ const docCell_r16 = i0.ɵɵreference(3);
204
+ i0.ɵɵclassProp("prism-jsdoc-panel__row--deprecated", ctx_r2.isDeprecated(property_r12.tags));
205
+ i0.ɵɵadvance(3);
206
+ i0.ɵɵtextInterpolate(property_r12.name);
207
+ i0.ɵɵadvance();
208
+ i0.ɵɵconditional(ctx_r2.isRequired(property_r12, owner_r15) ? 4 : -1);
209
+ i0.ɵɵadvance();
210
+ i0.ɵɵconditional(property_r12.readonly ? 5 : -1);
211
+ i0.ɵɵadvance();
212
+ i0.ɵɵconditional(ctx_r2.isDeprecated(property_r12.tags) ? 6 : -1);
213
+ i0.ɵɵadvance(3);
214
+ i0.ɵɵproperty("ngTemplateOutlet", typeText_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(11, _c0, ctx_r2.segmentsOf(property_r12.type)));
215
+ i0.ɵɵadvance();
216
+ i0.ɵɵconditional(defaults_r14 ? 10 : -1);
217
+ i0.ɵɵadvance(2);
218
+ i0.ɵɵproperty("ngTemplateOutlet", docCell_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction2(13, _c1, property_r12.description, property_r12.tags));
219
+ } }
220
+ function JsDocServicePageComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
221
+ i0.ɵɵelementStart(0, "table", 33)(1, "thead")(2, "tr")(3, "th");
222
+ i0.ɵɵtext(4);
223
+ i0.ɵɵelementEnd();
224
+ i0.ɵɵelementStart(5, "th");
225
+ i0.ɵɵtext(6, "Type");
226
+ i0.ɵɵelementEnd();
227
+ i0.ɵɵconditionalCreate(7, JsDocServicePageComponent_ng_template_8_Conditional_7_Template, 2, 0, "th");
228
+ i0.ɵɵelementStart(8, "th");
229
+ i0.ɵɵtext(9, "Description");
230
+ i0.ɵɵelementEnd()()();
231
+ i0.ɵɵelementStart(10, "tbody");
232
+ i0.ɵɵrepeaterCreate(11, JsDocServicePageComponent_ng_template_8_For_12_Template, 13, 16, "tr", 34, _forTrack2);
233
+ i0.ɵɵelementEnd()();
234
+ } if (rf & 2) {
235
+ const properties_r17 = ctx.$implicit;
236
+ const label_r18 = ctx.label;
237
+ const defaults_r14 = ctx.defaults;
238
+ i0.ɵɵadvance(4);
239
+ i0.ɵɵtextInterpolate(label_r18);
240
+ i0.ɵɵadvance(3);
241
+ i0.ɵɵconditional(defaults_r14 ? 7 : -1);
242
+ i0.ɵɵadvance(4);
243
+ i0.ɵɵrepeater(properties_r17);
244
+ } }
245
+ function JsDocServicePageComponent_ng_template_10_Conditional_5_Template(rf, ctx) { if (rf & 1) {
246
+ i0.ɵɵelementStart(0, "th");
247
+ i0.ɵɵtext(1, "Parameters");
248
+ i0.ɵɵelementEnd();
249
+ } }
250
+ function JsDocServicePageComponent_ng_template_10_For_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
251
+ i0.ɵɵelementStart(0, "span", 38);
252
+ i0.ɵɵtext(1, "deprecated");
253
+ i0.ɵɵelementEnd();
254
+ } }
255
+ function JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
256
+ i0.ɵɵelementContainer(0);
257
+ } }
258
+ function JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
259
+ i0.ɵɵtemplate(0, JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 11);
260
+ } if (rf & 2) {
261
+ const method_r19 = i0.ɵɵnextContext(2).$implicit;
262
+ i0.ɵɵnextContext(2);
263
+ const paramList_r20 = i0.ɵɵreference(5);
264
+ i0.ɵɵproperty("ngTemplateOutlet", paramList_r20)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, method_r19.params));
265
+ } }
266
+ function JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
267
+ i0.ɵɵelementStart(0, "span", 42);
268
+ i0.ɵɵtext(1, "\u2014");
269
+ i0.ɵɵelementEnd();
270
+ } }
271
+ function JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
272
+ i0.ɵɵelementStart(0, "td", 39);
273
+ i0.ɵɵconditionalCreate(1, JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_1_Template, 1, 4, "ng-container")(2, JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Conditional_2_Template, 2, 0, "span", 42);
274
+ i0.ɵɵelementEnd();
275
+ } if (rf & 2) {
276
+ const method_r19 = i0.ɵɵnextContext().$implicit;
277
+ i0.ɵɵadvance();
278
+ i0.ɵɵconditional(method_r19.params.length ? 1 : 2);
279
+ } }
280
+ function JsDocServicePageComponent_ng_template_10_For_12_ng_container_8_Template(rf, ctx) { if (rf & 1) {
281
+ i0.ɵɵelementContainer(0);
282
+ } }
283
+ function JsDocServicePageComponent_ng_template_10_For_12_ng_container_10_Template(rf, ctx) { if (rf & 1) {
284
+ i0.ɵɵelementContainer(0);
285
+ } }
286
+ function JsDocServicePageComponent_ng_template_10_For_12_Template(rf, ctx) { if (rf & 1) {
287
+ i0.ɵɵelementStart(0, "tr")(1, "td", 35)(2, "code");
288
+ i0.ɵɵtext(3);
289
+ i0.ɵɵelementEnd();
290
+ i0.ɵɵconditionalCreate(4, JsDocServicePageComponent_ng_template_10_For_12_Conditional_4_Template, 2, 0, "span", 38);
291
+ i0.ɵɵelementEnd();
292
+ i0.ɵɵconditionalCreate(5, JsDocServicePageComponent_ng_template_10_For_12_Conditional_5_Template, 3, 1, "td", 39);
293
+ i0.ɵɵelementStart(6, "td", 39)(7, "code");
294
+ i0.ɵɵtemplate(8, JsDocServicePageComponent_ng_template_10_For_12_ng_container_8_Template, 1, 0, "ng-container", 11);
295
+ i0.ɵɵelementEnd()();
296
+ i0.ɵɵelementStart(9, "td", 41);
297
+ i0.ɵɵtemplate(10, JsDocServicePageComponent_ng_template_10_For_12_ng_container_10_Template, 1, 0, "ng-container", 11);
298
+ i0.ɵɵelementEnd()();
299
+ } if (rf & 2) {
300
+ const method_r19 = ctx.$implicit;
301
+ const params_r21 = i0.ɵɵnextContext().params;
302
+ const ctx_r2 = i0.ɵɵnextContext();
303
+ const typeText_r8 = i0.ɵɵreference(1);
304
+ const docCell_r16 = i0.ɵɵreference(3);
305
+ i0.ɵɵclassProp("prism-jsdoc-panel__row--deprecated", ctx_r2.isDeprecated(method_r19.tags));
306
+ i0.ɵɵadvance(3);
307
+ i0.ɵɵtextInterpolate1("", method_r19.name, "()");
308
+ i0.ɵɵadvance();
309
+ i0.ɵɵconditional(ctx_r2.isDeprecated(method_r19.tags) ? 4 : -1);
310
+ i0.ɵɵadvance();
311
+ i0.ɵɵconditional(params_r21 ? 5 : -1);
312
+ i0.ɵɵadvance(3);
313
+ i0.ɵɵproperty("ngTemplateOutlet", typeText_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(9, _c0, ctx_r2.segmentsOf(method_r19.returnType)));
314
+ i0.ɵɵadvance(2);
315
+ i0.ɵɵproperty("ngTemplateOutlet", docCell_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction2(11, _c1, method_r19.description, method_r19.tags));
316
+ } }
317
+ function JsDocServicePageComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
318
+ i0.ɵɵelementStart(0, "table", 33)(1, "thead")(2, "tr")(3, "th");
319
+ i0.ɵɵtext(4);
320
+ i0.ɵɵelementEnd();
321
+ i0.ɵɵconditionalCreate(5, JsDocServicePageComponent_ng_template_10_Conditional_5_Template, 2, 0, "th");
322
+ i0.ɵɵelementStart(6, "th");
323
+ i0.ɵɵtext(7, "Returns");
324
+ i0.ɵɵelementEnd();
325
+ i0.ɵɵelementStart(8, "th");
326
+ i0.ɵɵtext(9, "Description");
327
+ i0.ɵɵelementEnd()()();
328
+ i0.ɵɵelementStart(10, "tbody");
329
+ i0.ɵɵrepeaterCreate(11, JsDocServicePageComponent_ng_template_10_For_12_Template, 11, 14, "tr", 34, i0.ɵɵrepeaterTrackByIndex);
330
+ i0.ɵɵelementEnd()();
331
+ } if (rf & 2) {
332
+ const methods_r22 = ctx.$implicit;
333
+ const label_r23 = ctx.label;
334
+ const params_r21 = ctx.params;
335
+ i0.ɵɵadvance(4);
336
+ i0.ɵɵtextInterpolate(label_r23);
337
+ i0.ɵɵadvance();
338
+ i0.ɵɵconditional(params_r21 ? 5 : -1);
339
+ i0.ɵɵadvance(6);
340
+ i0.ɵɵrepeater(methods_r22);
341
+ } }
342
+ function JsDocServicePageComponent_ng_template_12_For_1_Template(rf, ctx) { if (rf & 1) {
343
+ i0.ɵɵelementStart(0, "pre", 16);
344
+ i0.ɵɵelement(1, "code", 43);
345
+ i0.ɵɵelementEnd();
346
+ } if (rf & 2) {
347
+ const example_r24 = ctx.$implicit;
348
+ const parsed_r25 = i0.ɵɵnextContext(2).parseExample(example_r24);
349
+ i0.ɵɵadvance();
350
+ i0.ɵɵproperty("highlight", parsed_r25.code)("language", parsed_r25.lang);
351
+ } }
352
+ function JsDocServicePageComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
353
+ i0.ɵɵrepeaterCreate(0, JsDocServicePageComponent_ng_template_12_For_1_Template, 2, 2, "pre", 16, i0.ɵɵrepeaterTrackByIndex);
354
+ } if (rf & 2) {
355
+ const examples_r26 = ctx.$implicit;
356
+ i0.ɵɵrepeater(examples_r26);
357
+ } }
358
+ function JsDocServicePageComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
359
+ i0.ɵɵelement(0, "div", 9);
360
+ } if (rf & 2) {
361
+ i0.ɵɵproperty("innerHTML", ctx, i0.ɵɵsanitizeHtml);
362
+ } }
363
+ function JsDocServicePageComponent_For_19_Conditional_0_Template(rf, ctx) { if (rf & 1) {
364
+ i0.ɵɵelementStart(0, "span", 44);
365
+ i0.ɵɵtext(1);
366
+ i0.ɵɵelementEnd();
367
+ } if (rf & 2) {
368
+ const chip_r27 = i0.ɵɵnextContext().$implicit;
369
+ i0.ɵɵadvance();
370
+ i0.ɵɵtextInterpolate2(" ", chip_r27.label, "", chip_r27.value ? ": " + chip_r27.value : "", " ");
371
+ } }
372
+ function JsDocServicePageComponent_For_19_Conditional_1_Template(rf, ctx) { if (rf & 1) {
373
+ i0.ɵɵelementStart(0, "span", 31)(1, "span", 32);
374
+ i0.ɵɵtext(2);
375
+ i0.ɵɵelementEnd();
376
+ i0.ɵɵtext(3);
377
+ i0.ɵɵelementEnd();
378
+ } if (rf & 2) {
379
+ const chip_r27 = i0.ɵɵnextContext().$implicit;
380
+ i0.ɵɵadvance(2);
381
+ i0.ɵɵtextInterpolate1("", chip_r27.label, ":");
382
+ i0.ɵɵadvance();
383
+ i0.ɵɵtextInterpolate1(" ", chip_r27.value, " ");
384
+ } }
385
+ function JsDocServicePageComponent_For_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
386
+ i0.ɵɵelementStart(0, "span", 31);
387
+ i0.ɵɵtext(1);
388
+ i0.ɵɵelementEnd();
389
+ } if (rf & 2) {
390
+ const chip_r27 = i0.ɵɵnextContext().$implicit;
391
+ i0.ɵɵadvance();
392
+ i0.ɵɵtextInterpolate(chip_r27.label);
393
+ } }
394
+ function JsDocServicePageComponent_For_19_Template(rf, ctx) { if (rf & 1) {
395
+ i0.ɵɵconditionalCreate(0, JsDocServicePageComponent_For_19_Conditional_0_Template, 2, 2, "span", 44)(1, JsDocServicePageComponent_For_19_Conditional_1_Template, 4, 2, "span", 31)(2, JsDocServicePageComponent_For_19_Conditional_2_Template, 2, 1, "span", 31);
396
+ } if (rf & 2) {
397
+ const chip_r27 = ctx.$implicit;
398
+ i0.ɵɵconditional(chip_r27.deprecated ? 0 : chip_r27.value ? 1 : 2);
399
+ } }
400
+ function JsDocServicePageComponent_ng_container_20_Template(rf, ctx) { if (rf & 1) {
401
+ i0.ɵɵelementContainer(0);
402
+ } }
403
+ function JsDocServicePageComponent_Conditional_31_Template(rf, ctx) { if (rf & 1) {
404
+ i0.ɵɵnamespaceSVG();
405
+ i0.ɵɵelement(0, "path", 20);
406
+ } }
407
+ function JsDocServicePageComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
408
+ i0.ɵɵnamespaceSVG();
409
+ i0.ɵɵelement(0, "rect", 45)(1, "path", 46);
410
+ } }
411
+ function JsDocServicePageComponent_Conditional_33_For_4_ng_container_5_Template(rf, ctx) { if (rf & 1) {
412
+ i0.ɵɵelementContainer(0);
413
+ } }
414
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
415
+ i0.ɵɵelementStart(0, "span", 38);
416
+ i0.ɵɵtext(1);
417
+ i0.ɵɵelementEnd();
418
+ } if (rf & 2) {
419
+ const entry_r28 = i0.ɵɵnextContext().$implicit;
420
+ const ctx_r2 = i0.ɵɵnextContext(2);
421
+ i0.ɵɵadvance();
422
+ i0.ɵɵtextInterpolate1(" deprecated", ctx_r2.deprecatedMessage(entry_r28.tags) ? ": " + ctx_r2.deprecatedMessage(entry_r28.tags) : "", " ");
423
+ } }
424
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_7_Template(rf, ctx) { if (rf & 1) {
425
+ i0.ɵɵelement(0, "div", 51);
426
+ } if (rf & 2) {
427
+ i0.ɵɵproperty("innerHTML", ctx, i0.ɵɵsanitizeHtml);
428
+ } }
429
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
430
+ i0.ɵɵelementContainer(0);
431
+ } }
432
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_8_Template(rf, ctx) { if (rf & 1) {
433
+ i0.ɵɵelementStart(0, "div", 52);
434
+ i0.ɵɵtemplate(1, JsDocServicePageComponent_Conditional_33_For_4_Conditional_8_ng_container_1_Template, 1, 0, "ng-container", 11);
435
+ i0.ɵɵelementEnd();
436
+ } if (rf & 2) {
437
+ const entry_r28 = i0.ɵɵnextContext().$implicit;
438
+ i0.ɵɵnextContext(2);
439
+ const paramList_r20 = i0.ɵɵreference(5);
440
+ i0.ɵɵadvance();
441
+ i0.ɵɵproperty("ngTemplateOutlet", paramList_r20)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, entry_r28.params));
442
+ } }
443
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_9_ng_container_0_Template(rf, ctx) { if (rf & 1) {
444
+ i0.ɵɵelementContainer(0);
445
+ } }
446
+ function JsDocServicePageComponent_Conditional_33_For_4_Conditional_9_Template(rf, ctx) { if (rf & 1) {
447
+ i0.ɵɵtemplate(0, JsDocServicePageComponent_Conditional_33_For_4_Conditional_9_ng_container_0_Template, 1, 0, "ng-container", 11);
448
+ } if (rf & 2) {
449
+ const entry_r28 = i0.ɵɵnextContext().$implicit;
450
+ i0.ɵɵnextContext(2);
451
+ const propertyTable_r29 = i0.ɵɵreference(9);
452
+ i0.ɵɵproperty("ngTemplateOutlet", propertyTable_r29)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c3, entry_r28.config));
453
+ } }
454
+ function JsDocServicePageComponent_Conditional_33_For_4_ng_container_10_Template(rf, ctx) { if (rf & 1) {
455
+ i0.ɵɵelementContainer(0);
456
+ } }
457
+ function JsDocServicePageComponent_Conditional_33_For_4_Template(rf, ctx) { if (rf & 1) {
458
+ i0.ɵɵelementStart(0, "div", 48)(1, "div", 49)(2, "code")(3, "span", 50);
459
+ i0.ɵɵtext(4);
460
+ i0.ɵɵelementEnd();
461
+ i0.ɵɵtemplate(5, JsDocServicePageComponent_Conditional_33_For_4_ng_container_5_Template, 1, 0, "ng-container", 11);
462
+ i0.ɵɵelementEnd();
463
+ i0.ɵɵconditionalCreate(6, JsDocServicePageComponent_Conditional_33_For_4_Conditional_6_Template, 2, 1, "span", 38);
464
+ i0.ɵɵelementEnd();
465
+ i0.ɵɵconditionalCreate(7, JsDocServicePageComponent_Conditional_33_For_4_Conditional_7_Template, 1, 1, "div", 51);
466
+ i0.ɵɵconditionalCreate(8, JsDocServicePageComponent_Conditional_33_For_4_Conditional_8_Template, 2, 4, "div", 52);
467
+ i0.ɵɵconditionalCreate(9, JsDocServicePageComponent_Conditional_33_For_4_Conditional_9_Template, 1, 4, "ng-container");
468
+ i0.ɵɵtemplate(10, JsDocServicePageComponent_Conditional_33_For_4_ng_container_10_Template, 1, 0, "ng-container", 11);
469
+ i0.ɵɵelementEnd();
470
+ } if (rf & 2) {
471
+ let tmp_22_0;
472
+ const entry_r28 = ctx.$implicit;
473
+ const ctx_r2 = i0.ɵɵnextContext(2);
474
+ const typeText_r8 = i0.ɵɵreference(1);
475
+ const exampleList_r30 = i0.ɵɵreference(13);
476
+ i0.ɵɵadvance(4);
477
+ i0.ɵɵtextInterpolate(entry_r28.name);
478
+ i0.ɵɵadvance();
479
+ i0.ɵɵproperty("ngTemplateOutlet", typeText_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(9, _c0, ctx_r2.signatureOf(entry_r28)));
480
+ i0.ɵɵadvance();
481
+ i0.ɵɵconditional(ctx_r2.isDeprecated(entry_r28.tags) ? 6 : -1);
482
+ i0.ɵɵadvance();
483
+ i0.ɵɵconditional((tmp_22_0 = ctx_r2.renderBlock(entry_r28.description)) ? 7 : -1, tmp_22_0);
484
+ i0.ɵɵadvance();
485
+ i0.ɵɵconditional(ctx_r2.documentsParams(entry_r28.params) ? 8 : -1);
486
+ i0.ɵɵadvance();
487
+ i0.ɵɵconditional(entry_r28.config?.length ? 9 : -1);
488
+ i0.ɵɵadvance();
489
+ i0.ɵɵproperty("ngTemplateOutlet", exampleList_r30)("ngTemplateOutletContext", i0.ɵɵpureFunction1(12, _c0, entry_r28.tags.example ?? i0.ɵɵpureFunction0(11, _c2)));
490
+ } }
491
+ function JsDocServicePageComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
492
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 47);
493
+ i0.ɵɵtext(2, " Setup ");
494
+ i0.ɵɵelementEnd();
495
+ i0.ɵɵrepeaterCreate(3, JsDocServicePageComponent_Conditional_33_For_4_Template, 11, 14, "div", 48, _forTrack2);
496
+ i0.ɵɵelementEnd();
497
+ } if (rf & 2) {
498
+ const ctx_r2 = i0.ɵɵnextContext();
499
+ i0.ɵɵadvance(3);
500
+ i0.ɵɵrepeater(ctx_r2.page().setup);
501
+ } }
502
+ function JsDocServicePageComponent_Conditional_34_ng_container_5_Template(rf, ctx) { if (rf & 1) {
503
+ i0.ɵɵelementContainer(0);
504
+ } }
505
+ function JsDocServicePageComponent_Conditional_34_Template(rf, ctx) { if (rf & 1) {
506
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 53);
507
+ i0.ɵɵtext(2, " Examples ");
508
+ i0.ɵɵelementStart(3, "small", 14);
509
+ i0.ɵɵtext(4, "from @example");
510
+ i0.ɵɵelementEnd()();
511
+ i0.ɵɵtemplate(5, JsDocServicePageComponent_Conditional_34_ng_container_5_Template, 1, 0, "ng-container", 11);
512
+ i0.ɵɵelementEnd();
513
+ } if (rf & 2) {
514
+ const ctx_r2 = i0.ɵɵnextContext();
515
+ const exampleList_r30 = i0.ɵɵreference(13);
516
+ i0.ɵɵadvance(5);
517
+ i0.ɵɵproperty("ngTemplateOutlet", exampleList_r30)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, ctx_r2.page().examples));
518
+ } }
519
+ function JsDocServicePageComponent_Conditional_35_For_16_Conditional_4_Template(rf, ctx) { if (rf & 1) {
520
+ i0.ɵɵelementStart(0, "span", 38);
521
+ i0.ɵɵtext(1, "deprecated");
522
+ i0.ɵɵelementEnd();
523
+ } }
524
+ function JsDocServicePageComponent_Conditional_35_For_16_ng_container_7_Template(rf, ctx) { if (rf & 1) {
525
+ i0.ɵɵelementContainer(0);
526
+ } }
527
+ function JsDocServicePageComponent_Conditional_35_For_16_Conditional_9_Template(rf, ctx) { if (rf & 1) {
528
+ i0.ɵɵelementStart(0, "code");
529
+ i0.ɵɵtext(1, "readonly");
530
+ i0.ɵɵelementEnd();
531
+ } }
532
+ function JsDocServicePageComponent_Conditional_35_For_16_Conditional_10_Template(rf, ctx) { if (rf & 1) {
533
+ i0.ɵɵelementStart(0, "span", 42);
534
+ i0.ɵɵtext(1, "\u2014");
535
+ i0.ɵɵelementEnd();
536
+ } }
537
+ function JsDocServicePageComponent_Conditional_35_For_16_ng_container_12_Template(rf, ctx) { if (rf & 1) {
538
+ i0.ɵɵelementContainer(0);
539
+ } }
540
+ function JsDocServicePageComponent_Conditional_35_For_16_Template(rf, ctx) { if (rf & 1) {
541
+ i0.ɵɵelementStart(0, "tr")(1, "td", 35)(2, "code");
542
+ i0.ɵɵtext(3);
543
+ i0.ɵɵelementEnd();
544
+ i0.ɵɵconditionalCreate(4, JsDocServicePageComponent_Conditional_35_For_16_Conditional_4_Template, 2, 0, "span", 38);
545
+ i0.ɵɵelementEnd();
546
+ i0.ɵɵelementStart(5, "td", 39)(6, "code");
547
+ i0.ɵɵtemplate(7, JsDocServicePageComponent_Conditional_35_For_16_ng_container_7_Template, 1, 0, "ng-container", 11);
548
+ i0.ɵɵelementEnd()();
549
+ i0.ɵɵelementStart(8, "td", 55);
550
+ i0.ɵɵconditionalCreate(9, JsDocServicePageComponent_Conditional_35_For_16_Conditional_9_Template, 2, 0, "code")(10, JsDocServicePageComponent_Conditional_35_For_16_Conditional_10_Template, 2, 0, "span", 42);
551
+ i0.ɵɵelementEnd();
552
+ i0.ɵɵelementStart(11, "td", 41);
553
+ i0.ɵɵtemplate(12, JsDocServicePageComponent_Conditional_35_For_16_ng_container_12_Template, 1, 0, "ng-container", 11);
554
+ i0.ɵɵelementEnd()();
555
+ } if (rf & 2) {
556
+ const property_r31 = ctx.$implicit;
557
+ const ctx_r2 = i0.ɵɵnextContext(2);
558
+ const typeText_r8 = i0.ɵɵreference(1);
559
+ const docCell_r16 = i0.ɵɵreference(3);
560
+ i0.ɵɵclassProp("prism-jsdoc-panel__row--deprecated", ctx_r2.isDeprecated(property_r31.tags));
561
+ i0.ɵɵadvance(3);
562
+ i0.ɵɵtextInterpolate(property_r31.name);
563
+ i0.ɵɵadvance();
564
+ i0.ɵɵconditional(ctx_r2.isDeprecated(property_r31.tags) ? 4 : -1);
565
+ i0.ɵɵadvance(3);
566
+ i0.ɵɵproperty("ngTemplateOutlet", typeText_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(9, _c0, ctx_r2.segmentsOf(property_r31.type)));
567
+ i0.ɵɵadvance(2);
568
+ i0.ɵɵconditional(property_r31.readonly ? 9 : 10);
569
+ i0.ɵɵadvance(3);
570
+ i0.ɵɵproperty("ngTemplateOutlet", docCell_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction2(11, _c1, property_r31.description, property_r31.tags));
571
+ } }
572
+ function JsDocServicePageComponent_Conditional_35_Template(rf, ctx) { if (rf & 1) {
573
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 54);
574
+ i0.ɵɵtext(2, " Properties ");
575
+ i0.ɵɵelementEnd();
576
+ i0.ɵɵelementStart(3, "table", 33)(4, "thead")(5, "tr")(6, "th");
577
+ i0.ɵɵtext(7, "Name");
578
+ i0.ɵɵelementEnd();
579
+ i0.ɵɵelementStart(8, "th");
580
+ i0.ɵɵtext(9, "Type");
581
+ i0.ɵɵelementEnd();
582
+ i0.ɵɵelementStart(10, "th");
583
+ i0.ɵɵtext(11, "Readonly");
584
+ i0.ɵɵelementEnd();
585
+ i0.ɵɵelementStart(12, "th");
586
+ i0.ɵɵtext(13, "Description");
587
+ i0.ɵɵelementEnd()()();
588
+ i0.ɵɵelementStart(14, "tbody");
589
+ i0.ɵɵrepeaterCreate(15, JsDocServicePageComponent_Conditional_35_For_16_Template, 13, 14, "tr", 34, _forTrack2);
590
+ i0.ɵɵelementEnd()()();
591
+ } if (rf & 2) {
592
+ const ctx_r2 = i0.ɵɵnextContext();
593
+ i0.ɵɵadvance(15);
594
+ i0.ɵɵrepeater(ctx_r2.serviceProperties());
595
+ } }
596
+ function JsDocServicePageComponent_Conditional_36_ng_container_3_Template(rf, ctx) { if (rf & 1) {
597
+ i0.ɵɵelementContainer(0);
598
+ } }
599
+ function JsDocServicePageComponent_Conditional_36_Template(rf, ctx) { if (rf & 1) {
600
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 56);
601
+ i0.ɵɵtext(2, " Methods ");
602
+ i0.ɵɵelementEnd();
603
+ i0.ɵɵtemplate(3, JsDocServicePageComponent_Conditional_36_ng_container_3_Template, 1, 0, "ng-container", 11);
604
+ i0.ɵɵelementEnd();
605
+ } if (rf & 2) {
606
+ const ctx_r2 = i0.ɵɵnextContext();
607
+ const methodTable_r32 = i0.ɵɵreference(11);
608
+ i0.ɵɵadvance(3);
609
+ i0.ɵɵproperty("ngTemplateOutlet", methodTable_r32)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c4, ctx_r2.serviceMethods()));
610
+ } }
611
+ function JsDocServicePageComponent_Conditional_37_ng_container_3_Template(rf, ctx) { if (rf & 1) {
612
+ i0.ɵɵelementContainer(0);
613
+ } }
614
+ function JsDocServicePageComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
615
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 57);
616
+ i0.ɵɵtext(2, " Transform ");
617
+ i0.ɵɵelementEnd();
618
+ i0.ɵɵtemplate(3, JsDocServicePageComponent_Conditional_37_ng_container_3_Template, 1, 0, "ng-container", 11);
619
+ i0.ɵɵelementEnd();
620
+ } if (rf & 2) {
621
+ const ctx_r2 = i0.ɵɵnextContext();
622
+ const methodTable_r32 = i0.ɵɵreference(11);
623
+ i0.ɵɵadvance(3);
624
+ i0.ɵɵproperty("ngTemplateOutlet", methodTable_r32)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c4, ctx_r2.transformSignatures()));
625
+ } }
626
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
627
+ i0.ɵɵelementStart(0, "span", 38);
628
+ i0.ɵɵtext(1, "deprecated");
629
+ i0.ɵɵelementEnd();
630
+ } }
631
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
632
+ i0.ɵɵelementStart(0, "code");
633
+ i0.ɵɵtext(1);
634
+ i0.ɵɵelementEnd();
635
+ } if (rf & 2) {
636
+ i0.ɵɵnextContext();
637
+ const reached_r33 = i0.ɵɵreadContextLet(0);
638
+ i0.ɵɵadvance();
639
+ i0.ɵɵtextInterpolate(reached_r33.code);
640
+ } }
641
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_9_Template(rf, ctx) { if (rf & 1) {
642
+ i0.ɵɵdeclareLet(0);
643
+ i0.ɵɵelementStart(1, "span", 64)(2, "span");
644
+ i0.ɵɵtext(3);
645
+ i0.ɵɵelementEnd();
646
+ i0.ɵɵconditionalCreate(4, JsDocServicePageComponent_Conditional_38_For_6_Conditional_9_Conditional_4_Template, 2, 1, "code");
647
+ i0.ɵɵelementEnd();
648
+ } if (rf & 2) {
649
+ const reached_r34 = i0.ɵɵstoreLet(i0.ɵɵnextContext(3).splitReachedFrom(ctx));
650
+ i0.ɵɵadvance(3);
651
+ i0.ɵɵtextInterpolate(reached_r34.text);
652
+ i0.ɵɵadvance();
653
+ i0.ɵɵconditional(reached_r34.code ? 4 : -1);
654
+ } }
655
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_10_Template(rf, ctx) { if (rf & 1) {
656
+ i0.ɵɵelement(0, "div", 51);
657
+ } if (rf & 2) {
658
+ i0.ɵɵproperty("innerHTML", ctx, i0.ɵɵsanitizeHtml);
659
+ } }
660
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
661
+ i0.ɵɵelementContainer(0);
662
+ } }
663
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_11_Template(rf, ctx) { if (rf & 1) {
664
+ i0.ɵɵelementStart(0, "div", 65);
665
+ i0.ɵɵtemplate(1, JsDocServicePageComponent_Conditional_38_For_6_Conditional_11_ng_container_1_Template, 1, 0, "ng-container", 11);
666
+ i0.ɵɵelementEnd();
667
+ } if (rf & 2) {
668
+ const type_r35 = i0.ɵɵnextContext().$implicit;
669
+ i0.ɵɵnextContext(2);
670
+ const seeChips_r36 = i0.ɵɵreference(7);
671
+ i0.ɵɵadvance();
672
+ i0.ɵɵproperty("ngTemplateOutlet", seeChips_r36)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, type_r35.tags.see));
673
+ } }
674
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_12_ng_container_0_Template(rf, ctx) { if (rf & 1) {
675
+ i0.ɵɵelementContainer(0);
676
+ } }
677
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_12_Template(rf, ctx) { if (rf & 1) {
678
+ i0.ɵɵtemplate(0, JsDocServicePageComponent_Conditional_38_For_6_Conditional_12_ng_container_0_Template, 1, 0, "ng-container", 11);
679
+ } if (rf & 2) {
680
+ const type_r35 = i0.ɵɵnextContext().$implicit;
681
+ const properties_r37 = i0.ɵɵreadContextLet(0);
682
+ const ctx_r2 = i0.ɵɵnextContext(2);
683
+ const propertyTable_r29 = i0.ɵɵreference(9);
684
+ i0.ɵɵproperty("ngTemplateOutlet", propertyTable_r29)("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c5, properties_r37, ctx_r2.hasDefaults(properties_r37), type_r35));
685
+ } }
686
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
687
+ i0.ɵɵelementContainer(0);
688
+ } }
689
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_13_Template(rf, ctx) { if (rf & 1) {
690
+ i0.ɵɵtemplate(0, JsDocServicePageComponent_Conditional_38_For_6_Conditional_13_ng_container_0_Template, 1, 0, "ng-container", 11);
691
+ } if (rf & 2) {
692
+ i0.ɵɵnextContext();
693
+ const methods_r38 = i0.ɵɵreadContextLet(1);
694
+ const ctx_r2 = i0.ɵɵnextContext(2);
695
+ const methodTable_r32 = i0.ɵɵreference(11);
696
+ i0.ɵɵproperty("ngTemplateOutlet", methodTable_r32)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c6, methods_r38, ctx_r2.hasParams(methods_r38)));
697
+ } }
698
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
699
+ i0.ɵɵelementStart(0, "span", 68);
700
+ i0.ɵɵtext(1, "|");
701
+ i0.ɵɵelementEnd();
702
+ } }
703
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_For_2_Template(rf, ctx) { if (rf & 1) {
704
+ i0.ɵɵconditionalCreate(0, JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_For_2_Conditional_0_Template, 2, 0, "span", 68);
705
+ i0.ɵɵelementStart(1, "span");
706
+ i0.ɵɵtext(2);
707
+ i0.ɵɵelementEnd();
708
+ } if (rf & 2) {
709
+ const member_r39 = ctx.$implicit;
710
+ const ɵ$index_439_r40 = ctx.$index;
711
+ i0.ɵɵconditional(!(ɵ$index_439_r40 === 0) ? 0 : -1);
712
+ i0.ɵɵadvance(2);
713
+ i0.ɵɵtextInterpolate(member_r39);
714
+ } }
715
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_Template(rf, ctx) { if (rf & 1) {
716
+ i0.ɵɵelementStart(0, "p", 66);
717
+ i0.ɵɵrepeaterCreate(1, JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_For_2_Template, 3, 2, null, null, i0.ɵɵrepeaterTrackByIndex);
718
+ i0.ɵɵelementEnd();
719
+ } if (rf & 2) {
720
+ const type_r35 = i0.ɵɵnextContext().$implicit;
721
+ i0.ɵɵadvance();
722
+ i0.ɵɵrepeater(type_r35.union);
723
+ } }
724
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_15_Template(rf, ctx) { if (rf & 1) {
725
+ i0.ɵɵelementStart(0, "p", 67)(1, "code");
726
+ i0.ɵɵtext(2);
727
+ i0.ɵɵelementEnd()();
728
+ } if (rf & 2) {
729
+ const type_r35 = i0.ɵɵnextContext().$implicit;
730
+ i0.ɵɵadvance(2);
731
+ i0.ɵɵtextInterpolate(type_r35.text);
732
+ } }
733
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_Conditional_5_Template(rf, ctx) { if (rf & 1) {
734
+ i0.ɵɵelementStart(0, "th");
735
+ i0.ɵɵtext(1, "Value");
736
+ i0.ɵɵelementEnd();
737
+ } }
738
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
739
+ i0.ɵɵelementStart(0, "code");
740
+ i0.ɵɵtext(1);
741
+ i0.ɵɵelementEnd();
742
+ } if (rf & 2) {
743
+ const member_r41 = i0.ɵɵnextContext(2).$implicit;
744
+ i0.ɵɵadvance();
745
+ i0.ɵɵtextInterpolate(member_r41.value);
746
+ } }
747
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
748
+ i0.ɵɵelementStart(0, "span", 42);
749
+ i0.ɵɵtext(1, "\u2014");
750
+ i0.ɵɵelementEnd();
751
+ } }
752
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Template(rf, ctx) { if (rf & 1) {
753
+ i0.ɵɵelementStart(0, "td", 55);
754
+ i0.ɵɵconditionalCreate(1, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Conditional_1_Template, 2, 1, "code")(2, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Conditional_2_Template, 2, 0, "span", 42);
755
+ i0.ɵɵelementEnd();
756
+ } if (rf & 2) {
757
+ const member_r41 = i0.ɵɵnextContext().$implicit;
758
+ i0.ɵɵadvance();
759
+ i0.ɵɵconditional(member_r41.value !== undefined ? 1 : 2);
760
+ } }
761
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_6_Template(rf, ctx) { if (rf & 1) {
762
+ i0.ɵɵelement(0, "span", 26);
763
+ } if (rf & 2) {
764
+ const member_r41 = i0.ɵɵnextContext().$implicit;
765
+ const ctx_r2 = i0.ɵɵnextContext(4);
766
+ i0.ɵɵproperty("innerHTML", ctx_r2.renderInline(member_r41.description), i0.ɵɵsanitizeHtml);
767
+ } }
768
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Template(rf, ctx) { if (rf & 1) {
769
+ i0.ɵɵelementStart(0, "tr")(1, "td", 35)(2, "code");
770
+ i0.ɵɵtext(3);
771
+ i0.ɵɵelementEnd()();
772
+ i0.ɵɵconditionalCreate(4, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_4_Template, 3, 1, "td", 55);
773
+ i0.ɵɵelementStart(5, "td", 41);
774
+ i0.ɵɵconditionalCreate(6, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Conditional_6_Template, 1, 1, "span", 26);
775
+ i0.ɵɵelementEnd()();
776
+ } if (rf & 2) {
777
+ const member_r41 = ctx.$implicit;
778
+ const type_r35 = i0.ɵɵnextContext(2).$implicit;
779
+ const ctx_r2 = i0.ɵɵnextContext(2);
780
+ i0.ɵɵadvance(3);
781
+ i0.ɵɵtextInterpolate(member_r41.name);
782
+ i0.ɵɵadvance();
783
+ i0.ɵɵconditional(ctx_r2.hasValues(type_r35) ? 4 : -1);
784
+ i0.ɵɵadvance(2);
785
+ i0.ɵɵconditional(member_r41.description ? 6 : -1);
786
+ } }
787
+ function JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_Template(rf, ctx) { if (rf & 1) {
788
+ i0.ɵɵelementStart(0, "table", 33)(1, "thead")(2, "tr")(3, "th");
789
+ i0.ɵɵtext(4, "Member");
790
+ i0.ɵɵelementEnd();
791
+ i0.ɵɵconditionalCreate(5, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_Conditional_5_Template, 2, 0, "th");
792
+ i0.ɵɵelementStart(6, "th");
793
+ i0.ɵɵtext(7, "Description");
794
+ i0.ɵɵelementEnd()()();
795
+ i0.ɵɵelementStart(8, "tbody");
796
+ i0.ɵɵrepeaterCreate(9, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_For_10_Template, 7, 3, "tr", null, _forTrack2);
797
+ i0.ɵɵelementEnd()();
798
+ } if (rf & 2) {
799
+ const type_r35 = i0.ɵɵnextContext().$implicit;
800
+ const ctx_r2 = i0.ɵɵnextContext(2);
801
+ i0.ɵɵadvance(5);
802
+ i0.ɵɵconditional(ctx_r2.hasValues(type_r35) ? 5 : -1);
803
+ i0.ɵɵadvance(4);
804
+ i0.ɵɵrepeater(type_r35.members);
805
+ } }
806
+ function JsDocServicePageComponent_Conditional_38_For_6_Template(rf, ctx) { if (rf & 1) {
807
+ i0.ɵɵdeclareLet(0)(1);
808
+ i0.ɵɵelementStart(2, "div", 60)(3, "div", 61)(4, "span", 62);
809
+ i0.ɵɵtext(5);
810
+ i0.ɵɵelementEnd();
811
+ i0.ɵɵelementStart(6, "span", 63);
812
+ i0.ɵɵtext(7);
813
+ i0.ɵɵelementEnd();
814
+ i0.ɵɵconditionalCreate(8, JsDocServicePageComponent_Conditional_38_For_6_Conditional_8_Template, 2, 0, "span", 38);
815
+ i0.ɵɵconditionalCreate(9, JsDocServicePageComponent_Conditional_38_For_6_Conditional_9_Template, 5, 3, "span", 64);
816
+ i0.ɵɵelementEnd();
817
+ i0.ɵɵconditionalCreate(10, JsDocServicePageComponent_Conditional_38_For_6_Conditional_10_Template, 1, 1, "div", 51);
818
+ i0.ɵɵconditionalCreate(11, JsDocServicePageComponent_Conditional_38_For_6_Conditional_11_Template, 2, 4, "div", 65);
819
+ i0.ɵɵconditionalCreate(12, JsDocServicePageComponent_Conditional_38_For_6_Conditional_12_Template, 1, 6, "ng-container");
820
+ i0.ɵɵconditionalCreate(13, JsDocServicePageComponent_Conditional_38_For_6_Conditional_13_Template, 1, 5, "ng-container");
821
+ i0.ɵɵconditionalCreate(14, JsDocServicePageComponent_Conditional_38_For_6_Conditional_14_Template, 3, 0, "p", 66);
822
+ i0.ɵɵconditionalCreate(15, JsDocServicePageComponent_Conditional_38_For_6_Conditional_15_Template, 3, 1, "p", 67);
823
+ i0.ɵɵconditionalCreate(16, JsDocServicePageComponent_Conditional_38_For_6_Conditional_16_Template, 11, 1, "table", 33);
824
+ i0.ɵɵelementEnd();
825
+ } if (rf & 2) {
826
+ let tmp_26_0;
827
+ let tmp_27_0;
828
+ const type_r35 = ctx.$implicit;
829
+ const ctx_r2 = i0.ɵɵnextContext(2);
830
+ const anchor_r42 = ctx_r2.typeAnchor(type_r35.id);
831
+ const properties_r43 = i0.ɵɵstoreLet(type_r35.properties ?? i0.ɵɵpureFunction0(16, _c2));
832
+ i0.ɵɵadvance();
833
+ const methods_r44 = i0.ɵɵstoreLet(type_r35.methods ?? i0.ɵɵpureFunction0(17, _c2));
834
+ i0.ɵɵadvance();
835
+ i0.ɵɵclassProp("prism-jsdoc-service-page__type--highlighted", ctx_r2.highlightedId() === anchor_r42);
836
+ i0.ɵɵattribute("data-toc-id", anchor_r42);
837
+ i0.ɵɵadvance(3);
838
+ i0.ɵɵtextInterpolate(type_r35.name);
839
+ i0.ɵɵadvance(2);
840
+ i0.ɵɵtextInterpolate(type_r35.kind);
841
+ i0.ɵɵadvance();
842
+ i0.ɵɵconditional(ctx_r2.isDeprecated(type_r35.tags) ? 8 : -1);
843
+ i0.ɵɵadvance();
844
+ i0.ɵɵconditional((tmp_26_0 = type_r35.reachedFrom) ? 9 : -1, tmp_26_0);
845
+ i0.ɵɵadvance();
846
+ i0.ɵɵconditional((tmp_27_0 = ctx_r2.renderBlock(type_r35.description)) ? 10 : -1, tmp_27_0);
847
+ i0.ɵɵadvance();
848
+ i0.ɵɵconditional(type_r35.tags.see?.length ? 11 : -1);
849
+ i0.ɵɵadvance();
850
+ i0.ɵɵconditional(properties_r43.length ? 12 : -1);
851
+ i0.ɵɵadvance();
852
+ i0.ɵɵconditional(methods_r44.length ? 13 : -1);
853
+ i0.ɵɵadvance();
854
+ i0.ɵɵconditional(type_r35.union?.length ? 14 : -1);
855
+ i0.ɵɵadvance();
856
+ i0.ɵɵconditional(type_r35.text ? 15 : -1);
857
+ i0.ɵɵadvance();
858
+ i0.ɵɵconditional(type_r35.members?.length ? 16 : -1);
859
+ } }
860
+ function JsDocServicePageComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
861
+ i0.ɵɵelementStart(0, "section", 12)(1, "h3", 58);
862
+ i0.ɵɵtext(2, " Types ");
863
+ i0.ɵɵelementStart(3, "small", 14);
864
+ i0.ɵɵtext(4, "reached from the signatures above");
865
+ i0.ɵɵelementEnd()();
866
+ i0.ɵɵrepeaterCreate(5, JsDocServicePageComponent_Conditional_38_For_6_Template, 17, 18, "div", 59, _forTrack1);
867
+ i0.ɵɵelementEnd();
868
+ } if (rf & 2) {
869
+ const ctx_r2 = i0.ɵɵnextContext();
870
+ i0.ɵɵadvance(5);
871
+ i0.ɵɵrepeater(ctx_r2.page().types);
872
+ } }
873
+ function JsDocServicePageComponent_For_43_Template(rf, ctx) { if (rf & 1) {
874
+ const _r45 = i0.ɵɵgetCurrentView();
875
+ i0.ɵɵelementStart(0, "button", 69);
876
+ i0.ɵɵlistener("click", function JsDocServicePageComponent_For_43_Template_button_click_0_listener() { const entry_r46 = i0.ɵɵrestoreView(_r45).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.goTo(entry_r46.id)); });
877
+ i0.ɵɵtext(1);
878
+ i0.ɵɵelementEnd();
879
+ } if (rf & 2) {
880
+ const entry_r46 = ctx.$implicit;
881
+ const ctx_r2 = i0.ɵɵnextContext();
882
+ i0.ɵɵclassProp("prism-jsdoc-service-page__toc-link--sub", entry_r46.level === 2)("prism-jsdoc-service-page__toc-link--active", ctx_r2.activeId() === entry_r46.id);
883
+ i0.ɵɵproperty("title", entry_r46.label);
884
+ i0.ɵɵattribute("aria-current", ctx_r2.activeId() === entry_r46.id ? "location" : null);
885
+ i0.ɵɵadvance();
886
+ i0.ɵɵtextInterpolate1(" ", entry_r46.label, " ");
887
+ } }
888
+ /** How far below the top of the scroll container a section lands when the page jumps to it. */
889
+ const SCROLL_OFFSET = 12;
890
+ /** How long a type card stays highlighted after a link jumped to it. */
891
+ const HIGHLIGHT_MS = 1600;
892
+ /** Without `scrollend`, a jump counts as over once its smooth scroll has been quiet for this long. */
893
+ const JUMP_SETTLE_MS = 150;
894
+ /** What the reader does to scroll by hand; any of it ends a jump. */
895
+ const READER_INPUT = ['wheel', 'touchstart', 'keydown', 'pointerdown'];
896
+ /**
897
+ * The API page of a service or a pipe: what it is, how to bring it in, what it
898
+ * offers and the types its API reaches, with an "On this page" list next to
899
+ * it. It renders an `ApiPageModel`, so both kinds share one look.
900
+ *
901
+ * The host is the scroll container (the panel stylesheet gives it `overflow:
902
+ * auto`), so every jump scrolls it, never the window or the shell around it.
903
+ *
904
+ * It also carries a render marker, the class name of what it shows:
905
+ * `data-prism-service-rendered` on a service page, `data-prism-pipe-rendered`
906
+ * on a pipe page, the other one absent. Host bindings update in the same pass
907
+ * as the template, so the marker names a class only once its page is in the
908
+ * DOM, which is what an outside tool such as the showcase skill's screenshot
909
+ * script waits for.
910
+ */
911
+ export class JsDocServicePageComponent {
912
+ page = input.required(/* @ts-ignore */
913
+ ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
914
+ sanitizer = inject(DomSanitizer);
915
+ host = inject(ElementRef).nativeElement;
916
+ /** Kind and class name, not the page object: a manifest update during `serve` hands over a new page for the same class. */
917
+ kind = computed(() => this.page().kind, /* @ts-ignore */
918
+ ...(ngDevMode ? [{ debugName: "kind" }] : /* istanbul ignore next */ []));
919
+ className = computed(() => this.page().className, /* @ts-ignore */
920
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
921
+ serviceProperties = computed(() => this.page().properties ?? [], /* @ts-ignore */
922
+ ...(ngDevMode ? [{ debugName: "serviceProperties" }] : /* istanbul ignore next */ []));
923
+ serviceMethods = computed(() => this.page().methods ?? [], /* @ts-ignore */
924
+ ...(ngDevMode ? [{ debugName: "serviceMethods" }] : /* istanbul ignore next */ []));
925
+ transformSignatures = computed(() => this.page().transform ?? [], /* @ts-ignore */
926
+ ...(ngDevMode ? [{ debugName: "transformSignatures" }] : /* istanbul ignore next */ []));
927
+ toc = computed(() => buildApiPageToc(this.page()), /* @ts-ignore */
928
+ ...(ngDevMode ? [{ debugName: "toc" }] : /* istanbul ignore next */ []));
929
+ renderedDescription = computed(() => this.renderBlock(this.page().description), /* @ts-ignore */
930
+ ...(ngDevMode ? [{ debugName: "renderedDescription" }] : /* istanbul ignore next */ []));
931
+ activeId = signal('usage', /* @ts-ignore */
932
+ ...(ngDevMode ? [{ debugName: "activeId" }] : /* istanbul ignore next */ []));
933
+ highlightedId = signal(null, /* @ts-ignore */
934
+ ...(ngDevMode ? [{ debugName: "highlightedId" }] : /* istanbul ignore next */ []));
935
+ copied = signal(false, /* @ts-ignore */
936
+ ...(ngDevMode ? [{ debugName: "copied" }] : /* istanbul ignore next */ []));
937
+ // The template re-renders whenever the active TOC entry changes. Cached per
938
+ // object or text, these hand it the same values again, so nothing below
939
+ // the bindings is rebuilt and no `innerHTML` is written twice.
940
+ segmentsOf = memoize(typeSegments);
941
+ declaredParamSegmentsOf = memoize(declaredParamSegments);
942
+ signatureOf = memoize(setupSignature);
943
+ documentsParams = documentsParams;
944
+ splitReachedFrom = splitReachedFrom;
945
+ typeAnchor = typeAnchor;
946
+ blockHtml = new Map();
947
+ inlineHtml = new Map();
948
+ /**
949
+ * The entry the reader jumped to, until the jump is over: the smooth scroll
950
+ * passes other sections on its way, and one near the bottom of the page is
951
+ * never scrolled up to the activation line.
952
+ */
953
+ jumpTarget = null;
954
+ spyFrame = 0;
955
+ jumpTimer;
956
+ highlightTimer;
957
+ copiedTimer;
958
+ constructor() {
959
+ // The panel keeps this instance when the reader moves to another
960
+ // service or pipe, so the page starts over at the top for the new one.
961
+ effect(() => {
962
+ this.kind();
963
+ this.className();
964
+ untracked(() => {
965
+ this.endJump();
966
+ this.host.scrollTo({ top: 0, behavior: 'instant' });
967
+ this.activeId.set('usage');
968
+ this.highlightedId.set(null);
969
+ });
970
+ });
971
+ // Outside the zone: a scroll event alone changes nothing on screen.
972
+ // Only a different active entry does, and that is a signal write.
973
+ const onScroll = () => this.onScroll();
974
+ const endJump = () => this.endJump();
975
+ inject(NgZone).runOutsideAngular(() => {
976
+ this.host.addEventListener('scroll', onScroll, { passive: true });
977
+ this.host.addEventListener('scrollend', endJump);
978
+ for (const type of READER_INPUT)
979
+ this.host.addEventListener(type, endJump, { passive: true });
980
+ });
981
+ inject(DestroyRef).onDestroy(() => {
982
+ this.host.removeEventListener('scroll', onScroll);
983
+ this.host.removeEventListener('scrollend', endJump);
984
+ for (const type of READER_INPUT)
985
+ this.host.removeEventListener(type, endJump);
986
+ cancelAnimationFrame(this.spyFrame);
987
+ clearTimeout(this.jumpTimer);
988
+ clearTimeout(this.highlightTimer);
989
+ clearTimeout(this.copiedTimer);
990
+ });
991
+ }
992
+ /** Scroll to a section or a type card; a type card lights up briefly so the eye finds it. */
993
+ goTo(id) {
994
+ const target = this.anchors().find((anchor) => anchor.dataset['tocId'] === id);
995
+ if (!target)
996
+ return;
997
+ this.activeId.set(id);
998
+ this.jumpTarget = id;
999
+ this.host.scrollTo({ top: this.offsetOf(target) - SCROLL_OFFSET });
1000
+ if (!id.startsWith('type-'))
1001
+ return;
1002
+ this.highlightedId.set(id);
1003
+ clearTimeout(this.highlightTimer);
1004
+ this.highlightTimer = setTimeout(() => this.highlightedId.set(null), HIGHLIGHT_MS);
1005
+ }
1006
+ copyUsage() {
1007
+ navigator.clipboard
1008
+ ?.writeText(this.page().usage)
1009
+ .then(() => {
1010
+ this.copied.set(true);
1011
+ clearTimeout(this.copiedTimer);
1012
+ this.copiedTimer = setTimeout(() => this.copied.set(false), 1500);
1013
+ })
1014
+ .catch(() => undefined);
1015
+ }
1016
+ isDeprecated(tags) {
1017
+ return !!tags.deprecated;
1018
+ }
1019
+ deprecatedMessage(tags) {
1020
+ return typeof tags.deprecated === 'string' ? tags.deprecated : undefined;
1021
+ }
1022
+ // Source is library-author JSDoc compiled into the manifest at build time,
1023
+ // not user input, so bypassing sanitization is safe here.
1024
+ renderBlock(text) {
1025
+ if (!text)
1026
+ return null;
1027
+ if (!this.blockHtml.has(text))
1028
+ this.blockHtml.set(text, this.sanitizer.bypassSecurityTrustHtml(renderBlockMarkdown(text) ?? ''));
1029
+ return this.blockHtml.get(text);
1030
+ }
1031
+ renderInline(text) {
1032
+ if (!this.inlineHtml.has(text))
1033
+ this.inlineHtml.set(text, this.sanitizer.bypassSecurityTrustHtml(renderInlineMarkdown(text)));
1034
+ return this.inlineHtml.get(text);
1035
+ }
1036
+ parseExample(raw) {
1037
+ return parseExample(raw);
1038
+ }
1039
+ /** An interface or object type says what may be left out; a class property has nothing to require. */
1040
+ isRequired(property, owner) {
1041
+ return owner?.kind !== 'class' && !property.optional;
1042
+ }
1043
+ hasDefaults(properties) {
1044
+ return properties.some((property) => property.tags.default !== undefined);
1045
+ }
1046
+ hasParams(methods) {
1047
+ return methods.some((method) => method.params.length > 0);
1048
+ }
1049
+ hasValues(type) {
1050
+ return !!type.members?.some((member) => member.value !== undefined);
1051
+ }
1052
+ onScroll() {
1053
+ if (this.jumpTarget && !('onscrollend' in this.host)) {
1054
+ clearTimeout(this.jumpTimer);
1055
+ this.jumpTimer = setTimeout(() => this.endJump(), JUMP_SETTLE_MS);
1056
+ }
1057
+ if (this.spyFrame)
1058
+ return;
1059
+ this.spyFrame = requestAnimationFrame(() => {
1060
+ this.spyFrame = 0;
1061
+ this.activeId.set(this.sectionInView());
1062
+ });
1063
+ }
1064
+ /**
1065
+ * The jump is over: from here on the scroll position decides. The entry
1066
+ * stays as it is until the next scroll moves the page, so a frame still
1067
+ * pending from the jump is dropped rather than allowed to overrule it.
1068
+ */
1069
+ endJump() {
1070
+ if (!this.jumpTarget)
1071
+ return;
1072
+ this.jumpTarget = null;
1073
+ clearTimeout(this.jumpTimer);
1074
+ cancelAnimationFrame(this.spyFrame);
1075
+ this.spyFrame = 0;
1076
+ }
1077
+ anchors() {
1078
+ return [...this.host.querySelectorAll('[data-toc-id]')];
1079
+ }
1080
+ offsetOf(element) {
1081
+ return element.getBoundingClientRect().top - this.host.getBoundingClientRect().top + this.host.scrollTop;
1082
+ }
1083
+ sectionInView() {
1084
+ const { scrollTop, clientHeight, scrollHeight } = this.host;
1085
+ return activeTocId({
1086
+ anchors: this.anchors().map((anchor) => ({ id: anchor.dataset['tocId'], top: this.offsetOf(anchor) })),
1087
+ scrollTop,
1088
+ clientHeight,
1089
+ scrollHeight,
1090
+ jumpTarget: this.jumpTarget
1091
+ });
1092
+ }
1093
+ static ɵfac = function JsDocServicePageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JsDocServicePageComponent)(); };
1094
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JsDocServicePageComponent, selectors: [["prism-jsdoc-service-page"]], hostVars: 2, hostBindings: function JsDocServicePageComponent_HostBindings(rf, ctx) { if (rf & 2) {
1095
+ i0.ɵɵattribute("data-prism-service-rendered", ctx.kind() === "service" ? ctx.className() : null)("data-prism-pipe-rendered", ctx.kind() === "pipe" ? ctx.className() : null);
1096
+ } }, inputs: { page: [1, "page"] }, decls: 44, vars: 15, consts: [["typeText", ""], ["docCell", ""], ["paramList", ""], ["seeChips", ""], ["propertyTable", ""], ["methodTable", ""], ["exampleList", ""], [1, "prism-jsdoc-service-page"], [1, "prism-jsdoc-service-page__content"], [1, "prism-jsdoc-panel__description", 3, "innerHTML"], [1, "prism-jsdoc-panel__meta"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "prism-jsdoc-panel__section"], ["data-toc-id", "usage", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], [1, "prism-jsdoc-service-page__heading-note"], [1, "prism-jsdoc-service-page__usage"], [1, "prism-jsdoc-panel__code"], ["language", "typescript", 3, "highlight"], ["type", "button", 1, "prism-jsdoc-service-page__copy", 3, "click", "title"], ["viewBox", "0 0 24 24", "aria-hidden", "true"], ["d", "M20 6 9 17l-5-5"], ["aria-label", "On this page", 1, "prism-jsdoc-service-page__toc"], [1, "prism-jsdoc-service-page__toc-title"], ["type", "button", 1, "prism-jsdoc-service-page__toc-link", 3, "prism-jsdoc-service-page__toc-link--sub", "prism-jsdoc-service-page__toc-link--active", "title"], ["type", "button", 1, "prism-jsdoc-service-page__ref"], ["type", "button", 1, "prism-jsdoc-service-page__ref", 3, "click"], [3, "innerHTML"], [1, "prism-jsdoc-panel__since-sep"], [1, "prism-jsdoc-panel__since"], [1, "prism-jsdoc-service-page__param"], [1, "prism-jsdoc-service-page__param-doc", 3, "innerHTML"], [1, "prism-jsdoc-panel__meta-item"], [1, "prism-jsdoc-panel__meta-label"], [1, "prism-jsdoc-panel__table", "prism-jsdoc-service-page__table"], [3, "prism-jsdoc-panel__row--deprecated"], [1, "prism-jsdoc-panel__cell--name"], [1, "prism-jsdoc-panel__badge", "prism-jsdoc-panel__badge--required", "prism-jsdoc-panel__badge--small"], [1, "prism-jsdoc-panel__badge", "prism-jsdoc-panel__badge--small", "prism-jsdoc-service-page__readonly"], [1, "prism-jsdoc-panel__badge", "prism-jsdoc-panel__badge--deprecated", "prism-jsdoc-panel__badge--small"], [1, "prism-jsdoc-panel__cell--type"], [1, "prism-jsdoc-panel__cell--default", "prism-jsdoc-service-page__default"], [1, "prism-jsdoc-panel__cell--doc"], [1, "prism-jsdoc-panel__muted"], [3, "highlight", "language"], [1, "prism-jsdoc-panel__badge", "prism-jsdoc-panel__badge--deprecated"], ["x", "9", "y", "9", "width", "13", "height", "13", "rx", "2"], ["d", "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"], ["data-toc-id", "setup", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], [1, "prism-jsdoc-service-page__setup"], [1, "prism-jsdoc-service-page__sig"], [1, "prism-jsdoc-service-page__fn"], [1, "prism-jsdoc-panel__description", "prism-jsdoc-service-page__lead", 3, "innerHTML"], [1, "prism-jsdoc-service-page__params"], ["data-toc-id", "examples", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], ["data-toc-id", "properties", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], [1, "prism-jsdoc-panel__cell--default"], ["data-toc-id", "methods", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], ["data-toc-id", "transform", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], ["data-toc-id", "types", 1, "prism-jsdoc-panel__heading", "prism-jsdoc-service-page__heading"], [1, "prism-jsdoc-service-page__type", 3, "prism-jsdoc-service-page__type--highlighted"], [1, "prism-jsdoc-service-page__type"], [1, "prism-jsdoc-service-page__type-head"], [1, "prism-jsdoc-service-page__type-name"], [1, "prism-jsdoc-service-page__kind"], [1, "prism-jsdoc-service-page__reached"], [1, "prism-jsdoc-panel__meta", "prism-jsdoc-service-page__type-meta"], [1, "prism-jsdoc-service-page__union"], [1, "prism-jsdoc-service-page__alias"], [1, "prism-jsdoc-service-page__union-bar"], ["type", "button", 1, "prism-jsdoc-service-page__toc-link", 3, "click", "title"]], template: function JsDocServicePageComponent_Template(rf, ctx) { if (rf & 1) {
1097
+ i0.ɵɵtemplate(0, JsDocServicePageComponent_ng_template_0_Template, 2, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(2, JsDocServicePageComponent_ng_template_2_Template, 2, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(4, JsDocServicePageComponent_ng_template_4_Template, 2, 0, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(6, JsDocServicePageComponent_ng_template_6_Template, 2, 0, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(8, JsDocServicePageComponent_ng_template_8_Template, 13, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(10, JsDocServicePageComponent_ng_template_10_Template, 13, 2, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor)(12, JsDocServicePageComponent_ng_template_12_Template, 2, 0, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
1098
+ i0.ɵɵelementStart(14, "div", 7)(15, "div", 8);
1099
+ i0.ɵɵconditionalCreate(16, JsDocServicePageComponent_Conditional_16_Template, 1, 1, "div", 9);
1100
+ i0.ɵɵelementStart(17, "div", 10);
1101
+ i0.ɵɵrepeaterCreate(18, JsDocServicePageComponent_For_19_Template, 3, 1, null, null, _forTrack0);
1102
+ i0.ɵɵtemplate(20, JsDocServicePageComponent_ng_container_20_Template, 1, 0, "ng-container", 11);
1103
+ i0.ɵɵelementEnd();
1104
+ i0.ɵɵelementStart(21, "section", 12)(22, "h3", 13);
1105
+ i0.ɵɵtext(23, " Usage ");
1106
+ i0.ɵɵelementStart(24, "small", 14);
1107
+ i0.ɵɵtext(25, "generated");
1108
+ i0.ɵɵelementEnd()();
1109
+ i0.ɵɵelementStart(26, "div", 15)(27, "pre", 16);
1110
+ i0.ɵɵelement(28, "code", 17);
1111
+ i0.ɵɵelementEnd();
1112
+ i0.ɵɵelementStart(29, "button", 18);
1113
+ i0.ɵɵlistener("click", function JsDocServicePageComponent_Template_button_click_29_listener() { return ctx.copyUsage(); });
1114
+ i0.ɵɵnamespaceSVG();
1115
+ i0.ɵɵelementStart(30, "svg", 19);
1116
+ i0.ɵɵconditionalCreate(31, JsDocServicePageComponent_Conditional_31_Template, 1, 0, ":svg:path", 20)(32, JsDocServicePageComponent_Conditional_32_Template, 2, 0);
1117
+ i0.ɵɵelementEnd()()()();
1118
+ i0.ɵɵconditionalCreate(33, JsDocServicePageComponent_Conditional_33_Template, 5, 0, "section", 12);
1119
+ i0.ɵɵconditionalCreate(34, JsDocServicePageComponent_Conditional_34_Template, 6, 4, "section", 12);
1120
+ i0.ɵɵconditionalCreate(35, JsDocServicePageComponent_Conditional_35_Template, 17, 0, "section", 12);
1121
+ i0.ɵɵconditionalCreate(36, JsDocServicePageComponent_Conditional_36_Template, 4, 4, "section", 12);
1122
+ i0.ɵɵconditionalCreate(37, JsDocServicePageComponent_Conditional_37_Template, 4, 4, "section", 12);
1123
+ i0.ɵɵconditionalCreate(38, JsDocServicePageComponent_Conditional_38_Template, 7, 0, "section", 12);
1124
+ i0.ɵɵelementEnd();
1125
+ i0.ɵɵnamespaceHTML();
1126
+ i0.ɵɵelementStart(39, "nav", 21)(40, "div", 22);
1127
+ i0.ɵɵtext(41, "On this page");
1128
+ i0.ɵɵelementEnd();
1129
+ i0.ɵɵrepeaterCreate(42, JsDocServicePageComponent_For_43_Template, 2, 7, "button", 23, _forTrack1);
1130
+ i0.ɵɵelementEnd()();
1131
+ } if (rf & 2) {
1132
+ let tmp_7_0;
1133
+ const seeChips_r36 = i0.ɵɵreference(7);
1134
+ i0.ɵɵadvance(16);
1135
+ i0.ɵɵconditional((tmp_7_0 = ctx.renderedDescription()) ? 16 : -1, tmp_7_0);
1136
+ i0.ɵɵadvance(2);
1137
+ i0.ɵɵrepeater(ctx.page().chips);
1138
+ i0.ɵɵadvance(2);
1139
+ i0.ɵɵproperty("ngTemplateOutlet", seeChips_r36)("ngTemplateOutletContext", i0.ɵɵpureFunction1(13, _c0, ctx.page().see));
1140
+ i0.ɵɵadvance(8);
1141
+ i0.ɵɵproperty("highlight", ctx.page().usage);
1142
+ i0.ɵɵadvance();
1143
+ i0.ɵɵproperty("title", ctx.copied() ? "Copied" : "Copy usage");
1144
+ i0.ɵɵattribute("aria-label", ctx.copied() ? "Copied" : "Copy usage");
1145
+ i0.ɵɵadvance(2);
1146
+ i0.ɵɵconditional(ctx.copied() ? 31 : 32);
1147
+ i0.ɵɵadvance(2);
1148
+ i0.ɵɵconditional(ctx.page().setup.length ? 33 : -1);
1149
+ i0.ɵɵadvance();
1150
+ i0.ɵɵconditional(ctx.page().examples.length ? 34 : -1);
1151
+ i0.ɵɵadvance();
1152
+ i0.ɵɵconditional(ctx.serviceProperties().length ? 35 : -1);
1153
+ i0.ɵɵadvance();
1154
+ i0.ɵɵconditional(ctx.serviceMethods().length ? 36 : -1);
1155
+ i0.ɵɵadvance();
1156
+ i0.ɵɵconditional(ctx.transformSignatures().length ? 37 : -1);
1157
+ i0.ɵɵadvance();
1158
+ i0.ɵɵconditional(ctx.page().types.length ? 38 : -1);
1159
+ i0.ɵɵadvance(4);
1160
+ i0.ɵɵrepeater(ctx.toc());
1161
+ } }, dependencies: [Highlight, NgTemplateOutlet], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n.prism-jsdoc-panel[_ngcontent-%COMP%] {\n max-width: 880px;\n padding: 20px 24px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-panel__empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-jsdoc-panel__description[_ngcontent-%COMP%] {\n margin: 0 0 18px;\n font-size: 14px;\n line-height: 1.7;\n color: var(--%NS%prism-text-2);\n}\n\n.prism-jsdoc-panel__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 18px;\n}\n\n.prism-jsdoc-panel__meta-item[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n padding: 3px 9px;\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-text-2);\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 4px;\n}\n\n.prism-jsdoc-panel__meta-label[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-weight: 500;\n color: var(--%NS%prism-primary);\n}\n\n.prism-jsdoc-panel__badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 10px;\n}\n\n.prism-jsdoc-panel__badge--deprecated[_ngcontent-%COMP%] {\n color: var(--%NS%prism-warn);\n background: color-mix(in srgb, var(--%NS%prism-warn) 15%, transparent);\n}\n\n.prism-jsdoc-panel__badge--required[_ngcontent-%COMP%] {\n margin-left: 4px;\n font-weight: 700;\n color: var(--%NS%prism-accent);\n}\n\n.prism-jsdoc-panel__badge--small[_ngcontent-%COMP%] {\n padding: 1px 5px;\n margin-left: 4px;\n font-size: 10px;\n}\n\n.prism-jsdoc-panel__section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.prism-jsdoc-panel__heading[_ngcontent-%COMP%] {\n margin: 22px 0 10px;\n font-size: 11px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-jsdoc-panel__code[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0 0 8px;\n overflow: auto;\n background: var(--%NS%prism-bg-surface);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 8px;\n}\n\n.prism-jsdoc-panel__code[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n display: block;\n padding: 8px 12px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n line-height: 1.5;\n color: var(--%NS%prism-text-2);\n background: transparent !important;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs {\n color: var(--%NS%prism-text-2);\n background: transparent;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-tag, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-name, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-selector-tag, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-keyword, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-title, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-title.function_, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-built_in, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-type {\n color: var(--%NS%prism-code-tag);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-attr, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-attribute, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-property, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-variable, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-template-variable, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-params {\n color: var(--%NS%prism-code-attr);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-string, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-doctag, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-regexp, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-symbol, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-number, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-literal {\n color: var(--%NS%prism-code-str);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-comment, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-quote, \n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-meta {\n font-style: italic;\n color: var(--%NS%prism-code-com);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-deletion {\n color: var(--%NS%prism-danger);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-addition {\n color: var(--%NS%prism-success);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-emphasis {\n font-style: italic;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__code .hljs-strong {\n font-weight: 700;\n}\n\n.prism-jsdoc-panel__table[_ngcontent-%COMP%] {\n width: 100%;\n overflow: hidden;\n font-size: var(--%NS%fs-md);\n border-collapse: collapse;\n border: 1px solid var(--%NS%prism-border);\n border-radius: 8px;\n}\n\n.prism-jsdoc-panel__table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 8px 12px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n background: var(--%NS%prism-bg-surface);\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.prism-jsdoc-panel__table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 12px;\n vertical-align: top;\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.prism-jsdoc-panel__table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.prism-jsdoc-panel__row--deprecated[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n opacity: 0.6;\n}\n\n.prism-jsdoc-panel__cell--name[_ngcontent-%COMP%] code[_ngcontent-%COMP%], \n.prism-jsdoc-panel__cell--type[_ngcontent-%COMP%] code[_ngcontent-%COMP%], \n.prism-jsdoc-panel__cell--default[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-primary);\n background: color-mix(in srgb, var(--%NS%prism-primary) 8%, transparent);\n border-radius: var(--%NS%radius-xs);\n}\n\n.prism-jsdoc-panel__muted[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-jsdoc-panel__cell--doc[_ngcontent-%COMP%] {\n line-height: 1.4;\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-panel__since-sep[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-jsdoc-panel__since[_ngcontent-%COMP%] {\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-text-muted);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description :first-child {\n margin-top: 0;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description :last-child {\n margin-bottom: 0;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description p {\n margin: 0 0 8px;\n line-height: 1.7;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description h1, \n[_nghost-%COMP%] .prism-jsdoc-panel__description h2, \n[_nghost-%COMP%] .prism-jsdoc-panel__description h3 {\n margin: 18px 0 8px;\n font-weight: 600;\n line-height: 1.3;\n color: var(--%NS%prism-text);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description h1 {\n font-size: 18px;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description h2 {\n font-size: 15px;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description h3 {\n font-size: 11px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description ul, \n[_nghost-%COMP%] .prism-jsdoc-panel__description ol {\n padding-left: 20px;\n margin: 0 0 8px;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description li {\n margin: 2px 0;\n line-height: 1.6;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description a {\n color: var(--%NS%prism-primary);\n text-decoration: none;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description a:hover {\n text-decoration: underline;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description strong {\n font-weight: 600;\n color: var(--%NS%prism-text);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description code, \n[_nghost-%COMP%] .prism-jsdoc-panel__cell--doc code {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-primary);\n background: color-mix(in srgb, var(--%NS%prism-primary) 8%, transparent);\n border-radius: var(--%NS%radius-xs);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description pre {\n padding: 0;\n margin: 0 0 8px;\n overflow: auto;\n background: var(--%NS%prism-bg-surface);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 8px;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description pre code {\n display: block;\n padding: 8px 12px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n line-height: 1.5;\n color: var(--%NS%prism-text);\n background: none;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-panel__description blockquote {\n padding: 4px 12px;\n margin: 0 0 8px;\n color: var(--%NS%prism-text-2);\n border-left: 3px solid var(--%NS%prism-border);\n}", "\n\n\n\n\n[_nghost-%COMP%] {\n container-type: inline-size;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n [_nghost-%COMP%] {\n scroll-behavior: smooth;\n }\n}\n\n.prism-jsdoc-service-page[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(0, 880px) 200px;\n gap: 32px;\n align-items: start;\n padding: 20px 24px 60px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-service-page__heading[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.prism-jsdoc-service-page__heading-note[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n text-transform: none;\n letter-spacing: 0.02em;\n}\n\n\n\n.prism-jsdoc-service-page__usage[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.prism-jsdoc-service-page__usage[_ngcontent-%COMP%] .prism-jsdoc-panel__code[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n padding: 10px 40px 10px 12px;\n line-height: 1.6;\n}\n\n.prism-jsdoc-service-page__copy[_ngcontent-%COMP%] {\n position: absolute;\n top: 6px;\n right: 6px;\n display: grid;\n place-items: center;\n width: 24px;\n height: 24px;\n padding: 0;\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 5px;\n}\n\n.prism-jsdoc-service-page__copy[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-service-page__copy[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n width: 12px;\n height: 12px;\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n\n\n.prism-jsdoc-service-page__setup[_ngcontent-%COMP%] + .prism-jsdoc-service-page__setup[_ngcontent-%COMP%] {\n margin-top: 16px;\n}\n\n.prism-jsdoc-service-page__sig[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n padding: 8px 12px;\n margin: 0 0 8px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-surface);\n border: 1px solid var(--%NS%prism-border);\n border-left: 2px solid var(--%NS%prism-primary);\n border-radius: 8px;\n}\n\n.prism-jsdoc-service-page__sig[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n font-family: inherit;\n}\n\n.prism-jsdoc-service-page__fn[_ngcontent-%COMP%] {\n color: var(--%NS%prism-code-tag);\n}\n\n\n\n\n\n.prism-jsdoc-service-page__lead[_ngcontent-%COMP%] {\n margin: 0 0 10px;\n font-size: var(--%NS%fs-md);\n line-height: 1.6;\n}\n\n[_nghost-%COMP%] .prism-jsdoc-service-page__lead p {\n line-height: 1.6;\n}\n\n.prism-jsdoc-service-page__table[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n}\n\n\n.prism-jsdoc-service-page__readonly[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n}\n\n\n.prism-jsdoc-service-page__default[_ngcontent-%COMP%] {\n white-space: nowrap;\n}\n\n\n\n.prism-jsdoc-service-page__param[_ngcontent-%COMP%] + .prism-jsdoc-service-page__param[_ngcontent-%COMP%] {\n margin-top: 6px;\n}\n\n.prism-jsdoc-service-page__param-doc[_ngcontent-%COMP%] {\n margin-top: 3px;\n font-size: var(--%NS%fs-sm);\n line-height: 1.45;\n color: var(--%NS%prism-text-muted);\n}\n\n[_nghost-%COMP%] .prism-jsdoc-service-page__param-doc code {\n font-family: var(--%NS%font-mono);\n font-size: 0.95em;\n color: var(--%NS%prism-text-2);\n}\n\n\n.prism-jsdoc-service-page__params[_ngcontent-%COMP%] {\n margin: 0 0 10px;\n}\n\n.prism-jsdoc-service-page__params[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-primary);\n background: color-mix(in srgb, var(--%NS%prism-primary) 8%, transparent);\n border-radius: var(--%NS%radius-xs);\n}\n\n\n\n.prism-jsdoc-service-page__ref[_ngcontent-%COMP%] {\n padding: 0;\n font: inherit;\n color: inherit;\n text-decoration: underline dotted color-mix(in srgb, var(--%NS%prism-primary) 70%, transparent);\n text-underline-offset: 3px;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.prism-jsdoc-service-page__ref[_ngcontent-%COMP%]:hover {\n text-decoration-style: solid;\n}\n\n\n\n.prism-jsdoc-service-page__type[_ngcontent-%COMP%] {\n padding: 12px 14px 6px;\n margin-bottom: 12px;\n background: color-mix(in srgb, var(--%NS%prism-bg-surface) 60%, transparent);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 10px;\n transition:\n border-color 0.3s var(--%NS%ease-default),\n box-shadow 0.3s var(--%NS%ease-default);\n}\n\n.prism-jsdoc-service-page__type--highlighted[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--%NS%prism-primary) 60%, transparent);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--%NS%prism-primary) 22%, transparent);\n}\n\n.prism-jsdoc-service-page__type-head[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n margin-bottom: 6px;\n}\n\n.prism-jsdoc-service-page__type-name[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 13px;\n font-weight: 500;\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-service-page__kind[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-size: 9.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: 3px;\n}\n\n.prism-jsdoc-service-page__reached[_ngcontent-%COMP%] {\n margin-left: auto;\n font-size: 11px;\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-jsdoc-service-page__reached[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 10.5px;\n color: var(--%NS%prism-text-2);\n}\n\n.prism-jsdoc-service-page__type[_ngcontent-%COMP%] .prism-jsdoc-service-page__lead[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n}\n\n.prism-jsdoc-service-page__type-meta[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n}\n\n.prism-jsdoc-service-page__union[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n column-gap: 0.6em;\n margin: 0 0 8px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n line-height: 1.7;\n color: var(--%NS%prism-code-str);\n}\n\n.prism-jsdoc-service-page__union-bar[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-ghost);\n}\n\n.prism-jsdoc-service-page__alias[_ngcontent-%COMP%] {\n margin: 0 0 8px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n line-height: 1.7;\n color: var(--%NS%prism-text-2);\n}\n\n.prism-jsdoc-service-page__alias[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n font-family: inherit;\n}\n\n\n\n.prism-jsdoc-service-page__toc[_ngcontent-%COMP%] {\n position: sticky;\n top: 20px;\n max-height: calc(100vh - 120px);\n padding-left: 14px;\n overflow-y: auto;\n font-size: 12px;\n border-left: 1px solid var(--%NS%prism-border);\n}\n\n.prism-jsdoc-service-page__toc-title[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-jsdoc-service-page__toc-link[_ngcontent-%COMP%] {\n display: block;\n width: 100%;\n padding: 3px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n color: var(--%NS%prism-text-muted);\n text-align: left;\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.prism-jsdoc-service-page__toc-link[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n}\n\n.prism-jsdoc-service-page__toc-link--active[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--%NS%prism-primary);\n}\n\n.prism-jsdoc-service-page__toc-link--sub[_ngcontent-%COMP%] {\n padding-left: 12px;\n font-family: var(--%NS%font-mono);\n font-size: 11px;\n}\n\n\n@container (max-width: 760px) {\n .prism-jsdoc-service-page[_ngcontent-%COMP%] {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .prism-jsdoc-service-page__toc[_ngcontent-%COMP%] {\n display: none;\n }\n}"] });
1162
+ }
1163
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsDocServicePageComponent, [{
1164
+ type: Component,
1165
+ args: [{ selector: 'prism-jsdoc-service-page', standalone: true, imports: [Highlight, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1166
+ '[attr.data-prism-service-rendered]': "kind() === 'service' ? className() : null",
1167
+ '[attr.data-prism-pipe-rendered]': "kind() === 'pipe' ? className() : null"
1168
+ }, template: "<!-- A type as written. Every piece sits in its own element: a bare text node\n keeps the whitespace around its interpolation, which would put spaces\n into `ToastRef[]`. -->\n<ng-template\n #typeText\n let-segments>\n @for (segment of segments; track $index) {\n @if (segment.link) {\n <button\n type=\"button\"\n class=\"prism-jsdoc-service-page__ref\"\n (click)=\"goTo(segment.link)\">\n {{ segment.text }}\n </button>\n } @else {\n <span>{{ segment.text }}</span>\n }\n }\n</ng-template>\n\n<ng-template\n #docCell\n let-description\n let-tags=\"tags\">\n @if (description) {\n <span [innerHTML]=\"renderInline(description)\"></span>\n }\n @if (tags.since; as since) {\n @if (description) {\n <span class=\"prism-jsdoc-panel__since-sep\"> \u00B7 </span>\n }\n <span class=\"prism-jsdoc-panel__since\">Since {{ since }}</span>\n }\n</ng-template>\n\n<!-- Parameters as declared, default included, each with its @param text under it. -->\n<ng-template\n #paramList\n let-params>\n @for (param of params; track param.name) {\n <div class=\"prism-jsdoc-service-page__param\">\n <code><ng-container *ngTemplateOutlet=\"typeText; context: { $implicit: declaredParamSegmentsOf(param) }\" /></code>\n @if (param.description) {\n <div\n class=\"prism-jsdoc-service-page__param-doc\"\n [innerHTML]=\"renderInline(param.description)\"></div>\n }\n </div>\n }\n</ng-template>\n\n<ng-template\n #seeChips\n let-refs>\n @for (ref of refs; track $index) {\n <span class=\"prism-jsdoc-panel__meta-item\">\n <span class=\"prism-jsdoc-panel__meta-label\">See:</span>\n {{ ref }}\n </span>\n }\n</ng-template>\n\n<ng-template\n #propertyTable\n let-properties\n let-label=\"label\"\n let-defaults=\"defaults\"\n let-owner=\"owner\">\n <table class=\"prism-jsdoc-panel__table prism-jsdoc-service-page__table\">\n <thead>\n <tr>\n <th>{{ label }}</th>\n <th>Type</th>\n @if (defaults) {\n <th>Default</th>\n }\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n @for (property of properties; track property.name) {\n <tr [class.prism-jsdoc-panel__row--deprecated]=\"isDeprecated(property.tags)\">\n <td class=\"prism-jsdoc-panel__cell--name\">\n <code>{{ property.name }}</code>\n @if (isRequired(property, owner)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--required prism-jsdoc-panel__badge--small\">required</span>\n }\n @if (property.readonly) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--small prism-jsdoc-service-page__readonly\">readonly</span>\n }\n @if (isDeprecated(property.tags)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated prism-jsdoc-panel__badge--small\">deprecated</span>\n }\n </td>\n <td class=\"prism-jsdoc-panel__cell--type\">\n <code><ng-container *ngTemplateOutlet=\"typeText; context: { $implicit: segmentsOf(property.type) }\" /></code>\n </td>\n @if (defaults) {\n <td class=\"prism-jsdoc-panel__cell--default prism-jsdoc-service-page__default\">\n @if (property.tags.default; as value) {\n <code>{{ value }}</code>\n } @else {\n <span class=\"prism-jsdoc-panel__muted\">\u2014</span>\n }\n </td>\n }\n <td class=\"prism-jsdoc-panel__cell--doc\">\n <ng-container *ngTemplateOutlet=\"docCell; context: { $implicit: property.description, tags: property.tags }\" />\n </td>\n </tr>\n }\n </tbody>\n </table>\n</ng-template>\n\n<!-- Tracked by position: the overloads of a pipe's transform share one name. -->\n<ng-template\n #methodTable\n let-methods\n let-label=\"label\"\n let-params=\"params\">\n <table class=\"prism-jsdoc-panel__table prism-jsdoc-service-page__table\">\n <thead>\n <tr>\n <th>{{ label }}</th>\n @if (params) {\n <th>Parameters</th>\n }\n <th>Returns</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n @for (method of methods; track $index) {\n <tr [class.prism-jsdoc-panel__row--deprecated]=\"isDeprecated(method.tags)\">\n <td class=\"prism-jsdoc-panel__cell--name\">\n <code>{{ method.name }}()</code>\n @if (isDeprecated(method.tags)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated prism-jsdoc-panel__badge--small\">deprecated</span>\n }\n </td>\n @if (params) {\n <td class=\"prism-jsdoc-panel__cell--type\">\n @if (method.params.length) {\n <ng-container *ngTemplateOutlet=\"paramList; context: { $implicit: method.params }\" />\n } @else {\n <span class=\"prism-jsdoc-panel__muted\">\u2014</span>\n }\n </td>\n }\n <td class=\"prism-jsdoc-panel__cell--type\">\n <code><ng-container *ngTemplateOutlet=\"typeText; context: { $implicit: segmentsOf(method.returnType) }\" /></code>\n </td>\n <td class=\"prism-jsdoc-panel__cell--doc\">\n <ng-container *ngTemplateOutlet=\"docCell; context: { $implicit: method.description, tags: method.tags }\" />\n </td>\n </tr>\n }\n </tbody>\n </table>\n</ng-template>\n\n<ng-template\n #exampleList\n let-examples>\n @for (example of examples; track $index) {\n @let parsed = parseExample(example);\n <pre class=\"prism-jsdoc-panel__code\"><code [highlight]=\"parsed.code\" [language]=\"parsed.lang\"></code></pre>\n }\n</ng-template>\n\n<div class=\"prism-jsdoc-service-page\">\n <div class=\"prism-jsdoc-service-page__content\">\n @if (renderedDescription(); as descHtml) {\n <div\n class=\"prism-jsdoc-panel__description\"\n [innerHTML]=\"descHtml\"></div>\n }\n <div class=\"prism-jsdoc-panel__meta\">\n @for (chip of page().chips; track chip.label) {\n @if (chip.deprecated) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated\"> {{ chip.label }}{{ chip.value ? ': ' + chip.value : '' }} </span>\n } @else if (chip.value) {\n <span class=\"prism-jsdoc-panel__meta-item\">\n <span class=\"prism-jsdoc-panel__meta-label\">{{ chip.label }}:</span>\n {{ chip.value }}\n </span>\n } @else {\n <span class=\"prism-jsdoc-panel__meta-item\">{{ chip.label }}</span>\n }\n }\n <ng-container *ngTemplateOutlet=\"seeChips; context: { $implicit: page().see }\" />\n </div>\n\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"usage\">\n Usage\n <small class=\"prism-jsdoc-service-page__heading-note\">generated</small>\n </h3>\n <div class=\"prism-jsdoc-service-page__usage\">\n <pre class=\"prism-jsdoc-panel__code\"><code [highlight]=\"page().usage\" language=\"typescript\"></code></pre>\n <button\n type=\"button\"\n class=\"prism-jsdoc-service-page__copy\"\n [attr.aria-label]=\"copied() ? 'Copied' : 'Copy usage'\"\n [title]=\"copied() ? 'Copied' : 'Copy usage'\"\n (click)=\"copyUsage()\">\n <svg\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n @if (copied()) {\n <path d=\"M20 6 9 17l-5-5\" />\n } @else {\n <rect\n x=\"9\"\n y=\"9\"\n width=\"13\"\n height=\"13\"\n rx=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n }\n </svg>\n </button>\n </div>\n </section>\n\n @if (page().setup.length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"setup\">\n Setup\n </h3>\n @for (entry of page().setup; track entry.name) {\n <div class=\"prism-jsdoc-service-page__setup\">\n <div class=\"prism-jsdoc-service-page__sig\">\n <code\n ><span class=\"prism-jsdoc-service-page__fn\">{{ entry.name }}</span\n ><ng-container *ngTemplateOutlet=\"typeText; context: { $implicit: signatureOf(entry) }\"\n /></code>\n @if (isDeprecated(entry.tags)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated prism-jsdoc-panel__badge--small\">\n deprecated{{ deprecatedMessage(entry.tags) ? ': ' + deprecatedMessage(entry.tags) : '' }}\n </span>\n }\n </div>\n @if (renderBlock(entry.description); as html) {\n <div\n class=\"prism-jsdoc-panel__description prism-jsdoc-service-page__lead\"\n [innerHTML]=\"html\"></div>\n }\n @if (documentsParams(entry.params)) {\n <div class=\"prism-jsdoc-service-page__params\">\n <ng-container *ngTemplateOutlet=\"paramList; context: { $implicit: entry.params }\" />\n </div>\n }\n @if (entry.config?.length) {\n <ng-container *ngTemplateOutlet=\"propertyTable; context: { $implicit: entry.config, label: 'Option', defaults: true }\" />\n }\n <ng-container *ngTemplateOutlet=\"exampleList; context: { $implicit: entry.tags.example ?? [] }\" />\n </div>\n }\n </section>\n }\n\n @if (page().examples.length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"examples\">\n Examples\n <small class=\"prism-jsdoc-service-page__heading-note\">from &#64;example</small>\n </h3>\n <ng-container *ngTemplateOutlet=\"exampleList; context: { $implicit: page().examples }\" />\n </section>\n }\n\n @if (serviceProperties().length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"properties\">\n Properties\n </h3>\n <table class=\"prism-jsdoc-panel__table prism-jsdoc-service-page__table\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Readonly</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n @for (property of serviceProperties(); track property.name) {\n <tr [class.prism-jsdoc-panel__row--deprecated]=\"isDeprecated(property.tags)\">\n <td class=\"prism-jsdoc-panel__cell--name\">\n <code>{{ property.name }}</code>\n @if (isDeprecated(property.tags)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated prism-jsdoc-panel__badge--small\">deprecated</span>\n }\n </td>\n <td class=\"prism-jsdoc-panel__cell--type\">\n <code><ng-container *ngTemplateOutlet=\"typeText; context: { $implicit: segmentsOf(property.type) }\" /></code>\n </td>\n <td class=\"prism-jsdoc-panel__cell--default\">\n @if (property.readonly) {\n <code>readonly</code>\n } @else {\n <span class=\"prism-jsdoc-panel__muted\">\u2014</span>\n }\n </td>\n <td class=\"prism-jsdoc-panel__cell--doc\">\n <ng-container *ngTemplateOutlet=\"docCell; context: { $implicit: property.description, tags: property.tags }\" />\n </td>\n </tr>\n }\n </tbody>\n </table>\n </section>\n }\n\n @if (serviceMethods().length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"methods\">\n Methods\n </h3>\n <ng-container *ngTemplateOutlet=\"methodTable; context: { $implicit: serviceMethods(), label: 'Name', params: true }\" />\n </section>\n }\n\n @if (transformSignatures().length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"transform\">\n Transform\n </h3>\n <ng-container *ngTemplateOutlet=\"methodTable; context: { $implicit: transformSignatures(), label: 'Name', params: true }\" />\n </section>\n }\n\n @if (page().types.length) {\n <section class=\"prism-jsdoc-panel__section\">\n <h3\n class=\"prism-jsdoc-panel__heading prism-jsdoc-service-page__heading\"\n data-toc-id=\"types\">\n Types\n <small class=\"prism-jsdoc-service-page__heading-note\">reached from the signatures above</small>\n </h3>\n @for (type of page().types; track type.id) {\n @let anchor = typeAnchor(type.id);\n @let properties = type.properties ?? [];\n @let methods = type.methods ?? [];\n <div\n class=\"prism-jsdoc-service-page__type\"\n [class.prism-jsdoc-service-page__type--highlighted]=\"highlightedId() === anchor\"\n [attr.data-toc-id]=\"anchor\">\n <div class=\"prism-jsdoc-service-page__type-head\">\n <span class=\"prism-jsdoc-service-page__type-name\">{{ type.name }}</span>\n <span class=\"prism-jsdoc-service-page__kind\">{{ type.kind }}</span>\n @if (isDeprecated(type.tags)) {\n <span class=\"prism-jsdoc-panel__badge prism-jsdoc-panel__badge--deprecated prism-jsdoc-panel__badge--small\">deprecated</span>\n }\n @if (type.reachedFrom; as reachedFrom) {\n @let reached = splitReachedFrom(reachedFrom);\n <span class=\"prism-jsdoc-service-page__reached\">\n <span>{{ reached.text }}</span>\n @if (reached.code) {\n <code>{{ reached.code }}</code>\n }\n </span>\n }\n </div>\n @if (renderBlock(type.description); as html) {\n <div\n class=\"prism-jsdoc-panel__description prism-jsdoc-service-page__lead\"\n [innerHTML]=\"html\"></div>\n }\n @if (type.tags.see?.length) {\n <div class=\"prism-jsdoc-panel__meta prism-jsdoc-service-page__type-meta\">\n <ng-container *ngTemplateOutlet=\"seeChips; context: { $implicit: type.tags.see }\" />\n </div>\n }\n @if (properties.length) {\n <ng-container\n *ngTemplateOutlet=\"\n propertyTable;\n context: { $implicit: properties, label: 'Property', defaults: hasDefaults(properties), owner: type }\n \" />\n }\n @if (methods.length) {\n <ng-container *ngTemplateOutlet=\"methodTable; context: { $implicit: methods, label: 'Method', params: hasParams(methods) }\" />\n }\n @if (type.union?.length) {\n <p class=\"prism-jsdoc-service-page__union\">\n @for (member of type.union; track $index) {\n @if (!$first) {\n <span class=\"prism-jsdoc-service-page__union-bar\">|</span>\n }\n <span>{{ member }}</span>\n }\n </p>\n }\n @if (type.text) {\n <p class=\"prism-jsdoc-service-page__alias\">\n <code>{{ type.text }}</code>\n </p>\n }\n @if (type.members?.length) {\n <table class=\"prism-jsdoc-panel__table prism-jsdoc-service-page__table\">\n <thead>\n <tr>\n <th>Member</th>\n @if (hasValues(type)) {\n <th>Value</th>\n }\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n @for (member of type.members; track member.name) {\n <tr>\n <td class=\"prism-jsdoc-panel__cell--name\">\n <code>{{ member.name }}</code>\n </td>\n @if (hasValues(type)) {\n <td class=\"prism-jsdoc-panel__cell--default\">\n @if (member.value !== undefined) {\n <code>{{ member.value }}</code>\n } @else {\n <span class=\"prism-jsdoc-panel__muted\">\u2014</span>\n }\n </td>\n }\n <td class=\"prism-jsdoc-panel__cell--doc\">\n @if (member.description) {\n <span [innerHTML]=\"renderInline(member.description)\"></span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n }\n </section>\n }\n </div>\n\n <nav\n class=\"prism-jsdoc-service-page__toc\"\n aria-label=\"On this page\">\n <div class=\"prism-jsdoc-service-page__toc-title\">On this page</div>\n @for (entry of toc(); track entry.id) {\n <button\n type=\"button\"\n class=\"prism-jsdoc-service-page__toc-link\"\n [class.prism-jsdoc-service-page__toc-link--sub]=\"entry.level === 2\"\n [class.prism-jsdoc-service-page__toc-link--active]=\"activeId() === entry.id\"\n [attr.aria-current]=\"activeId() === entry.id ? 'location' : null\"\n [title]=\"entry.label\"\n (click)=\"goTo(entry.id)\">\n {{ entry.label }}\n </button>\n }\n </nav>\n</div>\n", styles: [":host {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n.prism-jsdoc-panel {\n max-width: 880px;\n padding: 20px 24px;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text);\n}\n\n.prism-jsdoc-panel__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n color: var(--prism-text-muted);\n}\n\n.prism-jsdoc-panel__description {\n margin: 0 0 18px;\n font-size: 14px;\n line-height: 1.7;\n color: var(--prism-text-2);\n}\n\n.prism-jsdoc-panel__meta {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 18px;\n}\n\n.prism-jsdoc-panel__meta-item {\n display: flex;\n gap: 6px;\n align-items: center;\n padding: 3px 9px;\n font-size: var(--fs-sm);\n color: var(--prism-text-2);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 4px;\n}\n\n.prism-jsdoc-panel__meta-label {\n font-family: var(--font-mono);\n font-weight: 500;\n color: var(--prism-primary);\n}\n\n.prism-jsdoc-panel__badge {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 10px;\n}\n\n.prism-jsdoc-panel__badge--deprecated {\n color: var(--prism-warn);\n background: color-mix(in srgb, var(--prism-warn) 15%, transparent);\n}\n\n.prism-jsdoc-panel__badge--required {\n margin-left: 4px;\n font-weight: 700;\n color: var(--prism-accent);\n}\n\n.prism-jsdoc-panel__badge--small {\n padding: 1px 5px;\n margin-left: 4px;\n font-size: 10px;\n}\n\n.prism-jsdoc-panel__section {\n margin-bottom: 20px;\n}\n\n.prism-jsdoc-panel__heading {\n margin: 22px 0 10px;\n font-size: 11px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-jsdoc-panel__code {\n padding: 0;\n margin: 0 0 8px;\n overflow: auto;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n}\n\n.prism-jsdoc-panel__code code {\n display: block;\n padding: 8px 12px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n line-height: 1.5;\n color: var(--prism-text-2);\n background: transparent !important;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs {\n color: var(--prism-text-2);\n background: transparent;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-tag,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-name,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-selector-tag,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-keyword,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-title,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-title.function_,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-built_in,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-type {\n color: var(--prism-code-tag);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-attr,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-attribute,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-property,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-variable,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-template-variable,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-params {\n color: var(--prism-code-attr);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-string,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-doctag,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-regexp,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-symbol,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-number,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-literal {\n color: var(--prism-code-str);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-comment,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-quote,\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-meta {\n font-style: italic;\n color: var(--prism-code-com);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-deletion {\n color: var(--prism-danger);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-addition {\n color: var(--prism-success);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-emphasis {\n font-style: italic;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__code .hljs-strong {\n font-weight: 700;\n}\n\n.prism-jsdoc-panel__table {\n width: 100%;\n overflow: hidden;\n font-size: var(--fs-md);\n border-collapse: collapse;\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n}\n\n.prism-jsdoc-panel__table th {\n padding: 8px 12px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n background: var(--prism-bg-surface);\n border-bottom: 1px solid var(--prism-border);\n}\n\n.prism-jsdoc-panel__table td {\n padding: 10px 12px;\n vertical-align: top;\n border-bottom: 1px solid var(--prism-border);\n}\n\n.prism-jsdoc-panel__table tr:last-child td {\n border-bottom: 0;\n}\n\n.prism-jsdoc-panel__row--deprecated td {\n opacity: 0.6;\n}\n\n.prism-jsdoc-panel__cell--name code,\n.prism-jsdoc-panel__cell--type code,\n.prism-jsdoc-panel__cell--default code {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n color: var(--prism-primary);\n background: color-mix(in srgb, var(--prism-primary) 8%, transparent);\n border-radius: var(--radius-xs);\n}\n\n.prism-jsdoc-panel__muted {\n color: var(--prism-text-muted);\n}\n\n.prism-jsdoc-panel__cell--doc {\n line-height: 1.4;\n color: var(--prism-text);\n}\n\n.prism-jsdoc-panel__since-sep {\n color: var(--prism-text-muted);\n}\n\n.prism-jsdoc-panel__since {\n font-size: var(--fs-sm);\n color: var(--prism-text-muted);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description :first-child {\n margin-top: 0;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description :last-child {\n margin-bottom: 0;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description p {\n margin: 0 0 8px;\n line-height: 1.7;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description h1,\n:host ::ng-deep .prism-jsdoc-panel__description h2,\n:host ::ng-deep .prism-jsdoc-panel__description h3 {\n margin: 18px 0 8px;\n font-weight: 600;\n line-height: 1.3;\n color: var(--prism-text);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description h1 {\n font-size: 18px;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description h2 {\n font-size: 15px;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description h3 {\n font-size: 11px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description ul,\n:host ::ng-deep .prism-jsdoc-panel__description ol {\n padding-left: 20px;\n margin: 0 0 8px;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description li {\n margin: 2px 0;\n line-height: 1.6;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description a {\n color: var(--prism-primary);\n text-decoration: none;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description a:hover {\n text-decoration: underline;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description strong {\n font-weight: 600;\n color: var(--prism-text);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description code,\n:host ::ng-deep .prism-jsdoc-panel__cell--doc code {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n color: var(--prism-primary);\n background: color-mix(in srgb, var(--prism-primary) 8%, transparent);\n border-radius: var(--radius-xs);\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description pre {\n padding: 0;\n margin: 0 0 8px;\n overflow: auto;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description pre code {\n display: block;\n padding: 8px 12px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n line-height: 1.5;\n color: var(--prism-text);\n background: none;\n}\n\n:host ::ng-deep .prism-jsdoc-panel__description blockquote {\n padding: 4px 12px;\n margin: 0 0 8px;\n color: var(--prism-text-2);\n border-left: 3px solid var(--prism-border);\n}\n", "/* The panel stylesheet comes first in styleUrls: it supplies the shared look\n (description, meta chips, headings, code blocks, tables, badges) and makes\n :host the scroll container (display: block, height: 100%, overflow: auto).\n This file adds the layout and the parts only the API page of a service or\n pipe has. */\n:host {\n container-type: inline-size;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n scroll-behavior: smooth;\n }\n}\n\n.prism-jsdoc-service-page {\n display: grid;\n grid-template-columns: minmax(0, 880px) 200px;\n gap: 32px;\n align-items: start;\n padding: 20px 24px 60px;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text);\n}\n\n.prism-jsdoc-service-page__heading {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.prism-jsdoc-service-page__heading-note {\n font-size: 11px;\n font-weight: 500;\n color: var(--prism-text-muted);\n text-transform: none;\n letter-spacing: 0.02em;\n}\n\n/* \u2500\u2500\u2500\u2500 Usage \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__usage {\n position: relative;\n}\n\n.prism-jsdoc-service-page__usage .prism-jsdoc-panel__code code {\n padding: 10px 40px 10px 12px;\n line-height: 1.6;\n}\n\n.prism-jsdoc-service-page__copy {\n position: absolute;\n top: 6px;\n right: 6px;\n display: grid;\n place-items: center;\n width: 24px;\n height: 24px;\n padding: 0;\n color: var(--prism-text-muted);\n cursor: pointer;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border);\n border-radius: 5px;\n}\n\n.prism-jsdoc-service-page__copy:hover {\n color: var(--prism-text);\n}\n\n.prism-jsdoc-service-page__copy svg {\n width: 12px;\n height: 12px;\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* \u2500\u2500\u2500\u2500 Setup \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__setup + .prism-jsdoc-service-page__setup {\n margin-top: 16px;\n}\n\n.prism-jsdoc-service-page__sig {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n padding: 8px 12px;\n margin: 0 0 8px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n color: var(--prism-text);\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-left: 2px solid var(--prism-primary);\n border-radius: 8px;\n}\n\n.prism-jsdoc-service-page__sig code {\n font-family: inherit;\n}\n\n.prism-jsdoc-service-page__fn {\n color: var(--prism-code-tag);\n}\n\n/* A description under a signature or a type name: a lead, smaller than the\n page's own description. Comes after the panel stylesheet, so it wins over\n .prism-jsdoc-panel__description at the same specificity, and like the\n panel's Markdown rules it needs ::ng-deep to reach what [innerHTML] puts in. */\n.prism-jsdoc-service-page__lead {\n margin: 0 0 10px;\n font-size: var(--fs-md);\n line-height: 1.6;\n}\n\n:host ::ng-deep .prism-jsdoc-service-page__lead p {\n line-height: 1.6;\n}\n\n.prism-jsdoc-service-page__table {\n margin-bottom: 8px;\n}\n\n/* Next to the name in a type card or option table, where there is no Readonly column. */\n.prism-jsdoc-service-page__readonly {\n color: var(--prism-text-muted);\n}\n\n/* A default such as 'bottom-right' would otherwise break at its hyphen. */\n.prism-jsdoc-service-page__default {\n white-space: nowrap;\n}\n\n/* \u2500\u2500\u2500\u2500 Parameters \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__param + .prism-jsdoc-service-page__param {\n margin-top: 6px;\n}\n\n.prism-jsdoc-service-page__param-doc {\n margin-top: 3px;\n font-size: var(--fs-sm);\n line-height: 1.45;\n color: var(--prism-text-muted);\n}\n\n:host ::ng-deep .prism-jsdoc-service-page__param-doc code {\n font-family: var(--font-mono);\n font-size: 0.95em;\n color: var(--prism-text-2);\n}\n\n/* Under a setup signature, outside a table: the code gets the look of a type cell. */\n.prism-jsdoc-service-page__params {\n margin: 0 0 10px;\n}\n\n.prism-jsdoc-service-page__params code {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n color: var(--prism-primary);\n background: color-mix(in srgb, var(--prism-primary) 8%, transparent);\n border-radius: var(--radius-xs);\n}\n\n/* \u2500\u2500\u2500\u2500 Type links \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__ref {\n padding: 0;\n font: inherit;\n color: inherit;\n text-decoration: underline dotted color-mix(in srgb, var(--prism-primary) 70%, transparent);\n text-underline-offset: 3px;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.prism-jsdoc-service-page__ref:hover {\n text-decoration-style: solid;\n}\n\n/* \u2500\u2500\u2500\u2500 Type cards \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__type {\n padding: 12px 14px 6px;\n margin-bottom: 12px;\n background: color-mix(in srgb, var(--prism-bg-surface) 60%, transparent);\n border: 1px solid var(--prism-border);\n border-radius: 10px;\n transition:\n border-color 0.3s var(--ease-default),\n box-shadow 0.3s var(--ease-default);\n}\n\n.prism-jsdoc-service-page__type--highlighted {\n border-color: color-mix(in srgb, var(--prism-primary) 60%, transparent);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--prism-primary) 22%, transparent);\n}\n\n.prism-jsdoc-service-page__type-head {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n margin-bottom: 6px;\n}\n\n.prism-jsdoc-service-page__type-name {\n font-family: var(--font-mono);\n font-size: 13px;\n font-weight: 500;\n color: var(--prism-text);\n}\n\n.prism-jsdoc-service-page__kind {\n padding: 1px 5px;\n font-size: 9.5px;\n font-weight: 700;\n color: var(--prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n border: 1px solid var(--prism-border-strong);\n border-radius: 3px;\n}\n\n.prism-jsdoc-service-page__reached {\n margin-left: auto;\n font-size: 11px;\n color: var(--prism-text-muted);\n}\n\n.prism-jsdoc-service-page__reached code {\n font-family: var(--font-mono);\n font-size: 10.5px;\n color: var(--prism-text-2);\n}\n\n.prism-jsdoc-service-page__type .prism-jsdoc-service-page__lead {\n margin-bottom: 8px;\n}\n\n.prism-jsdoc-service-page__type-meta {\n margin-bottom: 8px;\n}\n\n.prism-jsdoc-service-page__union {\n display: flex;\n flex-wrap: wrap;\n column-gap: 0.6em;\n margin: 0 0 8px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n line-height: 1.7;\n color: var(--prism-code-str);\n}\n\n.prism-jsdoc-service-page__union-bar {\n color: var(--prism-text-ghost);\n}\n\n.prism-jsdoc-service-page__alias {\n margin: 0 0 8px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n line-height: 1.7;\n color: var(--prism-text-2);\n}\n\n.prism-jsdoc-service-page__alias code {\n font-family: inherit;\n}\n\n/* \u2500\u2500\u2500\u2500 On this page \u2500\u2500\u2500\u2500 */\n\n.prism-jsdoc-service-page__toc {\n position: sticky;\n top: 20px;\n max-height: calc(100vh - 120px);\n padding-left: 14px;\n overflow-y: auto;\n font-size: 12px;\n border-left: 1px solid var(--prism-border);\n}\n\n.prism-jsdoc-service-page__toc-title {\n margin-bottom: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-jsdoc-service-page__toc-link {\n display: block;\n width: 100%;\n padding: 3px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n color: var(--prism-text-muted);\n text-align: left;\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.prism-jsdoc-service-page__toc-link:hover {\n color: var(--prism-text);\n}\n\n.prism-jsdoc-service-page__toc-link--active {\n font-weight: 500;\n color: var(--prism-primary);\n}\n\n.prism-jsdoc-service-page__toc-link--sub {\n padding-left: 12px;\n font-family: var(--font-mono);\n font-size: 11px;\n}\n\n/* Too narrow for a second column: the list goes, the content keeps the width. */\n@container (max-width: 760px) {\n .prism-jsdoc-service-page {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .prism-jsdoc-service-page__toc {\n display: none;\n }\n}\n"] }]
1169
+ }], () => [], { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: true }] }] }); })();
1170
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JsDocServicePageComponent, { className: "JsDocServicePageComponent", filePath: "service-page/jsdoc-service-page.component.ts", lineNumber: 58 }); })();
1171
+ function memoize(fn) {
1172
+ const cache = new WeakMap();
1173
+ return (key) => {
1174
+ if (!cache.has(key))
1175
+ cache.set(key, fn(key));
1176
+ return cache.get(key);
1177
+ };
1178
+ }