@ng-matero/extensions 13.2.1 → 13.3.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 (65) hide show
  1. package/alert/alert.component.d.ts +1 -1
  2. package/core/datetime/datetime-formats.d.ts +2 -0
  3. package/esm2020/alert/alert.component.mjs +4 -4
  4. package/esm2020/button/button-loading.directive.mjs +1 -1
  5. package/esm2020/core/datetime/datetime-formats.mjs +1 -1
  6. package/esm2020/datetimepicker/datetimepicker-input.mjs +6 -1
  7. package/esm2020/form-group/form-group.component.mjs +3 -3
  8. package/esm2020/grid/cell.component.mjs +32 -32
  9. package/esm2020/grid/column-menu.component.mjs +11 -17
  10. package/esm2020/grid/grid.component.mjs +16 -9
  11. package/esm2020/popover/popover-animations.mjs +10 -13
  12. package/esm2020/popover/popover-content.mjs +90 -0
  13. package/esm2020/popover/popover-interfaces.mjs +1 -1
  14. package/esm2020/popover/popover-module.mjs +9 -7
  15. package/esm2020/popover/popover-target.mjs +3 -3
  16. package/esm2020/popover/popover-trigger.mjs +214 -184
  17. package/esm2020/popover/popover-types.mjs +1 -1
  18. package/esm2020/popover/popover.mjs +188 -133
  19. package/esm2020/popover/public-api.mjs +2 -1
  20. package/esm2020/select/option.component.mjs +4 -6
  21. package/esm2020/select/select.component.mjs +121 -31
  22. package/fesm2015/mtxAlert.mjs +3 -3
  23. package/fesm2015/mtxAlert.mjs.map +1 -1
  24. package/fesm2015/mtxButton.mjs.map +1 -1
  25. package/fesm2015/mtxCore.mjs.map +1 -1
  26. package/fesm2015/mtxDatetimepicker.mjs +5 -0
  27. package/fesm2015/mtxDatetimepicker.mjs.map +1 -1
  28. package/fesm2015/mtxFormGroup.mjs +2 -2
  29. package/fesm2015/mtxFormGroup.mjs.map +1 -1
  30. package/fesm2015/mtxGrid.mjs +57 -55
  31. package/fesm2015/mtxGrid.mjs.map +1 -1
  32. package/fesm2015/mtxPopover.mjs +520 -352
  33. package/fesm2015/mtxPopover.mjs.map +1 -1
  34. package/fesm2015/mtxSelect.mjs +172 -83
  35. package/fesm2015/mtxSelect.mjs.map +1 -1
  36. package/fesm2020/mtxAlert.mjs +3 -3
  37. package/fesm2020/mtxAlert.mjs.map +1 -1
  38. package/fesm2020/mtxButton.mjs.map +1 -1
  39. package/fesm2020/mtxCore.mjs.map +1 -1
  40. package/fesm2020/mtxDatetimepicker.mjs +5 -0
  41. package/fesm2020/mtxDatetimepicker.mjs.map +1 -1
  42. package/fesm2020/mtxFormGroup.mjs +2 -2
  43. package/fesm2020/mtxFormGroup.mjs.map +1 -1
  44. package/fesm2020/mtxGrid.mjs +56 -55
  45. package/fesm2020/mtxGrid.mjs.map +1 -1
  46. package/fesm2020/mtxPopover.mjs +514 -350
  47. package/fesm2020/mtxPopover.mjs.map +1 -1
  48. package/fesm2020/mtxSelect.mjs +170 -83
  49. package/fesm2020/mtxSelect.mjs.map +1 -1
  50. package/grid/cell.component.d.ts +6 -9
  51. package/grid/column-menu.component.d.ts +4 -6
  52. package/grid/grid.component.d.ts +7 -5
  53. package/package.json +1 -1
  54. package/popover/popover-animations.d.ts +1 -1
  55. package/popover/popover-content.d.ts +43 -0
  56. package/popover/popover-interfaces.d.ts +37 -31
  57. package/popover/popover-module.d.ts +4 -3
  58. package/popover/popover-target.d.ts +2 -2
  59. package/popover/popover-trigger.d.ts +67 -62
  60. package/popover/popover-types.d.ts +6 -1
  61. package/popover/popover.d.ts +99 -71
  62. package/popover/popover.scss +2 -0
  63. package/popover/public-api.d.ts +1 -0
  64. package/select/option.component.d.ts +7 -6
  65. package/select/select.component.d.ts +61 -22
@@ -1 +1 @@
1
- {"version":3,"file":"mtxSelect.mjs","sources":["../../../projects/extensions/select/templates.directive.ts","../../../projects/extensions/select/option.component.ts","../../../projects/extensions/select/select.component.ts","../../../projects/extensions/select/select.component.html","../../../projects/extensions/select/select.module.ts","../../../projects/extensions/select/mtxSelect.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]' })\nexport class MtxSelectOptionTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]' })\nexport class MtxSelectOptgroupTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-label-tmp]' })\nexport class MtxSelectLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]' })\nexport class MtxSelectMultiLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-header-tmp]' })\nexport class MtxSelectHeaderTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-footer-tmp]' })\nexport class MtxSelectFooterTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-notfound-tmp]' })\nexport class MtxSelectNotFoundTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]' })\nexport class MtxSelectTypeToSearchTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]' })\nexport class MtxSelectLoadingTextTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-tag-tmp]' })\nexport class MtxSelectTagTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]' })\nexport class MtxSelectLoadingSpinnerTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'mtx-option',\n exportAs: 'mtxOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n})\nexport class MtxOptionComponent implements OnChanges, AfterViewChecked, OnDestroy {\n @Input() value: any;\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = this._isDisabled(value);\n }\n\n readonly stateChange$ = new Subject<{ value: any; disabled: boolean; label?: string }>();\n\n private _disabled = false;\n private _previousLabel!: string;\n\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n\n get label(): string {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n label: this.elementRef.nativeElement.innerHTML,\n });\n }\n }\n\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n\n private _isDisabled(value: null) {\n return value != null && `${value}` !== 'false';\n }\n}\n","import {\n Component,\n OnInit,\n OnDestroy,\n DoCheck,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n ElementRef,\n ChangeDetectorRef,\n Optional,\n Self,\n Output,\n EventEmitter,\n TemplateRef,\n ContentChild,\n ContentChildren,\n QueryList,\n AfterViewInit,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil, startWith } from 'rxjs/operators';\n\nimport {\n MtxSelectOptionTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectFooterTemplateDirective,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n} from './templates.directive';\nimport { MtxOptionComponent } from './option.component';\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = (term: string) => any | Promise<any>;\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (\n key: string | Record<string, any>,\n children: any[]\n) => string | Record<string, any>;\nexport type SearchFn = (term: string, item: any) => boolean;\nexport type TrackByFn = (item: any) => any;\n\nexport function isDefined(value: any) {\n return value !== undefined && value !== null;\n}\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'mtx-select',\n exportAs: 'mtxSelect',\n host: {\n '[attr.id]': 'id',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[class.mtx-select-floating]': 'shouldLabelFloat',\n '[class.mtx-select-invalid]': 'errorState',\n 'class': 'mtx-select',\n },\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxSelectComponent }],\n})\nexport class MtxSelectComponent\n implements\n OnInit,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n ControlValueAccessor,\n MatFormFieldControl<any>\n{\n @ViewChild('ngSelect', { static: true }) ngSelect!: NgSelectComponent;\n\n // MtxSelect custom templates\n @ContentChild(MtxSelectOptionTemplateDirective, { read: TemplateRef })\n optionTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectOptgroupTemplateDirective, { read: TemplateRef })\n optgroupTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLabelTemplateDirective, { read: TemplateRef })\n labelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectMultiLabelTemplateDirective, { read: TemplateRef })\n multiLabelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectHeaderTemplateDirective, { read: TemplateRef })\n headerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectFooterTemplateDirective, { read: TemplateRef })\n footerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectNotFoundTemplateDirective, { read: TemplateRef })\n notFoundTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTypeToSearchTemplateDirective, { read: TemplateRef })\n typeToSearchTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingTextTemplateDirective, { read: TemplateRef })\n loadingTextTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTagTemplateDirective, { read: TemplateRef })\n tagTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingSpinnerTemplateDirective, { read: TemplateRef })\n loadingSpinnerTemplate!: TemplateRef<any>;\n\n @ContentChildren(MtxOptionComponent, { descendants: true })\n mtxOptions!: QueryList<MtxOptionComponent>;\n\n /** MtxSelect options */\n @Input() addTag: boolean | AddTagFn = false;\n @Input() addTagText = 'Add item';\n @Input() appearance = 'underline';\n @Input() appendTo!: string;\n @Input() bindLabel!: string;\n @Input() bindValue!: string;\n @Input() closeOnSelect = true;\n @Input() clearAllText = 'Clear all';\n @Input() clearable = true;\n @Input() clearOnBackspace = true;\n @Input() compareWith!: CompareWithFn;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() groupBy!: string | (() => void);\n @Input() groupValue!: GroupValueFn;\n @Input() selectableGroup = false;\n @Input() selectableGroupAsModel = true;\n @Input() hideSelected = false;\n @Input() isOpen!: boolean;\n @Input() loading = false;\n @Input() loadingText = 'Loading...';\n @Input() labelForId: string | null = null;\n @Input() markFirst = true;\n @Input() maxSelectedItems!: number;\n @Input() multiple = false;\n @Input() notFoundText = 'No items found';\n @Input() searchable = true;\n @Input() readonly = false;\n @Input() searchFn: SearchFn | null = null;\n @Input() searchWhileComposing = true;\n @Input() selectOnTab = false;\n @Input() trackByFn: TrackByFn | null = null;\n @Input() inputAttrs: { [key: string]: string } = {};\n @Input() tabIndex!: number;\n @Input() openOnEnter!: boolean;\n @Input() minTermLength = 0;\n @Input() editableSearchTerm = false;\n @Input() keyDownFn = (_: KeyboardEvent) => true;\n @Input() virtualScroll = false;\n @Input() typeToSearchText = 'Type to search';\n @Input() typeahead!: Subject<string>;\n\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{ term: string; items: any[] }>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n @Input()\n get clearSearchOnAdd() {\n return isDefined(this._clearSearchOnAdd) ? this._clearSearchOnAdd : this.closeOnSelect;\n }\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n private _clearSearchOnAdd!: boolean;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n this._itemsAreUsed = true;\n this._items = value;\n }\n private _items: any[] = [];\n private _itemsAreUsed!: boolean;\n private readonly _destroy$ = new Subject<void>();\n\n /** Value of the select control. */\n @Input()\n get value(): any {\n return this._value;\n }\n set value(newValue: any) {\n this._value = newValue;\n this._onChange(newValue);\n this.stateChanges.next();\n }\n private _value = null;\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Unique id for this input. */\n private _uid = `mtx-select-${nextUniqueId++}`;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the input is focused. */\n get focused(): boolean {\n return this._focused;\n }\n private _focused = false;\n\n get empty(): boolean {\n return this.value == null || (Array.isArray(this.value) && this.value.length === 0);\n }\n\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.readonly = this._disabled;\n this.stateChanges.next();\n this._changeDetectorRef.markForCheck();\n }\n private _disabled = false;\n\n errorState = false;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-select';\n\n /** The aria-describedby attribute on the select for improved a11y. */\n _ariaDescribedby!: string;\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n _onTouched = () => {};\n\n constructor(\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Self() public ngControl: NgControl\n ) {\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit() {\n // Fix compareWith warning of undefined value\n // https://github.com/ng-select/ng-select/issues/1537\n if (this.compareWith) {\n this.ngSelect.compareWith = this.compareWith;\n }\n }\n\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this._setItemsFromMtxOptions();\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n this.errorState = (this.ngControl.invalid && this.ngControl.touched) as boolean;\n this.stateChanges.next();\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.join(' ');\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (/mat-form-field|mtx-select/g.test(target.parentElement?.classList[0] || '')) {\n this.focus();\n this.open();\n }\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** NgSelect: _setItemsFromNgOptions */\n private _setItemsFromMtxOptions() {\n const mapMtxOptions = (options: QueryList<MtxOptionComponent>) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled,\n }));\n this.ngSelect.itemsList.setItems(this.items);\n if (this.ngSelect.hasValue) {\n this.ngSelect.itemsList.mapSelectedItems();\n }\n this.ngSelect.detectChanges();\n };\n\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.mtxOptions.changes, this._destroy$);\n merge(...this.mtxOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.ngSelect.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this.ngSelect.detectChanges();\n });\n };\n\n this.mtxOptions.changes\n .pipe(startWith(this.mtxOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n mapMtxOptions(options);\n handleOptionChange();\n });\n }\n\n open() {\n this.ngSelect.open();\n }\n\n close() {\n this.ngSelect.close();\n }\n\n focus() {\n this.ngSelect.focus();\n }\n\n blur() {\n this.ngSelect.blur();\n }\n\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<ng-select #ngSelect [class.ng-select-invalid]=\"errorState\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit($event)\">\n\n <ng-container *ngIf=\"optionTemplate\">\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optgroupTemplate\">\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"labelTemplate\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"multiLabelTemplate\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate\">\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate\">\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"notFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"typeToSearchTemplate\">\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingTextTemplate\">\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"tagTemplate\">\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingSpinnerTemplate\">\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-select>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { MtxSelectComponent } from './select.component';\nimport {\n MtxSelectFooterTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n} from './templates.directive';\nimport { MtxOptionComponent } from './option.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgSelectModule],\n exports: [\n MtxSelectComponent,\n MtxOptionComponent,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectFooterTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n ],\n declarations: [\n MtxSelectComponent,\n MtxOptionComponent,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectFooterTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n ],\n})\nexport class MtxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mtxSelect.mjs","sources":["../../../projects/extensions/select/option.component.ts","../../../projects/extensions/select/templates.directive.ts","../../../projects/extensions/select/select.component.ts","../../../projects/extensions/select/select.component.html","../../../projects/extensions/select/select.module.ts","../../../projects/extensions/select/mtxSelect.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'mtx-option',\n exportAs: 'mtxOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n})\nexport class MtxOptionComponent implements OnChanges, AfterViewChecked, OnDestroy {\n @Input() value: any;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n private _previousLabel?: string;\n\n readonly stateChange$ = new Subject<{\n value: any;\n disabled: boolean;\n label?: string;\n }>();\n\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n label: this.elementRef.nativeElement.innerHTML,\n });\n }\n }\n\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]' })\nexport class MtxSelectOptionTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]' })\nexport class MtxSelectOptgroupTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-label-tmp]' })\nexport class MtxSelectLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]' })\nexport class MtxSelectMultiLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-header-tmp]' })\nexport class MtxSelectHeaderTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-footer-tmp]' })\nexport class MtxSelectFooterTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-notfound-tmp]' })\nexport class MtxSelectNotFoundTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]' })\nexport class MtxSelectTypeToSearchTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]' })\nexport class MtxSelectLoadingTextTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-tag-tmp]' })\nexport class MtxSelectTagTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]' })\nexport class MtxSelectLoadingSpinnerTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Self,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ErrorStateMatcher, mixinErrorState } from '@angular/material/core';\nimport { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { MatFormField, MatFormFieldControl, MAT_FORM_FIELD } from '@angular/material/form-field';\nimport { merge, Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { MtxOptionComponent } from './option.component';\nimport {\n MtxSelectFooterTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n} from './templates.directive';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = (term: string) => any | Promise<any>;\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (\n key: string | Record<string, any>,\n children: any[]\n) => string | Record<string, any>;\nexport type SearchFn = (term: string, item: any) => boolean;\nexport type TrackByFn = (item: any) => any;\n\nlet nextUniqueId = 0;\n\n// Boilerplate for applying mixins to MtxSelect.\n/** @docs-private */\nconst _MtxSelectMixinBase = mixinErrorState(\n class {\n /**\n * Emits whenever the component state changes and should cause the parent\n * form-field to update. Implemented as part of `MatFormFieldControl`.\n * @docs-private\n */\n readonly stateChanges = new Subject<void>();\n\n constructor(\n public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n /**\n * Form control bound to the component.\n * Implemented as part of `MatFormFieldControl`.\n * @docs-private\n */\n public ngControl: NgControl\n ) {}\n }\n);\n\n@Component({\n selector: 'mtx-select',\n exportAs: 'mtxSelect',\n host: {\n 'role': 'combobox',\n 'aria-autocomplete': 'none',\n '[attr.id]': 'id',\n '[attr.aria-expanded]': 'panelOpen',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.aria-labelledby]': '_getAriaLabelledby()',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-required]': 'required.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[class.mtx-select-floating]': 'shouldLabelFloat',\n '[class.mtx-select-disabled]': 'disabled',\n '[class.mtx-select-invalid]': 'errorState',\n '[class.mtx-select-required]': 'required',\n '[class.mtx-select-empty]': 'empty',\n '[class.mtx-select-multiple]': 'multiple',\n 'class': 'mtx-select',\n },\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxSelectComponent }],\n})\nexport class MtxSelectComponent\n extends _MtxSelectMixinBase\n implements\n OnInit,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n ControlValueAccessor,\n MatFormFieldControl<any>\n{\n @ViewChild('ngSelect', { static: true }) ngSelect!: NgSelectComponent;\n\n @ContentChild(MtxSelectOptionTemplateDirective, { read: TemplateRef })\n optionTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectOptgroupTemplateDirective, { read: TemplateRef })\n optgroupTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLabelTemplateDirective, { read: TemplateRef })\n labelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectMultiLabelTemplateDirective, { read: TemplateRef })\n multiLabelTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectHeaderTemplateDirective, { read: TemplateRef })\n headerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectFooterTemplateDirective, { read: TemplateRef })\n footerTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectNotFoundTemplateDirective, { read: TemplateRef })\n notFoundTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTypeToSearchTemplateDirective, { read: TemplateRef })\n typeToSearchTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingTextTemplateDirective, { read: TemplateRef })\n loadingTextTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectTagTemplateDirective, { read: TemplateRef })\n tagTemplate!: TemplateRef<any>;\n @ContentChild(MtxSelectLoadingSpinnerTemplateDirective, { read: TemplateRef })\n loadingSpinnerTemplate!: TemplateRef<any>;\n\n @ContentChildren(MtxOptionComponent, { descendants: true })\n mtxOptions!: QueryList<MtxOptionComponent>;\n\n @Input() addTag: boolean | AddTagFn = false;\n @Input() addTagText = 'Add item';\n @Input() appearance = 'underline';\n @Input() appendTo!: string;\n @Input() bindLabel!: string;\n @Input() bindValue!: string;\n @Input() closeOnSelect = true;\n @Input() clearAllText = 'Clear all';\n @Input() clearable = true;\n @Input() clearOnBackspace = true;\n @Input() compareWith!: CompareWithFn;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() groupBy!: string | (() => void);\n @Input() groupValue!: GroupValueFn;\n @Input() selectableGroup = false;\n @Input() selectableGroupAsModel = true;\n @Input() hideSelected = false;\n @Input() isOpen!: boolean;\n @Input() loading = false;\n @Input() loadingText = 'Loading...';\n @Input() labelForId: string | null = null;\n @Input() markFirst = true;\n @Input() maxSelectedItems!: number;\n @Input() multiple = false;\n @Input() notFoundText = 'No items found';\n @Input() searchable = true;\n @Input() readonly = false;\n @Input() searchFn: SearchFn | null = null;\n @Input() searchWhileComposing = true;\n @Input() selectOnTab = false;\n @Input() trackByFn: TrackByFn | null = null;\n @Input() inputAttrs: { [key: string]: string } = {};\n @Input() tabIndex!: number;\n @Input() openOnEnter!: boolean;\n @Input() minTermLength = 0;\n @Input() editableSearchTerm = false;\n @Input() keyDownFn = (_: KeyboardEvent) => true;\n @Input() virtualScroll = false;\n @Input() typeToSearchText = 'Type to search';\n @Input() typeahead!: Subject<string>;\n\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{ term: string; items: any[] }>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n @Input()\n get clearSearchOnAdd() {\n return this._clearSearchOnAdd ?? this.closeOnSelect;\n }\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n private _clearSearchOnAdd?: boolean;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n this._itemsAreUsed = true;\n this._items = value;\n }\n private _items: any[] = [];\n private _itemsAreUsed = false;\n\n /** Emits whenever the component is destroyed. */\n private readonly _destroy$ = new Subject<void>();\n\n /** Value of the select control. */\n @Input()\n get value(): any {\n return this._value;\n }\n set value(newValue: any) {\n this._value = newValue;\n this._onChange(newValue);\n this.stateChanges.next();\n }\n private _value = null;\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Unique id for this select. */\n private _uid = `mtx-select-${nextUniqueId++}`;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the select is focused. */\n get focused(): boolean {\n return this._focused;\n }\n private _focused = false;\n\n /** Whether the select has a value. */\n get empty(): boolean {\n return this.value == null || (Array.isArray(this.value) && this.value.length === 0);\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n /** Whether the component is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n /** Whether the select is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.readonly = this._disabled;\n this.stateChanges.next();\n this._changeDetectorRef.markForCheck();\n }\n private _disabled = false;\n\n /** Object used to control when error messages are shown. */\n @Input() override errorStateMatcher!: ErrorStateMatcher;\n\n /** Aria label of the select. */\n @Input('aria-label') ariaLabel: string = '';\n\n /** Input that can be used to specify the `aria-labelledby` attribute. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The aria-describedby attribute on the select for improved a11y. */\n _ariaDescribedby: string | null = null;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-select';\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n _onTouched = () => {};\n\n /** ID for the DOM node containing the select's value. */\n _valueId = `mtx-select-value-${nextUniqueId++}`;\n\n /** Whether or not the overlay panel is open. */\n get panelOpen(): boolean {\n return !!this.ngSelect.isOpen;\n }\n\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n protected _elementRef: ElementRef,\n protected _focusMonitor: FocusMonitor,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Inject(MAT_FORM_FIELD) private _parentFormField?: MatFormField\n ) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl);\n\n _focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl != null) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id;\n }\n\n ngOnInit() {\n // Fix compareWith warning of undefined value\n // https://github.com/ng-select/ng-select/issues/1537\n if (this.compareWith) {\n this.ngSelect.compareWith = this.compareWith;\n }\n }\n\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this._setItemsFromMtxOptions();\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Gets the value for the `aria-labelledby` attribute of the inputs. */\n _getAriaLabelledby() {\n if (this.ariaLabel) {\n return null;\n }\n\n const labelId = this._parentFormField?.getLabelId();\n let value = (labelId ? labelId + ' ' : '') + this._valueId;\n\n if (this.ariaLabelledby) {\n value += ' ' + this.ariaLabelledby;\n }\n\n return value;\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.length ? ids.join(' ') : null;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (/mat-form-field|mtx-select/g.test(target.parentElement?.classList[0] || '')) {\n this.focus();\n this.open();\n }\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** NgSelect's `_setItemsFromNgOptions` */\n private _setItemsFromMtxOptions() {\n const mapMtxOptions = (options: QueryList<MtxOptionComponent>) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled,\n }));\n this.ngSelect.itemsList.setItems(this.items);\n if (this.ngSelect.hasValue) {\n this.ngSelect.itemsList.mapSelectedItems();\n }\n this.ngSelect.detectChanges();\n };\n\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.mtxOptions.changes, this._destroy$);\n merge(...this.mtxOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.ngSelect.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this.ngSelect.detectChanges();\n });\n };\n\n this.mtxOptions.changes\n .pipe(startWith(this.mtxOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n mapMtxOptions(options);\n handleOptionChange();\n });\n }\n\n open() {\n this.ngSelect.open();\n }\n\n close() {\n this.ngSelect.close();\n }\n\n focus() {\n this.ngSelect.focus();\n }\n\n blur() {\n this.ngSelect.blur();\n }\n\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<ng-select #ngSelect [class.ng-select-invalid]=\"errorState\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit($event)\">\n\n <ng-container *ngIf=\"optionTemplate\">\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optgroupTemplate\">\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"labelTemplate\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"multiLabelTemplate\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate\">\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate\">\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"notFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"typeToSearchTemplate\">\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingTextTemplate\">\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"tagTemplate\">\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingSpinnerTemplate\">\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-select>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { MtxSelectComponent } from './select.component';\nimport {\n MtxSelectFooterTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n} from './templates.directive';\nimport { MtxOptionComponent } from './option.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgSelectModule],\n exports: [\n MtxSelectComponent,\n MtxOptionComponent,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectFooterTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n ],\n declarations: [\n MtxSelectComponent,\n MtxOptionComponent,\n MtxSelectOptgroupTemplateDirective,\n MtxSelectOptionTemplateDirective,\n MtxSelectLabelTemplateDirective,\n MtxSelectMultiLabelTemplateDirective,\n MtxSelectHeaderTemplateDirective,\n MtxSelectFooterTemplateDirective,\n MtxSelectNotFoundTemplateDirective,\n MtxSelectTypeToSearchTemplateDirective,\n MtxSelectLoadingTextTemplateDirective,\n MtxSelectTagTemplateDirective,\n MtxSelectLoadingSpinnerTemplateDirective,\n ],\n})\nexport class MtxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { ThemePalette } from '@angular/material/core';
2
1
  import { MtxDialog } from '@ng-matero/extensions/dialog';
3
- import { Observable } from 'rxjs';
4
2
  import { MtxGridColumn, MtxGridColumnButton } from './grid.interface';
5
3
  import { MtxGridService } from './grid.service';
6
4
  import * as i0 from "@angular/core";
@@ -8,27 +6,26 @@ export declare class MtxGridCellComponent {
8
6
  private _dialog;
9
7
  private _dataGridSrv;
10
8
  /** Row data */
11
- rowData: {};
9
+ rowData: any;
12
10
  /** Column definition */
13
11
  colDef: MtxGridColumn;
14
- /** All data */
12
+ /** Table data */
15
13
  data: any[];
16
14
  /** Whether show summary */
17
15
  summary: boolean;
16
+ /** Placeholder for the empty value (`null`, `''`, `[]`) */
17
+ placeholder: string;
18
18
  get _colValue(): string;
19
- _isString(fn: any): boolean;
20
- _isFunction(fn: any): boolean;
21
19
  _isEmptyValue(value: any): boolean;
22
20
  _isContainHTML(value: string): boolean;
23
21
  _getText(value: any): any;
24
22
  _getTooltip(value: any): any;
25
23
  _getFormatterTooltip(value: any): any;
26
- _formatSummary(data: any[], colDef: MtxGridColumn): string | void | ((data: any[], colDef?: MtxGridColumn | undefined) => void);
24
+ _formatSummary(data: any[], colDef: MtxGridColumn): string | void;
27
25
  constructor(_dialog: MtxDialog, _dataGridSrv: MtxGridService);
28
- _handleActionConfirm(event: MouseEvent, title: string | Observable<string>, description: string | Observable<string> | undefined, okColor: ThemePalette, okText: string | Observable<string> | undefined, closeColor: ThemePalette, closeText?: string | Observable<string>, fn?: (p: any) => void, data?: any): void;
29
26
  _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any): void;
30
27
  /** Preview enlarged image */
31
28
  _handleImagePreview(urlStr: string): void;
32
29
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxGridCellComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridCellComponent, "mtx-grid-cell", ["mtxGridCell"], { "rowData": "rowData"; "colDef": "colDef"; "data": "data"; "summary": "summary"; }, {}, never, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridCellComponent, "mtx-grid-cell", ["mtxGridCell"], { "rowData": "rowData"; "colDef": "colDef"; "data": "data"; "summary": "summary"; "placeholder": "placeholder"; }, {}, never, never>;
34
31
  }
@@ -26,15 +26,13 @@ export declare class MtxGridColumnMenuComponent {
26
26
  showFooter: boolean;
27
27
  footerText: string;
28
28
  footerTemplate: TemplateRef<any>;
29
- selectionChange: EventEmitter<MtxGridColumn[]>;
30
- sortChange: EventEmitter<MtxGridColumn[]>;
31
- pinChange: EventEmitter<MtxGridColumn[]>;
29
+ columnChange: EventEmitter<MtxGridColumn[]>;
32
30
  get pinOptions(): MtxGridColumnPinOption[];
33
31
  set pinOptions(value: MtxGridColumnPinOption[]);
34
32
  private _pinOptions;
35
- _handleDroped(event: CdkDragDrop<string[]>): void;
36
- _handleSelection(e: MatCheckboxChange): void;
33
+ _handleDroped(e: CdkDragDrop<string[]>): void;
34
+ _handleChecked(e: MatCheckboxChange): void;
37
35
  _handlePinSelect(col: MtxGridColumn, val: MtxGridColumnPinValue): void;
38
36
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxGridColumnMenuComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridColumnMenuComponent, "mtx-grid-column-menu", ["mtxGridColumnMenu"], { "columns": "columns"; "selectable": "selectable"; "selectableChecked": "selectableChecked"; "sortable": "sortable"; "pinnable": "pinnable"; "buttonText": "buttonText"; "buttonType": "buttonType"; "buttonColor": "buttonColor"; "buttonClass": "buttonClass"; "buttonIcon": "buttonIcon"; "showHeader": "showHeader"; "headerText": "headerText"; "headerTemplate": "headerTemplate"; "showFooter": "showFooter"; "footerText": "footerText"; "footerTemplate": "footerTemplate"; "pinOptions": "pinOptions"; }, { "selectionChange": "selectionChange"; "sortChange": "sortChange"; "pinChange": "pinChange"; }, never, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridColumnMenuComponent, "mtx-grid-column-menu", ["mtxGridColumnMenu"], { "columns": "columns"; "selectable": "selectable"; "selectableChecked": "selectableChecked"; "sortable": "sortable"; "pinnable": "pinnable"; "buttonText": "buttonText"; "buttonType": "buttonType"; "buttonColor": "buttonColor"; "buttonClass": "buttonClass"; "buttonIcon": "buttonIcon"; "showHeader": "showHeader"; "headerText": "headerText"; "headerTemplate": "headerTemplate"; "showFooter": "showFooter"; "footerText": "footerText"; "footerTemplate": "footerTemplate"; "pinOptions": "pinOptions"; }, { "columnChange": "columnChange"; }, never, never>;
40
38
  }
@@ -27,6 +27,8 @@ export declare class MtxGridComponent implements OnChanges, AfterViewInit, OnDes
27
27
  loading: boolean;
28
28
  trackBy: TrackByFunction<any>;
29
29
  columnResizable: boolean;
30
+ /** Placeholder for the empty value (`null`, `''`, `[]`) */
31
+ emptyValuePlaceholder: string;
30
32
  pageOnFront: boolean;
31
33
  showPaginator: boolean;
32
34
  pageDisabled: boolean;
@@ -112,9 +114,9 @@ export declare class MtxGridComponent implements OnChanges, AfterViewInit, OnDes
112
114
  ngOnDestroy(): void;
113
115
  _countPinnedPosition(): void;
114
116
  _getIndex(index: number, dataIndex: number): number;
115
- _handleSortChange(sort: Sort): void;
117
+ _onSortChange(sort: Sort): void;
116
118
  /** Expansion change event */
117
- _handleExpansionChange(expansionRef: MtxGridExpansionToggleDirective, rowData: any, column: any, index: number): void;
119
+ _onExpansionChange(expansionRef: MtxGridExpansionToggleDirective, rowData: any, column: any, index: number): void;
118
120
  /** Cell select event */
119
121
  _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void;
120
122
  /** Row select event */
@@ -126,16 +128,16 @@ export declare class MtxGridComponent implements OnChanges, AfterViewInit, OnDes
126
128
  /** Select normal row */
127
129
  _toggleNormalCheckbox(row: any): void;
128
130
  /** Column change event */
129
- _handleColumnChange(columns: any[]): void;
131
+ _onColumnChange(columns: any[]): void;
130
132
  getDisplayedColumnFields(columns: MtxGridColumn[]): string[];
131
133
  /** Customize expansion event */
132
134
  toggleExpansion(index: number): any;
133
135
  /** Scroll to top when turn to the next page. */
134
- _handlePage(e: PageEvent): void;
136
+ _onPage(e: PageEvent): void;
135
137
  scrollTop(value?: number): number | void;
136
138
  scrollLeft(value?: number): number | void;
137
139
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxGridComponent, never>;
138
- static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridComponent, "mtx-grid", ["mtxGrid"], { "displayedColumns": "displayedColumns"; "columns": "columns"; "data": "data"; "length": "length"; "loading": "loading"; "trackBy": "trackBy"; "columnResizable": "columnResizable"; "pageOnFront": "pageOnFront"; "showPaginator": "showPaginator"; "pageDisabled": "pageDisabled"; "showFirstLastButtons": "showFirstLastButtons"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "hidePageSize": "hidePageSize"; "paginationTemplate": "paginationTemplate"; "sortOnFront": "sortOnFront"; "sortActive": "sortActive"; "sortDirection": "sortDirection"; "sortDisableClear": "sortDisableClear"; "sortDisabled": "sortDisabled"; "sortStart": "sortStart"; "rowHover": "rowHover"; "rowStriped": "rowStriped"; "expandable": "expandable"; "expansionTemplate": "expansionTemplate"; "multiSelectable": "multiSelectable"; "multiSelectionWithClick": "multiSelectionWithClick"; "rowSelected": "rowSelected"; "rowSelectable": "rowSelectable"; "hideRowSelectionCheckbox": "hideRowSelectionCheckbox"; "rowSelectionFormatter": "rowSelectionFormatter"; "rowClassFormatter": "rowClassFormatter"; "cellSelectable": "cellSelectable"; "showToolbar": "showToolbar"; "toolbarTitle": "toolbarTitle"; "toolbarTemplate": "toolbarTemplate"; "showColumnMenuButton": "showColumnMenuButton"; "columnMenuButtonText": "columnMenuButtonText"; "columnMenuButtonType": "columnMenuButtonType"; "columnMenuButtonColor": "columnMenuButtonColor"; "columnMenuButtonClass": "columnMenuButtonClass"; "columnMenuButtonIcon": "columnMenuButtonIcon"; "columnHideable": "columnHideable"; "columnHideableChecked": "columnHideableChecked"; "columnSortable": "columnSortable"; "columnPinnable": "columnPinnable"; "showColumnMenuHeader": "showColumnMenuHeader"; "columnMenuHeaderText": "columnMenuHeaderText"; "columnMenuHeaderTemplate": "columnMenuHeaderTemplate"; "showColumnMenuFooter": "showColumnMenuFooter"; "columnMenuFooterText": "columnMenuFooterText"; "columnMenuFooterTemplate": "columnMenuFooterTemplate"; "columnPinOptions": "columnPinOptions"; "noResultText": "noResultText"; "noResultTemplate": "noResultTemplate"; "headerTemplate": "headerTemplate"; "headerExtraTemplate": "headerExtraTemplate"; "cellTemplate": "cellTemplate"; "useContentRowTemplate": "useContentRowTemplate"; "useContentHeaderRowTemplate": "useContentHeaderRowTemplate"; "useContentFooterRowTemplate": "useContentFooterRowTemplate"; "showSummary": "showSummary"; "summaryTemplate": "summaryTemplate"; "showSidebar": "showSidebar"; "sidebarTemplate": "sidebarTemplate"; "showStatusbar": "showStatusbar"; "statusbarTemplate": "statusbarTemplate"; }, { "page": "page"; "sortChange": "sortChange"; "rowClick": "rowClick"; "expansionChange": "expansionChange"; "rowSelectionChange": "rowSelectionChange"; "cellSelectionChange": "cellSelectionChange"; "columnChange": "columnChange"; }, ["rowDefs", "headerRowDefs", "footerRowDefs"], never>;
140
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxGridComponent, "mtx-grid", ["mtxGrid"], { "displayedColumns": "displayedColumns"; "columns": "columns"; "data": "data"; "length": "length"; "loading": "loading"; "trackBy": "trackBy"; "columnResizable": "columnResizable"; "emptyValuePlaceholder": "emptyValuePlaceholder"; "pageOnFront": "pageOnFront"; "showPaginator": "showPaginator"; "pageDisabled": "pageDisabled"; "showFirstLastButtons": "showFirstLastButtons"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "hidePageSize": "hidePageSize"; "paginationTemplate": "paginationTemplate"; "sortOnFront": "sortOnFront"; "sortActive": "sortActive"; "sortDirection": "sortDirection"; "sortDisableClear": "sortDisableClear"; "sortDisabled": "sortDisabled"; "sortStart": "sortStart"; "rowHover": "rowHover"; "rowStriped": "rowStriped"; "expandable": "expandable"; "expansionTemplate": "expansionTemplate"; "multiSelectable": "multiSelectable"; "multiSelectionWithClick": "multiSelectionWithClick"; "rowSelected": "rowSelected"; "rowSelectable": "rowSelectable"; "hideRowSelectionCheckbox": "hideRowSelectionCheckbox"; "rowSelectionFormatter": "rowSelectionFormatter"; "rowClassFormatter": "rowClassFormatter"; "cellSelectable": "cellSelectable"; "showToolbar": "showToolbar"; "toolbarTitle": "toolbarTitle"; "toolbarTemplate": "toolbarTemplate"; "showColumnMenuButton": "showColumnMenuButton"; "columnMenuButtonText": "columnMenuButtonText"; "columnMenuButtonType": "columnMenuButtonType"; "columnMenuButtonColor": "columnMenuButtonColor"; "columnMenuButtonClass": "columnMenuButtonClass"; "columnMenuButtonIcon": "columnMenuButtonIcon"; "columnHideable": "columnHideable"; "columnHideableChecked": "columnHideableChecked"; "columnSortable": "columnSortable"; "columnPinnable": "columnPinnable"; "showColumnMenuHeader": "showColumnMenuHeader"; "columnMenuHeaderText": "columnMenuHeaderText"; "columnMenuHeaderTemplate": "columnMenuHeaderTemplate"; "showColumnMenuFooter": "showColumnMenuFooter"; "columnMenuFooterText": "columnMenuFooterText"; "columnMenuFooterTemplate": "columnMenuFooterTemplate"; "columnPinOptions": "columnPinOptions"; "noResultText": "noResultText"; "noResultTemplate": "noResultTemplate"; "headerTemplate": "headerTemplate"; "headerExtraTemplate": "headerExtraTemplate"; "cellTemplate": "cellTemplate"; "useContentRowTemplate": "useContentRowTemplate"; "useContentHeaderRowTemplate": "useContentHeaderRowTemplate"; "useContentFooterRowTemplate": "useContentFooterRowTemplate"; "showSummary": "showSummary"; "summaryTemplate": "summaryTemplate"; "showSidebar": "showSidebar"; "sidebarTemplate": "sidebarTemplate"; "showStatusbar": "showStatusbar"; "statusbarTemplate": "statusbarTemplate"; }, { "page": "page"; "sortChange": "sortChange"; "rowClick": "rowClick"; "expansionChange": "expansionChange"; "rowSelectionChange": "rowSelectionChange"; "cellSelectionChange": "cellSelectionChange"; "columnChange": "columnChange"; }, ["rowDefs", "headerRowDefs", "footerRowDefs"], never>;
139
141
  }
140
142
  export declare class MtxGridCellSelectionDirective {
141
143
  private _dataGrid;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-matero/extensions",
3
- "version": "13.2.1",
3
+ "version": "13.3.0",
4
4
  "description": "Angular Material Extensions",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,6 +1,6 @@
1
1
  import { AnimationTriggerMetadata } from '@angular/animations';
2
2
  /**
3
- * Below are all the animations for the md-popover component.
3
+ * Below are all the animations for the mtx-popover component.
4
4
  * Animation duration and timing values are based on AngularJS Material.
5
5
  */
6
6
  /**
@@ -0,0 +1,43 @@
1
+ import { ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, InjectionToken, Injector, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Injection token that can be used to reference instances of `MtxPopoverContent`. It serves
6
+ * as alternative token to the actual `MtxPopoverContent` class which could cause unnecessary
7
+ * retention of the class and its directive metadata.
8
+ */
9
+ export declare const MTX_POPOVER_CONTENT: InjectionToken<MtxPopoverContent>;
10
+ export declare abstract class _MtxPopoverContentBase implements OnDestroy {
11
+ private _template;
12
+ private _componentFactoryResolver;
13
+ private _appRef;
14
+ private _injector;
15
+ private _viewContainerRef;
16
+ private _document;
17
+ private _changeDetectorRef?;
18
+ private _portal;
19
+ private _outlet;
20
+ /** Emits when the popover content has been attached. */
21
+ readonly _attached: Subject<void>;
22
+ constructor(_template: TemplateRef<any>, _componentFactoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _injector: Injector, _viewContainerRef: ViewContainerRef, _document: any, _changeDetectorRef?: ChangeDetectorRef | undefined);
23
+ /**
24
+ * Attaches the content with a particular context.
25
+ * @docs-private
26
+ */
27
+ attach(context?: any): void;
28
+ /**
29
+ * Detaches the content.
30
+ * @docs-private
31
+ */
32
+ detach(): void;
33
+ ngOnDestroy(): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<_MtxPopoverContentBase, never>;
35
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_MtxPopoverContentBase, never, never, {}, {}, never>;
36
+ }
37
+ /**
38
+ * Popover content that will be rendered lazily once the popover is opened.
39
+ */
40
+ export declare class MtxPopoverContent extends _MtxPopoverContentBase {
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxPopoverContent, never>;
42
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxPopoverContent, "ng-template[mtxPopoverContent]", never, {}, {}, never>;
43
+ }
@@ -1,44 +1,50 @@
1
- import { ElementRef, EventEmitter, NgZone, TemplateRef } from '@angular/core';
2
- import { MtxPopoverTriggerEvent, MtxPopoverScrollStrategy, MtxPopoverPosition } from './popover-types';
1
+ import { Direction } from '@angular/cdk/bidi';
2
+ import { EventEmitter, TemplateRef } from '@angular/core';
3
+ import { MtxPopoverTriggerEvent, MtxPopoverPosition, PopoverCloseReason } from './popover-types';
4
+ /**
5
+ * Interface for a custom popover panel that can be used with `mtxPopoverTriggerFor`.
6
+ * @docs-private
7
+ */
3
8
  export interface MtxPopoverPanel {
4
9
  triggerEvent: MtxPopoverTriggerEvent;
10
+ enterDelay: number;
11
+ leaveDelay: number;
5
12
  position: MtxPopoverPosition;
6
13
  xOffset: number;
7
14
  yOffset: number;
8
- enterDelay: number;
9
- leaveDelay: number;
10
- arrowOffsetX: number;
11
- arrowOffsetY: number;
12
- arrowWidth: number;
13
- arrowHeight: number;
14
15
  closeOnPanelClick: boolean;
15
16
  closeOnBackdropClick: boolean;
16
- scrollStrategy: MtxPopoverScrollStrategy;
17
- containerPositioning: boolean;
18
17
  closeDisabled: boolean;
18
+ backdropClass?: string;
19
+ overlayPanelClass?: string | string[];
20
+ hasBackdrop?: boolean;
19
21
  templateRef: TemplateRef<any>;
20
- zone: NgZone;
21
- closed: EventEmitter<void>;
22
+ lazyContent?: any;
23
+ direction?: Direction;
24
+ readonly panelId?: string;
25
+ readonly closed: EventEmitter<PopoverCloseReason>;
22
26
  setCurrentStyles: (pos?: MtxPopoverPosition) => void;
23
27
  setPositionClasses: (pos?: MtxPopoverPosition) => void;
24
- _emitCloseEvent: () => void;
25
- }
26
- export interface MtxPopoverConfig {
27
- triggerEvent: MtxPopoverTriggerEvent;
28
- position: MtxPopoverPosition;
29
- xOffset: number;
30
- yOffset: number;
31
- enterDelay: number;
32
- leaveDelay: number;
33
- arrowOffsetX: number;
34
- arrowOffsetY: number;
35
- arrowWidth: number;
36
- arrowHeight: number;
37
- closeOnPanelClick: boolean;
38
- closeOnBackdropClick: boolean;
39
- panelClass: string;
40
- backdropClass: string;
28
+ setElevation: () => void;
41
29
  }
42
- export interface MtxTarget {
43
- _elementRef: ElementRef;
30
+ /** Default `mtx-popover` options that can be overridden. */
31
+ export interface MtxPopoverDefaultOptions {
32
+ triggerEvent?: MtxPopoverTriggerEvent;
33
+ enterDelay?: number;
34
+ leaveDelay?: number;
35
+ position?: MtxPopoverPosition;
36
+ xOffset?: number;
37
+ yOffset?: number;
38
+ arrowWidth?: number;
39
+ arrowHeight?: number;
40
+ arrowOffsetX?: number;
41
+ arrowOffsetY?: number;
42
+ closeOnPanelClick?: boolean;
43
+ closeOnBackdropClick?: boolean;
44
+ overlayPanelClass?: string;
45
+ backdropClass?: string;
46
+ hasBackdrop?: boolean;
47
+ focusTrapEnabled?: boolean;
48
+ focusTrapAutoCaptureEnabled?: boolean;
49
+ elevation?: number;
44
50
  }
@@ -2,11 +2,12 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./popover";
3
3
  import * as i2 from "./popover-trigger";
4
4
  import * as i3 from "./popover-target";
5
- import * as i4 from "@angular/cdk/overlay";
5
+ import * as i4 from "./popover-content";
6
6
  import * as i5 from "@angular/common";
7
- import * as i6 from "@angular/cdk/a11y";
7
+ import * as i6 from "@angular/cdk/overlay";
8
+ import * as i7 from "@angular/cdk/a11y";
8
9
  export declare class MtxPopoverModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxPopoverModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<MtxPopoverModule, [typeof i1.MtxPopover, typeof i2.MtxPopoverTrigger, typeof i3.MtxPopoverTarget], [typeof i4.OverlayModule, typeof i5.CommonModule, typeof i6.A11yModule], [typeof i1.MtxPopover, typeof i2.MtxPopoverTrigger, typeof i3.MtxPopoverTarget]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MtxPopoverModule, [typeof i1.MtxPopover, typeof i2.MtxPopoverTrigger, typeof i3.MtxPopoverTarget, typeof i4.MtxPopoverContent], [typeof i5.CommonModule, typeof i6.OverlayModule, typeof i7.A11yModule], [typeof i1.MtxPopover, typeof i2.MtxPopoverTrigger, typeof i3.MtxPopoverTarget, typeof i4.MtxPopoverContent]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<MtxPopoverModule>;
12
13
  }
@@ -1,8 +1,8 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class MtxPopoverTarget {
4
- _elementRef: ElementRef;
5
- constructor(_elementRef: ElementRef);
4
+ elementRef: ElementRef;
5
+ constructor(elementRef: ElementRef);
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxPopoverTarget, never>;
7
7
  static ɵdir: i0.ɵɵDirectiveDeclaration<MtxPopoverTarget, "mtx-popover-target, [mtxPopoverTarget]", ["mtxPopoverTarget"], {}, {}, never>;
8
8
  }