@masterteam/components 0.0.124 → 0.0.126

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.
@@ -1,3 +1,4 @@
1
+ import * as _masterteam_components_entities from '@masterteam/components/entities';
1
2
  import * as _angular_core from '@angular/core';
2
3
  import { ElementRef, NgZone } from '@angular/core';
3
4
  import { HttpContext } from '@angular/common/http';
@@ -5,6 +6,7 @@ import { MTIcon } from '@masterteam/icons';
5
6
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
6
7
 
7
8
  type EntityViewType = 'Text' | 'LongText' | 'Date' | 'DateTime' | 'Percentage' | 'Status' | 'Currency' | 'Checkbox' | 'User' | 'Lookup' | 'Attachment' | 'LookupMatrix';
9
+ type EntityLabelPosition = 'top' | 'bottom';
8
10
  /** Entity size – controls column span (1-24) inside a 24-column grid */
9
11
  type EntitySize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24;
10
12
  interface EntityBaseConfig {
@@ -12,8 +14,14 @@ interface EntityBaseConfig {
12
14
  size?: EntitySize;
13
15
  /** Whether to show a dashed border around the entity card */
14
16
  showBorder?: boolean;
15
- /** Whether to hide the entity name label */
17
+ /** Whether to hide the entity name label. Prefer hideLabel for new config. */
16
18
  hideName?: boolean;
19
+ /** Whether to hide the entity label */
20
+ hideLabel?: boolean;
21
+ /** Controls whether the label is rendered above or below the value */
22
+ labelPosition?: EntityLabelPosition;
23
+ /** Legacy misspelled alias kept for compatibility */
24
+ labelPostion?: EntityLabelPosition;
17
25
  }
18
26
  interface EntityUserConfig extends EntityBaseConfig {
19
27
  showDisplayName?: boolean;
@@ -74,6 +82,18 @@ interface EntityResizeEvent {
74
82
  newSize: EntitySize;
75
83
  }
76
84
 
85
+ type EntityFieldGap = 'compact' | 'normal' | 'relaxed';
86
+ declare class EntityField {
87
+ readonly label: _angular_core.InputSignal<string>;
88
+ readonly configuration: _angular_core.InputSignal<EntityConfiguration | null | undefined>;
89
+ readonly gap: _angular_core.InputSignal<EntityFieldGap>;
90
+ readonly hideLabel: _angular_core.Signal<boolean>;
91
+ readonly labelPosition: _angular_core.Signal<_masterteam_components_entities.EntityLabelPosition>;
92
+ readonly containerClass: _angular_core.Signal<string>;
93
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityField, never>;
94
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityField, "mt-entity-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
95
+ }
96
+
77
97
  declare class EntityText {
78
98
  /** Full entity data object */
79
99
  readonly data: _angular_core.InputSignal<EntityData | undefined>;
@@ -82,7 +102,6 @@ declare class EntityText {
82
102
  readonly value: _angular_core.InputSignal<string | undefined>;
83
103
  readonly displayName: _angular_core.Signal<string>;
84
104
  readonly displayValue: _angular_core.Signal<string>;
85
- readonly hideName: _angular_core.Signal<boolean>;
86
105
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityText, never>;
87
106
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityText, "mt-entity-text", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
88
107
  }
@@ -95,7 +114,6 @@ declare class EntityDate {
95
114
  readonly value: _angular_core.InputSignal<string | undefined>;
96
115
  readonly displayName: _angular_core.Signal<string>;
97
116
  readonly displayValue: _angular_core.Signal<string>;
98
- readonly hideName: _angular_core.Signal<boolean>;
99
117
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityDate, never>;
100
118
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityDate, "mt-entity-date", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
101
119
  }
@@ -117,7 +135,6 @@ declare class EntityStatus {
117
135
  }>;
118
136
  readonly emptyLabel = "_";
119
137
  readonly statusLabel: _angular_core.Signal<string>;
120
- readonly hideName: _angular_core.Signal<boolean>;
121
138
  private hexToRgba;
122
139
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityStatus, never>;
123
140
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityStatus, "mt-entity-status", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -172,7 +189,6 @@ declare class EntityCurrency {
172
189
  readonly value: _angular_core.InputSignal<string | undefined>;
173
190
  readonly displayName: _angular_core.Signal<string>;
174
191
  readonly displayValue: _angular_core.Signal<string>;
175
- readonly hideName: _angular_core.Signal<boolean>;
176
192
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityCurrency, never>;
177
193
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityCurrency, "mt-entity-currency", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
178
194
  }
@@ -201,7 +217,6 @@ declare class EntityLongText {
201
217
  readonly value: _angular_core.InputSignal<string | undefined>;
202
218
  readonly displayName: _angular_core.Signal<string>;
203
219
  readonly displayValue: _angular_core.Signal<string>;
204
- readonly hideName: _angular_core.Signal<boolean>;
205
220
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLongText, never>;
206
221
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLongText, "mt-entity-long-text", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
207
222
  }
@@ -223,7 +238,6 @@ declare class EntityLookup {
223
238
  }>;
224
239
  readonly emptyLabel = "_";
225
240
  readonly lookupLabel: _angular_core.Signal<string>;
226
- readonly hideName: _angular_core.Signal<boolean>;
227
241
  private hexToRgba;
228
242
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLookup, never>;
229
243
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLookup, "mt-entity-lookup", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -233,13 +247,12 @@ type AttachmentReference = EntityAttachmentItemValue | string;
233
247
  declare class EntityAttachment {
234
248
  readonly data: _angular_core.InputSignal<EntityData | undefined>;
235
249
  readonly name: _angular_core.InputSignal<string | undefined>;
236
- readonly shape: _angular_core.InputSignal<"default" | "compact">;
250
+ readonly shape: _angular_core.InputSignal<"compact" | "default">;
237
251
  readonly value: _angular_core.InputSignal<string | EntityAttachmentItemValue | EntityAttachmentValue | null | undefined>;
238
252
  readonly endPoint: _angular_core.InputSignal<string>;
239
253
  readonly context: _angular_core.InputSignal<HttpContext | undefined>;
240
254
  private readonly httpClient;
241
255
  readonly displayName: _angular_core.Signal<string>;
242
- readonly hideName: _angular_core.Signal<boolean>;
243
256
  readonly loading: _angular_core.WritableSignal<boolean>;
244
257
  readonly attachments: _angular_core.WritableSignal<EntityAttachmentItemValue[]>;
245
258
  readonly attachmentReferences: _angular_core.Signal<AttachmentReference[]>;
@@ -266,7 +279,7 @@ declare class EntityAttachment {
266
279
  declare class EntityPreview {
267
280
  /** Single entity data to display */
268
281
  readonly data: _angular_core.InputSignal<EntityData>;
269
- readonly attachmentShape: _angular_core.InputSignal<"default" | "compact">;
282
+ readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
270
283
  readonly previewType: _angular_core.Signal<"Text" | "LongText" | "Date" | "DateTime" | "Percentage" | "Status" | "Currency" | "Checkbox" | "User" | "Lookup" | "Attachment">;
271
284
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityPreview, never>;
272
285
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityPreview, "mt-entity-preview", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "attachmentShape": { "alias": "attachmentShape"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -275,7 +288,7 @@ declare class EntityPreview {
275
288
  declare class EntitiesPreview {
276
289
  /** Array of entity data to display */
277
290
  readonly entities: _angular_core.InputSignal<EntityData[]>;
278
- readonly attachmentShape: _angular_core.InputSignal<"default" | "compact">;
291
+ readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
279
292
  /** Entities sorted by order */
280
293
  readonly sortedEntities: _angular_core.Signal<EntityData[]>;
281
294
  /** Returns the grid-column span for a given entity size (1-24) */
@@ -350,5 +363,5 @@ declare class EntitiesManage extends EntitiesResizeBase {
350
363
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntitiesManage, "mt-entities-manage", never, { "entities": { "alias": "entities"; "required": true; "isSignal": true; }; }, { "entities": "entitiesChange"; "entitiesReordered": "entitiesReordered"; }, never, never, true, never>;
351
364
  }
352
365
 
353
- export { EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityStatus, EntityText, EntityUser };
354
- export type { EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityConfiguration, EntityData, EntityLookupValue, EntityPercentageConfig, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType };
366
+ export { EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityStatus, EntityText, EntityUser };
367
+ export type { EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityConfiguration, EntityData, EntityLabelPosition, EntityLookupValue, EntityPercentageConfig, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType };
@@ -6,25 +6,29 @@ import { RadioItem } from '@masterteam/components/radio-cards';
6
6
  declare class RadioCardsField implements ControlValueAccessor {
7
7
  readonly circle: _angular_core.InputSignalWithTransform<boolean, unknown>;
8
8
  readonly label: _angular_core.InputSignal<string | undefined>;
9
+ readonly readonly: _angular_core.InputSignal<boolean>;
9
10
  readonly required: _angular_core.InputSignal<boolean>;
10
11
  readonly color: _angular_core.InputSignal<string>;
11
12
  readonly size: _angular_core.InputSignal<"small" | "medium" | "large">;
12
- readonly options: _angular_core.InputSignal<RadioItem[]>;
13
+ readonly optionLabel: _angular_core.InputSignal<string>;
14
+ readonly optionValue: _angular_core.InputSignal<string>;
15
+ readonly options: _angular_core.InputSignal<unknown[]>;
13
16
  readonly itemTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
14
17
  protected selectedId: _angular_core.WritableSignal<string | number | null>;
15
18
  protected isDisabled: _angular_core.WritableSignal<boolean>;
19
+ protected readonly normalizedOptions: _angular_core.Signal<RadioItem[]>;
16
20
  requiredValidator: typeof Validators.required;
17
21
  ngControl: NgControl | null;
18
22
  constructor();
19
23
  private onChange;
20
24
  private onTouched;
21
- writeValue(value: string | number): void;
22
- registerOnChange(fn: (value: string | number) => void): void;
25
+ writeValue(value: string | number | null): void;
26
+ registerOnChange(fn: (value: string | number | null) => void): void;
23
27
  registerOnTouched(fn: () => void): void;
24
28
  setDisabledState(isDisabled: boolean): void;
25
29
  onSelectionChange(selectedItem: RadioItem): void;
26
30
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioCardsField, never>;
27
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioCardsField, "mt-radio-cards-field", never, { "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, ["itemTemplate"], never, true, never>;
31
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioCardsField, "mt-radio-cards-field", never, { "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, ["itemTemplate"], never, true, never>;
28
32
  }
29
33
 
30
34
  export { RadioCardsField };
@@ -38,6 +38,11 @@ interface FilterValue {
38
38
  from?: Date | null;
39
39
  to?: Date | null;
40
40
  }
41
+ interface TableStatusMapValue {
42
+ display?: string;
43
+ color?: string;
44
+ description?: string;
45
+ }
41
46
  /**
42
47
  * Table filters map
43
48
  */
@@ -63,6 +68,7 @@ interface ColumnDef {
63
68
  type?: ColumnType;
64
69
  customCellTpl?: TemplateRef<any>;
65
70
  filterConfig?: FilterConfig;
71
+ statusMap?: Record<string, TableStatusMapValue>;
66
72
  sortable?: boolean;
67
73
  readonly?: boolean;
68
74
  width?: string;
@@ -136,6 +142,7 @@ declare class Table {
136
142
  type?: _masterteam_components_table.ColumnType;
137
143
  customCellTpl?: TemplateRef<any>;
138
144
  filterConfig?: _masterteam_components_table.FilterConfig;
145
+ statusMap?: Record<string, _masterteam_components_table.TableStatusMapValue>;
139
146
  sortable?: boolean;
140
147
  readonly?: boolean;
141
148
  width?: string;
@@ -173,6 +180,14 @@ declare class Table {
173
180
  rowAction(event: Event, action: TableAction, row: any): void;
174
181
  private buildUserEntityData;
175
182
  private buildStatusEntityData;
183
+ private resolveStatusValue;
184
+ private unwrapStatusValue;
185
+ private isEntityStatusCompatibilityColumn;
186
+ private isStatusColumnKey;
187
+ private resolveStatusMapValue;
188
+ private resolveDefaultStatusColor;
189
+ private normalizeStatusToken;
190
+ private readStringProperty;
176
191
  /**
177
192
  * Gets the entity data for an 'entity' type column.
178
193
  * The row data is expected to already be in EntityData format.
@@ -207,7 +222,7 @@ declare class TableFilter implements ControlValueAccessor {
207
222
  private onTouched;
208
223
  protected filterableColumns: _angular_core.Signal<{
209
224
  filterConfig: {
210
- type: "boolean" | "text" | "select" | "date" | "user";
225
+ type: "boolean" | "text" | "date" | "user" | "select";
211
226
  label?: string;
212
227
  options?: FilterOption[];
213
228
  };
@@ -215,6 +230,7 @@ declare class TableFilter implements ControlValueAccessor {
215
230
  label: string;
216
231
  type?: _masterteam_components_table.ColumnType;
217
232
  customCellTpl?: _angular_core.TemplateRef<any>;
233
+ statusMap?: Record<string, _masterteam_components_table.TableStatusMapValue>;
218
234
  sortable?: boolean;
219
235
  readonly?: boolean;
220
236
  width?: string;
@@ -236,4 +252,4 @@ declare class TableFilter implements ControlValueAccessor {
236
252
  }
237
253
 
238
254
  export { Table, TableFilter };
239
- export type { CellChangeEvent, ColumnDef, ColumnType, ColumnTypeForActionCell, FilterConfig, FilterOption, FilterValue, TableAction, TableActionConfirmationConfig, TableActionShape, TableFilters };
255
+ export type { CellChangeEvent, ColumnDef, ColumnType, ColumnTypeForActionCell, FilterConfig, FilterOption, FilterValue, TableAction, TableActionConfirmationConfig, TableActionShape, TableFilters, TableStatusMapValue };
@@ -1,4 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
+ import { AfterViewInit } from '@angular/core';
2
3
  import * as i1 from 'primeng/tooltip';
3
4
 
4
5
  declare class Tooltip {
@@ -6,4 +7,20 @@ declare class Tooltip {
6
7
  static ɵdir: i0.ɵɵDirectiveDeclaration<Tooltip, "[mtTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1.Tooltip; inputs: { "pTooltip": "mtTooltip"; "tooltipPosition": "tooltipPosition"; "tooltipEvent": "tooltipEvent"; "appendTo": "appendTo"; "tooltipStyleClass": "tooltipStyleClass"; "escape": "escape"; "showDelay": "showDelay"; "hideDelay": "hideDelay"; "life": "life"; "positionTop": "positionTop"; "positionLeft": "positionLeft"; "autoHide": "autoHide"; "fitContent": "fitContent"; "hideOnEscape": "hideOnEscape"; "tooltipDisabled": "tooltipDisabled"; }; outputs: {}; }]>;
7
8
  }
8
9
 
9
- export { Tooltip };
10
+ declare class TruncateTooltip implements AfterViewInit {
11
+ private readonly elementRef;
12
+ private readonly zone;
13
+ private readonly destroyRef;
14
+ private readonly tooltip;
15
+ private resizeObserver?;
16
+ private mutationObserver?;
17
+ private syncTimeout;
18
+ ngAfterViewInit(): void;
19
+ syncTooltipState(): void;
20
+ private queueSync;
21
+ private syncTooltip;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<TruncateTooltip, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TruncateTooltip, "[mtTruncateTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1.Tooltip; inputs: { "tooltipPosition": "tooltipPosition"; "tooltipEvent": "tooltipEvent"; "appendTo": "appendTo"; "tooltipStyleClass": "tooltipStyleClass"; "escape": "escape"; "showDelay": "showDelay"; "hideDelay": "hideDelay"; "life": "life"; "positionTop": "positionTop"; "positionLeft": "positionLeft"; "autoHide": "autoHide"; "fitContent": "fitContent"; "hideOnEscape": "hideOnEscape"; }; outputs: {}; }]>;
24
+ }
25
+
26
+ export { Tooltip, TruncateTooltip };