@wlcm/angular 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +62 -0
  2. package/button/README.md +7 -0
  3. package/button/esm2022/index.mjs +3 -0
  4. package/button/esm2022/lib/button.module.mjs +16 -0
  5. package/button/esm2022/lib/components/button/button.component.mjs +37 -0
  6. package/button/esm2022/lib/models/button.models.mjs +2 -0
  7. package/button/esm2022/wlcm-angular-button.mjs +5 -0
  8. package/button/fesm2022/wlcm-angular-button.mjs +57 -0
  9. package/button/fesm2022/wlcm-angular-button.mjs.map +1 -0
  10. package/button/index.d.ts +2 -0
  11. package/button/lib/button.module.d.ts +7 -0
  12. package/button/lib/components/button/button.component.d.ts +13 -0
  13. package/button/lib/models/button.models.d.ts +1 -0
  14. package/core/README.md +7 -0
  15. package/core/esm2022/index.mjs +10 -0
  16. package/core/esm2022/lib/components/chevron-down-icon/chevron-down-icon.component.mjs +12 -0
  17. package/core/esm2022/lib/components/close-icon/close-icon.component.mjs +12 -0
  18. package/core/esm2022/lib/components/search-icon/search-icon.component.mjs +12 -0
  19. package/core/esm2022/lib/constants/http.constants.mjs +6 -0
  20. package/core/esm2022/lib/models/option.models.mjs +15 -0
  21. package/core/esm2022/lib/models/paginated-data.models.mjs +2 -0
  22. package/core/esm2022/lib/models/query-params.models.mjs +6 -0
  23. package/core/esm2022/lib/utils/stream.utils.mjs +28 -0
  24. package/core/esm2022/wlcm-angular-core.mjs +5 -0
  25. package/core/fesm2022/wlcm-angular-core.mjs +92 -0
  26. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -0
  27. package/core/index.d.ts +8 -0
  28. package/core/lib/components/chevron-down-icon/chevron-down-icon.component.d.ts +5 -0
  29. package/core/lib/components/close-icon/close-icon.component.d.ts +5 -0
  30. package/core/lib/components/search-icon/search-icon.component.d.ts +5 -0
  31. package/core/lib/constants/http.constants.d.ts +2 -0
  32. package/core/lib/models/option.models.d.ts +11 -0
  33. package/core/lib/models/paginated-data.models.d.ts +6 -0
  34. package/core/lib/models/query-params.models.d.ts +26 -0
  35. package/core/lib/utils/stream.utils.d.ts +7 -0
  36. package/filters/README.md +7 -0
  37. package/filters/esm2022/index.mjs +8 -0
  38. package/filters/esm2022/lib/filters/components/filters/filters.component.mjs +21 -0
  39. package/filters/esm2022/lib/filters/components/filters-button/filters-button.component.mjs +25 -0
  40. package/filters/esm2022/lib/filters/components/filters-panel/filters-panel.component.mjs +86 -0
  41. package/filters/esm2022/lib/filters/components/filters-unit/filters-unit.component.mjs +55 -0
  42. package/filters/esm2022/lib/filters/directives/filters-content.directive.mjs +11 -0
  43. package/filters/esm2022/lib/filters/directives/filters-trigger.directive.mjs +69 -0
  44. package/filters/esm2022/lib/filters/filters.module.mjs +53 -0
  45. package/filters/esm2022/lib/filters/models/filters-default-selection-model.mjs +56 -0
  46. package/filters/esm2022/lib/filters/models/filters-trigger.base.mjs +56 -0
  47. package/filters/esm2022/lib/filters/models/filters.models.mjs +44 -0
  48. package/filters/esm2022/lib/filters/pipes/is-filters-param-checked.pipe.mjs +21 -0
  49. package/filters/esm2022/lib/filters/pipes/total-filters-applied.pipe.mjs +18 -0
  50. package/filters/esm2022/lib/filters/utils/filters.utils.mjs +13 -0
  51. package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
  52. package/filters/fesm2022/wlcm-angular-filters.mjs +474 -0
  53. package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -0
  54. package/filters/index.d.ts +7 -0
  55. package/filters/lib/filters/components/filters/filters.component.d.ts +10 -0
  56. package/filters/lib/filters/components/filters-button/filters-button.component.d.ts +11 -0
  57. package/filters/lib/filters/components/filters-panel/filters-panel.component.d.ts +25 -0
  58. package/filters/lib/filters/components/filters-unit/filters-unit.component.d.ts +21 -0
  59. package/filters/lib/filters/directives/filters-content.directive.d.ts +5 -0
  60. package/filters/lib/filters/directives/filters-trigger.directive.d.ts +22 -0
  61. package/filters/lib/filters/filters.module.d.ts +20 -0
  62. package/filters/lib/filters/models/filters-default-selection-model.d.ts +18 -0
  63. package/filters/lib/filters/models/filters-trigger.base.d.ts +15 -0
  64. package/filters/lib/filters/models/filters.models.d.ts +42 -0
  65. package/filters/lib/filters/pipes/is-filters-param-checked.pipe.d.ts +10 -0
  66. package/filters/lib/filters/pipes/total-filters-applied.pipe.d.ts +8 -0
  67. package/filters/lib/filters/utils/filters.utils.d.ts +5 -0
  68. package/forms/README.md +7 -0
  69. package/forms/esm2022/index.mjs +10 -0
  70. package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +164 -0
  71. package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
  72. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +118 -0
  73. package/forms/esm2022/lib/forms/components/index.mjs +6 -0
  74. package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
  75. package/forms/esm2022/lib/forms/components/select/select.component.mjs +107 -0
  76. package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
  77. package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
  78. package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
  79. package/forms/esm2022/lib/forms/constants/index.mjs +4 -0
  80. package/forms/esm2022/lib/forms/directives/ac-input-binder.directive.mjs +33 -0
  81. package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +63 -0
  82. package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
  83. package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
  84. package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
  85. package/forms/esm2022/lib/forms/directives/input.directive.mjs +35 -0
  86. package/forms/esm2022/lib/forms/forms.module.mjs +51 -0
  87. package/forms/esm2022/lib/forms/models/_index.mjs +4 -0
  88. package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
  89. package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
  90. package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
  91. package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
  92. package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
  93. package/forms/esm2022/lib/forms/services/index.mjs +2 -0
  94. package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
  95. package/forms/fesm2022/wlcm-angular-forms.mjs +675 -0
  96. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -0
  97. package/forms/index.d.ts +9 -0
  98. package/forms/lib/forms/components/autocomplete/autocomplete.component.d.ts +46 -0
  99. package/forms/lib/forms/components/error/error.component.d.ts +5 -0
  100. package/forms/lib/forms/components/form-field/form-field.component.d.ts +27 -0
  101. package/forms/lib/forms/components/index.d.ts +5 -0
  102. package/forms/lib/forms/components/label/label.component.d.ts +7 -0
  103. package/forms/lib/forms/components/select/select.component.d.ts +31 -0
  104. package/forms/lib/forms/constants/form-elements.constants.d.ts +6 -0
  105. package/forms/lib/forms/constants/form-errors.constants.d.ts +4 -0
  106. package/forms/lib/forms/constants/form-state-handlers.constants.d.ts +6 -0
  107. package/forms/lib/forms/constants/index.d.ts +3 -0
  108. package/forms/lib/forms/directives/ac-input-binder.directive.d.ts +5 -0
  109. package/forms/lib/forms/directives/autocomplete.directive.d.ts +16 -0
  110. package/forms/lib/forms/directives/form-field-custom-container.directive.d.ts +8 -0
  111. package/forms/lib/forms/directives/form-field-hint.directive.d.ts +5 -0
  112. package/forms/lib/forms/directives/form-field-suffix.directive.d.ts +5 -0
  113. package/forms/lib/forms/directives/input.directive.d.ts +5 -0
  114. package/forms/lib/forms/forms.module.d.ts +15 -0
  115. package/forms/lib/forms/models/_index.d.ts +3 -0
  116. package/forms/lib/forms/models/form-errors.models.d.ts +5 -0
  117. package/forms/lib/forms/models/form.models.d.ts +11 -0
  118. package/forms/lib/forms/models/input.models.d.ts +7 -0
  119. package/forms/lib/forms/pipes/errors-mapper.pipe.d.ts +17 -0
  120. package/forms/lib/forms/services/form-state-handler.service.d.ts +10 -0
  121. package/forms/lib/forms/services/index.d.ts +1 -0
  122. package/index.d.ts +1 -0
  123. package/index.mjs +4 -0
  124. package/package.json +109 -0
  125. package/search-field/README.md +7 -0
  126. package/search-field/esm2022/index.mjs +3 -0
  127. package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +36 -0
  128. package/search-field/esm2022/lib/search-field.module.mjs +18 -0
  129. package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
  130. package/search-field/fesm2022/wlcm-angular-search-field.mjs +57 -0
  131. package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -0
  132. package/search-field/index.d.ts +2 -0
  133. package/search-field/lib/components/search-field/search-field.component.d.ts +14 -0
  134. package/search-field/lib/search-field.module.d.ts +8 -0
  135. package/styles/components/button/index.scss +91 -0
  136. package/styles/components/common/index.scss +33 -0
  137. package/styles/components/filters/_filters-panel.scss +44 -0
  138. package/styles/components/filters/_filters-unit.scss +92 -0
  139. package/styles/components/filters/index.scss +7 -0
  140. package/styles/components/forms/_checkbox.scss +89 -0
  141. package/styles/components/forms/_error.scss +23 -0
  142. package/styles/components/forms/_form-field.scss +65 -0
  143. package/styles/components/forms/_label.scss +42 -0
  144. package/styles/components/forms/_select.scss +74 -0
  145. package/styles/components/forms/index.scss +13 -0
  146. package/styles/components/search-field/index.scss +31 -0
  147. package/styles/core/_all-theme.scss +15 -0
  148. package/styles/core/_core.scss +10 -0
  149. package/styles/core/_utils.scss +53 -0
  150. package/styles/wlcm.scss +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wlcm-angular-forms.mjs","sources":["../../../../modules/forms/src/lib/forms/components/error/error.component.ts","../../../../modules/forms/src/lib/forms/components/error/error.component.html","../../../../modules/forms/src/lib/forms/services/form-state-handler.service.ts","../../../../modules/forms/src/lib/forms/constants/form-state-handlers.constants.ts","../../../../modules/forms/src/lib/forms/directives/form-field-custom-container.directive.ts","../../../../modules/forms/src/lib/forms/constants/form-errors.constants.ts","../../../../modules/forms/src/lib/forms/pipes/errors-mapper.pipe.ts","../../../../modules/forms/src/lib/forms/constants/form-elements.constants.ts","../../../../modules/forms/src/lib/forms/components/form-field/form-field.component.ts","../../../../modules/forms/src/lib/forms/components/form-field/form-field.component.html","../../../../modules/forms/src/lib/forms/directives/input.directive.ts","../../../../modules/forms/src/lib/forms/components/label/label.component.ts","../../../../modules/forms/src/lib/forms/components/label/label.component.html","../../../../modules/forms/src/lib/forms/components/select/select.component.ts","../../../../modules/forms/src/lib/forms/components/select/select.component.html","../../../../modules/forms/src/lib/forms/directives/autocomplete.directive.ts","../../../../modules/forms/src/lib/forms/components/autocomplete/autocomplete.component.ts","../../../../modules/forms/src/lib/forms/components/autocomplete/autocomplete.component.html","../../../../modules/forms/src/lib/forms/directives/ac-input-binder.directive.ts","../../../../modules/forms/src/lib/forms/directives/form-field-suffix.directive.ts","../../../../modules/forms/src/lib/forms/directives/form-field-hint.directive.ts","../../../../modules/forms/src/lib/forms/forms.module.ts","../../../../modules/forms/src/wlcm-angular-forms.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-error',\n standalone: true,\n imports: [CommonModule],\n host: { class: 'wlcm-error' },\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WlcmErrorComponent {}\n","<ng-content></ng-content>\n","import { Injectable } from '@angular/core';\nimport { WlcmForm, WlcmFormControl } from '../models/form.models';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class FormStateHandlerService implements WlcmForm, WlcmFormControl {\n private readonly _stateChanges$: Subject<void> = new Subject();\n\n readonly stateChanges$: Observable<void> = this._stateChanges$.asObservable();\n\n updateFormState(): void {\n this._stateChanges$.next();\n }\n}\n","import { InjectionToken, Provider, inject } from '@angular/core';\nimport { WlcmForm, WlcmFormControl } from '../models/form.models';\nimport { FormStateHandlerService } from '../services';\n\nexport const WLCM_FORM: InjectionToken<WlcmForm> = new InjectionToken(\n 'WLCM_FORM'\n);\n\nexport const WLCM_FORM_PROVIDER: Provider = {\n provide: WLCM_FORM,\n useClass: FormStateHandlerService,\n};\n\nexport const WLCM_FORM_CONTROL: InjectionToken<WlcmFormControl> =\n new InjectionToken('WLCM_FORM_CONTROL');\n\nexport const WLCM_FORM_CONTROL_PROVIDER: Provider = {\n provide: WLCM_FORM_CONTROL,\n useFactory: () => inject(WLCM_FORM, { optional: true, skipSelf: true }),\n};\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[wlcmFormFieldCustomContainer]',\n standalone: true,\n})\nexport class WlcmFormFieldCustomContainerDirective {\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmFormErrors } from '../models/form-errors.models';\n\nexport const WLCM_ERRORS: InjectionToken<WlcmFormErrors> = new InjectionToken('WLCM_ERRORS');\n\nexport const WLCM_PRIORITY_ERRORS: InjectionToken<Set<string>> = new InjectionToken('WLCM_PRIORITY_ERRORS', {\n providedIn: 'root',\n factory: () => new Set(),\n});\n","import { ChangeDetectorRef, Inject, Pipe, PipeTransform } from '@angular/core';\nimport { FormControl, ValidationErrors } from '@angular/forms';\nimport { WlcmFormErrorFn, WlcmFormErrors } from '../models/form-errors.models';\nimport {\n WLCM_ERRORS,\n WLCM_PRIORITY_ERRORS,\n} from '../constants/form-errors.constants';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Pipe({\n name: 'errorsMapper',\n standalone: true,\n pure: false,\n})\nexport class ErrorsMapperPipe implements PipeTransform {\n private destroy$: Subject<void> = new Subject();\n\n currentError: string | null = null;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(WLCM_ERRORS) private errors: WlcmFormErrors,\n @Inject(WLCM_PRIORITY_ERRORS) private priorityErrors: Set<string>\n ) {}\n\n transform(control: FormControl): string | null {\n this.handleStatusChanges(control);\n\n this.retrieveFirstError(control.errors);\n\n return this.currentError;\n }\n\n private retrieveFirstError(errors: ValidationErrors | null): void {\n if (!errors) return;\n\n Object.keys(errors).forEach(\n (key: string) => !errors[key] && delete errors[key]\n );\n\n const errorsTypes: string[] = Object.getOwnPropertyNames(errors);\n\n const priorityType: string | undefined = errorsTypes.find((type: string) =>\n this.priorityErrors.has(type)\n );\n\n const outputError: string = priorityType || errorsTypes[0];\n\n if (outputError) {\n this.currentError = (this.errors[outputError] as WlcmFormErrorFn)?.(\n errors[outputError]\n );\n }\n }\n\n private handleStatusChanges(control: FormControl): void {\n this.destroy$.next();\n\n control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.retrieveFirstError(control.errors);\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","import { ElementRef, InjectionToken } from '@angular/core';\nimport { WlcmInputBinder, WlcmInputGetter } from '../models/input.models';\nimport { WlcmFormField } from '../models/form.models';\n\nexport const WLCM_INPUT: InjectionToken<WlcmInputGetter> = new InjectionToken('WLCM_INPUT');\n\nexport const WLCM_INPUT_BINDER: InjectionToken<WlcmInputBinder> = new InjectionToken('WLCM_INPUT_BINDER');\n\nexport const WLCM_FORM_FIELD: InjectionToken<WlcmFormField> = new InjectionToken('WLCM_FORM_FIELD');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Inject,\n Optional,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { Validators, AbstractControl, NgControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { Observable, fromEvent, merge } from 'rxjs';\nimport { WlcmErrorComponent } from '../error/error.component';\nimport { WLCM_FORM_CONTROL, WLCM_FORM_CONTROL_PROVIDER } from '../../constants/form-state-handlers.constants';\nimport { WlcmFormFieldCustomContainerDirective } from '../../directives/form-field-custom-container.directive';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { ErrorsMapperPipe } from '../../pipes/errors-mapper.pipe';\nimport { WLCM_FORM_FIELD, WLCM_INPUT } from '../../constants/form-elements.constants';\nimport { WlcmFormControl } from '../../models/form.models';\nimport { WlcmInputGetter } from '../../models/input.models';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-form-field',\n standalone: true,\n imports: [CommonModule, WlcmErrorComponent, ErrorsMapperPipe],\n host: { class: 'wlcm-form-field' },\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WLCM_FORM_CONTROL_PROVIDER,\n { provide: WLCM_FORM_FIELD, useExisting: forwardRef(() => WlcmFormFieldComponent) },\n ],\n})\nexport class WlcmFormFieldComponent implements AfterViewInit {\n @ContentChild(NgControl, { descendants: true }) private ngControl!: NgControl;\n\n @ContentChild(WLCM_INPUT) private _inputRef?: WlcmInputGetter;\n\n @ContentChild(WlcmFormFieldCustomContainerDirective)\n protected customContainer?: WlcmFormFieldCustomContainerDirective;\n\n @ViewChild('defaultContainer')\n protected defaultContainer?: ElementRef<HTMLElement>;\n\n @HostBinding('class.wlcm-field-focused') get isFocused() {\n return this.inputRef?.nativeElement === document.activeElement;\n }\n\n @HostBinding('class.wlcm-field-required') get isRequired() {\n return this.control?.hasValidator(Validators.required);\n }\n\n @HostBinding('class.wlcm-field-invalid') get isInvalid() {\n return this.control?.invalid;\n }\n\n @HostBinding('class.wlcm-field-touched') get isTouched() {\n return this.control?.touched;\n }\n\n constructor(\n @Optional()\n @Inject(WLCM_FORM_CONTROL)\n private parentFormMember: WlcmFormControl,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.inputRef && !this.customContainer) {\n throw new Error('Input element should be bound to the wlcmInput directive.');\n }\n\n this.handleStateChanges();\n }\n\n focus(): void {\n if (!this.isFocused) {\n this.inputRef?.nativeElement.focus();\n }\n }\n\n get control(): AbstractControl | null {\n return this.ngControl?.control;\n }\n\n get inputContainer(): ElementRef<HTMLElement> {\n return this.customContainer?.elementRef || (this.defaultContainer as ElementRef<HTMLElement>);\n }\n\n private handleStateChanges(): void {\n const events: Observable<unknown>[] = this.controlEvents;\n\n if (this.parentFormMember) {\n events.push(this.parentFormMember.stateChanges$);\n }\n\n merge(...events)\n .pipe(untilDestroyed(this))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n private get inputRef(): ElementRef<HTMLInputElement> | undefined {\n return this._inputRef?.get();\n }\n\n private get controlEvents(): Observable<unknown>[] {\n const events: Observable<unknown>[] = [];\n\n if (this.inputRef) {\n const element: HTMLInputElement = (this.inputRef as ElementRef).nativeElement;\n\n events.push(fromEvent(element, 'focus'), fromEvent(element, 'blur'));\n }\n\n if (this.control) {\n events.push(this.control.statusChanges);\n }\n\n return events;\n }\n}\n","<ng-content select=\"wlcm-label\"></ng-content>\n\n<ng-content select=\"[wlcmFormFieldCustomContainer]\"></ng-content>\n\n<div\n class=\"wlcm-field-container\"\n (click)=\"focus()\"\n #defaultContainer\n *ngIf=\"!customContainer\"\n>\n <ng-content select=\"[wlcmInput], wlcm-autocomplete\"></ng-content>\n\n <div class=\"wlcm-field-suffix\">\n <ng-content select=\"[wlcmFormFieldSuffix]\"></ng-content>\n </div>\n</div>\n\n<ng-content select=\"[wlcmFormFieldHint]\"></ng-content>\n\n<div class=\"wlcm-field-error-container\" *ngIf=\"control\">\n <wlcm-error>{{ $any(control) | errorsMapper }}</wlcm-error>\n</div>\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { WLCM_INPUT, WLCM_INPUT_BINDER } from '../constants/form-elements.constants';\nimport { WlcmInputBinder } from '../models/input.models';\n\n@Directive({\n selector: '[wlcmInput]',\n host: { class: 'wlcm-form-field-input' },\n providers: [\n {\n provide: WLCM_INPUT,\n useFactory: () => {\n const inputRef: ElementRef<HTMLInputElement> = inject(ElementRef, { self: true });\n\n const binder: WlcmInputBinder | null = inject(WLCM_INPUT_BINDER, { self: true, optional: true });\n\n return { get: () => (binder ? binder.bind() : inputRef) };\n },\n },\n ],\n standalone: true,\n})\nexport class WlcmInputDirective {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-label',\n standalone: true,\n imports: [CommonModule],\n host: { class: 'wlcm-label' },\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WlcmLabelComponent {\n @Input() required: boolean = false;\n\n @HostBinding('class.required') get isRequired(): boolean {\n return this.required;\n }\n}\n","<span class=\"wlcm-label-asterisk\">*</span>\n\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { MAT_SELECT_CONFIG, MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { first, fromEvent } from 'rxjs';\nimport { WlcmOption } from '@wlcm/angular/core';\nimport { WLCM_FORM_CONTROL, WLCM_FORM_CONTROL_PROVIDER } from '../../constants';\nimport { WlcmFormControl } from '../../models/_index';\n\ntype SelectValue = string[] | string;\n\nconst PANEL_CLASS: string = 'wlcm-select-panel';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-select',\n standalone: true,\n imports: [CommonModule, MatSelectModule, ReactiveFormsModule],\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WLCM_FORM_CONTROL_PROVIDER,\n { provide: MAT_SELECT_CONFIG, useValue: { overlayPanelClass: PANEL_CLASS } },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },\n ],\n})\nexport class WlcmSelectComponent implements ControlValueAccessor {\n @Input() multiple: boolean = false;\n\n @Input() placeholder: string = 'Not selected';\n\n @Input() options: WlcmOption[] = [];\n\n readonly control: FormControl = new FormControl();\n\n private _changed?: (value: WlcmOption) => void;\n\n private _touched?: () => void;\n\n private _validatorChanged?: () => void;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(WLCM_FORM_CONTROL) private parentFormMember: WlcmFormControl\n ) {\n if (this.parentFormMember) {\n this.handleStateChange();\n }\n }\n\n select(event: MatSelectChange): void {\n this._changed?.(event.value);\n\n this._validatorChanged?.();\n }\n\n panelOpened(): void {\n this.handleClickOutside();\n }\n\n writeValue(value: SelectValue): void {\n this.control.setValue(value);\n }\n\n registerOnChange(callback: (value: WlcmOption) => void): void {\n this._changed = callback;\n }\n\n registerOnTouched(callback: () => void): void {\n this._touched = callback;\n }\n\n registerOnValidatorChange(callback: () => void): void {\n this._validatorChanged = callback;\n }\n\n validate(control: AbstractControl): void {\n this.control.setErrors(control.errors);\n\n if (control.touched) {\n this.control.markAsTouched();\n } else {\n this.control.markAsUntouched();\n }\n }\n\n private handleStateChange(): void {\n this.parentFormMember.stateChanges$.pipe(untilDestroyed(this)).subscribe(() => {\n this._validatorChanged?.();\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private handleClickOutside(): void {\n const overlayContainer: HTMLElement | null = document.querySelector(`.cdk-overlay-container:has(.${PANEL_CLASS})`);\n\n const backdrop: HTMLElement | null | undefined = overlayContainer?.querySelector(`.cdk-overlay-backdrop`);\n\n if (backdrop instanceof HTMLElement) {\n fromEvent(backdrop, 'click')\n .pipe(first())\n .subscribe(() => {\n this._touched?.();\n\n this._validatorChanged?.();\n\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n}\n","<mat-select\n #selectComponent\n [multiple]=\"multiple\"\n [disableRipple]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [hideSingleSelectionIndicator]=\"true\"\n [ngClass]=\"{ focused: selectComponent.focused }\"\n (selectionChange)=\"select($event)\"\n (opened)=\"panelOpened()\"\n>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.value\">\n {{ option.viewValue }}\n </mat-option>\n</mat-select>\n","import { Directive, EventEmitter, Host, NgZone, Optional, Output } from '@angular/core';\nimport { asyncScheduler, fromEvent, observeOn, takeUntil } from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmAutocomplete]',\n standalone: true,\n})\nexport class AutocompleteDirective {\n @Output() panelScrolled: EventEmitter<void> = new EventEmitter();\n\n private _scrollWidth: number = 0;\n\n private _scrollWidthChanged: boolean = false;\n\n constructor(private zone: NgZone, @Host() @Optional() private autocomplete: MatAutocomplete) {\n this.handleOpenEvent();\n }\n\n private handleOpenEvent(): void {\n this.autocomplete.opened\n .pipe(untilDestroyed(this))\n .pipe(observeOn(asyncScheduler))\n .subscribe(() => this.zone.runOutsideAngular(() => this.handleScrolling()));\n }\n\n private handleScrolling(): void {\n const panel: HTMLElement = this.autocomplete.panel.nativeElement;\n\n this.setScrollWidth(panel.scrollWidth);\n\n fromEvent(panel, 'scroll')\n .pipe(takeUntil(this.autocomplete.closed))\n .subscribe(() => {\n if (this._scrollWidth !== panel.scrollWidth) {\n this.setScrollWidth(panel.scrollWidth);\n }\n\n if (panel.scrollWidth * 0.6 <= panel.scrollTop && this._scrollWidthChanged) {\n this.zone.run(() => this.panelScrolled.emit());\n\n this._scrollWidthChanged = false;\n }\n });\n }\n\n private setScrollWidth(width: number): void {\n this._scrollWidth = width;\n\n this._scrollWidthChanged = true;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { WlcmFormFieldComponent } from '../form-field/form-field.component';\nimport { WlcmLabelComponent } from '../label/label.component';\nimport { WlcmInputDirective } from '../../directives/input.directive';\nimport { MatAutocompleteModule, MatAutocompleteOrigin, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport {\n BehaviorSubject,\n EMPTY,\n Observable,\n Subject,\n asyncScheduler,\n concatMap,\n debounceTime,\n empty,\n filter,\n first,\n observeOn,\n switchMap,\n tap,\n} from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { AutocompleteDirective } from '../../directives/autocomplete.directive';\nimport { DEFAULT_QUERY_PARAMS, PaginatedData, QueryParams, WlcmAutocompleteOption } from '@wlcm/angular/core';\nimport { WLCM_FORM_FIELD, WLCM_INPUT } from '../../constants';\nimport { WlcmInputGetter } from '../../models/input.models';\nimport { WlcmFormField } from '../../models/form.models';\n\ntype Option = WlcmAutocompleteOption;\n\ntype AutocompleteValue = WlcmAutocompleteOption | string | null;\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-autocomplete',\n standalone: true,\n imports: [\n CommonModule,\n MatAutocompleteModule,\n AutocompleteDirective,\n ReactiveFormsModule,\n WlcmFormFieldComponent,\n WlcmLabelComponent,\n WlcmInputDirective,\n ],\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmAutocompleteComponent), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmAutocompleteComponent), multi: true },\n ],\n})\nexport class WlcmAutocompleteComponent implements OnInit, ControlValueAccessor, Validator, AfterViewInit {\n @Input() pullDataMethod!: (params: QueryParams) => Observable<PaginatedData<Option>>;\n\n @Input() label!: string;\n\n @Input() required: boolean = false;\n\n @Input() placeholder: string = '';\n\n readonly control: FormControl<AutocompleteValue> = new FormControl('');\n\n private readonly _loadMore$: Subject<void> = new Subject();\n\n private readonly _options$: BehaviorSubject<Option[]> = new BehaviorSubject<Option[]>([]);\n\n protected readonly options$: Observable<Option[]> = this._options$.asObservable();\n\n protected readonly closed$: Subject<void> = new Subject();\n\n private queryParams: QueryParams = { ...DEFAULT_QUERY_PARAMS, limit: 15 };\n\n private _changed?: (value: string) => void;\n\n private _touched?: () => void;\n\n private _onValidatorChange?: () => void;\n\n private _paginatedData: PaginatedData<Option> | null = null;\n\n @ViewChild(WLCM_INPUT) public wlcmInput!: WlcmInputGetter;\n\n @ViewChild(MatAutocompleteTrigger) private autocompleteTrigger!: MatAutocompleteTrigger;\n\n constructor(@Inject(WLCM_FORM_FIELD) private formField: WlcmFormField) {\n this.handleLoadMoreEvent();\n this.handleControlValueChanges();\n }\n\n ngOnInit(): void {\n this.loadOptions(this.queryParams).subscribe();\n }\n\n ngAfterViewInit(): void {\n const container: ElementRef = this.formField.inputContainer;\n\n const origin: MatAutocompleteOrigin = new MatAutocompleteOrigin(container);\n\n this.autocompleteTrigger.connectedTo = origin;\n }\n\n displayWith(value: Option | string): string {\n if (value instanceof Object) {\n return value.viewValue;\n }\n\n return value;\n }\n\n loadMore(): void {\n this._loadMore$.next();\n }\n\n writeValue(value: AutocompleteValue): void {\n this.control.setValue(value);\n }\n\n registerOnChange(callback: (value: string) => void): void {\n this._changed = callback;\n }\n\n registerOnTouched(callback: () => void): void {\n this._touched = callback;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n return this.control.disable();\n }\n\n this.control.enable();\n }\n\n blured(): void {\n let closed: Observable<void> = new Observable((observer) => (observer.next(), observer.complete()));\n\n if (this.autocompleteTrigger.panelOpen) {\n closed = this.closed$.pipe(first(), observeOn(asyncScheduler));\n }\n\n closed.subscribe(() => this._touched?.());\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n if (!!this.control.value) {\n if (this.control.value instanceof Object) return null;\n\n return { ...control.errors, unselected: true, required: false };\n }\n\n return null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this._onValidatorChange = fn;\n }\n\n private loadOptions(params: QueryParams): Observable<PaginatedData<Option>> {\n this._options$.next([]);\n\n return this.pullDataMethod({ ...params, page: 1 }).pipe(\n tap((paginatedData: PaginatedData<Option>) => {\n this._paginatedData = paginatedData;\n\n this._options$.next(paginatedData.data);\n })\n );\n }\n\n private handleLoadMoreEvent(): void {\n this._loadMore$\n .pipe(\n concatMap(() => {\n if (this._paginatedData && this._paginatedData.currPage + 1 <= this._paginatedData.totalPages) {\n this.queryParams.page++;\n\n return this.pullDataMethod(this.queryParams).pipe(\n tap((paginatedData: PaginatedData<Option>) => {\n this._paginatedData = paginatedData;\n\n this._options$.next([...this._options$.value, ...paginatedData.data]);\n })\n );\n }\n\n return EMPTY;\n })\n )\n .subscribe();\n }\n\n private handleControlValueChanges(): void {\n this.control.valueChanges\n .pipe(debounceTime(200))\n .pipe(untilDestroyed(this))\n .pipe(\n filter((value: AutocompleteValue) => {\n this._onValidatorChange?.();\n\n if (!(value instanceof Object)) return true;\n\n this._changed?.(value.value);\n\n return false;\n })\n )\n .pipe(\n switchMap((value: AutocompleteValue) => {\n return this.loadOptions({ ...this.queryParams, query: value as string });\n })\n )\n .subscribe();\n }\n}\n","<input\n wlcmInput\n type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n (blur)=\"blured()\"\n/>\n\n<mat-autocomplete\n #autocomplete=\"matAutocomplete\"\n wlcmAutocomplete\n [disableRipple]=\"true\"\n [displayWith]=\"displayWith\"\n [hideSingleSelectionIndicator]=\"true\"\n (panelScrolled)=\"loadMore()\"\n (closed)=\"closed$.next()\"\n>\n <mat-option *ngFor=\"let option of options$ | async\" [value]=\"option\">\n {{ option.viewValue }}\n </mat-option>\n</mat-autocomplete>\n","import { Directive, inject } from '@angular/core';\nimport { WlcmAutocompleteComponent } from '../components/autocomplete/autocomplete.component';\nimport { WLCM_INPUT_BINDER } from '../constants';\n\n@Directive({\n standalone: true,\n selector: '[wlcmAcInputBinder]',\n providers: [\n {\n provide: WLCM_INPUT_BINDER,\n useFactory: () => {\n const ac: WlcmAutocompleteComponent = inject(WlcmAutocompleteComponent, { self: true });\n\n return { bind: () => ac.wlcmInput?.get() };\n },\n },\n ],\n})\nexport class WlcmAcInputBinderDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[wlcmFormFieldSuffix]',\n standalone: true,\n})\nexport class WlcmFormFieldSuffixDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[wlcmFormFieldHint]',\n host: { class: 'wlcm-hint' },\n standalone: true,\n})\nexport class WlcmFormFieldHintDirective {}\n","import { NgModule, Type } from '@angular/core';\nimport { WlcmFormFieldComponent } from './components/form-field/form-field.component';\nimport { WlcmInputDirective } from './directives/input.directive';\nimport { WlcmLabelComponent } from './components/label/label.component';\nimport { WlcmSelectComponent } from './components/select/select.component';\nimport { WlcmFormFieldCustomContainerDirective } from './directives/form-field-custom-container.directive';\nimport { WlcmAutocompleteComponent } from './components/autocomplete/autocomplete.component';\nimport { WlcmAcInputBinderDirective } from './directives/ac-input-binder.directive';\nimport { WlcmFormFieldSuffixDirective } from './directives/form-field-suffix.directive';\nimport { WlcmFormFieldHintDirective } from './directives/form-field-hint.directive';\n\nconst directives: Type<unknown>[] = [\n WlcmInputDirective,\n WlcmFormFieldCustomContainerDirective,\n WlcmFormFieldSuffixDirective,\n WlcmAcInputBinderDirective,\n WlcmFormFieldHintDirective,\n];\n\nconst components: Type<unknown>[] = [\n WlcmFormFieldComponent,\n WlcmAutocompleteComponent,\n WlcmSelectComponent,\n WlcmLabelComponent,\n];\n\n@NgModule({\n imports: [...components, ...directives],\n exports: [...components, ...directives],\n})\nexport class WlcmFormsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;;;;MAYa,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ/B,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,IAAA,EACjB,EAAE,KAAK,EAAE,YAAY,EAAE,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;;;MELpC,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,cAAc,GAAkB,IAAI,OAAO,EAAE,CAAC;AAEtD,QAAA,IAAA,CAAA,aAAa,GAAqB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AAK/E,KAAA;IAHC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC5B;8GAPU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCArB,SAAS,GAA6B,IAAI,cAAc,CACnE,WAAW,EACX;AAEW,MAAA,kBAAkB,GAAa;AAC1C,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,uBAAuB;EACjC;MAEW,iBAAiB,GAC5B,IAAI,cAAc,CAAC,mBAAmB,EAAE;AAE7B,MAAA,0BAA0B,GAAa;AAClD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,UAAU,EAAE,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;MCZ5D,qCAAqC,CAAA;AAChD,IAAA,WAAA,CAAmB,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;KAAI;8GAD/C,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAJjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCFY,WAAW,GAAmC,IAAI,cAAc,CAAC,aAAa,EAAE;MAEhF,oBAAoB,GAAgC,IAAI,cAAc,CAAC,sBAAsB,EAAE;AAC1G,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE;AACzB,CAAA;;MCMY,gBAAgB,CAAA;AAK3B,IAAA,WAAA,CACU,iBAAoC,EACf,MAAsB,EACb,cAA2B,EAAA;QAFzD,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACf,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QACb,IAAc,CAAA,cAAA,GAAd,cAAc,CAAa;AAP3D,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAE,CAAC;QAEhD,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;KAM/B;AAEJ,IAAA,SAAS,CAAC,OAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAElC,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;AAEO,IAAA,kBAAkB,CAAC,MAA+B,EAAA;AACxD,QAAA,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CACzB,CAAC,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,CACpD,CAAC;QAEF,MAAM,WAAW,GAAa,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAuB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAY,KACrE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAC9B,CAAC;QAEF,MAAM,WAAW,GAAW,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAqB,GAC/D,MAAM,CAAC,WAAW,CAAC,CACpB,CAAC;SACH;KACF;AAEO,IAAA,mBAAmB,CAAC,OAAoB,EAAA;AAC9C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAErB,QAAA,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAClE,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAExC,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;8GAjDU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAOjB,WAAW,EAAA,EAAA,EAAA,KAAA,EACX,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GARnB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;0BAQI,MAAM;2BAAC,WAAW,CAAA;;0BAClB,MAAM;2BAAC,oBAAoB,CAAA;;;MClBnB,UAAU,GAAoC,IAAI,cAAc,CAAC,YAAY,EAAE;MAE/E,iBAAiB,GAAoC,IAAI,cAAc,CAAC,mBAAmB,EAAE;MAE7F,eAAe,GAAkC,IAAI,cAAc,CAAC,iBAAiB;;AC+BrF,IAAA,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AAWjC,IAAA,IAA6C,SAAS,GAAA;QACpD,OAAO,IAAI,CAAC,QAAQ,EAAE,aAAa,KAAK,QAAQ,CAAC,aAAa,CAAC;KAChE;AAED,IAAA,IAA8C,UAAU,GAAA;QACtD,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACxD;AAED,IAAA,IAA6C,SAAS,GAAA;AACpD,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9B;AAED,IAAA,IAA6C,SAAS,GAAA;AACpD,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9B;IAED,WAGU,CAAA,gBAAiC,EACjC,iBAAoC,EAAA;QADpC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;QACjC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAC1C;IAEJ,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAC3C,YAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC9E;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;SACtC;KACF;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;AAED,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe,EAAE,UAAU,IAAK,IAAI,CAAC,gBAA4C,CAAC;KAC/F;IAEO,kBAAkB,GAAA;AACxB,QAAA,MAAM,MAAM,GAA0B,IAAI,CAAC,aAAa,CAAC;AAEzD,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAClD;QAED,KAAK,CAAC,GAAG,MAAM,CAAC;AACb,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC1B,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;KAC3D;AAED,IAAA,IAAY,QAAQ,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;KAC9B;AAED,IAAA,IAAY,aAAa,GAAA;QACvB,MAAM,MAAM,GAA0B,EAAE,CAAC;AAEzC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,OAAO,GAAsB,IAAI,CAAC,QAAuB,CAAC,aAAa,CAAC;AAE9E,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACtE;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACzC;AAED,QAAA,OAAO,MAAM,CAAC;KACf;AAtFU,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,sBAAsB,kBA6BvB,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA7BhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EALtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA;YACT,0BAA0B;AAC1B,YAAA,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC,EAAE;AACpF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGa,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAET,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEV,qCAAqC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5CrD,onBAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,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,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAUjD,sBAAsB,GAAA,UAAA,CAAA;AAdlC,IAAA,YAAY,EAAE;6CA6CgB,iBAAiB,CAAA,CAAA;AA/BnC,CAAA,EAAA,sBAAsB,CAuFlC,CAAA;2FAvFY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,QACvD,EAAE,KAAK,EAAE,iBAAiB,EAAE,mBAGjB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACT,0BAA0B;AAC1B,wBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,MAA4B,sBAAA,CAAC,EAAE;AACpF,qBAAA,EAAA,QAAA,EAAA,onBAAA,EAAA,CAAA;;0BA8BE,QAAQ;;0BACR,MAAM;2BAAC,iBAAiB,CAAA;yEA5B6B,SAAS,EAAA,CAAA;sBAAhE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAEZ,SAAS,EAAA,CAAA;sBAA1C,YAAY;uBAAC,UAAU,CAAA;gBAGd,eAAe,EAAA,CAAA;sBADxB,YAAY;uBAAC,qCAAqC,CAAA;gBAIzC,gBAAgB,EAAA,CAAA;sBADzB,SAAS;uBAAC,kBAAkB,CAAA;gBAGgB,SAAS,EAAA,CAAA;sBAArD,WAAW;uBAAC,0BAA0B,CAAA;gBAIO,UAAU,EAAA,CAAA;sBAAvD,WAAW;uBAAC,2BAA2B,CAAA;gBAIK,SAAS,EAAA,CAAA;sBAArD,WAAW;uBAAC,0BAA0B,CAAA;gBAIM,SAAS,EAAA,CAAA;sBAArD,WAAW;uBAAC,0BAA0B,CAAA;;;MEzC5B,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAdlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,MAAK;AACf,oBAAA,MAAM,QAAQ,GAAiC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAElF,oBAAA,MAAM,MAAM,GAA2B,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEjG,OAAO,EAAE,GAAG,EAAE,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;iBAC3D;AACF,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAGU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjB9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;AACxC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,UAAU;4BACnB,UAAU,EAAE,MAAK;AACf,gCAAA,MAAM,QAAQ,GAAiC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAElF,gCAAA,MAAM,MAAM,GAA2B,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gCAEjG,OAAO,EAAE,GAAG,EAAE,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;6BAC3D;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCRY,kBAAkB,CAAA;AAT/B,IAAA,WAAA,GAAA;QAUW,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAKpC,KAAA;AAHC,IAAA,IAAmC,UAAU,GAAA;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;8GALU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ/B,6EAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,IAAA,EACjB,EAAE,KAAK,EAAE,YAAY,EAAE,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6EAAA,EAAA,CAAA;8BAGtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAE6B,UAAU,EAAA,CAAA;sBAA5C,WAAW;uBAAC,gBAAgB,CAAA;;;AEY/B,MAAM,WAAW,GAAW,mBAAmB,CAAC;AAiBnC,IAAA,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;IAe9B,WACU,CAAA,iBAAoC,EACG,gBAAiC,EAAA;QADxE,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACG,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;QAhBzE,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAE1B,IAAW,CAAA,WAAA,GAAW,cAAc,CAAC;QAErC,IAAO,CAAA,OAAA,GAAiB,EAAE,CAAC;AAE3B,QAAA,IAAA,CAAA,OAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;AAYhD,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;KACF;AAED,IAAA,MAAM,CAAC,KAAsB,EAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAE7B,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC;KAC5B;IAED,WAAW,GAAA;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,KAAkB,EAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9B;AAED,IAAA,gBAAgB,CAAC,QAAqC,EAAA;AACpD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAED,IAAA,iBAAiB,CAAC,QAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAED,IAAA,yBAAyB,CAAC,QAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACnC;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvC,QAAA,IAAI,OAAO,CAAC,OAAO,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;SAC9B;aAAM;AACL,YAAA,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;SAChC;KACF;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC5E,YAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC;AAE3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;IAEO,kBAAkB,GAAA;QACxB,MAAM,gBAAgB,GAAuB,QAAQ,CAAC,aAAa,CAAC,CAA+B,4BAAA,EAAA,WAAW,CAAG,CAAA,CAAA,CAAC,CAAC;QAEnH,MAAM,QAAQ,GAAmC,gBAAgB,EAAE,aAAa,CAAC,CAAA,qBAAA,CAAuB,CAAC,CAAC;AAE1G,QAAA,IAAI,QAAQ,YAAY,WAAW,EAAE;AACnC,YAAA,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,QAAQ,IAAI,CAAC;AAElB,gBAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC;AAE3B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;SACN;KACF;AApFU,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,mDAiBR,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAjB5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAPnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;YACT,0BAA0B;YAC1B,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE;AAC5E,YAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3F,YAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAChG,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CH,wcAeA,EDkBY,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,mrBAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAWjD,mBAAmB,GAAA,UAAA,CAAA;AAf/B,IAAA,YAAY,EAAE;qCA+BgB,iBAAiB,EAAA,MAAA,CAAA,CAAA;AAhBnC,CAAA,EAAA,mBAAmB,CAqF/B,CAAA;2FArFY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACX,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAG5C,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACT,0BAA0B;wBAC1B,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE;AAC5E,wBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3F,wBAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAChG,qBAAA,EAAA,QAAA,EAAA,wcAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;;0BAmBE,QAAQ;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;yCAhB9B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEvCD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB,CAAA;IAOhC,WAAoB,CAAA,IAAY,EAA8B,YAA6B,EAAA;QAAvE,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAA8B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AANjF,QAAA,IAAA,CAAA,aAAa,GAAuB,IAAI,YAAY,EAAE,CAAC;QAEzD,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;QAEzB,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;QAG3C,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAEO,eAAe,GAAA;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM;AACrB,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KAC/E;IAEO,eAAe,GAAA;QACrB,MAAM,KAAK,GAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;AAEjE,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAEvC,QAAA,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;aACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aACzC,SAAS,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aACxC;AAED,YAAA,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1E,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/C,gBAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAClC;AACH,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,cAAc,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACjC;8GA1CU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAArB,qBAAqB,GAAA,UAAA,CAAA;AALjC,IAAA,YAAY,EAAE;AAYa,IAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,MAAM,EAA4C,eAAe,CAAA,CAAA;AAPhF,CAAA,EAAA,qBAAqB,CA2CjC,CAAA;2FA3CY,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;0BAQoC,IAAI;;0BAAI,QAAQ;yCANzC,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AC8DI,IAAA,yBAAyB,GAA/B,MAAM,yBAAyB,CAAA;AAiCpC,IAAA,WAAA,CAA6C,SAAwB,EAAA;QAAxB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QA5B5D,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAE1B,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAmC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAEtD,QAAA,IAAA,CAAA,UAAU,GAAkB,IAAI,OAAO,EAAE,CAAC;AAE1C,QAAA,IAAA,CAAA,SAAS,GAA8B,IAAI,eAAe,CAAW,EAAE,CAAC,CAAC;AAEvE,QAAA,IAAA,CAAA,QAAQ,GAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;AAE/D,QAAA,IAAA,CAAA,OAAO,GAAkB,IAAI,OAAO,EAAE,CAAC;QAElD,IAAW,CAAA,WAAA,GAAgB,EAAE,GAAG,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAQlE,IAAc,CAAA,cAAA,GAAiC,IAAI,CAAC;QAO1D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;KAChD;IAED,eAAe,GAAA;AACb,QAAA,MAAM,SAAS,GAAe,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;AAE5D,QAAA,MAAM,MAAM,GAA0B,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,GAAG,MAAM,CAAC;KAC/C;AAED,IAAA,WAAW,CAAC,KAAsB,EAAA;AAChC,QAAA,IAAI,KAAK,YAAY,MAAM,EAAE;YAC3B,OAAO,KAAK,CAAC,SAAS,CAAC;SACxB;AAED,QAAA,OAAO,KAAK,CAAC;KACd;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;AAED,IAAA,UAAU,CAAC,KAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9B;AAED,IAAA,gBAAgB,CAAC,QAAiC,EAAA;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAED,IAAA,iBAAiB,CAAC,QAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SAC/B;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KACvB;IAED,MAAM,GAAA;QACJ,IAAI,MAAM,GAAqB,IAAI,UAAU,CAAC,CAAC,QAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEpG,QAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE;AACtC,YAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;SAChE;AAED,QAAA,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;KAC3C;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;QAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,MAAM;AAAE,gBAAA,OAAO,IAAI,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SACjE;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,yBAAyB,CAAC,EAAc,EAAA;AACtC,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;KAC9B;AAEO,IAAA,WAAW,CAAC,MAAmB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CACrD,GAAG,CAAC,CAAC,aAAoC,KAAI;AAC3C,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAEpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACzC,CAAC,CACH,CAAC;KACH;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,UAAU;AACZ,aAAA,IAAI,CACH,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;AAC7F,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAExB,gBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/C,GAAG,CAAC,CAAC,aAAoC,KAAI;AAC3C,oBAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AAEpC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvE,CAAC,CACH,CAAC;aACH;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CACH;AACA,aAAA,SAAS,EAAE,CAAC;KAChB;IAEO,yBAAyB,GAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,YAAY;AACtB,aAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACvB,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,KAAwB,KAAI;AAClC,YAAA,IAAI,CAAC,kBAAkB,IAAI,CAAC;AAE5B,YAAA,IAAI,EAAE,KAAK,YAAY,MAAM,CAAC;AAAE,gBAAA,OAAO,IAAI,CAAC;YAE5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAE7B,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CACH;AACA,aAAA,IAAI,CACH,SAAS,CAAC,CAAC,KAAwB,KAAI;AACrC,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAe,EAAE,CAAC,CAAC;AAC3E,SAAC,CAAC,CACH;AACA,aAAA,SAAS,EAAE,CAAC;KAChB;AAjKU,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,yBAAyB,kBAiChB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAjCxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EALzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AACrG,YAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAClG,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA+BU,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEV,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxGnC,gjBAsBA,EDmCI,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,qBAAqB,EACrB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,EACrB,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0kBAGnB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAUT,yBAAyB,GAAA,UAAA,CAAA;AArBrC,IAAA,YAAY,EAAE;;AAqBF,CAAA,EAAA,yBAAyB,CAkKrC,CAAA;2FAlKY,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,qBAAqB;wBACrB,qBAAqB;wBACrB,mBAAmB;wBACnB,sBAAsB;wBACtB,kBAAkB;wBAClB,kBAAkB;qBACnB,EAGgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AACrG,wBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAClG,qBAAA,EAAA,QAAA,EAAA,gjBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;;0BAmCY,MAAM;2BAAC,eAAe,CAAA;yCAhC1B,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAsBwB,SAAS,EAAA,CAAA;sBAAtC,SAAS;uBAAC,UAAU,CAAA;gBAEsB,mBAAmB,EAAA,CAAA;sBAA7D,SAAS;uBAAC,sBAAsB,CAAA;;;MEtFtB,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,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,EAX1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,MAAK;AACf,oBAAA,MAAM,EAAE,GAA8B,MAAM,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAExF,oBAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;iBAC5C;AACF,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAdtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,UAAU,EAAE,MAAK;AACf,gCAAA,MAAM,EAAE,GAA8B,MAAM,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAExF,gCAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;6BAC5C;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;MCXY,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCEY,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACKD,MAAM,UAAU,GAAoB;IAClC,kBAAkB;IAClB,qCAAqC;IACrC,4BAA4B;IAC5B,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEF,MAAM,UAAU,GAAoB;IAClC,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;MAMW,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,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,eAAe,YAV1B,sBAAsB;YACtB,yBAAyB;YACzB,mBAAmB;AACnB,YAAA,kBAAkB,EAXlB,kBAAkB;YAClB,qCAAqC;YACrC,4BAA4B;YAC5B,0BAA0B;AAC1B,YAAA,0BAA0B,aAI1B,sBAAsB;YACtB,yBAAyB;YACzB,mBAAmB;AACnB,YAAA,kBAAkB,EAXlB,kBAAkB;YAClB,qCAAqC;YACrC,4BAA4B;YAC5B,0BAA0B;YAC1B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;AAcf,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,eAAe,YAHb,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGZ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;AACxC,iBAAA,CAAA;;;AC7BD;;AAEG;;;;"}
@@ -0,0 +1,9 @@
1
+ export * from './lib/forms/forms.module';
2
+ export * from './lib/forms/models/_index';
3
+ export * from './lib/forms/constants/index';
4
+ export * from './lib/forms/directives/form-field-custom-container.directive';
5
+ export * from './lib/forms/directives/form-field-suffix.directive';
6
+ export * from './lib/forms/directives/form-field-hint.directive';
7
+ export * from './lib/forms/directives/ac-input-binder.directive';
8
+ export * from './lib/forms/directives/input.directive';
9
+ export * from './lib/forms/components';
@@ -0,0 +1,46 @@
1
+ import { AfterViewInit, OnInit } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms';
3
+ import { Observable, Subject } from 'rxjs';
4
+ import { PaginatedData, QueryParams, WlcmAutocompleteOption } from '@wlcm/angular/core';
5
+ import { WlcmInputGetter } from '../../models/input.models';
6
+ import { WlcmFormField } from '../../models/form.models';
7
+ import * as i0 from "@angular/core";
8
+ type Option = WlcmAutocompleteOption;
9
+ type AutocompleteValue = WlcmAutocompleteOption | string | null;
10
+ export declare class WlcmAutocompleteComponent implements OnInit, ControlValueAccessor, Validator, AfterViewInit {
11
+ private formField;
12
+ pullDataMethod: (params: QueryParams) => Observable<PaginatedData<Option>>;
13
+ label: string;
14
+ required: boolean;
15
+ placeholder: string;
16
+ readonly control: FormControl<AutocompleteValue>;
17
+ private readonly _loadMore$;
18
+ private readonly _options$;
19
+ protected readonly options$: Observable<Option[]>;
20
+ protected readonly closed$: Subject<void>;
21
+ private queryParams;
22
+ private _changed?;
23
+ private _touched?;
24
+ private _onValidatorChange?;
25
+ private _paginatedData;
26
+ wlcmInput: WlcmInputGetter;
27
+ private autocompleteTrigger;
28
+ constructor(formField: WlcmFormField);
29
+ ngOnInit(): void;
30
+ ngAfterViewInit(): void;
31
+ displayWith(value: Option | string): string;
32
+ loadMore(): void;
33
+ writeValue(value: AutocompleteValue): void;
34
+ registerOnChange(callback: (value: string) => void): void;
35
+ registerOnTouched(callback: () => void): void;
36
+ setDisabledState(isDisabled: boolean): void;
37
+ blured(): void;
38
+ validate(control: AbstractControl): ValidationErrors | null;
39
+ registerOnValidatorChange(fn: () => void): void;
40
+ private loadOptions;
41
+ private handleLoadMoreEvent;
42
+ private handleControlValueChanges;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmAutocompleteComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmAutocompleteComponent, "wlcm-autocomplete", never, { "pullDataMethod": { "alias": "pullDataMethod"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, true, never>;
45
+ }
46
+ export {};
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmErrorComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmErrorComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmErrorComponent, "wlcm-error", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,27 @@
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
2
+ import { AbstractControl } from '@angular/forms';
3
+ import { WlcmFormFieldCustomContainerDirective } from '../../directives/form-field-custom-container.directive';
4
+ import { WlcmFormControl } from '../../models/form.models';
5
+ import * as i0 from "@angular/core";
6
+ export declare class WlcmFormFieldComponent implements AfterViewInit {
7
+ private parentFormMember;
8
+ private changeDetectorRef;
9
+ private ngControl;
10
+ private _inputRef?;
11
+ protected customContainer?: WlcmFormFieldCustomContainerDirective;
12
+ protected defaultContainer?: ElementRef<HTMLElement>;
13
+ get isFocused(): boolean;
14
+ get isRequired(): boolean | undefined;
15
+ get isInvalid(): boolean | undefined;
16
+ get isTouched(): boolean | undefined;
17
+ constructor(parentFormMember: WlcmFormControl, changeDetectorRef: ChangeDetectorRef);
18
+ ngAfterViewInit(): void;
19
+ focus(): void;
20
+ get control(): AbstractControl | null;
21
+ get inputContainer(): ElementRef<HTMLElement>;
22
+ private handleStateChanges;
23
+ private get inputRef();
24
+ private get controlEvents();
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFormFieldComponent, [{ optional: true; }, null]>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmFormFieldComponent, "wlcm-form-field", never, {}, {}, ["ngControl", "_inputRef", "customContainer"], ["wlcm-label", "[wlcmFormFieldCustomContainer]", "[wlcmInput], wlcm-autocomplete", "[wlcmFormFieldSuffix]", "[wlcmFormFieldHint]"], true, never>;
27
+ }
@@ -0,0 +1,5 @@
1
+ export * from './autocomplete/autocomplete.component';
2
+ export * from './form-field/form-field.component';
3
+ export * from './select/select.component';
4
+ export * from './error/error.component';
5
+ export * from './label/label.component';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmLabelComponent {
3
+ required: boolean;
4
+ get isRequired(): boolean;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmLabelComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmLabelComponent, "wlcm-label", never, { "required": { "alias": "required"; "required": false; }; }, {}, never, ["*"], true, never>;
7
+ }
@@ -0,0 +1,31 @@
1
+ import { ChangeDetectorRef } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, FormControl } from '@angular/forms';
3
+ import { MatSelectChange } from '@angular/material/select';
4
+ import { WlcmOption } from '@wlcm/angular/core';
5
+ import { WlcmFormControl } from '../../models/_index';
6
+ import * as i0 from "@angular/core";
7
+ type SelectValue = string[] | string;
8
+ export declare class WlcmSelectComponent implements ControlValueAccessor {
9
+ private changeDetectorRef;
10
+ private parentFormMember;
11
+ multiple: boolean;
12
+ placeholder: string;
13
+ options: WlcmOption[];
14
+ readonly control: FormControl;
15
+ private _changed?;
16
+ private _touched?;
17
+ private _validatorChanged?;
18
+ constructor(changeDetectorRef: ChangeDetectorRef, parentFormMember: WlcmFormControl);
19
+ select(event: MatSelectChange): void;
20
+ panelOpened(): void;
21
+ writeValue(value: SelectValue): void;
22
+ registerOnChange(callback: (value: WlcmOption) => void): void;
23
+ registerOnTouched(callback: () => void): void;
24
+ registerOnValidatorChange(callback: () => void): void;
25
+ validate(control: AbstractControl): void;
26
+ private handleStateChange;
27
+ private handleClickOutside;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmSelectComponent, [null, { optional: true; }]>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmSelectComponent, "wlcm-select", never, { "multiple": { "alias": "multiple"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
30
+ }
31
+ export {};
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { WlcmInputBinder, WlcmInputGetter } from '../models/input.models';
3
+ import { WlcmFormField } from '../models/form.models';
4
+ export declare const WLCM_INPUT: InjectionToken<WlcmInputGetter>;
5
+ export declare const WLCM_INPUT_BINDER: InjectionToken<WlcmInputBinder>;
6
+ export declare const WLCM_FORM_FIELD: InjectionToken<WlcmFormField>;
@@ -0,0 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { WlcmFormErrors } from '../models/form-errors.models';
3
+ export declare const WLCM_ERRORS: InjectionToken<WlcmFormErrors>;
4
+ export declare const WLCM_PRIORITY_ERRORS: InjectionToken<Set<string>>;
@@ -0,0 +1,6 @@
1
+ import { InjectionToken, Provider } from '@angular/core';
2
+ import { WlcmForm, WlcmFormControl } from '../models/form.models';
3
+ export declare const WLCM_FORM: InjectionToken<WlcmForm>;
4
+ export declare const WLCM_FORM_PROVIDER: Provider;
5
+ export declare const WLCM_FORM_CONTROL: InjectionToken<WlcmFormControl>;
6
+ export declare const WLCM_FORM_CONTROL_PROVIDER: Provider;
@@ -0,0 +1,3 @@
1
+ export * from './form-errors.constants';
2
+ export * from './form-elements.constants';
3
+ export * from './form-state-handlers.constants';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmAcInputBinderDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmAcInputBinderDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmAcInputBinderDirective, "[wlcmAcInputBinder]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,16 @@
1
+ import { EventEmitter, NgZone } from '@angular/core';
2
+ import { MatAutocomplete } from '@angular/material/autocomplete';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AutocompleteDirective {
5
+ private zone;
6
+ private autocomplete;
7
+ panelScrolled: EventEmitter<void>;
8
+ private _scrollWidth;
9
+ private _scrollWidthChanged;
10
+ constructor(zone: NgZone, autocomplete: MatAutocomplete);
11
+ private handleOpenEvent;
12
+ private handleScrolling;
13
+ private setScrollWidth;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteDirective, [null, { optional: true; host: true; }]>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AutocompleteDirective, "[wlcmAutocomplete]", never, {}, { "panelScrolled": "panelScrolled"; }, never, never, true, never>;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class WlcmFormFieldCustomContainerDirective {
4
+ elementRef: ElementRef<HTMLElement>;
5
+ constructor(elementRef: ElementRef<HTMLElement>);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFormFieldCustomContainerDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmFormFieldCustomContainerDirective, "[wlcmFormFieldCustomContainer]", never, {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmFormFieldHintDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFormFieldHintDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmFormFieldHintDirective, "[wlcmFormFieldHint]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmFormFieldSuffixDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFormFieldSuffixDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmFormFieldSuffixDirective, "[wlcmFormFieldSuffix]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class WlcmInputDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmInputDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmInputDirective, "[wlcmInput]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./components/form-field/form-field.component";
3
+ import * as i2 from "./components/autocomplete/autocomplete.component";
4
+ import * as i3 from "./components/select/select.component";
5
+ import * as i4 from "./components/label/label.component";
6
+ import * as i5 from "./directives/input.directive";
7
+ import * as i6 from "./directives/form-field-custom-container.directive";
8
+ import * as i7 from "./directives/form-field-suffix.directive";
9
+ import * as i8 from "./directives/ac-input-binder.directive";
10
+ import * as i9 from "./directives/form-field-hint.directive";
11
+ export declare class WlcmFormsModule {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmFormsModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmFormsModule, never, [typeof i1.WlcmFormFieldComponent, typeof i2.WlcmAutocompleteComponent, typeof i3.WlcmSelectComponent, typeof i4.WlcmLabelComponent, typeof i5.WlcmInputDirective, typeof i6.WlcmFormFieldCustomContainerDirective, typeof i7.WlcmFormFieldSuffixDirective, typeof i8.WlcmAcInputBinderDirective, typeof i9.WlcmFormFieldHintDirective], [typeof i1.WlcmFormFieldComponent, typeof i2.WlcmAutocompleteComponent, typeof i3.WlcmSelectComponent, typeof i4.WlcmLabelComponent, typeof i5.WlcmInputDirective, typeof i6.WlcmFormFieldCustomContainerDirective, typeof i7.WlcmFormFieldSuffixDirective, typeof i8.WlcmAcInputBinderDirective, typeof i9.WlcmFormFieldHintDirective]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmFormsModule>;
15
+ }
@@ -0,0 +1,3 @@
1
+ export * from './form-errors.models';
2
+ export * from './form.models';
3
+ export * from './input.models';
@@ -0,0 +1,5 @@
1
+ import { ValidationErrors } from '@angular/forms';
2
+ export type WlcmFormErrors = {
3
+ [key: string]: WlcmFormErrorFn;
4
+ };
5
+ export type WlcmFormErrorFn = (error: ValidationErrors) => string;
@@ -0,0 +1,11 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ export interface WlcmForm {
4
+ updateFormState(): void;
5
+ }
6
+ export interface WlcmFormControl {
7
+ readonly stateChanges$: Observable<void>;
8
+ }
9
+ export interface WlcmFormField {
10
+ get inputContainer(): ElementRef<HTMLElement>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ElementRef } from '@angular/core';
2
+ export interface WlcmInputGetter {
3
+ get: () => ElementRef<HTMLInputElement>;
4
+ }
5
+ export interface WlcmInputBinder {
6
+ bind: () => ElementRef<HTMLInputElement>;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectorRef, PipeTransform } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { WlcmFormErrors } from '../models/form-errors.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ErrorsMapperPipe implements PipeTransform {
6
+ private changeDetectorRef;
7
+ private errors;
8
+ private priorityErrors;
9
+ private destroy$;
10
+ currentError: string | null;
11
+ constructor(changeDetectorRef: ChangeDetectorRef, errors: WlcmFormErrors, priorityErrors: Set<string>);
12
+ transform(control: FormControl): string | null;
13
+ private retrieveFirstError;
14
+ private handleStatusChanges;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorsMapperPipe, never>;
16
+ static ɵpipe: i0.ɵɵPipeDeclaration<ErrorsMapperPipe, "errorsMapper", true>;
17
+ }
@@ -0,0 +1,10 @@
1
+ import { WlcmForm, WlcmFormControl } from '../models/form.models';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FormStateHandlerService implements WlcmForm, WlcmFormControl {
5
+ private readonly _stateChanges$;
6
+ readonly stateChanges$: Observable<void>;
7
+ updateFormState(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormStateHandlerService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<FormStateHandlerService>;
10
+ }
@@ -0,0 +1 @@
1
+ export * from './form-state-handler.service';
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;
package/index.mjs ADDED
@@ -0,0 +1,4 @@
1
+ const \u0275\u0275tsModuleIndicatorApiExtractorWorkaround = true;
2
+ export {
3
+ \u0275\u0275tsModuleIndicatorApiExtractorWorkaround
4
+ };
package/package.json ADDED
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "@wlcm/angular",
3
+ "version": "0.0.0",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "module": "./index.mjs",
7
+ "typings": "./index.d.ts",
8
+ "private": false,
9
+ "exports": {
10
+ ".": {
11
+ "sass": "./styles/wlcm.scss"
12
+ },
13
+ "./core": {
14
+ "types": "./core/index.d.ts",
15
+ "esm2022": "./core/esm2022/wlcm-angular-core.mjs",
16
+ "fesm2022": "./core/fesm2022/wlcm-angular-core.mjs",
17
+ "default": "./core/fesm2022/wlcm-angular-core.mjs"
18
+ },
19
+ "./button": {
20
+ "types": "./button/index.d.ts",
21
+ "esm2022": "./button/esm2022/wlcm-angular-button.mjs",
22
+ "fesm2022": "./button/fesm2022/wlcm-angular-button.mjs",
23
+ "default": "./button/fesm2022/wlcm-angular-button.mjs"
24
+ },
25
+ "./filters": {
26
+ "types": "./filters/index.d.ts",
27
+ "esm2022": "./filters/esm2022/wlcm-angular-filters.mjs",
28
+ "fesm2022": "./filters/fesm2022/wlcm-angular-filters.mjs",
29
+ "default": "./filters/fesm2022/wlcm-angular-filters.mjs"
30
+ },
31
+ "./forms": {
32
+ "types": "./forms/index.d.ts",
33
+ "esm2022": "./forms/esm2022/wlcm-angular-forms.mjs",
34
+ "fesm2022": "./forms/fesm2022/wlcm-angular-forms.mjs",
35
+ "default": "./forms/fesm2022/wlcm-angular-forms.mjs"
36
+ },
37
+ "./search-field": {
38
+ "types": "./search-field/index.d.ts",
39
+ "esm2022": "./search-field/esm2022/wlcm-angular-search-field.mjs",
40
+ "fesm2022": "./search-field/fesm2022/wlcm-angular-search-field.mjs",
41
+ "default": "./search-field/fesm2022/wlcm-angular-search-field.mjs"
42
+ }
43
+ },
44
+ "dependencies": {
45
+ "@angular/animations": "~17.3.0",
46
+ "@angular/cdk": "^17.3.5",
47
+ "@angular/common": "~17.3.0",
48
+ "@angular/compiler": "~17.3.0",
49
+ "@angular/core": "~17.3.0",
50
+ "@angular/forms": "~17.3.0",
51
+ "@angular/material": "^17.3.5",
52
+ "@angular/platform-browser": "~17.3.0",
53
+ "@angular/platform-browser-dynamic": "~17.3.0",
54
+ "@angular/router": "~17.3.0",
55
+ "@ngneat/until-destroy": "^10.0.0",
56
+ "@nx/angular": "18.3.2",
57
+ "@rx-angular/template": "^17.1.0",
58
+ "esbuild": "^0.19.2",
59
+ "moment": "^2.30.1",
60
+ "rxjs": "~7.8.0",
61
+ "tslib": "^2.3.0",
62
+ "zone.js": "~0.14.3"
63
+ },
64
+ "devDependencies": {
65
+ "@angular-devkit/build-angular": "~17.3.0",
66
+ "@angular-devkit/core": "~17.3.0",
67
+ "@angular-devkit/schematics": "~17.3.0",
68
+ "@angular-eslint/eslint-plugin": "~17.3.0",
69
+ "@angular-eslint/eslint-plugin-template": "~17.3.0",
70
+ "@angular-eslint/template-parser": "~17.3.0",
71
+ "@angular/cli": "~17.3.0",
72
+ "@angular/compiler-cli": "~17.3.0",
73
+ "@angular/language-service": "~17.3.0",
74
+ "@nx/cypress": "18.3.2",
75
+ "@nx/eslint": "18.3.2",
76
+ "@nx/eslint-plugin": "18.3.2",
77
+ "@nx/jest": "18.3.2",
78
+ "@nx/js": "18.3.2",
79
+ "@nx/web": "18.3.2",
80
+ "@nx/workspace": "18.3.2",
81
+ "@schematics/angular": "~17.3.0",
82
+ "@swc-node/register": "~1.8.0",
83
+ "@swc/core": "~1.3.85",
84
+ "@swc/helpers": "~0.5.2",
85
+ "@types/jest": "^29.4.0",
86
+ "@types/node": "18.16.9",
87
+ "@typescript-eslint/eslint-plugin": "^7.3.0",
88
+ "@typescript-eslint/parser": "^7.3.0",
89
+ "autoprefixer": "^10.4.0",
90
+ "cypress": "^13.6.6",
91
+ "eslint": "~8.57.0",
92
+ "eslint-config-prettier": "^9.0.0",
93
+ "eslint-plugin-cypress": "^2.13.4",
94
+ "jest": "^29.4.1",
95
+ "jest-environment-jsdom": "^29.4.1",
96
+ "jest-preset-angular": "~14.0.3",
97
+ "jshon": "^0.0.20121031",
98
+ "json": "^11.0.0",
99
+ "jsonc-eslint-parser": "^2.1.0",
100
+ "ng-packagr": "~17.3.0",
101
+ "nx": "18.3.2",
102
+ "postcss": "^8.4.5",
103
+ "postcss-url": "~10.1.3",
104
+ "prettier": "^2.6.2",
105
+ "ts-jest": "^29.1.0",
106
+ "ts-node": "10.9.1",
107
+ "typescript": "~5.4.2"
108
+ }
109
+ }
@@ -0,0 +1,7 @@
1
+ # search-field
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test search-field` to execute the unit tests.
@@ -0,0 +1,3 @@
1
+ export * from './lib/components/search-field/search-field.component';
2
+ export * from './lib/search-field.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL3NlYXJjaC1maWVsZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gtZmllbGQubW9kdWxlJztcbiJdfQ==