diff --git a/package-lock.json b/package-lock.json index f0e85ed35cd2fa4048b8816d7567e6ae7e779f4e..e1ec1eefc43eebedffbefb760f0d9324db1b9cd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,12 +10,12 @@ "license": "apache-2.0", "dependencies": { "@angular/animations": "^15.2.10", - "@angular/cdk": "^14.2.7", + "@angular/cdk": "^15.2.9", "@angular/common": "^15.2.10", "@angular/compiler": "^15.2.10", "@angular/core": "^15.2.10", "@angular/forms": "^15.2.10", - "@angular/material": "^14.2.7", + "@angular/material": "^15.2.9", "@angular/platform-browser": "^15.2.10", "@angular/platform-browser-dynamic": "^15.2.10", "@angular/router": "^15.2.10", @@ -594,18 +594,18 @@ } }, "node_modules/@angular/cdk": { - "version": "14.2.7", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.7.tgz", - "integrity": "sha512-/tEsYaUbDSnfEmKVvAMramIptmhI67O+9STjOV0i+74XR2NospeK0fkbywIANu1n3w6AHGMotvRWJrjmbCElFg==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz", + "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==", "dependencies": { "tslib": "^2.3.0" }, "optionalDependencies": { - "parse5": "^5.0.0" + "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^14.0.0 || ^15.0.0", - "@angular/core": "^14.0.0 || ^15.0.0", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -835,19 +835,66 @@ } }, "node_modules/@angular/material": { - "version": "14.2.7", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.2.7.tgz", - "integrity": "sha512-WXHh8pEStpgkXZJmYOg2cI8BSHkV82ET4XTJCNPdveumaCn1UYnaNzsXD13kw5z+zmy8CufhFEzdXTrv/yt7KQ==", - "dependencies": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz", + "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^14.0.0 || ^15.0.0", - "@angular/cdk": "14.2.7", - "@angular/common": "^14.0.0 || ^15.0.0", - "@angular/core": "^14.0.0 || ^15.0.0", - "@angular/forms": "^14.0.0 || ^15.0.0", - "@angular/platform-browser": "^14.0.0 || ^15.0.0", + "@angular/animations": "^15.0.0 || ^16.0.0", + "@angular/cdk": "15.2.9", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "@angular/forms": "^15.0.0 || ^16.0.0", + "@angular/platform-browser": "^15.0.0 || ^16.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -4391,6 +4438,757 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "dependencies": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "dependencies": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, "node_modules/@mdx-js/mdx": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", @@ -23866,30 +24664,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio/node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -33717,10 +34491,16 @@ } }, "node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "devOptional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/parse5-html-rewriting-stream": { "version": "7.0.0", @@ -33748,18 +34528,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", @@ -33773,30 +34541,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/parse5-sax-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", @@ -33809,11 +34553,11 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parse5-sax-parser/node_modules/entities": { + "node_modules/parse5/node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12" }, @@ -33821,18 +34565,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/parse5-sax-parser/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -35885,6 +36617,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "node_modules/sane": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", diff --git a/package.json b/package.json index 9a47f28004ca7ccb78a2a970c8ff4df5f9818d2d..f558febf22b8cd9eca1b45897b9f53c52d7be4c5 100644 --- a/package.json +++ b/package.json @@ -53,12 +53,12 @@ }, "dependencies": { "@angular/animations": "^15.2.10", - "@angular/cdk": "^14.2.7", + "@angular/cdk": "^15.2.9", "@angular/common": "^15.2.10", "@angular/compiler": "^15.2.10", "@angular/core": "^15.2.10", "@angular/forms": "^15.2.10", - "@angular/material": "^14.2.7", + "@angular/material": "^15.2.9", "@angular/platform-browser": "^15.2.10", "@angular/platform-browser-dynamic": "^15.2.10", "@angular/router": "^15.2.10", diff --git a/src/atlas-download/atlas-download.directive.ts b/src/atlas-download/atlas-download.directive.ts index ca0e8d23cf5d80d62f99cf36d790f3aa28ed94a2..94cdb2c794800151130d481dff55c20a5bffb3ab 100644 --- a/src/atlas-download/atlas-download.directive.ts +++ b/src/atlas-download/atlas-download.directive.ts @@ -1,5 +1,5 @@ import { Directive, HostListener } from '@angular/core'; -import { MatSnackBar } from '@angular/material/snack-bar'; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { Store, select } from '@ngrx/store'; import { Subject, concat, of } from 'rxjs'; import { distinctUntilChanged, shareReplay, take } from 'rxjs/operators'; diff --git a/src/atlas-download/atlas-download.module.ts b/src/atlas-download/atlas-download.module.ts index 910154cb4bce732b351da2a27738d85cab6a275a..fb608195e25c072237dacf496979bd95a6d9c2a1 100644 --- a/src/atlas-download/atlas-download.module.ts +++ b/src/atlas-download/atlas-download.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { AtlasDownloadDirective } from './atlas-download.directive'; -import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { AngularMaterialModule } from 'src/sharedModules'; @NgModule({ @@ -10,7 +10,7 @@ import { MatSnackBarModule } from '@angular/material/snack-bar'; ], imports: [ CommonModule, - MatSnackBarModule, + AngularMaterialModule, ], exports: [ AtlasDownloadDirective diff --git a/src/atlasComponents/sapi/module.ts b/src/atlasComponents/sapi/module.ts index 9b9efaf0ee92240c0b27b57b5067acf02dcbd972..4163496842e80fe25526ee988593da54091e8d0c 100644 --- a/src/atlasComponents/sapi/module.ts +++ b/src/atlasComponents/sapi/module.ts @@ -2,13 +2,13 @@ import { NgModule } from "@angular/core"; import { CommonModule } from "@angular/common"; import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http"; import { PriorityHttpInterceptor } from "src/util/priority"; -import { MatSnackBarModule } from "@angular/material/snack-bar"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, HttpClientModule, - MatSnackBarModule, + AngularMaterialModule, ], declarations: [ ], diff --git a/src/atlasComponents/sapi/sapi.service.ts b/src/atlasComponents/sapi/sapi.service.ts index a8a423ed6f1c1550730e3f4d4294d5a4552b8525..c190d20b3948b11358572d328516dd49354b536a 100644 --- a/src/atlasComponents/sapi/sapi.service.ts +++ b/src/atlasComponents/sapi/sapi.service.ts @@ -2,7 +2,7 @@ import { Injectable } from "@angular/core"; import { HttpClient } from '@angular/common/http'; import { catchError, map, shareReplay, switchMap, take, tap } from "rxjs/operators"; import { CachedFunction, getExportNehuba, noop } from "src/util/fn"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { AtlasWorkerService } from "src/atlasViewer/atlasViewer.workerService.service"; import { EnumColorMapName } from "src/util/colorMaps"; import { BehaviorSubject, forkJoin, from, NEVER, Observable, of, throwError } from "rxjs"; diff --git a/src/atlasComponents/sapiViews/core/atlas/module.ts b/src/atlasComponents/sapiViews/core/atlas/module.ts index 174ba5d3945d86de16c184062fadbdebc038782a..a8d4b35d37f2ae0121ae9b2e57923c2c9696b5b7 100644 --- a/src/atlasComponents/sapiViews/core/atlas/module.ts +++ b/src/atlasComponents/sapiViews/core/atlas/module.ts @@ -2,15 +2,13 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; import { SpinnerModule } from "src/components/spinner"; import { SapiViewsCoreAtlasSplashScreen } from "./splashScreen/splashScreen.component"; -import { MatCardModule } from "@angular/material/card"; import { SAPIModule } from "src/atlasComponents/sapi/module"; -import { MatRippleModule } from "@angular/material/core"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, - MatCardModule, - MatRippleModule, + AngularMaterialModule, SpinnerModule, SAPIModule, ], diff --git a/src/atlasComponents/sapiViews/core/atlas/splashScreen/splashScreen.template.html b/src/atlasComponents/sapiViews/core/atlas/splashScreen/splashScreen.template.html index ab4954689175ea3d66d2333d659c952cb1a8604c..5b54e6284ddc0e8df16e1b11c5612a6c8f30019c 100644 --- a/src/atlasComponents/sapiViews/core/atlas/splashScreen/splashScreen.template.html +++ b/src/atlasComponents/sapiViews/core/atlas/splashScreen/splashScreen.template.html @@ -8,11 +8,11 @@ (click)="selectAtlas(atlas)" matRipple *ngFor="let atlas of atlases$ | async" - class="m-3 col-md-12 col-lg-12 pe-all"> + class="m-3 col-md-12 col-lg-12 pe-all mat-elevation-z2"> <mat-card-header> - <mat-card-title class="text-nowrap font-stretch"> + <h1 class="mat-h1 sxplr-p-2"> {{ atlas.name }} - </mat-card-title> + </h1> </mat-card-header> <!-- required... or on ripple, angular adds 16px margin to the bottom --> diff --git a/src/atlasComponents/sapiViews/core/region/module.ts b/src/atlasComponents/sapiViews/core/region/module.ts index b1e56652d106a087224f3acd7b5dfca0ff4701ce..2560b2b3ca73156e9c438278c32f15375c225a9e 100644 --- a/src/atlasComponents/sapiViews/core/region/module.ts +++ b/src/atlasComponents/sapiViews/core/region/module.ts @@ -10,16 +10,11 @@ import { SapiViewsUtilModule } from "../../util/module"; import { SapiViewsCoreRegionRegionListItem } from "./region/listItem/region.listItem.component"; import { SapiViewsCoreRegionRegionBase } from "./region/region.base.directive"; import { SapiViewsCoreRegionRegionRich } from "./region/rich/region.rich.component"; -import { MatTabsModule } from "@angular/material/tabs"; import { ExperimentalModule } from "src/experimental/experimental.module"; -import { MatListModule } from "@angular/material/list"; import { DialogModule } from "src/ui/dialogInfo"; import { SapiViewsCoreParcellationModule } from "../parcellation"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { TranslateQualificationPipe } from "./translateQualification.pipe"; import { DedupRelatedRegionPipe } from "./dedupRelatedRegion.pipe"; -import { MatExpansionModule } from "@angular/material/expansion"; -import { MatTableModule } from "@angular/material/table"; @NgModule({ imports: [ @@ -31,14 +26,9 @@ import { MatTableModule } from "@angular/material/table"; StrictLocalModule, FeatureModule, ReadmoreModule, - MatTabsModule, ExperimentalModule, - MatListModule, DialogModule, SapiViewsCoreParcellationModule, - MatTooltipModule, - MatExpansionModule, - MatTableModule, ExperimentalModule, ], declarations: [ diff --git a/src/atlasComponents/sapiViews/core/rich/ATPSelector/module.ts b/src/atlasComponents/sapiViews/core/rich/ATPSelector/module.ts index c0269e9f13b9ea5f73defe76b79ff8b190ef69c1..482720c3bb04cedcb499c20e87ba56308355de0d 100644 --- a/src/atlasComponents/sapiViews/core/rich/ATPSelector/module.ts +++ b/src/atlasComponents/sapiViews/core/rich/ATPSelector/module.ts @@ -1,8 +1,5 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; -import { MatButtonModule } from "@angular/material/button"; -import { MatRippleModule } from "@angular/material/core"; -import { MatIconModule } from "@angular/material/icon"; import { MarkdownModule } from "src/components/markdown"; import { SmartChipModule } from "src/components/smartChip"; import { DialogModule } from "src/ui/dialogInfo"; @@ -11,9 +8,9 @@ import { SapiViewsCoreParcellationModule } from "src/atlasComponents/sapiViews/c import { PureATPSelector } from "./pureDumb/pureATPSelector.components"; import { WrapperATPSelector } from "./wrapper/wrapper.component"; import { SAPIModule } from "src/atlasComponents/sapi/module"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { QuickTourModule } from "src/ui/quickTour"; import { ExperimentalModule } from "src/experimental/experimental.module"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ @@ -21,10 +18,7 @@ import { ExperimentalModule } from "src/experimental/experimental.module"; SmartChipModule, UtilModule, MarkdownModule, - MatRippleModule, - MatIconModule, - MatTooltipModule, - MatButtonModule, + AngularMaterialModule, DialogModule, SAPIModule, SapiViewsCoreParcellationModule, diff --git a/src/atlasComponents/sapiViews/core/rich/ATPSelector/pureDumb/pureATPSelector.stories.ts b/src/atlasComponents/sapiViews/core/rich/ATPSelector/pureDumb/pureATPSelector.stories.ts index 421b47409aee73dbd34d66f492811cd00baa3b1d..c22b2b96be3093b4df7b866991dd336a65552032 100644 --- a/src/atlasComponents/sapiViews/core/rich/ATPSelector/pureDumb/pureATPSelector.stories.ts +++ b/src/atlasComponents/sapiViews/core/rich/ATPSelector/pureDumb/pureATPSelector.stories.ts @@ -1,6 +1,5 @@ import { CommonModule } from "@angular/common"; import { Component } from "@angular/core"; -import { MatButtonModule } from "@angular/material/button"; import { action } from "@storybook/addon-actions"; import { componentWrapperDecorator, Meta, moduleMetadata, Story } from "@storybook/angular"; import { atlasId, provideDarkTheme } from "src/atlasComponents/sapi/stories.base"; @@ -10,6 +9,7 @@ import { ATPSelectorModule } from "../module"; import { darkThemePalette } from "./pureATPSelector.components" import { loadAtlasEtcData, wrapperDecoratorFn } from "../story.base" import { provideMockStore } from "@ngrx/store/testing"; +import { AngularMaterialModule } from "src/sharedModules"; @Component({ selector: 'atlas-selector-wrapper-story', @@ -70,7 +70,7 @@ export default { imports: [ CommonModule, ATPSelectorModule, - MatButtonModule, + AngularMaterialModule, UtilModule, ], declarations: [ diff --git a/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.component.ts b/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.component.ts index 9da752e0471d866a48be6c5b857ea6ae09a07070..f7655e5aff437e1b6eebcb702469e8dbc9769548 100644 --- a/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.component.ts +++ b/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, Inject, OnDestroy, Output } from "@angular/core"; -import { MatDialog } from "@angular/material/dialog"; +import { MatDialog } from "src/sharedModules/angularMaterial.exports"; import { select, Store } from "@ngrx/store"; import { Observable, Subject, Subscription } from "rxjs"; import { switchMap, withLatestFrom } from "rxjs/operators"; diff --git a/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.stories.ts b/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.stories.ts index 8dbf609657ac3efc72d6a2cc24c9b35523528d55..555b31580990ad2b8ef6dbd0eb02bb11cb8f4d2f 100644 --- a/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.stories.ts +++ b/src/atlasComponents/sapiViews/core/rich/ATPSelector/wrapper/wrapper.stories.ts @@ -1,5 +1,4 @@ import { Component } from "@angular/core"; -import { MatDialogModule } from "@angular/material/dialog"; import { Store } from "@ngrx/store"; import { action } from "@storybook/addon-actions"; import { componentWrapperDecorator, Meta, moduleMetadata, Story } from "@storybook/angular"; @@ -9,6 +8,7 @@ import { ParcellationVisibilityService } from "../../../parcellation/parcellatio import { ATPSelectorModule } from "../module"; import { ATP } from "../pureDumb/pureATPSelector.components"; import { loadAtlasEtcData, wrapperDecoratorFn } from "../story.base"; +import { AngularMaterialModule } from "src/sharedModules"; @Component({ selector: 'wrapper-wrapper', @@ -38,7 +38,7 @@ export default { moduleMetadata({ imports: [ ATPSelectorModule, - MatDialogModule, + AngularMaterialModule, RootStoreModule, ], providers: [ diff --git a/src/atlasComponents/sapiViews/core/rich/regionsHierarchy/regionsHierarchy.stories.ts b/src/atlasComponents/sapiViews/core/rich/regionsHierarchy/regionsHierarchy.stories.ts index 9edc242bee4b7efcd8d292cc68e8798392d95eef..76e6de53f89eb90eb75efeccf6d6a681c7e3e582 100644 --- a/src/atlasComponents/sapiViews/core/rich/regionsHierarchy/regionsHierarchy.stories.ts +++ b/src/atlasComponents/sapiViews/core/rich/regionsHierarchy/regionsHierarchy.stories.ts @@ -1,7 +1,7 @@ import { CommonModule } from "@angular/common" import { HttpClientModule } from "@angular/common/http" import { Component, EventEmitter, TemplateRef, ViewChild } from "@angular/core" -import { MatDialog } from "@angular/material/dialog" +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' import { action } from "@storybook/addon-actions" import { Meta, moduleMetadata, Story } from "@storybook/angular" import { atlasId, provideDarkTheme, getParcRegions, getAtlas, getParc } from "src/atlasComponents/sapi/stories.base" diff --git a/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.component.ts b/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.component.ts index 389486f779a8c750600664bfcdb27e8f4dcb31e2..0fa6f0384a42726f0f24725ba362037a965308ce 100644 --- a/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.component.ts +++ b/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.component.ts @@ -3,7 +3,7 @@ import { SxplrRegion } from "src/atlasComponents/sapi/sxplrTypes"; import { ARIA_LABELS } from "common/constants" import { UntypedFormControl } from "@angular/forms"; import { debounceTime, distinctUntilChanged, map, startWith } from "rxjs/operators"; -import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete"; +import { MatAutocompleteSelectedEvent } from 'src/sharedModules/angularMaterial.exports' import { SapiViewsCoreRichRegionListTemplateDirective } from "./regionListSearchTmpl.directive"; import { BehaviorSubject, combineLatest } from "rxjs"; diff --git a/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.template.html b/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.template.html index 2eba3854acf3728b15e46efac3967f72e48e1645..c56656a7e43ce3bb302e244986dd45759931352d 100644 --- a/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.template.html +++ b/src/atlasComponents/sapiViews/core/rich/regionsListSearch/regionListSearch.template.html @@ -1,6 +1,6 @@ <mat-form-field class="sxplr-w-100" - floatLabel="never"> + floatLabel="auto"> <input placeholder="Search for regions" [value]="currentSearch" diff --git a/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.spec.ts b/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.spec.ts index 86fd2406a4594e0acbc1acf0036e799db7325631..49744330aa6a28c2a37b34a10e824949d1153d24 100644 --- a/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.spec.ts +++ b/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.spec.ts @@ -3,9 +3,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PointAssignmentComponent } from './point-assignment.component'; import { SAPI } from 'src/atlasComponents/sapi/sapi.service'; import { EMPTY } from 'rxjs'; -import { MatDialogModule } from '@angular/material/dialog'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { provideMockStore } from '@ngrx/store/testing'; +import { AngularMaterialModule } from 'src/sharedModules'; describe('PointAssignmentComponent', () => { let component: PointAssignmentComponent; @@ -14,7 +14,7 @@ describe('PointAssignmentComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [ PointAssignmentComponent ], - imports: [ MatDialogModule, NoopAnimationsModule ], + imports: [ AngularMaterialModule, NoopAnimationsModule ], providers: [ provideMockStore(), { diff --git a/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.ts b/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.ts index 0dbe66f73574a47914db245b094c99948f8ef739..beefde08af0d4ebb6823eb26cfa29cbedd68e43a 100644 --- a/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.ts +++ b/src/atlasComponents/sapiViews/volumes/point-assignment/point-assignment.component.ts @@ -1,5 +1,5 @@ import { Component, Input, OnDestroy, Output, TemplateRef, EventEmitter } from '@angular/core'; -import { MatDialog, MatDialogRef } from '@angular/material/dialog'; +import { MatDialog, MatDialogRef } from 'src/sharedModules/angularMaterial.exports'; import { BehaviorSubject, EMPTY, Observable, Subscription, combineLatest, concat, of } from 'rxjs'; import { catchError, map, shareReplay, switchMap, tap } from 'rxjs/operators'; import { SAPI, EXPECTED_SIIBRA_API_VERSION } from 'src/atlasComponents/sapi/sapi.service'; diff --git a/src/atlasComponents/sapiViews/volumes/volumes.module.ts b/src/atlasComponents/sapiViews/volumes/volumes.module.ts index a2e461bff5120ae1d79abce59e1fc2287ec3008d..44322970a520418c7f6a3c52dd4982510c9844ff 100644 --- a/src/atlasComponents/sapiViews/volumes/volumes.module.ts +++ b/src/atlasComponents/sapiViews/volumes/volumes.module.ts @@ -1,16 +1,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { PointAssignmentComponent } from './point-assignment/point-assignment.component'; -import { MatTableModule } from '@angular/material/table'; import { UtilModule } from 'src/util'; import { SpinnerModule } from 'src/components/spinner'; -import { MatDialogModule } from '@angular/material/dialog'; -import { MatButtonModule } from '@angular/material/button'; -import { MatSortModule } from '@angular/material/sort'; import { ZipFilesOutputModule } from 'src/zipFilesOutput/module'; import { SandsToNumPipe } from "./sandsToNum.pipe" import { SapiViewsUtilModule } from '../util'; -import { MatTooltipModule } from '@angular/material/tooltip'; +import { AngularMaterialModule } from 'src/sharedModules'; @@ -21,15 +17,11 @@ import { MatTooltipModule } from '@angular/material/tooltip'; ], imports: [ CommonModule, - MatTableModule, UtilModule, SpinnerModule, - MatDialogModule, - MatButtonModule, - MatSortModule, ZipFilesOutputModule, SapiViewsUtilModule, - MatTooltipModule, + AngularMaterialModule, ], exports: [ PointAssignmentComponent diff --git a/src/atlasComponents/userAnnotations/annotationList/annotationList.component.spec.ts b/src/atlasComponents/userAnnotations/annotationList/annotationList.component.spec.ts index 23662fcfdf9d305ec6daa00710944996af46b7fd..a4331fcee1188cdda9293c2b941c2723cadc57f6 100644 --- a/src/atlasComponents/userAnnotations/annotationList/annotationList.component.spec.ts +++ b/src/atlasComponents/userAnnotations/annotationList/annotationList.component.spec.ts @@ -4,20 +4,15 @@ import { FileInputModule } from "src/getFileInput/module" import { CommonModule } from "@angular/common" import { ModularUserAnnotationToolService } from "../tools/service" import { NoopAnimationsModule } from "@angular/platform-browser/animations" -import { MatDialogModule } from "@angular/material/dialog" import { ComponentStore } from "@ngrx/component-store" import { NEVER, of } from "rxjs" -import { MatSnackBarModule } from "@angular/material/snack-bar" import { StateModule } from "src/state" import { hot } from "jasmine-marbles" import { IAnnotationGeometry } from "../tools/type" -import { MatTooltipModule } from "@angular/material/tooltip" -import { MatButtonModule } from "@angular/material/button" -import { MatCardModule } from "@angular/material/card" import { ZipFilesOutputModule } from "src/zipFilesOutput/module" import { AnnotationVisiblePipe } from "../annotationVisible.pipe" import { SingleAnnotationClsIconPipe, SingleAnnotationNamePipe } from "../singleAnnotationUnit/singleAnnotationUnit.component" -import { MatExpansionModule } from "@angular/material/expansion" +import { AngularMaterialModule } from "src/sharedModules" class MockModularUserAnnotationToolService { hiddenAnnotations$ = of([]) @@ -42,13 +37,8 @@ describe("annotationList.component.ts", () => { CommonModule, FileInputModule, NoopAnimationsModule, - MatDialogModule, - MatSnackBarModule, + AngularMaterialModule, StateModule, // needed for iavStateAggregator directive - MatTooltipModule, - MatButtonModule, - MatCardModule, - MatExpansionModule, ZipFilesOutputModule, ], providers: [ diff --git a/src/atlasComponents/userAnnotations/annotationList/annotationList.component.ts b/src/atlasComponents/userAnnotations/annotationList/annotationList.component.ts index 7463f9a105d179f96eb273d1880e2facda9a9155..d1d41353444ce6306a4af50f5515c1beca9ca617 100644 --- a/src/atlasComponents/userAnnotations/annotationList/annotationList.component.ts +++ b/src/atlasComponents/userAnnotations/annotationList/annotationList.component.ts @@ -8,10 +8,10 @@ import { combineLatest, concat, Observable, of, Subscription } from "rxjs"; import { TZipFileConfig } from "src/zipFilesOutput/type"; import { TFileInputEvent } from "src/getFileInput/type"; import { FileInputDirective } from "src/getFileInput/getFileInput.directive"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { unzip } from "src/zipFilesOutput/zipFilesOutput.directive"; import { DialogService } from "src/services/dialogService.service"; -import { MatDialog } from "@angular/material/dialog"; +import { MatDialog } from "src/sharedModules/angularMaterial.exports"; import { userAnnotationRouteKey } from "../constants"; const README = `{id}.sands.json file contains the data of annotations. {id}.desc.json contains the metadata of annotations.` diff --git a/src/atlasComponents/userAnnotations/annotationMode/annotationMode.component.ts b/src/atlasComponents/userAnnotations/annotationMode/annotationMode.component.ts index accf24d9ec78d3d0d1503e62d9b2717bee468aa3..af64520817da2fa0476e6556be23b31a6ce8be74 100644 --- a/src/atlasComponents/userAnnotations/annotationMode/annotationMode.component.ts +++ b/src/atlasComponents/userAnnotations/annotationMode/annotationMode.component.ts @@ -4,7 +4,7 @@ import { ARIA_LABELS } from 'common/constants' import { ClickInterceptor, CLICK_INTERCEPTOR_INJECTOR, CONTEXT_MENU_ITEM_INJECTOR, TContextMenu } from "src/util"; import { TContextArg } from "src/viewerModule/viewer.interface"; import { TContextMenuReg } from "src/contextMenuModule"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' @Component({ selector: 'annotating-tools-panel', diff --git a/src/atlasComponents/userAnnotations/singleAnnotationUnit/singleAnnotationUnit.component.ts b/src/atlasComponents/userAnnotations/singleAnnotationUnit/singleAnnotationUnit.component.ts index 09895109507b4eb9baf2283557cabd45ca7a59bc..a558eb2ec8acbc08d663c810fcc7e13bab91014b 100644 --- a/src/atlasComponents/userAnnotations/singleAnnotationUnit/singleAnnotationUnit.component.ts +++ b/src/atlasComponents/userAnnotations/singleAnnotationUnit/singleAnnotationUnit.component.ts @@ -6,7 +6,7 @@ import { UntypedFormControl, UntypedFormGroup } from "@angular/forms"; import { Subscription } from "rxjs"; import { select, Store } from "@ngrx/store"; import { ModularUserAnnotationToolService } from "../tools/service"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { Line } from "../tools/line"; import { atlasSelection } from "src/state"; import { map } from "rxjs/operators"; diff --git a/src/atlasComponents/userAnnotations/tools/line/line.component.ts b/src/atlasComponents/userAnnotations/tools/line/line.component.ts index a98e126c64223483c2bbaf9131f9db091d3cb2f2..daa483c2e87c082b85ebee44862c6c3c2dcffbe6 100644 --- a/src/atlasComponents/userAnnotations/tools/line/line.component.ts +++ b/src/atlasComponents/userAnnotations/tools/line/line.component.ts @@ -1,5 +1,5 @@ import { Component, ElementRef, Inject, Input, OnDestroy, Optional, ViewChild } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { Store } from "@ngrx/store"; import { Line, LINE_ICON_CLASS } from "../line"; import { ToolCmpBase } from "../toolCmp.base"; diff --git a/src/atlasComponents/userAnnotations/tools/line/line.template.html b/src/atlasComponents/userAnnotations/tools/line/line.template.html index 2cff6f5feb88b61d0bdaed4008b2435fd30d0da4..520d8224068ab0a3bfb50bf0766bb45a28cc4352 100644 --- a/src/atlasComponents/userAnnotations/tools/line/line.template.html +++ b/src/atlasComponents/userAnnotations/tools/line/line.template.html @@ -4,13 +4,13 @@ Endpoints </span> -<mat-chip-list> +<mat-chip-set> <mat-chip *ngFor="let point of (updateAnnotation?.points || []) ; let i = index" (click)="gotoRoi(point)" [matTooltip]="point.toString()"> {{ i }} </mat-chip> -</mat-chip-list> +</mat-chip-set> <mat-divider class="m-2 d-block position-relative"></mat-divider> diff --git a/src/atlasComponents/userAnnotations/tools/point/point.template.html b/src/atlasComponents/userAnnotations/tools/point/point.template.html index 90f1b5807dad478c8c519736a144258de0e19d30..8db95a9dde2f096a3831f8af2d4e4471410a76b0 100644 --- a/src/atlasComponents/userAnnotations/tools/point/point.template.html +++ b/src/atlasComponents/userAnnotations/tools/point/point.template.html @@ -4,12 +4,12 @@ Point </span> -<mat-chip-list> +<mat-chip-set> <mat-chip [matTooltip]="updateAnnotation.toString()" (click)="gotoRoi()"> 0 </mat-chip> -</mat-chip-list> +</mat-chip-set> <mat-divider class="m-2 d-block position-relative"></mat-divider> diff --git a/src/atlasComponents/userAnnotations/tools/poly/poly.component.ts b/src/atlasComponents/userAnnotations/tools/poly/poly.component.ts index 6e8852d88b665d2b988ed59f1340c311d0086515..be948fce74efc199359d2ae6b14ea17a55349546 100644 --- a/src/atlasComponents/userAnnotations/tools/poly/poly.component.ts +++ b/src/atlasComponents/userAnnotations/tools/poly/poly.component.ts @@ -1,5 +1,5 @@ import { Component, ElementRef, Inject, Input, OnDestroy, Optional, ViewChild } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { Polygon, POLY_ICON_CLASS } from "../poly"; import { ToolCmpBase } from "../toolCmp.base"; import { IAnnotationGeometry, TExportFormats, UDPATE_ANNOTATION_TOKEN } from "../type"; diff --git a/src/atlasComponents/userAnnotations/tools/poly/poly.template.html b/src/atlasComponents/userAnnotations/tools/poly/poly.template.html index fa966e0aae72178d1cf123cceee3ee6a8f1a1cd1..fbc231035c94de47a396c5043703dcb5255884ed 100644 --- a/src/atlasComponents/userAnnotations/tools/poly/poly.template.html +++ b/src/atlasComponents/userAnnotations/tools/poly/poly.template.html @@ -4,13 +4,13 @@ Vertices </span> -<mat-chip-list class="wrapped-chips"> +<mat-chip-set class="wrapped-chips"> <mat-chip *ngFor="let point of (updateAnnotation?.points || []); let i = index" (click)="gotoRoi(point)" [matTooltip]="point.toString()"> {{ i }} </mat-chip> -</mat-chip-list> +</mat-chip-set> <mat-divider class="m-2 d-block position-relative"></mat-divider> diff --git a/src/atlasComponents/userAnnotations/tools/service.spec.ts b/src/atlasComponents/userAnnotations/tools/service.spec.ts index fdeacfde828aff2d09b31c81fd9b7e2de5baae63..8dd8de55a7e77f61a93f6e0b1e41bfebf9b3b5a2 100644 --- a/src/atlasComponents/userAnnotations/tools/service.spec.ts +++ b/src/atlasComponents/userAnnotations/tools/service.spec.ts @@ -2,10 +2,10 @@ import { TestBed } from "@angular/core/testing" import { ModularUserAnnotationToolService } from "./service" import { MockStore, provideMockStore } from "@ngrx/store/testing" import { NoopAnimationsModule } from "@angular/platform-browser/animations" -import { MatSnackBarModule } from "@angular/material/snack-bar" import { ANNOTATION_EVENT_INJ_TOKEN, INJ_ANNOT_TARGET } from "./type" import { NEVER, Subject } from "rxjs" import { atlasSelection } from "src/state" +import { AngularMaterialModule } from "src/sharedModules" describe("userAnnotations/service.ts", () => { @@ -15,7 +15,7 @@ describe("userAnnotations/service.ts", () => { TestBed.configureTestingModule({ imports: [ NoopAnimationsModule, - MatSnackBarModule, + AngularMaterialModule, ], providers: [ provideMockStore(), diff --git a/src/atlasComponents/userAnnotations/tools/service.ts b/src/atlasComponents/userAnnotations/tools/service.ts index a7338ee1298f5f829468d246d1e096d7a3cd46c3..a80e18c17555fe09ca955d40634a6b0e74ba084e 100644 --- a/src/atlasComponents/userAnnotations/tools/service.ts +++ b/src/atlasComponents/userAnnotations/tools/service.ts @@ -12,7 +12,7 @@ import { Polygon } from "./poly"; import { Line } from "./line"; import { Point } from "./point"; import { FilterAnnotationsBySpace } from "../filterAnnotationBySpace.pipe"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { actions } from "src/state/atlasSelection"; import { atlasSelection } from "src/state"; import { SxplrTemplate } from "src/atlasComponents/sapi/sxplrTypes"; diff --git a/src/atlasComponents/userAnnotations/tools/textareaCopyExport/textareaCopyExport.component.ts b/src/atlasComponents/userAnnotations/tools/textareaCopyExport/textareaCopyExport.component.ts index a3be425dfd94693bce7f3e959001de9bfd7d2715..f749e39b4380bc99ac4151491c214d7817db0474 100644 --- a/src/atlasComponents/userAnnotations/tools/textareaCopyExport/textareaCopyExport.component.ts +++ b/src/atlasComponents/userAnnotations/tools/textareaCopyExport/textareaCopyExport.component.ts @@ -1,5 +1,5 @@ import { Component, Input } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { ARIA_LABELS } from 'common/constants' import { Clipboard } from "@angular/cdk/clipboard"; diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts index 1fc4e3a606a4ae87698701fd2e0e60fb38f6ae75..5c1f800eca711fbc948f5a770dec82aaa420abd1 100644 --- a/src/atlasViewer/atlasViewer.component.ts +++ b/src/atlasViewer/atlasViewer.component.ts @@ -16,8 +16,8 @@ import { filter, delay, switchMapTo, take, startWith } from "rxjs/operators"; import { colorAnimation } from "./atlasViewer.animation" import { MouseHoverDirective } from "src/mouseoverModule"; -import { MatSnackBar } from "@angular/material/snack-bar"; -import { MatDialog, MatDialogRef } from "@angular/material/dialog"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' +import { MatDialog, MatDialogRef } from "src/sharedModules/angularMaterial.exports"; import { CONST } from 'common/constants' import { SlServiceService } from "src/spotlight/sl-service.service"; diff --git a/src/components/confirmDialog/confirmDialog.component.spec.ts b/src/components/confirmDialog/confirmDialog.component.spec.ts index 258970c993df4db05a0010e57dfb419e4298041b..d615beecec9fa53a8cb547a2c20a84fb61c2b864 100644 --- a/src/components/confirmDialog/confirmDialog.component.spec.ts +++ b/src/components/confirmDialog/confirmDialog.component.spec.ts @@ -1,6 +1,6 @@ import { CommonModule } from "@angular/common" import { TestBed, async } from "@angular/core/testing" -import { MAT_DIALOG_DATA } from "@angular/material/dialog" +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports" import { AngularMaterialModule } from "src/sharedModules" import { ComponentsModule } from "../components.module" import { ConfirmDialogComponent } from "./confirmDialog.component" diff --git a/src/components/confirmDialog/confirmDialog.component.ts b/src/components/confirmDialog/confirmDialog.component.ts index 8361ee409762ebccccfb6ae9c85d064207587dfc..84e6bb3584eb43e7d256975209391cbbf260cb1d 100644 --- a/src/components/confirmDialog/confirmDialog.component.ts +++ b/src/components/confirmDialog/confirmDialog.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, Input } from "@angular/core"; -import { MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports"; @Component({ selector: 'confirm-dialog-component', diff --git a/src/components/dialog/dialog.component.ts b/src/components/dialog/dialog.component.ts index 969cbc13548a2d6fc3a8f2b9b2666579343cd336..4910184853a97af9d6fb52a447c1b1e4670fa3e4 100644 --- a/src/components/dialog/dialog.component.ts +++ b/src/components/dialog/dialog.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, Component, ElementRef, Inject, Input, OnDestroy, OnInit, ViewChild } from "@angular/core"; import { fromEvent, Observable, Subscription } from "rxjs"; import { filter, share } from "rxjs/operators"; -import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; +import {MAT_DIALOG_DATA, MatDialogRef} from "src/sharedModules/angularMaterial.exports"; @Component({ selector: 'dialog-component', diff --git a/src/components/flatHierarchy/treeView/treeView.component.ts b/src/components/flatHierarchy/treeView/treeView.component.ts index 211d8f6298bb526b6042d64c48ae0db4726d47e3..e38281e448d3efb63c66db03dea0e109cf3ce951 100644 --- a/src/components/flatHierarchy/treeView/treeView.component.ts +++ b/src/components/flatHierarchy/treeView/treeView.component.ts @@ -1,5 +1,5 @@ import { FlatTreeControl } from "@angular/cdk/tree"; -import { MatTreeFlatDataSource, MatTreeFlattener } from "@angular/material/tree" +import { MatTreeFlatDataSource, MatTreeFlattener } from 'src/sharedModules/angularMaterial.exports' import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges, TemplateRef } from "@angular/core"; import { TreeNode } from "../const" import { Tree } from "./treeControl" diff --git a/src/components/smartChip/module.ts b/src/components/smartChip/module.ts index 58c8a293054afab02430a3104d4765e57c6db582..2fcd5064d07b9ceb8fa9994f8d95f16a4baf0fe1 100644 --- a/src/components/smartChip/module.ts +++ b/src/components/smartChip/module.ts @@ -1,7 +1,5 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; -import { MatRippleModule } from "@angular/material/core"; -import { MatMenuModule } from "@angular/material/menu"; import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; import { SmartChip } from "./component/smartChip.component"; import { HasSubMenuPipe } from "./hasSubmenu.pipe"; @@ -10,14 +8,14 @@ import { SmartChipHeader } from "./smartChip.header.directive"; import { SmartChipMenu } from "./smartChip.menu.directive"; import { ExperimentalModule } from "src/experimental/experimental.module"; import { SmartChipAction } from "./smartChip.action.directive"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, - MatMenuModule, BrowserAnimationsModule, - MatRippleModule, ExperimentalModule, + AngularMaterialModule, ], declarations: [ SmartChipMenu, diff --git a/src/components/smartChip/smartChip.stories.ts b/src/components/smartChip/smartChip.stories.ts index 791c9372e8a71318b0633d00e75ce7de003d7a50..d49cedfdad2047518ac5b5c33f7da7e348c9cbc3 100644 --- a/src/components/smartChip/smartChip.stories.ts +++ b/src/components/smartChip/smartChip.stories.ts @@ -1,10 +1,9 @@ import { CommonModule } from "@angular/common"; import { Component, Pipe, PipeTransform } from "@angular/core"; -import { MatDividerModule } from "@angular/material/divider"; -import { MatExpansionModule } from "@angular/material/expansion"; import { Meta, moduleMetadata, Story } from "@storybook/angular"; import { provideDarkTheme } from "src/atlasComponents/sapi/stories.base"; import { SmartChipModule } from "./module"; +import { AngularMaterialModule } from "src/sharedModules"; const complex1 = ` @@ -123,8 +122,7 @@ export default { imports: [ CommonModule, SmartChipModule, - MatExpansionModule, - MatDividerModule, + AngularMaterialModule, ], declarations: [ ShowHtmlCode, diff --git a/src/dragDropFile/dragDrop.directive.ts b/src/dragDropFile/dragDrop.directive.ts index abca56ad261aa39bf58f27768134608038bc26da..5a4dcd1ed96399aa2f38a73ae3a7d3014106f9d5 100644 --- a/src/dragDropFile/dragDrop.directive.ts +++ b/src/dragDropFile/dragDrop.directive.ts @@ -1,7 +1,7 @@ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output } from "@angular/core"; import { fromEvent, merge, Observable, of, Subscription } from "rxjs"; import { debounceTime, distinctUntilChanged, map, scan, switchMap } from "rxjs/operators"; -import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from "src/sharedModules/angularMaterial.exports" @Directive({ selector: '[drag-drop-file]', diff --git a/src/extra_styles.css b/src/extra_styles.css index bc64f55d732399ae2e092af87a79b18ee928bb01..41762c096db0ce4112f261fd6e23dc24b0ca45ad 100644 --- a/src/extra_styles.css +++ b/src/extra_styles.css @@ -827,12 +827,12 @@ body::after text-overflow: ellipsis; } -iav-cmp-viewer-container .mat-chip-list-wrapper +iav-cmp-viewer-container .mat-chip-set-wrapper { flex-wrap: nowrap; } -.wrapped-chips .mat-chip-list-wrapper +.wrapped-chips .mat-chip-set-wrapper { flex-wrap: wrap; } diff --git a/src/features/connectivity/module.ts b/src/features/connectivity/module.ts index 221ad467e3b1e8b9402ab9d9f2e5a1a8ada90b07..7ae3e1ae4e638f306416edbca894f3318fac8ee8 100644 --- a/src/features/connectivity/module.ts +++ b/src/features/connectivity/module.ts @@ -4,28 +4,17 @@ import { SAPI } from "src/atlasComponents/sapi"; import { ConnectivityBrowserComponent } from "./connectivityBrowser/connectivityBrowser.component"; import { ReactiveFormsModule } from "@angular/forms"; import { DialogModule } from "src/ui/dialogInfo"; -import { MatSelectModule } from "@angular/material/select"; -import { MatRadioModule } from "@angular/material/radio"; -import { MatSliderModule } from "@angular/material/slider"; -import { MatMenuModule } from "@angular/material/menu"; import { UtilModule } from "src/util"; -import { MatCheckboxModule } from "@angular/material/checkbox"; -import { MatButtonModule } from "@angular/material/button"; -import { MatProgressSpinnerModule } from "@angular/material/progress-spinner"; +import { AngularMaterialModule } from "src/sharedModules"; + @NgModule({ imports: [ CommonModule, ReactiveFormsModule, - MatSelectModule, - MatRadioModule, - MatSliderModule, - MatMenuModule, + AngularMaterialModule, DialogModule, UtilModule, - MatCheckboxModule, - MatButtonModule, - MatProgressSpinnerModule, ], declarations: [ ConnectivityBrowserComponent, diff --git a/src/features/entry/entry.component.ts b/src/features/entry/entry.component.ts index f3c1b9d1e2e2d53c9d80de3053bc004f2d07a62f..468aded9d9c5f9dbb9820898bc2fc108c7e5b6e2 100644 --- a/src/features/entry/entry.component.ts +++ b/src/features/entry/entry.component.ts @@ -11,7 +11,7 @@ import { combineLatest, concat, forkJoin, merge, of, Subject, Subscription } fro import { DsExhausted, IsAlreadyPulling, PulledDataSource } from 'src/util/pullable'; import { TranslatedFeature } from '../list/list.directive'; import { SPECIES_ENUM } from 'src/util/constants'; -import { MatDialog } from '@angular/material/dialog'; +import { MatDialog } from 'src/sharedModules/angularMaterial.exports'; const categoryAcc = <T extends Record<string, unknown>>(categories: T[]) => { const returnVal: Record<string, T[]> = {} diff --git a/src/features/module.ts b/src/features/module.ts index 3ccdbbd56eecdeee23be7f4e3df7d07838a81611..9b7b5c9ec073ceb4c36d71ed2fe6559e2e84abca 100644 --- a/src/features/module.ts +++ b/src/features/module.ts @@ -1,10 +1,5 @@ import { CommonModule } from "@angular/common"; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core"; -import { MatCardModule } from "@angular/material/card"; -import { MatRippleModule } from "@angular/material/core"; -import { MatExpansionModule } from "@angular/material/expansion"; -import { MatListModule } from "@angular/material/list"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { SpinnerModule } from "src/components/spinner"; import { UtilModule } from "src/util"; import { EntryComponent } from './entry/entry.component' @@ -12,49 +7,32 @@ import { FeatureNamePipe } from "./featureName.pipe"; import { CategoryAccDirective } from './category-acc.directive'; import { SapiViewsFeatureConnectivityModule } from "./connectivity"; import { ScrollingModule } from "@angular/cdk/scrolling"; -import { MatButtonModule } from "@angular/material/button" -import { MatIconModule } from "@angular/material/icon"; -import { MatDividerModule } from "@angular/material/divider"; import { MarkdownModule } from "src/components/markdown"; -import { MatTableModule } from "@angular/material/table"; import { FeatureViewComponent } from "./feature-view/feature-view.component"; import { NgLayerCtlModule } from "src/viewerModule/nehuba/ngLayerCtlModule/module"; import { VoiBboxDirective } from "./voi-bbox.directive"; import { FilterCategoriesPipe } from "./filterCategories.pipe"; import { ListDirective } from "./list/list.directive"; -import { MatChipsModule } from "@angular/material/chips"; import { FeatureFilterDirective } from "./feature.filter.directive"; import { GroupFeaturesToName } from "./grpFeatToName.pipe"; import { ExperimentalModule } from "src/experimental/experimental.module"; -import { MatTabsModule } from "@angular/material/tabs"; import { ReadmoreModule } from "src/components/readmore"; -import { MatDialogModule } from "@angular/material/dialog"; import { GroupFeatureTallyPipe } from "./grpFeatToTotal.pipe"; import { PlotlyComponent } from "./plotly"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, - MatCardModule, - MatExpansionModule, SpinnerModule, - MatListModule, - MatTooltipModule, UtilModule, - MatRippleModule, SapiViewsFeatureConnectivityModule, ScrollingModule, - MatButtonModule, - MatIconModule, - MatDividerModule, MarkdownModule, - MatTableModule, NgLayerCtlModule, - MatChipsModule, ExperimentalModule, - MatTabsModule, ReadmoreModule, - MatDialogModule, + AngularMaterialModule, /** * standalone components diff --git a/src/getFileInput/fileInputModal/fileInputModal.component.ts b/src/getFileInput/fileInputModal/fileInputModal.component.ts index 40bfa6d8f14c922df7b2b6ce4155418c7c58de33..00b8c1cf98fe2a340071f08128dac8aa17cda94b 100644 --- a/src/getFileInput/fileInputModal/fileInputModal.component.ts +++ b/src/getFileInput/fileInputModal/fileInputModal.component.ts @@ -1,5 +1,5 @@ import { Component, ElementRef, EventEmitter, Inject, Input, Optional, TemplateRef, ViewChild } from "@angular/core"; -import { MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports"; import { IFileInputConfig, TFileInputEvent } from "../type"; const FILEINPUT_DEFAULT_LABEL = 'File input' diff --git a/src/getFileInput/getFileInput.directive.ts b/src/getFileInput/getFileInput.directive.ts index d1158cdac9de4598957793bec83f2c90761edb2f..66ee9af69a10104e828c7144ef29f7422d16ddcb 100644 --- a/src/getFileInput/getFileInput.directive.ts +++ b/src/getFileInput/getFileInput.directive.ts @@ -1,5 +1,5 @@ import { Directive, EventEmitter, HostListener, Input, Output, TemplateRef } from "@angular/core"; -import { MatDialog, MatDialogRef } from "@angular/material/dialog"; +import { MatDialog, MatDialogRef } from "src/sharedModules/angularMaterial.exports"; import { FileInputModal } from "./fileInputModal/fileInputModal.component"; import { IFileInputConfig, TFileInputEvent } from "./type"; diff --git a/src/getFileInput/module.ts b/src/getFileInput/module.ts index 77610abdb95357e856f20d9d59a13ee98ee515ed..719920c968078fbf5b313c1a6986e3479732a9b2 100644 --- a/src/getFileInput/module.ts +++ b/src/getFileInput/module.ts @@ -1,21 +1,17 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; import { FileInputDirective } from "./getFileInput.directive"; -import { MatDialogModule } from '@angular/material/dialog'; import { FileInputModal } from "./fileInputModal/fileInputModal.component"; import { FormsModule } from "@angular/forms"; -import { MatInputModule } from '@angular/material/input'; -import { MatButtonModule } from '@angular/material/button'; import { DragDropFileModule } from "src/dragDropFile/module"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, - MatDialogModule, FormsModule, - MatInputModule, - MatButtonModule, DragDropFileModule, + AngularMaterialModule, ], declarations: [ FileInputDirective, diff --git a/src/keyframesModule/keyframeCtrl/keyframeCtrl.component.ts b/src/keyframesModule/keyframeCtrl/keyframeCtrl.component.ts index 1b39b366a26ad75ffd55b1a2af12fc78679dd20e..986db4e1989b57c6322293df46dfe9b63e58c457 100644 --- a/src/keyframesModule/keyframeCtrl/keyframeCtrl.component.ts +++ b/src/keyframesModule/keyframeCtrl/keyframeCtrl.component.ts @@ -1,10 +1,10 @@ import { CdkDragDrop, moveItemInArray } from "@angular/cdk/drag-drop"; import { Component, OnDestroy, Optional } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; import { Subscription } from "rxjs"; import { getUuid } from "src/util/fn"; import { timedValues } from "src/util/generator"; import { AUTO_ROTATE, TAutoRotatePayload, ViewerInternalStateSvc } from "src/viewerModule/viewerInternalState.service"; +import { MatSnackBar } from 'src/sharedModules/angularMaterial.exports' type TStoredState = { name: string diff --git a/src/main.module.ts b/src/main.module.ts index dca320a003b36c2b5ca08acaecc810c5375a63fc..9f3bad9e69fc61699a3d82e655e5b601ac0ec8e9 100644 --- a/src/main.module.ts +++ b/src/main.module.ts @@ -24,7 +24,6 @@ import { PluginModule } from './plugin/plugin.module'; import { LoggingModule } from './logging/logging.module'; import { AuthService } from './auth' -import 'src/theme.scss' import { ClickInterceptorService } from './glue'; import { TOS_OBS_INJECTION_TOKEN } from './ui/kgtos'; import { MesssagingModule } from './messaging/module'; diff --git a/src/messaging/service.ts b/src/messaging/service.ts index 3abdeb901b8c1a2f713e1eb4bdb1cef5a38fac27..18832f3f305294afb973c5f8b6b3d67e17f0393d 100644 --- a/src/messaging/service.ts +++ b/src/messaging/service.ts @@ -1,6 +1,5 @@ import { Inject, Injectable, Optional } from "@angular/core"; import { Observable } from "rxjs"; -import { MatDialog } from "@angular/material/dialog"; import { getUuid, noop } from "src/util/fn"; import { ConfirmDialogComponent } from "src/components/confirmDialog/confirmDialog.component"; @@ -10,6 +9,7 @@ import { TYPE as NATIVE_TYPE, processJsonLd as nativeProcess } from './native' import { BoothVisitor, JRPCRequest, ListenerChannel } from "src/api/jsonrpc" import { ApiService } from "src/api"; import { ApiBoothEvents, namespace as apiNameSpace } from "src/api/service"; +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' export const IAV_POSTMESSAGE_NAMESPACE = `ebrains:iav:` diff --git a/src/plugin/pluginBanner/pluginBanner.component.ts b/src/plugin/pluginBanner/pluginBanner.component.ts index ee763c40921a60ad08b665ecbad7303ae9c6be33..34f5ad7aa652161227dabed4940a2aa270070b3a 100644 --- a/src/plugin/pluginBanner/pluginBanner.component.ts +++ b/src/plugin/pluginBanner/pluginBanner.component.ts @@ -1,11 +1,11 @@ import { Component, TemplateRef } from "@angular/core"; -import { MatDialog } from "@angular/material/dialog"; import { PluginService } from "../service"; import { PluginManifest } from "../types"; import { combineLatest, Observable, Subject } from "rxjs"; import { map, scan, startWith } from "rxjs/operators"; import { select, Store } from "@ngrx/store"; import { userPreference } from "src/state"; +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' @Component({ selector : 'plugin-banner', diff --git a/src/screenshot/screenshotCmp/screenshot.component.ts b/src/screenshot/screenshotCmp/screenshot.component.ts index 2ccb1da45087f34c917a7626827ae14759cd48db..30dc7097750f04124a9587223c85122c7f17facd 100644 --- a/src/screenshot/screenshotCmp/screenshot.component.ts +++ b/src/screenshot/screenshotCmp/screenshot.component.ts @@ -1,6 +1,5 @@ import { Component, HostListener, Inject, OnDestroy, Output, EventEmitter, Optional, ViewChild, TemplateRef } from "@angular/core"; -import { MatDialog } from "@angular/material/dialog"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatDialog, MatSnackBar } from 'src/sharedModules/angularMaterial.exports' import { combineLatest, Observable, Subject, Subscription } from "rxjs"; import { distinctUntilChanged, map, mapTo, shareReplay, startWith, switchMap, switchMapTo } from "rxjs/operators"; import { HANDLE_SCREENSHOT_PROMISE, TypeHandleScrnShotPromise } from "../util"; diff --git a/src/services/dialogService.service.ts b/src/services/dialogService.service.ts index 933b862275ca6838deb4ebabec3768ff604e4769..58347808770cd9566d0b114f31f2461b8bb0dd3e 100644 --- a/src/services/dialogService.service.ts +++ b/src/services/dialogService.service.ts @@ -1,7 +1,7 @@ import { Injectable } from "@angular/core"; import { ConfirmDialogComponent } from "src/components/confirmDialog/confirmDialog.component"; import { DialogComponent } from "src/components/dialog/dialog.component"; -import {MatDialog, MatDialogRef} from "@angular/material/dialog"; +import { MatDialog, MatDialogRef } from 'src/sharedModules/angularMaterial.exports' type TCancellable = { abort: () => void diff --git a/src/services/uiService.service.ts b/src/services/uiService.service.ts index 2e6a580418690c4d3e1182aa352132d853189410..eafaf3e3d30ffebaf4a91e46c0fe65302477d765 100644 --- a/src/services/uiService.service.ts +++ b/src/services/uiService.service.ts @@ -1,7 +1,11 @@ import { Injectable } from "@angular/core"; -import {MatSnackBar, MatSnackBarConfig} from "@angular/material/snack-bar"; -import { MatDialog, MatDialogConfig } from "@angular/material/dialog"; import { ActionDialog } from "src/ui/actionDialog/actionDialog.component"; +import { + MatSnackBar, + MatSnackBarConfig, + MatDialog, + MatDialogConfig + } from 'src/sharedModules/angularMaterial.exports' @Injectable({ providedIn: 'root', diff --git a/src/share/clipboardCopy.directive.ts b/src/share/clipboardCopy.directive.ts index a02cbdd221c50059a7fa142b52f09e1aafd8d0be..0a22fc6aa0d334074269ad8011b3d49cf33df8d8 100644 --- a/src/share/clipboardCopy.directive.ts +++ b/src/share/clipboardCopy.directive.ts @@ -1,6 +1,5 @@ import { Directive, HostListener, Input } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; -import { Clipboard } from '@angular/cdk/clipboard' +import { Clipboard, MatSnackBar } from 'src/sharedModules/angularMaterial.exports' @Directive({ selector: '[iav-clipboard-copy]', diff --git a/src/share/saneUrl/saneUrl.component.ts b/src/share/saneUrl/saneUrl.component.ts index 0ce99cce3b2ac0d5167380d9f4182455f2de36e5..c3984a8fab9e6d14f6cb1c94b2e114252cf8615f 100644 --- a/src/share/saneUrl/saneUrl.component.ts +++ b/src/share/saneUrl/saneUrl.component.ts @@ -1,10 +1,7 @@ import { Component, OnDestroy, Input } from "@angular/core"; import { Observable, merge, of, Subscription, BehaviorSubject, combineLatest } from "rxjs"; import { startWith, mapTo, map, debounceTime, switchMap, catchError, shareReplay, filter, tap, distinctUntilChanged } from "rxjs/operators"; -import { UntypedFormControl } from "@angular/forms"; -import { ErrorStateMatcher } from "@angular/material/core"; -import { Clipboard } from "@angular/cdk/clipboard"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { Clipboard, ErrorStateMatcher, MatSnackBar, UntypedFormControl } from 'src/sharedModules/angularMaterial.exports' import { SaneUrlSvc } from "./saneUrl.service"; import { NotFoundError } from "../type"; diff --git a/src/share/share.directive.ts b/src/share/share.directive.ts index e3200cba6816e4182048d4b629f9f9c6e5fe56ef..f6ac96c747a7f91ad3344a8094562f9d1d40353d 100644 --- a/src/share/share.directive.ts +++ b/src/share/share.directive.ts @@ -1,5 +1,5 @@ import { Directive, HostListener } from "@angular/core"; -import { MatBottomSheet } from "@angular/material/bottom-sheet"; +import { MatBottomSheet } from 'src/sharedModules/angularMaterial.exports' import { ShareSheetComponent } from "./shareSheet/shareSheet.component" diff --git a/src/share/shareSheet/shareSheet.component.ts b/src/share/shareSheet/shareSheet.component.ts index 664ffd89c8fe93bf1a7886d80bc83145e7c8b03a..028e5510ed87b21881566d961b236f45dbfe517a 100644 --- a/src/share/shareSheet/shareSheet.component.ts +++ b/src/share/shareSheet/shareSheet.component.ts @@ -1,5 +1,5 @@ import { Component, TemplateRef } from "@angular/core"; -import { MatDialog } from "@angular/material/dialog"; +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' import { ARIA_LABELS } from 'common/constants' @Component({ diff --git a/src/sharedModules/angularMaterial.exports.ts b/src/sharedModules/angularMaterial.exports.ts new file mode 100644 index 0000000000000000000000000000000000000000..bfff6a835cede46aa89a6d1acb782f7b423b5468 --- /dev/null +++ b/src/sharedModules/angularMaterial.exports.ts @@ -0,0 +1,14 @@ +export { ErrorStateMatcher } from "@angular/material/core"; +export { MatDialogConfig, MatDialog, MatDialogRef } from "@angular/material/dialog"; +export { MatSnackBar, MatSnackBarRef, SimpleSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar"; +export { MAT_DIALOG_DATA } from "@angular/material/dialog"; +export { MatBottomSheet, MatBottomSheetRef, MatBottomSheetConfig } from "@angular/material/bottom-sheet"; +export { MatSlideToggle, MatSlideToggleChange } from "@angular/material/slide-toggle" +export { MatTableDataSource } from "@angular/material/table" +export { MatSort } from '@angular/material/sort'; +export { Clipboard } from "@angular/cdk/clipboard"; +export { UntypedFormControl } from "@angular/forms"; +export { MatTreeFlatDataSource, MatTreeFlattener } from "@angular/material/tree" +export { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete"; + +export { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing' \ No newline at end of file diff --git a/src/sharedModules/angularMaterial.module.ts b/src/sharedModules/angularMaterial.module.ts index 914f3f85219eda761d7c81bd3b8f5ab77fade657..a1e459e36a0c47e0dd6d043549d16be54b7d1ae7 100644 --- a/src/sharedModules/angularMaterial.module.ts +++ b/src/sharedModules/angularMaterial.module.ts @@ -1,75 +1,43 @@ -import {MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig, MatDialogModule} from "@angular/material/dialog"; -import {MatButtonModule} from "@angular/material/button"; -import {MatSnackBarModule} from "@angular/material/snack-bar"; -import {MatCardModule} from "@angular/material/card"; -import {MatCheckboxModule} from "@angular/material/checkbox"; -import {MatTabsModule} from "@angular/material/tabs"; -import {MatSidenavModule} from "@angular/material/sidenav"; -import {NgModule} from "@angular/core"; -import {MatTooltipModule} from "@angular/material/tooltip"; -import {MatBadgeModule} from "@angular/material/badge"; -import {MatDividerModule} from "@angular/material/divider"; -import {MatSelectModule} from "@angular/material/select"; -import {MatChipsModule} from "@angular/material/chips"; -import {MatAutocompleteModule} from "@angular/material/autocomplete"; +import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig, MatDialogModule } from "@angular/material/dialog"; +import { MatButtonModule } from "@angular/material/button"; +import { MatSnackBarModule } from "@angular/material/snack-bar"; +import { MatCardModule } from "@angular/material/card"; +import { MatCheckboxModule } from "@angular/material/checkbox"; +import { MatTabsModule } from "@angular/material/tabs"; +import { MatSidenavModule } from "@angular/material/sidenav"; +import { NgModule} from "@angular/core"; +import { MatTooltipModule } from "@angular/material/tooltip"; +import { MatBadgeModule } from "@angular/material/badge"; +import { MatDividerModule } from "@angular/material/divider"; +import { MatSelectModule } from "@angular/material/select"; +import { MatChipsModule } from "@angular/material/chips"; +import { MatAutocompleteModule } from "@angular/material/autocomplete"; import { ScrollingModule } from '@angular/cdk/scrolling' -import {MatInputModule} from "@angular/material/input"; -import {MatSlideToggleModule} from "@angular/material/slide-toggle"; -import {MatListModule} from "@angular/material/list"; -import {MatBottomSheetModule} from "@angular/material/bottom-sheet"; -import {MatRippleModule} from "@angular/material/core"; -import {MatSliderModule} from "@angular/material/slider"; -import {DragDropModule} from "@angular/cdk/drag-drop"; -import {MatGridListModule} from "@angular/material/grid-list"; -import {MatIconModule} from "@angular/material/icon"; -import {MatExpansionModule} from "@angular/material/expansion"; -import {MatMenuModule} from "@angular/material/menu"; +import { MatInputModule } from "@angular/material/input"; +import { MatSlideToggleModule } from "@angular/material/slide-toggle"; +import { MatListModule } from "@angular/material/list"; +import { MatBottomSheetModule } from "@angular/material/bottom-sheet"; +import { MatRippleModule } from "@angular/material/core"; +import { MatSliderModule } from "@angular/material/slider"; +import { DragDropModule } from "@angular/cdk/drag-drop"; +import { MatGridListModule } from "@angular/material/grid-list"; +import { MatIconModule } from "@angular/material/icon"; +import { MatExpansionModule } from "@angular/material/expansion"; +import { MatMenuModule } from "@angular/material/menu"; import { MatToolbarModule } from '@angular/material/toolbar' import { ClipboardModule } from '@angular/cdk/clipboard' import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; -import {MatProgressBarModule} from "@angular/material/progress-bar"; -import {MatProgressSpinnerModule} from "@angular/material/progress-spinner"; -import {MatRadioModule} from "@angular/material/radio"; +import { MatProgressBarModule } from "@angular/material/progress-bar"; +import { MatProgressSpinnerModule } from "@angular/material/progress-spinner"; +import { MatRadioModule } from "@angular/material/radio"; +import { MatTableModule } from "@angular/material/table"; +import { MatSortModule } from "@angular/material/sort"; const defaultDialogOption: MatDialogConfig = new MatDialogConfig() @NgModule({ - imports: [ - BrowserAnimationsModule, - - MatButtonModule, - MatSnackBarModule, - MatCheckboxModule, - MatSidenavModule, - MatCardModule, - MatTabsModule, - MatTooltipModule, - MatBadgeModule, - MatDividerModule, - MatSelectModule, - MatChipsModule, - MatAutocompleteModule, - MatDialogModule, - MatInputModule, - MatBottomSheetModule, - MatListModule, - MatSlideToggleModule, - MatRippleModule, - MatSliderModule, - DragDropModule, - MatExpansionModule, - MatGridListModule, - MatIconModule, - MatMenuModule, - ScrollingModule, - MatToolbarModule, - ClipboardModule, - MatProgressBarModule, - MatProgressSpinnerModule, - MatRadioModule - ], exports: [ MatButtonModule, MatCheckboxModule, @@ -100,7 +68,9 @@ const defaultDialogOption: MatDialogConfig = new MatDialogConfig() ClipboardModule, MatProgressBarModule, MatProgressSpinnerModule, - MatRadioModule + MatRadioModule, + MatTableModule, + MatSortModule, ], providers: [{ provide: MAT_DIALOG_DEFAULT_OPTIONS, diff --git a/src/state/atlasSelection/effects.spec.ts b/src/state/atlasSelection/effects.spec.ts index 9e4778613334f464a82d80ff34b97476e5346923..a64b032338706a3342829d8337ba855ffc116965 100644 --- a/src/state/atlasSelection/effects.spec.ts +++ b/src/state/atlasSelection/effects.spec.ts @@ -14,7 +14,7 @@ import { atlasSelection } from ".." import { BrowserAnimationsModule } from "@angular/platform-browser/animations" import { translateV3Entities } from "src/atlasComponents/sapi/translateV3" import { PathReturn } from "src/atlasComponents/sapi/typeV3" -import { MatDialog } from "@angular/material/dialog" +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' describe("> effects.ts", () => { describe("> Effect", () => { diff --git a/src/state/atlasSelection/effects.ts b/src/state/atlasSelection/effects.ts index c4920067aa280523eccdda4fb67e1d2857f8dd5e..1403ce3c49c423e3ab73c42ba87b65fd30fa4579 100644 --- a/src/state/atlasSelection/effects.ts +++ b/src/state/atlasSelection/effects.ts @@ -13,7 +13,7 @@ import { InterSpaceCoordXformSvc } from "src/atlasComponents/sapi/core/space/int import { SxplrAtlas, SxplrParcellation, SxplrRegion, SxplrTemplate } from "src/atlasComponents/sapi/sxplrTypes"; import { DecisionCollapse } from "src/atlasComponents/sapi/decisionCollapse.service"; import { DialogFallbackCmp } from "src/ui/dialogInfo"; -import { MatDialog } from "@angular/material/dialog"; +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' type OnTmplParcHookArg = { previous: { diff --git a/src/state/userInterface/actions.ts b/src/state/userInterface/actions.ts index e423f261e6ef1ee6ffb35a9f0464eda261153f35..5fcd71a4017f95cf0c19b7c77dc1ca0b28f3be2b 100644 --- a/src/state/userInterface/actions.ts +++ b/src/state/userInterface/actions.ts @@ -1,6 +1,5 @@ import { TemplateRef } from "@angular/core"; -import { MatBottomSheetConfig } from "@angular/material/bottom-sheet"; -import { MatSnackBarConfig } from "@angular/material/snack-bar"; +import { MatSnackBarConfig, MatBottomSheetConfig } from 'src/sharedModules/angularMaterial.exports' import { createAction, props } from "@ngrx/store"; import { nameSpace, PanelMode } from "./const" diff --git a/src/state/userInterface/effects.ts b/src/state/userInterface/effects.ts index 6b5d98bdd6ea423fd59f0450e1f577902b6e4c4c..aa879e72757ffa6b5cb745abc424b2e10fc0e258 100644 --- a/src/state/userInterface/effects.ts +++ b/src/state/userInterface/effects.ts @@ -1,6 +1,5 @@ import { Injectable } from "@angular/core"; -import { MatBottomSheet, MatBottomSheetRef } from "@angular/material/bottom-sheet"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar, MatBottomSheet, MatBottomSheetRef } from 'src/sharedModules/angularMaterial.exports' import { Actions, createEffect, ofType } from "@ngrx/effects"; import { select, Store } from "@ngrx/store"; import { of } from "rxjs"; diff --git a/src/strictLocal/module.ts b/src/strictLocal/module.ts index 62db4e8d888eb11107503bcb5b1ce8145b8a3d61..d7ffa1de9278da509960ad55d60b0f78cf9a458b 100644 --- a/src/strictLocal/module.ts +++ b/src/strictLocal/module.ts @@ -1,7 +1,6 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; -import { MatButtonModule } from "@angular/material/button"; -import { MatTooltipModule } from "@angular/material/tooltip"; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' import { HideWhenLocal } from "./strictLocal.directive"; import { StrictLocalInfo } from "./strictLocalCmp/strictLocalCmp.component"; @@ -12,8 +11,7 @@ import { StrictLocalInfo } from "./strictLocalCmp/strictLocalCmp.component"; ], imports: [ CommonModule, - MatTooltipModule, - MatButtonModule, + AngularMaterialModule, ], exports: [ HideWhenLocal, diff --git a/src/theme.scss b/src/theme.scss index 8140e544fe37b55173fc22cc6b374c5e559ad2b4..b163b1c268e1768cd30afbb8ca325850aac6c9ce 100644 --- a/src/theme.scss +++ b/src/theme.scss @@ -3,6 +3,46 @@ @include mat.core(); +$sxplr-primary: mat.define-palette(mat.$indigo-palette, 500); +$sxplr-accent: mat.define-palette(mat.$amber-palette, A200, A100, A400); +$sxplr-warn: mat.define-palette(mat.$red-palette); + +// The "warn" palette is optional and defaults to red if not specified. +$sxplr-warn: mat.define-palette(mat.$red-palette); +$sxplr-light-theme: mat.define-light-theme(( + color: ( + primary: $sxplr-primary, + accent: $sxplr-accent, + warn: $sxplr-warn, + ), + typography: mat.define-typography-config(), + density: 0, +)); + +// Define a dark theme +$sxplr-dark-theme: mat.define-dark-theme(( + color: ( + primary: $sxplr-primary, + accent: $sxplr-accent, + warn: $sxplr-warn, + ), + typography: mat.define-typography-config(), + density: 0, +)); + +// Include the theme mixins for other components you use here. +// TODO(v15): As of v15 mat.legacy-core no longer includes default typography styles. +// The following line adds: +// 1. Default typography styles for all components +// 2. Styles for typography hierarchy classes (e.g. .mat-headline-1) +// If you specify typography styles for the components you use elsewhere, you should delete this line. +// If you don't need the default component typographies but still want the hierarchy styles, +// you can delete this line and instead use: +// `@include mat.legacy-typography-hierarchy(mat.define-legacy-typography-config());` + +// @include mat.all-legacy-component-typographies(); +// @include mat.legacy-core(); + @mixin custom-cmp($theme) { $color-config: mat.get-color-config($theme); @@ -85,32 +125,20 @@ } } -$iv-theme-primary: mat.define-palette(mat.$indigo-palette); -$iv-theme-accent: mat.define-palette(mat.$amber-palette); -$iv-theme-warn: mat.define-palette(mat.$red-palette); - -$iv-theme: mat.define-light-theme(( - color: ( - primary: $iv-theme-primary, - accent: $iv-theme-accent, - warn: $iv-theme-warn, - ) -)); +// @include mat.all-legacy-component-themes($iv-theme); +// @include custom-cmp($iv-theme); -@include mat.all-component-themes($iv-theme); -@include custom-cmp($iv-theme); +// $iv-dark-theme-primary: mat.define-palette(mat.$blue-palette); +// $iv-dark-theme-accent: mat.define-palette(mat.$amber-palette, A200, A100, A400); +// $iv-dark-theme-warn: mat.define-palette(mat.$red-palette); -$iv-dark-theme-primary: mat.define-palette(mat.$blue-palette); -$iv-dark-theme-accent: mat.define-palette(mat.$amber-palette, A200, A100, A400); -$iv-dark-theme-warn: mat.define-palette(mat.$red-palette); - -$iv-dark-theme: mat.define-dark-theme(( - color: ( - primary: $iv-dark-theme-primary, - accent: $iv-dark-theme-accent, - warn: $iv-dark-theme-warn, - ) -)); +// $iv-dark-theme: mat.define-dark-theme(( +// color: ( +// primary: $iv-dark-theme-primary, +// accent: $iv-dark-theme-accent, +// warn: $iv-dark-theme-warn, +// ) +// )); /** * attribute has lower priority than class @@ -120,15 +148,15 @@ $iv-dark-theme: mat.define-dark-theme(( [darktheme=true], .darktheme.darktheme { - @include mat.all-component-themes($iv-dark-theme); - @include custom-cmp($iv-dark-theme); + @include mat.all-component-themes($sxplr-dark-theme); + @include custom-cmp($sxplr-dark-theme); } [darktheme=false], .lighttheme.lighttheme { - @include mat.all-component-themes($iv-theme); - @include custom-cmp($iv-theme); + @include custom-cmp($sxplr-light-theme); + @include mat.all-component-themes($sxplr-light-theme); } .iav-dialog-class diff --git a/src/ui/actionDialog/actionDialog.component.ts b/src/ui/actionDialog/actionDialog.component.ts index ced5d32d45c3de46755b1ff7af1f14b8331965b7..a49ca149f88937a9d8f6d426d0ee090f70a5438a 100644 --- a/src/ui/actionDialog/actionDialog.component.ts +++ b/src/ui/actionDialog/actionDialog.component.ts @@ -1,5 +1,5 @@ import { Component, Optional, Inject } from "@angular/core"; -import { MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports"; interface IDialogAction{ type: 'mat-button' | 'mat-flat-button' | 'mat-raised-button' | 'mat-stroked-button' diff --git a/src/ui/bottomMenu/module.ts b/src/ui/bottomMenu/module.ts index ab281f989f3a51a90ee9098ced3eede0d089aada..48ff73d9616c75de6eb4fed43a60bb0aebeee37b 100644 --- a/src/ui/bottomMenu/module.ts +++ b/src/ui/bottomMenu/module.ts @@ -4,8 +4,7 @@ import { BottomMenuCmp } from "./bottomMenuCmp/bottomMenu.component"; import { ATPSelectorModule } from "src/atlasComponents/sapiViews/core/rich/ATPSelector"; import { SmartChipModule } from "src/components/smartChip"; import { SapiViewsCoreRegionModule } from "src/atlasComponents/sapiViews/core/region"; -import { MatButtonModule } from "@angular/material/button"; -import { MatRippleModule } from "@angular/material/core"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ @@ -13,8 +12,7 @@ import { MatRippleModule } from "@angular/material/core"; ATPSelectorModule, SmartChipModule, SapiViewsCoreRegionModule, - MatButtonModule, - MatRippleModule, + AngularMaterialModule, ], declarations: [ BottomMenuCmp, diff --git a/src/ui/config/configCmp/config.component.ts b/src/ui/config/configCmp/config.component.ts index 386293b19153fbe8c53957cfde01fe3a307f4e37..00b2b47831ed8b3cc12cc88fca5ca989fb93b15e 100644 --- a/src/ui/config/configCmp/config.component.ts +++ b/src/ui/config/configCmp/config.component.ts @@ -3,8 +3,7 @@ import { select, Store } from '@ngrx/store'; import { combineLatest, Observable, of, Subscription } from 'rxjs'; import { debounceTime, distinctUntilChanged, map, startWith } from 'rxjs/operators'; import { isIdentityQuat } from 'src/viewerModule/nehuba/util'; -import { MatSlideToggleChange } from "@angular/material/slide-toggle"; -import { MatSliderChange } from "@angular/material/slider"; +import { MatSlideToggleChange } from 'src/sharedModules/angularMaterial.exports' import { atlasSelection, userPreference, userInterface } from 'src/state'; import { environment } from "src/environments/environment" import { Z_TRAVERSAL_MULTIPLIER } from 'src/viewerModule/nehuba/layerCtrl.service/layerCtrl.util'; @@ -197,10 +196,10 @@ export class ConfigComponent implements OnInit, OnDestroy { ) } - public handleMatSliderChange(ev: MatSliderChange) { + public updateGpuLimit(newVal: number){ this.store.dispatch( userPreference.actions.setGpuLimit({ - limit: ev.value * 1e6 + limit: newVal * 1e6 }) ) } diff --git a/src/ui/config/configCmp/config.template.html b/src/ui/config/configCmp/config.template.html index 3d1f0f2153b66af9fdf37a8c7b111aabc6de2110..a8244dcfe5f638a33d50603d82f7ebd885363c84 100644 --- a/src/ui/config/configCmp/config.template.html +++ b/src/ui/config/configCmp/config.template.html @@ -41,8 +41,10 @@ min="100" max="1000" [step]="stepSize" - (change)="handleMatSliderChange($event)" - [value]="gpuLimit$ | async"> + > + <input matSliderThumb + (valueChange)="updateGpuLimit($event)" + [value]="gpuLimit$ | async"> </mat-slider> <span class="d-inline-block flex-grow-0 flex-shrink-0 w-10em"> {{ gpuLimit$ | async }} MB diff --git a/src/ui/dialogInfo/dialog.directive.ts b/src/ui/dialogInfo/dialog.directive.ts index 62640509efdc3a65f053989d50464ea81dd2285b..48d8daf656d8958bc2e9a494a4724cdd7a583b90 100644 --- a/src/ui/dialogInfo/dialog.directive.ts +++ b/src/ui/dialogInfo/dialog.directive.ts @@ -1,5 +1,5 @@ import { Directive, HostListener, Input, TemplateRef } from "@angular/core"; -import { MatDialog, MatDialogConfig } from "@angular/material/dialog"; +import { MatDialog, MatDialogConfig } from 'src/sharedModules/angularMaterial.exports' import { DialogFallbackCmp } from "./tmpl/tmpl.component" type DialogSize = 's' | 'm' | 'l' | 'xl' | 'auto' diff --git a/src/ui/dialogInfo/module.ts b/src/ui/dialogInfo/module.ts index c691e5381421633dd317fa2cb59d388e9514cffb..bc329cbbd6a07451da85371be7be7b4d73afae53 100644 --- a/src/ui/dialogInfo/module.ts +++ b/src/ui/dialogInfo/module.ts @@ -1,23 +1,19 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; -import { MatButtonModule } from "@angular/material/button"; -import { MatDialogModule } from "@angular/material/dialog"; import { MarkdownModule } from "src/components/markdown"; import { StrictLocalModule } from "src/strictLocal"; import { DialogDirective } from "./dialog.directive" import { DialogFallbackCmp } from "./tmpl/tmpl.component"; -import { MatListModule } from "@angular/material/list"; import { ExperimentalModule } from "src/experimental/experimental.module"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports: [ CommonModule, - MatDialogModule, - MatButtonModule, MarkdownModule, StrictLocalModule, - MatListModule, ExperimentalModule, + AngularMaterialModule, ], declarations: [ DialogDirective, diff --git a/src/ui/dialogInfo/tmpl/tmpl.component.ts b/src/ui/dialogInfo/tmpl/tmpl.component.ts index be6842b0e54568c52ecfd591b881f0bc978c16f8..43d92b79c0917a5f225f4eeff6a041d5eac64af0 100644 --- a/src/ui/dialogInfo/tmpl/tmpl.component.ts +++ b/src/ui/dialogInfo/tmpl/tmpl.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from "@angular/core"; -import { MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports"; export type FallBackData = { title: string diff --git a/src/ui/help/about/about.component.ts b/src/ui/help/about/about.component.ts index 31fd286633195fd03a9365b665b2ee935c33c537..32528ffea3f7e1c6e32c64837c55fbf1a535a671 100644 --- a/src/ui/help/about/about.component.ts +++ b/src/ui/help/about/about.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core' import { NewestRelease } from '../newestRelease.directive' import { HttpClient } from '@angular/common/http' import { map } from 'rxjs/operators' -import { MatDialog } from '@angular/material/dialog' +import { MatDialog } from 'src/sharedModules/angularMaterial.exports' import { HowToCite } from '../howToCite/howToCite.component' import { SAPI, EXPECTED_SIIBRA_API_VERSION } from "src/atlasComponents/sapi/sapi.service" import { environment } from "src/environments/environment" diff --git a/src/ui/help/module.ts b/src/ui/help/module.ts index 5d08c11796a07ccbe8be9d46367b79428a9cabce..ca6c1f42a00bb73b52df60dd56ee0e18ae86a308 100644 --- a/src/ui/help/module.ts +++ b/src/ui/help/module.ts @@ -9,8 +9,6 @@ import { QuickTourModule } from "src/ui/quickTour/module"; import { HowToCite } from "./howToCite/howToCite.component"; import { StrictLocalModule } from "src/strictLocal"; import { HttpClientModule } from "@angular/common/http"; -import { MatInputModule } from "@angular/material/input"; -import { MatDialogModule } from "@angular/material/dialog"; import { ShareModule } from "src/share"; @NgModule({ @@ -23,9 +21,7 @@ import { ShareModule } from "src/share"; StrictLocalModule, HttpClientModule, - ShareModule, - MatInputModule, - MatDialogModule, + ShareModule, ], declarations: [ AboutCmp, diff --git a/src/ui/quickTour/quickTour.service.ts b/src/ui/quickTour/quickTour.service.ts index e593328e8ecf45e6e351c3460aab66934a4ba8e7..83a19f22720ebd40cb1db013cf549fde89c2c416 100644 --- a/src/ui/quickTour/quickTour.service.ts +++ b/src/ui/quickTour/quickTour.service.ts @@ -6,7 +6,7 @@ import { QuickTourThis } from "./quickTourThis.directive"; import { DoublyLinkedList, IDoublyLinkedItem } from 'src/util' import { EnumQuickTourSeverity, PERMISSION_DIALOG_ACTIONS, QuickTourSeverity, QUICK_TOUR_CMP_INJTKN } from "./constrants"; import { LOCAL_STORAGE_CONST } from "src/util/constants"; -import { MatDialog, MatDialogRef } from "@angular/material/dialog"; +import { MatDialog, MatDialogRef } from 'src/sharedModules/angularMaterial.exports' import { StartTourDialogDialog } from "src/ui/quickTour/startTourDialog/startTourDialog.component"; const autoPlayPriority: Set<EnumQuickTourSeverity | keyof typeof QuickTourSeverity> = new Set([ diff --git a/src/ui/quickTour/startTourDialog/startTourDialog.component.ts b/src/ui/quickTour/startTourDialog/startTourDialog.component.ts index ac77e1d479fa84a408d228f51ba6d1d65ddc39d7..4d1dd9e40c77ddc88387debc513b39ced3935dd8 100644 --- a/src/ui/quickTour/startTourDialog/startTourDialog.component.ts +++ b/src/ui/quickTour/startTourDialog/startTourDialog.component.ts @@ -1,5 +1,5 @@ import {Component} from "@angular/core"; -import {MatDialogRef} from "@angular/material/dialog"; +import { MatDialogRef } from 'src/sharedModules/angularMaterial.exports' import { CONST } from 'common/constants' import { PERMISSION_DIALOG_ACTIONS } from "../constrants"; diff --git a/src/ui/topMenu/module.ts b/src/ui/topMenu/module.ts index 71c28c73963e064bfbc1d181af1dc0a6b8707627..44437f2e6e015d0b8a452ba3b60420d8bcdb8862 100644 --- a/src/ui/topMenu/module.ts +++ b/src/ui/topMenu/module.ts @@ -10,12 +10,13 @@ import { CookieModule } from "src/ui/cookieAgreement/module"; import { HelpModule } from "src/ui/help/module"; import { KgTosModule } from "src/ui/kgtos/module"; import { ScreenshotModule } from "src/screenshot"; -import { AngularMaterialModule } from "src/sharedModules"; import { TopMenuCmp } from "./topMenuCmp/topMenu.components"; import { UserAnnotationsModule } from "src/atlasComponents/userAnnotations"; import { QuickTourModule } from "src/ui/quickTour/module"; import { KeyFrameModule } from "src/keyframesModule/module"; import { AtlasDownloadModule } from "src/atlas-download/atlas-download.module"; +import { AngularMaterialModule } from "src/sharedModules"; + @NgModule({ imports: [ diff --git a/src/ui/topMenu/topMenuCmp/topMenu.components.ts b/src/ui/topMenu/topMenuCmp/topMenu.components.ts index 94bf82bef853349a5744f45ed6db4a9d04cfee3d..580ab86fc8e03d5c6547ef576c0dbd17ec276a92 100644 --- a/src/ui/topMenu/topMenuCmp/topMenu.components.ts +++ b/src/ui/topMenu/topMenuCmp/topMenu.components.ts @@ -7,8 +7,7 @@ import { import { Observable } from "rxjs"; import { map } from "rxjs/operators"; import { AuthService } from "src/auth"; -import { MatDialog, MatDialogConfig, MatDialogRef } from "@angular/material/dialog"; -import { MatBottomSheet } from "@angular/material/bottom-sheet"; +import { MatBottomSheet, MatDialog, MatDialogConfig, MatDialogRef } from 'src/sharedModules/angularMaterial.exports' import { CONST, QUICKTOUR_DESC, ARIA_LABELS } from 'common/constants' import { IQuickTourData } from "src/ui/quickTour/constrants"; import { TypeMatBtnColor, TypeMatBtnStyle } from "src/components/dynamicMaterialBtn/dynamicMaterialBtn.component"; diff --git a/src/util/df-to-ds.pipe.ts b/src/util/df-to-ds.pipe.ts index f50be028d82a3522df9277be89ef75b59accd33d..62be4bd99274d3aa30aea2a6c8440afc52ca6a18 100644 --- a/src/util/df-to-ds.pipe.ts +++ b/src/util/df-to-ds.pipe.ts @@ -1,7 +1,6 @@ import { CdkTableDataSourceInput } from '@angular/cdk/table'; import { Pipe, PipeTransform } from '@angular/core'; -import { MatSort } from '@angular/material/sort'; -import { MatTableDataSource } from '@angular/material/table'; +import { MatSort, MatTableDataSource } from 'src/sharedModules/angularMaterial.exports' import { components } from "src/atlasComponents/sapi/schemaV3" type DF = components["schemas"]["DataFrameModel"] diff --git a/src/util/side-panel/side-panel.component.spec.ts b/src/util/side-panel/side-panel.component.spec.ts index 5a7f71a4d35e01422c590a717f306dae3780dc0d..3fb23f57f1c2dc1399c3ab9ef64e79e82d4e6849 100644 --- a/src/util/side-panel/side-panel.component.spec.ts +++ b/src/util/side-panel/side-panel.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SidePanelComponent } from './side-panel.component'; -import { MatCardModule } from '@angular/material/card'; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' describe('SidePanelComponent', () => { let component: SidePanelComponent; @@ -10,7 +10,7 @@ describe('SidePanelComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [ - MatCardModule, + AngularMaterialModule, ], declarations: [ SidePanelComponent, diff --git a/src/util/util.module.ts b/src/util/util.module.ts index 53355b1f568ec0e9d46a895649654160ae1f1dc6..f2b7ccc2185b5f29ce80f2d397b08ab9cebed43e 100644 --- a/src/util/util.module.ts +++ b/src/util/util.module.ts @@ -20,7 +20,7 @@ import { CombineFnPipe } from "./pipes/combineFn.pipe"; import { MergeObjPipe } from "./mergeObj.pipe"; import { IncludesPipe } from "./includes.pipe"; import { SidePanelComponent } from './side-panel/side-panel.component'; -import { MatCardModule } from "@angular/material/card"; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' import { CommonModule } from "@angular/common"; import { DfToDsPipe } from './df-to-ds.pipe'; import { PrettyPresentPipe } from './pretty-present.pipe'; @@ -28,7 +28,7 @@ import { PrettyPresentPipe } from './pretty-present.pipe'; @NgModule({ imports:[ LayoutModule, - MatCardModule, + AngularMaterialModule, CommonModule, ], declarations: [ diff --git a/src/viewerModule/leap/module.ts b/src/viewerModule/leap/module.ts index 4e7bcbfc54c984cf6bdfa87aa1aeab57ed40f8b2..19eb06f7cc7cde13e77f828e0f18ce39f9da5f7a 100644 --- a/src/viewerModule/leap/module.ts +++ b/src/viewerModule/leap/module.ts @@ -1,6 +1,6 @@ import { CommonModule } from "@angular/common"; import { APP_INITIALIZER, NgModule } from "@angular/core"; -import { MatCardModule } from "@angular/material/card"; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' import { APPEND_SCRIPT_TOKEN } from "src/util/constants"; import { LeapSignal } from "./leapSignal/leapSignal.component"; import { LeapService } from "./service"; @@ -9,7 +9,7 @@ import { LeapControlViewRef } from "./signal.directive"; @NgModule({ imports: [ CommonModule, - MatCardModule, + AngularMaterialModule, ], declarations: [ LeapSignal, diff --git a/src/viewerModule/nehuba/layoutOverlay/module.ts b/src/viewerModule/nehuba/layoutOverlay/module.ts index b19dbd7041aea8a179e4647155a8bcaaee6fa3b1..29bfe0703ccd126c64bd9b49d9f5c6d4cf778f38 100644 --- a/src/viewerModule/nehuba/layoutOverlay/module.ts +++ b/src/viewerModule/nehuba/layoutOverlay/module.ts @@ -1,6 +1,5 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; -import { MatMenuModule } from "@angular/material/menu"; import { ViewerCtrlModule } from "../viewerCtrl"; import { NehubaLayoutOverlay } from "./nehuba.layoutOverlay/nehuba.layoutOverlay.component"; import { QuickTourModule } from "src/ui/quickTour"; @@ -8,11 +7,10 @@ import { SpinnerModule } from "src/components/spinner"; import { UtilModule } from "src/util"; import { WindowResizeModule } from "src/util/windowResize"; import { LayoutModule } from "src/layouts/layout.module"; -import { MatButtonModule } from "@angular/material/button"; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' @NgModule({ imports: [ - MatMenuModule, CommonModule, LayoutModule, ViewerCtrlModule, @@ -20,8 +18,7 @@ import { MatButtonModule } from "@angular/material/button"; SpinnerModule, UtilModule, WindowResizeModule, - MatButtonModule, - MatMenuModule + AngularMaterialModule, ], declarations: [ NehubaLayoutOverlay, diff --git a/src/viewerModule/nehuba/ngLayerCtlModule/module.ts b/src/viewerModule/nehuba/ngLayerCtlModule/module.ts index dbdea746c6423bfe23b7f8114a66aac3c2795fc9..52defe5728ffe7833048106a19ca13614124a6c0 100644 --- a/src/viewerModule/nehuba/ngLayerCtlModule/module.ts +++ b/src/viewerModule/nehuba/ngLayerCtlModule/module.ts @@ -1,16 +1,15 @@ import { CommonModule } from "@angular/common"; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core"; -import { MatButtonModule } from "@angular/material/button"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { SpinnerModule } from "src/components/spinner"; import { NgLayerCtrlCmp } from "./ngLayerCtl/ngLayerCtrl.component"; +import { AngularMaterialModule } from 'src/sharedModules/angularMaterial.module' + @NgModule({ imports: [ CommonModule, - MatTooltipModule, - MatButtonModule, SpinnerModule, + AngularMaterialModule, ], declarations: [ NgLayerCtrlCmp diff --git a/src/viewerModule/nehuba/ngLayerCtlModule/ngLayerCtl/ngLayerCtrl.stories.ts b/src/viewerModule/nehuba/ngLayerCtlModule/ngLayerCtl/ngLayerCtrl.stories.ts index ff1fb3cd5f97eaf74b17751d28b5bd245707f9ba..d6e832f32398fc650fb5b70792835a9ed6d2f675 100644 --- a/src/viewerModule/nehuba/ngLayerCtlModule/ngLayerCtl/ngLayerCtrl.stories.ts +++ b/src/viewerModule/nehuba/ngLayerCtlModule/ngLayerCtl/ngLayerCtrl.stories.ts @@ -1,12 +1,11 @@ import { idMat4, NgLayerCtrlCmp } from "./ngLayerCtrl.component" import { Meta, moduleMetadata, Story } from "@storybook/angular" import { CommonModule } from "@angular/common" -import { MatButtonModule } from "@angular/material/button" import { NEHUBA_INSTANCE_INJTKN } from "src/viewerModule/nehuba/util" import { NEVER } from "rxjs" import { action } from "@storybook/addon-actions" -import { MatTooltipModule } from "@angular/material/tooltip" import { Store } from "@ngrx/store" +import { AngularMaterialModule } from "src/sharedModules" export default { component: NgLayerCtrlCmp, @@ -14,8 +13,7 @@ export default { moduleMetadata({ imports: [ CommonModule, - MatButtonModule, - MatTooltipModule, + AngularMaterialModule, ], providers: [ { diff --git a/src/viewerModule/nehuba/statusCard/statusCard.component.spec.ts b/src/viewerModule/nehuba/statusCard/statusCard.component.spec.ts index cb1521df965c03df54e60779c280074377dc3f01..63db4bdcfa4a96e66b3006eb89ecbb78f2ffd43c 100644 --- a/src/viewerModule/nehuba/statusCard/statusCard.component.spec.ts +++ b/src/viewerModule/nehuba/statusCard/statusCard.component.spec.ts @@ -8,7 +8,6 @@ import { ShareModule } from "src/share" import { StateModule } from "src/state" import { MockStore, provideMockStore } from "@ngrx/store/testing" import { By } from "@angular/platform-browser" -import { MatSlideToggle } from "@angular/material/slide-toggle" import { NoopAnimationsModule } from "@angular/platform-browser/animations" import { FormsModule, ReactiveFormsModule } from "@angular/forms" import { UtilModule } from "src/util" @@ -16,6 +15,7 @@ import * as configSvc from '../config.service' import {QuickTourModule} from "src/ui/quickTour/module"; import { atlasSelection } from "src/state" import { SxplrTemplate } from "src/atlasComponents/sapi/sxplrTypes" +import { MatSlideToggle } from "src/sharedModules/angularMaterial.exports" @Directive({ selector: '[iav-auth-auth-state]', diff --git a/src/viewerModule/nehuba/statusCard/statusCard.component.ts b/src/viewerModule/nehuba/statusCard/statusCard.component.ts index 5ca64921a0a7aae9e2bdfd227fe6003bf299ccc3..12e15afb36ba801c9945e7a16bf041389ecc20c2 100644 --- a/src/viewerModule/nehuba/statusCard/statusCard.component.ts +++ b/src/viewerModule/nehuba/statusCard/statusCard.component.ts @@ -12,8 +12,7 @@ import { LoggingService } from "src/logging"; import { NehubaViewerUnit } from "../nehubaViewer/nehubaViewer.component"; import { Observable, Subscription, of, combineLatest } from "rxjs"; import { map, filter, startWith, throttleTime } from "rxjs/operators"; -import { MatBottomSheet } from "@angular/material/bottom-sheet"; -import { MatDialog } from "@angular/material/dialog"; +import { MatBottomSheet, MatDialog } from "src/sharedModules/angularMaterial.exports" import { ARIA_LABELS, QUICKTOUR_DESC } from 'common/constants' import { UntypedFormControl } from "@angular/forms"; diff --git a/src/viewerModule/nehuba/userLayers/module.ts b/src/viewerModule/nehuba/userLayers/module.ts index ae8068454f9ba777fd59132ae5be62afe2f8f255..dc55a432fd63abd2356e50b3a684984407861062 100644 --- a/src/viewerModule/nehuba/userLayers/module.ts +++ b/src/viewerModule/nehuba/userLayers/module.ts @@ -1,30 +1,22 @@ import { CommonModule } from "@angular/common" import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core" -import { MatDialogModule } from "@angular/material/dialog" -import { MatSnackBarModule } from "@angular/material/snack-bar" import { DragDropFileModule } from "src/dragDropFile" import { UserLayerDragDropDirective } from "./userlayerDragdrop.directive" -import { UserLayerService } from "./service" -import { MatButtonModule } from "@angular/material/button" -import { MatTooltipModule } from "@angular/material/tooltip" import { UserLayerInfoCmp } from "./userlayerInfo/userlayerInfo.component" import { UtilModule } from "src/util" import { SpinnerModule } from "src/components/spinner" +import { AngularMaterialModule } from "src/sharedModules" @NgModule({ imports: [ CommonModule, DragDropFileModule, - MatSnackBarModule, - MatDialogModule, - MatButtonModule, - MatTooltipModule, + AngularMaterialModule, UtilModule, SpinnerModule, ], declarations: [UserLayerDragDropDirective, UserLayerInfoCmp], exports: [UserLayerDragDropDirective], - providers: [UserLayerService], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class NehubaUserLayerModule {} diff --git a/src/viewerModule/nehuba/userLayers/service.ts b/src/viewerModule/nehuba/userLayers/service.ts index 91634c4021ba13c3e244a6152d2f40c2e6c228f2..7ec5f5bbfbba1d42b06534c97a74642a1d3afc2d 100644 --- a/src/viewerModule/nehuba/userLayers/service.ts +++ b/src/viewerModule/nehuba/userLayers/service.ts @@ -1,5 +1,4 @@ import { Injectable, OnDestroy } from "@angular/core" -import { MatDialog, MatDialogRef } from "@angular/material/dialog" import { select, Store } from "@ngrx/store" import { forkJoin, from, Subscription } from "rxjs" import { distinctUntilChanged, filter } from "rxjs/operators" @@ -19,6 +18,7 @@ import { translateV3Entities } from "src/atlasComponents/sapi/translateV3" import { MetaV1Schema } from "src/atlasComponents/sapi/typeV3" import { AnnotationLayer } from "src/atlasComponents/annotations" import { rgbToHex } from 'common/util' +import { MatDialogRef, MatDialog } from "src/sharedModules/angularMaterial.exports" type OmitKeys = "clType" | "id" | "source" type LayerOption = Omit<atlasAppearance.const.NgLayerCustomLayer, OmitKeys> @@ -51,7 +51,9 @@ function RegisterSource(matcher: ProcessResource['matcher']) { } -@Injectable() +@Injectable({ + providedIn: 'root' +}) export class UserLayerService implements OnDestroy { #idToCleanup = new Map<string, () => void>() #dialogRef: MatDialogRef<unknown> diff --git a/src/viewerModule/nehuba/userLayers/userlayerDragdrop.directive.ts b/src/viewerModule/nehuba/userLayers/userlayerDragdrop.directive.ts index 2b049c7f70b4f011f45d99b7f09bbb808e088d5a..a4ef1d9dd8d036b5f1751ae044e79b64ddbee0f6 100644 --- a/src/viewerModule/nehuba/userLayers/userlayerDragdrop.directive.ts +++ b/src/viewerModule/nehuba/userLayers/userlayerDragdrop.directive.ts @@ -5,7 +5,7 @@ import { OnDestroy, OnInit, } from "@angular/core" -import { MatSnackBar } from "@angular/material/snack-bar" +import { MatSnackBar } from "src/sharedModules/angularMaterial.exports" import { Subscription } from "rxjs" import { DragDropFileDirective } from "src/dragDropFile/dragDrop.directive" import { UserLayerService } from "./service" diff --git a/src/viewerModule/nehuba/userLayers/userlayerInfo/userlayerInfo.component.ts b/src/viewerModule/nehuba/userLayers/userlayerInfo/userlayerInfo.component.ts index eb4f6fac154934c88b3c83e595430046b2e2b770..119ccd2f460f40bd5aad35d77463ff096708c4aa 100644 --- a/src/viewerModule/nehuba/userLayers/userlayerInfo/userlayerInfo.component.ts +++ b/src/viewerModule/nehuba/userLayers/userlayerInfo/userlayerInfo.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, ViewChild } from "@angular/core"; -import { MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MAT_DIALOG_DATA } from "src/sharedModules/angularMaterial.exports" import { ARIA_LABELS, CONST } from 'common/constants' import { BehaviorSubject, Subject, combineLatest, concat, of, timer } from "rxjs"; import { map, switchMap, take } from "rxjs/operators"; diff --git a/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts b/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts index 0ec1d5125ba83f89dc91ea8e20e33954673030a7..ea18ee5a2c79bbcccc089d8926e8d1d5d6c5b7f9 100644 --- a/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts +++ b/src/viewerModule/nehuba/viewerCtrl/viewerCtrlCmp/viewerCtrlCmp.component.spec.ts @@ -11,7 +11,7 @@ import { NEHUBA_INSTANCE_INJTKN } from "../../util" import { ViewerCtrlCmp } from "./viewerCtrlCmp.component" import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed' import { HarnessLoader } from "@angular/cdk/testing" -import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing' +import { MatSlideToggleHarness } from "src/sharedModules/angularMaterial.exports" import { atlasAppearance, atlasSelection } from "src/state" diff --git a/src/viewerModule/threeSurfer/module.ts b/src/viewerModule/threeSurfer/module.ts index 7647de0ce175b46f1d5801b7c955b5f8a16e1870..7bc067546c7d4b045e12d0cd687bfa75268de1a5 100644 --- a/src/viewerModule/threeSurfer/module.ts +++ b/src/viewerModule/threeSurfer/module.ts @@ -10,7 +10,6 @@ import { ThreeSurferViewerConfig } from "./tsViewerConfig/tsViewerConfig.compone import { nameSpace, reducer, ThreeSurferEffects } from "./store" import { EffectsModule } from "@ngrx/effects"; import { TmpThreeSurferLifeCycle } from "./lifecycle/lifecycle.component"; -import { MatSlideToggleModule } from "@angular/material/slide-toggle"; import { ExperimentalModule } from "src/experimental/experimental.module"; @NgModule({ @@ -20,7 +19,6 @@ import { ExperimentalModule } from "src/experimental/experimental.module"; UtilModule, FormsModule, ComponentsModule, - MatSlideToggleModule, ExperimentalModule, StoreModule.forFeature( nameSpace, diff --git a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts index 05b5d7f437f80102f03169b716113e2f233d8276..9a44a02e1cd012f11d351e66d8b7b5cc195a4336 100644 --- a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts +++ b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts @@ -5,7 +5,7 @@ import { catchError, debounceTime, distinctUntilChanged, filter, map, scan, shar import { ComponentStore, LockError } from "src/viewerModule/componentStore"; import { select, Store } from "@ngrx/store"; import { ClickInterceptor, CLICK_INTERCEPTOR_INJECTOR } from "src/util"; -import { MatSnackBar } from "@angular/material/snack-bar"; +import { MatSnackBar } from "src/sharedModules/angularMaterial.exports" import { CONST } from 'common/constants' import { getUuid, switchMapWaitFor } from "src/util/fn"; import { AUTO_ROTATE, TInteralStatePayload, ViewerInternalStateSvc } from "src/viewerModule/viewerInternalState.service"; diff --git a/src/viewerModule/viewerCmp/viewerCmp.template.html b/src/viewerModule/viewerCmp/viewerCmp.template.html index 1a247aafb066ec36489c855445c5fe2e6952a57e..9035dc990873df1354f2e05149b29ee9536c453b 100644 --- a/src/viewerModule/viewerCmp/viewerCmp.template.html +++ b/src/viewerModule/viewerCmp/viewerCmp.template.html @@ -815,7 +815,7 @@ <!-- content --> <ng-template matExpansionPanelContent> - <mat-chip-list class="wrapped-chips"> + <mat-chip-set class="wrapped-chips"> <mat-chip *ngFor="let region of regions"> <span> {{ region.name }} @@ -826,7 +826,7 @@ <i class="fas fa-times"></i> </button> </mat-chip> - </mat-chip-list> + </mat-chip-set> </ng-template> </mat-expansion-panel> diff --git a/src/widget/constants.ts b/src/widget/constants.ts index 53cc6568a34d662fa229e00592ca9b92ba0a3e08..a917d4978ee0c76f86ef622ce815822b868e67cd 100644 --- a/src/widget/constants.ts +++ b/src/widget/constants.ts @@ -1,5 +1,5 @@ import { InjectionToken } from "@angular/core"; -import { MatDialogConfig, MatDialogRef } from "@angular/material/dialog"; +import { MatDialogConfig, MatDialogRef } from "src/sharedModules/angularMaterial.exports" export enum EnumActionToWidget{ OPEN, diff --git a/src/widget/widget.module.ts b/src/widget/widget.module.ts index 62b9d65ba70505d09aef098617ec2681bb657294..efe39aa367aeefb7f281f98fb918df31555a5465 100644 --- a/src/widget/widget.module.ts +++ b/src/widget/widget.module.ts @@ -3,19 +3,13 @@ import { CommonModule } from "@angular/common"; import { ComponentsModule } from "src/components"; import { WidgetCanvas } from "./widgetCanvas.directive"; import { WidgetPortal } from "./widgetPortal/widgetPortal.component" -import { MatCardModule } from "@angular/material/card"; -import { DragDropModule } from "@angular/cdk/drag-drop"; -import { MatButtonModule } from "@angular/material/button"; import { PortalModule } from "@angular/cdk/portal"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { WidgetStateIconPipe } from "./widgetStateIcon.pipe"; +import { AngularMaterialModule } from "src/sharedModules"; @NgModule({ imports:[ - MatCardModule, - DragDropModule, - MatButtonModule, - MatTooltipModule, + AngularMaterialModule, PortalModule, CommonModule, ComponentsModule,