@masterteam/components 0.0.162 → 0.0.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/common.css +1 -1
- package/assets/i18n/ar.json +24 -0
- package/assets/i18n/en.json +24 -0
- package/fesm2022/masterteam-components-business-fields.mjs +290 -90
- package/fesm2022/masterteam-components-business-fields.mjs.map +1 -1
- package/fesm2022/masterteam-components-color-picker-field.mjs +11 -3
- package/fesm2022/masterteam-components-color-picker-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-entities.mjs +3 -2
- package/fesm2022/masterteam-components-entities.mjs.map +1 -1
- package/fesm2022/masterteam-components-field-validation.mjs +19 -18
- package/fesm2022/masterteam-components-field-validation.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-table.mjs +1 -11
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-text-field.mjs +21 -26
- package/fesm2022/masterteam-components-text-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-toast.mjs +28 -23
- package/fesm2022/masterteam-components-toast.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-user-search-field.mjs +7 -3
- package/fesm2022/masterteam-components-user-search-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +1 -1
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +2 -2
- package/types/masterteam-components-business-fields.d.ts +67 -21
- package/types/masterteam-components-entities.d.ts +1 -0
- package/types/masterteam-components-text-field.d.ts +11 -2
- package/types/masterteam-components-toast.d.ts +1 -0
- package/types/masterteam-components-user-search-field.d.ts +2 -0
- package/types/masterteam-components.d.ts +7 -5
|
@@ -209,6 +209,7 @@ class EntityUser {
|
|
|
209
209
|
});
|
|
210
210
|
/** Full entity data object */
|
|
211
211
|
data = input(...(ngDevMode ? [undefined, { debugName: "data" }] : /* istanbul ignore next */ []));
|
|
212
|
+
displayName = computed(() => this.data()?.name ?? '', ...(ngDevMode ? [{ debugName: "displayName" }] : /* istanbul ignore next */ []));
|
|
212
213
|
/** Resolved user value object from data().value */
|
|
213
214
|
userValue = computed(() => {
|
|
214
215
|
const val = this.data()?.value;
|
|
@@ -231,11 +232,11 @@ class EntityUser {
|
|
|
231
232
|
hasContactInfo = computed(() => (this.showPhoneNumber() && !!this.phoneNumber()) ||
|
|
232
233
|
(this.showEmail() && !!this.email()), ...(ngDevMode ? [{ debugName: "hasContactInfo" }] : /* istanbul ignore next */ []));
|
|
233
234
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntityUser, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntityUser, isStandalone: true, selector: "mt-entity-user", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center gap-2\">\
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntityUser, isStandalone: true, selector: "mt-entity-user", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mt-entity-field\n [label]=\"displayName()\"\n [configuration]=\"data()?.configuration\"\n gap=\"normal\"\n>\n <div class=\"flex items-center gap-2\">\n <mt-avatar\n [image]=\"\n userPhoto()\n ? (userPhoto() | secureImage: true : httpContext : 'avatar/')\n : ''\n \"\n [icon]=\"'user.user-01'\"\n styleClass=\"w-10! h-10! text-white! text-xxl! bg-primary-500!\"\n ></mt-avatar>\n\n @if (showDisplayName()) {\n <div class=\"flex flex-col min-w-0 flex-1\">\n <span class=\"text-sm text-gray-700 truncate\">{{ userName() }}</span>\n @if (labelText()) {\n <span class=\"text-xs text-gray-500 truncate\">{{ labelText() }}</span>\n }\n </div>\n }\n\n @if (hasContactInfo()) {\n <div class=\"flex items-center gap-1.5 ms-auto shrink-0\">\n @if (showPhoneNumber() && phoneNumber()) {\n <a\n [href]=\"'tel:' + phoneNumber()\"\n [attr.aria-label]=\"phoneNumber()\"\n [mtTooltip]=\"phoneNumber()\"\n tooltipPosition=\"top\"\n class=\"inline-flex\"\n >\n <mt-avatar\n icon=\"communication.phone\"\n badgeSeverity=\"secondary\"\n styleClass=\"bg-surface-100! text-surface-600! h-7! w-7! text-sm! font-semibold!\"\n />\n </a>\n }\n @if (showEmail() && email()) {\n <a\n [href]=\"'mailto:' + email()\"\n [attr.aria-label]=\"email()\"\n [mtTooltip]=\"email()\"\n tooltipPosition=\"top\"\n class=\"inline-flex\"\n >\n <mt-avatar\n styleClass=\"bg-surface-100! text-surface-600! h-7! w-7! text-sm! font-semibold!\"\n icon=\"communication.mail-01\"\n badgeSeverity=\"secondary\"\n />\n </a>\n }\n </div>\n }\n </div>\n</mt-entity-field>\n", dependencies: [{ kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "directive", type: Tooltip, selector: "[mtTooltip]" }, { kind: "component", type: EntityField, selector: "mt-entity-field", inputs: ["label", "labelIconName", "configuration", "gap"] }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] });
|
|
235
236
|
}
|
|
236
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntityUser, decorators: [{
|
|
237
238
|
type: Component,
|
|
238
|
-
args: [{ selector: 'mt-entity-user', standalone: true, imports: [Avatar, Tooltip, SecureImagePipe], template: "<div class=\"flex items-center gap-2\">\
|
|
239
|
+
args: [{ selector: 'mt-entity-user', standalone: true, imports: [Avatar, Tooltip, SecureImagePipe, EntityField], template: "<mt-entity-field\n [label]=\"displayName()\"\n [configuration]=\"data()?.configuration\"\n gap=\"normal\"\n>\n <div class=\"flex items-center gap-2\">\n <mt-avatar\n [image]=\"\n userPhoto()\n ? (userPhoto() | secureImage: true : httpContext : 'avatar/')\n : ''\n \"\n [icon]=\"'user.user-01'\"\n styleClass=\"w-10! h-10! text-white! text-xxl! bg-primary-500!\"\n ></mt-avatar>\n\n @if (showDisplayName()) {\n <div class=\"flex flex-col min-w-0 flex-1\">\n <span class=\"text-sm text-gray-700 truncate\">{{ userName() }}</span>\n @if (labelText()) {\n <span class=\"text-xs text-gray-500 truncate\">{{ labelText() }}</span>\n }\n </div>\n }\n\n @if (hasContactInfo()) {\n <div class=\"flex items-center gap-1.5 ms-auto shrink-0\">\n @if (showPhoneNumber() && phoneNumber()) {\n <a\n [href]=\"'tel:' + phoneNumber()\"\n [attr.aria-label]=\"phoneNumber()\"\n [mtTooltip]=\"phoneNumber()\"\n tooltipPosition=\"top\"\n class=\"inline-flex\"\n >\n <mt-avatar\n icon=\"communication.phone\"\n badgeSeverity=\"secondary\"\n styleClass=\"bg-surface-100! text-surface-600! h-7! w-7! text-sm! font-semibold!\"\n />\n </a>\n }\n @if (showEmail() && email()) {\n <a\n [href]=\"'mailto:' + email()\"\n [attr.aria-label]=\"email()\"\n [mtTooltip]=\"email()\"\n tooltipPosition=\"top\"\n class=\"inline-flex\"\n >\n <mt-avatar\n styleClass=\"bg-surface-100! text-surface-600! h-7! w-7! text-sm! font-semibold!\"\n icon=\"communication.mail-01\"\n badgeSeverity=\"secondary\"\n />\n </a>\n }\n </div>\n }\n </div>\n</mt-entity-field>\n" }]
|
|
239
240
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
|
|
240
241
|
|
|
241
242
|
class EntityPercentage {
|