@ng-matero/extensions 12.8.0 → 12.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"mtxGrid.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/extensions/grid/grid.service.ts","../../../projects/extensions/grid/grid.component.ts","../../../projects/extensions/grid/cell.component.ts","../../../projects/extensions/grid/column-menu.component.ts","../../../projects/extensions/grid/expansion-toggle.directive.ts","../../../projects/extensions/grid/cell-selection.directive.ts","../../../projects/extensions/grid/column-resize/resize-strategy.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/common.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize-flex.ts","../../../projects/extensions/grid/column-resize/overlay-handle.ts","../../../projects/extensions/grid/column-resize/resizable-directives/common.ts","../../../projects/extensions/grid/column-resize/resizable-directives/resizable.ts","../../../projects/extensions/grid/column-resize/column-resize-module.ts","../../../projects/extensions/grid/grid.module.ts","../../../projects/extensions/grid/mtxGrid.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { MtxGridColumn } from './grid.interface';\n\n@Injectable()\nexport class MtxGridService {\n constructor() {}\n\n /**\n * Get cell value from column key e.g. `a.b.c`\n * @param rowData Row data\n * @param colDef Column definition\n */\n getCellValue(rowData: any, colDef: MtxGridColumn): string {\n const keyArr = colDef.field ? colDef.field.split('.') : [];\n\n let tmp: any = '';\n\n keyArr.forEach((key: string, i: number) => {\n if (i === 0) {\n tmp = rowData[key];\n } else {\n tmp = tmp && tmp[key];\n }\n });\n return tmp;\n }\n\n /**\n * Get all data of a col\n * @param data All data\n * @param colDef Column definition\n */\n getColData(data: any[], colDef: MtxGridColumn): any[] {\n return data.map((rowData: any) => this.getCellValue(rowData, colDef));\n }\n\n /**\n * Remove white spaces in a string and convert string to array\n * @param str string\n */\n str2arr(str: string): string[] {\n return str.replace(/[\\r\\n\\s]/g, '').split(',');\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ViewChild,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n OnDestroy,\n AfterViewInit,\n ChangeDetectorRef,\n ElementRef,\n SimpleChanges,\n QueryList,\n ContentChildren,\n} from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRowDef,\n MatRowDef,\n MatTable,\n MatTableDataSource,\n} from '@angular/material/table';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { Sort, MatSort, SortDirection } from '@angular/material/sort';\nimport { ThemePalette } from '@angular/material/core';\n\nimport {\n MtxGridColumn,\n MtxGridColumnSelectionItem,\n MtxGridCellTemplate,\n MtxGridRowSelectionFormatter,\n MtxGridRowClassFormatter,\n MtxGridColumnMenu,\n MtxGridButtonType,\n} from './grid.interface';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridService } from './grid.service';\n\n@Component({\n selector: 'mtx-grid',\n exportAs: 'mtxGrid',\n templateUrl: './grid.component.html',\n styleUrls: ['./grid.component.scss'],\n host: {\n class: 'mtx-grid',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('expansion', [\n state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class MtxGridComponent implements OnChanges, AfterViewInit, OnDestroy {\n @ViewChild(MatTable) table!: MatTable<any>;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @ContentChildren(MatRowDef) rowDefs!: QueryList<MatRowDef<any>>;\n @ContentChildren(MatHeaderRowDef) headerRowDefs!: QueryList<MatHeaderRowDef>;\n @ContentChildren(MatFooterRow) footerRowDefs!: QueryList<MatFooterRowDef>;\n @ViewChild('columnMenu') columnMenu!: MtxGridColumnMenu;\n @ViewChild('tableContainer') tableContainer!: ElementRef<HTMLDivElement>;\n\n dataSource = new MatTableDataSource();\n\n @Input() displayedColumns!: string[];\n @Input() columns: MtxGridColumn[] = [];\n @Input() data: any[] = [];\n @Input() length = 0;\n @Input() loading = false;\n\n @Input() trackBy!: TrackByFunction<any>;\n\n @Input() columnResizable = false;\n\n // ===== Page =====\n\n @Input() pageOnFront = true;\n @Input() showPaginator = true;\n @Input() pageDisabled = false;\n @Input() showFirstLastButtons = true;\n @Input() pageIndex = 0;\n @Input() pageSize = 10;\n @Input() pageSizeOptions = [10, 50, 100];\n @Input() hidePageSize = false;\n @Output() page = new EventEmitter<PageEvent>();\n\n @Input() paginationTemplate!: TemplateRef<any>;\n\n // ===== Sort =====\n\n @Input() sortOnFront = true;\n @Input() sortActive!: string;\n @Input() sortDirection!: SortDirection;\n @Input() sortDisableClear: boolean = false;\n @Input() sortDisabled: boolean = false;\n @Input() sortStart: 'asc' | 'desc' = 'asc';\n @Output() sortChange = new EventEmitter<Sort>();\n\n // ===== Row =====\n\n @Input() rowHover = false;\n @Input() rowStriped = false;\n @Output() rowClick = new EventEmitter<any>();\n\n // ===== Expandable Row =====\n\n expansionRowStates: any[] = [];\n\n @Input() expandable = false;\n @Input() expansionTemplate!: TemplateRef<any>;\n @Output() expansionChange = new EventEmitter<any>();\n\n // ===== Row Selection =====\n\n /** Whether support multiple row/cell selection. */\n @Input() multiSelectable = true;\n\n @Input() multiSelectionWithClick = false;\n\n rowSelection: SelectionModel<any> = new SelectionModel<any>(true, []);\n\n @Input() rowSelected: any[] = [];\n @Input() rowSelectable = false;\n @Input() hideRowSelectionCheckbox = false;\n @Input() rowSelectionFormatter: MtxGridRowSelectionFormatter = {};\n @Input() rowClassFormatter!: MtxGridRowClassFormatter;\n @Output() rowSelectionChange = new EventEmitter<any[]>();\n\n // ===== Cell Selection =====\n\n cellSelection: any[] = [];\n\n @Input() cellSelectable = true;\n @Output() cellSelectionChange = new EventEmitter<any[]>();\n\n private _selectedCell: MtxGridCellSelectionDirective | undefined;\n\n // ===== Toolbar =====\n\n @Input() showToolbar = false;\n @Input() toolbarTitle = '';\n @Input() toolbarTemplate!: TemplateRef<any>;\n\n // ===== Column Menu =====\n\n columnMenuData: MtxGridColumnSelectionItem[] = [];\n\n @Input() showColumnMenuButton = true;\n @Input() columnMenuButtonText = '';\n @Input() columnMenuButtonType: MtxGridButtonType = 'stroked';\n @Input() columnMenuButtonColor: ThemePalette;\n @Input() columnMenuButtonClass = '';\n @Input() columnMenuButtonIcon = '';\n\n @Input() columnHideable = true;\n @Input() columnHideableChecked: 'show' | 'hide' = 'show';\n @Input() columnMovable = true;\n @Input() columnPinnable = true;\n @Output() columnChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n\n @Input() showColumnMenuHeader = false;\n @Input() columnMenuHeaderText = 'Columns Header';\n @Input() columnMenuHeaderTemplate!: TemplateRef<any>;\n @Input() showColumnMenuFooter = false;\n @Input() columnMenuFooterText = 'Columns Footer';\n @Input() columnMenuFooterTemplate!: TemplateRef<any>;\n\n // ===== No Result =====\n\n @Input() noResultText = 'No records found';\n @Input() noResultTemplate!: TemplateRef<any>;\n\n get _hasNoResult() {\n return (!this.data || this.data.length === 0) && !this.loading;\n }\n\n // ===== Cell Templates =====\n\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // ===== Row Templates =====\n\n @Input() useContentRowTemplate = false;\n // TODO: It can't use together with `useContentRowTemplate`\n @Input() useContentHeaderRowTemplate = false;\n // TODO: It's not working\n @Input() useContentFooterRowTemplate = false;\n\n // ===== Summary =====\n\n @Input() showSummary = false;\n @Input() summaryTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // TODO: Summary display conditions\n get _whetherShowSummary() {\n return this.showSummary;\n }\n\n // ===== Side Bar =====\n\n @Input() showSidebar = false;\n @Input() sidebarTemplate!: TemplateRef<any>;\n\n // ===== Status Bar =====\n\n @Input() showStatusbar = false;\n @Input() statusbarTemplate!: TemplateRef<any>;\n\n constructor(\n private _dataGridSrv: MtxGridService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n detectChanges() {\n this._changeDetectorRef.detectChanges();\n }\n\n _isTemplateRef(obj: any) {\n return obj instanceof TemplateRef;\n }\n\n _getColData(data: any[], colDef: MtxGridColumn) {\n return this._dataGridSrv.getColData(data, colDef);\n }\n\n _getRowClassList(rowData: any, index: number) {\n const classList: any = {\n 'selected': this.rowSelection.isSelected(rowData),\n 'mat-row-odd': index % 2,\n };\n if (this.rowClassFormatter) {\n for (const key of Object.keys(this.rowClassFormatter)) {\n classList[key] = this.rowClassFormatter[key](rowData, index);\n }\n }\n return classList;\n }\n\n // Waiting for async data\n ngOnChanges(changes: SimpleChanges) {\n this._countPinnedPosition();\n\n this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);\n\n if (this.showColumnMenuButton) {\n this.columnMenuData = (this.columns as any[]).map(item => {\n const newItem: MtxGridColumnSelectionItem = {\n label: item.header,\n field: item.field,\n disabled: item.disabled,\n };\n if (this.columnHideableChecked === 'show') {\n newItem.show = !item.hide;\n } else {\n newItem.hide = item.hide;\n }\n return newItem;\n });\n }\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n\n // We should copy each item of data for expansion data\n if (this.expandable) {\n this.expansionRowStates = []; // reset\n\n this.data?.forEach(_ => {\n this.expansionRowStates.push({ expanded: false });\n });\n }\n\n if (this.rowSelectable) {\n this.rowSelection = new SelectionModel<any>(this.multiSelectable, this.rowSelected);\n }\n\n this.dataSource = new MatTableDataSource(this.data);\n\n this.dataSource.paginator = this.pageOnFront ? this.paginator : null;\n this.dataSource.sort = this.sortOnFront ? this.sort : null;\n\n // Only scroll top with data change\n if (changes.data) {\n this.scrollTop(0);\n }\n }\n\n ngAfterViewInit() {\n if (this.pageOnFront) {\n this.dataSource.paginator = this.paginator;\n }\n\n if (this.sortOnFront) {\n this.dataSource.sort = this.sort;\n }\n\n if (this.rowDefs?.length > 0 && this.useContentRowTemplate) {\n this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));\n }\n if (this.headerRowDefs?.length > 0 && this.useContentHeaderRowTemplate) {\n this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));\n }\n if (this.footerRowDefs?.length > 0 && this.useContentFooterRowTemplate) {\n this.footerRowDefs.forEach(footerRowDef => this.table.addFooterRowDef(footerRowDef));\n }\n }\n\n ngOnDestroy() {}\n\n _countPinnedPosition() {\n const count = (acc: number, cur: MtxGridColumn) => acc + parseFloat(cur.width || '80px');\n\n const pinnedLeftCols = this.columns.filter(col => col.pinned && col.pinned === 'left');\n pinnedLeftCols.forEach((item, idx) => {\n item.left = pinnedLeftCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n\n const pinnedRightCols = this.columns\n .filter(col => col.pinned && col.pinned === 'right')\n .reverse();\n pinnedRightCols.forEach((item, idx) => {\n item.right = pinnedRightCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n }\n\n _getIndex(index: number, dataIndex: number) {\n return typeof index === 'undefined' ? dataIndex : index;\n }\n\n _handleSortChange(sort: Sort) {\n this.sortChange.emit(sort);\n }\n\n /** Expansion change event */\n _handleExpansionChange(\n expansionRef: MtxGridExpansionToggleDirective,\n rowData: any,\n column: any,\n index: number\n ) {\n this.expansionChange.emit({ expanded: expansionRef.expanded, data: rowData, index, column });\n }\n\n /** Cell select event */\n _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void {\n // If not the same cell\n if (this._selectedCell !== cellRef) {\n const colValue = this._dataGridSrv.getCellValue(rowData, colDef);\n this.cellSelection = []; // reset\n this.cellSelection.push({ cellData: colValue, rowData, colDef });\n\n this.cellSelectionChange.emit(this.cellSelection);\n\n if (this._selectedCell) {\n this._selectedCell.deselect(); // the selectedCell will be undefined\n }\n }\n\n this._selectedCell = cellRef.selected ? cellRef : undefined;\n }\n\n /** Row select event */\n _selectRow(event: MouseEvent, rowData: any, index: number) {\n if (\n this.rowSelectable &&\n !this.rowSelectionFormatter.disabled?.(rowData, index) &&\n !this.rowSelectionFormatter.hideCheckbox?.(rowData, index)\n ) {\n // metaKey -> command key\n if (!this.multiSelectionWithClick && !event.ctrlKey && !event.metaKey) {\n this.rowSelection.clear();\n }\n\n this._toggleNormalCheckbox(rowData);\n }\n\n this.rowClick.emit({ rowData, index });\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n _isAllSelected() {\n const numSelected = this.rowSelection.selected.length;\n const numRows = this.dataSource.data.filter(\n (row, index) => !this.rowSelectionFormatter.disabled?.(row, index)\n ).length;\n return numSelected === numRows;\n }\n\n /** Select all rows if they are not all selected; otherwise clear selection. */\n _toggleMasterCheckbox() {\n this._isAllSelected()\n ? this.rowSelection.clear()\n : this.dataSource.data.forEach((row, index) => {\n if (!this.rowSelectionFormatter.disabled?.(row, index)) {\n this.rowSelection.select(row);\n }\n });\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Select normal row */\n _toggleNormalCheckbox(row: any) {\n this.rowSelection.toggle(row);\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Column change event */\n _handleColumnChange(columns: any[]) {\n this.columnChange.emit(columns);\n\n this.displayedColumns = Object.assign([], this.getDisplayedColumnFields(columns));\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n }\n\n getDisplayedColumnFields(columns: any[]): string[] {\n const fields = columns\n .filter((item: MtxGridColumnSelectionItem) =>\n this.columnHideableChecked === 'show' ? item.show : !item.hide\n )\n .map((item: MtxGridColumnSelectionItem) => item.field);\n return fields;\n }\n\n /** Customize expansion event */\n toggleExpansion(index: number) {\n if (!this.expandable) {\n throw new Error('The `expandable` should be set true.');\n }\n this.expansionRowStates[index].expanded = !this.expansionRowStates[index].expanded;\n return this.expansionRowStates[index].expanded;\n }\n\n /** Scroll to top when turn to the next page. */\n _handlePage(e: PageEvent) {\n if (this.pageOnFront) {\n this.scrollTop(0);\n }\n this.page.emit(e);\n }\n\n scrollTop(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollTop;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollTop = value;\n }\n }\n\n scrollLeft(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollLeft;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollLeft = value;\n }\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtxDialog } from '@ng-matero/extensions/dialog';\nimport { Observable } from 'rxjs';\n\nimport { MtxGridColumn, MtxGridColumnButton } from './grid.interface';\nimport { MtxGridService } from './grid.service';\nimport PhotoViewer from 'photoviewer';\n\n@Component({\n selector: 'mtx-grid-cell',\n exportAs: 'mtxGridCell',\n templateUrl: './cell.component.html',\n styleUrls: ['./cell.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtxGridCellComponent {\n /** Row data */\n @Input() rowData = {};\n\n /** Column definition */\n @Input() colDef!: MtxGridColumn;\n\n /** All data */\n @Input() data: any[] = [];\n\n /** Whether show summary */\n @Input() summary = false;\n\n get _colValue() {\n return this._dataGridSrv.getCellValue(this.rowData, this.colDef);\n }\n\n _isString(fn: any) {\n return Object.prototype.toString.call(fn) === '[object String]';\n }\n\n _isFunction(fn: any) {\n return Object.prototype.toString.call(fn) === '[object Function]';\n }\n\n _isEmptyValue(value: any) {\n return value == null || value.toString() === '';\n }\n\n _isContainHTML(value: string) {\n return /<\\/?[a-z][\\s\\S]*>/i.test(value);\n }\n\n _getText(value: any) {\n return this._isEmptyValue(value) ? '--' : value;\n }\n\n _getTooltip(value: any) {\n return this._isEmptyValue(value) ? '' : value;\n }\n\n _getFormatterTooltip(value: any) {\n return this._isContainHTML(value) || this._isEmptyValue(value) ? '' : value;\n }\n\n _formatSummary(data: any[], colDef: MtxGridColumn) {\n if (this._isString(colDef.summary)) {\n return colDef.summary;\n } else if (this._isFunction(colDef.summary)) {\n return (colDef.summary as (data: any[], colDef?: MtxGridColumn) => void)(\n this._dataGridSrv.getColData(data, colDef),\n colDef\n );\n }\n }\n\n constructor(private _dialog: MtxDialog, private _dataGridSrv: MtxGridService) {}\n\n _handleActionConfirm(\n event: MouseEvent,\n title: string | Observable<string>,\n description: string | Observable<string> = '',\n okColor: ThemePalette = 'primary',\n okText: string | Observable<string> = 'OK',\n closeColor: ThemePalette,\n closeText: string | Observable<string> = 'CLOSE',\n fn?: (p: any) => void,\n data?: any\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n this._dialog.open({\n title,\n description,\n buttons: [\n {\n color: okColor,\n text: okText,\n onClick: () => (fn ? fn(data) : {}),\n },\n { color: closeColor, text: closeText, onClick: () => {} },\n ],\n });\n }\n\n _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any) {\n event.preventDefault();\n event.stopPropagation();\n\n if (btn.click) {\n btn.click(rowData);\n }\n }\n\n /** Preview enlarged image */\n _handleImagePreview(urlStr: string) {\n const imgs: PhotoViewer.Img[] = [];\n\n this._dataGridSrv.str2arr(urlStr).forEach((url, index) => {\n imgs.push({ title: index + 1 + '', src: url });\n });\n\n const footerToolbar =\n imgs.length > 1\n ? ['zoomIn', 'zoomOut', 'prev', 'next', 'rotateRight', 'rotateLeft', 'actualSize']\n : ['zoomIn', 'zoomOut', 'rotateRight', 'rotateLeft', 'actualSize'];\n\n const options: PhotoViewer.Options = {\n title: imgs.length > 1,\n footerToolbar,\n };\n\n const viewer = new PhotoViewer(imgs, options);\n }\n}\n","import {\n Component,\n Input,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtxGridButtonType, MtxGridColumnSelectionItem } from './grid.interface';\n\n@Component({\n selector: 'mtx-grid-column-menu',\n exportAs: 'mtxGridColumnMenu',\n templateUrl: './column-menu.component.html',\n styleUrls: ['./column-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxGridColumnMenuComponent {\n @ViewChild('menu', { static: true }) menuPanel!: MatMenu;\n @ViewChild(MatMenuTrigger) menuTrigger!: MatMenuTrigger;\n\n @Input() columns: MtxGridColumnSelectionItem[] = [];\n @Input() selectable = true;\n @Input() selectableChecked: 'show' | 'hide' = 'show';\n @Input() sortable = true;\n @Input() dndSortable = true;\n\n @Input()\n get buttonText() {\n const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;\n const text = this._buttonText ? this._buttonText : defaultText;\n return text;\n }\n set buttonText(value: string) {\n this._buttonText = value;\n }\n private _buttonText = '';\n\n @Input() buttonType: MtxGridButtonType = 'stroked';\n @Input() buttonColor: ThemePalette;\n @Input() buttonClass = '';\n @Input() buttonIcon = '';\n\n @Input() showHeader = false;\n @Input() headerText = 'Columns Header';\n @Input() headerTemplate!: TemplateRef<any>;\n @Input() showFooter = false;\n @Input() footerText = 'Columns Footer';\n @Input() footerTemplate!: TemplateRef<any>;\n\n @Output() selectionChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n @Output() sortChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n\n _handleDroped(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\n this.sortChange.emit(this.columns);\n }\n\n _handleSelection(e: MatCheckboxChange) {\n this.selectionChange.emit(this.columns);\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[mtx-grid-expansion-toggle]',\n})\nexport class MtxGridExpansionToggleDirective {\n private _opened = false;\n private _row: any;\n private _tplRef!: TemplateRef<any>;\n\n @Input()\n get opened() {\n return this._opened;\n }\n set opened(newValue: boolean) {\n this._opened = newValue;\n this.openedChange.emit(newValue);\n }\n @Output() openedChange = new EventEmitter<boolean>();\n\n @HostBinding('class.expanded')\n get expanded(): boolean {\n return this._opened;\n }\n\n @Input()\n set expandableRow(value: any) {\n if (value !== this._row) {\n this._row = value;\n }\n }\n\n @Input('expansionRowTpl')\n set template(value: TemplateRef<any>) {\n if (value !== this._tplRef) {\n this._tplRef = value;\n }\n }\n\n @Output() toggleChange = new EventEmitter<MtxGridExpansionToggleDirective>();\n\n constructor() {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n }\n\n toggle(): void {\n this.opened = !this.opened;\n this.toggleChange.emit(this);\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { MtxGridComponent } from './grid.component';\n\n@Directive({\n selector: '[mtx-grid-selectable-cell]',\n})\nexport class MtxGridCellSelectionDirective {\n private _selected = false;\n private _rowData: any;\n\n shiftKeyPressed = false;\n ctrlKeyPressed = false;\n\n @HostBinding('class.selected')\n get selected(): boolean {\n return this._selected;\n }\n\n @Input()\n set matSelectableRowData(value: any) {\n if (value !== this._rowData) {\n this._rowData = value;\n }\n }\n\n @Output() cellSelectionChange = new EventEmitter<MtxGridCellSelectionDirective>();\n\n constructor(private _dataGrid: MtxGridComponent) {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.ctrlKeyPressed = event.ctrlKey;\n this.shiftKeyPressed = event.shiftKey;\n\n if (this._dataGrid.cellSelectable) {\n this.select();\n }\n }\n\n select(): void {\n this._selected = true;\n this.cellSelectionChange.emit(this);\n }\n\n deselect(): void {\n this._selected = false;\n this.cellSelectionChange.emit(this);\n }\n\n toggle(): void {\n this._selected = !this._selected;\n this.cellSelectionChange.emit(this);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Inject, Injectable, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER } from '@angular/cdk/table';\n\nimport {\n ColumnResize,\n ResizeStrategy,\n CdkFlexTableResizeStrategy,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n} from '@ng-matero/extensions/column-resize';\n\nexport { TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER };\n\n/**\n * Overrides CdkFlexTableResizeStrategy to match mat-column elements.\n */\n@Injectable()\nexport class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {\n constructor(\n columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER) styleScheduler: _CoalescedStyleScheduler,\n table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any\n ) {\n super(columnResize, styleScheduler, table, document);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `mat-column-${cssFriendlyColumnName}`;\n }\n}\n\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: MatFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Provider } from '@angular/core';\n\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n\nexport const TABLE_HOST_BINDINGS = {\n class: 'mat-column-resize-table',\n};\nexport const FLEX_HOST_BINDINGS = {\n class: 'mat-column-resize-flex',\n};\n\nexport abstract class AbstractMatColumnResize extends ColumnResize {\n getTableHeight() {\n const table = this.elementRef.nativeElement;\n const tableParent = table!.parentNode as HTMLElement;\n const isTableContainer = tableParent!.classList.contains('mat-table-container');\n return isTableContainer ? tableParent!.offsetHeight : table!.offsetHeight;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, TABLE_HOST_BINDINGS, TABLE_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a table-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[mat-table][columnResize]',\n host: TABLE_HOST_BINDINGS,\n providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }],\n})\nexport class MatColumnResize extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, FLEX_HOST_BINDINGS, FLEX_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a flexbox-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'mat-table[columnResize]',\n host: FLEX_HOST_BINDINGS,\n providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }],\n})\nexport class MatColumnResizeFlex extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeOverlayHandle,\n ResizeRef,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize } from './column-resize-directives/common';\n\n/**\n * Component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying a vertical line along the column edge.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-column-resize-overlay-thumb' },\n template: '',\n})\nexport class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeRef: ResizeRef,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n @Inject(DOCUMENT) document: any\n ) {\n super();\n this.document = document;\n }\n\n protected updateResizeActive(active: boolean): void {\n super.updateResizeActive(active);\n\n this.resizeRef.overlayRef.updateSize({\n height: active\n ? (this.columnResize as AbstractMatColumnResize).getTableHeight()\n : this.resizeRef.origin.nativeElement!.offsetHeight,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Type } from '@angular/core';\nimport { Resizable } from '@ng-matero/extensions/column-resize';\nimport { MatColumnResizeOverlayHandle } from '../overlay-handle';\n\nexport abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {\n minWidthPxInternal = 32;\n\n protected getInlineHandleCssClassName(): string {\n return 'mat-resizable-handle';\n }\n\n protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {\n return MatColumnResizeOverlayHandle;\n }\n}\n\nexport const RESIZABLE_HOST_BINDINGS = {\n class: 'mat-resizable',\n};\n\nexport const RESIZABLE_INPUTS = [\n 'minWidthPx: matResizableMinWidthPx',\n 'maxWidthPx: matResizableMaxWidthPx',\n];\n","import {\n Directive,\n ElementRef,\n Inject,\n Injector,\n NgZone,\n ViewContainerRef,\n ChangeDetectorRef,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeStrategy,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS } from './common';\n\n/**\n * Explicitly enables column resizing for a mat-header-cell.\n */\n@Directive({\n selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',\n inputs: RESIZABLE_INPUTS,\n})\nexport class MatResizable extends AbstractMatResizable {\n isResizable = true;\n\n @HostBinding('class') get hasResizableClass() {\n return this.isResizable ? RESIZABLE_HOST_BINDINGS.class : '';\n }\n\n @Input()\n get resizable() {\n return this.isResizable;\n }\n set resizable(newValue: any) {\n this.isResizable = newValue == null || newValue === '' || newValue;\n }\n\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n @Inject(DOCUMENT) document: any,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly injector: Injector,\n protected readonly ngZone: NgZone,\n protected readonly overlay: Overlay,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeStrategy: ResizeStrategy,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n this.document = document;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatColumnResize } from './column-resize-directives/column-resize';\nimport { MatColumnResizeFlex } from './column-resize-directives/column-resize-flex';\nimport { MatResizable } from './resizable-directives/resizable';\nimport { MatColumnResizeOverlayHandle } from './overlay-handle';\n\nconst ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];\n\n@NgModule({\n declarations: ENTRY_COMMON_COMPONENTS,\n exports: ENTRY_COMMON_COMPONENTS,\n entryComponents: ENTRY_COMMON_COMPONENTS,\n})\nexport class MatColumnResizeCommonModule {}\n\nconst IMPORTS = [OverlayModule, MatColumnResizeCommonModule];\n\n@NgModule({\n imports: IMPORTS,\n declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n exports: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n})\nexport class MatColumnResizeModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/pipes';\nimport { MtxDialogModule } from '@ng-matero/extensions/dialog';\nimport { MtxGridComponent } from './grid.component';\nimport { MtxGridCellComponent } from './cell.component';\nimport { MtxGridColumnMenuComponent } from './column-menu.component';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridService } from './grid.service';\nimport { MatColumnResizeModule } from './column-resize/column-resize-module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatCheckboxModule,\n MatButtonModule,\n MatProgressBarModule,\n MatChipsModule,\n MatTooltipModule,\n MatIconModule,\n MatSelectModule,\n MatFormFieldModule,\n MatMenuModule,\n DragDropModule,\n MtxDialogModule,\n MtxPipesModule,\n MatColumnResizeModule,\n ],\n exports: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n MatColumnResizeModule,\n ],\n declarations: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n ],\n providers: [MtxGridService],\n})\nexport class MtxGridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","MatTableDataSource","EventEmitter","SelectionModel","TemplateRef","Component","ViewEncapsulation","ChangeDetectionStrategy","trigger","state","style","transition","animate","ChangeDetectorRef","ViewChild","MatTable","MatPaginator","MatSort","ContentChildren","MatRowDef","MatHeaderRowDef","MatFooterRow","Input","Output","PhotoViewer","MtxDialog","moveItemInArray","MatMenuTrigger","Directive","HostBinding","HostListener","CdkFlexTableResizeStrategy","ColumnResize","_CoalescedStyleScheduler","Inject","_COALESCED_STYLE_SCHEDULER","CdkTable","DOCUMENT","ResizeStrategy","ColumnResizeNotifier","HeaderRowEventDispatcher","ColumnResizeNotifierSource","TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER","ElementRef","NgZone","ResizeOverlayHandle","CdkColumnDef","Directionality","ResizeRef","Resizable","Injector","Overlay","ViewContainerRef","NgModule","OverlayModule","CommonModule","FormsModule","MatTableModule","MatSortModule","MatPaginatorModule","MatCheckboxModule","MatButtonModule","MatProgressBarModule","MatChipsModule","MatTooltipModule","MatIconModule","MatSelectModule","MatFormFieldModule","MatMenuModule","DragDropModule","MtxDialogModule","MtxPipesModule"],"mappings":";;;;;;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCzOE;SAAgB;;;;;;QAOhB,qCAAY,GAAZ,UAAa,OAAY,EAAE,MAAqB;YAC9C,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,GAAG,GAAQ,EAAE,CAAC;YAElB,MAAM,CAAC,OAAO,CAAC,UAAC,GAAW,EAAE,CAAS;gBACpC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;iBACpB;qBAAM;oBACL,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvB;aACF,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;SACZ;;;;;;QAOD,mCAAU,GAAV,UAAW,IAAW,EAAE,MAAqB;YAA7C,iBAEC;YADC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,OAAY,IAAK,OAAA,KAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,GAAA,CAAC,CAAC;SACvE;;;;;QAMD,gCAAO,GAAP,UAAQ,GAAW;YACjB,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAChD;;;;;gBAvCFA,eAAU;;;;;;;;;;;;QC2NT,0BACU,YAA4B,EAC5B,kBAAqC;YADrC,iBAAY,GAAZ,YAAY,CAAgB;YAC5B,uBAAkB,GAAlB,kBAAkB,CAAmB;YAtJ/C,eAAU,GAAG,IAAIC,wBAAkB,EAAE,CAAC;YAG7B,YAAO,GAAoB,EAAE,CAAC;YAC9B,SAAI,GAAU,EAAE,CAAC;YACjB,WAAM,GAAG,CAAC,CAAC;YACX,YAAO,GAAG,KAAK,CAAC;YAIhB,oBAAe,GAAG,KAAK,CAAC;;YAIxB,gBAAW,GAAG,IAAI,CAAC;YACnB,kBAAa,GAAG,IAAI,CAAC;YACrB,iBAAY,GAAG,KAAK,CAAC;YACrB,yBAAoB,GAAG,IAAI,CAAC;YAC5B,cAAS,GAAG,CAAC,CAAC;YACd,aAAQ,GAAG,EAAE,CAAC;YACd,oBAAe,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAChC,iBAAY,GAAG,KAAK,CAAC;YACpB,SAAI,GAAG,IAAIC,iBAAY,EAAa,CAAC;;YAMtC,gBAAW,GAAG,IAAI,CAAC;YAGnB,qBAAgB,GAAY,KAAK,CAAC;YAClC,iBAAY,GAAY,KAAK,CAAC;YAC9B,cAAS,GAAmB,KAAK,CAAC;YACjC,eAAU,GAAG,IAAIA,iBAAY,EAAQ,CAAC;;YAIvC,aAAQ,GAAG,KAAK,CAAC;YACjB,eAAU,GAAG,KAAK,CAAC;YAClB,aAAQ,GAAG,IAAIA,iBAAY,EAAO,CAAC;;YAI7C,uBAAkB,GAAU,EAAE,CAAC;YAEtB,eAAU,GAAG,KAAK,CAAC;YAElB,oBAAe,GAAG,IAAIA,iBAAY,EAAO,CAAC;;;YAK3C,oBAAe,GAAG,IAAI,CAAC;YAEvB,4BAAuB,GAAG,KAAK,CAAC;YAEzC,iBAAY,GAAwB,IAAIC,0BAAc,CAAM,IAAI,EAAE,EAAE,CAAC,CAAC;YAE7D,gBAAW,GAAU,EAAE,CAAC;YACxB,kBAAa,GAAG,KAAK,CAAC;YACtB,6BAAwB,GAAG,KAAK,CAAC;YACjC,0BAAqB,GAAiC,EAAE,CAAC;YAExD,uBAAkB,GAAG,IAAID,iBAAY,EAAS,CAAC;;YAIzD,kBAAa,GAAU,EAAE,CAAC;YAEjB,mBAAc,GAAG,IAAI,CAAC;YACrB,wBAAmB,GAAG,IAAIA,iBAAY,EAAS,CAAC;;YAMjD,gBAAW,GAAG,KAAK,CAAC;YACpB,iBAAY,GAAG,EAAE,CAAC;;YAK3B,mBAAc,GAAiC,EAAE,CAAC;YAEzC,yBAAoB,GAAG,IAAI,CAAC;YAC5B,yBAAoB,GAAG,EAAE,CAAC;YAC1B,yBAAoB,GAAsB,SAAS,CAAC;YAEpD,0BAAqB,GAAG,EAAE,CAAC;YAC3B,yBAAoB,GAAG,EAAE,CAAC;YAE1B,mBAAc,GAAG,IAAI,CAAC;YACtB,0BAAqB,GAAoB,MAAM,CAAC;YAChD,kBAAa,GAAG,IAAI,CAAC;YACrB,mBAAc,GAAG,IAAI,CAAC;YACrB,iBAAY,GAAG,IAAIA,iBAAY,EAAgC,CAAC;YAEjE,yBAAoB,GAAG,KAAK,CAAC;YAC7B,yBAAoB,GAAG,gBAAgB,CAAC;YAExC,yBAAoB,GAAG,KAAK,CAAC;YAC7B,yBAAoB,GAAG,gBAAgB,CAAC;;YAKxC,iBAAY,GAAG,kBAAkB,CAAC;;YAelC,0BAAqB,GAAG,KAAK,CAAC;;YAE9B,gCAA2B,GAAG,KAAK,CAAC;;YAEpC,gCAA2B,GAAG,KAAK,CAAC;;YAIpC,gBAAW,GAAG,KAAK,CAAC;;YAUpB,gBAAW,GAAG,KAAK,CAAC;;YAKpB,kBAAa,GAAG,KAAK,CAAC;SAM3B;QAzCJ,sBAAI,0CAAY;iBAAhB;gBACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aAChE;;;WAAA;QAsBD,sBAAI,iDAAmB;;iBAAvB;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;WAAA;QAiBD,wCAAa,GAAb;YACE,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;QAED,yCAAc,GAAd,UAAe,GAAQ;YACrB,OAAO,GAAG,YAAYE,gBAAW,CAAC;SACnC;QAED,sCAAW,GAAX,UAAY,IAAW,EAAE,MAAqB;YAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACnD;QAED,2CAAgB,GAAhB,UAAiB,OAAY,EAAE,KAAa;;YAC1C,IAAM,SAAS,GAAQ;gBACrB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;gBACjD,aAAa,EAAE,KAAK,GAAG,CAAC;aACzB,CAAC;YACF,IAAI,IAAI,CAAC,iBAAiB,EAAE;;oBAC1B,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA,gBAAA,4BAAE;wBAAlD,IAAM,GAAG,WAAA;wBACZ,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;qBAC9D;;;;;;;;;aACF;YACD,OAAO,SAAS,CAAC;SAClB;;QAGD,sCAAW,GAAX,UAAY,OAAsB;YAAlC,iBA+CC;;YA9CC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,IAAI,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,GAAA,CAAC,CAAC;YAExF,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,OAAiB,CAAC,GAAG,CAAC,UAAA,IAAI;oBACpD,IAAM,OAAO,GAA+B;wBAC1C,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC;oBACF,IAAI,KAAI,CAAC,qBAAqB,KAAK,MAAM,EAAE;wBACzC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC3B;yBAAM;wBACL,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAC1B;oBACD,OAAO,OAAO,CAAC;iBAChB,CAAC,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;aAC3D;;YAGD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAE7B,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,UAAA,CAAC;oBAClB,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;iBACnD,CAAC,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAID,0BAAc,CAAM,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACrF;YAED,IAAI,CAAC,UAAU,GAAG,IAAIF,wBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;YAG3D,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACnB;SACF;QAED,0CAAe,GAAf;YAAA,iBAkBC;;YAjBC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;aAC5C;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAClC;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;aAC9D;YACD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,2BAA2B,EAAE;gBACtE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,GAAA,CAAC,CAAC;aACtF;YACD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,2BAA2B,EAAE;gBACtE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,GAAA,CAAC,CAAC;aACtF;SACF;QAED,sCAAW,GAAX,eAAgB;QAEhB,+CAAoB,GAApB;YACE,IAAM,KAAK,GAAG,UAAC,GAAW,EAAE,GAAkB,IAAK,OAAA,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAA,CAAC;YAEzF,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,GAAA,CAAC,CAAC;YACvF,cAAc,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG;gBAC/B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;aAClE,CAAC,CAAC;YAEH,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO;iBACjC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,GAAA,CAAC;iBACnD,OAAO,EAAE,CAAC;YACb,eAAe,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG;gBAChC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;aACpE,CAAC,CAAC;SACJ;QAED,oCAAS,GAAT,UAAU,KAAa,EAAE,SAAiB;YACxC,OAAO,OAAO,KAAK,KAAK,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;SACzD;QAED,4CAAiB,GAAjB,UAAkB,IAAU;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;QAGD,iDAAsB,GAAtB,UACE,YAA6C,EAC7C,OAAY,EACZ,MAAW,EACX,KAAa;YAEb,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;SAC9F;;QAGD,sCAAW,GAAX,UAAY,OAAsC,EAAE,OAAY,EAAE,MAAW;;YAE3E,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;gBAClC,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,SAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;gBAEjE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAElD,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;iBAC/B;aACF;YAED,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;SAC7D;;QAGD,qCAAU,GAAV,UAAW,KAAiB,EAAE,OAAY,EAAE,KAAa;;YACvD,IACE,IAAI,CAAC,aAAa;gBAClB,EAAC,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAC,QAAQ,mDAAG,OAAO,EAAE,KAAK,CAAC,CAAA;gBACtD,EAAC,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAC,YAAY,mDAAG,OAAO,EAAE,KAAK,CAAC,CAAA,EAC1D;;gBAEA,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACrE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;iBAC3B;gBAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACrC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;SACxC;;QAGD,yCAAc,GAAd;YAAA,iBAMC;YALC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YACtD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CACzC,UAAC,GAAG,EAAE,KAAK,gBAAK,OAAA,EAAC,MAAA,MAAA,KAAI,CAAC,qBAAqB,EAAC,QAAQ,mDAAG,GAAG,EAAE,KAAK,CAAC,CAAA,CAAA,EAAA,CACnE,CAAC,MAAM,CAAC;YACT,OAAO,WAAW,KAAK,OAAO,CAAC;SAChC;;QAGD,gDAAqB,GAArB;YAAA,iBASC;YARC,IAAI,CAAC,cAAc,EAAE;kBACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;kBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;;oBACtC,IAAI,EAAC,MAAA,MAAA,KAAI,CAAC,qBAAqB,EAAC,QAAQ,mDAAG,GAAG,EAAE,KAAK,CAAC,CAAA,EAAE;wBACtD,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC/B;iBACF,CAAC,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1D;;QAGD,gDAAqB,GAArB,UAAsB,GAAQ;YAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1D;;QAGD,8CAAmB,GAAnB,UAAoB,OAAc;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAElF,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;aAC3D;SACF;QAED,mDAAwB,GAAxB,UAAyB,OAAc;YAAvC,iBAOC;YANC,IAAM,MAAM,GAAG,OAAO;iBACnB,MAAM,CAAC,UAAC,IAAgC,IACvC,OAAA,KAAI,CAAC,qBAAqB,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAA,CAC/D;iBACA,GAAG,CAAC,UAAC,IAAgC,IAAK,OAAA,IAAI,CAAC,KAAK,GAAA,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;SACf;;QAGD,0CAAe,GAAf,UAAgB,KAAa;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;YACnF,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;SAChD;;QAGD,sCAAW,GAAX,UAAY,CAAY;YACtB,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACnB;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;QAED,oCAAS,GAAT,UAAU,KAAc;;YACtB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,OAAO,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,CAAC,SAAS,CAAC;aACrD;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;aACrD;SACF;QAED,qCAAU,GAAV,UAAW,KAAc;;YACvB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,OAAO,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,CAAC,UAAU,CAAC;aACtD;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;aACtD;SACF;;;;;gBA5aFI,cAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,SAAS;oBACnB,si0BAAoC;oBAEpC,IAAI,EAAE;wBACJ,KAAK,EAAE,UAAU;qBAClB;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;oBAC/C,UAAU,EAAE;wBACVC,kBAAO,CAAC,WAAW,EAAE;4BACnBC,gBAAK,CAAC,WAAW,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAChFD,gBAAK,CAAC,UAAU,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;4BAChEC,qBAAU,CAAC,wBAAwB,EAAEC,kBAAO,CAAC,sCAAsC,CAAC,CAAC;yBACtF,CAAC;qBACH;;iBACF;;;;;;;;;;gBAnBQ,cAAc;gBA/BrBC,sBAAiB;;;;wBAoDhBC,cAAS,SAACC,cAAQ;4BAClBD,cAAS,SAACE,sBAAY;uBACtBF,cAAS,SAACG,YAAO;0BACjBC,oBAAe,SAACC,eAAS;gCACzBD,oBAAe,SAACE,qBAAe;gCAC/BF,oBAAe,SAACG,kBAAY;6BAC5BP,cAAS,SAAC,YAAY;iCACtBA,cAAS,SAAC,gBAAgB;mCAI1BQ,UAAK;0BACLA,UAAK;uBACLA,UAAK;yBACLA,UAAK;0BACLA,UAAK;0BAELA,UAAK;kCAELA,UAAK;8BAILA,UAAK;gCACLA,UAAK;+BACLA,UAAK;uCACLA,UAAK;4BACLA,UAAK;2BACLA,UAAK;kCACLA,UAAK;+BACLA,UAAK;uBACLC,WAAM;qCAEND,UAAK;8BAILA,UAAK;6BACLA,UAAK;gCACLA,UAAK;mCACLA,UAAK;+BACLA,UAAK;4BACLA,UAAK;6BACLC,WAAM;2BAIND,UAAK;6BACLA,UAAK;2BACLC,WAAM;6BAMND,UAAK;oCACLA,UAAK;kCACLC,WAAM;kCAKND,UAAK;0CAELA,UAAK;8BAILA,UAAK;gCACLA,UAAK;2CACLA,UAAK;wCACLA,UAAK;oCACLA,UAAK;qCACLC,WAAM;iCAMND,UAAK;sCACLC,WAAM;8BAMND,UAAK;+BACLA,UAAK;kCACLA,UAAK;uCAMLA,UAAK;uCACLA,UAAK;uCACLA,UAAK;wCACLA,UAAK;wCACLA,UAAK;uCACLA,UAAK;iCAELA,UAAK;wCACLA,UAAK;gCACLA,UAAK;iCACLA,UAAK;+BACLC,WAAM;uCAEND,UAAK;uCACLA,UAAK;2CACLA,UAAK;uCACLA,UAAK;uCACLA,UAAK;2CACLA,UAAK;+BAILA,UAAK;mCACLA,UAAK;iCAQLA,UAAK;sCACLA,UAAK;+BACLA,UAAK;wCAILA,UAAK;8CAELA,UAAK;8CAELA,UAAK;8BAILA,UAAK;kCACLA,UAAK;8BASLA,UAAK;kCACLA,UAAK;gCAILA,UAAK;oCACLA,UAAK;;;;QCpJN,8BAAoB,OAAkB,EAAU,YAA4B;YAAxD,YAAO,GAAP,OAAO,CAAW;YAAU,iBAAY,GAAZ,YAAY,CAAgB;;YAtDnE,YAAO,GAAG,EAAE,CAAC;;YAMb,SAAI,GAAU,EAAE,CAAC;;YAGjB,YAAO,GAAG,KAAK,CAAC;SA6CuD;QA3ChF,sBAAI,2CAAS;iBAAb;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAClE;;;WAAA;QAED,wCAAS,GAAT,UAAU,EAAO;YACf,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,iBAAiB,CAAC;SACjE;QAED,0CAAW,GAAX,UAAY,EAAO;YACjB,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,CAAC;SACnE;QAED,4CAAa,GAAb,UAAc,KAAU;YACtB,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;SACjD;QAED,6CAAc,GAAd,UAAe,KAAa;YAC1B,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzC;QAED,uCAAQ,GAAR,UAAS,KAAU;YACjB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACjD;QAED,0CAAW,GAAX,UAAY,KAAU;YACpB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;SAC/C;QAED,mDAAoB,GAApB,UAAqB,KAAU;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;SAC7E;QAED,6CAAc,GAAd,UAAe,IAAW,EAAE,MAAqB;YAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAClC,OAAO,MAAM,CAAC,OAAO,CAAC;aACvB;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC3C,OAAQ,MAAM,CAAC,OAAyD,CACtE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAC1C,MAAM,CACP,CAAC;aACH;SACF;QAID,mDAAoB,GAApB,UACE,KAAiB,EACjB,KAAkC,EAClC,WAA6C,EAC7C,OAAiC,EACjC,MAA0C,EAC1C,UAAwB,EACxB,SAAgD,EAChD,EAAqB,EACrB,IAAU;YANV,4BAAA,EAAA,gBAA6C;YAC7C,wBAAA,EAAA,mBAAiC;YACjC,uBAAA,EAAA,aAA0C;YAE1C,0BAAA,EAAA,mBAAgD;YAIhD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,OAAA;gBACL,WAAW,aAAA;gBACX,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,cAAM,QAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAC;qBACpC;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAQ,EAAE;iBAC1D;aACF,CAAC,CAAC;SACJ;QAED,iDAAkB,GAAlB,UAAmB,KAAiB,EAAE,GAAwB,EAAE,OAAY;YAC1E,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,GAAG,CAAC,KAAK,EAAE;gBACb,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACpB;SACF;;QAGD,kDAAmB,GAAnB,UAAoB,MAAc;YAChC,IAAM,IAAI,GAAsB,EAAE,CAAC;YAEnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;gBACnD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;aAChD,CAAC,CAAC;YAEH,IAAM,aAAa,GACjB,IAAI,CAAC,MAAM,GAAG,CAAC;kBACX,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;kBAChF,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvE,IAAM,OAAO,GAAwB;gBACnC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;gBACtB,aAAa,eAAA;aACd,CAAC;YAEF,IAAM,MAAM,GAAG,IAAIE,+BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/C;;;;;gBAzHFnB,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;oBACvB,igNAAoC;oBAEpC,aAAa,EAAEC,sBAAiB,CAAC,IAAI;;iBACtC;;;;;;;;;;gBAbQmB,gBAAS;gBAIT,cAAc;;;;0BAYpBH,UAAK;yBAGLA,UAAK;uBAGLA,UAAK;0BAGLA,UAAK;;;;QCXR;YAYW,YAAO,GAAiC,EAAE,CAAC;YAC3C,eAAU,GAAG,IAAI,CAAC;YAClB,sBAAiB,GAAoB,MAAM,CAAC;YAC5C,aAAQ,GAAG,IAAI,CAAC;YAChB,gBAAW,GAAG,IAAI,CAAC;YAWpB,gBAAW,GAAG,EAAE,CAAC;YAEhB,eAAU,GAAsB,SAAS,CAAC;YAE1C,gBAAW,GAAG,EAAE,CAAC;YACjB,eAAU,GAAG,EAAE,CAAC;YAEhB,eAAU,GAAG,KAAK,CAAC;YACnB,eAAU,GAAG,gBAAgB,CAAC;YAE9B,eAAU,GAAG,KAAK,CAAC;YACnB,eAAU,GAAG,gBAAgB,CAAC;YAG7B,oBAAe,GAAG,IAAIpB,iBAAY,EAAgC,CAAC;YACnE,eAAU,GAAG,IAAIA,iBAAY,EAAgC,CAAC;SAUzE;QAlCC,sBACI,kDAAU;iBADd;gBAEE,IAAM,WAAW,GAAG,cAAW,IAAI,CAAC,iBAAiB,KAAK,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAE,CAAC;gBACxF,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC/D,OAAO,IAAI,CAAC;aACb;iBACD,UAAe,KAAa;gBAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;;;WAHA;QAqBD,kDAAa,GAAb,UAAc,KAA4B;YACxCwB,wBAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpC;QAED,qDAAgB,GAAhB,UAAiB,CAAoB;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;;;;;gBAnDFrB,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,mBAAmB;oBAC7B,s5IAA2C;oBAE3C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;;iBAChD;;;;4BAEEO,cAAS,SAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;8BAClCA,cAAS,SAACa,mBAAc;0BAExBL,UAAK;6BACLA,UAAK;oCACLA,UAAK;2BACLA,UAAK;8BACLA,UAAK;6BAELA,UAAK;6BAWLA,UAAK;8BACLA,UAAK;8BACLA,UAAK;6BACLA,UAAK;6BAELA,UAAK;6BACLA,UAAK;iCACLA,UAAK;6BACLA,UAAK;6BACLA,UAAK;iCACLA,UAAK;kCAELC,WAAM;6BACNA,WAAM;;;;QCTP;YAnCQ,YAAO,GAAG,KAAK,CAAC;YAYd,iBAAY,GAAG,IAAIrB,iBAAY,EAAW,CAAC;YAqB3C,iBAAY,GAAG,IAAIA,iBAAY,EAAmC,CAAC;SAE7D;QA/BhB,sBACI,mDAAM;iBADV;gBAEE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;iBACD,UAAW,QAAiB;gBAC1B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClC;;;WAJA;QAOD,sBACI,qDAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;WAAA;QAED,sBACI,0DAAa;iBADjB,UACkB,KAAU;gBAC1B,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE;oBACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;iBACnB;aACF;;;WAAA;QAED,sBACI,qDAAQ;iBADZ,UACa,KAAuB;gBAClC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;oBAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB;aACF;;;WAAA;QAOD,iDAAO,GAAP,UAAQ,KAAiB;YACvB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QAED,gDAAM,GAAN;YACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;;;;;gBAnDF0B,cAAS,SAAC;oBACT,QAAQ,EAAE,6BAA6B;iBACxC;;;;;;;;;;;;yBAMEN,UAAK;+BAQLC,WAAM;2BAENM,gBAAW,SAAC,gBAAgB;gCAK5BP,UAAK;2BAOLA,UAAK,SAAC,iBAAiB;+BAOvBC,WAAM;0BAINO,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QCvBjC,uCAAoB,SAA2B;YAA3B,cAAS,GAAT,SAAS,CAAkB;YApBvC,cAAS,GAAG,KAAK,CAAC;YAG1B,oBAAe,GAAG,KAAK,CAAC;YACxB,mBAAc,GAAG,KAAK,CAAC;YAcb,wBAAmB,GAAG,IAAI5B,iBAAY,EAAiC,CAAC;SAE/B;QAdnD,sBACI,mDAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;;;WAAA;QAED,sBACI,+DAAoB;iBADxB,UACyB,KAAU;gBACjC,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;oBAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;aACF;;;WAAA;QAOD,+CAAO,GAAP,UAAQ,KAAiB;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEtC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;SACF;QAED,8CAAM,GAAN;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,gDAAQ,GAAR;YACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,8CAAM,GAAN;YACE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;;;;;gBAjDF0B,cAAS,SAAC;oBACT,QAAQ,EAAE,4BAA4B;iBACvC;;;;;;;;;;gBAJQ,gBAAgB;;;;2BAYtBC,gBAAW,SAAC,gBAAgB;uCAK5BP,UAAK;sCAOLC,WAAM;0BAINO,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ICTnC;;;;QAIgD,8CAA0B;QACxE,oCACE,YAA0B,EACU,cAAwC,EAC5E,KAAwB,EACN,QAAa;mBAE/B,kBAAM,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC;SACrD;QAES,sDAAiB,GAAjB,UAAkB,qBAA6B;YACvD,OAAO,gBAAc,qBAAuB,CAAC;SAC9C;;KAZH,CAAgDC,uCAA0B;;;gBADzE/B,eAAU;;;;;;;;;;gBAXTgC,yBAAY;gBAHKC,gCAAwB,uBAkBtCC,WAAM,SAACC,kCAA0B;gBAlB7BC,gBAAQ;gDAoBZF,WAAM,SAACG,eAAQ;;QAUP,6BAA6B,GAAa;QACrD,OAAO,EAAEC,2BAAc;QACvB,QAAQ,EAAE,0BAA0B;;;ICpBtC,IAAM,SAAS,GAAe;QAC5BC,iCAAoB;QACpBC,qCAAwB;QACxBC,uCAA0B;KAC3B,CAAC;QACW,eAAe,0CACvB,SAAS;QACZC,wDAA2C;OAC3C;QACW,cAAc,0CAAmB,SAAS,KAAE,6BAA6B,GAAE;QAE3E,mBAAmB,GAAG;QACjC,KAAK,EAAE,yBAAyB;MAChC;QACW,kBAAkB,GAAG;QAChC,KAAK,EAAE,wBAAwB;MAC/B;;QAEoD,2CAAY;QAAlE;;SAOC;QANC,gDAAc,GAAd;YACE,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC5C,IAAM,WAAW,GAAG,KAAM,CAAC,UAAyB,CAAC;YACrD,IAAM,gBAAgB,GAAG,WAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChF,OAAO,gBAAgB,GAAG,WAAY,CAAC,YAAY,GAAG,KAAM,CAAC,YAAY,CAAC;SAC3E;sCACF;KAPD,CAAsDV,yBAAY;;ICtBlE;;;;;QASqC,mCAAuB;QAC1D,yBACW,oBAA0C,EAC1C,UAAmC,EACzB,eAAyC,EACzC,MAAc,EACd,QAAoC;YALzD,YAOE,iBAAO,SACR;YAPU,0BAAoB,GAApB,oBAAoB,CAAsB;YAC1C,gBAAU,GAAV,UAAU,CAAyB;YACzB,qBAAe,GAAf,eAAe,CAA0B;YACzC,YAAM,GAAN,MAAM,CAAQ;YACd,cAAQ,GAAR,QAAQ,CAA4B;;SAGxD;;KATH,CAAqC,uBAAuB;;;gBAL3DJ,cAAS,SAAC;oBACT,QAAQ,EAAE,gCAAgC;oBAC1C,IAAI,EAAE,mBAAmB;oBACzB,SAAS,yCAAM,eAAe,KAAE,EAAE,OAAO,EAAEI,yBAAY,EAAE,WAAW,EAAE,eAAe,EAAE,EAAC;iBACzF;;;;;;;;;;gBAfCO,iCAAoB;gBAHFI,eAAU;gBAK5BH,qCAAwB;gBALMI,WAAM;gBAIpCH,uCAA0B;;;ICM5B;;;;;QASyC,uCAAuB;QAC9D,6BACW,oBAA0C,EAC1C,UAAmC,EACzB,eAAyC,EACzC,MAAc,EACd,QAAoC;YALzD,YAOE,iBAAO,SACR;YAPU,0BAAoB,GAApB,oBAAoB,CAAsB;YAC1C,gBAAU,GAAV,UAAU,CAAyB;YACzB,qBAAe,GAAf,eAAe,CAA0B;YACzC,YAAM,GAAN,MAAM,CAAQ;YACd,cAAQ,GAAR,QAAQ,CAA4B;;SAGxD;;KATH,CAAyC,uBAAuB;;;gBAL/Db,cAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAE,kBAAkB;oBACxB,SAAS,yCAAM,cAAc,KAAE,EAAE,OAAO,EAAEI,yBAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAC;iBAC5F;;;;;;;;;;gBAfCO,iCAAoB;gBAHFI,eAAU;gBAK5BH,qCAAwB;gBALMI,WAAM;gBAIpCH,uCAA0B;;;ICqB5B;;;;;QAUkD,gDAAmB;QAGnE,sCACqB,SAAuB,EACvB,YAA0B,EAC1B,cAA8B,EAC9B,UAAsB,EACtB,eAAyC,EACzC,MAAc,EACd,cAA0C,EAC1C,SAAoB,EAEpB,cAAwC,EACzC,QAAa;YAXjC,YAaE,iBAAO,SAER;YAdoB,eAAS,GAAT,SAAS,CAAc;YACvB,kBAAY,GAAZ,YAAY,CAAc;YAC1B,oBAAc,GAAd,cAAc,CAAgB;YAC9B,gBAAU,GAAV,UAAU,CAAY;YACtB,qBAAe,GAAf,eAAe,CAA0B;YACzC,YAAM,GAAN,MAAM,CAAQ;YACd,oBAAc,GAAd,cAAc,CAA4B;YAC1C,eAAS,GAAT,SAAS,CAAW;YAEpB,oBAAc,GAAd,cAAc,CAA0B;YAI3D,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;SAC1B;QAES,yDAAkB,GAAlB,UAAmB,MAAe;YAC1C,iBAAM,kBAAkB,YAAC,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;gBACnC,MAAM,EAAE,MAAM;sBACT,IAAI,CAAC,YAAwC,CAAC,cAAc,EAAE;sBAC/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAc,CAAC,YAAY;aACtD,CAAC,CAAC;SACJ;;KA5BH,CAAkDI,gCAAmB;;;gBANpExC,cAAS,SAAC;oBACT,eAAe,EAAEE,4BAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAED,sBAAiB,CAAC,IAAI;oBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE;oBAClD,QAAQ,EAAE,EAAE;iBACb;;;;;;;;;;gBAxBCwC,oBAAY;gBAMZd,yBAAY;gBAFLe,mBAAc;gBAXrBJ,eAAU;gBAeVH,qCAAwB;gBAbxBI,WAAM;gBAYNH,uCAA0B;gBAG1BO,sBAAS;gBATTf,gCAAwB,uBAoCrBC,WAAM,SAACC,kCAA0B;gDAEjCD,WAAM,SAACG,eAAQ;;;;QC7C+B,wCAAuC;QAA1F;YAAA,6EAUC;YATC,wBAAkB,GAAG,EAAE,CAAC;;SASzB;QAPW,0DAA2B,GAA3B;YACR,OAAO,sBAAsB,CAAC;SAC/B;QAES,4DAA6B,GAA7B;YACR,OAAO,4BAA4B,CAAC;SACrC;mCACF;KAVD,CAAmDY,sBAAuC,GAUzF;QAEY,uBAAuB,GAAG;QACrC,KAAK,EAAE,eAAe;MACtB;QAEW,gBAAgB,GAAG;QAC9B,oCAAoC;QACpC,oCAAoC;;;ICFtC;;;;QAOkC,gCAAoB;QAiBpD,sBACqB,SAAuB,EACvB,YAA0B,EAC1B,cAA8B,EAC/B,QAAa,EACZ,UAAsB,EACtB,eAAyC,EACzC,QAAkB,EAClB,MAAc,EACd,OAAgB,EAChB,cAA0C,EAC1C,cAA8B,EAE9B,cAAwC,EACxC,gBAAkC,EAClC,iBAAoC;YAfzD,YAiBE,iBAAO,SAER;YAlBoB,eAAS,GAAT,SAAS,CAAc;YACvB,kBAAY,GAAZ,YAAY,CAAc;YAC1B,oBAAc,GAAd,cAAc,CAAgB;YAE9B,gBAAU,GAAV,UAAU,CAAY;YACtB,qBAAe,GAAf,eAAe,CAA0B;YACzC,cAAQ,GAAR,QAAQ,CAAU;YAClB,YAAM,GAAN,MAAM,CAAQ;YACd,aAAO,GAAP,OAAO,CAAS;YAChB,oBAAc,GAAd,cAAc,CAA4B;YAC1C,oBAAc,GAAd,cAAc,CAAgB;YAE9B,oBAAc,GAAd,cAAc,CAA0B;YACxC,sBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,uBAAiB,GAAjB,iBAAiB,CAAmB;YA/BzD,iBAAW,GAAG,IAAI,CAAC;YAkCjB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;SAC1B;QAjCD,sBAA0B,2CAAiB;iBAA3C;gBACE,OAAO,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC,KAAK,GAAG,EAAE,CAAC;aAC9D;;;WAAA;QAED,sBACI,mCAAS;iBADb;gBAEE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;iBACD,UAAc,QAAa;gBACzB,IAAI,CAAC,WAAW,GAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC;aACpE;;;WAHA;;KAVH,CAAkC,oBAAoB;;;gBAJrDrB,cAAS,SAAC;oBACT,QAAQ,EAAE,4DAA4D;oBACtE,MAAM,EAAE,gBAAgB;iBACzB;;;;;;;;;;gBAnBCkB,oBAAY;gBAKZd,yBAAY;gBARLe,mBAAc;gDA4ClBb,WAAM,SAACG,eAAQ;gBAtDlBM,eAAU;gBAoBVH,qCAAwB;gBAlBxBU,aAAQ;gBACRN,WAAM;gBAQCO,eAAO;gBAQdV,uCAA0B;gBAE1BH,2BAAc;gBAPdL,gCAAwB,uBAgDrBC,WAAM,SAACC,kCAA0B;gBA1DpCiB,qBAAgB;gBAChBvC,sBAAiB;;;;oCA+BhBgB,gBAAW,SAAC,OAAO;4BAInBP,UAAK;;;IC1CR;;;;;;;IAgBA,IAAM,uBAAuB,GAAG,CAAC,4BAA4B,CAAC,CAAC;;QAO/D;;;;;;gBALC+B,aAAQ,SAAC;oBACR,YAAY,EAAE,uBAAuB;oBACrC,OAAO,EAAE,uBAAuB;oBAChC,eAAe,EAAE,uBAAuB;iBACzC;;IAGD,IAAM,OAAO,GAAG,CAACC,qBAAa,EAAE,2BAA2B,CAAC,CAAC;;QAO7D;;;;;;gBALCD,aAAQ,SAAC;oBACR,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC;oBAClE,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC;iBAC9D;;;;QCkCD;;;;;;gBAtCCA,aAAQ,SAAC;oBACR,OAAO,EAAE;wBACPE,mBAAY;wBACZC,iBAAW;wBACXC,oBAAc;wBACdC,kBAAa;wBACbC,4BAAkB;wBAClBC,0BAAiB;wBACjBC,sBAAe;wBACfC,gCAAoB;wBACpBC,oBAAc;wBACdC,wBAAgB;wBAChBC,kBAAa;wBACbC,sBAAe;wBACfC,4BAAkB;wBAClBC,kBAAa;wBACbC,uBAAc;wBACdC,sBAAe;wBACfC,oBAAc;wBACd,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACP,gBAAgB;wBAChB,oBAAoB;wBACpB,0BAA0B;wBAC1B,+BAA+B;wBAC/B,6BAA6B;wBAC7B,qBAAqB;qBACtB;oBACD,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,oBAAoB;wBACpB,0BAA0B;wBAC1B,+BAA+B;wBAC/B,6BAA6B;qBAC9B;oBACD,SAAS,EAAE,CAAC,cAAc,CAAC;iBAC5B;;;IChED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"mtxGrid.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/extensions/grid/grid.service.ts","../../../projects/extensions/grid/grid.component.ts","../../../projects/extensions/grid/cell.component.ts","../../../projects/extensions/grid/column-menu.component.ts","../../../projects/extensions/grid/expansion-toggle.directive.ts","../../../projects/extensions/grid/cell-selection.directive.ts","../../../projects/extensions/grid/column-resize/resize-strategy.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/common.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize-flex.ts","../../../projects/extensions/grid/column-resize/overlay-handle.ts","../../../projects/extensions/grid/column-resize/resizable-directives/common.ts","../../../projects/extensions/grid/column-resize/resizable-directives/resizable.ts","../../../projects/extensions/grid/column-resize/column-resize-module.ts","../../../projects/extensions/grid/grid.module.ts","../../../projects/extensions/grid/mtxGrid.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { MtxGridColumn } from './grid.interface';\n\n@Injectable()\nexport class MtxGridService {\n constructor() {}\n\n /**\n * Get cell value from column key e.g. `a.b.c`\n * @param rowData Row data\n * @param colDef Column definition\n */\n getCellValue(rowData: any, colDef: MtxGridColumn): string {\n const keyArr = colDef.field ? colDef.field.split('.') : [];\n\n let tmp: any = '';\n\n keyArr.forEach((key: string, i: number) => {\n if (i === 0) {\n tmp = rowData[key];\n } else {\n tmp = tmp && tmp[key];\n }\n });\n return tmp;\n }\n\n /**\n * Get all data of a col\n * @param data All data\n * @param colDef Column definition\n */\n getColData(data: any[], colDef: MtxGridColumn): any[] {\n return data.map((rowData: any) => this.getCellValue(rowData, colDef));\n }\n\n /**\n * Remove white spaces in a string and convert string to array\n * @param str string\n */\n str2arr(str: string): string[] {\n return str.replace(/[\\r\\n\\s]/g, '').split(',');\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ViewChild,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n OnDestroy,\n AfterViewInit,\n ChangeDetectorRef,\n ElementRef,\n SimpleChanges,\n QueryList,\n ContentChildren,\n} from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRowDef,\n MatRowDef,\n MatTable,\n MatTableDataSource,\n} from '@angular/material/table';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { Sort, MatSort, SortDirection } from '@angular/material/sort';\nimport { ThemePalette } from '@angular/material/core';\n\nimport {\n MtxGridColumn,\n MtxGridCellTemplate,\n MtxGridRowSelectionFormatter,\n MtxGridRowClassFormatter,\n MtxGridColumnMenu,\n MtxGridButtonType,\n MtxGridColumnPinOption,\n} from './grid.interface';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridService } from './grid.service';\n\n@Component({\n selector: 'mtx-grid',\n exportAs: 'mtxGrid',\n templateUrl: './grid.component.html',\n styleUrls: ['./grid.component.scss'],\n host: {\n class: 'mtx-grid',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('expansion', [\n state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class MtxGridComponent implements OnChanges, AfterViewInit, OnDestroy {\n @ViewChild(MatTable) table!: MatTable<any>;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @ContentChildren(MatRowDef) rowDefs!: QueryList<MatRowDef<any>>;\n @ContentChildren(MatHeaderRowDef) headerRowDefs!: QueryList<MatHeaderRowDef>;\n @ContentChildren(MatFooterRow) footerRowDefs!: QueryList<MatFooterRowDef>;\n @ViewChild('columnMenu') columnMenu!: MtxGridColumnMenu;\n @ViewChild('tableContainer') tableContainer!: ElementRef<HTMLDivElement>;\n\n dataSource = new MatTableDataSource();\n\n @Input() displayedColumns!: string[];\n @Input() columns: MtxGridColumn[] = [];\n @Input() data: any[] = [];\n @Input() length = 0;\n @Input() loading = false;\n\n @Input() trackBy!: TrackByFunction<any>;\n\n @Input() columnResizable = false;\n\n // ===== Page =====\n\n @Input() pageOnFront = true;\n @Input() showPaginator = true;\n @Input() pageDisabled = false;\n @Input() showFirstLastButtons = true;\n @Input() pageIndex = 0;\n @Input() pageSize = 10;\n @Input() pageSizeOptions = [10, 50, 100];\n @Input() hidePageSize = false;\n @Output() page = new EventEmitter<PageEvent>();\n\n @Input() paginationTemplate!: TemplateRef<any>;\n\n // ===== Sort =====\n\n @Input() sortOnFront = true;\n @Input() sortActive!: string;\n @Input() sortDirection!: SortDirection;\n @Input() sortDisableClear: boolean = false;\n @Input() sortDisabled: boolean = false;\n @Input() sortStart: 'asc' | 'desc' = 'asc';\n @Output() sortChange = new EventEmitter<Sort>();\n\n // ===== Row =====\n\n @Input() rowHover = false;\n @Input() rowStriped = false;\n @Output() rowClick = new EventEmitter<any>();\n\n // ===== Expandable Row =====\n\n expansionRowStates: any[] = [];\n\n @Input() expandable = false;\n @Input() expansionTemplate!: TemplateRef<any>;\n @Output() expansionChange = new EventEmitter<any>();\n\n // ===== Row Selection =====\n\n /** Whether support multiple row/cell selection. */\n @Input() multiSelectable = true;\n\n @Input() multiSelectionWithClick = false;\n\n rowSelection: SelectionModel<any> = new SelectionModel<any>(true, []);\n\n @Input() rowSelected: any[] = [];\n @Input() rowSelectable = false;\n @Input() hideRowSelectionCheckbox = false;\n @Input() rowSelectionFormatter: MtxGridRowSelectionFormatter = {};\n @Input() rowClassFormatter!: MtxGridRowClassFormatter;\n @Output() rowSelectionChange = new EventEmitter<any[]>();\n\n // ===== Cell Selection =====\n\n cellSelection: any[] = [];\n\n @Input() cellSelectable = true;\n @Output() cellSelectionChange = new EventEmitter<any[]>();\n\n private _selectedCell: MtxGridCellSelectionDirective | undefined;\n\n // ===== Toolbar =====\n\n @Input() showToolbar = false;\n @Input() toolbarTitle = '';\n @Input() toolbarTemplate!: TemplateRef<any>;\n\n // ===== Column Menu =====\n\n @Input() showColumnMenuButton = true;\n @Input() columnMenuButtonText = '';\n @Input() columnMenuButtonType: MtxGridButtonType = 'stroked';\n @Input() columnMenuButtonColor: ThemePalette;\n @Input() columnMenuButtonClass = '';\n @Input() columnMenuButtonIcon = '';\n\n @Input() columnHideable = true;\n @Input() columnHideableChecked: 'show' | 'hide' = 'show';\n @Input() columnSortable = true;\n @Input() columnPinnable = true;\n @Output() columnChange = new EventEmitter<MtxGridColumn[]>();\n\n @Input() showColumnMenuHeader = false;\n @Input() columnMenuHeaderText = 'Columns Header';\n @Input() columnMenuHeaderTemplate!: TemplateRef<any>;\n @Input() showColumnMenuFooter = false;\n @Input() columnMenuFooterText = 'Columns Footer';\n @Input() columnMenuFooterTemplate!: TemplateRef<any>;\n\n @Input() columnPinOptions: MtxGridColumnPinOption[] = [];\n\n // ===== No Result =====\n\n @Input() noResultText = 'No records found';\n @Input() noResultTemplate!: TemplateRef<any>;\n\n get _hasNoResult() {\n return (!this.data || this.data.length === 0) && !this.loading;\n }\n\n // ===== Cell Templates =====\n\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // ===== Row Templates =====\n\n @Input() useContentRowTemplate = false;\n // TODO: It can't use together with `useContentRowTemplate`\n @Input() useContentHeaderRowTemplate = false;\n // TODO: It's not working\n @Input() useContentFooterRowTemplate = false;\n\n // ===== Summary =====\n\n @Input() showSummary = false;\n @Input() summaryTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // TODO: Summary display conditions\n get _whetherShowSummary() {\n return this.showSummary;\n }\n\n // ===== Side Bar =====\n\n @Input() showSidebar = false;\n @Input() sidebarTemplate!: TemplateRef<any>;\n\n // ===== Status Bar =====\n\n @Input() showStatusbar = false;\n @Input() statusbarTemplate!: TemplateRef<any>;\n\n constructor(\n private _dataGridSrv: MtxGridService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n detectChanges() {\n this._changeDetectorRef.detectChanges();\n }\n\n _isTemplateRef(obj: any) {\n return obj instanceof TemplateRef;\n }\n\n _getColData(data: any[], colDef: MtxGridColumn) {\n return this._dataGridSrv.getColData(data, colDef);\n }\n\n _getRowClassList(rowData: any, index: number) {\n const classList: any = {\n 'selected': this.rowSelection.isSelected(rowData),\n 'mat-row-odd': index % 2,\n };\n if (this.rowClassFormatter) {\n for (const key of Object.keys(this.rowClassFormatter)) {\n classList[key] = this.rowClassFormatter[key](rowData, index);\n }\n }\n return classList;\n }\n\n // Waiting for async data\n ngOnChanges(changes: SimpleChanges) {\n this._countPinnedPosition();\n\n this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);\n\n if (this.showColumnMenuButton) {\n this.columns.forEach(item => {\n if (this.columnHideableChecked === 'show') {\n item.show = !item.hide;\n } else {\n item.hide = !!item.hide;\n }\n });\n }\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n\n // We should copy each item of data for expansion data\n if (this.expandable) {\n this.expansionRowStates = []; // reset\n\n this.data?.forEach(_ => {\n this.expansionRowStates.push({ expanded: false });\n });\n }\n\n if (this.rowSelectable) {\n this.rowSelection = new SelectionModel<any>(this.multiSelectable, this.rowSelected);\n }\n\n this.dataSource = new MatTableDataSource(this.data);\n\n this.dataSource.paginator = this.pageOnFront ? this.paginator : null;\n this.dataSource.sort = this.sortOnFront ? this.sort : null;\n\n // Only scroll top with data change\n if (changes.data) {\n this.scrollTop(0);\n }\n }\n\n ngAfterViewInit() {\n if (this.pageOnFront) {\n this.dataSource.paginator = this.paginator;\n }\n\n if (this.sortOnFront) {\n this.dataSource.sort = this.sort;\n }\n\n if (this.rowDefs?.length > 0 && this.useContentRowTemplate) {\n this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));\n }\n if (this.headerRowDefs?.length > 0 && this.useContentHeaderRowTemplate) {\n this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));\n }\n if (this.footerRowDefs?.length > 0 && this.useContentFooterRowTemplate) {\n this.footerRowDefs.forEach(footerRowDef => this.table.addFooterRowDef(footerRowDef));\n }\n }\n\n ngOnDestroy() {}\n\n _countPinnedPosition() {\n const count = (acc: number, cur: MtxGridColumn) => acc + parseFloat(cur.width || '80px');\n\n const pinnedLeftCols = this.columns.filter(col => col.pinned && col.pinned === 'left');\n pinnedLeftCols.forEach((item, idx) => {\n item.left = pinnedLeftCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n\n const pinnedRightCols = this.columns\n .filter(col => col.pinned && col.pinned === 'right')\n .reverse();\n pinnedRightCols.forEach((item, idx) => {\n item.right = pinnedRightCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n }\n\n _getIndex(index: number, dataIndex: number) {\n return typeof index === 'undefined' ? dataIndex : index;\n }\n\n _handleSortChange(sort: Sort) {\n this.sortChange.emit(sort);\n }\n\n /** Expansion change event */\n _handleExpansionChange(\n expansionRef: MtxGridExpansionToggleDirective,\n rowData: any,\n column: any,\n index: number\n ) {\n this.expansionChange.emit({ expanded: expansionRef.expanded, data: rowData, index, column });\n }\n\n /** Cell select event */\n _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void {\n // If not the same cell\n if (this._selectedCell !== cellRef) {\n const colValue = this._dataGridSrv.getCellValue(rowData, colDef);\n this.cellSelection = []; // reset\n this.cellSelection.push({ cellData: colValue, rowData, colDef });\n\n this.cellSelectionChange.emit(this.cellSelection);\n\n if (this._selectedCell) {\n this._selectedCell.deselect(); // the selectedCell will be undefined\n }\n }\n\n this._selectedCell = cellRef.selected ? cellRef : undefined;\n }\n\n /** Row select event */\n _selectRow(event: MouseEvent, rowData: any, index: number) {\n if (\n this.rowSelectable &&\n !this.rowSelectionFormatter.disabled?.(rowData, index) &&\n !this.rowSelectionFormatter.hideCheckbox?.(rowData, index)\n ) {\n // metaKey -> command key\n if (!this.multiSelectionWithClick && !event.ctrlKey && !event.metaKey) {\n this.rowSelection.clear();\n }\n\n this._toggleNormalCheckbox(rowData);\n }\n\n this.rowClick.emit({ rowData, index });\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n _isAllSelected() {\n const numSelected = this.rowSelection.selected.length;\n const numRows = this.dataSource.data.filter(\n (row, index) => !this.rowSelectionFormatter.disabled?.(row, index)\n ).length;\n return numSelected === numRows;\n }\n\n /** Select all rows if they are not all selected; otherwise clear selection. */\n _toggleMasterCheckbox() {\n this._isAllSelected()\n ? this.rowSelection.clear()\n : this.dataSource.data.forEach((row, index) => {\n if (!this.rowSelectionFormatter.disabled?.(row, index)) {\n this.rowSelection.select(row);\n }\n });\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Select normal row */\n _toggleNormalCheckbox(row: any) {\n this.rowSelection.toggle(row);\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Column change event */\n _handleColumnChange(columns: any[]) {\n this.columnChange.emit(columns);\n\n this.displayedColumns = Object.assign([], this.getDisplayedColumnFields(columns));\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n }\n\n getDisplayedColumnFields(columns: MtxGridColumn[]): string[] {\n const fields = columns\n .filter(item => (this.columnHideableChecked === 'show' ? item.show : !item.hide))\n .map(item => item.field);\n return fields;\n }\n\n /** Customize expansion event */\n toggleExpansion(index: number) {\n if (!this.expandable) {\n throw new Error('The `expandable` should be set true.');\n }\n this.expansionRowStates[index].expanded = !this.expansionRowStates[index].expanded;\n return this.expansionRowStates[index].expanded;\n }\n\n /** Scroll to top when turn to the next page. */\n _handlePage(e: PageEvent) {\n if (this.pageOnFront) {\n this.scrollTop(0);\n }\n this.page.emit(e);\n }\n\n scrollTop(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollTop;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollTop = value;\n }\n }\n\n scrollLeft(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollLeft;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollLeft = value;\n }\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtxDialog } from '@ng-matero/extensions/dialog';\nimport { Observable } from 'rxjs';\n\nimport { MtxGridColumn, MtxGridColumnButton } from './grid.interface';\nimport { MtxGridService } from './grid.service';\nimport PhotoViewer from 'photoviewer';\n\n@Component({\n selector: 'mtx-grid-cell',\n exportAs: 'mtxGridCell',\n templateUrl: './cell.component.html',\n styleUrls: ['./cell.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtxGridCellComponent {\n /** Row data */\n @Input() rowData = {};\n\n /** Column definition */\n @Input() colDef!: MtxGridColumn;\n\n /** All data */\n @Input() data: any[] = [];\n\n /** Whether show summary */\n @Input() summary = false;\n\n get _colValue() {\n return this._dataGridSrv.getCellValue(this.rowData, this.colDef);\n }\n\n _isString(fn: any) {\n return Object.prototype.toString.call(fn) === '[object String]';\n }\n\n _isFunction(fn: any) {\n return Object.prototype.toString.call(fn) === '[object Function]';\n }\n\n _isEmptyValue(value: any) {\n return value == null || value.toString() === '';\n }\n\n _isContainHTML(value: string) {\n return /<\\/?[a-z][\\s\\S]*>/i.test(value);\n }\n\n _getText(value: any) {\n return this._isEmptyValue(value) ? '--' : value;\n }\n\n _getTooltip(value: any) {\n return this._isEmptyValue(value) ? '' : value;\n }\n\n _getFormatterTooltip(value: any) {\n return this._isContainHTML(value) || this._isEmptyValue(value) ? '' : value;\n }\n\n _formatSummary(data: any[], colDef: MtxGridColumn) {\n if (this._isString(colDef.summary)) {\n return colDef.summary;\n } else if (this._isFunction(colDef.summary)) {\n return (colDef.summary as (data: any[], colDef?: MtxGridColumn) => void)(\n this._dataGridSrv.getColData(data, colDef),\n colDef\n );\n }\n }\n\n constructor(private _dialog: MtxDialog, private _dataGridSrv: MtxGridService) {}\n\n _handleActionConfirm(\n event: MouseEvent,\n title: string | Observable<string>,\n description: string | Observable<string> = '',\n okColor: ThemePalette = 'primary',\n okText: string | Observable<string> = 'OK',\n closeColor: ThemePalette,\n closeText: string | Observable<string> = 'CLOSE',\n fn?: (p: any) => void,\n data?: any\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n this._dialog.open({\n title,\n description,\n buttons: [\n {\n color: okColor,\n text: okText,\n onClick: () => (fn ? fn(data) : {}),\n },\n { color: closeColor, text: closeText, onClick: () => {} },\n ],\n });\n }\n\n _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any) {\n event.preventDefault();\n event.stopPropagation();\n\n if (btn.click) {\n btn.click(rowData);\n }\n }\n\n /** Preview enlarged image */\n _handleImagePreview(urlStr: string) {\n const imgs: PhotoViewer.Img[] = [];\n\n this._dataGridSrv.str2arr(urlStr).forEach((url, index) => {\n imgs.push({ title: index + 1 + '', src: url });\n });\n\n const footerToolbar =\n imgs.length > 1\n ? ['zoomIn', 'zoomOut', 'prev', 'next', 'rotateRight', 'rotateLeft', 'actualSize']\n : ['zoomIn', 'zoomOut', 'rotateRight', 'rotateLeft', 'actualSize'];\n\n const options: PhotoViewer.Options = {\n title: imgs.length > 1,\n footerToolbar,\n };\n\n const viewer = new PhotoViewer(imgs, options);\n }\n}\n","import {\n Component,\n Input,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n MtxGridButtonType,\n MtxGridColumn,\n MtxGridColumnPinOption,\n MtxGridColumnPinValue,\n} from './grid.interface';\n\n@Component({\n selector: 'mtx-grid-column-menu',\n exportAs: 'mtxGridColumnMenu',\n templateUrl: './column-menu.component.html',\n styleUrls: ['./column-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxGridColumnMenuComponent {\n @ViewChild('menu', { static: true }) menuPanel!: MatMenu;\n @ViewChild(MatMenuTrigger) menuTrigger!: MatMenuTrigger;\n\n @Input() columns: MtxGridColumn[] = [];\n @Input() selectable = true;\n @Input() selectableChecked: 'show' | 'hide' = 'show';\n @Input() sortable = true;\n @Input() pinnable = true;\n\n @Input()\n get buttonText() {\n const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;\n return this._buttonText ? this._buttonText : defaultText;\n }\n set buttonText(value: string) {\n this._buttonText = value;\n }\n private _buttonText = '';\n\n @Input() buttonType: MtxGridButtonType = 'stroked';\n @Input() buttonColor: ThemePalette;\n @Input() buttonClass = '';\n @Input() buttonIcon = '';\n\n @Input() showHeader = false;\n @Input() headerText = 'Columns Header';\n @Input() headerTemplate!: TemplateRef<any>;\n @Input() showFooter = false;\n @Input() footerText = 'Columns Footer';\n @Input() footerTemplate!: TemplateRef<any>;\n\n @Output() selectionChange = new EventEmitter<MtxGridColumn[]>();\n @Output() sortChange = new EventEmitter<MtxGridColumn[]>();\n @Output() pinChange = new EventEmitter<MtxGridColumn[]>();\n\n @Input()\n get pinOptions() {\n return this._pinOptions;\n }\n set pinOptions(value: MtxGridColumnPinOption[]) {\n if (value.length > 0) {\n this._pinOptions = value;\n }\n }\n private _pinOptions: MtxGridColumnPinOption[] = [\n { label: 'Pin Left', value: 'left' },\n { label: 'Pin Right', value: 'right' },\n { label: 'No Pin', value: null },\n ];\n\n _handleDroped(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\n this.sortChange.emit(this.columns);\n }\n\n _handleSelection(e: MatCheckboxChange) {\n this.selectionChange.emit(this.columns);\n }\n\n _handlePinSelect(col: MtxGridColumn, val: MtxGridColumnPinValue) {\n if (col.pinned != val) {\n col.pinned = val;\n this.pinChange.emit(this.columns);\n }\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[mtx-grid-expansion-toggle]',\n})\nexport class MtxGridExpansionToggleDirective {\n private _opened = false;\n private _row: any;\n private _tplRef!: TemplateRef<any>;\n\n @Input()\n get opened() {\n return this._opened;\n }\n set opened(newValue: boolean) {\n this._opened = newValue;\n this.openedChange.emit(newValue);\n }\n @Output() openedChange = new EventEmitter<boolean>();\n\n @HostBinding('class.expanded')\n get expanded(): boolean {\n return this._opened;\n }\n\n @Input()\n set expandableRow(value: any) {\n if (value !== this._row) {\n this._row = value;\n }\n }\n\n @Input('expansionRowTpl')\n set template(value: TemplateRef<any>) {\n if (value !== this._tplRef) {\n this._tplRef = value;\n }\n }\n\n @Output() toggleChange = new EventEmitter<MtxGridExpansionToggleDirective>();\n\n constructor() {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n }\n\n toggle(): void {\n this.opened = !this.opened;\n this.toggleChange.emit(this);\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { MtxGridComponent } from './grid.component';\n\n@Directive({\n selector: '[mtx-grid-selectable-cell]',\n})\nexport class MtxGridCellSelectionDirective {\n private _selected = false;\n private _rowData: any;\n\n shiftKeyPressed = false;\n ctrlKeyPressed = false;\n\n @HostBinding('class.selected')\n get selected(): boolean {\n return this._selected;\n }\n\n @Input()\n set matSelectableRowData(value: any) {\n if (value !== this._rowData) {\n this._rowData = value;\n }\n }\n\n @Output() cellSelectionChange = new EventEmitter<MtxGridCellSelectionDirective>();\n\n constructor(private _dataGrid: MtxGridComponent) {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.ctrlKeyPressed = event.ctrlKey;\n this.shiftKeyPressed = event.shiftKey;\n\n if (this._dataGrid.cellSelectable) {\n this.select();\n }\n }\n\n select(): void {\n this._selected = true;\n this.cellSelectionChange.emit(this);\n }\n\n deselect(): void {\n this._selected = false;\n this.cellSelectionChange.emit(this);\n }\n\n toggle(): void {\n this._selected = !this._selected;\n this.cellSelectionChange.emit(this);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Inject, Injectable, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER } from '@angular/cdk/table';\n\nimport {\n ColumnResize,\n ResizeStrategy,\n CdkFlexTableResizeStrategy,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n} from '@ng-matero/extensions/column-resize';\n\nexport { TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER };\n\n/**\n * Overrides CdkFlexTableResizeStrategy to match mat-column elements.\n */\n@Injectable()\nexport class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {\n constructor(\n columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER) styleScheduler: _CoalescedStyleScheduler,\n table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any\n ) {\n super(columnResize, styleScheduler, table, document);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `mat-column-${cssFriendlyColumnName}`;\n }\n}\n\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: MatFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Provider } from '@angular/core';\n\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n\nexport const TABLE_HOST_BINDINGS = {\n class: 'mat-column-resize-table',\n};\nexport const FLEX_HOST_BINDINGS = {\n class: 'mat-column-resize-flex',\n};\n\nexport abstract class AbstractMatColumnResize extends ColumnResize {\n getTableHeight() {\n const table = this.elementRef.nativeElement;\n const tableParent = table!.parentNode as HTMLElement;\n const isTableContainer = tableParent!.classList.contains('mat-table-container');\n return isTableContainer ? tableParent!.offsetHeight : table!.offsetHeight;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, TABLE_HOST_BINDINGS, TABLE_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a table-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[mat-table][columnResize]',\n host: TABLE_HOST_BINDINGS,\n providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }],\n})\nexport class MatColumnResize extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, FLEX_HOST_BINDINGS, FLEX_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a flexbox-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'mat-table[columnResize]',\n host: FLEX_HOST_BINDINGS,\n providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }],\n})\nexport class MatColumnResizeFlex extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeOverlayHandle,\n ResizeRef,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize } from './column-resize-directives/common';\n\n/**\n * Component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying a vertical line along the column edge.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-column-resize-overlay-thumb' },\n template: '',\n})\nexport class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeRef: ResizeRef,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n @Inject(DOCUMENT) document: any\n ) {\n super();\n this.document = document;\n }\n\n protected updateResizeActive(active: boolean): void {\n super.updateResizeActive(active);\n\n this.resizeRef.overlayRef.updateSize({\n height: active\n ? (this.columnResize as AbstractMatColumnResize).getTableHeight()\n : this.resizeRef.origin.nativeElement!.offsetHeight,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Type } from '@angular/core';\nimport { Resizable } from '@ng-matero/extensions/column-resize';\nimport { MatColumnResizeOverlayHandle } from '../overlay-handle';\n\nexport abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {\n minWidthPxInternal = 32;\n\n protected getInlineHandleCssClassName(): string {\n return 'mat-resizable-handle';\n }\n\n protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {\n return MatColumnResizeOverlayHandle;\n }\n}\n\nexport const RESIZABLE_HOST_BINDINGS = {\n class: 'mat-resizable',\n};\n\nexport const RESIZABLE_INPUTS = [\n 'minWidthPx: matResizableMinWidthPx',\n 'maxWidthPx: matResizableMaxWidthPx',\n];\n","import {\n Directive,\n ElementRef,\n Inject,\n Injector,\n NgZone,\n ViewContainerRef,\n ChangeDetectorRef,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeStrategy,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS } from './common';\n\n/**\n * Explicitly enables column resizing for a mat-header-cell.\n */\n@Directive({\n selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',\n inputs: RESIZABLE_INPUTS,\n})\nexport class MatResizable extends AbstractMatResizable {\n isResizable = true;\n\n @HostBinding('class') get hasResizableClass() {\n return this.isResizable ? RESIZABLE_HOST_BINDINGS.class : '';\n }\n\n @Input()\n get resizable() {\n return this.isResizable;\n }\n set resizable(newValue: any) {\n this.isResizable = newValue == null || newValue === '' || newValue;\n }\n\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n @Inject(DOCUMENT) document: any,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly injector: Injector,\n protected readonly ngZone: NgZone,\n protected readonly overlay: Overlay,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeStrategy: ResizeStrategy,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n this.document = document;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatColumnResize } from './column-resize-directives/column-resize';\nimport { MatColumnResizeFlex } from './column-resize-directives/column-resize-flex';\nimport { MatResizable } from './resizable-directives/resizable';\nimport { MatColumnResizeOverlayHandle } from './overlay-handle';\n\nconst ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];\n\n@NgModule({\n declarations: ENTRY_COMMON_COMPONENTS,\n exports: ENTRY_COMMON_COMPONENTS,\n entryComponents: ENTRY_COMMON_COMPONENTS,\n})\nexport class MatColumnResizeCommonModule {}\n\nconst IMPORTS = [OverlayModule, MatColumnResizeCommonModule];\n\n@NgModule({\n imports: IMPORTS,\n declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n exports: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n})\nexport class MatColumnResizeModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/pipes';\nimport { MtxDialogModule } from '@ng-matero/extensions/dialog';\nimport { MtxGridComponent } from './grid.component';\nimport { MtxGridCellComponent } from './cell.component';\nimport { MtxGridColumnMenuComponent } from './column-menu.component';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridService } from './grid.service';\nimport { MatColumnResizeModule } from './column-resize/column-resize-module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatCheckboxModule,\n MatButtonModule,\n MatProgressBarModule,\n MatChipsModule,\n MatTooltipModule,\n MatIconModule,\n MatSelectModule,\n MatFormFieldModule,\n MatMenuModule,\n DragDropModule,\n MtxDialogModule,\n MtxPipesModule,\n MatColumnResizeModule,\n ],\n exports: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n MatColumnResizeModule,\n ],\n declarations: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n ],\n providers: [MtxGridService],\n})\nexport class MtxGridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","MatTableDataSource","EventEmitter","SelectionModel","TemplateRef","Component","ViewEncapsulation","ChangeDetectionStrategy","trigger","state","style","transition","animate","ChangeDetectorRef","ViewChild","MatTable","MatPaginator","MatSort","ContentChildren","MatRowDef","MatHeaderRowDef","MatFooterRow","Input","Output","PhotoViewer","MtxDialog","moveItemInArray","MatMenuTrigger","Directive","HostBinding","HostListener","CdkFlexTableResizeStrategy","ColumnResize","_CoalescedStyleScheduler","Inject","_COALESCED_STYLE_SCHEDULER","CdkTable","DOCUMENT","ResizeStrategy","ColumnResizeNotifier","HeaderRowEventDispatcher","ColumnResizeNotifierSource","TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER","ElementRef","NgZone","ResizeOverlayHandle","CdkColumnDef","Directionality","ResizeRef","Resizable","Injector","Overlay","ViewContainerRef","NgModule","OverlayModule","CommonModule","FormsModule","MatTableModule","MatSortModule","MatPaginatorModule","MatCheckboxModule","MatButtonModule","MatProgressBarModule","MatChipsModule","MatTooltipModule","MatIconModule","MatSelectModule","MatFormFieldModule","MatMenuModule","DragDropModule","MtxDialogModule","MtxPipesModule"],"mappings":"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"}
@@ -89,9 +89,9 @@ MtxGridCellComponent.decorators = [
89
89
  { type: Component, args: [{
90
90
  selector: 'mtx-grid-cell',
91
91
  exportAs: 'mtxGridCell',
92
- template: "<span *ngIf=\"summary; else customCellFormattingTpl\"\r\n [title]=\"_getFormatterTooltip(_formatSummary(data, colDef))\"\r\n [innerHTML]=\"_getText(_formatSummary(data, colDef))\">\r\n</span>\r\n\r\n<!-- Custom formatting -->\r\n<ng-template #customCellFormattingTpl>\r\n <span *ngIf=\"colDef.formatter; else defaultCellFormattingTpl\"\r\n [title]=\"_getFormatterTooltip(colDef.formatter(rowData, colDef))\"\r\n [innerHTML]=\"_getText(colDef.formatter(rowData, colDef))\">\r\n </span>\r\n</ng-template>\r\n\r\n<!-- Default formatting -->\r\n<ng-template #defaultCellFormattingTpl>\r\n <ng-container [ngSwitch]=\"colDef.type\">\r\n <!-- Tag -->\r\n <ng-container *ngSwitchCase=\"'tag'\">\r\n <mat-chip-list *ngIf=\"colDef.tag && colDef.tag[_colValue]; else tagEmptyTpl\">\r\n <mat-chip color=\"primary\" [ngClass]=\"['bg-' + colDef.tag[_colValue].color]\">\r\n {{colDef.tag[_colValue].text}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n <ng-template #tagEmptyTpl>{{_colValue}}</ng-template>\r\n </ng-container>\r\n <!-- Buttons -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ng-container *ngFor=\"let btn of colDef.buttons;\">\r\n <ng-container *ngIf=\"!btn.iif || btn.iif(rowData)\">\r\n <ng-container *ngIf=\"btn.pop; else btnDefaultTpl\">\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"btn.type==='basic'\"\r\n mat-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionConfirm($event, btn.popTitle!, btn.popDescription,\r\n btn.popOkColor, btn.popOkText,\r\n btn.popCloseColor, btn.popCloseText,\r\n btn.click, rowData)\">\r\n <mat-icon *ngIf=\"btn.icon\">{{btn.icon}}</mat-icon>\r\n <span>{{btn.text | toObservable | async}}</span>\r\n </button>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"!btn.type || btn.type==='icon'\"\r\n mat-icon-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionConfirm($event, btn.popTitle!, btn.popDescription,\r\n btn.popOkColor, btn.popOkText,\r\n btn.popCloseColor, btn.popCloseText,\r\n btn.click, rowData)\">\r\n <mat-icon>{{btn.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-template #btnDefaultTpl>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"btn.type==='basic'\"\r\n mat-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionClick($event, btn, rowData)\">\r\n <mat-icon *ngIf=\"btn.icon\">{{btn.icon}}</mat-icon>\r\n <span>{{btn.text | toObservable | async}}</span>\r\n </button>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"!btn.type || btn.type==='icon'\"\r\n mat-icon-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionClick($event, btn, rowData)\">\r\n <mat-icon>{{btn.icon}}</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Link -->\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <a [href]=\"_colValue\" target=\"_blank\">{{_colValue}}</a>\r\n </ng-container>\r\n <!-- Image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"mtx-grid-img\" [src]=\"_colValue\" (click)=\"_handleImagePreview(_colValue)\">\r\n </ng-container>\r\n <!-- Boolean -->\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <span [title]=\"_getTooltip(_colValue)\">{{_getText(_colValue)}}</span>\r\n </ng-container>\r\n <!-- Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <span [title]=\"_getTooltip(_colValue | number: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | number: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Currency -->\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <span [title]=\"_getTooltip(_colValue | currency: colDef.typeParameter?.currencyCode : colDef.typeParameter?.display : colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | currency: colDef.typeParameter?.currencyCode : colDef.typeParameter?.display : colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Percent -->\r\n <ng-container *ngSwitchCase=\"'percent'\">\r\n <span [title]=\"_getTooltip(_colValue | percent: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | percent: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <span [title]=\"_getTooltip(_colValue | date: colDef.typeParameter?.format : colDef.typeParameter?.timezone : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | date: colDef.typeParameter?.format : colDef.typeParameter?.timezone : colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Default -->\r\n <ng-container *ngSwitchDefault>\r\n <span [title]=\"_getTooltip(_colValue)\">{{_getText(_colValue)}}</span>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n",
92
+ template: "<span *ngIf=\"summary; else customCellFormattingTpl\"\r\n [title]=\"_getFormatterTooltip(_formatSummary(data, colDef))\"\r\n [innerHTML]=\"_getText(_formatSummary(data, colDef))\">\r\n</span>\r\n\r\n<!-- Custom formatting -->\r\n<ng-template #customCellFormattingTpl>\r\n <span *ngIf=\"colDef.formatter; else defaultCellFormattingTpl\"\r\n [title]=\"_getFormatterTooltip(colDef.formatter(rowData, colDef))\"\r\n [innerHTML]=\"_getText(colDef.formatter(rowData, colDef))\">\r\n </span>\r\n</ng-template>\r\n\r\n<!-- Default formatting -->\r\n<ng-template #defaultCellFormattingTpl>\r\n <ng-container [ngSwitch]=\"colDef.type\">\r\n <!-- Tag -->\r\n <ng-container *ngSwitchCase=\"'tag'\">\r\n <mat-chip-list *ngIf=\"colDef.tag && colDef.tag[_colValue]; else tagEmptyTpl\">\r\n <mat-chip color=\"primary\" [ngClass]=\"['bg-' + colDef.tag[_colValue].color]\">\r\n {{colDef.tag[_colValue].text}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n <ng-template #tagEmptyTpl>{{_colValue}}</ng-template>\r\n </ng-container>\r\n <!-- Buttons -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ng-container *ngFor=\"let btn of colDef.buttons;\">\r\n <ng-container *ngIf=\"!btn.iif || btn.iif(rowData)\">\r\n <ng-container *ngIf=\"btn.pop; else btnDefaultTpl\">\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"btn.type==='basic'\"\r\n mat-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionConfirm($event, btn.popTitle!, btn.popDescription,\r\n btn.popOkColor, btn.popOkText,\r\n btn.popCloseColor, btn.popCloseText,\r\n btn.click, rowData)\">\r\n <mat-icon class=\"mtx-grid-icon\" *ngIf=\"btn.icon\">{{btn.icon}}</mat-icon>\r\n <span>{{btn.text | toObservable | async}}</span>\r\n </button>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"!btn.type || btn.type==='icon'\"\r\n mat-icon-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionConfirm($event, btn.popTitle!, btn.popDescription,\r\n btn.popOkColor, btn.popOkText,\r\n btn.popCloseColor, btn.popCloseText,\r\n btn.click, rowData)\">\r\n <mat-icon class=\"mtx-grid-icon\">{{btn.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-template #btnDefaultTpl>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"btn.type==='basic'\"\r\n mat-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionClick($event, btn, rowData)\">\r\n <mat-icon class=\"mtx-grid-icon\" *ngIf=\"btn.icon\">{{btn.icon}}</mat-icon>\r\n <span>{{btn.text | toObservable | async}}</span>\r\n </button>\r\n <button [ngClass]=\"['mtx-grid-action-button', btn.class||'']\"\r\n *ngIf=\"!btn.type || btn.type==='icon'\"\r\n mat-icon-button\r\n [color]=\"btn.color || 'primary'\"\r\n [disabled]=\"btn.disabled\"\r\n [matTooltip]=\"btn.tooltip | toObservable | async\"\r\n (click)=\"_handleActionClick($event, btn, rowData)\">\r\n <mat-icon class=\"mtx-grid-icon\">{{btn.icon}}</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Link -->\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <a [href]=\"_colValue\" target=\"_blank\">{{_colValue}}</a>\r\n </ng-container>\r\n <!-- Image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"mtx-grid-img\" [src]=\"_colValue\" (click)=\"_handleImagePreview(_colValue)\">\r\n </ng-container>\r\n <!-- Boolean -->\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <span [title]=\"_getTooltip(_colValue)\">{{_getText(_colValue)}}</span>\r\n </ng-container>\r\n <!-- Number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <span\r\n [title]=\"_getTooltip(_colValue | number: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | number: colDef.typeParameter?.digitsInfo :\r\n colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Currency -->\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <span\r\n [title]=\"_getTooltip(_colValue | currency: colDef.typeParameter?.currencyCode : colDef.typeParameter?.display : colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | currency: colDef.typeParameter?.currencyCode :\r\n colDef.typeParameter?.display : colDef.typeParameter?.digitsInfo :\r\n colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Percent -->\r\n <ng-container *ngSwitchCase=\"'percent'\">\r\n <span\r\n [title]=\"_getTooltip(_colValue | percent: colDef.typeParameter?.digitsInfo : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | percent: colDef.typeParameter?.digitsInfo :\r\n colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <span\r\n [title]=\"_getTooltip(_colValue | date: colDef.typeParameter?.format : colDef.typeParameter?.timezone : colDef.typeParameter?.locale)\">\r\n {{_getText(_colValue | date: colDef.typeParameter?.format : colDef.typeParameter?.timezone :\r\n colDef.typeParameter?.locale)}}\r\n </span>\r\n </ng-container>\r\n <!-- Default -->\r\n <ng-container *ngSwitchDefault>\r\n <span [title]=\"_getTooltip(_colValue)\">{{_getText(_colValue)}}</span>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n",
93
93
  encapsulation: ViewEncapsulation.None,
94
- styles: [".mtx-grid-action-button .mat-icon{width:18px;height:18px;font-size:18px;line-height:18px}.mtx-grid-img{display:block;width:30px;border-radius:4px;cursor:pointer}\n"]
94
+ styles: [".mtx-grid-img{display:block;width:30px;border-radius:4px;cursor:pointer}\n"]
95
95
  },] }
96
96
  ];
97
97
  /**
@@ -112,4 +112,4 @@ MtxGridCellComponent.propDecorators = {
112
112
  data: [{ type: Input }],
113
113
  summary: [{ type: Input }]
114
114
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2dyaWQvY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFTdEMsTUFBTSxPQUFPLG9CQUFvQjtJQXdEL0IsWUFBb0IsT0FBa0IsRUFBVSxZQUE0QjtRQUF4RCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBdkQ1RSxlQUFlO1FBQ04sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUt0QixlQUFlO1FBQ04sU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUUxQiwyQkFBMkI7UUFDbEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQTZDc0QsQ0FBQztJQTNDaEYsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQU87UUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQU87UUFDakIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssbUJBQW1CLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWEsQ0FB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LEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztZQUNsRixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFdkUsTUFBTSxPQUFPLEdBQXdCO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDdEIsYUFBYTtTQUNkLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7OztZQXpIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixpZ05BQW9DO2dCQUVwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7Ozs7Ozs7WUFiUSxTQUFTO1lBSVQsY0FBYzs7OztzQkFZcEIsS0FBSztxQkFHTCxLQUFLO21CQUdMLEtBQUs7c0JBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE10eERpYWxvZyB9IGZyb20gJ0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNdHhHcmlkQ29sdW1uLCBNdHhHcmlkQ29sdW1uQnV0dG9uIH0gZnJvbSAnLi9ncmlkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNdHhHcmlkU2VydmljZSB9IGZyb20gJy4vZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCBQaG90b1ZpZXdlciBmcm9tICdwaG90b3ZpZXdlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ210eC1ncmlkLWNlbGwnLFxuICBleHBvcnRBczogJ210eEdyaWRDZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE10eEdyaWRDZWxsQ29tcG9uZW50IHtcbiAgLyoqIFJvdyBkYXRhICovXG4gIEBJbnB1dCgpIHJvd0RhdGEgPSB7fTtcblxuICAvKiogQ29sdW1uIGRlZmluaXRpb24gKi9cbiAgQElucHV0KCkgY29sRGVmITogTXR4R3JpZENvbHVtbjtcblxuICAvKiogQWxsIGRhdGEgKi9cbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcblxuICAvKiogV2hldGhlciBzaG93IHN1bW1hcnkgKi9cbiAgQElucHV0KCkgc3VtbWFyeSA9IGZhbHNlO1xuXG4gIGdldCBfY29sVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFHcmlkU3J2LmdldENlbGxWYWx1ZSh0aGlzLnJvd0RhdGEsIHRoaXMuY29sRGVmKTtcbiAgfVxuXG4gIF9pc1N0cmluZyhmbjogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmbikgPT09ICdbb2JqZWN0IFN0cmluZ10nO1xuICB9XG5cbiAgX2lzRnVuY3Rpb24oZm46IGFueSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZm4pID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xuICB9XG5cbiAgX2lzRW1wdHlWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUudG9TdHJpbmcoKSA9PT0gJyc7XG4gIH1cblxuICBfaXNDb250YWluSFRNTCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIC88XFwvP1thLXpdW1xcc1xcU10qPi9pLnRlc3QodmFsdWUpO1xuICB9XG5cbiAgX2dldFRleHQodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pc0VtcHR5VmFsdWUodmFsdWUpID8gJy0tJyA6IHZhbHVlO1xuICB9XG5cbiAgX2dldFRvb2x0aXAodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pc0VtcHR5VmFsdWUodmFsdWUpID8gJycgOiB2YWx1ZTtcbiAgfVxuXG4gIF9nZXRGb3JtYXR0ZXJUb29sdGlwKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb250YWluSFRNTCh2YWx1ZSkgfHwgdGhpcy5faXNFbXB0eVZhbHVlKHZhbHVlKSA/ICcnIDogdmFsdWU7XG4gIH1cblxuICBfZm9ybWF0U3VtbWFyeShkYXRhOiBhbnlbXSwgY29sRGVmOiBNdHhHcmlkQ29sdW1uKSB7XG4gICAgaWYgKHRoaXMuX2lzU3RyaW5nKGNvbERlZi5zdW1tYXJ5KSkge1xuICAgICAgcmV0dXJuIGNvbERlZi5zdW1tYXJ5O1xuICAgIH0gZWxzZSBpZiAodGhpcy5faXNGdW5jdGlvbihjb2xEZWYuc3VtbWFyeSkpIHtcbiAgICAgIHJldHVybiAoY29sRGVmLnN1bW1hcnkgYXMgKGRhdGE6IGFueVtdLCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiB2b2lkKShcbiAgICAgICAgdGhpcy5fZGF0YUdyaWRTcnYuZ2V0Q29sRGF0YShkYXRhLCBjb2xEZWYpLFxuICAgICAgICBjb2xEZWZcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nOiBNdHhEaWFsb2csIHByaXZhdGUgX2RhdGFHcmlkU3J2OiBNdHhHcmlkU2VydmljZSkge31cblxuICBfaGFuZGxlQWN0aW9uQ29uZmlybShcbiAgICBldmVudDogTW91c2VFdmVudCxcbiAgICB0aXRsZTogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnJyxcbiAgICBva0NvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeScsXG4gICAgb2tUZXh0OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnT0snLFxuICAgIGNsb3NlQ29sb3I6IFRoZW1lUGFsZXR0ZSxcbiAgICBjbG9zZVRleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiA9ICdDTE9TRScsXG4gICAgZm4/OiAocDogYW55KSA9PiB2b2lkLFxuICAgIGRhdGE/OiBhbnlcbiAgKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHtcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb2xvcjogb2tDb2xvcixcbiAgICAgICAgICB0ZXh0OiBva1RleHQsXG4gICAgICAgICAgb25DbGljazogKCkgPT4gKGZuID8gZm4oZGF0YSkgOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHsgY29sb3I6IGNsb3NlQ29sb3IsIHRleHQ6IGNsb3NlVGV4dCwgb25DbGljazogKCkgPT4ge30gfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBfaGFuZGxlQWN0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGJ0bjogTXR4R3JpZENvbHVtbkJ1dHRvbiwgcm93RGF0YTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChidG4uY2xpY2spIHtcbiAgICAgIGJ0bi5jbGljayhyb3dEYXRhKTtcbiAgICB9XG4gIH1cblxuICAvKiogUHJldmlldyBlbmxhcmdlZCBpbWFnZSAqL1xuICBfaGFuZGxlSW1hZ2VQcmV2aWV3KHVybFN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgaW1nczogUGhvdG9WaWV3ZXIuSW1nW10gPSBbXTtcblxuICAgIHRoaXMuX2RhdGFHcmlkU3J2LnN0cjJhcnIodXJsU3RyKS5mb3JFYWNoKCh1cmwsIGluZGV4KSA9PiB7XG4gICAgICBpbWdzLnB1c2goeyB0aXRsZTogaW5kZXggKyAxICsgJycsIHNyYzogdXJsIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9vdGVyVG9vbGJhciA9XG4gICAgICBpbWdzLmxlbmd0aCA+IDFcbiAgICAgICAgPyBbJ3pvb21JbicsICd6b29tT3V0JywgJ3ByZXYnLCAnbmV4dCcsICdyb3RhdGVSaWdodCcsICdyb3RhdGVMZWZ0JywgJ2FjdHVhbFNpemUnXVxuICAgICAgICA6IFsnem9vbUluJywgJ3pvb21PdXQnLCAncm90YXRlUmlnaHQnLCAncm90YXRlTGVmdCcsICdhY3R1YWxTaXplJ107XG5cbiAgICBjb25zdCBvcHRpb25zOiBQaG90b1ZpZXdlci5PcHRpb25zID0ge1xuICAgICAgdGl0bGU6IGltZ3MubGVuZ3RoID4gMSxcbiAgICAgIGZvb3RlclRvb2xiYXIsXG4gICAgfTtcblxuICAgIGNvbnN0IHZpZXdlciA9IG5ldyBQaG90b1ZpZXdlcihpbWdzLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2dyaWQvY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFTdEMsTUFBTSxPQUFPLG9CQUFvQjtJQXdEL0IsWUFBb0IsT0FBa0IsRUFBVSxZQUE0QjtRQUF4RCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBdkQ1RSxlQUFlO1FBQ04sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUt0QixlQUFlO1FBQ04sU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUUxQiwyQkFBMkI7UUFDbEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQTZDc0QsQ0FBQztJQTNDaEYsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQU87UUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQU87UUFDakIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssbUJBQW1CLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFXLEVBQUUsTUFBcUI7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDdkI7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLE9BQVEsTUFBTSxDQUFDLE9BQXlELENBQ3RFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFDMUMsTUFBTSxDQUNQLENBQUM7U0FDSDtJQUNILENBQUM7SUFJRCxvQkFBb0IsQ0FDbEIsS0FBaUIsRUFDakIsS0FBa0MsRUFDbEMsY0FBMkMsRUFBRSxFQUM3QyxVQUF3QixTQUFTLEVBQ2pDLFNBQXNDLElBQUksRUFDMUMsVUFBd0IsRUFDeEIsWUFBeUMsT0FBTyxFQUNoRCxFQUFxQixFQUNyQixJQUFVO1FBRVYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixLQUFLO1lBQ0wsV0FBVztZQUNYLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxLQUFLLEVBQUUsT0FBTztvQkFDZCxJQUFJLEVBQUUsTUFBTTtvQkFDWixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUNwQztnQkFDRCxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFO2FBQzFEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWlCLEVBQUUsR0FBd0IsRUFBRSxPQUFZO1FBQzFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQ2IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsbUJBQW1CLENBQUMsTUFBYztRQUNoQyxNQUFNLElBQUksR0FBc0IsRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztZQUNsRixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFdkUsTUFBTSxPQUFPLEdBQXdCO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDdEIsYUFBYTtTQUNkLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7OztZQXpIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixvdE5BQW9DO2dCQUVwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7Ozs7Ozs7WUFiUSxTQUFTO1lBSVQsY0FBYzs7OztzQkFZcEIsS0FBSztxQkFHTCxLQUFLO21CQUdMLEtBQUs7c0JBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE10eERpYWxvZyB9IGZyb20gJ0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNdHhHcmlkQ29sdW1uLCBNdHhHcmlkQ29sdW1uQnV0dG9uIH0gZnJvbSAnLi9ncmlkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNdHhHcmlkU2VydmljZSB9IGZyb20gJy4vZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCBQaG90b1ZpZXdlciBmcm9tICdwaG90b3ZpZXdlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ210eC1ncmlkLWNlbGwnLFxuICBleHBvcnRBczogJ210eEdyaWRDZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE10eEdyaWRDZWxsQ29tcG9uZW50IHtcbiAgLyoqIFJvdyBkYXRhICovXG4gIEBJbnB1dCgpIHJvd0RhdGEgPSB7fTtcblxuICAvKiogQ29sdW1uIGRlZmluaXRpb24gKi9cbiAgQElucHV0KCkgY29sRGVmITogTXR4R3JpZENvbHVtbjtcblxuICAvKiogQWxsIGRhdGEgKi9cbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcblxuICAvKiogV2hldGhlciBzaG93IHN1bW1hcnkgKi9cbiAgQElucHV0KCkgc3VtbWFyeSA9IGZhbHNlO1xuXG4gIGdldCBfY29sVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFHcmlkU3J2LmdldENlbGxWYWx1ZSh0aGlzLnJvd0RhdGEsIHRoaXMuY29sRGVmKTtcbiAgfVxuXG4gIF9pc1N0cmluZyhmbjogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmbikgPT09ICdbb2JqZWN0IFN0cmluZ10nO1xuICB9XG5cbiAgX2lzRnVuY3Rpb24oZm46IGFueSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZm4pID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xuICB9XG5cbiAgX2lzRW1wdHlWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUudG9TdHJpbmcoKSA9PT0gJyc7XG4gIH1cblxuICBfaXNDb250YWluSFRNTCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIC88XFwvP1thLXpdW1xcc1xcU10qPi9pLnRlc3QodmFsdWUpO1xuICB9XG5cbiAgX2dldFRleHQodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pc0VtcHR5VmFsdWUodmFsdWUpID8gJy0tJyA6IHZhbHVlO1xuICB9XG5cbiAgX2dldFRvb2x0aXAodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pc0VtcHR5VmFsdWUodmFsdWUpID8gJycgOiB2YWx1ZTtcbiAgfVxuXG4gIF9nZXRGb3JtYXR0ZXJUb29sdGlwKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb250YWluSFRNTCh2YWx1ZSkgfHwgdGhpcy5faXNFbXB0eVZhbHVlKHZhbHVlKSA/ICcnIDogdmFsdWU7XG4gIH1cblxuICBfZm9ybWF0U3VtbWFyeShkYXRhOiBhbnlbXSwgY29sRGVmOiBNdHhHcmlkQ29sdW1uKSB7XG4gICAgaWYgKHRoaXMuX2lzU3RyaW5nKGNvbERlZi5zdW1tYXJ5KSkge1xuICAgICAgcmV0dXJuIGNvbERlZi5zdW1tYXJ5O1xuICAgIH0gZWxzZSBpZiAodGhpcy5faXNGdW5jdGlvbihjb2xEZWYuc3VtbWFyeSkpIHtcbiAgICAgIHJldHVybiAoY29sRGVmLnN1bW1hcnkgYXMgKGRhdGE6IGFueVtdLCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiB2b2lkKShcbiAgICAgICAgdGhpcy5fZGF0YUdyaWRTcnYuZ2V0Q29sRGF0YShkYXRhLCBjb2xEZWYpLFxuICAgICAgICBjb2xEZWZcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nOiBNdHhEaWFsb2csIHByaXZhdGUgX2RhdGFHcmlkU3J2OiBNdHhHcmlkU2VydmljZSkge31cblxuICBfaGFuZGxlQWN0aW9uQ29uZmlybShcbiAgICBldmVudDogTW91c2VFdmVudCxcbiAgICB0aXRsZTogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnJyxcbiAgICBva0NvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeScsXG4gICAgb2tUZXh0OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnT0snLFxuICAgIGNsb3NlQ29sb3I6IFRoZW1lUGFsZXR0ZSxcbiAgICBjbG9zZVRleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiA9ICdDTE9TRScsXG4gICAgZm4/OiAocDogYW55KSA9PiB2b2lkLFxuICAgIGRhdGE/OiBhbnlcbiAgKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHtcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb2xvcjogb2tDb2xvcixcbiAgICAgICAgICB0ZXh0OiBva1RleHQsXG4gICAgICAgICAgb25DbGljazogKCkgPT4gKGZuID8gZm4oZGF0YSkgOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHsgY29sb3I6IGNsb3NlQ29sb3IsIHRleHQ6IGNsb3NlVGV4dCwgb25DbGljazogKCkgPT4ge30gfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBfaGFuZGxlQWN0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGJ0bjogTXR4R3JpZENvbHVtbkJ1dHRvbiwgcm93RGF0YTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChidG4uY2xpY2spIHtcbiAgICAgIGJ0bi5jbGljayhyb3dEYXRhKTtcbiAgICB9XG4gIH1cblxuICAvKiogUHJldmlldyBlbmxhcmdlZCBpbWFnZSAqL1xuICBfaGFuZGxlSW1hZ2VQcmV2aWV3KHVybFN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgaW1nczogUGhvdG9WaWV3ZXIuSW1nW10gPSBbXTtcblxuICAgIHRoaXMuX2RhdGFHcmlkU3J2LnN0cjJhcnIodXJsU3RyKS5mb3JFYWNoKCh1cmwsIGluZGV4KSA9PiB7XG4gICAgICBpbWdzLnB1c2goeyB0aXRsZTogaW5kZXggKyAxICsgJycsIHNyYzogdXJsIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9vdGVyVG9vbGJhciA9XG4gICAgICBpbWdzLmxlbmd0aCA+IDFcbiAgICAgICAgPyBbJ3pvb21JbicsICd6b29tT3V0JywgJ3ByZXYnLCAnbmV4dCcsICdyb3RhdGVSaWdodCcsICdyb3RhdGVMZWZ0JywgJ2FjdHVhbFNpemUnXVxuICAgICAgICA6IFsnem9vbUluJywgJ3pvb21PdXQnLCAncm90YXRlUmlnaHQnLCAncm90YXRlTGVmdCcsICdhY3R1YWxTaXplJ107XG5cbiAgICBjb25zdCBvcHRpb25zOiBQaG90b1ZpZXdlci5PcHRpb25zID0ge1xuICAgICAgdGl0bGU6IGltZ3MubGVuZ3RoID4gMSxcbiAgICAgIGZvb3RlclRvb2xiYXIsXG4gICAgfTtcblxuICAgIGNvbnN0IHZpZXdlciA9IG5ldyBQaG90b1ZpZXdlcihpbWdzLCBvcHRpb25zKTtcbiAgfVxufVxuIl19