@masterteam/components 0.0.142 → 0.0.143

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.
@@ -33,7 +33,19 @@ interface EntityUserConfig extends EntityBaseConfig {
33
33
  interface EntityPercentageConfig extends EntityBaseConfig {
34
34
  color?: string;
35
35
  }
36
- type EntityConfiguration = EntityBaseConfig | EntityUserConfig | EntityPercentageConfig;
36
+ interface LeafLevelSavedConfig {
37
+ /** Position order for this level entity in the preview grid */
38
+ order: number;
39
+ /** Column span (1-24), persisted from drag-resize */
40
+ size?: EntitySize;
41
+ /** Status keys the user has chosen to display */
42
+ selectedStatuses: string[];
43
+ }
44
+ interface EntityLeafDetailsConfig extends EntityBaseConfig {
45
+ /** Per-level display overrides for LeafDetails entities */
46
+ leafLevels?: Record<string, LeafLevelSavedConfig>;
47
+ }
48
+ type EntityConfiguration = EntityBaseConfig | EntityUserConfig | EntityPercentageConfig | EntityLeafDetailsConfig;
37
49
  interface EntityStatusValue {
38
50
  key: string;
39
51
  display: string;
@@ -62,12 +74,52 @@ interface LeafDetailsStatusSummary {
62
74
  /** Always 0 in preview/configuration context; populated from runtime fetch */
63
75
  count: number;
64
76
  }
77
+ interface LeafDetailsCatalogStatusValue {
78
+ key: string;
79
+ display: string;
80
+ description?: string | null;
81
+ color: string | null;
82
+ icon?: string | null;
83
+ order?: number;
84
+ }
85
+ interface LeafDetailsCatalogLevelValue {
86
+ levelId: number;
87
+ levelName: string;
88
+ levelIcon: string;
89
+ statuses: LeafDetailsCatalogStatusValue[];
90
+ }
65
91
  interface LeafDetailsEntityValue {
66
92
  levelId: number;
67
93
  levelName: string;
68
94
  levelIcon: string;
69
95
  statuses: LeafDetailsStatusSummary[];
70
96
  }
97
+ type LeafDetailsEntityCollectionValue = LeafDetailsEntityValue[];
98
+ type LeafDetailsCatalogConfiguration = LeafDetailsCatalogLevelValue[];
99
+ type EntityPropertyConfiguration = Record<string, unknown> | LeafDetailsCatalogConfiguration | null;
100
+ interface LeafDetailsRuntimeStatusDetails {
101
+ key: string;
102
+ display: string;
103
+ color: string | null;
104
+ description?: string | null;
105
+ icon?: string | null;
106
+ order?: number;
107
+ }
108
+ interface LeafDetailsRuntimeStatusCount {
109
+ details: LeafDetailsRuntimeStatusDetails;
110
+ count: number;
111
+ }
112
+ interface LeafDetailsRuntimeChildSchema {
113
+ levelId: number;
114
+ levelName: string;
115
+ levelIcon: string;
116
+ totalCount?: number;
117
+ statuses: LeafDetailsRuntimeStatusCount[];
118
+ }
119
+ interface LeafDetailsRuntimeValue {
120
+ totalCount?: number;
121
+ childSchemas: LeafDetailsRuntimeChildSchema[];
122
+ }
71
123
  interface EntityAttachmentItemValue {
72
124
  id?: string;
73
125
  name?: string;
@@ -85,7 +137,8 @@ interface EntityData {
85
137
  name?: string;
86
138
  rawValue?: string;
87
139
  order?: number;
88
- value: string | EntityStatusValue | EntityUserValue | EntityLookupValue | EntityAttachmentValue | LeafDetailsEntityValue;
140
+ propertyConfiguration?: EntityPropertyConfiguration;
141
+ value: string | EntityStatusValue | EntityUserValue | EntityLookupValue | EntityAttachmentValue | LeafDetailsEntityValue | LeafDetailsEntityCollectionValue | LeafDetailsRuntimeValue;
89
142
  viewType: EntityViewType;
90
143
  type?: string;
91
144
  configuration?: EntityConfiguration;
@@ -100,13 +153,15 @@ interface EntityResizeEvent {
100
153
  type EntityFieldGap = 'compact' | 'normal' | 'relaxed';
101
154
  declare class EntityField {
102
155
  readonly label: _angular_core.InputSignal<string>;
156
+ readonly labelIconName: _angular_core.InputSignal<string | null>;
103
157
  readonly configuration: _angular_core.InputSignal<EntityConfiguration | null | undefined>;
104
158
  readonly gap: _angular_core.InputSignal<EntityFieldGap>;
105
159
  readonly hideLabel: _angular_core.Signal<boolean>;
106
160
  readonly labelPosition: _angular_core.Signal<_masterteam_components_entities.EntityLabelPosition>;
161
+ readonly labelContainerClass: _angular_core.Signal<string>;
107
162
  readonly containerClass: _angular_core.Signal<string>;
108
163
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityField, never>;
109
- 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>;
164
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityField, "mt-entity-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelIconName": { "alias": "labelIconName"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
110
165
  }
111
166
 
112
167
  declare class EntityText {
@@ -296,13 +351,23 @@ declare class EntityLeafDetails {
296
351
  readonly leafValue: _angular_core.Signal<LeafDetailsEntityValue | null>;
297
352
  /** Label shown below the badges: "Level Name (total)" */
298
353
  readonly labelWithTotal: _angular_core.Signal<string>;
299
- /** Always force label to top position, merged with any saved config */
300
- readonly labelTopConfig: _angular_core.Signal<EntityBaseConfig>;
354
+ readonly labelIcon: _angular_core.Signal<string | null>;
355
+ /** Default LeafDetails labels to top, while still honoring saved configuration */
356
+ readonly fieldConfig: _angular_core.Signal<EntityBaseConfig>;
301
357
  statusColor(color: string | null): string;
302
358
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLeafDetails, never>;
303
359
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLeafDetails, "mt-entity-leaf-details", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
304
360
  }
305
361
 
362
+ declare const LEAF_DETAILS_KEY_SEPARATOR = "::leaflevel::";
363
+ declare function isLeafDetailsValue(value: unknown): value is LeafDetailsEntityValue;
364
+ declare function isLeafDetailsCollectionValue(value: unknown): value is LeafDetailsEntityCollectionValue;
365
+ declare function isLeafDetailsCatalogConfiguration(value: unknown): value is LeafDetailsCatalogConfiguration;
366
+ declare function isLeafDetailsRuntimeValue(value: unknown): value is LeafDetailsRuntimeValue;
367
+ declare function isLeafDetailsSyntheticKey(key?: string | null): boolean;
368
+ declare function expandLeafDetailsEntity(entity: EntityData): EntityData[];
369
+ declare function buildDisplayEntities(entities: EntityData[]): EntityData[];
370
+
306
371
  declare class EntityPreview {
307
372
  /** Single entity data to display */
308
373
  readonly data: _angular_core.InputSignal<EntityData>;
@@ -316,8 +381,8 @@ declare class EntitiesPreview {
316
381
  /** Array of entity data to display */
317
382
  readonly entities: _angular_core.InputSignal<EntityData[]>;
318
383
  readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
319
- /** Entities sorted by order */
320
- readonly sortedEntities: _angular_core.Signal<EntityData[]>;
384
+ /** Entities expanded and sorted by order */
385
+ readonly displayEntities: _angular_core.Signal<EntityData[]>;
321
386
  /** Returns the grid-column span for a given entity size (1-24) */
322
387
  getColSpan(entity: EntityData): string;
323
388
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntitiesPreview, never>;
@@ -381,8 +446,8 @@ declare class EntitiesManage extends EntitiesResizeBase {
381
446
  readonly entitiesReordered: _angular_core.OutputEmitterRef<EntityData[]>;
382
447
  /** Emits when an entity cell is clicked (for opening edit drawer) */
383
448
  readonly entityClicked: _angular_core.OutputEmitterRef<EntityData>;
384
- /** Entities sorted by their order field */
385
- readonly sortedEntities: _angular_core.Signal<EntityData[]>;
449
+ /** Entities expanded and sorted by their configured order */
450
+ readonly displayEntities: _angular_core.Signal<EntityData[]>;
386
451
  /** Returns the grid-column span for a given entity size (1-24) */
387
452
  getColSpan(entity: EntityData): string;
388
453
  /** Handle drag-drop reorder */
@@ -392,5 +457,5 @@ declare class EntitiesManage extends EntitiesResizeBase {
392
457
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntitiesManage, "mt-entities-manage", never, { "entities": { "alias": "entities"; "required": true; "isSignal": true; }; }, { "entities": "entitiesChange"; "entitiesReordered": "entitiesReordered"; "entityClicked": "entityClicked"; }, never, never, true, never>;
393
458
  }
394
459
 
395
- export { EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLeafDetails, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityStatus, EntityText, EntityUser };
396
- export type { EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityConfiguration, EntityData, EntityLabelPosition, EntityLookupValue, EntityPercentageConfig, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType, LeafDetailsEntityValue, LeafDetailsStatusSummary };
460
+ export { EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLeafDetails, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityStatus, EntityText, EntityUser, LEAF_DETAILS_KEY_SEPARATOR, buildDisplayEntities, expandLeafDetailsEntity, isLeafDetailsCatalogConfiguration, isLeafDetailsCollectionValue, isLeafDetailsRuntimeValue, isLeafDetailsSyntheticKey, isLeafDetailsValue };
461
+ export type { EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityConfiguration, EntityData, EntityLabelPosition, EntityLeafDetailsConfig, EntityLookupValue, EntityPercentageConfig, EntityPropertyConfiguration, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType, LeafDetailsCatalogConfiguration, LeafDetailsCatalogLevelValue, LeafDetailsCatalogStatusValue, LeafDetailsEntityCollectionValue, LeafDetailsEntityValue, LeafDetailsRuntimeChildSchema, LeafDetailsRuntimeStatusCount, LeafDetailsRuntimeStatusDetails, LeafDetailsRuntimeValue, LeafDetailsStatusSummary, LeafLevelSavedConfig };
@@ -86,6 +86,7 @@ interface TableAction {
86
86
  }
87
87
 
88
88
  declare class Table {
89
+ private static readonly LOADING_COLUMN_COUNT;
89
90
  selectionChange: _angular_core.OutputEmitterRef<any[]>;
90
91
  cellChange: _angular_core.OutputEmitterRef<CellChangeEvent>;
91
92
  lazyLoad: _angular_core.OutputEmitterRef<any>;
@@ -143,6 +144,7 @@ declare class Table {
143
144
  private readonly storageHydrated;
144
145
  protected activeFilterCount: _angular_core.Signal<number>;
145
146
  protected filteredData: _angular_core.Signal<any[]>;
147
+ protected renderedColumns: _angular_core.Signal<ColumnDef[]>;
146
148
  protected displayData: _angular_core.Signal<any[]>;
147
149
  protected totalRecords: _angular_core.Signal<number>;
148
150
  protected paginatedData: _angular_core.Signal<any[]>;