@wlcm/angular 17.3.5 → 17.4.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.
Files changed (36) hide show
  1. package/package.json +7 -1
  2. package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +8 -2
  3. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +7 -1
  4. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
  5. package/stepper/README.md +7 -0
  6. package/stepper/esm2022/index.mjs +11 -0
  7. package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
  8. package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
  9. package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
  10. package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
  11. package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
  12. package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
  13. package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
  14. package/stepper/esm2022/lib/models/step.models.mjs +60 -0
  15. package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
  16. package/stepper/esm2022/lib/stepper.module.mjs +34 -0
  17. package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
  18. package/stepper/fesm2022/wlcm-angular-stepper.mjs +387 -0
  19. package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -0
  20. package/stepper/index.d.ts +10 -0
  21. package/stepper/lib/components/step/step.component.d.ts +16 -0
  22. package/stepper/lib/components/step-header/step-header.component.d.ts +20 -0
  23. package/stepper/lib/components/stepper/stepper.component.d.ts +6 -0
  24. package/stepper/lib/components/stepper-header/stepper-header.component.d.ts +8 -0
  25. package/stepper/lib/constants/step.constants.d.ts +4 -0
  26. package/stepper/lib/constants/stepper.stepper.d.ts +3 -0
  27. package/stepper/lib/directives/load-on-active-step.directive.d.ts +13 -0
  28. package/stepper/lib/models/step.models.d.ts +43 -0
  29. package/stepper/lib/models/stepper.models.d.ts +44 -0
  30. package/stepper/lib/stepper.module.d.ts +12 -0
  31. package/styles/components/stepper/_step-header.scss +123 -0
  32. package/styles/components/stepper/_step.scss +15 -0
  33. package/styles/components/stepper/_stepper-header.scss +13 -0
  34. package/styles/components/stepper/_stepper.scss +6 -0
  35. package/styles/components/stepper/indes.scss +9 -0
  36. package/styles/core/_all-theme.scss +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wlcm-angular-stepper.mjs","sources":["../../../../modules/stepper/src/lib/constants/stepper.stepper.ts","../../../../modules/stepper/src/lib/constants/step.constants.ts","../../../../modules/stepper/src/lib/models/stepper.models.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.html","../../../../modules/stepper/src/lib/models/step.models.ts","../../../../modules/stepper/src/lib/components/step/step.component.ts","../../../../modules/stepper/src/lib/components/step/step.component.html","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.ts","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.html","../../../../modules/stepper/src/lib/components/stepper/stepper.component.ts","../../../../modules/stepper/src/lib/components/stepper/stepper.component.html","../../../../modules/stepper/src/lib/directives/load-on-active-step.directive.ts","../../../../modules/stepper/src/lib/stepper.module.ts","../../../../modules/stepper/src/wlcm-angular-stepper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\nexport const WLCM_STEPS_NAVIGATOR: InjectionToken<WlcmStepsNavigator> = new InjectionToken('WLCM_STEPS_NAVIGATOR');\n","import { InjectionToken } from '@angular/core';\nimport { WlcmStep, WlcmStepOptions } from '../models/step.models';\n\nexport const WLCM_STEP: InjectionToken<WlcmStep> = new InjectionToken('WLCM_STEP');\n\nexport const WLCM_STEP_OPTIONS: InjectionToken<WlcmStepOptions> = new InjectionToken('WLCM_STEP_OPTIONS', {\n factory: (): WlcmStepOptions => ({\n completed: false,\n\n disabled: 'on_any_previous_incomplete',\n }),\n});\n","import { ChangeDetectorRef, Directive, Signal, contentChildren, effect } from '@angular/core';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n combineLatest,\n distinctUntilChanged,\n filter,\n map,\n skip,\n takeUntil,\n} from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from './step.models';\n\nexport abstract class WlcmStepsNavigator {\n abstract get active(): WlcmStep;\n\n abstract readonly active$: Observable<WlcmStep | null>;\n\n abstract get minIncompleteStepIndex(): number;\n\n abstract readonly minIncompleteStepIndex$: Observable<number>;\n\n abstract get isActiveCompleted(): boolean;\n\n abstract next(): void;\n\n abstract previous(): void;\n\n abstract activate(key: unknown): void;\n\n abstract canActivateNext(): boolean;\n\n abstract isCurrentOrPrevious(key: unknown): boolean;\n\n abstract getStepIndex(key: unknown): number | undefined;\n}\n\n@UntilDestroy()\n@Directive()\nexport class WlcmStepperBase extends WlcmStepsNavigator {\n private _listUpdated$: Subject<void> = new Subject();\n\n private _keyToIndexMap: Map<unknown, number> = new Map();\n\n protected _steps: Signal<ReadonlyArray<WlcmStep>> = contentChildren(WLCM_STEP, { descendants: true });\n\n private readonly _active$: BehaviorSubject<WlcmStep | null> = new BehaviorSubject<WlcmStep | null>(null);\n\n readonly active$: Observable<WlcmStep | null> = this._active$.asObservable();\n\n private readonly _minIncompleteStepIndex$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly minIncompleteStepIndex$: Observable<number> = this._minIncompleteStepIndex$\n .asObservable()\n .pipe(filter((index: number) => index !== Infinity));\n\n constructor(protected changeDetector: ChangeDetectorRef) {\n super();\n\n effect(() => this._handleUpdatedList(this._steps()));\n }\n\n get active(): WlcmStep {\n return this._active$.value!;\n }\n\n get isActiveCompleted(): boolean {\n return this.active.completed;\n }\n\n get minIncompleteStepIndex(): number {\n return this._minIncompleteStepIndex$.value;\n }\n\n next(): void {\n if (!this.canActivateNext()) return;\n\n const index: number = this._activeIndex + 1;\n\n if (index < this._steps().length) this.activate(this._steps()[index].key);\n }\n\n previous(): void {\n const index: number = this._activeIndex - 1;\n\n if (index >= 0) this.activate(this._steps()[index].key);\n }\n\n activate(key: unknown): void {\n if (!this._keyToIndexMap.has(key)) return;\n\n const step: WlcmStep = this._getStep(key);\n\n this._active$.next(step);\n\n this.changeDetector.markForCheck();\n }\n\n canActivateNext(): boolean {\n return this.isActiveCompleted;\n }\n\n isCurrentOrPrevious(key: unknown): boolean {\n const index: number = this._keyToIndexMap.get(key)!;\n\n const activeIndex: number = this._activeIndex;\n\n return index === activeIndex || activeIndex > index;\n }\n\n getStepIndex(key: unknown): number | undefined {\n return this._keyToIndexMap.get(key);\n }\n\n private get _activeIndex(): number {\n return this._keyToIndexMap.get(this.active.key)!;\n }\n\n private _getStep(key: unknown): WlcmStep {\n return this._steps()[this._keyToIndexMap.get(key)!];\n }\n\n private _handleUpdatedList(list: ReadonlyArray<WlcmStep>): void {\n this._listUpdated$.next();\n\n this._keyToIndexMap.clear();\n\n list.forEach((step: WlcmStep, index: number) => {\n if (!step.key) step.key = `${index}`;\n\n this._keyToIndexMap.set(step.key, index);\n\n this._handleKeyChanges(step, index);\n });\n\n this._handleCompleteChanges(list);\n\n if (!this._active$.value) this.activate(list[0].key);\n }\n\n private _handleKeyChanges(step: WlcmStep, index: number): void {\n let previousKey: unknown = step.key;\n\n step.key$\n .pipe(skip(1))\n .pipe(untilDestroyed(this), takeUntil(this._listUpdated$))\n .subscribe((newKey: unknown) => {\n this._keyToIndexMap.delete(previousKey);\n\n this._keyToIndexMap.set(newKey, index);\n\n previousKey = newKey;\n });\n }\n\n private _handleCompleteChanges(list: ReadonlyArray<WlcmStep>): void {\n combineLatest(\n list.map((step: WlcmStep, index: number) =>\n step.completed$\n .pipe(distinctUntilChanged())\n .pipe(map((isCompleted: boolean) => (isCompleted ? Infinity : index)))\n )\n )\n .pipe(untilDestroyed(this), takeUntil(this._listUpdated$))\n .subscribe((indexes: number[]) => {\n const minIndex: number = Math.min(...indexes);\n\n this._minIncompleteStepIndex$.next(minIndex !== Infinity ? minIndex : -1);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, HostBinding, Inject, InputSignal, effect, input } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WlcmStep, WlcmStepDisableValue } from '../../models/step.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { Subject, map, of, switchMap, takeUntil } from 'rxjs';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-step-header',\n host: { class: 'wlcm-step-header' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './step-header.component.html',\n styleUrl: './step-header.component.scss',\n})\nexport class WlcmStepHeaderComponent {\n step: InputSignal<WlcmStep> = input.required();\n\n @HostBinding('class.wlcm-step-header-passed') get isPassed() {\n return this._key && this.navigator.isCurrentOrPrevious(this._key);\n }\n\n @HostBinding('class.wlcm-step-header-completed') get isCompleted() {\n return this._step.completed;\n }\n\n private _stepUpdated$: Subject<void> = new Subject();\n\n constructor(private elementRef: ElementRef, @Inject(WLCM_STEPS_NAVIGATOR) protected navigator: WlcmStepsNavigator) {\n effect(() => this._handleDisableStatusChanges());\n }\n\n activate(): void {\n if (this.navigator.active?.key === this.step().key) return;\n\n this.navigator.activate(this.step().key);\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private get _key(): unknown {\n return this.step().key;\n }\n\n private get _step(): WlcmStep {\n return this.step();\n }\n\n private _handleDisableStatusChanges(): void {\n this._stepUpdated$.next();\n\n this.step()\n .disabled$.pipe(\n switchMap((value: WlcmStepDisableValue) => {\n if (value === 'on_any_previous_incomplete') {\n return this.navigator.minIncompleteStepIndex$.pipe(\n map((minIndex: number) => {\n if (minIndex < 0) return false;\n\n return minIndex < this.navigator.getStepIndex(this.step().key)!;\n })\n );\n }\n\n return of(value);\n })\n )\n .pipe(untilDestroyed(this), takeUntil(this._stepUpdated$))\n .subscribe((isDisabled: boolean) => {\n if (isDisabled) {\n return this.element.classList.add('wlcm-step-header-disabled');\n }\n\n this.element.classList.remove('wlcm-step-header-disabled');\n });\n }\n}\n","<button class=\"wlcm-step-header-button\" (click)=\"activate()\">\n <span class=\"wlcm-step-header-label\">{{ step().label$ | async }}</span>\n\n <div class=\"wlcm-step-header-progress-bar\">\n <div class=\"wlcm-step-header-complete-indicator\"></div>\n\n <div class=\"wlcm-step-header-pass-indicator\"></div>\n </div>\n</button>\n","import { Directive, Input } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nexport type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;\n\nexport interface WlcmStepOptions {\n completed?: boolean;\n\n disabled?: WlcmStepDisableValue;\n}\n\nexport abstract class WlcmStep {\n abstract set key(value: unknown);\n abstract get key(): unknown;\n\n abstract key$: Observable<unknown>;\n\n abstract set label(value: string);\n abstract get label(): string;\n\n abstract label$: Observable<string>;\n\n abstract set completed(value: boolean);\n abstract get completed(): boolean;\n\n abstract completed$: Observable<boolean>;\n\n abstract set disabled(value: WlcmStepDisableValue);\n abstract get disabled(): WlcmStepDisableValue;\n\n abstract disabled$: Observable<WlcmStepDisableValue>;\n}\n\n@Directive()\nexport abstract class WlcmStepBase extends WlcmStep {\n @Input() set key(value: unknown) {\n this._key$.next(value);\n }\n get key(): unknown {\n return this._key$.value;\n }\n\n private readonly _key$: BehaviorSubject<unknown> = new BehaviorSubject<unknown>(null);\n\n readonly key$: Observable<unknown> = this._key$.asObservable();\n\n @Input({ required: true }) set label(value: string) {\n this._label$.next(value);\n }\n get label(): string {\n return this._label$.value;\n }\n\n private readonly _label$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n\n readonly label$: Observable<string> = this._label$.asObservable();\n\n @Input() set completed(value: boolean) {\n this._completed$.next(value);\n }\n get completed(): boolean {\n return this._completed$.value;\n }\n\n private readonly _completed$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n readonly completed$: Observable<boolean> = this._completed$.asObservable();\n\n @Input() set disabled(value: WlcmStepDisableValue) {\n this._disabled$.next(value);\n }\n get disabled(): WlcmStepDisableValue {\n return this._disabled$.value;\n }\n\n private readonly _disabled$: BehaviorSubject<WlcmStepDisableValue> = new BehaviorSubject<WlcmStepDisableValue>(false);\n\n readonly disabled$: Observable<WlcmStepDisableValue> = this._disabled$.asObservable();\n\n constructor(protected options: WlcmStepOptions) {\n super();\n\n this.disabled = this.options.hasOwnProperty('completed') ? this.options.completed! : false;\n\n this.disabled = this.options.hasOwnProperty('disabled') ? this.options.disabled! : 'on_any_previous_incomplete';\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Inject, NgZone, forwardRef } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmStep, WlcmStepBase, WlcmStepOptions } from '../../models/step.models';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WLCM_STEP, WLCM_STEP_OPTIONS } from '../../constants/step.constants';\nimport { CommonModule } from '@angular/common';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-step',\n host: { class: 'wlcm-step' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './step.component.html',\n styleUrl: './step.component.scss',\n providers: [{ provide: WLCM_STEP, useExisting: forwardRef(() => WlcmStepComponent) }],\n})\nexport class WlcmStepComponent extends WlcmStepBase implements WlcmStep {\n constructor(\n private zone: NgZone,\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(WLCM_STEP_OPTIONS) protected override options: WlcmStepOptions,\n @Inject(WLCM_STEPS_NAVIGATOR) private stepsNavigator: WlcmStepsNavigator\n ) {\n super(options);\n\n this.zone.runOutsideAngular(() => this._handleActiveChanges());\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private _handleActiveChanges(): void {\n this.stepsNavigator.active$.pipe(untilDestroyed(this)).subscribe((active: WlcmStep | null) => {\n if (active?.key === this.key) {\n this.element.classList.add('wlcm-step-active');\n\n return this.changeDetectorRef.markForCheck();\n }\n\n this.element.classList.remove('wlcm-step-active');\n });\n }\n}\n","<ng-content></ng-content>\n","import { Component, InputSignal, input } from '@angular/core';\nimport { WlcmStepHeaderComponent } from '../step-header/step-header.component';\nimport { WlcmStep } from '../../models/step.models';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-stepper-header',\n host: { class: 'wlcm-stepper-header' },\n standalone: true,\n imports: [CommonModule, WlcmStepHeaderComponent],\n templateUrl: './stepper-header.component.html',\n styleUrl: './stepper-header.component.scss',\n})\nexport class WlcmStepperHeaderComponent {\n steps: InputSignal<ReadonlyArray<WlcmStep>> = input.required();\n}\n","@for (step of steps(); track step) {\n<wlcm-step-header [step]=\"step\"></wlcm-step-header>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, forwardRef } from '@angular/core';\nimport { WlcmStepperHeaderComponent } from '../stepper-header/stepper-header.component';\nimport { WlcmStepperBase } from '../../models/stepper.models';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\n\n@Component({\n selector: 'wlcm-stepper',\n host: { class: 'wlcm-stepper' },\n standalone: true,\n imports: [CommonModule, WlcmStepperHeaderComponent],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n providers: [{ provide: WLCM_STEPS_NAVIGATOR, useExisting: forwardRef(() => WlcmStepperComponent) }],\n})\nexport class WlcmStepperComponent extends WlcmStepperBase {}\n","<wlcm-stepper-header [steps]=\"_steps()\"></wlcm-stepper-header>\n\n<ng-content select=\"wlcm-step\"></ng-content>\n","import { Directive, Inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from '../models/step.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_STEPS_NAVIGATOR } from '../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmLoadOnActiveStep]',\n standalone: true,\n})\nexport class WlcmLoadOnActiveStepDirective {\n constructor(\n @Inject(WLCM_STEP) protected step: WlcmStep,\n @Inject(WLCM_STEPS_NAVIGATOR) protected navigator: WlcmStepsNavigator,\n private templateRef: TemplateRef<void>,\n private viewContainer: ViewContainerRef\n ) {\n this.navigator.active$.pipe(untilDestroyed(this)).subscribe((active: WlcmStep | null) => {\n if (active?.key === step.key) {\n this.viewContainer.clear();\n\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmStepperComponent } from './components/stepper/stepper.component';\nimport { WlcmStepHeaderComponent } from './components/step-header/step-header.component';\nimport { WlcmStepperHeaderComponent } from './components/stepper-header/stepper-header.component';\nimport { WlcmStepComponent } from './components/step/step.component';\nimport { WlcmLoadOnActiveStepDirective } from './directives/load-on-active-step.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmStepComponent,\n WlcmStepperComponent,\n WlcmStepHeaderComponent,\n WlcmStepperHeaderComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmLoadOnActiveStepDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { WlcmStepHeaderComponent } from './lib/components/step-header/step-header.component';
2
+ export { WlcmStepComponent } from './lib/components/step/step.component';
3
+ export { WlcmStepperHeaderComponent } from './lib/components/stepper-header/stepper-header.component';
4
+ export { WlcmStepperComponent } from './lib/components/stepper/stepper.component';
5
+ export { WlcmLoadOnActiveStepDirective } from './lib/directives/load-on-active-step.directive';
6
+ export { WlcmStepperModule } from './lib/stepper.module';
7
+ export { WlcmStep, WlcmStepOptions, WlcmStepDisableValue } from './lib/models/step.models';
8
+ export { WlcmStepsNavigator } from './lib/models/stepper.models';
9
+ export { WLCM_STEP, WLCM_STEP_OPTIONS } from './lib/constants/step.constants';
10
+ export { WLCM_STEPS_NAVIGATOR } from './lib/constants/stepper.stepper';
@@ -0,0 +1,16 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone } from '@angular/core';
2
+ import { WlcmStep, WlcmStepBase, WlcmStepOptions } from '../../models/step.models';
3
+ import { WlcmStepsNavigator } from '../../models/stepper.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class WlcmStepComponent extends WlcmStepBase implements WlcmStep {
6
+ private zone;
7
+ private elementRef;
8
+ private changeDetectorRef;
9
+ protected options: WlcmStepOptions;
10
+ private stepsNavigator;
11
+ constructor(zone: NgZone, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, options: WlcmStepOptions, stepsNavigator: WlcmStepsNavigator);
12
+ private get element();
13
+ private _handleActiveChanges;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepComponent, "wlcm-step", never, {}, {}, never, ["*"], true, never>;
16
+ }
@@ -0,0 +1,20 @@
1
+ import { ElementRef, InputSignal } from '@angular/core';
2
+ import { WlcmStepsNavigator } from '../../models/stepper.models';
3
+ import { WlcmStep } from '../../models/step.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class WlcmStepHeaderComponent {
6
+ private elementRef;
7
+ protected navigator: WlcmStepsNavigator;
8
+ step: InputSignal<WlcmStep>;
9
+ get isPassed(): unknown;
10
+ get isCompleted(): boolean;
11
+ private _stepUpdated$;
12
+ constructor(elementRef: ElementRef, navigator: WlcmStepsNavigator);
13
+ activate(): void;
14
+ private get element();
15
+ private get _key();
16
+ private get _step();
17
+ private _handleDisableStatusChanges;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepHeaderComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepHeaderComponent, "wlcm-step-header", never, { "step": { "alias": "step"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
20
+ }
@@ -0,0 +1,6 @@
1
+ import { WlcmStepperBase } from '../../models/stepper.models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class WlcmStepperComponent extends WlcmStepperBase {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepperComponent, "wlcm-stepper", never, {}, {}, never, ["wlcm-step"], true, never>;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { InputSignal } from '@angular/core';
2
+ import { WlcmStep } from '../../models/step.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class WlcmStepperHeaderComponent {
5
+ steps: InputSignal<ReadonlyArray<WlcmStep>>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperHeaderComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepperHeaderComponent, "wlcm-stepper-header", never, { "steps": { "alias": "steps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { WlcmStep, WlcmStepOptions } from '../models/step.models';
3
+ export declare const WLCM_STEP: InjectionToken<WlcmStep>;
4
+ export declare const WLCM_STEP_OPTIONS: InjectionToken<WlcmStepOptions>;
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { WlcmStepsNavigator } from '../models/stepper.models';
3
+ export declare const WLCM_STEPS_NAVIGATOR: InjectionToken<WlcmStepsNavigator>;
@@ -0,0 +1,13 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { WlcmStep } from '../models/step.models';
3
+ import { WlcmStepsNavigator } from '../models/stepper.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class WlcmLoadOnActiveStepDirective {
6
+ protected step: WlcmStep;
7
+ protected navigator: WlcmStepsNavigator;
8
+ private templateRef;
9
+ private viewContainer;
10
+ constructor(step: WlcmStep, navigator: WlcmStepsNavigator, templateRef: TemplateRef<void>, viewContainer: ViewContainerRef);
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmLoadOnActiveStepDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmLoadOnActiveStepDirective, "[wlcmLoadOnActiveStep]", never, {}, {}, never, never, true, never>;
13
+ }
@@ -0,0 +1,43 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;
4
+ export interface WlcmStepOptions {
5
+ completed?: boolean;
6
+ disabled?: WlcmStepDisableValue;
7
+ }
8
+ export declare abstract class WlcmStep {
9
+ abstract set key(value: unknown);
10
+ abstract get key(): unknown;
11
+ abstract key$: Observable<unknown>;
12
+ abstract set label(value: string);
13
+ abstract get label(): string;
14
+ abstract label$: Observable<string>;
15
+ abstract set completed(value: boolean);
16
+ abstract get completed(): boolean;
17
+ abstract completed$: Observable<boolean>;
18
+ abstract set disabled(value: WlcmStepDisableValue);
19
+ abstract get disabled(): WlcmStepDisableValue;
20
+ abstract disabled$: Observable<WlcmStepDisableValue>;
21
+ }
22
+ export declare abstract class WlcmStepBase extends WlcmStep {
23
+ protected options: WlcmStepOptions;
24
+ set key(value: unknown);
25
+ get key(): unknown;
26
+ private readonly _key$;
27
+ readonly key$: Observable<unknown>;
28
+ set label(value: string);
29
+ get label(): string;
30
+ private readonly _label$;
31
+ readonly label$: Observable<string>;
32
+ set completed(value: boolean);
33
+ get completed(): boolean;
34
+ private readonly _completed$;
35
+ readonly completed$: Observable<boolean>;
36
+ set disabled(value: WlcmStepDisableValue);
37
+ get disabled(): WlcmStepDisableValue;
38
+ private readonly _disabled$;
39
+ readonly disabled$: Observable<WlcmStepDisableValue>;
40
+ constructor(options: WlcmStepOptions);
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepBase, never>;
42
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepBase, never, never, { "key": { "alias": "key"; "required": false; }; "label": { "alias": "label"; "required": true; }; "completed": { "alias": "completed"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
43
+ }
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectorRef, Signal } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { WlcmStep } from './step.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare abstract class WlcmStepsNavigator {
6
+ abstract get active(): WlcmStep;
7
+ abstract readonly active$: Observable<WlcmStep | null>;
8
+ abstract get minIncompleteStepIndex(): number;
9
+ abstract readonly minIncompleteStepIndex$: Observable<number>;
10
+ abstract get isActiveCompleted(): boolean;
11
+ abstract next(): void;
12
+ abstract previous(): void;
13
+ abstract activate(key: unknown): void;
14
+ abstract canActivateNext(): boolean;
15
+ abstract isCurrentOrPrevious(key: unknown): boolean;
16
+ abstract getStepIndex(key: unknown): number | undefined;
17
+ }
18
+ export declare class WlcmStepperBase extends WlcmStepsNavigator {
19
+ protected changeDetector: ChangeDetectorRef;
20
+ private _listUpdated$;
21
+ private _keyToIndexMap;
22
+ protected _steps: Signal<ReadonlyArray<WlcmStep>>;
23
+ private readonly _active$;
24
+ readonly active$: Observable<WlcmStep | null>;
25
+ private readonly _minIncompleteStepIndex$;
26
+ readonly minIncompleteStepIndex$: Observable<number>;
27
+ constructor(changeDetector: ChangeDetectorRef);
28
+ get active(): WlcmStep;
29
+ get isActiveCompleted(): boolean;
30
+ get minIncompleteStepIndex(): number;
31
+ next(): void;
32
+ previous(): void;
33
+ activate(key: unknown): void;
34
+ canActivateNext(): boolean;
35
+ isCurrentOrPrevious(key: unknown): boolean;
36
+ getStepIndex(key: unknown): number | undefined;
37
+ private get _activeIndex();
38
+ private _getStep;
39
+ private _handleUpdatedList;
40
+ private _handleKeyChanges;
41
+ private _handleCompleteChanges;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperBase, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepperBase, never, never, {}, {}, ["_steps"], never, false, never>;
44
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./components/step/step.component";
4
+ import * as i3 from "./components/stepper/stepper.component";
5
+ import * as i4 from "./components/step-header/step-header.component";
6
+ import * as i5 from "./components/stepper-header/stepper-header.component";
7
+ import * as i6 from "./directives/load-on-active-step.directive";
8
+ export declare class WlcmStepperModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmStepperModule, never, [typeof i1.CommonModule, typeof i2.WlcmStepComponent, typeof i3.WlcmStepperComponent, typeof i4.WlcmStepHeaderComponent, typeof i5.WlcmStepperHeaderComponent, typeof i6.WlcmLoadOnActiveStepDirective], [typeof i2.WlcmStepComponent, typeof i3.WlcmStepperComponent, typeof i4.WlcmStepHeaderComponent, typeof i5.WlcmStepperHeaderComponent, typeof i6.WlcmLoadOnActiveStepDirective]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmStepperModule>;
12
+ }
@@ -0,0 +1,123 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @keyframes pass-indicator-animation {
5
+ from {
6
+ right: 100%;
7
+ }
8
+
9
+ to {
10
+ right: 0;
11
+ }
12
+ }
13
+
14
+ @keyframes complete-indicator-animation {
15
+ from {
16
+ width: 30%;
17
+ height: 30%;
18
+ }
19
+
20
+ to {
21
+ width: calc(100% + 4px);
22
+ height: calc(100% + 4px);
23
+ }
24
+ }
25
+
26
+ @mixin theme($theme-config) {
27
+ $theme: utils.using-theme($theme_config);
28
+
29
+ .wlcm-step-header {
30
+ &.wlcm-step-header-passed {
31
+ .wlcm-step-header-complete-indicator {
32
+ border-color: map-get($theme, primary-color);
33
+ }
34
+
35
+ .wlcm-step-header-label {
36
+ color: map-get($theme, primary-color);
37
+ }
38
+ }
39
+
40
+ &.wlcm-step-header-completed {
41
+ .wlcm-step-header-complete-indicator {
42
+ &::before {
43
+ content: '';
44
+ display: block;
45
+ position: absolute;
46
+ border-radius: 50%;
47
+ background: map-get($theme, primary-color);
48
+ animation: complete-indicator-animation 250ms
49
+ cubic-bezier(0.4, 0, 0.6, 1) forwards;
50
+ }
51
+ }
52
+ }
53
+
54
+ &.wlcm-step-header-passed,
55
+ &.wlcm-step-header-completed {
56
+ .wlcm-step-header-pass-indicator {
57
+ &::before {
58
+ content: '';
59
+ left: 0;
60
+ height: 2px;
61
+ display: block;
62
+ position: absolute;
63
+ background: map-get($theme, primary-color);
64
+ animation: pass-indicator-animation 250ms cubic-bezier(0.4, 0, 0.6, 1)
65
+ forwards;
66
+ }
67
+ }
68
+ }
69
+
70
+ &.wlcm-step-header-disabled {
71
+ .wlcm-step-header-button {
72
+ opacity: 0.7;
73
+ pointer-events: none;
74
+ }
75
+ }
76
+ }
77
+
78
+ .wlcm-step-header-button {
79
+ padding: 0;
80
+ width: 100%;
81
+ border: none;
82
+ outline: none;
83
+ display: flex;
84
+ flex-direction: column;
85
+ background: none;
86
+ cursor: pointer;
87
+ }
88
+
89
+ .wlcm-step-header-label {
90
+ display: inline-block;
91
+ font-family: map-get($theme, bold-font-family);
92
+ color: map-get($theme, field-outline-color);
93
+ margin-bottom: 5px;
94
+ line-height: 20px;
95
+ font-size: 14px;
96
+ }
97
+
98
+ .wlcm-step-header-progress-bar {
99
+ width: 100%;
100
+ height: 16px;
101
+ display: flex;
102
+ align-items: center;
103
+ }
104
+
105
+ .wlcm-step-header-complete-indicator {
106
+ width: 16px;
107
+ height: 16px;
108
+ border-radius: 50%;
109
+ border: 2px solid map-get($theme, field-outline-color);
110
+ box-sizing: border-box;
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+ position: relative;
115
+ }
116
+
117
+ .wlcm-step-header-pass-indicator {
118
+ flex: 1;
119
+ height: 2px;
120
+ background: map-get($theme, field-outline-color);
121
+ position: relative;
122
+ }
123
+ }
@@ -0,0 +1,15 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-step {
8
+ width: 100%;
9
+ display: none;
10
+
11
+ &.wlcm-step-active {
12
+ display: block;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+
7
+ .wlcm-stepper-header {
8
+ display: grid;
9
+ grid-auto-columns: 1fr;
10
+ grid-auto-flow: column;
11
+ align-items: center;
12
+ }
13
+ }
@@ -0,0 +1,6 @@
1
+ @use 'sass:map';
2
+ @use '../../core/utils' as utils;
3
+
4
+ @mixin theme($theme-config) {
5
+ $theme: utils.using-theme($theme_config);
6
+ }
@@ -0,0 +1,9 @@
1
+ @use './stepper-header' as stepperHeader;
2
+ @use './step-header' as stepHeader;
3
+ @use './step' as step;
4
+
5
+ @mixin theme($theme-config) {
6
+ @include stepperHeader.theme($theme-config);
7
+ @include stepHeader.theme($theme-config);
8
+ @include step.theme($theme-config);
9
+ }
@@ -7,6 +7,7 @@
7
7
  @use '../components/search-field/index' as searchField;
8
8
  @use '../components/date-range-picker/index' as dateRangePicker;
9
9
  @use '../components/phone-input/indes.scss' as phoneInput;
10
+ @use '../components/stepper/indes.scss' as stepper;
10
11
  @use '../components/table/index.scss' as table;
11
12
 
12
13
  @mixin all-component-themes($theme-config) {
@@ -17,5 +18,6 @@
17
18
  @include searchField.theme($theme-config);
18
19
  @include dateRangePicker.theme($theme-config);
19
20
  @include phoneInput.theme($theme-config);
21
+ @include stepper.theme($theme-config);
20
22
  @include table.theme($theme-config);
21
23
  }