@underlayerdev/ui 0.17.1 → 0.18.1

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": "@underlayerdev/ui",
3
- "version": "0.17.1",
3
+ "version": "0.18.1",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^22.0.0",
6
6
  "@angular/common": "^22.0.0",
@@ -293,6 +293,49 @@ export declare class AvatarGroupComponent {
293
293
  };
294
294
  }, {}, never, never, true, never>;
295
295
  }
296
+ export type BannerTone = 'info' | 'alert' | 'confirm' | 'error';
297
+ /**
298
+ * An inline message that sits in the page flow (unlike a toast, it stays until
299
+ * dismissed or resolved) and can offer an action. Project the message as
300
+ * content, an optional heading as `[ul-banner-title]` and the buttons as
301
+ * `[ul-banner-actions]`.
302
+ */
303
+ export declare class BannerComponent {
304
+ tone: import("@angular/core").InputSignal<BannerTone>;
305
+ /** Replaces the icon the tone brings. */
306
+ icon: import("@angular/core").InputSignal<string | undefined>;
307
+ /** Shows a close button; the banner does not remove itself, the host listens to `dismissed`. */
308
+ dismissible: import("@angular/core").InputSignal<boolean>;
309
+ /** Accessible name of the close button: the host passes it translated. */
310
+ dismissLabel: import("@angular/core").InputSignal<string>;
311
+ dismissed: import("@angular/core").OutputEmitterRef<void>;
312
+ protected readonly resolvedIcon: import("@angular/core").Signal<string>;
313
+ static ɵfac: i0.ɵɵFactoryDeclaration<BannerComponent, never>;
314
+ static ɵcmp: i0.ɵɵComponentDeclaration<BannerComponent, "ul-banner", never, {
315
+ "tone": {
316
+ "alias": "tone";
317
+ "required": false;
318
+ "isSignal": true;
319
+ };
320
+ "icon": {
321
+ "alias": "icon";
322
+ "required": false;
323
+ "isSignal": true;
324
+ };
325
+ "dismissible": {
326
+ "alias": "dismissible";
327
+ "required": false;
328
+ "isSignal": true;
329
+ };
330
+ "dismissLabel": {
331
+ "alias": "dismissLabel";
332
+ "required": false;
333
+ "isSignal": true;
334
+ };
335
+ }, {
336
+ "dismissed": "dismissed";
337
+ }, never, ["[ul-banner-title]", "*", "[ul-banner-actions]"], true, never>;
338
+ }
296
339
  export interface BreadcrumbItem {
297
340
  label: string;
298
341
  href?: string;
@@ -1352,6 +1395,11 @@ export declare class DropdownComponent {
1352
1395
  * @default 'Open menu'
1353
1396
  */
1354
1397
  iconOnlyLabel: import("@angular/core").InputSignal<string>;
1398
+ /**
1399
+ * What the trigger says while no item is selected, i.e. `selectedIndex` points at none
1400
+ * (-1). Without it the trigger shows the first item as if it were selected.
1401
+ */
1402
+ placeholder: import("@angular/core").InputSignal<string | undefined>;
1355
1403
  /**
1356
1404
  * The index of the currently selected item.
1357
1405
  * Supports two-way binding with [(selectedIndex)].
@@ -1436,6 +1484,11 @@ export declare class DropdownComponent {
1436
1484
  "required": false;
1437
1485
  "isSignal": true;
1438
1486
  };
1487
+ "placeholder": {
1488
+ "alias": "placeholder";
1489
+ "required": false;
1490
+ "isSignal": true;
1491
+ };
1439
1492
  "selectedIndex": {
1440
1493
  "alias": "selectedIndex";
1441
1494
  "required": false;
@@ -3179,7 +3232,7 @@ export declare class StepperComponent {
3179
3232
  }, {}, never, never, true, never>;
3180
3233
  }
3181
3234
  export type ToastKind = 'info' | 'success' | 'warning' | 'error';
3182
- export declare const toastIcon: (kind: ToastKind) => "alert" | "check_circle" | "cross_circle" | "info";
3235
+ export declare const toastIcon: (kind: ToastKind) => "info" | "alert" | "check_circle" | "cross_circle";
3183
3236
  export interface ToastConfig {
3184
3237
  readonly id: string;
3185
3238
  readonly message: string;
@@ -3733,8 +3786,12 @@ export declare class SelectComponent implements FormValueControl<string | null>
3733
3786
  protected readonly hasError: import("@angular/core").Signal<boolean>;
3734
3787
  protected readonly describedBy: import("@angular/core").Signal<string | undefined>;
3735
3788
  constructor();
3736
- /** Handles index changes coming from the dropdown */
3737
- protected onSelectedIndexChange(index: number): void;
3789
+ /**
3790
+ * Handles a pick in the dropdown. Listens to the pick itself rather than to a change of
3791
+ * index: choosing the option that sits where the index already is (the first one, while
3792
+ * nothing is selected) changes no index, and so would never be picked.
3793
+ */
3794
+ protected onItemSelected(item: DropdownItem): void;
3738
3795
  protected onDropdownClosed(): void;
3739
3796
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
3740
3797
  static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "ul-select", never, {