invensys-ng 21.3.7 → 21.3.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "invensys-ng",
3
- "version": "21.3.7",
3
+ "version": "21.3.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ulbrichFrauendorf/invensys-ng"
@@ -30,9 +30,9 @@
30
30
  --color-border: #{color.get-color("gray", 300)};
31
31
 
32
32
  // Disabled state colors
33
- --color-disabled-background: #f5f5f5;
33
+ --color-disabled-background: #f1f5f9;
34
34
  --color-disabled-border: #e2e8f0;
35
- --color-text-disabled: #{color.get-color("gray", 700)};
35
+ --color-text-disabled: #94a3b8;
36
36
 
37
37
  // Surface colors
38
38
  --surface-ground: #f8fafc;
@@ -70,9 +70,9 @@
70
70
  --color-border: #5e564b;
71
71
 
72
72
  // Disabled state colors
73
- --color-disabled-background: #1f2937;
74
- --color-disabled-border: #4b4e50;
75
- --color-text-disabled: #ffffffde;
73
+ --color-disabled-background: #1e293b;
74
+ --color-disabled-border: #334155;
75
+ --color-text-disabled: #94a3b8;
76
76
 
77
77
  // Surface colors
78
78
  --surface-ground: #000510;
@@ -1,5 +1,5 @@
1
- @use 'sass:map';
2
- @use './color-palette.scss' as colors;
1
+ @use "sass:map";
2
+ @use "./color-palette.scss" as colors;
3
3
 
4
4
  @function get-color($name, $shade) {
5
5
  $shades: map.get(colors.$colors, $name);
@@ -13,4 +13,4 @@
13
13
  }
14
14
 
15
15
  @return $value;
16
- }
16
+ }
@@ -0,0 +1,46 @@
1
+ @use './variables' as vars;
2
+
3
+ // Shared message/tile layout. Keep Whisper and workflow tiles visually aligned.
4
+ @mixin frame() {
5
+ border-radius: vars.$borderRadius;
6
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
7
+ overflow: hidden;
8
+ min-height: 56px;
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+ @mixin content() {
13
+ display: flex;
14
+ align-items: center;
15
+ padding: 12px 16px;
16
+ width: 100%;
17
+ gap: 12px;
18
+ min-height: 56px;
19
+ }
20
+ @mixin icon() {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ flex-shrink: 0;
25
+ margin-top: 2px;
26
+ i { font-size: 20px; }
27
+ }
28
+ @mixin text() {
29
+ flex: 1;
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 10px;
33
+ min-width: 0;
34
+ }
35
+ @mixin summary() {
36
+ font-weight: 600;
37
+ font-size: 1em;
38
+ line-height: 1.4;
39
+ word-wrap: break-word;
40
+ }
41
+ @mixin detail() {
42
+ font-size: 0.9em;
43
+ line-height: 1.4;
44
+ word-wrap: break-word;
45
+ opacity: 0.9;
46
+ }
@@ -220,6 +220,10 @@ declare class IButton implements AfterViewInit {
220
220
  * @default 'button'
221
221
  */
222
222
  type: 'button' | 'submit' | 'reset';
223
+ /** Accessible name for icon-only actions. Visible text is used when omitted. */
224
+ ariaLabel?: string;
225
+ /** Expansion state for a button that reveals or hides content. */
226
+ ariaExpanded: boolean | null;
223
227
  /**
224
228
  * Whether the button is disabled
225
229
  * @default false
@@ -287,7 +291,7 @@ declare class IButton implements AfterViewInit {
287
291
  */
288
292
  focus(): void;
289
293
  static ɵfac: i0.ɵɵFactoryDeclaration<IButton, never>;
290
- static ɵcmp: i0.ɵɵComponentDeclaration<IButton, "i-button", never, { "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
294
+ static ɵcmp: i0.ɵɵComponentDeclaration<IButton, "i-button", never, { "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
291
295
  }
292
296
 
293
297
  /**
@@ -1452,12 +1456,16 @@ declare class IDialogActions {
1452
1456
  showCancel: boolean;
1453
1457
  showSubmit: boolean;
1454
1458
  submitDisabled: boolean;
1459
+ /** Show progress and prevent repeated submission while a request is pending. */
1460
+ submitLoading: boolean;
1461
+ /** Use an outlined action when the dialog is secondary to another workflow. */
1462
+ submitOutlined: boolean;
1455
1463
  cancelEvent: EventEmitter<void>;
1456
1464
  submitEvent: EventEmitter<void>;
1457
1465
  onCancel(): void;
1458
1466
  onSubmit(): void;
1459
1467
  static ɵfac: i0.ɵɵFactoryDeclaration<IDialogActions, never>;
1460
- static ɵcmp: i0.ɵɵComponentDeclaration<IDialogActions, "i-dialog-actions", never, { "submitLabel": { "alias": "submitLabel"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "showSubmit": { "alias": "showSubmit"; "required": false; }; "submitDisabled": { "alias": "submitDisabled"; "required": false; }; }, { "cancelEvent": "cancelEvent"; "submitEvent": "submitEvent"; }, never, never, true, never>;
1468
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDialogActions, "i-dialog-actions", never, { "submitLabel": { "alias": "submitLabel"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "showSubmit": { "alias": "showSubmit"; "required": false; }; "submitDisabled": { "alias": "submitDisabled"; "required": false; }; "submitLoading": { "alias": "submitLoading"; "required": false; }; "submitOutlined": { "alias": "submitOutlined"; "required": false; }; }, { "cancelEvent": "cancelEvent"; "submitEvent": "submitEvent"; }, never, never, true, never>;
1461
1469
  }
1462
1470
 
1463
1471
  type IDividerAlign = 'start' | 'center' | 'end';
@@ -5755,5 +5763,187 @@ interface ZIndexUtilsInterface {
5755
5763
  }
5756
5764
  declare function ZIndexUtils(): ZIndexUtilsInterface;
5757
5765
 
5758
- export { AbstractDialog, CLAIMS_CHECKER, ConfirmationDialogComponent, ConfirmationDialogService, DataUpdateEventService, DialogService, EmptyStateComponent, IAccordion, IAccordionList, IButton, ICalendar, ICard, IChart, ICheckbox, IChip, IChipsComponent, IDialog, IDialogActions, IDialogBase, IDivider, IInputText, IListbox, IMessage, IMultiSelect, IOverlayPanel, IPanel, IPlaceholder, IProgressSpinner, IRadioButton, ISelect, IStep, IStepper, ITabPanel, ITable, ITabs, ITag, ITextarea, IToggle, ITreeView, IWhisper, LayoutComponent, LayoutService, LocalStorageColorSchemeKey, MenuComponent, NoContentComponent, SeoService, SidebarComponent, StructuredDataService, TooltipComponent, TooltipDirective, TopbarComponent, UniqueComponentId, WhisperService, ZIndexUtils, lastId, provideMenuClaimsChecker };
5759
- export type { AppConfig, ArticleSchema, BreadcrumbItem, CalendarView, ChipItem, ChipRemoveEvent, ClaimsChecker, ConfirmationDialogConfig, DialogBreakpoints, DialogContentStyle, FilterEvent, GridAction, GridData, GridDetails, IButtonSize, IChartData, IChartDataSet, IChartDisplay, IChartType, IChartTypeExtended, ICheckboxSize, IDividerAlign, IDividerLayout, IDynamicDialogConfig, IDynamicDialogRef, IInputBackgroundStyle, ITagSize, ITextareaBackgroundStyle, IToggleSize, ITreeNode, IWhisperMessage, IWhisperOptions, IWhisperPosition, LayoutConfig, ListboxOption, MenuItem, MenuModel, MessageSize, MultiSelectOption, OrganizationSchema, PlaceholderArrowDirection, SelectOption, SeoConfig, SortEvent, StepperChangeEvent, StepperOrientation, TableColumn, TableDownloadEvent, TooltipPosition, TreeSelectionMode, WebSiteSchema };
5766
+ /** A selectable item in a grouped field catalog. Keys must be unique. */
5767
+ interface FieldPickerOption {
5768
+ key: string;
5769
+ label: string;
5770
+ group?: string;
5771
+ description?: string;
5772
+ disabled?: boolean;
5773
+ }
5774
+ /**
5775
+ * Searchable, grouped selection of fields. The form value is an array of keys.
5776
+ * Composes the shared input and checkbox controls; contains no report semantics.
5777
+ * @example
5778
+ * ```html
5779
+ * <i-field-picker [options]="fields" [(ngModel)]="selectedKeys" />
5780
+ * ```
5781
+ */
5782
+ declare class IFieldPicker implements ControlValueAccessor {
5783
+ /** Available fields. Selection is retained when options are filtered or reloaded. */
5784
+ options: FieldPickerOption[];
5785
+ /** Accessible name of the grouped selection. */
5786
+ ariaLabel: string;
5787
+ /** Label on the search input. */
5788
+ searchLabel: string;
5789
+ /** Heading for options without a group. */
5790
+ ungroupedLabel: string;
5791
+ /** Message shown when the search has no matches. */
5792
+ emptyMessage: string;
5793
+ /** Prevents selection changes but allows searching. */
5794
+ readonly: boolean;
5795
+ /** Disables the control, including search. Angular Forms can set this state. */
5796
+ disabled: boolean;
5797
+ /** Emits a new array after a user changes the selection. */
5798
+ onChange: EventEmitter<string[]>;
5799
+ readonly componentId: string;
5800
+ search: string;
5801
+ value: string[];
5802
+ private change;
5803
+ private touched;
5804
+ get groups(): {
5805
+ name: string;
5806
+ options: FieldPickerOption[];
5807
+ }[];
5808
+ select(option: FieldPickerOption, checked: boolean): void;
5809
+ writeValue(value: string[] | null): void;
5810
+ registerOnChange(fn: (value: string[]) => void): void;
5811
+ registerOnTouched(fn: () => void): void;
5812
+ setDisabledState(disabled: boolean): void;
5813
+ markTouched(): void;
5814
+ static ɵfac: i0.ɵɵFactoryDeclaration<IFieldPicker, never>;
5815
+ static ɵcmp: i0.ɵɵComponentDeclaration<IFieldPicker, "i-field-picker", never, { "options": { "alias": "options"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "searchLabel": { "alias": "searchLabel"; "required": false; }; "ungroupedLabel": { "alias": "ungroupedLabel"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>;
5816
+ }
5817
+
5818
+ /** Context supplied to an ordered list's custom row settings template. */
5819
+ interface OrderedListItemContext<T> {
5820
+ $implicit: T;
5821
+ index: number;
5822
+ readonly: boolean;
5823
+ }
5824
+ /** Describes a user-initiated reordering. */
5825
+ interface OrderedListMoveEvent<T> {
5826
+ item: T;
5827
+ previousIndex: number;
5828
+ index: number;
5829
+ }
5830
+ /**
5831
+ * Controlled ordered list with accessible move/remove actions and optional row content.
5832
+ * Emits new arrays and never mutates the caller's items or their properties.
5833
+ * @example
5834
+ * ```html
5835
+ * <i-ordered-list [(items)]="columns" [itemLabel]="columnLabel" [itemTemplate]="settings" />
5836
+ * <ng-template #settings let-column let-index="index" let-readonly="readonly">
5837
+ * <!-- Domain-specific settings are owned by the consumer. -->
5838
+ * </ng-template>
5839
+ * ```
5840
+ */
5841
+ declare class IOrderedList<T> {
5842
+ /** Items in display order. Bind itemsChange or use two-way binding. */
5843
+ items: T[];
5844
+ /** Accessible row labels. */
5845
+ itemLabel: (item: T) => string;
5846
+ /** Stable identity for rows, particularly when immutable item objects are used. */
5847
+ itemKey: (item: T) => unknown;
5848
+ /** Optional content below each item's label. */
5849
+ itemTemplate?: TemplateRef<OrderedListItemContext<T>>;
5850
+ /** Accessible name of the ordered list. */
5851
+ ariaLabel: string;
5852
+ /** Empty-list message. */
5853
+ emptyMessage: string;
5854
+ /** Prevents reordering and removal. The same state is passed into the row template. */
5855
+ readonly: boolean;
5856
+ /** Disables all list actions. */
5857
+ disabled: boolean;
5858
+ /** Controls whether remove actions are shown. */
5859
+ removable: boolean;
5860
+ /** New ordered array after a move or removal. */
5861
+ itemsChange: EventEmitter<T[]>;
5862
+ /** Additional move details for consumers that need them. */
5863
+ onMove: EventEmitter<OrderedListMoveEvent<T>>;
5864
+ /** Removed item and its former index. */
5865
+ onRemove: EventEmitter<{
5866
+ item: T;
5867
+ index: number;
5868
+ }>;
5869
+ announcement: string;
5870
+ move(index: number, direction: -1 | 1): void;
5871
+ remove(index: number): void;
5872
+ static ɵfac: i0.ɵɵFactoryDeclaration<IOrderedList<any>, never>;
5873
+ static ɵcmp: i0.ɵɵComponentDeclaration<IOrderedList<any>, "i-ordered-list", never, { "items": { "alias": "items"; "required": false; }; "itemLabel": { "alias": "itemLabel"; "required": false; }; "itemKey": { "alias": "itemKey"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "itemsChange": "itemsChange"; "onMove": "onMove"; "onRemove": "onRemove"; }, never, never, true, never>;
5874
+ }
5875
+
5876
+ type RuleFieldType = 'text' | 'number' | 'date' | 'boolean';
5877
+ /** Fields presented by a rule editor; keys must be unique. */
5878
+ interface RuleEditorField {
5879
+ key: string;
5880
+ label: string;
5881
+ type: RuleFieldType;
5882
+ }
5883
+ /** Operator semantics belong to the consumer. Keys must be unique. */
5884
+ interface RuleEditorOperator {
5885
+ key: string;
5886
+ label: string;
5887
+ /** Defaults to true. Set false for empty checks or sort directions. */
5888
+ requiresValue?: boolean;
5889
+ /** Omit to offer the operator for all field types. */
5890
+ fieldTypes?: RuleFieldType[];
5891
+ }
5892
+ /** UI rule value. Numeric/date/boolean values are represented as strings. */
5893
+ interface EditorRule {
5894
+ fieldKey: string;
5895
+ operator: string;
5896
+ value?: string;
5897
+ }
5898
+ /**
5899
+ * Controlled field/operator/value rows. Can also edit sorting rules by supplying
5900
+ * direction operators with requiresValue=false. Does not execute or persist rules.
5901
+ * @example
5902
+ * ```html
5903
+ * <i-rule-editor [fields]="fields" [operators]="operators" [(rules)]="filters" />
5904
+ * ```
5905
+ */
5906
+ declare class IRuleEditor {
5907
+ /** Available fields. */
5908
+ fields: RuleEditorField[];
5909
+ /** Available operators, optionally restricted by field type. */
5910
+ operators: RuleEditorOperator[];
5911
+ /** Current rows. Bind rulesChange or use two-way binding. */
5912
+ rules: EditorRule[];
5913
+ /** Accessible name for the collection. */
5914
+ ariaLabel: string;
5915
+ /** Label of the operator selector (for example Direction). */
5916
+ operatorLabel: string;
5917
+ /** Add action label. */
5918
+ addLabel: string;
5919
+ /** Empty collection message. */
5920
+ emptyMessage: string;
5921
+ /** Prevents user changes while retaining the current display. */
5922
+ readonly: boolean;
5923
+ /** Disables all row controls. */
5924
+ disabled: boolean;
5925
+ /** Immutable replacement emitted after a user action. */
5926
+ rulesChange: EventEmitter<EditorRule[]>;
5927
+ readonly booleanOptions: {
5928
+ key: string;
5929
+ label: string;
5930
+ }[];
5931
+ field(rule: EditorRule): RuleEditorField | null;
5932
+ operator(rule: EditorRule): RuleEditorOperator | null;
5933
+ booleanValue(rule: EditorRule): {
5934
+ key: string;
5935
+ label: string;
5936
+ } | null;
5937
+ operatorsFor(field: RuleEditorField | null): RuleEditorOperator[];
5938
+ get canAdd(): boolean;
5939
+ add(): void;
5940
+ changeField(index: number, field: RuleEditorField | null): void;
5941
+ changeOperator(index: number, operator: RuleEditorOperator | null): void;
5942
+ update(index: number, changes: Partial<EditorRule>): void;
5943
+ remove(index: number): void;
5944
+ static ɵfac: i0.ɵɵFactoryDeclaration<IRuleEditor, never>;
5945
+ static ɵcmp: i0.ɵɵComponentDeclaration<IRuleEditor, "i-rule-editor", never, { "fields": { "alias": "fields"; "required": false; }; "operators": { "alias": "operators"; "required": false; }; "rules": { "alias": "rules"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "operatorLabel": { "alias": "operatorLabel"; "required": false; }; "addLabel": { "alias": "addLabel"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "rulesChange": "rulesChange"; }, never, never, true, never>;
5946
+ }
5947
+
5948
+ export { AbstractDialog, CLAIMS_CHECKER, ConfirmationDialogComponent, ConfirmationDialogService, DataUpdateEventService, DialogService, EmptyStateComponent, IAccordion, IAccordionList, IButton, ICalendar, ICard, IChart, ICheckbox, IChip, IChipsComponent, IDialog, IDialogActions, IDialogBase, IDivider, IFieldPicker, IInputText, IListbox, IMessage, IMultiSelect, IOrderedList, IOverlayPanel, IPanel, IPlaceholder, IProgressSpinner, IRadioButton, IRuleEditor, ISelect, IStep, IStepper, ITabPanel, ITable, ITabs, ITag, ITextarea, IToggle, ITreeView, IWhisper, LayoutComponent, LayoutService, LocalStorageColorSchemeKey, MenuComponent, NoContentComponent, SeoService, SidebarComponent, StructuredDataService, TooltipComponent, TooltipDirective, TopbarComponent, UniqueComponentId, WhisperService, ZIndexUtils, lastId, provideMenuClaimsChecker };
5949
+ export type { AppConfig, ArticleSchema, BreadcrumbItem, CalendarView, ChipItem, ChipRemoveEvent, ClaimsChecker, ConfirmationDialogConfig, DialogBreakpoints, DialogContentStyle, EditorRule, FieldPickerOption, FilterEvent, GridAction, GridData, GridDetails, IButtonSize, IChartData, IChartDataSet, IChartDisplay, IChartType, IChartTypeExtended, ICheckboxSize, IDividerAlign, IDividerLayout, IDynamicDialogConfig, IDynamicDialogRef, IInputBackgroundStyle, ITagSize, ITextareaBackgroundStyle, IToggleSize, ITreeNode, IWhisperMessage, IWhisperOptions, IWhisperPosition, LayoutConfig, ListboxOption, MenuItem, MenuModel, MessageSize, MultiSelectOption, OrderedListItemContext, OrderedListMoveEvent, OrganizationSchema, PlaceholderArrowDirection, RuleEditorField, RuleEditorOperator, RuleFieldType, SelectOption, SeoConfig, SortEvent, StepperChangeEvent, StepperOrientation, TableColumn, TableDownloadEvent, TooltipPosition, TreeSelectionMode, WebSiteSchema };