@masterteam/components 0.0.68 → 0.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -63
- package/assets/cairo.css +70 -70
- package/assets/common.css +2 -2
- package/assets/i18n/ar.json +36 -36
- package/assets/i18n/en.json +36 -36
- package/assets/inter.css +418 -418
- package/fesm2022/masterteam-components-avatar-text.mjs +2 -2
- package/fesm2022/masterteam-components-avatar-text.mjs.map +1 -1
- package/fesm2022/masterteam-components-avatar.mjs +2 -2
- package/fesm2022/masterteam-components-avatar.mjs.map +1 -1
- package/fesm2022/masterteam-components-breadcrumb.mjs +2 -2
- package/fesm2022/masterteam-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/masterteam-components-button-group.mjs +2 -2
- package/fesm2022/masterteam-components-button-group.mjs.map +1 -1
- package/fesm2022/masterteam-components-button.mjs +2 -2
- package/fesm2022/masterteam-components-button.mjs.map +1 -1
- package/fesm2022/masterteam-components-card.mjs +2 -2
- package/fesm2022/masterteam-components-card.mjs.map +1 -1
- package/fesm2022/masterteam-components-checkbox-field.mjs +2 -2
- package/fesm2022/masterteam-components-checkbox-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-chip.mjs +2 -2
- package/fesm2022/masterteam-components-chip.mjs.map +1 -1
- package/fesm2022/masterteam-components-color-picker-field.mjs +2 -2
- package/fesm2022/masterteam-components-color-picker-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-confirmation.mjs +2 -2
- package/fesm2022/masterteam-components-confirmation.mjs.map +1 -1
- package/fesm2022/masterteam-components-date-field.mjs +2 -2
- package/fesm2022/masterteam-components-date-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-dialog.mjs.map +1 -1
- package/fesm2022/masterteam-components-drawer.mjs +2 -2
- package/fesm2022/masterteam-components-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-dynamic-drawer.mjs +152 -70
- package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-editor-field.mjs +2 -2
- package/fesm2022/masterteam-components-editor-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-field-validation.mjs +20 -20
- package/fesm2022/masterteam-components-field-validation.mjs.map +1 -1
- package/fesm2022/masterteam-components-icon-field.mjs +2 -2
- package/fesm2022/masterteam-components-icon-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-list.mjs +2 -2
- package/fesm2022/masterteam-components-list.mjs.map +1 -1
- package/fesm2022/masterteam-components-menu.mjs +2 -2
- package/fesm2022/masterteam-components-menu.mjs.map +1 -1
- package/fesm2022/masterteam-components-modal.mjs.map +1 -1
- package/fesm2022/masterteam-components-module-summary-card.mjs +2 -2
- package/fesm2022/masterteam-components-module-summary-card.mjs.map +1 -1
- package/fesm2022/masterteam-components-multi-select-field.mjs +2 -2
- package/fesm2022/masterteam-components-multi-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-number-field.mjs +2 -2
- package/fesm2022/masterteam-components-number-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-page-header.mjs +2 -2
- package/fesm2022/masterteam-components-page-header.mjs.map +1 -1
- package/fesm2022/masterteam-components-page.mjs +2 -2
- package/fesm2022/masterteam-components-page.mjs.map +1 -1
- package/fesm2022/masterteam-components-paginator.mjs +2 -2
- package/fesm2022/masterteam-components-paginator.mjs.map +1 -1
- package/fesm2022/masterteam-components-pick-list-field.mjs +2 -2
- package/fesm2022/masterteam-components-pick-list-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-button-field.mjs +2 -2
- package/fesm2022/masterteam-components-radio-button-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-cards-field.mjs +2 -2
- package/fesm2022/masterteam-components-radio-cards-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-cards.mjs +2 -2
- package/fesm2022/masterteam-components-radio-cards.mjs.map +1 -1
- package/fesm2022/masterteam-components-select-field.mjs +2 -2
- package/fesm2022/masterteam-components-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-sidebar.mjs +2 -2
- package/fesm2022/masterteam-components-sidebar.mjs.map +1 -1
- package/fesm2022/masterteam-components-slider-field.mjs +2 -2
- package/fesm2022/masterteam-components-slider-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-table.mjs +68 -10
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-tabs.mjs +2 -2
- package/fesm2022/masterteam-components-tabs.mjs.map +1 -1
- package/fesm2022/masterteam-components-text-field.mjs +2 -2
- package/fesm2022/masterteam-components-text-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-textarea-field.mjs +2 -2
- package/fesm2022/masterteam-components-textarea-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-toast.mjs +2 -2
- package/fesm2022/masterteam-components-toast.mjs.map +1 -1
- package/fesm2022/masterteam-components-toggle-field.mjs +2 -2
- package/fesm2022/masterteam-components-toggle-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-tooltip.mjs.map +1 -1
- package/fesm2022/masterteam-components-topbar.mjs +2 -2
- package/fesm2022/masterteam-components-topbar.mjs.map +1 -1
- package/fesm2022/masterteam-components-upload-field.mjs +6 -6
- package/fesm2022/masterteam-components-upload-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-user-search-field.mjs +2 -2
- package/fesm2022/masterteam-components-user-search-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +61 -61
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +1 -5
- package/types/masterteam-components-dynamic-drawer.d.ts +37 -1
- package/types/masterteam-components-table.d.ts +15 -1
- package/fesm2022/masterteam-components-formula-builder.mjs +0 -360
- package/fesm2022/masterteam-components-formula-builder.mjs.map +0 -1
- package/types/masterteam-components-formula-builder.d.ts +0 -69
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-number-field.mjs","sources":["../../../../packages/masterteam/components/number-field/number-field.ts","../../../../packages/masterteam/components/number-field/number-field.html","../../../../packages/masterteam/components/number-field/masterteam-components-number-field.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n OnChanges,\n OnInit,\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 { InputNumberModule, InputNumber } from 'primeng/inputnumber';\nimport { FieldValidation } from '@masterteam/components/field-validation';\nimport { isInvalid } from '@masterteam/components';\n\n@Component({\n selector: 'mt-number-field',\n standalone: true,\n imports: [FormsModule, InputNumberModule, FieldValidation],\n templateUrl: './number-field.html',\n styleUrls: ['./number-field.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'grid gap-1',\n },\n})\nexport class NumberField implements ControlValueAccessor, OnInit, OnChanges {\n @ViewChild('inputNumber', { static: true })\n inputNumber: InputNumber;\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<InputNumber>>();\n readonly format = input<boolean>(false);\n readonly maxFractionDigits = input<number>(2);\n // TODO: wait for primeng to allow undefined and remove these numbers\n readonly min = input<number>(-999999999999999);\n readonly max = input<number>(999999999999999);\n readonly required = input<boolean>(false);\n\n @HostBinding('class') styleClass: string;\n\n public ngControl = inject(NgControl, { self: true });\n\n isInvalid = isInvalid;\n\n requiredValidator = Validators.required;\n value = signal<number | null>(null);\n disabled = signal<boolean>(false);\n\n onTouched: () => void = () => {};\n onModelChange: (value: number | null) => void = () => {};\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 applyInputsToInputNumber() {\n Object.assign(this.inputNumber, this.pInputs());\n }\n\n ngOnInit() {\n this.styleClass = this.class();\n if (this.pInputs()) {\n this.applyInputsToInputNumber();\n }\n }\n onValueChange(value: number | null) {\n this.onModelChange(value);\n this.value.set(value);\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes['pInputs']) {\n this.applyInputsToInputNumber();\n }\n }\n\n writeValue(value: number | null) {\n this.value.set(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 [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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"masterteam-components-number-field.mjs","sources":["../../../../packages/masterteam/components/number-field/number-field.ts","../../../../packages/masterteam/components/number-field/number-field.html","../../../../packages/masterteam/components/number-field/masterteam-components-number-field.ts"],"sourcesContent":["import {\r\n Component,\r\n HostBinding,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n signal,\r\n input,\r\n inject,\r\n ChangeDetectionStrategy,\r\n effect,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NgControl,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { InputNumberModule, InputNumber } from 'primeng/inputnumber';\r\nimport { FieldValidation } from '@masterteam/components/field-validation';\r\nimport { isInvalid } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-number-field',\r\n standalone: true,\r\n imports: [FormsModule, InputNumberModule, FieldValidation],\r\n templateUrl: './number-field.html',\r\n styleUrls: ['./number-field.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'grid gap-1',\r\n },\r\n})\r\nexport class NumberField implements ControlValueAccessor, OnInit, OnChanges {\r\n @ViewChild('inputNumber', { static: true })\r\n inputNumber: InputNumber;\r\n\r\n readonly field = input<boolean>(true);\r\n readonly label = input<string>();\r\n readonly placeholder = input<string>();\r\n readonly class = input<string>('');\r\n readonly readonly = input<boolean>(false);\r\n readonly pInputs = input<Partial<InputNumber>>();\r\n readonly format = input<boolean>(false);\r\n readonly maxFractionDigits = input<number>(2);\r\n // TODO: wait for primeng to allow undefined and remove these numbers\r\n readonly min = input<number>(-999999999999999);\r\n readonly max = input<number>(999999999999999);\r\n readonly required = input<boolean>(false);\r\n\r\n @HostBinding('class') styleClass: string;\r\n\r\n public ngControl = inject(NgControl, { self: true });\r\n\r\n isInvalid = isInvalid;\r\n\r\n requiredValidator = Validators.required;\r\n value = signal<number | null>(null);\r\n disabled = signal<boolean>(false);\r\n\r\n onTouched: () => void = () => {};\r\n onModelChange: (value: number | null) => void = () => {};\r\n\r\n constructor() {\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n effect(() => {\r\n if (this.ngControl.control && this.required()) {\r\n this.ngControl.control.addValidators(Validators.required);\r\n this.ngControl.control.updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n applyInputsToInputNumber() {\r\n Object.assign(this.inputNumber, this.pInputs());\r\n }\r\n\r\n ngOnInit() {\r\n this.styleClass = this.class();\r\n if (this.pInputs()) {\r\n this.applyInputsToInputNumber();\r\n }\r\n }\r\n onValueChange(value: number | null) {\r\n this.onModelChange(value);\r\n this.value.set(value);\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['pInputs']) {\r\n this.applyInputsToInputNumber();\r\n }\r\n }\r\n\r\n writeValue(value: number | null) {\r\n this.value.set(value);\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(disabled: boolean) {\r\n this.disabled.set(disabled);\r\n }\r\n}\r\n","@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n [for]=\"ngControl?.name || label()\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n<p-inputnumber\r\n #inputNumber\r\n [ngModel]=\"value()\"\r\n (ngModelChange)=\"onValueChange($event)\"\r\n (onBlur)=\"onTouched()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [inputId]=\"ngControl?.name ? ngControl?.name?.toString() : label()\"\r\n [format]=\"format()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [maxFractionDigits]=\"maxFractionDigits()\"\r\n [invalid]=\"isInvalid(ngControl?.control)\"\r\n placeholder=\"{{ placeholder() ?? label() ?? '' }}\"\r\n styleClass=\"w-full\"\r\n inputStyleClass=\"w-full\"\r\n></p-inputnumber>\r\n\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,11 @@ class PageHeader {
|
|
|
27
27
|
}, ...(ngDevMode ? [{ debugName: "backIcon" }] : []));
|
|
28
28
|
hasTabs = computed(() => this.tabs().length > 0, ...(ngDevMode ? [{ debugName: "hasTabs" }] : []));
|
|
29
29
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PageHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PageHeader, isStandalone: true, selector: "mt-page-header", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, backButtonIcon: { classPropertyName: "backButtonIcon", publicName: "backButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarShape: { classPropertyName: "avatarShape", publicName: "avatarShape", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backButtonClick: "backButtonClick", tabChange: "tabChange" }, queries: [{ propertyName: "titleEnd", first: true, predicate: ["titleEnd"], descendants: true, isSignal: true }, { propertyName: "headerEnd", first: true, predicate: ["headerEnd"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\n>\n <div class=\"flex gap-2 items-center\">\n @if (backButton()) {\n <mt-button\n [text]=\"true\"\n [icon]=\"backIcon()\"\n size=\"large\"\n (click)=\"backButtonClick.emit()\"\n >\n </mt-button>\n }\n\n @if (avatarIcon()) {\n <mt-avatar\n [icon]=\"avatarIcon()\"\n [shape]=\"avatarShape()\"\n [style]=\"avatarStyle()\"\n >\n </mt-avatar>\n }\n\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\n\n @if (titleEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n\n <div class=\"justify-self-center\">\n @if (hasTabs()) {\n <mt-tabs\n [options]=\"tabs()\"\n [active]=\"activeTab()\"\n size=\"large\"\n (onChange)=\"tabChange.emit($event)\"\n >\n </mt-tabs>\n }\n </div>\n\n <div class=\"justify-self-end\">\n @if (headerEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { 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: Tabs, selector: "mt-tabs", inputs: ["options", "optionLabel", "optionValue", "active", "size", "fluid", "disabled"], outputs: ["activeChange", "onChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PageHeader, isStandalone: true, selector: "mt-page-header", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, backButtonIcon: { classPropertyName: "backButtonIcon", publicName: "backButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarShape: { classPropertyName: "avatarShape", publicName: "avatarShape", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backButtonClick: "backButtonClick", tabChange: "tabChange" }, queries: [{ propertyName: "titleEnd", first: true, predicate: ["titleEnd"], descendants: true, isSignal: true }, { propertyName: "headerEnd", first: true, predicate: ["headerEnd"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\r\n>\r\n <div class=\"flex gap-2 items-center\">\r\n @if (backButton()) {\r\n <mt-button\r\n [text]=\"true\"\r\n [icon]=\"backIcon()\"\r\n size=\"large\"\r\n (click)=\"backButtonClick.emit()\"\r\n >\r\n </mt-button>\r\n }\r\n\r\n @if (avatarIcon()) {\r\n <mt-avatar\r\n [icon]=\"avatarIcon()\"\r\n [shape]=\"avatarShape()\"\r\n [style]=\"avatarStyle()\"\r\n >\r\n </mt-avatar>\r\n }\r\n\r\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\r\n\r\n @if (titleEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-center\">\r\n @if (hasTabs()) {\r\n <mt-tabs\r\n [options]=\"tabs()\"\r\n [active]=\"activeTab()\"\r\n size=\"large\"\r\n (onChange)=\"tabChange.emit($event)\"\r\n >\r\n </mt-tabs>\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-end\">\r\n @if (headerEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { 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: Tabs, selector: "mt-tabs", inputs: ["options", "optionLabel", "optionValue", "active", "size", "fluid", "disabled"], outputs: ["activeChange", "onChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PageHeader, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'mt-page-header', standalone: true, imports: [Avatar, Button, Tabs, NgTemplateOutlet], template: "<div\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\n>\n <div class=\"flex gap-2 items-center\">\n @if (backButton()) {\n <mt-button\n [text]=\"true\"\n [icon]=\"backIcon()\"\n size=\"large\"\n (click)=\"backButtonClick.emit()\"\n >\n </mt-button>\n }\n\n @if (avatarIcon()) {\n <mt-avatar\n [icon]=\"avatarIcon()\"\n [shape]=\"avatarShape()\"\n [style]=\"avatarStyle()\"\n >\n </mt-avatar>\n }\n\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\n\n @if (titleEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n\n <div class=\"justify-self-center\">\n @if (hasTabs()) {\n <mt-tabs\n [options]=\"tabs()\"\n [active]=\"activeTab()\"\n size=\"large\"\n (onChange)=\"tabChange.emit($event)\"\n >\n </mt-tabs>\n }\n </div>\n\n <div class=\"justify-self-end\">\n @if (headerEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n</div>\n" }]
|
|
34
|
+
args: [{ selector: 'mt-page-header', standalone: true, imports: [Avatar, Button, Tabs, NgTemplateOutlet], template: "<div\r\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\r\n>\r\n <div class=\"flex gap-2 items-center\">\r\n @if (backButton()) {\r\n <mt-button\r\n [text]=\"true\"\r\n [icon]=\"backIcon()\"\r\n size=\"large\"\r\n (click)=\"backButtonClick.emit()\"\r\n >\r\n </mt-button>\r\n }\r\n\r\n @if (avatarIcon()) {\r\n <mt-avatar\r\n [icon]=\"avatarIcon()\"\r\n [shape]=\"avatarShape()\"\r\n [style]=\"avatarStyle()\"\r\n >\r\n </mt-avatar>\r\n }\r\n\r\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\r\n\r\n @if (titleEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-center\">\r\n @if (hasTabs()) {\r\n <mt-tabs\r\n [options]=\"tabs()\"\r\n [active]=\"activeTab()\"\r\n size=\"large\"\r\n (onChange)=\"tabChange.emit($event)\"\r\n >\r\n </mt-tabs>\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-end\">\r\n @if (headerEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n</div>\r\n" }]
|
|
35
35
|
}], propDecorators: { backButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButton", required: false }] }], backButtonIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButtonIcon", required: false }] }], avatarIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarIcon", required: false }] }], avatarStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarStyle", required: false }] }], avatarShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarShape", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: false }] }], activeTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeTab", required: false }] }], titleEnd: [{ type: i0.ContentChild, args: ['titleEnd', { isSignal: true }] }], headerEnd: [{ type: i0.ContentChild, args: ['headerEnd', { isSignal: true }] }], backButtonClick: [{ type: i0.Output, args: ["backButtonClick"] }], tabChange: [{ type: i0.Output, args: ["tabChange"] }] } });
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-page-header.mjs","sources":["../../../../packages/masterteam/components/page-header/page-header.ts","../../../../packages/masterteam/components/page-header/page-header.html","../../../../packages/masterteam/components/page-header/masterteam-components-page-header.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n input,\n output,\n computed,\n contentChild,\n TemplateRef,\n signal,\n booleanAttribute,\n} from '@angular/core';\nimport { Avatar } from '@masterteam/components/avatar';\nimport { Button } from '@masterteam/components/button';\nimport { Tabs } from '@masterteam/components/tabs';\nimport { MTIcon } from '@masterteam/icons';\n\nexport interface PageHeaderTab {\n label: string;\n value: string | number;\n}\n\n@Component({\n selector: 'mt-page-header',\n standalone: true,\n imports: [Avatar, Button, Tabs, NgTemplateOutlet],\n templateUrl: './page-header.html',\n})\nexport class PageHeader {\n backButton = input<boolean, unknown>(false, { transform: booleanAttribute });\n backButtonIcon = input<'arrow' | 'close'>('arrow');\n avatarIcon = input<MTIcon>();\n avatarStyle = input<Record<string, string>>({});\n avatarShape = input<'circle' | 'square'>('square');\n title = input.required<string>();\n tabs = input<PageHeaderTab[]>([]);\n activeTab = input<string | number>();\n\n titleEnd = contentChild<TemplateRef<any>>('titleEnd');\n headerEnd = contentChild<TemplateRef<any>>('headerEnd');\n\n backButtonClick = output<void>();\n tabChange = output<string | number>();\n\n rtl = signal<boolean>(document.documentElement.dir === 'rtl');\n\n backIcon = computed(() => {\n if (this.backButtonIcon() === 'close') {\n return 'general.x-close';\n }\n return this.rtl() ? 'arrow.arrow-narrow-right' : 'arrow.arrow-narrow-left';\n });\n\n hasTabs = computed(() => this.tabs().length > 0);\n}\n","<div\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\n>\n <div class=\"flex gap-2 items-center\">\n @if (backButton()) {\n <mt-button\n [text]=\"true\"\n [icon]=\"backIcon()\"\n size=\"large\"\n (click)=\"backButtonClick.emit()\"\n >\n </mt-button>\n }\n\n @if (avatarIcon()) {\n <mt-avatar\n [icon]=\"avatarIcon()\"\n [shape]=\"avatarShape()\"\n [style]=\"avatarStyle()\"\n >\n </mt-avatar>\n }\n\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\n\n @if (titleEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n\n <div class=\"justify-self-center\">\n @if (hasTabs()) {\n <mt-tabs\n [options]=\"tabs()\"\n [active]=\"activeTab()\"\n size=\"large\"\n (onChange)=\"tabChange.emit($event)\"\n >\n </mt-tabs>\n }\n </div>\n\n <div class=\"justify-self-end\">\n @if (headerEnd(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"masterteam-components-page-header.mjs","sources":["../../../../packages/masterteam/components/page-header/page-header.ts","../../../../packages/masterteam/components/page-header/page-header.html","../../../../packages/masterteam/components/page-header/masterteam-components-page-header.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n Component,\r\n input,\r\n output,\r\n computed,\r\n contentChild,\r\n TemplateRef,\r\n signal,\r\n booleanAttribute,\r\n} from '@angular/core';\r\nimport { Avatar } from '@masterteam/components/avatar';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { Tabs } from '@masterteam/components/tabs';\r\nimport { MTIcon } from '@masterteam/icons';\r\n\r\nexport interface PageHeaderTab {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\n@Component({\r\n selector: 'mt-page-header',\r\n standalone: true,\r\n imports: [Avatar, Button, Tabs, NgTemplateOutlet],\r\n templateUrl: './page-header.html',\r\n})\r\nexport class PageHeader {\r\n backButton = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n backButtonIcon = input<'arrow' | 'close'>('arrow');\r\n avatarIcon = input<MTIcon>();\r\n avatarStyle = input<Record<string, string>>({});\r\n avatarShape = input<'circle' | 'square'>('square');\r\n title = input.required<string>();\r\n tabs = input<PageHeaderTab[]>([]);\r\n activeTab = input<string | number>();\r\n\r\n titleEnd = contentChild<TemplateRef<any>>('titleEnd');\r\n headerEnd = contentChild<TemplateRef<any>>('headerEnd');\r\n\r\n backButtonClick = output<void>();\r\n tabChange = output<string | number>();\r\n\r\n rtl = signal<boolean>(document.documentElement.dir === 'rtl');\r\n\r\n backIcon = computed(() => {\r\n if (this.backButtonIcon() === 'close') {\r\n return 'general.x-close';\r\n }\r\n return this.rtl() ? 'arrow.arrow-narrow-right' : 'arrow.arrow-narrow-left';\r\n });\r\n\r\n hasTabs = computed(() => this.tabs().length > 0);\r\n}\r\n","<div\r\n class=\"grid grid-cols-3 bg-content items-center p-3 border-b border-surface min-h-18.5\"\r\n>\r\n <div class=\"flex gap-2 items-center\">\r\n @if (backButton()) {\r\n <mt-button\r\n [text]=\"true\"\r\n [icon]=\"backIcon()\"\r\n size=\"large\"\r\n (click)=\"backButtonClick.emit()\"\r\n >\r\n </mt-button>\r\n }\r\n\r\n @if (avatarIcon()) {\r\n <mt-avatar\r\n [icon]=\"avatarIcon()\"\r\n [shape]=\"avatarShape()\"\r\n [style]=\"avatarStyle()\"\r\n >\r\n </mt-avatar>\r\n }\r\n\r\n <h3 class=\"font-bold text-xl\">{{ title() }}</h3>\r\n\r\n @if (titleEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-center\">\r\n @if (hasTabs()) {\r\n <mt-tabs\r\n [options]=\"tabs()\"\r\n [active]=\"activeTab()\"\r\n size=\"large\"\r\n (onChange)=\"tabChange.emit($event)\"\r\n >\r\n </mt-tabs>\r\n }\r\n </div>\r\n\r\n <div class=\"justify-self-end\">\r\n @if (headerEnd(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n }\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,11 +20,11 @@ class Page {
|
|
|
20
20
|
backButtonClick = output();
|
|
21
21
|
tabChange = output();
|
|
22
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Page, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: Page, isStandalone: true, selector: "mt-page", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, backButtonIcon: { classPropertyName: "backButtonIcon", publicName: "backButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarShape: { classPropertyName: "avatarShape", publicName: "avatarShape", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null }, contentClass: { classPropertyName: "contentClass", publicName: "contentClass", isSignal: true, isRequired: false, transformFunction: null }, contentId: { classPropertyName: "contentId", publicName: "contentId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backButtonClick: "backButtonClick", tabChange: "tabChange" }, queries: [{ propertyName: "titleEnd", first: true, predicate: ["titleEnd"], descendants: true, isSignal: true }, { propertyName: "headerEnd", first: true, predicate: ["headerEnd"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"page h-full flex flex-col\">\n <mt-page-header\n [backButton]=\"backButton()\"\n [backButtonIcon]=\"backButtonIcon()\"\n [avatarIcon]=\"avatarIcon()\"\n [avatarStyle]=\"avatarStyle()\"\n [avatarShape]=\"avatarShape()\"\n [title]=\"title()\"\n [tabs]=\"tabs()\"\n [activeTab]=\"activeTab()\"\n (backButtonClick)=\"backButtonClick.emit()\"\n (tabChange)=\"tabChange.emit($event)\"\n >\n @if (titleEnd(); as template) {\n <ng-template #titleEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n\n @if (headerEnd(); as template) {\n <ng-template #headerEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n </mt-page-header>\n\n <div\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\n [id]=\"contentId() ?? 'page-content'\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: PageHeader, selector: "mt-page-header", inputs: ["backButton", "backButtonIcon", "avatarIcon", "avatarStyle", "avatarShape", "title", "tabs", "activeTab"], outputs: ["backButtonClick", "tabChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
23
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: Page, isStandalone: true, selector: "mt-page", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, backButtonIcon: { classPropertyName: "backButtonIcon", publicName: "backButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarShape: { classPropertyName: "avatarShape", publicName: "avatarShape", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null }, contentClass: { classPropertyName: "contentClass", publicName: "contentClass", isSignal: true, isRequired: false, transformFunction: null }, contentId: { classPropertyName: "contentId", publicName: "contentId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backButtonClick: "backButtonClick", tabChange: "tabChange" }, queries: [{ propertyName: "titleEnd", first: true, predicate: ["titleEnd"], descendants: true, isSignal: true }, { propertyName: "headerEnd", first: true, predicate: ["headerEnd"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"page h-full flex flex-col\">\r\n <mt-page-header\r\n [backButton]=\"backButton()\"\r\n [backButtonIcon]=\"backButtonIcon()\"\r\n [avatarIcon]=\"avatarIcon()\"\r\n [avatarStyle]=\"avatarStyle()\"\r\n [avatarShape]=\"avatarShape()\"\r\n [title]=\"title()\"\r\n [tabs]=\"tabs()\"\r\n [activeTab]=\"activeTab()\"\r\n (backButtonClick)=\"backButtonClick.emit()\"\r\n (tabChange)=\"tabChange.emit($event)\"\r\n >\r\n @if (titleEnd(); as template) {\r\n <ng-template #titleEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n\r\n @if (headerEnd(); as template) {\r\n <ng-template #headerEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n </mt-page-header>\r\n\r\n <div\r\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\r\n [id]=\"contentId() ?? 'page-content'\"\r\n #content\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: PageHeader, selector: "mt-page-header", inputs: ["backButton", "backButtonIcon", "avatarIcon", "avatarStyle", "avatarShape", "title", "tabs", "activeTab"], outputs: ["backButtonClick", "tabChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
24
24
|
}
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Page, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
|
-
args: [{ selector: 'mt-page', standalone: true, imports: [PageHeader, NgTemplateOutlet], template: "<div class=\"page h-full flex flex-col\">\n <mt-page-header\n [backButton]=\"backButton()\"\n [backButtonIcon]=\"backButtonIcon()\"\n [avatarIcon]=\"avatarIcon()\"\n [avatarStyle]=\"avatarStyle()\"\n [avatarShape]=\"avatarShape()\"\n [title]=\"title()\"\n [tabs]=\"tabs()\"\n [activeTab]=\"activeTab()\"\n (backButtonClick)=\"backButtonClick.emit()\"\n (tabChange)=\"tabChange.emit($event)\"\n >\n @if (titleEnd(); as template) {\n <ng-template #titleEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n\n @if (headerEnd(); as template) {\n <ng-template #headerEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n </mt-page-header>\n\n <div\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\n [id]=\"contentId() ?? 'page-content'\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
27
|
+
args: [{ selector: 'mt-page', standalone: true, imports: [PageHeader, NgTemplateOutlet], template: "<div class=\"page h-full flex flex-col\">\r\n <mt-page-header\r\n [backButton]=\"backButton()\"\r\n [backButtonIcon]=\"backButtonIcon()\"\r\n [avatarIcon]=\"avatarIcon()\"\r\n [avatarStyle]=\"avatarStyle()\"\r\n [avatarShape]=\"avatarShape()\"\r\n [title]=\"title()\"\r\n [tabs]=\"tabs()\"\r\n [activeTab]=\"activeTab()\"\r\n (backButtonClick)=\"backButtonClick.emit()\"\r\n (tabChange)=\"tabChange.emit($event)\"\r\n >\r\n @if (titleEnd(); as template) {\r\n <ng-template #titleEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n\r\n @if (headerEnd(); as template) {\r\n <ng-template #headerEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n </mt-page-header>\r\n\r\n <div\r\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\r\n [id]=\"contentId() ?? 'page-content'\"\r\n #content\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n" }]
|
|
28
28
|
}], propDecorators: { backButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButton", required: false }] }], backButtonIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButtonIcon", required: false }] }], avatarIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarIcon", required: false }] }], avatarStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarStyle", required: false }] }], avatarShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarShape", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: false }] }], activeTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeTab", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], contentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentId", required: false }] }], titleEnd: [{ type: i0.ContentChild, args: ['titleEnd', { isSignal: true }] }], headerEnd: [{ type: i0.ContentChild, args: ['headerEnd', { isSignal: true }] }], content: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], backButtonClick: [{ type: i0.Output, args: ["backButtonClick"] }], tabChange: [{ type: i0.Output, args: ["tabChange"] }] } });
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-page.mjs","sources":["../../../../packages/masterteam/components/page/page.ts","../../../../packages/masterteam/components/page/page.html","../../../../packages/masterteam/components/page/masterteam-components-page.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n contentChild,\n TemplateRef,\n viewChild,\n ElementRef,\n booleanAttribute,\n} from '@angular/core';\nimport { PageHeader, PageHeaderTab } from '@masterteam/components/page-header';\nimport { MTIcon } from '@masterteam/icons';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'mt-page',\n standalone: true,\n imports: [PageHeader, NgTemplateOutlet],\n templateUrl: './page.html',\n})\nexport class Page {\n backButton = input<boolean, unknown>(false, { transform: booleanAttribute });\n backButtonIcon = input<'arrow' | 'close'>();\n avatarIcon = input<MTIcon>();\n avatarStyle = input<Record<string, string>>();\n avatarShape = input<'circle' | 'square'>();\n title = input.required<string>();\n tabs = input<PageHeaderTab[]>([]);\n activeTab = input<string | number>();\n contentClass = input<string>('');\n contentId = input<string>();\n\n titleEnd = contentChild<TemplateRef<any>>('titleEnd');\n headerEnd = contentChild<TemplateRef<any>>('headerEnd');\n content = viewChild<ElementRef<HTMLElement>>('content');\n\n backButtonClick = output<void>();\n tabChange = output<string | number>();\n}\n","<div class=\"page h-full flex flex-col\">\n <mt-page-header\n [backButton]=\"backButton()\"\n [backButtonIcon]=\"backButtonIcon()\"\n [avatarIcon]=\"avatarIcon()\"\n [avatarStyle]=\"avatarStyle()\"\n [avatarShape]=\"avatarShape()\"\n [title]=\"title()\"\n [tabs]=\"tabs()\"\n [activeTab]=\"activeTab()\"\n (backButtonClick)=\"backButtonClick.emit()\"\n (tabChange)=\"tabChange.emit($event)\"\n >\n @if (titleEnd(); as template) {\n <ng-template #titleEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n\n @if (headerEnd(); as template) {\n <ng-template #headerEnd>\n <ng-container [ngTemplateOutlet]=\"template\" />\n </ng-template>\n }\n </mt-page-header>\n\n <div\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\n [id]=\"contentId() ?? 'page-content'\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"masterteam-components-page.mjs","sources":["../../../../packages/masterteam/components/page/page.ts","../../../../packages/masterteam/components/page/page.html","../../../../packages/masterteam/components/page/masterteam-components-page.ts"],"sourcesContent":["import {\r\n Component,\r\n input,\r\n output,\r\n contentChild,\r\n TemplateRef,\r\n viewChild,\r\n ElementRef,\r\n booleanAttribute,\r\n} from '@angular/core';\r\nimport { PageHeader, PageHeaderTab } from '@masterteam/components/page-header';\r\nimport { MTIcon } from '@masterteam/icons';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mt-page',\r\n standalone: true,\r\n imports: [PageHeader, NgTemplateOutlet],\r\n templateUrl: './page.html',\r\n})\r\nexport class Page {\r\n backButton = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n backButtonIcon = input<'arrow' | 'close'>();\r\n avatarIcon = input<MTIcon>();\r\n avatarStyle = input<Record<string, string>>();\r\n avatarShape = input<'circle' | 'square'>();\r\n title = input.required<string>();\r\n tabs = input<PageHeaderTab[]>([]);\r\n activeTab = input<string | number>();\r\n contentClass = input<string>('');\r\n contentId = input<string>();\r\n\r\n titleEnd = contentChild<TemplateRef<any>>('titleEnd');\r\n headerEnd = contentChild<TemplateRef<any>>('headerEnd');\r\n content = viewChild<ElementRef<HTMLElement>>('content');\r\n\r\n backButtonClick = output<void>();\r\n tabChange = output<string | number>();\r\n}\r\n","<div class=\"page h-full flex flex-col\">\r\n <mt-page-header\r\n [backButton]=\"backButton()\"\r\n [backButtonIcon]=\"backButtonIcon()\"\r\n [avatarIcon]=\"avatarIcon()\"\r\n [avatarStyle]=\"avatarStyle()\"\r\n [avatarShape]=\"avatarShape()\"\r\n [title]=\"title()\"\r\n [tabs]=\"tabs()\"\r\n [activeTab]=\"activeTab()\"\r\n (backButtonClick)=\"backButtonClick.emit()\"\r\n (tabChange)=\"tabChange.emit($event)\"\r\n >\r\n @if (titleEnd(); as template) {\r\n <ng-template #titleEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n\r\n @if (headerEnd(); as template) {\r\n <ng-template #headerEnd>\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n </ng-template>\r\n }\r\n </mt-page-header>\r\n\r\n <div\r\n [class]=\"'flex-1 overflow-y-auto p-5 relative ' + contentClass()\"\r\n [id]=\"contentId() ?? 'page-content'\"\r\n #content\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,13 +27,13 @@ class Paginator {
|
|
|
27
27
|
this.onPageChange.emit(event);
|
|
28
28
|
}
|
|
29
29
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Paginator, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: Paginator, isStandalone: true, selector: "mt-paginator", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, showCurrentPageReport: { classPropertyName: "showCurrentPageReport", publicName: "showCurrentPageReport", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, alwaysShow: { classPropertyName: "alwaysShow", publicName: "alwaysShow", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", first: "firstChange", page: "pageChange", onPageChange: "onPageChange" }, host: { classAttribute: "grid gap-1" }, ngImport: i0, template: "<p-paginator\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [first]=\"first()\"\n [pageLinkSize]=\"pageLinkSize()\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\n [showFirstLastIcon]=\"showFirstLastIcon()\"\n [showCurrentPageReport]=\"showCurrentPageReport()\"\n [alwaysShow]=\"alwaysShow()\"\n (onPageChange)=\"onPaginatorChange($event)\"\n appendTo=\"body\"\n>\n <ng-template pTemplate=\"previouspagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.previous\" | transloco }}\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"nextpagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.next\" | transloco }}</span\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-template>\n</p-paginator>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i3.TranslocoPipe, name: "transloco" }] });
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: Paginator, isStandalone: true, selector: "mt-paginator", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, showCurrentPageReport: { classPropertyName: "showCurrentPageReport", publicName: "showCurrentPageReport", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, alwaysShow: { classPropertyName: "alwaysShow", publicName: "alwaysShow", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", first: "firstChange", page: "pageChange", onPageChange: "onPageChange" }, host: { classAttribute: "grid gap-1" }, ngImport: i0, template: "<p-paginator\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [first]=\"first()\"\r\n [pageLinkSize]=\"pageLinkSize()\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [showFirstLastIcon]=\"showFirstLastIcon()\"\r\n [showCurrentPageReport]=\"showCurrentPageReport()\"\r\n [alwaysShow]=\"alwaysShow()\"\r\n (onPageChange)=\"onPaginatorChange($event)\"\r\n appendTo=\"body\"\r\n>\r\n <ng-template pTemplate=\"previouspagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.previous\" | transloco }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"nextpagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.next\" | transloco }}</span\r\n >\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-template>\r\n</p-paginator>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i3.TranslocoPipe, name: "transloco" }] });
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Paginator, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'mt-paginator', standalone: true, imports: [FormsModule, PaginatorModule, TranslocoModule], host: {
|
|
35
35
|
class: 'grid gap-1',
|
|
36
|
-
}, template: "<p-paginator\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [first]=\"first()\"\n [pageLinkSize]=\"pageLinkSize()\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\n [showFirstLastIcon]=\"showFirstLastIcon()\"\n [showCurrentPageReport]=\"showCurrentPageReport()\"\n [alwaysShow]=\"alwaysShow()\"\n (onPageChange)=\"onPaginatorChange($event)\"\n appendTo=\"body\"\n>\n <ng-template pTemplate=\"previouspagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.previous\" | transloco }}\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"nextpagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.next\" | transloco }}</span\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-template>\n</p-paginator>\n" }]
|
|
36
|
+
}, template: "<p-paginator\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [first]=\"first()\"\r\n [pageLinkSize]=\"pageLinkSize()\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [showFirstLastIcon]=\"showFirstLastIcon()\"\r\n [showCurrentPageReport]=\"showCurrentPageReport()\"\r\n [alwaysShow]=\"alwaysShow()\"\r\n (onPageChange)=\"onPaginatorChange($event)\"\r\n appendTo=\"body\"\r\n>\r\n <ng-template pTemplate=\"previouspagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.previous\" | transloco }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"nextpagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.next\" | transloco }}</span\r\n >\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-template>\r\n</p-paginator>\r\n" }]
|
|
37
37
|
}], propDecorators: { rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }, { type: i0.Output, args: ["rowsChange"] }], totalRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecords", required: false }] }], first: [{ type: i0.Input, args: [{ isSignal: true, alias: "first", required: false }] }, { type: i0.Output, args: ["firstChange"] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], rowsPerPageOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowsPerPageOptions", required: false }] }], showFirstLastIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFirstLastIcon", required: false }] }], showCurrentPageReport: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentPageReport", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], pageLinkSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageLinkSize", required: false }] }], alwaysShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "alwaysShow", required: false }] }], onPageChange: [{ type: i0.Output, args: ["onPageChange"] }] } });
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-paginator.mjs","sources":["../../../../packages/masterteam/components/paginator/paginator.ts","../../../../packages/masterteam/components/paginator/paginator.html","../../../../packages/masterteam/components/paginator/masterteam-components-paginator.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n input,\n output,\n model,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { TranslocoModule } from '@jsverse/transloco';\n\n@Component({\n selector: 'mt-paginator',\n standalone: true,\n imports: [FormsModule, PaginatorModule, TranslocoModule],\n templateUrl: './paginator.html',\n styleUrls: ['./paginator.scss'],\n host: {\n class: 'grid gap-1',\n },\n})\nexport class Paginator {\n readonly rows = model<number>(10);\n readonly totalRecords = input<number>(0);\n readonly first = model<number>(0);\n readonly page = model<number>(0);\n readonly rowsPerPageOptions = input<number[] | undefined>(undefined);\n readonly showFirstLastIcon = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n readonly showCurrentPageReport = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly fluid = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n // Paginator Inputs\n readonly pageLinkSize = input<number | undefined>(6);\n readonly alwaysShow = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n\n readonly onPageChange = output<any>();\n\n onPaginatorChange(event: any) {\n this.first.set(event.first);\n this.page.set(event.page);\n this.rows.set(event.rows);\n this.onPageChange.emit(event);\n }\n}\n","<p-paginator\n [rows]=\"rows()\"\n [totalRecords]=\"totalRecords()\"\n [first]=\"first()\"\n [pageLinkSize]=\"pageLinkSize()\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\n [showFirstLastIcon]=\"showFirstLastIcon()\"\n [showCurrentPageReport]=\"showCurrentPageReport()\"\n [alwaysShow]=\"alwaysShow()\"\n (onPageChange)=\"onPaginatorChange($event)\"\n appendTo=\"body\"\n>\n <ng-template pTemplate=\"previouspagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.previous\" | transloco }}\n </span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"nextpagelinkicon\">\n <div class=\"flex items-center justify-center px-3 gap-3\">\n <span class=\"rtl:rotate-180\">\n {{ \"components.paginator.next\" | transloco }}</span\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\n stroke=\"#414651\"\n stroke-width=\"1.67\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-template>\n</p-paginator>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAqBa,SAAS,CAAA;AACX,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,gDAAC;AACxB,IAAA,YAAY,GAAG,KAAK,CAAS,CAAC,wDAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;AACxB,IAAA,IAAI,GAAG,KAAK,CAAS,CAAC,gDAAC;AACvB,IAAA,kBAAkB,GAAG,KAAK,CAAuB,SAAS,8DAAC;IAC3D,iBAAiB,GAAG,KAAK,CAAmB,KAAK,8DACxD,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IAEO,qBAAqB,GAAG,KAAK,CAAmB,KAAK,kEAC5D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IACO,KAAK,GAAG,KAAK,CAAmB,KAAK,kDAC5C,SAAS,EAAE,gBAAgB,EAAA,CAC3B;;AAGO,IAAA,YAAY,GAAG,KAAK,CAAqB,CAAC,wDAAC;IAC3C,UAAU,GAAG,KAAK,CAAmB,IAAI,uDAChD,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IAEO,YAAY,GAAG,MAAM,EAAO;AAErC,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;uGA9BW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,mkDCrBtB,
|
|
1
|
+
{"version":3,"file":"masterteam-components-paginator.mjs","sources":["../../../../packages/masterteam/components/paginator/paginator.ts","../../../../packages/masterteam/components/paginator/paginator.html","../../../../packages/masterteam/components/paginator/masterteam-components-paginator.ts"],"sourcesContent":["import {\r\n booleanAttribute,\r\n Component,\r\n input,\r\n output,\r\n model,\r\n} from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { TranslocoModule } from '@jsverse/transloco';\r\n\r\n@Component({\r\n selector: 'mt-paginator',\r\n standalone: true,\r\n imports: [FormsModule, PaginatorModule, TranslocoModule],\r\n templateUrl: './paginator.html',\r\n styleUrls: ['./paginator.scss'],\r\n host: {\r\n class: 'grid gap-1',\r\n },\r\n})\r\nexport class Paginator {\r\n readonly rows = model<number>(10);\r\n readonly totalRecords = input<number>(0);\r\n readonly first = model<number>(0);\r\n readonly page = model<number>(0);\r\n readonly rowsPerPageOptions = input<number[] | undefined>(undefined);\r\n readonly showFirstLastIcon = input<boolean, unknown>(false, {\r\n transform: booleanAttribute,\r\n });\r\n\r\n readonly showCurrentPageReport = input<boolean, unknown>(false, {\r\n transform: booleanAttribute,\r\n });\r\n readonly fluid = input<boolean, unknown>(false, {\r\n transform: booleanAttribute,\r\n });\r\n\r\n // Paginator Inputs\r\n readonly pageLinkSize = input<number | undefined>(6);\r\n readonly alwaysShow = input<boolean, unknown>(true, {\r\n transform: booleanAttribute,\r\n });\r\n\r\n readonly onPageChange = output<any>();\r\n\r\n onPaginatorChange(event: any) {\r\n this.first.set(event.first);\r\n this.page.set(event.page);\r\n this.rows.set(event.rows);\r\n this.onPageChange.emit(event);\r\n }\r\n}\r\n","<p-paginator\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [first]=\"first()\"\r\n [pageLinkSize]=\"pageLinkSize()\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [showFirstLastIcon]=\"showFirstLastIcon()\"\r\n [showCurrentPageReport]=\"showCurrentPageReport()\"\r\n [alwaysShow]=\"alwaysShow()\"\r\n (onPageChange)=\"onPaginatorChange($event)\"\r\n appendTo=\"body\"\r\n>\r\n <ng-template pTemplate=\"previouspagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.previous\" | transloco }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"nextpagelinkicon\">\r\n <div class=\"flex items-center justify-center px-3 gap-3\">\r\n <span class=\"rtl:rotate-180\">\r\n {{ \"components.paginator.next\" | transloco }}</span\r\n >\r\n <svg\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\r\n stroke=\"#414651\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-template>\r\n</p-paginator>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAqBa,SAAS,CAAA;AACX,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,gDAAC;AACxB,IAAA,YAAY,GAAG,KAAK,CAAS,CAAC,wDAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;AACxB,IAAA,IAAI,GAAG,KAAK,CAAS,CAAC,gDAAC;AACvB,IAAA,kBAAkB,GAAG,KAAK,CAAuB,SAAS,8DAAC;IAC3D,iBAAiB,GAAG,KAAK,CAAmB,KAAK,8DACxD,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IAEO,qBAAqB,GAAG,KAAK,CAAmB,KAAK,kEAC5D,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IACO,KAAK,GAAG,KAAK,CAAmB,KAAK,kDAC5C,SAAS,EAAE,gBAAgB,EAAA,CAC3B;;AAGO,IAAA,YAAY,GAAG,KAAK,CAAqB,CAAC,wDAAC;IAC3C,UAAU,GAAG,KAAK,CAAmB,IAAI,uDAChD,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IAEO,YAAY,GAAG,MAAM,EAAO;AAErC,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;uGA9BW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,mkDCrBtB,44DA0DA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5CY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,mnBAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAO5C,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,IAAA,EAGlD;AACJ,wBAAA,KAAK,EAAE,YAAY;AACpB,qBAAA,EAAA,QAAA,EAAA,44DAAA,EAAA;;;AEnBH;;AAEG;;;;"}
|
|
@@ -167,13 +167,13 @@ class PickListField {
|
|
|
167
167
|
return options.find((option) => this.getIdentifier(option) === entryId);
|
|
168
168
|
}
|
|
169
169
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PickListField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PickListField, isStandalone: true, selector: "mt-pick-list-field", inputs: { label: { classPropertyName: "label", publicName: "label", 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 }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, sourceHeader: { classPropertyName: "sourceHeader", publicName: "sourceHeader", isSignal: true, isRequired: false, transformFunction: null }, targetHeader: { classPropertyName: "targetHeader", publicName: "targetHeader", isSignal: true, isRequired: false, transformFunction: null }, showSourceControls: { classPropertyName: "showSourceControls", publicName: "showSourceControls", isSignal: true, isRequired: false, transformFunction: null }, showTargetControls: { classPropertyName: "showTargetControls", publicName: "showTargetControls", isSignal: true, isRequired: false, transformFunction: null }, showSourceFilter: { classPropertyName: "showSourceFilter", publicName: "showSourceFilter", isSignal: true, isRequired: false, transformFunction: null }, showTargetFilter: { classPropertyName: "showTargetFilter", publicName: "showTargetFilter", 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 }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, dragdrop: { classPropertyName: "dragdrop", publicName: "dragdrop", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", 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: "pickList", first: true, predicate: ["pickList"], descendants: 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-pickList\n #pickList\n [source]=\"sourceItems()\"\n [target]=\"targetItems()\"\n (onMoveToTarget)=\"onInteractiveChange()\"\n (onMoveToSource)=\"onInteractiveChange()\"\n (onMoveAllToTarget)=\"onInteractiveChange()\"\n (onMoveAllToSource)=\"onInteractiveChange()\"\n (onTargetReorder)=\"onInteractiveChange()\"\n (onSourceReorder)=\"onInteractiveChange()\"\n (onBlur)=\"handleBlur()\"\n [filterBy]=\"filterBy() || optionLabel()\"\n [showSourceControls]=\"showSourceControls()\"\n [showTargetControls]=\"showTargetControls()\"\n [showSourceFilter]=\"showSourceFilter()\"\n [showTargetFilter]=\"showTargetFilter()\"\n [sourceHeader]=\"sourceHeader()\"\n [targetHeader]=\"targetHeader()\"\n [dragdrop]=\"dragdrop()\"\n [responsive]=\"responsive()\"\n [disabled]=\"disabled() || readonly()\"\n [styleClass]=\"'w-full relative'\"\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\n>\n <ng-template let-item pTemplate=\"item\">\n {{ displayLabel(item) }}\n </ng-template>\n</p-pickList>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: PickListModule }, { kind: "component", type: i1.PickList, selector: "p-pickList, p-picklist, p-pick-list", inputs: ["hostName", "source", "target", "dataKey", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "sourceAriaLabel", "targetAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "sourceOptionDisabled", "targetOptionDisabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "scrollHeight", "autoOptionFocus", "buttonProps", "moveUpButtonProps", "moveTopButtonProps", "moveDownButtonProps", "moveBottomButtonProps", "moveToTargetProps", "moveAllToTargetProps", "moveToSourceProps", "moveAllToSourceProps", "breakpoint"], outputs: ["sourceChange", "targetChange", "onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PickListField, isStandalone: true, selector: "mt-pick-list-field", inputs: { label: { classPropertyName: "label", publicName: "label", 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 }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, sourceHeader: { classPropertyName: "sourceHeader", publicName: "sourceHeader", isSignal: true, isRequired: false, transformFunction: null }, targetHeader: { classPropertyName: "targetHeader", publicName: "targetHeader", isSignal: true, isRequired: false, transformFunction: null }, showSourceControls: { classPropertyName: "showSourceControls", publicName: "showSourceControls", isSignal: true, isRequired: false, transformFunction: null }, showTargetControls: { classPropertyName: "showTargetControls", publicName: "showTargetControls", isSignal: true, isRequired: false, transformFunction: null }, showSourceFilter: { classPropertyName: "showSourceFilter", publicName: "showSourceFilter", isSignal: true, isRequired: false, transformFunction: null }, showTargetFilter: { classPropertyName: "showTargetFilter", publicName: "showTargetFilter", 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 }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, dragdrop: { classPropertyName: "dragdrop", publicName: "dragdrop", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", 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: "pickList", first: true, predicate: ["pickList"], descendants: true }], ngImport: i0, template: "@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n [for]=\"ngControl?.name || label()\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n<p-pickList\r\n #pickList\r\n [source]=\"sourceItems()\"\r\n [target]=\"targetItems()\"\r\n (onMoveToTarget)=\"onInteractiveChange()\"\r\n (onMoveToSource)=\"onInteractiveChange()\"\r\n (onMoveAllToTarget)=\"onInteractiveChange()\"\r\n (onMoveAllToSource)=\"onInteractiveChange()\"\r\n (onTargetReorder)=\"onInteractiveChange()\"\r\n (onSourceReorder)=\"onInteractiveChange()\"\r\n (onBlur)=\"handleBlur()\"\r\n [filterBy]=\"filterBy() || optionLabel()\"\r\n [showSourceControls]=\"showSourceControls()\"\r\n [showTargetControls]=\"showTargetControls()\"\r\n [showSourceFilter]=\"showSourceFilter()\"\r\n [showTargetFilter]=\"showTargetFilter()\"\r\n [sourceHeader]=\"sourceHeader()\"\r\n [targetHeader]=\"targetHeader()\"\r\n [dragdrop]=\"dragdrop()\"\r\n [responsive]=\"responsive()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [styleClass]=\"'w-full relative'\"\r\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ displayLabel(item) }}\r\n </ng-template>\r\n</p-pickList>\r\n\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: PickListModule }, { kind: "component", type: i1.PickList, selector: "p-pickList, p-picklist, p-pick-list", inputs: ["hostName", "source", "target", "dataKey", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "sourceAriaLabel", "targetAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "sourceOptionDisabled", "targetOptionDisabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "scrollHeight", "autoOptionFocus", "buttonProps", "moveUpButtonProps", "moveTopButtonProps", "moveDownButtonProps", "moveBottomButtonProps", "moveToTargetProps", "moveAllToTargetProps", "moveToSourceProps", "moveAllToSourceProps", "breakpoint"], outputs: ["sourceChange", "targetChange", "onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
171
171
|
}
|
|
172
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PickListField, decorators: [{
|
|
173
173
|
type: Component,
|
|
174
174
|
args: [{ selector: 'mt-pick-list-field', imports: [PickListModule, FieldValidation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
175
175
|
class: 'grid gap-1',
|
|
176
|
-
}, template: "@if (label()) {\n <label\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-pickList\n #pickList\n [source]=\"sourceItems()\"\n [target]=\"targetItems()\"\n (onMoveToTarget)=\"onInteractiveChange()\"\n (onMoveToSource)=\"onInteractiveChange()\"\n (onMoveAllToTarget)=\"onInteractiveChange()\"\n (onMoveAllToSource)=\"onInteractiveChange()\"\n (onTargetReorder)=\"onInteractiveChange()\"\n (onSourceReorder)=\"onInteractiveChange()\"\n (onBlur)=\"handleBlur()\"\n [filterBy]=\"filterBy() || optionLabel()\"\n [showSourceControls]=\"showSourceControls()\"\n [showTargetControls]=\"showTargetControls()\"\n [showSourceFilter]=\"showSourceFilter()\"\n [showTargetFilter]=\"showTargetFilter()\"\n [sourceHeader]=\"sourceHeader()\"\n [targetHeader]=\"targetHeader()\"\n [dragdrop]=\"dragdrop()\"\n [responsive]=\"responsive()\"\n [disabled]=\"disabled() || readonly()\"\n [styleClass]=\"'w-full relative'\"\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\n>\n <ng-template let-item pTemplate=\"item\">\n {{ displayLabel(item) }}\n </ng-template>\n</p-pickList>\n\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n", styles: [":host{display:block}\n"] }]
|
|
176
|
+
}, template: "@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n [for]=\"ngControl?.name || label()\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n<p-pickList\r\n #pickList\r\n [source]=\"sourceItems()\"\r\n [target]=\"targetItems()\"\r\n (onMoveToTarget)=\"onInteractiveChange()\"\r\n (onMoveToSource)=\"onInteractiveChange()\"\r\n (onMoveAllToTarget)=\"onInteractiveChange()\"\r\n (onMoveAllToSource)=\"onInteractiveChange()\"\r\n (onTargetReorder)=\"onInteractiveChange()\"\r\n (onSourceReorder)=\"onInteractiveChange()\"\r\n (onBlur)=\"handleBlur()\"\r\n [filterBy]=\"filterBy() || optionLabel()\"\r\n [showSourceControls]=\"showSourceControls()\"\r\n [showTargetControls]=\"showTargetControls()\"\r\n [showSourceFilter]=\"showSourceFilter()\"\r\n [showTargetFilter]=\"showTargetFilter()\"\r\n [sourceHeader]=\"sourceHeader()\"\r\n [targetHeader]=\"targetHeader()\"\r\n [dragdrop]=\"dragdrop()\"\r\n [responsive]=\"responsive()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [styleClass]=\"'w-full relative'\"\r\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ displayLabel(item) }}\r\n </ng-template>\r\n</p-pickList>\r\n\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n", styles: [":host{display:block}\n"] }]
|
|
177
177
|
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], sourceHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceHeader", required: false }] }], targetHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetHeader", required: false }] }], showSourceControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSourceControls", required: false }] }], showTargetControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTargetControls", required: false }] }], showSourceFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSourceFilter", required: false }] }], showTargetFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTargetFilter", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], filterMatchMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMatchMode", required: false }] }], dragdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragdrop", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], styleClass: [{
|
|
178
178
|
type: HostBinding,
|
|
179
179
|
args: ['class']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-pick-list-field.mjs","sources":["../../../../packages/masterteam/components/pick-list-field/pick-list-field.ts","../../../../packages/masterteam/components/pick-list-field/pick-list-field.html","../../../../packages/masterteam/components/pick-list-field/masterteam-components-pick-list-field.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnInit,\n ViewChild,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl, Validators } from '@angular/forms';\nimport { PickList, PickListModule } from 'primeng/picklist';\nimport { FieldValidation } from '@masterteam/components/field-validation';\nimport { isInvalid } from '@masterteam/components';\n\n@Component({\n selector: 'mt-pick-list-field',\n templateUrl: './pick-list-field.html',\n styleUrls: ['./pick-list-field.scss'],\n imports: [PickListModule, FieldValidation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'grid gap-1',\n },\n})\nexport class PickListField implements ControlValueAccessor, OnInit {\n readonly label = input<string>();\n readonly class = input<string>('');\n readonly readonly = input<boolean>(false);\n readonly options = input<any[]>([]);\n readonly optionLabel = input<string>('label');\n readonly optionValue = input<string>('value');\n readonly sourceHeader = input<string>('Available');\n readonly targetHeader = input<string>('Selected');\n readonly showSourceControls = input<boolean>(true);\n readonly showTargetControls = input<boolean>(true);\n readonly showSourceFilter = input<boolean>(false);\n readonly showTargetFilter = input<boolean>(false);\n readonly filterBy = input<string>();\n readonly dataKey = input<string>();\n readonly filterLocale = input<string>();\n readonly filterMatchMode = input<\n | 'contains'\n | 'startsWith'\n | 'endsWith'\n | 'equals'\n | 'notEquals'\n | 'in'\n | 'lt'\n | 'lte'\n | 'gt'\n | 'gte'\n | string\n >('contains');\n readonly dragdrop = input<boolean>(false);\n readonly responsive = input<boolean>(true);\n readonly required = input<boolean>(false);\n\n @HostBinding('class') styleClass: string = '';\n\n requiredValidator = Validators.required;\n value = signal<any[]>([]);\n targetItems = signal<any[]>([]);\n sourceItems = signal<any[]>([]);\n disabled = signal<boolean>(false);\n\n private onTouched: () => void = () => {};\n private onModelChange: (value: any) => void = () => {};\n\n public ngControl = inject(NgControl, { self: true });\n\n isInvalid = isInvalid;\n\n private hasInitialized = false;\n\n @ViewChild('pickList') pickList?: PickList;\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 effect(\n () => {\n this.options();\n if (this.hasInitialized) {\n this.syncLists();\n }\n },\n { allowSignalWrites: true },\n );\n }\n\n ngOnInit() {\n this.styleClass = this.class();\n this.syncLists();\n this.hasInitialized = true;\n }\n\n writeValue(value: any) {\n const nextValue = Array.isArray(value)\n ? [...value]\n : value === null || value === undefined\n ? []\n : [value];\n this.value.set(nextValue);\n this.syncLists();\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 onInteractiveChange() {\n this.syncFromPickList();\n }\n\n handleBlur() {\n this.onTouched();\n }\n\n displayLabel(item: any): string {\n if (item === null || item === undefined) {\n return '';\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return String(item);\n }\n const labelKey = this.optionLabel();\n if (labelKey && item[labelKey] !== undefined) {\n return item[labelKey];\n }\n return JSON.stringify(item);\n }\n\n private syncLists() {\n const currentValue = this.value();\n const targetOptions = this.normalizeValueToOptions(currentValue);\n this.targetItems.set(targetOptions);\n this.updateSourceFromTarget(targetOptions);\n }\n\n private syncFromPickList() {\n const pickListInstance = this.pickList;\n if (!pickListInstance) {\n return;\n }\n const currentTarget = [...(pickListInstance.target() ?? [])];\n const currentSource = [...(pickListInstance.source() ?? [])];\n this.targetItems.set(currentTarget);\n this.sourceItems.set(currentSource);\n\n const newValue = this.extractValues(currentTarget);\n this.value.set(newValue);\n this.onModelChange(newValue);\n this.onTouched();\n }\n\n private normalizeValueToOptions(value: any[]): any[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value\n .map((entry) => this.findOption(entry) ?? entry)\n .filter((item) => item !== undefined && item !== null);\n }\n\n private extractValues(items: any[]): any[] {\n const optionValueKey = this.optionValue();\n if (!optionValueKey) {\n return items ?? [];\n }\n const values: any[] = [];\n (items ?? []).forEach((item) => {\n if (item && typeof item === 'object') {\n values.push(item[optionValueKey] ?? item);\n } else {\n values.push(item);\n }\n });\n return values;\n }\n\n private updateSourceFromTarget(targetItems: any[]) {\n const options = this.options() ?? [];\n const targetIds = new Set(\n (targetItems ?? []).map((item) => this.getIdentifier(item)),\n );\n const newSource = options.filter(\n (option) => !targetIds.has(this.getIdentifier(option)),\n );\n this.sourceItems.set(newSource);\n }\n\n private getIdentifier(item: any): any {\n if (item === null || item === undefined) {\n return item;\n }\n const optionValueKey = this.optionValue();\n if (!optionValueKey) {\n return item;\n }\n if (typeof item === 'object') {\n return item[optionValueKey];\n }\n return item;\n }\n\n private findOption(entry: any): any | undefined {\n const options = this.options() ?? [];\n const entryId = this.getIdentifier(entry);\n return options.find((option) => this.getIdentifier(option) === entryId);\n }\n}\n","@if (label()) {\n <label\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n [for]=\"ngControl?.name || label()\"\n >{{ label() }}</label\n >\n}\n<p-pickList\n #pickList\n [source]=\"sourceItems()\"\n [target]=\"targetItems()\"\n (onMoveToTarget)=\"onInteractiveChange()\"\n (onMoveToSource)=\"onInteractiveChange()\"\n (onMoveAllToTarget)=\"onInteractiveChange()\"\n (onMoveAllToSource)=\"onInteractiveChange()\"\n (onTargetReorder)=\"onInteractiveChange()\"\n (onSourceReorder)=\"onInteractiveChange()\"\n (onBlur)=\"handleBlur()\"\n [filterBy]=\"filterBy() || optionLabel()\"\n [showSourceControls]=\"showSourceControls()\"\n [showTargetControls]=\"showTargetControls()\"\n [showSourceFilter]=\"showSourceFilter()\"\n [showTargetFilter]=\"showTargetFilter()\"\n [sourceHeader]=\"sourceHeader()\"\n [targetHeader]=\"targetHeader()\"\n [dragdrop]=\"dragdrop()\"\n [responsive]=\"responsive()\"\n [disabled]=\"disabled() || readonly()\"\n [styleClass]=\"'w-full relative'\"\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\n>\n <ng-template let-item pTemplate=\"item\">\n {{ displayLabel(item) }}\n </ng-template>\n</p-pickList>\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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"}
|
|
1
|
+
{"version":3,"file":"masterteam-components-pick-list-field.mjs","sources":["../../../../packages/masterteam/components/pick-list-field/pick-list-field.ts","../../../../packages/masterteam/components/pick-list-field/pick-list-field.html","../../../../packages/masterteam/components/pick-list-field/masterteam-components-pick-list-field.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n OnInit,\r\n ViewChild,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NgControl, Validators } from '@angular/forms';\r\nimport { PickList, PickListModule } from 'primeng/picklist';\r\nimport { FieldValidation } from '@masterteam/components/field-validation';\r\nimport { isInvalid } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-pick-list-field',\r\n templateUrl: './pick-list-field.html',\r\n styleUrls: ['./pick-list-field.scss'],\r\n imports: [PickListModule, FieldValidation],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'grid gap-1',\r\n },\r\n})\r\nexport class PickListField implements ControlValueAccessor, OnInit {\r\n readonly label = input<string>();\r\n readonly class = input<string>('');\r\n readonly readonly = input<boolean>(false);\r\n readonly options = input<any[]>([]);\r\n readonly optionLabel = input<string>('label');\r\n readonly optionValue = input<string>('value');\r\n readonly sourceHeader = input<string>('Available');\r\n readonly targetHeader = input<string>('Selected');\r\n readonly showSourceControls = input<boolean>(true);\r\n readonly showTargetControls = input<boolean>(true);\r\n readonly showSourceFilter = input<boolean>(false);\r\n readonly showTargetFilter = input<boolean>(false);\r\n readonly filterBy = input<string>();\r\n readonly dataKey = input<string>();\r\n readonly filterLocale = input<string>();\r\n readonly filterMatchMode = input<\r\n | 'contains'\r\n | 'startsWith'\r\n | 'endsWith'\r\n | 'equals'\r\n | 'notEquals'\r\n | 'in'\r\n | 'lt'\r\n | 'lte'\r\n | 'gt'\r\n | 'gte'\r\n | string\r\n >('contains');\r\n readonly dragdrop = input<boolean>(false);\r\n readonly responsive = input<boolean>(true);\r\n readonly required = input<boolean>(false);\r\n\r\n @HostBinding('class') styleClass: string = '';\r\n\r\n requiredValidator = Validators.required;\r\n value = signal<any[]>([]);\r\n targetItems = signal<any[]>([]);\r\n sourceItems = signal<any[]>([]);\r\n disabled = signal<boolean>(false);\r\n\r\n private onTouched: () => void = () => {};\r\n private onModelChange: (value: any) => void = () => {};\r\n\r\n public ngControl = inject(NgControl, { self: true });\r\n\r\n isInvalid = isInvalid;\r\n\r\n private hasInitialized = false;\r\n\r\n @ViewChild('pickList') pickList?: PickList;\r\n\r\n constructor() {\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n effect(() => {\r\n if (this.ngControl?.control && this.required()) {\r\n this.ngControl.control.addValidators(Validators.required);\r\n this.ngControl.control.updateValueAndValidity();\r\n }\r\n });\r\n effect(\r\n () => {\r\n this.options();\r\n if (this.hasInitialized) {\r\n this.syncLists();\r\n }\r\n },\r\n { allowSignalWrites: true },\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.styleClass = this.class();\r\n this.syncLists();\r\n this.hasInitialized = true;\r\n }\r\n\r\n writeValue(value: any) {\r\n const nextValue = Array.isArray(value)\r\n ? [...value]\r\n : value === null || value === undefined\r\n ? []\r\n : [value];\r\n this.value.set(nextValue);\r\n this.syncLists();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(disabled: boolean) {\r\n this.disabled.set(disabled);\r\n }\r\n\r\n onInteractiveChange() {\r\n this.syncFromPickList();\r\n }\r\n\r\n handleBlur() {\r\n this.onTouched();\r\n }\r\n\r\n displayLabel(item: any): string {\r\n if (item === null || item === undefined) {\r\n return '';\r\n }\r\n if (typeof item === 'string' || typeof item === 'number') {\r\n return String(item);\r\n }\r\n const labelKey = this.optionLabel();\r\n if (labelKey && item[labelKey] !== undefined) {\r\n return item[labelKey];\r\n }\r\n return JSON.stringify(item);\r\n }\r\n\r\n private syncLists() {\r\n const currentValue = this.value();\r\n const targetOptions = this.normalizeValueToOptions(currentValue);\r\n this.targetItems.set(targetOptions);\r\n this.updateSourceFromTarget(targetOptions);\r\n }\r\n\r\n private syncFromPickList() {\r\n const pickListInstance = this.pickList;\r\n if (!pickListInstance) {\r\n return;\r\n }\r\n const currentTarget = [...(pickListInstance.target() ?? [])];\r\n const currentSource = [...(pickListInstance.source() ?? [])];\r\n this.targetItems.set(currentTarget);\r\n this.sourceItems.set(currentSource);\r\n\r\n const newValue = this.extractValues(currentTarget);\r\n this.value.set(newValue);\r\n this.onModelChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n private normalizeValueToOptions(value: any[]): any[] {\r\n if (!Array.isArray(value)) {\r\n return [];\r\n }\r\n return value\r\n .map((entry) => this.findOption(entry) ?? entry)\r\n .filter((item) => item !== undefined && item !== null);\r\n }\r\n\r\n private extractValues(items: any[]): any[] {\r\n const optionValueKey = this.optionValue();\r\n if (!optionValueKey) {\r\n return items ?? [];\r\n }\r\n const values: any[] = [];\r\n (items ?? []).forEach((item) => {\r\n if (item && typeof item === 'object') {\r\n values.push(item[optionValueKey] ?? item);\r\n } else {\r\n values.push(item);\r\n }\r\n });\r\n return values;\r\n }\r\n\r\n private updateSourceFromTarget(targetItems: any[]) {\r\n const options = this.options() ?? [];\r\n const targetIds = new Set(\r\n (targetItems ?? []).map((item) => this.getIdentifier(item)),\r\n );\r\n const newSource = options.filter(\r\n (option) => !targetIds.has(this.getIdentifier(option)),\r\n );\r\n this.sourceItems.set(newSource);\r\n }\r\n\r\n private getIdentifier(item: any): any {\r\n if (item === null || item === undefined) {\r\n return item;\r\n }\r\n const optionValueKey = this.optionValue();\r\n if (!optionValueKey) {\r\n return item;\r\n }\r\n if (typeof item === 'object') {\r\n return item[optionValueKey];\r\n }\r\n return item;\r\n }\r\n\r\n private findOption(entry: any): any | undefined {\r\n const options = this.options() ?? [];\r\n const entryId = this.getIdentifier(entry);\r\n return options.find((option) => this.getIdentifier(option) === entryId);\r\n }\r\n}\r\n","@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n [for]=\"ngControl?.name || label()\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n<p-pickList\r\n #pickList\r\n [source]=\"sourceItems()\"\r\n [target]=\"targetItems()\"\r\n (onMoveToTarget)=\"onInteractiveChange()\"\r\n (onMoveToSource)=\"onInteractiveChange()\"\r\n (onMoveAllToTarget)=\"onInteractiveChange()\"\r\n (onMoveAllToSource)=\"onInteractiveChange()\"\r\n (onTargetReorder)=\"onInteractiveChange()\"\r\n (onSourceReorder)=\"onInteractiveChange()\"\r\n (onBlur)=\"handleBlur()\"\r\n [filterBy]=\"filterBy() || optionLabel()\"\r\n [showSourceControls]=\"showSourceControls()\"\r\n [showTargetControls]=\"showTargetControls()\"\r\n [showSourceFilter]=\"showSourceFilter()\"\r\n [showTargetFilter]=\"showTargetFilter()\"\r\n [sourceHeader]=\"sourceHeader()\"\r\n [targetHeader]=\"targetHeader()\"\r\n [dragdrop]=\"dragdrop()\"\r\n [responsive]=\"responsive()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [styleClass]=\"'w-full relative'\"\r\n [class.p-invalid]=\"isInvalid(ngControl?.control)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ displayLabel(item) }}\r\n </ng-template>\r\n</p-pickList>\r\n\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -68,13 +68,13 @@ class RadioButtonField {
|
|
|
68
68
|
this.disabled.set(disabled);
|
|
69
69
|
}
|
|
70
70
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: RadioButtonField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: RadioButtonField, isStandalone: true, selector: "mt-radio-button-field", inputs: { labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", 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 }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, host: { classAttribute: "grid gap-1" }, ngImport: i0, template: "@if (label()) {\n <label\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n >{{ label() }}</label\n >\n}\n\n<div\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [class.flex-row]=\"orientation() === 'horizontal'\"\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\n>\n @for (option of options(); track option) {\n <div\n class=\"flex gap-1\"\n [class.items-center]=\"!isVertical()\"\n [class.gap-2]=\"!isVertical()\"\n [class.flex-col]=\"isVertical()\"\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\n [class.justify-end]=\"labelPosition() === 'start'\"\n >\n <p-radiobutton\n [size]=\"size()\"\n #radiobutton\n [ngModel]=\"value()\"\n [value]=\"option.value\"\n [inputId]=\"option?.label\"\n (ngModelChange)=\"onValueChange($event)\"\n (onClick)=\"onChange.emit($event)\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n class=\"leading-none\"\n ></p-radiobutton>\n\n @if (option?.label) {\n <label [for]=\"option?.label\">{{ option?.label }}</label>\n }\n </div>\n }\n</div>\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: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "styleClass", "autofocus", "binary", "variant", "size"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: RadioButtonField, isStandalone: true, selector: "mt-radio-button-field", inputs: { labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", 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 }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, host: { classAttribute: "grid gap-1" }, ngImport: i0, template: "@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n\r\n<div\r\n class=\"flex gap-3\"\r\n [class.flex-col]=\"orientation() === 'vertical'\"\r\n [class.flex-row]=\"orientation() === 'horizontal'\"\r\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\r\n>\r\n @for (option of options(); track option) {\r\n <div\r\n class=\"flex gap-1\"\r\n [class.items-center]=\"!isVertical()\"\r\n [class.gap-2]=\"!isVertical()\"\r\n [class.flex-col]=\"isVertical()\"\r\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\r\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\r\n [class.justify-end]=\"labelPosition() === 'start'\"\r\n >\r\n <p-radiobutton\r\n [size]=\"size()\"\r\n #radiobutton\r\n [ngModel]=\"value()\"\r\n [value]=\"option.value\"\r\n [inputId]=\"option?.label\"\r\n (ngModelChange)=\"onValueChange($event)\"\r\n (onClick)=\"onChange.emit($event)\"\r\n (onBlur)=\"onTouched()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [invalid]=\"isInvalid(ngControl?.control)\"\r\n class=\"leading-none\"\r\n ></p-radiobutton>\r\n\r\n @if (option?.label) {\r\n <label [for]=\"option?.label\">{{ option?.label }}</label>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\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: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "styleClass", "autofocus", "binary", "variant", "size"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FieldValidation, selector: "mt-field-validation", inputs: ["control", "touched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: RadioButtonField, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ selector: 'mt-radio-button-field', standalone: true, imports: [FormsModule, RadioButtonModule, FieldValidation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
76
76
|
class: 'grid gap-1',
|
|
77
|
-
}, template: "@if (label()) {\n <label\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n >{{ label() }}</label\n >\n}\n\n<div\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [class.flex-row]=\"orientation() === 'horizontal'\"\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\n>\n @for (option of options(); track option) {\n <div\n class=\"flex gap-1\"\n [class.items-center]=\"!isVertical()\"\n [class.gap-2]=\"!isVertical()\"\n [class.flex-col]=\"isVertical()\"\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\n [class.justify-end]=\"labelPosition() === 'start'\"\n >\n <p-radiobutton\n [size]=\"size()\"\n #radiobutton\n [ngModel]=\"value()\"\n [value]=\"option.value\"\n [inputId]=\"option?.label\"\n (ngModelChange)=\"onValueChange($event)\"\n (onClick)=\"onChange.emit($event)\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n class=\"leading-none\"\n ></p-radiobutton>\n\n @if (option?.label) {\n <label [for]=\"option?.label\">{{ option?.label }}</label>\n }\n </div>\n }\n</div>\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\n" }]
|
|
77
|
+
}, template: "@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n\r\n<div\r\n class=\"flex gap-3\"\r\n [class.flex-col]=\"orientation() === 'vertical'\"\r\n [class.flex-row]=\"orientation() === 'horizontal'\"\r\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\r\n>\r\n @for (option of options(); track option) {\r\n <div\r\n class=\"flex gap-1\"\r\n [class.items-center]=\"!isVertical()\"\r\n [class.gap-2]=\"!isVertical()\"\r\n [class.flex-col]=\"isVertical()\"\r\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\r\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\r\n [class.justify-end]=\"labelPosition() === 'start'\"\r\n >\r\n <p-radiobutton\r\n [size]=\"size()\"\r\n #radiobutton\r\n [ngModel]=\"value()\"\r\n [value]=\"option.value\"\r\n [inputId]=\"option?.label\"\r\n (ngModelChange)=\"onValueChange($event)\"\r\n (onClick)=\"onChange.emit($event)\"\r\n (onBlur)=\"onTouched()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [invalid]=\"isInvalid(ngControl?.control)\"\r\n class=\"leading-none\"\r\n ></p-radiobutton>\r\n\r\n @if (option?.label) {\r\n <label [for]=\"option?.label\">{{ option?.label }}</label>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n" }]
|
|
78
78
|
}], ctorParameters: () => [], propDecorators: { labelPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], pInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputs", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }] } });
|
|
79
79
|
|
|
80
80
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components-radio-button-field.mjs","sources":["../../../../packages/masterteam/components/radio-button-field/radio-button-field.ts","../../../../packages/masterteam/components/radio-button-field/radio-button-field.html","../../../../packages/masterteam/components/radio-button-field/masterteam-components-radio-button-field.ts"],"sourcesContent":["import {\n Component,\n signal,\n input,\n output,\n inject,\n ChangeDetectionStrategy,\n computed,\n effect,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NgControl,\n Validators,\n} from '@angular/forms';\nimport { RadioButton, RadioButtonModule } from 'primeng/radiobutton';\nimport { FieldValidation } from '@masterteam/components/field-validation';\nimport { isInvalid } from '@masterteam/components';\n\nexport interface radioOptions {\n label: string;\n value: string;\n}\n\n@Component({\n selector: 'mt-radio-button-field',\n standalone: true,\n imports: [FormsModule, RadioButtonModule, FieldValidation],\n templateUrl: './radio-button-field.html',\n styleUrls: ['./radio-button-field.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'grid gap-1',\n },\n})\nexport class RadioButtonField implements ControlValueAccessor {\n radioButton: RadioButton;\n labelPosition = input<'top' | 'start' | 'end' | 'bottom'>('end');\n orientation = input<'vertical' | 'horizontal'>('vertical');\n readonly = input<boolean>(false);\n pInputs = input<Partial<RadioButton>>();\n required = input<boolean>(false);\n options = input<radioOptions[]>([]);\n size = input<'small' | 'large' | undefined>();\n label = input<string>();\n onChange = output<string>();\n\n public ngControl = inject(NgControl, { self: true });\n\n isInvalid = isInvalid;\n\n isVertical = computed(\n () => this.labelPosition() === 'top' || this.labelPosition() === 'bottom',\n );\n\n requiredValidator = Validators.required;\n value = signal<string | null>(null);\n disabled = signal<boolean>(false);\n\n onTouched: () => void = () => {};\n onModelChange: (value: string | null) => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n // Effect to apply pInputs reactively when the pInputs signal changes\n effect(() => {\n const currentPInputs = this.pInputs();\n\n if (this.radioButton && currentPInputs) {\n this.applyInputsToRadioButton();\n }\n });\n\n // Effect to add required validator if required input is true\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 applyInputsToRadioButton() {\n const currentPInputs = this.pInputs();\n if (currentPInputs) {\n Object.assign(this.radioButton, currentPInputs);\n }\n }\n\n onValueChange(value: string | null) {\n this.onModelChange(value);\n this.value.set(value);\n }\n\n writeValue(value: string | null) {\n this.value.set(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 [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\n >{{ label() }}</label\n >\n}\n\n<div\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [class.flex-row]=\"orientation() === 'horizontal'\"\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\n>\n @for (option of options(); track option) {\n <div\n class=\"flex gap-1\"\n [class.items-center]=\"!isVertical()\"\n [class.gap-2]=\"!isVertical()\"\n [class.flex-col]=\"isVertical()\"\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\n [class.justify-end]=\"labelPosition() === 'start'\"\n >\n <p-radiobutton\n [size]=\"size()\"\n #radiobutton\n [ngModel]=\"value()\"\n [value]=\"option.value\"\n [inputId]=\"option?.label\"\n (ngModelChange)=\"onValueChange($event)\"\n (onClick)=\"onChange.emit($event)\"\n (onBlur)=\"onTouched()\"\n [disabled]=\"disabled() || readonly()\"\n [invalid]=\"isInvalid(ngControl?.control)\"\n class=\"leading-none\"\n ></p-radiobutton>\n\n @if (option?.label) {\n <label [for]=\"option?.label\">{{ option?.label }}</label>\n }\n </div>\n }\n</div>\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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
|
|
1
|
+
{"version":3,"file":"masterteam-components-radio-button-field.mjs","sources":["../../../../packages/masterteam/components/radio-button-field/radio-button-field.ts","../../../../packages/masterteam/components/radio-button-field/radio-button-field.html","../../../../packages/masterteam/components/radio-button-field/masterteam-components-radio-button-field.ts"],"sourcesContent":["import {\r\n Component,\r\n signal,\r\n input,\r\n output,\r\n inject,\r\n ChangeDetectionStrategy,\r\n computed,\r\n effect,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NgControl,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { RadioButton, RadioButtonModule } from 'primeng/radiobutton';\r\nimport { FieldValidation } from '@masterteam/components/field-validation';\r\nimport { isInvalid } from '@masterteam/components';\r\n\r\nexport interface radioOptions {\r\n label: string;\r\n value: string;\r\n}\r\n\r\n@Component({\r\n selector: 'mt-radio-button-field',\r\n standalone: true,\r\n imports: [FormsModule, RadioButtonModule, FieldValidation],\r\n templateUrl: './radio-button-field.html',\r\n styleUrls: ['./radio-button-field.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'grid gap-1',\r\n },\r\n})\r\nexport class RadioButtonField implements ControlValueAccessor {\r\n radioButton: RadioButton;\r\n labelPosition = input<'top' | 'start' | 'end' | 'bottom'>('end');\r\n orientation = input<'vertical' | 'horizontal'>('vertical');\r\n readonly = input<boolean>(false);\r\n pInputs = input<Partial<RadioButton>>();\r\n required = input<boolean>(false);\r\n options = input<radioOptions[]>([]);\r\n size = input<'small' | 'large' | undefined>();\r\n label = input<string>();\r\n onChange = output<string>();\r\n\r\n public ngControl = inject(NgControl, { self: true });\r\n\r\n isInvalid = isInvalid;\r\n\r\n isVertical = computed(\r\n () => this.labelPosition() === 'top' || this.labelPosition() === 'bottom',\r\n );\r\n\r\n requiredValidator = Validators.required;\r\n value = signal<string | null>(null);\r\n disabled = signal<boolean>(false);\r\n\r\n onTouched: () => void = () => {};\r\n onModelChange: (value: string | null) => void = () => {};\r\n\r\n constructor() {\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n\r\n // Effect to apply pInputs reactively when the pInputs signal changes\r\n effect(() => {\r\n const currentPInputs = this.pInputs();\r\n\r\n if (this.radioButton && currentPInputs) {\r\n this.applyInputsToRadioButton();\r\n }\r\n });\r\n\r\n // Effect to add required validator if required input is true\r\n effect(() => {\r\n if (this.ngControl?.control && this.required()) {\r\n this.ngControl.control.addValidators(Validators.required);\r\n this.ngControl.control.updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n applyInputsToRadioButton() {\r\n const currentPInputs = this.pInputs();\r\n if (currentPInputs) {\r\n Object.assign(this.radioButton, currentPInputs);\r\n }\r\n }\r\n\r\n onValueChange(value: string | null) {\r\n this.onModelChange(value);\r\n this.value.set(value);\r\n }\r\n\r\n writeValue(value: string | null) {\r\n this.value.set(value);\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(disabled: boolean) {\r\n this.disabled.set(disabled);\r\n }\r\n}\r\n","@if (label()) {\r\n <label\r\n [class.required]=\"ngControl?.control?.hasValidator(requiredValidator)\"\r\n >{{ label() }}</label\r\n >\r\n}\r\n\r\n<div\r\n class=\"flex gap-3\"\r\n [class.flex-col]=\"orientation() === 'vertical'\"\r\n [class.flex-row]=\"orientation() === 'horizontal'\"\r\n [class.flex-wrap]=\"orientation() === 'horizontal'\"\r\n>\r\n @for (option of options(); track option) {\r\n <div\r\n class=\"flex gap-1\"\r\n [class.items-center]=\"!isVertical()\"\r\n [class.gap-2]=\"!isVertical()\"\r\n [class.flex-col]=\"isVertical()\"\r\n [class.flex-col-reverse]=\"labelPosition() === 'top'\"\r\n [class.flex-row-reverse]=\"labelPosition() === 'start'\"\r\n [class.justify-end]=\"labelPosition() === 'start'\"\r\n >\r\n <p-radiobutton\r\n [size]=\"size()\"\r\n #radiobutton\r\n [ngModel]=\"value()\"\r\n [value]=\"option.value\"\r\n [inputId]=\"option?.label\"\r\n (ngModelChange)=\"onValueChange($event)\"\r\n (onClick)=\"onChange.emit($event)\"\r\n (onBlur)=\"onTouched()\"\r\n [disabled]=\"disabled() || readonly()\"\r\n [invalid]=\"isInvalid(ngControl?.control)\"\r\n class=\"leading-none\"\r\n ></p-radiobutton>\r\n\r\n @if (option?.label) {\r\n <label [for]=\"option?.label\">{{ option?.label }}</label>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<mt-field-validation [control]=\"ngControl?.control\"></mt-field-validation>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|