@magic-xpa/angular-material-core 4.1300.0-dev4130.140 → 4.1300.0-dev4130.142

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.
@@ -525,6 +525,8 @@ class EditableComboComponent {
525
525
  ;
526
526
  placeholder = '';
527
527
  formGroup = new FormGroup({});
528
+ // Track whether the autocomplete panel is open
529
+ isPanelOpen = false;
528
530
  // These are the functions required by ControlValueAccessor
529
531
  onChange = () => { };
530
532
  onTouched = () => { };
@@ -581,7 +583,9 @@ class EditableComboComponent {
581
583
  // otherwise, the error will be shown as soon as user enters the control.
582
584
  fm.monitor(elRef, true).subscribe(origin => {
583
585
  this.focused = origin !== null;
584
- if (origin === null) {
586
+ if (origin === null && !this.isPanelOpen) {
587
+ // Only mark touched if panel is closed.
588
+ // If panel is open, user is clicking an option — onClosed() will handle touched.
585
589
  this.touched = true;
586
590
  }
587
591
  this.stateChanges.next();
@@ -646,8 +650,6 @@ class EditableComboComponent {
646
650
  // Optional: Handle the touch event when the input is blurred
647
651
  onBlur() {
648
652
  this.onTouched();
649
- // Mark as touched and notify mat-form-field so errorState is re-evaluated after blur.
650
- this.touched = true;
651
653
  this.stateChanges.next();
652
654
  }
653
655
  // Enables or disables the form control based on the provided state
@@ -675,11 +677,16 @@ class EditableComboComponent {
675
677
  this.task.insertEvent(guiEvent);
676
678
  }
677
679
  onOpened() {
680
+ this.isPanelOpen = true;
678
681
  MagicDirective.noOfAutoCompleteBoxesOpened++;
679
682
  }
680
683
  onClosed() {
684
+ this.isPanelOpen = false;
681
685
  this.writeValue(this.mg.getValue(this.controlId, this.rowId));
682
686
  MagicDirective.noOfAutoCompleteBoxesOpened--;
687
+ // Mark touched here instead: panel is closed means user truly left the field
688
+ this.touched = true;
689
+ this.stateChanges.next();
683
690
  }
684
691
  getFilteredListForChoiceControl() {
685
692
  const elem = this.combo_input;
@@ -1 +1 @@
1
- {"version":3,"file":"magic-xpa-angular-material-core.mjs","sources":["../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-checkbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-combobox.directive.ts","../../../../projects/angular-material-core/src/services/mattable.magic.service.ts","../../../../projects/angular-material-core/src/services/mat.magic.providers.ts","../../../../projects/angular-material-core/src/components/base-mat-table-magic.component.ts","../../../../projects/angular-material-core/src/components/editable-combo.component.html","../../../../projects/angular-material-core/src/components/editable-combo-component.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-listbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-autocomplete.directive.ts","../../../../projects/angular-material-core/src/angular-material.module.ts","../../../../projects/angular-material-core/index.ts","../../../../projects/angular-material-core/magic-xpa-angular-material-core.ts"],"sourcesContent":["import {Directive, ElementRef, HostListener, Input} from \"@angular/core\";\r\nimport {MagicDirective, TaskMagicService} from \"@magic-xpa/angular\";\r\nimport {filter} from \"rxjs/operators\";\r\nimport {CommandType, GuiCommand, HtmlProperties} from \"@magic-xpa/gui\";\r\nimport {MatCheckbox} from \"@angular/material/checkbox\";\r\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\r\n\r\n\r\n/**\r\n * Directive for material-design checkboxes not on material-design table\r\n */\r\n@Directive({\n selector: `\r\n mat-checkbox[magic]:not([noFormControl])\r\n `,\n standalone: false\n})\r\nexport class MatCheckboxDirective {\r\n @Input() threeState: boolean = false;\r\n private subscribeRefreshDom: any = null;\r\n private indeterminate : boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor( protected magicDirective: MagicDirective,\r\n private matCheckbox: MatCheckbox,\r\n protected task: TaskMagicService,\r\n protected element: ElementRef) {\r\n }\r\n /**\r\n * Handles the Checkbox 'change' event - pass it to the Magic engine\r\n */\r\n @HostListener('change', ['$event'])\r\n onChange($event: Event) {\r\n if(this.threeState) {\r\n this.handleThreeState();\r\n }\r\n else {\r\n this.magicDirective.task.onCheckChanged($event, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n }\r\n ngOnInit() {\r\n if(this.threeState){\r\n let guiEvent: IGuiEvent = getGuiEventObj(\"setAsThreeState\",this.magicDirective.id, +this.magicDirective.rowId);\r\n this.task.insertEvent(guiEvent);\r\n this.matCheckbox.indeterminate = this.indeterminate = this.task.getProperty(this.magicDirective.id, HtmlProperties.CheckBoxIndeterminate, this.magicDirective.rowId);\r\n this.regUpdatesUI();\r\n }\r\n }\r\n private regUpdatesUI() {\r\n this.subscribeRefreshDom = this.task\r\n .refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c)))\r\n .subscribe(a => {\r\n let command: GuiCommand = a;\r\n try {\r\n this.handleCommand(command);\r\n } catch (ex) {\r\n console.dir(ex);\r\n }\r\n }\r\n );\r\n }\r\n handleCommand(command: GuiCommand){\r\n if (command.CommandType == CommandType.SET_PROPERTY &&\r\n command.Operation == HtmlProperties.CheckBoxIndeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = command.obj1;\r\n }\r\n }\r\n private handleThreeState() {\r\n let value : string = '';\r\n let prevCheckedValue = this.task.getValue(this.magicDirective.id, this.magicDirective.rowId);\r\n if(this.indeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = false;\r\n value = 'unchecked';\r\n }\r\n else if(prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = true;\r\n this.matCheckbox.checked = false;\r\n value = 'indeterminate';\r\n }\r\n else if(!prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = true;\r\n value = 'checked';\r\n }\r\n // @ts-ignore\r\n this.magicDirective.task.onCheckChanged(value, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n /**\r\n * Cleanup\r\n */\r\n ngOnDestroy(): void {\r\n if(this.subscribeRefreshDom !== null)\r\n this.subscribeRefreshDom.unsubscribe();\r\n }\r\n}\r\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport {ComboboxMagicDirective, MagicDirective} from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design comboboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-select[magic]`,\n standalone: false\n})\r\nexport class MatComboboxDirective extends ComboboxMagicDirective {\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n super.onChange($event);\r\n }\r\n\r\n @HostListener('openedChange', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.opened = $event;\r\n }\r\n\r\n /**\r\n * For mat-select do nothing\r\n */\r\n onComboboxItemsListChanged(): void {\r\n }\r\n}\r\n","\nimport { Injectable } from '@angular/core';\nimport { SelectionModel } from \"@angular/cdk/collections\";\n\nimport { TaskMagicService, ComponentListMagicService, ControlsMetadata } from \"@magic-xpa/angular\";\nimport {IGuiEvent, getGuiEventObj} from \"@magic-xpa/engine\";\nimport { TableMagicService } from \"@magic-xpa/angular\";\nimport {isNullOrUndefined} from \"@magic-xpa/mscorelib\";\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\n\n\n/**\n * Extends the Magic table service to supply functionality for Material Design tables\n */\n@Injectable()\nexport class MgMatTableService extends TableMagicService {\n /**\n * Table data source\n */\n dataSource: MatTableDataSource<Element>;\n\n /**\n * @ignore\n */\n get DataSource(): MatTableDataSource<Element> {\n return this.dataSource;\n }\n\n /**\n * @ignore\n */\n set DataSource(dataSource: MatTableDataSource<Element>) {\n this.dataSource = dataSource;\n }\n\n /**\n * Provides selection options for the table\n */\n selection: SelectionModel<Element>;\n\n /**\n * @ignore\n */\n get Selection(): SelectionModel<Element> {\n return this.selection;\n }\n\n /**\n * @ignore\n */\n set Selection(selection: SelectionModel<Element>) {\n this.selection = selection;\n }\n\n /**\n * Paginator to enable changing pages in the table\n */\n paginator: MatPaginator;\n\n /**\n * @ignore\n */\n get Paginator(): MatPaginator {\n return this.paginator;\n }\n\n /**\n * @ignore\n */\n set Paginator(paginator: MatPaginator) {\n this.paginator = paginator;\n }\n\n /**\n * @ignore\n */\n constructor(protected componentList: ComponentListMagicService, protected task: TaskMagicService ) {\n super(componentList, task);\n }\n\n /**\n * Connects the service to the elements of the table component\n * @param dataSource Table data source\n * @param paginator Table paginator\n * @param selection table SelectionModel\n */\n connect(dataSource: MatTableDataSource<Element> , paginator: MatPaginator, selection: SelectionModel<Element>) {\n this.dataSource = dataSource;\n this.paginator = paginator;\n this.selection = selection;\n }\n\n /**\n * @ignore\n */\n refreshDataSource() {\n if (!isNullOrUndefined(this.paginator))\n this.dataSource.paginator = this.paginator;\n\n this.dataSource.data = (this.task.mgAccessorService.isDataviewEmpty() ? [] : this.task.Records.list);\n }\n\n /**\n * returns the page size of the table\n * @returns\n */\n getPageSize(): number {\n if (isNullOrUndefined(this.paginator))\n return 10;\n return this.paginator.pageSize;\n }\n\n /**\n * Selects a table row\n * @param guiRowid Id of row to be selected\n */\n selectRow(guiRowid: string): void {\n super.selectRow(guiRowid);\n this.selection.select(this.task.Records.list[guiRowid]);\n this.refreshDataSource();\n }\n\n /**\n * Displays the requested table page\n * @param pageId Id of page to be selected\n */\n selectPage(pageId: number): void {\n if (!isNullOrUndefined(this.paginator))\n this.paginator.pageIndex = pageId;\n\n this.refreshDataSource();\n }\n\n /**\n * Returns the currently seleted row\n * @returns\n */\n selectedRow(): any {\n return this.selection.selected[0];\n }\n\n /**\n * Handle the paginator's \"page\" event\n * @param e The event received from the UI\n * @param changeSelectedRow The flag true or false to indicate change the row\n */\n mgOnPaginateChange(e, changeSelectedRow?: boolean)\n {\n if (this.task.oldPageSize != e.pageSize) {\n this.handleResize(e.pageIndex, e.previousPageIndex, e.pageSize);\n this.task.oldPageSize = e.pageSize;\n }\n else {\n if (changeSelectedRow)\n {\n let evt: string;\n if (e.pageIndex > e.previousPageIndex) {\n evt = (e.pageIndex - e.previousPageIndex === 1) ? \"next-page\" : \"end-table\";\n } else {\n evt = (e.previousPageIndex - e.pageIndex === 1) ? \"previous-page\" : \"begin-table\";\n }\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"navigateInTable\", \"magicRow\",0);\n guiEvent.Value = evt;\n this.task.insertEvent(guiEvent);\n }\n else\n this.getRowsIfNeeded(e.pageIndex, e.previousPageIndex, e.pageSize);\n }\n }\n\n /**\n * Handle resize and set table top index.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let requiredGuiRowId = pageIndex * pageSize;\n this.task.resize(pageSize, requiredGuiRowId);\n }\n\n /**\n * Execute getRows to fetch required chunk of records.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let guiEvent: IGuiEvent = getGuiEventObj(\"getRows\", \"\",0);\n guiEvent.Line = pageIndex * pageSize;\n this.task.insertEvent(guiEvent);\n this.setTableTopIndex(this.task.getDvRowId(pageSize * pageIndex));\n }\n\n /**\n * Handles the \"matSortChange\" event\n * @param e The event received from the UI\n */\n sortData(e) {\n let direction: number = 0;\n if (e.direction === 'asc')\n direction = 0;\n else if (e.direction === 'desc')\n direction = 1;\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"columnSort\", e.active, direction);\n this.task.insertEvent(guiEvent);\n }\n\n /**\n * Change the number of lines in a table\n * @param size New number of lines in table\n */\n updateTableSize(size: number) {\n if (size === 0) // never remove row 0 for now\n {\n size = 1;\n this.task.Records.clearFirstTableRecord(this.task.template);\n }\n\n else if (isNullOrUndefined(this.paginator))\n size = this.getPageSize();\n\n this.task.formGroups.length = size;\n this.task.Records.updateSize(size);\n this.task.setIncludesFirst(false);\n }\n\n /**\n * Handle the selection of row and if needed move to respective page.\n * @param guiRowId New number of lines in table\n */\n protected selectPageForGuiRowId(guiRowId: number): void {\n let pageToBeSelected: number = 0;\n let prevSelectedRow: ControlsMetadata = <ControlsMetadata>this.selectedRow();\n\n pageToBeSelected = Math.floor(guiRowId / this.getPageSize());\n\n // Explicitly handle selection of page when it's not raised by using pagination\n if ((isNullOrUndefined(prevSelectedRow) || (!isNullOrUndefined(this.paginator) && pageToBeSelected != this.paginator.pageIndex)))\n this.selectPage(pageToBeSelected);\n }\n\n /**\n * @ignore\n */\n setTableTopIndex(value: number) {\n this.task.Records.setGuiTopIndex(value);\n\n if (value >= 0)\n this.selectPageForGuiRowId(this.task.getGuiRowId(value, true));\n }\n\n /**\n * @ignore\n */\n getTableTopIndex():number\n {\n return this.task.Records.getGuiTopIndex();\n }\n}\n\n","\r\nimport { basicMagicProviders, TableMagicService} from \"@magic-xpa/angular\";\r\n\r\nimport { MgMatTableService } from \"./mattable.magic.service\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const matMagicProviders = [\r\n ...basicMagicProviders, // - created error Exported variable 'matMagicProviders' has or is using name 'MagicServices' from external module \"D:/magicxpaproject/_Trunk/Sources/Webclient/dist/angular/src/services/magic.services\" but cannot be named.\r\n { provide: TableMagicService, useClass: MgMatTableService }\r\n];\r\n\r\n","import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\r\nimport { MgMatTableService } from '../services/mattable.magic.service';\r\nimport { matMagicProviders } from '../services/mat.magic.providers';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { isNullOrUndefined } from '@magic-xpa/mscorelib';\r\n\r\n/**\r\n * This component is the base component for forms which has a material-design table (grid)\r\n */\r\n@Component({\n providers: matMagicProviders,\n template: '',\n standalone: false\n})\r\n export class BaseMatTableMagicComponent extends TaskBaseMagicComponent {\r\n\r\n /**\r\n * Paginator to enable changing pages in the table\r\n */\r\n @ViewChild(MatPaginator, {static:true}) paginator: MatPaginator;\r\n\r\n /**\r\n * Provides the table sort capabilities\r\n */\r\n @ViewChild(MatSort, {static:true}) sort: MatSort;\r\n\r\n /**\r\n * List of table columns to be displayed\r\n */\r\n displayedColumns;\r\n\r\n /**\r\n * Table data source\r\n */\r\n dataSource;\r\n\r\n /**\r\n * Provides selection options for the table\r\n */\r\n selection;\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n protected ref: ChangeDetectorRef,\r\n public magicService: MagicServices,\r\n ) {\r\n\r\n super(ref, magicService);\r\n\r\n this.displayedColumns = [];\r\n this.dataSource = new MatTableDataSource < Element > (this.task.Records.list);\r\n this.selection = new SelectionModel < Element > (false, []);\r\n }\r\n\r\n /**\r\n * Initializer\r\n */\r\n ngOnInit() {\r\n super.ngOnInit();\r\n (this.magicService.tableService as MgMatTableService).connect(this.dataSource, this.paginator, this.selection);\r\n }\r\n\r\n /**\r\n * AfterContentChecked implementation\r\n */\r\n ngAfterContentChecked() {\r\n if (!isNullOrUndefined(this.paginator) && !isNullOrUndefined(this.paginator.pageSize) &&\r\n this.paginator.pageSize != this.task.oldPageSize) {\r\n (this.magicService.tableService as MgMatTableService).handleResize(this.paginator.pageIndex, 0, this.paginator.pageSize);\r\n this.task.oldPageSize = this.paginator.pageSize;\r\n }\r\n }\r\n}\r\n","<div\n novalidate\n [formGroup]=\"formGroup\"\n >\n <input\n #comboinput\n matInput\n formControlName=\"combo_fc\"\n [matAutocomplete]=\"Editable_Combo\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n >\n <!-- <mat-icon matSuffix>arrow_drop_down</mat-icon>-->\n <mat-autocomplete\n #Editable_Combo=\"matAutocomplete\"\n requireSelection=\"true\"\n autoActiveFirstOption=\"true\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"onClosed()\"\n (opened)=\"onOpened()\"\n >\n @for (o of getFilteredListForChoiceControl(); track o) {\n <mat-option\n [value]=\"o.displayValue\"\n >\n {{o.displayValue}}\n </mat-option>\n }\n </mat-autocomplete>\n </div>\n","import {Component, ElementRef, Input, OnInit, OnDestroy, Optional, Self, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormControl, FormGroup, NgControl} from '@angular/forms';\nimport {\n AccessorMagicService,\n MagicDirective,\n MagicServices,\n TaskMagicService\n} from \"@magic-xpa/angular\";\n\nimport {MatAutocompleteSelectedEvent} from \"@angular/material/autocomplete\";\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\n// MatFormFieldControl allows this component to act as a native Material form field control,\n// enabling support for mat-label, mat-hint, mat-error\nimport {MatFormFieldControl} from \"@angular/material/form-field\";\n// FocusMonitor tracks when the user enters or leaves the field, used to update focused state.\nimport {FocusMonitor} from \"@angular/cdk/a11y\";\n// coerceBooleanProperty converts various truthy/falsy values into a strict boolean.\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n// Subject is used for stateChanges stream to notify mat-form-field when component state changes.\nimport {Subject} from \"rxjs\";\n\n@Component({\n selector: 'editable-combo',\n standalone: false,\n templateUrl: './editable-combo.component.html',\n providers: [\n // Registering this component as a MatFormFieldControl so that Angular Material's\n // mat-form-field can recognize it as a valid form control and communicate with it.\n // useExisting tells Angular to use the already created instance of this component\n // instead of creating a new one, so mat-form-field and the component share the same instance.\n {\n provide: MatFormFieldControl,\n useExisting: EditableComboComponent\n }\n ]\n})\n// Added MatFormFieldControl<number> so this component integrates with mat-form-field.\n// Added OnDestroy to clean up stateChanges stream and FocusMonitor when component is destroyed.\nexport class EditableComboComponent implements ControlValueAccessor, MatFormFieldControl<number>, OnInit, OnDestroy {\n /**\n * @ignore\n */\n controlId: string = \"\";\n rowId: string = \"0\";\n @ViewChild('comboinput') combo_input!: ElementRef;\n\n /**\n * @ignore\n */\n @Input('magic') set magic(val: string) {\n this.controlId = val;\n };\n\n @Input('rowId') set rowId1(val: string) {\n this.rowId = val;\n };\n\n @Input() placeholder: string = '';\n\n formGroup: FormGroup = new FormGroup({});\n\n // These are the functions required by ControlValueAccessor\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n // Required fields for MatFormFieldControl contract.\n // These allow mat-form-field to track id, state changes, focus, and control type.\n static nextId = 0;\n id = `editable-combo-${EditableComboComponent.nextId++}`;\n stateChanges = new Subject<void>();\n focused = false;\n touched = false;\n controlType = 'editable-combo';\n value: number = -1;\n\n // Required by MatFormFieldControl. Allows developer to set required attribute on mat-form-field.\n private _required = false;\n @Input()\n get required(): boolean { return this._required; }\n set required(val: boolean) { this._required = coerceBooleanProperty(val); this.stateChanges.next(); }\n\n // Required by MatFormFieldControl. Keeps the internal FormControl in sync with disabled state.\n private _disabled = false;\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(val: boolean) { this._disabled = coerceBooleanProperty(val); this.stateChanges.next(); }\n\n // Checks the inner input value to determine if the field is empty.\n // mat-form-field uses this to decide whether the label should float or not.\n get empty(): boolean {\n const inputVal = this.formGroup.get('combo_fc')?.value;\n return !inputVal || inputVal === '';\n }\n\n // Controls whether mat-label floats above the field.\n // Label floats when the field is focused or has a value selected.\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n // Controls when the red error border is shown.\n // Error is shown only after the user has left the field without selecting a value.\n get errorState(): boolean {\n return this.touched && this.ngControl?.invalid === true;\n }\n\n constructor(\n public magicServices: MagicServices,\n // FocusMonitor and ElementRef are needed to track focus state on the host element.\n private fm: FocusMonitor,\n private elRef: ElementRef,\n // NgControl gives access to the form control's validation state for errorState.\n @Optional() @Self() public ngControl: NgControl\n ) {\n // Manually assign valueAccessor here instead of using NG_VALUE_ACCESSOR provider.\n // This avoids the circular dependency error (NG0200) that occurs when NgControl\n // and NG_VALUE_ACCESSOR both try to reference each other during injection.\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n // origin tells you how the element was focused, its values are: 'mouse'/'keyboard'/'touch'/'program'\n // Set touched=true on blur (while leaving the control) to avoid showing error on entering the control when control is with required.\n // otherwise, the error will be shown as soon as user enters the control.\n fm.monitor(elRef, true).subscribe(origin => {\n this.focused = origin !== null;\n if (origin === null) {\n this.touched = true;\n }\n this.stateChanges.next();\n });\n }\n\n /**\n * Returns the Magic accessor service\n * @returns\n */\n get mg(): AccessorMagicService {\n return this.magicServices.mgAccessorService;\n }\n\n /**\n * Returns the Magic task service\n * @returns\n */\n get task(): TaskMagicService {\n return this.magicServices.task;\n }\n\n ngOnInit(): void {\n this.formGroup.addControl(\"combo_fc\", new FormControl());\n\n // Notify mat-form-field whenever the inner input value changes.\n // This ensures the label floats correctly as the user types or selects a value.\n this.formGroup.get('combo_fc')?.valueChanges.subscribe(() => {\n this.stateChanges.next();\n });\n }\n\n // Clean up stateChanges stream and stop focus monitoring to prevent memory leaks.\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.fm.stopMonitoring(this.elRef);\n }\n\n // Required by MatFormFieldControl. Sets aria-describedby for accessibility.\n setDescribedByIds(ids: string[]): void {}\n\n // Required by MatFormFieldControl. Focuses the inner input when the field container is clicked.\n onContainerClick(event: MouseEvent): void {\n this.combo_input?.nativeElement.focus();\n }\n\n // Write value method will be called when FormControl value is updated\n writeValue(value: number): void {\n if (typeof value == 'number' && value >= 0) {\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.index === value);\n\n if (matchingOption != undefined)\n this.formGroup.get(\"combo_fc\")?.setValue(matchingOption.displayValue);\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n\n // Notify mat-form-field that the value has changed so it can update label and state.\n this.stateChanges.next();\n }\n\n // Register onChange function to be triggered when the input value changes\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n // Register onTouched function to be triggered when the input is touched\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Optional: Handle the touch event when the input is blurred\n onBlur(): void {\n this.onTouched();\n // Mark as touched and notify mat-form-field so errorState is re-evaluated after blur.\n this.touched = true;\n this.stateChanges.next();\n }\n\n // Enables or disables the form control based on the provided state\n setDisabledState(isDisabled: boolean): void {\n const formControl = this.formGroup.get(\"combo_fc\");\n if (formControl) {\n if (isDisabled)\n formControl.disable();\n else\n formControl.enable();\n }\n // Notify mat-form-field so it updates the visual disabled state.\n this.stateChanges.next();\n }\n\n onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const selectedVal = event.option.value;\n\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.displayValue === selectedVal);\n let selectedIndex = -1;\n\n if (matchingOption != undefined)\n selectedIndex = matchingOption.index;\n\n this.onChange(selectedIndex);\n\n let guiEvent: IGuiEvent = getGuiEventObj('selectionchanged', this.controlId, +this.rowId);\n guiEvent.Value = selectedIndex.toString();\n this.task.insertEvent(guiEvent);\n }\n\n onOpened() {\n MagicDirective.noOfAutoCompleteBoxesOpened++;\n }\n\n onClosed() {\n this.writeValue(this.mg.getValue(this.controlId, this.rowId));\n MagicDirective.noOfAutoCompleteBoxesOpened--;\n }\n\n getFilteredListForChoiceControl(): Array<{index: number, displayValue: string}> {\n const elem = this.combo_input;\n let value = elem ? elem.nativeElement.value : \"\";\n\n let items = this.mg.getItemListValues(this.controlId, this.rowId);\n if (value !== null && value !== \"\" && items instanceof Array) {\n value = value.toLowerCase();\n return items.filter(option => option.displayValue.toLowerCase().includes(value));\n }\n else\n return items;\n }\n}\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport { MagicDirective } from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design listboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-selection-list[magic]`,\n standalone: false\n})\r\nexport class MatListboxDirective{\r\n\r\n constructor(protected magicDirective: MagicDirective) {\r\n }\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n this.magicDirective.task.onListBoxSelectionChanged($event, this.magicDirective.id);\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { MagicDirective } from '@magic-xpa/angular';\r\n\r\n/**\r\n * Directive for material-design autocomplete not on material-design table\r\n */\r\n@Directive({\n selector: 'mat-autocomplete[magic]',\n standalone: false\n})\r\nexport class MatMagicAutocompleteDirective {\r\n\r\n @HostListener('opened', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened++;\r\n }\r\n\r\n @HostListener('closed', ['$event'])\r\n onClosedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened--;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxDirective } from './directives/magic/form-controls/mat-magic-checkbox.directive';\r\nimport { MatComboboxDirective } from './directives/magic/form-controls/mat-magic-combobox.directive';\r\nimport { BaseMatTableMagicComponent } from './components/base-mat-table-magic.component';\r\nimport { EditableComboComponent } from './components/editable-combo-component';\r\nimport { MatListboxDirective } from './directives/magic/form-controls/mat-magic-listbox.directive';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MagicModule } from '@magic-xpa/angular';\r\nimport { MatMagicAutocompleteDirective } from './directives/magic/form-controls/mat-magic-autocomplete.directive';\r\nimport { MatAutocomplete, MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const materialModules = [\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatAutocompleteTrigger,\r\n MatAutocomplete\r\n];\r\n\r\n/**\r\n * @ignore\r\n */\r\n@NgModule({\r\n declarations: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n exports: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ...materialModules,\r\n MagicModule,\r\n ReactiveFormsModule,\r\n ]\r\n})\r\nexport class MagicAngularMaterialModule {\r\n\r\n}\r\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./src/angular-material.module\";\nexport * from \"./src/components/base-mat-table-magic.component\";\nexport * from \"./src/components/editable-combo-component\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-autocomplete.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-checkbox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-combobox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-listbox.directive\";\nexport * from \"./src/services/mat.magic.providers\";\nexport * from \"./src/services/mattable.magic.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"magic-xpa-angular-material-core.mjs","sources":["../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-checkbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-combobox.directive.ts","../../../../projects/angular-material-core/src/services/mattable.magic.service.ts","../../../../projects/angular-material-core/src/services/mat.magic.providers.ts","../../../../projects/angular-material-core/src/components/base-mat-table-magic.component.ts","../../../../projects/angular-material-core/src/components/editable-combo.component.html","../../../../projects/angular-material-core/src/components/editable-combo-component.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-listbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-autocomplete.directive.ts","../../../../projects/angular-material-core/src/angular-material.module.ts","../../../../projects/angular-material-core/index.ts","../../../../projects/angular-material-core/magic-xpa-angular-material-core.ts"],"sourcesContent":["import {Directive, ElementRef, HostListener, Input} from \"@angular/core\";\r\nimport {MagicDirective, TaskMagicService} from \"@magic-xpa/angular\";\r\nimport {filter} from \"rxjs/operators\";\r\nimport {CommandType, GuiCommand, HtmlProperties} from \"@magic-xpa/gui\";\r\nimport {MatCheckbox} from \"@angular/material/checkbox\";\r\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\r\n\r\n\r\n/**\r\n * Directive for material-design checkboxes not on material-design table\r\n */\r\n@Directive({\n selector: `\r\n mat-checkbox[magic]:not([noFormControl])\r\n `,\n standalone: false\n})\r\nexport class MatCheckboxDirective {\r\n @Input() threeState: boolean = false;\r\n private subscribeRefreshDom: any = null;\r\n private indeterminate : boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor( protected magicDirective: MagicDirective,\r\n private matCheckbox: MatCheckbox,\r\n protected task: TaskMagicService,\r\n protected element: ElementRef) {\r\n }\r\n /**\r\n * Handles the Checkbox 'change' event - pass it to the Magic engine\r\n */\r\n @HostListener('change', ['$event'])\r\n onChange($event: Event) {\r\n if(this.threeState) {\r\n this.handleThreeState();\r\n }\r\n else {\r\n this.magicDirective.task.onCheckChanged($event, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n }\r\n ngOnInit() {\r\n if(this.threeState){\r\n let guiEvent: IGuiEvent = getGuiEventObj(\"setAsThreeState\",this.magicDirective.id, +this.magicDirective.rowId);\r\n this.task.insertEvent(guiEvent);\r\n this.matCheckbox.indeterminate = this.indeterminate = this.task.getProperty(this.magicDirective.id, HtmlProperties.CheckBoxIndeterminate, this.magicDirective.rowId);\r\n this.regUpdatesUI();\r\n }\r\n }\r\n private regUpdatesUI() {\r\n this.subscribeRefreshDom = this.task\r\n .refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c)))\r\n .subscribe(a => {\r\n let command: GuiCommand = a;\r\n try {\r\n this.handleCommand(command);\r\n } catch (ex) {\r\n console.dir(ex);\r\n }\r\n }\r\n );\r\n }\r\n handleCommand(command: GuiCommand){\r\n if (command.CommandType == CommandType.SET_PROPERTY &&\r\n command.Operation == HtmlProperties.CheckBoxIndeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = command.obj1;\r\n }\r\n }\r\n private handleThreeState() {\r\n let value : string = '';\r\n let prevCheckedValue = this.task.getValue(this.magicDirective.id, this.magicDirective.rowId);\r\n if(this.indeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = false;\r\n value = 'unchecked';\r\n }\r\n else if(prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = true;\r\n this.matCheckbox.checked = false;\r\n value = 'indeterminate';\r\n }\r\n else if(!prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = true;\r\n value = 'checked';\r\n }\r\n // @ts-ignore\r\n this.magicDirective.task.onCheckChanged(value, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n /**\r\n * Cleanup\r\n */\r\n ngOnDestroy(): void {\r\n if(this.subscribeRefreshDom !== null)\r\n this.subscribeRefreshDom.unsubscribe();\r\n }\r\n}\r\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport {ComboboxMagicDirective, MagicDirective} from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design comboboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-select[magic]`,\n standalone: false\n})\r\nexport class MatComboboxDirective extends ComboboxMagicDirective {\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n super.onChange($event);\r\n }\r\n\r\n @HostListener('openedChange', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.opened = $event;\r\n }\r\n\r\n /**\r\n * For mat-select do nothing\r\n */\r\n onComboboxItemsListChanged(): void {\r\n }\r\n}\r\n","\nimport { Injectable } from '@angular/core';\nimport { SelectionModel } from \"@angular/cdk/collections\";\n\nimport { TaskMagicService, ComponentListMagicService, ControlsMetadata } from \"@magic-xpa/angular\";\nimport {IGuiEvent, getGuiEventObj} from \"@magic-xpa/engine\";\nimport { TableMagicService } from \"@magic-xpa/angular\";\nimport {isNullOrUndefined} from \"@magic-xpa/mscorelib\";\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\n\n\n/**\n * Extends the Magic table service to supply functionality for Material Design tables\n */\n@Injectable()\nexport class MgMatTableService extends TableMagicService {\n /**\n * Table data source\n */\n dataSource: MatTableDataSource<Element>;\n\n /**\n * @ignore\n */\n get DataSource(): MatTableDataSource<Element> {\n return this.dataSource;\n }\n\n /**\n * @ignore\n */\n set DataSource(dataSource: MatTableDataSource<Element>) {\n this.dataSource = dataSource;\n }\n\n /**\n * Provides selection options for the table\n */\n selection: SelectionModel<Element>;\n\n /**\n * @ignore\n */\n get Selection(): SelectionModel<Element> {\n return this.selection;\n }\n\n /**\n * @ignore\n */\n set Selection(selection: SelectionModel<Element>) {\n this.selection = selection;\n }\n\n /**\n * Paginator to enable changing pages in the table\n */\n paginator: MatPaginator;\n\n /**\n * @ignore\n */\n get Paginator(): MatPaginator {\n return this.paginator;\n }\n\n /**\n * @ignore\n */\n set Paginator(paginator: MatPaginator) {\n this.paginator = paginator;\n }\n\n /**\n * @ignore\n */\n constructor(protected componentList: ComponentListMagicService, protected task: TaskMagicService ) {\n super(componentList, task);\n }\n\n /**\n * Connects the service to the elements of the table component\n * @param dataSource Table data source\n * @param paginator Table paginator\n * @param selection table SelectionModel\n */\n connect(dataSource: MatTableDataSource<Element> , paginator: MatPaginator, selection: SelectionModel<Element>) {\n this.dataSource = dataSource;\n this.paginator = paginator;\n this.selection = selection;\n }\n\n /**\n * @ignore\n */\n refreshDataSource() {\n if (!isNullOrUndefined(this.paginator))\n this.dataSource.paginator = this.paginator;\n\n this.dataSource.data = (this.task.mgAccessorService.isDataviewEmpty() ? [] : this.task.Records.list);\n }\n\n /**\n * returns the page size of the table\n * @returns\n */\n getPageSize(): number {\n if (isNullOrUndefined(this.paginator))\n return 10;\n return this.paginator.pageSize;\n }\n\n /**\n * Selects a table row\n * @param guiRowid Id of row to be selected\n */\n selectRow(guiRowid: string): void {\n super.selectRow(guiRowid);\n this.selection.select(this.task.Records.list[guiRowid]);\n this.refreshDataSource();\n }\n\n /**\n * Displays the requested table page\n * @param pageId Id of page to be selected\n */\n selectPage(pageId: number): void {\n if (!isNullOrUndefined(this.paginator))\n this.paginator.pageIndex = pageId;\n\n this.refreshDataSource();\n }\n\n /**\n * Returns the currently seleted row\n * @returns\n */\n selectedRow(): any {\n return this.selection.selected[0];\n }\n\n /**\n * Handle the paginator's \"page\" event\n * @param e The event received from the UI\n * @param changeSelectedRow The flag true or false to indicate change the row\n */\n mgOnPaginateChange(e, changeSelectedRow?: boolean)\n {\n if (this.task.oldPageSize != e.pageSize) {\n this.handleResize(e.pageIndex, e.previousPageIndex, e.pageSize);\n this.task.oldPageSize = e.pageSize;\n }\n else {\n if (changeSelectedRow)\n {\n let evt: string;\n if (e.pageIndex > e.previousPageIndex) {\n evt = (e.pageIndex - e.previousPageIndex === 1) ? \"next-page\" : \"end-table\";\n } else {\n evt = (e.previousPageIndex - e.pageIndex === 1) ? \"previous-page\" : \"begin-table\";\n }\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"navigateInTable\", \"magicRow\",0);\n guiEvent.Value = evt;\n this.task.insertEvent(guiEvent);\n }\n else\n this.getRowsIfNeeded(e.pageIndex, e.previousPageIndex, e.pageSize);\n }\n }\n\n /**\n * Handle resize and set table top index.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let requiredGuiRowId = pageIndex * pageSize;\n this.task.resize(pageSize, requiredGuiRowId);\n }\n\n /**\n * Execute getRows to fetch required chunk of records.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let guiEvent: IGuiEvent = getGuiEventObj(\"getRows\", \"\",0);\n guiEvent.Line = pageIndex * pageSize;\n this.task.insertEvent(guiEvent);\n this.setTableTopIndex(this.task.getDvRowId(pageSize * pageIndex));\n }\n\n /**\n * Handles the \"matSortChange\" event\n * @param e The event received from the UI\n */\n sortData(e) {\n let direction: number = 0;\n if (e.direction === 'asc')\n direction = 0;\n else if (e.direction === 'desc')\n direction = 1;\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"columnSort\", e.active, direction);\n this.task.insertEvent(guiEvent);\n }\n\n /**\n * Change the number of lines in a table\n * @param size New number of lines in table\n */\n updateTableSize(size: number) {\n if (size === 0) // never remove row 0 for now\n {\n size = 1;\n this.task.Records.clearFirstTableRecord(this.task.template);\n }\n\n else if (isNullOrUndefined(this.paginator))\n size = this.getPageSize();\n\n this.task.formGroups.length = size;\n this.task.Records.updateSize(size);\n this.task.setIncludesFirst(false);\n }\n\n /**\n * Handle the selection of row and if needed move to respective page.\n * @param guiRowId New number of lines in table\n */\n protected selectPageForGuiRowId(guiRowId: number): void {\n let pageToBeSelected: number = 0;\n let prevSelectedRow: ControlsMetadata = <ControlsMetadata>this.selectedRow();\n\n pageToBeSelected = Math.floor(guiRowId / this.getPageSize());\n\n // Explicitly handle selection of page when it's not raised by using pagination\n if ((isNullOrUndefined(prevSelectedRow) || (!isNullOrUndefined(this.paginator) && pageToBeSelected != this.paginator.pageIndex)))\n this.selectPage(pageToBeSelected);\n }\n\n /**\n * @ignore\n */\n setTableTopIndex(value: number) {\n this.task.Records.setGuiTopIndex(value);\n\n if (value >= 0)\n this.selectPageForGuiRowId(this.task.getGuiRowId(value, true));\n }\n\n /**\n * @ignore\n */\n getTableTopIndex():number\n {\n return this.task.Records.getGuiTopIndex();\n }\n}\n\n","\r\nimport { basicMagicProviders, TableMagicService} from \"@magic-xpa/angular\";\r\n\r\nimport { MgMatTableService } from \"./mattable.magic.service\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const matMagicProviders = [\r\n ...basicMagicProviders, // - created error Exported variable 'matMagicProviders' has or is using name 'MagicServices' from external module \"D:/magicxpaproject/_Trunk/Sources/Webclient/dist/angular/src/services/magic.services\" but cannot be named.\r\n { provide: TableMagicService, useClass: MgMatTableService }\r\n];\r\n\r\n","import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\r\nimport { MgMatTableService } from '../services/mattable.magic.service';\r\nimport { matMagicProviders } from '../services/mat.magic.providers';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { isNullOrUndefined } from '@magic-xpa/mscorelib';\r\n\r\n/**\r\n * This component is the base component for forms which has a material-design table (grid)\r\n */\r\n@Component({\n providers: matMagicProviders,\n template: '',\n standalone: false\n})\r\n export class BaseMatTableMagicComponent extends TaskBaseMagicComponent {\r\n\r\n /**\r\n * Paginator to enable changing pages in the table\r\n */\r\n @ViewChild(MatPaginator, {static:true}) paginator: MatPaginator;\r\n\r\n /**\r\n * Provides the table sort capabilities\r\n */\r\n @ViewChild(MatSort, {static:true}) sort: MatSort;\r\n\r\n /**\r\n * List of table columns to be displayed\r\n */\r\n displayedColumns;\r\n\r\n /**\r\n * Table data source\r\n */\r\n dataSource;\r\n\r\n /**\r\n * Provides selection options for the table\r\n */\r\n selection;\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n protected ref: ChangeDetectorRef,\r\n public magicService: MagicServices,\r\n ) {\r\n\r\n super(ref, magicService);\r\n\r\n this.displayedColumns = [];\r\n this.dataSource = new MatTableDataSource < Element > (this.task.Records.list);\r\n this.selection = new SelectionModel < Element > (false, []);\r\n }\r\n\r\n /**\r\n * Initializer\r\n */\r\n ngOnInit() {\r\n super.ngOnInit();\r\n (this.magicService.tableService as MgMatTableService).connect(this.dataSource, this.paginator, this.selection);\r\n }\r\n\r\n /**\r\n * AfterContentChecked implementation\r\n */\r\n ngAfterContentChecked() {\r\n if (!isNullOrUndefined(this.paginator) && !isNullOrUndefined(this.paginator.pageSize) &&\r\n this.paginator.pageSize != this.task.oldPageSize) {\r\n (this.magicService.tableService as MgMatTableService).handleResize(this.paginator.pageIndex, 0, this.paginator.pageSize);\r\n this.task.oldPageSize = this.paginator.pageSize;\r\n }\r\n }\r\n}\r\n","<div\n novalidate\n [formGroup]=\"formGroup\"\n >\n <input\n #comboinput\n matInput\n formControlName=\"combo_fc\"\n [matAutocomplete]=\"Editable_Combo\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n >\n <!-- <mat-icon matSuffix>arrow_drop_down</mat-icon>-->\n <mat-autocomplete\n #Editable_Combo=\"matAutocomplete\"\n requireSelection=\"true\"\n autoActiveFirstOption=\"true\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"onClosed()\"\n (opened)=\"onOpened()\"\n >\n @for (o of getFilteredListForChoiceControl(); track o) {\n <mat-option\n [value]=\"o.displayValue\"\n >\n {{o.displayValue}}\n </mat-option>\n }\n </mat-autocomplete>\n </div>\n","import {Component, ElementRef, Input, OnInit, OnDestroy, Optional, Self, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormControl, FormGroup, NgControl} from '@angular/forms';\nimport {\n AccessorMagicService,\n MagicDirective,\n MagicServices,\n TaskMagicService\n} from \"@magic-xpa/angular\";\n\nimport {MatAutocompleteSelectedEvent} from \"@angular/material/autocomplete\";\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\n// MatFormFieldControl allows this component to act as a native Material form field control,\n// enabling support for mat-label, mat-hint, mat-error\nimport {MatFormFieldControl} from \"@angular/material/form-field\";\n// FocusMonitor tracks when the user enters or leaves the field, used to update focused state.\nimport {FocusMonitor} from \"@angular/cdk/a11y\";\n// coerceBooleanProperty converts various truthy/falsy values into a strict boolean.\nimport {coerceBooleanProperty} from \"@angular/cdk/coercion\";\n// Subject is used for stateChanges stream to notify mat-form-field when component state changes.\nimport {Subject} from \"rxjs\";\n\n@Component({\n selector: 'editable-combo',\n standalone: false,\n templateUrl: './editable-combo.component.html',\n providers: [\n // Registering this component as a MatFormFieldControl so that Angular Material's\n // mat-form-field can recognize it as a valid form control and communicate with it.\n // useExisting tells Angular to use the already created instance of this component\n // instead of creating a new one, so mat-form-field and the component share the same instance.\n {\n provide: MatFormFieldControl,\n useExisting: EditableComboComponent\n }\n ]\n})\n// Added MatFormFieldControl<number> so this component integrates with mat-form-field.\n// Added OnDestroy to clean up stateChanges stream and FocusMonitor when component is destroyed.\nexport class EditableComboComponent implements ControlValueAccessor, MatFormFieldControl<number>, OnInit, OnDestroy {\n /**\n * @ignore\n */\n controlId: string = \"\";\n rowId: string = \"0\";\n @ViewChild('comboinput') combo_input!: ElementRef;\n\n /**\n * @ignore\n */\n @Input('magic') set magic(val: string) {\n this.controlId = val;\n };\n\n @Input('rowId') set rowId1(val: string) {\n this.rowId = val;\n };\n\n @Input() placeholder: string = '';\n\n formGroup: FormGroup = new FormGroup({});\n\n // Track whether the autocomplete panel is open\n isPanelOpen = false;\n\n // These are the functions required by ControlValueAccessor\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n // Required fields for MatFormFieldControl contract.\n // These allow mat-form-field to track id, state changes, focus, and control type.\n static nextId = 0;\n id = `editable-combo-${EditableComboComponent.nextId++}`;\n stateChanges = new Subject<void>();\n focused = false;\n touched = false;\n controlType = 'editable-combo';\n value: number = -1;\n\n // Required by MatFormFieldControl. Allows developer to set required attribute on mat-form-field.\n private _required = false;\n @Input()\n get required(): boolean { return this._required; }\n set required(val: boolean | string) { this._required = coerceBooleanProperty(val); this.stateChanges.next(); }\n\n // Required by MatFormFieldControl. Keeps the internal FormControl in sync with disabled state.\n private _disabled = false;\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(val: boolean | string) { this._disabled = coerceBooleanProperty(val); this.stateChanges.next(); }\n\n // Checks the inner input value to determine if the field is empty.\n // mat-form-field uses this to decide whether the label should float or not.\n get empty(): boolean {\n const inputVal = this.formGroup.get('combo_fc')?.value;\n return !inputVal || inputVal === '';\n }\n\n // Controls whether mat-label floats above the field.\n // Label floats when the field is focused or has a value selected.\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n // Controls when the red error border is shown.\n // Error is shown only after the user has left the field without selecting a value.\n get errorState(): boolean {\n return this.touched && this.ngControl?.invalid === true;\n }\n\n constructor(\n public magicServices: MagicServices,\n // FocusMonitor and ElementRef are needed to track focus state on the host element.\n private fm: FocusMonitor,\n private elRef: ElementRef,\n // NgControl gives access to the form control's validation state for errorState.\n @Optional() @Self() public ngControl: NgControl\n ) {\n // Manually assign valueAccessor here instead of using NG_VALUE_ACCESSOR provider.\n // This avoids the circular dependency error (NG0200) that occurs when NgControl\n // and NG_VALUE_ACCESSOR both try to reference each other during injection.\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n // origin tells you how the element was focused, its values are: 'mouse'/'keyboard'/'touch'/'program'\n // Set touched=true on blur (while leaving the control) to avoid showing error on entering the control when control is with required.\n // otherwise, the error will be shown as soon as user enters the control.\n fm.monitor(elRef, true).subscribe(origin => {\n this.focused = origin !== null;\n if (origin === null && !this.isPanelOpen) {\n // Only mark touched if panel is closed.\n // If panel is open, user is clicking an option — onClosed() will handle touched.\n this.touched = true;\n }\n this.stateChanges.next();\n });\n }\n\n /**\n * Returns the Magic accessor service\n * @returns\n */\n get mg(): AccessorMagicService {\n return this.magicServices.mgAccessorService;\n }\n\n /**\n * Returns the Magic task service\n * @returns\n */\n get task(): TaskMagicService {\n return this.magicServices.task;\n }\n\n ngOnInit(): void {\n this.formGroup.addControl(\"combo_fc\", new FormControl());\n\n // Notify mat-form-field whenever the inner input value changes.\n // This ensures the label floats correctly as the user types or selects a value.\n this.formGroup.get('combo_fc')?.valueChanges.subscribe(() => {\n this.stateChanges.next();\n });\n }\n\n // Clean up stateChanges stream and stop focus monitoring to prevent memory leaks.\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.fm.stopMonitoring(this.elRef);\n }\n\n // Required by MatFormFieldControl. Sets aria-describedby for accessibility.\n setDescribedByIds(ids: string[]): void {}\n\n // Required by MatFormFieldControl. Focuses the inner input when the field container is clicked.\n onContainerClick(event: MouseEvent): void {\n this.combo_input?.nativeElement.focus();\n }\n\n // Write value method will be called when FormControl value is updated\n writeValue(value: number): void {\n if (typeof value == 'number' && value >= 0) {\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.index === value);\n\n if (matchingOption != undefined)\n this.formGroup.get(\"combo_fc\")?.setValue(matchingOption.displayValue);\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n\n // Notify mat-form-field that the value has changed so it can update label and state.\n this.stateChanges.next();\n }\n\n // Register onChange function to be triggered when the input value changes\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n // Register onTouched function to be triggered when the input is touched\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Optional: Handle the touch event when the input is blurred\n onBlur(): void {\n this.onTouched();\n this.stateChanges.next();\n }\n\n // Enables or disables the form control based on the provided state\n setDisabledState(isDisabled: boolean): void {\n const formControl = this.formGroup.get(\"combo_fc\");\n if (formControl) {\n if (isDisabled)\n formControl.disable();\n else\n formControl.enable();\n }\n // Notify mat-form-field so it updates the visual disabled state.\n this.stateChanges.next();\n }\n\n onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const selectedVal = event.option.value;\n\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.displayValue === selectedVal);\n let selectedIndex = -1;\n\n if (matchingOption != undefined)\n selectedIndex = matchingOption.index;\n\n this.onChange(selectedIndex);\n\n let guiEvent: IGuiEvent = getGuiEventObj('selectionchanged', this.controlId, +this.rowId);\n guiEvent.Value = selectedIndex.toString();\n this.task.insertEvent(guiEvent);\n }\n\n onOpened() {\n this.isPanelOpen = true;\n MagicDirective.noOfAutoCompleteBoxesOpened++;\n }\n\n onClosed() {\n this.isPanelOpen = false;\n this.writeValue(this.mg.getValue(this.controlId, this.rowId));\n MagicDirective.noOfAutoCompleteBoxesOpened--;\n\n // Mark touched here instead: panel is closed means user truly left the field\n this.touched = true;\n this.stateChanges.next();\n }\n\n getFilteredListForChoiceControl(): Array<{index: number, displayValue: string}> {\n const elem = this.combo_input;\n let value = elem ? elem.nativeElement.value : \"\";\n\n let items = this.mg.getItemListValues(this.controlId, this.rowId);\n if (value !== null && value !== \"\" && items instanceof Array) {\n value = value.toLowerCase();\n return items.filter(option => option.displayValue.toLowerCase().includes(value));\n }\n else\n return items;\n }\n}\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport { MagicDirective } from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design listboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-selection-list[magic]`,\n standalone: false\n})\r\nexport class MatListboxDirective{\r\n\r\n constructor(protected magicDirective: MagicDirective) {\r\n }\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n this.magicDirective.task.onListBoxSelectionChanged($event, this.magicDirective.id);\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { MagicDirective } from '@magic-xpa/angular';\r\n\r\n/**\r\n * Directive for material-design autocomplete not on material-design table\r\n */\r\n@Directive({\n selector: 'mat-autocomplete[magic]',\n standalone: false\n})\r\nexport class MatMagicAutocompleteDirective {\r\n\r\n @HostListener('opened', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened++;\r\n }\r\n\r\n @HostListener('closed', ['$event'])\r\n onClosedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened--;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxDirective } from './directives/magic/form-controls/mat-magic-checkbox.directive';\r\nimport { MatComboboxDirective } from './directives/magic/form-controls/mat-magic-combobox.directive';\r\nimport { BaseMatTableMagicComponent } from './components/base-mat-table-magic.component';\r\nimport { EditableComboComponent } from './components/editable-combo-component';\r\nimport { MatListboxDirective } from './directives/magic/form-controls/mat-magic-listbox.directive';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MagicModule } from '@magic-xpa/angular';\r\nimport { MatMagicAutocompleteDirective } from './directives/magic/form-controls/mat-magic-autocomplete.directive';\r\nimport { MatAutocomplete, MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const materialModules = [\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatAutocompleteTrigger,\r\n MatAutocomplete\r\n];\r\n\r\n/**\r\n * @ignore\r\n */\r\n@NgModule({\r\n declarations: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n exports: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ...materialModules,\r\n MagicModule,\r\n ReactiveFormsModule,\r\n ]\r\n})\r\nexport class MagicAngularMaterialModule {\r\n\r\n}\r\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./src/angular-material.module\";\nexport * from \"./src/components/base-mat-table-magic.component\";\nexport * from \"./src/components/editable-combo-component\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-autocomplete.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-checkbox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-combobox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-listbox.directive\";\nexport * from \"./src/services/mat.magic.providers\";\nexport * from \"./src/services/mattable.magic.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;AAEG;MAOU,oBAAoB,CAAA;AAOL,IAAA,cAAA;AACF,IAAA,WAAA;AACE,IAAA,IAAA;AACA,IAAA,OAAA;IATjB,UAAU,GAAY,KAAK;IAC5B,mBAAmB,GAAQ,IAAI;IAC/B,aAAa,GAAa,KAAK;AACvC;;AAEG;AACH,IAAA,WAAA,CAA0B,cAA8B,EAChC,WAAwB,EACtB,IAAsB,EACtB,OAAmB,EAAA;QAHnB,IAAA,CAAA,cAAc,GAAd,cAAc;QAChB,IAAA,CAAA,WAAW,GAAX,WAAW;QACT,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,OAAO,GAAP,OAAO;IACjC;AACA;;AAEG;AAEH,IAAA,QAAQ,CAAC,MAAa,EAAA;AACpB,QAAA,IAAG,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,gBAAgB,EAAE;QACzB;aACK;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrG;IACF;IACA,QAAQ,GAAA;AACN,QAAA,IAAG,IAAI,CAAC,UAAU,EAAC;AACjB,YAAA,IAAI,QAAQ,GAAc,cAAc,CAAC,iBAAiB,EAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AAC9G,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YACpK,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IACQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAC7B,aAAA,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACjE,SAAS,CAAC,CAAC,IAAG;YACX,IAAI,OAAO,GAAe,CAAC;AAC3B,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC7B;YAAE,OAAO,EAAE,EAAE;AACX,gBAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB;AACF,QAAA,CAAC,CACF;IACL;AACA,IAAA,aAAa,CAAC,OAAmB,EAAA;AAC/B,QAAA,IAAI,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,YAAY;AACjD,YAAA,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,qBAAqB,EAAE;AAC3D,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI;QACpE;IACF;IACQ,gBAAgB,GAAA;QACtB,IAAI,KAAK,GAAY,EAAE;QACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AAC5F,QAAA,IAAG,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAK;AAC3D,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK;YAChC,KAAK,GAAG,WAAW;QACrB;aACK,IAAG,gBAAgB,EAAE;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;AAC1D,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK;YAChC,KAAK,GAAG,eAAe;QACzB;aACK,IAAG,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAK;AAC3D,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI;YAC/B,KAAK,GAAG,SAAS;QACnB;;QAEA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACpG;AACA;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI;AAClC,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;IAC1C;iIA9EW,oBAAoB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,EAAA,OAAA,EAAA,EAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAApB,YAAA,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,8CAAA,CAAA,MAAA,EAAA,EAAA,OAAA,oBAAgB,CAAA,CAAA,CAAA,CAAI;;;iFAApB,oBAAoB,EAAA,CAAA;cANhC,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;AACD,gBAAA,UAAU,EAAE;AACf,aAAA;;kBAEE;;kBAcA,YAAY;mBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;AC5BpC;;AAEG;AAKG,MAAO,oBAAqB,SAAQ,sBAAsB,CAAA;AAE9D;;;AAGG;AAEH,IAAA,QAAQ,CAAC,MAAM,EAAA;AACb,QAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB;AAGA,IAAA,eAAe,CAAC,MAAM,EAAA;AACpB,QAAA,cAAc,CAAC,MAAM,GAAG,MAAM;IAChC;AAEA;;AAEG;IACH,0BAA0B,GAAA;IAC1B;AApBW,uBAAA,OAAA,IAAA,6BAAA,CAAA,MAAA,EAAA,IAAA,iCAAA,CAAA,CAAA,OAAA,SAAA,4BAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,iCAAA,KAAA,iCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,oBAAoB,yBAApB,oBAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA;4FAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,YAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAApB,YAAA,EAAA,CAAA,UAAA,CAAA,iBAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,QAAA,CAAA,MAAA,CAAgB,CAAA,CAAA,CAAA,CAAI,CAAA,cAAA,EAAA,SAAA,oDAAA,CAAA,MAAA,EAAA,EAAA,OAApB,GAAA,CAAA,eAAA,CAAA,MAAA,CAAuB,CAAA,CAAA,CAAA,CAAH;;;iFAApB,oBAAoB,EAAA,CAAA;cAJhC,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,CAAA,iBAAA,CAAmB;AAC7B,gBAAA,UAAU,EAAE;AACf,aAAA;;kBAOE,YAAY;mBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;;kBAK1C,YAAY;mBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;;ACV1C;;AAEG;AAEG,MAAO,iBAAkB,SAAQ,iBAAiB,CAAA;AA6DhC,IAAA,aAAA;AAAoD,IAAA,IAAA;AA5D1E;;AAEG;AACH,IAAA,UAAU;AAEV;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;AAEG;IACH,IAAI,UAAU,CAAC,UAAuC,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;AAEA;;AAEG;AACH,IAAA,SAAS;AAET;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,SAAS;IACvB;AAEA;;AAEG;IACH,IAAI,SAAS,CAAC,SAAkC,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AAEA;;AAEG;AACH,IAAA,SAAS;AAET;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,SAAS;IACvB;AAEA;;AAEG;IACH,IAAI,SAAS,CAAC,SAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AAEA;;AAEG;IACH,WAAA,CAAsB,aAAwC,EAAY,IAAsB,EAAA;AAC9F,QAAA,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;QADN,IAAA,CAAA,aAAa,GAAb,aAAa;QAAuC,IAAA,CAAA,IAAI,GAAJ,IAAI;IAE9E;AAEA;;;;;AAKG;AACH,IAAA,OAAO,CAAC,UAAuC,EAAG,SAAuB,EAAE,SAAkC,EAAA;AAC3G,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AAEA;;AAEG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAE5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACtG;AAEA;;;AAGG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;AACnC,YAAA,OAAO,EAAE;AACX,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ;IAChC;AAEA;;;AAGG;AACH,IAAA,SAAS,CAAC,QAAgB,EAAA;AACxB,QAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AAEA;;;AAGG;AACH,IAAA,UAAU,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM;QAEnC,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AAEA;;;AAGG;IACH,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC;AAEA;;;;AAIG;IACH,kBAAkB,CAAC,CAAC,EAAE,iBAA2B,EAAA;QAE/C,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,EAAE;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ;QACpC;aACK;YACH,IAAI,iBAAiB,EACrB;AACE,gBAAA,IAAI,GAAW;gBACf,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,iBAAiB,EAAE;oBACrC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,WAAW,GAAG,WAAW;gBAC7E;qBAAO;oBACL,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,eAAe,GAAG,aAAa;gBACnF;gBAEA,IAAI,QAAQ,GAAc,cAAc,CAAC,iBAAiB,EAAE,UAAU,EAAC,CAAC,CAAC;AACzE,gBAAA,QAAQ,CAAC,KAAK,GAAG,GAAG;AACpB,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACjC;;AAEE,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC;QACtE;IACF;AAEA;;;;;AAKG;AACH,IAAA,YAAY,CAAC,SAAiB,EAAE,aAAqB,EAAE,QAAgB,EAAA;AACrE,QAAA,IAAI,gBAAgB,GAAG,SAAS,GAAG,QAAQ;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC5C;AAEF;;;;;AAKG;AACH,IAAA,eAAe,CAAC,SAAiB,EAAE,aAAqB,EAAE,QAAgB,EAAA;QACxE,IAAI,QAAQ,GAAc,cAAc,CAAC,SAAS,EAAE,EAAE,EAAC,CAAC,CAAC;AACzD,QAAA,QAAQ,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACnE;AAEA;;;AAGG;AACH,IAAA,QAAQ,CAAC,CAAC,EAAA;QACR,IAAI,SAAS,GAAW,CAAC;AACzB,QAAA,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK;YACvB,SAAS,GAAG,CAAC;AACV,aAAA,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;YAC7B,SAAS,GAAG,CAAC;AAEf,QAAA,IAAI,QAAQ,GAAc,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;AAC3E,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACjC;AAEA;;;AAGG;AACH,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,IAAI,IAAI,KAAK,CAAC;SACd;YACG,IAAI,GAAG,CAAC;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9D;AAEK,aAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;QAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACnC;AAEA;;;AAGG;AACO,IAAA,qBAAqB,CAAC,QAAgB,EAAA;QAC9C,IAAI,gBAAgB,GAAW,CAAC;AAChC,QAAA,IAAI,eAAe,GAAuC,IAAI,CAAC,WAAW,EAAE;AAE5E,QAAA,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;;QAG5D,KAAK,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC7H,YAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;IACrC;AAEA;;AAEG;AACH,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;QAEvC,IAAI,KAAK,IAAI,CAAC;AACZ,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClE;AAEA;;AAEG;IACH,gBAAgB,GAAA;QAEd,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;IAC3C;8HArPW,iBAAiB,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,KAAA,6BAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,iBAAiB,WAAjB,iBAAiB,CAAA,IAAA,EAAA,CAAA;;iFAAjB,iBAAiB,EAAA,CAAA;cAD7B;;;ACTD;;AAEG;AACI,MAAM,iBAAiB,GAAG;IAC/B,GAAG,mBAAmB;AACtB,IAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB;;;ACD3D;;AAEG;AAMI,MAAO,0BAA2B,SAAQ,sBAAsB,CAAA;AAgCzD,IAAA,GAAA;AACH,IAAA,YAAA;AA/BT;;AAEG;AACqC,IAAA,SAAS;AAEjD;;AAEG;AACgC,IAAA,IAAI;AAEvC;;AAEG;AACH,IAAA,gBAAgB;AAEhB;;AAEG;AACH,IAAA,UAAU;AAEV;;AAEG;AACH,IAAA,SAAS;AAGT;;AAEG;IACH,WAAA,CACY,GAAsB,EACzB,YAA2B,EAAA;AAGlC,QAAA,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC;QAJd,IAAA,CAAA,GAAG,GAAH,GAAG;QACN,IAAA,CAAA,YAAY,GAAZ,YAAY;AAKnB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAS,IAAI,kBAAkB,CAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACnF,IAAI,CAAC,SAAS,GAAU,IAAI,cAAc,CAAc,KAAK,EAAE,EAAE,CAAC;IACpE;AAEA;;AAEG;IACH,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,YAAkC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;IAChH;AAEA;;AAEG;IACH,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACnF,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,YAAkC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACxH,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;QACjD;IACF;uIA5DY,0BAA0B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAK3B,YAAA,EAAA,CAAA,WAAA,CAAA,YAAY,KAKZ,OAAO,EAAA,CAAA,CAAA;;;;;iEAdL,iBAAiB,CAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAA,mCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA;;iFAIlB,0BAA0B,EAAA,CAAA;cALvC,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,SAAS,EAAE,iBAAiB;AAC5B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,UAAU,EAAE;AACf,aAAA;;kBAME,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC;;kBAKrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC;;kFAVrB,0BAA0B,EAAA,EAAA,SAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;;;;ICI9B,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAEG;IACD,EAAA,CAAA,MAAA,CAAA,CAAA,CACF;IAAA,EAAA,CAAA,YAAA,EAAa;;;IAHX,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,IAAA,CAAA,YAAA,CAAwB;IAExB,EAAA,CAAA,SAAA,EACF;IADE,EAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,IAAA,CAAA,YAAA,EAAA,GAAA,CACF;;ACUV;AACA;MACa,sBAAsB,CAAA;AAwExB,IAAA,aAAA;AAEC,IAAA,EAAA;AACA,IAAA,KAAA;AAEmB,IAAA,SAAA;AA5E7B;;AAEG;IACH,SAAS,GAAW,EAAE;IACtB,KAAK,GAAW,GAAG;AACM,IAAA,WAAW;AAEpC;;AAEG;IACH,IAAoB,KAAK,CAAC,GAAW,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG;IACtB;;IAEA,IAAoB,MAAM,CAAC,GAAW,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;IAClB;;IAES,WAAW,GAAW,EAAE;AAEjC,IAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC;;IAGxC,WAAW,GAAG,KAAK;;AAGX,IAAA,QAAQ,GAA4B,MAAK,EAAE,CAAC;AAC5C,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;;;AAIxC,IAAA,OAAO,MAAM,GAAG,CAAC;AACjB,IAAA,EAAE,GAAG,CAAA,eAAA,EAAkB,sBAAsB,CAAC,MAAM,EAAE,EAAE;AACxD,IAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;IAClC,OAAO,GAAG,KAAK;IACf,OAAO,GAAG,KAAK;IACf,WAAW,GAAG,gBAAgB;IAC9B,KAAK,GAAW,CAAC,CAAC;;IAGV,SAAS,GAAG,KAAK;IACzB,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,GAAqB,EAAA,EAAI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;;IAGrG,SAAS,GAAG,KAAK;IACzB,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,GAAqB,EAAA,EAAI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;;;AAI7G,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK;AACtD,QAAA,OAAO,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE;IACrC;;;AAIA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;IACpC;;;AAIA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;IACzD;AAEA,IAAA,WAAA,CACS,aAA4B;;AAE3B,IAAA,EAAgB,EAChB,KAAiB;;IAEE,SAAoB,EAAA;QALxC,IAAA,CAAA,aAAa,GAAb,aAAa;QAEZ,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,KAAK,GAAL,KAAK;QAEc,IAAA,CAAA,SAAS,GAAT,SAAS;;;;AAKpC,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;;;;AAKA,QAAA,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,IAAG;AACzC,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI;YAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;;;AAGxC,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACrB;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC1B,QAAA,CAAC,CAAC;IACJ;AAEA;;;AAGG;AACH,IAAA,IAAI,EAAE,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB;IAC7C;AAEA;;;AAGG;AACH,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;IAChC;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC;;;AAIxD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,MAAK;AAC1D,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC1B,QAAA,CAAC,CAAC;IACJ;;IAGA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC5B,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC;;IAGA,iBAAiB,CAAC,GAAa,EAAA,EAAS;;AAGxC,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE;IACzC;;AAGA,IAAA,UAAU,CAAC,KAAa,EAAA;QACtB,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;AAC1C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;AACrE,YAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAErE,IAAI,cAAc,IAAI,SAAS;AAC7B,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;;AAErE,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAChD;;AAEE,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;;AAG9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;;AAGA,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;;AAGA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;QAClD,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,UAAU;gBACZ,WAAW,CAAC,OAAO,EAAE;;gBAErB,WAAW,CAAC,MAAM,EAAE;QACxB;;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;AAEA,IAAA,gBAAgB,CAAC,KAAmC,EAAA;AAClD,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAEtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;AACrE,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,WAAW,CAAC;AAClF,QAAA,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,cAAc,IAAI,SAAS;AAC7B,YAAA,aAAa,GAAG,cAAc,CAAC,KAAK;AAEtC,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAE5B,QAAA,IAAI,QAAQ,GAAc,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AACzF,QAAA,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACjC;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,cAAc,CAAC,2BAA2B,EAAE;IAC9C;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,cAAc,CAAC,2BAA2B,EAAE;;AAG5C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;IAEA,+BAA+B,GAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW;AAC7B,QAAA,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AAEhD,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;AACjE,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,YAAY,KAAK,EAAE;AAC5D,YAAA,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE;YAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClF;;AAEE,YAAA,OAAO,KAAK;IAChB;mIAtOW,sBAAsB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,YAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;AAbtB,QAAA,CAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;;;;;AAKT,gBAAA;AACE,oBAAA,OAAO,EAAE,mBAAmB;AAC5B,oBAAA,WAAW,EAAE;AACd;AACF,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AD9BC,YAJJ,8BAGG,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAQI;AAFD,YAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,qDAAA,GAAA,EAAA,OAAQ,YAAQ,CAAA,CAAA,CAAA,CAAC;YALnB,EAAA,CAAA,YAAA,EAOG;YAED,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,CAAA,CAOG;YAHD,qIAAkB,GAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CAAA,CAAA,CAAC,kGACjC,GAAA,CAAA,QAAA,EAAU,CAAA,CAAA,CAAA,CAAC,CAAA,QAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,OACX,GAAA,CAAA,QAAA,EAAU,CAAA,CAAA,CAAA,CAAC;YAErB,EAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,EAAA,CAAA,yBAAA,CAMC;AAEP,YADI,iBAAmB,EACjB;;;YA3BN,EAAA,CAAA,UAAA,CAAA,WAAA,EAAA,GAAA,CAAA,SAAA,CAAuB;YAMnB,EAAA,CAAA,SAAA,EAAkC;AAElC,YAFA,mDAAkC,CAAA,aAAA,EAAA,GAAA,CAAA,WAAA,CAEP;YAWzB,EAAA,CAAA,SAAA,CAAA,CAAA,CAMC;AAND,YAAA,EAAA,CAAA,UAAA,CAAA,qCAAiC,CAMhC;;;iFCWI,sBAAsB,EAAA,CAAA;cAjBlC,SAAS;2BACE,gBAAgB,EAAA,UAAA,EACd,KAAK,EAAA,SAAA,EAEN;;;;;AAKT,oBAAA;AACE,wBAAA,OAAO,EAAE,mBAAmB;AAC5B,wBAAA,WAAW,EAAA;AACZ;AACF,iBAAA,EAAA,QAAA,EAAA,60BAAA,EAAA;;sBAiFE;;sBAAY;;kBAvEd,SAAS;mBAAC,YAAY;;kBAKtB,KAAK;mBAAC,OAAO;;kBAIb,KAAK;mBAAC,OAAO;;kBAIb;;kBAuBA;;kBAMA;;kFAhDU,sBAAsB,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,4CAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;;AClCnC;;AAEG;MAKU,mBAAmB,CAAA;AAER,IAAA,cAAA;AAAtB,IAAA,WAAA,CAAsB,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;IACpC;AAEA;;;AAGG;AAEH,IAAA,QAAQ,CAAC,MAAM,EAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IACpF;gIAZW,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAAnB,YAAA,EAAA,CAAA,UAAA,CAAA,iBAAA,EAAA,SAAA,sDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,oBAAgB,CAAA,CAAA,CAAA,CAAG;;;iFAAnB,mBAAmB,EAAA,CAAA;cAJ/B,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,gBAAA,UAAU,EAAE;AACf,aAAA;;kBAUE,YAAY;mBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;;;ACjB7C;;AAEG;MAKU,6BAA6B,CAAA;AAGxC,IAAA,eAAe,CAAC,MAAM,EAAA;QACnB,cAAc,CAAC,2BAA2B,EAAE;IAC/C;AAGA,IAAA,eAAe,CAAC,MAAM,EAAA;QACnB,cAAc,CAAC,2BAA2B,EAAE;IAC/C;0IAVW,6BAA6B,GAAA,CAAA,CAAA,CAAA;4FAA7B,6BAA6B,EAAA,SAAA,EAAA,CAAA,CAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,0CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAA7B,YAAA,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,eAAA,CAAA,MAAA,CAAuB,CAAA,CAAA,CAAA,CAAM,CAAA,QAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,OAA7B,GAAA,CAAA,eAAA,CAAA,MAAA,CAAuB,CAAA,CAAA,CAAA,CAAM;;;iFAA7B,6BAA6B,EAAA,CAAA;cAJzC,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,yBAAyB;AACnC,gBAAA,UAAU,EAAE;AACf,aAAA;;kBAGE,YAAY;mBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;kBAKjC,YAAY;mBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;ACOpC;;AAEG;AACI,MAAM,eAAe,GAAG;IAC7B,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB;;AAGF;;AAEG;MA0BU,0BAA0B,CAAA;uIAA1B,0BAA0B,GAAA,CAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,CAAA;+FAPnC,YAAY;AACZ,YAAA,WAAW,EApCb,cAAc;YACd,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,aAAa;YACb,iBAAiB;YACjB,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,mBAAmB;AAEnB,YAAA,eAAe,EA2Bb,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA;;iFAGV,0BAA0B,EAAA,CAAA;cAzBtC,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,YAAY,EAAE;oBACZ,oBAAoB;oBACpB,oBAAoB;oBACpB,mBAAmB;oBACnB,6BAA6B;oBAC7B,0BAA0B;oBAC1B;AACD,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,oBAAoB;oBACpB,oBAAoB;oBACpB,mBAAmB;oBACnB,6BAA6B;oBAC7B,0BAA0B;oBAC1B;AACD,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;AACX,oBAAA,GAAG,eAAe;oBAClB,WAAW;oBACX,mBAAmB;AACpB;AACF,aAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,0BAA0B,mBAvBnC,oBAAoB;QACpB,oBAAoB;QACpB,mBAAmB;QACnB,6BAA6B;QAC7B,0BAA0B;AAC1B,QAAA,sBAAsB,aAWtB,YAAY;AACZ,QAAA,WAAW,EApCb,cAAc;QACd,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,eAAe;QACf,mBAAmB;QACnB,mBAAmB;QACnB,sBAAsB;AACtB,QAAA,eAAe,EA2Bb,WAAW;AACX,QAAA,mBAAmB,aAZnB,oBAAoB;QACpB,oBAAoB;QACpB,mBAAmB;QACnB,6BAA6B;QAC7B,0BAA0B;QAC1B,sBAAsB,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;;AC5D1B;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@magic-xpa/angular-material-core",
3
- "version": "4.1300.0-dev4130.140",
3
+ "version": "4.1300.0-dev4130.142",
4
4
  "license": "SEE LICENSE IN EULA.pdf",
5
5
  "peerDependencies": {
6
6
  "@angular/core": "^21.1.4",
7
7
  "@angular/common": "^21.1.4",
8
8
  "@angular/forms": "^21.1.4",
9
9
  "@angular/material": "^21.1.4",
10
- "@magic-xpa/angular": "4.1300.0-dev4130.140"
10
+ "@magic-xpa/angular": "4.1300.0-dev4130.142"
11
11
  },
12
12
  "module": "fesm2022/magic-xpa-angular-material-core.mjs",
13
13
  "typings": "types/magic-xpa-angular-material-core.d.ts",
@@ -1,7 +1,7 @@
1
- import * as i9 from '@angular/material/table';
2
- import { MatTableModule, MatTableDataSource } from '@angular/material/table';
1
+ import * as _angular_material_core from '@angular/material/core';
2
+ import { MatNativeDateModule } from '@angular/material/core';
3
3
  import * as i19 from '@angular/material/autocomplete';
4
- import { MatAutocompleteSelectedEvent, MatAutocompleteTrigger, MatAutocomplete } from '@angular/material/autocomplete';
4
+ import { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';
5
5
  import * as i0 from '@angular/core';
6
6
  import { ElementRef, ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
7
7
  import * as _magic_xpa_angular from '@magic-xpa/angular';
@@ -18,13 +18,14 @@ import { MatFormFieldControl } from '@angular/material/form-field';
18
18
  import { FocusMonitor } from '@angular/cdk/a11y';
19
19
  import { Subject } from 'rxjs';
20
20
  import * as i7 from '@angular/common';
21
+ import * as i9 from '@angular/material/table';
22
+ import { MatTableDataSource } from '@angular/material/table';
21
23
  import * as i11 from '@angular/material/input';
22
24
  import * as i12 from '@angular/material/button';
23
25
  import * as i13 from '@angular/material/list';
24
26
  import * as i15 from '@angular/material/tabs';
25
27
  import * as i16 from '@angular/material/select';
26
28
  import * as i17 from '@angular/material/datepicker';
27
- import * as _angular_material_core from '@angular/material/core';
28
29
  import { SelectionModel } from '@angular/cdk/collections';
29
30
 
30
31
  /**
@@ -161,6 +162,7 @@ declare class EditableComboComponent implements ControlValueAccessor, MatFormFie
161
162
  set rowId1(val: string);
162
163
  placeholder: string;
163
164
  formGroup: FormGroup;
165
+ isPanelOpen: boolean;
164
166
  private onChange;
165
167
  private onTouched;
166
168
  static nextId: number;
@@ -172,10 +174,10 @@ declare class EditableComboComponent implements ControlValueAccessor, MatFormFie
172
174
  value: number;
173
175
  private _required;
174
176
  get required(): boolean;
175
- set required(val: boolean);
177
+ set required(val: boolean | string);
176
178
  private _disabled;
177
179
  get disabled(): boolean;
178
- set disabled(val: boolean);
180
+ set disabled(val: boolean | string);
179
181
  get empty(): boolean;
180
182
  get shouldLabelFloat(): boolean;
181
183
  get errorState(): boolean;
@@ -213,7 +215,7 @@ declare class EditableComboComponent implements ControlValueAccessor, MatFormFie
213
215
  /**
214
216
  * @ignore
215
217
  */
216
- declare const materialModules: (typeof MatTableModule | typeof MatAutocompleteTrigger | typeof MatAutocomplete)[];
218
+ declare const materialModules: (typeof MatNativeDateModule | typeof MatAutocomplete | typeof MatAutocompleteTrigger)[];
217
219
  /**
218
220
  * @ignore
219
221
  */