@ascentgl/ads-ui 22.11.1 → 22.13.0

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": "@ascentgl/ads-ui",
3
- "version": "22.11.1",
3
+ "version": "22.13.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=22.0.0",
6
6
  "date-fns": ">=4.1.0",
@@ -20,6 +20,14 @@
20
20
  --mat-snack-bar-container-color: #{color(success)};
21
21
  }
22
22
 
23
+ &.warning {
24
+ --mat-snack-bar-container-color: #{color(alert)};
25
+
26
+ & > .button {
27
+ color: color(error);
28
+ }
29
+ }
30
+
23
31
  &.secondary {
24
32
  --mat-snack-bar-container-color: #{color(secondary)};
25
33
  }
@@ -36,5 +44,8 @@
36
44
  padding-right: 0;
37
45
  min-width: 200px;
38
46
  max-width: unset;
47
+ // Positioning context for the auto-close countdown bar
48
+ // (`.snackbar-progress`) rendered inside the snackbar component.
49
+ position: relative;
39
50
  }
40
51
  }
@@ -96,7 +96,7 @@ declare class AdsNumericBadgeComponent extends AdsIconHoverComponent {
96
96
  /** provide icon name. NOTE: the icon must be registered in icon registry **/
97
97
  name: i0.InputSignal<adsIcon>;
98
98
  /** choose ads icon theme **/
99
- theme: i0.InputSignal<"iconPrimary" | "primary" | "success" | "warn" | "white">;
99
+ theme: i0.InputSignal<"primary" | "iconPrimary" | "success" | "warn" | "white">;
100
100
  /** set badge value as number **/
101
101
  value: i0.InputSignal<number>;
102
102
  /** @ignore **/
@@ -159,7 +159,7 @@ declare class AdsButtonComponent {
159
159
  /** Whether the button is a smaller version */
160
160
  size: i0.InputSignal<Size>;
161
161
  /** Sets the "type" attribute on the button */
162
- type: i0.InputSignal<"submit" | "button" | "reset">;
162
+ type: i0.InputSignal<"button" | "submit" | "reset">;
163
163
  /** Makes the button take 100% width of its container */
164
164
  fullWidth: i0.InputSignal<boolean>;
165
165
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsButtonComponent, never>;
@@ -168,7 +168,7 @@ declare class AdsButtonComponent {
168
168
 
169
169
  declare class AdsButtonContainerComponent {
170
170
  /** How buttons in the container should be placed */
171
- justify: i0.InputSignal<"center" | "flex-start" | "flex-end">;
171
+ justify: i0.InputSignal<"flex-start" | "flex-end" | "center">;
172
172
  /** The gap between elements */
173
173
  gap: i0.InputSignal<number>;
174
174
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsButtonContainerComponent, never>;
@@ -1470,6 +1470,10 @@ declare class AdsInputDropdownComponent extends AbstractInputComponent implement
1470
1470
  decimalMarker: "." | "," | [".", ","];
1471
1471
  /** Transform function applied to the model value before it is written to the FormControl */
1472
1472
  outputTransformFn: OutputTransformFn | null;
1473
+ /** Minimum allowed numeric value. Forwarded to the inner `ads-input` when `type="number"`. */
1474
+ min?: number;
1475
+ /** Maximum allowed numeric value. Forwarded to the inner `ads-input` when `type="number"`. */
1476
+ max?: number;
1473
1477
  /** Custom function to execute on blur event */
1474
1478
  onBlur: (event: FocusEvent) => void;
1475
1479
  /** Set to true if you want to enable option tooltip */
@@ -1488,7 +1492,7 @@ declare class AdsInputDropdownComponent extends AbstractInputComponent implement
1488
1492
  immediateValidation: SimpleChange;
1489
1493
  }): void;
1490
1494
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsInputDropdownComponent, never>;
1491
- static ɵcmp: i0.ɵɵComponentDeclaration<AdsInputDropdownComponent, "ads-input-dropdown", never, { "maxlength": { "alias": "maxlength"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "dropdownControl": { "alias": "dropdownControl"; "required": false; }; "dropdownId": { "alias": "dropdownId"; "required": false; }; "dropdownLabel": { "alias": "dropdownLabel"; "required": false; }; "dropdownPlaceholder": { "alias": "dropdownPlaceholder"; "required": false; }; "inputWidth": { "alias": "inputWidth"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; }; "autoSelectSingleDropdownOption": { "alias": "autoSelectSingleDropdownOption"; "required": false; }; "options": { "alias": "options"; "required": false; }; "displayValueKey": { "alias": "displayValueKey"; "required": false; }; "hasEmptyValue": { "alias": "hasEmptyValue"; "required": false; }; "fitContent": { "alias": "fitContent"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "dropSpecialCharacters": { "alias": "dropSpecialCharacters"; "required": false; }; "thousandSeparator": { "alias": "thousandSeparator"; "required": false; }; "decimalMarker": { "alias": "decimalMarker"; "required": false; }; "outputTransformFn": { "alias": "outputTransformFn"; "required": false; }; "onBlur": { "alias": "onBlur"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "closeOnOutOfView": { "alias": "closeOnOutOfView"; "required": false; }; "outOfViewRootMargin": { "alias": "outOfViewRootMargin"; "required": false; }; }, {}, never, never, true, never>;
1495
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdsInputDropdownComponent, "ads-input-dropdown", never, { "maxlength": { "alias": "maxlength"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "dropdownControl": { "alias": "dropdownControl"; "required": false; }; "dropdownId": { "alias": "dropdownId"; "required": false; }; "dropdownLabel": { "alias": "dropdownLabel"; "required": false; }; "dropdownPlaceholder": { "alias": "dropdownPlaceholder"; "required": false; }; "inputWidth": { "alias": "inputWidth"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; }; "autoSelectSingleDropdownOption": { "alias": "autoSelectSingleDropdownOption"; "required": false; }; "options": { "alias": "options"; "required": false; }; "displayValueKey": { "alias": "displayValueKey"; "required": false; }; "hasEmptyValue": { "alias": "hasEmptyValue"; "required": false; }; "fitContent": { "alias": "fitContent"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "dropSpecialCharacters": { "alias": "dropSpecialCharacters"; "required": false; }; "thousandSeparator": { "alias": "thousandSeparator"; "required": false; }; "decimalMarker": { "alias": "decimalMarker"; "required": false; }; "outputTransformFn": { "alias": "outputTransformFn"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "onBlur": { "alias": "onBlur"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "closeOnOutOfView": { "alias": "closeOnOutOfView"; "required": false; }; "outOfViewRootMargin": { "alias": "outOfViewRootMargin"; "required": false; }; }, {}, never, never, true, never>;
1492
1496
  }
1493
1497
 
1494
1498
  declare class AdsCurrencyFieldComponent extends AbstractInputComponent {
@@ -2096,6 +2100,12 @@ declare class AdsSliderComponent extends AdsCheckboxComponent {
2096
2100
  static ɵcmp: i0.ɵɵComponentDeclaration<AdsSliderComponent, "ads-slider", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "tickInterval": { "alias": "tickInterval"; "required": false; }; "invert": { "alias": "invert"; "required": false; }; "thumbLabel": { "alias": "thumbLabel"; "required": false; }; }, {}, never, never, true, never>;
2097
2101
  }
2098
2102
 
2103
+ declare enum PanelClass {
2104
+ Success = "success",
2105
+ Error = "error",
2106
+ Warning = "warning",
2107
+ Primary = "primary"
2108
+ }
2099
2109
  type SnackBarData = {
2100
2110
  id?: string;
2101
2111
  message: string;
@@ -2105,29 +2115,49 @@ type SnackBarData = {
2105
2115
  onButtonClick?: () => void;
2106
2116
  /**
2107
2117
  * Optional duration in milliseconds to auto-close the snackbar.
2108
- * If not set and panel class is 'success', defaults to 4000ms.
2118
+ * If not set, the 'success' and 'warning' panel classes default to 5000ms.
2119
+ * Set to 0 to disable auto-close for any panel class.
2109
2120
  */
2110
2121
  autoCloseDuration?: number;
2122
+ /**
2123
+ * Optional override for the leading status icon. Each panel class renders a
2124
+ * predefined icon; set this to display a different one from the icon registry.
2125
+ */
2126
+ icon?: adsIcon;
2127
+ /** Hide the leading status icon entirely. */
2128
+ hideIcon?: boolean;
2129
+ };
2130
+ /** Leading status icon configuration for a panel class. */
2131
+ type SnackbarIcon = {
2132
+ name: adsIcon;
2133
+ color?: string;
2134
+ stroke?: keyof IconThemes;
2135
+ /** Rotate the glyph 180° (used to turn the information icon into a caution mark). */
2136
+ rotated?: boolean;
2111
2137
  };
2112
2138
  declare class AdsSnackbarComponent implements AfterViewInit, OnDestroy {
2113
2139
  private elementRef;
2114
2140
  data: SnackBarData;
2115
2141
  snackBarRef: MatSnackBarRef<any>;
2142
+ private registry;
2116
2143
  readonly defaultButtonCaption = "Close";
2117
2144
  protected readonly PanelClass: typeof PanelClass;
2118
2145
  private autoCloseTimeoutId?;
2119
2146
  /** @ignore */
2120
2147
  constructor(elementRef: ElementRef<HTMLElement>);
2148
+ /** @ignore */
2149
+ get panelClass(): PanelClass;
2121
2150
  get buttonPanelClass(): Variant;
2151
+ /** Resolved leading status icon for the current panel class, or null when hidden. */
2152
+ get icon(): SnackbarIcon | null;
2153
+ /** Resolved auto-close duration in ms, or null when the snackbar should not auto-close. */
2154
+ get autoCloseDuration(): number | null;
2155
+ /** Whether the countdown progress bar should be shown (only while auto-closing). */
2156
+ get showProgressBar(): boolean;
2122
2157
  /** @ignore */
2123
2158
  get id(): string;
2124
2159
  /** @ignore */
2125
2160
  ngAfterViewInit(): void;
2126
- /**
2127
- * Sets up the auto-close timer if required.
2128
- * If autoCloseDuration is 0, null, or undefined, disables auto-close even for 'success'.
2129
- */
2130
- private setupAutoCloseTimer;
2131
2161
  /** @ignore */
2132
2162
  ngOnDestroy(): void;
2133
2163
  /** @ignore */
@@ -2135,11 +2165,6 @@ declare class AdsSnackbarComponent implements AfterViewInit, OnDestroy {
2135
2165
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsSnackbarComponent, never>;
2136
2166
  static ɵcmp: i0.ɵɵComponentDeclaration<AdsSnackbarComponent, "ads-snackbar", never, {}, {}, never, never, true, never>;
2137
2167
  }
2138
- declare enum PanelClass {
2139
- Success = "success",
2140
- Error = "error",
2141
- Primary = "primary"
2142
- }
2143
2168
 
2144
2169
  interface IViewportService {
2145
2170
  isMatched(breakpoints: string | string[]): boolean;
@@ -2711,7 +2736,7 @@ declare class AdsSortMenuComponent implements OnChanges, OnDestroy {
2711
2736
  /** All column sort/filter configs (all possible columns) */
2712
2737
  columnSortFilterConfigs: ColumnSortFilterConfig[];
2713
2738
  /** Current column sort states from the table */
2714
- columnSortStates: Map<string, "asc" | "desc" | null>;
2739
+ columnSortStates: Map<string, "desc" | "asc" | null>;
2715
2740
  /** Emits when sort configuration changes (order or direction) */
2716
2741
  sortChanged: EventEmitter<SortMenuChangeEvent>;
2717
2742
  /** Emits when sorts are removed for columns */
@@ -2828,7 +2853,7 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
2828
2853
  values: string[];
2829
2854
  }>;
2830
2855
  /** Event emitted when view mode changes between grid and list */
2831
- viewChanged: EventEmitter<"grid" | "list">;
2856
+ viewChanged: EventEmitter<"list" | "grid">;
2832
2857
  /** @ignore - Current view mode: grid or list */
2833
2858
  isListView: i0.WritableSignal<boolean>;
2834
2859
  /** @ignore - Cached filtered row data for list view */
@@ -2868,7 +2893,7 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
2868
2893
  /** @ignore */
2869
2894
  activeColumnMenu: i0.WritableSignal<string | null>;
2870
2895
  /** @ignore */
2871
- columnSortStates: i0.WritableSignal<Map<string, "asc" | "desc" | null>>;
2896
+ columnSortStates: i0.WritableSignal<Map<string, "desc" | "asc" | null>>;
2872
2897
  /** @ignore */
2873
2898
  columnFilterStates: i0.WritableSignal<Map<string, string[]>>;
2874
2899
  /** @ignore */