diff --git a/package.json b/package.json
index fc99bb316..7826a9e0e 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
"@angular/core": "~17.2.2",
"@angular/elements": "^17.2.2",
"@angular/forms": "~17.2.2",
+ "@angular/material": "^17",
"@angular/platform-browser": "~17.2.2",
"@angular/platform-browser-dynamic": "~17.2.2",
"@angular/router": "~17.2.2",
@@ -122,6 +123,7 @@
"@angular-eslint/eslint-plugin-template": "17.2.1",
"@angular-eslint/schematics": "17.2.1",
"@angular-eslint/template-parser": "17.2.1",
+ "@angular/cdk": "^17",
"@angular/cli": "~17.2.1",
"@angular/compiler": "~17.2.2",
"@angular/compiler-cli": "~17.2.2",
diff --git a/src/app/shared/components/template/components/index.ts b/src/app/shared/components/template/components/index.ts
index 8773b3cc4..858ff0a73 100644
--- a/src/app/shared/components/template/components/index.ts
+++ b/src/app/shared/components/template/components/index.ts
@@ -49,6 +49,7 @@ import { TmplRadioGroupComponent } from "./radio-group/radio-group.component";
import { TmplSimpleCheckboxComponent } from "./simple-checkbox/simple-checkbox.component";
import { TmplSliderComponent } from "./slider/slider.component";
import { TmplSubtitleComponent } from "./subtitle";
+import { TmplTableComponent } from "./table/table.component";
import { TmplTaskCardComponent } from "./task-card/task-card.component";
import { TmplTaskProgressBarComponent } from "./task-progress-bar/task-progress-bar.component";
import { TmplTextAreaComponent } from "./text-area/text-area.component";
@@ -113,6 +114,7 @@ export const TEMPLATE_COMPONENTS = [
TmplSimpleCheckboxComponent,
TmplSliderComponent,
TmplSubtitleComponent,
+ TmplTableComponent,
TmplTaskCardComponent,
TmplTaskProgressBarComponent,
TmplTextAreaComponent,
@@ -186,6 +188,7 @@ const COMMON_COMPONENT_MAPPING = {
slider: TmplSliderComponent,
square_button: SquareIconButtonComponent,
subtitle: TmplSubtitleComponent,
+ table: TmplTableComponent,
task_card: TmplTaskCardComponent,
task_progress_bar: TmplTaskProgressBarComponent,
text_area: TmplTextAreaComponent,
diff --git a/src/app/shared/components/template/components/table/table.component.html b/src/app/shared/components/template/components/table/table.component.html
new file mode 100644
index 000000000..10ab997e1
--- /dev/null
+++ b/src/app/shared/components/template/components/table/table.component.html
@@ -0,0 +1,11 @@
+
+
+
+ {{ column }} |
+ {{ element[column] }} |
+
+
+
+
+
+
diff --git a/src/app/shared/components/template/components/table/table.component.scss b/src/app/shared/components/template/components/table/table.component.scss
new file mode 100644
index 000000000..d61e023fa
--- /dev/null
+++ b/src/app/shared/components/template/components/table/table.component.scss
@@ -0,0 +1,9 @@
+.table-container {
+ width: 100%;
+ max-height: 80vh;
+ overflow: auto;
+
+ tr[mat-header-row] {
+ background-color: var(--ion-background-color);
+ }
+}
diff --git a/src/app/shared/components/template/components/table/table.component.ts b/src/app/shared/components/template/components/table/table.component.ts
new file mode 100644
index 000000000..58fee8258
--- /dev/null
+++ b/src/app/shared/components/template/components/table/table.component.ts
@@ -0,0 +1,82 @@
+import {
+ AfterViewInit,
+ ChangeDetectorRef,
+ Component,
+ computed,
+ effect,
+ OnInit,
+ ViewChild,
+} from "@angular/core";
+import { TemplateBaseComponent } from "../base";
+import { FlowTypes } from "packages/data-models";
+import { getBooleanParamFromTemplateRow } from "src/app/shared/utils";
+import { AppDataService } from "src/app/shared/services/data/app-data.service";
+import { MatTableDataSource } from "@angular/material/table";
+import { MatSort } from "@angular/material/sort";
+
+interface ITableParams {
+ /** TEMPLATE PARAMETER: show_id. Display the data lists's ID column in the table. Default false */
+ showId: boolean;
+}
+
+@Component({
+ selector: "plh-table",
+ templateUrl: "./table.component.html",
+ styleUrls: ["./table.component.scss"],
+})
+export class TmplTableComponent extends TemplateBaseComponent implements AfterViewInit {
+ params = computed(() => this.getParams(this.parameterList()));
+ dataRows = computed(() => this.getDataRowsFromValue(this.value()));
+
+ columnsToDisplay = [];
+ dataSource: MatTableDataSource;
+
+ @ViewChild(MatSort) sort: MatSort;
+
+ constructor(
+ private appDataService: AppDataService,
+ private cdr: ChangeDetectorRef
+ ) {
+ super();
+ effect(async () => {
+ const data = (await this.dataRows()) || [];
+ this.dataSource = new MatTableDataSource(data);
+ this.columnsToDisplay = this.getColumnsToDisplayFromData(data);
+ if (this.sort) {
+ this.dataSource.sort = this.sort;
+ }
+ this.cdr.detectChanges();
+ });
+ }
+
+ ngAfterViewInit() {
+ if (this.dataSource) {
+ this.dataSource.sort = this.sort;
+ }
+ }
+
+ private getParams(authorParams: FlowTypes.TemplateRow["parameter_list"]): ITableParams {
+ return {
+ showId: getBooleanParamFromTemplateRow(this._row, "show_id", false),
+ };
+ }
+
+ private async getDataRowsFromValue(dataListName: string) {
+ // TODO: handle data passed as @data format, and query dynamic data to return live data (see data-items handling)
+ if (typeof dataListName !== "string") {
+ console.log("[TABLE COMPONENT] Value must be a data list name string");
+ return [];
+ }
+ const dataList = await this.appDataService.getSheet("data_list", dataListName);
+ return dataList?.rows;
+ }
+
+ private getColumnsToDisplayFromData(data: FlowTypes.Data_listRow[]): string[] {
+ if (!data || !data.length) return [];
+ // Infer columns from first data row
+ const columnNames = Object.keys(data[0]);
+ return this.params().showId
+ ? columnNames
+ : columnNames.filter((columnName) => columnName !== "id");
+ }
+}
diff --git a/src/app/shared/components/template/template.module.ts b/src/app/shared/components/template/template.module.ts
index 918a499ec..c11a6a07d 100644
--- a/src/app/shared/components/template/template.module.ts
+++ b/src/app/shared/components/template/template.module.ts
@@ -7,6 +7,8 @@ import { NouisliderModule } from "ng2-nouislider";
import { RouterModule } from "@angular/router";
import { SwiperModule } from "swiper/angular";
import { NgxExtendedPdfViewerModule } from "ngx-extended-pdf-viewer";
+import { MatTableModule } from "@angular/material/table";
+import { MatSortModule } from "@angular/material/sort";
import { SharedPipesModule } from "../../pipes";
import { TooltipDirective } from "../common/directives/tooltip.directive";
@@ -26,14 +28,16 @@ import { DEMO_COMPONENTS } from "packages/components/demo";
imports: [
CommonModule,
FormsModule,
- ReactiveFormsModule,
IonicModule,
- SharedPipesModule,
- NouisliderModule,
LottieModule,
+ MatSortModule,
+ MatTableModule,
+ NgxExtendedPdfViewerModule,
+ NouisliderModule,
+ ReactiveFormsModule,
RouterModule,
+ SharedPipesModule,
SwiperModule,
- NgxExtendedPdfViewerModule,
TemplatePipesModule,
],
exports: [
diff --git a/yarn.lock b/yarn.lock
index 8da2a4c35..4806927b7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -442,6 +442,23 @@ __metadata:
languageName: node
linkType: hard
+"@angular/cdk@npm:^17":
+ version: 17.3.10
+ resolution: "@angular/cdk@npm:17.3.10"
+ dependencies:
+ parse5: ^7.1.2
+ tslib: ^2.3.0
+ peerDependencies:
+ "@angular/common": ^17.0.0 || ^18.0.0
+ "@angular/core": ^17.0.0 || ^18.0.0
+ rxjs: ^6.5.3 || ^7.4.0
+ dependenciesMeta:
+ parse5:
+ optional: true
+ checksum: 6296f816e2f0f8e160bc8a624ff16449a6e509315703bd6463ede2028eb6f3b7b2150b1f9c09ea9d74402d4f156b433f9e120147f0f2bc0e18f8524addcc3581
+ languageName: node
+ linkType: hard
+
"@angular/cli@npm:~17.2.1":
version: 17.2.1
resolution: "@angular/cli@npm:17.2.1"
@@ -584,6 +601,70 @@ __metadata:
languageName: node
linkType: hard
+"@angular/material@npm:^17":
+ version: 17.3.10
+ resolution: "@angular/material@npm:17.3.10"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/auto-init": 15.0.0-canary.7f224ddd4.0
+ "@material/banner": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/button": 15.0.0-canary.7f224ddd4.0
+ "@material/card": 15.0.0-canary.7f224ddd4.0
+ "@material/checkbox": 15.0.0-canary.7f224ddd4.0
+ "@material/chips": 15.0.0-canary.7f224ddd4.0
+ "@material/circular-progress": 15.0.0-canary.7f224ddd4.0
+ "@material/data-table": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dialog": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/drawer": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/fab": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/floating-label": 15.0.0-canary.7f224ddd4.0
+ "@material/form-field": 15.0.0-canary.7f224ddd4.0
+ "@material/icon-button": 15.0.0-canary.7f224ddd4.0
+ "@material/image-list": 15.0.0-canary.7f224ddd4.0
+ "@material/layout-grid": 15.0.0-canary.7f224ddd4.0
+ "@material/line-ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/linear-progress": 15.0.0-canary.7f224ddd4.0
+ "@material/list": 15.0.0-canary.7f224ddd4.0
+ "@material/menu": 15.0.0-canary.7f224ddd4.0
+ "@material/menu-surface": 15.0.0-canary.7f224ddd4.0
+ "@material/notched-outline": 15.0.0-canary.7f224ddd4.0
+ "@material/radio": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/segmented-button": 15.0.0-canary.7f224ddd4.0
+ "@material/select": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/slider": 15.0.0-canary.7f224ddd4.0
+ "@material/snackbar": 15.0.0-canary.7f224ddd4.0
+ "@material/switch": 15.0.0-canary.7f224ddd4.0
+ "@material/tab": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-bar": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-indicator": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-scroller": 15.0.0-canary.7f224ddd4.0
+ "@material/textfield": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tooltip": 15.0.0-canary.7f224ddd4.0
+ "@material/top-app-bar": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.3.0
+ peerDependencies:
+ "@angular/animations": ^17.0.0 || ^18.0.0
+ "@angular/cdk": 17.3.10
+ "@angular/common": ^17.0.0 || ^18.0.0
+ "@angular/core": ^17.0.0 || ^18.0.0
+ "@angular/forms": ^17.0.0 || ^18.0.0
+ "@angular/platform-browser": ^17.0.0 || ^18.0.0
+ rxjs: ^6.5.3 || ^7.4.0
+ checksum: 27e32028ad4789b601057ead989b245a51cb2c62dd9d588a77d73786095b7ca13271867d092f2ab9646c570e9c6a583629c91fe9a593e21a7c8804acab56a8e4
+ languageName: node
+ linkType: hard
+
"@angular/platform-browser-dynamic@npm:~17.2.2":
version: 17.2.2
resolution: "@angular/platform-browser-dynamic@npm:17.2.2"
@@ -5667,6 +5748,808 @@ __metadata:
languageName: node
linkType: hard
+"@material/animation@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/animation@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: 6a609b6a061ddb7129654ee04385fe58436d3739c8b45f135b70d07774333e4e9189dd7f966387559ef91f2cbc50ef78fa9ae77c1c40804c4654125e2ea4cd56
+ languageName: node
+ linkType: hard
+
+"@material/auto-init@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/auto-init@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: f5170a79e04b1dfcfca0eb0793f92a2dd273bd6f1137fa846bf59ee7649f1718e54095813f199cc58205c2146f84075ed2f5e410e9d058c8b3d16a58fcb34629
+ languageName: node
+ linkType: hard
+
+"@material/banner@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/banner@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/button": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 685ea4af918868aafeb391914f3a24248e1d4dba50ecc686a79ff442ab07e17b8c6a35837ce821973aa1ad37f0eb7e03fa7e96eef8e2f2a56326dab083413484
+ languageName: node
+ linkType: hard
+
+"@material/base@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/base@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: d7c63f5aa3e009a49a9a7aa9316fd2b9ec00261804d8ee6a4b9ab1970d5a0cf263d5cbd8f145c76d491a498077e5873d73d0dad95281ce1f258d2147a411ba04
+ languageName: node
+ linkType: hard
+
+"@material/button@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/button@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 5da2485e72cb25b824ccd89c919f2c0c73aa2e6699f75e07dd5383f8f9d45cce1ac3f4a88e6265027881ff2bc3c358bc8cdd921e0f9f62d4964cdd5f8c3f0d2d
+ languageName: node
+ linkType: hard
+
+"@material/card@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/card@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: e2298ad9871e409f84d3ef8be896067e6bc74c12128b93de3ebb6955e34a688232a4cf2d19f42994e4e186b4405656cd5bdb2666a98c1e80265a55dc0e4a78de
+ languageName: node
+ linkType: hard
+
+"@material/checkbox@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/checkbox@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 9f22b4e1acadb7c259d45d5aa8b4e1030e8f5f019bf33e7a8dac4da11d1a0199cba8643774fec9fc159d4a5969635c760f60b12ca503e41ada51324f0a018785
+ languageName: node
+ linkType: hard
+
+"@material/chips@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/chips@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/checkbox": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ safevalues: ^0.3.4
+ tslib: ^2.1.0
+ checksum: 8b93a16d573cb21f8faa9e9a7df5cf19286885f27052cf15fe470f0357e5f27a650a5932cb500a7ff508a25d0cd32284ded391c676a2efa43e4bb6d9f6ff2a56
+ languageName: node
+ linkType: hard
+
+"@material/circular-progress@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/circular-progress@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/progress-indicator": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 9ef8b8d054fc1bbebe83fad8257f5b9451c5c766d9381c1de4f2f97063853826d456867b59738cdc24566109893c6c791673c99a7523a14e3a442252e4bd1364
+ languageName: node
+ linkType: hard
+
+"@material/data-table@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/data-table@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/checkbox": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/icon-button": 15.0.0-canary.7f224ddd4.0
+ "@material/linear-progress": 15.0.0-canary.7f224ddd4.0
+ "@material/list": 15.0.0-canary.7f224ddd4.0
+ "@material/menu": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/select": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: f52ab3b7277df13d83456a7989ead1adbb75fb5cf20794d4a32d5c9c1ecd855bad7966cae8e015bd3aa17d0d9feb092e860ecd80a58c0d2c30ffaeb2aaf27780
+ languageName: node
+ linkType: hard
+
+"@material/density@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/density@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: 786737d13c06ea117750bb69b080c98503a55fc1eedc01bb66a4ef743f2b19a64a649ee97d3c39578657dfa2a440363c107723e4ce886e0fe1714d51a7d86581
+ languageName: node
+ linkType: hard
+
+"@material/dialog@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/dialog@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/button": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/icon-button": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 5673ca46926a56dc2c7ca78db785fb3e8c34ce661d8d159cebbf568c9eeaffac3572b73f1cdcf65a200c8d19a77a8f4041e16fe93d5ff4679e8280ac50d6105b
+ languageName: node
+ linkType: hard
+
+"@material/dom@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/dom@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 17e7bf5d10b7da70e4c37d9ab03ed3fec65a9c24489623cd84a3cfdfe7aea746c81eb8364e4fc76fcca559a154cf50e886298534bc217e71a044ff530c8823ca
+ languageName: node
+ linkType: hard
+
+"@material/drawer@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/drawer@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/list": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 9804e8ea6cce7a9e02b9a4b70c308381305885a0234a798c21e96ca3010314c768ed0793598427eadee3d6e0a49f23808d1aeeb1a4ef999da4f801cb3672516f
+ languageName: node
+ linkType: hard
+
+"@material/elevation@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/elevation@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: bd7be7a3001b9f7eaf181749a174d0c4fa2a0edc47cfa5c41b9464ed9684aca81f91c12321a9c2016d2b026815e5db8fbe3e35a4f86c9c36314ab0e26b2c51d5
+ languageName: node
+ linkType: hard
+
+"@material/fab@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/fab@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 2f0bb32b8692d1ec019cb2eb303188d6ac4db8e8e18c56805bc05ff3ea702586e41ca3d90d2be6304caa42bdfca92bb32a52439dcad46b74a1dc4890a245aa8e
+ languageName: node
+ linkType: hard
+
+"@material/feature-targeting@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/feature-targeting@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: 35b5af45da287f09692e3e9a773a7fa56b833bf6826b87fea057d5db1f881b1429d0b2590f3ed4906f40a26c7fa7a8e85694b01fec428b1f6753751be9372f43
+ languageName: node
+ linkType: hard
+
+"@material/floating-label@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/floating-label@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 6972844eff67082aee543e4f62ffe5de316cdc7e1cdecb4a463112fc8f29c7cb1d536edad0f75ed0bbf43bc04c10b40a7b2a175f881441c685d0236ff8dadcba
+ languageName: node
+ linkType: hard
+
+"@material/focus-ring@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/focus-ring@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ checksum: f6504817ed0dc4018a21d7ab2b634f5c3f9709e69fa7db0ed65a0dcf7886b79446aee3b645f5c37babe74db7df6ba78b679140580c9ef4ae37a23f9a0ff62f36
+ languageName: node
+ linkType: hard
+
+"@material/form-field@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/form-field@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 4a5d1c9ba68f3e910d610dc33786ee4665875ca69b34f8ba9ec4e4fbd51dec64b61c84f42b61ecd4dcfa3d806c0481d8c680e89642954ff7c423fb277da7618b
+ languageName: node
+ linkType: hard
+
+"@material/icon-button@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/icon-button@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: ac25cd491f3b088e0d8a39d4e9f0eb3f7d6c0322525b9c46771c8570864b2748a88f07e9a7b0aa2c3523c15eeadf02c1e04ca43ef19f010f7581488cd8592ec9
+ languageName: node
+ linkType: hard
+
+"@material/image-list@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/image-list@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: de59f39589397158c1b0838a88ebb39deeeef6f6fab8484e5040cb1a1770568fccc033ea54068beeafa527bfe746d1ec3e159226ddaa48d3fd4a70f38ddb042c
+ languageName: node
+ linkType: hard
+
+"@material/layout-grid@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/layout-grid@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: 50f4f73db972765694560fca756b21e1c259f1af42d1e62b166c0d851e768a0275ade2a1c49eec7c9c5ff502b60afe70ed828d8aff209b1c7b4492b615745ea8
+ languageName: node
+ linkType: hard
+
+"@material/line-ripple@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/line-ripple@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: fb644db4649766e58969c6e70a9cbe60758060b71f1b620fa520e251f7cc326d4d0921e2f4e4edc2adcc41de3045657f8c62e3b9806776afad9126acc8d92a29
+ languageName: node
+ linkType: hard
+
+"@material/linear-progress@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/linear-progress@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/progress-indicator": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 839b8334f04e8592e19c712b97787e124f4a9f6a9fc98a833a97e38b7a2fb152deeafcb0ea4df4eea5cc4e3b482fd0f40078c026b4f28a67a61f52d44ef8991b
+ languageName: node
+ linkType: hard
+
+"@material/list@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/list@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: c9a2014049f2cf8da122fc5f6c94f7aa9201a6afc27bf3efcd354deb01d0c0283679782c8425710a836ad30a44f17f3f2c65ff4948b9ad5025773670fb2705ef
+ languageName: node
+ linkType: hard
+
+"@material/menu-surface@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/menu-surface@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: abaf9a36b7989a91c317fb40ca34365c14714a09fd106d5d1993814b51a671d8919b359814265859b8e3fe44eccabda136c0814040468ea0c513219c1c454409
+ languageName: node
+ linkType: hard
+
+"@material/menu@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/menu@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/list": 15.0.0-canary.7f224ddd4.0
+ "@material/menu-surface": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: b67d9e0f90982e888b53587172a4cef6f7cfc168f32892d2e934be2f37f864682174ae22f15d72c6671dd00907f1d7c883a3596f8e6800be2b55747320f5d9c6
+ languageName: node
+ linkType: hard
+
+"@material/notched-outline@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/notched-outline@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/floating-label": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 9be004c2ed5d5d406a176a4798ee78382966950f7c55b0dd01b3be0bd8ef9b09ddf49c79a5073e408dacf3bdfc606e599af05301a6d2b2f97ba9c3d8da7bea62
+ languageName: node
+ linkType: hard
+
+"@material/progress-indicator@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/progress-indicator@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ tslib: ^2.1.0
+ checksum: 9a3e24bc9874b62d3a15392f81ea77f9ed0920f243eaa584bb1cea3a239df8894aca75fc2af8dd7b64610a1567b49f3c85902f66b346d483ac13ddac83ff7af5
+ languageName: node
+ linkType: hard
+
+"@material/radio@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/radio@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: a9c13a1d67d750812e05d795dc09e57a3a17872e882b09839c9fa4ef485cda751734d051748170349d3435aec39a3b785cff05f2952ac2d0f0ec49ba835815e5
+ languageName: node
+ linkType: hard
+
+"@material/ripple@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/ripple@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 6e6d32cfd13562a9361825865662c26a0907c0bda2998ccfbc87308001342f430085a8a0e32c136b74b4a96d23721874ca41941d146515dae60f449ed24eaa1b
+ languageName: node
+ linkType: hard
+
+"@material/rtl@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/rtl@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: e52961257872ed7b54eae6c8abf64b95d39738ae41b5fe806b0c4589c0e0974afcbecf08b9b0fe32bb0c45e5ca5a552ab7b9141c95a5eab9f5673ab0fd17d6a4
+ languageName: node
+ linkType: hard
+
+"@material/segmented-button@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/segmented-button@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/touch-target": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 6bffd887d9b262e8beb6ae7b38cb8987243d1044909a181f9e556f07cc8d4d596d1a52f53b3f837d6b887983d0cb2c42c6ad1eacf04b6dee5ad4bee5a905ac52
+ languageName: node
+ linkType: hard
+
+"@material/select@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/select@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/floating-label": 15.0.0-canary.7f224ddd4.0
+ "@material/line-ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/list": 15.0.0-canary.7f224ddd4.0
+ "@material/menu": 15.0.0-canary.7f224ddd4.0
+ "@material/menu-surface": 15.0.0-canary.7f224ddd4.0
+ "@material/notched-outline": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: df25879c400a1a3fcfda74e4c609394f37cdcdfc8255908bcd69a655eabfe45c7ed0abb024f27ecda478b9a5bddef0f20c1fba88269f536fa48bb5a5b584c8fa
+ languageName: node
+ linkType: hard
+
+"@material/shape@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/shape@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: e1847ab1251e530895878ec0bea5758c0f6af46d7f2f02df70137f14f1d45cb95432790e1113e5d559d8c7e7355bfc81a332f516e5b044a39e83555e52421b88
+ languageName: node
+ linkType: hard
+
+"@material/slider@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/slider@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 4898f1a7462569ddc7459bfec7cfb405f8e095ff5c9cc584a105be2458130a8665f7cf9f082907b25b04ea91f5214458ff4265ae9bb87cace27fe78505771d86
+ languageName: node
+ linkType: hard
+
+"@material/snackbar@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/snackbar@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/button": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/icon-button": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 8e1775fe094badccf87342d5a8d10ee87e7831d98c15b85d0737b68ff07211cf43dda421e4f51b5358e9892e4a5a5c6b08f9001c6459bf5823e05fb9a91c7a55
+ languageName: node
+ linkType: hard
+
+"@material/switch@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/switch@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ safevalues: ^0.3.4
+ tslib: ^2.1.0
+ checksum: 3194cb1b94b6de5eaece5e963a062f73731e2ee68aea2f617e493452e9dd8a68867d5fac9922184f25d178063c109bc0d9a6fc239f6f1d5e45e35c223647cef1
+ languageName: node
+ linkType: hard
+
+"@material/tab-bar@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tab-bar@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/tab": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-indicator": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-scroller": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: b9e34b4344b65734f76c40dcffc231b9b562138d2937c4eceefb3810899728c717305557b61d67ff59abdab51e7352c8028f0201f292ca6f208ba5e6e437d1c8
+ languageName: node
+ linkType: hard
+
+"@material/tab-indicator@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tab-indicator@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 7ac4826699f20ea4ee99d1a803469597421b4dd83699ac883f6f9b9ef233617b614e1663c141f20ea7408e7dc131ac1ad6d0df3c7369f271d334d1b89b69b63c
+ languageName: node
+ linkType: hard
+
+"@material/tab-scroller@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tab-scroller@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/tab": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: b5faf3525102d8e2c226a8b822e5b7910877ed6ca614ab4594b76b7cb3c6a9497e351d42d635d3f8c9490c3219f52e3ce672b058f7ad41b955d36137f7c32090
+ languageName: node
+ linkType: hard
+
+"@material/tab@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tab@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/focus-ring": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/tab-indicator": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: d200cb4ace1fc77c3153d843bfd727ddf1866fba870bafd8d063193253b3db238d9d857c127082a9bc95af2c104910359878e4d94a2459e03d6bfd8a6b9d2734
+ languageName: node
+ linkType: hard
+
+"@material/textfield@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/textfield@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/density": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/floating-label": 15.0.0-canary.7f224ddd4.0
+ "@material/line-ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/notched-outline": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: 3c3c71c2f49649b4ceff2f90795f5c4995e2d257142c037583144f79c0dc7f809f5d06054a49fae45a5692885b6ec63d6e381d0290aa95d3153b41df2c4cc08e
+ languageName: node
+ linkType: hard
+
+"@material/theme@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/theme@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: f24a74db1e2d21d3dcd271d0c909a38b873ca1c9d9daa26d55089e7b5fd4faa9a561d9079fd48a9a3758e53c8c6508d3f94b00cf06ef7141892f0226fba9654c
+ languageName: node
+ linkType: hard
+
+"@material/tokens@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tokens@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ checksum: b99f8f02173fe35d57f84907afdd7027cd28b5aa19da82b635f4cd28749429858fa668a2b87edfe5b99a5ba7fae77472b77234181f15770bbd5f6c598c69f9f7
+ languageName: node
+ linkType: hard
+
+"@material/tooltip@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/tooltip@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/button": 15.0.0-canary.7f224ddd4.0
+ "@material/dom": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/tokens": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ safevalues: ^0.3.4
+ tslib: ^2.1.0
+ checksum: bee7df6a10cf3d48f0c063ac934c23b2774d1acf8cf0a6f866988ee18d59303ccfa43058dbeae892ddf89a39d5759a2d8d722613ba7b1f25abb05d83e0af3824
+ languageName: node
+ linkType: hard
+
+"@material/top-app-bar@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/top-app-bar@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/animation": 15.0.0-canary.7f224ddd4.0
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/elevation": 15.0.0-canary.7f224ddd4.0
+ "@material/ripple": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/shape": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ "@material/typography": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: ec253ba16be06662b33c83966a99428b2919abd518f63ac6558e1999c4e27f0c4ea5d0be8411aa02a031722b473c4ce94d814ae9cca88d245264d9ac87b434d3
+ languageName: node
+ linkType: hard
+
+"@material/touch-target@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/touch-target@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/base": 15.0.0-canary.7f224ddd4.0
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/rtl": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: faa1770c70d1463cfb1b7dbf4e3f3f932334331dfaf2016355407d4e760d7568431d69b177f2ef9200e891fcd7d00c5272fd1a71bd5689e8a66449bc1482630a
+ languageName: node
+ linkType: hard
+
+"@material/typography@npm:15.0.0-canary.7f224ddd4.0":
+ version: 15.0.0-canary.7f224ddd4.0
+ resolution: "@material/typography@npm:15.0.0-canary.7f224ddd4.0"
+ dependencies:
+ "@material/feature-targeting": 15.0.0-canary.7f224ddd4.0
+ "@material/theme": 15.0.0-canary.7f224ddd4.0
+ tslib: ^2.1.0
+ checksum: c5c8bee1f898211288b14f4b24846192ce508c77f4f5921c7f596192e8cb984ab8b3e8038cc49dbc4c646fd859d99b9484eaa6e064bd6a0d02a0cc40ec28b8e6
+ languageName: node
+ linkType: hard
+
"@mongodb-js/saslprep@npm:^1.1.0":
version: 1.1.4
resolution: "@mongodb-js/saslprep@npm:1.1.4"
@@ -13486,7 +14369,7 @@ __metadata:
languageName: node
linkType: hard
-"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.4.0":
+"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.4.0, entities@npm:^4.5.0":
version: 4.5.0
resolution: "entities@npm:4.5.0"
checksum: 853f8ebd5b425d350bffa97dd6958143179a5938352ccae092c62d1267c4e392a039be1bae7d51b6e4ffad25f51f9617531fedf5237f15df302ccfb452cbf2d7
@@ -15624,6 +16507,7 @@ __metadata:
"@angular-eslint/schematics": 17.2.1
"@angular-eslint/template-parser": 17.2.1
"@angular/animations": ^17.2.2
+ "@angular/cdk": ^17
"@angular/cli": ~17.2.1
"@angular/common": ~17.2.2
"@angular/compiler": ~17.2.2
@@ -15632,6 +16516,7 @@ __metadata:
"@angular/elements": ^17.2.2
"@angular/forms": ~17.2.2
"@angular/language-service": ~17.2.2
+ "@angular/material": ^17
"@angular/platform-browser": ~17.2.2
"@angular/platform-browser-dynamic": ~17.2.2
"@angular/router": ~17.2.2
@@ -22375,6 +23260,15 @@ __metadata:
languageName: node
linkType: hard
+"parse5@npm:^7.1.2":
+ version: 7.2.1
+ resolution: "parse5@npm:7.2.1"
+ dependencies:
+ entities: ^4.5.0
+ checksum: 11253cf8aa2e7fc41c004c64cba6f2c255f809663365db65bd7ad0e8cf7b89e436a563c20059346371cc543a6c1b567032088883ca6a2cbc88276c666b68236d
+ languageName: node
+ linkType: hard
+
"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3":
version: 1.3.3
resolution: "parseurl@npm:1.3.3"
@@ -24428,6 +25322,13 @@ __metadata:
languageName: node
linkType: hard
+"safevalues@npm:^0.3.4":
+ version: 0.3.4
+ resolution: "safevalues@npm:0.3.4"
+ checksum: 45f30fbbca4ce17157876e429857a28479a48898c92d7f97924623a32cf5996def99f40ba5e32b244b668576f7e3f908004d21f9ed9d47558aaad4003f51e85c
+ languageName: node
+ linkType: hard
+
"sass-loader@npm:14.1.0":
version: 14.1.0
resolution: "sass-loader@npm:14.1.0"