@muziehdesign/components 18.2.0-next.0 → 18.2.0-next.1998

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +2 -2
  2. package/assets/icons/chevron-down-solid.svg +3 -0
  3. package/assets/icons/chevron-up-solid.svg +3 -0
  4. package/assets/icons/icondefinitions.svg +0 -0
  5. package/design/_accordion.scss +15 -0
  6. package/design/_alert.scss +51 -0
  7. package/design/_base.scss +54 -0
  8. package/design/_breadcrumb.scss +15 -0
  9. package/design/_button.scss +55 -0
  10. package/design/_components.scss +0 -0
  11. package/design/_date-picker.scss +23 -0
  12. package/design/_dl.scss +22 -0
  13. package/design/_dropdown-menu.scss +17 -0
  14. package/design/_form.scss +179 -0
  15. package/design/_infinite-scroll.scss +16 -0
  16. package/design/_material.scss +57 -0
  17. package/design/_modal.scss +287 -0
  18. package/design/_muzieh.scss +19 -0
  19. package/design/_pagination.scss +27 -0
  20. package/design/_progress-bar.scss +25 -0
  21. package/design/_table.scss +93 -0
  22. package/design/_tabs.scss +20 -0
  23. package/design/_wizard.scss +139 -0
  24. package/esm2022/lib/alert/alert.component.mjs +3 -3
  25. package/esm2022/lib/button.directive.mjs +11 -11
  26. package/esm2022/lib/components.module.mjs +1 -1
  27. package/esm2022/lib/date-display/date-display.pipe.mjs +1 -1
  28. package/esm2022/lib/date-time/date-time.component.mjs +3 -3
  29. package/esm2022/lib/date-time/time-value.mjs +1 -1
  30. package/esm2022/lib/enum-display/enum-display.pipe.mjs +1 -1
  31. package/esm2022/lib/infinite-scroll/infinite-scroll.component.mjs +3 -3
  32. package/esm2022/lib/inline-edit/inline-edit.component.mjs +65 -0
  33. package/esm2022/lib/inline-message/inline-message-dialog/inline-message-dialog.component.mjs +3 -3
  34. package/esm2022/lib/inline-message/inline-message.component.mjs +3 -3
  35. package/esm2022/lib/models/loading-state.mjs +1 -1
  36. package/esm2022/lib/models/page-event.mjs +1 -1
  37. package/esm2022/lib/models/result-table-options.mjs +1 -1
  38. package/esm2022/lib/models/sort-event.mjs +1 -1
  39. package/esm2022/lib/models/subject.mjs +1 -1
  40. package/esm2022/lib/models/wizard-step-link.mjs +1 -1
  41. package/esm2022/lib/page-header/page-header.component.mjs +3 -3
  42. package/esm2022/lib/page-loading-indicator/page-loading-indicator.component.mjs +3 -3
  43. package/esm2022/lib/pagination/pagination-default-options.mjs +1 -1
  44. package/esm2022/lib/pagination/pagination-default-options.token.mjs +1 -1
  45. package/esm2022/lib/pagination/pagination.component.mjs +5 -5
  46. package/esm2022/lib/phone-number/phone-number.pipe.mjs +1 -1
  47. package/esm2022/lib/result-table/result-table.component.mjs +25 -14
  48. package/esm2022/lib/result-table/result-table.model.mjs +1 -1
  49. package/esm2022/lib/sort-key.directive.mjs +1 -1
  50. package/esm2022/lib/sort.directive.mjs +1 -1
  51. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  52. package/esm2022/lib/subject-display/subject-display.pipe.mjs +3 -3
  53. package/esm2022/lib/svg-icon/svg-icon-config.mjs +9 -2
  54. package/esm2022/lib/svg-icon/svg-icon.component.mjs +6 -8
  55. package/esm2022/lib/testing/muzieh-component-harness.mjs +1 -1
  56. package/esm2022/lib/testing/result-table-harness.mjs +2 -2
  57. package/esm2022/lib/time-value-accessor.directive.mjs +1 -1
  58. package/esm2022/lib/time-value-validator.directive.mjs +1 -1
  59. package/esm2022/lib/wizard-progress-tracker/wizard-progress-tracker.component.mjs +3 -3
  60. package/esm2022/public-api.mjs +3 -1
  61. package/fesm2022/muziehdesign-components.mjs +132 -57
  62. package/fesm2022/muziehdesign-components.mjs.map +1 -1
  63. package/lib/enum-display/enum-display.pipe.d.ts +2 -2
  64. package/lib/inline-edit/inline-edit.component.d.ts +22 -0
  65. package/lib/models/page-event.d.ts +3 -3
  66. package/lib/models/result-table-options.d.ts +2 -1
  67. package/lib/pagination/pagination.component.d.ts +1 -1
  68. package/lib/result-table/result-table.component.d.ts +9 -6
  69. package/lib/result-table/result-table.model.d.ts +5 -5
  70. package/lib/subject-display/subject-display.pipe.d.ts +1 -1
  71. package/lib/svg-icon/svg-icon.component.d.ts +1 -1
  72. package/package.json +1 -1
  73. package/public-api.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"muziehdesign-components.mjs","sources":["../../../projects/components/src/lib/svg-icon/svg-icon-config.ts","../../../projects/components/src/lib/svg-icon/svg-icon.component.ts","../../../projects/components/src/lib/svg-icon/svg-icon.component.svg","../../../projects/components/src/lib/enum-display/enum-display.pipe.ts","../../../projects/components/src/lib/spinner/spinner.component.ts","../../../projects/components/src/lib/spinner/spinner.component.html","../../../projects/components/src/lib/pagination/pagination-default-options.token.ts","../../../projects/components/src/lib/pagination/pagination.component.ts","../../../projects/components/src/lib/pagination/pagination.component.html","../../../projects/components/src/lib/result-table/result-table.component.ts","../../../projects/components/src/lib/result-table/result-table.component.html","../../../projects/components/src/lib/page-loading-indicator/page-loading-indicator.component.ts","../../../projects/components/src/lib/page-loading-indicator/page-loading-indicator.component.html","../../../projects/components/src/lib/page-header/page-header.component.ts","../../../projects/components/src/lib/page-header/page-header.component.html","../../../projects/components/src/lib/time-value-accessor.directive.ts","../../../projects/components/src/lib/alert/alert.component.ts","../../../projects/components/src/lib/alert/alert.component.html","../../../projects/components/src/lib/phone-number/phone-number.pipe.ts","../../../projects/components/src/lib/date-display/date-display.pipe.ts","../../../projects/components/src/lib/sort.directive.ts","../../../projects/components/src/lib/sort-key.directive.ts","../../../projects/components/src/lib/subject-display/subject-display.pipe.ts","../../../projects/components/src/lib/button.directive.ts","../../../projects/components/src/lib/wizard-progress-tracker/wizard-progress-tracker.component.ts","../../../projects/components/src/lib/wizard-progress-tracker/wizard-progress-tracker.component.html","../../../projects/components/src/lib/date-time/date-time.component.ts","../../../projects/components/src/lib/date-time/date-time.component.html","../../../projects/components/src/lib/inline-message/inline-message-dialog/inline-message-dialog.component.ts","../../../projects/components/src/lib/inline-message/inline-message-dialog/inline-message-dialog.component.html","../../../projects/components/src/lib/inline-message/inline-message.component.ts","../../../projects/components/src/lib/inline-message/inline-message.component.html","../../../projects/components/src/lib/time-value-validator.directive.ts","../../../projects/components/src/lib/infinite-scroll/infinite-scroll.component.ts","../../../projects/components/src/lib/infinite-scroll/infinite-scroll.component.html","../../../projects/components/src/lib/components.module.ts","../../../projects/components/src/lib/testing/muzieh-component-harness.ts","../../../projects/components/src/lib/testing/result-table-harness.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/muziehdesign-components.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface SvgIconOptions {\r\n svgIconDefinitionUrl: string;\r\n}\r\n\r\nexport const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken<SvgIconOptions>('MzSvgIconOptions');","import { Component, Inject, Input, OnInit, Optional } from '@angular/core';\r\nimport { SVG_ICON_DEFAULT_OPTIONS, SvgIconOptions } from './svg-icon-config';\r\n\r\n@Component({\r\n selector: 'mz-svg-icon',\r\n templateUrl: './svg-icon.component.svg',\r\n styleUrls: ['./svg-icon.component.scss'],\r\n standalone: true,\r\n imports: []\r\n})\r\nexport class SvgIconComponent {\r\n @Input() key!: string;\r\n @Input() type: 'outline' | 'solid' | string = 'outline';\r\n @Input() size: string = 'medium';\r\n fileUrl: string;\r\n \r\n constructor(@Optional() @Inject(SVG_ICON_DEFAULT_OPTIONS) public config: SvgIconOptions) {\r\n this.fileUrl = config?.svgIconDefinitionUrl || './assets/icondefinitions.svg';\r\n }\r\n\r\n get url(): string {\r\n if(this.type) {\r\n return this.fileUrl + '#' + this.key + '-' + this.type;\r\n }\r\n\r\n return this.fileUrl + '#' + this.key;\r\n }\r\n}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\r\n <use [attr.href]=\"url\" />\r\n</svg>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'mzEnumDisplay',\r\n standalone: true,\r\n})\r\nexport class EnumDisplayPipe implements PipeTransform {\r\n transform(value: string): unknown {\r\n return this.transformValue(value).join(' ');\r\n }\r\n\r\n transformValue(value: string): string[] {\r\n if (!value) {\r\n return [];\r\n }\r\n\r\n let wordIndex = 0;\r\n const words: string[] = [];\r\n for (let i = 0; i < value.length; i++) {\r\n if (value[i] !== value[i].toLowerCase() && i !== 0) {\r\n // includes the index -1\r\n // for example helloGoodbye => .substring(0, 5) => hello\r\n // and the index is reset to 5 (G)\r\n const word = value.substring(wordIndex, i);\r\n words.push(words.length === 0 ? this.firstLetterToUppercase(word) : word.toLowerCase());\r\n wordIndex = i;\r\n }\r\n }\r\n if (wordIndex !== value.length) {\r\n // continuing the example, we take it from the last index matched\r\n // (meaning the rest of the word that wasn't considered because no uppercase\r\n // values existed at the end of the sentence after the last index matched)\r\n // so it is converterd like this: helloGoodbye => .sustring(5) => goodbye\r\n const remainingString = value.substring(wordIndex);\r\n words.push(words.length === 0 ? this.firstLetterToUppercase(remainingString) : remainingString.toLowerCase());\r\n }\r\n return words;\r\n }\r\n\r\n // at this point we assume the string is at least > 0 length\r\n // just a converter method from: hello to Hello\r\n private firstLetterToUppercase(value: string): string {\r\n return value.length > 1 ? `${value.substring(0, 1).toUpperCase()}${value.substring(1)}` : value.toUpperCase();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mz-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.css'],\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class SpinnerComponent {\r\n\r\n @Input() size: 'medium' | 'large' = 'medium';\r\n @Input() type: 'default' | 'inverse' = 'default'; // TODO: inverse will not exist one day\r\n constructor() { }\r\n\r\n}\r\n","<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\r\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\" viewBox=\"0 0 24 24\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\r\n <path class=\"opacity-75\" fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\r\n </path>\r\n </svg>\r\n</div>","import { InjectionToken } from \"@angular/core\";\r\nimport { PaginationDefaultOptions } from \"./pagination-default-options\";\r\n\r\nexport const PAGINATION_DEFAULT_OPTIONS = new InjectionToken<PaginationDefaultOptions>('MUZIEH_PAGINATION_DEFAULT_CONFIG');","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Optional, Output, SimpleChanges } from '@angular/core';\r\nimport { PageEvent } from '../models/page-event';\r\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\r\nimport { PaginationDefaultOptions } from './pagination-default-options';\r\nimport { PAGINATION_DEFAULT_OPTIONS } from './pagination-default-options.token';\r\n\r\n@Component({\r\n selector: 'mz-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.css'],\r\n imports: [CommonModule, SvgIconComponent],\r\n standalone: true,\r\n})\r\nexport class PaginationComponent implements OnChanges {\r\n\r\n @Input() length: number = 0;\r\n @Input() page: number = 1;\r\n @Input() pageSize: number;\r\n @Output() public changePage = new EventEmitter<PageEvent>();\r\n\r\n @Input() pageSizeOptions: number[];\r\n pages: number[] = [];\r\n pageCount: number = 1;\r\n constructor(@Optional() @Inject(PAGINATION_DEFAULT_OPTIONS) paginationOptions: PaginationDefaultOptions) {\r\n this.pageSize = paginationOptions?.pageSize || 20;\r\n this.pageSizeOptions = paginationOptions?.pageSizeOptions || [20, 50, 100];\r\n\r\n this.updatePages(this.page, this.length, this.pageSize);\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.updatePages(this.page, this.length, this.pageSize);\r\n }\r\n\r\n isEllipsis(v: number) {\r\n return v === -1;\r\n }\r\n\r\n changePageNumber(newValue: number) {\r\n if (newValue == this.page || newValue < 1 || newValue > this.pageCount) {\r\n return;\r\n }\r\n this.changePage.emit({ page: newValue, pageSize: this.pageSize } as PageEvent)\r\n }\r\n\r\n changePageSize(newValue: string) {\r\n if (Number(newValue) == this.pageSize) {\r\n return;\r\n }\r\n this.changePage.emit({ page: 1, pageSize: Number(newValue) } as PageEvent);\r\n }\r\n\r\n private updatePages(currentPage: number, lengthOfItems: number, currentPageSize: number) {\r\n const pageCount = Math.ceil(lengthOfItems / currentPageSize);\r\n this.pageCount = pageCount;\r\n let pageNumbers: number[] = [];\r\n const max = 7; // 3 items before and after current page\r\n\r\n if (pageCount <= max) {\r\n this.pages = [...Array(pageCount).keys()].map(i => i + 1);\r\n return;\r\n }\r\n\r\n let start = Math.max(1, currentPage - 3);\r\n let end = Math.min(pageCount, currentPage + 3);\r\n let range = end - start + 1;\r\n if (range < max) {\r\n end = Math.min(end + (max - range), pageCount);\r\n }\r\n range = end - start + 1;\r\n if (range < max) {\r\n start = Math.max(1, start - (max - range));\r\n }\r\n\r\n for (let x = start; x <= end; x++) {\r\n pageNumbers.push(x);\r\n }\r\n\r\n if (start != 1) {\r\n pageNumbers.splice(0, 2);\r\n pageNumbers.unshift(1, -1);\r\n }\r\n\r\n if (end != pageCount) {\r\n pageNumbers.splice(pageNumbers.length - 2);\r\n pageNumbers.push(-1, pageCount);\r\n }\r\n\r\n this.pages = pageNumbers;\r\n }\r\n}\r\n","<div class=\"pagination-wrapper\">\r\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\r\n <span class=\"sr-only\">Previous page</span>\r\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\r\n </button>\r\n <ng-container *ngFor=\"let p of pages\">\r\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\r\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\r\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\r\n </ng-container>\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\r\n <span class=\"sr-only\">Next page</span>\r\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\r\n </button>\r\n </nav>\r\n <div class=\"pagination-size\">\r\n Show\r\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\r\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\r\n [value]=\"size\">{{size}}</option>\r\n </select>\r\n per page\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { PageEvent } from '../models/page-event';\r\nimport { ResultTableOptions } from '../models/result-table-options';\r\nimport { PaginationComponent } from '../pagination/pagination.component';\r\nimport { SpinnerComponent } from '../spinner/spinner.component';\r\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\r\nimport { ResultTableModel } from './result-table.model';\r\n\r\n@Component({\r\n selector: 'mz-result-table',\r\n templateUrl: './result-table.component.html',\r\n styleUrls: ['./result-table.component.scss'],\r\n imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent],\r\n standalone: true,\r\n})\r\nexport class ResultTableComponent {\r\n @Input() public loading: boolean = false;\r\n @Input() public error?: Error;\r\n @Input() public model: ResultTableModel<any> | undefined | null; // TODO need to deal with the flaw of angular's async pipe\r\n @Input() public header!: TemplateRef<any>;\r\n @Input() public body!: TemplateRef<any>;\r\n @Input() public options: ResultTableOptions = { hidePagination: false };\r\n @Output() public pageChange = new EventEmitter<PageEvent>();\r\n\r\n constructor() {}\r\n\r\n changePage(page: PageEvent, table: HTMLElement) {\r\n this.pageChange.emit(page);\r\n setTimeout(() => {\r\n table.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n });\r\n }\r\n\r\n searchAgain() {\r\n this.pageChange.emit({ page: this.model?.page || 1, pageSize: this.model?.pageSize || 20 }); // TODO\r\n }\r\n\r\n public get state(): 'loading' | 'failed' | 'succeeded' {\r\n if (this.loading) {\r\n return 'loading';\r\n }\r\n if (this.error) {\r\n return 'failed';\r\n }\r\n\r\n return 'succeeded';\r\n }\r\n}\r\n","<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\r\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\r\n <mz-spinner size=\"large\"></mz-spinner>\r\n </div>\r\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\r\n <caption *ngIf=\"state === 'succeeded' && model && model.results.length > 0\">\r\n {{(model.page-1) * model.pageSize + 1}} - {{((model.page-1) * model.pageSize) + model.results.length}} of {{ model.totalResults }} results\r\n </caption>\r\n <thead>\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"state == 'succeeded' && model\">\r\n <ng-container *ngFor=\"let result of model.results\">\r\n <ng-container *ngTemplateOutlet=\"body; context: { $implicit: result }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && model && model.results.length > 0 && !options?.hidePagination\">\r\n <mz-pagination [length]=\"model.totalResults\" [page]=\"model.page\" [pageSize]=\"model.pageSize\"\r\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && model?.results?.length === 0\">\r\n <div class=\"title\">No results found</div>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\r\n <div class=\"title\">\r\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\r\n Something went wrong\r\n </div>\r\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\r\nimport { race } from 'rxjs';\r\nimport { delay, filter, repeat, take } from 'rxjs/operators';\r\nimport { SubSink } from 'subsink';\r\n\r\n@Component({\r\n selector: 'mz-page-loading-indicator',\r\n templateUrl: './page-loading-indicator.component.html',\r\n styleUrls: ['./page-loading-indicator.component.scss'],\r\n imports: [CommonModule],\r\n standalone: true,\r\n})\r\nexport class PageLoadingIndicatorComponent implements OnInit, OnDestroy {\r\n @Input() isLoading: boolean = false;\r\n expectedMilisecondsDelay = 1000;\r\n private subs = new SubSink();\r\n\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit(): void {\r\n const endObs$ = this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError),\r\n );\r\n\r\n this.subs.add(\r\n race(\r\n this.router.events.pipe(\r\n filter((e) => e instanceof NavigationStart),\r\n delay(this.expectedMilisecondsDelay)\r\n ),\r\n endObs$\r\n ).pipe(take(1), repeat()).subscribe((x) => this.isLoading = x instanceof NavigationStart)\r\n );\r\n // the flag need to be reset to false when the page finishes loading\r\n this.subs.add(endObs$.subscribe(() =>this.isLoading = false));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\r\n <div class=\"progress-bar progress-bar-indeterminate\">\r\n <div class=\"progress-bar-value\"></div>\r\n </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'mz-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss'],\r\n standalone: true,\r\n})\r\nexport class PageHeaderComponent implements OnInit {\r\n private pageTitleValue = 'Servicing Web';\r\n\r\n constructor(private title: Title) {}\r\n\r\n get pageTitle(): string {\r\n return this.pageTitleValue;\r\n }\r\n\r\n @Input() set pageTitle(newValue: string) {\r\n this.pageTitleValue = newValue;\r\n this.title.setTitle(newValue);\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<header class=\"page-header\">\r\n <h1>{{ pageTitle }}</h1>\r\n <ng-content></ng-content>\r\n</header>","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport { TimeValue } from './date-time/time-value';\r\n\r\n// TODO: need to rename, and need to use ivy instead\r\n\r\n@Directive({\r\n selector: 'input[type=time]',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TimeValueAccessorDirective,\r\n multi: true\r\n }],\r\n standalone: true,\r\n})\r\nexport class TimeValueAccessorDirective implements ControlValueAccessor {\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onChange = (x: any) => { };\r\n onTouched = () => { };\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef) {\r\n\r\n }\r\n\r\n writeValue(obj?: TimeValue): void {\r\n if (!obj) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\r\n return;\r\n }\r\n const hourPrefix = obj?.hour > 9 ? '' : '0';\r\n const minutePrefix = obj.minute > 9 ? '' : '0';\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', `${hourPrefix}${obj.hour}:${minutePrefix}${obj.minute}`);\r\n }\r\n\r\n registerOnChange(fn: (x: TimeValue | null) => void): void {\r\n this.onChange = (value) => {\r\n if (value === null || value === '') {\r\n fn(null);\r\n } else {\r\n const parts = value.split(':');\r\n fn({ hour: Number(parts[0]), minute: Number(parts[1]) } as TimeValue);\r\n }\r\n };\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit, Input, TemplateRef } from '@angular/core';\r\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\r\n\r\n@Component({\r\n selector: 'mz-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.css'],\r\n imports: [CommonModule, SvgIconComponent],\r\n standalone: true,\r\n})\r\nexport class AlertComponent implements OnInit {\r\n @Input() title: string = '';\r\n @Input() type: 'info' | 'success' | 'error' | 'warning' = 'info';\r\n @Input() body: TemplateRef<any> | undefined | null;\r\n @Input() footer: TemplateRef<any> | undefined | null;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n getAlertClass(): string {\r\n return `alert-${this.type}`;\r\n }\r\n\r\n getAlertIcon(): string {\r\n let icon = '';\r\n if (this.type === 'info') {\r\n icon = 'information-circle';\r\n } else if (this.type === 'success') {\r\n icon = 'check-circle';\r\n } else if (this.type === 'error') {\r\n icon = 'x-circle';\r\n } else if (this.type === 'warning') {\r\n icon = 'exclamation';\r\n }\r\n return icon;\r\n }\r\n}\r\n","<div [className]=\"'alert alert-' + type\">\r\n\r\n <div>\r\n <div class=\"alert-icon\">\r\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\r\n </div>\r\n\r\n <div class=\"alert-title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n </div>\r\n\r\n <div class=\"alert-body\" *ngIf=\"body\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n\r\n <div class=\"alert-footer\" *ngIf=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\r\n </div>\r\n\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'mzPhoneNumber',\r\n standalone: true,\r\n})\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n\r\n transform(number?: string): string | null {\r\n if (!number) {\r\n return null;\r\n }\r\n\r\n const phoneNumber = number.replace(/^\\+1/, '').replace(/\\D/g, '');\r\n if (phoneNumber.length === 10) {\r\n return phoneNumber.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3');\r\n }\r\n return number;\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'mzDateDisplay',\r\n standalone: true,\r\n})\r\nexport class DateDisplayPipe implements PipeTransform {\r\n constructor(private datePipe: DatePipe) {}\r\n\r\n transform(value: Date | string, format: string): string | null {\r\n let redefinedDate;\r\n if (format === 'concise') {\r\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');\r\n } else if(format === 'detailed') {\r\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy h:mm:ss a');\r\n } else {\r\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');\r\n }\r\n return redefinedDate;\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { SortEvent } from './models/sort-event';\r\n\r\n@Directive({\r\n selector: '[mzSort]',\r\n standalone: true,\r\n})\r\nexport class SortDirective implements OnChanges {\r\n\r\n @Output() sort = new EventEmitter<SortEvent>();\r\n @Input('mzSort') set mzSort(value: string) {\r\n this._mzSort = value;\r\n this.setActiveHeaderSort();\r\n }\r\n\r\n mzSortOnChange$ = new BehaviorSubject<string>('');\r\n _mzSort!: string;\r\n active!: string;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(): any {\r\n this.mzSortOnChange$.next(this.active);\r\n }\r\n\r\n setActiveHeaderSort() {\r\n this.active = this._mzSort.includes('-') ? this._mzSort.slice(1) : this._mzSort;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { SortDirective } from './sort.directive';\r\n\r\n@Directive({\r\n selector: '[mzSortKey]',\r\n host: {\r\n 'role': 'button',\r\n '[attr.aria-sort]': 'getAriaSortAttribute()',\r\n '(click)': 'onClick()',\r\n },\r\n standalone: true,\r\n})\r\nexport class SortKeyDirective implements OnInit {\r\n @Input() mzSortKey!: string;\r\n order = 'asc';\r\n updatedSort = '';\r\n\r\n constructor(private sortable: SortDirective, private renderer: Renderer2, private hostElement: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.addSortClass();\r\n this.sortable.mzSortOnChange$.subscribe(() => {\r\n this.updatedSort = this.mzSortKey === this.sortable.active ? this.sortable._mzSort : this.mzSortKey;\r\n this.setOrder(this.updatedSort);\r\n\r\n if (this.isActive()) {\r\n this.addActiveClass();\r\n } else {\r\n this.removeActiveClass();\r\n }\r\n });\r\n }\r\n\r\n onClick($event: Event) {\r\n // remove active css classes\r\n this.removeActiveClass();\r\n\r\n // update current sort value (-order, order)\r\n this.updateSortKeyValue();\r\n\r\n // update parent directive active column and emit output\r\n this.updateActiveValue();\r\n\r\n // add arrow css clases\r\n this.addActiveClass();\r\n }\r\n\r\n getAriaSortAttribute() {\r\n if (!this.isActive()) {\r\n return 'none';\r\n }\r\n return this.order === 'asc' ? 'ascending' : 'descending';\r\n }\r\n\r\n private updateSortKeyValue() {\r\n if (this.isActive()) {\r\n this.updatedSort = this.order === 'desc' ? this.updatedSort.slice(1) : `-${this.updatedSort}`;\r\n } else {\r\n this.updatedSort = this.mzSortKey;\r\n }\r\n\r\n this.setOrder(this.updatedSort);\r\n }\r\n\r\n private updateActiveValue() {\r\n this.sortable.active = this.mzSortKey;\r\n this.sortable.sort.emit({ sort: this.updatedSort });\r\n }\r\n\r\n private addSortClass() {\r\n const spanElement = this.renderer.createElement('span');\r\n spanElement.classList.add(\"sort-icon\");\r\n this.renderer.appendChild(this.hostElement.nativeElement, spanElement);\r\n this.renderer.addClass(this.hostElement.nativeElement, 'sort-trigger');\r\n }\r\n\r\n private addActiveClass() {\r\n this.renderer.addClass(this.hostElement.nativeElement, this.order === 'asc' ? 'sort-ascending' : 'sort-descending');\r\n }\r\n\r\n private removeActiveClass() {\r\n this.renderer.removeClass(this.hostElement.nativeElement, 'sort-ascending');\r\n this.renderer.removeClass(this.hostElement.nativeElement, 'sort-descending');\r\n }\r\n\r\n private isActive() {\r\n return this.mzSortKey === this.sortable.active;\r\n }\r\n\r\n private setOrder(sort: string) {\r\n this.order = sort.includes('-') ? 'desc' : 'asc';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Subject } from '../models/subject';\r\n\r\n@Pipe({\r\n name: 'mzSubjectDisplay',\r\n standalone: true,\r\n})\r\nexport class SubjectDisplayPipe implements PipeTransform {\r\n transform(subject?: Subject): string {\r\n if (!subject) {\r\n return '';\r\n }\r\n return subject.givenName && subject.familyName ? `${subject.givenName} ${subject.familyName}` : subject.userPrincipalName;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[mzButton]',\r\n standalone: true,\r\n host: {\r\n role: 'button',\r\n '[attr.tabindex]': '0',\r\n '[attr.aria-disabled]': 'busy',\r\n },\r\n})\r\nexport class ButtonDirective implements OnChanges, OnDestroy {\r\n @Input()\r\n variant? = 'secondary';\r\n @Input()\r\n busy?: boolean = false;\r\n private svgContent = `\r\n <svg class=\"button-loading-spinner\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\r\n viewBox=\"0 0 24 24\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\">\r\n </circle>\r\n <path class=\"opacity-75\" fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\r\n </path>\r\n </svg>\r\n `;\r\n private subscription = new Subscription();\r\n\r\n constructor(private renderer: Renderer2, private hostElement: ElementRef) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['busy'] && Boolean(changes['busy'].previousValue) !== Boolean(changes['busy'].currentValue)) {\r\n this.attachOrDeattachSpinner();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n\r\n @HostBinding('class')\r\n get elementClass(): string {\r\n return ['button', `button-${this.variant}`, this.busy ? 'loading' : ''].join(' ');\r\n }\r\n\r\n attachOrDeattachSpinner() {\r\n if (this.busy) {\r\n const loadingElement = this.renderer.createElement('div');\r\n loadingElement.innerHTML = this.svgContent;\r\n this.renderer.addClass(loadingElement, 'button-loading-overlay');\r\n this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);\r\n this.addEventSubscription();\r\n } else {\r\n this.renderer.removeChild(this.hostElement.nativeElement, this.getOverlayDiv());\r\n this.subscription?.unsubscribe();\r\n }\r\n }\r\n\r\n private addEventSubscription() {\r\n const el = this.hostElement.nativeElement;\r\n this.subscription = fromEvent(el.parentNode, 'click', { capture: true })\r\n .pipe(filter((e: any) => Boolean(this.busy && this.getElementsToVerify().includes(e.target))))\r\n .subscribe((e: any) => {\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n private getChildElement(query: string) {\r\n return this.hostElement.nativeElement.querySelector(query);\r\n }\r\n\r\n private getElementsToVerify() {\r\n return [this.hostElement.nativeElement, this.getOverlayDiv(), this.getChildElement('.button-loading-overlay'), this.getChildElement('.button-loading-overlay svg'), this.getChildElement('.button-loading-overlay svg circle'), this.getChildElement('.button-loading-overlay svg path')];\r\n }\r\n\r\n private getOverlayDiv() {\r\n return this.getChildElement('.button-loading-overlay');\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { SubSink } from 'subsink';\r\nimport { WizardStepLink } from '../models/wizard-step-link';\r\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\r\n\r\n@Component({\r\n selector: 'mz-wizard-progress-tracker',\r\n templateUrl: './wizard-progress-tracker.component.html',\r\n styleUrls: ['./wizard-progress-tracker.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, SvgIconComponent]\r\n})\r\nexport class WizardProgressTrackerComponent {\r\n @Input() steps: WizardStepLink[] = [];\r\n @Input() currentStep = 0;\r\n @Output() stepChange = new EventEmitter<WizardStepLink>();\r\n toggled = true;\r\n subs = new SubSink();\r\n\r\n goToStep(step: WizardStepLink) {\r\n this.stepChange.emit(step);\r\n }\r\n\r\n toggle(): void {\r\n this.toggled = !this.toggled;\r\n }\r\n}\r\n","<div class=\"wizard-progress-tracker\">\r\n <div class=\"direction-container\">\r\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\r\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\r\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\r\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\r\n <ng-container>\r\n <div class=\"wizard-step-icon-container\">\r\n <div class=\"spacer left\">\r\n </div>\r\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\r\n\r\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\r\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\r\n </mz-svg-icon>\r\n </div>\r\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\r\n <div class=\"step-inner-circle\"></div>\r\n </div>\r\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\r\n </div>\r\n\r\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\r\n <div class=\"spacer right\"></div>\r\n </div>\r\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\r\n step.name\r\n }}</a>\r\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div class=\"toggable-icon\">\r\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\r\n </button>\r\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { TimeValue } from './time-value';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mz-datetime',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DateTimeComponent),\r\n multi: true,\r\n },\r\n ],\r\n imports: [CommonModule, MatDatepickerModule],\r\n standalone: true,\r\n})\r\nexport class DateTimeComponent implements ControlValueAccessor {\r\n date: Date | undefined;\r\n time: string | undefined;\r\n\r\n private lz = (n: number) => ('0' + n).slice(-2);\r\n private formatDate = (dt: Date) => `${dt.getMonth() + 1}/${dt.getDate()}/${dt.getFullYear()}`;\r\n private formatTime = (t: Date) => `${this.lz(t.getHours())}:${this.lz(t.getMinutes())}`;\r\n private formatDateTime = (dt: Date, t: string) => `${this.formatDate(dt)} ${t}`;\r\n private limitDate = (dt: Date) => {\r\n if (this.min) {\r\n dt = new Date(Math.max(dt.getTime(), this.min.getTime()));\r\n }\r\n\r\n if (this.max) {\r\n dt = new Date(Math.min(dt.getTime(), this.max.getTime()));\r\n }\r\n\r\n return dt;\r\n };\r\n private onTimeHourPending = false; \r\n\r\n type = 'outline';\r\n @ViewChild('datePicker') datepicker!: MatDatepicker<Date>;\r\n\r\n @Input()\r\n min?: Date | undefined;\r\n\r\n @Input()\r\n max?: Date | undefined;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n constructor(private _cd: ChangeDetectorRef) {}\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value: Date) {\r\n if (value) {\r\n const dt = new Date(value);\r\n\r\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\r\n this.time = this.formatTime(value);\r\n } else {\r\n this.date = undefined;\r\n this.time = undefined;\r\n }\r\n\r\n this._cd.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n updateDate(e: Event): void {\r\n const input = e.target as HTMLInputElement;\r\n\r\n let dt = new Date(input.value);\r\n\r\n if (!isNaN(dt.getTime())) {\r\n dt = this.limitDate(dt);\r\n\r\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\r\n\r\n if (this.time === undefined || this.time === '') {\r\n this.time = this.formatTime(new Date());\r\n }\r\n } else {\r\n this.date = undefined;\r\n this.time = undefined;\r\n }\r\n\r\n this.propagateModelChange();\r\n this._cd.markForCheck();\r\n }\r\n\r\n updateTime(e: Event): void {\r\n const input = e.target as HTMLInputElement;\r\n\r\n // this is just a listener event in case the end user types in \"0\". We wait for\r\n // the next entered value for the time input field to self fix the problem.\r\n if (!this.onTimeHourPending && !input.value) {\r\n this.onTimeHourPending = true;\r\n return;\r\n }\r\n\r\n this.onTimeHourPending = false;\r\n\r\n if (!input.value) {\r\n this.date = undefined;\r\n } else if (!this.date || isNaN(this.date.getTime())) {\r\n const dt = this.limitDate(this.min ?? new Date());\r\n\r\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\r\n }\r\n this.time = input.value;\r\n\r\n this.propagateModelChange();\r\n }\r\n\r\n updateDateEvent(event: MatDatepickerInputEvent<Date>) {\r\n if (event.value) {\r\n const dt = this.limitDate(new Date(event.value));\r\n\r\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\r\n\r\n if (this.time === undefined || this.time === '') {\r\n this.time = this.formatTime(new Date());\r\n }\r\n } else {\r\n this.date = undefined;\r\n this.time = undefined;\r\n }\r\n\r\n this.propagateModelChange();\r\n this._cd.markForCheck();\r\n }\r\n\r\n focusOnDateInput() {\r\n this.datepicker.open();\r\n }\r\n\r\n private propagateModelChange(): void {\r\n if (this.time && this.date) {\r\n const dateString = this.formatDateTime(this.date, this.time);\r\n this.onChange(new Date(dateString));\r\n } else {\r\n this.onChange(undefined);\r\n }\r\n }\r\n}\r\n\r\nexport interface ScheduleInputModel {\r\n time: TimeValue;\r\n}\r\n","<div class=\"flex\">\r\n <div class=\"field-control-combo\">\r\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\r\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\r\n <div class=\"field-control-addon\">\r\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\r\n [disabled]=\"disabled\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\r\n stroke-width=\"2\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\r\n </svg>\r\n </button>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n </div>\r\n </div>\r\n <div class=\"field-control-group mt-1 ml-6\">\r\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\r\n ngDefaultControl [disabled]=\"disabled\">\r\n </div>\r\n</div>\r\n","import { DialogModule, DIALOG_DATA } from '@angular/cdk/dialog';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, Inject, OnInit, TemplateRef } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'mz-inline-message-dialog',\r\n templateUrl: './inline-message-dialog.component.html',\r\n styleUrls: ['./inline-message-dialog.component.scss'],\r\n imports: [MatCommonModule, CommonModule, RouterModule, DialogModule],\r\n standalone: true,\r\n})\r\nexport class InlineMessageDialogComponent implements OnInit {\r\n body: TemplateRef<any> | undefined | null;\r\n\r\n constructor(@Inject(DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit() {\r\n this.body = this.data.body;\r\n }\r\n\r\n}","<div class=\"body\" *ngIf=\"body\">\r\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\r\n</div>","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { Dialog, DialogModule } from '@angular/cdk/dialog';\r\nimport { InlineMessageDialogComponent } from './inline-message-dialog/inline-message-dialog.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'mz-inline-message',\r\n templateUrl: './inline-message.component.html',\r\n styleUrls: ['./inline-message.component.scss'],\r\n imports: [MatCommonModule, CommonModule, RouterModule, DialogModule],\r\n standalone: true,\r\n})\r\nexport class InlineMessageComponent {\r\n @Input() body: TemplateRef<any> | undefined | null;\r\n\r\n constructor(public dialog: Dialog) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n openDialog() {\r\n this.dialog.open(InlineMessageDialogComponent, {\r\n minWidth: '300px',\r\n data: {\r\n body: this.body,\r\n },\r\n });\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\r\n</div>","import { Directive } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: 'input[type=time]',\r\n providers: [{\r\n provide: NG_VALIDATORS,\r\n useExisting: TimeValueValidatorDirective,\r\n multi: true\r\n }],\r\n standalone: true,\r\n})\r\nexport class TimeValueValidatorDirective implements Validator {\r\n\r\n constructor() { }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n const value = control.value;\r\n if (value == null || value.length == 0) {\r\n return null;\r\n }\r\n\r\n /*\r\n const parts = value.split(':');\r\n if (parts.length != 2) {\r\n return { \"time\": \"invalid time\" };\r\n }*/\r\n\r\n return null;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { SpinnerComponent } from '../spinner/spinner.component';\r\n\r\n@Component({\r\n selector: 'mz-infinite-scroll',\r\n standalone: true,\r\n imports: [CommonModule, SpinnerComponent],\r\n templateUrl: './infinite-scroll.component.html',\r\n styleUrls: ['./infinite-scroll.component.scss'],\r\n})\r\nexport class InfiniteScrollComponent {\r\n @Input() items: any[] = [];\r\n @Input() isLoading: boolean = false;\r\n @Input() containerHeight: string = '24rem';\r\n @Output() itemSelected = new EventEmitter<any>();\r\n @Output() loadMore = new EventEmitter<boolean>();\r\n @ContentChild('itemTemplate') itemTemplate!: TemplateRef<any>; \r\n selectedItem: any = null;\r\n\r\n onContainerScroll(event: any): void {\r\n const target = event.target;\r\n if (!this.isLoading && target.offsetHeight + target.scrollTop >= target.scrollHeight) {\r\n this.loadMore.emit(true);\r\n }\r\n }\r\n\r\n onItemClick(item: any): void {\r\n this.selectedItem = item;\r\n this.itemSelected.emit(item);\r\n }\r\n}\r\n","<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\r\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultItems>\r\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\r\n {{ item.label }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Spinner -->\r\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\r\n <mz-spinner size=\"medium\"></mz-spinner>\r\n </div>\r\n</div>\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SpinnerComponent } from './spinner/spinner.component';\r\nimport { EnumDisplayPipe } from './enum-display/enum-display.pipe';\r\nimport { SvgIconComponent } from './svg-icon/svg-icon.component';\r\nimport { ResultTableComponent } from './result-table/result-table.component';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { PageLoadingIndicatorComponent } from './page-loading-indicator/page-loading-indicator.component';\r\nimport { PageHeaderComponent } from './page-header/page-header.component';\r\nimport { TimeValueAccessorDirective } from './time-value-accessor.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AlertComponent } from './alert/alert.component';\r\nimport { PhoneNumberPipe } from './phone-number/phone-number.pipe';\r\nimport { DateDisplayPipe } from './date-display/date-display.pipe';\r\nimport { SortDirective } from './sort.directive';\r\nimport { SortKeyDirective } from './sort-key.directive';\r\nimport { SubjectDisplayPipe } from './subject-display/subject-display.pipe';\r\nimport { ButtonDirective } from './button.directive';\r\nimport { WizardProgressTrackerComponent } from './wizard-progress-tracker/wizard-progress-tracker.component';\r\nimport { DateTimeComponent } from './date-time/date-time.component';\r\nimport { InlineMessageComponent } from './inline-message/inline-message.component';\r\nimport { InlineMessageDialogComponent } from './inline-message/inline-message-dialog/inline-message-dialog.component';\r\nimport { TimeValueValidatorDirective } from './time-value-validator.directive';\r\nimport { InfiniteScrollComponent } from './infinite-scroll/infinite-scroll.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonDirective,\r\n SvgIconComponent,\r\n SpinnerComponent,\r\n WizardProgressTrackerComponent,\r\n AlertComponent,\r\n EnumDisplayPipe,\r\n ResultTableComponent,\r\n InfiniteScrollComponent,\r\n PaginationComponent,\r\n PageLoadingIndicatorComponent,\r\n PageHeaderComponent,\r\n TimeValueAccessorDirective,\r\n DateDisplayPipe,\r\n PhoneNumberPipe,\r\n SortKeyDirective,\r\n SortDirective,\r\n SubjectDisplayPipe,\r\n DateTimeComponent,\r\n InlineMessageComponent,\r\n InlineMessageDialogComponent,\r\n TimeValueValidatorDirective,\r\n ],\r\n exports: [\r\n EnumDisplayPipe,\r\n SpinnerComponent,\r\n SvgIconComponent,\r\n ResultTableComponent,\r\n InfiniteScrollComponent,\r\n PaginationComponent,\r\n PageLoadingIndicatorComponent,\r\n PageHeaderComponent,\r\n TimeValueAccessorDirective,\r\n DateDisplayPipe,\r\n AlertComponent,\r\n PhoneNumberPipe,\r\n SortKeyDirective,\r\n SortDirective,\r\n SubjectDisplayPipe,\r\n ButtonDirective,\r\n WizardProgressTrackerComponent,\r\n DateTimeComponent,\r\n InlineMessageComponent,\r\n InlineMessageDialogComponent,\r\n TimeValueValidatorDirective,\r\n ],\r\n providers: [\r\n DatePipe,\r\n ]\r\n})\r\nexport class MuziehComponentsModule { }\r\n","export abstract class MuziehComponentHarness<T> {}\r\n","import { DebugElement } from '@angular/core';\r\nimport { By } from '@angular/platform-browser';\r\nimport { ResultTableComponent } from '../result-table/result-table.component';\r\nimport { ResultTableModel } from '../result-table/result-table.model';\r\nimport { MuziehComponentHarness } from './muzieh-component-harness';\r\n\r\nexport class ResultTableHarness extends MuziehComponentHarness<ResultTableComponent> {\r\n private refreshContainerEvent: () => DebugElement;\r\n\r\n private get resultTableDebugElement() {\r\n const containerDebugElement = this.refreshContainerEvent();\r\n if (!containerDebugElement) {\r\n throw new Error('Invalid container debug element');\r\n }\r\n // we need this to default to the container if null for testing the original component\r\n const resultTableDebugElement = containerDebugElement.query(By.directive(ResultTableComponent)) || containerDebugElement;\r\n if (!resultTableDebugElement) {\r\n throw new Error('Invalid result table debug element');\r\n }\r\n return resultTableDebugElement;\r\n }\r\n\r\n get resultTableComponentInstance(): ResultTableComponent {\r\n return this.evaluateComponentInstance(this.resultTableDebugElement);\r\n }\r\n\r\n constructor(refreshContainerEvent: () => DebugElement) {\r\n super();\r\n this.refreshContainerEvent = refreshContainerEvent;\r\n }\r\n\r\n getHeaderColumns() {\r\n return this.resultTableDebugElement.queryAll(By.css('thead tr th')).map((td) => (td.nativeElement as HTMLTableCellElement).textContent?.trim());\r\n }\r\n\r\n getRenderedResults() {\r\n const contentDebugElement = this.resultTableDebugElement;\r\n const componentInstance = this.evaluateComponentInstance(contentDebugElement);\r\n const results = contentDebugElement.queryAll(By.css('tbody tr')).map((el) => el.queryAll(By.css('td')).map((td) => (td.nativeElement as HTMLTableCellElement).textContent?.trim()));\r\n const { page, pageSize, totalResults: total } = componentInstance.model as ResultTableModel<unknown>;\r\n\r\n return {\r\n results,\r\n page,\r\n pageSize,\r\n total,\r\n };\r\n }\r\n\r\n getResultsHeaderSummary() {\r\n const headerCaptionDebugElement = this.resultTableDebugElement.query(By.css('table caption'));\r\n if (!headerCaptionDebugElement) {\r\n throw new Error('DebugElement not found');\r\n }\r\n return (headerCaptionDebugElement.nativeElement as HTMLTableCaptionElement).textContent?.trim();\r\n }\r\n\r\n hasErrorMessage() {\r\n return this.resultTableDebugElement.queryAll(By.css('.state-message .title .text-danger')).length > 0;\r\n }\r\n\r\n hasNoResultsMessage() {\r\n const errorDebugElement = this.resultTableDebugElement.query(By.css('.state-message .title'));\r\n if (!errorDebugElement) {\r\n throw new Error('DebugElement not found');\r\n }\r\n return (errorDebugElement.nativeElement as HTMLDivElement).textContent?.trim() === 'No results found';\r\n }\r\n\r\n hasPaginationAvailable() {\r\n return this.resultTableDebugElement.queryAll(By.css('.table-pagination')).length > 0;\r\n }\r\n\r\n hasResultsHeaderSummary() {\r\n return this.resultTableDebugElement.queryAll(By.css('table caption')).length > 0;\r\n }\r\n\r\n private evaluateComponentInstance(container: DebugElement): ResultTableComponent {\r\n return container.componentInstance as ResultTableComponent;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of components\r\n */\r\n\r\nexport { SvgIconComponent } from './lib/svg-icon/svg-icon.component';\r\nexport { SvgIconOptions, SVG_ICON_DEFAULT_OPTIONS } from './lib/svg-icon/svg-icon-config';\r\n\r\nexport { EnumDisplayPipe } from './lib/enum-display/enum-display.pipe';\r\nexport { SpinnerComponent } from './lib/spinner/spinner.component';\r\n\r\nexport { MuziehComponentsModule } from './lib/components.module';\r\nexport { PageLoadingIndicatorComponent } from './lib/page-loading-indicator/page-loading-indicator.component';\r\nexport { PageHeaderComponent } from './lib/page-header/page-header.component';\r\nexport { PhoneNumberPipe } from './lib/phone-number/phone-number.pipe';\r\nexport { DateDisplayPipe } from './lib/date-display/date-display.pipe';\r\n\r\n// subject\r\nexport { SubjectDisplayPipe } from './lib/subject-display/subject-display.pipe';\r\nexport { Subject } from './lib/models/subject';\r\n\r\n// table\r\nexport { ResultTableComponent } from './lib/result-table/result-table.component';\r\nexport { PaginationComponent } from './lib/pagination/pagination.component';\r\nexport { PageEvent } from './lib/models/page-event';\r\nexport { LoadingState } from './lib/models/loading-state';\r\nexport { ResultTableModel } from './lib/result-table/result-table.model';\r\n\r\n// infinite scroll\r\nexport { InfiniteScrollComponent } from './lib/infinite-scroll/infinite-scroll.component';\r\n\r\n// Datetime\r\nexport { DateTimeComponent } from './lib/date-time/date-time.component';\r\nexport { TimeValue } from './lib/date-time/time-value';\r\nexport { TimeValueAccessorDirective } from './lib/time-value-accessor.directive';\r\nexport { TimeValueValidatorDirective } from './lib/time-value-validator.directive';\r\n\r\n// testing files\r\nexport { MuziehComponentHarness } from './lib/testing/muzieh-component-harness';\r\nexport { ResultTableHarness } from './lib/testing/result-table-harness';\r\n\r\n// alert\r\nexport { AlertComponent } from './lib/alert/alert.component';\r\n\r\n// sort\r\nexport { SortKeyDirective } from './lib/sort-key.directive';\r\nexport { SortDirective } from './lib/sort.directive';\r\nexport { ButtonDirective } from './lib/button.directive';\r\n\r\nexport { WizardStepLink } from './lib/models/wizard-step-link';\r\nexport { WizardProgressTrackerComponent } from './lib/wizard-progress-tracker/wizard-progress-tracker.component';\r\nexport { InlineMessageComponent } from './lib/inline-message/inline-message.component';\r\nexport { InlineMessageDialogComponent } from './lib/inline-message/inline-message-dialog/inline-message-dialog.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.SortDirective"],"mappings":";;;;;;;;;;;;;;;;;;MAMa,wBAAwB,GAAG,IAAI,cAAc,CAAiB,kBAAkB;;MCIhF,gBAAgB,CAAA;AAM3B,IAAA,WAAA,CAAiE,MAAsB,EAAA;QAAtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAJ9E,IAAI,CAAA,IAAA,GAAiC,SAAS,CAAC;QAC/C,IAAI,CAAA,IAAA,GAAW,QAAQ,CAAC;QAI/B,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,oBAAoB,IAAI,8BAA8B,CAAC;KAC/E;AAED,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,IAAG,IAAI,CAAC,IAAI,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;SACxD;QAED,OAAO,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;KACtC;AAhBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAMK,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAN7C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,2HCV7B,8JAEM,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDQO,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,aAAa,EAAA,UAAA,EAGX,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,8JAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA;;0BAQE,QAAQ;;0BAAI,MAAM;2BAAC,wBAAwB,CAAA;yCAL/C,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEPK,eAAe,CAAA;AACxB,IAAA,SAAS,CAAC,KAAa,EAAA;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;SACb;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAa,EAAE,CAAC;AAC3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;;;;gBAIhD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxF,SAAS,GAAG,CAAC,CAAC;aACjB;SACJ;AACD,QAAA,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE;;;;;YAK5B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;SACjH;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;;;AAIO,IAAA,sBAAsB,CAAC,KAAa,EAAA;AACxC,QAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA,EAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAG,EAAA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAA,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;KACjH;8GArCQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;MCKY,gBAAgB,CAAA;AAI3B,IAAA,WAAA,GAAA;QAFS,IAAI,CAAA,IAAA,GAAuB,QAAQ,CAAC;AACpC,QAAA,IAAA,CAAA,IAAI,GAA0B,SAAS,CAAC;KAChC;8GAJN,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV7B,2pBAQM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,2pBAAA,EAAA,CAAA;wDAId,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEVD,MAAM,0BAA0B,GAAG,IAAI,cAAc,CAA2B,kCAAkC,CAAC;;MCW7G,mBAAmB,CAAA;AAU9B,IAAA,WAAA,CAA4D,iBAA2C,EAAA;QAR9F,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;QACnB,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AAET,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAa,CAAC;QAG5D,IAAK,CAAA,KAAA,GAAa,EAAE,CAAC;QACrB,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;QAElB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,EAAE,QAAQ,IAAI,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,eAAe,GAAG,iBAAiB,EAAE,eAAe,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAE7E,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzD;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzD;AAED,IAAA,UAAU,CAAC,CAAS,EAAA;AAClB,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KACjB;AAED,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAC/B,QAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE;YACtE,OAAO;SACR;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAe,CAAC,CAAA;KAC/E;AAED,IAAA,cAAc,CAAC,QAAgB,EAAA;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,OAAO;SACR;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAe,CAAC,CAAC;KAC5E;AAEO,IAAA,WAAW,CAAC,WAAmB,EAAE,aAAqB,EAAE,eAAuB,EAAA;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,WAAW,GAAa,EAAE,CAAC;AAC/B,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,SAAS,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,OAAO;SACR;AAED,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;AACzC,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;AAC/C,QAAA,IAAI,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5B,QAAA,IAAI,KAAK,GAAG,GAAG,EAAE;AACf,YAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;SAChD;AACD,QAAA,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,KAAK,GAAG,GAAG,EAAE;AACf,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;SAC5C;AAED,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;AAED,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5B;AAED,QAAA,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACjC;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;KAC1B;AA5EU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAUE,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAV/C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,ECdhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,22CAwBM,EDbM,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8VAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG7B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,WAGhB,CAAC,YAAY,EAAE,gBAAgB,CAAC,cAC7B,IAAI,EAAA,QAAA,EAAA,22CAAA,EAAA,CAAA;;0BAYH,QAAQ;;0BAAI,MAAM;2BAAC,0BAA0B,CAAA;yCARjD,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACW,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBAEE,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;MELK,oBAAoB,CAAA;AAS7B,IAAA,WAAA,GAAA;QARgB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAKzB,QAAA,IAAA,CAAA,OAAO,GAAuB,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACvD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAa,CAAC;KAE5C;IAEhB,UAAU,CAAC,IAAe,EAAE,KAAkB,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,UAAU,CAAC,MAAK;AACZ,YAAA,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;KAC/F;AAED,IAAA,IAAW,KAAK,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,OAAO,SAAS,CAAC;SACpB;AACD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,OAAO,QAAQ,CAAC;SACnB;AAED,QAAA,OAAO,WAAW,CAAC;KACtB;8GA/BQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBjC,+8DAkCA,EDrBc,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qgBAAE,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGtE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAGlB,CAAC,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAA,UAAA,EACpE,IAAI,EAAA,QAAA,EAAA,+8DAAA,EAAA,CAAA;wDAGA,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACW,UAAU,EAAA,CAAA;sBAA1B,MAAM;;;METE,6BAA6B,CAAA;AAKtC,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAJzB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QACpC,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC;AACxB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;KAES;IAEtC,QAAQ,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,aAAa,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,YAAY,eAAe,CAAC,CAC7G,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACT,IAAI,CACA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,eAAe,CAAC,EAC3C,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CACvC,EACD,OAAO,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,CAAC,YAAY,eAAe,CAAC,CAC5F,CAAC;;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;KACjE;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;8GA3BQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd1C,uMAIM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGb,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAG5B,OAAA,EAAA,CAAC,YAAY,CAAC,cACX,IAAI,EAAA,QAAA,EAAA,uMAAA,EAAA,CAAA;6EAGP,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MENG,mBAAmB,CAAA;AAG5B,IAAA,WAAA,CAAoB,KAAY,EAAA;QAAZ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QAFxB,IAAc,CAAA,cAAA,GAAG,eAAe,CAAC;KAEL;AAEpC,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAED,IAAa,SAAS,CAAC,QAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACjC;AAED,IAAA,QAAQ,MAAW;8GAdV,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,8GCThC,8GAGS,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMI,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAGd,IAAI,EAAA,QAAA,EAAA,8GAAA,EAAA,CAAA;4EAWH,SAAS,EAAA,CAAA;sBAArB,KAAK;;;AEdV;MAWa,0BAA0B,CAAA;IAKrC,WAAoB,CAAA,QAAmB,EAAU,UAAsB,EAAA;QAAnD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAAU,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFvE,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAI,CAAC;AAC3B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAI,CAAC;KAGrB;AAED,IAAA,UAAU,CAAC,GAAe,EAAA;QACxB,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACxE,OAAO;SACR;AACD,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;AAC5C,QAAA,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,CAAG,EAAA,UAAU,CAAG,EAAA,GAAG,CAAC,IAAI,CAAI,CAAA,EAAA,YAAY,CAAG,EAAA,GAAG,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;KAC5H;AAED,IAAA,gBAAgB,CAAC,EAAiC,EAAA;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAI;YACxB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,EAAE,CAAC,IAAI,CAAC,CAAC;aACV;iBAAM;gBACL,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAe,CAAC,CAAC;aACvE;AACH,SAAC,CAAC;KACH;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;8GAhCU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,kIAP1B,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,0BAA0B;AACvC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAGS,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA4B,0BAAA;AACvC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC;AACF,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;uGAIC,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;MCNnC,cAAc,CAAA;AAMvB,IAAA,WAAA,GAAA;QALS,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAI,CAAA,IAAA,GAA6C,MAAM,CAAC;KAIjD;AAEhB,IAAA,QAAQ,MAAW;IAEnB,aAAa,GAAA;AACT,QAAA,OAAO,CAAS,MAAA,EAAA,IAAI,CAAC,IAAI,EAAE,CAAC;KAC/B;IAED,YAAY,GAAA;QACR,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACtB,IAAI,GAAG,oBAAoB,CAAC;SAC/B;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,IAAI,GAAG,cAAc,CAAC;SACzB;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,IAAI,GAAG,UAAU,CAAC;SACrB;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,IAAI,GAAG,aAAa,CAAC;SACxB;AACD,QAAA,OAAO,IAAI,CAAC;KACf;8GA1BQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,ECX3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kjBAoBM,EDZQ,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,0SAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG/B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WAGX,CAAC,YAAY,EAAE,gBAAgB,CAAC,cAC7B,IAAI,EAAA,QAAA,EAAA,kjBAAA,EAAA,CAAA;wDAGP,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;METG,eAAe,CAAA;AAE1B,IAAA,SAAS,CAAC,MAAe,EAAA;QACnB,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;SACf;AAED,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAClE,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE;YAC3B,OAAO,WAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;SACrE;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;8GAZQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCEY,eAAe,CAAA;AACxB,IAAA,WAAA,CAAoB,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAE1C,SAAS,CAAC,KAAoB,EAAE,MAAc,EAAA;AAC1C,QAAA,IAAI,aAAa,CAAC;AAClB,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SAChE;AAAM,aAAA,IAAG,MAAM,KAAK,UAAU,EAAE;YAC7B,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;SAC1E;aAAM;YACL,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SAC9D;AACD,QAAA,OAAO,aAAa,CAAC;KACxB;8GAbQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;MCEY,aAAa,CAAA;IAGtB,IAAqB,MAAM,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC9B;AAMD,IAAA,WAAA,GAAA;AAVU,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAa,CAAC;AAM/C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;KAIlC;IAEhB,WAAW,GAAA;QACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1C;IAED,mBAAmB,GAAA;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;KACnF;8GApBQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAGa,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACc,MAAM,EAAA,CAAA;sBAA1B,KAAK;uBAAC,QAAQ,CAAA;;;MCCN,gBAAgB,CAAA;AAKzB,IAAA,WAAA,CAAoB,QAAuB,EAAU,QAAmB,EAAU,WAAuB,EAAA;QAArF,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAe;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAHzG,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QACd,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;KAE4F;IAE7G,QAAQ,GAAA;QACJ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAK;YACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;AACpG,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEhC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,OAAO,CAAC,MAAa,EAAA;;QAEjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;;QAGzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;;QAG1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;;QAGzB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,oBAAoB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAClB,YAAA,OAAO,MAAM,CAAC;SACjB;AACD,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC;KAC5D;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAA,CAAE,CAAC;SACjG;aAAM;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;SACrC;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnC;IAEO,iBAAiB,GAAA;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KACvD;IAEO,YAAY,GAAA;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACxD,QAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;KAC1E;IAEO,cAAc,GAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;KACvH;IAEO,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;KAChF;IAEO,QAAQ,GAAA;QACZ,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;KAClD;AAEO,IAAA,QAAQ,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;KACpD;8GA/EQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE;AACF,wBAAA,MAAM,EAAE,QAAQ;AAChB,wBAAA,kBAAkB,EAAE,wBAAwB;AAC5C,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;gIAEY,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MCNG,kBAAkB,CAAA;AAC3B,IAAA,SAAS,CAAC,OAAiB,EAAA;QACvB,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,OAAO,EAAE,CAAC;SACb;QACD,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,GAAG,CAAG,EAAA,OAAO,CAAC,SAAS,CAAA,CAAA,EAAI,OAAO,CAAC,UAAU,CAAA,CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;KAC7H;8GANQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,kBAAkB;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCOY,eAAe,CAAA;IAiBxB,WAAoB,CAAA,QAAmB,EAAU,WAAuB,EAAA;QAApD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAfxE,IAAO,CAAA,OAAA,GAAI,WAAW,CAAC;QAEvB,IAAI,CAAA,IAAA,GAAa,KAAK,CAAC;AACf,QAAA,IAAA,CAAA,UAAU,GAAG,CAAA;;;;;;;;;KASpB,CAAC;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAEkC;AAE5E,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE;YACrG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAClC;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;KACpC;AAED,IAAA,IACI,YAAY,GAAA;QACZ,OAAO,CAAC,QAAQ,EAAE,CAAU,OAAA,EAAA,IAAI,CAAC,OAAO,CAAE,CAAA,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrF;IAED,uBAAuB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1D,YAAA,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC1E,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;aAAM;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;SACpC;KACJ;IAEO,oBAAoB,GAAA;AACxB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aACnE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7F,aAAA,SAAS,CAAC,CAAC,CAAM,KAAI;YAClB,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;KACV;AAEO,IAAA,eAAe,CAAC,KAAa,EAAA;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC9D;IAEO,mBAAmB,GAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,oCAAoC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,CAAC;KAC7R;IAEO,aAAa,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;KAC1D;8GAlEQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,GAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,iBAAiB,EAAE,GAAG;AACtB,wBAAA,sBAAsB,EAAE,MAAM;AACjC,qBAAA;AACJ,iBAAA,CAAA;uGAGG,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,IAAI,EAAA,CAAA;sBADH,KAAK;gBA2BF,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,OAAO,CAAA;;;MC7BX,8BAA8B,CAAA;AAP3C,IAAA,WAAA,GAAA;QAQW,IAAK,CAAA,KAAA,GAAqB,EAAE,CAAC;QAC7B,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AACf,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAkB,CAAC;QAC1D,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AACf,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;AAStB,KAAA;AAPC,IAAA,QAAQ,CAAC,IAAoB,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;KAChC;8GAbU,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,ECb3C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,o8EA6CA,EDlCY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8VAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,cAGzB,IAAI,EAAA,OAAA,EACR,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,o8EAAA,EAAA,CAAA;8BAGhC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEKI,iBAAiB,CAAA;AAiC1B,IAAA,WAAA,CAAoB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AA7BlC,QAAA,IAAA,CAAA,EAAE,GAAG,CAAC,CAAS,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAU,CAAA,UAAA,GAAG,CAAC,EAAQ,KAAK,CAAG,EAAA,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,EAAE,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,EAAE,CAAC,WAAW,EAAE,CAAA,CAAE,CAAC;QACtF,IAAU,CAAA,UAAA,GAAG,CAAC,CAAO,KAAK,CAAA,EAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA,CAAE,CAAC;AAChF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAQ,EAAE,CAAS,KAAK,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAI,CAAA,EAAA,CAAC,EAAE,CAAC;AACxE,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,EAAQ,KAAI;AAC7B,YAAA,IAAI,IAAI,CAAC,GAAG,EAAE;gBACV,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aAC7D;AAED,YAAA,IAAI,IAAI,CAAC,GAAG,EAAE;gBACV,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aAC7D;AAED,YAAA,OAAO,EAAE,CAAC;AACd,SAAC,CAAC;QACM,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC;QAUjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAIjB,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAG,CAAC;KAHyB;AAK9C,IAAA,UAAU,CAAC,KAAW,EAAA;QAClB,IAAI,KAAK,EAAE;AACP,YAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACtC;aAAM;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACzB;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;AAED,IAAA,gBAAgB,CAAC,EAAuB,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,UAAU,CAAC,CAAQ,EAAA;AACf,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAE3C,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE;AACtB,YAAA,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAExB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpE,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aAC3C;SACJ;aAAM;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACzB;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,CAAQ,EAAA;AACf,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;;;QAI3C,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACzC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO;SACV;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAE/B,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACzB;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;AACjD,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SACvE;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;AAED,IAAA,eAAe,CAAC,KAAoC,EAAA;AAChD,QAAA,IAAI,KAAK,CAAC,KAAK,EAAE;AACb,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAEjD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpE,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aAC3C;SACJ;aAAM;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACzB;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;IAEO,oBAAoB,GAAA;QACxB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SACvC;aAAM;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;KACJ;8GAvIQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAVf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBL,2qCAqBA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGlC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGZ,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,OAAA,EACQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,cAChC,IAAI,EAAA,QAAA,EAAA,2qCAAA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,CAAA;sFAwBS,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY,CAAA;gBAGvB,GAAG,EAAA,CAAA;sBADF,KAAK;gBAIN,GAAG,EAAA,CAAA;sBADF,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;;;MEtCG,4BAA4B,CAAA;AAGrC,IAAA,WAAA,CAAwC,IAAS,EAAA;QAAT,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;KAAK;IAEtD,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KAC9B;AAPQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAGjB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAHtB,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbzC,2GAEM,EDQQ,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BAAE,YAAY,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;+BACI,0BAA0B,EAAA,OAAA,EAG3B,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,EAAA,UAAA,EACxD,IAAI,EAAA,QAAA,EAAA,2GAAA,EAAA,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA,CAAA;;0BAKH,MAAM;2BAAC,WAAW,CAAA;;;MEFtB,sBAAsB,CAAA;AAG/B,IAAA,WAAA,CAAmB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAI;AAErC,IAAA,QAAQ,MAAW;IAEnB,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;AAC7C,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;8GAdM,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdnC,mIAEM,EDSQ,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACI,mBAAmB,EAAA,OAAA,EAGpB,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,EAAA,UAAA,EACxD,IAAI,EAAA,QAAA,EAAA,mIAAA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,CAAA;6EAGT,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEHK,2BAA2B,CAAA;AAEtC,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,QAAQ,CAAC,OAAwB,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACtC,YAAA,OAAO,IAAI,CAAC;SACb;AAED;;;;AAIG;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;8GAjBU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,+DAP3B,CAAC;AACV,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,2BAA2B;AACxC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAGS,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBATvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAA6B,2BAAA;AACxC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC;AACF,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCAY,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QAQa,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;QAClB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAC3B,IAAe,CAAA,eAAA,GAAW,OAAO,CAAC;AACjC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;QAEjD,IAAY,CAAA,YAAA,GAAQ,IAAI,CAAC;AAa5B,KAAA;AAXG,IAAA,iBAAiB,CAAC,KAAU,EAAA;AACxB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE;AAClF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;KACJ;AAED,IAAA,WAAW,CAAC,IAAS,EAAA;AACjB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;8GAnBQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,ECXpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,s1BAiBA,EDVc,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qgBAAE,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI/B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,s1BAAA,EAAA,CAAA;8BAKhC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACuB,YAAY,EAAA,CAAA;sBAAzC,YAAY;uBAAC,cAAc,CAAA;;;ME6DnB,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAnD/B,YAAY;YACZ,WAAW;YACX,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,8BAA8B;YAC9B,cAAc;YACd,eAAe;YACf,oBAAoB;YACpB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAC7B,mBAAmB;YACnB,0BAA0B;YAC1B,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,kBAAkB;YAClB,iBAAiB;YACjB,sBAAsB;YACtB,4BAA4B;AAC5B,YAAA,2BAA2B,aAG3B,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,oBAAoB;YACpB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAC7B,mBAAmB;YACnB,0BAA0B;YAC1B,eAAe;YACf,cAAc;YACd,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,kBAAkB;YAClB,eAAe;YACf,8BAA8B;YAC9B,iBAAiB;YACjB,sBAAsB;YACtB,4BAA4B;YAC5B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;AAMlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAJtB,SAAA,EAAA;YACT,QAAQ;AACT,SAAA,EAAA,OAAA,EAAA,CAjDC,YAAY;YACZ,WAAW;YAGX,gBAAgB;YAChB,8BAA8B;YAC9B,cAAc;YAEd,oBAAoB;YACpB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAQ7B,iBAAiB;YACjB,sBAAsB;YACtB,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FA8BnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArDlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,eAAe;wBACf,gBAAgB;wBAChB,gBAAgB;wBAChB,8BAA8B;wBAC9B,cAAc;wBACd,eAAe;wBACf,oBAAoB;wBACpB,uBAAuB;wBACvB,mBAAmB;wBACnB,6BAA6B;wBAC7B,mBAAmB;wBACnB,0BAA0B;wBAC1B,eAAe;wBACf,eAAe;wBACf,gBAAgB;wBAChB,aAAa;wBACb,kBAAkB;wBAClB,iBAAiB;wBACjB,sBAAsB;wBACtB,4BAA4B;wBAC5B,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,gBAAgB;wBAChB,gBAAgB;wBAChB,oBAAoB;wBACpB,uBAAuB;wBACvB,mBAAmB;wBACnB,6BAA6B;wBAC7B,mBAAmB;wBACnB,0BAA0B;wBAC1B,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,aAAa;wBACb,kBAAkB;wBAClB,eAAe;wBACf,8BAA8B;wBAC9B,iBAAiB;wBACjB,sBAAsB;wBACtB,4BAA4B;wBAC5B,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,QAAQ;AACT,qBAAA;AACF,iBAAA,CAAA;;;MC7EqB,sBAAsB,CAAA;AAAM;;ACM5C,MAAO,kBAAmB,SAAQ,sBAA4C,CAAA;AAGhF,IAAA,IAAY,uBAAuB,GAAA;AAC/B,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3D,IAAI,CAAC,qBAAqB,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACtD;;AAED,QAAA,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,IAAI,qBAAqB,CAAC;QACzH,IAAI,CAAC,uBAAuB,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACzD;AACD,QAAA,OAAO,uBAAuB,CAAC;KAClC;AAED,IAAA,IAAI,4BAA4B,GAAA;QAC5B,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACvE;AAED,IAAA,WAAA,CAAY,qBAAyC,EAAA;AACjD,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;KACtD;IAED,gBAAgB,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAM,EAAE,CAAC,aAAsC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;KACnJ;IAED,kBAAkB,GAAA;AACd,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAM,EAAE,CAAC,aAAsC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpL,QAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAkC,CAAC;QAErG,OAAO;YACH,OAAO;YACP,IAAI;YACJ,QAAQ;YACR,KAAK;SACR,CAAC;KACL;IAED,uBAAuB,GAAA;AACnB,QAAA,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,yBAAyB,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QACD,OAAQ,yBAAyB,CAAC,aAAyC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;KACnG;IAED,eAAe,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACzG;IAED,mBAAmB,GAAA;AACf,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,iBAAiB,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QACD,OAAQ,iBAAiB,CAAC,aAAgC,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,kBAAkB,CAAC;KACzG;IAED,sBAAsB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACxF;IAED,uBAAuB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACpF;AAEO,IAAA,yBAAyB,CAAC,SAAuB,EAAA;QACrD,OAAO,SAAS,CAAC,iBAAyC,CAAC;KAC9D;AACJ;;AChFD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"muziehdesign-components.mjs","sources":["../../../projects/components/src/lib/svg-icon/svg-icon-config.ts","../../../projects/components/src/lib/svg-icon/svg-icon.component.ts","../../../projects/components/src/lib/svg-icon/svg-icon.component.svg","../../../projects/components/src/lib/enum-display/enum-display.pipe.ts","../../../projects/components/src/lib/spinner/spinner.component.ts","../../../projects/components/src/lib/spinner/spinner.component.html","../../../projects/components/src/lib/pagination/pagination-default-options.token.ts","../../../projects/components/src/lib/pagination/pagination.component.ts","../../../projects/components/src/lib/pagination/pagination.component.html","../../../projects/components/src/lib/result-table/result-table.component.ts","../../../projects/components/src/lib/result-table/result-table.component.html","../../../projects/components/src/lib/page-loading-indicator/page-loading-indicator.component.ts","../../../projects/components/src/lib/page-loading-indicator/page-loading-indicator.component.html","../../../projects/components/src/lib/page-header/page-header.component.ts","../../../projects/components/src/lib/page-header/page-header.component.html","../../../projects/components/src/lib/time-value-accessor.directive.ts","../../../projects/components/src/lib/alert/alert.component.ts","../../../projects/components/src/lib/alert/alert.component.html","../../../projects/components/src/lib/phone-number/phone-number.pipe.ts","../../../projects/components/src/lib/date-display/date-display.pipe.ts","../../../projects/components/src/lib/sort.directive.ts","../../../projects/components/src/lib/sort-key.directive.ts","../../../projects/components/src/lib/subject-display/subject-display.pipe.ts","../../../projects/components/src/lib/button.directive.ts","../../../projects/components/src/lib/wizard-progress-tracker/wizard-progress-tracker.component.ts","../../../projects/components/src/lib/wizard-progress-tracker/wizard-progress-tracker.component.html","../../../projects/components/src/lib/date-time/date-time.component.ts","../../../projects/components/src/lib/date-time/date-time.component.html","../../../projects/components/src/lib/inline-message/inline-message-dialog/inline-message-dialog.component.ts","../../../projects/components/src/lib/inline-message/inline-message-dialog/inline-message-dialog.component.html","../../../projects/components/src/lib/inline-message/inline-message.component.ts","../../../projects/components/src/lib/inline-message/inline-message.component.html","../../../projects/components/src/lib/time-value-validator.directive.ts","../../../projects/components/src/lib/infinite-scroll/infinite-scroll.component.ts","../../../projects/components/src/lib/infinite-scroll/infinite-scroll.component.html","../../../projects/components/src/lib/components.module.ts","../../../projects/components/src/lib/inline-edit/inline-edit.component.ts","../../../projects/components/src/lib/inline-edit/inline-edit.component.html","../../../projects/components/src/lib/testing/muzieh-component-harness.ts","../../../projects/components/src/lib/testing/result-table-harness.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/muziehdesign-components.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport interface SvgIconOptions {\n svgIconDefinitionUrl: string;\n}\n\nexport const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken<SvgIconOptions>('MzSvgIconOptions', {\n providedIn: 'root',\n factory: ()=> {\n return {\n svgIconDefinitionUrl: './assets/icondefinitions.svg'\n } satisfies SvgIconOptions;\n }\n});","import { Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { SVG_ICON_DEFAULT_OPTIONS, SvgIconOptions } from './svg-icon-config';\n\n@Component({\n selector: 'mz-svg-icon',\n templateUrl: './svg-icon.component.svg',\n styleUrls: ['./svg-icon.component.scss'],\n standalone: true,\n imports: []\n})\nexport class SvgIconComponent {\n @Input() key!: string;\n @Input() type: 'outline' | 'solid' | string = 'outline';\n @Input() size: string = 'medium';\n fileUrl: string;\n \n constructor(@Inject(SVG_ICON_DEFAULT_OPTIONS) public config: SvgIconOptions) {\n this.fileUrl = config.svgIconDefinitionUrl;\n }\n\n get url(): string {\n if(this.type) {\n return this.fileUrl + '#' + this.key + '-' + this.type;\n }\n\n return this.fileUrl + '#' + this.key;\n }\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\n <use [attr.href]=\"url\" />\n</svg>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mzEnumDisplay',\n standalone: true,\n})\nexport class EnumDisplayPipe implements PipeTransform {\n\n \n transform(value?: string): string {\n return this.transformValue(value).join(' ');\n }\n\n private transformValue(value?: string): string[] {\n if (!value) {\n return [];\n }\n\n let wordIndex = 0;\n const words: string[] = [];\n for (let i = 0; i < value.length; i++) {\n if (value[i] !== value[i].toLowerCase() && i !== 0) {\n // includes the index -1\n // for example helloGoodbye => .substring(0, 5) => hello\n // and the index is reset to 5 (G)\n const word = value.substring(wordIndex, i);\n words.push(words.length === 0 ? this.firstLetterToUppercase(word) : word.toLowerCase());\n wordIndex = i;\n }\n }\n if (wordIndex !== value.length) {\n // continuing the example, we take it from the last index matched\n // (meaning the rest of the word that wasn't considered because no uppercase\n // values existed at the end of the sentence after the last index matched)\n // so it is converterd like this: helloGoodbye => .sustring(5) => goodbye\n const remainingString = value.substring(wordIndex);\n words.push(words.length === 0 ? this.firstLetterToUppercase(remainingString) : remainingString.toLowerCase());\n }\n return words;\n }\n\n // at this point we assume the string is at least > 0 length\n // just a converter method from: hello to Hello\n private firstLetterToUppercase(value: string): string {\n return value.length > 1 ? `${value.substring(0, 1).toUpperCase()}${value.substring(1)}` : value.toUpperCase();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mz-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.css'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class SpinnerComponent {\n\n @Input() size: 'medium' | 'large' = 'medium';\n @Input() type: 'default' | 'inverse' = 'default'; // TODO: inverse will not exist one day\n constructor() { }\n\n}\n","<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n</div>","import { InjectionToken } from \"@angular/core\";\nimport { PaginationDefaultOptions } from \"./pagination-default-options\";\n\nexport const PAGINATION_DEFAULT_OPTIONS = new InjectionToken<PaginationDefaultOptions>('MUZIEH_PAGINATION_DEFAULT_CONFIG');","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Optional, Output, SimpleChanges } from '@angular/core';\nimport { PageEvent } from '../models/page-event';\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\nimport { PaginationDefaultOptions } from './pagination-default-options';\nimport { PAGINATION_DEFAULT_OPTIONS } from './pagination-default-options.token';\n\n@Component({\n selector: 'mz-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.css'],\n imports: [CommonModule, SvgIconComponent],\n standalone: true,\n})\nexport class PaginationComponent implements OnChanges {\n\n @Input() length: number = 0;\n @Input() page: number = 1;\n @Input() pageSize: number;\n @Output() public changePage = new EventEmitter<PageEvent>();\n\n @Input() pageSizeOptions?: number[];\n pages: number[] = [];\n pageCount: number = 1;\n constructor(@Optional() @Inject(PAGINATION_DEFAULT_OPTIONS) paginationOptions: PaginationDefaultOptions) {\n this.pageSize = paginationOptions?.pageSize || 20;\n this.pageSizeOptions = paginationOptions?.pageSizeOptions || [20, 50, 100];\n\n this.updatePages(this.page, this.length, this.pageSize);\n }\n\n ngOnChanges(): void {\n this.updatePages(this.page, this.length, this.pageSize);\n }\n\n isEllipsis(v: number) {\n return v === -1;\n }\n\n changePageNumber(newValue: number) {\n if (newValue == this.page || newValue < 1 || newValue > this.pageCount) {\n return;\n }\n this.changePage.emit({ pageNumber: newValue, pageSize: this.pageSize } as PageEvent)\n }\n\n changePageSize(newValue: string) {\n if (Number(newValue) == this.pageSize) {\n return;\n }\n this.changePage.emit({ pageNumber: 1, pageSize: Number(newValue) } as PageEvent);\n }\n\n private updatePages(currentPage: number, lengthOfItems: number, currentPageSize: number) {\n const pageCount = Math.ceil(lengthOfItems / currentPageSize);\n this.pageCount = pageCount;\n let pageNumbers: number[] = [];\n const max = 7; // 3 items before and after current page\n\n if (pageCount <= max) {\n this.pages = [...Array(pageCount).keys()].map(i => i + 1);\n return;\n }\n\n let start = Math.max(1, currentPage - 3);\n let end = Math.min(pageCount, currentPage + 3);\n let range = end - start + 1;\n if (range < max) {\n end = Math.min(end + (max - range), pageCount);\n }\n range = end - start + 1;\n if (range < max) {\n start = Math.max(1, start - (max - range));\n }\n\n for (let x = start; x <= end; x++) {\n pageNumbers.push(x);\n }\n\n if (start != 1) {\n pageNumbers.splice(0, 2);\n pageNumbers.unshift(1, -1);\n }\n\n if (end != pageCount) {\n pageNumbers.splice(pageNumbers.length - 2);\n pageNumbers.push(-1, pageCount);\n }\n\n this.pages = pageNumbers;\n }\n}\n","<div class=\"pagination-wrapper\">\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\n <span class=\"sr-only\">Previous page</span>\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\n </button>\n <ng-container *ngFor=\"let p of pages\">\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\n </ng-container>\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\n <span class=\"sr-only\">Next page</span>\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\n </button>\n </nav>\n <div class=\"pagination-size\">\n Show\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\n [value]=\"size\">{{size}}</option>\n </select>\n per page\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { PageEvent } from '../models/page-event';\nimport { ResultTableOptions } from '../models/result-table-options';\nimport { PaginationComponent } from '../pagination/pagination.component';\nimport { SpinnerComponent } from '../spinner/spinner.component';\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\nimport { ResultTableModel } from './result-table.model';\n\n@Component({\n selector: 'mz-result-table',\n templateUrl: './result-table.component.html',\n styleUrls: ['./result-table.component.scss'],\n imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent],\n standalone: true,\n})\nexport class ResultTableComponent implements AfterViewInit {\n\n @Input() public loading: boolean = false;\n @Input() public error?: Error;\n @Input() public model: ResultTableModel<any> | undefined | null;\n\n @ContentChild('headerTemplate') headerTemplate!: TemplateRef<any>;\n @ContentChild('bodyTemplate') bodyTemplate!: TemplateRef<any>;\n\n @Input() pageSizeOptions?: number[];\n @Output() public pageChange = new EventEmitter<PageEvent>();\n\n @Input() public options: ResultTableOptions = { hidePagination: false, skipScrolling: false };\n\n constructor() {}\n\n ngAfterViewInit(): void {\n\n }\n\n changePage(page: PageEvent, table: HTMLElement) {\n this.pageChange.emit(page);\n if(!this.options.skipScrolling) {\n setTimeout(() => {\n table.scrollIntoView({ behavior: 'smooth', block: 'start' });\n });\n }\n }\n\n searchAgain() {\n this.pageChange.emit({ pageNumber: this.model?.pageNumber || 1, pageSize: this.model?.pageSize || 20 }); // TODO\n }\n\n public get state(): 'loading' | 'failed' | 'succeeded' {\n if (this.loading) {\n return 'loading';\n }\n if (this.error) {\n return 'failed';\n }\n\n return 'succeeded';\n }\n\n public get isEmpty(): boolean {\n return !this.model || this.model.items.length === 0;\n }\n}\n","<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\n <mz-spinner size=\"large\"></mz-spinner>\n </div>\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\n <caption *ngIf=\"state === 'succeeded' && model && model.items.length > 0\">\n {{(model.pageNumber-1) * model.pageSize + 1}} - {{(model.pageNumber-1) * model.pageSize + model.items.length}} of {{ model.totalItems }} results\n </caption>\n <thead>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n <tbody>\n @if(state === 'succeeded' && !isEmpty) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }\n </tbody>\n </table>\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && !options?.hidePagination && !isEmpty\">\n <mz-pagination [length]=\"model!.totalItems\" [page]=\"model!.pageNumber\" [pageSize]=\"model!.pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && isEmpty\">\n <div class=\"title\">No results found</div>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\n <div class=\"title\">\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\n Something went wrong\n </div>\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\nimport { race } from 'rxjs';\nimport { delay, filter, repeat, take } from 'rxjs/operators';\nimport { SubSink } from 'subsink';\n\n@Component({\n selector: 'mz-page-loading-indicator',\n templateUrl: './page-loading-indicator.component.html',\n styleUrls: ['./page-loading-indicator.component.scss'],\n imports: [CommonModule],\n standalone: true,\n})\nexport class PageLoadingIndicatorComponent implements OnInit, OnDestroy {\n @Input() isLoading: boolean = false;\n expectedMilisecondsDelay = 1000;\n private subs = new SubSink();\n\n constructor(private router: Router) {}\n\n ngOnInit(): void {\n const endObs$ = this.router.events.pipe(\n filter((e) => e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError),\n );\n\n this.subs.add(\n race(\n this.router.events.pipe(\n filter((e) => e instanceof NavigationStart),\n delay(this.expectedMilisecondsDelay)\n ),\n endObs$\n ).pipe(take(1), repeat()).subscribe((x) => this.isLoading = x instanceof NavigationStart)\n );\n // the flag need to be reset to false when the page finishes loading\n this.subs.add(endObs$.subscribe(() =>this.isLoading = false));\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\n <div class=\"progress-bar progress-bar-indeterminate\">\n <div class=\"progress-bar-value\"></div>\n </div>\n</div>","import { Component, Input, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'mz-page-header',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.scss'],\n standalone: true,\n})\nexport class PageHeaderComponent implements OnInit {\n private pageTitleValue = 'Servicing Web';\n\n constructor(private title: Title) {}\n\n get pageTitle(): string {\n return this.pageTitleValue;\n }\n\n @Input() set pageTitle(newValue: string) {\n this.pageTitleValue = newValue;\n this.title.setTitle(newValue);\n }\n\n ngOnInit(): void {}\n}\n","<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport { TimeValue } from './date-time/time-value';\n\n// TODO: need to rename, and need to use ivy instead\n\n@Directive({\n selector: 'input[type=time]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: TimeValueAccessorDirective,\n multi: true\n }],\n standalone: true,\n})\nexport class TimeValueAccessorDirective implements ControlValueAccessor {\n\n @HostListener('input', ['$event.target.value'])\n onChange = (x: any) => { };\n onTouched = () => { };\n constructor(private renderer: Renderer2, private elementRef: ElementRef) {\n\n }\n\n writeValue(obj?: TimeValue): void {\n if (!obj) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);\n return;\n }\n const hourPrefix = obj?.hour > 9 ? '' : '0';\n const minutePrefix = obj.minute > 9 ? '' : '0';\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', `${hourPrefix}${obj.hour}:${minutePrefix}${obj.minute}`);\n }\n\n registerOnChange(fn: (x: TimeValue | null) => void): void {\n this.onChange = (value) => {\n if (value === null || value === '') {\n fn(null);\n } else {\n const parts = value.split(':');\n fn({ hour: Number(parts[0]), minute: Number(parts[1]) } as TimeValue);\n }\n };\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit, Input, TemplateRef } from '@angular/core';\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\n\n@Component({\n selector: 'mz-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css'],\n imports: [CommonModule, SvgIconComponent],\n standalone: true,\n})\nexport class AlertComponent implements OnInit {\n @Input() title: string = '';\n @Input() type: 'info' | 'success' | 'error' | 'warning' = 'info';\n @Input() body: TemplateRef<any> | undefined | null;\n @Input() footer: TemplateRef<any> | undefined | null;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n getAlertClass(): string {\n return `alert-${this.type}`;\n }\n\n getAlertIcon(): string {\n let icon = '';\n if (this.type === 'info') {\n icon = 'information-circle';\n } else if (this.type === 'success') {\n icon = 'check-circle';\n } else if (this.type === 'error') {\n icon = 'x-circle';\n } else if (this.type === 'warning') {\n icon = 'exclamation';\n }\n return icon;\n }\n}\n","<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mzPhoneNumber',\n standalone: true,\n})\nexport class PhoneNumberPipe implements PipeTransform {\n\n transform(number?: string): string | null {\n if (!number) {\n return null;\n }\n\n const phoneNumber = number.replace(/^\\+1/, '').replace(/\\D/g, '');\n if (phoneNumber.length === 10) {\n return phoneNumber.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3');\n }\n return number;\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mzDateDisplay',\n standalone: true,\n})\nexport class DateDisplayPipe implements PipeTransform {\n constructor(private datePipe: DatePipe) {}\n\n transform(value: Date | string, format: string): string | null {\n let redefinedDate;\n if (format === 'concise') {\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');\n } else if(format === 'detailed') {\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy h:mm:ss a');\n } else {\n redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');\n }\n return redefinedDate;\n }\n}\n","import { Directive, EventEmitter, Input, OnChanges, Output } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { SortEvent } from './models/sort-event';\n\n@Directive({\n selector: '[mzSort]',\n standalone: true,\n})\nexport class SortDirective implements OnChanges {\n\n @Output() sort = new EventEmitter<SortEvent>();\n @Input('mzSort') set mzSort(value: string) {\n this._mzSort = value;\n this.setActiveHeaderSort();\n }\n\n mzSortOnChange$ = new BehaviorSubject<string>('');\n _mzSort!: string;\n active!: string;\n\n constructor() {}\n\n ngOnChanges(): any {\n this.mzSortOnChange$.next(this.active);\n }\n\n setActiveHeaderSort() {\n this.active = this._mzSort.includes('-') ? this._mzSort.slice(1) : this._mzSort;\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\nimport { SortDirective } from './sort.directive';\n\n@Directive({\n selector: '[mzSortKey]',\n host: {\n 'role': 'button',\n '[attr.aria-sort]': 'getAriaSortAttribute()',\n '(click)': 'onClick()',\n },\n standalone: true,\n})\nexport class SortKeyDirective implements OnInit {\n @Input() mzSortKey!: string;\n order = 'asc';\n updatedSort = '';\n\n constructor(private sortable: SortDirective, private renderer: Renderer2, private hostElement: ElementRef) {}\n\n ngOnInit(): void {\n this.addSortClass();\n this.sortable.mzSortOnChange$.subscribe(() => {\n this.updatedSort = this.mzSortKey === this.sortable.active ? this.sortable._mzSort : this.mzSortKey;\n this.setOrder(this.updatedSort);\n\n if (this.isActive()) {\n this.addActiveClass();\n } else {\n this.removeActiveClass();\n }\n });\n }\n\n onClick($event: Event) {\n // remove active css classes\n this.removeActiveClass();\n\n // update current sort value (-order, order)\n this.updateSortKeyValue();\n\n // update parent directive active column and emit output\n this.updateActiveValue();\n\n // add arrow css clases\n this.addActiveClass();\n }\n\n getAriaSortAttribute() {\n if (!this.isActive()) {\n return 'none';\n }\n return this.order === 'asc' ? 'ascending' : 'descending';\n }\n\n private updateSortKeyValue() {\n if (this.isActive()) {\n this.updatedSort = this.order === 'desc' ? this.updatedSort.slice(1) : `-${this.updatedSort}`;\n } else {\n this.updatedSort = this.mzSortKey;\n }\n\n this.setOrder(this.updatedSort);\n }\n\n private updateActiveValue() {\n this.sortable.active = this.mzSortKey;\n this.sortable.sort.emit({ sort: this.updatedSort });\n }\n\n private addSortClass() {\n const spanElement = this.renderer.createElement('span');\n spanElement.classList.add(\"sort-icon\");\n this.renderer.appendChild(this.hostElement.nativeElement, spanElement);\n this.renderer.addClass(this.hostElement.nativeElement, 'sort-trigger');\n }\n\n private addActiveClass() {\n this.renderer.addClass(this.hostElement.nativeElement, this.order === 'asc' ? 'sort-ascending' : 'sort-descending');\n }\n\n private removeActiveClass() {\n this.renderer.removeClass(this.hostElement.nativeElement, 'sort-ascending');\n this.renderer.removeClass(this.hostElement.nativeElement, 'sort-descending');\n }\n\n private isActive() {\n return this.mzSortKey === this.sortable.active;\n }\n\n private setOrder(sort: string) {\n this.order = sort.includes('-') ? 'desc' : 'asc';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Subject } from '../models/subject';\n\n@Pipe({\n name: 'mzSubjectDisplay',\n standalone: true,\n})\nexport class SubjectDisplayPipe implements PipeTransform {\n transform(subject?: Subject, defaultValue?: string): string | null {\n if (!subject) {\n return defaultValue || null;\n }\n return subject.givenName && subject.familyName ? `${subject.givenName} ${subject.familyName}` : subject.userPrincipalName;\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Directive({\n selector: '[mzButton]',\n standalone: true,\n host: {\n role: 'button',\n '[attr.tabindex]': '0',\n '[attr.aria-disabled]': 'busy',\n },\n})\nexport class ButtonDirective implements OnChanges, OnDestroy {\n @Input()\n variant? = 'secondary';\n @Input()\n busy?: boolean = false;\n private svgContent = `\n <svg class=\"button-loading-spinner\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\">\n </circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n `;\n private subscription = new Subscription();\n\n constructor(private renderer: Renderer2, private hostElement: ElementRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['busy'] && Boolean(changes['busy'].previousValue) !== Boolean(changes['busy'].currentValue)) {\n this.attachOrDeattachSpinner();\n }\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n @HostBinding('class')\n get elementClass(): string {\n return ['button', `button-${this.variant}`, this.busy ? 'loading' : ''].join(' ');\n }\n\n attachOrDeattachSpinner() {\n if (this.busy) {\n const loadingElement = this.renderer.createElement('span');\n loadingElement.innerHTML = this.svgContent;\n this.renderer.addClass(loadingElement, 'button-loading-overlay');\n this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);\n this.addEventSubscription();\n } else {\n this.renderer.removeChild(this.hostElement.nativeElement, this.getOverlayDiv());\n this.subscription?.unsubscribe();\n }\n }\n\n private addEventSubscription() {\n const el = this.hostElement.nativeElement;\n this.subscription = fromEvent(el.parentNode, 'click', { capture: true })\n .pipe(filter((e: any) => Boolean(this.busy && this.getElementsToVerify().includes(e.target))))\n .subscribe((e: any) => {\n e.stopPropagation();\n });\n }\n\n private getChildElement(query: string) {\n return this.hostElement.nativeElement.querySelector(query);\n }\n\n private getElementsToVerify() {\n return [this.hostElement.nativeElement, this.getOverlayDiv(), this.getChildElement('.button-loading-overlay'), this.getChildElement('.button-loading-overlay svg'), this.getChildElement('.button-loading-overlay svg circle'), this.getChildElement('.button-loading-overlay svg path')];\n }\n\n private getOverlayDiv() {\n return this.getChildElement('.button-loading-overlay');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SubSink } from 'subsink';\nimport { WizardStepLink } from '../models/wizard-step-link';\nimport { SvgIconComponent } from '../svg-icon/svg-icon.component';\n\n@Component({\n selector: 'mz-wizard-progress-tracker',\n templateUrl: './wizard-progress-tracker.component.html',\n styleUrls: ['./wizard-progress-tracker.component.scss'],\n standalone: true,\n imports: [CommonModule, SvgIconComponent]\n})\nexport class WizardProgressTrackerComponent {\n @Input() steps: WizardStepLink[] = [];\n @Input() currentStep = 0;\n @Output() stepChange = new EventEmitter<WizardStepLink>();\n toggled = true;\n subs = new SubSink();\n\n goToStep(step: WizardStepLink) {\n this.stepChange.emit(step);\n }\n\n toggle(): void {\n this.toggled = !this.toggled;\n }\n}\n","<div class=\"wizard-progress-tracker\">\n <div class=\"direction-container\">\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\n <ng-container>\n <div class=\"wizard-step-icon-container\">\n <div class=\"spacer left\">\n </div>\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\n\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\n </mz-svg-icon>\n </div>\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\n <div class=\"step-inner-circle\"></div>\n </div>\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\n </div>\n\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\n <div class=\"spacer right\"></div>\n </div>\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\n step.name\n }}</a>\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div class=\"toggable-icon\">\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\n </button>\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, forwardRef, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\nimport { TimeValue } from './time-value';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mz-datetime',\n templateUrl: './date-time.component.html',\n styleUrls: ['./date-time.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimeComponent),\n multi: true,\n },\n ],\n imports: [CommonModule, MatDatepickerModule],\n standalone: true,\n})\nexport class DateTimeComponent implements ControlValueAccessor {\n date: Date | undefined;\n time: string | undefined;\n\n private lz = (n: number) => ('0' + n).slice(-2);\n private formatDate = (dt: Date) => `${dt.getMonth() + 1}/${dt.getDate()}/${dt.getFullYear()}`;\n private formatTime = (t: Date) => `${this.lz(t.getHours())}:${this.lz(t.getMinutes())}`;\n private formatDateTime = (dt: Date, t: string) => `${this.formatDate(dt)} ${t}`;\n private limitDate = (dt: Date) => {\n if (this.min) {\n dt = new Date(Math.max(dt.getTime(), this.min.getTime()));\n }\n\n if (this.max) {\n dt = new Date(Math.min(dt.getTime(), this.max.getTime()));\n }\n\n return dt;\n };\n private onTimeHourPending = false; \n\n type = 'outline';\n @ViewChild('datePicker') datepicker!: MatDatepicker<Date>;\n\n @Input()\n min?: Date | undefined;\n\n @Input()\n max?: Date | undefined;\n\n @Input()\n disabled = false;\n\n constructor(private _cd: ChangeDetectorRef) {}\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: Date) {\n if (value) {\n const dt = new Date(value);\n\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n this.time = this.formatTime(value);\n } else {\n this.date = undefined;\n this.time = undefined;\n }\n\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n updateDate(e: Event): void {\n const input = e.target as HTMLInputElement;\n\n let dt = new Date(input.value);\n\n if (!isNaN(dt.getTime())) {\n dt = this.limitDate(dt);\n\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n\n if (this.time === undefined || this.time === '') {\n this.time = this.formatTime(new Date());\n }\n } else {\n this.date = undefined;\n this.time = undefined;\n }\n\n this.propagateModelChange();\n this._cd.markForCheck();\n }\n\n updateTime(e: Event): void {\n const input = e.target as HTMLInputElement;\n\n // this is just a listener event in case the end user types in \"0\". We wait for\n // the next entered value for the time input field to self fix the problem.\n if (!this.onTimeHourPending && !input.value) {\n this.onTimeHourPending = true;\n return;\n }\n\n this.onTimeHourPending = false;\n\n if (!input.value) {\n this.date = undefined;\n } else if (!this.date || isNaN(this.date.getTime())) {\n const dt = this.limitDate(this.min ?? new Date());\n\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n }\n this.time = input.value;\n\n this.propagateModelChange();\n }\n\n updateDateEvent(event: MatDatepickerInputEvent<Date>) {\n if (event.value) {\n const dt = this.limitDate(new Date(event.value));\n\n this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n\n if (this.time === undefined || this.time === '') {\n this.time = this.formatTime(new Date());\n }\n } else {\n this.date = undefined;\n this.time = undefined;\n }\n\n this.propagateModelChange();\n this._cd.markForCheck();\n }\n\n focusOnDateInput() {\n this.datepicker.open();\n }\n\n private propagateModelChange(): void {\n if (this.time && this.date) {\n const dateString = this.formatDateTime(this.date, this.time);\n this.onChange(new Date(dateString));\n } else {\n this.onChange(undefined);\n }\n }\n}\n\nexport interface ScheduleInputModel {\n time: TimeValue;\n}\n","<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n","import { DialogModule, DIALOG_DATA } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { Component, Inject, OnInit, TemplateRef } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'mz-inline-message-dialog',\n templateUrl: './inline-message-dialog.component.html',\n styleUrls: ['./inline-message-dialog.component.scss'],\n imports: [MatCommonModule, CommonModule, RouterModule, DialogModule],\n standalone: true,\n})\nexport class InlineMessageDialogComponent implements OnInit {\n body: TemplateRef<any> | undefined | null;\n\n constructor(@Inject(DIALOG_DATA) public data: any) { }\n\n ngOnInit() {\n this.body = this.data.body;\n }\n\n}","<div class=\"body\" *ngIf=\"body\">\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>","import { Component, Input, TemplateRef } from '@angular/core';\nimport { Dialog, DialogModule } from '@angular/cdk/dialog';\nimport { InlineMessageDialogComponent } from './inline-message-dialog/inline-message-dialog.component';\nimport { CommonModule } from '@angular/common';\nimport { MatCommonModule } from '@angular/material/core';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'mz-inline-message',\n templateUrl: './inline-message.component.html',\n styleUrls: ['./inline-message.component.scss'],\n imports: [MatCommonModule, CommonModule, RouterModule, DialogModule],\n standalone: true,\n})\nexport class InlineMessageComponent {\n @Input() body: TemplateRef<any> | undefined | null;\n\n constructor(public dialog: Dialog) {}\n\n ngOnInit(): void {}\n\n openDialog() {\n this.dialog.open(InlineMessageDialogComponent, {\n minWidth: '300px',\n data: {\n body: this.body,\n },\n });\n }\n}\n","<div class=\"wrapper\">\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\n</div>","import { Directive } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\n@Directive({\n selector: 'input[type=time]',\n providers: [{\n provide: NG_VALIDATORS,\n useExisting: TimeValueValidatorDirective,\n multi: true\n }],\n standalone: true,\n})\nexport class TimeValueValidatorDirective implements Validator {\n\n constructor() { }\n\n validate(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n if (value == null || value.length == 0) {\n return null;\n }\n\n /*\n const parts = value.split(':');\n if (parts.length != 2) {\n return { \"time\": \"invalid time\" };\n }*/\n\n return null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { SpinnerComponent } from '../spinner/spinner.component';\n\n@Component({\n selector: 'mz-infinite-scroll',\n standalone: true,\n imports: [CommonModule, SpinnerComponent],\n templateUrl: './infinite-scroll.component.html',\n styleUrls: ['./infinite-scroll.component.scss'],\n})\nexport class InfiniteScrollComponent {\n @Input() items: any[] = [];\n @Input() isLoading: boolean = false;\n @Input() containerHeight: string = '24rem';\n @Output() itemSelected = new EventEmitter<any>();\n @Output() loadMore = new EventEmitter<boolean>();\n @ContentChild('itemTemplate') itemTemplate!: TemplateRef<any>; \n selectedItem: any = null;\n\n onContainerScroll(event: any): void {\n const target = event.target;\n if (!this.isLoading && target.offsetHeight + target.scrollTop >= target.scrollHeight) {\n this.loadMore.emit(true);\n }\n }\n\n onItemClick(item: any): void {\n this.selectedItem = item;\n this.itemSelected.emit(item);\n }\n}\n","<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #defaultItems>\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\n {{ item.label }}\n </div>\n </ng-template>\n\n <!-- Spinner -->\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\n <mz-spinner size=\"medium\"></mz-spinner>\n </div>\n</div>\n","import { CommonModule, DatePipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SpinnerComponent } from './spinner/spinner.component';\nimport { EnumDisplayPipe } from './enum-display/enum-display.pipe';\nimport { SvgIconComponent } from './svg-icon/svg-icon.component';\nimport { ResultTableComponent } from './result-table/result-table.component';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageLoadingIndicatorComponent } from './page-loading-indicator/page-loading-indicator.component';\nimport { PageHeaderComponent } from './page-header/page-header.component';\nimport { TimeValueAccessorDirective } from './time-value-accessor.directive';\nimport { FormsModule } from '@angular/forms';\nimport { AlertComponent } from './alert/alert.component';\nimport { PhoneNumberPipe } from './phone-number/phone-number.pipe';\nimport { DateDisplayPipe } from './date-display/date-display.pipe';\nimport { SortDirective } from './sort.directive';\nimport { SortKeyDirective } from './sort-key.directive';\nimport { SubjectDisplayPipe } from './subject-display/subject-display.pipe';\nimport { ButtonDirective } from './button.directive';\nimport { WizardProgressTrackerComponent } from './wizard-progress-tracker/wizard-progress-tracker.component';\nimport { DateTimeComponent } from './date-time/date-time.component';\nimport { InlineMessageComponent } from './inline-message/inline-message.component';\nimport { InlineMessageDialogComponent } from './inline-message/inline-message-dialog/inline-message-dialog.component';\nimport { TimeValueValidatorDirective } from './time-value-validator.directive';\nimport { InfiniteScrollComponent } from './infinite-scroll/infinite-scroll.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ButtonDirective,\n SvgIconComponent,\n SpinnerComponent,\n WizardProgressTrackerComponent,\n AlertComponent,\n EnumDisplayPipe,\n ResultTableComponent,\n InfiniteScrollComponent,\n PaginationComponent,\n PageLoadingIndicatorComponent,\n PageHeaderComponent,\n TimeValueAccessorDirective,\n DateDisplayPipe,\n PhoneNumberPipe,\n SortKeyDirective,\n SortDirective,\n SubjectDisplayPipe,\n DateTimeComponent,\n InlineMessageComponent,\n InlineMessageDialogComponent,\n TimeValueValidatorDirective,\n ],\n exports: [\n EnumDisplayPipe,\n SpinnerComponent,\n SvgIconComponent,\n ResultTableComponent,\n InfiniteScrollComponent,\n PaginationComponent,\n PageLoadingIndicatorComponent,\n PageHeaderComponent,\n TimeValueAccessorDirective,\n DateDisplayPipe,\n AlertComponent,\n PhoneNumberPipe,\n SortKeyDirective,\n SortDirective,\n SubjectDisplayPipe,\n ButtonDirective,\n WizardProgressTrackerComponent,\n DateTimeComponent,\n InlineMessageComponent,\n InlineMessageDialogComponent,\n TimeValueValidatorDirective,\n ],\n providers: [\n DatePipe,\n ]\n})\nexport class MuziehComponentsModule { }\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\nimport { FormsModule, NgModel } from '@angular/forms';\nimport { ButtonDirective } from '../button.directive';\n\n@Component({\n selector: 'mz-inline-edit',\n standalone: true,\n imports: [ButtonDirective, FormsModule, CommonModule],\n templateUrl: './inline-edit.component.html',\n styleUrl: './inline-edit.component.scss',\n})\nexport class InlineEditComponent implements AfterViewInit {\n isEditing = false;\n busy = false;\n @Input() label?: string;\n @Input() layout: 'form' | 'field' = 'field';\n @Output() save = new EventEmitter();\n\n @ContentChild(NgModel) ngModel!: NgModel;\n @ContentChild(NgModel, { read: ElementRef }) private ngModelElement?: ElementRef;\n\n originalValue: unknown;\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.renderer.listen(this.ngModelElement?.nativeElement, 'focus', () => {\n if (!this.isEditing) {\n this.activate();\n }\n });\n }\n\n activate() {\n this.isEditing = true;\n this.ngModel.control.markAsTouched();\n this.originalValue = this.ngModel.value;\n\n setTimeout(() => {\n this.ngModelElement?.nativeElement.focus();\n });\n }\n\n submitForm() {\n this.busy = true;\n this.save.emit(this.ngModel.value);\n }\n\n cancelEdit() {\n if (this.busy) {\n return;\n }\n this.ngModel.reset(this.originalValue);\n this.isEditing = false;\n }\n\n exitEdit() {\n this.isEditing = false;\n this.busy = false;\n }\n}\n","<div class=\"inline-edit\">\n <form class=\"flex gap-4\" [ngClass]=\"{ 'flex-col': layout === 'form', 'flex-row': layout === 'field' }\">\n @if (isEditing || !label) {\n <ng-content></ng-content>\n } @else if (label && !isEditing) {\n <button type=\"button\" class=\"flex gap-4 cursor-pointer\" (click)=\"activate()\">\n <span>\n {{ label }}\n </span>\n <span class=\"text-secondary\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-4\">\n <path d=\"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-12.15 12.15a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32L19.513 8.2Z\" />\n </svg>\n </span>\n </button>\n }\n\n @if (isEditing) {\n <div class=\"flex gap-2\">\n <!--<button type=\"submit\" mzButton [busy]=\"busy\" (click)=\"submitForm()\">Save</button>\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"cancelEdit()\">Cancel</button>-->\n <button mzButton [busy]=\"busy\" type=\"submit\" (click)=\"submitForm()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n <button type=\"button\" mzButton variant=\"tertiary\" (click)=\"cancelEdit()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n }\n </form>\n</div>\n","export abstract class MuziehComponentHarness<T> {}\n","import { DebugElement } from '@angular/core';\nimport { By } from '@angular/platform-browser';\nimport { ResultTableComponent } from '../result-table/result-table.component';\nimport { ResultTableModel } from '../result-table/result-table.model';\nimport { MuziehComponentHarness } from './muzieh-component-harness';\n\nexport class ResultTableHarness extends MuziehComponentHarness<ResultTableComponent> {\n private refreshContainerEvent: () => DebugElement;\n\n private get resultTableDebugElement() {\n const containerDebugElement = this.refreshContainerEvent();\n if (!containerDebugElement) {\n throw new Error('Invalid container debug element');\n }\n // we need this to default to the container if null for testing the original component\n const resultTableDebugElement = containerDebugElement.query(By.directive(ResultTableComponent)) || containerDebugElement;\n if (!resultTableDebugElement) {\n throw new Error('Invalid result table debug element');\n }\n return resultTableDebugElement;\n }\n\n get resultTableComponentInstance(): ResultTableComponent {\n return this.evaluateComponentInstance(this.resultTableDebugElement);\n }\n\n constructor(refreshContainerEvent: () => DebugElement) {\n super();\n this.refreshContainerEvent = refreshContainerEvent;\n }\n\n getHeaderColumns() {\n return this.resultTableDebugElement.queryAll(By.css('thead tr th')).map((td) => (td.nativeElement as HTMLTableCellElement).textContent?.trim());\n }\n\n getRenderedResults() {\n const contentDebugElement = this.resultTableDebugElement;\n const componentInstance = this.evaluateComponentInstance(contentDebugElement);\n const results = contentDebugElement.queryAll(By.css('tbody tr')).map((el) => el.queryAll(By.css('td')).map((td) => (td.nativeElement as HTMLTableCellElement).textContent?.trim()));\n const { pageNumber: page, pageSize, totalItems: total } = componentInstance.model as ResultTableModel<unknown>;\n\n return {\n results,\n page,\n pageSize,\n total,\n };\n }\n\n getResultsHeaderSummary() {\n const headerCaptionDebugElement = this.resultTableDebugElement.query(By.css('table caption'));\n if (!headerCaptionDebugElement) {\n throw new Error('DebugElement not found');\n }\n return (headerCaptionDebugElement.nativeElement as HTMLTableCaptionElement).textContent?.trim();\n }\n\n hasErrorMessage() {\n return this.resultTableDebugElement.queryAll(By.css('.state-message .title .text-danger')).length > 0;\n }\n\n hasNoResultsMessage() {\n const errorDebugElement = this.resultTableDebugElement.query(By.css('.state-message .title'));\n if (!errorDebugElement) {\n throw new Error('DebugElement not found');\n }\n return (errorDebugElement.nativeElement as HTMLDivElement).textContent?.trim() === 'No results found';\n }\n\n hasPaginationAvailable() {\n return this.resultTableDebugElement.queryAll(By.css('.table-pagination')).length > 0;\n }\n\n hasResultsHeaderSummary() {\n return this.resultTableDebugElement.queryAll(By.css('table caption')).length > 0;\n }\n\n private evaluateComponentInstance(container: DebugElement): ResultTableComponent {\n return container.componentInstance as ResultTableComponent;\n }\n}\n","/*\n * Public API Surface of components\n */\n\nexport { SvgIconComponent } from './lib/svg-icon/svg-icon.component';\nexport { SvgIconOptions, SVG_ICON_DEFAULT_OPTIONS } from './lib/svg-icon/svg-icon-config';\n\nexport { EnumDisplayPipe } from './lib/enum-display/enum-display.pipe';\nexport { SpinnerComponent } from './lib/spinner/spinner.component';\n\nexport { MuziehComponentsModule } from './lib/components.module';\nexport { PageLoadingIndicatorComponent } from './lib/page-loading-indicator/page-loading-indicator.component';\nexport { PageHeaderComponent } from './lib/page-header/page-header.component';\nexport { PhoneNumberPipe } from './lib/phone-number/phone-number.pipe';\nexport { DateDisplayPipe } from './lib/date-display/date-display.pipe';\n\n// inline edit\nexport { InlineEditComponent } from './lib/inline-edit/inline-edit.component';\n\n// subject\nexport { SubjectDisplayPipe } from './lib/subject-display/subject-display.pipe';\nexport { Subject } from './lib/models/subject';\n\n// table\nexport { ResultTableComponent } from './lib/result-table/result-table.component';\nexport { PaginationComponent } from './lib/pagination/pagination.component';\nexport { PageEvent } from './lib/models/page-event';\nexport { LoadingState } from './lib/models/loading-state';\nexport { ResultTableModel } from './lib/result-table/result-table.model';\n\n// infinite scroll\nexport { InfiniteScrollComponent } from './lib/infinite-scroll/infinite-scroll.component';\n\n// Datetime\nexport { DateTimeComponent } from './lib/date-time/date-time.component';\nexport { TimeValue } from './lib/date-time/time-value';\nexport { TimeValueAccessorDirective } from './lib/time-value-accessor.directive';\nexport { TimeValueValidatorDirective } from './lib/time-value-validator.directive';\n\n// testing files\nexport { MuziehComponentHarness } from './lib/testing/muzieh-component-harness';\nexport { ResultTableHarness } from './lib/testing/result-table-harness';\n\n// alert\nexport { AlertComponent } from './lib/alert/alert.component';\n\n// sort\nexport { SortKeyDirective } from './lib/sort-key.directive';\nexport { SortDirective } from './lib/sort.directive';\nexport { ButtonDirective } from './lib/button.directive';\nexport { SortEvent } from './lib/models/sort-event';\n\nexport { WizardStepLink } from './lib/models/wizard-step-link';\nexport { WizardProgressTrackerComponent } from './lib/wizard-progress-tracker/wizard-progress-tracker.component';\nexport { InlineMessageComponent } from './lib/inline-message/inline-message.component';\nexport { InlineMessageDialogComponent } from './lib/inline-message/inline-message-dialog/inline-message-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.SortDirective"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class EnumDisplayPipe implements PipeTransform {
4
- transform(value: string): unknown;
5
- transformValue(value: string): string[];
4
+ transform(value?: string): string;
5
+ private transformValue;
6
6
  private firstLetterToUppercase;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<EnumDisplayPipe, never>;
8
8
  static ɵpipe: i0.ɵɵPipeDeclaration<EnumDisplayPipe, "mzEnumDisplay", true>;
@@ -0,0 +1,22 @@
1
+ import { AfterViewInit, EventEmitter, Renderer2 } from '@angular/core';
2
+ import { NgModel } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class InlineEditComponent implements AfterViewInit {
5
+ private renderer;
6
+ isEditing: boolean;
7
+ busy: boolean;
8
+ label?: string;
9
+ layout: 'form' | 'field';
10
+ save: EventEmitter<any>;
11
+ ngModel: NgModel;
12
+ private ngModelElement?;
13
+ originalValue: unknown;
14
+ constructor(renderer: Renderer2);
15
+ ngAfterViewInit(): void;
16
+ activate(): void;
17
+ submitForm(): void;
18
+ cancelEdit(): void;
19
+ exitEdit(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<InlineEditComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<InlineEditComponent, "mz-inline-edit", never, { "label": { "alias": "label"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; }, { "save": "save"; }, ["ngModel", "ngModelElement"], ["*"], true, never>;
22
+ }
@@ -1,4 +1,4 @@
1
- export interface PageEvent {
2
- page: number;
1
+ export type PageEvent = {
2
+ pageNumber: number;
3
3
  pageSize: number;
4
- }
4
+ };
@@ -1,3 +1,4 @@
1
1
  export interface ResultTableOptions {
2
- hidePagination: boolean;
2
+ hidePagination?: boolean;
3
+ skipScrolling?: boolean;
3
4
  }
@@ -7,7 +7,7 @@ export declare class PaginationComponent implements OnChanges {
7
7
  page: number;
8
8
  pageSize: number;
9
9
  changePage: EventEmitter<PageEvent>;
10
- pageSizeOptions: number[];
10
+ pageSizeOptions?: number[];
11
11
  pages: number[];
12
12
  pageCount: number;
13
13
  constructor(paginationOptions: PaginationDefaultOptions);