@wlcm/angular 17.7.36 → 17.7.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
@@ -31,7 +31,7 @@ let WlcmStepperBase = class WlcmStepperBase extends WlcmStepsNavigator {
|
|
31
31
|
this.minIncompleteStepIndex$ = this._minIncompleteStepIndex$
|
32
32
|
.asObservable()
|
33
33
|
.pipe(filter((index) => index !== Infinity));
|
34
|
-
effect(() => this._handleUpdatedList(this._steps()));
|
34
|
+
effect(() => this._handleUpdatedList(this._steps()), { allowSignalWrites: true });
|
35
35
|
}
|
36
36
|
get active() {
|
37
37
|
return this._active$.value;
|
@@ -1 +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":";;;;;;;;MAGa,oBAAoB,GAAuC,IAAI,cAAc,CAAC,sBAAsB;;MCApG,SAAS,GAA6B,IAAI,cAAc,CAAC,WAAW;MAEpE,iBAAiB,GAAoC,IAAI,cAAc,CAAC,mBAAmB,EAAE;AACxG,IAAA,OAAO,EAAE,OAAwB;AAC/B,QAAA,SAAS,EAAE,KAAK;AAEhB,QAAA,QAAQ,EAAE,4BAA4B;KACvC,CAAC;AACH,CAAA;;MCKqB,kBAAkB,CAAA;AAsBvC;AAIM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAkB,CAAA;AAiBrD,IAAA,WAAA,CAAsB,cAAiC,EAAA;AACrD,QAAA,KAAK,EAAE;QADa,IAAc,CAAA,cAAA,GAAd,cAAc;AAhB5B,QAAA,IAAA,CAAA,aAAa,GAAkB,IAAI,OAAO,EAAE;AAE5C,QAAA,IAAA,CAAA,cAAc,GAAyB,IAAI,GAAG,EAAE;QAE9C,IAAM,CAAA,MAAA,GAAoC,eAAe,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAEpF,QAAA,IAAA,CAAA,QAAQ,GAAqC,IAAI,eAAe,CAAkB,IAAI,CAAC;AAE/F,QAAA,IAAA,CAAA,OAAO,GAAgC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AAE3D,QAAA,IAAA,CAAA,wBAAwB,GAA4B,IAAI,eAAe,CAAC,CAAC,CAAC;QAElF,IAAuB,CAAA,uBAAA,GAAuB,IAAI,CAAC;AACzD,aAAA,YAAY;AACZ,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,KAAa,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAC;AAKpD,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;;AAGtD,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAM;;AAG7B,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;;AAG9B,IAAA,IAAI,sBAAsB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK;;IAG5C,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAAE;AAE7B,QAAA,MAAM,KAAK,GAAW,IAAI,CAAC,YAAY,GAAG,CAAC;AAE3C,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;;IAG3E,QAAQ,GAAA;AACN,QAAA,MAAM,KAAK,GAAW,IAAI,CAAC,YAAY,GAAG,CAAC;QAE3C,IAAI,KAAK,IAAI,CAAC;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;;AAGzD,IAAA,QAAQ,CAAC,GAAY,EAAA;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE;QAEnC,MAAM,IAAI,GAAa,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAEzC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAExB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;IAGpC,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,iBAAiB;;AAG/B,IAAA,mBAAmB,CAAC,GAAY,EAAA;QAC9B,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAE;AAEnD,QAAA,MAAM,WAAW,GAAW,IAAI,CAAC,YAAY;AAE7C,QAAA,OAAO,KAAK,KAAK,WAAW,IAAI,WAAW,GAAG,KAAK;;AAGrD,IAAA,YAAY,CAAC,GAAY,EAAA;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;;AAGrC,IAAA,IAAY,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE;;AAG1C,IAAA,QAAQ,CAAC,GAAY,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;;AAG7C,IAAA,kBAAkB,CAAC,IAA6B,EAAA;AACtD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAEzB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAE3B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAc,EAAE,KAAa,KAAI;YAC7C,IAAI,CAAC,IAAI,CAAC,GAAG;AAAE,gBAAA,IAAI,CAAC,GAAG,GAAG,CAAG,EAAA,KAAK,EAAE;YAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;AAExC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;AACrC,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;AAEjC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;;IAG9C,iBAAiB,CAAC,IAAc,EAAE,KAAa,EAAA;AACrD,QAAA,IAAI,WAAW,GAAY,IAAI,CAAC,GAAG;AAEnC,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,aAAA,SAAS,CAAC,CAAC,MAAe,KAAI;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;YAEvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;YAEtC,WAAW,GAAG,MAAM;AACtB,SAAC,CAAC;;AAGE,IAAA,sBAAsB,CAAC,IAA6B,EAAA;AAC1D,QAAA,aAAa,CACX,IAAI,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,KAAa,KACrC,IAAI,CAAC;aACF,IAAI,CAAC,oBAAoB,EAAE;aAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,WAAoB,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CACzE;AAEA,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,aAAA,SAAS,CAAC,CAAC,OAAiB,KAAI;YAC/B,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AAE7C,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;AAC3E,SAAC,CAAC;;8GAjIK,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,qEAK0C,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AALlE,eAAe,GAAA,UAAA,CAAA;AAF3B,IAAA,YAAY,EAAE;qCAmByB,iBAAiB,CAAA;AAjB5C,CAAA,EAAA,eAAe,CAmI3B;2FAnIY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;ACxBY,IAAA,uBAAuB,GAA7B,MAAM,uBAAuB,CAAA;AAGlC,IAAA,IAAkD,QAAQ,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGnE,IAAA,IAAqD,WAAW,GAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;;IAK7B,WAAoB,CAAA,UAAsB,EAA0C,SAA6B,EAAA;QAA7F,IAAU,CAAA,UAAA,GAAV,UAAU;QAAsD,IAAS,CAAA,SAAA,GAAT,SAAS;AAZ7F,QAAA,IAAA,CAAA,IAAI,GAA0B,KAAK,CAAC,QAAQ,EAAE;AAUtC,QAAA,IAAA,CAAA,aAAa,GAAkB,IAAI,OAAO,EAAE;QAGlD,MAAM,CAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;;IAGlD,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG;YAAE;AAEpD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;;AAG1C,IAAA,IAAY,OAAO,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;;AAGtC,IAAA,IAAY,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG;;AAGxB,IAAA,IAAY,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;;IAGZ,2BAA2B,GAAA;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;QAEzB,IAAI,CAAC,IAAI;aACN,SAAS,CAAC,IAAI,CACb,SAAS,CAAC,CAAC,KAA2B,KAAI;AACxC,YAAA,IAAI,KAAK,KAAK,4BAA4B,EAAE;AAC1C,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAChD,GAAG,CAAC,CAAC,QAAgB,KAAI;oBACvB,IAAI,QAAQ,GAAG,CAAC;AAAE,wBAAA,OAAO,KAAK;AAE9B,oBAAA,OAAO,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAE;iBAChE,CAAC,CACH;;AAGH,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,SAAC,CAAC;AAEH,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,aAAA,SAAS,CAAC,CAAC,UAAmB,KAAI;YACjC,IAAI,UAAU,EAAE;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC;;YAGhE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC;AAC5D,SAAC,CAAC;;AA7DK,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,4CAakB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAb7D,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,kCAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBpC,sVASA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;AAIX,uBAAuB,GAAA,UAAA,CAAA;AATnC,IAAA,YAAY,EAAE;AAsBmB,IAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,UAAU,EAAqD,kBAAkB,CAAA;AAbtG,CAAA,EAAA,uBAAuB,CA+DnC;2FA/DY,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;+BACE,kBAAkB,EAAA,IAAA,EACtB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAA,UAAA,EACvB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,sVAAA,EAAA;;0BAiBsB,MAAM;2BAAC,oBAAoB;yCAVtB,QAAQ,EAAA,CAAA;sBAAzD,WAAW;uBAAC,+BAA+B;gBAIS,WAAW,EAAA,CAAA;sBAA/D,WAAW;uBAAC,kCAAkC;;;MEb3B,QAAQ,CAAA;AAoB7B;AAGK,MAAgB,YAAa,SAAQ,QAAQ,CAAA;IACjD,IAAa,GAAG,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;AAExB,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;;IAOzB,IAA+B,KAAK,CAAC,KAAa,EAAA;AAChD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE1B,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;;IAO3B,IAAa,SAAS,CAAC,KAAc,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE9B,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;;IAO/B,IAAa,QAAQ,CAAC,KAA2B,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE7B,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK;;AAO9B,IAAA,WAAA,CAAsB,OAAwB,EAAA;AAC5C,QAAA,KAAK,EAAE;QADa,IAAO,CAAA,OAAA,GAAP,OAAO;AArCZ,QAAA,IAAA,CAAA,KAAK,GAA6B,IAAI,eAAe,CAAU,IAAI,CAAC;AAE5E,QAAA,IAAA,CAAA,IAAI,GAAwB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AAS7C,QAAA,IAAA,CAAA,OAAO,GAA4B,IAAI,eAAe,CAAS,EAAE,CAAC;AAE1E,QAAA,IAAA,CAAA,MAAM,GAAuB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AAShD,QAAA,IAAA,CAAA,WAAW,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC;AAEnF,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;AASzD,QAAA,IAAA,CAAA,UAAU,GAA0C,IAAI,eAAe,CAAuB,KAAK,CAAC;AAE5G,QAAA,IAAA,CAAA,SAAS,GAAqC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;QAKnF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAU,GAAG,KAAK;QAE1F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAS,GAAG,4BAA4B;;8GAlD7F,YAAY,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADjC;2EAEc,GAAG,EAAA,CAAA;sBAAf;gBAW8B,KAAK,EAAA,CAAA;sBAAnC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAWZ,SAAS,EAAA,CAAA;sBAArB;gBAWY,QAAQ,EAAA,CAAA;sBAApB;;;AClDI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,YAAY,CAAA;IACjD,WACU,CAAA,IAAY,EACZ,UAAsB,EACtB,iBAAoC,EACE,OAAwB,EAChC,cAAkC,EAAA;QAExE,KAAK,CAAC,OAAO,CAAC;QANN,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACqB,IAAO,CAAA,OAAA,GAAP,OAAO;QACf,IAAc,CAAA,cAAA,GAAd,cAAc;AAIpD,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;;AAGhE,IAAA,IAAY,OAAO,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;;IAG9B,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAuB,KAAI;YAC3F,IAAI,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAE9C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;;YAG9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACnD,SAAC,CAAC;;8GA1BO,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAKlB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGANnB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAFjB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBvF,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYY,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;AAKX,iBAAiB,GAAA,UAAA,CAAA;AAV7B,IAAA,YAAY,EAAE;qCAYG,MAAM;QACA,UAAU;AACH,QAAA,iBAAiB,UAEU,kBAAkB,CAAA;AAN/D,CAAA,EAAA,iBAAiB,CA4B7B;2FA5BY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACf,IAAA,EAAA,EAAE,KAAK,EAAE,WAAW,EAAE,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAGZ,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,iBAAkB,CAAC,EAAE,CAAC,EAAA,QAAA,EAAA,6BAAA,EAAA;;0BAOlF,MAAM;2BAAC,iBAAiB;;0BACxB,MAAM;2BAAC,oBAAoB;;;MEXnB,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,KAAK,GAAyC,KAAK,CAAC,QAAQ,EAAE;AAC/D;8GAFY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,ECbvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kGAGA,EDMY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIpC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACzB,IAAA,EAAA,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAC1B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,kGAAA,EAAA;;;AEM5C,MAAO,oBAAqB,SAAQ,eAAe,CAAA;8GAA5C,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAFpB,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,iDCbrG,sHAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKvC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAClB,IAAA,EAAA,EAAE,KAAK,EAAE,cAAc,EAAE,EACnB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,0BAA0B,CAAC,EAAA,SAAA,EAGxC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,CAAC,MAA0B,oBAAA,CAAC,EAAE,CAAC,EAAA,QAAA,EAAA,sHAAA,EAAA;;;AEDxF,IAAA,6BAA6B,GAAnC,MAAM,6BAA6B,CAAA;AACxC,IAAA,WAAA,CAC+B,IAAc,EACH,SAA6B,EAC7D,WAA8B,EAC9B,aAA+B,EAAA;QAHV,IAAI,CAAA,IAAA,GAAJ,IAAI;QACO,IAAS,CAAA,SAAA,GAAT,SAAS;QACzC,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAa,CAAA,aAAA,GAAb,aAAa;AAErB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAuB,KAAI;YACtF,IAAI,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;AAC5B,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gBAE1B,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;;iBAClD;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;AAE9B,SAAC,CAAC;;8GAfO,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAE9B,SAAS,EAAA,EAAA,EAAA,KAAA,EACT,oBAAoB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAHnB,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAA7B,6BAA6B,GAAA,UAAA,CAAA;AALzC,IAAA,YAAY,EAAE;qCAOwB,QAAQ;QACQ,kBAAkB;QAChD,WAAW;QACT,gBAAgB,CAAA;AAL9B,CAAA,EAAA,6BAA6B,CAiBzC;2FAjBY,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;0BAGI,MAAM;2BAAC,SAAS;;0BAChB,MAAM;2BAAC,oBAAoB;;;ACPhC,MAAM,gBAAgB,GAAoB;IACxC,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,0BAA0B;CAC3B;AAED,MAAM,gBAAgB,GAAoB,CAAC,6BAA6B,CAAC;MAM5D,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHlB,YAAY,EATtB,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB;YACvB,0BAA0B,EAGe,6BAA6B,CAAA,EAAA,OAAA,EAAA,CANtE,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB;AACvB,YAAA,0BAA0B,EAGe,6BAA6B,CAAA,EAAA,CAAA,CAAA;+GAM3D,iBAAiB,EAAA,OAAA,EAAA,CAHlB,YAAY,EAAK,gBAAgB,CAAA,EAAA,CAAA,CAAA;;2FAGhC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;AACjE,oBAAA,OAAO,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;AACpD,iBAAA;;;ACpBD;;AAEG;;;;"}
|
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()), { allowSignalWrites: true });\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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"}
|