@forgeroute/ui 0.4.31 → 0.4.32

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.31",
3
+ "version": "0.4.32",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.0.0",
6
6
  "@angular/core": ">=22.0.0",
@@ -4251,6 +4251,62 @@ export declare class BulkMessagePanelComponent {
4251
4251
  "send": "send";
4252
4252
  }, never, never, true, never>;
4253
4253
  }
4254
+ /**
4255
+ * The grid of source cards ("Follow Up Boss", "kvCORE", "Custom CSV" ...) of the import wizard's first step. Used inside the import window and
4256
+ * on its own (the setup wizard shows it inline so the user picks a source without opening the window first).
4257
+ *
4258
+ * <ui-import-source-grid [sources]="sources" [selected]="picked" ariaLabel="Select your Contact source" (sourceSelect)="picked = $event" />
4259
+ */
4260
+ export declare class ImportSourceGridComponent {
4261
+ readonly sources: import("@angular/core").InputSignal<ImportSource[]>;
4262
+ /** The `value` of the picked source (highlighted). `tile` only: the `card` appearance does not keep a selection. */
4263
+ readonly selected: import("@angular/core").InputSignal<string>;
4264
+ /** `tile`: the compact buttons of the import window. `card`: one `ui-detail-card` per source with its own select button (used on a page). */
4265
+ readonly appearance: import("@angular/core").InputSignal<"card" | "tile">;
4266
+ /** `card`: disables every card's button (for example while the page is saving). */
4267
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
4268
+ /** `card`: the text of each card's button. */
4269
+ readonly actionLabel: import("@angular/core").InputSignal<string>;
4270
+ /** Accessible name of the list. */
4271
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
4272
+ /** Emits the `value` of the clicked source. */
4273
+ readonly sourceSelect: import("@angular/core").OutputEmitterRef<string>;
4274
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImportSourceGridComponent, never>;
4275
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImportSourceGridComponent, "ui-import-source-grid", never, {
4276
+ "sources": {
4277
+ "alias": "sources";
4278
+ "required": true;
4279
+ "isSignal": true;
4280
+ };
4281
+ "selected": {
4282
+ "alias": "selected";
4283
+ "required": false;
4284
+ "isSignal": true;
4285
+ };
4286
+ "appearance": {
4287
+ "alias": "appearance";
4288
+ "required": false;
4289
+ "isSignal": true;
4290
+ };
4291
+ "disabled": {
4292
+ "alias": "disabled";
4293
+ "required": false;
4294
+ "isSignal": true;
4295
+ };
4296
+ "actionLabel": {
4297
+ "alias": "actionLabel";
4298
+ "required": false;
4299
+ "isSignal": true;
4300
+ };
4301
+ "ariaLabel": {
4302
+ "alias": "ariaLabel";
4303
+ "required": false;
4304
+ "isSignal": true;
4305
+ };
4306
+ }, {
4307
+ "sourceSelect": "sourceSelect";
4308
+ }, never, never, true, never>;
4309
+ }
4254
4310
  export interface ActiveConfirm {
4255
4311
  title: string;
4256
4312
  message: string;
@@ -11081,6 +11137,8 @@ export interface SetupWizardTexts {
11081
11137
  exit: string;
11082
11138
  connect: string;
11083
11139
  reconnect: string;
11140
+ /** Button on each source card of an import step. */
11141
+ selectSource: string;
11084
11142
  connected: string;
11085
11143
  importMore: string;
11086
11144
  whatGetsImported: string;
@@ -11117,6 +11175,8 @@ export interface SetupStep {
11117
11175
  /** Unique within the list. */
11118
11176
  key: string;
11119
11177
  label: string;
11178
+ /** Title in the header bar of the card around the step. Omit it and the card has no header bar. */
11179
+ cardTitle?: string;
11120
11180
  /** The paragraph under the heading. */
11121
11181
  description?: string;
11122
11182
  /** `custom` shows the app's own `<ng-template uiSetupStep="key">`; `import` and `integrations` are built in. */
@@ -11185,6 +11245,28 @@ export declare class SetupWizardStepDirective {
11185
11245
  };
11186
11246
  }, {}, never, never, true, never>;
11187
11247
  }
11248
+ /**
11249
+ * Content for the right side of a step's card header (a search box, a small action): `<ng-template uiSetupStepHeader="key">…</ng-template>`.
11250
+ * It gets the same `let-wizard` as the step's own template. A step with this template shows the card header even without a `cardTitle`.
11251
+ */
11252
+ export declare class SetupWizardStepHeaderDirective {
11253
+ /** The `key` of the step this header content belongs to. */
11254
+ readonly key: import("@angular/core").InputSignal<string>;
11255
+ readonly template: TemplateRef<{
11256
+ $implicit: SetupWizardApi;
11257
+ }>;
11258
+ static ngTemplateContextGuard(_dir: SetupWizardStepHeaderDirective, _ctx: unknown): _ctx is {
11259
+ $implicit: SetupWizardApi;
11260
+ };
11261
+ static ɵfac: i0.ɵɵFactoryDeclaration<SetupWizardStepHeaderDirective, never>;
11262
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SetupWizardStepHeaderDirective, "ng-template[uiSetupStepHeader]", never, {
11263
+ "key": {
11264
+ "alias": "uiSetupStepHeader";
11265
+ "required": true;
11266
+ "isSignal": true;
11267
+ };
11268
+ }, {}, never, never, true, never>;
11269
+ }
11188
11270
  /** Splits a description into its first sentence (title) and the rest (text). A single sentence is all title. */
11189
11271
  export declare function splitIntro(description: string): {
11190
11272
  title: string;
@@ -11223,6 +11305,7 @@ export declare class SetupWizardComponent {
11223
11305
  /** The step that was just shown (its key). */
11224
11306
  readonly stepChange: import("@angular/core").OutputEmitterRef<string>;
11225
11307
  protected readonly stepTemplates: import("@angular/core").Signal<readonly SetupWizardStepDirective[]>;
11308
+ protected readonly headerTemplates: import("@angular/core").Signal<readonly SetupWizardStepHeaderDirective[]>;
11226
11309
  protected readonly importers: import("@angular/core").Signal<readonly ImportExportComponent[]>;
11227
11310
  protected readonly t: import("@angular/core").Signal<SetupWizardTexts>;
11228
11311
  protected readonly currentKey: import("@angular/core").WritableSignal<string>;
@@ -11252,6 +11335,9 @@ export declare class SetupWizardComponent {
11252
11335
  protected readonly stepperSteps: import("@angular/core").Signal<StepperStep[]>;
11253
11336
  protected readonly summarySections: import("@angular/core").Signal<PanelInfoSection[]>;
11254
11337
  constructor();
11338
+ protected headerTemplateFor(key: string): import("@angular/core").TemplateRef<{
11339
+ $implicit: SetupWizardApi;
11340
+ }> | null;
11255
11341
  protected templateFor(key: string): import("@angular/core").TemplateRef<{
11256
11342
  $implicit: SetupWizardApi;
11257
11343
  }> | null;
@@ -11266,6 +11352,8 @@ export declare class SetupWizardComponent {
11266
11352
  private run;
11267
11353
  /** The message to show for a failure: the server's own `{ message }` (or a thrown error's message); never the HTTP client's technical text. */
11268
11354
  private messageOf;
11355
+ /** A source card was picked on the step itself: opens the import window already past its source step (at the upload step for that source). */
11356
+ protected startImport(key: string, source: string): void;
11269
11357
  protected openImport(key: string): void;
11270
11358
  protected onImported(key: string): void;
11271
11359
  protected importResult(key: string): number | null;
@@ -11299,7 +11387,7 @@ export declare class SetupWizardComponent {
11299
11387
  "finished": "finished";
11300
11388
  "exited": "exited";
11301
11389
  "stepChange": "stepChange";
11302
- }, ["stepTemplates"], ["[setup-wizard-logo]"], true, never>;
11390
+ }, ["stepTemplates", "headerTemplates"], ["[setup-wizard-logo]"], true, never>;
11303
11391
  }
11304
11392
  /** One automated trigger a template can be assigned to (the host decides which exist). */
11305
11393
  export interface EmailTemplateAssignmentOption {
@@ -11490,7 +11578,7 @@ export declare class EmailTemplateEditorComponent {
11490
11578
  readonly sizeKey: import("@angular/core").WritableSignal<number>;
11491
11579
  readonly headingOptions: SelectOption<string>[];
11492
11580
  readonly fontSizeOptions: SelectOption<string>[];
11493
- readonly spacingOptions: SelectOption<string>[];
11581
+ readonly spacingTabs: PillTab[];
11494
11582
  readonly ctaTypeOptions: SelectOption<string>[];
11495
11583
  readonly playbackOptions: {
11496
11584
  value: string;