@forgeroute/ui 0.4.42 → 0.4.43

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": "@forgeroute/ui",
3
- "version": "0.4.42",
3
+ "version": "0.4.43",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.0.0",
6
6
  "@angular/core": ">=22.0.0",
@@ -1088,7 +1088,7 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
1088
1088
  readonly error: import("@angular/core").InputSignal<string>;
1089
1089
  /** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
1090
1090
  readonly showErrors: import("@angular/core").InputSignal<boolean>;
1091
- readonly size: import("@angular/core").InputSignal<"sm" | "default">;
1091
+ readonly size: import("@angular/core").InputSignal<"default" | "sm">;
1092
1092
  readonly _disabledInput: import("@angular/core").InputSignal<boolean>;
1093
1093
  private readonly _cvaDisabled;
1094
1094
  protected readonly disabled: import("@angular/core").Signal<boolean>;
@@ -2590,7 +2590,7 @@ export declare class AudioPlayerComponent {
2590
2590
  /** Accessible name of the player. */
2591
2591
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
2592
2592
  /** How much to load before play: 'metadata' (default), 'auto' or 'none'. */
2593
- readonly preload: import("@angular/core").InputSignal<"none" | "metadata" | "auto">;
2593
+ readonly preload: import("@angular/core").InputSignal<"none" | "auto" | "metadata">;
2594
2594
  /** Fires when the browser can't load or decode the source. */
2595
2595
  readonly playbackError: import("@angular/core").OutputEmitterRef<void>;
2596
2596
  protected readonly failed: import("@angular/core").WritableSignal<boolean>;
@@ -2844,7 +2844,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
2844
2844
  * clicking it still toggles the box - e.g. a product name that is both the heading of its card and the label of its checkbox.
2845
2845
  * Default null: plain label text, exactly as before. Single mode only.
2846
2846
  */
2847
- readonly headingLevel: import("@angular/core").InputSignal<2 | 1 | 5 | 3 | 4 | 6 | null>;
2847
+ readonly headingLevel: import("@angular/core").InputSignal<1 | 3 | 4 | 2 | 5 | 6 | null>;
2848
2848
  readonly indeterminate: import("@angular/core").InputSignal<boolean>;
2849
2849
  readonly checked: import("@angular/core").ModelSignal<boolean>;
2850
2850
  /**
@@ -3755,7 +3755,7 @@ export declare class PhoneNumberPickerComponent {
3755
3755
  protected readonly modeCtl: FormControl<string>;
3756
3756
  protected readonly zipCtl: FormControl<string>;
3757
3757
  protected readonly areaCtl: FormControl<string>;
3758
- protected readonly step: import("@angular/core").WritableSignal<2 | 1 | 3>;
3758
+ protected readonly step: import("@angular/core").WritableSignal<1 | 3 | 2>;
3759
3759
  protected readonly mode: import("@angular/core").WritableSignal<PhoneNumberSearchMode>;
3760
3760
  private readonly _zip;
3761
3761
  private readonly _area;
@@ -4402,7 +4402,7 @@ export declare class ImportSourceGridComponent {
4402
4402
  /** The `value` of the picked source (highlighted). `tile` only: the `card` appearance does not keep a selection. */
4403
4403
  readonly selected: import("@angular/core").InputSignal<string>;
4404
4404
  /** `tile`: the compact buttons of the import window. `card`: one `ui-detail-card` per source with its own select button (used on a page). */
4405
- readonly appearance: import("@angular/core").InputSignal<"tile" | "card">;
4405
+ readonly appearance: import("@angular/core").InputSignal<"card" | "tile">;
4406
4406
  /** `card`: disables every card's button (for example while the page is saving). */
4407
4407
  readonly disabled: import("@angular/core").InputSignal<boolean>;
4408
4408
  /** `card`: the text of each card's button. */
@@ -4720,7 +4720,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
4720
4720
  * `search`, `text`, `none`). Empty (default) = the browser's default for the field, except `type="tel"`, which keeps `tel`.
4721
4721
  * It only picks the keyboard; it does not restrict what can be typed or pasted.
4722
4722
  */
4723
- readonly inputmode: import("@angular/core").InputSignal<"" | "none" | "text" | "search" | "email" | "tel" | "url" | "decimal" | "numeric">;
4723
+ readonly inputmode: import("@angular/core").InputSignal<"" | "search" | "text" | "email" | "none" | "tel" | "url" | "decimal" | "numeric">;
4724
4724
  readonly readonly: import("@angular/core").InputSignal<boolean>;
4725
4725
  readonly hint: import("@angular/core").InputSignal<string>;
4726
4726
  readonly error: import("@angular/core").InputSignal<string>;
@@ -6136,7 +6136,7 @@ export declare class DropdownComponent {
6136
6136
  readonly loader: import("@angular/core").InputSignal<(() => Promise<DropdownItem[]>) | null>;
6137
6137
  readonly active: import("@angular/core").InputSignal<boolean>;
6138
6138
  readonly activeValue: import("@angular/core").InputSignal<string>;
6139
- readonly variant: import("@angular/core").InputSignal<"badge" | "button">;
6139
+ readonly variant: import("@angular/core").InputSignal<"button" | "badge">;
6140
6140
  readonly menuWidth: import("@angular/core").InputSignal<string>;
6141
6141
  /**
6142
6142
  * Accessible name. Set it when the trigger has no meaningful visible text. Applied as `aria-label` on the
@@ -6335,7 +6335,7 @@ export declare class FormSectionComponent {
6335
6335
  }, {}, never, ["*"], true, never>;
6336
6336
  }
6337
6337
  export declare class FormRowComponent {
6338
- readonly cols: import("@angular/core").InputSignal<2 | 1 | 3 | 4>;
6338
+ readonly cols: import("@angular/core").InputSignal<1 | 3 | 4 | 2>;
6339
6339
  static ɵfac: i0.ɵɵFactoryDeclaration<FormRowComponent, never>;
6340
6340
  static ɵcmp: i0.ɵɵComponentDeclaration<FormRowComponent, "ui-form-row", never, {
6341
6341
  "cols": {
@@ -6352,7 +6352,7 @@ export declare class FormRowComponent {
6352
6352
  * child simply takes the full width. Keep a numeric span within the row's `cols` (use `all` for the whole row).
6353
6353
  */
6354
6354
  export declare class FormColSpanDirective {
6355
- readonly uiColSpan: import("@angular/core").InputSignal<"" | 2 | "2" | "3" | 3 | "all">;
6355
+ readonly uiColSpan: import("@angular/core").InputSignal<"" | "2" | "3" | 3 | 2 | "all">;
6356
6356
  protected readonly _class: import("@angular/core").Signal<string>;
6357
6357
  static ɵfac: i0.ɵɵFactoryDeclaration<FormColSpanDirective, never>;
6358
6358
  static ɵdir: i0.ɵɵDirectiveDeclaration<FormColSpanDirective, "[uiColSpan]", never, {
@@ -9293,7 +9293,7 @@ export declare class DetailCardComponent {
9293
9293
  /** true (default) = the title is displayed in capitals (CSS only); false = shown as written. The text, aria-label and heading name are never changed. */
9294
9294
  readonly uppercaseTitle: import("@angular/core").InputSignal<boolean>;
9295
9295
  /** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
9296
- readonly headingLevel: import("@angular/core").InputSignal<2 | 1 | 5 | 3 | 4 | 6 | null>;
9296
+ readonly headingLevel: import("@angular/core").InputSignal<1 | 3 | 4 | 2 | 5 | 6 | null>;
9297
9297
  /** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
9298
9298
  readonly titleId: import("@angular/core").InputSignal<string>;
9299
9299
  /** Accessible name of the card when the header gives none (no header, or no title). A visible title wins; blank = no name. */
@@ -11463,6 +11463,8 @@ export interface SetupWizardTexts {
11463
11463
  importMore: string;
11464
11464
  /** Shown (and described by the disabled Continue) on an import step with `requireImport` until data came in. */
11465
11465
  importRequired: string;
11466
+ /** Shown (and described by the disabled Save & Continue) on an integrations step with `requireConnection` until one integration is connected. */
11467
+ connectRequired: string;
11466
11468
  /** An import where some rows were refused: the warning's title and text (rows that failed must be fixed and imported again before Continue) and the button that returns to the sources. */
11467
11469
  importErrorsTitle: (errors: number) => string;
11468
11470
  importErrorsText: (imported: number, errors: number) => string;
@@ -11539,6 +11541,8 @@ export interface SetupStep {
11539
11541
  ownActions?: boolean;
11540
11542
  import?: SetupImportStep;
11541
11543
  integrations?: SetupIntegration[];
11544
+ /** Integrations steps: Save & Continue stays disabled until at least one of the step's integrations is connected. Skip stays available. */
11545
+ requireConnection?: boolean;
11542
11546
  /** `integrations`: runs when the step is left with Continue (e.g. to save sender settings). */
11543
11547
  onContinue?: () => Observable<unknown> | Promise<unknown> | void;
11544
11548
  /** Called when the step is shown (load data for a custom step). */
@@ -11646,9 +11650,11 @@ export declare class SetupWizardComponent {
11646
11650
  protected readonly narrow: import("@angular/core").WritableSignal<boolean>;
11647
11651
  /** A step with `splitLayout`: the app's own content gets its own card, side by side with the step card on a wide screen. */
11648
11652
  /** An import step with `requireImport` keeps Continue off until something came in (a CSV import or `markCompleted`, e.g. a live sync). */
11653
+ /** An integrations step with `requireConnection` keeps Save & Continue off until at least one of its integrations is connected (Skip stays the way past). */
11654
+ protected readonly connectBlocked: import("@angular/core").Signal<boolean>;
11649
11655
  protected readonly importBlocked: import("@angular/core").Signal<boolean>;
11650
11656
  /** The step's own two parts (`splitLayout`) show as two tabs, one card at a time; this is the open one (it starts on the app's part on every visit). */
11651
- protected readonly splitTab: import("@angular/core").WritableSignal<"extra" | "main">;
11657
+ protected readonly splitTab: import("@angular/core").WritableSignal<"main" | "extra">;
11652
11658
  protected readonly splitTabs: import("@angular/core").Signal<{
11653
11659
  key: string;
11654
11660
  label: string;