@foblex/m-render 2.9.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/assets/styles/_code-view.scss +56 -0
- package/assets/styles/_icons.scss +2 -0
- package/fesm2022/{foblex-m-render-cookie-popup.component-Cx-ELX3C.mjs → foblex-m-render-cookie-popup-DzpgC1SS.mjs} +6 -6
- package/fesm2022/foblex-m-render-cookie-popup-DzpgC1SS.mjs.map +1 -0
- package/fesm2022/foblex-m-render.mjs +988 -433
- package/fesm2022/foblex-m-render.mjs.map +1 -1
- package/package.json +3 -3
- package/{index.d.ts → types/foblex-m-render.d.ts} +170 -78
- package/fesm2022/foblex-m-render-cookie-popup.component-Cx-ELX3C.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foblex/m-render",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "MRender is a static site generator designed for creating fast and user-friendly documentation sites based on Markdown files. MarkEngine supports extended Markdown syntax and can render Angular components directly from Markdown files.",
|
|
5
5
|
"author": "Siarhei Huzarevich",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
},
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"module": "fesm2022/foblex-m-render.mjs",
|
|
34
|
-
"typings": "
|
|
34
|
+
"typings": "types/foblex-m-render.d.ts",
|
|
35
35
|
"exports": {
|
|
36
36
|
"./package.json": {
|
|
37
37
|
"default": "./package.json"
|
|
38
38
|
},
|
|
39
39
|
".": {
|
|
40
|
-
"types": "./
|
|
40
|
+
"types": "./types/foblex-m-render.d.ts",
|
|
41
41
|
"default": "./fesm2022/foblex-m-render.mjs"
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, Provider, OnDestroy, AfterViewInit, OnInit, Type, ViewContainerRef, ComponentRef, Signal, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import * as _angular_cdk_overlay from '@angular/cdk/overlay';
|
|
5
5
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
6
|
+
import * as _foblex_m_render from '@foblex/m-render';
|
|
6
7
|
import { SafeHtml } from '@angular/platform-browser';
|
|
7
8
|
import MarkdownIt from 'markdown-it';
|
|
8
9
|
import container from 'markdown-it-container';
|
|
9
|
-
import * as _foblex_m_render from '@foblex/m-render';
|
|
10
10
|
import { Router, Routes } from '@angular/router';
|
|
11
|
-
import { ThemeInput } from '@shikijs/types';
|
|
11
|
+
import { PlainTextLanguage, LanguageInput, ThemeInput } from '@shikijs/types';
|
|
12
12
|
|
|
13
13
|
declare function provideGTag(config: GTagConfig): Provider[];
|
|
14
14
|
interface GTagConfig {
|
|
@@ -39,45 +39,36 @@ declare class GTagService {
|
|
|
39
39
|
static ɵprov: i0.ɵɵInjectableDeclaration<GTagService>;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
protected labelElement: i0.Signal<ElementRef<any> | undefined>;
|
|
73
|
-
onInputClick(): void;
|
|
74
|
-
onTouchTargetClick(): void;
|
|
75
|
-
private _handleInputClick;
|
|
76
|
-
private _emitChangeEvent;
|
|
77
|
-
protected onInteractionEvent(event: Event): void;
|
|
78
|
-
protected preventBubblingFromLabel(event: MouseEvent): void;
|
|
79
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FRadioButtonComponent, never>;
|
|
80
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FRadioButtonComponent, "f-radio-button", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
42
|
+
interface IMetaData {
|
|
43
|
+
url: string;
|
|
44
|
+
canonical?: string;
|
|
45
|
+
type: string;
|
|
46
|
+
title: string;
|
|
47
|
+
app_name: string;
|
|
48
|
+
locale: string;
|
|
49
|
+
description: string;
|
|
50
|
+
image: string;
|
|
51
|
+
image_type: string;
|
|
52
|
+
image_width: number;
|
|
53
|
+
image_height: number;
|
|
54
|
+
keywords?: string;
|
|
55
|
+
robots?: string;
|
|
56
|
+
twitter_card?: string;
|
|
57
|
+
twitter_site?: string;
|
|
58
|
+
twitter_creator?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface ISeoOverrides extends Partial<IMetaData> {
|
|
62
|
+
og_type?: string;
|
|
63
|
+
og_title?: string;
|
|
64
|
+
og_description?: string;
|
|
65
|
+
og_image?: string;
|
|
66
|
+
twitter_card?: string;
|
|
67
|
+
twitter_title?: string;
|
|
68
|
+
twitter_description?: string;
|
|
69
|
+
twitter_image?: string;
|
|
70
|
+
noindex?: boolean;
|
|
71
|
+
nofollow?: boolean;
|
|
81
72
|
}
|
|
82
73
|
|
|
83
74
|
declare class FMetaService {
|
|
@@ -85,31 +76,23 @@ declare class FMetaService {
|
|
|
85
76
|
private readonly _router;
|
|
86
77
|
private readonly _headTag;
|
|
87
78
|
private readonly _configuration;
|
|
79
|
+
private _seoOverrides;
|
|
80
|
+
private _lastPath;
|
|
88
81
|
changes(): Observable<string>;
|
|
82
|
+
applyMarkdownSeo(overrides: ISeoOverrides | null | undefined): void;
|
|
89
83
|
dispose(): void;
|
|
84
|
+
private _updateMetaByUrl;
|
|
90
85
|
private _findDocGroupByUrl;
|
|
91
86
|
private _findDocItemByUrl;
|
|
92
87
|
private _buildAbsoluteUrl;
|
|
93
88
|
private _toAbsoluteUrl;
|
|
94
89
|
private _updateMetaTags;
|
|
90
|
+
private _resolveRobots;
|
|
91
|
+
private _normalizeCurrentPath;
|
|
95
92
|
static ɵfac: i0.ɵɵFactoryDeclaration<FMetaService, never>;
|
|
96
93
|
static ɵprov: i0.ɵɵInjectableDeclaration<FMetaService>;
|
|
97
94
|
}
|
|
98
95
|
|
|
99
|
-
interface IMetaData {
|
|
100
|
-
url: string;
|
|
101
|
-
canonical?: string;
|
|
102
|
-
type: string;
|
|
103
|
-
title: string;
|
|
104
|
-
app_name: string;
|
|
105
|
-
locale: string;
|
|
106
|
-
description: string;
|
|
107
|
-
image: string;
|
|
108
|
-
image_type: string;
|
|
109
|
-
image_width: number;
|
|
110
|
-
image_height: number;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
96
|
declare class HamburgerButton {
|
|
114
97
|
private readonly _parent;
|
|
115
98
|
protected _onShowNavigation(): void;
|
|
@@ -171,7 +154,7 @@ interface IMediaLinksProvider {
|
|
|
171
154
|
declare const MEDIA_LINKS_PROVIDER: InjectionToken<IMediaLink[]>;
|
|
172
155
|
|
|
173
156
|
declare class MediaLinks {
|
|
174
|
-
protected links: IMediaLink[] | null;
|
|
157
|
+
protected links: _foblex_m_render.IMediaLink[] | null;
|
|
175
158
|
static ɵfac: i0.ɵɵFactoryDeclaration<MediaLinks, never>;
|
|
176
159
|
static ɵcmp: i0.ɵɵComponentDeclaration<MediaLinks, "media-links", never, {}, {}, never, never, true, never>;
|
|
177
160
|
}
|
|
@@ -179,7 +162,7 @@ declare class MediaLinks {
|
|
|
179
162
|
declare class HeaderComponent implements AfterViewInit, OnDestroy {
|
|
180
163
|
protected title: string;
|
|
181
164
|
protected image: string;
|
|
182
|
-
protected config: IHeaderConfiguration;
|
|
165
|
+
protected config: _foblex_m_render.IHeaderConfiguration;
|
|
183
166
|
protected readonly emptyNavigation: boolean;
|
|
184
167
|
private readonly _zone;
|
|
185
168
|
private readonly _containerRef;
|
|
@@ -245,7 +228,7 @@ declare class NavigationPanelComponent implements OnInit, AfterViewInit {
|
|
|
245
228
|
private readonly _destroyRef;
|
|
246
229
|
private readonly _window;
|
|
247
230
|
protected value: string | undefined;
|
|
248
|
-
protected navigation: INavigationGroup[];
|
|
231
|
+
protected navigation: _foblex_m_render.INavigationGroup[];
|
|
249
232
|
protected title: string;
|
|
250
233
|
protected image: string;
|
|
251
234
|
ngOnInit(): void;
|
|
@@ -286,19 +269,33 @@ declare class CodeGroup {
|
|
|
286
269
|
}
|
|
287
270
|
|
|
288
271
|
interface IExampleViewData {
|
|
289
|
-
|
|
272
|
+
selector?: string;
|
|
273
|
+
iframeUrl?: string;
|
|
290
274
|
height?: string | number;
|
|
291
275
|
}
|
|
292
276
|
|
|
293
277
|
declare function coerceComponentHeight(value: string | number | undefined): string | undefined;
|
|
294
278
|
|
|
279
|
+
declare function parseIframeUrl(value: string): string | null;
|
|
280
|
+
|
|
295
281
|
declare function parseComponentTag(html: string): string | null;
|
|
296
282
|
|
|
297
283
|
declare class ExternalComponent implements OnInit {
|
|
298
284
|
readonly data: i0.InputSignalWithTransform<IExampleViewData, IParsedContainerData>;
|
|
285
|
+
protected readonly iframeUrl: i0.Signal<string | undefined>;
|
|
286
|
+
protected readonly hasContent: i0.Signal<boolean>;
|
|
287
|
+
protected readonly canToggleFullscreen: i0.Signal<boolean>;
|
|
288
|
+
protected readonly fullscreenLabel: i0.Signal<"Exit full screen" | "Full screen">;
|
|
289
|
+
protected readonly isFullscreen: i0.WritableSignal<boolean>;
|
|
290
|
+
private readonly _document;
|
|
291
|
+
private readonly _hostElement;
|
|
292
|
+
private readonly _isBrowser;
|
|
299
293
|
private readonly _mediatr;
|
|
300
294
|
private readonly _viewContainerRef;
|
|
301
295
|
ngOnInit(): void;
|
|
296
|
+
protected toggleFullscreen(): Promise<void>;
|
|
297
|
+
protected onFullscreenChange(): void;
|
|
298
|
+
private _isCurrentElementInFullscreen;
|
|
302
299
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExternalComponent, never>;
|
|
303
300
|
static ɵcmp: i0.ɵɵComponentDeclaration<ExternalComponent, "external-component", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
304
301
|
}
|
|
@@ -551,7 +548,7 @@ declare class MarkdownFooter {
|
|
|
551
548
|
private readonly _router;
|
|
552
549
|
private readonly _activatedRoute;
|
|
553
550
|
private readonly _window;
|
|
554
|
-
protected readonly navigation: IMarkdownFooterNavigation;
|
|
551
|
+
protected readonly navigation: _foblex_m_render.IMarkdownFooterNavigation;
|
|
555
552
|
private readonly _url;
|
|
556
553
|
private readonly _currentLink;
|
|
557
554
|
private readonly _prefix;
|
|
@@ -560,7 +557,7 @@ declare class MarkdownFooter {
|
|
|
560
557
|
protected readonly nextLink: i0.Signal<IMarkdownFooterLink | undefined>;
|
|
561
558
|
private _normalizeLink;
|
|
562
559
|
private _isExternal;
|
|
563
|
-
|
|
560
|
+
protected _click(event: MouseEvent): void;
|
|
564
561
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownFooter, never>;
|
|
565
562
|
static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownFooter, "markdown-footer", never, {}, {}, never, never, true, never>;
|
|
566
563
|
}
|
|
@@ -599,8 +596,8 @@ interface IMarkdownItToken {
|
|
|
599
596
|
}
|
|
600
597
|
|
|
601
598
|
interface IMarkdownContainerData {
|
|
602
|
-
|
|
603
|
-
height?: string;
|
|
599
|
+
value: string;
|
|
600
|
+
height?: string | number;
|
|
604
601
|
}
|
|
605
602
|
|
|
606
603
|
interface IParsedContainerData {
|
|
@@ -627,12 +624,30 @@ interface IPreviewNavigationService<T extends IPreviewNavigationGroup> {
|
|
|
627
624
|
}
|
|
628
625
|
declare const F_PREVIEW_NAVIGATION_PROVIDER: InjectionToken<IPreviewNavigationService<IPreviewNavigationGroup>>;
|
|
629
626
|
|
|
627
|
+
interface IMarkdownPageLayoutOptions {
|
|
628
|
+
hideTableOfContent: boolean;
|
|
629
|
+
expandContentWithoutTableOfContent: boolean;
|
|
630
|
+
}
|
|
631
|
+
interface IMarkdownFrontMatterData {
|
|
632
|
+
layout: IMarkdownPageLayoutOptions;
|
|
633
|
+
seo: ISeoOverrides | null;
|
|
634
|
+
}
|
|
635
|
+
interface IMarkdownFrontMatterParseResult {
|
|
636
|
+
markdown: string;
|
|
637
|
+
data: IMarkdownFrontMatterData;
|
|
638
|
+
}
|
|
639
|
+
declare const DEFAULT_MARKDOWN_PAGE_LAYOUT_OPTIONS: IMarkdownPageLayoutOptions;
|
|
640
|
+
|
|
630
641
|
declare class MarkdownService {
|
|
631
642
|
private readonly _markdown;
|
|
632
643
|
private readonly _httpClient;
|
|
633
644
|
private readonly _domSanitizer;
|
|
634
645
|
private readonly _router;
|
|
635
646
|
private readonly _provider;
|
|
647
|
+
private readonly _pageLayout;
|
|
648
|
+
private readonly _pageSeo;
|
|
649
|
+
readonly pageLayout: i0.Signal<IMarkdownPageLayoutOptions>;
|
|
650
|
+
readonly pageSeo: i0.Signal<ISeoOverrides | null>;
|
|
636
651
|
constructor();
|
|
637
652
|
parseUrl(src: string): Observable<SafeHtml>;
|
|
638
653
|
parseText(value: string): Observable<SafeHtml>;
|
|
@@ -641,6 +656,18 @@ declare class MarkdownService {
|
|
|
641
656
|
private _cleanupEmptyParagraphs;
|
|
642
657
|
private _cleanupWasteParagraphFromExampleView;
|
|
643
658
|
private _cleanupWasteParagraphFromPreviewGroup;
|
|
659
|
+
private _renderMarkdownWithPageContext;
|
|
660
|
+
private _parseFrontMatter;
|
|
661
|
+
private _parseFrontMatterData;
|
|
662
|
+
private _parseFrontMatterLine;
|
|
663
|
+
private _normalizeFrontMatterValue;
|
|
664
|
+
private _parseBoolean;
|
|
665
|
+
private _applyLayoutKey;
|
|
666
|
+
private _applySeoKey;
|
|
667
|
+
private _parseNumberOrDefault;
|
|
668
|
+
private _applyPageContext;
|
|
669
|
+
private _resetPageContext;
|
|
670
|
+
private _getDefaultFrontMatterData;
|
|
644
671
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownService, never>;
|
|
645
672
|
static ɵprov: i0.ɵɵInjectableDeclaration<MarkdownService>;
|
|
646
673
|
}
|
|
@@ -679,6 +706,7 @@ declare class ParseAngularExampleWithCodeLinks {
|
|
|
679
706
|
private _opening;
|
|
680
707
|
private _collectData;
|
|
681
708
|
private _parseNgComponent;
|
|
709
|
+
private _parseHeight;
|
|
682
710
|
}
|
|
683
711
|
|
|
684
712
|
type ContainerArgs$1 = [typeof container, string, {
|
|
@@ -740,7 +768,9 @@ declare class MarkdownRouter {
|
|
|
740
768
|
private readonly _activatedRoute;
|
|
741
769
|
private readonly _markdown;
|
|
742
770
|
private readonly _dataProvider;
|
|
771
|
+
private readonly _metaService;
|
|
743
772
|
protected readonly emptyNavigation: boolean;
|
|
773
|
+
protected readonly shouldExpandContent: i0.Signal<boolean>;
|
|
744
774
|
private readonly _path$;
|
|
745
775
|
protected readonly html: i0.Signal<SafeHtml | undefined>;
|
|
746
776
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownRouter, never>;
|
|
@@ -754,6 +784,19 @@ interface IScrollableContainer {
|
|
|
754
784
|
};
|
|
755
785
|
}
|
|
756
786
|
|
|
787
|
+
declare class ScrollableContainer implements OnInit, IScrollableContainer {
|
|
788
|
+
private readonly _destroyRef;
|
|
789
|
+
private readonly _injector;
|
|
790
|
+
private readonly _markdown;
|
|
791
|
+
protected readonly tableOfContent: _foblex_m_render.ITableOfContent | null;
|
|
792
|
+
protected readonly canShowTableOfContent: i0.Signal<boolean>;
|
|
793
|
+
readonly htmlElement: any;
|
|
794
|
+
ngOnInit(): void;
|
|
795
|
+
private _calculateHashAndActivate;
|
|
796
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollableContainer, never>;
|
|
797
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScrollableContainer, "scrollable-container", never, {}, {}, never, ["*"], true, never>;
|
|
798
|
+
}
|
|
799
|
+
|
|
757
800
|
declare class ActivateTocByHashRequest {
|
|
758
801
|
hash: string | undefined;
|
|
759
802
|
static readonly requestToken: unique symbol;
|
|
@@ -884,17 +927,6 @@ declare class TableOfContent {
|
|
|
884
927
|
static ɵcmp: i0.ɵɵComponentDeclaration<TableOfContent, "table-of-content", never, {}, {}, never, never, true, never>;
|
|
885
928
|
}
|
|
886
929
|
|
|
887
|
-
declare class ScrollableContainer implements OnInit, IScrollableContainer {
|
|
888
|
-
private readonly _destroyRef;
|
|
889
|
-
private readonly _injector;
|
|
890
|
-
protected readonly tableOfContent: ITableOfContent | null;
|
|
891
|
-
readonly htmlElement: any;
|
|
892
|
-
ngOnInit(): void;
|
|
893
|
-
private _calculateHashAndActivate;
|
|
894
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollableContainer, never>;
|
|
895
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScrollableContainer, "scrollable-container", never, {}, {}, never, ["*"], true, never>;
|
|
896
|
-
}
|
|
897
|
-
|
|
898
930
|
declare class HandleNavigationLinksRequest {
|
|
899
931
|
event: MouseEvent;
|
|
900
932
|
window: Window;
|
|
@@ -1093,17 +1125,25 @@ declare class HighlightService {
|
|
|
1093
1125
|
*/
|
|
1094
1126
|
private readonly _isBrowser;
|
|
1095
1127
|
private readonly _window;
|
|
1128
|
+
private readonly _languageLoadingTasks;
|
|
1096
1129
|
private readonly _highlighter$;
|
|
1097
1130
|
highlight(element: HTMLElement, lang: string, content: string): Observable<HTMLElement>;
|
|
1098
1131
|
private _highlightCodeBlock;
|
|
1099
1132
|
private _renderCode;
|
|
1100
1133
|
private _preprocessFocus;
|
|
1134
|
+
private _createHighlighter;
|
|
1135
|
+
private _ensureLanguageLoaded;
|
|
1136
|
+
private _scheduleRender;
|
|
1101
1137
|
private _postProcess;
|
|
1102
1138
|
static ɵfac: i0.ɵɵFactoryDeclaration<HighlightService, never>;
|
|
1103
1139
|
static ɵprov: i0.ɵɵInjectableDeclaration<HighlightService>;
|
|
1104
1140
|
}
|
|
1105
1141
|
|
|
1106
|
-
|
|
1142
|
+
type ShikiLanguage = 'javascript' | 'typescript' | 'angular-html' | 'angular-ts' | 'shell' | 'html' | 'bash' | 'css' | 'scss' | 'markdown';
|
|
1143
|
+
type HighlightLanguage = ShikiLanguage | PlainTextLanguage;
|
|
1144
|
+
declare const AVAILABLE_LANGUAGES: readonly HighlightLanguage[];
|
|
1145
|
+
declare function resolveHighlightLanguage(lang?: string): HighlightLanguage;
|
|
1146
|
+
declare function getLanguageLoader(lang: HighlightLanguage): LanguageInput | null;
|
|
1107
1147
|
|
|
1108
1148
|
declare class MarkCodeFocusedBlocksPostProcessor {
|
|
1109
1149
|
private _window;
|
|
@@ -1249,6 +1289,58 @@ declare class HomeRootComponent implements AfterViewInit, OnInit {
|
|
|
1249
1289
|
|
|
1250
1290
|
declare const HOME_ROUTES: Routes;
|
|
1251
1291
|
|
|
1292
|
+
declare class FBrandLinkComponent {
|
|
1293
|
+
readonly title: i0.InputSignal<string>;
|
|
1294
|
+
readonly logo: i0.InputSignal<string>;
|
|
1295
|
+
readonly ariaLabel: i0.InputSignal<string>;
|
|
1296
|
+
readonly logoAlt: i0.InputSignal<string>;
|
|
1297
|
+
readonly href: i0.InputSignal<string>;
|
|
1298
|
+
readonly routerLink: i0.InputSignal<string | readonly unknown[] | null>;
|
|
1299
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FBrandLinkComponent, never>;
|
|
1300
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FBrandLinkComponent, "f-brand-link", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "logo": { "alias": "logo"; "required": true; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "logoAlt": { "alias": "logoAlt"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
declare class FSearchButtonComponent {
|
|
1304
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FSearchButtonComponent, never>;
|
|
1305
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FSearchButtonComponent, "f-search-button", never, {}, {}, never, never, true, never>;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
declare class FCheckboxComponent {
|
|
1309
|
+
private changeDetectorRef;
|
|
1310
|
+
id: string;
|
|
1311
|
+
change: EventEmitter<boolean>;
|
|
1312
|
+
private inputElement?;
|
|
1313
|
+
labelElement?: ElementRef<HTMLLabelElement>;
|
|
1314
|
+
get checked(): boolean;
|
|
1315
|
+
set checked(value: boolean);
|
|
1316
|
+
private isChecked;
|
|
1317
|
+
constructor(changeDetectorRef: ChangeDetectorRef);
|
|
1318
|
+
onInputClick(): void;
|
|
1319
|
+
onTouchTargetClick(): void;
|
|
1320
|
+
private handleInputClick;
|
|
1321
|
+
private emitChangeEvent;
|
|
1322
|
+
onInteractionEvent(event: Event): void;
|
|
1323
|
+
preventBubblingFromLabel(event: MouseEvent): void;
|
|
1324
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FCheckboxComponent, never>;
|
|
1325
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FCheckboxComponent, "f-checkbox", never, { "id": { "alias": "id"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
1326
|
+
static ngAcceptInputType_checked: unknown;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
declare class FRadioButtonComponent {
|
|
1330
|
+
id: i0.InputSignal<string>;
|
|
1331
|
+
change: i0.OutputEmitterRef<boolean>;
|
|
1332
|
+
checked: i0.InputSignal<boolean>;
|
|
1333
|
+
protected labelElement: i0.Signal<ElementRef<any> | undefined>;
|
|
1334
|
+
onInputClick(): void;
|
|
1335
|
+
onTouchTargetClick(): void;
|
|
1336
|
+
private _handleInputClick;
|
|
1337
|
+
private _emitChangeEvent;
|
|
1338
|
+
protected onInteractionEvent(event: Event): void;
|
|
1339
|
+
protected preventBubblingFromLabel(event: MouseEvent): void;
|
|
1340
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FRadioButtonComponent, never>;
|
|
1341
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FRadioButtonComponent, "f-radio-button", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1252
1344
|
declare class ThemeButtonComponent implements OnInit {
|
|
1253
1345
|
private readonly _renderer;
|
|
1254
1346
|
private readonly _themeService;
|
|
@@ -1264,5 +1356,5 @@ declare class ThemeButtonComponent implements OnInit {
|
|
|
1264
1356
|
|
|
1265
1357
|
declare function provideTheme(): Provider[];
|
|
1266
1358
|
|
|
1267
|
-
export { AVAILABLE_LANGUAGES, ActivateTocByHash, ActivateTocByHashRequest, CalculateAbsoluteTopToContainer, CalculateAbsoluteTopToContainerRequest, CalculateHashFromScrollPosition, CalculateTableOfContent, CalculateTableOfContentRequest, CodeGroup, CodeView, DOCUMENTATION_CONFIGURATION, DOCUMENTATION_ROUTES, DOCUMENT_ELEMENT, DYNAMIC_COMPONENTS_MODULE_PROVIDERS, Documentation, DocumentationStore, DropdownMenu, DynamicComponentsStore, EMarkdownContainerType, EParsedContainerType, EXTERNAL_COMPONENT_PROVIDER, ExternalComponent, FCheckboxComponent, FHomePageButtonsRowComponent, FHomePageFeaturesComponent, FHomePageFooterComponent, FHomePageHeaderComponent, FHomePageHeroComponent, FHomePageMembershipsComponent, FMetaService, FNavigationItemComponent, FRadioButtonComponent, FSearchButtonComponent, F_PREVIEW_NAVIGATION_PROVIDER, FooterNavigationButton, GTAG_CONFIG, GTagService, GetPreviousNextPageNavigationHandler, GetPreviousNextPageNavigationRequest, GetPreviousNextPageNavigationResponse, HEADER_CONFIGURATION_PROVIDER, HOME_PAGE_CONFIGURATION, HOME_ROUTES, HamburgerButton, HandleNavigationLinksHandler, HandleNavigationLinksRequest, HeaderComponent, HeaderMenuBase, Highlight, HighlightService, HomeRootComponent, HomeStore, IS_BROWSER_PLATFORM, InlineMenu, LOCAL_STORAGE, LOCATION, MEDIA_LINKS_PROVIDER, MExecution, MarkCodeFocusedBlocksPostProcessor, MarkdownFooter, MarkdownRenderer, MarkdownRouter, MarkdownService, MediaLinks, Mediatr, NavigationGroupComponent, NavigationPanelComponent, ParseAlerts, ParseAngularExampleWithCodeLinks, ParseGroupedCodeItems, ParsePreviewGroup, ParseShowcase, ParseSingleCodeItem, PopoverService, PreviewActionBar, PreviewCard, PreviewCardBase, PreviewGroupService, RenderDynamicComponent, RenderDynamicComponentRequest, RenderExternalComponent, RenderExternalComponentRequest, RenderInternalComponents, RenderInternalComponentsRequest, SCROLLABLE_CONTAINER, SHOWCASE_DATA, ScrollToElementInContainer, ScrollToElementInContainerRequest, ScrollableContainer, Showcase, ShowcaseItem, TABLE_OF_CONTENT_MODULE_PROVIDERS, TOGGLE_NAVIGATION_COMPONENT, TableOfContent, TableOfContentData, TableOfContentItemsComponent, ThemeButtonComponent, ThemeService, UNIVERSAL_THEME, WINDOW, calculateMarkdownUrl, coerceComponentHeight, copyToClipboard, defineLazyComponent, defineNavigationGroup, encodeDataAttr, extractComponent, getContent, isClosingToken, isOpeningToken, parseComponentTag, parseFileLinkLine, parseSingleBracketText, provide404Markdown, provideBackground, provideComponents, provideDirectory, provideDocumentation, provideFooterNavigation, provideGTag, provideHeader, provideHeaderMediaLinks, provideHeaderNavigation, provideHeaderSearch, provideHero, provideHomeButtons, provideHomeFeatures, provideHomeFooter, provideHomePage, provideImage, provideLanguage, provideLogo, provideMeta, provideNavigation, provideShowcase, provideTableOfContent, provideTheme, provideTitle };
|
|
1268
|
-
export type { ConsentState, GTagConfig, IDocumentationConfiguration, IDocumentationFooterConfiguration, IDynamicComponentInstance, IDynamicComponentItem, IExampleViewData, IExecution, IHandler, IHasHeaderConfiguration, IHeaderConfiguration, IHeaderConfigurationStore, IHeaderMenuLink, IHomePageConfiguration, IHomePageFeature, IHomePageFooter, IHomePageHero, IHomePageLink, IHomePageMembership, ILanguageConfiguration, ILink, ILogoConfiguration, IMarkdownContainerData, IMarkdownFooterLink, IMarkdownFooterNavigation, IMarkdownItToken, IMediaLink, IMediaLinksProvider, IMetaData, INavigationGroup, INavigationItem, INavigationItemBadge, IParsedContainerData, IPreviewNavigationGroup, IPreviewNavigationService, IScrollableContainer, IShowcaseItem, ITableOfContent, ITableOfContentItem, ITitleConfiguration, IToggleNavigationComponent };
|
|
1359
|
+
export { AVAILABLE_LANGUAGES, ActivateTocByHash, ActivateTocByHashRequest, CalculateAbsoluteTopToContainer, CalculateAbsoluteTopToContainerRequest, CalculateHashFromScrollPosition, CalculateTableOfContent, CalculateTableOfContentRequest, CodeGroup, CodeView, DEFAULT_MARKDOWN_PAGE_LAYOUT_OPTIONS, DOCUMENTATION_CONFIGURATION, DOCUMENTATION_ROUTES, DOCUMENT_ELEMENT, DYNAMIC_COMPONENTS_MODULE_PROVIDERS, Documentation, DocumentationStore, DropdownMenu, DynamicComponentsStore, EMarkdownContainerType, EParsedContainerType, EXTERNAL_COMPONENT_PROVIDER, ExternalComponent, FBrandLinkComponent, FCheckboxComponent, FHomePageButtonsRowComponent, FHomePageFeaturesComponent, FHomePageFooterComponent, FHomePageHeaderComponent, FHomePageHeroComponent, FHomePageMembershipsComponent, FMetaService, FNavigationItemComponent, FRadioButtonComponent, FSearchButtonComponent, F_PREVIEW_NAVIGATION_PROVIDER, FooterNavigationButton, GTAG_CONFIG, GTagService, GetPreviousNextPageNavigationHandler, GetPreviousNextPageNavigationRequest, GetPreviousNextPageNavigationResponse, HEADER_CONFIGURATION_PROVIDER, HOME_PAGE_CONFIGURATION, HOME_ROUTES, HamburgerButton, HandleNavigationLinksHandler, HandleNavigationLinksRequest, HeaderComponent, HeaderMenuBase, Highlight, HighlightService, HomeRootComponent, HomeStore, IS_BROWSER_PLATFORM, InlineMenu, LOCAL_STORAGE, LOCATION, MEDIA_LINKS_PROVIDER, MExecution, MarkCodeFocusedBlocksPostProcessor, MarkdownFooter, MarkdownRenderer, MarkdownRouter, MarkdownService, MediaLinks, Mediatr, NavigationGroupComponent, NavigationPanelComponent, ParseAlerts, ParseAngularExampleWithCodeLinks, ParseGroupedCodeItems, ParsePreviewGroup, ParseShowcase, ParseSingleCodeItem, PopoverService, PreviewActionBar, PreviewCard, PreviewCardBase, PreviewGroupService, RenderDynamicComponent, RenderDynamicComponentRequest, RenderExternalComponent, RenderExternalComponentRequest, RenderInternalComponents, RenderInternalComponentsRequest, SCROLLABLE_CONTAINER, SHOWCASE_DATA, ScrollToElementInContainer, ScrollToElementInContainerRequest, ScrollableContainer, Showcase, ShowcaseItem, TABLE_OF_CONTENT_MODULE_PROVIDERS, TOGGLE_NAVIGATION_COMPONENT, TableOfContent, TableOfContentData, TableOfContentItemsComponent, ThemeButtonComponent, ThemeService, UNIVERSAL_THEME, WINDOW, calculateMarkdownUrl, coerceComponentHeight, copyToClipboard, defineLazyComponent, defineNavigationGroup, encodeDataAttr, extractComponent, getContent, getLanguageLoader, isClosingToken, isOpeningToken, parseComponentTag, parseFileLinkLine, parseIframeUrl, parseSingleBracketText, provide404Markdown, provideBackground, provideComponents, provideDirectory, provideDocumentation, provideFooterNavigation, provideGTag, provideHeader, provideHeaderMediaLinks, provideHeaderNavigation, provideHeaderSearch, provideHero, provideHomeButtons, provideHomeFeatures, provideHomeFooter, provideHomePage, provideImage, provideLanguage, provideLogo, provideMeta, provideNavigation, provideShowcase, provideTableOfContent, provideTheme, provideTitle, resolveHighlightLanguage };
|
|
1360
|
+
export type { ConsentState, GTagConfig, HighlightLanguage, IDocumentationConfiguration, IDocumentationFooterConfiguration, IDynamicComponentInstance, IDynamicComponentItem, IExampleViewData, IExecution, IHandler, IHasHeaderConfiguration, IHeaderConfiguration, IHeaderConfigurationStore, IHeaderMenuLink, IHomePageConfiguration, IHomePageFeature, IHomePageFooter, IHomePageHero, IHomePageLink, IHomePageMembership, ILanguageConfiguration, ILink, ILogoConfiguration, IMarkdownContainerData, IMarkdownFooterLink, IMarkdownFooterNavigation, IMarkdownFrontMatterData, IMarkdownFrontMatterParseResult, IMarkdownItToken, IMarkdownPageLayoutOptions, IMediaLink, IMediaLinksProvider, IMetaData, INavigationGroup, INavigationItem, INavigationItemBadge, IParsedContainerData, IPreviewNavigationGroup, IPreviewNavigationService, IScrollableContainer, ISeoOverrides, IShowcaseItem, ITableOfContent, ITableOfContentItem, ITitleConfiguration, IToggleNavigationComponent };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"foblex-m-render-cookie-popup.component-Cx-ELX3C.mjs","sources":["../tmp-esm2022/lib/analytics/cookie-popup/cookie-popup.component.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\nimport { GTagService } from '../g-tag.service';\nimport { LOCAL_STORAGE } from '../../common';\nimport * as i0 from \"@angular/core\";\nexport const F_ACCEPT_COOKIES_KEY = 'm-accepts-cookies';\nexport class CookiePopupComponent {\n _localStorage = inject(LOCAL_STORAGE);\n _gtag = inject(GTagService, { optional: true });\n _consentValue = signal(null, ...(ngDevMode ? [{ debugName: \"_consentValue\" }] : []));\n showPopup = computed(() => this._gtag !== null &&\n this._consentValue() !== 'true' &&\n this._consentValue() !== 'false', ...(ngDevMode ? [{ debugName: \"showPopup\" }] : []));\n constructor() {\n try {\n const value = this._localStorage?.getItem(F_ACCEPT_COOKIES_KEY);\n this._consentValue.set(value);\n }\n catch {\n this._consentValue.set(null);\n }\n }\n accept() {\n try {\n this._localStorage?.setItem(F_ACCEPT_COOKIES_KEY, 'true');\n }\n catch { /* empty */ }\n this._gtag?.updateConsent(true);\n this._consentValue.set('true');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: CookiePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: CookiePopupComponent, isStandalone: true, selector: \"cookie-popup\", ngImport: i0, template: \"@if (showPopup()) {\\n <div class=\\\"docs-cookies-popup docs-invert-mode\\\">\\n <p>This site uses cookies from Google to deliver its services and to analyze traffic.</p>\\n\\n <div>\\n <a href=\\\"https://policies.google.com/technologies/cookies\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">\\n <button class=\\\"f-button\\\" [attr.text]=\\\"'Learn more'\\\" aria-label=\\\"Learn More\\\">\\n Learn more\\n </button>\\n </a>\\n <button\\n (click)=\\\"accept()\\\"\\n class=\\\"f-button\\\"\\n [attr.text]=\\\"'Ok, Got it'\\\"\\n aria-label=\\\"Ok, Got it\\\">\\n Ok, Got it\\n </button>\\n </div>\\n </div>\\n}\\n\", styles: [\":host{position:fixed;bottom:16px;right:16px;z-index:99999;opacity:0;visibility:hidden;animation:1s linear forwards .5s fadeIn}.docs-cookies-popup{padding:1rem;background-color:var(--background-color);border:1px solid var(--divider-color);color:var(--primary-text);border-radius:var(--border-radius);font-size:14px;max-width:310px;transition:background-color .3s ease,border-color .3s ease,color .3s ease;box-shadow:var(--shadow-3)}.docs-cookies-popup>div{display:flex;gap:8px;align-items:center;width:100%;margin-block-start:1rem}.f-button{outline:none;border:none;height:unset;line-height:26px;font-size:14px;font-weight:500;border-radius:var(--border-radius)}@keyframes fadeIn{to{opacity:100%;visibility:visible}}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: CookiePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'cookie-popup', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (showPopup()) {\\n <div class=\\\"docs-cookies-popup docs-invert-mode\\\">\\n <p>This site uses cookies from Google to deliver its services and to analyze traffic.</p>\\n\\n <div>\\n <a href=\\\"https://policies.google.com/technologies/cookies\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">\\n <button class=\\\"f-button\\\" [attr.text]=\\\"'Learn more'\\\" aria-label=\\\"Learn More\\\">\\n Learn more\\n </button>\\n </a>\\n <button\\n (click)=\\\"accept()\\\"\\n class=\\\"f-button\\\"\\n [attr.text]=\\\"'Ok, Got it'\\\"\\n aria-label=\\\"Ok, Got it\\\">\\n Ok, Got it\\n </button>\\n </div>\\n </div>\\n}\\n\", styles: [\":host{position:fixed;bottom:16px;right:16px;z-index:99999;opacity:0;visibility:hidden;animation:1s linear forwards .5s fadeIn}.docs-cookies-popup{padding:1rem;background-color:var(--background-color);border:1px solid var(--divider-color);color:var(--primary-text);border-radius:var(--border-radius);font-size:14px;max-width:310px;transition:background-color .3s ease,border-color .3s ease,color .3s ease;box-shadow:var(--shadow-3)}.docs-cookies-popup>div{display:flex;gap:8px;align-items:center;width:100%;margin-block-start:1rem}.f-button{outline:none;border:none;height:unset;line-height:26px;font-size:14px;font-weight:500;border-radius:var(--border-radius)}@keyframes fadeIn{to{opacity:100%;visibility:visible}}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbS1yZW5kZXIvc3JjL2xpYi9hbmFseXRpY3MvY29va2llLXBvcHVwL2Nvb2tpZS1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL20tcmVuZGVyL3NyYy9saWIvYW5hbHl0aWNzL2Nvb2tpZS1wb3B1cC9jb29raWUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFN0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7QUFTeEQsTUFBTSxPQUFPLG9CQUFvQjtJQUNkLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRCxhQUFhLEdBQUcsTUFBTSxDQUFnQixJQUFJLHlEQUFDLENBQUM7SUFFMUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJO1FBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxNQUFNO1FBQy9CLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxPQUFPLHFEQUNqQyxDQUFDO0lBRUY7UUFDRSxJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVTLE1BQU07UUFDZCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzt1R0E1QlUsb0JBQW9COzJGQUFwQixvQkFBb0Isd0VDYmpDLG9vQkFvQkE7OzJGRFBhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHVGFnU2VydmljZSB9IGZyb20gJy4uL2ctdGFnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBGX0FDQ0VQVF9DT09LSUVTX0tFWSA9ICdtLWFjY2VwdHMtY29va2llcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nvb2tpZS1wb3B1cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb29raWUtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb29raWUtcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZVBvcHVwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxTdG9yYWdlID0gaW5qZWN0KExPQ0FMX1NUT1JBR0UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ndGFnID0gaW5qZWN0KEdUYWdTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnNlbnRWYWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd1BvcHVwID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLl9ndGFnICE9PSBudWxsICYmXG4gICAgdGhpcy5fY29uc2VudFZhbHVlKCkgIT09ICd0cnVlJyAmJlxuICAgIHRoaXMuX2NvbnNlbnRWYWx1ZSgpICE9PSAnZmFsc2UnLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2xvY2FsU3RvcmFnZT8uZ2V0SXRlbShGX0FDQ0VQVF9DT09LSUVTX0tFWSk7XG4gICAgICB0aGlzLl9jb25zZW50VmFsdWUuc2V0KHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuX2NvbnNlbnRWYWx1ZS5zZXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2VwdCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlPy5zZXRJdGVtKEZfQUNDRVBUX0NPT0tJRVNfS0VZLCAndHJ1ZScpO1xuICAgIH0gY2F0Y2ggeyAvKiBlbXB0eSAqLyB9XG5cbiAgICB0aGlzLl9ndGFnPy51cGRhdGVDb25zZW50KHRydWUpO1xuICAgIHRoaXMuX2NvbnNlbnRWYWx1ZS5zZXQoJ3RydWUnKTtcbiAgfVxufVxuXG4iLCJAaWYgKHNob3dQb3B1cCgpKSB7XG4gIDxkaXYgY2xhc3M9XCJkb2NzLWNvb2tpZXMtcG9wdXAgZG9jcy1pbnZlcnQtbW9kZVwiPlxuICAgIDxwPlRoaXMgc2l0ZSB1c2VzIGNvb2tpZXMgZnJvbSBHb29nbGUgdG8gZGVsaXZlciBpdHMgc2VydmljZXMgYW5kIHRvIGFuYWx5emUgdHJhZmZpYy48L3A+XG5cbiAgICA8ZGl2PlxuICAgICAgPGEgaHJlZj1cImh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS90ZWNobm9sb2dpZXMvY29va2llc1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmLWJ1dHRvblwiIFthdHRyLnRleHRdPVwiJ0xlYXJuIG1vcmUnXCIgYXJpYS1sYWJlbD1cIkxlYXJuIE1vcmVcIj5cbiAgICAgICAgICBMZWFybiBtb3JlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9hPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiYWNjZXB0KClcIlxuICAgICAgICBjbGFzcz1cImYtYnV0dG9uXCJcbiAgICAgICAgW2F0dHIudGV4dF09XCInT2ssIEdvdCBpdCdcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiT2ssIEdvdCBpdFwiPlxuICAgICAgICBPaywgR290IGl0XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0="],"names":[],"mappings":";;;;AAIY,MAAC,oBAAoB,GAAG;AAC7B,MAAM,oBAAoB,CAAC;AAClC,IAAI,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACzC,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnD,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxF,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI;AAClD,QAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,MAAM;AACvC,QAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI;AACZ,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC;AAC3E,YAAY,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AACzC;AACA,QAAQ,MAAM;AACd,YAAY,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC;AACA;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI;AACZ,YAAY,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;AACrE;AACA,QAAQ,MAAM;AACd,QAAQ,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC;AACvC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;AACtC;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC9K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,ooBAAooB,EAAE,MAAM,EAAE,CAAC,+sBAA+sB,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;AAC7kD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,ooBAAooB,EAAE,MAAM,EAAE,CAAC,+sBAA+sB,CAAC,EAAE;AAC79C,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;;;"}
|