@beshkari/mb-ui 0.5.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/esm2022/beshkari-mb-ui.mjs +5 -0
- package/esm2022/lib/accordion/mb-accordion.component.mjs +37 -0
- package/esm2022/lib/alert/mb-alert.component.mjs +28 -0
- package/esm2022/lib/avatar/mb-avatar.component.mjs +32 -0
- package/esm2022/lib/badge/mb-badge.component.mjs +28 -0
- package/esm2022/lib/breadcrumb/mb-breadcrumb.component.mjs +23 -0
- package/esm2022/lib/button/mb-button.component.mjs +48 -0
- package/esm2022/lib/card/mb-card.component.mjs +28 -0
- package/esm2022/lib/checkbox/mb-checkbox.component.mjs +75 -0
- package/esm2022/lib/chip/mb-chip.component.mjs +33 -0
- package/esm2022/lib/combobox/mb-combobox.component.mjs +235 -0
- package/esm2022/lib/confirm/mb-confirm-dialog.component.mjs +44 -0
- package/esm2022/lib/confirm/mb-confirm.service.mjs +39 -0
- package/esm2022/lib/confirm/mb-confirm.types.mjs +2 -0
- package/esm2022/lib/datepicker/mb-datepicker.component.mjs +382 -0
- package/esm2022/lib/dialog/mb-dialog-container.component.mjs +37 -0
- package/esm2022/lib/dialog/mb-dialog-ref.mjs +17 -0
- package/esm2022/lib/dialog/mb-dialog.component.mjs +87 -0
- package/esm2022/lib/dialog/mb-dialog.service.mjs +61 -0
- package/esm2022/lib/dialog/mb-dialog.tokens.mjs +3 -0
- package/esm2022/lib/divider/mb-divider.component.mjs +18 -0
- package/esm2022/lib/drawer/mb-drawer.component.mjs +34 -0
- package/esm2022/lib/dropdown/mb-dropdown.component.mjs +24 -0
- package/esm2022/lib/empty/mb-empty.component.mjs +27 -0
- package/esm2022/lib/form-field/mb-form-field.component.mjs +24 -0
- package/esm2022/lib/grid/mb-grid-data.mjs +266 -0
- package/esm2022/lib/grid/mb-grid-export.mjs +36 -0
- package/esm2022/lib/grid/mb-grid-messages.mjs +10 -0
- package/esm2022/lib/grid/mb-grid-state-adapter.mjs +97 -0
- package/esm2022/lib/grid/mb-grid-state.service.mjs +47 -0
- package/esm2022/lib/grid/mb-grid-template.directive.mjs +109 -0
- package/esm2022/lib/grid/mb-grid.component.mjs +998 -0
- package/esm2022/lib/grid/mb-grid.types.mjs +2 -0
- package/esm2022/lib/i18n/mb-ui-locale.mjs +18 -0
- package/esm2022/lib/i18n/mb-ui-messages-en.mjs +103 -0
- package/esm2022/lib/i18n/mb-ui-messages-fa.mjs +103 -0
- package/esm2022/lib/i18n/mb-ui-messages.mjs +34 -0
- package/esm2022/lib/i18n/mb-ui-messages.types.mjs +2 -0
- package/esm2022/lib/i18n/provide-mb-ui.mjs +20 -0
- package/esm2022/lib/input/mb-input.component.mjs +86 -0
- package/esm2022/lib/pagination/mb-pagination.component.mjs +47 -0
- package/esm2022/lib/progress/mb-progress.component.mjs +29 -0
- package/esm2022/lib/radio/mb-radio-group.component.mjs +63 -0
- package/esm2022/lib/select/mb-select.component.mjs +73 -0
- package/esm2022/lib/skeleton/mb-skeleton.component.mjs +24 -0
- package/esm2022/lib/spinner/mb-spinner.component.mjs +21 -0
- package/esm2022/lib/switch/mb-switch.component.mjs +59 -0
- package/esm2022/lib/tabs/mb-tabs.component.mjs +31 -0
- package/esm2022/lib/textarea/mb-textarea.component.mjs +83 -0
- package/esm2022/lib/toast/mb-toast-container.component.mjs +21 -0
- package/esm2022/lib/toast/mb-toast.service.mjs +47 -0
- package/esm2022/lib/toast/mb-toast.types.mjs +2 -0
- package/esm2022/lib/tokens/mb-ui-config.token.mjs +11 -0
- package/esm2022/lib/tooltip/mb-tooltip.directive.mjs +48 -0
- package/esm2022/lib/utils/coerce.mjs +10 -0
- package/esm2022/lib/utils/mb-jalali-date.mjs +120 -0
- package/esm2022/public-api.mjs +56 -0
- package/fesm2022/beshkari-mb-ui.mjs +3828 -0
- package/fesm2022/beshkari-mb-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/accordion/mb-accordion.component.d.ts +19 -0
- package/lib/alert/mb-alert.component.d.ts +12 -0
- package/lib/avatar/mb-avatar.component.d.ts +12 -0
- package/lib/badge/mb-badge.component.d.ts +12 -0
- package/lib/breadcrumb/mb-breadcrumb.component.d.ts +15 -0
- package/lib/button/mb-button.component.d.ts +19 -0
- package/lib/card/mb-card.component.d.ts +10 -0
- package/lib/checkbox/mb-checkbox.component.d.ts +25 -0
- package/lib/chip/mb-chip.component.d.ts +12 -0
- package/lib/combobox/mb-combobox.component.d.ts +65 -0
- package/lib/confirm/mb-confirm-dialog.component.d.ts +17 -0
- package/lib/confirm/mb-confirm.service.d.ts +12 -0
- package/lib/confirm/mb-confirm.types.d.ts +10 -0
- package/lib/datepicker/mb-datepicker.component.d.ts +87 -0
- package/lib/dialog/mb-dialog-container.component.d.ts +14 -0
- package/lib/dialog/mb-dialog-ref.d.ts +9 -0
- package/lib/dialog/mb-dialog.component.d.ts +27 -0
- package/lib/dialog/mb-dialog.service.d.ts +14 -0
- package/lib/dialog/mb-dialog.tokens.d.ts +13 -0
- package/lib/divider/mb-divider.component.d.ts +7 -0
- package/lib/drawer/mb-drawer.component.d.ts +14 -0
- package/lib/dropdown/mb-dropdown.component.d.ts +10 -0
- package/lib/empty/mb-empty.component.d.ts +10 -0
- package/lib/form-field/mb-form-field.component.d.ts +9 -0
- package/lib/grid/mb-grid-data.d.ts +20 -0
- package/lib/grid/mb-grid-export.d.ts +9 -0
- package/lib/grid/mb-grid-messages.d.ts +6 -0
- package/lib/grid/mb-grid-state-adapter.d.ts +24 -0
- package/lib/grid/mb-grid-state.service.d.ts +10 -0
- package/lib/grid/mb-grid-template.directive.d.ts +43 -0
- package/lib/grid/mb-grid.component.d.ts +233 -0
- package/lib/grid/mb-grid.types.d.ts +255 -0
- package/lib/i18n/mb-ui-locale.d.ts +2 -0
- package/lib/i18n/mb-ui-messages-en.d.ts +3 -0
- package/lib/i18n/mb-ui-messages-fa.d.ts +3 -0
- package/lib/i18n/mb-ui-messages.d.ts +5 -0
- package/lib/i18n/mb-ui-messages.types.d.ts +90 -0
- package/lib/i18n/provide-mb-ui.d.ts +7 -0
- package/lib/input/mb-input.component.d.ts +30 -0
- package/lib/pagination/mb-pagination.component.d.ts +16 -0
- package/lib/progress/mb-progress.component.d.ts +11 -0
- package/lib/radio/mb-radio-group.component.d.ts +30 -0
- package/lib/select/mb-select.component.d.ts +31 -0
- package/lib/skeleton/mb-skeleton.component.d.ts +9 -0
- package/lib/spinner/mb-spinner.component.d.ts +9 -0
- package/lib/switch/mb-switch.component.d.ts +22 -0
- package/lib/tabs/mb-tabs.component.d.ts +19 -0
- package/lib/textarea/mb-textarea.component.d.ts +29 -0
- package/lib/toast/mb-toast-container.component.d.ts +10 -0
- package/lib/toast/mb-toast.service.d.ts +15 -0
- package/lib/toast/mb-toast.types.d.ts +8 -0
- package/lib/tokens/mb-ui-config.token.d.ts +12 -0
- package/lib/tooltip/mb-tooltip.directive.d.ts +13 -0
- package/lib/utils/coerce.d.ts +3 -0
- package/lib/utils/mb-jalali-date.d.ts +18 -0
- package/package.json +50 -0
- package/public-api.d.ts +55 -0
- package/theme/_components.scss +19 -0
- package/theme/_dark.scss +1 -0
- package/theme/_density.scss +1 -0
- package/theme/_tokens.scss +57 -0
- package/theme/mb-ui.scss +28 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, inject, Input, Output, } from '@angular/core';
|
|
2
|
+
import { MB_UI_MESSAGES } from '../i18n/mb-ui-messages';
|
|
3
|
+
import { NgIf } from '@angular/common';
|
|
4
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/a11y";
|
|
7
|
+
export class MbDialogComponent {
|
|
8
|
+
messages = inject(MB_UI_MESSAGES);
|
|
9
|
+
open = false;
|
|
10
|
+
title = '';
|
|
11
|
+
width = '560px';
|
|
12
|
+
height;
|
|
13
|
+
minWidth = '280px';
|
|
14
|
+
maxWidth = 'calc(100vw - 2rem)';
|
|
15
|
+
closable = true;
|
|
16
|
+
closeOnBackdrop = true;
|
|
17
|
+
closeOnEscape = true;
|
|
18
|
+
ariaLabel;
|
|
19
|
+
get effectiveAriaLabel() {
|
|
20
|
+
return this.ariaLabel ?? this.messages.dialog.ariaLabel;
|
|
21
|
+
}
|
|
22
|
+
get closeAriaLabel() {
|
|
23
|
+
return this.messages.dialog.close;
|
|
24
|
+
}
|
|
25
|
+
close = new EventEmitter();
|
|
26
|
+
onEscape() {
|
|
27
|
+
if (this.open && this.closeOnEscape) {
|
|
28
|
+
this.requestClose();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
get panelWidth() {
|
|
32
|
+
return typeof this.width === 'number' ? `${this.width}px` : this.width;
|
|
33
|
+
}
|
|
34
|
+
get panelHeight() {
|
|
35
|
+
if (this.height === undefined || this.height === null)
|
|
36
|
+
return null;
|
|
37
|
+
return typeof this.height === 'number' ? `${this.height}px` : this.height;
|
|
38
|
+
}
|
|
39
|
+
get panelMinWidth() {
|
|
40
|
+
return typeof this.minWidth === 'number' ? `${this.minWidth}px` : this.minWidth;
|
|
41
|
+
}
|
|
42
|
+
get panelMaxWidth() {
|
|
43
|
+
return typeof this.maxWidth === 'number' ? `${this.maxWidth}px` : this.maxWidth;
|
|
44
|
+
}
|
|
45
|
+
requestClose() {
|
|
46
|
+
if (!this.closable)
|
|
47
|
+
return;
|
|
48
|
+
this.close.emit();
|
|
49
|
+
}
|
|
50
|
+
onBackdropClick() {
|
|
51
|
+
if (this.closeOnBackdrop) {
|
|
52
|
+
this.requestClose();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbDialogComponent, isStandalone: true, selector: "mb-dialog", inputs: { open: "open", title: "title", width: "width", height: "height", minWidth: "minWidth", maxWidth: "maxWidth", closable: "closable", closeOnBackdrop: "closeOnBackdrop", closeOnEscape: "closeOnEscape", ariaLabel: "ariaLabel" }, outputs: { close: "close" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, ngImport: i0, template: "<div *ngIf=\"open\" class=\"mb-dialog-backdrop\" (click)=\"onBackdropClick()\">\r\n <section\r\n class=\"mb-dialog-panel\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-label]=\"effectiveAriaLabel\"\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [style.width]=\"panelWidth\"\r\n [style.height]=\"panelHeight\"\r\n [style.min-width]=\"panelMinWidth\"\r\n [style.max-width]=\"panelMaxWidth\"\r\n (click)=\"$event.stopPropagation()\">\r\n <header *ngIf=\"title || closable\" class=\"mb-dialog-panel__titlebar\">\r\n <ng-content select=\"[mbDialogTitlebar],mb-dialog-titlebar\"></ng-content>\r\n <h2 *ngIf=\"title\" class=\"mb-dialog-panel__title\">{{ title }}</h2>\r\n <button\r\n *ngIf=\"closable\"\r\n type=\"button\"\r\n class=\"mb-dialog-panel__close\"\r\n [attr.aria-label]=\"closeAriaLabel\"\r\n (click)=\"requestClose()\">\u00D7</button>\r\n </header>\r\n\r\n <div class=\"mb-dialog-panel__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <footer class=\"mb-dialog-panel__actions\">\r\n <ng-content select=\"[mbDialogActions],mb-dialog-actions\"></ng-content>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: [".mb-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.mb-dialog-panel{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);border-radius:var(--mb-radius-lg, 14px);background:var(--mb-surface, #fff);color:var(--mb-text, #0f172a);box-shadow:var(--mb-shadow-lg, 0 20px 40px rgba(15, 23, 42, .18));overflow:hidden}.mb-dialog-panel__titlebar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-block-end:1px solid var(--mb-border, #e2e8f0);background:color-mix(in srgb,var(--mb-surface, #fff) 90%,var(--mb-primary, #2563eb) 10%)}.mb-dialog-panel__title{margin:0;flex:1;font-size:1rem;font-weight:700}.mb-dialog-panel__close{border:none;background:transparent;color:var(--mb-muted, #64748b);font-size:24px;line-height:1;cursor:pointer}.mb-dialog-panel__content{flex:1;overflow:auto;padding:16px}.mb-dialog-panel__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-block-start:1px solid var(--mb-border, #e2e8f0)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDialogComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{ selector: 'mb-dialog', standalone: true, imports: [NgIf, A11yModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" class=\"mb-dialog-backdrop\" (click)=\"onBackdropClick()\">\r\n <section\r\n class=\"mb-dialog-panel\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-label]=\"effectiveAriaLabel\"\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [style.width]=\"panelWidth\"\r\n [style.height]=\"panelHeight\"\r\n [style.min-width]=\"panelMinWidth\"\r\n [style.max-width]=\"panelMaxWidth\"\r\n (click)=\"$event.stopPropagation()\">\r\n <header *ngIf=\"title || closable\" class=\"mb-dialog-panel__titlebar\">\r\n <ng-content select=\"[mbDialogTitlebar],mb-dialog-titlebar\"></ng-content>\r\n <h2 *ngIf=\"title\" class=\"mb-dialog-panel__title\">{{ title }}</h2>\r\n <button\r\n *ngIf=\"closable\"\r\n type=\"button\"\r\n class=\"mb-dialog-panel__close\"\r\n [attr.aria-label]=\"closeAriaLabel\"\r\n (click)=\"requestClose()\">\u00D7</button>\r\n </header>\r\n\r\n <div class=\"mb-dialog-panel__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <footer class=\"mb-dialog-panel__actions\">\r\n <ng-content select=\"[mbDialogActions],mb-dialog-actions\"></ng-content>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: [".mb-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.mb-dialog-panel{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);border-radius:var(--mb-radius-lg, 14px);background:var(--mb-surface, #fff);color:var(--mb-text, #0f172a);box-shadow:var(--mb-shadow-lg, 0 20px 40px rgba(15, 23, 42, .18));overflow:hidden}.mb-dialog-panel__titlebar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-block-end:1px solid var(--mb-border, #e2e8f0);background:color-mix(in srgb,var(--mb-surface, #fff) 90%,var(--mb-primary, #2563eb) 10%)}.mb-dialog-panel__title{margin:0;flex:1;font-size:1rem;font-weight:700}.mb-dialog-panel__close{border:none;background:transparent;color:var(--mb-muted, #64748b);font-size:24px;line-height:1;cursor:pointer}.mb-dialog-panel__content{flex:1;overflow:auto;padding:16px}.mb-dialog-panel__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-block-start:1px solid var(--mb-border, #e2e8f0)}\n"] }]
|
|
61
|
+
}], propDecorators: { open: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], title: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], width: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], height: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], minWidth: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], maxWidth: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], closable: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], closeOnBackdrop: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], closeOnEscape: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], ariaLabel: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], close: [{
|
|
82
|
+
type: Output
|
|
83
|
+
}], onEscape: [{
|
|
84
|
+
type: HostListener,
|
|
85
|
+
args: ['document:keydown.escape']
|
|
86
|
+
}] } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGlhbG9nL21iLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RpYWxvZy9tYi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsS0FBSyxHQUFvQixPQUFPLENBQUM7SUFDakMsTUFBTSxDQUFtQjtJQUN6QixRQUFRLEdBQW9CLE9BQU8sQ0FBQztJQUNwQyxRQUFRLEdBQW9CLG9CQUFvQixDQUFDO0lBQ2pELFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLFNBQVMsQ0FBVTtJQUU1QixJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVTLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRzNDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbkUsT0FBTyxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQzt3R0F6RFUsaUJBQWlCOzRGQUFqQixpQkFBaUIsOFlDckI5QiwwdUNBaUNBLHdsQ0RqQlksSUFBSSw0RkFBRSxVQUFVOzs0RkFLZixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFLdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQVVJLEtBQUs7c0JBQWQsTUFBTTtnQkFHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQl9VSV9NRVNTQUdFUyB9IGZyb20gJy4uL2kxOG4vbWItdWktbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWItZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0lmLCBBMTF5TW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbWItZGlhbG9nLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1iRGlhbG9nQ29tcG9uZW50IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VzID0gaW5qZWN0KE1CX1VJX01FU1NBR0VTKTtcclxuXHJcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9ICc1NjBweCc7XHJcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1pbldpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAnMjgwcHgnO1xyXG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAnY2FsYygxMDB2dyAtIDJyZW0pJztcclxuICBASW5wdXQoKSBjbG9zYWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbG9zZU9uRXNjYXBlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIGdldCBlZmZlY3RpdmVBcmlhTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbCA/PyB0aGlzLm1lc3NhZ2VzLmRpYWxvZy5hcmlhTGFiZWw7XHJcbiAgfVxyXG5cclxuICBnZXQgY2xvc2VBcmlhTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzLmRpYWxvZy5jbG9zZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxyXG4gIG9uRXNjYXBlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLmNsb3NlT25Fc2NhcGUpIHtcclxuICAgICAgdGhpcy5yZXF1ZXN0Q2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBwYW5lbFdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy53aWR0aH1weGAgOiB0aGlzLndpZHRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhbmVsSGVpZ2h0KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuaGVpZ2h0ID09PSB1bmRlZmluZWQgfHwgdGhpcy5oZWlnaHQgPT09IG51bGwpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmhlaWdodCA9PT0gJ251bWJlcicgPyBgJHt0aGlzLmhlaWdodH1weGAgOiB0aGlzLmhlaWdodDtcclxuICB9XHJcblxyXG4gIGdldCBwYW5lbE1pbldpZHRoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubWluV2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy5taW5XaWR0aH1weGAgOiB0aGlzLm1pbldpZHRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhbmVsTWF4V2lkdGgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0eXBlb2YgdGhpcy5tYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHt0aGlzLm1heFdpZHRofXB4YCA6IHRoaXMubWF4V2lkdGg7XHJcbiAgfVxyXG5cclxuICByZXF1ZXN0Q2xvc2UoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2xvc2FibGUpIHJldHVybjtcclxuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25CYWNrZHJvcENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdENsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJvcGVuXCIgY2xhc3M9XCJtYi1kaWFsb2ctYmFja2Ryb3BcIiAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKClcIj5cclxuICA8c2VjdGlvblxyXG4gICAgY2xhc3M9XCJtYi1kaWFsb2ctcGFuZWxcIlxyXG4gICAgcm9sZT1cImRpYWxvZ1wiXHJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVmZmVjdGl2ZUFyaWFMYWJlbFwiXHJcbiAgICBjZGtUcmFwRm9jdXNcclxuICAgIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcclxuICAgIFtzdHlsZS53aWR0aF09XCJwYW5lbFdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHRdPVwicGFuZWxIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJwYW5lbE1pbldpZHRoXCJcclxuICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwicGFuZWxNYXhXaWR0aFwiXHJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8aGVhZGVyICpuZ0lmPVwidGl0bGUgfHwgY2xvc2FibGVcIiBjbGFzcz1cIm1iLWRpYWxvZy1wYW5lbF9fdGl0bGViYXJcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21iRGlhbG9nVGl0bGViYXJdLG1iLWRpYWxvZy10aXRsZWJhclwiPjwvbmctY29udGVudD5cclxuICAgICAgPGgyICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cIm1iLWRpYWxvZy1wYW5lbF9fdGl0bGVcIj57eyB0aXRsZSB9fTwvaDI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImNsb3NhYmxlXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cIm1iLWRpYWxvZy1wYW5lbF9fY2xvc2VcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xvc2VBcmlhTGFiZWxcIlxyXG4gICAgICAgIChjbGljayk9XCJyZXF1ZXN0Q2xvc2UoKVwiPsOXPC9idXR0b24+XHJcbiAgICA8L2hlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibWItZGlhbG9nLXBhbmVsX19jb250ZW50XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxmb290ZXIgY2xhc3M9XCJtYi1kaWFsb2ctcGFuZWxfX2FjdGlvbnNcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21iRGlhbG9nQWN0aW9uc10sbWItZGlhbG9nLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Zvb3Rlcj5cclxuICA8L3NlY3Rpb24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { filter, take } from 'rxjs/operators';
|
|
5
|
+
import { MB_DIALOG_DATA } from './mb-dialog.tokens';
|
|
6
|
+
import { MbDialogContainerComponent } from './mb-dialog-container.component';
|
|
7
|
+
import { MbDialogRef } from './mb-dialog-ref';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
10
|
+
export class MbDialogService {
|
|
11
|
+
overlay;
|
|
12
|
+
injector;
|
|
13
|
+
constructor(overlay, injector) {
|
|
14
|
+
this.overlay = overlay;
|
|
15
|
+
this.injector = injector;
|
|
16
|
+
}
|
|
17
|
+
open(component, config = {}) {
|
|
18
|
+
const overlayRef = this.overlay.create(this.createOverlayConfig(config));
|
|
19
|
+
const dialogRef = new MbDialogRef(overlayRef);
|
|
20
|
+
const containerPortal = new ComponentPortal(MbDialogContainerComponent, null, this.injector);
|
|
21
|
+
const containerRef = overlayRef.attach(containerPortal);
|
|
22
|
+
containerRef.instance.ariaLabel = config.ariaLabel ?? 'Dialog';
|
|
23
|
+
containerRef.instance.width = config.width ?? '560px';
|
|
24
|
+
containerRef.instance.maxWidth = config.maxWidth ?? 'calc(100vw - 2rem)';
|
|
25
|
+
containerRef.instance.minWidth = config.minWidth ?? '280px';
|
|
26
|
+
const contentInjector = Injector.create({
|
|
27
|
+
parent: this.injector,
|
|
28
|
+
providers: [
|
|
29
|
+
{ provide: MbDialogRef, useValue: dialogRef },
|
|
30
|
+
{ provide: MB_DIALOG_DATA, useValue: config.data },
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
containerRef.instance.attachComponentPortal(new ComponentPortal(component, null, contentInjector));
|
|
34
|
+
if (config.closeOnBackdropClick !== false) {
|
|
35
|
+
overlayRef.backdropClick().pipe(take(1)).subscribe(() => dialogRef.close());
|
|
36
|
+
}
|
|
37
|
+
if (config.closeOnEscape !== false) {
|
|
38
|
+
overlayRef
|
|
39
|
+
.keydownEvents()
|
|
40
|
+
.pipe(filter((event) => event.key === 'Escape'), take(1))
|
|
41
|
+
.subscribe(() => dialogRef.close());
|
|
42
|
+
}
|
|
43
|
+
return dialogRef;
|
|
44
|
+
}
|
|
45
|
+
createOverlayConfig(config) {
|
|
46
|
+
return new OverlayConfig({
|
|
47
|
+
hasBackdrop: true,
|
|
48
|
+
backdropClass: config.backdropClass ?? 'mb-overlay-backdrop',
|
|
49
|
+
panelClass: ['mb-dialog-panel', ...(Array.isArray(config.panelClass) ? config.panelClass : config.panelClass ? [config.panelClass] : [])],
|
|
50
|
+
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
51
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDialogService, providedIn: 'root' });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDialogService, decorators: [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{ providedIn: 'root' }]
|
|
60
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RpYWxvZy9tYi1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUc5QyxNQUFNLE9BQU8sZUFBZTtJQUVQO0lBQ0E7SUFGbkIsWUFDbUIsT0FBZ0IsRUFDaEIsUUFBa0I7UUFEbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ2xDLENBQUM7SUFFSixJQUFJLENBQ0YsU0FBMkIsRUFDM0IsU0FBZ0MsRUFBRTtRQUVsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBVSxVQUFVLENBQUMsQ0FBQztRQUV2RCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUM7UUFDL0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUM7UUFDdEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQztRQUN6RSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUU1RCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7Z0JBQzdDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRTthQUNuRDtTQUNGLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBRW5HLElBQUksTUFBTSxDQUFDLG9CQUFvQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbkMsVUFBVTtpQkFDUCxhQUFhLEVBQUU7aUJBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3hELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLG1CQUFtQixDQUFRLE1BQTZCO1FBQzlELE9BQU8sSUFBSSxhQUFhLENBQUM7WUFDdkIsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLElBQUkscUJBQXFCO1lBQzVELFVBQVUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pJLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUU7U0FDM0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FwRFUsZUFBZTs0R0FBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1CX0RJQUxPR19EQVRBLCBNYkRpYWxvZ0NvbmZpZyB9IGZyb20gJy4vbWItZGlhbG9nLnRva2Vucyc7XG5pbXBvcnQgeyBNYkRpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbWItZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWJEaWFsb2dSZWYgfSBmcm9tICcuL21iLWRpYWxvZy1yZWYnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1iRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7fVxuXG4gIG9wZW48VENvbXBvbmVudCwgVERhdGEgPSB1bmtub3duLCBUUmVzdWx0ID0gdW5rbm93bj4oXG4gICAgY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+LFxuICAgIGNvbmZpZzogTWJEaWFsb2dDb25maWc8VERhdGE+ID0ge30sXG4gICk6IE1iRGlhbG9nUmVmPFRSZXN1bHQ+IHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmNyZWF0ZU92ZXJsYXlDb25maWcoY29uZmlnKSk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gbmV3IE1iRGlhbG9nUmVmPFRSZXN1bHQ+KG92ZXJsYXlSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChNYkRpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCwgbnVsbCwgdGhpcy5pbmplY3Rvcik7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcbiAgICBjb250YWluZXJSZWYuaW5zdGFuY2UuYXJpYUxhYmVsID0gY29uZmlnLmFyaWFMYWJlbCA/PyAnRGlhbG9nJztcbiAgICBjb250YWluZXJSZWYuaW5zdGFuY2Uud2lkdGggPSBjb25maWcud2lkdGggPz8gJzU2MHB4JztcbiAgICBjb250YWluZXJSZWYuaW5zdGFuY2UubWF4V2lkdGggPSBjb25maWcubWF4V2lkdGggPz8gJ2NhbGMoMTAwdncgLSAycmVtKSc7XG4gICAgY29udGFpbmVyUmVmLmluc3RhbmNlLm1pbldpZHRoID0gY29uZmlnLm1pbldpZHRoID8/ICcyODBweCc7XG5cbiAgICBjb25zdCBjb250ZW50SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTWJEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2dSZWYgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQl9ESUFMT0dfREFUQSwgdXNlVmFsdWU6IGNvbmZpZy5kYXRhIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29udGFpbmVyUmVmLmluc3RhbmNlLmF0dGFjaENvbXBvbmVudFBvcnRhbChuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgbnVsbCwgY29udGVudEluamVjdG9yKSk7XG5cbiAgICBpZiAoY29uZmlnLmNsb3NlT25CYWNrZHJvcENsaWNrICE9PSBmYWxzZSkge1xuICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4gZGlhbG9nUmVmLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuY2xvc2VPbkVzY2FwZSAhPT0gZmFsc2UpIHtcbiAgICAgIG92ZXJsYXlSZWZcbiAgICAgICAgLmtleWRvd25FdmVudHMoKVxuICAgICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSwgdGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiBkaWFsb2dSZWYuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBNYkRpYWxvZ0NvbmZpZzxURGF0YT4pOiBPdmVybGF5Q29uZmlnIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBjb25maWcuYmFja2Ryb3BDbGFzcyA/PyAnbWItb3ZlcmxheS1iYWNrZHJvcCcsXG4gICAgICBwYW5lbENsYXNzOiBbJ21iLWRpYWxvZy1wYW5lbCcsIC4uLihBcnJheS5pc0FycmF5KGNvbmZpZy5wYW5lbENsYXNzKSA/IGNvbmZpZy5wYW5lbENsYXNzIDogY29uZmlnLnBhbmVsQ2xhc3MgPyBbY29uZmlnLnBhbmVsQ2xhc3NdIDogW10pXSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const MB_DIALOG_DATA = new InjectionToken('MB_DIALOG_DATA');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZGlhbG9nLnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGlhbG9nL21iLWRpYWxvZy50b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWMvQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQVUsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWJEaWFsb2dDb25maWc8VERhdGEgPSB1bmtub3duPiB7XG4gIGRhdGE/OiBURGF0YTtcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIG1heFdpZHRoPzogc3RyaW5nO1xuICBtaW5XaWR0aD86IHN0cmluZztcbiAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGNsb3NlT25CYWNrZHJvcENsaWNrPzogYm9vbGVhbjtcbiAgY2xvc2VPbkVzY2FwZT86IGJvb2xlYW47XG4gIGFyaWFMYWJlbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE1CX0RJQUxPR19EQVRBID0gbmV3IEluamVjdGlvblRva2VuPHVua25vd24+KCdNQl9ESUFMT0dfREFUQScpO1xuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MbDividerComponent {
|
|
4
|
+
orientation = 'horizontal';
|
|
5
|
+
get hostClass() { return `mb-divider-host mb-divider-host--${this.orientation}`; }
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbDividerComponent, isStandalone: true, selector: "mb-divider", inputs: { orientation: "orientation" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: '<span class="mb-divider__text"><ng-content></ng-content></span>', isInline: true, styles: [":host{display:flex;align-items:center;color:var(--mb-color-muted)}:host(.mb-divider-host--horizontal){inline-size:100%;border-block-start:1px solid var(--mb-color-border);margin-block:1rem;justify-content:center}:host(.mb-divider-host--vertical){align-self:stretch;border-inline-start:1px solid var(--mb-color-border);margin-inline:.75rem}.mb-divider__text{background:var(--mb-color-bg);padding-inline:.5rem;margin-block-start:-.75rem;font-size:.78rem}:host(.mb-divider-host--vertical) .mb-divider__text{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDividerComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ selector: 'mb-divider', standalone: true, template: '<span class="mb-divider__text"><ng-content></ng-content></span>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:flex;align-items:center;color:var(--mb-color-muted)}:host(.mb-divider-host--horizontal){inline-size:100%;border-block-start:1px solid var(--mb-color-border);margin-block:1rem;justify-content:center}:host(.mb-divider-host--vertical){align-self:stretch;border-inline-start:1px solid var(--mb-color-border);margin-inline:.75rem}.mb-divider__text{background:var(--mb-color-bg);padding-inline:.5rem;margin-block-start:-.75rem;font-size:.78rem}:host(.mb-divider-host--vertical) .mb-divider__text{display:none}\n"] }]
|
|
12
|
+
}], propDecorators: { orientation: [{
|
|
13
|
+
type: Input
|
|
14
|
+
}], hostClass: [{
|
|
15
|
+
type: HostBinding,
|
|
16
|
+
args: ['class']
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RpdmlkZXIvbWItZGl2aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVF2RixNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLFdBQVcsR0FBOEIsWUFBWSxDQUFDO0lBQy9ELElBQTBCLFNBQVMsS0FBYSxPQUFPLG9DQUFvQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dHQUZyRyxrQkFBa0I7NEZBQWxCLGtCQUFrQixtS0FKbkIsaUVBQWlFOzs0RkFJaEUsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFlBQ04saUVBQWlFLG1CQUUxRCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxXQUFXO3NCQUFuQixLQUFLO2dCQUNvQixTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21iLWRpdmlkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJzxzcGFuIGNsYXNzPVwibWItZGl2aWRlcl9fdGV4dFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+JyxcbiAgc3R5bGVVcmw6ICcuL21iLWRpdmlkZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWJEaXZpZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7IHJldHVybiBgbWItZGl2aWRlci1ob3N0IG1iLWRpdmlkZXItaG9zdC0tJHt0aGlzLm9yaWVudGF0aW9ufWA7IH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MbDrawerComponent {
|
|
5
|
+
open = false;
|
|
6
|
+
title = '';
|
|
7
|
+
position = 'end';
|
|
8
|
+
closeOnBackdrop = true;
|
|
9
|
+
openChange = new EventEmitter();
|
|
10
|
+
hostClass = 'mb-drawer-host';
|
|
11
|
+
close() { this.openChange.emit(false); }
|
|
12
|
+
backdrop() { if (this.closeOnBackdrop)
|
|
13
|
+
this.close(); }
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbDrawerComponent, isStandalone: true, selector: "mb-drawer", inputs: { open: "open", title: "title", position: "position", closeOnBackdrop: "closeOnBackdrop" }, outputs: { openChange: "openChange" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"mb-drawer-backdrop\" *ngIf=\"open\" (click)=\"backdrop()\"></div>\n<aside *ngIf=\"open\" class=\"mb-drawer\" [class]=\"'mb-drawer mb-drawer--' + position\" role=\"dialog\" aria-modal=\"true\">\n <header class=\"mb-drawer__header\" *ngIf=\"title\">\n <strong>{{ title }}</strong>\n <button type=\"button\" (click)=\"close()\" aria-label=\"Close\">\u00D7</button>\n </header>\n <div class=\"mb-drawer__content\"><ng-content></ng-content></div>\n</aside>\n", styles: [".mb-drawer-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:1000}.mb-drawer{position:fixed;z-index:1001;background:var(--mb-color-bg);color:var(--mb-color-text);box-shadow:var(--mb-shadow-lg);display:grid;grid-template-rows:auto 1fr}.mb-drawer--end{inset-block:0;inset-inline-end:0;inline-size:min(28rem,92vw)}.mb-drawer--start{inset-block:0;inset-inline-start:0;inline-size:min(28rem,92vw)}.mb-drawer--top{inset-inline:0;inset-block-start:0;block-size:min(24rem,72vh)}.mb-drawer--bottom{inset-inline:0;inset-block-end:0;block-size:min(24rem,72vh)}.mb-drawer__header{padding:1rem;border-block-end:1px solid var(--mb-color-border);display:flex;justify-content:space-between;gap:1rem;align-items:center}.mb-drawer__header button{border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}.mb-drawer__content{padding:1rem;overflow:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDrawerComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'mb-drawer', standalone: true, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-drawer-backdrop\" *ngIf=\"open\" (click)=\"backdrop()\"></div>\n<aside *ngIf=\"open\" class=\"mb-drawer\" [class]=\"'mb-drawer mb-drawer--' + position\" role=\"dialog\" aria-modal=\"true\">\n <header class=\"mb-drawer__header\" *ngIf=\"title\">\n <strong>{{ title }}</strong>\n <button type=\"button\" (click)=\"close()\" aria-label=\"Close\">\u00D7</button>\n </header>\n <div class=\"mb-drawer__content\"><ng-content></ng-content></div>\n</aside>\n", styles: [".mb-drawer-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:1000}.mb-drawer{position:fixed;z-index:1001;background:var(--mb-color-bg);color:var(--mb-color-text);box-shadow:var(--mb-shadow-lg);display:grid;grid-template-rows:auto 1fr}.mb-drawer--end{inset-block:0;inset-inline-end:0;inline-size:min(28rem,92vw)}.mb-drawer--start{inset-block:0;inset-inline-start:0;inline-size:min(28rem,92vw)}.mb-drawer--top{inset-inline:0;inset-block-start:0;block-size:min(24rem,72vh)}.mb-drawer--bottom{inset-inline:0;inset-block-end:0;block-size:min(24rem,72vh)}.mb-drawer__header{padding:1rem;border-block-end:1px solid var(--mb-color-border);display:flex;justify-content:space-between;gap:1rem;align-items:center}.mb-drawer__header button{border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}.mb-drawer__content{padding:1rem;overflow:auto}\n"] }]
|
|
20
|
+
}], propDecorators: { open: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], title: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], position: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], closeOnBackdrop: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], openChange: [{
|
|
29
|
+
type: Output
|
|
30
|
+
}], hostClass: [{
|
|
31
|
+
type: HostBinding,
|
|
32
|
+
args: ['class']
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZHJhd2VyL21iLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RyYXdlci9tYi1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN2QyxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUF1QyxLQUFLLENBQUM7SUFDckQsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN0QixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUM3QixTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFDbkQsS0FBSyxLQUFXLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxRQUFRLEtBQVcsSUFBSSxJQUFJLENBQUMsZUFBZTtRQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0dBUmpELGlCQUFpQjs0RkFBakIsaUJBQWlCLHFRQ1Y5Qiw2ZEFRQSw0NUJESFksSUFBSTs7NEZBS0gsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMsbUJBR0UsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDZSxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21iLWRyYXdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21iLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYi1kcmF3ZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWJEcmF3ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2VuZCc7XG4gIEBJbnB1dCgpIGNsb3NlT25CYWNrZHJvcCA9IHRydWU7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgaG9zdENsYXNzID0gJ21iLWRyYXdlci1ob3N0JztcbiAgY2xvc2UoKTogdm9pZCB7IHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTsgfVxuICBiYWNrZHJvcCgpOiB2b2lkIHsgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB0aGlzLmNsb3NlKCk7IH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi1kcmF3ZXItYmFja2Ryb3BcIiAqbmdJZj1cIm9wZW5cIiAoY2xpY2spPVwiYmFja2Ryb3AoKVwiPjwvZGl2PlxuPGFzaWRlICpuZ0lmPVwib3BlblwiIGNsYXNzPVwibWItZHJhd2VyXCIgW2NsYXNzXT1cIidtYi1kcmF3ZXIgbWItZHJhd2VyLS0nICsgcG9zaXRpb25cIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgPGhlYWRlciBjbGFzcz1cIm1iLWRyYXdlcl9faGVhZGVyXCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgIDxzdHJvbmc+e3sgdGl0bGUgfX08L3N0cm9uZz5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPsOXPC9idXR0b24+XG4gIDwvaGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwibWItZHJhd2VyX19jb250ZW50XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxuPC9hc2lkZT5cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MbDropdownComponent {
|
|
5
|
+
open = false;
|
|
6
|
+
align = 'start';
|
|
7
|
+
hostClass = 'mb-dropdown-host';
|
|
8
|
+
toggle() { this.open = !this.open; }
|
|
9
|
+
close() { this.open = false; }
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbDropdownComponent, isStandalone: true, selector: "mb-dropdown", inputs: { open: "open", align: "align" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"mb-dropdown\" [class.mb-dropdown--open]=\"open\" [class.mb-dropdown--end]=\"align === 'end'\">\n <div class=\"mb-dropdown__trigger\" (click)=\"toggle()\"><ng-content select=\"[mbDropdownTrigger]\"></ng-content></div>\n <div class=\"mb-dropdown__panel\" *ngIf=\"open\"><ng-content></ng-content></div>\n</div>\n", styles: [":host{display:inline-block;position:relative}.mb-dropdown{position:relative}.mb-dropdown__trigger{display:inline-flex}.mb-dropdown__panel{position:absolute;z-index:50;inset-block-start:calc(100% + .35rem);inset-inline-start:0;min-inline-size:12rem;padding:.45rem;border:1px solid var(--mb-color-border);border-radius:var(--mb-radius-lg);background:var(--mb-color-surface-elevated);box-shadow:var(--mb-shadow-md)}.mb-dropdown--end .mb-dropdown__panel{inset-inline-start:auto;inset-inline-end:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbDropdownComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'mb-dropdown', standalone: true, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-dropdown\" [class.mb-dropdown--open]=\"open\" [class.mb-dropdown--end]=\"align === 'end'\">\n <div class=\"mb-dropdown__trigger\" (click)=\"toggle()\"><ng-content select=\"[mbDropdownTrigger]\"></ng-content></div>\n <div class=\"mb-dropdown__panel\" *ngIf=\"open\"><ng-content></ng-content></div>\n</div>\n", styles: [":host{display:inline-block;position:relative}.mb-dropdown{position:relative}.mb-dropdown__trigger{display:inline-flex}.mb-dropdown__panel{position:absolute;z-index:50;inset-block-start:calc(100% + .35rem);inset-inline-start:0;min-inline-size:12rem;padding:.45rem;border:1px solid var(--mb-color-border);border-radius:var(--mb-radius-lg);background:var(--mb-color-surface-elevated);box-shadow:var(--mb-shadow-md)}.mb-dropdown--end .mb-dropdown__panel{inset-inline-start:auto;inset-inline-end:0}\n"] }]
|
|
16
|
+
}], propDecorators: { open: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], align: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], hostClass: [{
|
|
21
|
+
type: HostBinding,
|
|
22
|
+
args: ['class']
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kcm9wZG93bi9tYi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Ryb3Bkb3duL21iLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBU3ZDLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNiLEtBQUssR0FBb0IsT0FBTyxDQUFDO0lBQ3BCLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztJQUNyRCxNQUFNLEtBQVcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLEtBQUssS0FBVyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0dBTHpCLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHNLQ1ZoQyxzVUFJQSx5aUJEQ1ksSUFBSTs7NEZBS0gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMsbUJBR0UsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDZ0IsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21iLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWZdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWJEcm9wZG93bkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWxpZ246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSAnbWItZHJvcGRvd24taG9zdCc7XG4gIHRvZ2dsZSgpOiB2b2lkIHsgdGhpcy5vcGVuID0gIXRoaXMub3BlbjsgfVxuICBjbG9zZSgpOiB2b2lkIHsgdGhpcy5vcGVuID0gZmFsc2U7IH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi1kcm9wZG93blwiIFtjbGFzcy5tYi1kcm9wZG93bi0tb3Blbl09XCJvcGVuXCIgW2NsYXNzLm1iLWRyb3Bkb3duLS1lbmRdPVwiYWxpZ24gPT09ICdlbmQnXCI+XG4gIDxkaXYgY2xhc3M9XCJtYi1kcm9wZG93bl9fdHJpZ2dlclwiIChjbGljayk9XCJ0b2dnbGUoKVwiPjxuZy1jb250ZW50IHNlbGVjdD1cIlttYkRyb3Bkb3duVHJpZ2dlcl1cIj48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYi1kcm9wZG93bl9fcGFuZWxcIiAqbmdJZj1cIm9wZW5cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
|
+
import { MB_UI_MESSAGES } from '../i18n/mb-ui-messages';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MbEmptyComponent {
|
|
6
|
+
messages = inject(MB_UI_MESSAGES);
|
|
7
|
+
title;
|
|
8
|
+
description = '';
|
|
9
|
+
hostClass = 'mb-empty-host';
|
|
10
|
+
get effectiveTitle() {
|
|
11
|
+
return this.title ?? this.messages.empty.title;
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbEmptyComponent, isStandalone: true, selector: "mb-empty", inputs: { title: "title", description: "description" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"mb-empty\">\n <div class=\"mb-empty__icon\" aria-hidden=\"true\">\u2205</div>\n <strong class=\"mb-empty__title\">{{ effectiveTitle }}</strong>\n <p class=\"mb-empty__desc\" *ngIf=\"description\">{{ description }}</p>\n <div class=\"mb-empty__actions\"><ng-content></ng-content></div>\n</div>\n", styles: [":host{display:block}.mb-empty{display:grid;justify-items:center;text-align:center;gap:.55rem;padding:2rem;color:var(--mb-color-muted)}.mb-empty__icon{inline-size:3rem;block-size:3rem;border-radius:999px;display:grid;place-items:center;background:var(--mb-color-surface);border:1px solid var(--mb-color-border);font-size:1.6rem}.mb-empty__title{color:var(--mb-color-text);font-size:.95rem}.mb-empty__desc{margin:0;font-size:.86rem}.mb-empty__actions{margin-block-start:.5rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbEmptyComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'mb-empty', standalone: true, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-empty\">\n <div class=\"mb-empty__icon\" aria-hidden=\"true\">\u2205</div>\n <strong class=\"mb-empty__title\">{{ effectiveTitle }}</strong>\n <p class=\"mb-empty__desc\" *ngIf=\"description\">{{ description }}</p>\n <div class=\"mb-empty__actions\"><ng-content></ng-content></div>\n</div>\n", styles: [":host{display:block}.mb-empty{display:grid;justify-items:center;text-align:center;gap:.55rem;padding:2rem;color:var(--mb-color-muted)}.mb-empty__icon{inline-size:3rem;block-size:3rem;border-radius:999px;display:grid;place-items:center;background:var(--mb-color-surface);border:1px solid var(--mb-color-border);font-size:1.6rem}.mb-empty__title{color:var(--mb-color-text);font-size:.95rem}.mb-empty__desc{margin:0;font-size:.86rem}.mb-empty__actions{margin-block-start:.5rem}\n"] }]
|
|
19
|
+
}], propDecorators: { title: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], description: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], hostClass: [{
|
|
24
|
+
type: HostBinding,
|
|
25
|
+
args: ['class']
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9lbXB0eS9tYi1lbXB0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VtcHR5L21iLWVtcHR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFVeEQsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLFFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFMUMsS0FBSyxDQUFVO0lBQ2YsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNKLFNBQVMsR0FBRyxlQUFlLENBQUM7SUFFbEQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQzt3R0FUVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixpTENaN0IseVRBTUEsc2hCRENZLElBQUk7OzRGQUtILGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDLG1CQUdFLHVCQUF1QixDQUFDLE1BQU07OEJBS3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNnQixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNQl9VSV9NRVNTQUdFUyB9IGZyb20gJy4uL2kxOG4vbWItdWktbWVzc2FnZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYi1lbXB0eScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21iLWVtcHR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21iLWVtcHR5LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1iRW1wdHlDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VzID0gaW5qZWN0KE1CX1VJX01FU1NBR0VTKTtcblxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGhvc3RDbGFzcyA9ICdtYi1lbXB0eS1ob3N0JztcblxuICBnZXQgZWZmZWN0aXZlVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSA/PyB0aGlzLm1lc3NhZ2VzLmVtcHR5LnRpdGxlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItZW1wdHlcIj5cbiAgPGRpdiBjbGFzcz1cIm1iLWVtcHR5X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+4oiFPC9kaXY+XG4gIDxzdHJvbmcgY2xhc3M9XCJtYi1lbXB0eV9fdGl0bGVcIj57eyBlZmZlY3RpdmVUaXRsZSB9fTwvc3Ryb25nPlxuICA8cCBjbGFzcz1cIm1iLWVtcHR5X19kZXNjXCIgKm5nSWY9XCJkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICA8ZGl2IGNsYXNzPVwibWItZW1wdHlfX2FjdGlvbnNcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MbFormFieldComponent {
|
|
5
|
+
label = '';
|
|
6
|
+
hint = '';
|
|
7
|
+
error = '';
|
|
8
|
+
required = false;
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MbFormFieldComponent, isStandalone: true, selector: "mb-form-field", inputs: { label: "label", hint: "hint", error: "error", required: "required" }, ngImport: i0, template: "<label class=\"mb-form-field\">\n <span *ngIf=\"label\" class=\"mb-form-field__label\">\n {{ label }} <span *ngIf=\"required\" class=\"mb-form-field__required\">*</span>\n </span>\n <span class=\"mb-form-field__control\"><ng-content></ng-content></span>\n <span *ngIf=\"error || hint\" class=\"mb-form-field__message\" [class.mb-form-field__message--error]=\"error\">\n {{ error || hint }}\n </span>\n</label>\n", styles: [".mb-form-field{display:flex;flex-direction:column;gap:.45rem;inline-size:100%}.mb-form-field__label{color:var(--mb-color-text);font-size:.875rem;font-weight:650}.mb-form-field__required{color:var(--mb-color-danger)}.mb-form-field__control{display:block}.mb-form-field__message{color:var(--mb-color-muted);font-size:.75rem}.mb-form-field__message--error{color:var(--mb-color-danger)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbFormFieldComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'mb-form-field', standalone: true, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, template: "<label class=\"mb-form-field\">\n <span *ngIf=\"label\" class=\"mb-form-field__label\">\n {{ label }} <span *ngIf=\"required\" class=\"mb-form-field__required\">*</span>\n </span>\n <span class=\"mb-form-field__control\"><ng-content></ng-content></span>\n <span *ngIf=\"error || hint\" class=\"mb-form-field__message\" [class.mb-form-field__message--error]=\"error\">\n {{ error || hint }}\n </span>\n</label>\n", styles: [".mb-form-field{display:flex;flex-direction:column;gap:.45rem;inline-size:100%}.mb-form-field__label{color:var(--mb-color-text);font-size:.875rem;font-weight:650}.mb-form-field__required{color:var(--mb-color-danger)}.mb-form-field__control{display:block}.mb-form-field__message{color:var(--mb-color-muted);font-size:.75rem}.mb-form-field__message--error{color:var(--mb-color-danger)}\n"] }]
|
|
15
|
+
}], propDecorators: { label: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], hint: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], error: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], required: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Zvcm0tZmllbGQvbWItZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Zvcm0tZmllbGQvbWItZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVXZDLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLElBQUksR0FBRyxFQUFFLENBQUM7SUFDVixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQzt3R0FKZixvQkFBb0I7NEZBQXBCLG9CQUFvQix5SkNYakMsd2FBU0EsMGJESFksSUFBSTs7NEZBS0gsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMsbUJBR0UsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWItZm9ybS1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21iLWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWItZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYkZvcm1GaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGhpbnQgPSAnJztcbiAgQElucHV0KCkgZXJyb3IgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbn1cbiIsIjxsYWJlbCBjbGFzcz1cIm1iLWZvcm0tZmllbGRcIj5cbiAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibWItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICB7eyBsYWJlbCB9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJtYi1mb3JtLWZpZWxkX19yZXF1aXJlZFwiPio8L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJtYi1mb3JtLWZpZWxkX19jb250cm9sXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciB8fCBoaW50XCIgY2xhc3M9XCJtYi1mb3JtLWZpZWxkX19tZXNzYWdlXCIgW2NsYXNzLm1iLWZvcm0tZmllbGRfX21lc3NhZ2UtLWVycm9yXT1cImVycm9yXCI+XG4gICAge3sgZXJyb3IgfHwgaGludCB9fVxuICA8L3NwYW4+XG48L2xhYmVsPlxuIl19
|