| @@ -31,6 +31,7 @@ | |||||
| "@types/signalr": "^2.4.3", | "@types/signalr": "^2.4.3", | ||||
| "@types/three": "^0.162.0", | "@types/three": "^0.162.0", | ||||
| "ag-grid-angular": "^31.0.2", | "ag-grid-angular": "^31.0.2", | ||||
| "autofit.js": "^3.1.0", | |||||
| "echarts": "^5.5.0", | "echarts": "^5.5.0", | ||||
| "moment": "^2.30.1", | "moment": "^2.30.1", | ||||
| "mqtt": "^5.3.6", | "mqtt": "^5.3.6", | ||||
| @@ -5615,6 +5616,11 @@ | |||||
| "dev": true, | "dev": true, | ||||
| "license": "MIT" | "license": "MIT" | ||||
| }, | }, | ||||
| "node_modules/autofit.js": { | |||||
| "version": "3.1.0", | |||||
| "resolved": "https://registry.npmjs.org/autofit.js/-/autofit.js-3.1.0.tgz", | |||||
| "integrity": "sha512-zX/2VbpxdDcgDDCT1A0psuF8Phs8QbmFXstvLkqrrOcv33LQttCh2J6GVs84585+LfMAfacemxRXIidrFXu02g==" | |||||
| }, | |||||
| "node_modules/autoprefixer": { | "node_modules/autoprefixer": { | ||||
| "version": "10.4.16", | "version": "10.4.16", | ||||
| "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.16.tgz", | "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.16.tgz", | ||||
| @@ -44,6 +44,7 @@ | |||||
| "@types/signalr": "^2.4.3", | "@types/signalr": "^2.4.3", | ||||
| "@types/three": "^0.162.0", | "@types/three": "^0.162.0", | ||||
| "ag-grid-angular": "^31.0.2", | "ag-grid-angular": "^31.0.2", | ||||
| "autofit.js": "^3.1.0", | |||||
| "echarts": "^5.5.0", | "echarts": "^5.5.0", | ||||
| "moment": "^2.30.1", | "moment": "^2.30.1", | ||||
| "mqtt": "^5.3.6", | "mqtt": "^5.3.6", | ||||
| @@ -15,8 +15,8 @@ | |||||
| .chart-button { | .chart-button { | ||||
| width: 175px; | |||||
| height: 51px; | |||||
| width: 17rem; | |||||
| height: 5; | |||||
| margin: 5px; | margin: 5px; | ||||
| font-size: 28px; | font-size: 28px; | ||||
| line-height: 22px; | line-height: 22px; | ||||
| @@ -29,4 +29,10 @@ height: 51px; | |||||
| background-size: contain; /* 或者可以使用 'contain' 根据你的需要 */ | background-size: contain; /* 或者可以使用 'contain' 根据你的需要 */ | ||||
| border-width: 0; | border-width: 0; | ||||
| } | } | ||||
| .chart-container { | |||||
| width: 10rem; | |||||
| height: 10rem; | |||||
| } | |||||
| @@ -1,6 +1,6 @@ | |||||
| <div class="chart-card"> | <div class="chart-card"> | ||||
| <div class="chart-container"> | <div class="chart-container"> | ||||
| <div *ngIf="chartId" id="{{ chartId }}" style="width: 15rem; height: 15rem"></div> | |||||
| <div *ngIf="chartId" id="{{ chartId }}" class="chart-container"></div> | |||||
| </div> | </div> | ||||
| <p class="chart-text">{{ text }}</p> | <p class="chart-text">{{ text }}</p> | ||||
| <button class="chart-button">1#重磅</button> | <button class="chart-button">1#重磅</button> | ||||
| @@ -2,7 +2,9 @@ import { CommonModule } from '@angular/common'; | |||||
| import { Component, Input, OnInit, ViewChild, inject } from '@angular/core'; | import { Component, Input, OnInit, ViewChild, inject } from '@angular/core'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| import { SHARED_IMPORTS } from '@shared'; | import { SHARED_IMPORTS } from '@shared'; | ||||
| import autofit from 'autofit.js'; | |||||
| import * as echarts from 'echarts'; | import * as echarts from 'echarts'; | ||||
| @Component({ | @Component({ | ||||
| selector: 'app-data-v-lj-text-dashboard', | selector: 'app-data-v-lj-text-dashboard', | ||||
| standalone: true, | standalone: true, | ||||
| @@ -16,6 +18,13 @@ export class DataVLjTextDashboardComponent implements OnInit { | |||||
| ngOnInit(): void { | ngOnInit(): void { | ||||
| // 使用 setTimeout 确保视图已经初始化 | // 使用 setTimeout 确保视图已经初始化 | ||||
| setTimeout(() => this.initCharts(), 0); | setTimeout(() => this.initCharts(), 0); | ||||
| // autofit.init(); | |||||
| // autofit.init({ | |||||
| // dh: 1080, | |||||
| // dw: 1920, | |||||
| // el: 'body', | |||||
| // resize: true | |||||
| // }); | |||||
| } | } | ||||
| initCharts(): void { | initCharts(): void { | ||||
| @@ -1,5 +1,5 @@ | |||||
| <div nz-row [nzGutter]="[12, 12]" style="display: flex; justify-content: space-between"> | <div nz-row [nzGutter]="[12, 12]" style="display: flex; justify-content: space-between"> | ||||
| <div style="display: flex; flex-direction: column; width: 40%"> | |||||
| <div style="display: flex; flex-direction: column; width: 23%"> | |||||
| <app-data-v-lj-dashboard title="系统状态" style="width: 100%" /> | <app-data-v-lj-dashboard title="系统状态" style="width: 100%" /> | ||||
| <lj-app-ag-grid-component | <lj-app-ag-grid-component | ||||
| style="width: 100%" | style="width: 100%" | ||||
| @@ -18,10 +18,42 @@ | |||||
| [gridThemeClass]="gridThemedClass" | [gridThemeClass]="gridThemedClass" | ||||
| /> | /> | ||||
| </div> | </div> | ||||
| <div style="display: flex; flex-direction: column"> | |||||
| <div style="display: flex; flex-direction: column; width: 43%"> | |||||
| <!-- button-component.component.html --> | |||||
| <div class="button-container"> | |||||
| <button class="lock-button"> | |||||
| <img class="logo" src="./assets/lock.svg" /> | |||||
| </button> | |||||
| <button class="standard-button">概要</button> | |||||
| <button class="standard-button">详情</button> | |||||
| <!-- <button class="standard-button">操作</button> --> | |||||
| <button class="standard-button">审计</button> | |||||
| <button class="standard-button">校磅</button> | |||||
| </div> | |||||
| <div class="car-status-container"> | |||||
| <div class="row" *ngFor="let item of items; let i = index"> | |||||
| <div class="image-container"> | |||||
| <img src="http://openwrt.waitclopeo.com:3004/auseft/car0.jpg" alt="Car Image" /> | |||||
| </div> | |||||
| <div class="image-container"> | |||||
| <img | |||||
| src="https://img.jianbihua.com/sites/default/files/styles/photo640x425logofull/public/images/2019-11/20191115110304_360855.jpg" | |||||
| alt="Long Image" | |||||
| /> | |||||
| </div> | |||||
| <div class="info-container"> | |||||
| <div class="info-button">车牌号: 苏E8888</div> | |||||
| <div class="info-button">卡车种类:重型火卡</div> | |||||
| <div class="info-button">重量:30吨</div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div style="display: flex; flex-direction: column; width: 30%"> | |||||
| <!-- </data-v-card> --> | <!-- </data-v-card> --> | ||||
| <lj-app-ag-grid-component | <lj-app-ag-grid-component | ||||
| style="width: 100%" | |||||
| [showPageTurning]="false" | [showPageTurning]="false" | ||||
| [showEditButton]="true" | [showEditButton]="true" | ||||
| title="今日汇总" | title="今日汇总" | ||||
| @@ -169,4 +169,98 @@ | |||||
| /* 设置横向滚动条滑块的颜色 */ | /* 设置横向滚动条滑块的颜色 */ | ||||
| ::ng-deep .ag-theme-datav ::ng-deep .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb { | ::ng-deep .ag-theme-datav ::ng-deep .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb { | ||||
| background-color: #00eff8; | background-color: #00eff8; | ||||
| } | |||||
| } | |||||
| /* button-component.component.css */ | |||||
| .button-container { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: space-between; | |||||
| // background-color: #2c3e50; // 你可以根据需要调整颜色 | |||||
| } | |||||
| .lock-button, .standard-button, .highlighted-button { | |||||
| margin: 5px; | |||||
| padding: 10px 15px; | |||||
| font-size: 20px; | |||||
| color: white; | |||||
| border: none; | |||||
| } | |||||
| .lock-button { | |||||
| background-color: transparent; | |||||
| } | |||||
| .standard-button { | |||||
| font-size: 20px; | |||||
| font-weight: bold; | |||||
| line-height: 20px; | |||||
| color: rgb(107 236 246 / 100%); | |||||
| text-align: center; | |||||
| background-color: rgb(33 48 105 / 100%); | |||||
| border-radius: 3px; | |||||
| } | |||||
| .highlighted-button { | |||||
| background-color: #3498db; // 你可以根据需要调整颜色 | |||||
| border-radius: 10px; | |||||
| } | |||||
| .fa-lock { | |||||
| margin-right: 5px; | |||||
| } | |||||
| .logo{ | |||||
| width: 65px; | |||||
| // height: ; | |||||
| } | |||||
| .car-status-container { | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| width: 100%; | |||||
| background-image: url("/assets/car-status-bg.png"); | |||||
| background-repeat: no-repeat; | |||||
| background-position: center; | |||||
| background-size: cover; | |||||
| } | |||||
| .row { | |||||
| display: flex; | |||||
| align-items: stretch; /* 保持相同高度 */ | |||||
| justify-content: space-between; /* 子组件间平均分布 */ | |||||
| margin-bottom: 20px; /* 每行之间的间距 */ | |||||
| } | |||||
| .image-container { | |||||
| display: flex; | |||||
| flex: 1; /* 三个子元素均匀分布 */ | |||||
| align-items: center; /* 图片居中 */ | |||||
| justify-content: center; /* 图片居中 */ | |||||
| margin: 0 10px; /* 子组件之间的间距 */ | |||||
| } | |||||
| .image-container img { | |||||
| max-width: 100%; | |||||
| max-height: 100%; | |||||
| object-fit: contain; /* 保持图片的宽高比 */ | |||||
| } | |||||
| .info-container { | |||||
| display: flex; | |||||
| flex: 1; /* 同样的,让信息容器也占据等同的空间 */ | |||||
| flex-direction: column; | |||||
| justify-content: space-around; | |||||
| margin: 0 10px; | |||||
| } | |||||
| .info-button { | |||||
| margin: 5px 0; | |||||
| padding: 10px; | |||||
| color: white; | |||||
| text-align: center; | |||||
| background-color: #007bff; | |||||
| border-radius: 5px; | |||||
| box-shadow: 0 2px 4px rgb(0 0 0 / 10%); | |||||
| } | |||||
| @@ -1,3 +1,4 @@ | |||||
| import { CommonModule } from '@angular/common'; | |||||
| import { AfterViewInit, Component, ElementRef, OnInit, ViewChild, inject } from '@angular/core'; | import { AfterViewInit, Component, ElementRef, OnInit, ViewChild, inject } from '@angular/core'; | ||||
| import { ModalHelper, TitleService, _HttpClient } from '@delon/theme'; | import { ModalHelper, TitleService, _HttpClient } from '@delon/theme'; | ||||
| import { SHARED_IMPORTS } from '@shared'; | import { SHARED_IMPORTS } from '@shared'; | ||||
| @@ -29,6 +30,7 @@ import { LjAgGridComponentComponent } from '../workstation/lj-ag-grid-component/ | |||||
| GridButtonValueRenderer, | GridButtonValueRenderer, | ||||
| DataVTitleComponent, | DataVTitleComponent, | ||||
| DataVLjDashboardComponent, | DataVLjDashboardComponent, | ||||
| CommonModule, | |||||
| ...SHARED_IMPORTS, | ...SHARED_IMPORTS, | ||||
| DataVLjCarInfoTableComponent | DataVLjCarInfoTableComponent | ||||
| ] | ] | ||||
| @@ -38,6 +40,7 @@ export class DataVSecond1Component implements OnInit { | |||||
| private readonly modal = inject(ModalHelper); | private readonly modal = inject(ModalHelper); | ||||
| private readonly elementRef = inject(ElementRef); | private readonly elementRef = inject(ElementRef); | ||||
| private readonly titleService = inject(TitleService); | private readonly titleService = inject(TitleService); | ||||
| public items = [1, 2, 3]; | |||||
| public chartDom = document.getElementById('main')!; | public chartDom = document.getElementById('main')!; | ||||
| // public myChart = echarts.init(this.chartDom); | // public myChart = echarts.init(this.chartDom); | ||||
| @@ -55,41 +58,17 @@ export class DataVSecond1Component implements OnInit { | |||||
| rowData: object[] = []; | rowData: object[] = []; | ||||
| colDefs1: ColDef[] = [ | colDefs1: ColDef[] = [ | ||||
| { | |||||
| headerName: '序号', | |||||
| valueGetter: function (params: any) { | |||||
| return parseInt(params.node.id) + 1; | |||||
| }, | |||||
| width: 90, | |||||
| // flex: 2, | |||||
| sortable: true, | |||||
| unSortIcon: true, | |||||
| field: 'xh' | |||||
| }, | |||||
| { headerName: '任务名称', unSortIcon: true, width: 120, field: 'rwmc' }, | |||||
| { headerName: '任务描述', unSortIcon: true, field: 'rwms', width: 120 }, | { headerName: '任务描述', unSortIcon: true, field: 'rwms', width: 120 }, | ||||
| { headerName: '开始时间', headerClass: 'ag-header-center', unSortIcon: true, field: 'kssj', width: 180 }, | { headerName: '开始时间', headerClass: 'ag-header-center', unSortIcon: true, field: 'kssj', width: 180 }, | ||||
| { headerName: '计划完成时间', unSortIcon: true, field: 'jhwcsj', width: 180 }, | |||||
| { headerName: '超期', width: 70, field: 'sfcq' }, | { headerName: '超期', width: 70, field: 'sfcq' }, | ||||
| { headerName: '操作', width: 90, autoHeaderHeight: true, field: 'cz', cellRenderer: GridButtonValueRenderer } | { headerName: '操作', width: 90, autoHeaderHeight: true, field: 'cz', cellRenderer: GridButtonValueRenderer } | ||||
| ]; | ]; | ||||
| colDefs2: ColDef[] = [ | colDefs2: ColDef[] = [ | ||||
| { | |||||
| headerName: '序号', | |||||
| valueGetter: function (params: any) { | |||||
| return parseInt(params.node.id) + 1; | |||||
| }, | |||||
| width: 90, | |||||
| unSortIcon: true, | |||||
| field: 'xh' | |||||
| }, | |||||
| { headerName: '任务名称', unSortIcon: true, field: 'rwmc' }, | |||||
| { headerName: '任务描述', unSortIcon: true, field: 'rwms', minWidth: 170, flex: 1 }, | { headerName: '任务描述', unSortIcon: true, field: 'rwms', minWidth: 170, flex: 1 }, | ||||
| { headerName: '开始时间', unSortIcon: true, field: 'kssj', minWidth: 170, flex: 1 }, | { headerName: '开始时间', unSortIcon: true, field: 'kssj', minWidth: 170, flex: 1 }, | ||||
| { headerName: '当前状态', field: 'dqzt' }, | |||||
| { headerName: '当前节点', field: 'dqjd' }, | |||||
| { headerName: '实际完成时间', field: 'sjwcsj', minWidth: 170, flex: 1 }, | { headerName: '实际完成时间', field: 'sjwcsj', minWidth: 170, flex: 1 }, | ||||
| { headerName: '操作', autoHeaderHeight: true, width: 110, field: 'cz', cellRenderer: GridButtonValueRenderer } | { headerName: '操作', autoHeaderHeight: true, width: 110, field: 'cz', cellRenderer: GridButtonValueRenderer } | ||||
| ]; | ]; | ||||
| @@ -12,11 +12,11 @@ | |||||
| nzXXl="12" | nzXXl="12" | ||||
| title="{{ title }}" | title="{{ title }}" | ||||
| > | > | ||||
| <!-- style="min-width: 500px" --> | |||||
| <ag-grid-angular | <ag-grid-angular | ||||
| #myGrid | #myGrid | ||||
| style="min-width: 500px" | |||||
| [class]="gridThemeClass" | [class]="gridThemeClass" | ||||
| [pagination]="true" | |||||
| (gridReady)="onGridReady($event)" | |||||
| [suppressPaginationPanel]="true" | [suppressPaginationPanel]="true" | ||||
| [suppressPaginationPanel]="true" | [suppressPaginationPanel]="true" | ||||
| [suppressScrollOnNewData]="true" | [suppressScrollOnNewData]="true" | ||||
| @@ -30,14 +30,14 @@ | |||||
| <!-- 分页 --> | <!-- 分页 --> | ||||
| <div [hidden]="!showPageTurning" class="grid-pagination"> | <div [hidden]="!showPageTurning" class="grid-pagination"> | ||||
| <div class="page-total-style">共1222 {{ pageRowTotal }} 项数据</div> | |||||
| <div class="page-total-style">共 {{ pageRowTotal }} 项数据</div> | |||||
| <nz-pagination | <nz-pagination | ||||
| [nzPageIndex]="pageIndex" | [nzPageIndex]="pageIndex" | ||||
| [nzPageSize]="pageSize" | [nzPageSize]="pageSize" | ||||
| [nzTotal]="pageRowTotal" | [nzTotal]="pageRowTotal" | ||||
| [className]="paginationThemeClass" | |||||
| (nzPageSizeChange)="nzPageSizeChange($event)" | (nzPageSizeChange)="nzPageSizeChange($event)" | ||||
| (nzPageIndexChange)="nzPageIndexChange($event)" | (nzPageIndexChange)="nzPageIndexChange($event)" | ||||
| [className]="paginationThemeClass" | |||||
| nzShowSizeChanger | nzShowSizeChanger | ||||
| /> | /> | ||||
| </div> | </div> | ||||
| @@ -2,6 +2,8 @@ | |||||
| @import 'ag-grid-community/styles/ag-grid.css'; | @import 'ag-grid-community/styles/ag-grid.css'; | ||||
| @import 'ag-grid-community/styles/ag-theme-quartz.css'; | @import 'ag-grid-community/styles/ag-theme-quartz.css'; | ||||
| .custom-label { | .custom-label { | ||||
| display: inline-block; | display: inline-block; | ||||
| padding: 10px 20px; /* 内边距 */ | padding: 10px 20px; /* 内边距 */ | ||||
| @@ -32,3 +34,8 @@ | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| } | } | ||||
| /* stylelint-disable-next-line selector-class-pattern */ | |||||
| .paginationThemeClass{ | |||||
| width: 100%; | |||||
| } | |||||
| @@ -24,7 +24,8 @@ export class LjAgGridComponentComponent implements OnInit { | |||||
| // }; | // }; | ||||
| gridOptions: GridOptions = { | gridOptions: GridOptions = { | ||||
| headerHeight: 0 | |||||
| headerHeight: 0, | |||||
| suppressHorizontalScroll: false | |||||
| // columnDefs="columnDefs" | // columnDefs="columnDefs" | ||||
| }; | }; | ||||
| @@ -120,6 +121,13 @@ export class LjAgGridComponentComponent implements OnInit { | |||||
| }; | }; | ||||
| } | } | ||||
| //每页数 | //每页数 | ||||
| onGridReady(params: any) { | |||||
| console.log('onGridReady'); | |||||
| console.log(params); | |||||
| setTimeout(() => { | |||||
| params.api.sizeColumnsToFit(); | |||||
| }, 100); | |||||
| } | |||||
| nzPageSizeChange(_pageSize: any) { | nzPageSizeChange(_pageSize: any) { | ||||
| this.pageSize = _pageSize; | this.pageSize = _pageSize; | ||||
| } | } | ||||
| @@ -0,0 +1 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1711695655771" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2980" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M385.150849 385.662338l-128.895105 0 0-150.377622q0-49.102897 19.436563-91.556444t53.706294-74.677323 80.815185-50.637363 101.786214-18.413586q49.102897 0 94.625375 18.413586t80.815185 50.637363 56.263736 74.677323 20.971029 91.556444l0 150.377622-123.78022 0 0-121.734266q0-64.447552-35.804196-99.74026t-97.182817-35.292707q-55.240759 0-88.999001 35.292707t-33.758242 99.74026l0 121.734266zM826.053946 447.040959q27.62038 0 47.568432 19.948052t19.948052 47.568432l0 317.122877q0 27.62038-9.718282 51.66034t-26.597403 41.942058-39.896104 28.131868-50.637363 10.22977l-516.603397 0q-27.62038 0-50.125874-10.22977t-38.361638-27.108891-24.551449-39.384615-8.695305-48.07992l0-324.283716q0-27.62038 19.436563-47.568432t47.056943-19.948052l61.378621 0 128.895105 0 255.744256 0 123.78022 0 61.378621 0z" p-id="2981" fill="#97f6fb"></path></svg> | |||||
| @@ -0,0 +1 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1711695639298" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2740" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M768.25422 0q48.810328 0 94.061569 18.303873t80.333664 50.33565 56.436941 74.740814 21.354518 91.519364l0 150.49851-123.042701 0 0-122.025819q0-64.063555-36.099305-99.654419t-97.112214-35.590864q-54.911619 0-88.468719 35.590864t-33.5571 99.654419l0 124.059583-128.12711 0 0-152.532274q0-48.810328 19.320755-91.519364t53.386296-74.740814 80.333664-50.33565 101.179742-18.303873zM766.220457 693.513406l0 87.451837 0 47.793446q0 27.455809-9.660377 51.860973t-26.438928 41.692155-39.658391 27.455809-50.33565 10.168818l-514.542205 0q-27.455809 0-49.82721-9.660377t-38.641509-26.438928-24.913605-39.14995-8.643496-47.793446l0-323.368421q0-28.472691 19.829196-47.793446t46.268123-19.320755l629.449851 0q28.472691 0 47.793446 19.320755t19.320755 47.793446l0 179.988083z" p-id="2741" fill="#97f6fb"></path></svg> | |||||
| @@ -2931,6 +2931,11 @@ asynckit@^0.4.0: | |||||
| resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz" | resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz" | ||||
| integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== | ||||
| autofit.js@^3.1.0: | |||||
| version "3.1.0" | |||||
| resolved "https://registry.npmjs.org/autofit.js/-/autofit.js-3.1.0.tgz" | |||||
| integrity sha512-zX/2VbpxdDcgDDCT1A0psuF8Phs8QbmFXstvLkqrrOcv33LQttCh2J6GVs84585+LfMAfacemxRXIidrFXu02g== | |||||
| autoprefixer@10.4.16: | autoprefixer@10.4.16: | ||||
| version "10.4.16" | version "10.4.16" | ||||
| resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.16.tgz" | resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.16.tgz" | ||||