flowbite-angular 1.0.0 → 1.1.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 +15 -15
- package/accordion/accordion-content.component.d.ts +20 -4
- package/accordion/accordion-content.theme.d.ts +0 -2
- package/accordion/accordion-panel.component.d.ts +10 -3
- package/accordion/accordion-title.component.d.ts +27 -0
- package/accordion/accordion.component.d.ts +10 -1
- package/accordion/index.d.ts +4 -4
- package/alert/alert.component.d.ts +42 -1
- package/alert/index.d.ts +1 -1
- package/badge/badge.component.d.ts +40 -0
- package/badge/index.d.ts +1 -1
- package/base-component.directive.d.ts +0 -4
- package/breadcrumb/breadcrumb-item.component.d.ts +19 -0
- package/breadcrumb/breadcrumb.component.d.ts +8 -1
- package/breadcrumb/index.d.ts +2 -2
- package/button/button.component.d.ts +100 -1
- package/button/index.d.ts +1 -1
- package/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -17
- package/dark-theme-toggle/index.d.ts +1 -1
- package/dropdown/dropdown-divider.component.d.ts +13 -2
- package/dropdown/dropdown-divider.theme.d.ts +2 -2
- package/dropdown/dropdown-header.component.d.ts +19 -2
- package/dropdown/dropdown-item.component.d.ts +7 -0
- package/dropdown/dropdown.component.d.ts +39 -13
- package/dropdown/index.d.ts +4 -4
- package/esm2022/accordion/accordion-content.component.mjs +29 -16
- package/esm2022/accordion/accordion-content.theme.mjs +2 -6
- package/esm2022/accordion/accordion-content.theme.service.mjs +2 -2
- package/esm2022/accordion/accordion-panel.component.mjs +18 -15
- package/esm2022/accordion/accordion-title.component.mjs +14 -8
- package/esm2022/accordion/accordion.component.mjs +28 -13
- package/esm2022/accordion/index.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +93 -37
- package/esm2022/alert/index.mjs +2 -2
- package/esm2022/badge/badge.component.mjs +34 -9
- package/esm2022/badge/index.mjs +2 -2
- package/esm2022/base-component.directive.mjs +1 -7
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +14 -8
- package/esm2022/breadcrumb/breadcrumb.component.mjs +16 -11
- package/esm2022/breadcrumb/index.mjs +3 -3
- package/esm2022/button/button.component.mjs +72 -34
- package/esm2022/button/index.mjs +2 -2
- package/esm2022/core/flowbite.theme.init.mjs +48 -14
- package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +17 -42
- package/esm2022/dark-theme-toggle/index.mjs +2 -2
- package/esm2022/dropdown/dropdown-divider.component.mjs +10 -5
- package/esm2022/dropdown/dropdown-divider.theme.mjs +1 -1
- package/esm2022/dropdown/dropdown-header.component.mjs +13 -10
- package/esm2022/dropdown/dropdown-item.component.mjs +10 -5
- package/esm2022/dropdown/dropdown.component.mjs +51 -72
- package/esm2022/dropdown/dropdown.theme.mjs +6 -6
- package/esm2022/dropdown/index.mjs +5 -5
- package/esm2022/indicator/index.mjs +2 -2
- package/esm2022/indicator/indicators.component.mjs +64 -14
- package/esm2022/modal/index.mjs +5 -5
- package/esm2022/modal/modal-body.component.mjs +10 -5
- package/esm2022/modal/modal-footer.component.mjs +10 -5
- package/esm2022/modal/modal-header.component.mjs +16 -10
- package/esm2022/modal/modal.component.mjs +42 -23
- package/esm2022/navbar/index.mjs +7 -7
- package/esm2022/navbar/navbar-brand.component.mjs +10 -5
- package/esm2022/navbar/navbar-content.component.mjs +35 -11
- package/esm2022/navbar/navbar-content.theme.mjs +2 -6
- package/esm2022/navbar/navbar-content.theme.service.mjs +2 -2
- package/esm2022/navbar/navbar-icon-button.component.mjs +10 -9
- package/esm2022/navbar/navbar-item.component.mjs +10 -5
- package/esm2022/navbar/navbar-toggle.component.mjs +12 -6
- package/esm2022/navbar/navbar.component.mjs +41 -16
- package/esm2022/navbar/navbar.theme.mjs +2 -2
- package/esm2022/scroll-top/index.mjs +2 -2
- package/esm2022/scroll-top/scroll-top.component.mjs +22 -5
- package/esm2022/sidebar/index.mjs +7 -7
- package/esm2022/sidebar/sidebar-item-group.component.mjs +19 -14
- package/esm2022/sidebar/sidebar-item.component.mjs +45 -26
- package/esm2022/sidebar/sidebar-menu.component.mjs +10 -9
- package/esm2022/sidebar/sidebar-page-content.component.mjs +10 -4
- package/esm2022/sidebar/sidebar-toggle.component.mjs +22 -5
- package/esm2022/sidebar/sidebar.component.mjs +36 -19
- package/esm2022/theme/flowbite-angular-theme.mjs +5 -0
- package/esm2022/theme/flowbite-theme.directive.mjs +71 -0
- package/esm2022/theme/index.mjs +2 -0
- package/fesm2022/flowbite-angular-accordion.mjs +85 -50
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +93 -37
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +34 -9
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +28 -16
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button.mjs +72 -34
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-core.mjs +47 -13
- package/fesm2022/flowbite-angular-core.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +17 -42
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dropdown.mjs +83 -88
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +64 -14
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +72 -34
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +110 -44
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +22 -5
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
- package/fesm2022/flowbite-angular-sidebar.mjs +132 -65
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-theme.mjs +78 -0
- package/fesm2022/flowbite-angular-theme.mjs.map +1 -0
- package/fesm2022/flowbite-angular.mjs +0 -6
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/indicator/index.d.ts +1 -1
- package/indicator/indicators.component.d.ts +81 -0
- package/modal/index.d.ts +4 -4
- package/modal/modal-body.component.d.ts +7 -0
- package/modal/modal-footer.component.d.ts +7 -0
- package/modal/modal-header.component.d.ts +13 -0
- package/modal/modal.component.d.ts +40 -2
- package/navbar/index.d.ts +6 -6
- package/navbar/navbar-brand.component.d.ts +7 -0
- package/navbar/navbar-content.component.d.ts +13 -4
- package/navbar/navbar-content.theme.d.ts +1 -3
- package/navbar/navbar-icon-button.component.d.ts +12 -1
- package/navbar/navbar-item.component.d.ts +12 -0
- package/navbar/navbar-toggle.component.d.ts +7 -0
- package/navbar/navbar.component.d.ts +30 -2
- package/package.json +7 -2
- package/scroll-top/index.d.ts +1 -1
- package/scroll-top/scroll-top.component.d.ts +31 -0
- package/sidebar/index.d.ts +6 -6
- package/sidebar/sidebar-item-group.component.d.ts +19 -1
- package/sidebar/sidebar-item.component.d.ts +21 -1
- package/sidebar/sidebar-menu.component.d.ts +25 -1
- package/sidebar/sidebar-page-content.component.d.ts +12 -0
- package/sidebar/sidebar-toggle.component.d.ts +22 -0
- package/sidebar/sidebar.component.d.ts +17 -3
- package/theme/README.md +4 -0
- package/theme/flowbite-theme.directive.d.ts +36 -0
- package/theme/index.d.ts +1 -0
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { DarkThemeToggleThemeService } from './dark-theme-toggle.theme.service';
|
|
2
2
|
import { BaseComponent } from 'flowbite-angular';
|
|
3
3
|
import { IconComponent, IconRegistry } from 'flowbite-angular/icon';
|
|
4
|
+
import { FlowbiteThemeDirective } from 'flowbite-angular/theme';
|
|
4
5
|
import { MOON_SVG_ICON, SUN_SVG_ICON } from 'flowbite-angular/utils';
|
|
5
|
-
import {
|
|
6
|
-
import { afterNextRender, ChangeDetectionStrategy, Component, inject, model, ViewEncapsulation, } from '@angular/core';
|
|
6
|
+
import { ChangeDetectionStrategy, Component, inject, InjectionToken, makeEnvironmentProviders, model, ViewEncapsulation, } from '@angular/core';
|
|
7
7
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
export const FLOWBITE_DARK_THEME_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DARK_THEME_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
10
|
+
export const darkThemeToggleDefaultValueProvider = makeEnvironmentProviders([
|
|
11
|
+
{
|
|
12
|
+
provide: FLOWBITE_DARK_THEME_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
13
|
+
useValue: {},
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
9
16
|
/**
|
|
10
17
|
* Use to toggle light/dark mode accross the site
|
|
11
18
|
*/
|
|
@@ -24,11 +31,15 @@ export class DarkThemeToggleComponent extends BaseComponent {
|
|
|
24
31
|
* `DomSanitizer` service
|
|
25
32
|
*/
|
|
26
33
|
this.domSanitizer = inject(DomSanitizer);
|
|
34
|
+
/**
|
|
35
|
+
* `FlowbiteThemeDirective` directive
|
|
36
|
+
*/
|
|
37
|
+
this.themeDirective = inject(FlowbiteThemeDirective);
|
|
27
38
|
//#region properties
|
|
28
39
|
/**
|
|
29
40
|
* Set the custom style for this dark-theme-toggle
|
|
30
41
|
*/
|
|
31
|
-
this.customStyle = model(
|
|
42
|
+
this.customStyle = model(inject(FLOWBITE_DARK_THEME_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
32
43
|
}
|
|
33
44
|
//#endregion
|
|
34
45
|
//#region BaseComponent implementation
|
|
@@ -38,9 +49,6 @@ export class DarkThemeToggleComponent extends BaseComponent {
|
|
|
38
49
|
});
|
|
39
50
|
}
|
|
40
51
|
init() {
|
|
41
|
-
afterNextRender(() => {
|
|
42
|
-
this.toggleTheme(this.getTheme());
|
|
43
|
-
}, { injector: this.injector });
|
|
44
52
|
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'sun', this.domSanitizer.bypassSecurityTrustHtml(SUN_SVG_ICON));
|
|
45
53
|
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'moon', this.domSanitizer.bypassSecurityTrustHtml(MOON_SVG_ICON));
|
|
46
54
|
}
|
|
@@ -49,40 +57,7 @@ export class DarkThemeToggleComponent extends BaseComponent {
|
|
|
49
57
|
* Toggle between dark and light mode
|
|
50
58
|
*/
|
|
51
59
|
onClick() {
|
|
52
|
-
this.toggleTheme();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Get theme from the `localStorage`
|
|
56
|
-
* @returns The current theme saved in the `localStorage` with the key `color-theme`
|
|
57
|
-
*/
|
|
58
|
-
getTheme() {
|
|
59
|
-
return localStorage.getItem('color-theme') === 'dark' ? 'dark' : 'light';
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Toggle the theme saced in the `localStorage`
|
|
63
|
-
*
|
|
64
|
-
* @param theme If provided, force the theme instead of toggling it between light and dark mode
|
|
65
|
-
*/
|
|
66
|
-
toggleTheme(theme) {
|
|
67
|
-
if (!theme) {
|
|
68
|
-
const tmpTheme = this.getTheme();
|
|
69
|
-
if (tmpTheme === 'dark')
|
|
70
|
-
theme = 'light';
|
|
71
|
-
else
|
|
72
|
-
theme = 'dark';
|
|
73
|
-
}
|
|
74
|
-
this.setTheme(theme);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Set the theme inside the page
|
|
78
|
-
*
|
|
79
|
-
* @param theme Theme to apply
|
|
80
|
-
*/
|
|
81
|
-
setTheme(theme) {
|
|
82
|
-
localStorage.setItem('color-theme', theme);
|
|
83
|
-
theme === 'dark'
|
|
84
|
-
? document.documentElement.classList.add('dark')
|
|
85
|
-
: document.documentElement.classList.remove('dark');
|
|
60
|
+
this.themeDirective.toggleTheme();
|
|
86
61
|
}
|
|
87
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DarkThemeToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
63
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: DarkThemeToggleComponent, isStandalone: true, selector: "flowbite-dark-theme-toggle", inputs: { customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customStyle: "customStyleChange" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -98,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
98
73
|
type: Component,
|
|
99
74
|
args: [{
|
|
100
75
|
standalone: true,
|
|
101
|
-
imports: [
|
|
76
|
+
imports: [IconComponent],
|
|
102
77
|
selector: 'flowbite-dark-theme-toggle',
|
|
103
78
|
template: `
|
|
104
79
|
<flowbite-icon
|
|
@@ -115,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
115
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
116
91
|
}]
|
|
117
92
|
}] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL2RhcmstdGhlbWUtdG9nZ2xlL2RhcmstdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxxREFBcUQsR0FBRyxJQUFJLGNBQWMsQ0FFckYsdURBQXVELENBQUMsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyx3QkFBd0IsQ0FBQztJQUMxRTtRQUNFLE9BQU8sRUFBRSxxREFBcUQ7UUFDOUQsUUFBUSxFQUFFLEVBQUU7S0FDYjtDQUNGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBbUJILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFtQztJQWxCakY7O1FBbUJFOztXQUVHO1FBQ2EsaUJBQVksR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNuRTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BEOztXQUVHO1FBQ2EsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEQ7O1dBRUc7UUFDYSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWhFLG9CQUFvQjtRQUNwQjs7V0FFRztRQUNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDLENBQUM7S0E4QjNGO0lBN0JDLFlBQVk7SUFFWixzQ0FBc0M7SUFDdEIsVUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFZSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQ3hDLGtCQUFrQixFQUNsQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQ3hDLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFDRCxZQUFZO0lBRVo7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQW5EVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixpV0FkekI7Ozs7Ozs7R0FPVCw0REFUUyxhQUFhOzsyRkFnQlosd0JBQXdCO2tCQWxCcEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLFdBQVc7cUJBQ3ZCO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERhcmtUaGVtZVRvZ2dsZUNsYXNzLCBEYXJrVGhlbWVUb2dnbGVUaGVtZSB9IGZyb20gJy4vZGFyay10aGVtZS10b2dnbGUudGhlbWUnO1xuaW1wb3J0IHsgRGFya1RoZW1lVG9nZ2xlVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9kYXJrLXRoZW1lLXRvZ2dsZS50aGVtZS5zZXJ2aWNlJztcblxuaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCwgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhci9pY29uJztcbmltcG9ydCB7IEZsb3diaXRlVGhlbWVEaXJlY3RpdmUgfSBmcm9tICdmbG93Yml0ZS1hbmd1bGFyL3RoZW1lJztcbmltcG9ydCB7IE1PT05fU1ZHX0lDT04sIFNVTl9TVkdfSUNPTiB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXIvdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIG1vZGVsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGNvbnN0IEZMT1dCSVRFX0RBUktfVEhFTUVfVE9HR0xFX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFID0gbmV3IEluamVjdGlvblRva2VuPFxuICBEZWVwUGFydGlhbDxEYXJrVGhlbWVUb2dnbGVUaGVtZT5cbj4oJ0ZMT1dCSVRFX0RBUktfVEhFTUVfVE9HR0xFX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFJyk7XG5cbmV4cG9ydCBjb25zdCBkYXJrVGhlbWVUb2dnbGVEZWZhdWx0VmFsdWVQcm92aWRlciA9IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gIHtcbiAgICBwcm92aWRlOiBGTE9XQklURV9EQVJLX1RIRU1FX1RPR0dMRV9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSxcbiAgICB1c2VWYWx1ZToge30sXG4gIH0sXG5dKTtcblxuLyoqXG4gKiBVc2UgdG8gdG9nZ2xlIGxpZ2h0L2RhcmsgbW9kZSBhY2Nyb3NzIHRoZSBzaXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnZmxvd2JpdGUtZGFyay10aGVtZS10b2dnbGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmbG93Yml0ZS1pY29uXG4gICAgICBzdmdJY29uPVwiZmxvd2JpdGUtYW5ndWxhcjptb29uXCJcbiAgICAgIGNsYXNzPVwiaC01IHctNSBibG9jayBkYXJrOmhpZGRlblwiIC8+XG4gICAgPGZsb3diaXRlLWljb25cbiAgICAgIHN2Z0ljb249XCJmbG93Yml0ZS1hbmd1bGFyOnN1blwiXG4gICAgICBjbGFzcz1cImgtNSB3LTUgaGlkZGVuIGRhcms6YmxvY2tcIiAvPlxuICBgLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhcmtUaGVtZVRvZ2dsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8RGFya1RoZW1lVG9nZ2xlQ2xhc3M+IHtcbiAgLyoqXG4gICAqIFNlcnZpY2UgaW5qZWN0ZWQgdXNlZCB0byBnZW5lcmF0ZSBjbGFzc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lU2VydmljZSA9IGluamVjdChEYXJrVGhlbWVUb2dnbGVUaGVtZVNlcnZpY2UpO1xuICAvKipcbiAgICogYEljb25SZWdpc3RyeWAgc2VydmljZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGljb25SZWdpc3RyeSA9IGluamVjdChJY29uUmVnaXN0cnkpO1xuICAvKipcbiAgICogYERvbVNhbml0aXplcmAgc2VydmljZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICAvKipcbiAgICogYEZsb3diaXRlVGhlbWVEaXJlY3RpdmVgIGRpcmVjdGl2ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lRGlyZWN0aXZlID0gaW5qZWN0KEZsb3diaXRlVGhlbWVEaXJlY3RpdmUpO1xuXG4gIC8vI3JlZ2lvbiBwcm9wZXJ0aWVzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSBzdHlsZSBmb3IgdGhpcyBkYXJrLXRoZW1lLXRvZ2dsZVxuICAgKi9cbiAgcHVibGljIGN1c3RvbVN0eWxlID0gbW9kZWwoaW5qZWN0KEZMT1dCSVRFX0RBUktfVEhFTUVfVE9HR0xFX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFKSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IERhcmtUaGVtZVRvZ2dsZUNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q2xhc3Nlcyh7XG4gICAgICBjdXN0b21TdHlsZTogdGhpcy5jdXN0b21TdHlsZSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uUmVnaXN0cnkuYWRkUmF3U3ZnSWNvbkluTmFtZXBzYWNlKFxuICAgICAgJ2Zsb3diaXRlLWFuZ3VsYXInLFxuICAgICAgJ3N1bicsXG4gICAgICB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChTVU5fU1ZHX0lDT04pXG4gICAgKTtcbiAgICB0aGlzLmljb25SZWdpc3RyeS5hZGRSYXdTdmdJY29uSW5OYW1lcHNhY2UoXG4gICAgICAnZmxvd2JpdGUtYW5ndWxhcicsXG4gICAgICAnbW9vbicsXG4gICAgICB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChNT09OX1NWR19JQ09OKVxuICAgICk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBiZXR3ZWVuIGRhcmsgYW5kIGxpZ2h0IG1vZGVcbiAgICovXG4gIHB1YmxpYyBvbkNsaWNrKCkge1xuICAgIHRoaXMudGhlbWVEaXJlY3RpdmUudG9nZ2xlVGhlbWUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DarkThemeToggleComponent } from './dark-theme-toggle.component';
|
|
1
|
+
export { DarkThemeToggleComponent, FLOWBITE_DARK_THEME_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE, darkThemeToggleDefaultValueProvider, } from './dark-theme-toggle.component';
|
|
2
2
|
export { darkThemeToggleTheme, } from './dark-theme-toggle.theme';
|
|
3
3
|
export { DarkThemeToggleThemeService, FLOWBITE_DARK_THEME_TOGGLE_THEME_TOKEN, } from './dark-theme-toggle.theme.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvZGFyay10aGVtZS10b2dnbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixxREFBcUQsRUFDckQsbUNBQW1DLEdBQ3BDLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUlMLG9CQUFvQixHQUNyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isc0NBQXNDLEdBQ3ZDLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBEYXJrVGhlbWVUb2dnbGVDb21wb25lbnQsXG4gIEZMT1dCSVRFX0RBUktfVEhFTUVfVE9HR0xFX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFLFxuICBkYXJrVGhlbWVUb2dnbGVEZWZhdWx0VmFsdWVQcm92aWRlcixcbn0gZnJvbSAnLi9kYXJrLXRoZW1lLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgRGFya1RoZW1lVG9nZ2xlQ2xhc3MsXG4gIERhcmtUaGVtZVRvZ2dsZVByb3BlcnRpZXMsXG4gIERhcmtUaGVtZVRvZ2dsZVRoZW1lLFxuICBkYXJrVGhlbWVUb2dnbGVUaGVtZSxcbn0gZnJvbSAnLi9kYXJrLXRoZW1lLXRvZ2dsZS50aGVtZSc7XG5leHBvcnQge1xuICBEYXJrVGhlbWVUb2dnbGVUaGVtZVNlcnZpY2UsXG4gIEZMT1dCSVRFX0RBUktfVEhFTUVfVE9HR0xFX1RIRU1FX1RPS0VOLFxufSBmcm9tICcuL2RhcmstdGhlbWUtdG9nZ2xlLnRoZW1lLnNlcnZpY2UnO1xuIl19
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { DropdownDividerThemeService } from './dropdown-divider.theme.service';
|
|
2
2
|
import { DropdownComponent } from './dropdown.component';
|
|
3
3
|
import { BaseComponent } from 'flowbite-angular';
|
|
4
|
-
import {
|
|
5
|
-
import { ChangeDetectionStrategy, Component, inject, model, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, inject, InjectionToken, makeEnvironmentProviders, model, ViewEncapsulation, } from '@angular/core';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export const FLOWBITE_DROPDOWN_DIVIDER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_DIVIDER_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
7
|
+
export const dropdownDividerDefaultValueProvider = makeEnvironmentProviders([
|
|
8
|
+
{
|
|
9
|
+
provide: FLOWBITE_DROPDOWN_DIVIDER_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
10
|
+
useValue: {},
|
|
11
|
+
},
|
|
12
|
+
]);
|
|
7
13
|
/**
|
|
8
14
|
* @see https://flowbite.com/docs/components/dropdowns/
|
|
9
15
|
*/
|
|
@@ -22,7 +28,7 @@ export class DropdownDividerComponent extends BaseComponent {
|
|
|
22
28
|
/**
|
|
23
29
|
* Set the custom style for this dropdown divider
|
|
24
30
|
*/
|
|
25
|
-
this.customStyle = model(
|
|
31
|
+
this.customStyle = model(inject(FLOWBITE_DROPDOWN_DIVIDER_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
26
32
|
}
|
|
27
33
|
//#endregion
|
|
28
34
|
//#region BaseComponent implementation
|
|
@@ -38,11 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
38
44
|
type: Component,
|
|
39
45
|
args: [{
|
|
40
46
|
standalone: true,
|
|
41
|
-
imports: [NgClass],
|
|
42
47
|
selector: 'flowbite-dropdown-divider',
|
|
43
48
|
template: ``,
|
|
44
49
|
encapsulation: ViewEncapsulation.None,
|
|
45
50
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
46
51
|
}]
|
|
47
52
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvZHJvcGRvd24vZHJvcGRvd24tZGl2aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BQU0sQ0FBQyxNQUFNLG9EQUFvRCxHQUFHLElBQUksY0FBYyxDQUVwRixzREFBc0QsQ0FBQyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHdCQUF3QixDQUFDO0lBQzFFO1FBQ0UsT0FBTyxFQUFFLG9EQUFvRDtRQUM3RCxRQUFRLEVBQUUsRUFBRTtLQUNiO0NBQ0YsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFRSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBbUM7SUFQakY7O1FBUUU7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ25FOztXQUVHO1FBQ2Esc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUQsb0JBQW9CO1FBQ3BCOztXQUVHO1FBQ0ksZ0JBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUMsQ0FBQztLQVUxRjtJQVRDLFlBQVk7SUFFWixzQ0FBc0M7SUFDdEIsVUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdEJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGlUQUp6QixFQUFFOzsyRkFJRCx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERyb3Bkb3duRGl2aWRlckNsYXNzLCBEcm9wZG93bkRpdmlkZXJUaGVtZSB9IGZyb20gJy4vZHJvcGRvd24tZGl2aWRlci50aGVtZSc7XG5pbXBvcnQgeyBEcm9wZG93bkRpdmlkZXJUaGVtZVNlcnZpY2UgfSBmcm9tICcuL2Ryb3Bkb3duLWRpdmlkZXIudGhlbWUuc2VydmljZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIG1vZGVsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9EUk9QRE9XTl9ESVZJREVSX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFID0gbmV3IEluamVjdGlvblRva2VuPFxuICBEZWVwUGFydGlhbDxEcm9wZG93bkRpdmlkZXJUaGVtZT5cbj4oJ0ZMT1dCSVRFX0RST1BET1dOX0RJVklERVJfQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUnKTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duRGl2aWRlckRlZmF1bHRWYWx1ZVByb3ZpZGVyID0gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAge1xuICAgIHByb3ZpZGU6IEZMT1dCSVRFX0RST1BET1dOX0RJVklERVJfQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUsXG4gICAgdXNlVmFsdWU6IHt9LFxuICB9LFxuXSk7XG5cbi8qKlxuICogQHNlZSBodHRwczovL2Zsb3diaXRlLmNvbS9kb2NzL2NvbXBvbmVudHMvZHJvcGRvd25zL1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1kcm9wZG93bi1kaXZpZGVyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25EaXZpZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxEcm9wZG93bkRpdmlkZXJDbGFzcz4ge1xuICAvKipcbiAgICogU2VydmljZSBpbmplY3RlZCB1c2VkIHRvIGdlbmVyYXRlIGNsYXNzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlID0gaW5qZWN0KERyb3Bkb3duRGl2aWRlclRoZW1lU2VydmljZSk7XG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IGBEcm9wZG93bkNvbXBvbmVudGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkNvbXBvbmVudCA9IGluamVjdChEcm9wZG93bkNvbXBvbmVudCk7XG5cbiAgLy8jcmVnaW9uIHByb3BlcnRpZXNcbiAgLyoqXG4gICAqIFNldCB0aGUgY3VzdG9tIHN0eWxlIGZvciB0aGlzIGRyb3Bkb3duIGRpdmlkZXJcbiAgICovXG4gIHB1YmxpYyBjdXN0b21TdHlsZSA9IG1vZGVsKGluamVjdChGTE9XQklURV9EUk9QRE9XTl9ESVZJREVSX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFKSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IERyb3Bkb3duRGl2aWRlckNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q2xhc3Nlcyh7XG4gICAgICBjdXN0b21TdHlsZTogdGhpcy5jdXN0b21TdHlsZSgpLFxuICAgIH0pO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
|
|
@@ -7,4 +7,4 @@ export const dropdownDividerTheme = createTheme({
|
|
|
7
7
|
base: 'block my-1 h-px bg-gray-100 dark:bg-gray-600',
|
|
8
8
|
},
|
|
9
9
|
});
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZGl2aWRlci50aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9kcm9wZG93bi9kcm9wZG93bi1kaXZpZGVyLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWtCckQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBeUIsV0FBVyxDQUFDO0lBQ3BFLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSw4Q0FBOEM7S0FDckQ7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsLCBGbG93Yml0ZUNsYXNzIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBjcmVhdGVUaGVtZSB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXIvdXRpbHMnO1xuXG4vKipcbiAqIFJlcXVpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSBjbGFzcyBnZW5lcmF0aW9uIG9mIGBEcm9wZG93bkRpdmlkZXJDb21wb25lbnRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25EaXZpZGVyUHJvcGVydGllcyB7XG4gIGN1c3RvbVN0eWxlOiBEZWVwUGFydGlhbDxEcm9wZG93bkRpdmlkZXJUaGVtZT47XG59XG5cbi8qKlxuICogVGhlbWUgZGVmaW5pdGlvbiBmb3IgYERyb3Bkb3duRGl2aWRlckNvbXBvbmVudGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkRpdmlkZXJUaGVtZSB7XG4gIHJvb3Q6IHtcbiAgICBiYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogRGVmYXVsdCB0aGVtZSBmb3IgYERyb3Bkb3duRGl2aWRlckNvbXBvbmVudGBcbiAqL1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duRGl2aWRlclRoZW1lOiBEcm9wZG93bkRpdmlkZXJUaGVtZSA9IGNyZWF0ZVRoZW1lKHtcbiAgcm9vdDoge1xuICAgIGJhc2U6ICdibG9jayBteS0xIGgtcHggYmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTYwMCcsXG4gIH0sXG59KTtcblxuLyoqXG4gKiBHZW5lcmF0ZWQgY2xhc3MgZGVmaW5pdGlvbiBmb3IgYERyb3Bkb3duRGl2aWRlckNvbXBvbmVudGBcbiAqL1xuZXhwb3J0IHR5cGUgRHJvcGRvd25EaXZpZGVyQ2xhc3MgPSBGbG93Yml0ZUNsYXNzO1xuIl19
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { DropdownHeaderThemeService } from './dropdown-header.theme.service';
|
|
2
2
|
import { DropdownComponent } from './dropdown.component';
|
|
3
3
|
import { BaseComponent } from 'flowbite-angular';
|
|
4
|
-
import {
|
|
5
|
-
import { ChangeDetectionStrategy, Component, inject, model, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, inject, InjectionToken, makeEnvironmentProviders, model, ViewEncapsulation, } from '@angular/core';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export const FLOWBITE_DROPDOWN_HEADER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_HEADER_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
7
|
+
export const dropdownHeaderDefaultValueProvider = makeEnvironmentProviders([
|
|
8
|
+
{
|
|
9
|
+
provide: FLOWBITE_DROPDOWN_HEADER_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
10
|
+
useValue: {},
|
|
11
|
+
},
|
|
12
|
+
]);
|
|
7
13
|
/**
|
|
8
14
|
* @see https://flowbite.com/docs/components/dropdowns/
|
|
9
15
|
*/
|
|
@@ -22,7 +28,7 @@ export class DropdownHeaderComponent extends BaseComponent {
|
|
|
22
28
|
/**
|
|
23
29
|
* Set the custom style for this dropdown header
|
|
24
30
|
*/
|
|
25
|
-
this.customStyle = model(
|
|
31
|
+
this.customStyle = model(inject(FLOWBITE_DROPDOWN_HEADER_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
26
32
|
}
|
|
27
33
|
//#endregion
|
|
28
34
|
//#region BaseComponent implementation
|
|
@@ -33,26 +39,23 @@ export class DropdownHeaderComponent extends BaseComponent {
|
|
|
33
39
|
}
|
|
34
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DropdownHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
41
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: DropdownHeaderComponent, isStandalone: true, selector: "flowbite-dropdown-header", inputs: { customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
36
|
-
<div [
|
|
42
|
+
<div [class]="contentClasses().root">
|
|
37
43
|
<ng-content />
|
|
38
44
|
</div>
|
|
39
|
-
|
|
40
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
45
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
46
|
}
|
|
42
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DropdownHeaderComponent, decorators: [{
|
|
43
48
|
type: Component,
|
|
44
49
|
args: [{
|
|
45
50
|
standalone: true,
|
|
46
|
-
imports: [NgClass],
|
|
47
51
|
selector: 'flowbite-dropdown-header',
|
|
48
52
|
template: `
|
|
49
|
-
<div [
|
|
53
|
+
<div [class]="contentClasses().root">
|
|
50
54
|
<ng-content />
|
|
51
55
|
</div>
|
|
52
|
-
<div class="my-1 h-px bg-gray-100 dark:bg-gray-600"></div>
|
|
53
56
|
`,
|
|
54
57
|
encapsulation: ViewEncapsulation.None,
|
|
55
58
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56
59
|
}]
|
|
57
60
|
}] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9kcm9wZG93bi9kcm9wZG93bi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLHdCQUF3QixFQUN4QixLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQUV2QixNQUFNLENBQUMsTUFBTSxtREFBbUQsR0FBRyxJQUFJLGNBQWMsQ0FFbkYscURBQXFELENBQUMsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyx3QkFBd0IsQ0FBQztJQUN6RTtRQUNFLE9BQU8sRUFBRSxtREFBbUQ7UUFDNUQsUUFBUSxFQUFFLEVBQUU7S0FDYjtDQUNGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBWUgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWtDO0lBWC9FOztRQVlFOztXQUVHO1FBQ2EsaUJBQVksR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNsRTs7V0FFRztRQUNhLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlELG9CQUFvQjtRQUNwQjs7V0FFRztRQUNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtREFBbUQsQ0FBQyxDQUFDLENBQUM7S0FVekY7SUFUQyxZQUFZO0lBRVosc0NBQXNDO0lBQ3RCLFVBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRCVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixnVEFSeEI7Ozs7R0FJVDs7MkZBSVUsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEcm9wZG93bkhlYWRlckNsYXNzLCBEcm9wZG93bkhlYWRlclRoZW1lIH0gZnJvbSAnLi9kcm9wZG93bi1oZWFkZXIudGhlbWUnO1xuaW1wb3J0IHsgRHJvcGRvd25IZWFkZXJUaGVtZVNlcnZpY2UgfSBmcm9tICcuL2Ryb3Bkb3duLWhlYWRlci50aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgbW9kZWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZMT1dCSVRFX0RST1BET1dOX0hFQURFUl9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgRGVlcFBhcnRpYWw8RHJvcGRvd25IZWFkZXJUaGVtZT5cbj4oJ0ZMT1dCSVRFX0RST1BET1dOX0hFQURFUl9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRScpO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25IZWFkZXJEZWZhdWx0VmFsdWVQcm92aWRlciA9IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gIHtcbiAgICBwcm92aWRlOiBGTE9XQklURV9EUk9QRE9XTl9IRUFERVJfQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUsXG4gICAgdXNlVmFsdWU6IHt9LFxuICB9LFxuXSk7XG5cbi8qKlxuICogQHNlZSBodHRwczovL2Zsb3diaXRlLmNvbS9kb2NzL2NvbXBvbmVudHMvZHJvcGRvd25zL1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1kcm9wZG93bi1oZWFkZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbnRlbnRDbGFzc2VzKCkucm9vdFwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxEcm9wZG93bkhlYWRlckNsYXNzPiB7XG4gIC8qKlxuICAgKiBTZXJ2aWNlIGluamVjdGVkIHVzZWQgdG8gZ2VuZXJhdGUgY2xhc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25IZWFkZXJUaGVtZVNlcnZpY2UpO1xuICAvKipcbiAgICogVGhlIHBhcmVudCBgRHJvcGRvd25Db21wb25lbnRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25Db21wb25lbnQgPSBpbmplY3QoRHJvcGRvd25Db21wb25lbnQpO1xuXG4gIC8vI3JlZ2lvbiBwcm9wZXJ0aWVzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSBzdHlsZSBmb3IgdGhpcyBkcm9wZG93biBoZWFkZXJcbiAgICovXG4gIHB1YmxpYyBjdXN0b21TdHlsZSA9IG1vZGVsKGluamVjdChGTE9XQklURV9EUk9QRE9XTl9IRUFERVJfQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUpKTtcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIEJhc2VDb21wb25lbnQgaW1wbGVtZW50YXRpb25cbiAgcHVibGljIG92ZXJyaWRlIGZldGNoQ2xhc3MoKTogRHJvcGRvd25IZWFkZXJDbGFzcyB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWVTZXJ2aWNlLmdldENsYXNzZXMoe1xuICAgICAgY3VzdG9tU3R5bGU6IHRoaXMuY3VzdG9tU3R5bGUoKSxcbiAgICB9KTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { DropdownItemThemeService } from './dropdown-item.theme.service';
|
|
2
2
|
import { DropdownComponent } from './dropdown.component';
|
|
3
3
|
import { BaseComponent } from 'flowbite-angular';
|
|
4
|
-
import {
|
|
5
|
-
import { ChangeDetectionStrategy, Component, inject, model, ViewEncapsulation, } from '@angular/core';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, inject, InjectionToken, makeEnvironmentProviders, model, ViewEncapsulation, } from '@angular/core';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export const FLOWBITE_DROPDOWN_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
7
|
+
export const dropdownItemDefaultValueProvider = makeEnvironmentProviders([
|
|
8
|
+
{
|
|
9
|
+
provide: FLOWBITE_DROPDOWN_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
10
|
+
useValue: {},
|
|
11
|
+
},
|
|
12
|
+
]);
|
|
7
13
|
/**
|
|
8
14
|
* @see https://flowbite.com/docs/components/dropdowns/
|
|
9
15
|
*/
|
|
@@ -22,7 +28,7 @@ export class DropdownItemComponent extends BaseComponent {
|
|
|
22
28
|
/**
|
|
23
29
|
* Set the custom style for this dropdown item
|
|
24
30
|
*/
|
|
25
|
-
this.customStyle = model(
|
|
31
|
+
this.customStyle = model(inject(FLOWBITE_DROPDOWN_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
26
32
|
}
|
|
27
33
|
//#endregion
|
|
28
34
|
//#region BaseComponent implementation
|
|
@@ -38,11 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
38
44
|
type: Component,
|
|
39
45
|
args: [{
|
|
40
46
|
standalone: true,
|
|
41
|
-
imports: [NgClass],
|
|
42
47
|
selector: 'flowbite-dropdown-item',
|
|
43
48
|
template: `<ng-content />`,
|
|
44
49
|
encapsulation: ViewEncapsulation.None,
|
|
45
50
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
46
51
|
}]
|
|
47
52
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvZHJvcGRvd24vZHJvcGRvd24taXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BQU0sQ0FBQyxNQUFNLGlEQUFpRCxHQUFHLElBQUksY0FBYyxDQUVqRixtREFBbUQsQ0FBQyxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0lBQ3ZFO1FBQ0UsT0FBTyxFQUFFLGlEQUFpRDtRQUMxRCxRQUFRLEVBQUUsRUFBRTtLQUNiO0NBQ0YsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFRSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBZ0M7SUFQM0U7O1FBUUU7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2hFOztXQUVHO1FBQ2Esc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUQsb0JBQW9CO1FBQ3BCOztXQUVHO1FBQ0ksZ0JBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsQ0FBQztLQVV2RjtJQVRDLFlBQVk7SUFFWixzQ0FBc0M7SUFDdEIsVUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdEJVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhTQUp0QixnQkFBZ0I7OzJGQUlmLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHJvcGRvd25JdGVtQ2xhc3MsIERyb3Bkb3duSXRlbVRoZW1lIH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLnRoZW1lJztcbmltcG9ydCB7IERyb3Bkb3duSXRlbVRoZW1lU2VydmljZSB9IGZyb20gJy4vZHJvcGRvd24taXRlbS50aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgbW9kZWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZMT1dCSVRFX0RST1BET1dOX0lURU1fQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIERlZXBQYXJ0aWFsPERyb3Bkb3duSXRlbVRoZW1lPlxuPignRkxPV0JJVEVfRFJPUERPV05fSVRFTV9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRScpO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JdGVtRGVmYXVsdFZhbHVlUHJvdmlkZXIgPSBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICB7XG4gICAgcHJvdmlkZTogRkxPV0JJVEVfRFJPUERPV05fSVRFTV9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSxcbiAgICB1c2VWYWx1ZToge30sXG4gIH0sXG5dKTtcblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZmxvd2JpdGUuY29tL2RvY3MvY29tcG9uZW50cy9kcm9wZG93bnMvXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2Zsb3diaXRlLWRyb3Bkb3duLWl0ZW0nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IC8+YCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duSXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8RHJvcGRvd25JdGVtQ2xhc3M+IHtcbiAgLyoqXG4gICAqIFNlcnZpY2UgaW5qZWN0ZWQgdXNlZCB0byBnZW5lcmF0ZSBjbGFzc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lU2VydmljZSA9IGluamVjdChEcm9wZG93bkl0ZW1UaGVtZVNlcnZpY2UpO1xuICAvKipcbiAgICogVGhlIHBhcmVudCBgRHJvcGRvd25Db21wb25lbnRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25Db21wb25lbnQgPSBpbmplY3QoRHJvcGRvd25Db21wb25lbnQpO1xuXG4gIC8vI3JlZ2lvbiBwcm9wZXJ0aWVzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSBzdHlsZSBmb3IgdGhpcyBkcm9wZG93biBpdGVtXG4gICAqL1xuICBwdWJsaWMgY3VzdG9tU3R5bGUgPSBtb2RlbChpbmplY3QoRkxPV0JJVEVfRFJPUERPV05fSVRFTV9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSkpO1xuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRhdGlvblxuICBwdWJsaWMgb3ZlcnJpZGUgZmV0Y2hDbGFzcygpOiBEcm9wZG93bkl0ZW1DbGFzcyB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWVTZXJ2aWNlLmdldENsYXNzZXMoe1xuICAgICAgY3VzdG9tU3R5bGU6IHRoaXMuY3VzdG9tU3R5bGUoKSxcbiAgICB9KTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -5,17 +5,39 @@ import { DropdownThemeService } from './dropdown.theme.service';
|
|
|
5
5
|
import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
|
|
6
6
|
import { IconComponent, IconRegistry } from 'flowbite-angular/icon';
|
|
7
7
|
import { CHEVRON_DOWN_SVG_ICON } from 'flowbite-angular/utils';
|
|
8
|
-
import {
|
|
9
|
-
import { ChangeDetectionStrategy, Component, contentChildren, ElementRef, inject, model, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
8
|
+
import { ChangeDetectionStrategy, Component, contentChildren, inject, InjectionToken, makeEnvironmentProviders, model, viewChild, ViewEncapsulation, } from '@angular/core';
|
|
10
9
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
11
|
-
import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';
|
|
12
10
|
import * as i0 from "@angular/core";
|
|
11
|
+
export const FLOWBITE_DROPDOWN_LABEL_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_LABEL_DEFAULT_VALUE');
|
|
12
|
+
export const FLOWBITE_DROPDOWN_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_IS_OPEN_DEFAULT_VALUE');
|
|
13
|
+
export const FLOWBITE_DROPDOWN_POSITION_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_POSITION_DEFAULT_VALUE');
|
|
14
|
+
export const FLOWBITE_DROPDOWN_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_DROPDOWN_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
15
|
+
export const dropdownDefaultValueProvider = makeEnvironmentProviders([
|
|
16
|
+
{
|
|
17
|
+
provide: FLOWBITE_DROPDOWN_LABEL_DEFAULT_VALUE,
|
|
18
|
+
useValue: 'Dropdown',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
provide: FLOWBITE_DROPDOWN_IS_OPEN_DEFAULT_VALUE,
|
|
22
|
+
useValue: false,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
provide: FLOWBITE_DROPDOWN_POSITION_DEFAULT_VALUE,
|
|
26
|
+
useValue: 'bottom-center',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: FLOWBITE_DROPDOWN_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
30
|
+
useValue: {},
|
|
31
|
+
},
|
|
32
|
+
]);
|
|
13
33
|
/**
|
|
14
34
|
* @see https://flowbite.com/docs/components/dropdowns/
|
|
15
35
|
*/
|
|
16
36
|
export class DropdownComponent extends BaseComponent {
|
|
17
37
|
constructor() {
|
|
18
38
|
super(...arguments);
|
|
39
|
+
this.dropdown = viewChild.required('dropdown');
|
|
40
|
+
this.button = viewChild.required('button');
|
|
19
41
|
/**
|
|
20
42
|
* Service injected used to generate class
|
|
21
43
|
*/
|
|
@@ -46,27 +68,23 @@ export class DropdownComponent extends BaseComponent {
|
|
|
46
68
|
*
|
|
47
69
|
* @default Dropdown
|
|
48
70
|
*/
|
|
49
|
-
this.label = model(
|
|
71
|
+
this.label = model(inject(FLOWBITE_DROPDOWN_LABEL_DEFAULT_VALUE));
|
|
50
72
|
/**
|
|
51
73
|
* Set if the dropdown is open
|
|
52
74
|
*
|
|
53
75
|
* @default false
|
|
54
76
|
*/
|
|
55
|
-
this.isOpen = model(
|
|
77
|
+
this.isOpen = model(inject(FLOWBITE_DROPDOWN_IS_OPEN_DEFAULT_VALUE));
|
|
56
78
|
/**
|
|
57
79
|
* Set the dropdown position
|
|
58
80
|
*
|
|
59
81
|
* @default bottom-center
|
|
60
82
|
*/
|
|
61
|
-
this.position = model(
|
|
83
|
+
this.position = model(inject(FLOWBITE_DROPDOWN_POSITION_DEFAULT_VALUE));
|
|
62
84
|
/**
|
|
63
85
|
* Set the custom style for this dropdown
|
|
64
86
|
*/
|
|
65
|
-
this.customStyle = model(
|
|
66
|
-
//#endregion
|
|
67
|
-
this.x = 0;
|
|
68
|
-
this.y = 0;
|
|
69
|
-
this.width = 0;
|
|
87
|
+
this.customStyle = model(inject(FLOWBITE_DROPDOWN_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
70
88
|
}
|
|
71
89
|
//#endregion
|
|
72
90
|
//#region BaseComponent implementation
|
|
@@ -81,64 +99,29 @@ export class DropdownComponent extends BaseComponent {
|
|
|
81
99
|
init() {
|
|
82
100
|
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'chevron-down', this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON));
|
|
83
101
|
}
|
|
84
|
-
|
|
85
|
-
if (this.dropdownItemChildren().length === 0) {
|
|
86
|
-
throw new Error('No DropdownItemComponent available');
|
|
87
|
-
}
|
|
88
|
-
}
|
|
102
|
+
//#endregion
|
|
89
103
|
/**
|
|
90
104
|
* Toggle dropdown isOpen
|
|
91
105
|
*/
|
|
92
106
|
toggle() {
|
|
93
107
|
this.isOpen.set(!this.isOpen());
|
|
94
108
|
}
|
|
95
|
-
calculatePosition() {
|
|
96
|
-
computePosition(this.button.nativeElement, this.dropdown.nativeElement, {
|
|
97
|
-
placement: this.convertPosition(this.position()),
|
|
98
|
-
middleware: [offset(8), flip(), shift()],
|
|
99
|
-
}).then(({ x, y }) => {
|
|
100
|
-
this.dropdown.nativeElement.style.left = x + 'px';
|
|
101
|
-
this.dropdown.nativeElement.style.top = y + 'px';
|
|
102
|
-
this.width = this.button.nativeElement.offsetWidth;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
ngAfterViewInit() {
|
|
106
|
-
// todo : Fix ERROR ReferenceError: ResizeObserver is not defined
|
|
107
|
-
// Append when runing command 'pnpm lib:build'
|
|
108
|
-
autoUpdate(this.button.nativeElement, this.dropdown.nativeElement, () => {
|
|
109
|
-
if (!this.isOpen())
|
|
110
|
-
return;
|
|
111
|
-
this.calculatePosition();
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
109
|
// Onclick outside the dropdown, close it
|
|
115
110
|
clickout(event) {
|
|
116
|
-
if (!this.dropdown.nativeElement.contains(event.target) &&
|
|
111
|
+
if (!this.dropdown().nativeElement.contains(event.target) &&
|
|
117
112
|
this.isOpen() &&
|
|
118
|
-
!this.button.nativeElement.contains(event.target)) {
|
|
113
|
+
!this.button().nativeElement.contains(event.target)) {
|
|
119
114
|
this.isOpen.set(false);
|
|
120
115
|
}
|
|
121
116
|
}
|
|
122
|
-
convertPosition(pos) {
|
|
123
|
-
switch (pos) {
|
|
124
|
-
case 'top-center':
|
|
125
|
-
return 'top';
|
|
126
|
-
case 'bottom-center':
|
|
127
|
-
return 'bottom';
|
|
128
|
-
case 'left-center':
|
|
129
|
-
return 'left';
|
|
130
|
-
case 'right-center':
|
|
131
|
-
return 'right';
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
117
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.0", type: DropdownComponent, isStandalone: true, selector: "flowbite-dropdown", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { label: "labelChange", isOpen: "isOpenChange", position: "positionChange", customStyle: "customStyleChange" }, host: { listeners: { "document:click": "clickout($event)" } }, queries: [{ propertyName: "dropdownItemChildren", predicate: DropdownItemComponent, isSignal: true }, { propertyName: "dropdownHeaderChildren", predicate: DropdownHeaderComponent, isSignal: true }, { propertyName: "dropdownDividerChildren", predicate: DropdownDividerComponent, isSignal: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.0", type: DropdownComponent, isStandalone: true, selector: "flowbite-dropdown", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { label: "labelChange", isOpen: "isOpenChange", position: "positionChange", customStyle: "customStyleChange" }, host: { listeners: { "document:click": "clickout($event)" } }, queries: [{ propertyName: "dropdownItemChildren", predicate: DropdownItemComponent, isSignal: true }, { propertyName: "dropdownHeaderChildren", predicate: DropdownHeaderComponent, isSignal: true }, { propertyName: "dropdownDividerChildren", predicate: DropdownDividerComponent, isSignal: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
136
119
|
<button
|
|
137
120
|
type="button"
|
|
138
|
-
[
|
|
121
|
+
[class]="contentClasses().dropdownClass"
|
|
139
122
|
(click)="toggle()"
|
|
140
123
|
#button>
|
|
141
|
-
<span [
|
|
124
|
+
<span [class]="contentClasses().spanClass">
|
|
142
125
|
{{ label() }}
|
|
143
126
|
<flowbite-icon
|
|
144
127
|
svgIcon="flowbite-angular:chevron-down"
|
|
@@ -146,30 +129,31 @@ export class DropdownComponent extends BaseComponent {
|
|
|
146
129
|
</span>
|
|
147
130
|
</button>
|
|
148
131
|
<div
|
|
149
|
-
[
|
|
132
|
+
[class]="contentClasses().containerClass"
|
|
150
133
|
#dropdown
|
|
151
|
-
[style.display]="isOpen() ? 'block' : 'none'"
|
|
152
|
-
|
|
153
|
-
|
|
134
|
+
[style.display]="isOpen() ? 'block' : 'none'"
|
|
135
|
+
[style.minWidth.px]="button.clientWidth">
|
|
136
|
+
<div [class]="contentClasses().contentClass">
|
|
137
|
+
<ul [class]="contentClasses().subContentClass">
|
|
154
138
|
<ng-content />
|
|
155
139
|
</ul>
|
|
156
140
|
</div>
|
|
157
141
|
</div>
|
|
158
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
142
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
159
143
|
}
|
|
160
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
161
145
|
type: Component,
|
|
162
146
|
args: [{
|
|
163
147
|
standalone: true,
|
|
164
|
-
imports: [
|
|
148
|
+
imports: [IconComponent],
|
|
165
149
|
selector: 'flowbite-dropdown',
|
|
166
150
|
template: `
|
|
167
151
|
<button
|
|
168
152
|
type="button"
|
|
169
|
-
[
|
|
153
|
+
[class]="contentClasses().dropdownClass"
|
|
170
154
|
(click)="toggle()"
|
|
171
155
|
#button>
|
|
172
|
-
<span [
|
|
156
|
+
<span [class]="contentClasses().spanClass">
|
|
173
157
|
{{ label() }}
|
|
174
158
|
<flowbite-icon
|
|
175
159
|
svgIcon="flowbite-angular:chevron-down"
|
|
@@ -177,11 +161,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
177
161
|
</span>
|
|
178
162
|
</button>
|
|
179
163
|
<div
|
|
180
|
-
[
|
|
164
|
+
[class]="contentClasses().containerClass"
|
|
181
165
|
#dropdown
|
|
182
|
-
[style.display]="isOpen() ? 'block' : 'none'"
|
|
183
|
-
|
|
184
|
-
|
|
166
|
+
[style.display]="isOpen() ? 'block' : 'none'"
|
|
167
|
+
[style.minWidth.px]="button.clientWidth">
|
|
168
|
+
<div [class]="contentClasses().contentClass">
|
|
169
|
+
<ul [class]="contentClasses().subContentClass">
|
|
185
170
|
<ng-content />
|
|
186
171
|
</ul>
|
|
187
172
|
</div>
|
|
@@ -193,11 +178,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
193
178
|
encapsulation: ViewEncapsulation.None,
|
|
194
179
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
195
180
|
}]
|
|
196
|
-
}]
|
|
197
|
-
type: ViewChild,
|
|
198
|
-
args: ['dropdown']
|
|
199
|
-
}], button: [{
|
|
200
|
-
type: ViewChild,
|
|
201
|
-
args: ['button']
|
|
202
|
-
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXBGOztHQUVHO0FBbUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUE0QjtJQWxDbkU7O1FBc0NFOztXQUVHO1FBQ2EsaUJBQVksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1RDs7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QU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7b0JBQ2pDLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjtxQkFDdkM7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFFd0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNBLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyb3Bkb3duRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IERyb3Bkb3duQ2xhc3MsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blRoZW1lIH0gZnJvbSAnLi9kcm9wZG93bi50aGVtZSc7XG5pbXBvcnQgeyBEcm9wZG93blRoZW1lU2VydmljZSB9IGZyb20gJy4vZHJvcGRvd24udGhlbWUuc2VydmljZSc7XG5cbmltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICdmbG93Yml0ZS1hbmd1bGFyJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbiB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCwgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhci9pY29uJztcbmltcG9ydCB7IENIRVZST05fRE9XTl9TVkdfSUNPTiB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXIvdXRpbHMnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIG1vZGVsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHR5cGUgeyBQbGFjZW1lbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZmxpcCwgb2Zmc2V0LCBzaGlmdCB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9mbG93Yml0ZS5jb20vZG9jcy9jb21wb25lbnRzL2Ryb3Bkb3ducy9cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1kcm9wZG93bicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbbmdDbGFzc109XCJjb250ZW50Q2xhc3NlcygpLmRyb3Bkb3duQ2xhc3NcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgICNidXR0b24+XG4gICAgICA8c3BhbiBbbmdDbGFzc109XCJjb250ZW50Q2xhc3NlcygpLnNwYW5DbGFzc1wiPlxuICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgIDxmbG93Yml0ZS1pY29uXG4gICAgICAgICAgc3ZnSWNvbj1cImZsb3diaXRlLWFuZ3VsYXI6Y2hldnJvbi1kb3duXCJcbiAgICAgICAgICBjbGFzcz1cIm1sLTIgaC00IHctNFwiIC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwiY29udGVudENsYXNzZXMoKS5jb250YWluZXJDbGFzc1wiXG4gICAgICAjZHJvcGRvd25cbiAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlzT3BlbigpID8gJ2Jsb2NrJyA6ICdub25lJ1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJjb250ZW50Q2xhc3NlcygpLmNvbnRlbnRDbGFzc1wiPlxuICAgICAgICA8dWwgW25nQ2xhc3NdPVwiY29udGVudENsYXNzZXMoKS5zdWJDb250ZW50Q2xhc3NcIj5cbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdjbGlja291dCgkZXZlbnQpJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxEcm9wZG93bkNsYXNzPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnV0dG9uJykgYnV0dG9uITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogU2VydmljZSBpbmplY3RlZCB1c2VkIHRvIGdlbmVyYXRlIGNsYXNzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlID0gaW5qZWN0KERyb3Bkb3duVGhlbWVTZXJ2aWNlKTtcbiAgLyoqXG4gICAqIGBJY29uUmVnaXN0cnlgIHNlcnZpY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpY29uUmVnaXN0cnkgPSBpbmplY3QoSWNvblJlZ2lzdHJ5KTtcbiAgLyoqXG4gICAqIGBEb21TYW5pdGl6ZXJgIHNlcnZpY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgYERyb3Bkb3duSXRlbUNvbXBvbmVudGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkl0ZW1DaGlsZHJlbiA9IGNvbnRlbnRDaGlsZHJlbihEcm9wZG93bkl0ZW1Db21wb25lbnQpO1xuICAvKipcbiAgICogTGlzdCBvZiBgRHJvcGRvd25IZWFkZXJDb21wb25lbnRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25IZWFkZXJDaGlsZHJlbiA9IGNvbnRlbnRDaGlsZHJlbihEcm9wZG93bkhlYWRlckNvbXBvbmVudCk7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGBEcm9wZG93bkRpdmlkZXJDb21wb25lbnRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25EaXZpZGVyQ2hpbGRyZW4gPSBjb250ZW50Q2hpbGRyZW4oRHJvcGRvd25EaXZpZGVyQ29tcG9uZW50KTtcblxuICAvLyNyZWdpb24gcHJvcGVydGllc1xuICAvKipcbiAgICogU2V0IHRoZSBkcm9wZG93biBsYWJlbFxuICAgKlxuICAgKiBAZGVmYXVsdCBEcm9wZG93blxuICAgKi9cbiAgcHVibGljIGxhYmVsID0gbW9kZWwoJ0Ryb3Bkb3duJyk7XG4gIC8qKlxuICAgKiBTZXQgaWYgdGhlIGRyb3Bkb3duIGlzIG9wZW5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBpc09wZW4gPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRyb3Bkb3duIHBvc2l0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IGJvdHRvbS1jZW50ZXJcbiAgICovXG4gIHB1YmxpYyBwb3NpdGlvbiA9IG1vZGVsPGtleW9mIERyb3Bkb3duUG9zaXRpb25zPignYm90dG9tLWNlbnRlcicpO1xuICAvKipcbiAgICogU2V0IHRoZSBjdXN0b20gc3R5bGUgZm9yIHRoaXMgZHJvcGRvd25cbiAgICovXG4gIHB1YmxpYyBjdXN0b21TdHlsZSA9IG1vZGVsPERlZXBQYXJ0aWFsPERyb3Bkb3duVGhlbWU+Pih7fSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IERyb3Bkb3duQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLnRoZW1lU2VydmljZS5nZXRDbGFzc2VzKHtcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsKCksXG4gICAgICBpc09wZW46IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmlzT3BlbigpKSxcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wb3NpdGlvbigpLFxuICAgICAgY3VzdG9tU3R5bGU6IHRoaXMuY3VzdG9tU3R5bGUoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWNvblJlZ2lzdHJ5LmFkZFJhd1N2Z0ljb25Jbk5hbWVwc2FjZShcbiAgICAgICdmbG93Yml0ZS1hbmd1bGFyJyxcbiAgICAgICdjaGV2cm9uLWRvd24nLFxuICAgICAgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoQ0hFVlJPTl9ET1dOX1NWR19JQ09OKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdmVyaWZ5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duSXRlbUNoaWxkcmVuKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIERyb3Bkb3duSXRlbUNvbXBvbmVudCBhdmFpbGFibGUnKTtcbiAgICB9XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgeCA9IDA7XG4gIHkgPSAwO1xuICB3aWR0aCA9IDA7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBkcm9wZG93biBpc09wZW5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4uc2V0KCF0aGlzLmlzT3BlbigpKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgIGNvbXB1dGVQb3NpdGlvbih0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50LCB0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIHBsYWNlbWVudDogdGhpcy5jb252ZXJ0UG9zaXRpb24odGhpcy5wb3NpdGlvbigpKSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoOCksIGZsaXAoKSwgc2hpZnQoKV0sXG4gICAgfSkudGhlbigoeyB4LCB5IH06IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgPT4ge1xuICAgICAgdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSB4ICsgJ3B4JztcbiAgICAgIHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB5ICsgJ3B4JztcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIHRvZG8gOiBGaXggRVJST1IgUmVmZXJlbmNlRXJyb3I6IFJlc2l6ZU9ic2VydmVyIGlzIG5vdCBkZWZpbmVkXG4gICAgLy8gQXBwZW5kIHdoZW4gcnVuaW5nIGNvbW1hbmQgJ3BucG0gbGliOmJ1aWxkJ1xuICAgIGF1dG9VcGRhdGUodGhpcy5idXR0b24ubmF0aXZlRWxlbWVudCwgdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50LCAoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHJldHVybjtcbiAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIE9uY2xpY2sgb3V0c2lkZSB0aGUgZHJvcGRvd24sIGNsb3NlIGl0XG4gIGNsaWNrb3V0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgdGhpcy5pc09wZW4oKSAmJlxuICAgICAgIXRoaXMuYnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICkge1xuICAgICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBjb252ZXJ0UG9zaXRpb24ocG9zOiBrZXlvZiBEcm9wZG93blBvc2l0aW9ucyk6IFBsYWNlbWVudCB7XG4gICAgc3dpdGNoIChwb3MpIHtcbiAgICAgIGNhc2UgJ3RvcC1jZW50ZXInOlxuICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICBjYXNlICdib3R0b20tY2VudGVyJzpcbiAgICAgICAgcmV0dXJuICdib3R0b20nO1xuICAgICAgY2FzZSAnbGVmdC1jZW50ZXInOlxuICAgICAgICByZXR1cm4gJ2xlZnQnO1xuICAgICAgY2FzZSAncmlnaHQtY2VudGVyJzpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
181
|
+
}] });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUcvRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLGNBQWMsQ0FDckUsdUNBQXVDLENBQ3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxJQUFJLGNBQWMsQ0FDdkUseUNBQXlDLENBQzFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxJQUFJLGNBQWMsQ0FDeEUsMENBQTBDLENBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0Q0FBNEMsR0FB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QUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDbkQsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQXpGVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvekJBbUIyQixxQkFBcUIseUVBSW5CLHVCQUF1QiwwRUFJdEIsd0JBQXdCLDZSQTFEeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVCw0REExQlMsYUFBYTs7MkZBaUNaLGlCQUFpQjtrQkFuQzdCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjtxQkFDdkM7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyb3Bkb3duRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IERyb3Bkb3duQ2xhc3MsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blRoZW1lIH0gZnJvbSAnLi9kcm9wZG93bi50aGVtZSc7XG5pbXBvcnQgeyBEcm9wZG93blRoZW1lU2VydmljZSB9IGZyb20gJy4vZHJvcGRvd24udGhlbWUuc2VydmljZSc7XG5cbmltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICdmbG93Yml0ZS1hbmd1bGFyJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbiB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCwgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhci9pY29uJztcbmltcG9ydCB7IENIRVZST05fRE9XTl9TVkdfSUNPTiB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXIvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICBtb2RlbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGNvbnN0IEZMT1dCSVRFX0RST1BET1dOX0xBQkVMX0RFRkFVTFRfVkFMVUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ0ZMT1dCSVRFX0RST1BET1dOX0xBQkVMX0RFRkFVTFRfVkFMVUUnXG4pO1xuXG5leHBvcnQgY29uc3QgRkxPV0JJVEVfRFJPUERPV05fSVNfT1BFTl9ERUZBVUxUX1ZBTFVFID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAnRkxPV0JJVEVfRFJPUERPV05fSVNfT1BFTl9ERUZBVUxUX1ZBTFVFJ1xuKTtcblxuZXhwb3J0IGNvbnN0IEZMT1dCSVRFX0RST1BET1dOX1BPU0lUSU9OX0RFRkFVTFRfVkFMVUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48a2V5b2YgRHJvcGRvd25Qb3NpdGlvbnM+KFxuICAnRkxPV0JJVEVfRFJPUERPV05fUE9TSVRJT05fREVGQVVMVF9WQUxVRSdcbik7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9EUk9QRE9XTl9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgRGVlcFBhcnRpYWw8RHJvcGRvd25UaGVtZT5cbj4oJ0ZMT1dCSVRFX0RST1BET1dOX0NVU1RPTV9TVFlMRV9ERUZBVUxUX1ZBTFVFJyk7XG5cbmV4cG9ydCBjb25zdCBkcm9wZG93bkRlZmF1bHRWYWx1ZVByb3ZpZGVyID0gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAge1xuICAgIHByb3ZpZGU6IEZMT1dCSVRFX0RST1BET1dOX0xBQkVMX0RFRkFVTFRfVkFMVUUsXG4gICAgdXNlVmFsdWU6ICdEcm9wZG93bicsXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBGTE9XQklURV9EUk9QRE9XTl9JU19PUEVOX0RFRkFVTFRfVkFMVUUsXG4gICAgdXNlVmFsdWU6IGZhbHNlLFxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogRkxPV0JJVEVfRFJPUERPV05fUE9TSVRJT05fREVGQVVMVF9WQUxVRSxcbiAgICB1c2VWYWx1ZTogJ2JvdHRvbS1jZW50ZXInLFxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogRkxPV0JJVEVfRFJPUERPV05fQ1VTVE9NX1NUWUxFX0RFRkFVTFRfVkFMVUUsXG4gICAgdXNlVmFsdWU6IHt9LFxuICB9LFxuXSk7XG5cbi8qKlxuICogQHNlZSBodHRwczovL2Zsb3diaXRlLmNvbS9kb2NzL2NvbXBvbmVudHMvZHJvcGRvd25zL1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ2Zsb3diaXRlLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtjbGFzc109XCJjb250ZW50Q2xhc3NlcygpLmRyb3Bkb3duQ2xhc3NcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgICNidXR0b24+XG4gICAgICA8c3BhbiBbY2xhc3NdPVwiY29udGVudENsYXNzZXMoKS5zcGFuQ2xhc3NcIj5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICA8Zmxvd2JpdGUtaWNvblxuICAgICAgICAgIHN2Z0ljb249XCJmbG93Yml0ZS1hbmd1bGFyOmNoZXZyb24tZG93blwiXG4gICAgICAgICAgY2xhc3M9XCJtbC0yIGgtNCB3LTRcIiAvPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJjb250ZW50Q2xhc3NlcygpLmNvbnRhaW5lckNsYXNzXCJcbiAgICAgICNkcm9wZG93blxuICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaXNPcGVuKCkgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5taW5XaWR0aC5weF09XCJidXR0b24uY2xpZW50V2lkdGhcIj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cImNvbnRlbnRDbGFzc2VzKCkuY29udGVudENsYXNzXCI+XG4gICAgICAgIDx1bCBbY2xhc3NdPVwiY29udGVudENsYXNzZXMoKS5zdWJDb250ZW50Q2xhc3NcIj5cbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdjbGlja291dCgkZXZlbnQpJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxEcm9wZG93bkNsYXNzPiB7XG4gIGRyb3Bkb3duID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdkcm9wZG93bicpO1xuICBidXR0b24gPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2J1dHRvbicpO1xuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGluamVjdGVkIHVzZWQgdG8gZ2VuZXJhdGUgY2xhc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25UaGVtZVNlcnZpY2UpO1xuICAvKipcbiAgICogYEljb25SZWdpc3RyeWAgc2VydmljZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGljb25SZWdpc3RyeSA9IGluamVjdChJY29uUmVnaXN0cnkpO1xuICAvKipcbiAgICogYERvbVNhbml0aXplcmAgc2VydmljZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICAvKipcbiAgICogTGlzdCBvZiBgRHJvcGRvd25JdGVtQ29tcG9uZW50YFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRyb3Bkb3duSXRlbUNoaWxkcmVuID0gY29udGVudENoaWxkcmVuKERyb3Bkb3duSXRlbUNvbXBvbmVudCk7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGBEcm9wZG93bkhlYWRlckNvbXBvbmVudGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkhlYWRlckNoaWxkcmVuID0gY29udGVudENoaWxkcmVuKERyb3Bkb3duSGVhZGVyQ29tcG9uZW50KTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgYERyb3Bkb3duRGl2aWRlckNvbXBvbmVudGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkcm9wZG93bkRpdmlkZXJDaGlsZHJlbiA9IGNvbnRlbnRDaGlsZHJlbihEcm9wZG93bkRpdmlkZXJDb21wb25lbnQpO1xuXG4gIC8vI3JlZ2lvbiBwcm9wZXJ0aWVzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRyb3Bkb3duIGxhYmVsXG4gICAqXG4gICAqIEBkZWZhdWx0IERyb3Bkb3duXG4gICAqL1xuICBwdWJsaWMgbGFiZWwgPSBtb2RlbChpbmplY3QoRkxPV0JJVEVfRFJPUERPV05fTEFCRUxfREVGQVVMVF9WQUxVRSkpO1xuICAvKipcbiAgICogU2V0IGlmIHRoZSBkcm9wZG93biBpcyBvcGVuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNPcGVuID0gbW9kZWwoaW5qZWN0KEZMT1dCSVRFX0RST1BET1dOX0lTX09QRU5fREVGQVVMVF9WQUxVRSkpO1xuICAvKipcbiAgICogU2V0IHRoZSBkcm9wZG93biBwb3NpdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCBib3R0b20tY2VudGVyXG4gICAqL1xuICBwdWJsaWMgcG9zaXRpb24gPSBtb2RlbChpbmplY3QoRkxPV0JJVEVfRFJPUERPV05fUE9TSVRJT05fREVGQVVMVF9WQUxVRSkpO1xuICAvKipcbiAgICogU2V0IHRoZSBjdXN0b20gc3R5bGUgZm9yIHRoaXMgZHJvcGRvd25cbiAgICovXG4gIHB1YmxpYyBjdXN0b21TdHlsZSA9IG1vZGVsKGluamVjdChGTE9XQklURV9EUk9QRE9XTl9DVVNUT01fU1RZTEVfREVGQVVMVF9WQUxVRSkpO1xuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRhdGlvblxuICBwdWJsaWMgb3ZlcnJpZGUgZmV0Y2hDbGFzcygpOiBEcm9wZG93bkNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q2xhc3Nlcyh7XG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCgpLFxuICAgICAgaXNPcGVuOiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5pc09wZW4oKSksXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucG9zaXRpb24oKSxcbiAgICAgIGN1c3RvbVN0eWxlOiB0aGlzLmN1c3RvbVN0eWxlKCksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmljb25SZWdpc3RyeS5hZGRSYXdTdmdJY29uSW5OYW1lcHNhY2UoXG4gICAgICAnZmxvd2JpdGUtYW5ndWxhcicsXG4gICAgICAnY2hldnJvbi1kb3duJyxcbiAgICAgIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKENIRVZST05fRE9XTl9TVkdfSUNPTilcbiAgICApO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8qKlxuICAgKiBUb2dnbGUgZHJvcGRvd24gaXNPcGVuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNPcGVuLnNldCghdGhpcy5pc09wZW4oKSk7XG4gIH1cblxuICAvLyBPbmNsaWNrIG91dHNpZGUgdGhlIGRyb3Bkb3duLCBjbG9zZSBpdFxuICBjbGlja291dChldmVudDogRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5kcm9wZG93bigpLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgdGhpcy5pc09wZW4oKSAmJlxuICAgICAgIXRoaXMuYnV0dG9uKCkubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgKSB7XG4gICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIl19
|