@masterteam/components 0.0.59 → 0.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/common.css +1 -1
- package/fesm2022/masterteam-components-avatar-text.mjs +16 -16
- package/fesm2022/masterteam-components-avatar-text.mjs.map +1 -1
- package/fesm2022/masterteam-components-avatar.mjs +14 -14
- package/fesm2022/masterteam-components-avatar.mjs.map +1 -1
- package/fesm2022/masterteam-components-breadcrumb.mjs +7 -7
- package/fesm2022/masterteam-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/masterteam-components-button-group.mjs +3 -3
- package/fesm2022/masterteam-components-button.mjs +27 -47
- package/fesm2022/masterteam-components-button.mjs.map +1 -1
- package/fesm2022/masterteam-components-card.mjs +8 -10
- package/fesm2022/masterteam-components-card.mjs.map +1 -1
- package/fesm2022/masterteam-components-checkbox-field.mjs +13 -13
- package/fesm2022/masterteam-components-checkbox-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-chip.mjs +10 -12
- package/fesm2022/masterteam-components-chip.mjs.map +1 -1
- package/fesm2022/masterteam-components-color-picker-field.mjs +13 -13
- package/fesm2022/masterteam-components-color-picker-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-confirmation.mjs +7 -7
- package/fesm2022/masterteam-components-confirmation.mjs.map +1 -1
- package/fesm2022/masterteam-components-date-field.mjs +17 -17
- package/fesm2022/masterteam-components-date-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-dialog.mjs +3 -3
- package/fesm2022/masterteam-components-drawer.mjs +15 -15
- package/fesm2022/masterteam-components-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-dynamic-drawer.mjs +12 -12
- package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-editor-field.mjs +14 -14
- package/fesm2022/masterteam-components-editor-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-field-validation.mjs +10 -12
- package/fesm2022/masterteam-components-field-validation.mjs.map +1 -1
- package/fesm2022/masterteam-components-formula-builder.mjs +12 -12
- package/fesm2022/masterteam-components-formula-builder.mjs.map +1 -1
- package/fesm2022/masterteam-components-icon-field.mjs +7 -7
- package/fesm2022/masterteam-components-icon-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-list.mjs +9 -9
- package/fesm2022/masterteam-components-list.mjs.map +1 -1
- package/fesm2022/masterteam-components-menu.mjs +25 -29
- package/fesm2022/masterteam-components-menu.mjs.map +1 -1
- package/fesm2022/masterteam-components-modal.mjs +3 -3
- package/fesm2022/masterteam-components-module-summary-card.mjs +11 -15
- package/fesm2022/masterteam-components-module-summary-card.mjs.map +1 -1
- package/fesm2022/masterteam-components-multi-select-field.mjs +21 -21
- package/fesm2022/masterteam-components-multi-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-number-field.mjs +17 -17
- package/fesm2022/masterteam-components-number-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-page-header.mjs +17 -17
- package/fesm2022/masterteam-components-page-header.mjs.map +1 -1
- package/fesm2022/masterteam-components-page.mjs +17 -17
- package/fesm2022/masterteam-components-page.mjs.map +1 -1
- package/fesm2022/masterteam-components-paginator.mjs +14 -22
- package/fesm2022/masterteam-components-paginator.mjs.map +1 -1
- package/fesm2022/masterteam-components-pick-list-field.mjs +29 -29
- package/fesm2022/masterteam-components-pick-list-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-button-field.mjs +15 -15
- package/fesm2022/masterteam-components-radio-button-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-cards-field.mjs +13 -15
- package/fesm2022/masterteam-components-radio-cards-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-cards.mjs +15 -15
- package/fesm2022/masterteam-components-radio-cards.mjs.map +1 -1
- package/fesm2022/masterteam-components-select-field.mjs +22 -22
- package/fesm2022/masterteam-components-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-sidebar.mjs +9 -9
- package/fesm2022/masterteam-components-sidebar.mjs.map +1 -1
- package/fesm2022/masterteam-components-slider-field.mjs +18 -22
- package/fesm2022/masterteam-components-slider-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-table.mjs +39 -53
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-tabs.mjs +11 -15
- package/fesm2022/masterteam-components-tabs.mjs.map +1 -1
- package/fesm2022/masterteam-components-text-field.mjs +18 -18
- package/fesm2022/masterteam-components-text-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-textarea-field.mjs +15 -15
- package/fesm2022/masterteam-components-textarea-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-toast.mjs +6 -6
- package/fesm2022/masterteam-components-toast.mjs.map +1 -1
- package/fesm2022/masterteam-components-toggle-field.mjs +13 -13
- package/fesm2022/masterteam-components-toggle-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-tooltip.mjs +3 -3
- package/fesm2022/masterteam-components-topbar.mjs +12 -12
- package/fesm2022/masterteam-components-topbar.mjs.map +1 -1
- package/fesm2022/masterteam-components-upload-field.mjs +53 -53
- package/fesm2022/masterteam-components-upload-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-user-search-field.mjs +21 -21
- package/fesm2022/masterteam-components-user-search-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +5 -5
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +82 -82
- package/{dialog/index.d.ts → types/masterteam-components-dialog.d.ts} +1 -1
- /package/{avatar-text/index.d.ts → types/masterteam-components-avatar-text.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/masterteam-components-avatar.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/masterteam-components-breadcrumb.d.ts} +0 -0
- /package/{button-group/index.d.ts → types/masterteam-components-button-group.d.ts} +0 -0
- /package/{button/index.d.ts → types/masterteam-components-button.d.ts} +0 -0
- /package/{card/index.d.ts → types/masterteam-components-card.d.ts} +0 -0
- /package/{checkbox-field/index.d.ts → types/masterteam-components-checkbox-field.d.ts} +0 -0
- /package/{chip/index.d.ts → types/masterteam-components-chip.d.ts} +0 -0
- /package/{color-picker-field/index.d.ts → types/masterteam-components-color-picker-field.d.ts} +0 -0
- /package/{confirmation/index.d.ts → types/masterteam-components-confirmation.d.ts} +0 -0
- /package/{date-field/index.d.ts → types/masterteam-components-date-field.d.ts} +0 -0
- /package/{drawer/index.d.ts → types/masterteam-components-drawer.d.ts} +0 -0
- /package/{dynamic-drawer/index.d.ts → types/masterteam-components-dynamic-drawer.d.ts} +0 -0
- /package/{editor-field/index.d.ts → types/masterteam-components-editor-field.d.ts} +0 -0
- /package/{field-validation/index.d.ts → types/masterteam-components-field-validation.d.ts} +0 -0
- /package/{formula-builder/index.d.ts → types/masterteam-components-formula-builder.d.ts} +0 -0
- /package/{icon-field/index.d.ts → types/masterteam-components-icon-field.d.ts} +0 -0
- /package/{list/index.d.ts → types/masterteam-components-list.d.ts} +0 -0
- /package/{menu/index.d.ts → types/masterteam-components-menu.d.ts} +0 -0
- /package/{modal/index.d.ts → types/masterteam-components-modal.d.ts} +0 -0
- /package/{module-summary-card/index.d.ts → types/masterteam-components-module-summary-card.d.ts} +0 -0
- /package/{multi-select-field/index.d.ts → types/masterteam-components-multi-select-field.d.ts} +0 -0
- /package/{number-field/index.d.ts → types/masterteam-components-number-field.d.ts} +0 -0
- /package/{page-header/index.d.ts → types/masterteam-components-page-header.d.ts} +0 -0
- /package/{page/index.d.ts → types/masterteam-components-page.d.ts} +0 -0
- /package/{paginator/index.d.ts → types/masterteam-components-paginator.d.ts} +0 -0
- /package/{pick-list-field/index.d.ts → types/masterteam-components-pick-list-field.d.ts} +0 -0
- /package/{radio-button-field/index.d.ts → types/masterteam-components-radio-button-field.d.ts} +0 -0
- /package/{radio-cards-field/index.d.ts → types/masterteam-components-radio-cards-field.d.ts} +0 -0
- /package/{radio-cards/index.d.ts → types/masterteam-components-radio-cards.d.ts} +0 -0
- /package/{select-field/index.d.ts → types/masterteam-components-select-field.d.ts} +0 -0
- /package/{sidebar/index.d.ts → types/masterteam-components-sidebar.d.ts} +0 -0
- /package/{slider-field/index.d.ts → types/masterteam-components-slider-field.d.ts} +0 -0
- /package/{table/index.d.ts → types/masterteam-components-table.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/masterteam-components-tabs.d.ts} +0 -0
- /package/{text-field/index.d.ts → types/masterteam-components-text-field.d.ts} +0 -0
- /package/{textarea-field/index.d.ts → types/masterteam-components-textarea-field.d.ts} +0 -0
- /package/{toast/index.d.ts → types/masterteam-components-toast.d.ts} +0 -0
- /package/{toggle-field/index.d.ts → types/masterteam-components-toggle-field.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/masterteam-components-tooltip.d.ts} +0 -0
- /package/{topbar/index.d.ts → types/masterteam-components-topbar.d.ts} +0 -0
- /package/{upload-field/index.d.ts → types/masterteam-components-upload-field.d.ts} +0 -0
- /package/{user-search-field/index.d.ts → types/masterteam-components-user-search-field.d.ts} +0 -0
- /package/{index.d.ts → types/masterteam-components.d.ts} +0 -0
|
@@ -8,30 +8,24 @@ import { NgTemplateOutlet } from '@angular/common';
|
|
|
8
8
|
|
|
9
9
|
class Menu {
|
|
10
10
|
menuRef = viewChild.required('menu', { read: Menu$1 });
|
|
11
|
-
startTemplate = contentChild('start', ...(ngDevMode ?
|
|
12
|
-
endTemplate = contentChild('end', ...(ngDevMode ?
|
|
13
|
-
headerTemplate = contentChild('header', ...(ngDevMode ?
|
|
14
|
-
submenuHeaderTemplate = contentChild('submenuheader', ...(ngDevMode ?
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
hideTransitionOptions = input('0.1s linear', ...(ngDevMode ? [{ debugName: "hideTransitionOptions" }] : []));
|
|
30
|
-
ariaLabel = input(...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : []));
|
|
31
|
-
ariaLabelledBy = input(...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : []));
|
|
32
|
-
id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
|
|
33
|
-
tabindex = input(0, ...(ngDevMode ? [{ debugName: "tabindex" }] : []));
|
|
34
|
-
activeItemId = model(...(ngDevMode ? [undefined, { debugName: "activeItemId" }] : []));
|
|
11
|
+
startTemplate = contentChild('start', { ...(ngDevMode ? { debugName: "startTemplate" } : {}), read: TemplateRef });
|
|
12
|
+
endTemplate = contentChild('end', { ...(ngDevMode ? { debugName: "endTemplate" } : {}), read: TemplateRef });
|
|
13
|
+
headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : {}), read: TemplateRef });
|
|
14
|
+
submenuHeaderTemplate = contentChild('submenuheader', { ...(ngDevMode ? { debugName: "submenuHeaderTemplate" } : {}), read: TemplateRef });
|
|
15
|
+
model = input([], { ...(ngDevMode ? { debugName: "model" } : {}) });
|
|
16
|
+
popup = input(true, { ...(ngDevMode ? { debugName: "popup" } : {}), transform: booleanAttribute });
|
|
17
|
+
appendTo = input('body', { ...(ngDevMode ? { debugName: "appendTo" } : {}) });
|
|
18
|
+
style = input(undefined, { ...(ngDevMode ? { debugName: "style" } : {}) });
|
|
19
|
+
styleClass = input(undefined, { ...(ngDevMode ? { debugName: "styleClass" } : {}) });
|
|
20
|
+
autoZIndex = input(true, { ...(ngDevMode ? { debugName: "autoZIndex" } : {}), transform: booleanAttribute });
|
|
21
|
+
baseZIndex = input(0, { ...(ngDevMode ? { debugName: "baseZIndex" } : {}) });
|
|
22
|
+
showTransitionOptions = input('0.12s cubic-bezier(0, 0, 0.2, 1)', { ...(ngDevMode ? { debugName: "showTransitionOptions" } : {}) });
|
|
23
|
+
hideTransitionOptions = input('0.1s linear', { ...(ngDevMode ? { debugName: "hideTransitionOptions" } : {}) });
|
|
24
|
+
ariaLabel = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabel" } : {}) });
|
|
25
|
+
ariaLabelledBy = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabelledBy" } : {}) });
|
|
26
|
+
id = input(undefined, { ...(ngDevMode ? { debugName: "id" } : {}) });
|
|
27
|
+
tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : {}) });
|
|
28
|
+
activeItemId = model(undefined, { ...(ngDevMode ? { debugName: "activeItemId" } : {}) });
|
|
35
29
|
onShow = output();
|
|
36
30
|
onHide = output();
|
|
37
31
|
onBlur = output();
|
|
@@ -39,7 +33,7 @@ class Menu {
|
|
|
39
33
|
onItemSelect = output();
|
|
40
34
|
transformedModel = computed(() => {
|
|
41
35
|
return this.model().map((item) => this.transformMenuItem(item, this.activeItemId()));
|
|
42
|
-
}, ...(ngDevMode ?
|
|
36
|
+
}, { ...(ngDevMode ? { debugName: "transformedModel" } : {}) });
|
|
43
37
|
toggle(event) {
|
|
44
38
|
this.menuRef().toggle(event);
|
|
45
39
|
}
|
|
@@ -105,13 +99,15 @@ class Menu {
|
|
|
105
99
|
}
|
|
106
100
|
this.onItemSelect.emit(item);
|
|
107
101
|
}
|
|
108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Menu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: Menu, isStandalone: true, selector: "mt-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: true, isRequired: false, transformFunction: null }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: true, isRequired: false, transformFunction: null }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: true, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, activeItemId: { classPropertyName: "activeItemId", publicName: "activeItemId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeItemId: "activeItemIdChange", onShow: "onShow", onHide: "onHide", onBlur: "onBlur", onFocus: "onFocus", onItemSelect: "onItemSelect" }, queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "endTemplate", first: true, predicate: ["end"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "submenuHeaderTemplate", first: true, predicate: ["submenuheader"], descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "menuRef", first: true, predicate: ["menu"], descendants: true, read: Menu$1, isSignal: true }], ngImport: i0, template: "<p-menu\n #menu\n [model]=\"transformedModel()\"\n [popup]=\"popup()\"\n [appendTo]=\"appendTo()\"\n [style]=\"style()\"\n [styleClass]=\"styleClass()\"\n [autoZIndex]=\"autoZIndex()\"\n [baseZIndex]=\"baseZIndex()\"\n [showTransitionOptions]=\"showTransitionOptions()\"\n [hideTransitionOptions]=\"hideTransitionOptions()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [id]=\"id()\"\n [tabindex]=\"tabindex()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"onHide.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n>\n @if (startTemplate()) {\n <ng-template pTemplate=\"start\">\n <ng-container *ngTemplateOutlet=\"startTemplate()!\" />\n </ng-template>\n }\n\n @if (endTemplate()) {\n <ng-template pTemplate=\"end\">\n <ng-container *ngTemplateOutlet=\"endTemplate()!\" />\n </ng-template>\n }\n\n @if (headerTemplate()) {\n <ng-template pTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()!\" />\n </ng-template>\n }\n\n @if (submenuHeaderTemplate()) {\n <ng-template pTemplate=\"submenuheader\" let-item>\n <ng-container\n *ngTemplateOutlet=\"\n submenuHeaderTemplate()!;\n context: { $implicit: item }\n \"\n />\n </ng-template>\n }\n\n <ng-template pTemplate=\"item\" let-item>\n <div\n class=\"flex gap-2 align-middle p-2 cursor-pointer rounded transition-colors\"\n [class]=\"item.computedClass\"\n >\n @if (getItemIcon(item)) {\n <mt-icon\n [icon]=\"getItemIcon(item)!\"\n class=\"p-menu-item-icon\"\n [style.color]=\"'inherit'\"\n />\n }\n @if (item.label) {\n <span class=\"p-menu-item-label\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"p-menu-item-badge\">{{ item.badge }}</span>\n }\n </div>\n </ng-template>\n</p-menu>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: Menu$1, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: Icon, selector: "mt-icon", inputs: ["icon"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
110
104
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Menu, decorators: [{
|
|
112
106
|
type: Component,
|
|
113
107
|
args: [{ selector: 'mt-menu', standalone: true, imports: [Menu$1, Icon, SharedModule, NgTemplateOutlet], template: "<p-menu\n #menu\n [model]=\"transformedModel()\"\n [popup]=\"popup()\"\n [appendTo]=\"appendTo()\"\n [style]=\"style()\"\n [styleClass]=\"styleClass()\"\n [autoZIndex]=\"autoZIndex()\"\n [baseZIndex]=\"baseZIndex()\"\n [showTransitionOptions]=\"showTransitionOptions()\"\n [hideTransitionOptions]=\"hideTransitionOptions()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [id]=\"id()\"\n [tabindex]=\"tabindex()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"onHide.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n>\n @if (startTemplate()) {\n <ng-template pTemplate=\"start\">\n <ng-container *ngTemplateOutlet=\"startTemplate()!\" />\n </ng-template>\n }\n\n @if (endTemplate()) {\n <ng-template pTemplate=\"end\">\n <ng-container *ngTemplateOutlet=\"endTemplate()!\" />\n </ng-template>\n }\n\n @if (headerTemplate()) {\n <ng-template pTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()!\" />\n </ng-template>\n }\n\n @if (submenuHeaderTemplate()) {\n <ng-template pTemplate=\"submenuheader\" let-item>\n <ng-container\n *ngTemplateOutlet=\"\n submenuHeaderTemplate()!;\n context: { $implicit: item }\n \"\n />\n </ng-template>\n }\n\n <ng-template pTemplate=\"item\" let-item>\n <div\n class=\"flex gap-2 align-middle p-2 cursor-pointer rounded transition-colors\"\n [class]=\"item.computedClass\"\n >\n @if (getItemIcon(item)) {\n <mt-icon\n [icon]=\"getItemIcon(item)!\"\n class=\"p-menu-item-icon\"\n [style.color]=\"'inherit'\"\n />\n }\n @if (item.label) {\n <span class=\"p-menu-item-label\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"p-menu-item-badge\">{{ item.badge }}</span>\n }\n </div>\n </ng-template>\n</p-menu>\n", styles: [":host{display:contents}\n"] }]
|
|
114
|
-
}] }
|
|
108
|
+
}], propDecorators: { menuRef: [{ type: i0.ViewChild, args: ['menu', { ...{ read: Menu$1 }, isSignal: true }] }], startTemplate: [{ type: i0.ContentChild, args: ['start', { ...{ read: TemplateRef }, isSignal: true }] }], endTemplate: [{ type: i0.ContentChild, args: ['end', { ...{ read: TemplateRef }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ read: TemplateRef }, isSignal: true }] }], submenuHeaderTemplate: [{ type: i0.ContentChild, args: ['submenuheader', { ...{
|
|
109
|
+
read: TemplateRef,
|
|
110
|
+
}, isSignal: true }] }], model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], popup: [{ type: i0.Input, args: [{ isSignal: true, alias: "popup", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], autoZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoZIndex", required: false }] }], baseZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseZIndex", required: false }] }], showTransitionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTransitionOptions", required: false }] }], hideTransitionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideTransitionOptions", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], activeItemId: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItemId", required: false }] }, { type: i0.Output, args: ["activeItemIdChange"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onItemSelect: [{ type: i0.Output, args: ["onItemSelect"] }] } });
|
|
115
111
|
|
|
116
112
|
/**
|
|
117
113
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-menu.mjs","sources":["../../../../packages/masterteam/components/menu/menu.ts","../../../../packages/masterteam/components/menu/menu.html","../../../../packages/masterteam/components/menu/masterteam-components-menu.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n booleanAttribute,\n computed,\n viewChild,\n contentChild,\n TemplateRef,\n model,\n} from '@angular/core';\nimport { Menu as PrimeMenu } from 'primeng/menu';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { Icon, MTIcon } from '@masterteam/icons';\nimport { ButtonSeverity } from 'primeng/button';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport interface MTMenuItem extends Omit<MenuItem, 'icon'> {\n icon?: MTIcon;\n severity?: ButtonSeverity | 'danger';\n styleClass?: string;\n id?: string | number;\n}\n\n@Component({\n selector: 'mt-menu',\n standalone: true,\n imports: [PrimeMenu, Icon, SharedModule, NgTemplateOutlet],\n templateUrl: './menu.html',\n styleUrls: ['./menu.scss'],\n})\nexport class Menu {\n menuRef = viewChild.required('menu', { read: PrimeMenu });\n\n readonly startTemplate = contentChild('start', { read: TemplateRef });\n readonly endTemplate = contentChild('end', { read: TemplateRef });\n readonly headerTemplate = contentChild('header', { read: TemplateRef });\n readonly submenuHeaderTemplate = contentChild('submenuheader', {\n read: TemplateRef,\n });\n\n readonly model = input<MTMenuItem[]>([]);\n readonly popup = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly appendTo = input<any>('body');\n readonly style = input<Record<string, any> | null>();\n readonly styleClass = input<string>();\n readonly autoZIndex = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly baseZIndex = input<number>(0);\n readonly showTransitionOptions = input<string>(\n '0.12s cubic-bezier(0, 0, 0.2, 1)',\n );\n readonly hideTransitionOptions = input<string>('0.1s linear');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly id = input<string>();\n readonly tabindex = input<number>(0);\n\n readonly activeItemId = model<string | number | undefined>();\n\n readonly onShow = output<any>();\n readonly onHide = output<any>();\n readonly onBlur = output<Event>();\n readonly onFocus = output<Event>();\n readonly onItemSelect = output<MTMenuItem>();\n\n transformedModel = computed(() => {\n return this.model().map((item) =>\n this.transformMenuItem(item, this.activeItemId()),\n );\n });\n\n toggle(event: Event): void {\n this.menuRef().toggle(event);\n }\n\n show(event: Event): void {\n this.menuRef().show(event);\n }\n\n hide(): void {\n this.menuRef().hide();\n }\n\n protected getItemIcon(item: any): MTIcon | undefined {\n return item?.mtIcon;\n }\n\n private transformMenuItem(item: MTMenuItem, activeId?: string | number): any {\n const transformed: any = { ...item };\n\n if (item.icon) {\n transformed.mtIcon = item.icon;\n delete transformed.icon;\n }\n\n const classes: string[] = [];\n const isActive = activeId && item.id && item.id === activeId;\n\n if (isActive) {\n classes.push(\n 'bg-primary-50',\n 'text-primary-700',\n 'dark:bg-primary-900/20',\n 'dark:text-primary-300',\n );\n } else if (item.severity) {\n const severityClass = this.getSeverityClass(item.severity);\n if (severityClass) {\n classes.push(severityClass);\n }\n }\n\n if (item.styleClass) {\n classes.push(item.styleClass);\n }\n\n transformed.computedClass = classes.join(' ');\n\n if (item['items']) {\n transformed['items'] = item['items'].map((subItem: any) =>\n this.transformMenuItem(subItem as MTMenuItem, activeId),\n );\n }\n\n const originalCommand = transformed.command;\n transformed.command = (event: any) => {\n if (item.id) {\n this.handleItemSelect(item);\n }\n\n if (originalCommand) {\n originalCommand(event);\n }\n };\n\n return transformed;\n }\n\n private getSeverityClass(severity: string): string {\n const severityMap: Record<string, string> = {\n danger: 'text-red-600 hover:bg-red-50 hover:text-red-700',\n warn: 'text-yellow-600 hover:bg-yellow-50 hover:text-yellow-700',\n success: 'text-green-600 hover:bg-green-50 hover:text-green-700',\n info: 'text-blue-600 hover:bg-blue-50 hover:text-blue-700',\n help: 'text-purple-600 hover:bg-purple-50 hover:text-purple-700',\n secondary: 'text-gray-600 hover:bg-gray-50 hover:text-gray-700',\n contrast: 'text-gray-900 hover:bg-gray-100',\n };\n\n return severityMap[severity] || '';\n }\n\n private handleItemSelect(item: MTMenuItem): void {\n if (item.id) {\n this.activeItemId.set(item.id);\n }\n this.onItemSelect.emit(item);\n }\n}\n","<p-menu\n #menu\n [model]=\"transformedModel()\"\n [popup]=\"popup()\"\n [appendTo]=\"appendTo()\"\n [style]=\"style()\"\n [styleClass]=\"styleClass()\"\n [autoZIndex]=\"autoZIndex()\"\n [baseZIndex]=\"baseZIndex()\"\n [showTransitionOptions]=\"showTransitionOptions()\"\n [hideTransitionOptions]=\"hideTransitionOptions()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [id]=\"id()\"\n [tabindex]=\"tabindex()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"onHide.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n>\n @if (startTemplate()) {\n <ng-template pTemplate=\"start\">\n <ng-container *ngTemplateOutlet=\"startTemplate()!\" />\n </ng-template>\n }\n\n @if (endTemplate()) {\n <ng-template pTemplate=\"end\">\n <ng-container *ngTemplateOutlet=\"endTemplate()!\" />\n </ng-template>\n }\n\n @if (headerTemplate()) {\n <ng-template pTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()!\" />\n </ng-template>\n }\n\n @if (submenuHeaderTemplate()) {\n <ng-template pTemplate=\"submenuheader\" let-item>\n <ng-container\n *ngTemplateOutlet=\"\n submenuHeaderTemplate()!;\n context: { $implicit: item }\n \"\n />\n </ng-template>\n }\n\n <ng-template pTemplate=\"item\" let-item>\n <div\n class=\"flex gap-2 align-middle p-2 cursor-pointer rounded transition-colors\"\n [class]=\"item.computedClass\"\n >\n @if (getItemIcon(item)) {\n <mt-icon\n [icon]=\"getItemIcon(item)!\"\n class=\"p-menu-item-icon\"\n [style.color]=\"'inherit'\"\n />\n }\n @if (item.label) {\n <span class=\"p-menu-item-label\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"p-menu-item-badge\">{{ item.badge }}</span>\n }\n </div>\n </ng-template>\n</p-menu>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PrimeMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"masterteam-components-menu.mjs","sources":["../../../../packages/masterteam/components/menu/menu.ts","../../../../packages/masterteam/components/menu/menu.html","../../../../packages/masterteam/components/menu/masterteam-components-menu.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n booleanAttribute,\n computed,\n viewChild,\n contentChild,\n TemplateRef,\n model,\n} from '@angular/core';\nimport { Menu as PrimeMenu } from 'primeng/menu';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { Icon, MTIcon } from '@masterteam/icons';\nimport { ButtonSeverity } from 'primeng/button';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport interface MTMenuItem extends Omit<MenuItem, 'icon'> {\n icon?: MTIcon;\n severity?: ButtonSeverity | 'danger';\n styleClass?: string;\n id?: string | number;\n}\n\n@Component({\n selector: 'mt-menu',\n standalone: true,\n imports: [PrimeMenu, Icon, SharedModule, NgTemplateOutlet],\n templateUrl: './menu.html',\n styleUrls: ['./menu.scss'],\n})\nexport class Menu {\n menuRef = viewChild.required('menu', { read: PrimeMenu });\n\n readonly startTemplate = contentChild('start', { read: TemplateRef });\n readonly endTemplate = contentChild('end', { read: TemplateRef });\n readonly headerTemplate = contentChild('header', { read: TemplateRef });\n readonly submenuHeaderTemplate = contentChild('submenuheader', {\n read: TemplateRef,\n });\n\n readonly model = input<MTMenuItem[]>([]);\n readonly popup = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly appendTo = input<any>('body');\n readonly style = input<Record<string, any> | null>();\n readonly styleClass = input<string>();\n readonly autoZIndex = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly baseZIndex = input<number>(0);\n readonly showTransitionOptions = input<string>(\n '0.12s cubic-bezier(0, 0, 0.2, 1)',\n );\n readonly hideTransitionOptions = input<string>('0.1s linear');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly id = input<string>();\n readonly tabindex = input<number>(0);\n\n readonly activeItemId = model<string | number | undefined>();\n\n readonly onShow = output<any>();\n readonly onHide = output<any>();\n readonly onBlur = output<Event>();\n readonly onFocus = output<Event>();\n readonly onItemSelect = output<MTMenuItem>();\n\n transformedModel = computed(() => {\n return this.model().map((item) =>\n this.transformMenuItem(item, this.activeItemId()),\n );\n });\n\n toggle(event: Event): void {\n this.menuRef().toggle(event);\n }\n\n show(event: Event): void {\n this.menuRef().show(event);\n }\n\n hide(): void {\n this.menuRef().hide();\n }\n\n protected getItemIcon(item: any): MTIcon | undefined {\n return item?.mtIcon;\n }\n\n private transformMenuItem(item: MTMenuItem, activeId?: string | number): any {\n const transformed: any = { ...item };\n\n if (item.icon) {\n transformed.mtIcon = item.icon;\n delete transformed.icon;\n }\n\n const classes: string[] = [];\n const isActive = activeId && item.id && item.id === activeId;\n\n if (isActive) {\n classes.push(\n 'bg-primary-50',\n 'text-primary-700',\n 'dark:bg-primary-900/20',\n 'dark:text-primary-300',\n );\n } else if (item.severity) {\n const severityClass = this.getSeverityClass(item.severity);\n if (severityClass) {\n classes.push(severityClass);\n }\n }\n\n if (item.styleClass) {\n classes.push(item.styleClass);\n }\n\n transformed.computedClass = classes.join(' ');\n\n if (item['items']) {\n transformed['items'] = item['items'].map((subItem: any) =>\n this.transformMenuItem(subItem as MTMenuItem, activeId),\n );\n }\n\n const originalCommand = transformed.command;\n transformed.command = (event: any) => {\n if (item.id) {\n this.handleItemSelect(item);\n }\n\n if (originalCommand) {\n originalCommand(event);\n }\n };\n\n return transformed;\n }\n\n private getSeverityClass(severity: string): string {\n const severityMap: Record<string, string> = {\n danger: 'text-red-600 hover:bg-red-50 hover:text-red-700',\n warn: 'text-yellow-600 hover:bg-yellow-50 hover:text-yellow-700',\n success: 'text-green-600 hover:bg-green-50 hover:text-green-700',\n info: 'text-blue-600 hover:bg-blue-50 hover:text-blue-700',\n help: 'text-purple-600 hover:bg-purple-50 hover:text-purple-700',\n secondary: 'text-gray-600 hover:bg-gray-50 hover:text-gray-700',\n contrast: 'text-gray-900 hover:bg-gray-100',\n };\n\n return severityMap[severity] || '';\n }\n\n private handleItemSelect(item: MTMenuItem): void {\n if (item.id) {\n this.activeItemId.set(item.id);\n }\n this.onItemSelect.emit(item);\n }\n}\n","<p-menu\n #menu\n [model]=\"transformedModel()\"\n [popup]=\"popup()\"\n [appendTo]=\"appendTo()\"\n [style]=\"style()\"\n [styleClass]=\"styleClass()\"\n [autoZIndex]=\"autoZIndex()\"\n [baseZIndex]=\"baseZIndex()\"\n [showTransitionOptions]=\"showTransitionOptions()\"\n [hideTransitionOptions]=\"hideTransitionOptions()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [id]=\"id()\"\n [tabindex]=\"tabindex()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"onHide.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n>\n @if (startTemplate()) {\n <ng-template pTemplate=\"start\">\n <ng-container *ngTemplateOutlet=\"startTemplate()!\" />\n </ng-template>\n }\n\n @if (endTemplate()) {\n <ng-template pTemplate=\"end\">\n <ng-container *ngTemplateOutlet=\"endTemplate()!\" />\n </ng-template>\n }\n\n @if (headerTemplate()) {\n <ng-template pTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()!\" />\n </ng-template>\n }\n\n @if (submenuHeaderTemplate()) {\n <ng-template pTemplate=\"submenuheader\" let-item>\n <ng-container\n *ngTemplateOutlet=\"\n submenuHeaderTemplate()!;\n context: { $implicit: item }\n \"\n />\n </ng-template>\n }\n\n <ng-template pTemplate=\"item\" let-item>\n <div\n class=\"flex gap-2 align-middle p-2 cursor-pointer rounded transition-colors\"\n [class]=\"item.computedClass\"\n >\n @if (getItemIcon(item)) {\n <mt-icon\n [icon]=\"getItemIcon(item)!\"\n class=\"p-menu-item-icon\"\n [style.color]=\"'inherit'\"\n />\n }\n @if (item.label) {\n <span class=\"p-menu-item-label\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"p-menu-item-badge\">{{ item.badge }}</span>\n }\n </div>\n </ng-template>\n</p-menu>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PrimeMenu"],"mappings":"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"}
|
|
@@ -34,10 +34,10 @@ class ModalService {
|
|
|
34
34
|
return position || 'right';
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ModalService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{ providedIn: 'root' }]
|
|
43
43
|
}] });
|
|
@@ -8,25 +8,21 @@ import * as i1 from '@angular/forms';
|
|
|
8
8
|
import { FormsModule } from '@angular/forms';
|
|
9
9
|
|
|
10
10
|
class ModuleSummaryCard {
|
|
11
|
-
icon = input(...(ngDevMode ?
|
|
12
|
-
title = input(...(ngDevMode ?
|
|
13
|
-
description = input(...(ngDevMode ?
|
|
14
|
-
active = model(false, ...(ngDevMode ?
|
|
15
|
-
buttonLabel = input('Action', ...(ngDevMode ?
|
|
16
|
-
showToggle = input(true, ...(ngDevMode ?
|
|
17
|
-
|
|
18
|
-
}]));
|
|
19
|
-
showButton = input(true, ...(ngDevMode ? [{ debugName: "showButton", transform: booleanAttribute }] : [{
|
|
20
|
-
transform: booleanAttribute,
|
|
21
|
-
}]));
|
|
11
|
+
icon = input(undefined, { ...(ngDevMode ? { debugName: "icon" } : {}) });
|
|
12
|
+
title = input(undefined, { ...(ngDevMode ? { debugName: "title" } : {}) });
|
|
13
|
+
description = input(undefined, { ...(ngDevMode ? { debugName: "description" } : {}) });
|
|
14
|
+
active = model(false, { ...(ngDevMode ? { debugName: "active" } : {}) });
|
|
15
|
+
buttonLabel = input('Action', { ...(ngDevMode ? { debugName: "buttonLabel" } : {}) });
|
|
16
|
+
showToggle = input(true, { ...(ngDevMode ? { debugName: "showToggle" } : {}), transform: booleanAttribute });
|
|
17
|
+
showButton = input(true, { ...(ngDevMode ? { debugName: "showButton" } : {}), transform: booleanAttribute });
|
|
22
18
|
onButtonClick = output();
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ModuleSummaryCard, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ModuleSummaryCard, isStandalone: true, selector: "mt-module-summary-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: true, isRequired: false, transformFunction: null }, showToggle: { classPropertyName: "showToggle", publicName: "showToggle", isSignal: true, isRequired: false, transformFunction: null }, showButton: { classPropertyName: "showButton", publicName: "showButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", onButtonClick: "onButtonClick" }, ngImport: i0, template: "<mt-card headless class=\"h-full\">\n <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\n @if (showToggle()) {\n <div class=\"flex justify-end w-full\">\n <mt-toggle-field [(ngModel)]=\"active\" />\n </div>\n }\n @if (icon()) {\n <mt-avatar\n style=\"\n --p-avatar-background: var(--p-primary-50);\n --p-avatar-color: var(--p-primary-color);\n \"\n [icon]=\"icon()\"\n size=\"large\"\n shape=\"square\"\n ></mt-avatar>\n }\n <div class=\"flex flex-col gap-1\">\n @if (title()) {\n <div class=\"title text-lg font-semibold\">\n {{ title() }}\n </div>\n }\n @if (description()) {\n <div\n class=\"description text-sm text-muted-foreground secondary text-surface-500\"\n >\n {{ description() }}\n </div>\n }\n </div>\n\n <div class=\"grow flex flex-col justify-end\">\n @if (showButton()) {\n <mt-button\n label=\"{{ buttonLabel() }}\"\n (onClick)=\"onButtonClick.emit($event)\"\n />\n }\n </div>\n </div>\n</mt-card>\n", styles: [""], dependencies: [{ kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
25
21
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ModuleSummaryCard, decorators: [{
|
|
27
23
|
type: Component,
|
|
28
24
|
args: [{ selector: 'mt-module-summary-card', standalone: true, imports: [Card, Button, Avatar, ToggleField, FormsModule], template: "<mt-card headless class=\"h-full\">\n <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\n @if (showToggle()) {\n <div class=\"flex justify-end w-full\">\n <mt-toggle-field [(ngModel)]=\"active\" />\n </div>\n }\n @if (icon()) {\n <mt-avatar\n style=\"\n --p-avatar-background: var(--p-primary-50);\n --p-avatar-color: var(--p-primary-color);\n \"\n [icon]=\"icon()\"\n size=\"large\"\n shape=\"square\"\n ></mt-avatar>\n }\n <div class=\"flex flex-col gap-1\">\n @if (title()) {\n <div class=\"title text-lg font-semibold\">\n {{ title() }}\n </div>\n }\n @if (description()) {\n <div\n class=\"description text-sm text-muted-foreground secondary text-surface-500\"\n >\n {{ description() }}\n </div>\n }\n </div>\n\n <div class=\"grow flex flex-col justify-end\">\n @if (showButton()) {\n <mt-button\n label=\"{{ buttonLabel() }}\"\n (onClick)=\"onButtonClick.emit($event)\"\n />\n }\n </div>\n </div>\n</mt-card>\n" }]
|
|
29
|
-
}] });
|
|
25
|
+
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], buttonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonLabel", required: false }] }], showToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToggle", required: false }] }], showButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButton", required: false }] }], onButtonClick: [{ type: i0.Output, args: ["onButtonClick"] }] } });
|
|
30
26
|
|
|
31
27
|
/**
|
|
32
28
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-module-summary-card.mjs","sources":["../../../../packages/masterteam/components/module-summary-card/module-summary-card.ts","../../../../packages/masterteam/components/module-summary-card/module-summary-card.html","../../../../packages/masterteam/components/module-summary-card/masterteam-components-module-summary-card.ts"],"sourcesContent":["import {\n Component,\n input,\n model,\n output,\n booleanAttribute,\n} from '@angular/core';\nimport { Card } from '@masterteam/components/card';\nimport { ToggleField } from '@masterteam/components/toggle-field';\nimport { Button } from '@masterteam/components/button';\nimport { Avatar } from '@masterteam/components/avatar';\nimport { FormsModule } from '@angular/forms';\nimport { MTIcon } from '@masterteam/icons';\n\n@Component({\n selector: 'mt-module-summary-card',\n standalone: true,\n templateUrl: './module-summary-card.html',\n styleUrl: './module-summary-card.scss',\n imports: [Card, Button, Avatar, ToggleField, FormsModule],\n})\nexport class ModuleSummaryCard {\n readonly icon = input<MTIcon>();\n readonly title = input<string>();\n readonly description = input<string>();\n readonly active = model<boolean>(false);\n readonly buttonLabel = input<string>('Action');\n readonly showToggle = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly showButton = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly onButtonClick = output<MouseEvent>();\n}\n","<mt-card headless class=\"h-full\">\n <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\n @if (showToggle()) {\n <div class=\"flex justify-end w-full\">\n <mt-toggle-field [(ngModel)]=\"active\" />\n </div>\n }\n @if (icon()) {\n <mt-avatar\n style=\"\n --p-avatar-background: var(--p-primary-50);\n --p-avatar-color: var(--p-primary-color);\n \"\n [icon]=\"icon()\"\n size=\"large\"\n shape=\"square\"\n ></mt-avatar>\n }\n <div class=\"flex flex-col gap-1\">\n @if (title()) {\n <div class=\"title text-lg font-semibold\">\n {{ title() }}\n </div>\n }\n @if (description()) {\n <div\n class=\"description text-sm text-muted-foreground secondary text-surface-500\"\n >\n {{ description() }}\n </div>\n }\n </div>\n\n <div class=\"grow flex flex-col justify-end\">\n @if (showButton()) {\n <mt-button\n label=\"{{ buttonLabel() }}\"\n (onClick)=\"onButtonClick.emit($event)\"\n />\n }\n </div>\n </div>\n</mt-card>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAqBa,iBAAiB,CAAA;IACnB,IAAI,GAAG,KAAK,CAAA,
|
|
1
|
+
{"version":3,"file":"masterteam-components-module-summary-card.mjs","sources":["../../../../packages/masterteam/components/module-summary-card/module-summary-card.ts","../../../../packages/masterteam/components/module-summary-card/module-summary-card.html","../../../../packages/masterteam/components/module-summary-card/masterteam-components-module-summary-card.ts"],"sourcesContent":["import {\n Component,\n input,\n model,\n output,\n booleanAttribute,\n} from '@angular/core';\nimport { Card } from '@masterteam/components/card';\nimport { ToggleField } from '@masterteam/components/toggle-field';\nimport { Button } from '@masterteam/components/button';\nimport { Avatar } from '@masterteam/components/avatar';\nimport { FormsModule } from '@angular/forms';\nimport { MTIcon } from '@masterteam/icons';\n\n@Component({\n selector: 'mt-module-summary-card',\n standalone: true,\n templateUrl: './module-summary-card.html',\n styleUrl: './module-summary-card.scss',\n imports: [Card, Button, Avatar, ToggleField, FormsModule],\n})\nexport class ModuleSummaryCard {\n readonly icon = input<MTIcon>();\n readonly title = input<string>();\n readonly description = input<string>();\n readonly active = model<boolean>(false);\n readonly buttonLabel = input<string>('Action');\n readonly showToggle = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly showButton = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n readonly onButtonClick = output<MouseEvent>();\n}\n","<mt-card headless class=\"h-full\">\n <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\n @if (showToggle()) {\n <div class=\"flex justify-end w-full\">\n <mt-toggle-field [(ngModel)]=\"active\" />\n </div>\n }\n @if (icon()) {\n <mt-avatar\n style=\"\n --p-avatar-background: var(--p-primary-50);\n --p-avatar-color: var(--p-primary-color);\n \"\n [icon]=\"icon()\"\n size=\"large\"\n shape=\"square\"\n ></mt-avatar>\n }\n <div class=\"flex flex-col gap-1\">\n @if (title()) {\n <div class=\"title text-lg font-semibold\">\n {{ title() }}\n </div>\n }\n @if (description()) {\n <div\n class=\"description text-sm text-muted-foreground secondary text-surface-500\"\n >\n {{ description() }}\n </div>\n }\n </div>\n\n <div class=\"grow flex flex-col justify-end\">\n @if (showButton()) {\n <mt-button\n label=\"{{ buttonLabel() }}\"\n (onClick)=\"onButtonClick.emit($event)\"\n />\n }\n </div>\n </div>\n</mt-card>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,26 +9,26 @@ import { isInvalid } from '@masterteam/components';
|
|
|
9
9
|
|
|
10
10
|
class MultiSelectField {
|
|
11
11
|
multiSelect;
|
|
12
|
-
field = input(true, ...(ngDevMode ?
|
|
13
|
-
label = input(...(ngDevMode ?
|
|
14
|
-
placeholder = input(...(ngDevMode ?
|
|
15
|
-
class = input('', ...(ngDevMode ?
|
|
16
|
-
readonly = input(false, ...(ngDevMode ?
|
|
17
|
-
pInputs = input(...(ngDevMode ?
|
|
18
|
-
options = input(...(ngDevMode ?
|
|
19
|
-
optionValue = input(...(ngDevMode ?
|
|
20
|
-
optionLabel = input(...(ngDevMode ?
|
|
21
|
-
filter = input(false, ...(ngDevMode ?
|
|
22
|
-
filterBy = input(...(ngDevMode ?
|
|
23
|
-
dataKey = input(...(ngDevMode ?
|
|
24
|
-
showClear = input(false, ...(ngDevMode ?
|
|
25
|
-
display = input('chip', ...(ngDevMode ?
|
|
26
|
-
required = input(false, ...(ngDevMode ?
|
|
12
|
+
field = input(true, { ...(ngDevMode ? { debugName: "field" } : {}) });
|
|
13
|
+
label = input(undefined, { ...(ngDevMode ? { debugName: "label" } : {}) });
|
|
14
|
+
placeholder = input(undefined, { ...(ngDevMode ? { debugName: "placeholder" } : {}) });
|
|
15
|
+
class = input('', { ...(ngDevMode ? { debugName: "class" } : {}) });
|
|
16
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}) });
|
|
17
|
+
pInputs = input(undefined, { ...(ngDevMode ? { debugName: "pInputs" } : {}) });
|
|
18
|
+
options = input(undefined, { ...(ngDevMode ? { debugName: "options" } : {}) });
|
|
19
|
+
optionValue = input(undefined, { ...(ngDevMode ? { debugName: "optionValue" } : {}) });
|
|
20
|
+
optionLabel = input(undefined, { ...(ngDevMode ? { debugName: "optionLabel" } : {}) });
|
|
21
|
+
filter = input(false, { ...(ngDevMode ? { debugName: "filter" } : {}) });
|
|
22
|
+
filterBy = input(undefined, { ...(ngDevMode ? { debugName: "filterBy" } : {}) });
|
|
23
|
+
dataKey = input(undefined, { ...(ngDevMode ? { debugName: "dataKey" } : {}) });
|
|
24
|
+
showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : {}) });
|
|
25
|
+
display = input('chip', { ...(ngDevMode ? { debugName: "display" } : {}) });
|
|
26
|
+
required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}) });
|
|
27
27
|
onChange = new EventEmitter();
|
|
28
28
|
styleClass;
|
|
29
29
|
requiredValidator = Validators.required;
|
|
30
|
-
value = signal(null, ...(ngDevMode ?
|
|
31
|
-
disabled = signal(false, ...(ngDevMode ?
|
|
30
|
+
value = signal(null, { ...(ngDevMode ? { debugName: "value" } : {}) });
|
|
31
|
+
disabled = signal(false, { ...(ngDevMode ? { debugName: "disabled" } : {}) });
|
|
32
32
|
onTouched = () => { };
|
|
33
33
|
onModelChange = () => { };
|
|
34
34
|
ngControl = inject(NgControl, { self: true });
|
|
@@ -76,10 +76,10 @@ class MultiSelectField {
|
|
|
76
76
|
setDisabledState(disabled) {
|
|
77
77
|
this.disabled.set(disabled);
|
|
78
78
|
}
|
|
79
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
80
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: MultiSelectField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: MultiSelectField, isStandalone: true, selector: "mt-multi-select-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, pInputs: { classPropertyName: "pInputs", publicName: "pInputs", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, host: { properties: { "class": "this.styleClass" }, classAttribute: "grid gap-1" }, viewQueries: [{ propertyName: "multiSelect", first: true, predicate: ["multiSelect"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "@if (label()) {\n <label\n (click)=\"multiSelect?.show()\"\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-multiSelect\n #multiSelect\n [ngModel]=\"value()\"\n (ngModelChange)=\"onValueChange($event)\"\n [options]=\"options()\"\n [display]=\"display()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [inputId]=\"ngControl?.name?.toString() || label()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n placeholder=\"{{ placeholder() ?? label() ?? '' }}\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [dataKey]=\"dataKey()\"\n styleClass=\"w-full\"\n appendTo=\"body\"\n [showClear]=\"showClear()\"\n></p-multiSelect>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: MultiSelectField, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
84
|
args: [{ selector: 'mt-multi-select-field', standalone: true, imports: [FormsModule, MultiSelectModule, FieldValidation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
85
85
|
class: 'grid gap-1',
|
|
@@ -87,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
87
87
|
}], ctorParameters: () => [], propDecorators: { multiSelect: [{
|
|
88
88
|
type: ViewChild,
|
|
89
89
|
args: ['multiSelect', { static: true }]
|
|
90
|
-
}], onChange: [{
|
|
90
|
+
}], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], pInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputs", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], display: [{ type: i0.Input, args: [{ isSignal: true, alias: "display", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], onChange: [{
|
|
91
91
|
type: Output
|
|
92
92
|
}], styleClass: [{
|
|
93
93
|
type: HostBinding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-multi-select-field.mjs","sources":["../../../../packages/masterteam/components/multi-select-field/multi-select-field.ts","../../../../packages/masterteam/components/multi-select-field/multi-select-field.html","../../../../packages/masterteam/components/multi-select-field/masterteam-components-multi-select-field.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n HostBinding,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n signal,\n input,\n inject,\n ChangeDetectionStrategy,\n effect,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NgControl,\n Validators,\n} from '@angular/forms';\nimport { MultiSelect } from 'primeng/multiselect';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { FieldValidation } from '@masterteam/components/field-validation';\nimport { isInvalid } from '@masterteam/components';\n\n@Component({\n selector: 'mt-multi-select-field',\n templateUrl: './multi-select-field.html',\n styleUrls: ['./multi-select-field.scss'],\n standalone: true,\n imports: [FormsModule, MultiSelectModule, FieldValidation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'grid gap-1',\n },\n})\nexport class MultiSelectField\n implements ControlValueAccessor, OnInit, OnChanges\n{\n @ViewChild('multiSelect', { static: true })\n multiSelect: MultiSelect;\n\n readonly field = input<boolean>(true);\n readonly label = input<string>();\n readonly placeholder = input<string>();\n readonly class = input<string>('');\n readonly readonly = input<boolean>(false);\n readonly pInputs = input<Partial<MultiSelect>>();\n readonly options = input<any[]>();\n readonly optionValue = input<string>();\n readonly optionLabel = input<string>();\n readonly filter = input<boolean>(false);\n readonly filterBy = input<string>();\n readonly dataKey = input<string>();\n readonly showClear = input<boolean>(false);\n readonly display = input<string>('chip');\n readonly required = input<boolean>(false);\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostBinding('class') styleClass: string;\n\n requiredValidator = Validators.required;\n value = signal<any>(null);\n disabled = signal<boolean>(false);\n\n onTouched: () => void = () => {};\n onModelChange: (value: any) => void = () => {};\n\n public ngControl = inject(NgControl, { self: true });\n\n isInvalid = isInvalid;\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n effect(() => {\n if (this.ngControl.control && this.required()) {\n this.ngControl.control.addValidators(Validators.required);\n this.ngControl.control.updateValueAndValidity();\n }\n });\n }\n\n applyInputsToMultiSelect() {\n Object.assign(this.multiSelect, this.pInputs());\n }\n\n ngOnInit() {\n this.styleClass = this.class();\n if (this.pInputs()) {\n this.applyInputsToMultiSelect();\n }\n }\n onValueChange(value: any) {\n this.onModelChange(value);\n this.value.set(value);\n this.onChange.emit(value);\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes['pInputs']) {\n this.applyInputsToMultiSelect();\n }\n }\n\n writeValue(value: any) {\n this.value.set(value);\n this.multiSelect.writeValue(value);\n }\n\n registerOnChange(fn: any) {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled.set(disabled);\n }\n}\n","@if (label()) {\n <label\n (click)=\"multiSelect?.show()\"\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-multiSelect\n #multiSelect\n [ngModel]=\"value()\"\n (ngModelChange)=\"onValueChange($event)\"\n [options]=\"options()\"\n [display]=\"display()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [inputId]=\"ngControl?.name?.toString() || label()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n placeholder=\"{{ placeholder() ?? label() ?? '' }}\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [dataKey]=\"dataKey()\"\n styleClass=\"w-full\"\n appendTo=\"body\"\n [showClear]=\"showClear()\"\n></p-multiSelect>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAqCa,gBAAgB,CAAA;AAI3B,IAAA,WAAW;AAEF,IAAA,KAAK,GAAG,KAAK,CAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"masterteam-components-multi-select-field.mjs","sources":["../../../../packages/masterteam/components/multi-select-field/multi-select-field.ts","../../../../packages/masterteam/components/multi-select-field/multi-select-field.html","../../../../packages/masterteam/components/multi-select-field/masterteam-components-multi-select-field.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n HostBinding,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n signal,\n input,\n inject,\n ChangeDetectionStrategy,\n effect,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NgControl,\n Validators,\n} from '@angular/forms';\nimport { MultiSelect } from 'primeng/multiselect';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { FieldValidation } from '@masterteam/components/field-validation';\nimport { isInvalid } from '@masterteam/components';\n\n@Component({\n selector: 'mt-multi-select-field',\n templateUrl: './multi-select-field.html',\n styleUrls: ['./multi-select-field.scss'],\n standalone: true,\n imports: [FormsModule, MultiSelectModule, FieldValidation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'grid gap-1',\n },\n})\nexport class MultiSelectField\n implements ControlValueAccessor, OnInit, OnChanges\n{\n @ViewChild('multiSelect', { static: true })\n multiSelect: MultiSelect;\n\n readonly field = input<boolean>(true);\n readonly label = input<string>();\n readonly placeholder = input<string>();\n readonly class = input<string>('');\n readonly readonly = input<boolean>(false);\n readonly pInputs = input<Partial<MultiSelect>>();\n readonly options = input<any[]>();\n readonly optionValue = input<string>();\n readonly optionLabel = input<string>();\n readonly filter = input<boolean>(false);\n readonly filterBy = input<string>();\n readonly dataKey = input<string>();\n readonly showClear = input<boolean>(false);\n readonly display = input<string>('chip');\n readonly required = input<boolean>(false);\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostBinding('class') styleClass: string;\n\n requiredValidator = Validators.required;\n value = signal<any>(null);\n disabled = signal<boolean>(false);\n\n onTouched: () => void = () => {};\n onModelChange: (value: any) => void = () => {};\n\n public ngControl = inject(NgControl, { self: true });\n\n isInvalid = isInvalid;\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n effect(() => {\n if (this.ngControl.control && this.required()) {\n this.ngControl.control.addValidators(Validators.required);\n this.ngControl.control.updateValueAndValidity();\n }\n });\n }\n\n applyInputsToMultiSelect() {\n Object.assign(this.multiSelect, this.pInputs());\n }\n\n ngOnInit() {\n this.styleClass = this.class();\n if (this.pInputs()) {\n this.applyInputsToMultiSelect();\n }\n }\n onValueChange(value: any) {\n this.onModelChange(value);\n this.value.set(value);\n this.onChange.emit(value);\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes['pInputs']) {\n this.applyInputsToMultiSelect();\n }\n }\n\n writeValue(value: any) {\n this.value.set(value);\n this.multiSelect.writeValue(value);\n }\n\n registerOnChange(fn: any) {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled.set(disabled);\n }\n}\n","@if (label()) {\n <label\n (click)=\"multiSelect?.show()\"\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-multiSelect\n #multiSelect\n [ngModel]=\"value()\"\n (ngModelChange)=\"onValueChange($event)\"\n [options]=\"options()\"\n [display]=\"display()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [inputId]=\"ngControl?.name?.toString() || label()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n placeholder=\"{{ placeholder() ?? label() ?? '' }}\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [dataKey]=\"dataKey()\"\n styleClass=\"w-full\"\n appendTo=\"body\"\n [showClear]=\"showClear()\"\n></p-multiSelect>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,24 +9,24 @@ import { isInvalid } from '@masterteam/components';
|
|
|
9
9
|
|
|
10
10
|
class NumberField {
|
|
11
11
|
inputNumber;
|
|
12
|
-
field = input(true, ...(ngDevMode ?
|
|
13
|
-
label = input(...(ngDevMode ?
|
|
14
|
-
placeholder = input(...(ngDevMode ?
|
|
15
|
-
class = input('', ...(ngDevMode ?
|
|
16
|
-
readonly = input(false, ...(ngDevMode ?
|
|
17
|
-
pInputs = input(...(ngDevMode ?
|
|
18
|
-
format = input(false, ...(ngDevMode ?
|
|
19
|
-
maxFractionDigits = input(2, ...(ngDevMode ?
|
|
12
|
+
field = input(true, { ...(ngDevMode ? { debugName: "field" } : {}) });
|
|
13
|
+
label = input(undefined, { ...(ngDevMode ? { debugName: "label" } : {}) });
|
|
14
|
+
placeholder = input(undefined, { ...(ngDevMode ? { debugName: "placeholder" } : {}) });
|
|
15
|
+
class = input('', { ...(ngDevMode ? { debugName: "class" } : {}) });
|
|
16
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}) });
|
|
17
|
+
pInputs = input(undefined, { ...(ngDevMode ? { debugName: "pInputs" } : {}) });
|
|
18
|
+
format = input(false, { ...(ngDevMode ? { debugName: "format" } : {}) });
|
|
19
|
+
maxFractionDigits = input(2, { ...(ngDevMode ? { debugName: "maxFractionDigits" } : {}) });
|
|
20
20
|
// TODO: wait for primeng to allow undefined and remove these numbers
|
|
21
|
-
min = input(-999999999999999, ...(ngDevMode ?
|
|
22
|
-
max = input(999999999999999, ...(ngDevMode ?
|
|
23
|
-
required = input(false, ...(ngDevMode ?
|
|
21
|
+
min = input(-999999999999999, { ...(ngDevMode ? { debugName: "min" } : {}) });
|
|
22
|
+
max = input(999999999999999, { ...(ngDevMode ? { debugName: "max" } : {}) });
|
|
23
|
+
required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}) });
|
|
24
24
|
styleClass;
|
|
25
25
|
ngControl = inject(NgControl, { self: true });
|
|
26
26
|
isInvalid = isInvalid;
|
|
27
27
|
requiredValidator = Validators.required;
|
|
28
|
-
value = signal(null, ...(ngDevMode ?
|
|
29
|
-
disabled = signal(false, ...(ngDevMode ?
|
|
28
|
+
value = signal(null, { ...(ngDevMode ? { debugName: "value" } : {}) });
|
|
29
|
+
disabled = signal(false, { ...(ngDevMode ? { debugName: "disabled" } : {}) });
|
|
30
30
|
onTouched = () => { };
|
|
31
31
|
onModelChange = () => { };
|
|
32
32
|
constructor() {
|
|
@@ -70,10 +70,10 @@ class NumberField {
|
|
|
70
70
|
setDisabledState(disabled) {
|
|
71
71
|
this.disabled.set(disabled);
|
|
72
72
|
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
74
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: NumberField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: NumberField, isStandalone: true, selector: "mt-number-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, pInputs: { classPropertyName: "pInputs", publicName: "pInputs", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, maxFractionDigits: { classPropertyName: "maxFractionDigits", publicName: "maxFractionDigits", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.styleClass" }, classAttribute: "grid gap-1" }, viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "@if (label()) {\n <label\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-inputnumber\n #inputNumber\n [ngModel]=\"value()\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [inputId]=\"ngControl?.name ? ngControl?.name?.toString() : label()\"\n [format]=\"format()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [maxFractionDigits]=\"maxFractionDigits()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n placeholder=\"{{ placeholder() ?? label() ?? '' }}\"\n styleClass=\"w-full\"\n inputStyleClass=\"w-full\"\n></p-inputnumber>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n", styles: [":host p-inputNumber{display:block;width:100%}:host p-inputNumber input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i2.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: NumberField, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{ selector: 'mt-number-field', standalone: true, imports: [FormsModule, InputNumberModule, FieldValidation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
79
79
|
class: 'grid gap-1',
|
|
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
81
81
|
}], ctorParameters: () => [], propDecorators: { inputNumber: [{
|
|
82
82
|
type: ViewChild,
|
|
83
83
|
args: ['inputNumber', { static: true }]
|
|
84
|
-
}], styleClass: [{
|
|
84
|
+
}], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], pInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputs", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], maxFractionDigits: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFractionDigits", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], styleClass: [{
|
|
85
85
|
type: HostBinding,
|
|
86
86
|
args: ['class']
|
|
87
87
|
}] } });
|