@muziehdesign/components 18.2.0-next.2192 → 18.2.0-next.2293
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/drawer/drawer-container.component.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-item.directive.mjs +28 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +27 -0
- package/esm2022/lib/dropdown/dropdown.module.mjs +17 -0
- package/esm2022/lib/filter/filter-option.model.mjs +2 -0
- package/esm2022/lib/filter/filter.component.mjs +42 -0
- package/esm2022/lib/options-filter/options-filter.component.mjs +66 -0
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/muziehdesign-components.mjs +164 -5
- package/fesm2022/muziehdesign-components.mjs.map +1 -1
- package/lib/dropdown/dropdown-item.directive.d.ts +9 -0
- package/lib/dropdown/dropdown.component.d.ts +9 -0
- package/lib/dropdown/dropdown.module.d.ts +8 -0
- package/lib/filter/filter-option.model.d.ts +5 -0
- package/lib/filter/filter.component.d.ts +16 -0
- package/lib/options-filter/options-filter.component.d.ts +27 -0
- package/package.json +6 -3
- package/public-api.d.ts +6 -0
- package/{design → styles/design}/_button.scss +8 -3
- package/styles/design/_dialog.scss +7 -0
- package/{design → styles/design}/_dropdown-menu.scss +4 -0
- package/{design → styles/design}/_form.scss +6 -7
- package/styles/mixins/_dialog.scss +24 -0
- package/{design/_mixins.scss → styles/mixins/_form.scss} +1 -1
- package/styles/mixins/_icon.scss +6 -0
- package/styles/mixins/_index.scss +2 -0
- package/styles/theme.scss +43 -0
- /package/{design → styles/design}/_accordion.scss +0 -0
- /package/{design → styles/design}/_alert.scss +0 -0
- /package/{design → styles/design}/_base.scss +0 -0
- /package/{design → styles/design}/_breadcrumb.scss +0 -0
- /package/{design/_cdk-overlay.css → styles/design/_cdk-overlay.scss} +0 -0
- /package/{design → styles/design}/_components.scss +0 -0
- /package/{design → styles/design}/_date-picker.scss +0 -0
- /package/{design → styles/design}/_dl.scss +0 -0
- /package/{design → styles/design}/_infinite-scroll.scss +0 -0
- /package/{design → styles/design}/_modal.scss +0 -0
- /package/{design → styles/design}/_muzieh.scss +0 -0
- /package/{design → styles/design}/_pagination.scss +0 -0
- /package/{design → styles/design}/_progress-bar.scss +0 -0
- /package/{design → styles/design}/_table.scss +0 -0
- /package/{design → styles/design}/_tabs.scss +0 -0
- /package/{design → styles/design}/_utilities.scss +0 -0
- /package/{design → styles/design}/_wizard.scss +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CdkDialogContainer } from '@angular/cdk/dialog';
|
|
2
2
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
3
|
-
import { ChangeDetectionStrategy, Component
|
|
3
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class DrawerContainerComponent extends CdkDialogContainer {
|
|
6
6
|
constructor() {
|
|
@@ -12,10 +12,10 @@ export class DrawerContainerComponent extends CdkDialogContainer {
|
|
|
12
12
|
this.open = true;
|
|
13
13
|
}
|
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DrawerContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DrawerContainerComponent, isStandalone: true, selector: "mz-drawer-container", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <ng-template cdkPortalOutlet />\n</div>", styles: [".drawer-container{background-color:#fff;
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DrawerContainerComponent, isStandalone: true, selector: "mz-drawer-container", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <article class=\"dialog-content\">\n <ng-template cdkPortalOutlet />\n </article>\n</div>", styles: [".drawer-container{background-color:#fff;width:500px;max-width:90%;overflow:auto;height:100vh;position:absolute;right:0;top:0;transition:translate .3s ease-out;translate:100%}.drawer-container.open{translate:0%}.dialog-content>:first-child{display:flex;flex-direction:column;padding:.5rem 1rem 0;height:100vh}.dialog-content>:first-child>*:not(header,footer){flex-grow:1}.dialog-content>:first-child header,.dialog-content>:first-child footer{padding:.75rem 0;position:sticky;background-color:#fff}.dialog-content>:first-child header{top:0}.dialog-content>:first-child footer{bottom:0}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DrawerContainerComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
|
-
args: [{ selector: 'mz-drawer-container', standalone: true, imports: [CdkPortalOutlet],
|
|
19
|
+
args: [{ selector: 'mz-drawer-container', standalone: true, imports: [CdkPortalOutlet], changeDetection: ChangeDetectionStrategy.Default, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <article class=\"dialog-content\">\n <ng-template cdkPortalOutlet />\n </article>\n</div>", styles: [".drawer-container{background-color:#fff;width:500px;max-width:90%;overflow:auto;height:100vh;position:absolute;right:0;top:0;transition:translate .3s ease-out;translate:100%}.drawer-container.open{translate:0%}.dialog-content>:first-child{display:flex;flex-direction:column;padding:.5rem 1rem 0;height:100vh}.dialog-content>:first-child>*:not(header,footer){flex-grow:1}.dialog-content>:first-child header,.dialog-content>:first-child footer{padding:.75rem 0;position:sticky;background-color:#fff}.dialog-content>:first-child header{top:0}.dialog-content>:first-child footer{bottom:0}\n"] }]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZHJhd2VyL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2RyYXdlci9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFnQztJQVI5RTs7UUFTRSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBTWQ7SUFKb0IsZ0JBQWdCO1FBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7OEdBTlUsd0JBQXdCO2tHQUF4Qix3QkFBd0Isc0dDWnJDLGlLQUlNLG9vQkRHTSxlQUFlOzsyRkFLZCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRGlhbG9nQ29udGFpbmVyLCBEaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtei1kcmF3ZXItY29udGFpbmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Nka1BvcnRhbE91dGxldF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrRGlhbG9nQ29udGFpbmVyPERpYWxvZ0NvbmZpZz57XG4gIG9wZW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2NvbnRlbnRBdHRhY2hlZCgpOiB2b2lkIHtcbiAgICBzdXBlci5fY29udGVudEF0dGFjaGVkKCk7XG4gICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIiBbY2xhc3Mub3Blbl09XCJvcGVuXCI+XG4gICAgPGFydGljbGUgY2xhc3M9XCJkaWFsb2ctY29udGVudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0IC8+XG4gICAgPC9hcnRpY2xlPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, Host } from '@angular/core';
|
|
2
|
+
import { MzDropdownComponent } from './dropdown.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./dropdown.component";
|
|
5
|
+
export class MzDropdownItemDirective {
|
|
6
|
+
constructor(dropdown) {
|
|
7
|
+
this.dropdown = dropdown;
|
|
8
|
+
}
|
|
9
|
+
close() {
|
|
10
|
+
this.dropdown.collapse();
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownItemDirective, deps: [{ token: i1.MzDropdownComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: MzDropdownItemDirective, isStandalone: true, selector: "[mzDropdownItem]", host: { listeners: { "click": "close()" }, classAttribute: "dropdown-item" }, ngImport: i0 }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownItemDirective, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[mzDropdownItem]',
|
|
19
|
+
standalone: true,
|
|
20
|
+
host: {
|
|
21
|
+
'class': 'dropdown-item',
|
|
22
|
+
'(click)': 'close()'
|
|
23
|
+
}
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: () => [{ type: i1.MzDropdownComponent, decorators: [{
|
|
26
|
+
type: Host
|
|
27
|
+
}] }] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24taXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVUzRCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQTRCLFFBQTZCO1FBQTdCLGFBQVEsR0FBUixRQUFRLENBQXFCO0lBQUksQ0FBQztJQUU5RCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQU5VLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osT0FBTyxFQUFFLGVBQWU7d0JBQ3hCLFNBQVMsRUFBRSxTQUFTO3FCQUNyQjtpQkFDRjs7MEJBR2MsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXpEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW216RHJvcGRvd25JdGVtXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZHJvcGRvd24taXRlbScsXG4gICAgJyhjbGljayknOiAnY2xvc2UoKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNekRyb3Bkb3duSXRlbURpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwcml2YXRlIGRyb3Bkb3duOiBNekRyb3Bkb3duQ29tcG9uZW50KSB7IH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRyb3Bkb3duLmNvbGxhcHNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
2
|
+
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
3
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MzDropdownComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.label = '';
|
|
8
|
+
this.open = false;
|
|
9
|
+
}
|
|
10
|
+
toggle() {
|
|
11
|
+
this.open = !this.open;
|
|
12
|
+
}
|
|
13
|
+
collapse() {
|
|
14
|
+
this.open = false;
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: MzDropdownComponent, isStandalone: true, selector: "mz-dropdown", inputs: { label: "label", open: "open" }, ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggle()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" (overlayOutsideClick)=\"collapse()\">\n <div cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" class=\"dropdown-body\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem}.dropdown-item{display:block;width:100%;padding:.5rem;font-size:.875rem;line-height:1.25rem}.dropdown-item:hover{background-color:var(--color-neutral-200)}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'mz-dropdown', standalone: true, imports: [CdkOverlayOrigin, CdkConnectedOverlay, CdkTrapFocus], encapsulation: ViewEncapsulation.None, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggle()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" (overlayOutsideClick)=\"collapse()\">\n <div cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" class=\"dropdown-body\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem}.dropdown-item{display:block;width:100%;padding:.5rem;font-size:.875rem;line-height:1.25rem}.dropdown-item:hover{background-color:var(--color-neutral-200)}\n"] }]
|
|
22
|
+
}], propDecorators: { label: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], open: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXBFLE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFTYSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBRyxLQUFLLENBQUM7S0FTekI7SUFQRyxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOzhHQVZRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlIQ1poQyx1c0JBYUEsMFhETmMsZ0JBQWdCLHVJQUFFLG1CQUFtQiw0K0JBQUUsWUFBWTs7MkZBS3BELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLGlCQUcvQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVHJhcEZvY3VzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbXotZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Nka092ZXJsYXlPcmlnaW4sIENka0Nvbm5lY3RlZE92ZXJsYXksIENka1RyYXBGb2N1c10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTXpEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIG9wZW4gPSBmYWxzZTtcblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgY29sbGFwc2UoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjxidXR0b24gY2RrT3ZlcmxheU9yaWdpbiAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIiAoY2xpY2spPVwidG9nZ2xlKClcIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgW2NsYXNzLmFjdGl2ZV09XCJvcGVuXCI+XG4gICAge3sgbGFiZWwgfX1cblxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xOSA5bC03IDctNy03XCIgLz5cbiAgICA8L3N2Zz5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlIFxuICAgIGNka0Nvbm5lY3RlZE92ZXJsYXkgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuXCIgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY29sbGFwc2UoKVwiPlxuICAgIDxkaXYgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgY2xhc3M9XCJkcm9wZG93bi1ib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { MzDropdownComponent } from "./dropdown.component";
|
|
3
|
+
import { MzDropdownItemDirective } from "./dropdown-item.directive";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MzDropdownModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, imports: [MzDropdownComponent, MzDropdownItemDirective], exports: [MzDropdownComponent, MzDropdownItemDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [MzDropdownComponent, MzDropdownItemDirective],
|
|
14
|
+
exports: [MzDropdownComponent, MzDropdownItemDirective]
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU1wRSxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQUhmLG1CQUFtQixFQUFFLHVCQUF1QixhQUM1QyxtQkFBbUIsRUFBRSx1QkFBdUI7K0dBRTdDLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQztvQkFDdkQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUM7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTXpEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTXpEcm9wZG93bkl0ZW1EaXJlY3RpdmUgfSBmcm9tIFwiLi9kcm9wZG93bi1pdGVtLmRpcmVjdGl2ZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtNekRyb3Bkb3duQ29tcG9uZW50LCBNekRyb3Bkb3duSXRlbURpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW016RHJvcGRvd25Db21wb25lbnQsIE16RHJvcGRvd25JdGVtRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBNekRyb3Bkb3duTW9kdWxlIHt9Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9maWx0ZXIvZmlsdGVyLW9wdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJPcHRpb25Nb2RlbDxUPiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICB2YWx1ZTogVDtcbn0iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Component, ContentChild, Input } from '@angular/core';
|
|
4
|
+
import { FormsModule, NgForm } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FilterComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.label = 'Filter';
|
|
9
|
+
this.open = false;
|
|
10
|
+
}
|
|
11
|
+
ngAfterContentInit() {
|
|
12
|
+
this.initialValues = this.menuForm.value;
|
|
13
|
+
}
|
|
14
|
+
toggleOverlay() {
|
|
15
|
+
this.open = !this.open;
|
|
16
|
+
}
|
|
17
|
+
dismiss() {
|
|
18
|
+
this.open = false;
|
|
19
|
+
if (this.menuForm.options.updateOn === 'submit') {
|
|
20
|
+
this.menuForm.resetForm(this.initialValues);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
clear() {
|
|
24
|
+
this.open = false;
|
|
25
|
+
}
|
|
26
|
+
apply() {
|
|
27
|
+
this.open = false;
|
|
28
|
+
console.log('applied', this.menuForm.value);
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: FilterComponent, isStandalone: true, selector: "mz-filter", inputs: { label: "label" }, queries: [{ propertyName: "menuForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <ng-content></ng-content>\n\n <div class=\"dropdown-buttons\">\n @if(menuForm.options.updateOn === 'submit') {\n <button type=\"button\" class=\"button button-primary\" (click)=\"apply()\">Apply</button>\n }\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </div>\n</ng-template>\n\n", styles: [".dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }] }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FilterComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'mz-filter', standalone: true, imports: [CdkOverlayOrigin, CdkConnectedOverlay, FormsModule, CommonModule], template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <ng-content></ng-content>\n\n <div class=\"dropdown-buttons\">\n @if(menuForm.options.updateOn === 'submit') {\n <button type=\"button\" class=\"button button-primary\" (click)=\"apply()\">Apply</button>\n }\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </div>\n</ng-template>\n\n", styles: [".dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}\n"] }]
|
|
36
|
+
}], propDecorators: { label: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], menuForm: [{
|
|
39
|
+
type: ContentChild,
|
|
40
|
+
args: [NgForm]
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBU3JELE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBUWEsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUVoQixTQUFJLEdBQUcsS0FBSyxDQUFDO0tBMEIxQjtJQXZCRyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTVCUSxlQUFlO2tHQUFmLGVBQWUsdUlBRVYsTUFBTSxnRENkeEIsMGxDQXNCQSx3U0RkYyxnQkFBZ0IsdUlBQUUsbUJBQW1CLDIrQkFBRSxXQUFXLDhCQUFFLFlBQVk7OzJGQUlqRSxlQUFlO2tCQVAzQixTQUFTOytCQUNJLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDOzhCQUtsRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2dCLFFBQVE7c0JBQTdCLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ216LWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ2RrT3ZlcmxheU9yaWdpbiwgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJ0ZpbHRlcic7XG4gICAgQENvbnRlbnRDaGlsZChOZ0Zvcm0pIG1lbnVGb3JtITogTmdGb3JtO1xuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpbml0aWFsVmFsdWVzOiBhbnk7XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmluaXRpYWxWYWx1ZXMgPSB0aGlzLm1lbnVGb3JtLnZhbHVlO1xuICAgIH1cblxuICAgIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgZGlzbWlzcygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIGlmKHRoaXMubWVudUZvcm0ub3B0aW9ucy51cGRhdGVPbiA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgICAgICB0aGlzLm1lbnVGb3JtLnJlc2V0Rm9ybSh0aGlzLmluaXRpYWxWYWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhcHBseSgpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgY29uc29sZS5sb2coJ2FwcGxpZWQnLCB0aGlzLm1lbnVGb3JtLnZhbHVlKTtcbiAgICB9XG59XG4iLCI8YnV0dG9uIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCIgKGNsaWNrKT1cInRvZ2dsZU92ZXJsYXkoKVwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiBbY2xhc3MuYWN0aXZlXT1cIm9wZW5cIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24taWNvblwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgY2xhc3M9XCJkcm9wZG93bi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE5IDlsLTcgNy03LTdcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICA8L3NwYW4+XG48L2J1dHRvbj5cbjxuZy10ZW1wbGF0ZSBcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5IFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIiBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblwiIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInZHJvcGRvd24tYm9keSdcIiAob3ZlcmxheU91dHNpZGVDbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICA8ZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIEBpZihtZW51Rm9ybS5vcHRpb25zLnVwZGF0ZU9uID09PSAnc3VibWl0Jykge1xuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgKGNsaWNrKT1cImFwcGx5KClcIj5BcHBseTwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXRlcnRpYXJ5XCIgKGNsaWNrKT1cImNsZWFyKClcIj5DbGVhcjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { FormsModule, NgForm } from '@angular/forms';
|
|
3
|
+
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
4
|
+
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
export class OptionsFilterComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.values = [];
|
|
10
|
+
this.label = 'Filter';
|
|
11
|
+
this.change = new EventEmitter();
|
|
12
|
+
this.open = false;
|
|
13
|
+
this.search = '';
|
|
14
|
+
}
|
|
15
|
+
get filterLabel() {
|
|
16
|
+
if (!this.selected) {
|
|
17
|
+
return this.label;
|
|
18
|
+
}
|
|
19
|
+
const item = this.options?.find((o) => o.value === this.selected);
|
|
20
|
+
return item ? `${this.label}: ${item.label}` : this.label;
|
|
21
|
+
}
|
|
22
|
+
get filteredOptions() {
|
|
23
|
+
const options = this.options ?? [];
|
|
24
|
+
const search = this.search.trim().toLowerCase();
|
|
25
|
+
if (!search) {
|
|
26
|
+
return options;
|
|
27
|
+
}
|
|
28
|
+
return options.filter((o) => o.label.toLowerCase().includes(search));
|
|
29
|
+
}
|
|
30
|
+
apply() {
|
|
31
|
+
this.change.emit(this.selected);
|
|
32
|
+
this.open = false;
|
|
33
|
+
}
|
|
34
|
+
clear() {
|
|
35
|
+
this.selected = undefined;
|
|
36
|
+
this.change.emit(undefined);
|
|
37
|
+
this.open = false;
|
|
38
|
+
this.search = '';
|
|
39
|
+
}
|
|
40
|
+
toggleOverlay() {
|
|
41
|
+
this.open = !this.open;
|
|
42
|
+
}
|
|
43
|
+
dismiss() {
|
|
44
|
+
this.open = false;
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OptionsFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: OptionsFilterComponent, isStandalone: true, selector: "mz-options-filter", inputs: { options: "options", values: "values", label: "label", selected: "selected" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "form", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n @if (options) {\n {{ filterLabel }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n } @else {\n <mz-spinner></mz-spinner>\n }\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <form #myForm=\"ngForm\" > \n <div>\n <label class=\"field\">\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search...\" name=\"search\" class=\"form-input\" />\n </label>\n <div class=\"dropdown-options\">\n @for(option of filteredOptions; track option.value) {\n <label class=\"field-option\">\n <input class=\"form-radio\" type=\"radio\" [(ngModel)]=\"selected\" name=\"option\" [value]=\"option.value\" (ngModelChange)=\"apply()\"/>\n <span class=\"radio-label\">{{ option.label }}</span>\n </label>\n }\n </div>\n </div>\n <div class=\"dropdown-buttons\">\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </form>\n </div>\n</ng-template>\n\n", styles: [".dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-options{padding:.25rem;max-height:15rem;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OptionsFilterComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: 'mz-options-filter', standalone: true, imports: [FormsModule, CdkOverlayOrigin, CdkConnectedOverlay, SpinnerComponent], encapsulation: ViewEncapsulation.None, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n @if (options) {\n {{ filterLabel }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n } @else {\n <mz-spinner></mz-spinner>\n }\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <form #myForm=\"ngForm\" > \n <div>\n <label class=\"field\">\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search...\" name=\"search\" class=\"form-input\" />\n </label>\n <div class=\"dropdown-options\">\n @for(option of filteredOptions; track option.value) {\n <label class=\"field-option\">\n <input class=\"form-radio\" type=\"radio\" [(ngModel)]=\"selected\" name=\"option\" [value]=\"option.value\" (ngModelChange)=\"apply()\"/>\n <span class=\"radio-label\">{{ option.label }}</span>\n </label>\n }\n </div>\n </div>\n <div class=\"dropdown-buttons\">\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </form>\n </div>\n</ng-template>\n\n", styles: [".dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-options{padding:.25rem;max-height:15rem;overflow-y:auto}\n"] }]
|
|
52
|
+
}], propDecorators: { options: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], values: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], label: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], change: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}], selected: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], form: [{
|
|
63
|
+
type: ViewChild,
|
|
64
|
+
args: [NgForm]
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL29wdGlvbnMtZmlsdGVyL29wdGlvbnMtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9vcHRpb25zLWZpbHRlci9vcHRpb25zLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFVaEUsTUFBTSxPQUFPLHNCQUFzQjtJQVJuQztRQVVhLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNoQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFJaEQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBVyxFQUFFLENBQUM7S0F3Q2pDO0lBdENHLElBQUksV0FBVztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOzhHQWhEUSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwT0FNcEIsTUFBTSxnRENwQnJCLDR4REFvQ0EseVdEM0JjLFdBQVcsMnZDQUFFLGdCQUFnQix1SUFBRSxtQkFBbUIsNCtCQUFFLGdCQUFnQjs7MkZBS3JFLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDLGlCQUdoRSxpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDYSxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uTW9kZWwgfSBmcm9tICcuLi9maWx0ZXIvZmlsdGVyLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtei1vcHRpb25zLWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIENka092ZXJsYXlPcmlnaW4sIENka0Nvbm5lY3RlZE92ZXJsYXksIFNwaW5uZXJDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25zLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL29wdGlvbnMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zRmlsdGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBvcHRpb25zPzogRmlsdGVyT3B0aW9uTW9kZWw8c3RyaW5nPltdO1xuICAgIEBJbnB1dCgpIHZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBsYWJlbCA9ICdGaWx0ZXInO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZD86IHN0cmluZztcbiAgICBAVmlld0NoaWxkKE5nRm9ybSkgZm9ybSE6IE5nRm9ybTtcblxuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHNlYXJjaDogc3RyaW5nID0gJyc7XG5cbiAgICBnZXQgZmlsdGVyTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5vcHRpb25zPy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkKTtcbiAgICAgICAgcmV0dXJuIGl0ZW0gPyBgJHt0aGlzLmxhYmVsfTogJHtpdGVtLmxhYmVsfWAgOiB0aGlzLmxhYmVsO1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJlZE9wdGlvbnMoKTogRmlsdGVyT3B0aW9uTW9kZWw8c3RyaW5nPltdIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucyA/PyBbXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2gudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKChvKSA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgfVxuXG4gICAgYXBwbHkoKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICcnO1xuICAgIH1cblxuICAgIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgZGlzbWlzcygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBPcHRpb25WYWx1ZVR5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IG51bWJlcltdO1xuZXhwb3J0IHR5cGUgU2VsZWN0T3B0aW9uID0ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IE9wdGlvblZhbHVlVHlwZTtcbn07XG4iLCI8YnV0dG9uIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCIgKGNsaWNrKT1cInRvZ2dsZU92ZXJsYXkoKVwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiBbY2xhc3MuYWN0aXZlXT1cIm9wZW5cIj5cbiAgICBAaWYgKG9wdGlvbnMpIHtcbiAgICAgICAge3sgZmlsdGVyTGFiZWwgfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1pY29uXCI+XG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgY2xhc3M9XCJkcm9wZG93bi1pY29uXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xOSA5bC03IDctNy03XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxtei1zcGlubmVyPjwvbXotc3Bpbm5lcj5cbiAgICB9XG48L2J1dHRvbj5cbjxuZy10ZW1wbGF0ZSBcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5IFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIiBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblwiIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInZHJvcGRvd24tYm9keSdcIiAob3ZlcmxheU91dHNpZGVDbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICA8ZGl2PlxuICAgICAgICA8Zm9ybSAjbXlGb3JtPVwibmdGb3JtXCIgPiBcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiIG5hbWU9XCJzZWFyY2hcIiBjbGFzcz1cImZvcm0taW5wdXRcIiAvPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvcihvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zOyB0cmFjayBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZpZWxkLW9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tcmFkaW9cIiB0eXBlPVwicmFkaW9cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgbmFtZT1cIm9wdGlvblwiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJhcHBseSgpXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFkaW8tbGFiZWxcIj57eyBvcHRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXRlcnRpYXJ5XCIgIChjbGljayk9XCJjbGVhcigpXCI+Q2xlYXI8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -37,4 +37,10 @@ export { ButtonDirective } from './lib/button.directive';
|
|
|
37
37
|
export { WizardProgressTrackerComponent } from './lib/wizard-progress-tracker/wizard-progress-tracker.component';
|
|
38
38
|
// drawer
|
|
39
39
|
export { DrawerContainerComponent } from './lib/drawer/drawer-container.component';
|
|
40
|
-
|
|
40
|
+
// dropdown
|
|
41
|
+
export { MzDropdownComponent } from './lib/dropdown/dropdown.component';
|
|
42
|
+
export { MzDropdownItemDirective } from './lib/dropdown/dropdown-item.directive';
|
|
43
|
+
export { MzDropdownModule } from './lib/dropdown/dropdown.module';
|
|
44
|
+
export { OptionsFilterComponent } from './lib/options-filter/options-filter.component';
|
|
45
|
+
export { FilterComponent } from './lib/filter/filter.component';
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQWtCLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBb0IsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV4RyxjQUFjO0FBQ2QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsVUFBVTtBQUNWLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR2hGLFFBQVE7QUFDUixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUs1RSxrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFMUYsV0FBVztBQUNYLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRW5GLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxRQUFRO0FBQ1IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU87QUFDUCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXpELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRWpILFNBQVM7QUFDVCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVuRixXQUFXO0FBQ1gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb21wb25lbnRzXG4gKi9cblxuZXhwb3J0IHsgU3ZnSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL3N2Zy1pY29uL3N2Zy1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTdmdJY29uT3B0aW9ucywgU1ZHX0lDT05fREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnLi9saWIvc3ZnLWljb24vc3ZnLWljb24tY29uZmlnJztcblxuZXhwb3J0IHsgRW51bURpc3BsYXlQaXBlIH0gZnJvbSAnLi9saWIvZW51bS1kaXNwbGF5L2VudW0tZGlzcGxheS5waXBlJztcbmV4cG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHsgTXV6aWVoQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCB7IFBhZ2VMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcGFnZS1sb2FkaW5nLWluZGljYXRvci9wYWdlLWxvYWRpbmctaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFBob25lTnVtYmVyUGlwZSB9IGZyb20gJy4vbGliL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIucGlwZSc7XG5leHBvcnQgeyBEYXRlRGlzcGxheVBpcGUgfSBmcm9tICcuL2xpYi9kYXRlLWRpc3BsYXkvZGF0ZS1kaXNwbGF5LnBpcGUnO1xuZXhwb3J0IHsgTXpEYXRlUGlwZSB9IGZyb20gJy4vbGliL2RhdGUtZGlzcGxheS9kYXRlLnBpcGUnO1xuZXhwb3J0IHsgTXpEYXRlUGlwZUNvbmZpZywgTVpfREFURV9QSVBFX0RFRkFVTFRfT1BUSU9OUyB9IGZyb20gJy4vbGliL2RhdGUtZGlzcGxheS9kYXRlLWRpc3BsYXktY29uZmlnJztcblxuLy8gaW5saW5lIGVkaXRcbmV4cG9ydCB7IE16SW5saW5lRWRpdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2lubGluZS1lZGl0L2lubGluZS1lZGl0LmNvbXBvbmVudCc7XG5cbi8vIHN1YmplY3RcbmV4cG9ydCB7IFN1YmplY3REaXNwbGF5UGlwZSB9IGZyb20gJy4vbGliL3N1YmplY3QtZGlzcGxheS9zdWJqZWN0LWRpc3BsYXkucGlwZSc7XG5leHBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi9saWIvbW9kZWxzL3N1YmplY3QnO1xuXG4vLyB0YWJsZVxuZXhwb3J0IHsgUmVzdWx0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9yZXN1bHQtdGFibGUvcmVzdWx0LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZS1ldmVudCc7XG5leHBvcnQgeyBMb2FkaW5nU3RhdGUgfSBmcm9tICcuL2xpYi9tb2RlbHMvbG9hZGluZy1zdGF0ZSc7XG5leHBvcnQgeyBSZXN1bHRUYWJsZU1vZGVsIH0gZnJvbSAnLi9saWIvcmVzdWx0LXRhYmxlL3Jlc3VsdC10YWJsZS5tb2RlbCc7XG5cbi8vIGluZmluaXRlIHNjcm9sbFxuZXhwb3J0IHsgSW5maW5pdGVTY3JvbGxDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbmZpbml0ZS1zY3JvbGwvaW5maW5pdGUtc2Nyb2xsLmNvbXBvbmVudCc7XG5cbi8vIERhdGV0aW1lXG5leHBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmV4cG9ydCB7IFRpbWVWYWx1ZSB9IGZyb20gJy4vbGliL2RhdGUtdGltZS90aW1lLXZhbHVlJztcbmV4cG9ydCB7IFRpbWVWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvdGltZS12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGltZVZhbHVlVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvdGltZS12YWx1ZS12YWxpZGF0b3IuZGlyZWN0aXZlJztcblxuLy8gdGVzdGluZyBmaWxlc1xuZXhwb3J0IHsgTXV6aWVoQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJy4vbGliL3Rlc3RpbmcvbXV6aWVoLWNvbXBvbmVudC1oYXJuZXNzJztcbmV4cG9ydCB7IFJlc3VsdFRhYmxlSGFybmVzcyB9IGZyb20gJy4vbGliL3Rlc3RpbmcvcmVzdWx0LXRhYmxlLWhhcm5lc3MnO1xuXG4vLyBhbGVydFxuZXhwb3J0IHsgQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuXG4vLyBzb3J0XG5leHBvcnQgeyBTb3J0S2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvc29ydC1rZXkuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNvcnREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zb3J0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNvcnRFdmVudCB9IGZyb20gJy4vbGliL21vZGVscy9zb3J0LWV2ZW50JztcblxuZXhwb3J0IHsgV2l6YXJkU3RlcExpbmsgfSBmcm9tICcuL2xpYi9tb2RlbHMvd2l6YXJkLXN0ZXAtbGluayc7XG5leHBvcnQgeyBXaXphcmRQcm9ncmVzc1RyYWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aXphcmQtcHJvZ3Jlc3MtdHJhY2tlci93aXphcmQtcHJvZ3Jlc3MtdHJhY2tlci5jb21wb25lbnQnO1xuXG4vLyBkcmF3ZXJcbmV4cG9ydCB7IERyYXdlckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RyYXdlci9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbi8vIGRyb3Bkb3duXG5leHBvcnQgeyBNekRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCB7IE16RHJvcGRvd25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24taXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTXpEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5cbi8vIGZpbHRlclxuZXhwb3J0IHsgRmlsdGVyT3B0aW9uTW9kZWwgfSBmcm9tICcuL2xpYi9maWx0ZXIvZmlsdGVyLW9wdGlvbi5tb2RlbCc7XG5leHBvcnQgeyBPcHRpb25zRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvb3B0aW9ucy1maWx0ZXIvb3B0aW9ucy1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Component, Inject, Input, HostBinding, Pipe, EventEmitter, Optional, Output, ContentChild, Directive, HostListener, forwardRef, ViewChild, NgModule, LOCALE_ID, ElementRef, ViewEncapsulation,
|
|
2
|
+
import { InjectionToken, Component, Inject, Input, HostBinding, Pipe, EventEmitter, Optional, Output, ContentChild, Directive, HostListener, forwardRef, ViewChild, NgModule, LOCALE_ID, ElementRef, ChangeDetectionStrategy, ViewEncapsulation, Host } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
5
5
|
import * as i1$1 from '@angular/router';
|
|
@@ -10,11 +10,13 @@ import { SubSink } from 'subsink';
|
|
|
10
10
|
import * as i1$2 from '@angular/platform-browser';
|
|
11
11
|
import { By } from '@angular/platform-browser';
|
|
12
12
|
import * as i1$4 from '@angular/forms';
|
|
13
|
-
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, NgModel } from '@angular/forms';
|
|
13
|
+
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, NgModel, NgForm } from '@angular/forms';
|
|
14
14
|
import * as i1$3 from '@angular/material/datepicker';
|
|
15
15
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
16
16
|
import { CdkDialogContainer } from '@angular/cdk/dialog';
|
|
17
17
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
18
|
+
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
19
|
+
import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
|
|
18
20
|
|
|
19
21
|
const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions', {
|
|
20
22
|
providedIn: 'root',
|
|
@@ -1206,13 +1208,170 @@ class DrawerContainerComponent extends CdkDialogContainer {
|
|
|
1206
1208
|
this.open = true;
|
|
1207
1209
|
}
|
|
1208
1210
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DrawerContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DrawerContainerComponent, isStandalone: true, selector: "mz-drawer-container", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <ng-template cdkPortalOutlet />\n</div>", styles: [".drawer-container{background-color:#fff;
|
|
1211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DrawerContainerComponent, isStandalone: true, selector: "mz-drawer-container", usesInheritance: true, ngImport: i0, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <article class=\"dialog-content\">\n <ng-template cdkPortalOutlet />\n </article>\n</div>", styles: [".drawer-container{background-color:#fff;width:500px;max-width:90%;overflow:auto;height:100vh;position:absolute;right:0;top:0;transition:translate .3s ease-out;translate:100%}.drawer-container.open{translate:0%}.dialog-content>:first-child{display:flex;flex-direction:column;padding:.5rem 1rem 0;height:100vh}.dialog-content>:first-child>*:not(header,footer){flex-grow:1}.dialog-content>:first-child header,.dialog-content>:first-child footer{padding:.75rem 0;position:sticky;background-color:#fff}.dialog-content>:first-child header{top:0}.dialog-content>:first-child footer{bottom:0}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
1210
1212
|
}
|
|
1211
1213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DrawerContainerComponent, decorators: [{
|
|
1212
1214
|
type: Component,
|
|
1213
|
-
args: [{ selector: 'mz-drawer-container', standalone: true, imports: [CdkPortalOutlet],
|
|
1215
|
+
args: [{ selector: 'mz-drawer-container', standalone: true, imports: [CdkPortalOutlet], changeDetection: ChangeDetectionStrategy.Default, template: "<div class=\"drawer-container\" [class.open]=\"open\">\n <article class=\"dialog-content\">\n <ng-template cdkPortalOutlet />\n </article>\n</div>", styles: [".drawer-container{background-color:#fff;width:500px;max-width:90%;overflow:auto;height:100vh;position:absolute;right:0;top:0;transition:translate .3s ease-out;translate:100%}.drawer-container.open{translate:0%}.dialog-content>:first-child{display:flex;flex-direction:column;padding:.5rem 1rem 0;height:100vh}.dialog-content>:first-child>*:not(header,footer){flex-grow:1}.dialog-content>:first-child header,.dialog-content>:first-child footer{padding:.75rem 0;position:sticky;background-color:#fff}.dialog-content>:first-child header{top:0}.dialog-content>:first-child footer{bottom:0}\n"] }]
|
|
1214
1216
|
}] });
|
|
1215
1217
|
|
|
1218
|
+
class MzDropdownComponent {
|
|
1219
|
+
constructor() {
|
|
1220
|
+
this.label = '';
|
|
1221
|
+
this.open = false;
|
|
1222
|
+
}
|
|
1223
|
+
toggle() {
|
|
1224
|
+
this.open = !this.open;
|
|
1225
|
+
}
|
|
1226
|
+
collapse() {
|
|
1227
|
+
this.open = false;
|
|
1228
|
+
}
|
|
1229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: MzDropdownComponent, isStandalone: true, selector: "mz-dropdown", inputs: { label: "label", open: "open" }, ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggle()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" (overlayOutsideClick)=\"collapse()\">\n <div cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" class=\"dropdown-body\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem}.dropdown-item{display:block;width:100%;padding:.5rem;font-size:.875rem;line-height:1.25rem}.dropdown-item:hover{background-color:var(--color-neutral-200)}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1231
|
+
}
|
|
1232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownComponent, decorators: [{
|
|
1233
|
+
type: Component,
|
|
1234
|
+
args: [{ selector: 'mz-dropdown', standalone: true, imports: [CdkOverlayOrigin, CdkConnectedOverlay, CdkTrapFocus], encapsulation: ViewEncapsulation.None, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggle()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" (overlayOutsideClick)=\"collapse()\">\n <div cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" class=\"dropdown-body\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem}.dropdown-item{display:block;width:100%;padding:.5rem;font-size:.875rem;line-height:1.25rem}.dropdown-item:hover{background-color:var(--color-neutral-200)}\n"] }]
|
|
1235
|
+
}], propDecorators: { label: [{
|
|
1236
|
+
type: Input
|
|
1237
|
+
}], open: [{
|
|
1238
|
+
type: Input
|
|
1239
|
+
}] } });
|
|
1240
|
+
|
|
1241
|
+
class MzDropdownItemDirective {
|
|
1242
|
+
constructor(dropdown) {
|
|
1243
|
+
this.dropdown = dropdown;
|
|
1244
|
+
}
|
|
1245
|
+
close() {
|
|
1246
|
+
this.dropdown.collapse();
|
|
1247
|
+
}
|
|
1248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownItemDirective, deps: [{ token: MzDropdownComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1249
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: MzDropdownItemDirective, isStandalone: true, selector: "[mzDropdownItem]", host: { listeners: { "click": "close()" }, classAttribute: "dropdown-item" }, ngImport: i0 }); }
|
|
1250
|
+
}
|
|
1251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownItemDirective, decorators: [{
|
|
1252
|
+
type: Directive,
|
|
1253
|
+
args: [{
|
|
1254
|
+
selector: '[mzDropdownItem]',
|
|
1255
|
+
standalone: true,
|
|
1256
|
+
host: {
|
|
1257
|
+
'class': 'dropdown-item',
|
|
1258
|
+
'(click)': 'close()'
|
|
1259
|
+
}
|
|
1260
|
+
}]
|
|
1261
|
+
}], ctorParameters: () => [{ type: MzDropdownComponent, decorators: [{
|
|
1262
|
+
type: Host
|
|
1263
|
+
}] }] });
|
|
1264
|
+
|
|
1265
|
+
class MzDropdownModule {
|
|
1266
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1267
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, imports: [MzDropdownComponent, MzDropdownItemDirective], exports: [MzDropdownComponent, MzDropdownItemDirective] }); }
|
|
1268
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule }); }
|
|
1269
|
+
}
|
|
1270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDropdownModule, decorators: [{
|
|
1271
|
+
type: NgModule,
|
|
1272
|
+
args: [{
|
|
1273
|
+
imports: [MzDropdownComponent, MzDropdownItemDirective],
|
|
1274
|
+
exports: [MzDropdownComponent, MzDropdownItemDirective]
|
|
1275
|
+
}]
|
|
1276
|
+
}] });
|
|
1277
|
+
|
|
1278
|
+
class OptionsFilterComponent {
|
|
1279
|
+
constructor() {
|
|
1280
|
+
this.values = [];
|
|
1281
|
+
this.label = 'Filter';
|
|
1282
|
+
this.change = new EventEmitter();
|
|
1283
|
+
this.open = false;
|
|
1284
|
+
this.search = '';
|
|
1285
|
+
}
|
|
1286
|
+
get filterLabel() {
|
|
1287
|
+
if (!this.selected) {
|
|
1288
|
+
return this.label;
|
|
1289
|
+
}
|
|
1290
|
+
const item = this.options?.find((o) => o.value === this.selected);
|
|
1291
|
+
return item ? `${this.label}: ${item.label}` : this.label;
|
|
1292
|
+
}
|
|
1293
|
+
get filteredOptions() {
|
|
1294
|
+
const options = this.options ?? [];
|
|
1295
|
+
const search = this.search.trim().toLowerCase();
|
|
1296
|
+
if (!search) {
|
|
1297
|
+
return options;
|
|
1298
|
+
}
|
|
1299
|
+
return options.filter((o) => o.label.toLowerCase().includes(search));
|
|
1300
|
+
}
|
|
1301
|
+
apply() {
|
|
1302
|
+
this.change.emit(this.selected);
|
|
1303
|
+
this.open = false;
|
|
1304
|
+
}
|
|
1305
|
+
clear() {
|
|
1306
|
+
this.selected = undefined;
|
|
1307
|
+
this.change.emit(undefined);
|
|
1308
|
+
this.open = false;
|
|
1309
|
+
this.search = '';
|
|
1310
|
+
}
|
|
1311
|
+
toggleOverlay() {
|
|
1312
|
+
this.open = !this.open;
|
|
1313
|
+
}
|
|
1314
|
+
dismiss() {
|
|
1315
|
+
this.open = false;
|
|
1316
|
+
}
|
|
1317
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OptionsFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1318
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: OptionsFilterComponent, isStandalone: true, selector: "mz-options-filter", inputs: { options: "options", values: "values", label: "label", selected: "selected" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "form", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n @if (options) {\n {{ filterLabel }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n } @else {\n <mz-spinner></mz-spinner>\n }\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <form #myForm=\"ngForm\" > \n <div>\n <label class=\"field\">\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search...\" name=\"search\" class=\"form-input\" />\n </label>\n <div class=\"dropdown-options\">\n @for(option of filteredOptions; track option.value) {\n <label class=\"field-option\">\n <input class=\"form-radio\" type=\"radio\" [(ngModel)]=\"selected\" name=\"option\" [value]=\"option.value\" (ngModelChange)=\"apply()\"/>\n <span class=\"radio-label\">{{ option.label }}</span>\n </label>\n }\n </div>\n </div>\n <div class=\"dropdown-buttons\">\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </form>\n </div>\n</ng-template>\n\n", styles: [".dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-options{padding:.25rem;max-height:15rem;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1319
|
+
}
|
|
1320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OptionsFilterComponent, decorators: [{
|
|
1321
|
+
type: Component,
|
|
1322
|
+
args: [{ selector: 'mz-options-filter', standalone: true, imports: [FormsModule, CdkOverlayOrigin, CdkConnectedOverlay, SpinnerComponent], encapsulation: ViewEncapsulation.None, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n @if (options) {\n {{ filterLabel }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n } @else {\n <mz-spinner></mz-spinner>\n }\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <form #myForm=\"ngForm\" > \n <div>\n <label class=\"field\">\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search...\" name=\"search\" class=\"form-input\" />\n </label>\n <div class=\"dropdown-options\">\n @for(option of filteredOptions; track option.value) {\n <label class=\"field-option\">\n <input class=\"form-radio\" type=\"radio\" [(ngModel)]=\"selected\" name=\"option\" [value]=\"option.value\" (ngModelChange)=\"apply()\"/>\n <span class=\"radio-label\">{{ option.label }}</span>\n </label>\n }\n </div>\n </div>\n <div class=\"dropdown-buttons\">\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </form>\n </div>\n</ng-template>\n\n", styles: [".dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}.dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-options{padding:.25rem;max-height:15rem;overflow-y:auto}\n"] }]
|
|
1323
|
+
}], propDecorators: { options: [{
|
|
1324
|
+
type: Input
|
|
1325
|
+
}], values: [{
|
|
1326
|
+
type: Input
|
|
1327
|
+
}], label: [{
|
|
1328
|
+
type: Input
|
|
1329
|
+
}], change: [{
|
|
1330
|
+
type: Output
|
|
1331
|
+
}], selected: [{
|
|
1332
|
+
type: Input
|
|
1333
|
+
}], form: [{
|
|
1334
|
+
type: ViewChild,
|
|
1335
|
+
args: [NgForm]
|
|
1336
|
+
}] } });
|
|
1337
|
+
|
|
1338
|
+
class FilterComponent {
|
|
1339
|
+
constructor() {
|
|
1340
|
+
this.label = 'Filter';
|
|
1341
|
+
this.open = false;
|
|
1342
|
+
}
|
|
1343
|
+
ngAfterContentInit() {
|
|
1344
|
+
this.initialValues = this.menuForm.value;
|
|
1345
|
+
}
|
|
1346
|
+
toggleOverlay() {
|
|
1347
|
+
this.open = !this.open;
|
|
1348
|
+
}
|
|
1349
|
+
dismiss() {
|
|
1350
|
+
this.open = false;
|
|
1351
|
+
if (this.menuForm.options.updateOn === 'submit') {
|
|
1352
|
+
this.menuForm.resetForm(this.initialValues);
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
clear() {
|
|
1356
|
+
this.open = false;
|
|
1357
|
+
}
|
|
1358
|
+
apply() {
|
|
1359
|
+
this.open = false;
|
|
1360
|
+
console.log('applied', this.menuForm.value);
|
|
1361
|
+
}
|
|
1362
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1363
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: FilterComponent, isStandalone: true, selector: "mz-filter", inputs: { label: "label" }, queries: [{ propertyName: "menuForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <ng-content></ng-content>\n\n <div class=\"dropdown-buttons\">\n @if(menuForm.options.updateOn === 'submit') {\n <button type=\"button\" class=\"button button-primary\" (click)=\"apply()\">Apply</button>\n }\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </div>\n</ng-template>\n\n", styles: [".dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }] }); }
|
|
1364
|
+
}
|
|
1365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FilterComponent, decorators: [{
|
|
1366
|
+
type: Component,
|
|
1367
|
+
args: [{ selector: 'mz-filter', standalone: true, imports: [CdkOverlayOrigin, CdkConnectedOverlay, FormsModule, CommonModule], template: "<button cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"toggleOverlay()\" class=\"button button-secondary\" [class.active]=\"open\">\n {{ label }}\n <span class=\"dropdown-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" class=\"dropdown-icon\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </span>\n</button>\n<ng-template \n cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"open\" [cdkConnectedOverlayPanelClass]=\"'dropdown-body'\" (overlayOutsideClick)=\"dismiss()\">\n <div>\n <ng-content></ng-content>\n\n <div class=\"dropdown-buttons\">\n @if(menuForm.options.updateOn === 'submit') {\n <button type=\"button\" class=\"button button-primary\" (click)=\"apply()\">Apply</button>\n }\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"clear()\">Clear</button>\n </div>\n </div>\n</ng-template>\n\n", styles: [".dropdown-body{background-color:var(--surface-bg, white);min-width:5rem;margin-top:.25rem;padding:.75rem}.dropdown-buttons{display:flex;margin-top:.25rem}.dropdown-icon{height:1.5rem;width:1.5rem;display:inline-block;padding-left:.5rem}\n"] }]
|
|
1368
|
+
}], propDecorators: { label: [{
|
|
1369
|
+
type: Input
|
|
1370
|
+
}], menuForm: [{
|
|
1371
|
+
type: ContentChild,
|
|
1372
|
+
args: [NgForm]
|
|
1373
|
+
}] } });
|
|
1374
|
+
|
|
1216
1375
|
/*
|
|
1217
1376
|
* Public API Surface of components
|
|
1218
1377
|
*/
|
|
@@ -1221,5 +1380,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
1221
1380
|
* Generated bundle index. Do not edit.
|
|
1222
1381
|
*/
|
|
1223
1382
|
|
|
1224
|
-
export { AlertComponent, ButtonDirective, DateDisplayPipe, DateTimeComponent, DrawerContainerComponent, EnumDisplayPipe, InfiniteScrollComponent, MZ_DATE_PIPE_DEFAULT_OPTIONS, MuziehComponentHarness, MuziehComponentsModule, MzDatePipe, MzInlineEditComponent, PageHeaderComponent, PageLoadingIndicatorComponent, PaginationComponent, PhoneNumberPipe, ResultTableComponent, ResultTableHarness, SVG_ICON_DEFAULT_OPTIONS, SortDirective, SortKeyDirective, SpinnerComponent, SubjectDisplayPipe, SvgIconComponent, TimeValueAccessorDirective, TimeValueValidatorDirective, WizardProgressTrackerComponent };
|
|
1383
|
+
export { AlertComponent, ButtonDirective, DateDisplayPipe, DateTimeComponent, DrawerContainerComponent, EnumDisplayPipe, FilterComponent, InfiniteScrollComponent, MZ_DATE_PIPE_DEFAULT_OPTIONS, MuziehComponentHarness, MuziehComponentsModule, MzDatePipe, MzDropdownComponent, MzDropdownItemDirective, MzDropdownModule, MzInlineEditComponent, OptionsFilterComponent, PageHeaderComponent, PageLoadingIndicatorComponent, PaginationComponent, PhoneNumberPipe, ResultTableComponent, ResultTableHarness, SVG_ICON_DEFAULT_OPTIONS, SortDirective, SortKeyDirective, SpinnerComponent, SubjectDisplayPipe, SvgIconComponent, TimeValueAccessorDirective, TimeValueValidatorDirective, WizardProgressTrackerComponent };
|
|
1225
1384
|
//# sourceMappingURL=muziehdesign-components.mjs.map
|