@dontdrinkandroot/ngx-material-extensions 0.21.1 → 0.21.2
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/assets/_utils.scss +1 -1
- package/assets/_variables.scss +7 -1
- package/assets/utils/_spacing.scss +8 -0
- package/fesm2022/dontdrinkandroot-ngx-material-extensions.mjs +68 -3
- package/fesm2022/dontdrinkandroot-ngx-material-extensions.mjs.map +1 -1
- package/package.json +1 -1
- package/types/dontdrinkandroot-ngx-material-extensions.d.ts +50 -25
package/assets/_utils.scss
CHANGED
package/assets/_variables.scss
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
$primary: mat.$azure-palette !default;
|
|
4
4
|
$tertiary: mat.$magenta-palette !default;
|
|
5
5
|
$success: mat.$green-palette !default;
|
|
6
|
-
$warning: mat.$
|
|
6
|
+
$warning: mat.$yellow-palette !default;
|
|
7
7
|
$density: 0 !default;
|
|
8
8
|
|
|
9
9
|
$spacer: 1rem !default;
|
|
@@ -32,6 +32,12 @@ $margins: (
|
|
|
32
32
|
'mb': 'margin-bottom'
|
|
33
33
|
) !default;
|
|
34
34
|
|
|
35
|
+
$gaps: (
|
|
36
|
+
'gap': 'gap',
|
|
37
|
+
'column-gap': 'column-gap',
|
|
38
|
+
'row-gap': 'row-gap'
|
|
39
|
+
) !default;
|
|
40
|
+
|
|
35
41
|
$displays: (
|
|
36
42
|
none: none,
|
|
37
43
|
inline: inline,
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, provideEnvironmentInitializer, ElementRef, Directive, input, ViewChild, Input, ChangeDetectionStrategy, Component, signal, effect } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, provideEnvironmentInitializer, ElementRef, Directive, input, ViewChild, Input, ChangeDetectionStrategy, Component, signal, forwardRef, effect } from '@angular/core';
|
|
3
3
|
import { MatIconRegistry, MatIcon } from '@angular/material/icon';
|
|
4
4
|
import { DOCUMENT, NgClass } from '@angular/common';
|
|
5
5
|
import { fromEvent, distinctUntilChanged, interval, BehaviorSubject, combineLatest } from 'rxjs';
|
|
6
6
|
import { map, debounce } from 'rxjs/operators';
|
|
7
7
|
import * as i1 from '@angular/forms';
|
|
8
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { FormControl, ReactiveFormsModule, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
9
|
import { MatCard } from '@angular/material/card';
|
|
10
10
|
import { MatFormField, MatSuffix, MatPrefix } from '@angular/material/form-field';
|
|
11
11
|
import { MatInput } from '@angular/material/input';
|
|
12
12
|
import { MatIconButton } from '@angular/material/button';
|
|
13
13
|
import { outputFromObservable, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
14
|
+
import * as i1$1 from '@angular/material/slider';
|
|
15
|
+
import { MatSliderModule } from '@angular/material/slider';
|
|
14
16
|
import { MatSidenav, MatSidenavContainer, MatSidenavContent } from '@angular/material/sidenav';
|
|
15
17
|
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
16
18
|
import { Router, NavigationStart } from '@angular/router';
|
|
@@ -142,6 +144,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
142
144
|
args: ['input', { static: true }]
|
|
143
145
|
}] } });
|
|
144
146
|
|
|
147
|
+
class LabeledSlider {
|
|
148
|
+
/* Inputs */
|
|
149
|
+
$label = input.required({ ...(ngDevMode ? { debugName: "$label" } : {}), alias: 'label' });
|
|
150
|
+
$min = input(0, { ...(ngDevMode ? { debugName: "$min" } : {}), alias: 'min' });
|
|
151
|
+
$max = input(100, { ...(ngDevMode ? { debugName: "$max" } : {}), alias: 'max' });
|
|
152
|
+
$step = input(1, { ...(ngDevMode ? { debugName: "$step" } : {}), alias: 'step' });
|
|
153
|
+
$disabled = input(false, { ...(ngDevMode ? { debugName: "$disabled" } : {}), alias: 'disabled' });
|
|
154
|
+
$horizontal = input(false, { ...(ngDevMode ? { debugName: "$horizontal" } : {}), alias: 'horizontal' });
|
|
155
|
+
$compact = input(false, { ...(ngDevMode ? { debugName: "$compact" } : {}), alias: 'compact' });
|
|
156
|
+
$value = signal(null, ...(ngDevMode ? [{ debugName: "$value" }] : []));
|
|
157
|
+
onChange = () => {
|
|
158
|
+
};
|
|
159
|
+
onTouched = () => {
|
|
160
|
+
};
|
|
161
|
+
/** @override */
|
|
162
|
+
writeValue(value) {
|
|
163
|
+
this.$value.set(value);
|
|
164
|
+
}
|
|
165
|
+
/** @override */
|
|
166
|
+
registerOnChange(fn) {
|
|
167
|
+
this.onChange = fn;
|
|
168
|
+
}
|
|
169
|
+
/** @override */
|
|
170
|
+
registerOnTouched(fn) {
|
|
171
|
+
this.onTouched = fn;
|
|
172
|
+
}
|
|
173
|
+
/** @override */
|
|
174
|
+
setDisabledState(isDisabled) {
|
|
175
|
+
// We use the disabled input signal, but we might need to handle this if it's used via Reactive Forms
|
|
176
|
+
}
|
|
177
|
+
onModelChange() {
|
|
178
|
+
this.onChange(this.$value());
|
|
179
|
+
}
|
|
180
|
+
onBlur() {
|
|
181
|
+
this.onTouched();
|
|
182
|
+
}
|
|
183
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LabeledSlider, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: LabeledSlider, isStandalone: true, selector: "labeled-slider", inputs: { $label: { classPropertyName: "$label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, $min: { classPropertyName: "$min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, $max: { classPropertyName: "$max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, $step: { classPropertyName: "$step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, $disabled: { classPropertyName: "$disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, $horizontal: { classPropertyName: "$horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, $compact: { classPropertyName: "$compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.horizontal": "$horizontal()", "class.compact": "$compact()", "title": "$label()" } }, providers: [
|
|
185
|
+
{
|
|
186
|
+
provide: NG_VALUE_ACCESSOR,
|
|
187
|
+
useExisting: forwardRef(() => LabeledSlider),
|
|
188
|
+
multi: true
|
|
189
|
+
}
|
|
190
|
+
], ngImport: i0, template: "<label class=\"mat-label-small label\">{{ $label() }}</label>\n<mat-slider [min]=\"$min()\" [max]=\"$max()\" [step]=\"$step()\" [disabled]=\"$disabled()\" discrete class=\"flex-grow\">\n <input matSliderThumb [(ngModel)]=\"$value\" [disabled]=\"$disabled()\" (ngModelChange)=\"onModelChange()\" (blur)=\"onBlur()\">\n</mat-slider>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .label{display:block}:host.horizontal{flex-direction:row;align-items:center}:host.horizontal .label{display:inline-block;width:5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}:host.horizontal .mat-mdc-slider{flex-grow:1}:host.compact .mat-mdc-slider{height:36px}:host.compact .mdc-slider__input{height:22px}:host.compact ::ng-deep .mdc-slider__thumb{height:36px;width:36px}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i1$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i1$1.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
191
|
+
}
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LabeledSlider, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'labeled-slider', standalone: true, imports: [
|
|
195
|
+
MatSliderModule,
|
|
196
|
+
FormsModule
|
|
197
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
198
|
+
{
|
|
199
|
+
provide: NG_VALUE_ACCESSOR,
|
|
200
|
+
useExisting: forwardRef(() => LabeledSlider),
|
|
201
|
+
multi: true
|
|
202
|
+
}
|
|
203
|
+
], host: {
|
|
204
|
+
"[class.horizontal]": "$horizontal()",
|
|
205
|
+
"[class.compact]": "$compact()",
|
|
206
|
+
"[title]": "$label()"
|
|
207
|
+
}, template: "<label class=\"mat-label-small label\">{{ $label() }}</label>\n<mat-slider [min]=\"$min()\" [max]=\"$max()\" [step]=\"$step()\" [disabled]=\"$disabled()\" discrete class=\"flex-grow\">\n <input matSliderThumb [(ngModel)]=\"$value\" [disabled]=\"$disabled()\" (ngModelChange)=\"onModelChange()\" (blur)=\"onBlur()\">\n</mat-slider>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .label{display:block}:host.horizontal{flex-direction:row;align-items:center}:host.horizontal .label{display:inline-block;width:5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}:host.horizontal .mat-mdc-slider{flex-grow:1}:host.compact .mat-mdc-slider{height:36px}:host.compact .mdc-slider__input{height:22px}:host.compact ::ng-deep .mdc-slider__thumb{height:36px;width:36px}\n"] }]
|
|
208
|
+
}], propDecorators: { $label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], $min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], $max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], $step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], $disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], $horizontal: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontal", required: false }] }], $compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }] } });
|
|
209
|
+
|
|
145
210
|
class DdrMatSidenavService {
|
|
146
211
|
breakpointObserver = inject(BreakpointObserver);
|
|
147
212
|
router = inject(Router);
|
|
@@ -327,5 +392,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
327
392
|
* Generated bundle index. Do not edit.
|
|
328
393
|
*/
|
|
329
394
|
|
|
330
|
-
export { DDR_MAT_THEME, DdrMatFabFixedDirective, DdrMatFilterComponent, DdrMatSidenavContainerComponent, DdrMatSidenavService, DdrMatSidenavToggleComponent, DdrMatToolbarFixedTopDirective, provideDdrMaterialExtensions };
|
|
395
|
+
export { DDR_MAT_THEME, DdrMatFabFixedDirective, DdrMatFilterComponent, DdrMatSidenavContainerComponent, DdrMatSidenavService, DdrMatSidenavToggleComponent, DdrMatToolbarFixedTopDirective, LabeledSlider, provideDdrMaterialExtensions };
|
|
331
396
|
//# sourceMappingURL=dontdrinkandroot-ngx-material-extensions.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dontdrinkandroot-ngx-material-extensions.mjs","sources":["../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/theme/theme-config.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/theme/theme-scroll.service.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/provider.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/button/fab-fixed.directive.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/filter/filter.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/filter/filter.component.html","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav.service.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-container.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-container.component.html","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-toggle.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/toolbar/toolbar-fixed-top.directive.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/public-api.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/dontdrinkandroot-ngx-material-extensions.ts"],"sourcesContent":["import {InjectionToken} from \"@angular/core\";\n\nexport const DDR_MAT_THEME = new InjectionToken<DdrMatThemeConfig>('DDR_MAT_THEME');\n\nexport interface DdrMatThemeConfig\n{\n themeColorLight: string,\n themeColorDark: string,\n themeColorLightScrolled: string,\n themeColorDarkScrolled: string,\n}\n","import {inject, Injectable} from \"@angular/core\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {distinctUntilChanged, fromEvent} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport {DDR_MAT_THEME, DdrMatThemeConfig} from \"./theme-config\";\n\n@Injectable()\nexport class DdrMatThemeScrollService\n{\n private readonly document = inject<Document>(DOCUMENT);\n private readonly themeConfig = inject<DdrMatThemeConfig>(DDR_MAT_THEME);\n\n public init()\n {\n const lightMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: light)', this.themeConfig.themeColorLight);\n const darkMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: dark)', this.themeConfig.themeColorDark);\n\n fromEvent(this.document, 'scroll')\n .pipe(\n map(() => this.document.documentElement.scrollTop > 0),\n distinctUntilChanged()\n ).subscribe((scrolled) => {\n this.document.body.classList.toggle('ddr-mat-scrolled', scrolled);\n lightMetaElement.content = scrolled ? this.themeConfig.themeColorLightScrolled : this.themeConfig.themeColorLight;\n darkMetaElement.content = scrolled ? this.themeConfig.themeColorDarkScrolled : this.themeConfig.themeColorDark;\n });\n }\n\n private findOrCreateThemeColorMetaElement(media: string, content: string)\n {\n let metaElement = this.document.head.querySelector<HTMLMetaElement>(`meta[name=\"theme-color\"][media=\"${media}\"]`);\n if (null == metaElement) {\n metaElement = this.createThemeColorMetaElement(media, content);\n }\n return metaElement;\n }\n\n private createThemeColorMetaElement(media: string, content: string)\n {\n const metaElement = this.document.createElement('meta');\n metaElement.name = 'theme-color';\n metaElement.media = media;\n metaElement.content = content;\n this.document.head.appendChild(metaElement);\n\n return metaElement;\n }\n}\n","import {EnvironmentProviders, inject, makeEnvironmentProviders, provideEnvironmentInitializer} from '@angular/core';\nimport {MatIconRegistry} from '@angular/material/icon';\nimport {DDR_MAT_THEME} from './theme/theme-config';\nimport {DdrMatThemeScrollService} from './theme/theme-scroll.service';\n\nexport function provideDdrMaterialExtensions(): EnvironmentProviders\n{\n return makeEnvironmentProviders([\n DdrMatThemeScrollService,\n {\n provide: DDR_MAT_THEME,\n multi: false,\n useValue: {\n themeColorLight: '#faf9fd',\n themeColorDark: '#121316',\n themeColorLightScrolled: '#efedf0',\n themeColorDarkScrolled: '#1f2022',\n }\n },\n provideEnvironmentInitializer(() => {\n inject(DdrMatThemeScrollService).init();\n inject(MatIconRegistry).setDefaultFontSetClass('material-symbols-rounded');\n })\n ]);\n}\n","import {Directive, ElementRef, inject, OnInit} from \"@angular/core\";\n\n@Directive({\n selector: '[ddrMatFabFixed]',\n})\nexport class DdrMatFabFixedDirective implements OnInit\n{\n private element = inject(ElementRef);\n\n private isInitialized = false;\n\n /**\n * @override\n */\n public ngOnInit()\n {\n if (this.isInitialized) {\n return;\n }\n\n // Check if container already exists\n const existingContainer = this.element.nativeElement.parentElement?.querySelector('.ddr-mat-fab-fixed-container');\n if (existingContainer && existingContainer.contains(this.element.nativeElement)) {\n this.isInitialized = true;\n return;\n }\n\n const container = document.createElement('div');\n container.classList.add('ddr-mat-fab-fixed-container');\n this.element.nativeElement.parentElement.insertBefore(container, this.element.nativeElement);\n container.appendChild(this.element.nativeElement);\n\n this.isInitialized = true;\n }\n}\n","import {AfterContentInit, ChangeDetectionStrategy, Component, ElementRef, input, Input, ViewChild} from '@angular/core';\nimport {FormControl, ReactiveFormsModule} from '@angular/forms';\nimport {interval} from 'rxjs';\nimport {debounce} from 'rxjs/operators';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatCard} from \"@angular/material/card\";\nimport {MatFormField, MatPrefix, MatSuffix} from \"@angular/material/form-field\";\nimport {MatInput} from \"@angular/material/input\";\nimport {MatIconButton} from \"@angular/material/button\";\nimport {outputFromObservable} from \"@angular/core/rxjs-interop\";\n\n@Component({\n selector: 'ddr-mat-filter',\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n imports: [\n MatIconButton,\n MatCard,\n MatFormField,\n MatIcon,\n MatInput,\n MatSuffix,\n ReactiveFormsModule,\n MatPrefix\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatFilterComponent implements AfterContentInit\n{\n protected formControl = new FormControl<string | null>(null);\n\n public filterChanged = outputFromObservable(\n this.formControl.valueChanges\n .pipe(debounce(() => interval(this.bouncePeriod)))\n );\n\n @Input()\n public bouncePeriod = 500;\n\n public ddrMatPrefixIcon = input<string | null>(null);\n\n @ViewChild('input', {static: true})\n protected inputElement!: ElementRef;\n\n /**\n * @override\n */\n public ngAfterContentInit()\n {\n this.inputElement.nativeElement.focus();\n }\n\n public clear()\n {\n this.formControl.setValue(null);\n }\n}\n","<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input/>\n @if (ddrMatPrefixIcon()) {\n <mat-icon matPrefix>{{ ddrMatPrefixIcon() }}</mat-icon>\n }\n <button matIconButton matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n","import {inject, Injectable, signal} from '@angular/core';\nimport {MatDrawerToggleResult, MatSidenav} from '@angular/material/sidenav';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {NavigationStart, Router} from '@angular/router';\nimport {toObservable, toSignal} from \"@angular/core/rxjs-interop\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DdrMatSidenavService\n{\n private breakpointObserver = inject(BreakpointObserver);\n\n private router = inject(Router);\n\n private sidenav!: MatSidenav;\n\n private largeBreakpoints = [\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge\n ];\n\n public stayOpenOnLargeScreen = signal(true);\n\n private stayOpenOnLargeScreen$ = toObservable(this.stayOpenOnLargeScreen);\n\n private sidenavContentScrolled$ = new BehaviorSubject<boolean>(false);\n\n public readonly mode;\n\n public readonly opened;\n\n public readonly toggleVisible;\n\n constructor()\n {\n const screenLarge$ = this.breakpointObserver.observe(this.largeBreakpoints).pipe(\n map(result => result.matches)\n );\n\n const mode$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => large && stayOpenOnLargeScreen ? 'side' : 'over'),\n );\n\n const opened$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => large && stayOpenOnLargeScreen),\n );\n\n const toggleVisible$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => !large || !stayOpenOnLargeScreen),\n );\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.closeSidebar();\n }\n });\n\n this.mode = toSignal(mode$, {initialValue: 'over'});\n this.opened = toSignal(opened$, {initialValue: false});\n this.toggleVisible = toSignal(toggleVisible$, {initialValue: true});\n }\n\n public setSidenav(sidenav: MatSidenav): void\n {\n this.sidenav = sidenav;\n }\n\n public toggle(): Promise<MatDrawerToggleResult>\n {\n if (null == this.sidenav) {\n return Promise.reject('No MatSidenav found. Use setSidenav() of SidenavService');\n }\n\n if (!(this.stayOpenOnLargeScreen() && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n return this.sidenav.toggle();\n }\n\n return Promise.resolve(this.sidenav.opened ? 'open' : 'close');\n }\n\n public closeSidebar(): void\n {\n if (!(this.stayOpenOnLargeScreen() && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n this.sidenav.close();\n }\n }\n\n public watchContentScrolled()\n {\n return this.sidenavContentScrolled$.asObservable();\n }\n}\n","import {ChangeDetectionStrategy, Component, effect, inject, input, OnInit, ViewChild} from '@angular/core';\nimport {MatSidenav, MatSidenavContainer, MatSidenavContent} from '@angular/material/sidenav';\nimport {DdrMatSidenavService} from './sidenav.service';\nimport {NgClass} from \"@angular/common\";\n\n@Component({\n selector: 'ddr-mat-sidenav-container',\n templateUrl: './sidenav-container.component.html',\n styleUrl: './sidenav-container.component.scss',\n imports: [\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n NgClass\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatSidenavContainerComponent implements OnInit\n{\n private sidenavService = inject(DdrMatSidenavService);\n\n @ViewChild('sidenav', {static: true})\n public sidenav!: MatSidenav;\n\n public stayOpenOnLargeScreen = input<boolean>(true);\n\n protected mode;\n\n protected opened;\n\n constructor()\n {\n this.mode = this.sidenavService.mode;\n this.opened = this.sidenavService.opened;\n\n effect(() => {\n this.sidenavService.stayOpenOnLargeScreen.set(this.stayOpenOnLargeScreen());\n });\n }\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.sidenavService.setSidenav(this.sidenav);\n }\n}\n","<mat-sidenav-container [ngClass]=\"mode()\">\n <mat-sidenav\n #sidenav\n [mode]=\"mode()\"\n [opened]=\"opened()\"\n [fixedInViewport]=\"true\"\n >\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content #sidenavContent>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {DdrMatSidenavService} from './sidenav.service';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatIconButton} from \"@angular/material/button\";\n\n@Component({\n selector: 'ddr-mat-sidenav-toggle',\n template: `\n <button matIconButton (click)=\"toggleSidenav()\">\n <mat-icon>menu</mat-icon>\n </button>`,\n imports: [\n MatIcon,\n MatIconButton\n ],\n host: {\n '[style.display]': 'visible() ? \"block\" : \"none\"'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatSidenavToggleComponent\n{\n private sidenavService = inject(DdrMatSidenavService);\n\n public visible;\n\n constructor()\n {\n this.visible = this.sidenavService.toggleVisible;\n }\n\n public toggleSidenav()\n {\n this.sidenavService.toggle();\n }\n}\n","import {Directive, ElementRef, inject, Input, OnInit} from '@angular/core';\n\n@Directive({\n selector: '[ddrMatToolbarFixedTop]'\n})\nexport class DdrMatToolbarFixedTopDirective implements OnInit\n{\n private el = inject(ElementRef);\n\n @Input()\n public ddrMatToolbarFixedTop: string[] | '' = '';\n\n private isInitialized = false;\n\n /**\n * @override\n */\n public ngOnInit()\n {\n if (this.isInitialized) {\n return;\n }\n\n // Check if container already exists\n const existingContainer = this.el.nativeElement.parentElement?.querySelector('.ddr-mat-toolbar-fixed-top-container');\n if (existingContainer && existingContainer.contains(this.el.nativeElement)) {\n this.isInitialized = true;\n return;\n }\n\n const container = document.createElement('div');\n container.classList.add('ddr-mat-toolbar-fixed-top-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n\n if ('' !== this.ddrMatToolbarFixedTop) {\n this.ddrMatToolbarFixedTop.forEach((className: string) => {\n container.classList.add(className);\n });\n }\n\n this.isInitialized = true;\n }\n}\n","/*\n * Public API Surface of ngx-material-extensions\n */\n\nexport * from './lib/provider';\n\nexport * from './lib/button/fab-fixed.directive'\n\nexport * from './lib/filter/filter.component';\n\nexport * from './lib/sidenav/sidenav-container.component';\nexport * from './lib/sidenav/sidenav-toggle.component';\nexport * from './lib/sidenav/sidenav.service';\n\nexport * from './lib/theme/theme-config'\n\nexport * from './lib/toolbar/toolbar-fixed-top.directive'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAEa,aAAa,GAAG,IAAI,cAAc,CAAoB,eAAe;;MCKrE,wBAAwB,CAAA;AAEhB,IAAA,QAAQ,GAAG,MAAM,CAAW,QAAQ,CAAC;AACrC,IAAA,WAAW,GAAG,MAAM,CAAoB,aAAa,CAAC;IAEhE,IAAI,GAAA;AAEP,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iCAAiC,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;AAClI,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,iCAAiC,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;AAE/H,QAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ;aAC5B,IAAI,CACD,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,EACtD,oBAAoB,EAAE,CACzB,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;YACjE,gBAAgB,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe;YACjH,eAAe,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc;AAClH,QAAA,CAAC,CAAC;IACN;IAEQ,iCAAiC,CAAC,KAAa,EAAE,OAAe,EAAA;AAEpE,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAkB,CAAA,gCAAA,EAAmC,KAAK,CAAA,EAAA,CAAI,CAAC;AACjH,QAAA,IAAI,IAAI,IAAI,WAAW,EAAE;YACrB,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC;QAClE;AACA,QAAA,OAAO,WAAW;IACtB;IAEQ,2BAA2B,CAAC,KAAa,EAAE,OAAe,EAAA;QAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACvD,QAAA,WAAW,CAAC,IAAI,GAAG,aAAa;AAChC,QAAA,WAAW,CAAC,KAAK,GAAG,KAAK;AACzB,QAAA,WAAW,CAAC,OAAO,GAAG,OAAO;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;AAE3C,QAAA,OAAO,WAAW;IACtB;uGAvCS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAxB,wBAAwB,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;SCDe,4BAA4B,GAAA;AAExC,IAAA,OAAO,wBAAwB,CAAC;QAC5B,wBAAwB;AACxB,QAAA;AACI,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE;AACN,gBAAA,eAAe,EAAE,SAAS;AAC1B,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,uBAAuB,EAAE,SAAS;AAClC,gBAAA,sBAAsB,EAAE,SAAS;AACpC;AACJ,SAAA;QACD,6BAA6B,CAAC,MAAK;AAC/B,YAAA,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE;YACvC,MAAM,CAAC,eAAe,CAAC,CAAC,sBAAsB,CAAC,0BAA0B,CAAC;AAC9E,QAAA,CAAC;AACJ,KAAA,CAAC;AACN;;MCnBa,uBAAuB,CAAA;AAExB,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;IAE5B,aAAa,GAAG,KAAK;AAE7B;;AAEG;IACI,QAAQ,GAAA;AAEX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB;QACJ;;AAGA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,8BAA8B,CAAC;AACjH,QAAA,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAC7E,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;YACzB;QACJ;QAEA,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC/C,QAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC;AACtD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5F,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAEjD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC7B;uGA5BS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA;;;MCuBY,qBAAqB,CAAA;AAEpB,IAAA,WAAW,GAAG,IAAI,WAAW,CAAgB,IAAI,CAAC;AAErD,IAAA,aAAa,GAAG,oBAAoB,CACvC,IAAI,CAAC,WAAW,CAAC;AACZ,SAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACzD;IAGM,YAAY,GAAG,GAAG;AAElB,IAAA,gBAAgB,GAAG,KAAK,CAAgB,IAAI,4DAAC;AAG1C,IAAA,YAAY;AAEtB;;AAEG;IACI,kBAAkB,GAAA;AAErB,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE;IAC3C;IAEO,KAAK,GAAA;AAER,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnC;uGA5BS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,+hBC3BlC,8cAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKQ,aAAa,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,OAAO,2IACP,QAAQ,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACR,SAAS,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACT,mBAAmB,0kBACnB,SAAS,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIJ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,OAAA,EAGjB;wBACL,aAAa;wBACb,OAAO;wBACP,YAAY;wBACZ,OAAO;wBACP,QAAQ;wBACR,SAAS;wBACT,mBAAmB;wBACnB;qBACH,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8cAAA,EAAA;;sBAW9C;;sBAKA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;;;ME9BzB,oBAAoB,CAAA;AAErB,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE/C,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAEvB,IAAA,OAAO;AAEP,IAAA,gBAAgB,GAAG;AACvB,QAAA,WAAW,CAAC,MAAM;AAClB,QAAA,WAAW,CAAC,KAAK;AACjB,QAAA,WAAW,CAAC;KACf;AAEM,IAAA,qBAAqB,GAAG,MAAM,CAAC,IAAI,iEAAC;AAEnC,IAAA,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAEjE,IAAA,uBAAuB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAErD,IAAA,IAAI;AAEJ,IAAA,MAAM;AAEN,IAAA,aAAa;AAE7B,IAAA,WAAA,GAAA;QAEI,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC5E,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAChC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC;YACxB,YAAY;AACZ,YAAA,IAAI,CAAC;SACR,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,KAAK,IAAI,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC,CAC5F;QAED,MAAM,OAAO,GAAG,aAAa,CAAC;YAC1B,YAAY;AACZ,YAAA,IAAI,CAAC;AACR,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,KAAK,IAAI,qBAAqB,CAAC,CAC1E;QAED,MAAM,cAAc,GAAG,aAAa,CAAC;YACjC,YAAY;AACZ,YAAA,IAAI,CAAC;SACR,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,CAC5E;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAG;AACjC,YAAA,IAAI,KAAK,YAAY,eAAe,EAAE;gBAClC,IAAI,CAAC,YAAY,EAAE;YACvB;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC;AACnD,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC;AACtD,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC;IACvE;AAEO,IAAA,UAAU,CAAC,OAAmB,EAAA;AAEjC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IAC1B;IAEO,MAAM,GAAA;AAET,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,yDAAyD,CAAC;QACpF;AAEA,QAAA,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAC7F,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAChC;AAEA,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClE;IAEO,YAAY,GAAA;AAEf,QAAA,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAC7F,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QACxB;IACJ;IAEO,oBAAoB,GAAA;AAEvB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE;IACtD;uGA5FS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFjB,MAAM,EAAA,CAAA;;2FAET,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCOY,+BAA+B,CAAA;AAEhC,IAAA,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAG9C,IAAA,OAAO;AAEP,IAAA,qBAAqB,GAAG,KAAK,CAAU,IAAI,iEAAC;AAEzC,IAAA,IAAI;AAEJ,IAAA,MAAM;AAEhB,IAAA,WAAA,GAAA;QAEI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;QAExC,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC/E,QAAA,CAAC,CAAC;IACN;AAEA;;AAEG;IACI,QAAQ,GAAA;QAEX,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAChD;uGA7BS,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB5C,wbAaA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHQ,UAAU,gJACV,mBAAmB,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIF,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAZ3C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,OAAA,EAG5B;wBACL,UAAU;wBACV,mBAAmB;wBACnB,iBAAiB;wBACjB;qBACH,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wbAAA,EAAA;;sBAM9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;;;MED3B,4BAA4B,CAAA;AAE7B,IAAA,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAE9C,IAAA,OAAO;AAEd,IAAA,WAAA,GAAA;QAEI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa;IACpD;IAEO,aAAa,GAAA;AAEhB,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;IAChC;uGAdS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,kCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAb3B;;;kBAGI,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEV,OAAO,2IACP,aAAa,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAOR,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE;;;AAGI,iBAAA,CAAA;AACd,oBAAA,OAAO,EAAE;wBACL,OAAO;wBACP;AACH,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE;AACtB,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCdY,8BAA8B,CAAA;AAE/B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IAGxB,qBAAqB,GAAkB,EAAE;IAExC,aAAa,GAAG,KAAK;AAE7B;;AAEG;IACI,QAAQ,GAAA;AAEX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB;QACJ;;AAGA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,sCAAsC,CAAC;AACpH,QAAA,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;AACxE,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;YACzB;QACJ;QAEA,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC/C,QAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,qCAAqC,CAAC;AAC9D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAClF,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AAE5C,QAAA,IAAI,EAAE,KAAK,IAAI,CAAC,qBAAqB,EAAE;YACnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,SAAiB,KAAI;AACrD,gBAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AACtC,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC7B;uGArCS,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;sBAKI;;;ACTL;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"dontdrinkandroot-ngx-material-extensions.mjs","sources":["../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/theme/theme-config.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/theme/theme-scroll.service.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/provider.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/button/fab-fixed.directive.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/filter/filter.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/filter/filter.component.html","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/labeled-slider/labeled-slider.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/labeled-slider/labeled-slider.html","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav.service.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-container.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-container.component.html","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/sidenav/sidenav-toggle.component.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/lib/toolbar/toolbar-fixed-top.directive.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/public-api.ts","../../../../projects/dontdrinkandroot/ngx-material-extensions/src/dontdrinkandroot-ngx-material-extensions.ts"],"sourcesContent":["import {InjectionToken} from \"@angular/core\";\n\nexport const DDR_MAT_THEME = new InjectionToken<DdrMatThemeConfig>('DDR_MAT_THEME');\n\nexport interface DdrMatThemeConfig\n{\n themeColorLight: string,\n themeColorDark: string,\n themeColorLightScrolled: string,\n themeColorDarkScrolled: string,\n}\n","import {inject, Injectable} from \"@angular/core\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {distinctUntilChanged, fromEvent} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport {DDR_MAT_THEME, DdrMatThemeConfig} from \"./theme-config\";\n\n@Injectable()\nexport class DdrMatThemeScrollService\n{\n private readonly document = inject<Document>(DOCUMENT);\n private readonly themeConfig = inject<DdrMatThemeConfig>(DDR_MAT_THEME);\n\n public init()\n {\n const lightMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: light)', this.themeConfig.themeColorLight);\n const darkMetaElement = this.findOrCreateThemeColorMetaElement('(prefers-color-scheme: dark)', this.themeConfig.themeColorDark);\n\n fromEvent(this.document, 'scroll')\n .pipe(\n map(() => this.document.documentElement.scrollTop > 0),\n distinctUntilChanged()\n ).subscribe((scrolled) => {\n this.document.body.classList.toggle('ddr-mat-scrolled', scrolled);\n lightMetaElement.content = scrolled ? this.themeConfig.themeColorLightScrolled : this.themeConfig.themeColorLight;\n darkMetaElement.content = scrolled ? this.themeConfig.themeColorDarkScrolled : this.themeConfig.themeColorDark;\n });\n }\n\n private findOrCreateThemeColorMetaElement(media: string, content: string)\n {\n let metaElement = this.document.head.querySelector<HTMLMetaElement>(`meta[name=\"theme-color\"][media=\"${media}\"]`);\n if (null == metaElement) {\n metaElement = this.createThemeColorMetaElement(media, content);\n }\n return metaElement;\n }\n\n private createThemeColorMetaElement(media: string, content: string)\n {\n const metaElement = this.document.createElement('meta');\n metaElement.name = 'theme-color';\n metaElement.media = media;\n metaElement.content = content;\n this.document.head.appendChild(metaElement);\n\n return metaElement;\n }\n}\n","import {EnvironmentProviders, inject, makeEnvironmentProviders, provideEnvironmentInitializer} from '@angular/core';\nimport {MatIconRegistry} from '@angular/material/icon';\nimport {DDR_MAT_THEME} from './theme/theme-config';\nimport {DdrMatThemeScrollService} from './theme/theme-scroll.service';\n\nexport function provideDdrMaterialExtensions(): EnvironmentProviders\n{\n return makeEnvironmentProviders([\n DdrMatThemeScrollService,\n {\n provide: DDR_MAT_THEME,\n multi: false,\n useValue: {\n themeColorLight: '#faf9fd',\n themeColorDark: '#121316',\n themeColorLightScrolled: '#efedf0',\n themeColorDarkScrolled: '#1f2022',\n }\n },\n provideEnvironmentInitializer(() => {\n inject(DdrMatThemeScrollService).init();\n inject(MatIconRegistry).setDefaultFontSetClass('material-symbols-rounded');\n })\n ]);\n}\n","import {Directive, ElementRef, inject, OnInit} from \"@angular/core\";\n\n@Directive({\n selector: '[ddrMatFabFixed]',\n})\nexport class DdrMatFabFixedDirective implements OnInit\n{\n private element = inject(ElementRef);\n\n private isInitialized = false;\n\n /**\n * @override\n */\n public ngOnInit()\n {\n if (this.isInitialized) {\n return;\n }\n\n // Check if container already exists\n const existingContainer = this.element.nativeElement.parentElement?.querySelector('.ddr-mat-fab-fixed-container');\n if (existingContainer && existingContainer.contains(this.element.nativeElement)) {\n this.isInitialized = true;\n return;\n }\n\n const container = document.createElement('div');\n container.classList.add('ddr-mat-fab-fixed-container');\n this.element.nativeElement.parentElement.insertBefore(container, this.element.nativeElement);\n container.appendChild(this.element.nativeElement);\n\n this.isInitialized = true;\n }\n}\n","import {AfterContentInit, ChangeDetectionStrategy, Component, ElementRef, input, Input, ViewChild} from '@angular/core';\nimport {FormControl, ReactiveFormsModule} from '@angular/forms';\nimport {interval} from 'rxjs';\nimport {debounce} from 'rxjs/operators';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatCard} from \"@angular/material/card\";\nimport {MatFormField, MatPrefix, MatSuffix} from \"@angular/material/form-field\";\nimport {MatInput} from \"@angular/material/input\";\nimport {MatIconButton} from \"@angular/material/button\";\nimport {outputFromObservable} from \"@angular/core/rxjs-interop\";\n\n@Component({\n selector: 'ddr-mat-filter',\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n imports: [\n MatIconButton,\n MatCard,\n MatFormField,\n MatIcon,\n MatInput,\n MatSuffix,\n ReactiveFormsModule,\n MatPrefix\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatFilterComponent implements AfterContentInit\n{\n protected formControl = new FormControl<string | null>(null);\n\n public filterChanged = outputFromObservable(\n this.formControl.valueChanges\n .pipe(debounce(() => interval(this.bouncePeriod)))\n );\n\n @Input()\n public bouncePeriod = 500;\n\n public ddrMatPrefixIcon = input<string | null>(null);\n\n @ViewChild('input', {static: true})\n protected inputElement!: ElementRef;\n\n /**\n * @override\n */\n public ngAfterContentInit()\n {\n this.inputElement.nativeElement.focus();\n }\n\n public clear()\n {\n this.formControl.setValue(null);\n }\n}\n","<mat-card appearance=\"outlined\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input matInput type=\"text\" [formControl]=\"formControl\" #input/>\n @if (ddrMatPrefixIcon()) {\n <mat-icon matPrefix>{{ ddrMatPrefixIcon() }}</mat-icon>\n }\n <button matIconButton matSuffix (click)=\"clear()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</mat-card>\n","import {ChangeDetectionStrategy, Component, forwardRef, input, signal} from \"@angular/core\";\nimport {ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {MatSliderModule} from \"@angular/material/slider\";\n\n@Component({\n selector: 'labeled-slider',\n standalone: true,\n imports: [\n MatSliderModule,\n FormsModule\n ],\n templateUrl: './labeled-slider.html',\n styleUrl: './labeled-slider.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LabeledSlider),\n multi: true\n }\n ],\n host: {\n \"[class.horizontal]\": \"$horizontal()\",\n \"[class.compact]\": \"$compact()\",\n \"[title]\": \"$label()\"\n }\n})\nexport class LabeledSlider implements ControlValueAccessor\n{\n /* Inputs */\n public $label = input.required<string>({alias: 'label'});\n public $min = input<number>(0, {alias: 'min'});\n public $max = input<number>(100, {alias: 'max'});\n public $step = input<number>(1, {alias: 'step'});\n public $disabled = input<boolean>(false, {alias: 'disabled'});\n public $horizontal = input<boolean>(false, {alias: 'horizontal'});\n public $compact = input<boolean>(false, {alias: 'compact'});\n\n protected readonly $value = signal<number | null>(null);\n\n private onChange: (value: number | null) => void = () => {\n };\n\n private onTouched: () => void = () => {\n };\n\n /** @override */\n public writeValue(value: number | null): void\n {\n this.$value.set(value);\n }\n\n /** @override */\n public registerOnChange(fn: (value: number | null) => void): void\n {\n this.onChange = fn;\n }\n\n /** @override */\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n /** @override */\n public setDisabledState(isDisabled: boolean): void\n {\n // We use the disabled input signal, but we might need to handle this if it's used via Reactive Forms\n }\n\n protected onModelChange(): void\n {\n this.onChange(this.$value());\n }\n\n protected onBlur(): void\n {\n this.onTouched();\n }\n}\n","<label class=\"mat-label-small label\">{{ $label() }}</label>\n<mat-slider [min]=\"$min()\" [max]=\"$max()\" [step]=\"$step()\" [disabled]=\"$disabled()\" discrete class=\"flex-grow\">\n <input matSliderThumb [(ngModel)]=\"$value\" [disabled]=\"$disabled()\" (ngModelChange)=\"onModelChange()\" (blur)=\"onBlur()\">\n</mat-slider>\n","import {inject, Injectable, signal} from '@angular/core';\nimport {MatDrawerToggleResult, MatSidenav} from '@angular/material/sidenav';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {NavigationStart, Router} from '@angular/router';\nimport {toObservable, toSignal} from \"@angular/core/rxjs-interop\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DdrMatSidenavService\n{\n private breakpointObserver = inject(BreakpointObserver);\n\n private router = inject(Router);\n\n private sidenav!: MatSidenav;\n\n private largeBreakpoints = [\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge\n ];\n\n public stayOpenOnLargeScreen = signal(true);\n\n private stayOpenOnLargeScreen$ = toObservable(this.stayOpenOnLargeScreen);\n\n private sidenavContentScrolled$ = new BehaviorSubject<boolean>(false);\n\n public readonly mode;\n\n public readonly opened;\n\n public readonly toggleVisible;\n\n constructor()\n {\n const screenLarge$ = this.breakpointObserver.observe(this.largeBreakpoints).pipe(\n map(result => result.matches)\n );\n\n const mode$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => large && stayOpenOnLargeScreen ? 'side' : 'over'),\n );\n\n const opened$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => large && stayOpenOnLargeScreen),\n );\n\n const toggleVisible$ = combineLatest([\n screenLarge$,\n this.stayOpenOnLargeScreen$\n ]).pipe(\n map(([large, stayOpenOnLargeScreen]) => !large || !stayOpenOnLargeScreen),\n );\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.closeSidebar();\n }\n });\n\n this.mode = toSignal(mode$, {initialValue: 'over'});\n this.opened = toSignal(opened$, {initialValue: false});\n this.toggleVisible = toSignal(toggleVisible$, {initialValue: true});\n }\n\n public setSidenav(sidenav: MatSidenav): void\n {\n this.sidenav = sidenav;\n }\n\n public toggle(): Promise<MatDrawerToggleResult>\n {\n if (null == this.sidenav) {\n return Promise.reject('No MatSidenav found. Use setSidenav() of SidenavService');\n }\n\n if (!(this.stayOpenOnLargeScreen() && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n return this.sidenav.toggle();\n }\n\n return Promise.resolve(this.sidenav.opened ? 'open' : 'close');\n }\n\n public closeSidebar(): void\n {\n if (!(this.stayOpenOnLargeScreen() && this.breakpointObserver.isMatched(this.largeBreakpoints))) {\n this.sidenav.close();\n }\n }\n\n public watchContentScrolled()\n {\n return this.sidenavContentScrolled$.asObservable();\n }\n}\n","import {ChangeDetectionStrategy, Component, effect, inject, input, OnInit, ViewChild} from '@angular/core';\nimport {MatSidenav, MatSidenavContainer, MatSidenavContent} from '@angular/material/sidenav';\nimport {DdrMatSidenavService} from './sidenav.service';\nimport {NgClass} from \"@angular/common\";\n\n@Component({\n selector: 'ddr-mat-sidenav-container',\n templateUrl: './sidenav-container.component.html',\n styleUrl: './sidenav-container.component.scss',\n imports: [\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n NgClass\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatSidenavContainerComponent implements OnInit\n{\n private sidenavService = inject(DdrMatSidenavService);\n\n @ViewChild('sidenav', {static: true})\n public sidenav!: MatSidenav;\n\n public stayOpenOnLargeScreen = input<boolean>(true);\n\n protected mode;\n\n protected opened;\n\n constructor()\n {\n this.mode = this.sidenavService.mode;\n this.opened = this.sidenavService.opened;\n\n effect(() => {\n this.sidenavService.stayOpenOnLargeScreen.set(this.stayOpenOnLargeScreen());\n });\n }\n\n /**\n * @override\n */\n public ngOnInit(): void\n {\n this.sidenavService.setSidenav(this.sidenav);\n }\n}\n","<mat-sidenav-container [ngClass]=\"mode()\">\n <mat-sidenav\n #sidenav\n [mode]=\"mode()\"\n [opened]=\"opened()\"\n [fixedInViewport]=\"true\"\n >\n <ng-content select=\"[slot=mat-sidenav]\"></ng-content>\n </mat-sidenav>\n <mat-sidenav-content #sidenavContent>\n <ng-content select=\"[slot=mat-sidenav-content]\"></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {DdrMatSidenavService} from './sidenav.service';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatIconButton} from \"@angular/material/button\";\n\n@Component({\n selector: 'ddr-mat-sidenav-toggle',\n template: `\n <button matIconButton (click)=\"toggleSidenav()\">\n <mat-icon>menu</mat-icon>\n </button>`,\n imports: [\n MatIcon,\n MatIconButton\n ],\n host: {\n '[style.display]': 'visible() ? \"block\" : \"none\"'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DdrMatSidenavToggleComponent\n{\n private sidenavService = inject(DdrMatSidenavService);\n\n public visible;\n\n constructor()\n {\n this.visible = this.sidenavService.toggleVisible;\n }\n\n public toggleSidenav()\n {\n this.sidenavService.toggle();\n }\n}\n","import {Directive, ElementRef, inject, Input, OnInit} from '@angular/core';\n\n@Directive({\n selector: '[ddrMatToolbarFixedTop]'\n})\nexport class DdrMatToolbarFixedTopDirective implements OnInit\n{\n private el = inject(ElementRef);\n\n @Input()\n public ddrMatToolbarFixedTop: string[] | '' = '';\n\n private isInitialized = false;\n\n /**\n * @override\n */\n public ngOnInit()\n {\n if (this.isInitialized) {\n return;\n }\n\n // Check if container already exists\n const existingContainer = this.el.nativeElement.parentElement?.querySelector('.ddr-mat-toolbar-fixed-top-container');\n if (existingContainer && existingContainer.contains(this.el.nativeElement)) {\n this.isInitialized = true;\n return;\n }\n\n const container = document.createElement('div');\n container.classList.add('ddr-mat-toolbar-fixed-top-container');\n this.el.nativeElement.parentElement.insertBefore(container, this.el.nativeElement);\n container.appendChild(this.el.nativeElement);\n\n if ('' !== this.ddrMatToolbarFixedTop) {\n this.ddrMatToolbarFixedTop.forEach((className: string) => {\n container.classList.add(className);\n });\n }\n\n this.isInitialized = true;\n }\n}\n","/*\n * Public API Surface of ngx-material-extensions\n */\n\nexport * from './lib/provider';\n\nexport * from './lib/button/fab-fixed.directive'\n\nexport * from './lib/filter/filter.component';\n\nexport * from './lib/labeled-slider/labeled-slider';\n\nexport * from './lib/sidenav/sidenav-container.component';\nexport * from './lib/sidenav/sidenav-toggle.component';\nexport * from './lib/sidenav/sidenav.service';\n\nexport * from './lib/theme/theme-config'\n\nexport * from './lib/toolbar/toolbar-fixed-top.directive'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { EnvironmentProviders, OnInit, AfterContentInit, ElementRef, InjectionToken } from '@angular/core';
|
|
3
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormControl, ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import { MatSidenav, MatDrawerToggleResult } from '@angular/material/sidenav';
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
6
6
|
|
|
@@ -13,47 +13,72 @@ declare class DdrMatFabFixedDirective implements OnInit {
|
|
|
13
13
|
* @override
|
|
14
14
|
*/
|
|
15
15
|
ngOnInit(): void;
|
|
16
|
-
static ɵfac:
|
|
17
|
-
static ɵdir:
|
|
16
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatFabFixedDirective, never>;
|
|
17
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DdrMatFabFixedDirective, "[ddrMatFabFixed]", never, {}, {}, never, never, true, never>;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
declare class DdrMatFilterComponent implements AfterContentInit {
|
|
21
21
|
protected formControl: FormControl<string | null>;
|
|
22
|
-
filterChanged:
|
|
22
|
+
filterChanged: _angular_core.OutputRef<string | null>;
|
|
23
23
|
bouncePeriod: number;
|
|
24
|
-
ddrMatPrefixIcon:
|
|
24
|
+
ddrMatPrefixIcon: _angular_core.InputSignal<string | null>;
|
|
25
25
|
protected inputElement: ElementRef;
|
|
26
26
|
/**
|
|
27
27
|
* @override
|
|
28
28
|
*/
|
|
29
29
|
ngAfterContentInit(): void;
|
|
30
30
|
clear(): void;
|
|
31
|
-
static ɵfac:
|
|
32
|
-
static ɵcmp:
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatFilterComponent, never>;
|
|
32
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DdrMatFilterComponent, "ddr-mat-filter", never, { "bouncePeriod": { "alias": "bouncePeriod"; "required": false; }; "ddrMatPrefixIcon": { "alias": "ddrMatPrefixIcon"; "required": false; "isSignal": true; }; }, { "filterChanged": "filterChanged"; }, never, never, true, never>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
declare class LabeledSlider implements ControlValueAccessor {
|
|
36
|
+
$label: _angular_core.InputSignal<string>;
|
|
37
|
+
$min: _angular_core.InputSignal<number>;
|
|
38
|
+
$max: _angular_core.InputSignal<number>;
|
|
39
|
+
$step: _angular_core.InputSignal<number>;
|
|
40
|
+
$disabled: _angular_core.InputSignal<boolean>;
|
|
41
|
+
$horizontal: _angular_core.InputSignal<boolean>;
|
|
42
|
+
$compact: _angular_core.InputSignal<boolean>;
|
|
43
|
+
protected readonly $value: _angular_core.WritableSignal<number | null>;
|
|
44
|
+
private onChange;
|
|
45
|
+
private onTouched;
|
|
46
|
+
/** @override */
|
|
47
|
+
writeValue(value: number | null): void;
|
|
48
|
+
/** @override */
|
|
49
|
+
registerOnChange(fn: (value: number | null) => void): void;
|
|
50
|
+
/** @override */
|
|
51
|
+
registerOnTouched(fn: () => void): void;
|
|
52
|
+
/** @override */
|
|
53
|
+
setDisabledState(isDisabled: boolean): void;
|
|
54
|
+
protected onModelChange(): void;
|
|
55
|
+
protected onBlur(): void;
|
|
56
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LabeledSlider, never>;
|
|
57
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LabeledSlider, "labeled-slider", never, { "$label": { "alias": "label"; "required": true; "isSignal": true; }; "$min": { "alias": "min"; "required": false; "isSignal": true; }; "$max": { "alias": "max"; "required": false; "isSignal": true; }; "$step": { "alias": "step"; "required": false; "isSignal": true; }; "$disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "$horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "$compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
33
58
|
}
|
|
34
59
|
|
|
35
60
|
declare class DdrMatSidenavContainerComponent implements OnInit {
|
|
36
61
|
private sidenavService;
|
|
37
62
|
sidenav: MatSidenav;
|
|
38
|
-
stayOpenOnLargeScreen:
|
|
39
|
-
protected mode:
|
|
40
|
-
protected opened:
|
|
63
|
+
stayOpenOnLargeScreen: _angular_core.InputSignal<boolean>;
|
|
64
|
+
protected mode: _angular_core.Signal<"side" | "over">;
|
|
65
|
+
protected opened: _angular_core.Signal<boolean>;
|
|
41
66
|
constructor();
|
|
42
67
|
/**
|
|
43
68
|
* @override
|
|
44
69
|
*/
|
|
45
70
|
ngOnInit(): void;
|
|
46
|
-
static ɵfac:
|
|
47
|
-
static ɵcmp:
|
|
71
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatSidenavContainerComponent, never>;
|
|
72
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DdrMatSidenavContainerComponent, "ddr-mat-sidenav-container", never, { "stayOpenOnLargeScreen": { "alias": "stayOpenOnLargeScreen"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=mat-sidenav]", "[slot=mat-sidenav-content]"], true, never>;
|
|
48
73
|
}
|
|
49
74
|
|
|
50
75
|
declare class DdrMatSidenavToggleComponent {
|
|
51
76
|
private sidenavService;
|
|
52
|
-
visible:
|
|
77
|
+
visible: _angular_core.Signal<boolean>;
|
|
53
78
|
constructor();
|
|
54
79
|
toggleSidenav(): void;
|
|
55
|
-
static ɵfac:
|
|
56
|
-
static ɵcmp:
|
|
80
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatSidenavToggleComponent, never>;
|
|
81
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DdrMatSidenavToggleComponent, "ddr-mat-sidenav-toggle", never, {}, {}, never, never, true, never>;
|
|
57
82
|
}
|
|
58
83
|
|
|
59
84
|
declare class DdrMatSidenavService {
|
|
@@ -61,19 +86,19 @@ declare class DdrMatSidenavService {
|
|
|
61
86
|
private router;
|
|
62
87
|
private sidenav;
|
|
63
88
|
private largeBreakpoints;
|
|
64
|
-
stayOpenOnLargeScreen:
|
|
89
|
+
stayOpenOnLargeScreen: _angular_core.WritableSignal<boolean>;
|
|
65
90
|
private stayOpenOnLargeScreen$;
|
|
66
91
|
private sidenavContentScrolled$;
|
|
67
|
-
readonly mode:
|
|
68
|
-
readonly opened:
|
|
69
|
-
readonly toggleVisible:
|
|
92
|
+
readonly mode: _angular_core.Signal<"side" | "over">;
|
|
93
|
+
readonly opened: _angular_core.Signal<boolean>;
|
|
94
|
+
readonly toggleVisible: _angular_core.Signal<boolean>;
|
|
70
95
|
constructor();
|
|
71
96
|
setSidenav(sidenav: MatSidenav): void;
|
|
72
97
|
toggle(): Promise<MatDrawerToggleResult>;
|
|
73
98
|
closeSidebar(): void;
|
|
74
99
|
watchContentScrolled(): rxjs.Observable<boolean>;
|
|
75
|
-
static ɵfac:
|
|
76
|
-
static ɵprov:
|
|
100
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatSidenavService, never>;
|
|
101
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DdrMatSidenavService>;
|
|
77
102
|
}
|
|
78
103
|
|
|
79
104
|
declare const DDR_MAT_THEME: InjectionToken<DdrMatThemeConfig>;
|
|
@@ -92,9 +117,9 @@ declare class DdrMatToolbarFixedTopDirective implements OnInit {
|
|
|
92
117
|
* @override
|
|
93
118
|
*/
|
|
94
119
|
ngOnInit(): void;
|
|
95
|
-
static ɵfac:
|
|
96
|
-
static ɵdir:
|
|
120
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DdrMatToolbarFixedTopDirective, never>;
|
|
121
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DdrMatToolbarFixedTopDirective, "[ddrMatToolbarFixedTop]", never, { "ddrMatToolbarFixedTop": { "alias": "ddrMatToolbarFixedTop"; "required": false; }; }, {}, never, never, true, never>;
|
|
97
122
|
}
|
|
98
123
|
|
|
99
|
-
export { DDR_MAT_THEME, DdrMatFabFixedDirective, DdrMatFilterComponent, DdrMatSidenavContainerComponent, DdrMatSidenavService, DdrMatSidenavToggleComponent, DdrMatToolbarFixedTopDirective, provideDdrMaterialExtensions };
|
|
124
|
+
export { DDR_MAT_THEME, DdrMatFabFixedDirective, DdrMatFilterComponent, DdrMatSidenavContainerComponent, DdrMatSidenavService, DdrMatSidenavToggleComponent, DdrMatToolbarFixedTopDirective, LabeledSlider, provideDdrMaterialExtensions };
|
|
100
125
|
export type { DdrMatThemeConfig };
|