@kassdoug/tableadv
Version:
Componente Angular 16+ para criação de uma table com amis recursos. Projeto com base na ideia da lib DataTables
1 lines • 39 kB
Source Map (JSON)
{"version":3,"file":"kassdoug-tableadv.mjs","sources":["../../../../projects/kassdoug/tableadv/src/components/cell/cell.component.ts","../../../../projects/kassdoug/tableadv/src/components/cell/cell.component.html","../../../../projects/kassdoug/tableadv/src/components/IndividualFilterInput/IndividualFilterInput.component.ts","../../../../projects/kassdoug/tableadv/src/components/IndividualFilterInput/IndividualFilterInput.component.html","../../../../projects/kassdoug/tableadv/src/components/table/table.component.ts","../../../../projects/kassdoug/tableadv/src/components/table/table.component.html","../../../../projects/kassdoug/tableadv/src/table.module.ts","../../../../projects/kassdoug/tableadv/src/public-api.ts","../../../../projects/kassdoug/tableadv/src/kassdoug-tableadv.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Input,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'gd-cell',\n templateUrl: 'cell.component.html',\n})\nexport class CellComponent implements OnInit {\n @ViewChild('container', { read: ViewContainerRef })\n container!: ViewContainerRef;\n @Input() row: any;\n @Input() col: any;\n\n label: string | any = '';\n componentized: boolean = false;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver) {}\n\n ngOnInit() {\n this.getLabel();\n }\n\n /** Pega o label a ser exibido, podendo ser um component ou string */\n getLabel() {\n const column_name = this.col.db;\n\n if (column_name.includes('.')) {\n let item = column_name.split('.').filter((f: any) => f);\n\n let value = this.row;\n item.forEach((ff: any) => {\n value = value[ff];\n });\n this.label = value;\n } else {\n this.label = this.row[column_name];\n }\n\n if (\n typeof this.label == 'object' &&\n this.label !== null &&\n this.label !== ''\n ) {\n if (this.label.component !== null) {\n this.componentized = true;\n\n let instance = this.label.component.instance;\n let properties = this.label.component.properties;\n\n setTimeout(() => this.setComponent(instance, properties), 0);\n }\n }\n }\n\n /** Caso o label for um componente, aquis era feito as tratativas para inserção do mesmo */\n setComponent(cmpInstance: any, properties: any) {\n const factory: any =\n this.componentFactoryResolver.resolveComponentFactory(cmpInstance);\n const componentRef = factory.create(this.container.injector);\n\n Object.keys(properties).forEach((key: any) => {\n let value = properties[key];\n componentRef.instance[key] = this.delteKeyComponent(value);\n });\n\n this.container.insert(componentRef.hostView);\n }\n\n /** Remove do valor inserido no component externo, somente os valores originais, retirando valores que possam ser compoenentes, corrigindo a duplicação infinita */\n delteKeyComponent(item: any) {\n Object.keys(item).forEach((key: string) => {\n if (item[key] !== null && item[key] !== undefined) {\n if (\n typeof item[key] == 'object' &&\n item[key].hasOwnProperty('component')\n ) {\n if (item[key]['component'].hasOwnProperty('instance')) {\n delete item[key];\n }\n }\n }\n });\n\n return item;\n }\n}\n","<div *ngIf=\"!componentized; else cont\" [innerHTML]=\"label\"></div> \r\n<ng-template #cont><ng-container #container></ng-container></ng-template> ","import { Component, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'InputIndividualSearch',\r\n templateUrl: 'IndividualFilterInput.component.html',\r\n styleUrls: ['../../assets/style.scss'],\r\n})\r\n\r\nexport class IndividualFilterInputComponent {\r\n\r\n @Input() search: any | null = null\r\n\r\n whereValue: any | null = null\r\n\r\n @Output() addFilterEvent = new EventEmitter<object>();\r\n\r\n /** Adiciona o filtro individual na busca e executa a rota */\r\n addNewFilter() {\r\n\r\n if(this.whereValue == '' || this.whereValue == null) return\r\n\r\n var model:string | null = null\r\n var field:string | null = null\r\n\r\n if(typeof this.search === 'object'){\r\n model=this.search.model\r\n field=this.search.field\r\n\r\n } else {\r\n field=this.search\r\n }\r\n\r\n this.addFilterEvent.emit({value: this.whereValue,field: field, model: model})\r\n\r\n }\r\n\r\n}\r\n","<div class=\"input-group p-1\">\r\n\r\n <input class=\"form-control form-control-sm\" type=\"search\" placeholder=\"Pesquisar\" [(ngModel)]=\"whereValue\"> \r\n\r\n <button\r\n class=\"btn btn-sm btn-outline-secondary border border-secondary-subtle\"\r\n type=\"button\"\r\n gd-tooltip=\"Faz a pesquisa solicitada na coluna\"\r\n (click)=\"addNewFilter()\"\r\n >\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n SimpleChanges,\r\n OnChanges,\r\n Output,\r\n EventEmitter,\r\n Renderer2,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef,\r\n ViewEncapsulation,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport * as Notiflix from 'notiflix';\r\n\r\n@Component({\r\n selector: 'tableadv',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['../../assets/style.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n})\r\nexport class TableComponent implements OnInit, OnChanges, AfterViewInit {\r\n /** Properties -------------------------------------------------------------------- */\r\n\r\n @Input() id!: string;\r\n\r\n driver: string = 'laravel-eloquent'; // chave simbolica para determinar o uso do componente com backend em laravel com eloquent\r\n version: string = '1.2.3';\r\n message: string = '';\r\n\r\n /** Define o estado da tabela maximizado ou normal */\r\n screenMaximize: boolean = false;\r\n\r\n /** Registra o total de paginas geradas */\r\n totalPages: number = 0;\r\n totalPagesArray: Array<number> = [];\r\n\r\n /** Registra a pagina atual */\r\n actualPage: number = 1;\r\n\r\n /** Registra a última pagina */\r\n lastPage: number = 0;\r\n\r\n /** Quantidade de links a exibir na navegação para frente e tras em relação a pagina atual */\r\n navigationLimitPages: number = 3;\r\n\r\n /** Registra o total de registros na tabela */\r\n totalRegisters: number = 0;\r\n\r\n /** Total de registros POR página */\r\n totalRegisterPerPage: number = 5;\r\n\r\n /** Total de registros NA página */\r\n totalRegisterInPage: number = 0;\r\n\r\n /** Determina se o header da tabela é fixo ou não */\r\n @Input() isFixed = false;\r\n\r\n /** Define o total de registros por pagina inicial */\r\n @Input() registers_per_page_initial: number = 5;\r\n\r\n /** Filtros dos dados para o backend */\r\n orderby: any = { db: 'id' };\r\n orderdirection: string = 'asc';\r\n whereColumn: any | null = null;\r\n whereValue: any | null = null;\r\n whereIndividual: any[] = [];\r\n\r\n /** Dados externos */\r\n @Input() data: any | null = null;\r\n @Input() gridHeader: any | null = null;\r\n\r\n /** Envia solicitação */\r\n @Output() onGetData = new EventEmitter<any>();\r\n\r\n @ViewChildren('elementOrder') elementsOrder: QueryList<ElementRef> =\r\n new QueryList<ElementRef>();\r\n\r\n /** Constructor -------------------------------------------------------------------- */\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n /** Cycles -------------------------------------------------------------------- */\r\n\r\n ngOnInit() {\r\n this.totalRegisterPerPage = this.registers_per_page_initial;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.data = changes['data'].currentValue;\r\n if (this.data !== null && this.data !== undefined) this.config();\r\n\r\n\r\n // this.CONSOLE();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.emitGetData();\r\n }\r\n\r\n /** Methods -------------------------------------------------------------------- */\r\n\r\n /** Debug de todas props */\r\n CONSOLE() {\r\n console.log(\r\n `---------------------------CONSOLE TABLE ${this.id}---------------------------`\r\n );\r\n\r\n console.log('data', this.data);\r\n console.log('driver', this.driver);\r\n console.log('screenMaximize', this.screenMaximize);\r\n console.log('totalPages', this.totalPages);\r\n console.log('totalPagesArray', this.totalPagesArray);\r\n console.log('actualPage', this.actualPage);\r\n console.log('lastPage', this.lastPage);\r\n console.log('totalRegisters', this.totalRegisters);\r\n console.log('totalRegisterPerPage', this.totalRegisterPerPage);\r\n console.log('navigationLimitPages', this.navigationLimitPages);\r\n console.log('gridHeader', this.gridHeader);\r\n console.log('isFixed', this.isFixed);\r\n console.log('orderby', this.orderby);\r\n console.log('orderdirection', this.orderdirection);\r\n console.log('whereColumn', this.whereColumn);\r\n console.log('whereValue', this.whereValue);\r\n console.log('whereIndividual', this.whereIndividual);\r\n\r\n console.log(\r\n '---------------------------FIM CONSOLE TABLE---------------------------'\r\n );\r\n }\r\n\r\n /** Adiciona um loader */\r\n loading() {\r\n this.message = '';\r\n Notiflix.Block.init({\r\n svgColor: '#4551cc',\r\n backgroundColor: 'rgba(255, 255, 255, .7)',\r\n });\r\n Notiflix.Block.dots(`#gd-container-${this.id}`);\r\n }\r\n\r\n /** Remove o loader */\r\n removeLoading() {\r\n setTimeout(() => {\r\n Notiflix.Block.remove(`#gd-container-${this.id}`);\r\n\r\n if (this.data == null) {\r\n this.data = null;\r\n this.totalRegisters = 0;\r\n this.totalRegisterInPage = 0;\r\n this.message = 'Nenhuma informação carregada';\r\n }\r\n }, 2000);\r\n }\r\n\r\n /** Configura os dados */\r\n config() {\r\n if (this.data.hasOwnProperty('data')) {\r\n if (this.data.data.length == 0) {\r\n this.data = null;\r\n this.totalRegisters = 0;\r\n this.totalRegisterInPage = 0;\r\n this.message = 'Nenhuma informação carregada';\r\n } else {\r\n this.totalRegisters = this.data.total;\r\n this.totalRegisterInPage = this.data.length;\r\n }\r\n this.setTotalPages();\r\n }\r\n }\r\n\r\n /** Emit um evento para carregar os dados */\r\n emitGetData() {\r\n this.loading();\r\n let offset =\r\n this.totalRegisterPerPage == this.totalRegisterInPage\r\n ? this.actualPage * this.totalRegisterInPage - this.totalRegisterInPage\r\n : this.actualPage * this.totalRegisterPerPage -\r\n this.totalRegisterPerPage;\r\n\r\n this.onGetData.emit({\r\n id: this.id,\r\n limit: this.totalRegisterPerPage,\r\n offset: offset,\r\n orderby: this.orderby,\r\n orderdirection: this.orderdirection,\r\n whereColumn: this.whereColumn,\r\n whereValue: this.whereValue,\r\n whereIndividual: this.whereIndividual,\r\n });\r\n\r\n this.removeLoading();\r\n }\r\n\r\n /** Evento de maximizar a tela e voltar ao normal */\r\n maximizeToggle() {\r\n this.screenMaximize = !this.screenMaximize;\r\n\r\n if (this.screenMaximize) {\r\n this.renderer.setStyle(document.body, 'overflow', 'hidden');\r\n } else {\r\n this.renderer.removeStyle(document.body, 'overflow');\r\n }\r\n }\r\n\r\n /** Gera um array com o total de paginas */\r\n setTotalPages() {\r\n let tot = this.totalRegisters / this.totalRegisterPerPage;\r\n this.totalPages = tot <= 1 ? 1 : Math.ceil(tot);\r\n\r\n this.lastPage = this.totalPages;\r\n\r\n this.totalPagesArray = Array.from(\r\n { length: this.totalPages },\r\n (_, i) => i + 1\r\n );\r\n\r\n this.totalPagesArray = this.totalPagesArray.filter((pg) => {\r\n if (\r\n pg < this.actualPage &&\r\n pg >= this.actualPage - this.navigationLimitPages\r\n ) {\r\n return pg;\r\n }\r\n\r\n if (this.actualPage == pg) {\r\n return pg;\r\n }\r\n\r\n if (\r\n pg > this.actualPage &&\r\n pg <= this.actualPage + this.navigationLimitPages\r\n ) {\r\n return pg;\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n /** Seta a pagina atual */\r\n setActualPage(page: number) {\r\n this.actualPage = page;\r\n this.setTotalPages();\r\n this.emitGetData();\r\n }\r\n\r\n /** Seta na primeira página */\r\n setFirstPage() {\r\n this.actualPage = 1;\r\n this.setTotalPages();\r\n this.emitGetData();\r\n }\r\n\r\n /** Seta para a página anterior */\r\n setBeforePage() {\r\n this.actualPage = this.actualPage - 1;\r\n this.setTotalPages();\r\n this.emitGetData();\r\n }\r\n\r\n /** Seta para a proxiuma página */\r\n setNextPage() {\r\n this.actualPage = this.actualPage + 1;\r\n this.setTotalPages();\r\n this.emitGetData();\r\n }\r\n\r\n /** Seta para a ulimta página */\r\n setLastPage() {\r\n this.actualPage = this.lastPage;\r\n this.setTotalPages();\r\n this.emitGetData();\r\n }\r\n\r\n /** Atualiza a quantidade a exiebir por pagina */\r\n setRegistrsPerPage() {\r\n this.actualPage = 1;\r\n this.setTotalPages();\r\n\r\n this.emitGetData();\r\n }\r\n\r\n /** Fixa o header ao rolar o scroll */\r\n fixeHeader(isFixed: any) {\r\n this.isFixed = isFixed;\r\n }\r\n\r\n onSearch() {\r\n let columnsSearched: Array<any> = this.gridHeader\r\n .map((col: any) => {\r\n if (col.search) return col.search;\r\n return undefined;\r\n })\r\n .filter((value: any) => value !== undefined);\r\n\r\n this.whereColumn = columnsSearched;\r\n\r\n if (this.whereValue == null || this.whereColumn == '') return;\r\n\r\n if (this.whereValue.length >= 2 || this.whereValue.length == 0) {\r\n this.actualPage = 1;\r\n this.emitGetData();\r\n }\r\n }\r\n\r\n onIndividualSearch(search: any[]) {\r\n console.log(search);\r\n console.log(this.whereValue);\r\n }\r\n\r\n /** Limpa a pesquisa e reset os dados */\r\n onCleanSearch() {\r\n if (this.whereValue == null && this.whereIndividual.length == 0) return;\r\n\r\n this.whereColumn = null;\r\n this.whereValue = null;\r\n this.whereIndividual = []\r\n\r\n this.actualPage = 1;\r\n this.emitGetData();\r\n }\r\n\r\n /** Evento ao reordenar uma coluna */\r\n onReorder(data: any) {\r\n this.orderby = data;\r\n\r\n this.elementsOrder.forEach((elm) => {\r\n let id = elm.nativeElement.id;\r\n\r\n if (id == 'order_' + data.db) {\r\n if (elm.nativeElement.classList.contains('fa-sort')) {\r\n elm.nativeElement.classList.remove('fa-sort');\r\n elm.nativeElement.classList.add('fa-sort-up');\r\n this.orderdirection = 'asc';\r\n } else if (elm.nativeElement.classList.contains('fa-sort-up')) {\r\n elm.nativeElement.classList.remove('fa-sort-up');\r\n elm.nativeElement.classList.add('fa-sort-down');\r\n this.orderdirection = 'desc';\r\n } else if (elm.nativeElement.classList.contains('fa-sort-down')) {\r\n elm.nativeElement.classList.remove('fa-sort-down');\r\n elm.nativeElement.classList.add('fa-sort');\r\n this.orderby = { db: 'id' };\r\n this.orderdirection = 'asc';\r\n }\r\n } else {\r\n elm.nativeElement.classList.remove(\r\n 'fa-sort-up',\r\n 'fa-sort-down',\r\n 'fa-sort'\r\n );\r\n elm.nativeElement.classList.add('fa-sort');\r\n }\r\n });\r\n\r\n this.emitGetData();\r\n }\r\n\r\n /** Metodo para verificar existencia do atritubo individualfilter */\r\n CheckIsShowRowSearch(gridHeader: any): Boolean {\r\n const objFilter = gridHeader.filter((col: any) => {\r\n if (col.individualfilter) return col;\r\n });\r\n\r\n if (objFilter.length) return true;\r\n else return false;\r\n }\r\n\r\n /** Metodo para aplicar individualfilter */\r\n addIndividualFilter(newFilter: any) {\r\n this.whereIndividual = this.whereIndividual.filter((item) => {\r\n return item.field !== newFilter.field || item.model !== newFilter.model;\r\n });\r\n\r\n if (newFilter.value !== '' && newFilter.value !== null)\r\n this.whereIndividual.push(newFilter);\r\n\r\n this.emitGetData();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","<div class=\"\" [ngClass]=\"{'gd-backdrop': screenMaximize}\"></div>\r\n\r\n<div id=\"gd-container-{{id}}\" class='gd-container' [ngClass]=\"{'fullscreen':screenMaximize}\">\r\n\r\n <small class=\"gd-version\"> {{version}} </small>\r\n\r\n <!-- header -->\r\n <div class=\"gd-header\">\r\n\r\n <div class=\"gd-form-group\">\r\n\r\n <input class='gd-input-search' placeholder=\"Pesquisar Geral...\" [(ngModel)]=\"whereValue\" (keyup.enter)=\"onSearch()\">\r\n <button class='gd-btn' (click)=\"onSearch()\" gd-tooltip=\"Faz a pesquisa solicitada\">\r\n <i class=\"fa-solid fa-magnifying-glass\" ></i>\r\n </button>\r\n <button class='gd-btn' (click)=\"onCleanSearch()\" gd-tooltip=\"Limpa a pesquisa e reseta os dados\">\r\n <i class=\"fa-solid fa-broom\"></i>\r\n </button>\r\n\r\n <span gd-tooltip=\"Quantidade de registros por página\">\r\n <select class=\"gd-select-qntreg\" [(ngModel)]=\"totalRegisterPerPage\" (change)=\"setRegistrsPerPage()\" >\r\n <option value=5>05</option>\r\n <option value=10>10</option>\r\n <option value=50>50</option>\r\n <option value=100>100</option>\r\n <option value=150>150</option>\r\n </select>\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"gd-controls\">\r\n\r\n <button (click)=\"emitGetData()\" gd-tooltip=\"Atualiza os dados\">\r\n <i class=\"fa-solid fa-rotate\"></i>\r\n </button>\r\n\r\n <button (click)=\"maximizeToggle()\" gd-tooltip=\"Maximiza e minimiza\">\r\n <i *ngIf=\"!screenMaximize\" class=\"fa-solid fa-maximize\"></i>\r\n <i *ngIf=\"screenMaximize\" class=\"fa-solid fa-minimize\"></i>\r\n </button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- body -->\r\n <div class=\"gd-body\" appScrollListener (fixedHeader)=\"fixeHeader($event)\">\r\n\r\n <div *ngIf=\"data == null\" class=\"not-reg\">{{message}}</div>\r\n <button *ngIf=\"data == null\" class=\"p-2 btn btn-sm btn-outline-dark\" (click)=\"onCleanSearch()\">Recarregar <i class=\"fa-solid fa-broom\"></i></button>\r\n\r\n <table *ngIf=\"data != null\">\r\n <tr class=\"gd-header-row\" [ngClass]=\"{'fixed': isFixed}\">\r\n\r\n <th class=\"gd-col\" *ngFor=\"let col of gridHeader\" [style.width]=\"col.width\">\r\n <div>\r\n {{col.label}}\r\n\r\n <i *ngIf=\"col.order\" style=\"cursor: pointer;\" #elementOrder\r\n class=\"icon-order fa-solid fa-sort opacity-50 mx-2 px-1 btn-tabledata-order\" id='order_{{col.order.db}}'\r\n (click)=\"onReorder(col.order)\">\r\n </i>\r\n </div>\r\n </th>\r\n </tr>\r\n\r\n <tr *ngIf=\"CheckIsShowRowSearch(gridHeader)\">\r\n <th class=\"gd-col\" *ngFor=\"let col of gridHeader\" [style.width]=\"col.width\">\r\n <InputIndividualSearch\r\n (addFilterEvent)=\"addIndividualFilter($event)\"\r\n [search]=\"col.search\"\r\n *ngIf=\"col.individualfilter\"\r\n ></InputIndividualSearch>\r\n </th>\r\n </tr>\r\n\r\n <tr class=\"gd-body-row\" *ngFor=\"let row of data.data; let i = index\" [ngClass]=\"{'even': i % 2 !== 0}\">\r\n <td class=\"gd-col\" *ngFor=\"let col of gridHeader\" [style.width]=\"col.width\">\r\n <gd-cell [row]=\"row\" [col]=\"col\"></gd-cell>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <!-- footer -->\r\n <div class=\"gd-footer\" *ngIf=\"data !== null\">\r\n\r\n <div class=\"gd-info\">\r\n <div>Exibindo página <strong>{{actualPage}}</strong> de <strong>{{lastPage}}</strong></div>\r\n <div>Total de registros <strong>{{totalRegisters}}</strong></div>\r\n </div>\r\n\r\n <div class=\"gd-pagination\">\r\n\r\n <button [disabled]=\"1 == actualPage\" [ngClass]=\"{'disabled': 1 == actualPage}\" (click)=\"setFirstPage()\"> <i class=\"fa-solid fa-backward\"></i> </button>\r\n <button [disabled]=\"1 == actualPage\" [ngClass]=\"{'disabled': 1 == actualPage}\" (click)=\"setBeforePage()\"> <i class=\"fa-solid fa-caret-left\"></i> </button>\r\n\r\n <button [disabled]=\"page == actualPage\" [ngClass]=\"{'bg-selected': page == actualPage}\" *ngFor=\"let page of totalPagesArray\" (click)=\"setActualPage(page)\"> {{page}} </button>\r\n\r\n <button [disabled]=\"lastPage== actualPage\" [ngClass]=\"{'disabled': lastPage == actualPage}\" (click)=\"setNextPage()\"> <i class=\"fa-solid fa-caret-right\"></i> </button>\r\n <button [disabled]=\"lastPage == actualPage\" [ngClass]=\"{'disabled': lastPage == actualPage}\" (click)=\"setLastPage()\"> <i class=\"fa-solid fa-forward\"></i> </button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TableComponent } from './components/table/table.component';\r\nimport { CellComponent } from './components/cell/cell.component';\r\nimport { IndividualFilterInputComponent } from './components/IndividualFilterInput/IndividualFilterInput.component'\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent, CellComponent,IndividualFilterInputComponent\r\n ],\r\n imports: [\r\n CommonModule,FormsModule, ReactiveFormsModule\r\n ],\r\n exports: [\r\n TableComponent\r\n ]\r\n})\r\nexport class TableAdvModule { }\r\n","/*\n * Public API Surface of angular\n */\n\nexport * from './components/table/table.component';\nexport * from './table.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3.CellComponent","i4.IndividualFilterInputComponent"],"mappings":"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"}