@foblex/m-render 2.9.5 → 3.0.1
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 +996 -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} +173 -79
- 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.1",
|
|
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
|
|
6
|
+
import * as _foblex_m_render from '@foblex/m-render';
|
|
7
|
+
import { SafeResourceUrl, 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,35 @@ 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 iframeResourceUrl: i0.Signal<SafeResourceUrl | undefined>;
|
|
287
|
+
protected readonly hasContent: i0.Signal<boolean>;
|
|
288
|
+
protected readonly canToggleFullscreen: i0.Signal<boolean>;
|
|
289
|
+
protected readonly fullscreenLabel: i0.Signal<"Exit full screen" | "Full screen">;
|
|
290
|
+
protected readonly isFullscreen: i0.WritableSignal<boolean>;
|
|
291
|
+
private readonly _document;
|
|
292
|
+
private readonly _hostElement;
|
|
293
|
+
private readonly _isBrowser;
|
|
299
294
|
private readonly _mediatr;
|
|
300
295
|
private readonly _viewContainerRef;
|
|
296
|
+
private readonly _sanitizer;
|
|
301
297
|
ngOnInit(): void;
|
|
298
|
+
protected toggleFullscreen(): Promise<void>;
|
|
299
|
+
protected onFullscreenChange(): void;
|
|
300
|
+
private _isCurrentElementInFullscreen;
|
|
302
301
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExternalComponent, never>;
|
|
303
302
|
static ɵcmp: i0.ɵɵComponentDeclaration<ExternalComponent, "external-component", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
304
303
|
}
|
|
@@ -551,7 +550,7 @@ declare class MarkdownFooter {
|
|
|
551
550
|
private readonly _router;
|
|
552
551
|
private readonly _activatedRoute;
|
|
553
552
|
private readonly _window;
|
|
554
|
-
protected readonly navigation: IMarkdownFooterNavigation;
|
|
553
|
+
protected readonly navigation: _foblex_m_render.IMarkdownFooterNavigation;
|
|
555
554
|
private readonly _url;
|
|
556
555
|
private readonly _currentLink;
|
|
557
556
|
private readonly _prefix;
|
|
@@ -560,7 +559,7 @@ declare class MarkdownFooter {
|
|
|
560
559
|
protected readonly nextLink: i0.Signal<IMarkdownFooterLink | undefined>;
|
|
561
560
|
private _normalizeLink;
|
|
562
561
|
private _isExternal;
|
|
563
|
-
|
|
562
|
+
protected _click(event: MouseEvent): void;
|
|
564
563
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownFooter, never>;
|
|
565
564
|
static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownFooter, "markdown-footer", never, {}, {}, never, never, true, never>;
|
|
566
565
|
}
|
|
@@ -599,8 +598,8 @@ interface IMarkdownItToken {
|
|
|
599
598
|
}
|
|
600
599
|
|
|
601
600
|
interface IMarkdownContainerData {
|
|
602
|
-
|
|
603
|
-
height?: string;
|
|
601
|
+
value: string;
|
|
602
|
+
height?: string | number;
|
|
604
603
|
}
|
|
605
604
|
|
|
606
605
|
interface IParsedContainerData {
|
|
@@ -627,12 +626,30 @@ interface IPreviewNavigationService<T extends IPreviewNavigationGroup> {
|
|
|
627
626
|
}
|
|
628
627
|
declare const F_PREVIEW_NAVIGATION_PROVIDER: InjectionToken<IPreviewNavigationService<IPreviewNavigationGroup>>;
|
|
629
628
|
|
|
629
|
+
interface IMarkdownPageLayoutOptions {
|
|
630
|
+
hideTableOfContent: boolean;
|
|
631
|
+
expandContentWithoutTableOfContent: boolean;
|
|
632
|
+
}
|
|
633
|
+
interface IMarkdownFrontMatterData {
|
|
634
|
+
layout: IMarkdownPageLayoutOptions;
|
|
635
|
+
seo: ISeoOverrides | null;
|
|
636
|
+
}
|
|
637
|
+
interface IMarkdownFrontMatterParseResult {
|
|
638
|
+
markdown: string;
|
|
639
|
+
data: IMarkdownFrontMatterData;
|
|
640
|
+
}
|
|
641
|
+
declare const DEFAULT_MARKDOWN_PAGE_LAYOUT_OPTIONS: IMarkdownPageLayoutOptions;
|
|
642
|
+
|
|
630
643
|
declare class MarkdownService {
|
|
631
644
|
private readonly _markdown;
|
|
632
645
|
private readonly _httpClient;
|
|
633
646
|
private readonly _domSanitizer;
|
|
634
647
|
private readonly _router;
|
|
635
648
|
private readonly _provider;
|
|
649
|
+
private readonly _pageLayout;
|
|
650
|
+
private readonly _pageSeo;
|
|
651
|
+
readonly pageLayout: i0.Signal<IMarkdownPageLayoutOptions>;
|
|
652
|
+
readonly pageSeo: i0.Signal<ISeoOverrides | null>;
|
|
636
653
|
constructor();
|
|
637
654
|
parseUrl(src: string): Observable<SafeHtml>;
|
|
638
655
|
parseText(value: string): Observable<SafeHtml>;
|
|
@@ -641,6 +658,18 @@ declare class MarkdownService {
|
|
|
641
658
|
private _cleanupEmptyParagraphs;
|
|
642
659
|
private _cleanupWasteParagraphFromExampleView;
|
|
643
660
|
private _cleanupWasteParagraphFromPreviewGroup;
|
|
661
|
+
private _renderMarkdownWithPageContext;
|
|
662
|
+
private _parseFrontMatter;
|
|
663
|
+
private _parseFrontMatterData;
|
|
664
|
+
private _parseFrontMatterLine;
|
|
665
|
+
private _normalizeFrontMatterValue;
|
|
666
|
+
private _parseBoolean;
|
|
667
|
+
private _applyLayoutKey;
|
|
668
|
+
private _applySeoKey;
|
|
669
|
+
private _parseNumberOrDefault;
|
|
670
|
+
private _applyPageContext;
|
|
671
|
+
private _resetPageContext;
|
|
672
|
+
private _getDefaultFrontMatterData;
|
|
644
673
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownService, never>;
|
|
645
674
|
static ɵprov: i0.ɵɵInjectableDeclaration<MarkdownService>;
|
|
646
675
|
}
|
|
@@ -679,6 +708,7 @@ declare class ParseAngularExampleWithCodeLinks {
|
|
|
679
708
|
private _opening;
|
|
680
709
|
private _collectData;
|
|
681
710
|
private _parseNgComponent;
|
|
711
|
+
private _parseHeight;
|
|
682
712
|
}
|
|
683
713
|
|
|
684
714
|
type ContainerArgs$1 = [typeof container, string, {
|
|
@@ -740,7 +770,9 @@ declare class MarkdownRouter {
|
|
|
740
770
|
private readonly _activatedRoute;
|
|
741
771
|
private readonly _markdown;
|
|
742
772
|
private readonly _dataProvider;
|
|
773
|
+
private readonly _metaService;
|
|
743
774
|
protected readonly emptyNavigation: boolean;
|
|
775
|
+
protected readonly shouldExpandContent: i0.Signal<boolean>;
|
|
744
776
|
private readonly _path$;
|
|
745
777
|
protected readonly html: i0.Signal<SafeHtml | undefined>;
|
|
746
778
|
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownRouter, never>;
|
|
@@ -754,6 +786,19 @@ interface IScrollableContainer {
|
|
|
754
786
|
};
|
|
755
787
|
}
|
|
756
788
|
|
|
789
|
+
declare class ScrollableContainer implements OnInit, IScrollableContainer {
|
|
790
|
+
private readonly _destroyRef;
|
|
791
|
+
private readonly _injector;
|
|
792
|
+
private readonly _markdown;
|
|
793
|
+
protected readonly tableOfContent: _foblex_m_render.ITableOfContent | null;
|
|
794
|
+
protected readonly canShowTableOfContent: i0.Signal<boolean>;
|
|
795
|
+
readonly htmlElement: any;
|
|
796
|
+
ngOnInit(): void;
|
|
797
|
+
private _calculateHashAndActivate;
|
|
798
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollableContainer, never>;
|
|
799
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScrollableContainer, "scrollable-container", never, {}, {}, never, ["*"], true, never>;
|
|
800
|
+
}
|
|
801
|
+
|
|
757
802
|
declare class ActivateTocByHashRequest {
|
|
758
803
|
hash: string | undefined;
|
|
759
804
|
static readonly requestToken: unique symbol;
|
|
@@ -884,17 +929,6 @@ declare class TableOfContent {
|
|
|
884
929
|
static ɵcmp: i0.ɵɵComponentDeclaration<TableOfContent, "table-of-content", never, {}, {}, never, never, true, never>;
|
|
885
930
|
}
|
|
886
931
|
|
|
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
932
|
declare class HandleNavigationLinksRequest {
|
|
899
933
|
event: MouseEvent;
|
|
900
934
|
window: Window;
|
|
@@ -1093,17 +1127,25 @@ declare class HighlightService {
|
|
|
1093
1127
|
*/
|
|
1094
1128
|
private readonly _isBrowser;
|
|
1095
1129
|
private readonly _window;
|
|
1130
|
+
private readonly _languageLoadingTasks;
|
|
1096
1131
|
private readonly _highlighter$;
|
|
1097
1132
|
highlight(element: HTMLElement, lang: string, content: string): Observable<HTMLElement>;
|
|
1098
1133
|
private _highlightCodeBlock;
|
|
1099
1134
|
private _renderCode;
|
|
1100
1135
|
private _preprocessFocus;
|
|
1136
|
+
private _createHighlighter;
|
|
1137
|
+
private _ensureLanguageLoaded;
|
|
1138
|
+
private _scheduleRender;
|
|
1101
1139
|
private _postProcess;
|
|
1102
1140
|
static ɵfac: i0.ɵɵFactoryDeclaration<HighlightService, never>;
|
|
1103
1141
|
static ɵprov: i0.ɵɵInjectableDeclaration<HighlightService>;
|
|
1104
1142
|
}
|
|
1105
1143
|
|
|
1106
|
-
|
|
1144
|
+
type ShikiLanguage = 'javascript' | 'typescript' | 'angular-html' | 'angular-ts' | 'shell' | 'html' | 'bash' | 'css' | 'scss' | 'markdown';
|
|
1145
|
+
type HighlightLanguage = ShikiLanguage | PlainTextLanguage;
|
|
1146
|
+
declare const AVAILABLE_LANGUAGES: readonly HighlightLanguage[];
|
|
1147
|
+
declare function resolveHighlightLanguage(lang?: string): HighlightLanguage;
|
|
1148
|
+
declare function getLanguageLoader(lang: HighlightLanguage): LanguageInput | null;
|
|
1107
1149
|
|
|
1108
1150
|
declare class MarkCodeFocusedBlocksPostProcessor {
|
|
1109
1151
|
private _window;
|
|
@@ -1249,6 +1291,58 @@ declare class HomeRootComponent implements AfterViewInit, OnInit {
|
|
|
1249
1291
|
|
|
1250
1292
|
declare const HOME_ROUTES: Routes;
|
|
1251
1293
|
|
|
1294
|
+
declare class FBrandLinkComponent {
|
|
1295
|
+
readonly title: i0.InputSignal<string>;
|
|
1296
|
+
readonly logo: i0.InputSignal<string>;
|
|
1297
|
+
readonly ariaLabel: i0.InputSignal<string>;
|
|
1298
|
+
readonly logoAlt: i0.InputSignal<string>;
|
|
1299
|
+
readonly href: i0.InputSignal<string>;
|
|
1300
|
+
readonly routerLink: i0.InputSignal<string | readonly unknown[] | null>;
|
|
1301
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FBrandLinkComponent, never>;
|
|
1302
|
+
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>;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
declare class FSearchButtonComponent {
|
|
1306
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FSearchButtonComponent, never>;
|
|
1307
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FSearchButtonComponent, "f-search-button", never, {}, {}, never, never, true, never>;
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
declare class FCheckboxComponent {
|
|
1311
|
+
private changeDetectorRef;
|
|
1312
|
+
id: string;
|
|
1313
|
+
change: EventEmitter<boolean>;
|
|
1314
|
+
private inputElement?;
|
|
1315
|
+
labelElement?: ElementRef<HTMLLabelElement>;
|
|
1316
|
+
get checked(): boolean;
|
|
1317
|
+
set checked(value: boolean);
|
|
1318
|
+
private isChecked;
|
|
1319
|
+
constructor(changeDetectorRef: ChangeDetectorRef);
|
|
1320
|
+
onInputClick(): void;
|
|
1321
|
+
onTouchTargetClick(): void;
|
|
1322
|
+
private handleInputClick;
|
|
1323
|
+
private emitChangeEvent;
|
|
1324
|
+
onInteractionEvent(event: Event): void;
|
|
1325
|
+
preventBubblingFromLabel(event: MouseEvent): void;
|
|
1326
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FCheckboxComponent, never>;
|
|
1327
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FCheckboxComponent, "f-checkbox", never, { "id": { "alias": "id"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
1328
|
+
static ngAcceptInputType_checked: unknown;
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
declare class FRadioButtonComponent {
|
|
1332
|
+
id: i0.InputSignal<string>;
|
|
1333
|
+
change: i0.OutputEmitterRef<boolean>;
|
|
1334
|
+
checked: i0.InputSignal<boolean>;
|
|
1335
|
+
protected labelElement: i0.Signal<ElementRef<any> | undefined>;
|
|
1336
|
+
onInputClick(): void;
|
|
1337
|
+
onTouchTargetClick(): void;
|
|
1338
|
+
private _handleInputClick;
|
|
1339
|
+
private _emitChangeEvent;
|
|
1340
|
+
protected onInteractionEvent(event: Event): void;
|
|
1341
|
+
protected preventBubblingFromLabel(event: MouseEvent): void;
|
|
1342
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FRadioButtonComponent, never>;
|
|
1343
|
+
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>;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1252
1346
|
declare class ThemeButtonComponent implements OnInit {
|
|
1253
1347
|
private readonly _renderer;
|
|
1254
1348
|
private readonly _themeService;
|
|
@@ -1264,5 +1358,5 @@ declare class ThemeButtonComponent implements OnInit {
|
|
|
1264
1358
|
|
|
1265
1359
|
declare function provideTheme(): Provider[];
|
|
1266
1360
|
|
|
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 };
|
|
1361
|
+
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 };
|
|
1362
|
+
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;;;;"}
|