ng-hub-ui-stepper 1.0.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.
@@ -0,0 +1,49 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { NextStepButtonDirective } from './next-step-button.directive';
5
+ import { PrevStepButtonDirective } from './prev-step-button.directive';
6
+ import { StepTriggerDirective } from './step-trigger.directive';
7
+ import { StepComponent } from './step/step.component';
8
+ import { StepperNavDirective } from './stepper-nav.directive';
9
+ import { StepperComponent } from './stepper/stepper.component';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngx-translate/core";
12
+ export class StepperModule {
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, declarations: [StepperComponent,
15
+ StepComponent,
16
+ StepTriggerDirective,
17
+ StepperNavDirective,
18
+ PrevStepButtonDirective,
19
+ NextStepButtonDirective], imports: [CommonModule, i1.TranslateModule], exports: [StepperComponent,
20
+ StepComponent,
21
+ StepTriggerDirective,
22
+ StepperNavDirective,
23
+ PrevStepButtonDirective,
24
+ NextStepButtonDirective] }); }
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, imports: [CommonModule, TranslateModule.forChild()] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [
31
+ StepperComponent,
32
+ StepComponent,
33
+ StepTriggerDirective,
34
+ StepperNavDirective,
35
+ PrevStepButtonDirective,
36
+ NextStepButtonDirective
37
+ ],
38
+ imports: [CommonModule, TranslateModule.forChild()],
39
+ exports: [
40
+ StepperComponent,
41
+ StepComponent,
42
+ StepTriggerDirective,
43
+ StepperNavDirective,
44
+ PrevStepButtonDirective,
45
+ NextStepButtonDirective
46
+ ]
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdGVwcGVyL3NyYy9saWIvc3RlcHBlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBcUIvRCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBakJ4QixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHVCQUF1QixhQUVkLFlBQVksaUNBRXJCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsdUJBQXVCOytHQUdaLGFBQWEsWUFWZixZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRTs7MkZBVXRDLGFBQWE7a0JBbkJ6QixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNuRCxPQUFPLEVBQUU7d0JBQ1IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDdkI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmV4dFN0ZXBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL25leHQtc3RlcC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXZTdGVwQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9wcmV2LXN0ZXAtYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdGVwVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vc3RlcC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwL3N0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXBwZXJOYXZEaXJlY3RpdmUgfSBmcm9tICcuL3N0ZXBwZXItbmF2LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0U3RlcHBlckNvbXBvbmVudCxcblx0XHRTdGVwQ29tcG9uZW50LFxuXHRcdFN0ZXBUcmlnZ2VyRGlyZWN0aXZlLFxuXHRcdFN0ZXBwZXJOYXZEaXJlY3RpdmUsXG5cdFx0UHJldlN0ZXBCdXR0b25EaXJlY3RpdmUsXG5cdFx0TmV4dFN0ZXBCdXR0b25EaXJlY3RpdmVcblx0XSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuXHRleHBvcnRzOiBbXG5cdFx0U3RlcHBlckNvbXBvbmVudCxcblx0XHRTdGVwQ29tcG9uZW50LFxuXHRcdFN0ZXBUcmlnZ2VyRGlyZWN0aXZlLFxuXHRcdFN0ZXBwZXJOYXZEaXJlY3RpdmUsXG5cdFx0UHJldlN0ZXBCdXR0b25EaXJlY3RpdmUsXG5cdFx0TmV4dFN0ZXBCdXR0b25EaXJlY3RpdmVcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaHViLXVpLXN0ZXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zdGVwcGVyL3NyYy9uZy1odWItdWktc3RlcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Public API Surface of stepper
3
+ */
4
+ export * from './lib/stepper/stepper.component';
5
+ export * from './lib/step/step.component';
6
+ export * from './lib/stepper.module';
7
+ export * from './lib/next-step-button.directive';
8
+ export * from './lib/prev-step-button.directive';
9
+ export * from './lib/step-trigger.directive';
10
+ export * from './lib/stepper-nav.directive';
11
+ export * from './lib/services/stepper-theme-service';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3N0ZXBwZXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHN0ZXBwZXJcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwL3N0ZXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25leHQtc3RlcC1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXYtc3RlcC1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAtdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci1uYXYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3N0ZXBwZXItdGhlbWUtc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,358 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Directive, HostListener, TemplateRef, Component, ChangeDetectionStrategy, Input, ViewChild, ContentChild, ContentChildren, ChangeDetectorRef, EventEmitter, Output, NgModule, Injectable } from '@angular/core';
3
+ import { trigger, transition, style, animate } from '@angular/animations';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import * as i1$1 from '@ngx-translate/core';
7
+ import { TranslateModule } from '@ngx-translate/core';
8
+
9
+ class NextStepButtonDirective {
10
+ #stepper = inject(StepperComponent);
11
+ constructor() { }
12
+ onClick() {
13
+ this.#stepper.goToNext();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NextStepButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: NextStepButtonDirective, selector: "[hubNextStepButton] [nextStepButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NextStepButtonDirective, decorators: [{
19
+ type: Directive,
20
+ args: [{
21
+ selector: '[hubNextStepButton] [nextStepButton]'
22
+ }]
23
+ }], ctorParameters: () => [], propDecorators: { onClick: [{
24
+ type: HostListener,
25
+ args: ['click']
26
+ }] } });
27
+
28
+ class PrevStepButtonDirective {
29
+ #stepper = inject(StepperComponent);
30
+ constructor() { }
31
+ onClick() {
32
+ this.#stepper.goToPrevious();
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PrevStepButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: PrevStepButtonDirective, selector: "[hubPrevStepButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PrevStepButtonDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[hubPrevStepButton]'
41
+ }]
42
+ }], ctorParameters: () => [], propDecorators: { onClick: [{
43
+ type: HostListener,
44
+ args: ['click']
45
+ }] } });
46
+
47
+ class StepTriggerDirective {
48
+ constructor(template) {
49
+ this.template = template;
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepTriggerDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: StepTriggerDirective, selector: "[hubStepTrigger] [stepTrigger]", ngImport: i0 }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepTriggerDirective, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ selector: '[hubStepTrigger] [stepTrigger]'
58
+ }]
59
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
60
+
61
+ const ANIMATION_DURATION = 256;
62
+ class StepComponent {
63
+ constructor() {
64
+ /** Whether this step is disabled */
65
+ this.disabled = false;
66
+ }
67
+ ngOnInit() {
68
+ this.validateInputs();
69
+ }
70
+ /**
71
+ * Validates the inputs to ensure the component is properly configured
72
+ */
73
+ validateInputs() {
74
+ if (this.index === undefined) {
75
+ console.warn('StepComponent: index is required');
76
+ }
77
+ if (!this.title) {
78
+ console.warn('StepComponent: title is recommended for accessibility');
79
+ }
80
+ }
81
+ /**
82
+ * Checks if the step can be navigated to
83
+ * @returns boolean indicating if the step is accessible
84
+ */
85
+ isAccessible() {
86
+ return !this.disabled;
87
+ }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: StepComponent, selector: "hub-step, hub-ui-step, ng80-step", inputs: { index: "index", title: "title", disabled: "disabled" }, queries: [{ propertyName: "stepTriggerTpt", first: true, predicate: StepTriggerDirective, descendants: true, read: TemplateRef }, { propertyName: "prevStepButtons", predicate: PrevStepButtonDirective }, { propertyName: "nextStepButtons", predicate: NextStepButtonDirective }], viewQueries: [{ propertyName: "innerTemplate", first: true, predicate: ["innerTemplate"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #innerTemplate>\n\t<div\n\t\t[@slideInOut]\n\t\tclass=\"step__content\"\n\t\t[attr.data-step-index]=\"index\"\n\t\t[attr.aria-label]=\"title\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n</ng-template>\n", styles: [""], animations: [
90
+ trigger('slideInOut', [
91
+ transition(':enter', [
92
+ style({ transform: 'translateX(-100%)', opacity: 0 }),
93
+ animate(`${ANIMATION_DURATION}ms ${ANIMATION_DURATION}ms`, style({ transform: 'translateX(0%)', opacity: 1 }))
94
+ ]),
95
+ transition(':leave', [
96
+ animate(`${ANIMATION_DURATION}ms ease-in`, style({ transform: 'translateX(100%)' }))
97
+ ])
98
+ ])
99
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'hub-step, hub-ui-step, ng80-step', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
104
+ trigger('slideInOut', [
105
+ transition(':enter', [
106
+ style({ transform: 'translateX(-100%)', opacity: 0 }),
107
+ animate(`${ANIMATION_DURATION}ms ${ANIMATION_DURATION}ms`, style({ transform: 'translateX(0%)', opacity: 1 }))
108
+ ]),
109
+ transition(':leave', [
110
+ animate(`${ANIMATION_DURATION}ms ease-in`, style({ transform: 'translateX(100%)' }))
111
+ ])
112
+ ])
113
+ ], template: "<ng-template #innerTemplate>\n\t<div\n\t\t[@slideInOut]\n\t\tclass=\"step__content\"\n\t\t[attr.data-step-index]=\"index\"\n\t\t[attr.aria-label]=\"title\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n</ng-template>\n" }]
114
+ }], ctorParameters: () => [], propDecorators: { index: [{
115
+ type: Input
116
+ }], title: [{
117
+ type: Input
118
+ }], disabled: [{
119
+ type: Input
120
+ }], innerTemplate: [{
121
+ type: ViewChild,
122
+ args: ['innerTemplate', { static: true }]
123
+ }], stepTriggerTpt: [{
124
+ type: ContentChild,
125
+ args: [StepTriggerDirective, { read: TemplateRef }]
126
+ }], prevStepButtons: [{
127
+ type: ContentChildren,
128
+ args: [PrevStepButtonDirective]
129
+ }], nextStepButtons: [{
130
+ type: ContentChildren,
131
+ args: [NextStepButtonDirective]
132
+ }] } });
133
+
134
+ class StepperButtonsDirective {
135
+ constructor(template) {
136
+ this.template = template;
137
+ }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
139
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: StepperButtonsDirective, selector: "[hubStepperButtons], [stepperButtons]", ngImport: i0 }); }
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperButtonsDirective, decorators: [{
142
+ type: Directive,
143
+ args: [{
144
+ selector: '[hubStepperButtons], [stepperButtons]'
145
+ }]
146
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
147
+
148
+ class StepperNavDirective {
149
+ constructor(template) {
150
+ this.template = template;
151
+ }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperNavDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
153
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: StepperNavDirective, selector: "[hubStepperNav], [stepperNav]", ngImport: i0 }); }
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperNavDirective, decorators: [{
156
+ type: Directive,
157
+ args: [{
158
+ selector: '[hubStepperNav], [stepperNav]'
159
+ }]
160
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
161
+
162
+ /**
163
+ * StepperComponent is a multi-step interface component for Angular applications.
164
+ * It manages navigation between steps, handles step content, and provides
165
+ * customization options for navigation and controls.
166
+ */
167
+ class StepperComponent {
168
+ constructor() {
169
+ this.#cdr = inject(ChangeDetectorRef);
170
+ /** The index of the current active step */
171
+ this.currentIndex = 0;
172
+ /** Label for the back button */
173
+ this.backLabel = 'Back';
174
+ /** Label for the continue button */
175
+ this.continueLabel = 'Continue';
176
+ /** Label for the submit button */
177
+ this.submitLabel = 'Submit';
178
+ /** Event emitted when the stepper is completed */
179
+ this.completed = new EventEmitter();
180
+ /** Event emitted when moving to the previous step */
181
+ this.previousStep = new EventEmitter();
182
+ /** Event emitted when moving to the next step */
183
+ this.nextStep = new EventEmitter();
184
+ }
185
+ #cdr;
186
+ /** Get the current active step */
187
+ get currentStep() {
188
+ return this.steps?.toArray()[this.currentIndex] ?? null;
189
+ }
190
+ ngAfterContentInit() {
191
+ this.initializeSteps();
192
+ }
193
+ /**
194
+ * Initialize step indices and set up change detection
195
+ */
196
+ initializeSteps() {
197
+ this.steps.forEach((step, index) => (step.index = index));
198
+ // Consider using ngZone.runOutsideAngular for better performance
199
+ this.#cdr.detectChanges();
200
+ }
201
+ /**
202
+ * Navigate to the previous step
203
+ */
204
+ goToPrevious() {
205
+ this.goTo(this.currentIndex - 1);
206
+ }
207
+ /**
208
+ * Navigate to the next step
209
+ */
210
+ goToNext() {
211
+ this.goTo(this.currentIndex + 1);
212
+ }
213
+ /**
214
+ * Navigate to a specific step by index
215
+ * @param index The index of the step to navigate to
216
+ */
217
+ goTo(index) {
218
+ if (this.isValidStepIndex(index)) {
219
+ this.currentIndex = index;
220
+ this.#cdr.detectChanges();
221
+ if (index > this.currentIndex) {
222
+ this.nextStep.emit(index);
223
+ }
224
+ else {
225
+ this.previousStep.emit(index);
226
+ }
227
+ }
228
+ else {
229
+ console.error(`Invalid step index: ${index}`);
230
+ }
231
+ }
232
+ /**
233
+ * Check if it's possible to navigate to the next step
234
+ */
235
+ canGoNext() {
236
+ const nextIndex = this.currentIndex + 1;
237
+ return (this.isValidStepIndex(nextIndex) &&
238
+ !this.steps.toArray()[nextIndex]?.disabled);
239
+ }
240
+ /**
241
+ * Check if it's possible to navigate to a specific step
242
+ * @param index The index of the step to check
243
+ */
244
+ canNavigateTo(index) {
245
+ return (this.isValidStepIndex(index) &&
246
+ !this.steps.toArray()[index]?.disabled);
247
+ }
248
+ /**
249
+ * Complete the stepper process
250
+ */
251
+ complete() {
252
+ this.completed.emit();
253
+ }
254
+ /**
255
+ * Check if a given index is valid within the current steps
256
+ * @param index The index to validate
257
+ */
258
+ isValidStepIndex(index) {
259
+ return index >= 0 && index < this.steps.length;
260
+ }
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: StepperComponent, selector: "hub-stepper, hub-ui-stepper, ng80-stepper", inputs: { backLabel: "backLabel", continueLabel: "continueLabel", submitLabel: "submitLabel" }, outputs: { completed: "completed", previousStep: "previousStep", nextStep: "nextStep" }, host: { classAttribute: "stepper d-flex flex-column overflow-auto" }, queries: [{ propertyName: "stepperNavTpt", first: true, predicate: StepperNavDirective, descendants: true, read: TemplateRef }, { propertyName: "stepperControlsTpt", first: true, predicate: StepperButtonsDirective, descendants: true, read: TemplateRef }, { propertyName: "steps", predicate: StepComponent }], ngImport: i0, template: "<div class=\"stepper\">\n\t<!--begin::Nav-->\n\t<nav class=\"stepper__nav\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperNavTpt || defaultNavTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</nav>\n\t<!--end::Nav-->\n\n\t<!--begin::Content-->\n\t<div class=\"stepper__content\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"currentStep?.innerTemplate\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Content-->\n\n\t<!--begin::Controls-->\n\t<div class=\"stepper__controls\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperControlsTpt || defaultStepperControlsTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Controls-->\n</div>\n\n<!-- begin:default-controls -->\n<ng-template #defaultStepperControlsTpt let-currentIndex=\"currentIndex\">\n\t<button\n\t\tclass=\"stepper__button stepper__button--back\"\n\t\t(click)=\"goTo(currentIndex - 1)\"\n\t\t*ngIf=\"currentIndex > 0\"\n\t>\n\t\t<i class=\"stepper__button-icon stepper__button-icon--back\"></i>\n\t\t{{ backLabel }}\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--next\"\n\t\t(click)=\"goTo(currentIndex + 1)\"\n\t\t*ngIf=\"currentIndex < steps.length - 1\"\n\t\t[disabled]=\"!canGoNext()\"\n\t>\n\t\t{{ continueLabel }}\n\t\t<i class=\"stepper__button-icon stepper__button-icon--next\"></i>\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--submit\"\n\t\t(click)=\"complete()\"\n\t\t*ngIf=\"currentIndex === steps.length - 1\"\n\t>\n\t\t{{ submitLabel }}\n\t</button>\n</ng-template>\n<!--end::default-controls-->\n\n<!-- begin:default-nav -->\n<ng-template #defaultNavTpt let-steps=\"steps\" let-currentIndex=\"currentIndex\">\n\t<ul class=\"stepper__nav-list\">\n\t\t<li *ngFor=\"let step of steps; let i = index\" class=\"stepper__nav-item\">\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"\n\t\t\t\t\tstep?.stepTriggerTpt || defaultNavTriggerTpt\n\t\t\t\t\"\n\t\t\t\t[ngTemplateOutletContext]=\"{\n\t\t\t\t\ttitle: step.title,\n\t\t\t\t\tindex: i,\n\t\t\t\t\tisCurrent: currentIndex === i,\n\t\t\t\t\tisCompleted: i < currentIndex\n\t\t\t\t}\"\n\t\t\t></ng-container>\n\t\t</li>\n\t</ul>\n</ng-template>\n<!-- end:default-nav -->\n\n<!-- begin:default-nav-trigger -->\n<ng-template\n\t#defaultNavTriggerTpt\n\tlet-title=\"title\"\n\tlet-index=\"index\"\n\tlet-isCurrent=\"isCurrent\"\n\tlet-isCompleted=\"isCompleted\"\n>\n\t<button\n\t\tclass=\"stepper__nav-trigger\"\n\t\t[class.stepper__nav-trigger--current]=\"isCurrent\"\n\t\t[class.stepper__nav-trigger--completed]=\"isCompleted\"\n\t\t[disabled]=\"!canNavigateTo(index)\"\n\t\t(click)=\"goTo(index)\"\n\t>\n\t\t<span class=\"stepper__nav-indicator\">{{ index + 1 }}</span>\n\t\t<span class=\"stepper__nav-title\" *ngIf=\"title\">{{ title }}</span>\n\t</button>\n</ng-template>\n<!-- end:default-nav-trigger -->\n", styles: [":host{--stepper-primary-color: #009ef7;--stepper-secondary-color: #b5b5c3;--stepper-background-color: #f3f6f9;--stepper-text-color: #181c32;--stepper-disabled-color: #e1e3ea;display:block}.stepper__nav{background-color:var(--stepper-background-color)}.stepper__nav-trigger{color:var(--stepper-text-color)}.stepper__nav-trigger--current{color:var(--stepper-primary-color)}.stepper__nav-trigger--completed{color:var(--stepper-secondary-color)}.stepper__nav-trigger:disabled{color:var(--stepper-disabled-color)}.stepper__button--back{background-color:var(--stepper-background-color);color:var(--stepper-text-color)}.stepper__button--next,.stepper__button--submit{background-color:var(--stepper-primary-color);color:var(--stepper-background-color)}.stepper__button:disabled{opacity:.5;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
263
+ }
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperComponent, decorators: [{
265
+ type: Component,
266
+ args: [{ selector: 'hub-stepper, hub-ui-stepper, ng80-stepper', changeDetection: ChangeDetectionStrategy.OnPush, host: {
267
+ class: 'stepper d-flex flex-column overflow-auto'
268
+ }, template: "<div class=\"stepper\">\n\t<!--begin::Nav-->\n\t<nav class=\"stepper__nav\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperNavTpt || defaultNavTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</nav>\n\t<!--end::Nav-->\n\n\t<!--begin::Content-->\n\t<div class=\"stepper__content\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"currentStep?.innerTemplate\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Content-->\n\n\t<!--begin::Controls-->\n\t<div class=\"stepper__controls\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperControlsTpt || defaultStepperControlsTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Controls-->\n</div>\n\n<!-- begin:default-controls -->\n<ng-template #defaultStepperControlsTpt let-currentIndex=\"currentIndex\">\n\t<button\n\t\tclass=\"stepper__button stepper__button--back\"\n\t\t(click)=\"goTo(currentIndex - 1)\"\n\t\t*ngIf=\"currentIndex > 0\"\n\t>\n\t\t<i class=\"stepper__button-icon stepper__button-icon--back\"></i>\n\t\t{{ backLabel }}\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--next\"\n\t\t(click)=\"goTo(currentIndex + 1)\"\n\t\t*ngIf=\"currentIndex < steps.length - 1\"\n\t\t[disabled]=\"!canGoNext()\"\n\t>\n\t\t{{ continueLabel }}\n\t\t<i class=\"stepper__button-icon stepper__button-icon--next\"></i>\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--submit\"\n\t\t(click)=\"complete()\"\n\t\t*ngIf=\"currentIndex === steps.length - 1\"\n\t>\n\t\t{{ submitLabel }}\n\t</button>\n</ng-template>\n<!--end::default-controls-->\n\n<!-- begin:default-nav -->\n<ng-template #defaultNavTpt let-steps=\"steps\" let-currentIndex=\"currentIndex\">\n\t<ul class=\"stepper__nav-list\">\n\t\t<li *ngFor=\"let step of steps; let i = index\" class=\"stepper__nav-item\">\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"\n\t\t\t\t\tstep?.stepTriggerTpt || defaultNavTriggerTpt\n\t\t\t\t\"\n\t\t\t\t[ngTemplateOutletContext]=\"{\n\t\t\t\t\ttitle: step.title,\n\t\t\t\t\tindex: i,\n\t\t\t\t\tisCurrent: currentIndex === i,\n\t\t\t\t\tisCompleted: i < currentIndex\n\t\t\t\t}\"\n\t\t\t></ng-container>\n\t\t</li>\n\t</ul>\n</ng-template>\n<!-- end:default-nav -->\n\n<!-- begin:default-nav-trigger -->\n<ng-template\n\t#defaultNavTriggerTpt\n\tlet-title=\"title\"\n\tlet-index=\"index\"\n\tlet-isCurrent=\"isCurrent\"\n\tlet-isCompleted=\"isCompleted\"\n>\n\t<button\n\t\tclass=\"stepper__nav-trigger\"\n\t\t[class.stepper__nav-trigger--current]=\"isCurrent\"\n\t\t[class.stepper__nav-trigger--completed]=\"isCompleted\"\n\t\t[disabled]=\"!canNavigateTo(index)\"\n\t\t(click)=\"goTo(index)\"\n\t>\n\t\t<span class=\"stepper__nav-indicator\">{{ index + 1 }}</span>\n\t\t<span class=\"stepper__nav-title\" *ngIf=\"title\">{{ title }}</span>\n\t</button>\n</ng-template>\n<!-- end:default-nav-trigger -->\n", styles: [":host{--stepper-primary-color: #009ef7;--stepper-secondary-color: #b5b5c3;--stepper-background-color: #f3f6f9;--stepper-text-color: #181c32;--stepper-disabled-color: #e1e3ea;display:block}.stepper__nav{background-color:var(--stepper-background-color)}.stepper__nav-trigger{color:var(--stepper-text-color)}.stepper__nav-trigger--current{color:var(--stepper-primary-color)}.stepper__nav-trigger--completed{color:var(--stepper-secondary-color)}.stepper__nav-trigger:disabled{color:var(--stepper-disabled-color)}.stepper__button--back{background-color:var(--stepper-background-color);color:var(--stepper-text-color)}.stepper__button--next,.stepper__button--submit{background-color:var(--stepper-primary-color);color:var(--stepper-background-color)}.stepper__button:disabled{opacity:.5;cursor:not-allowed}\n"] }]
269
+ }], propDecorators: { backLabel: [{
270
+ type: Input
271
+ }], continueLabel: [{
272
+ type: Input
273
+ }], submitLabel: [{
274
+ type: Input
275
+ }], completed: [{
276
+ type: Output
277
+ }], previousStep: [{
278
+ type: Output
279
+ }], nextStep: [{
280
+ type: Output
281
+ }], steps: [{
282
+ type: ContentChildren,
283
+ args: [StepComponent]
284
+ }], stepperNavTpt: [{
285
+ type: ContentChild,
286
+ args: [StepperNavDirective, { read: TemplateRef }]
287
+ }], stepperControlsTpt: [{
288
+ type: ContentChild,
289
+ args: [StepperButtonsDirective, { read: TemplateRef }]
290
+ }] } });
291
+
292
+ class StepperModule {
293
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
294
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, declarations: [StepperComponent,
295
+ StepComponent,
296
+ StepTriggerDirective,
297
+ StepperNavDirective,
298
+ PrevStepButtonDirective,
299
+ NextStepButtonDirective], imports: [CommonModule, i1$1.TranslateModule], exports: [StepperComponent,
300
+ StepComponent,
301
+ StepTriggerDirective,
302
+ StepperNavDirective,
303
+ PrevStepButtonDirective,
304
+ NextStepButtonDirective] }); }
305
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, imports: [CommonModule, TranslateModule.forChild()] }); }
306
+ }
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperModule, decorators: [{
308
+ type: NgModule,
309
+ args: [{
310
+ declarations: [
311
+ StepperComponent,
312
+ StepComponent,
313
+ StepTriggerDirective,
314
+ StepperNavDirective,
315
+ PrevStepButtonDirective,
316
+ NextStepButtonDirective
317
+ ],
318
+ imports: [CommonModule, TranslateModule.forChild()],
319
+ exports: [
320
+ StepperComponent,
321
+ StepComponent,
322
+ StepTriggerDirective,
323
+ StepperNavDirective,
324
+ PrevStepButtonDirective,
325
+ NextStepButtonDirective
326
+ ]
327
+ }]
328
+ }] });
329
+
330
+ class StepperThemeService {
331
+ constructor(rendererFactory) {
332
+ this.renderer = rendererFactory.createRenderer(null, null);
333
+ }
334
+ setTheme(theme) {
335
+ Object.keys(theme).forEach((key) => {
336
+ this.renderer.setStyle(document.documentElement, `--stepper-${key}`, theme[key]);
337
+ });
338
+ }
339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperThemeService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
340
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperThemeService, providedIn: 'root' }); }
341
+ }
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: StepperThemeService, decorators: [{
343
+ type: Injectable,
344
+ args: [{
345
+ providedIn: 'root'
346
+ }]
347
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
348
+
349
+ /*
350
+ * Public API Surface of stepper
351
+ */
352
+
353
+ /**
354
+ * Generated bundle index. Do not edit.
355
+ */
356
+
357
+ export { NextStepButtonDirective, PrevStepButtonDirective, StepComponent, StepTriggerDirective, StepperComponent, StepperModule, StepperNavDirective, StepperThemeService };
358
+ //# sourceMappingURL=ng-hub-ui-stepper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-hub-ui-stepper.mjs","sources":["../../../projects/stepper/src/lib/next-step-button.directive.ts","../../../projects/stepper/src/lib/prev-step-button.directive.ts","../../../projects/stepper/src/lib/step-trigger.directive.ts","../../../projects/stepper/src/lib/step/step.component.ts","../../../projects/stepper/src/lib/step/step.component.html","../../../projects/stepper/src/lib/stepper-buttons.directive.ts","../../../projects/stepper/src/lib/stepper-nav.directive.ts","../../../projects/stepper/src/lib/stepper/stepper.component.ts","../../../projects/stepper/src/lib/stepper/stepper.component.html","../../../projects/stepper/src/lib/stepper.module.ts","../../../projects/stepper/src/lib/services/stepper-theme-service.ts","../../../projects/stepper/src/public-api.ts","../../../projects/stepper/src/ng-hub-ui-stepper.ts"],"sourcesContent":["import { Directive, HostListener, inject } from '@angular/core';\nimport { StepperComponent } from './stepper/stepper.component';\n\n@Directive({\n\tselector: '[hubNextStepButton] [nextStepButton]'\n})\nexport class NextStepButtonDirective {\n\t#stepper = inject(StepperComponent);\n\tconstructor() {}\n\n\t@HostListener('click') onClick() {\n\t\tthis.#stepper.goToNext();\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { StepperComponent } from './stepper/stepper.component';\n\n@Directive({\n\tselector: '[hubPrevStepButton]'\n})\nexport class PrevStepButtonDirective {\n\t#stepper = inject(StepperComponent);\n\tconstructor() {}\n\n\t@HostListener('click') onClick() {\n\t\tthis.#stepper.goToPrevious();\n\t}\n}\n","import { TemplateRef, Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[hubStepTrigger] [stepTrigger]'\n})\nexport class StepTriggerDirective {\n\tconstructor(public template: TemplateRef<any>) {}\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tContentChildren,\n\tInput,\n\tOnInit,\n\tQueryList,\n\tTemplateRef,\n\tViewChild\n} from '@angular/core';\nimport { NextStepButtonDirective } from '../next-step-button.directive';\nimport { PrevStepButtonDirective } from '../prev-step-button.directive';\nimport { StepTriggerDirective } from '../step-trigger.directive';\n\nconst ANIMATION_DURATION = 256;\n\n@Component({\n\tselector: 'hub-step, hub-ui-step, ng80-step',\n\ttemplateUrl: './step.component.html',\n\tstyleUrls: ['./step.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('slideInOut', [\n\t\t\ttransition(':enter', [\n\t\t\t\tstyle({ transform: 'translateX(-100%)', opacity: 0 }),\n\t\t\t\tanimate(\n\t\t\t\t\t`${ANIMATION_DURATION}ms ${ANIMATION_DURATION}ms`,\n\t\t\t\t\tstyle({ transform: 'translateX(0%)', opacity: 1 })\n\t\t\t\t)\n\t\t\t]),\n\t\t\ttransition(':leave', [\n\t\t\t\tanimate(\n\t\t\t\t\t`${ANIMATION_DURATION}ms ease-in`,\n\t\t\t\t\tstyle({ transform: 'translateX(100%)' })\n\t\t\t\t)\n\t\t\t])\n\t\t])\n\t]\n})\nexport class StepComponent implements OnInit {\n\t/** The index of this step in the stepper */\n\t@Input() index!: number;\n\n\t/** The title of this step */\n\t@Input() title?: string;\n\n\t/** Whether this step is disabled */\n\t@Input() disabled: boolean = false;\n\n\t/** Template reference for the content of this step */\n\t@ViewChild('innerTemplate', { static: true })\n\tinnerTemplate!: TemplateRef<any>;\n\n\t/** Custom template for the step trigger */\n\t@ContentChild(StepTriggerDirective, { read: TemplateRef })\n\tstepTriggerTpt!: TemplateRef<any>;\n\n\t/** Collection of previous step button directives */\n\t@ContentChildren(PrevStepButtonDirective)\n\tprevStepButtons!: QueryList<PrevStepButtonDirective>;\n\n\t/** Collection of next step button directives */\n\t@ContentChildren(NextStepButtonDirective)\n\tnextStepButtons!: QueryList<NextStepButtonDirective>;\n\n\tconstructor() {}\n\n\tngOnInit(): void {\n\t\tthis.validateInputs();\n\t}\n\n\t/**\n\t * Validates the inputs to ensure the component is properly configured\n\t */\n\tprivate validateInputs(): void {\n\t\tif (this.index === undefined) {\n\t\t\tconsole.warn('StepComponent: index is required');\n\t\t}\n\t\tif (!this.title) {\n\t\t\tconsole.warn(\n\t\t\t\t'StepComponent: title is recommended for accessibility'\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the step can be navigated to\n\t * @returns boolean indicating if the step is accessible\n\t */\n\tisAccessible(): boolean {\n\t\treturn !this.disabled;\n\t}\n}\n","<ng-template #innerTemplate>\n\t<div\n\t\t[@slideInOut]\n\t\tclass=\"step__content\"\n\t\t[attr.data-step-index]=\"index\"\n\t\t[attr.aria-label]=\"title\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n</ng-template>\n","import { TemplateRef, Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[hubStepperButtons], [stepperButtons]'\n})\nexport class StepperButtonsDirective {\n\tconstructor(public template: TemplateRef<any>) {}\n}\n","import { TemplateRef, Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[hubStepperNav], [stepperNav]'\n})\nexport class StepperNavDirective {\n\tconstructor(public template: TemplateRef<any>) {}\n}\n","import {\n\tAfterContentInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tContentChildren,\n\tEventEmitter,\n\tinject,\n\tInput,\n\tOutput,\n\tQueryList,\n\tTemplateRef\n} from '@angular/core';\nimport { StepComponent } from '../step/step.component';\nimport { StepperButtonsDirective } from '../stepper-buttons.directive';\nimport { StepperNavDirective } from '../stepper-nav.directive';\n\n/**\n * StepperComponent is a multi-step interface component for Angular applications.\n * It manages navigation between steps, handles step content, and provides\n * customization options for navigation and controls.\n */\n@Component({\n\tselector: 'hub-stepper, hub-ui-stepper, ng80-stepper',\n\ttemplateUrl: './stepper.component.html',\n\tstyleUrls: ['./stepper.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'stepper d-flex flex-column overflow-auto'\n\t}\n})\nexport class StepperComponent implements AfterContentInit {\n\t#cdr = inject(ChangeDetectorRef);\n\n\t/** The index of the current active step */\n\tcurrentIndex: number = 0;\n\n\t/** Label for the back button */\n\t@Input() backLabel: string = 'Back';\n\n\t/** Label for the continue button */\n\t@Input() continueLabel: string = 'Continue';\n\n\t/** Label for the submit button */\n\t@Input() submitLabel: string = 'Submit';\n\n\t/** Event emitted when the stepper is completed */\n\t@Output() completed = new EventEmitter<void>();\n\n\t/** Event emitted when moving to the previous step */\n\t@Output() previousStep = new EventEmitter<number>();\n\n\t/** Event emitted when moving to the next step */\n\t@Output() nextStep = new EventEmitter<number>();\n\n\t/** QueryList of all StepComponent children */\n\t@ContentChildren(StepComponent) steps!: QueryList<StepComponent>;\n\n\t/** Custom template for stepper navigation */\n\t@ContentChild(StepperNavDirective, { read: TemplateRef })\n\tstepperNavTpt?: TemplateRef<any>;\n\n\t/** Custom template for stepper controls */\n\t@ContentChild(StepperButtonsDirective, { read: TemplateRef })\n\tstepperControlsTpt?: TemplateRef<any>;\n\n\t/** Get the current active step */\n\tget currentStep(): StepComponent | null {\n\t\treturn this.steps?.toArray()[this.currentIndex] ?? null;\n\t}\n\n\tngAfterContentInit(): void {\n\t\tthis.initializeSteps();\n\t}\n\n\t/**\n\t * Initialize step indices and set up change detection\n\t */\n\tprivate initializeSteps(): void {\n\t\tthis.steps.forEach((step, index) => (step.index = index));\n\t\t// Consider using ngZone.runOutsideAngular for better performance\n\t\tthis.#cdr.detectChanges();\n\t}\n\n\t/**\n\t * Navigate to the previous step\n\t */\n\tgoToPrevious(): void {\n\t\tthis.goTo(this.currentIndex - 1);\n\t}\n\n\t/**\n\t * Navigate to the next step\n\t */\n\tgoToNext(): void {\n\t\tthis.goTo(this.currentIndex + 1);\n\t}\n\n\t/**\n\t * Navigate to a specific step by index\n\t * @param index The index of the step to navigate to\n\t */\n\tgoTo(index: number): void {\n\t\tif (this.isValidStepIndex(index)) {\n\t\t\tthis.currentIndex = index;\n\t\t\tthis.#cdr.detectChanges();\n\t\t\tif (index > this.currentIndex) {\n\t\t\t\tthis.nextStep.emit(index);\n\t\t\t} else {\n\t\t\t\tthis.previousStep.emit(index);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error(`Invalid step index: ${index}`);\n\t\t}\n\t}\n\n\t/**\n\t * Check if it's possible to navigate to the next step\n\t */\n\tcanGoNext(): boolean {\n\t\tconst nextIndex = this.currentIndex + 1;\n\t\treturn (\n\t\t\tthis.isValidStepIndex(nextIndex) &&\n\t\t\t!this.steps.toArray()[nextIndex]?.disabled\n\t\t);\n\t}\n\n\t/**\n\t * Check if it's possible to navigate to a specific step\n\t * @param index The index of the step to check\n\t */\n\tcanNavigateTo(index: number): boolean {\n\t\treturn (\n\t\t\tthis.isValidStepIndex(index) &&\n\t\t\t!this.steps.toArray()[index]?.disabled\n\t\t);\n\t}\n\n\t/**\n\t * Complete the stepper process\n\t */\n\tcomplete(): void {\n\t\tthis.completed.emit();\n\t}\n\n\t/**\n\t * Check if a given index is valid within the current steps\n\t * @param index The index to validate\n\t */\n\tprivate isValidStepIndex(index: number): boolean {\n\t\treturn index >= 0 && index < this.steps.length;\n\t}\n}\n","<div class=\"stepper\">\n\t<!--begin::Nav-->\n\t<nav class=\"stepper__nav\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperNavTpt || defaultNavTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</nav>\n\t<!--end::Nav-->\n\n\t<!--begin::Content-->\n\t<div class=\"stepper__content\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"currentStep?.innerTemplate\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Content-->\n\n\t<!--begin::Controls-->\n\t<div class=\"stepper__controls\">\n\t\t<ng-container\n\t\t\t[ngTemplateOutlet]=\"stepperControlsTpt || defaultStepperControlsTpt\"\n\t\t\t[ngTemplateOutletContext]=\"{ steps: steps, currentIndex }\"\n\t\t></ng-container>\n\t</div>\n\t<!--end::Controls-->\n</div>\n\n<!-- begin:default-controls -->\n<ng-template #defaultStepperControlsTpt let-currentIndex=\"currentIndex\">\n\t<button\n\t\tclass=\"stepper__button stepper__button--back\"\n\t\t(click)=\"goTo(currentIndex - 1)\"\n\t\t*ngIf=\"currentIndex > 0\"\n\t>\n\t\t<i class=\"stepper__button-icon stepper__button-icon--back\"></i>\n\t\t{{ backLabel }}\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--next\"\n\t\t(click)=\"goTo(currentIndex + 1)\"\n\t\t*ngIf=\"currentIndex < steps.length - 1\"\n\t\t[disabled]=\"!canGoNext()\"\n\t>\n\t\t{{ continueLabel }}\n\t\t<i class=\"stepper__button-icon stepper__button-icon--next\"></i>\n\t</button>\n\n\t<button\n\t\tclass=\"stepper__button stepper__button--submit\"\n\t\t(click)=\"complete()\"\n\t\t*ngIf=\"currentIndex === steps.length - 1\"\n\t>\n\t\t{{ submitLabel }}\n\t</button>\n</ng-template>\n<!--end::default-controls-->\n\n<!-- begin:default-nav -->\n<ng-template #defaultNavTpt let-steps=\"steps\" let-currentIndex=\"currentIndex\">\n\t<ul class=\"stepper__nav-list\">\n\t\t<li *ngFor=\"let step of steps; let i = index\" class=\"stepper__nav-item\">\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"\n\t\t\t\t\tstep?.stepTriggerTpt || defaultNavTriggerTpt\n\t\t\t\t\"\n\t\t\t\t[ngTemplateOutletContext]=\"{\n\t\t\t\t\ttitle: step.title,\n\t\t\t\t\tindex: i,\n\t\t\t\t\tisCurrent: currentIndex === i,\n\t\t\t\t\tisCompleted: i < currentIndex\n\t\t\t\t}\"\n\t\t\t></ng-container>\n\t\t</li>\n\t</ul>\n</ng-template>\n<!-- end:default-nav -->\n\n<!-- begin:default-nav-trigger -->\n<ng-template\n\t#defaultNavTriggerTpt\n\tlet-title=\"title\"\n\tlet-index=\"index\"\n\tlet-isCurrent=\"isCurrent\"\n\tlet-isCompleted=\"isCompleted\"\n>\n\t<button\n\t\tclass=\"stepper__nav-trigger\"\n\t\t[class.stepper__nav-trigger--current]=\"isCurrent\"\n\t\t[class.stepper__nav-trigger--completed]=\"isCompleted\"\n\t\t[disabled]=\"!canNavigateTo(index)\"\n\t\t(click)=\"goTo(index)\"\n\t>\n\t\t<span class=\"stepper__nav-indicator\">{{ index + 1 }}</span>\n\t\t<span class=\"stepper__nav-title\" *ngIf=\"title\">{{ title }}</span>\n\t</button>\n</ng-template>\n<!-- end:default-nav-trigger -->\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NextStepButtonDirective } from './next-step-button.directive';\nimport { PrevStepButtonDirective } from './prev-step-button.directive';\nimport { StepTriggerDirective } from './step-trigger.directive';\nimport { StepComponent } from './step/step.component';\nimport { StepperNavDirective } from './stepper-nav.directive';\nimport { StepperComponent } from './stepper/stepper.component';\n\n@NgModule({\n\tdeclarations: [\n\t\tStepperComponent,\n\t\tStepComponent,\n\t\tStepTriggerDirective,\n\t\tStepperNavDirective,\n\t\tPrevStepButtonDirective,\n\t\tNextStepButtonDirective\n\t],\n\timports: [CommonModule, TranslateModule.forChild()],\n\texports: [\n\t\tStepperComponent,\n\t\tStepComponent,\n\t\tStepTriggerDirective,\n\t\tStepperNavDirective,\n\t\tPrevStepButtonDirective,\n\t\tNextStepButtonDirective\n\t]\n})\nexport class StepperModule {}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class StepperThemeService {\n\tprivate renderer: Renderer2;\n\n\tconstructor(rendererFactory: RendererFactory2) {\n\t\tthis.renderer = rendererFactory.createRenderer(null, null);\n\t}\n\n\tsetTheme(theme: { [key: string]: string }) {\n\t\tObject.keys(theme).forEach((key) => {\n\t\t\tthis.renderer.setStyle(\n\t\t\t\tdocument.documentElement,\n\t\t\t\t`--stepper-${key}`,\n\t\t\t\ttheme[key]\n\t\t\t);\n\t\t});\n\t}\n}\n\n// Usage in a component:\n// constructor(private themeService: StepperThemeService) {}\n//\n// ngOnInit() {\n// this.themeService.setTheme({\n// 'primary-color': '#ff4081',\n// 'background-color': '#f0f0f0'\n// });\n// }\n","/*\n * Public API Surface of stepper\n */\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/step/step.component';\nexport * from './lib/stepper.module';\nexport * from './lib/next-step-button.directive';\nexport * from './lib/prev-step-button.directive';\nexport * from './lib/step-trigger.directive';\nexport * from './lib/stepper-nav.directive';\nexport * from './lib/services/stepper-theme-service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="ng-hub-ui-stepper" />
5
+ export * from './public-api';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class NextStepButtonDirective {
3
+ #private;
4
+ constructor();
5
+ onClick(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NextStepButtonDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NextStepButtonDirective, "[hubNextStepButton] [nextStepButton]", never, {}, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PrevStepButtonDirective {
3
+ #private;
4
+ constructor();
5
+ onClick(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrevStepButtonDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PrevStepButtonDirective, "[hubPrevStepButton]", never, {}, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,11 @@
1
+ import { RendererFactory2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class StepperThemeService {
4
+ private renderer;
5
+ constructor(rendererFactory: RendererFactory2);
6
+ setTheme(theme: {
7
+ [key: string]: string;
8
+ }): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<StepperThemeService, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<StepperThemeService>;
11
+ }
@@ -0,0 +1,33 @@
1
+ import { OnInit, QueryList, TemplateRef } from '@angular/core';
2
+ import { NextStepButtonDirective } from '../next-step-button.directive';
3
+ import { PrevStepButtonDirective } from '../prev-step-button.directive';
4
+ import * as i0 from "@angular/core";
5
+ export declare class StepComponent implements OnInit {
6
+ /** The index of this step in the stepper */
7
+ index: number;
8
+ /** The title of this step */
9
+ title?: string;
10
+ /** Whether this step is disabled */
11
+ disabled: boolean;
12
+ /** Template reference for the content of this step */
13
+ innerTemplate: TemplateRef<any>;
14
+ /** Custom template for the step trigger */
15
+ stepTriggerTpt: TemplateRef<any>;
16
+ /** Collection of previous step button directives */
17
+ prevStepButtons: QueryList<PrevStepButtonDirective>;
18
+ /** Collection of next step button directives */
19
+ nextStepButtons: QueryList<NextStepButtonDirective>;
20
+ constructor();
21
+ ngOnInit(): void;
22
+ /**
23
+ * Validates the inputs to ensure the component is properly configured
24
+ */
25
+ private validateInputs;
26
+ /**
27
+ * Checks if the step can be navigated to
28
+ * @returns boolean indicating if the step is accessible
29
+ */
30
+ isAccessible(): boolean;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<StepComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<StepComponent, "hub-step, hub-ui-step, ng80-step", never, { "index": { "alias": "index"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["stepTriggerTpt", "prevStepButtons", "nextStepButtons"], ["*"], false, never>;
33
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class StepTriggerDirective {
4
+ template: TemplateRef<any>;
5
+ constructor(template: TemplateRef<any>);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<StepTriggerDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<StepTriggerDirective, "[hubStepTrigger] [stepTrigger]", never, {}, {}, never, never, false, never>;
8
+ }