@forgeroute/ui 0.4.35 → 0.4.36
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/fesm2022/forgeroute-ui.mjs +462 -141
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +105 -0
package/package.json
CHANGED
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -4348,6 +4348,94 @@ export declare class ImportSourceGridComponent {
|
|
|
4348
4348
|
"sourceSelect": "sourceSelect";
|
|
4349
4349
|
}, never, never, true, never>;
|
|
4350
4350
|
}
|
|
4351
|
+
/**
|
|
4352
|
+
* One option the user can pick or connect: a coloured tile (a letter, or a library icon), a title, a short description and a small action button.
|
|
4353
|
+
* The same card is used for the source cards of an import step, the provider cards of the setup wizard (calendar, email, tools) and a CRM
|
|
4354
|
+
* live-sync option, so they all look and behave alike. Anything inside the tag is shown under the row (an expanding form, a result).
|
|
4355
|
+
*
|
|
4356
|
+
* <ui-option-card title="Gmail" letter="G" color="#ea4335" description="Connect your Google account" actionLabel="Connect" (action)="connect()" />
|
|
4357
|
+
* <ui-option-card title="Follow Up Boss" letter="F" actionLabel="Sync live" (action)="open()"> <form>…</form> </ui-option-card>
|
|
4358
|
+
*
|
|
4359
|
+
* Inputs: `title` (required), `description`, `letter` (one character in the tile) or `icon` (a library icon name, used when there is no letter),
|
|
4360
|
+
* `color` (tile background, default slate), `actionLabel` (no label = no button), `actionVariant` (default secondary), `actionAriaLabel`,
|
|
4361
|
+
* `actionTestId`, `actionLoading`, `disabled`. Output: `action`.
|
|
4362
|
+
*/
|
|
4363
|
+
export declare class OptionCardComponent {
|
|
4364
|
+
readonly title: import("@angular/core").InputSignal<string>;
|
|
4365
|
+
readonly description: import("@angular/core").InputSignal<string>;
|
|
4366
|
+
readonly letter: import("@angular/core").InputSignal<string>;
|
|
4367
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
4368
|
+
readonly color: import("@angular/core").InputSignal<string>;
|
|
4369
|
+
readonly actionLabel: import("@angular/core").InputSignal<string>;
|
|
4370
|
+
readonly actionVariant: import("@angular/core").InputSignal<"primary" | "secondary">;
|
|
4371
|
+
readonly actionAriaLabel: import("@angular/core").InputSignal<string>;
|
|
4372
|
+
readonly actionTestId: import("@angular/core").InputSignal<string>;
|
|
4373
|
+
readonly actionLoading: import("@angular/core").InputSignal<boolean>;
|
|
4374
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
4375
|
+
/** The action button was pressed. */
|
|
4376
|
+
readonly action: import("@angular/core").OutputEmitterRef<void>;
|
|
4377
|
+
protected iconD(): string | null;
|
|
4378
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OptionCardComponent, never>;
|
|
4379
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OptionCardComponent, "ui-option-card", never, {
|
|
4380
|
+
"title": {
|
|
4381
|
+
"alias": "title";
|
|
4382
|
+
"required": true;
|
|
4383
|
+
"isSignal": true;
|
|
4384
|
+
};
|
|
4385
|
+
"description": {
|
|
4386
|
+
"alias": "description";
|
|
4387
|
+
"required": false;
|
|
4388
|
+
"isSignal": true;
|
|
4389
|
+
};
|
|
4390
|
+
"letter": {
|
|
4391
|
+
"alias": "letter";
|
|
4392
|
+
"required": false;
|
|
4393
|
+
"isSignal": true;
|
|
4394
|
+
};
|
|
4395
|
+
"icon": {
|
|
4396
|
+
"alias": "icon";
|
|
4397
|
+
"required": false;
|
|
4398
|
+
"isSignal": true;
|
|
4399
|
+
};
|
|
4400
|
+
"color": {
|
|
4401
|
+
"alias": "color";
|
|
4402
|
+
"required": false;
|
|
4403
|
+
"isSignal": true;
|
|
4404
|
+
};
|
|
4405
|
+
"actionLabel": {
|
|
4406
|
+
"alias": "actionLabel";
|
|
4407
|
+
"required": false;
|
|
4408
|
+
"isSignal": true;
|
|
4409
|
+
};
|
|
4410
|
+
"actionVariant": {
|
|
4411
|
+
"alias": "actionVariant";
|
|
4412
|
+
"required": false;
|
|
4413
|
+
"isSignal": true;
|
|
4414
|
+
};
|
|
4415
|
+
"actionAriaLabel": {
|
|
4416
|
+
"alias": "actionAriaLabel";
|
|
4417
|
+
"required": false;
|
|
4418
|
+
"isSignal": true;
|
|
4419
|
+
};
|
|
4420
|
+
"actionTestId": {
|
|
4421
|
+
"alias": "actionTestId";
|
|
4422
|
+
"required": false;
|
|
4423
|
+
"isSignal": true;
|
|
4424
|
+
};
|
|
4425
|
+
"actionLoading": {
|
|
4426
|
+
"alias": "actionLoading";
|
|
4427
|
+
"required": false;
|
|
4428
|
+
"isSignal": true;
|
|
4429
|
+
};
|
|
4430
|
+
"disabled": {
|
|
4431
|
+
"alias": "disabled";
|
|
4432
|
+
"required": false;
|
|
4433
|
+
"isSignal": true;
|
|
4434
|
+
};
|
|
4435
|
+
}, {
|
|
4436
|
+
"action": "action";
|
|
4437
|
+
}, never, ["*"], true, never>;
|
|
4438
|
+
}
|
|
4351
4439
|
export interface ActiveConfirm {
|
|
4352
4440
|
title: string;
|
|
4353
4441
|
message: string;
|
|
@@ -11169,6 +11257,11 @@ export interface SetupIntegration {
|
|
|
11169
11257
|
/** The "Connected — …" detail built from the status payload (default: just "Connected"). */
|
|
11170
11258
|
connectedDetail?: (status: Record<string, unknown>) => string;
|
|
11171
11259
|
connect: SetupIntegrationConnect;
|
|
11260
|
+
/**
|
|
11261
|
+
* Runs when the user presses Connect, before anything else (before the redirect to the provider, or before the area-code box opens): save what the
|
|
11262
|
+
* step collected so the redirect does not lose it. Resolve to go on; throw / error to stop (the message is shown in the step's alert).
|
|
11263
|
+
*/
|
|
11264
|
+
beforeConnect?: () => Observable<unknown> | Promise<unknown> | void;
|
|
11172
11265
|
}
|
|
11173
11266
|
/** Texts of the built-in controls; every one has an English default and every one can be replaced by the app. */
|
|
11174
11267
|
export interface SetupWizardTexts {
|
|
@@ -11239,6 +11332,9 @@ export interface SetupStep {
|
|
|
11239
11332
|
* template receives the wizard as `let-wizard` and calls `wizard.saveAndContinue()` (runs `save`, then moves on) and reads `wizard.busy()`.
|
|
11240
11333
|
* Back / Skip stay the wizard's.
|
|
11241
11334
|
*/
|
|
11335
|
+
/** Import / integrations steps with app content: show that content in its own card (titled `extraTitle`) beside the step card on a wide screen, stacked on a phone. */
|
|
11336
|
+
splitLayout?: boolean;
|
|
11337
|
+
extraTitle?: string;
|
|
11242
11338
|
ownActions?: boolean;
|
|
11243
11339
|
import?: SetupImportStep;
|
|
11244
11340
|
integrations?: SetupIntegration[];
|
|
@@ -11343,6 +11439,10 @@ export declare class SetupWizardComponent {
|
|
|
11343
11439
|
private readonly http;
|
|
11344
11440
|
private readonly apiBase;
|
|
11345
11441
|
private readonly destroyRef;
|
|
11442
|
+
/** Phone layout: the step's Back / Skip / Continue buttons fill the width and stack (primary on top). */
|
|
11443
|
+
protected readonly narrow: import("@angular/core").WritableSignal<boolean>;
|
|
11444
|
+
/** A step with `splitLayout`: the app's own content gets its own card, side by side with the step card on a wide screen. */
|
|
11445
|
+
protected readonly split: import("@angular/core").Signal<boolean>;
|
|
11346
11446
|
/** The steps in walking order. A `done` summary step is appended automatically. */
|
|
11347
11447
|
readonly steps: import("@angular/core").InputSignal<SetupStep[]>;
|
|
11348
11448
|
/** Replaces any of the built-in texts. */
|
|
@@ -11355,6 +11455,8 @@ export declare class SetupWizardComponent {
|
|
|
11355
11455
|
readonly stepChange: import("@angular/core").OutputEmitterRef<string>;
|
|
11356
11456
|
protected readonly stepTemplates: import("@angular/core").Signal<readonly SetupWizardStepDirective[]>;
|
|
11357
11457
|
protected readonly headerTemplates: import("@angular/core").Signal<readonly SetupWizardStepHeaderDirective[]>;
|
|
11458
|
+
private readonly injector;
|
|
11459
|
+
private readonly stepTitle;
|
|
11358
11460
|
protected readonly importers: import("@angular/core").Signal<readonly ImportExportComponent[]>;
|
|
11359
11461
|
protected readonly t: import("@angular/core").Signal<SetupWizardTexts>;
|
|
11360
11462
|
protected readonly currentKey: import("@angular/core").WritableSignal<string>;
|
|
@@ -11416,6 +11518,7 @@ export declare class SetupWizardComponent {
|
|
|
11416
11518
|
protected isConnected(i: SetupIntegration): boolean;
|
|
11417
11519
|
protected detailFor(i: SetupIntegration): string;
|
|
11418
11520
|
protected connect(i: SetupIntegration): void;
|
|
11521
|
+
private startConnect;
|
|
11419
11522
|
/** SVG path of a library icon (the buttons' leading / trailing glyph). */
|
|
11420
11523
|
protected iconD(name: string): string;
|
|
11421
11524
|
protected areaCodeLabelFor(i: SetupIntegration): string;
|
|
@@ -11492,6 +11595,8 @@ export interface EmailTemplateVariable {
|
|
|
11492
11595
|
key: string;
|
|
11493
11596
|
label: string;
|
|
11494
11597
|
example: string;
|
|
11598
|
+
/** Optional one-line explanation of what the variable is filled with; shown under the example. */
|
|
11599
|
+
description?: string;
|
|
11495
11600
|
}
|
|
11496
11601
|
export interface EmailTemplateVariableGroup {
|
|
11497
11602
|
name: string;
|