valtech-components 2.0.530 → 2.0.531
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/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +218 -0
- package/esm2022/lib/components/molecules/docs-api-table/types.mjs +11 -0
- package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +217 -0
- package/esm2022/lib/components/molecules/docs-code-example/types.mjs +2 -0
- package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +133 -0
- package/esm2022/lib/components/molecules/docs-nav-links/types.mjs +2 -0
- package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +276 -0
- package/esm2022/lib/components/organisms/docs-sidebar/types.mjs +2 -0
- package/esm2022/lib/components/organisms/docs-toc/docs-toc.component.mjs +255 -0
- package/esm2022/lib/components/organisms/docs-toc/types.mjs +2 -0
- package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +203 -0
- package/esm2022/lib/components/templates/docs-layout/types.mjs +2 -0
- package/esm2022/public-api.mjs +15 -1
- package/fesm2022/valtech-components.mjs +1279 -2
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/docs-api-table/docs-api-table.component.d.ts +41 -0
- package/lib/components/molecules/docs-api-table/types.d.ts +62 -0
- package/lib/components/molecules/docs-code-example/docs-code-example.component.d.ts +35 -0
- package/lib/components/molecules/docs-code-example/types.d.ts +63 -0
- package/lib/components/molecules/docs-nav-links/docs-nav-links.component.d.ts +29 -0
- package/lib/components/molecules/docs-nav-links/types.d.ts +31 -0
- package/lib/components/organisms/docs-sidebar/docs-sidebar.component.d.ts +51 -0
- package/lib/components/organisms/docs-sidebar/types.d.ts +93 -0
- package/lib/components/organisms/docs-toc/docs-toc.component.d.ts +58 -0
- package/lib/components/organisms/docs-toc/types.d.ts +62 -0
- package/lib/components/templates/docs-layout/docs-layout.component.d.ts +41 -0
- package/lib/components/templates/docs-layout/types.d.ts +39 -0
- package/package.json +1 -1
- package/public-api.d.ts +12 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
3
|
+
import { IonIcon } from '@ionic/angular/standalone';
|
|
4
|
+
import { addIcons } from 'ionicons';
|
|
5
|
+
import { arrowBackOutline, arrowForwardOutline } from 'ionicons/icons';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
addIcons({ arrowBackOutline, arrowForwardOutline });
|
|
9
|
+
/**
|
|
10
|
+
* val-docs-nav-links
|
|
11
|
+
*
|
|
12
|
+
* Navigation links for previous/next page navigation in documentation.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```html
|
|
16
|
+
* <val-docs-nav-links
|
|
17
|
+
* [props]="{
|
|
18
|
+
* previous: { label: 'Previous', title: 'Getting Started', route: ['/docs', 'getting-started'] },
|
|
19
|
+
* next: { label: 'Next', title: 'Components', route: ['/docs', 'components'] }
|
|
20
|
+
* }"
|
|
21
|
+
* ></val-docs-nav-links>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export class DocsNavLinksComponent {
|
|
25
|
+
constructor(router) {
|
|
26
|
+
this.router = router;
|
|
27
|
+
this.props = {};
|
|
28
|
+
this.navigate = new EventEmitter();
|
|
29
|
+
}
|
|
30
|
+
getHref(route) {
|
|
31
|
+
return '/' + route.join('/');
|
|
32
|
+
}
|
|
33
|
+
onNavigate(event, route) {
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
this.navigate.emit(route);
|
|
36
|
+
this.router.navigate(route);
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavLinksComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsNavLinksComponent, isStandalone: true, selector: "val-docs-nav-links", inputs: { props: "props" }, outputs: { navigate: "navigate" }, ngImport: i0, template: `
|
|
40
|
+
<nav class="docs-nav-links" [class]="props.cssClass">
|
|
41
|
+
<!-- Previous -->
|
|
42
|
+
<div
|
|
43
|
+
class="docs-nav-links__item docs-nav-links__item--prev"
|
|
44
|
+
[class.docs-nav-links__item--empty]="!props.previous"
|
|
45
|
+
>
|
|
46
|
+
@if (props.previous) {
|
|
47
|
+
<a
|
|
48
|
+
class="docs-nav-links__link"
|
|
49
|
+
[href]="getHref(props.previous.route)"
|
|
50
|
+
(click)="onNavigate($event, props.previous.route)"
|
|
51
|
+
>
|
|
52
|
+
<ion-icon name="arrow-back-outline" class="docs-nav-links__icon"></ion-icon>
|
|
53
|
+
<div class="docs-nav-links__text">
|
|
54
|
+
<span class="docs-nav-links__label">{{ props.previous.label || 'Previous' }}</span>
|
|
55
|
+
<span class="docs-nav-links__title">{{ props.previous.title }}</span>
|
|
56
|
+
</div>
|
|
57
|
+
</a>
|
|
58
|
+
}
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<!-- Next -->
|
|
62
|
+
<div
|
|
63
|
+
class="docs-nav-links__item docs-nav-links__item--next"
|
|
64
|
+
[class.docs-nav-links__item--empty]="!props.next"
|
|
65
|
+
>
|
|
66
|
+
@if (props.next) {
|
|
67
|
+
<a
|
|
68
|
+
class="docs-nav-links__link"
|
|
69
|
+
[href]="getHref(props.next.route)"
|
|
70
|
+
(click)="onNavigate($event, props.next.route)"
|
|
71
|
+
>
|
|
72
|
+
<div class="docs-nav-links__text">
|
|
73
|
+
<span class="docs-nav-links__label">{{ props.next.label || 'Next' }}</span>
|
|
74
|
+
<span class="docs-nav-links__title">{{ props.next.title }}</span>
|
|
75
|
+
</div>
|
|
76
|
+
<ion-icon name="arrow-forward-outline" class="docs-nav-links__icon"></ion-icon>
|
|
77
|
+
</a>
|
|
78
|
+
}
|
|
79
|
+
</div>
|
|
80
|
+
</nav>
|
|
81
|
+
`, isInline: true, styles: [".docs-nav-links{display:flex;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ion-border-color, #e0e0e0);&__item{flex:1;&--empty{visibility:hidden}&--next{text-align:right;.docs-nav-links__link{justify-content:flex-end}.docs-nav-links__text{align-items:flex-end}}}&__link{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s ease;border:1px solid var(--ion-border-color, #e0e0e0);&:hover{background:var(--ion-color-light, #f4f5f8);border-color:var(--ion-color-primary, #3880ff);.docs-nav-links__title{color:var(--ion-color-primary, #3880ff)}}}&__icon{font-size:1.25rem;color:var(--ion-color-medium, #666)}&__text{display:flex;flex-direction:column;gap:.25rem}&__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium, #666)}&__title{font-size:1rem;font-weight:600;color:var(--ion-text-color, #1a1a1a);transition:color .2s ease}}// Mobile responsive @media (max-width: 600px){.docs-nav-links{flex-direction:column;&__item--next{text-align:left;.docs-nav-links__link{justify-content:flex-start;flex-direction:row-reverse}.docs-nav-links__text{align-items:flex-start}}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-nav-links{&__link{border-color:#3a3a3a;&:hover{background:#ffffff0d}}&__title{color:#f4f5f8}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavLinksComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'val-docs-nav-links', standalone: true, imports: [CommonModule, IonIcon], template: `
|
|
86
|
+
<nav class="docs-nav-links" [class]="props.cssClass">
|
|
87
|
+
<!-- Previous -->
|
|
88
|
+
<div
|
|
89
|
+
class="docs-nav-links__item docs-nav-links__item--prev"
|
|
90
|
+
[class.docs-nav-links__item--empty]="!props.previous"
|
|
91
|
+
>
|
|
92
|
+
@if (props.previous) {
|
|
93
|
+
<a
|
|
94
|
+
class="docs-nav-links__link"
|
|
95
|
+
[href]="getHref(props.previous.route)"
|
|
96
|
+
(click)="onNavigate($event, props.previous.route)"
|
|
97
|
+
>
|
|
98
|
+
<ion-icon name="arrow-back-outline" class="docs-nav-links__icon"></ion-icon>
|
|
99
|
+
<div class="docs-nav-links__text">
|
|
100
|
+
<span class="docs-nav-links__label">{{ props.previous.label || 'Previous' }}</span>
|
|
101
|
+
<span class="docs-nav-links__title">{{ props.previous.title }}</span>
|
|
102
|
+
</div>
|
|
103
|
+
</a>
|
|
104
|
+
}
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<!-- Next -->
|
|
108
|
+
<div
|
|
109
|
+
class="docs-nav-links__item docs-nav-links__item--next"
|
|
110
|
+
[class.docs-nav-links__item--empty]="!props.next"
|
|
111
|
+
>
|
|
112
|
+
@if (props.next) {
|
|
113
|
+
<a
|
|
114
|
+
class="docs-nav-links__link"
|
|
115
|
+
[href]="getHref(props.next.route)"
|
|
116
|
+
(click)="onNavigate($event, props.next.route)"
|
|
117
|
+
>
|
|
118
|
+
<div class="docs-nav-links__text">
|
|
119
|
+
<span class="docs-nav-links__label">{{ props.next.label || 'Next' }}</span>
|
|
120
|
+
<span class="docs-nav-links__title">{{ props.next.title }}</span>
|
|
121
|
+
</div>
|
|
122
|
+
<ion-icon name="arrow-forward-outline" class="docs-nav-links__icon"></ion-icon>
|
|
123
|
+
</a>
|
|
124
|
+
}
|
|
125
|
+
</div>
|
|
126
|
+
</nav>
|
|
127
|
+
`, styles: [".docs-nav-links{display:flex;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ion-border-color, #e0e0e0);&__item{flex:1;&--empty{visibility:hidden}&--next{text-align:right;.docs-nav-links__link{justify-content:flex-end}.docs-nav-links__text{align-items:flex-end}}}&__link{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s ease;border:1px solid var(--ion-border-color, #e0e0e0);&:hover{background:var(--ion-color-light, #f4f5f8);border-color:var(--ion-color-primary, #3880ff);.docs-nav-links__title{color:var(--ion-color-primary, #3880ff)}}}&__icon{font-size:1.25rem;color:var(--ion-color-medium, #666)}&__text{display:flex;flex-direction:column;gap:.25rem}&__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium, #666)}&__title{font-size:1rem;font-weight:600;color:var(--ion-text-color, #1a1a1a);transition:color .2s ease}}// Mobile responsive @media (max-width: 600px){.docs-nav-links{flex-direction:column;&__item--next{text-align:left;.docs-nav-links__link{justify-content:flex-start;flex-direction:row-reverse}.docs-nav-links__text{align-items:flex-start}}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-nav-links{&__link{border-color:#3a3a3a;&:hover{background:#ffffff0d}}&__title{color:#f4f5f8}}}\n"] }]
|
|
128
|
+
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { props: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], navigate: [{
|
|
131
|
+
type: Output
|
|
132
|
+
}] } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXYtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2RSxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFtS0gsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUp6QixVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUViLENBQUM7SUFFdEMsT0FBTyxDQUFDLEtBQWU7UUFDckIsT0FBTyxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVksRUFBRSxLQUFlO1FBQ3RDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWZVLHFCQUFxQjttR0FBckIscUJBQXFCLDZJQTlKdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCw0N0NBM0NTLFlBQVksK0JBQUUsT0FBTzs7NEZBK0pwQixxQkFBcUI7a0JBbEtqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1Q7MkVBcUhRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhcnJvd0JhY2tPdXRsaW5lLCBhcnJvd0ZvcndhcmRPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgRG9jc05hdkxpbmtzTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBhcnJvd0JhY2tPdXRsaW5lLCBhcnJvd0ZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLW5hdi1saW5rc1xuICpcbiAqIE5hdmlnYXRpb24gbGlua3MgZm9yIHByZXZpb3VzL25leHQgcGFnZSBuYXZpZ2F0aW9uIGluIGRvY3VtZW50YXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1uYXYtbGlua3NcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBwcmV2aW91czogeyBsYWJlbDogJ1ByZXZpb3VzJywgdGl0bGU6ICdHZXR0aW5nIFN0YXJ0ZWQnLCByb3V0ZTogWycvZG9jcycsICdnZXR0aW5nLXN0YXJ0ZWQnXSB9LFxuICogICAgIG5leHQ6IHsgbGFiZWw6ICdOZXh0JywgdGl0bGU6ICdDb21wb25lbnRzJywgcm91dGU6IFsnL2RvY3MnLCAnY29tcG9uZW50cyddIH1cbiAqICAgfVwiXG4gKiA+PC92YWwtZG9jcy1uYXYtbGlua3M+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWRvY3MtbmF2LWxpbmtzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5hdiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8IS0tIFByZXZpb3VzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1wcmV2XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMucHJldmlvdXNcIlxuICAgICAgPlxuICAgICAgICBAaWYgKHByb3BzLnByZXZpb3VzKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xpbmtcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ2V0SHJlZihwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctYmFjay1vdXRsaW5lXCIgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGFiZWxcIj57eyBwcm9wcy5wcmV2aW91cy5sYWJlbCB8fCAnUHJldmlvdXMnIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190aXRsZVwiPnt7IHByb3BzLnByZXZpb3VzLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBOZXh0IC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMubmV4dFwiXG4gICAgICA+XG4gICAgICAgIEBpZiAocHJvcHMubmV4dCkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19saW5rXCJcbiAgICAgICAgICAgIFtocmVmXT1cImdldEhyZWYocHJvcHMubmV4dC5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5uZXh0LnJvdXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xhYmVsXCI+e3sgcHJvcHMubmV4dC5sYWJlbCB8fCAnTmV4dCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RpdGxlXCI+e3sgcHJvcHMubmV4dC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG5cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgIC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kb2NzLW5hdi1saW5rc19fdGV4dCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjMzg4MGZmKTtcblxuICAgICAgICAgIC5kb2NzLW5hdi1saW5rc19fdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjMzg4MGZmKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIHJlc3BvbnNpdmVcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5kb2NzLW5hdi1saW5rcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJl9faXRlbS0tbmV4dCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgIC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmsgbW9kZVxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT0nZGFyayddKSB7XG4gICAgICAuZG9jcy1uYXYtbGlua3Mge1xuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYTNhM2E7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAjZjRmNWY4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc05hdkxpbmtzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IERvY3NOYXZMaW5rc01ldGFkYXRhID0ge307XG5cbiAgQE91dHB1dCgpIG5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGdldEhyZWYocm91dGU6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJy8nICsgcm91dGUuam9pbignLycpO1xuICB9XG5cbiAgb25OYXZpZ2F0ZShldmVudDogRXZlbnQsIHJvdXRlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyb3V0ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RvY3MtbmF2LWxpbmtzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkb2NzLW5hdi1saW5rcyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc05hdkxpbmtzTWV0YWRhdGEge1xuICAvKipcbiAgICogUHJldmlvdXMgcGFnZSBsaW5rLlxuICAgKi9cbiAgcHJldmlvdXM/OiBEb2NzTmF2TGluaztcblxuICAvKipcbiAgICogTmV4dCBwYWdlIGxpbmsuXG4gICAqL1xuICBuZXh0PzogRG9jc05hdkxpbms7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBDU1MgY2xhc3MuXG4gICAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NzTmF2TGluayB7XG4gIC8qKlxuICAgKiBMYWJlbCAoc21hbGwgdGV4dCwgZS5nLiwgXCJQcmV2aW91c1wiLCBcIk5leHRcIikuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGl0bGUgKG1haW4gdGV4dCwgcGFnZSBuYW1lKS5cbiAgICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJvdXRlIHRvIG5hdmlnYXRlIHRvLlxuICAgKi9cbiAgcm91dGU6IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
3
|
+
import { NavigationEnd } from '@angular/router';
|
|
4
|
+
import { IonIcon } from '@ionic/angular/standalone';
|
|
5
|
+
import { addIcons } from 'ionicons';
|
|
6
|
+
import { chevronDownOutline, chevronForwardOutline } from 'ionicons/icons';
|
|
7
|
+
import { filter } from 'rxjs/operators';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/router";
|
|
10
|
+
addIcons({ chevronDownOutline, chevronForwardOutline });
|
|
11
|
+
/**
|
|
12
|
+
* val-docs-sidebar
|
|
13
|
+
*
|
|
14
|
+
* A hierarchical navigation sidebar for documentation sites.
|
|
15
|
+
* Supports collapsible sections, active route highlighting, and badges.
|
|
16
|
+
*
|
|
17
|
+
* @example Basic usage
|
|
18
|
+
* ```html
|
|
19
|
+
* <val-docs-sidebar
|
|
20
|
+
* [props]="{
|
|
21
|
+
* logo: { src: '/assets/logo.svg', alt: 'Docs', title: 'DOCS' },
|
|
22
|
+
* sections: [
|
|
23
|
+
* { title: 'Getting Started', route: ['/docs', 'getting-started'] },
|
|
24
|
+
* {
|
|
25
|
+
* title: 'Components',
|
|
26
|
+
* expanded: true,
|
|
27
|
+
* children: [
|
|
28
|
+
* { label: 'Button', route: ['/docs', 'components', 'button'] },
|
|
29
|
+
* { label: 'Card', route: ['/docs', 'components', 'card'], badge: 'New' }
|
|
30
|
+
* ]
|
|
31
|
+
* }
|
|
32
|
+
* ]
|
|
33
|
+
* }"
|
|
34
|
+
* (navigate)="onNavigate($event)"
|
|
35
|
+
* ></val-docs-sidebar>
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export class DocsSidebarComponent {
|
|
39
|
+
constructor(router) {
|
|
40
|
+
this.router = router;
|
|
41
|
+
this.props = { sections: [] };
|
|
42
|
+
this.navigate = new EventEmitter();
|
|
43
|
+
this.expandedSections = {};
|
|
44
|
+
this.currentRoute = [];
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.initializeExpandedSections();
|
|
48
|
+
this.updateCurrentRoute();
|
|
49
|
+
// Listen for route changes
|
|
50
|
+
this.router.events
|
|
51
|
+
.pipe(filter(event => event instanceof NavigationEnd))
|
|
52
|
+
.subscribe(() => {
|
|
53
|
+
this.updateCurrentRoute();
|
|
54
|
+
this.autoExpandActiveSection();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
ngOnChanges(changes) {
|
|
58
|
+
if (changes['props']) {
|
|
59
|
+
this.initializeExpandedSections();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
initializeExpandedSections() {
|
|
63
|
+
this.props.sections.forEach(section => {
|
|
64
|
+
if (this.expandedSections[section.title] === undefined) {
|
|
65
|
+
this.expandedSections[section.title] = section.expanded ?? false;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
updateCurrentRoute() {
|
|
70
|
+
this.currentRoute = this.router.url.split('/').filter(Boolean);
|
|
71
|
+
// Use activeRoute from props if provided
|
|
72
|
+
if (this.props.activeRoute) {
|
|
73
|
+
this.currentRoute = this.props.activeRoute;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
autoExpandActiveSection() {
|
|
77
|
+
this.props.sections.forEach(section => {
|
|
78
|
+
if (section.children?.some(link => this.isLinkActive(link))) {
|
|
79
|
+
this.expandedSections[section.title] = true;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
onSectionClick(section) {
|
|
84
|
+
if (section.route) {
|
|
85
|
+
this.onNavigate(section.route);
|
|
86
|
+
}
|
|
87
|
+
else if (section.children?.length) {
|
|
88
|
+
this.expandedSections[section.title] = !this.expandedSections[section.title];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
onNavigate(route) {
|
|
92
|
+
this.navigate.emit(route);
|
|
93
|
+
this.router.navigate(route);
|
|
94
|
+
}
|
|
95
|
+
isSectionActive(section) {
|
|
96
|
+
if (section.route) {
|
|
97
|
+
return this.routesMatch(section.route, this.currentRoute);
|
|
98
|
+
}
|
|
99
|
+
return section.children?.some(link => this.isLinkActive(link)) ?? false;
|
|
100
|
+
}
|
|
101
|
+
isLinkActive(link) {
|
|
102
|
+
return this.routesMatch(link.route, this.currentRoute);
|
|
103
|
+
}
|
|
104
|
+
routesMatch(route, current) {
|
|
105
|
+
const routePath = route.join('/').replace(/^\//, '');
|
|
106
|
+
const currentPath = current.join('/');
|
|
107
|
+
return currentPath === routePath || currentPath.startsWith(routePath + '/');
|
|
108
|
+
}
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsSidebarComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsSidebarComponent, isStandalone: true, selector: "val-docs-sidebar", inputs: { props: "props" }, outputs: { navigate: "navigate" }, usesOnChanges: true, ngImport: i0, template: `
|
|
111
|
+
<nav
|
|
112
|
+
class="docs-sidebar"
|
|
113
|
+
[class]="props.cssClass"
|
|
114
|
+
[style.background]="props.backgroundColor"
|
|
115
|
+
>
|
|
116
|
+
<!-- Logo -->
|
|
117
|
+
@if (props.logo) {
|
|
118
|
+
<div
|
|
119
|
+
class="docs-sidebar__logo"
|
|
120
|
+
[class.docs-sidebar__logo--clickable]="props.logo.route"
|
|
121
|
+
(click)="props.logo.route ? onNavigate(props.logo.route) : null"
|
|
122
|
+
>
|
|
123
|
+
<img
|
|
124
|
+
[src]="props.logo.src"
|
|
125
|
+
[alt]="props.logo.alt"
|
|
126
|
+
[style.height]="props.logo.height || '32px'"
|
|
127
|
+
/>
|
|
128
|
+
@if (props.logo.title) {
|
|
129
|
+
<span class="docs-sidebar__logo-title">{{ props.logo.title }}</span>
|
|
130
|
+
}
|
|
131
|
+
</div>
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
<!-- Navigation sections -->
|
|
135
|
+
<div class="docs-sidebar__nav">
|
|
136
|
+
@for (section of props.sections; track section.title) {
|
|
137
|
+
<div class="docs-sidebar__section">
|
|
138
|
+
<!-- Section header -->
|
|
139
|
+
<div
|
|
140
|
+
class="docs-sidebar__section-header"
|
|
141
|
+
[class.docs-sidebar__section-header--active]="isSectionActive(section)"
|
|
142
|
+
[class.docs-sidebar__section-header--expanded]="expandedSections[section.title]"
|
|
143
|
+
[class.docs-sidebar__section-header--clickable]="section.route || section.children?.length"
|
|
144
|
+
(click)="onSectionClick(section)"
|
|
145
|
+
>
|
|
146
|
+
@if (section.icon) {
|
|
147
|
+
<ion-icon [name]="section.icon" class="docs-sidebar__section-icon"></ion-icon>
|
|
148
|
+
}
|
|
149
|
+
<span class="docs-sidebar__section-title">{{ section.title }}</span>
|
|
150
|
+
@if (section.badge) {
|
|
151
|
+
<span class="docs-sidebar__badge docs-sidebar__badge--section">{{ section.badge }}</span>
|
|
152
|
+
}
|
|
153
|
+
@if (section.children?.length) {
|
|
154
|
+
<ion-icon
|
|
155
|
+
class="docs-sidebar__chevron"
|
|
156
|
+
[name]="expandedSections[section.title] ? 'chevron-down-outline' : 'chevron-forward-outline'"
|
|
157
|
+
></ion-icon>
|
|
158
|
+
}
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<!-- Section children -->
|
|
162
|
+
@if (section.children?.length && expandedSections[section.title]) {
|
|
163
|
+
<div class="docs-sidebar__children">
|
|
164
|
+
@for (link of section.children; track link.label) {
|
|
165
|
+
<div
|
|
166
|
+
class="docs-sidebar__link"
|
|
167
|
+
[class.docs-sidebar__link--active]="isLinkActive(link)"
|
|
168
|
+
(click)="onNavigate(link.route)"
|
|
169
|
+
>
|
|
170
|
+
<span class="docs-sidebar__link-label">{{ link.label }}</span>
|
|
171
|
+
@if (link.badge) {
|
|
172
|
+
<span
|
|
173
|
+
class="docs-sidebar__badge"
|
|
174
|
+
[class.docs-sidebar__badge--primary]="link.badgeColor === 'primary'"
|
|
175
|
+
[class.docs-sidebar__badge--success]="link.badgeColor === 'success'"
|
|
176
|
+
[class.docs-sidebar__badge--warning]="link.badgeColor === 'warning'"
|
|
177
|
+
[class.docs-sidebar__badge--danger]="link.badgeColor === 'danger'"
|
|
178
|
+
>{{ link.badge }}</span>
|
|
179
|
+
}
|
|
180
|
+
</div>
|
|
181
|
+
}
|
|
182
|
+
</div>
|
|
183
|
+
}
|
|
184
|
+
</div>
|
|
185
|
+
}
|
|
186
|
+
</div>
|
|
187
|
+
</nav>
|
|
188
|
+
`, isInline: true, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-medium, #666);--sidebar-active-color: var(--ion-color-primary, #3880ff);--sidebar-active-bg: var(--ion-color-primary-tint, rgba(56, 128, 255, .1));--sidebar-hover-bg: var(--ion-color-light, #f4f5f8);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--ion-color-primary-tint, rgba(56, 128, 255, .15));color:var(--ion-color-primary, #3880ff)}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary{background:var(--ion-color-primary-tint, rgba(56, 128, 255, .15));color:var(--ion-color-primary, #3880ff)}.docs-sidebar__badge--success{background:var(--ion-color-success-tint, rgba(45, 211, 111, .15));color:var(--ion-color-success, #2dd36f)}.docs-sidebar__badge--warning{background:var(--ion-color-warning-tint, rgba(255, 196, 9, .15));color:var(--ion-color-warning-shade, #e0ac08)}.docs-sidebar__badge--danger{background:var(--ion-color-danger-tint, rgba(235, 68, 90, .15));color:var(--ion-color-danger, #eb445a)}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
189
|
+
}
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsSidebarComponent, decorators: [{
|
|
191
|
+
type: Component,
|
|
192
|
+
args: [{ selector: 'val-docs-sidebar', standalone: true, imports: [CommonModule, IonIcon], template: `
|
|
193
|
+
<nav
|
|
194
|
+
class="docs-sidebar"
|
|
195
|
+
[class]="props.cssClass"
|
|
196
|
+
[style.background]="props.backgroundColor"
|
|
197
|
+
>
|
|
198
|
+
<!-- Logo -->
|
|
199
|
+
@if (props.logo) {
|
|
200
|
+
<div
|
|
201
|
+
class="docs-sidebar__logo"
|
|
202
|
+
[class.docs-sidebar__logo--clickable]="props.logo.route"
|
|
203
|
+
(click)="props.logo.route ? onNavigate(props.logo.route) : null"
|
|
204
|
+
>
|
|
205
|
+
<img
|
|
206
|
+
[src]="props.logo.src"
|
|
207
|
+
[alt]="props.logo.alt"
|
|
208
|
+
[style.height]="props.logo.height || '32px'"
|
|
209
|
+
/>
|
|
210
|
+
@if (props.logo.title) {
|
|
211
|
+
<span class="docs-sidebar__logo-title">{{ props.logo.title }}</span>
|
|
212
|
+
}
|
|
213
|
+
</div>
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
<!-- Navigation sections -->
|
|
217
|
+
<div class="docs-sidebar__nav">
|
|
218
|
+
@for (section of props.sections; track section.title) {
|
|
219
|
+
<div class="docs-sidebar__section">
|
|
220
|
+
<!-- Section header -->
|
|
221
|
+
<div
|
|
222
|
+
class="docs-sidebar__section-header"
|
|
223
|
+
[class.docs-sidebar__section-header--active]="isSectionActive(section)"
|
|
224
|
+
[class.docs-sidebar__section-header--expanded]="expandedSections[section.title]"
|
|
225
|
+
[class.docs-sidebar__section-header--clickable]="section.route || section.children?.length"
|
|
226
|
+
(click)="onSectionClick(section)"
|
|
227
|
+
>
|
|
228
|
+
@if (section.icon) {
|
|
229
|
+
<ion-icon [name]="section.icon" class="docs-sidebar__section-icon"></ion-icon>
|
|
230
|
+
}
|
|
231
|
+
<span class="docs-sidebar__section-title">{{ section.title }}</span>
|
|
232
|
+
@if (section.badge) {
|
|
233
|
+
<span class="docs-sidebar__badge docs-sidebar__badge--section">{{ section.badge }}</span>
|
|
234
|
+
}
|
|
235
|
+
@if (section.children?.length) {
|
|
236
|
+
<ion-icon
|
|
237
|
+
class="docs-sidebar__chevron"
|
|
238
|
+
[name]="expandedSections[section.title] ? 'chevron-down-outline' : 'chevron-forward-outline'"
|
|
239
|
+
></ion-icon>
|
|
240
|
+
}
|
|
241
|
+
</div>
|
|
242
|
+
|
|
243
|
+
<!-- Section children -->
|
|
244
|
+
@if (section.children?.length && expandedSections[section.title]) {
|
|
245
|
+
<div class="docs-sidebar__children">
|
|
246
|
+
@for (link of section.children; track link.label) {
|
|
247
|
+
<div
|
|
248
|
+
class="docs-sidebar__link"
|
|
249
|
+
[class.docs-sidebar__link--active]="isLinkActive(link)"
|
|
250
|
+
(click)="onNavigate(link.route)"
|
|
251
|
+
>
|
|
252
|
+
<span class="docs-sidebar__link-label">{{ link.label }}</span>
|
|
253
|
+
@if (link.badge) {
|
|
254
|
+
<span
|
|
255
|
+
class="docs-sidebar__badge"
|
|
256
|
+
[class.docs-sidebar__badge--primary]="link.badgeColor === 'primary'"
|
|
257
|
+
[class.docs-sidebar__badge--success]="link.badgeColor === 'success'"
|
|
258
|
+
[class.docs-sidebar__badge--warning]="link.badgeColor === 'warning'"
|
|
259
|
+
[class.docs-sidebar__badge--danger]="link.badgeColor === 'danger'"
|
|
260
|
+
>{{ link.badge }}</span>
|
|
261
|
+
}
|
|
262
|
+
</div>
|
|
263
|
+
}
|
|
264
|
+
</div>
|
|
265
|
+
}
|
|
266
|
+
</div>
|
|
267
|
+
}
|
|
268
|
+
</div>
|
|
269
|
+
</nav>
|
|
270
|
+
`, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-medium, #666);--sidebar-active-color: var(--ion-color-primary, #3880ff);--sidebar-active-bg: var(--ion-color-primary-tint, rgba(56, 128, 255, .1));--sidebar-hover-bg: var(--ion-color-light, #f4f5f8);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--ion-color-primary-tint, rgba(56, 128, 255, .15));color:var(--ion-color-primary, #3880ff)}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary{background:var(--ion-color-primary-tint, rgba(56, 128, 255, .15));color:var(--ion-color-primary, #3880ff)}.docs-sidebar__badge--success{background:var(--ion-color-success-tint, rgba(45, 211, 111, .15));color:var(--ion-color-success, #2dd36f)}.docs-sidebar__badge--warning{background:var(--ion-color-warning-tint, rgba(255, 196, 9, .15));color:var(--ion-color-warning-shade, #e0ac08)}.docs-sidebar__badge--danger{background:var(--ion-color-danger-tint, rgba(235, 68, 90, .15));color:var(--ion-color-danger, #eb445a)}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}\n"] }]
|
|
271
|
+
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { props: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], navigate: [{
|
|
274
|
+
type: Output
|
|
275
|
+
}] } });
|
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZG9jcy1zaWRlYmFyL2RvY3Mtc2lkZWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd4QyxRQUFRLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBc0ZILE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQekIsVUFBSyxHQUF3QixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUVsRCxxQkFBZ0IsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO0lBRUMsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtC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QUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFpQjtRQUNwRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLFdBQVcsS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQzsrR0FqRlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ0tBakZyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVULDQ4R0EvRVMsWUFBWSwrQkFBRSxPQUFPOzs0RkFrRnBCLG9CQUFvQjtrQkFyRmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZXZyb25Eb3duT3V0bGluZSwgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRG9jc1NpZGViYXJNZXRhZGF0YSwgRG9jc1NpZGViYXJTZWN0aW9uLCBEb2NzU2lkZWJhckxpbmsgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjaGV2cm9uRG93bk91dGxpbmUsIGNoZXZyb25Gb3J3YXJkT3V0bGluZSB9KTtcblxuLyoqXG4gKiB2YWwtZG9jcy1zaWRlYmFyXG4gKlxuICogQSBoaWVyYXJjaGljYWwgbmF2aWdhdGlvbiBzaWRlYmFyIGZvciBkb2N1bWVudGF0aW9uIHNpdGVzLlxuICogU3VwcG9ydHMgY29sbGFwc2libGUgc2VjdGlvbnMsIGFjdGl2ZSByb3V0ZSBoaWdobGlnaHRpbmcsIGFuZCBiYWRnZXMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1zaWRlYmFyXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgbG9nbzogeyBzcmM6ICcvYXNzZXRzL2xvZ28uc3ZnJywgYWx0OiAnRG9jcycsIHRpdGxlOiAnRE9DUycgfSxcbiAqICAgICBzZWN0aW9uczogW1xuICogICAgICAgeyB0aXRsZTogJ0dldHRpbmcgU3RhcnRlZCcsIHJvdXRlOiBbJy9kb2NzJywgJ2dldHRpbmctc3RhcnRlZCddIH0sXG4gKiAgICAgICB7XG4gKiAgICAgICAgIHRpdGxlOiAnQ29tcG9uZW50cycsXG4gKiAgICAgICAgIGV4cGFuZGVkOiB0cnVlLFxuICogICAgICAgICBjaGlsZHJlbjogW1xuICogICAgICAgICAgIHsgbGFiZWw6ICdCdXR0b24nLCByb3V0ZTogWycvZG9jcycsICdjb21wb25lbnRzJywgJ2J1dHRvbiddIH0sXG4gKiAgICAgICAgICAgeyBsYWJlbDogJ0NhcmQnLCByb3V0ZTogWycvZG9jcycsICdjb21wb25lbnRzJywgJ2NhcmQnXSwgYmFkZ2U6ICdOZXcnIH1cbiAqICAgICAgICAgXVxuICogICAgICAgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiAgIChuYXZpZ2F0ZSk9XCJvbk5hdmlnYXRlKCRldmVudClcIlxuICogPjwvdmFsLWRvY3Mtc2lkZWJhcj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZG9jcy1zaWRlYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5hdlxuICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInByb3BzLmJhY2tncm91bmRDb2xvclwiXG4gICAgPlxuICAgICAgPCEtLSBMb2dvIC0tPlxuICAgICAgQGlmIChwcm9wcy5sb2dvKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fbG9nb1wiXG4gICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fbG9nby0tY2xpY2thYmxlXT1cInByb3BzLmxvZ28ucm91dGVcIlxuICAgICAgICAgIChjbGljayk9XCJwcm9wcy5sb2dvLnJvdXRlID8gb25OYXZpZ2F0ZShwcm9wcy5sb2dvLnJvdXRlKSA6IG51bGxcIlxuICAgICAgICA+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJwcm9wcy5sb2dvLnNyY1wiXG4gICAgICAgICAgICBbYWx0XT1cInByb3BzLmxvZ28uYWx0XCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwicHJvcHMubG9nby5oZWlnaHQgfHwgJzMycHgnXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIEBpZiAocHJvcHMubG9nby50aXRsZSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xvZ28tdGl0bGVcIj57eyBwcm9wcy5sb2dvLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gTmF2aWdhdGlvbiBzZWN0aW9ucyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNpZGViYXJfX25hdlwiPlxuICAgICAgICBAZm9yIChzZWN0aW9uIG9mIHByb3BzLnNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fc2VjdGlvblwiPlxuICAgICAgICAgICAgPCEtLSBTZWN0aW9uIGhlYWRlciAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb24taGVhZGVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1oZWFkZXItLWFjdGl2ZV09XCJpc1NlY3Rpb25BY3RpdmUoc2VjdGlvbilcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1zaWRlYmFyX19zZWN0aW9uLWhlYWRlci0tZXhwYW5kZWRdPVwiZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX3NlY3Rpb24taGVhZGVyLS1jbGlja2FibGVdPVwic2VjdGlvbi5yb3V0ZSB8fCBzZWN0aW9uLmNoaWxkcmVuPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWN0aW9uQ2xpY2soc2VjdGlvbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uaWNvbikge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJzZWN0aW9uLmljb25cIiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fc2VjdGlvbi10aXRsZVwiPnt7IHNlY3Rpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5iYWRnZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1zaWRlYmFyX19iYWRnZSBkb2NzLXNpZGViYXJfX2JhZGdlLS1zZWN0aW9uXCI+e3sgc2VjdGlvbi5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2NoZXZyb25cIlxuICAgICAgICAgICAgICAgICAgW25hbWVdPVwiZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA/ICdjaGV2cm9uLWRvd24tb3V0bGluZScgOiAnY2hldnJvbi1mb3J3YXJkLW91dGxpbmUnXCJcbiAgICAgICAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gU2VjdGlvbiBjaGlsZHJlbiAtLT5cbiAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jaGlsZHJlbj8ubGVuZ3RoICYmIGV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0pIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIHNlY3Rpb24uY2hpbGRyZW47IHRyYWNrIGxpbmsubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1zaWRlYmFyX19saW5rLS1hY3RpdmVdPVwiaXNMaW5rQWN0aXZlKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUobGluay5yb3V0ZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fbGluay1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobGluay5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fYmFkZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fYmFkZ2UtLXByaW1hcnldPVwibGluay5iYWRnZUNvbG9yID09PSAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fYmFkZ2UtLXN1Y2Nlc3NdPVwibGluay5iYWRnZUNvbG9yID09PSAnc3VjY2VzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fYmFkZ2UtLXdhcm5pbmddPVwibGluay5iYWRnZUNvbG9yID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fYmFkZ2UtLWRhbmdlcl09XCJsaW5rLmJhZGdlQ29sb3IgPT09ICdkYW5nZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICA+e3sgbGluay5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2RvY3Mtc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcHJvcHM6IERvY3NTaWRlYmFyTWV0YWRhdGEgPSB7IHNlY3Rpb25zOiBbXSB9O1xuXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgZXhwYW5kZWRTZWN0aW9uczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgcHJpdmF0ZSBjdXJyZW50Um91dGU6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVFeHBhbmRlZFNlY3Rpb25zKCk7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50Um91dGUoKTtcblxuICAgIC8vIExpc3RlbiBmb3Igcm91dGUgY2hhbmdlc1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDdXJyZW50Um91dGUoKTtcbiAgICAgICAgdGhpcy5hdXRvRXhwYW5kQWN0aXZlU2VjdGlvbigpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUV4cGFuZGVkU2VjdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFeHBhbmRlZFNlY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPSBzZWN0aW9uLmV4cGFuZGVkID8/IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDdXJyZW50Um91dGUoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50Um91dGUgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgLy8gVXNlIGFjdGl2ZVJvdXRlIGZyb20gcHJvcHMgaWYgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5wcm9wcy5hY3RpdmVSb3V0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50Um91dGUgPSB0aGlzLnByb3BzLmFjdGl2ZVJvdXRlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b0V4cGFuZEFjdGl2ZVNlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wcy5zZWN0aW9ucy5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgaWYgKHNlY3Rpb24uY2hpbGRyZW4/LnNvbWUobGluayA9PiB0aGlzLmlzTGlua0FjdGl2ZShsaW5rKSkpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uU2VjdGlvbkNsaWNrKHNlY3Rpb246IERvY3NTaWRlYmFyU2VjdGlvbik6IHZvaWQge1xuICAgIGlmIChzZWN0aW9uLnJvdXRlKSB7XG4gICAgICB0aGlzLm9uTmF2aWdhdGUoc2VjdGlvbi5yb3V0ZSk7XG4gICAgfSBlbHNlIGlmIChzZWN0aW9uLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA9ICF0aGlzLmV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV07XG4gICAgfVxuICB9XG5cbiAgb25OYXZpZ2F0ZShyb3V0ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLm5hdmlnYXRlLmVtaXQocm91dGUpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHJvdXRlKTtcbiAgfVxuXG4gIGlzU2VjdGlvbkFjdGl2ZShzZWN0aW9uOiBEb2NzU2lkZWJhclNlY3Rpb24pOiBib29sZWFuIHtcbiAgICBpZiAoc2VjdGlvbi5yb3V0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucm91dGVzTWF0Y2goc2VjdGlvbi5yb3V0ZSwgdGhpcy5jdXJyZW50Um91dGUpO1xuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbi5jaGlsZHJlbj8uc29tZShsaW5rID0+IHRoaXMuaXNMaW5rQWN0aXZlKGxpbmspKSA/PyBmYWxzZTtcbiAgfVxuXG4gIGlzTGlua0FjdGl2ZShsaW5rOiBEb2NzU2lkZWJhckxpbmspOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXNNYXRjaChsaW5rLnJvdXRlLCB0aGlzLmN1cnJlbnRSb3V0ZSk7XG4gIH1cblxuICBwcml2YXRlIHJvdXRlc01hdGNoKHJvdXRlOiBzdHJpbmdbXSwgY3VycmVudDogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICBjb25zdCByb3V0ZVBhdGggPSByb3V0ZS5qb2luKCcvJykucmVwbGFjZSgvXlxcLy8sICcnKTtcbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IGN1cnJlbnQuam9pbignLycpO1xuICAgIHJldHVybiBjdXJyZW50UGF0aCA9PT0gcm91dGVQYXRoIHx8IGN1cnJlbnRQYXRoLnN0YXJ0c1dpdGgocm91dGVQYXRoICsgJy8nKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2RvY3Mtc2lkZWJhci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgZG9jcy1zaWRlYmFyIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NzU2lkZWJhck1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIE5hdmlnYXRpb24gc2VjdGlvbnMgdG8gZGlzcGxheS5cbiAgICovXG4gIHNlY3Rpb25zOiBEb2NzU2lkZWJhclNlY3Rpb25bXTtcblxuICAvKipcbiAgICogQ3VycmVudGx5IGFjdGl2ZSByb3V0ZSBmb3IgaGlnaGxpZ2h0aW5nLlxuICAgKi9cbiAgYWN0aXZlUm91dGU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTG9nbyBjb25maWd1cmF0aW9uIGZvciB0aGUgc2lkZWJhciBoZWFkZXIuXG4gICAqL1xuICBsb2dvPzogRG9jc1NpZGViYXJMb2dvO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gQ1NTIGNsYXNzLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb3ZlcnJpZGUuXG4gICAqL1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1NpZGViYXJMb2dvIHtcbiAgLyoqXG4gICAqIExvZ28gaW1hZ2Ugc291cmNlLlxuICAgKi9cbiAgc3JjOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdCB0ZXh0IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKi9cbiAgYWx0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRpdGxlL3RleHQgbmV4dCB0byBsb2dvLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJvdXRlIHRvIG5hdmlnYXRlIHdoZW4gbG9nbyBpcyBjbGlja2VkLlxuICAgKi9cbiAgcm91dGU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTG9nbyBoZWlnaHQgKHdpZHRoIGF1dG8tY2FsY3VsYXRlZCkuXG4gICAqIEBkZWZhdWx0ICczMnB4J1xuICAgKi9cbiAgaGVpZ2h0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3NTaWRlYmFyU2VjdGlvbiB7XG4gIC8qKlxuICAgKiBTZWN0aW9uIHRpdGxlIGRpc3BsYXllZCBpbiB0aGUgc2lkZWJhci5cbiAgICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJvdXRlIGZvciBkaXJlY3QgbmF2aWdhdGlvbiAoaWYgbm8gY2hpbGRyZW4pLlxuICAgKi9cbiAgcm91dGU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2hpbGQgbGlua3MgdW5kZXIgdGhpcyBzZWN0aW9uLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBEb2NzU2lkZWJhckxpbmtbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VjdGlvbiBpcyBleHBhbmRlZCBieSBkZWZhdWx0LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpY29uIG5hbWUgKElvbmljb25zKS5cbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJhZGdlIHRleHQgKGUuZy4sIFwiTmV3XCIsIFwiQmV0YVwiKS5cbiAgICovXG4gIGJhZGdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3NTaWRlYmFyTGluayB7XG4gIC8qKlxuICAgKiBMaW5rIGRpc3BsYXkgdGV4dC5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJvdXRlIHRvIG5hdmlnYXRlIHRvLlxuICAgKi9cbiAgcm91dGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBCYWRnZSB0ZXh0IChlLmcuLCBcIk5ld1wiLCBcIkRlcHJlY2F0ZWRcIikuXG4gICAqL1xuICBiYWRnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQmFkZ2UgY29sb3IgdmFyaWFudC5cbiAgICovXG4gIGJhZGdlQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xufVxuIl19
|