novo-elements 11.2.0 → 11.2.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2022/novo-elements-addons-code-editor.mjs +3 -3
- package/fesm2022/novo-elements-addons-code-editor.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-agenda.mjs +15 -15
- package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-autocomplete.mjs +7 -5
- package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-avatar.mjs +2 -1
- package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-calendar.mjs +7 -4
- package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-card.mjs +1 -1
- package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-chips.mjs +18 -14
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +28 -28
- package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +28 -28
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-picker.mjs +4 -4
- package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-drag-drop.mjs +7 -7
- package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-dropdown.mjs +9 -9
- package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-expansion.mjs +5 -5
- package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +20 -14
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-flex.mjs +12 -12
- package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +16 -15
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-header.mjs +6 -6
- package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-layout.mjs +2 -2
- package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-list.mjs +12 -12
- package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-loading.mjs +5 -5
- package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-menu.mjs +4 -4
- package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-non-ideal-state.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +5 -5
- package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-popover.mjs +3 -3
- package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-progress.mjs +3 -3
- package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +27 -25
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-quick-note.mjs +2 -2
- package/fesm2022/novo-elements-elements-quick-note.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select-search.mjs +2 -2
- package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select.mjs +5 -5
- package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +30 -30
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-slider.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-stepper.mjs +4 -4
- package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabs.mjs +2 -1
- package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-time-picker.mjs +1 -0
- package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tooltip.mjs +3 -4
- package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-unless.mjs +1 -1
- package/fesm2022/novo-elements-elements-unless.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-value.mjs +2 -2
- package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
- package/fesm2022/novo-elements-pipes.mjs +9 -9
- package/fesm2022/novo-elements-pipes.mjs.map +1 -1
- package/fesm2022/novo-elements-services.mjs +21 -22
- package/fesm2022/novo-elements-services.mjs.map +1 -1
- package/fesm2022/novo-elements-utils.mjs +33 -17
- package/fesm2022/novo-elements-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/services/date-format/DateFormat.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-slider.mjs","sources":["../../../projects/novo-elements/src/elements/slider/Slider.ts","../../../projects/novo-elements/src/elements/slider/Slider.module.ts","../../../projects/novo-elements/src/elements/slider/novo-elements-elements-slider.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Key } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-slider',\n template: `\n <section class=\"slides\">\n <ng-content select=\"div[slide]\"></ng-content>\n </section>\n <div class=\"controls\">\n <button *ngIf=\"!start\" theme=\"icon\" icon=\"previous\" (click)=\"changeSlide('back')\"></button>\n <div class=\"indicators\">\n <div class=\"indicator-circle\" *ngFor=\"let indicator of currSlides; let i = index\" [ngClass]=\"indicator\"></div>\n </div>\n <button *ngIf=\"!end\" theme=\"primary\" icon=\"next\" (click)=\"changeSlide('next')\">{{ labels.next }}</button>\n <ng-content select=\"button\" *ngIf=\"end\"></ng-content>\n </div>\n `,\n styleUrls: ['./Slider.scss'],\n host: {\n '[class]': 'currentClass',\n },\n standalone: false
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-slider.mjs","sources":["../../../projects/novo-elements/src/elements/slider/Slider.ts","../../../projects/novo-elements/src/elements/slider/Slider.module.ts","../../../projects/novo-elements/src/elements/slider/novo-elements-elements-slider.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Key } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-slider',\n template: `\n <section class=\"slides\">\n <ng-content select=\"div[slide]\"></ng-content>\n </section>\n <div class=\"controls\">\n <button *ngIf=\"!start\" theme=\"icon\" icon=\"previous\" (click)=\"changeSlide('back')\"></button>\n <div class=\"indicators\">\n <div class=\"indicator-circle\" *ngFor=\"let indicator of currSlides; let i = index\" [ngClass]=\"indicator\"></div>\n </div>\n <button *ngIf=\"!end\" theme=\"primary\" icon=\"next\" (click)=\"changeSlide('next')\">{{ labels.next }}</button>\n <ng-content select=\"button\" *ngIf=\"end\"></ng-content>\n </div>\n `,\n styleUrls: ['./Slider.scss'],\n host: {\n '[class]': 'currentClass',\n },\n standalone: false,\n})\nexport class NovoSliderElement implements OnInit, OnDestroy {\n @Input()\n slides: any;\n\n currentSlide: number = 0;\n start: boolean = true;\n end: boolean = true;\n currSlides: Array<any> = ['active'];\n handleKeyDownFunc: any;\n currentClass: string;\n\n constructor(private element: ElementRef, public labels: NovoLabelService) {\n this.handleKeyDownFunc = this.handleKeyDown.bind(this);\n }\n\n ngOnInit() {\n for (let i = 0; i < this.slides; i++) {\n this.currSlides[i] = i > 0 ? 'inactive' : 'active';\n }\n // Catch Tab Events\n this.element.nativeElement.addEventListener('keydown', this.handleKeyDownFunc);\n }\n\n ngOnDestroy() {\n this.element.nativeElement.removeEventListener('keydown', this.handleKeyDownFunc);\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === Key.Tab) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n }\n\n changeSlide(direction) {\n if (direction === 'next') {\n if (this.currentSlide === this.slides - 1) {\n return;\n }\n this.currentSlide++;\n } else {\n if (this.currentSlide === 0) {\n return;\n }\n this.currentSlide--;\n }\n\n for (let i = 0; i < this.slides; i++) {\n this.currSlides[i] = 'inactive';\n }\n\n this.currSlides[this.currentSlide] = 'active';\n this.start = this.currentSlide === 0;\n this.end = this.currentSlide === this.slides - 1;\n this.currentClass = `slide-${this.currentSlide}`;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoSliderElement } from './Slider';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule],\n declarations: [NovoSliderElement],\n exports: [NovoSliderElement],\n})\nexport class NovoSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;MA2Ba,iBAAiB,CAAA;IAW5B,WAAoB,CAAA,OAAmB,EAAS,MAAwB,EAAA;QAApD,IAAO,CAAA,OAAA,GAAP,OAAO;QAAqB,IAAM,CAAA,MAAA,GAAN,MAAM;QAPtD,IAAY,CAAA,YAAA,GAAW,CAAC;QACxB,IAAK,CAAA,KAAA,GAAY,IAAI;QACrB,IAAG,CAAA,GAAA,GAAY,IAAI;AACnB,QAAA,IAAA,CAAA,UAAU,GAAe,CAAC,QAAQ,CAAC;QAKjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGxD,QAAQ,GAAA;AACN,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,QAAQ;;;AAGpD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC;;IAGhF,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC;;AAGnF,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAA,KAAA,gBAAc;YACzB,KAAK,CAAC,wBAAwB,EAAE;YAChC,KAAK,CAAC,cAAc,EAAE;;;AAI1B,IAAA,WAAW,CAAC,SAAS,EAAA;AACnB,QAAA,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC;;YAEF,IAAI,CAAC,YAAY,EAAE;;aACd;AACL,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC3B;;YAEF,IAAI,CAAC,YAAY,EAAE;;AAGrB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU;;QAGjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,YAAY,EAAE;;+GAtDvC,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAnBhB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;AAYX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2mSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAOU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBArB7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACb,QAAA,EAAA;;;;;;;;;;;;GAYX,EAEO,IAAA,EAAA;AACF,wBAAA,SAAS,EAAE,cAAc;AAC5B,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,MAAA,EAAA,CAAA,2mSAAA,CAAA,EAAA;8GAInB,MAAM,EAAA,CAAA;sBADL;;;AC5BH;MAYa,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAHZ,iBAAiB,CAAA,EAAA,OAAA,EAAA,CADtB,YAAY,EAAE,gBAAgB,aAE9B,iBAAiB,CAAA,EAAA,CAAA,CAAA;gHAEhB,gBAAgB,EAAA,OAAA,EAAA,CAJjB,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FAI7B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACzC,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -26,7 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: '[novoStepLabel]',
|
|
29
|
-
standalone: false
|
|
29
|
+
standalone: false,
|
|
30
30
|
}]
|
|
31
31
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
32
32
|
|
|
@@ -143,7 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
143
143
|
'[type]': 'type',
|
|
144
144
|
},
|
|
145
145
|
inputs: ['type'],
|
|
146
|
-
standalone: false
|
|
146
|
+
standalone: false,
|
|
147
147
|
}]
|
|
148
148
|
}] });
|
|
149
149
|
/** Button that moves to the previous step in a stepper workflow. */
|
|
@@ -160,7 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
160
160
|
'[type]': 'type',
|
|
161
161
|
},
|
|
162
162
|
inputs: ['type'],
|
|
163
|
-
standalone: false
|
|
163
|
+
standalone: false,
|
|
164
164
|
}]
|
|
165
165
|
}] });
|
|
166
166
|
|
|
@@ -264,7 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
264
264
|
{ provide: CdkStep, useExisting: NovoStep },
|
|
265
265
|
{ provide: CdkStepper, useExisting: NovoStepper },
|
|
266
266
|
],
|
|
267
|
-
standalone: false
|
|
267
|
+
standalone: false,
|
|
268
268
|
}]
|
|
269
269
|
}], propDecorators: { _stepHeader: [{
|
|
270
270
|
type: ViewChildren,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-stepper.mjs","sources":["../../../projects/novo-elements/src/elements/stepper/step-label.component.ts","../../../projects/novo-elements/src/elements/stepper/step-status.component.ts","../../../projects/novo-elements/src/elements/stepper/step-status.component.html","../../../projects/novo-elements/src/elements/stepper/step-header.component.ts","../../../projects/novo-elements/src/elements/stepper/step-header.component.html","../../../projects/novo-elements/src/elements/stepper/stepper-buttons.component.ts","../../../projects/novo-elements/src/elements/stepper/stepper.animations.ts","../../../projects/novo-elements/src/elements/stepper/stepper.component.ts","../../../projects/novo-elements/src/elements/stepper/step.component.html","../../../projects/novo-elements/src/elements/stepper/stepper-horizontal.html","../../../projects/novo-elements/src/elements/stepper/stepper-vertical.html","../../../projects/novo-elements/src/elements/stepper/stepper.module.ts","../../../projects/novo-elements/src/elements/stepper/novo-elements-elements-stepper.ts"],"sourcesContent":["import { CdkStepLabel } from '@angular/cdk/stepper';\nimport { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[novoStepLabel]',\n standalone: false\n})\nexport class NovoStepLabel extends CdkStepLabel {\n constructor(template: TemplateRef<any>) {\n super(template);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'novo-step-status',\n templateUrl: 'step-status.component.html',\n // encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'novo-step-status',\n },\n standalone: false\n})\nexport class NovoStepStatus {\n @Input()\n state: string;\n\n constructor() {}\n}\n","<div class=\"novo-stepper-status-line\" [ngClass]=\"state\"></div>\n<div [ngSwitch]=\"state\" class=\"novo-stepper-status-icon\">\n <novo-icon color=\"positive\" *ngSwitchCase=\"'edit'\">check-circle</novo-icon>\n <novo-icon color=\"positive\" *ngSwitchCase=\"'done'\">check-circle-filled</novo-icon>\n <novo-icon color=\"positive\" *ngSwitchDefault>circle-o</novo-icon>\n</div>","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { CdkStepHeader } from '@angular/cdk/stepper';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, TemplateRef } from '@angular/core';\nimport { NovoStepLabel } from './step-label.component';\n\n@Component({\n selector: 'novo-step-header',\n templateUrl: 'step-header.component.html',\n styleUrls: ['step-header.component.scss'],\n host: {\n class: 'novo-step-header',\n role: 'tab',\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoStepHeader extends CdkStepHeader implements OnDestroy {\n @Input()\n theme: string;\n @Input()\n color: string;\n @Input()\n icon: string;\n /** State of the given step. */\n @Input()\n state: string;\n\n /** Label of the given step. */\n @Input()\n label: NovoStepLabel | string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input()\n iconOverrides: { [key: string]: TemplateRef<any> };\n\n /** Index of the given step. */\n @Input()\n get index(): number {\n return this._index;\n }\n set index(value: number) {\n this._index = coerceNumberProperty(value);\n }\n private _index: number;\n\n /** Whether the given step is selected. */\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n this._selected = coerceBooleanProperty(value);\n }\n private _selected: boolean;\n\n /** Whether the given step label is active. */\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n }\n private _active: boolean;\n\n /** Whether the given step label is active. */\n get touched(): boolean {\n return this.selected || this.state === 'edit' || this.state === 'done';\n }\n\n /** Whether the given step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional: boolean;\n\n constructor(private _focusMonitor: FocusMonitor, private _element: ElementRef) {\n super(_element);\n _focusMonitor.monitor(_element.nativeElement, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof NovoStepLabel ? null : this.label;\n }\n\n /** Returns NovoStepLabel if the label of given step is a template label. */\n _templateLabel(): NovoStepLabel | null {\n return this.label instanceof NovoStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._element.nativeElement;\n }\n}\n","<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>","import { CdkStepperNext, CdkStepperPrevious } from '@angular/cdk/stepper';\nimport { Directive } from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[novoStepperNext],novo-button[novoStepperNext]',\n host: {\n class: 'novo-stepper-next',\n '[type]': 'type',\n },\n inputs: ['type'],\n standalone: false\n})\nexport class NovoStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[novoStepperPrevious],novo-button[novoStepperPrevious]',\n host: {\n class: 'novo-stepper-previous',\n '[type]': 'type',\n },\n inputs: ['type'],\n standalone: false\n})\nexport class NovoStepperPrevious extends CdkStepperPrevious {}\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\n/** Animations used by the Novo steppers. */\nexport const novoStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('stepTransition', [\n state('previous', style({ transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden' })),\n state('current', style({ transform: 'none', visibility: 'visible' })),\n state('next', style({ transform: 'translate3d(100%, 0, 0)', visibility: 'hidden' })),\n transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('stepTransition', [\n state('previous', style({ height: '0px', visibility: 'hidden' })),\n state('next', style({ height: '0px', visibility: 'hidden' })),\n state('current', style({ height: '*', visibility: 'visible' })),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkStep, CdkStepHeader, CdkStepper } from '@angular/cdk/stepper';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NovoIconComponent } from 'novo-elements/elements/icon';\nimport { NovoStepHeader } from './step-header.component';\nimport { NovoStepLabel } from './step-label.component';\nimport { novoStepperAnimations } from './stepper.animations';\n\n@Component({\n selector: 'novo-step',\n templateUrl: 'step.component.html',\n styleUrls: ['stepper.component.scss'],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: CdkStep, useExisting: NovoStep }],\n standalone: false\n})\nexport class NovoStep extends CdkStep {\n /** Content for step label given by `<ng-template novoStepLabel>`. */\n @ContentChild(NovoStepLabel)\n stepLabel: NovoStepLabel;\n\n @Input()\n theme: string;\n @Input()\n color: string;\n @Input()\n icon: string;\n\n constructor(@Inject(forwardRef(() => NovoStepper)) stepper: CdkStepper) {\n super(stepper);\n }\n}\n\n@Directive({\n selector: '[novoStepper]',\n providers: [\n { provide: CdkStep, useExisting: NovoStep },\n { provide: CdkStepper, useExisting: NovoStepper },\n ],\n standalone: false\n})\nexport class NovoStepper extends CdkStepper implements AfterContentInit, OnDestroy {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(NovoStepHeader)\n _stepHeader: QueryList<CdkStepHeader>;\n\n /** Steps that the stepper holds. */\n @ContentChildren(NovoStep, { descendants: true })\n steps: QueryList<NovoStep>;\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(NovoIconComponent)\n _icons: QueryList<NovoIconComponent>;\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: { [key: string]: TemplateRef<any> } = {};\n\n get completed(): boolean {\n try {\n const steps = this.steps.toArray();\n const length = steps.length - 1;\n return steps[length].completed && length === this.selectedIndex;\n } catch (err) {\n return false;\n }\n }\n\n ngAfterContentInit() {\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => this._stateChanged());\n }\n\n ngOnDestroy() {}\n\n complete() {\n try {\n const steps = this.steps.toArray();\n steps[this.selectedIndex].completed = true;\n this.next();\n this._stateChanged();\n } catch (err) {\n // do nothing\n }\n }\n\n getIndicatorType(index: number): 'none' | '' | 'edit' | 'done' {\n const steps = this.steps.toArray();\n if (index === this.selectedIndex) {\n if (steps[index] && index === steps.length - 1 && steps[index].completed) {\n return 'done';\n }\n return 'edit';\n }\n if (index < this.selectedIndex) {\n return 'done';\n }\n return 'none';\n }\n}\n\n@Component({\n selector: 'novo-horizontal-stepper',\n exportAs: 'novoHorizontalStepper',\n templateUrl: 'stepper-horizontal.html',\n styleUrls: ['stepper.component.scss'],\n host: {\n class: 'novo-stepper-horizontal',\n 'aria-orientation': 'horizontal',\n role: 'tablist',\n },\n animations: [novoStepperAnimations.horizontalStepTransition],\n providers: [\n { provide: NovoStepper, useExisting: NovoHorizontalStepper },\n { provide: CdkStepper, useExisting: NovoHorizontalStepper },\n ],\n // encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoHorizontalStepper extends NovoStepper {}\n\n@Component({\n selector: 'novo-vertical-stepper',\n exportAs: 'novoVerticalStepper',\n templateUrl: 'stepper-vertical.html',\n styleUrls: ['stepper.component.scss'],\n host: {\n class: 'novo-stepper-vertical',\n 'aria-orientation': 'vertical',\n role: 'tablist',\n },\n animations: [novoStepperAnimations.verticalStepTransition],\n providers: [\n { provide: NovoStepper, useExisting: NovoVerticalStepper },\n { provide: CdkStepper, useExisting: NovoVerticalStepper },\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoVerticalStepper extends NovoStepper {\n constructor(@Optional() dir: Directionality, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef) {\n super(dir, changeDetectorRef, elementRef);\n this.orientation = 'vertical';\n }\n}\n","<ng-template><ng-content></ng-content></ng-template>\n","<div class=\"novo-horizontal-stepper-header-container\">\n <div class=\"novo-stepper-horizontal-line complete\"></div>\n <ng-container *ngFor=\"let step of _steps; let i = index; let isLast = last\">\n <novo-step-header class=\"novo-horizontal-stepper-header\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [index]=\"i\"\n [theme]=\"step.theme\"\n [color]=\"step.color\"\n [icon]=\"step.icon\"\n [state]=\"getIndicatorType(i)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"step.completed || selectedIndex === i || !linear\"\n [optional]=\"step.optional\"\n [iconOverrides]=\"_iconOverrides\">\n </novo-step-header>\n </ng-container>\n <div class=\"novo-stepper-horizontal-line\" [class.complete]=\"completed\"></div>\n</div>\n\n<div class=\"novo-horizontal-content-container\">\n <div *ngFor=\"let step of _steps; let i = index\"\n class=\"novo-horizontal-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n</div>","<div class=\"novo-step\" *ngFor=\"let step of _steps; let i = index; let isLast = last\">\n <novo-step-header class=\"novo-vertical-stepper-header\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() == i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [index]=\"i\"\n [theme]=\"step.theme\"\n [color]=\"step.color\"\n [icon]=\"step.icon\"\n [state]=\"getIndicatorType(i)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"step.completed || selectedIndex === i || !linear\"\n [optional]=\"step.optional\"\n [iconOverrides]=\"_iconOverrides\">\n </novo-step-header>\n\n <div class=\"novo-vertical-content-container\" [class.novo-stepper-vertical-line]=\"!isLast\"\n [ngClass]=\"getIndicatorType(i)\">\n <div class=\"novo-vertical-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"novo-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n</div>","import { A11yModule } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoStepHeader } from './step-header.component';\nimport { NovoStepLabel } from './step-label.component';\nimport { NovoStepStatus } from './step-status.component';\nimport { NovoStepperNext, NovoStepperPrevious } from './stepper-buttons.component';\nimport { NovoHorizontalStepper, NovoStep, NovoStepper, NovoVerticalStepper } from './stepper.component';\n@NgModule({\n imports: [CommonModule, PortalModule, NovoButtonModule, CdkStepperModule, NovoIconModule, A11yModule],\n exports: [\n NovoHorizontalStepper,\n NovoVerticalStepper,\n NovoStep,\n NovoStepLabel,\n NovoStepper,\n NovoStepHeader,\n NovoStepStatus,\n NovoStepperNext,\n NovoStepperPrevious,\n ],\n declarations: [\n NovoHorizontalStepper,\n NovoVerticalStepper,\n NovoStep,\n NovoStepLabel,\n NovoStepper,\n NovoStepHeader,\n NovoStepStatus,\n NovoStepperNext,\n NovoStepperPrevious,\n ],\n})\nexport class NovoStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4.NovoStepStatus","i3.NovoStepHeader"],"mappings":";;;;;;;;;;;;;;;;;AAOM,MAAO,aAAc,SAAQ,YAAY,CAAA;AAC7C,IAAA,WAAA,CAAY,QAA0B,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;;+GAFN,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCOY,cAAc,CAAA;AAIzB,IAAA,WAAA,GAAA;+GAJW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,uJCb3B,+XAKM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDQO,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,uBAGP,KAAK,EAAA,eAAA,EACT,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,kBAAkB;AAC5B,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,+XAAA,EAAA;wDAInB,KAAK,EAAA,CAAA;sBADJ;;;AEIG,MAAO,cAAe,SAAQ,aAAa,CAAA;;AAoB/C,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;IAEpB,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC;;;AAK3C,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAEvB,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;;;AAK/C,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;;IAErB,IAAI,MAAM,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC;;;AAK7C,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;;;AAIxE,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAEvB,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;;IAI/C,WAAoB,CAAA,aAA2B,EAAU,QAAoB,EAAA;QAC3E,KAAK,CAAC,QAAQ,CAAC;QADG,IAAa,CAAA,aAAA,GAAb,aAAa;QAAwB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAE/D,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;;IAGrD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;;;IAIhE,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK;;;IAIhE,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI;;;IAIhE,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa;;+GArFzB,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,yXClB3B,40BAkBqD,EAAA,MAAA,EAAA,CAAA,uhGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDAxC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGtB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,IAAI,EAAE,KAAK;AACd,qBAAA,EAAA,mBAAA,EACoB,KAAK,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,40BAAA,EAAA,MAAA,EAAA,CAAA,uhGAAA,CAAA,EAAA;0GAInB,KAAK,EAAA,CAAA;sBADJ;gBAGD,KAAK,EAAA,CAAA;sBADJ;gBAGD,IAAI,EAAA,CAAA;sBADH;gBAID,KAAK,EAAA,CAAA;sBADJ;gBAKD,KAAK,EAAA,CAAA;sBADJ;gBAKD,aAAa,EAAA,CAAA;sBADZ;gBAKG,KAAK,EAAA,CAAA;sBADR;gBAWG,QAAQ,EAAA,CAAA;sBADX;gBAWG,MAAM,EAAA,CAAA;sBADT;gBAgBG,QAAQ,EAAA,CAAA;sBADX;;;AEtEH;AAUM,MAAO,eAAgB,SAAQ,cAAc,CAAA;+GAAtC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sDAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sDAAsD;AAChE,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,QAAQ,EAAE,MAAM;AACnB,qBAAA;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,oBAAA,UAAU,EAAE;AACf,iBAAA;;AAGD;AAUM,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;+GAA9C,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8DAA8D;AACxE,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,QAAQ,EAAE,MAAM;AACnB,qBAAA;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACtBD;AACa,MAAA,qBAAqB,GAG9B;;AAEF,IAAA,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,EAAE;AAClD,QAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzF,QAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AACrE,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpF,QAAA,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;KACtE,CAAC;;AAGF,IAAA,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,EAAE;AAChD,QAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,QAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/D,QAAA,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;KAC7E,CAAC;;;ACcE,MAAO,QAAS,SAAQ,OAAO,CAAA;AAYnC,IAAA,WAAA,CAAmD,OAAmB,EAAA;QACpE,KAAK,CAAC,OAAO,CAAC;;AAbL,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,kBAYC,UAAU,CAAC,MAAM,WAAW,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAZtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,EAHN,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAK5C,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,aAAa,uECrC7B,wDACA,EAAA,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDkCa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,uBAGA,KAAK,EAAA,eAAA,EACT,uBAAuB,CAAC,MAAM,aACpC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,UAAU,EAAE,CAAC,cAC5C,KAAK,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA;;0BAcN,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,WAAW,CAAC;yCATjD,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,aAAa;gBAI3B,KAAK,EAAA,CAAA;sBADJ;gBAGD,KAAK,EAAA,CAAA;sBADJ;gBAGD,IAAI,EAAA,CAAA;sBADH;;AAgBG,MAAO,WAAY,SAAQ,UAAU,CAAA;AAR3C,IAAA,WAAA,GAAA;;;QAsBE,IAAc,CAAA,cAAA,GAAwC,EAAE;AA2CzD;AAzCC,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC/B,YAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa;;QAC/D,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,KAAK;;;IAIhB,kBAAkB,GAAA;;QAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;;AAG3F,IAAA,WAAW;IAEX,QAAQ,GAAA;AACN,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,IAAI;YAC1C,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,aAAa,EAAE;;QACpB,OAAO,GAAG,EAAE;;;;AAKhB,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAClC,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;AACxE,gBAAA,OAAO,MAAM;;AAEf,YAAA,OAAO,MAAM;;AAEf,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE;AAC9B,YAAA,OAAO,MAAM;;AAEf,QAAA,OAAO,MAAM;;+GAvDJ,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EANT,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE;AAC3C,YAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE;AACpD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EASc,QAAQ,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAIR,iBAAiB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EARpB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAFjB,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE;AAC3C,wBAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,aAAa,EAAE;AACpD,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAIC,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,cAAc;gBAK5B,KAAK,EAAA,CAAA;sBADJ,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAKhD,MAAM,EAAA,CAAA;sBADL,eAAe;uBAAC,iBAAiB;;AAqE9B,MAAO,qBAAsB,SAAQ,WAAW,CAAA;+GAAzC,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EATnB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC5D,YAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC9D,SAAA,EAAA,QAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EErIL,k+CAkCM,EF+FU,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAUnD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBApBjC,SAAS;+BACI,yBAAyB,EAAA,QAAA,EACzB,uBAAuB,EAG3B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yBAAyB;AAChC,wBAAA,kBAAkB,EAAE,YAAY;AAChC,wBAAA,IAAI,EAAE,SAAS;AAClB,qBAAA,EAAA,UAAA,EACW,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,EACjD,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,uBAAuB,EAAE;AAC5D,wBAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,uBAAuB,EAAE;AAC9D,qBAAA,EAAA,mBAAA,EAEoB,KAAK,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,k+CAAA,EAAA,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA;;AAuBf,MAAO,mBAAoB,SAAQ,WAAW,CAAA;AAClD,IAAA,WAAA,CAAwB,GAAmB,EAAE,iBAAoC,EAAE,UAAsB,EAAA;AACvG,QAAA,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC;AACzC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;+GAHpB,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EARjB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC1D,YAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC5D,SAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EG3JL,m1CAgCM,EHuHU,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FASjD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAnB/B,SAAS;+BACI,uBAAuB,EAAA,QAAA,EACvB,qBAAqB,EAGzB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,kBAAkB,EAAE,UAAU;AAC9B,wBAAA,IAAI,EAAE,SAAS;AAClB,qBAAA,EAAA,UAAA,EACW,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAC/C,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,qBAAqB,EAAE;AAC1D,wBAAA,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,qBAAqB,EAAE;AAC5D,qBAAA,EAAA,mBAAA,EACoB,KAAK,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,m1CAAA,EAAA,MAAA,EAAA,CAAA,0mDAAA,CAAA,EAAA;;0BAGN;;;MI5HF,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAX1B,qBAAqB;YACrB,mBAAmB;YACnB,QAAQ;YACR,aAAa;YACb,WAAW;YACX,cAAc;YACd,cAAc;YACd,eAAe;AACf,YAAA,mBAAmB,CArBX,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,aAElG,qBAAqB;YACrB,mBAAmB;YACnB,QAAQ;YACR,aAAa;YACb,WAAW;YACX,cAAc;YACd,cAAc;YACd,eAAe;YACf,mBAAmB,CAAA,EAAA,CAAA,CAAA;gHAcV,iBAAiB,EAAA,OAAA,EAAA,CAxBlB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA;;4FAwBzF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAzB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC;AACrG,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,mBAAmB;wBACnB,QAAQ;wBACR,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,mBAAmB;wBACnB,QAAQ;wBACR,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,mBAAmB;AACpB,qBAAA;AACF,iBAAA;;;ACpCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-stepper.mjs","sources":["../../../projects/novo-elements/src/elements/stepper/step-label.component.ts","../../../projects/novo-elements/src/elements/stepper/step-status.component.ts","../../../projects/novo-elements/src/elements/stepper/step-status.component.html","../../../projects/novo-elements/src/elements/stepper/step-header.component.ts","../../../projects/novo-elements/src/elements/stepper/step-header.component.html","../../../projects/novo-elements/src/elements/stepper/stepper-buttons.component.ts","../../../projects/novo-elements/src/elements/stepper/stepper.animations.ts","../../../projects/novo-elements/src/elements/stepper/stepper.component.ts","../../../projects/novo-elements/src/elements/stepper/step.component.html","../../../projects/novo-elements/src/elements/stepper/stepper-horizontal.html","../../../projects/novo-elements/src/elements/stepper/stepper-vertical.html","../../../projects/novo-elements/src/elements/stepper/stepper.module.ts","../../../projects/novo-elements/src/elements/stepper/novo-elements-elements-stepper.ts"],"sourcesContent":["import { CdkStepLabel } from '@angular/cdk/stepper';\nimport { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[novoStepLabel]',\n standalone: false,\n})\nexport class NovoStepLabel extends CdkStepLabel {\n constructor(template: TemplateRef<any>) {\n super(template);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'novo-step-status',\n templateUrl: 'step-status.component.html',\n // encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'novo-step-status',\n },\n standalone: false,\n})\nexport class NovoStepStatus {\n @Input()\n state: string;\n\n constructor() {}\n}\n","<div class=\"novo-stepper-status-line\" [ngClass]=\"state\"></div>\n<div [ngSwitch]=\"state\" class=\"novo-stepper-status-icon\">\n <novo-icon color=\"positive\" *ngSwitchCase=\"'edit'\">check-circle</novo-icon>\n <novo-icon color=\"positive\" *ngSwitchCase=\"'done'\">check-circle-filled</novo-icon>\n <novo-icon color=\"positive\" *ngSwitchDefault>circle-o</novo-icon>\n</div>","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { CdkStepHeader } from '@angular/cdk/stepper';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, TemplateRef } from '@angular/core';\nimport { NovoStepLabel } from './step-label.component';\n\n@Component({\n selector: 'novo-step-header',\n templateUrl: 'step-header.component.html',\n styleUrls: ['step-header.component.scss'],\n host: {\n class: 'novo-step-header',\n role: 'tab',\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoStepHeader extends CdkStepHeader implements OnDestroy {\n @Input()\n theme: string;\n @Input()\n color: string;\n @Input()\n icon: string;\n /** State of the given step. */\n @Input()\n state: string;\n\n /** Label of the given step. */\n @Input()\n label: NovoStepLabel | string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input()\n iconOverrides: { [key: string]: TemplateRef<any> };\n\n /** Index of the given step. */\n @Input()\n get index(): number {\n return this._index;\n }\n set index(value: number) {\n this._index = coerceNumberProperty(value);\n }\n private _index: number;\n\n /** Whether the given step is selected. */\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n this._selected = coerceBooleanProperty(value);\n }\n private _selected: boolean;\n\n /** Whether the given step label is active. */\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n }\n private _active: boolean;\n\n /** Whether the given step label is active. */\n get touched(): boolean {\n return this.selected || this.state === 'edit' || this.state === 'done';\n }\n\n /** Whether the given step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional: boolean;\n\n constructor(private _focusMonitor: FocusMonitor, private _element: ElementRef) {\n super(_element);\n _focusMonitor.monitor(_element.nativeElement, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof NovoStepLabel ? null : this.label;\n }\n\n /** Returns NovoStepLabel if the label of given step is a template label. */\n _templateLabel(): NovoStepLabel | null {\n return this.label instanceof NovoStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._element.nativeElement;\n }\n}\n","<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>","import { CdkStepperNext, CdkStepperPrevious } from '@angular/cdk/stepper';\nimport { Directive } from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[novoStepperNext],novo-button[novoStepperNext]',\n host: {\n class: 'novo-stepper-next',\n '[type]': 'type',\n },\n inputs: ['type'],\n standalone: false,\n})\nexport class NovoStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[novoStepperPrevious],novo-button[novoStepperPrevious]',\n host: {\n class: 'novo-stepper-previous',\n '[type]': 'type',\n },\n inputs: ['type'],\n standalone: false,\n})\nexport class NovoStepperPrevious extends CdkStepperPrevious {}\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\n/** Animations used by the Novo steppers. */\nexport const novoStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('stepTransition', [\n state('previous', style({ transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden' })),\n state('current', style({ transform: 'none', visibility: 'visible' })),\n state('next', style({ transform: 'translate3d(100%, 0, 0)', visibility: 'hidden' })),\n transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('stepTransition', [\n state('previous', style({ height: '0px', visibility: 'hidden' })),\n state('next', style({ height: '0px', visibility: 'hidden' })),\n state('current', style({ height: '*', visibility: 'visible' })),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkStep, CdkStepHeader, CdkStepper } from '@angular/cdk/stepper';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NovoIconComponent } from 'novo-elements/elements/icon';\nimport { NovoStepHeader } from './step-header.component';\nimport { NovoStepLabel } from './step-label.component';\nimport { novoStepperAnimations } from './stepper.animations';\n\n@Component({\n selector: 'novo-step',\n templateUrl: 'step.component.html',\n styleUrls: ['stepper.component.scss'],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: CdkStep, useExisting: NovoStep }],\n standalone: false,\n})\nexport class NovoStep extends CdkStep {\n /** Content for step label given by `<ng-template novoStepLabel>`. */\n @ContentChild(NovoStepLabel)\n stepLabel: NovoStepLabel;\n\n @Input()\n theme: string;\n @Input()\n color: string;\n @Input()\n icon: string;\n\n constructor(@Inject(forwardRef(() => NovoStepper)) stepper: CdkStepper) {\n super(stepper);\n }\n}\n\n@Directive({\n selector: '[novoStepper]',\n providers: [\n { provide: CdkStep, useExisting: NovoStep },\n { provide: CdkStepper, useExisting: NovoStepper },\n ],\n standalone: false,\n})\nexport class NovoStepper extends CdkStepper implements AfterContentInit, OnDestroy {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(NovoStepHeader)\n _stepHeader: QueryList<CdkStepHeader>;\n\n /** Steps that the stepper holds. */\n @ContentChildren(NovoStep, { descendants: true })\n steps: QueryList<NovoStep>;\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(NovoIconComponent)\n _icons: QueryList<NovoIconComponent>;\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: { [key: string]: TemplateRef<any> } = {};\n\n get completed(): boolean {\n try {\n const steps = this.steps.toArray();\n const length = steps.length - 1;\n return steps[length].completed && length === this.selectedIndex;\n } catch (err) {\n return false;\n }\n }\n\n ngAfterContentInit() {\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => this._stateChanged());\n }\n\n ngOnDestroy() {}\n\n complete() {\n try {\n const steps = this.steps.toArray();\n steps[this.selectedIndex].completed = true;\n this.next();\n this._stateChanged();\n } catch (err) {\n // do nothing\n }\n }\n\n getIndicatorType(index: number): 'none' | '' | 'edit' | 'done' {\n const steps = this.steps.toArray();\n if (index === this.selectedIndex) {\n if (steps[index] && index === steps.length - 1 && steps[index].completed) {\n return 'done';\n }\n return 'edit';\n }\n if (index < this.selectedIndex) {\n return 'done';\n }\n return 'none';\n }\n}\n\n@Component({\n selector: 'novo-horizontal-stepper',\n exportAs: 'novoHorizontalStepper',\n templateUrl: 'stepper-horizontal.html',\n styleUrls: ['stepper.component.scss'],\n host: {\n class: 'novo-stepper-horizontal',\n 'aria-orientation': 'horizontal',\n role: 'tablist',\n },\n animations: [novoStepperAnimations.horizontalStepTransition],\n providers: [\n { provide: NovoStepper, useExisting: NovoHorizontalStepper },\n { provide: CdkStepper, useExisting: NovoHorizontalStepper },\n ],\n // encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoHorizontalStepper extends NovoStepper {}\n\n@Component({\n selector: 'novo-vertical-stepper',\n exportAs: 'novoVerticalStepper',\n templateUrl: 'stepper-vertical.html',\n styleUrls: ['stepper.component.scss'],\n host: {\n class: 'novo-stepper-vertical',\n 'aria-orientation': 'vertical',\n role: 'tablist',\n },\n animations: [novoStepperAnimations.verticalStepTransition],\n providers: [\n { provide: NovoStepper, useExisting: NovoVerticalStepper },\n { provide: CdkStepper, useExisting: NovoVerticalStepper },\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoVerticalStepper extends NovoStepper {\n constructor(@Optional() dir: Directionality, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef) {\n super(dir, changeDetectorRef, elementRef);\n this.orientation = 'vertical';\n }\n}\n","<ng-template><ng-content></ng-content></ng-template>\n","<div class=\"novo-horizontal-stepper-header-container\">\n <div class=\"novo-stepper-horizontal-line complete\"></div>\n <ng-container *ngFor=\"let step of _steps; let i = index; let isLast = last\">\n <novo-step-header class=\"novo-horizontal-stepper-header\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [index]=\"i\"\n [theme]=\"step.theme\"\n [color]=\"step.color\"\n [icon]=\"step.icon\"\n [state]=\"getIndicatorType(i)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"step.completed || selectedIndex === i || !linear\"\n [optional]=\"step.optional\"\n [iconOverrides]=\"_iconOverrides\">\n </novo-step-header>\n </ng-container>\n <div class=\"novo-stepper-horizontal-line\" [class.complete]=\"completed\"></div>\n</div>\n\n<div class=\"novo-horizontal-content-container\">\n <div *ngFor=\"let step of _steps; let i = index\"\n class=\"novo-horizontal-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n</div>","<div class=\"novo-step\" *ngFor=\"let step of _steps; let i = index; let isLast = last\">\n <novo-step-header class=\"novo-vertical-stepper-header\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() == i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [index]=\"i\"\n [theme]=\"step.theme\"\n [color]=\"step.color\"\n [icon]=\"step.icon\"\n [state]=\"getIndicatorType(i)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"step.completed || selectedIndex === i || !linear\"\n [optional]=\"step.optional\"\n [iconOverrides]=\"_iconOverrides\">\n </novo-step-header>\n\n <div class=\"novo-vertical-content-container\" [class.novo-stepper-vertical-line]=\"!isLast\"\n [ngClass]=\"getIndicatorType(i)\">\n <div class=\"novo-vertical-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"novo-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n</div>","import { A11yModule } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoStepHeader } from './step-header.component';\nimport { NovoStepLabel } from './step-label.component';\nimport { NovoStepStatus } from './step-status.component';\nimport { NovoStepperNext, NovoStepperPrevious } from './stepper-buttons.component';\nimport { NovoHorizontalStepper, NovoStep, NovoStepper, NovoVerticalStepper } from './stepper.component';\n@NgModule({\n imports: [CommonModule, PortalModule, NovoButtonModule, CdkStepperModule, NovoIconModule, A11yModule],\n exports: [\n NovoHorizontalStepper,\n NovoVerticalStepper,\n NovoStep,\n NovoStepLabel,\n NovoStepper,\n NovoStepHeader,\n NovoStepStatus,\n NovoStepperNext,\n NovoStepperPrevious,\n ],\n declarations: [\n NovoHorizontalStepper,\n NovoVerticalStepper,\n NovoStep,\n NovoStepLabel,\n NovoStepper,\n NovoStepHeader,\n NovoStepStatus,\n NovoStepperNext,\n NovoStepperPrevious,\n ],\n})\nexport class NovoStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4.NovoStepStatus","i3.NovoStepHeader"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-switch.mjs","sources":["../../../projects/novo-elements/src/elements/switch/Switch.ts","../../../projects/novo-elements/src/elements/switch/Switch.module.ts","../../../projects/novo-elements/src/elements/switch/novo-elements-elements-switch.ts"],"sourcesContent":["// NG2\nimport { ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst SWITCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoSwitchElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-switch',\n providers: [SWITCH_VALUE_ACCESSOR],\n template: `\n <div (click)=\"toggle($event)\">\n <div class=\"novo-switch-container\">\n <div class=\"novo-switch-bar\"></div>\n <div class=\"novo-switch-thumb-container\">\n <div class=\"novo-switch-thumb\">\n <novo-icon *ngIf=\"!value\" smaller>{{ icons[0] }}</novo-icon>\n <novo-icon *ngIf=\"value\" smaller>{{ icons[1] }}</novo-icon>\n </div>\n </div>\n </div>\n <div class=\"novo-switch-label\"><ng-content></ng-content></div>\n </div>\n `,\n styleUrls: ['./Switch.scss'],\n host: {\n role: 'checkbox',\n class: 'novo-switch',\n '[attr.aria-checked]': 'value',\n '[attr.aria-disabled]': 'disabled',\n '(keydown)': 'onKeydown($event)',\n '[class]': 'theme',\n },\n standalone: false
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-switch.mjs","sources":["../../../projects/novo-elements/src/elements/switch/Switch.ts","../../../projects/novo-elements/src/elements/switch/Switch.module.ts","../../../projects/novo-elements/src/elements/switch/novo-elements-elements-switch.ts"],"sourcesContent":["// NG2\nimport { ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst SWITCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoSwitchElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-switch',\n providers: [SWITCH_VALUE_ACCESSOR],\n template: `\n <div (click)=\"toggle($event)\">\n <div class=\"novo-switch-container\">\n <div class=\"novo-switch-bar\"></div>\n <div class=\"novo-switch-thumb-container\">\n <div class=\"novo-switch-thumb\">\n <novo-icon *ngIf=\"!value\" smaller>{{ icons[0] }}</novo-icon>\n <novo-icon *ngIf=\"value\" smaller>{{ icons[1] }}</novo-icon>\n </div>\n </div>\n </div>\n <div class=\"novo-switch-label\"><ng-content></ng-content></div>\n </div>\n `,\n styleUrls: ['./Switch.scss'],\n host: {\n role: 'checkbox',\n class: 'novo-switch',\n '[attr.aria-checked]': 'value',\n '[attr.aria-disabled]': 'disabled',\n '(keydown)': 'onKeydown($event)',\n '[class]': 'theme',\n },\n standalone: false,\n})\nexport class NovoSwitchElement implements ControlValueAccessor {\n @Input()\n theme: string = 'ocean';\n\n @Input()\n icons: [string, string] = ['x', 'check'];\n\n @Input()\n @BooleanInput()\n @HostBinding('class.novo-switch-disabled')\n disabled: boolean = false;\n\n @Output()\n onChange: EventEmitter<any> = new EventEmitter();\n\n private _value: boolean;\n public get value(): boolean {\n return this._value;\n }\n public set value(value: boolean) {\n this._value = value;\n }\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n constructor(private ref: ChangeDetectorRef) {}\n\n onKeydown(event: KeyboardEvent) {\n if (event.key === Key.Space) {\n event.preventDefault();\n this.toggle(event);\n }\n }\n\n toggle(event) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n if (this.disabled) {\n return;\n }\n\n this.value = !this.value;\n this.onChange.next(this.value);\n this.onModelChange(this.value);\n this.ref.markForCheck();\n }\n\n writeValue(model: boolean): void {\n this.value = model;\n this.ref.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoSwitchElement } from './Switch';\n\n@NgModule({\n imports: [CommonModule, FormsModule, NovoIconModule],\n declarations: [NovoSwitchElement],\n exports: [NovoSwitchElement],\n})\nexport class NovoSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-tabbed-group-picker.mjs","sources":["../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.ts","../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.html","../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.module.ts","../../../projects/novo-elements/src/elements/tabbed-group-picker/novo-elements-elements-tabbed-group-picker.ts"],"sourcesContent":["import { CdkScrollable } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { binarySearch, BooleanInput, Helpers } from 'novo-elements/utils';\nimport { NOVO_OPTION_PARENT_COMPONENT } from 'novo-elements/elements/common';\nimport { NovoDropdownElement } from 'novo-elements/elements/dropdown';\n\nexport type TabbedGroupPickerTab = {\n typeName: string;\n typeLabel: string;\n valueField: string;\n labelField: string;\n scrollOffset?: number;\n icon?: string;\n} & (ParentTab | ChildTab);\n\nexport type ParentTab = {\n childTypeName: string;\n data: Array<ParentOption>;\n};\n\ntype BaseOption = {\n selected?: boolean;\n indeterminate?: boolean;\n} & { [key: string]: any };\n\ntype ParentOption = BaseOption & {\n children: Option[];\n};\n\ntype Option = BaseOption | ParentOption;\n\nexport type ChildTab = {\n data: Array<{ selected?: boolean } & { [key: string]: any }>;\n};\n\nexport type TabbedGroupPickerQuickSelect = {\n label: string;\n selected?: boolean;\n childTypeName?: string;\n children?: (({ selected?: boolean } & { [key: string]: any }) | number)[];\n all?: boolean;\n};\n\nexport type QuickSelectConfig = { label: string; items: TabbedGroupPickerQuickSelect[] };\n\nexport type TabbedGroupPickerButtonConfig = {\n theme: string;\n side: string;\n icon: string;\n label: string;\n size?: string;\n};\n\n@Component({\n selector: 'novo-tabbed-group-picker',\n templateUrl: './TabbedGroupPicker.html',\n styleUrls: ['./TabbedGroupPicker.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoTabbedGroupPickerElement }],\n standalone: false\n})\nexport class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {\n @ViewChild('tabbedGroupPickerVirtualScrollViewport')\n private scrollableInstance: CdkScrollable;\n @ViewChild('inputElement')\n private inputElement: ElementRef<HTMLInputElement>;\n @ViewChild('dropdown')\n public dropdown: NovoDropdownElement;\n\n multiple = true;\n\n @Input() buttonConfig: TabbedGroupPickerButtonConfig;\n @Input() tabs: TabbedGroupPickerTab[];\n @Input() quickSelectConfig: QuickSelectConfig;\n @Input() showFooter = false;\n\n // In activation mode, no checkboxes are displayed, and only the selectionActivated event occurs.\n @BooleanInput()\n @Input() selectionEnabled = true;\n\n @Output() activation = new EventEmitter<any>();\n @Output() selectionChange = new EventEmitter<TabbedGroupPickerTab[]>();\n @Output() applyChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() cancelChange: EventEmitter<any> = new EventEmitter<any>();\n\n displayTabs: TabbedGroupPickerTab[];\n displayTabIndex: number = 0;\n\n filterText: BehaviorSubject<string> = new BehaviorSubject('');\n filterTextSubscription: Subscription;\n\n loading = true;\n showClearAll: boolean = false;\n\n appliedState: TabbedGroupPickerTab[];\n\n // Initial height based on 13 px font rendered in chrome. Actual height retrieved onDropdownToggled.\n scrollViewportHeight: number = 351;\n virtualScrollItemSize: number = 39;\n\n constructor(public labelService: NovoLabelService, private ref: ChangeDetectorRef) {}\n\n get displayTab(): TabbedGroupPickerTab {\n return this.displayTabs[this.displayTabIndex];\n }\n set displayTab(tab: TabbedGroupPickerTab) {\n this.displayTabIndex = this.tabs.map(({ typeName }) => typeName).indexOf(tab.typeName);\n }\n\n get minBufferPx() {\n return this.scrollViewportHeight; // render at least 2x the number of items visible (viewport + min buffer)\n }\n\n get maxBufferPx() {\n return 2 * this.scrollViewportHeight; // render at most 3x the number of items visible (viewport + max buffer)\n }\n\n ngOnInit(): void {\n this.loadValues();\n this.loading = false;\n this.filterTextSubscription = this.filterText.pipe(debounceTime(300)).subscribe({\n next: this.filter,\n });\n }\n\n ngOnDestroy(): void {\n if (this.filterTextSubscription) {\n this.filterTextSubscription.unsubscribe();\n }\n }\n\n loadValues() {\n this.setupDisplayData();\n this.createChildrenReferences();\n this.initializeDescendantSelection();\n this.updateParentsAndQuickSelect();\n this.updateClearAll();\n }\n\n changeTab(tab: TabbedGroupPickerTab) {\n this.displayTab = tab;\n if (this.scrollableInstance) {\n this.scrollableInstance.scrollTo({ behavior: 'auto', top: 0 });\n }\n }\n\n getPixelHeight(element: HTMLElement) {\n return Number(getComputedStyle(element, '').height.match(/(\\d+(\\.\\d+)?)px$/)[1]);\n }\n\n setupDisplayData(): void {\n // shallow copy here so that reassigning displayTabs[i].data doesn't mutate tabs[i].data\n // but both data values point to the same items\n this.displayTabs = this.tabs.map((tab) => ({ ...tab }));\n this.displayTab = this.tabs[0];\n this.updateAppliedState();\n }\n\n // Replace each parent's child object with a reference to the child to avoid\n // a child lookup for selected status; linking references allows M x N\n // time complexity instead of M x N^2\n createChildrenReferences(): void {\n this.tabs.forEach((tab) => {\n // would rather filter but TypeScript still wants a type narrowing here\n if ('childTypeName' in tab) {\n const childTab = this.tabs.find(({ typeName }) => typeName === tab.childTypeName);\n const compareFunction = this.makeCompareFunction(childTab.valueField);\n const warnFunction = this.makeWarningFunction(tab.typeName, childTab.typeName, childTab.valueField);\n const sortedChildren = childTab.data.slice().sort(compareFunction);\n\n tab.data\n .filter(({ children }) => children?.length)\n .forEach((parent: { children?: any[] }) =>\n this.replaceChildrenWithReferences(parent as ParentOption, sortedChildren, compareFunction, warnFunction),\n );\n }\n });\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items\n .filter((parent) => 'all' in parent)\n .forEach((parent) => {\n parent.children = this.tabs.find(({ typeName }) => parent.childTypeName === typeName).data;\n });\n\n this.quickSelectConfig.items\n .filter((parent) => !('all' in parent))\n .forEach((parent) => {\n const childTab = this.tabs.find(({ typeName }) => typeName === parent.childTypeName);\n const compareFunction = this.makeCompareFunction(childTab.valueField);\n const warnFunction = this.makeWarningFunction(parent.label, childTab.typeName, childTab.valueField);\n const sortedChildren = childTab.data.slice().sort(compareFunction);\n\n this.replaceChildrenWithReferences(parent as ParentOption, sortedChildren, compareFunction, warnFunction);\n });\n }\n }\n\n makeCompareFunction<T>(key: string): (a: T | { [key: string]: T }, b: T | { [key: string]: T }) => 1 | -1 | 0 | undefined {\n return (a: T | { [key: string]: T }, b: T | { [key: string]: T }) => {\n const aValue: T = (a && a[key]) || a;\n const bValue: T = (b && b[key]) || b;\n\n if (aValue < bValue) {\n return -1;\n } else if (aValue > bValue) {\n return 1;\n } else if (aValue === bValue) {\n return 0;\n } else {\n return undefined;\n }\n };\n }\n\n replaceChildrenWithReferences(\n parent: { children: any[] },\n sortedData: ChildTab['data'],\n compareFunction: (a, b) => 1 | -1 | 0,\n warnFunction: (child) => void,\n ): void {\n if (Array.isArray(parent?.children)) {\n parent.children = parent.children\n .map((child) => binarySearch(child, sortedData, compareFunction) || warnFunction(child))\n .filter(Boolean); // since map can return undefined, remove undefined elements\n }\n }\n\n makeWarningFunction(parentLabel: string, childLabel: string, childValueField): (child) => void {\n return (child) => {\n const childValue = child[childValueField] || child;\n console.warn(`No ${childLabel} found with value ${childValue} for parent ${parentLabel}`);\n };\n }\n\n onDropdownToggle(event) {\n this.filterText.next('');\n this.inputElement.nativeElement?.focus();\n if (event) {\n this.scrollViewportHeight = this.getPixelHeight(this.scrollableInstance.getElementRef().nativeElement);\n this.virtualScrollItemSize = this.getPixelHeight(this.scrollableInstance.getElementRef().nativeElement.querySelector('novo-option'));\n // Emit a fake scroll event so the rendered items update\n this.scrollableInstance.getElementRef().nativeElement.dispatchEvent(new Event('scroll'));\n }\n }\n\n activateItem(item: any, tab?: TabbedGroupPickerTab): void {\n if (this.selectionEnabled) {\n item.selected = !item.selected;\n this.onItemToggled(item);\n }\n this.activation.emit({ ...item, scope: tab?.typeName || 'quickselect' });\n }\n\n onItemToggled(item: Option) {\n if (Array.isArray(item.children)) {\n this.updateDescendants(item.selected, item.children);\n }\n this.updateParentsAndQuickSelect();\n this.updateClearAll(item.selected);\n this.emitSelectedValues();\n this.ref.markForCheck();\n }\n\n initializeDescendantSelection() {\n this.tabs.forEach((tab) => {\n if ('childTypeName' in tab && tab.data?.length) {\n tab.data.forEach((parent) => {\n if (parent.selected && parent.children?.length) {\n parent.children.forEach((child) => {\n child.selected = true;\n });\n }\n });\n }\n });\n }\n\n updateDescendants(parentIsSelected: boolean, children: Option[]): void {\n children.forEach((item) => {\n if (parentIsSelected) {\n item.selected = true;\n } else {\n delete item.selected;\n }\n if (Array.isArray(item.children)) {\n this.updateDescendants(item.selected, item.children);\n }\n });\n }\n\n updateClearAll(itemWasJustSelected?: boolean) {\n if (!this.selectionEnabled) {\n this.showClearAll = false;\n } else {\n this.showClearAll = itemWasJustSelected\n ? true\n : this.tabs.some((tab) => {\n if ((tab as ParentTab).childTypeName) {\n return tab.data.some(({ selected, indeterminate }) => selected || indeterminate);\n } else {\n return tab.data.some(({ selected }) => selected);\n }\n });\n }\n }\n\n updateParentsAndQuickSelect(): void {\n // mutate here to avoid dereferencing the objects in displayTabs\n this.tabs\n .filter((tab) => 'childTypeName' in tab && !!tab.childTypeName)\n .forEach((tab) => {\n const parents = tab.data.filter(({ children }: { children?: any[] }) => children?.length);\n\n parents.forEach((parent: ParentOption) => {\n ['indeterminate', 'selected'].forEach((selectedStateOption) => delete parent[selectedStateOption]);\n\n const selectedState = this.getSelectedState(parent.children);\n if (selectedState) {\n parent[selectedState] = true;\n }\n });\n });\n\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items.forEach((quickSelect) => {\n delete quickSelect.selected;\n const selectedState = this.getSelectedState(quickSelect.children as (Option)[]);\n if (selectedState) {\n quickSelect[selectedState] = true;\n }\n });\n }\n }\n\n getSelectedState = (childArray: Option[]): 'selected' | 'indeterminate' | undefined => {\n if (!Array.isArray(childArray)) {\n return undefined;\n }\n const numberOfSelectedItems = childArray.filter(({ selected }) => selected).length;\n if (!numberOfSelectedItems) {\n return undefined;\n }\n return numberOfSelectedItems === childArray.length ? 'selected' : 'indeterminate';\n };\n\n getSelectedValues(): TabbedGroupPickerTab[] {\n return this.tabs.map((tab) => ({\n ...tab,\n data: tab.data.filter(({ selected }) => selected),\n }));\n }\n\n emitSelectedValues() {\n this.selectionChange.emit(this.getSelectedValues());\n }\n\n updateAppliedState() {\n this.appliedState = Helpers.deepClone(this.displayTabs);\n }\n\n apply() {\n this.updateAppliedState();\n this.applyChange.emit(this.getSelectedValues());\n this.dropdown.closePanel();\n }\n\n cancel() {\n this.revertState();\n this.cancelChange.emit(this.tabs);\n this.ref.markForCheck();\n this.dropdown.closePanel();\n }\n\n revertState() {\n this.tabs = Helpers.deepClone(this.appliedState);\n this.loadValues();\n }\n\n deselectEverything(event) {\n Helpers.swallowEvent(event);\n this.showClearAll = false;\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items.forEach((quickSelect) => {\n delete quickSelect.selected;\n });\n }\n this.tabs.forEach((tab) => {\n if ((tab as ParentTab).childTypeName) {\n tab.data.forEach((item) => {\n delete item.selected;\n delete item.indeterminate;\n item.children.forEach((child) => delete child.selected);\n });\n } else {\n (tab as ChildTab).data.forEach((item) => delete item.selected);\n }\n });\n this.emitSelectedValues();\n this.ref.markForCheck();\n }\n\n onClearFilter(event) {\n Helpers.swallowEvent(event);\n this.filterText.next('');\n }\n\n onFilter(event: { target: { value: string } }) {\n this.filterText.next(event.target.value);\n }\n\n filter = (searchTerm: string) => {\n this.displayTabs.forEach(\n (displayTab, i) =>\n (displayTab.data = this.tabs[i].data.filter((item) =>\n item[displayTab.labelField].toLowerCase().includes(searchTerm.toLowerCase()) ||\n item[displayTab.valueField]?.toString().toLowerCase().includes(searchTerm.toLowerCase()),\n )),\n );\n this.ref.markForCheck();\n };\n}\n","<novo-dropdown (toggled)=\"onDropdownToggle($event)\" multiple #dropdown>\n <novo-button\n class=\"tabbed-group-picker-button\"\n [theme]=\"buttonConfig.theme\"\n [side]=\"buttonConfig.side\"\n [size]=\"buttonConfig.size\"\n [icon]=\"buttonConfig.icon\"\n [loading]=\"loading\">\n <ng-content></ng-content>\n <div class=\"tabbed-group-picker-button-label\">{{ buttonConfig.label }}</div>\n </novo-button>\n <div class=\"tabbed-group-picker-search\" data-automation-id=\"tabbed-group-picker-search\" (keydown)=\"dropdown._handleKeydown($event)\">\n <input #inputElement type=\"text\" [placeholder]=\"labelService.search\" [value]=\"filterText | async\" (input)=\"onFilter($event)\" />\n <i class=\"bhi-search\" *ngIf=\"!(filterText | async)\"></i>\n <i class=\"bhi-times\" *ngIf=\"(filterText | async)\" (click)=\"onClearFilter($event)\" (keydown.space)=\"onClearFilter($event)\"></i>\n </div>\n <div class=\"tabbed-group-picker-column-container\" (keydown)=\"dropdown._handleKeydown($event)\">\n <div class=\"tabbed-group-picker-column left\">\n <novo-nav theme=\"white\" direction=\"vertical\">\n <novo-tab *ngFor=\"let tab of displayTabs\" [attr.data-automation-id]=\"tab.typeName\"\n (activeChange)=\"changeTab(tab)\">\n <span>{{ tab.typeLabel }} ({{ tab.data.length }})</span><i class=\"bhi-next\"></i>\n </novo-tab>\n </novo-nav>\n <novo-button *ngIf=\"showClearAll && !showFooter\" class=\"clear-all-button\" theme=\"dialogue\" icon=\"times\" side=\"right\"\n color=\"grapefruit\" (click)=\"deselectEverything($event)\" (keydown.space)=\"deselectEverything($event)\">{{ labelService.clear }}</novo-button>\n </div>\n <div class=\"tabbed-group-picker-column right\">\n <div class=\"quick-select\" *ngIf=\"quickSelectConfig && !(filterText | async)\">\n <novo-optgroup class=\"quick-select-list\" [label]=\"quickSelectConfig.label\">\n <novo-option\n class=\"quick-select-item\"\n *ngFor=\"let quickSelect of quickSelectConfig.items\"\n [attr.data-automation-id]=\"quickSelect.label\"\n [allowSelection]=\"selectionEnabled\"\n [selected]=\"quickSelect.selected\"\n (click)=\"activateItem(quickSelect)\"\n (keydown.space)=\"activateItem(quickSelect)\"\n novoInert>\n {{quickSelect.label}}\n </novo-option>\n </novo-optgroup>\n </div>\n <novo-optgroup *ngIf=\"displayTab.data.length\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"virtualScrollItemSize\"\n [maxBufferPx]=\"maxBufferPx\"\n [minBufferPx]=\"minBufferPx\"\n #tabbedGroupPickerVirtualScrollViewport>\n <novo-option\n *cdkVirtualFor=\"let item of displayTab.data\"\n [attr.data-automation-id]=\"item[displayTab.labelField]\"\n [attr.data-automation-value]=\"item[displayTab.valueField]\"\n [allowSelection]=\"selectionEnabled\"\n [selected]=\"item.selected\"\n (click)=\"activateItem(item, displayTab)\"\n (keydown.space)=\"activateItem(item, displayTab)\"\n novoInert>\n {{item[displayTab.labelField]}}\n </novo-option>\n </cdk-virtual-scroll-viewport>\n </novo-optgroup>\n <div class=\"tabbed-group-picker-empty-item\" *ngIf=\"!displayTab.data.length && (filterText | async)\">\n <i class=\"{{ displayTab.icon || 'bhi-search' }}\"></i>\n <div class=\"empty-item-main-message\">{{ labelService.tabbedGroupPickerEmpty }}</div>\n <div class=\"empty-item-sub-message\">{{ labelService.tabbedGroupClearSuggestion(displayTab.typeLabel) }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"footer\" *ngIf=\"showFooter\">\n <div class=\"save-cancel-button-container\">\n <novo-button\n class=\"clear-all-button\"\n *ngIf=\"showClearAll\"\n theme=\"dialogue\"\n icon=\"times\"\n side=\"right\"\n color=\"grapefruit\"\n (click)=\"deselectEverything($event)\">{{ labelService.clear }}</novo-button>\n </div>\n <div class=\"save-cancel-button-container\">\n <novo-button\n class=\"cancel-button\"\n marginRight=\"1rem\"\n theme=\"dialogue\"\n (click)=\"cancel()\">{{ labelService.cancel }}</novo-button>\n <novo-button\n class=\"save-button\"\n theme=\"primary\"\n color=\"primary\"\n (click)=\"apply()\">{{ labelService.apply }}</novo-button>\n </div>\n </div>\n</novo-dropdown>","// NG2\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoCheckboxModule } from 'novo-elements/elements/checkbox';\nimport { NovoOptionModule } from 'novo-elements/elements/common';\nimport { NovoDropdownModule } from 'novo-elements/elements/dropdown';\nimport { NovoFormExtrasModule } from 'novo-elements/elements/form';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoTabModule } from 'novo-elements/elements/tabs';\nimport { NovoTabbedGroupPickerElement } from './TabbedGroupPicker';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ScrollingModule,\n NovoTabModule,\n NovoListModule,\n NovoFormExtrasModule,\n NovoButtonModule,\n NovoDropdownModule,\n NovoOptionModule,\n NovoCheckboxModule,\n ],\n providers: [NovoLabelService],\n declarations: [NovoTabbedGroupPickerElement],\n exports: [NovoTabbedGroupPickerElement],\n})\nexport class NovoTabbedGroupPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-tabbed-group-picker.mjs","sources":["../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.ts","../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.html","../../../projects/novo-elements/src/elements/tabbed-group-picker/TabbedGroupPicker.module.ts","../../../projects/novo-elements/src/elements/tabbed-group-picker/novo-elements-elements-tabbed-group-picker.ts"],"sourcesContent":["import { CdkScrollable } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { binarySearch, BooleanInput, Helpers } from 'novo-elements/utils';\nimport { NOVO_OPTION_PARENT_COMPONENT } from 'novo-elements/elements/common';\nimport { NovoDropdownElement } from 'novo-elements/elements/dropdown';\n\nexport type TabbedGroupPickerTab = {\n typeName: string;\n typeLabel: string;\n valueField: string;\n labelField: string;\n scrollOffset?: number;\n icon?: string;\n} & (ParentTab | ChildTab);\n\nexport type ParentTab = {\n childTypeName: string;\n data: Array<ParentOption>;\n};\n\ntype BaseOption = {\n selected?: boolean;\n indeterminate?: boolean;\n} & { [key: string]: any };\n\ntype ParentOption = BaseOption & {\n children: Option[];\n};\n\ntype Option = BaseOption | ParentOption;\n\nexport type ChildTab = {\n data: Array<{ selected?: boolean } & { [key: string]: any }>;\n};\n\nexport type TabbedGroupPickerQuickSelect = {\n label: string;\n selected?: boolean;\n childTypeName?: string;\n children?: (({ selected?: boolean } & { [key: string]: any }) | number)[];\n all?: boolean;\n};\n\nexport type QuickSelectConfig = { label: string; items: TabbedGroupPickerQuickSelect[] };\n\nexport type TabbedGroupPickerButtonConfig = {\n theme: string;\n side: string;\n icon: string;\n label: string;\n size?: string;\n};\n\n@Component({\n selector: 'novo-tabbed-group-picker',\n templateUrl: './TabbedGroupPicker.html',\n styleUrls: ['./TabbedGroupPicker.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoTabbedGroupPickerElement }],\n standalone: false,\n})\nexport class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {\n @ViewChild('tabbedGroupPickerVirtualScrollViewport')\n private scrollableInstance: CdkScrollable;\n @ViewChild('inputElement')\n private inputElement: ElementRef<HTMLInputElement>;\n @ViewChild('dropdown')\n public dropdown: NovoDropdownElement;\n\n multiple = true;\n\n @Input() buttonConfig: TabbedGroupPickerButtonConfig;\n @Input() tabs: TabbedGroupPickerTab[];\n @Input() quickSelectConfig: QuickSelectConfig;\n @Input() showFooter = false;\n\n // In activation mode, no checkboxes are displayed, and only the selectionActivated event occurs.\n @BooleanInput()\n @Input() selectionEnabled = true;\n\n @Output() activation = new EventEmitter<any>();\n @Output() selectionChange = new EventEmitter<TabbedGroupPickerTab[]>();\n @Output() applyChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() cancelChange: EventEmitter<any> = new EventEmitter<any>();\n\n displayTabs: TabbedGroupPickerTab[];\n displayTabIndex: number = 0;\n\n filterText: BehaviorSubject<string> = new BehaviorSubject('');\n filterTextSubscription: Subscription;\n\n loading = true;\n showClearAll: boolean = false;\n\n appliedState: TabbedGroupPickerTab[];\n\n // Initial height based on 13 px font rendered in chrome. Actual height retrieved onDropdownToggled.\n scrollViewportHeight: number = 351;\n virtualScrollItemSize: number = 39;\n\n constructor(public labelService: NovoLabelService, private ref: ChangeDetectorRef) {}\n\n get displayTab(): TabbedGroupPickerTab {\n return this.displayTabs[this.displayTabIndex];\n }\n set displayTab(tab: TabbedGroupPickerTab) {\n this.displayTabIndex = this.tabs.map(({ typeName }) => typeName).indexOf(tab.typeName);\n }\n\n get minBufferPx() {\n return this.scrollViewportHeight; // render at least 2x the number of items visible (viewport + min buffer)\n }\n\n get maxBufferPx() {\n return 2 * this.scrollViewportHeight; // render at most 3x the number of items visible (viewport + max buffer)\n }\n\n ngOnInit(): void {\n this.loadValues();\n this.loading = false;\n this.filterTextSubscription = this.filterText.pipe(debounceTime(300)).subscribe({\n next: this.filter,\n });\n }\n\n ngOnDestroy(): void {\n if (this.filterTextSubscription) {\n this.filterTextSubscription.unsubscribe();\n }\n }\n\n loadValues() {\n this.setupDisplayData();\n this.createChildrenReferences();\n this.initializeDescendantSelection();\n this.updateParentsAndQuickSelect();\n this.updateClearAll();\n }\n\n changeTab(tab: TabbedGroupPickerTab) {\n this.displayTab = tab;\n if (this.scrollableInstance) {\n this.scrollableInstance.scrollTo({ behavior: 'auto', top: 0 });\n }\n }\n\n getPixelHeight(element: HTMLElement) {\n return Number(getComputedStyle(element, '').height.match(/(\\d+(\\.\\d+)?)px$/)[1]);\n }\n\n setupDisplayData(): void {\n // shallow copy here so that reassigning displayTabs[i].data doesn't mutate tabs[i].data\n // but both data values point to the same items\n this.displayTabs = this.tabs.map((tab) => ({ ...tab }));\n this.displayTab = this.tabs[0];\n this.updateAppliedState();\n }\n\n // Replace each parent's child object with a reference to the child to avoid\n // a child lookup for selected status; linking references allows M x N\n // time complexity instead of M x N^2\n createChildrenReferences(): void {\n this.tabs.forEach((tab) => {\n // would rather filter but TypeScript still wants a type narrowing here\n if ('childTypeName' in tab) {\n const childTab = this.tabs.find(({ typeName }) => typeName === tab.childTypeName);\n const compareFunction = this.makeCompareFunction(childTab.valueField);\n const warnFunction = this.makeWarningFunction(tab.typeName, childTab.typeName, childTab.valueField);\n const sortedChildren = childTab.data.slice().sort(compareFunction);\n\n tab.data\n .filter(({ children }) => children?.length)\n .forEach((parent: { children?: any[] }) =>\n this.replaceChildrenWithReferences(parent as ParentOption, sortedChildren, compareFunction, warnFunction),\n );\n }\n });\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items\n .filter((parent) => 'all' in parent)\n .forEach((parent) => {\n parent.children = this.tabs.find(({ typeName }) => parent.childTypeName === typeName).data;\n });\n\n this.quickSelectConfig.items\n .filter((parent) => !('all' in parent))\n .forEach((parent) => {\n const childTab = this.tabs.find(({ typeName }) => typeName === parent.childTypeName);\n const compareFunction = this.makeCompareFunction(childTab.valueField);\n const warnFunction = this.makeWarningFunction(parent.label, childTab.typeName, childTab.valueField);\n const sortedChildren = childTab.data.slice().sort(compareFunction);\n\n this.replaceChildrenWithReferences(parent as ParentOption, sortedChildren, compareFunction, warnFunction);\n });\n }\n }\n\n makeCompareFunction<T>(key: string): (a: T | { [key: string]: T }, b: T | { [key: string]: T }) => 1 | -1 | 0 | undefined {\n return (a: T | { [key: string]: T }, b: T | { [key: string]: T }) => {\n const aValue: T = (a && a[key]) || a;\n const bValue: T = (b && b[key]) || b;\n\n if (aValue < bValue) {\n return -1;\n } else if (aValue > bValue) {\n return 1;\n } else if (aValue === bValue) {\n return 0;\n } else {\n return undefined;\n }\n };\n }\n\n replaceChildrenWithReferences(\n parent: { children: any[] },\n sortedData: ChildTab['data'],\n compareFunction: (a, b) => 1 | -1 | 0,\n warnFunction: (child) => void,\n ): void {\n if (Array.isArray(parent?.children)) {\n parent.children = parent.children\n .map((child) => binarySearch(child, sortedData, compareFunction) || warnFunction(child))\n .filter(Boolean); // since map can return undefined, remove undefined elements\n }\n }\n\n makeWarningFunction(parentLabel: string, childLabel: string, childValueField): (child) => void {\n return (child) => {\n const childValue = child[childValueField] || child;\n console.warn(`No ${childLabel} found with value ${childValue} for parent ${parentLabel}`);\n };\n }\n\n onDropdownToggle(event) {\n this.filterText.next('');\n this.inputElement.nativeElement?.focus();\n if (event) {\n this.scrollViewportHeight = this.getPixelHeight(this.scrollableInstance.getElementRef().nativeElement);\n this.virtualScrollItemSize = this.getPixelHeight(this.scrollableInstance.getElementRef().nativeElement.querySelector('novo-option'));\n // Emit a fake scroll event so the rendered items update\n this.scrollableInstance.getElementRef().nativeElement.dispatchEvent(new Event('scroll'));\n }\n }\n\n activateItem(item: any, tab?: TabbedGroupPickerTab): void {\n if (this.selectionEnabled) {\n item.selected = !item.selected;\n this.onItemToggled(item);\n }\n this.activation.emit({ ...item, scope: tab?.typeName || 'quickselect' });\n }\n\n onItemToggled(item: Option) {\n if (Array.isArray(item.children)) {\n this.updateDescendants(item.selected, item.children);\n }\n this.updateParentsAndQuickSelect();\n this.updateClearAll(item.selected);\n this.emitSelectedValues();\n this.ref.markForCheck();\n }\n\n initializeDescendantSelection() {\n this.tabs.forEach((tab) => {\n if ('childTypeName' in tab && tab.data?.length) {\n tab.data.forEach((parent) => {\n if (parent.selected && parent.children?.length) {\n parent.children.forEach((child) => {\n child.selected = true;\n });\n }\n });\n }\n });\n }\n\n updateDescendants(parentIsSelected: boolean, children: Option[]): void {\n children.forEach((item) => {\n if (parentIsSelected) {\n item.selected = true;\n } else {\n delete item.selected;\n }\n if (Array.isArray(item.children)) {\n this.updateDescendants(item.selected, item.children);\n }\n });\n }\n\n updateClearAll(itemWasJustSelected?: boolean) {\n if (!this.selectionEnabled) {\n this.showClearAll = false;\n } else {\n this.showClearAll = itemWasJustSelected\n ? true\n : this.tabs.some((tab) => {\n if ((tab as ParentTab).childTypeName) {\n return tab.data.some(({ selected, indeterminate }) => selected || indeterminate);\n } else {\n return tab.data.some(({ selected }) => selected);\n }\n });\n }\n }\n\n updateParentsAndQuickSelect(): void {\n // mutate here to avoid dereferencing the objects in displayTabs\n this.tabs\n .filter((tab) => 'childTypeName' in tab && !!tab.childTypeName)\n .forEach((tab) => {\n const parents = tab.data.filter(({ children }: { children?: any[] }) => children?.length);\n\n parents.forEach((parent: ParentOption) => {\n ['indeterminate', 'selected'].forEach((selectedStateOption) => delete parent[selectedStateOption]);\n\n const selectedState = this.getSelectedState(parent.children);\n if (selectedState) {\n parent[selectedState] = true;\n }\n });\n });\n\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items.forEach((quickSelect) => {\n delete quickSelect.selected;\n const selectedState = this.getSelectedState(quickSelect.children as (Option)[]);\n if (selectedState) {\n quickSelect[selectedState] = true;\n }\n });\n }\n }\n\n getSelectedState = (childArray: Option[]): 'selected' | 'indeterminate' | undefined => {\n if (!Array.isArray(childArray)) {\n return undefined;\n }\n const numberOfSelectedItems = childArray.filter(({ selected }) => selected).length;\n if (!numberOfSelectedItems) {\n return undefined;\n }\n return numberOfSelectedItems === childArray.length ? 'selected' : 'indeterminate';\n };\n\n getSelectedValues(): TabbedGroupPickerTab[] {\n return this.tabs.map((tab) => ({\n ...tab,\n data: tab.data.filter(({ selected }) => selected),\n }));\n }\n\n emitSelectedValues() {\n this.selectionChange.emit(this.getSelectedValues());\n }\n\n updateAppliedState() {\n this.appliedState = Helpers.deepClone(this.displayTabs);\n }\n\n apply() {\n this.updateAppliedState();\n this.applyChange.emit(this.getSelectedValues());\n this.dropdown.closePanel();\n }\n\n cancel() {\n this.revertState();\n this.cancelChange.emit(this.tabs);\n this.ref.markForCheck();\n this.dropdown.closePanel();\n }\n\n revertState() {\n this.tabs = Helpers.deepClone(this.appliedState);\n this.loadValues();\n }\n\n deselectEverything(event) {\n Helpers.swallowEvent(event);\n this.showClearAll = false;\n if (this.quickSelectConfig) {\n this.quickSelectConfig.items.forEach((quickSelect) => {\n delete quickSelect.selected;\n });\n }\n this.tabs.forEach((tab) => {\n if ((tab as ParentTab).childTypeName) {\n tab.data.forEach((item) => {\n delete item.selected;\n delete item.indeterminate;\n item.children.forEach((child) => delete child.selected);\n });\n } else {\n (tab as ChildTab).data.forEach((item) => delete item.selected);\n }\n });\n this.emitSelectedValues();\n this.ref.markForCheck();\n }\n\n onClearFilter(event) {\n Helpers.swallowEvent(event);\n this.filterText.next('');\n }\n\n onFilter(event: { target: { value: string } }) {\n this.filterText.next(event.target.value);\n }\n\n filter = (searchTerm: string) => {\n this.displayTabs.forEach(\n (displayTab, i) =>\n (displayTab.data = this.tabs[i].data.filter((item) =>\n item[displayTab.labelField].toLowerCase().includes(searchTerm.toLowerCase()) ||\n item[displayTab.valueField]?.toString().toLowerCase().includes(searchTerm.toLowerCase()),\n )),\n );\n this.ref.markForCheck();\n };\n}\n","<novo-dropdown (toggled)=\"onDropdownToggle($event)\" multiple #dropdown>\n <novo-button\n class=\"tabbed-group-picker-button\"\n [theme]=\"buttonConfig.theme\"\n [side]=\"buttonConfig.side\"\n [size]=\"buttonConfig.size\"\n [icon]=\"buttonConfig.icon\"\n [loading]=\"loading\">\n <ng-content></ng-content>\n <div class=\"tabbed-group-picker-button-label\">{{ buttonConfig.label }}</div>\n </novo-button>\n <div class=\"tabbed-group-picker-search\" data-automation-id=\"tabbed-group-picker-search\" (keydown)=\"dropdown._handleKeydown($event)\">\n <input #inputElement type=\"text\" [placeholder]=\"labelService.search\" [value]=\"filterText | async\" (input)=\"onFilter($event)\" />\n <i class=\"bhi-search\" *ngIf=\"!(filterText | async)\"></i>\n <i class=\"bhi-times\" *ngIf=\"(filterText | async)\" (click)=\"onClearFilter($event)\" (keydown.space)=\"onClearFilter($event)\"></i>\n </div>\n <div class=\"tabbed-group-picker-column-container\" (keydown)=\"dropdown._handleKeydown($event)\">\n <div class=\"tabbed-group-picker-column left\">\n <novo-nav theme=\"white\" direction=\"vertical\">\n <novo-tab *ngFor=\"let tab of displayTabs\" [attr.data-automation-id]=\"tab.typeName\"\n (activeChange)=\"changeTab(tab)\">\n <span>{{ tab.typeLabel }} ({{ tab.data.length }})</span><i class=\"bhi-next\"></i>\n </novo-tab>\n </novo-nav>\n <novo-button *ngIf=\"showClearAll && !showFooter\" class=\"clear-all-button\" theme=\"dialogue\" icon=\"times\" side=\"right\"\n color=\"grapefruit\" (click)=\"deselectEverything($event)\" (keydown.space)=\"deselectEverything($event)\">{{ labelService.clear }}</novo-button>\n </div>\n <div class=\"tabbed-group-picker-column right\">\n <div class=\"quick-select\" *ngIf=\"quickSelectConfig && !(filterText | async)\">\n <novo-optgroup class=\"quick-select-list\" [label]=\"quickSelectConfig.label\">\n <novo-option\n class=\"quick-select-item\"\n *ngFor=\"let quickSelect of quickSelectConfig.items\"\n [attr.data-automation-id]=\"quickSelect.label\"\n [allowSelection]=\"selectionEnabled\"\n [selected]=\"quickSelect.selected\"\n (click)=\"activateItem(quickSelect)\"\n (keydown.space)=\"activateItem(quickSelect)\"\n novoInert>\n {{quickSelect.label}}\n </novo-option>\n </novo-optgroup>\n </div>\n <novo-optgroup *ngIf=\"displayTab.data.length\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"virtualScrollItemSize\"\n [maxBufferPx]=\"maxBufferPx\"\n [minBufferPx]=\"minBufferPx\"\n #tabbedGroupPickerVirtualScrollViewport>\n <novo-option\n *cdkVirtualFor=\"let item of displayTab.data\"\n [attr.data-automation-id]=\"item[displayTab.labelField]\"\n [attr.data-automation-value]=\"item[displayTab.valueField]\"\n [allowSelection]=\"selectionEnabled\"\n [selected]=\"item.selected\"\n (click)=\"activateItem(item, displayTab)\"\n (keydown.space)=\"activateItem(item, displayTab)\"\n novoInert>\n {{item[displayTab.labelField]}}\n </novo-option>\n </cdk-virtual-scroll-viewport>\n </novo-optgroup>\n <div class=\"tabbed-group-picker-empty-item\" *ngIf=\"!displayTab.data.length && (filterText | async)\">\n <i class=\"{{ displayTab.icon || 'bhi-search' }}\"></i>\n <div class=\"empty-item-main-message\">{{ labelService.tabbedGroupPickerEmpty }}</div>\n <div class=\"empty-item-sub-message\">{{ labelService.tabbedGroupClearSuggestion(displayTab.typeLabel) }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"footer\" *ngIf=\"showFooter\">\n <div class=\"save-cancel-button-container\">\n <novo-button\n class=\"clear-all-button\"\n *ngIf=\"showClearAll\"\n theme=\"dialogue\"\n icon=\"times\"\n side=\"right\"\n color=\"grapefruit\"\n (click)=\"deselectEverything($event)\">{{ labelService.clear }}</novo-button>\n </div>\n <div class=\"save-cancel-button-container\">\n <novo-button\n class=\"cancel-button\"\n marginRight=\"1rem\"\n theme=\"dialogue\"\n (click)=\"cancel()\">{{ labelService.cancel }}</novo-button>\n <novo-button\n class=\"save-button\"\n theme=\"primary\"\n color=\"primary\"\n (click)=\"apply()\">{{ labelService.apply }}</novo-button>\n </div>\n </div>\n</novo-dropdown>","// NG2\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoCheckboxModule } from 'novo-elements/elements/checkbox';\nimport { NovoOptionModule } from 'novo-elements/elements/common';\nimport { NovoDropdownModule } from 'novo-elements/elements/dropdown';\nimport { NovoFormExtrasModule } from 'novo-elements/elements/form';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoTabModule } from 'novo-elements/elements/tabs';\nimport { NovoTabbedGroupPickerElement } from './TabbedGroupPicker';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ScrollingModule,\n NovoTabModule,\n NovoListModule,\n NovoFormExtrasModule,\n NovoButtonModule,\n NovoDropdownModule,\n NovoOptionModule,\n NovoCheckboxModule,\n ],\n providers: [NovoLabelService],\n declarations: [NovoTabbedGroupPickerElement],\n exports: [NovoTabbedGroupPickerElement],\n})\nexport class NovoTabbedGroupPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -135,8 +135,9 @@ class NovoTabElement {
|
|
|
135
135
|
const tablink = el.nativeElement.querySelector('.novo-tab-link');
|
|
136
136
|
if (tablink) {
|
|
137
137
|
for (let i = 0; i < tablink.childNodes.length; i++) {
|
|
138
|
-
if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE)
|
|
138
|
+
if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) {
|
|
139
139
|
this.onlyText = false;
|
|
140
|
+
}
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n standalone: false\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) this.onlyText = false;\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n standalone: false\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n standalone: false\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n standalone: false,\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) {\n this.onlyText = false;\n }\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n standalone: false,\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n standalone: false,\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|