@ecodev/natural 47.3.2 → 48.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/esm2020/lib/classes/abstract-editable-list.mjs +2 -2
  2. package/esm2020/lib/classes/abstract-list.mjs +1 -1
  3. package/esm2020/lib/modules/alert/alert.module.mjs +4 -4
  4. package/esm2020/lib/modules/alert/alert.service.mjs +5 -5
  5. package/esm2020/lib/modules/alert/confirm.component.mjs +6 -6
  6. package/esm2020/lib/modules/columns-picker/columns-picker.component.mjs +9 -8
  7. package/esm2020/lib/modules/columns-picker/columns-picker.module.mjs +11 -7
  8. package/esm2020/lib/modules/common/common-module.mjs +4 -4
  9. package/esm2020/lib/modules/common/directives/linkable-tab.directive.mjs +5 -5
  10. package/esm2020/lib/modules/detail-header/detail-header.component.mjs +6 -5
  11. package/esm2020/lib/modules/detail-header/detail-header.module.mjs +6 -5
  12. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.component.mjs +4 -4
  13. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.module.mjs +2 -2
  14. package/esm2020/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +7 -7
  15. package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +7 -8
  16. package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +5 -5
  17. package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +4 -4
  18. package/esm2020/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +4 -4
  19. package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +5 -5
  20. package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +7 -7
  21. package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +3 -3
  22. package/esm2020/lib/modules/file/component/file.component.mjs +7 -6
  23. package/esm2020/lib/modules/file/file.module.mjs +5 -4
  24. package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +6 -5
  25. package/esm2020/lib/modules/fixed-button/fixed-button.module.mjs +6 -5
  26. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +2 -2
  27. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +2 -2
  28. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +10 -9
  29. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +8 -8
  30. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -4
  31. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +8 -8
  32. package/esm2020/lib/modules/icon/icon.directive.mjs +100 -0
  33. package/esm2020/lib/modules/icon/icon.module.mjs +6 -6
  34. package/esm2020/lib/modules/icon/public-api.mjs +2 -2
  35. package/esm2020/lib/modules/panels/panels.module.mjs +2 -2
  36. package/esm2020/lib/modules/panels/panels.service.mjs +4 -4
  37. package/esm2020/lib/modules/relations/relations.component.mjs +10 -9
  38. package/esm2020/lib/modules/relations/relations.module.mjs +13 -9
  39. package/esm2020/lib/modules/search/classes/graphql-doctrine.mjs +1 -1
  40. package/esm2020/lib/modules/search/classes/graphql-doctrine.types.mjs +1 -1
  41. package/esm2020/lib/modules/search/dropdown-container/dropdown-container.component.mjs +3 -3
  42. package/esm2020/lib/modules/search/facet-selector/facet-selector.component.mjs +4 -5
  43. package/esm2020/lib/modules/search/input/input.component.mjs +8 -7
  44. package/esm2020/lib/modules/search/search/search.component.mjs +7 -6
  45. package/esm2020/lib/modules/search/search.module.mjs +12 -8
  46. package/esm2020/lib/modules/search/types/facet.mjs +1 -1
  47. package/esm2020/lib/modules/select/abstract-select.component.mjs +2 -5
  48. package/esm2020/lib/modules/select/select/select.component.mjs +13 -17
  49. package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +4 -4
  50. package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +9 -11
  51. package/esm2020/lib/modules/select/select.module.mjs +14 -10
  52. package/esm2020/lib/modules/sidenav/sidenav.module.mjs +2 -2
  53. package/esm2020/lib/modules/stamp/stamp.component.mjs +3 -3
  54. package/esm2020/lib/modules/table-button/table-button.component.mjs +6 -5
  55. package/esm2020/lib/modules/table-button/table-button.module.mjs +6 -5
  56. package/fesm2015/ecodev-natural.mjs +305 -301
  57. package/fesm2015/ecodev-natural.mjs.map +1 -1
  58. package/fesm2020/ecodev-natural.mjs +307 -301
  59. package/fesm2020/ecodev-natural.mjs.map +1 -1
  60. package/lib/classes/abstract-editable-list.d.ts +2 -2
  61. package/lib/classes/abstract-list.d.ts +1 -1
  62. package/lib/modules/alert/alert.module.d.ts +4 -4
  63. package/lib/modules/alert/alert.service.d.ts +2 -2
  64. package/lib/modules/columns-picker/columns-picker.module.d.ts +6 -5
  65. package/lib/modules/common/common-module.d.ts +4 -4
  66. package/lib/modules/common/directives/linkable-tab.directive.d.ts +2 -2
  67. package/lib/modules/detail-header/detail-header.module.d.ts +3 -2
  68. package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +1 -1
  69. package/lib/modules/dialog-trigger/dialog-trigger.module.d.ts +2 -2
  70. package/lib/modules/dropdown-components/natural-dropdown-components.module.d.ts +7 -7
  71. package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +1 -1
  72. package/lib/modules/file/file.module.d.ts +2 -1
  73. package/lib/modules/fixed-button/fixed-button.module.d.ts +4 -3
  74. package/lib/modules/fixed-button-detail/fixed-button-detail.module.d.ts +2 -2
  75. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +1 -1
  76. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.d.ts +1 -1
  77. package/lib/modules/hierarchic-selector/hierarchic-selector.module.d.ts +8 -8
  78. package/lib/modules/icon/icon.directive.d.ts +43 -0
  79. package/lib/modules/icon/icon.module.d.ts +3 -3
  80. package/lib/modules/icon/public-api.d.ts +1 -1
  81. package/lib/modules/panels/panels.module.d.ts +2 -2
  82. package/lib/modules/panels/panels.service.d.ts +1 -1
  83. package/lib/modules/relations/relations.component.d.ts +1 -1
  84. package/lib/modules/relations/relations.module.d.ts +8 -7
  85. package/lib/modules/search/classes/graphql-doctrine.types.d.ts +23 -23
  86. package/lib/modules/search/search.module.d.ts +6 -5
  87. package/lib/modules/search/types/facet.d.ts +3 -3
  88. package/lib/modules/select/abstract-select.component.d.ts +1 -3
  89. package/lib/modules/select/select/select.component.d.ts +1 -6
  90. package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +0 -3
  91. package/lib/modules/select/select.module.d.ts +9 -8
  92. package/lib/modules/sidenav/sidenav.module.d.ts +2 -2
  93. package/lib/modules/table-button/table-button.module.d.ts +3 -2
  94. package/package.json +1 -1
  95. package/src/lib/_natural.theme.scss +34 -2
  96. package/src/lib/modules/alert/_alert.theme.scss +1 -1
  97. package/src/lib/modules/panels/_panels.external.scss +2 -3
  98. package/src/lib/modules/search/input/_input.theme.scss +2 -2
  99. package/src/lib/styles/_table.scss +4 -4
  100. package/theming/_natural.theme.scss +1 -1
  101. package/esm2020/lib/modules/icon/icon.component.mjs +0 -95
  102. package/lib/modules/icon/icon.component.d.ts +0 -41
  103. package/src/lib/modules/icon/_icon.theme.scss +0 -34
  104. package/src/lib/modules/table-button/_table-button.theme.scss +0 -22
@@ -3,19 +3,20 @@ import * as i1 from "./select/select.component";
3
3
  import * as i2 from "./select-enum/select-enum.component";
4
4
  import * as i3 from "./select-hierarchic/select-hierarchic.component";
5
5
  import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/material/legacy-autocomplete";
7
- import * as i6 from "@angular/material/legacy-button";
8
- import * as i7 from "@angular/material/legacy-form-field";
9
- import * as i8 from "@angular/material/legacy-input";
10
- import * as i9 from "@angular/material/legacy-progress-spinner";
11
- import * as i10 from "@angular/material/legacy-select";
12
- import * as i11 from "@angular/material/legacy-tooltip";
6
+ import * as i5 from "@angular/material/autocomplete";
7
+ import * as i6 from "@angular/material/button";
8
+ import * as i7 from "@angular/material/form-field";
9
+ import * as i8 from "@angular/material/input";
10
+ import * as i9 from "@angular/material/progress-spinner";
11
+ import * as i10 from "@angular/material/select";
12
+ import * as i11 from "@angular/material/tooltip";
13
13
  import * as i12 from "../common/common-module";
14
14
  import * as i13 from "../icon/icon.module";
15
15
  import * as i14 from "@angular/forms";
16
16
  import * as i15 from "@angular/router";
17
+ import * as i16 from "@angular/material/icon";
17
18
  export declare class NaturalSelectModule {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSelectModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalSelectModule, [typeof i1.NaturalSelectComponent, typeof i2.NaturalSelectEnumComponent, typeof i3.NaturalSelectHierarchicComponent], [typeof i4.CommonModule, typeof i5.MatLegacyAutocompleteModule, typeof i6.MatLegacyButtonModule, typeof i7.MatLegacyFormFieldModule, typeof i8.MatLegacyInputModule, typeof i9.MatLegacyProgressSpinnerModule, typeof i10.MatLegacySelectModule, typeof i11.MatLegacyTooltipModule, typeof i12.NaturalCommonModule, typeof i13.NaturalIconModule, typeof i14.ReactiveFormsModule, typeof i15.RouterModule], [typeof i1.NaturalSelectComponent, typeof i2.NaturalSelectEnumComponent, typeof i3.NaturalSelectHierarchicComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalSelectModule, [typeof i1.NaturalSelectComponent, typeof i2.NaturalSelectEnumComponent, typeof i3.NaturalSelectHierarchicComponent], [typeof i4.CommonModule, typeof i5.MatAutocompleteModule, typeof i6.MatButtonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatProgressSpinnerModule, typeof i10.MatSelectModule, typeof i11.MatTooltipModule, typeof i12.NaturalCommonModule, typeof i13.NaturalIconModule, typeof i14.ReactiveFormsModule, typeof i15.RouterModule, typeof i16.MatIconModule], [typeof i1.NaturalSelectComponent, typeof i2.NaturalSelectEnumComponent, typeof i3.NaturalSelectHierarchicComponent]>;
20
21
  static ɵinj: i0.ɵɵInjectorDeclaration<NaturalSelectModule>;
21
22
  }
@@ -5,9 +5,9 @@ import * as i3 from "./sidenav-content/sidenav-content.component";
5
5
  import * as i4 from "@angular/common";
6
6
  import * as i5 from "@angular/material/sidenav";
7
7
  import * as i6 from "@angular/material/icon";
8
- import * as i7 from "@angular/material/legacy-button";
8
+ import * as i7 from "@angular/material/button";
9
9
  export declare class NaturalSidenavModule {
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSidenavModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalSidenavModule, [typeof i1.NaturalSidenavComponent, typeof i2.NaturalSidenavContainerComponent, typeof i3.NaturalSidenavContentComponent], [typeof i4.CommonModule, typeof i5.MatSidenavModule, typeof i6.MatIconModule, typeof i7.MatLegacyButtonModule], [typeof i1.NaturalSidenavComponent, typeof i2.NaturalSidenavContainerComponent, typeof i3.NaturalSidenavContentComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalSidenavModule, [typeof i1.NaturalSidenavComponent, typeof i2.NaturalSidenavContainerComponent, typeof i3.NaturalSidenavContentComponent], [typeof i4.CommonModule, typeof i5.MatSidenavModule, typeof i6.MatIconModule, typeof i7.MatButtonModule], [typeof i1.NaturalSidenavComponent, typeof i2.NaturalSidenavContainerComponent, typeof i3.NaturalSidenavContentComponent]>;
12
12
  static ɵinj: i0.ɵɵInjectorDeclaration<NaturalSidenavModule>;
13
13
  }
@@ -2,10 +2,11 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./table-button.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/router";
5
- import * as i4 from "@angular/material/legacy-button";
5
+ import * as i4 from "@angular/material/button";
6
6
  import * as i5 from "../icon/icon.module";
7
+ import * as i6 from "@angular/material/icon";
7
8
  export declare class NaturalTableButtonModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalTableButtonModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalTableButtonModule, [typeof i1.NaturalTableButtonComponent], [typeof i2.CommonModule, typeof i3.RouterModule, typeof i4.MatLegacyButtonModule, typeof i5.NaturalIconModule], [typeof i1.NaturalTableButtonComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NaturalTableButtonModule, [typeof i1.NaturalTableButtonComponent], [typeof i2.CommonModule, typeof i3.RouterModule, typeof i4.MatButtonModule, typeof i5.NaturalIconModule, typeof i6.MatIconModule], [typeof i1.NaturalTableButtonComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<NaturalTableButtonModule>;
11
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecodev/natural",
3
- "version": "47.3.2",
3
+ "version": "48.0.1",
4
4
  "license": "MIT",
5
5
  "repository": "github:Ecodev/natural",
6
6
  "sideEffects": false,
@@ -1,3 +1,6 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+
1
4
  // Non themes
2
5
  @use 'styles/layout';
3
6
  @use 'styles/table';
@@ -5,15 +8,44 @@
5
8
  // Themes
6
9
  @use 'modules/alert/alert.theme';
7
10
  @use 'modules/sidenav/sidenav.theme';
8
- @use 'modules/icon/icon.theme';
9
11
  @use 'modules/search/search.theme';
10
12
  @use 'modules/file/component/file.theme';
11
13
 
12
14
  @mixin natural($theme) {
15
+ $primary: map.get($theme, primary);
16
+ $accent: map.get($theme, accent);
17
+ $warn: map.get($theme, warn);
18
+ $background: map.get($theme, background);
19
+ $foreground: map.get($theme, foreground);
20
+
13
21
  @include alert.natural-alert($theme);
14
22
  @include sidenav.natural-sidenav($theme);
15
- @include icon.natural-icon($theme);
16
23
  @include search.natural-search($theme);
17
24
  @include table.natural-table($theme);
18
25
  @include file.natural-file($theme);
26
+
27
+ .mat-mdc-tab-labels,
28
+ .mdc-data-table__row:last-child .mdc-data-table__cell {
29
+ border-bottom: 1px solid mat.get-color-from-palette($foreground, divider);
30
+ }
31
+
32
+ // Since MDC dialogs, text color is too pale, so we restore a higher contrast for better readability
33
+ // See https://github.com/angular/components/issues/26797
34
+ .mat-mdc-dialog-container .mdc-dialog__content {
35
+ color: mat.get-color-from-palette(map.get($theme, foreground), base, 0.87);
36
+ }
19
37
  }
38
+
39
+ $defaultConfig: mat.define-typography-config();
40
+
41
+ // This is the default Material typography, but with button with normal letter-spacing instead of wider letter-spacing.
42
+ $typography: mat.define-typography-config(
43
+ $button:
44
+ mat.define-typography-level(
45
+ $font-family: mat.font-family($defaultConfig, 'button'),
46
+ $font-weight: mat.font-weight($defaultConfig, 'button'),
47
+ $font-size: mat.font-size($defaultConfig, 'button'),
48
+ $line-height: mat.line-height($defaultConfig, 'button'),
49
+ $letter-spacing: normal,
50
+ ),
51
+ );
@@ -7,7 +7,7 @@
7
7
  $bg: map.get($theme, background);
8
8
  $fg: map.get($theme, foreground);
9
9
 
10
- .snackbar-error {
10
+ .snackbar-error .mdc-snackbar__surface {
11
11
  background-color: mat.get-color-from-palette($warn) !important;
12
12
  color: mat.get-color-from-palette($warn, default-contrast) !important;
13
13
  }
@@ -7,7 +7,6 @@
7
7
  max-width: calc(100vw - 20px);
8
8
  }
9
9
 
10
- .mat-dialog-container,
11
10
  .mat-dialog-container {
12
11
  border-radius: 0 !important;
13
12
  display: flex;
@@ -26,13 +25,13 @@
26
25
  padding: 3px;
27
26
 
28
27
  // Targets lists. Aligns vertically listing headers with details headers
29
- & > div > div > div.mat-headline.no-margin {
28
+ & > div > div > div.mat-headline-5.no-margin {
30
29
  padding-top: 40px;
31
30
  }
32
31
 
33
32
  // Targets all headers
34
33
  // Align header with content (padding 20px)
35
- &.isFrontPanel > div > div > div.mat-headline.no-margin,
34
+ &.isFrontPanel > div > div > div.mat-headline-5.no-margin,
36
35
  &.isFrontPanel natural-detail-header > div {
37
36
  padding-left: 20px;
38
37
  padding-right: 20px;
@@ -4,7 +4,7 @@
4
4
  */
5
5
  @mixin natural-input($theme) {
6
6
  natural-input {
7
- .mat-form-field-infix {
7
+ .mat-mdc-form-field-infix {
8
8
  margin-left: 10px;
9
9
  margin-right: 10px;
10
10
  width: auto;
@@ -16,7 +16,7 @@
16
16
  align-items: flex-start; // Fix firefox misalignment with baseline and mat-icon-button that seems not accepted by @a/material
17
17
  }
18
18
 
19
- .mat-form-field {
19
+ .mat-mdc-form-field {
20
20
  margin-bottom: -1.25em;
21
21
  }
22
22
  }
@@ -19,9 +19,9 @@
19
19
  justify-content: center;
20
20
  }
21
21
 
22
- .mat-cell,
23
- .mat-header-cell,
24
- .mat-footer-cell {
22
+ .mat-mdc-cell,
23
+ .mat-mdc-header-cell,
24
+ .mat-mdc-footer-cell {
25
25
  &:first-child {
26
26
  padding-right: 5px;
27
27
  }
@@ -62,7 +62,7 @@
62
62
  background: mat.get-color-from-palette($background, app-bar);
63
63
  }
64
64
 
65
- .mat-footer-cell {
65
+ .mat-mdc-footer-cell {
66
66
  font-weight: bold;
67
67
  }
68
68
 
@@ -7,4 +7,4 @@ So Natural styles can be imported into an application like so:
7
7
  ```
8
8
  */
9
9
 
10
- @forward '../src/lib/natural.theme' show natural;
10
+ @forward '../src/lib/natural.theme' show natural, $typography;
@@ -1,95 +0,0 @@
1
- import { Component, HostBinding, Inject, InjectionToken, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/icon";
4
- import * as i2 from "@angular/platform-browser";
5
- import * as i3 from "@angular/common";
6
- export const IconsConfigService = new InjectionToken('NaturalIconsConfig');
7
- const naturalRegistered = Symbol('Natural icon registered');
8
- export class NaturalIconComponent {
9
- constructor(matIconRegistry, domSanitizer, config) {
10
- this.matIconRegistry = matIconRegistry;
11
- this.domSanitizer = domSanitizer;
12
- this.config = config;
13
- this.fgColor = 'inherit';
14
- this.isMaterialIcon = true;
15
- this.isIcon = true;
16
- this.width = 24;
17
- this.height = 24;
18
- this.fontSize = 24;
19
- this.labelColor = 'accent';
20
- this.labelPosition = 'top-right';
21
- this.icon = {
22
- name: '',
23
- };
24
- this.registerIcons(config);
25
- }
26
- set name(value) {
27
- const newIcon = { name: value };
28
- if (this.config[value]) {
29
- this.icon = Object.assign(newIcon, this.config[value]);
30
- }
31
- else {
32
- newIcon.font = value;
33
- this.icon = newIcon;
34
- }
35
- }
36
- set size(val) {
37
- val = val == null ? 24 : val;
38
- this.height = val;
39
- this.width = val;
40
- this.fontSize = val;
41
- }
42
- registerIcons(config) {
43
- // Ensure that this specific instance of registry has our our icons
44
- // exactly once, not less and not more
45
- const registry = this.matIconRegistry;
46
- if (registry[naturalRegistered]) {
47
- return;
48
- }
49
- registry[naturalRegistered] = true;
50
- for (const key of Object.keys(config)) {
51
- const svg = config[key].svg;
52
- if (svg) {
53
- this.matIconRegistry.addSvgIcon(key, this.domSanitizer.bypassSecurityTrustResourceUrl(svg));
54
- }
55
- }
56
- }
57
- }
58
- NaturalIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }, { token: IconsConfigService }], target: i0.ɵɵFactoryTarget.Component });
59
- NaturalIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalIconComponent, selector: "natural-icon", inputs: { label: "label", labelColor: "labelColor", labelPosition: "labelPosition", name: "name", size: "size" }, host: { properties: { "style.color": "this.fgColor", "class.material-icons": "this.isMaterialIcon", "class.mat-icon": "this.isIcon", "style.min-width.px": "this.width", "style.min-height.px": "this.height", "style.font-size.px": "this.fontSize" } }, ngImport: i0, template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'natural-icon', template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
64
- type: Inject,
65
- args: [IconsConfigService]
66
- }] }]; }, propDecorators: { fgColor: [{
67
- type: HostBinding,
68
- args: ['style.color']
69
- }], isMaterialIcon: [{
70
- type: HostBinding,
71
- args: ['class.material-icons']
72
- }], isIcon: [{
73
- type: HostBinding,
74
- args: ['class.mat-icon']
75
- }], width: [{
76
- type: HostBinding,
77
- args: ['style.min-width.px']
78
- }], height: [{
79
- type: HostBinding,
80
- args: ['style.min-height.px']
81
- }], fontSize: [{
82
- type: HostBinding,
83
- args: ['style.font-size.px']
84
- }], label: [{
85
- type: Input
86
- }], labelColor: [{
87
- type: Input
88
- }], labelPosition: [{
89
- type: Input
90
- }], name: [{
91
- type: Input
92
- }], size: [{
93
- type: Input
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQXFCcEYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUM7QUFFL0YsTUFBTSxpQkFBaUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFPM0UsTUFBTSxPQUFPLG9CQUFvQjtJQWdCN0IsWUFDcUIsZUFBZ0MsRUFDaEMsWUFBMEIsRUFDRSxNQUEwQjtRQUZ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDRSxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQWxCeEMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUNYLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzVCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDVixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1YsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHeEMsZUFBVSxHQUFrQyxRQUFRLENBQUM7UUFDckQsa0JBQWEsR0FBOEQsV0FBVyxDQUFDO1FBRWhHLFNBQUksR0FBb0I7WUFDM0IsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBT0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBb0IsSUFBSSxDQUFDLEtBQWE7UUFDbEMsTUFBTSxPQUFPLEdBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0gsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsSUFBb0IsSUFBSSxDQUFDLEdBQVc7UUFDaEMsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBMEI7UUFDNUMsbUVBQW1FO1FBQ25FLHNDQUFzQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBc0IsQ0FBQztRQUM3QyxJQUFJLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUM1QixJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9GO1NBQ0o7SUFDTCxDQUFDOztpSEF4RFEsb0JBQW9CLDZFQW1CakIsa0JBQWtCO3FHQW5CckIsb0JBQW9CLGdhQzlCakMsa1RBSUE7MkZEMEJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjOzswQkF1Qm5CLE1BQU07MkJBQUMsa0JBQWtCOzRDQWxCSyxPQUFPO3NCQUF6QyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ2tCLGNBQWM7c0JBQXpELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLE1BQU07c0JBQTNDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNhLEtBQUs7c0JBQTlDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNVLE1BQU07c0JBQWhELFdBQVc7dUJBQUMscUJBQXFCO2dCQUNRLFFBQVE7c0JBQWpELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUVqQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFjYyxJQUFJO3NCQUF2QixLQUFLO2dCQVVjLElBQUk7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0SWNvblJlZ2lzdHJ5fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW50ZXJmYWNlIE5hdHVyYWxJY29uVHlwZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbEljb25Db25maWcge1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbEljb25zQ29uZmlnIHtcbiAgICBba2V5OiBzdHJpbmddOiBOYXR1cmFsSWNvbkNvbmZpZztcbn1cblxuZXhwb3J0IGNvbnN0IEljb25zQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsSWNvbnNDb25maWc+KCdOYXR1cmFsSWNvbnNDb25maWcnKTtcblxuY29uc3QgbmF0dXJhbFJlZ2lzdGVyZWQ6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ05hdHVyYWwgaWNvbiByZWdpc3RlcmVkJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1pY29uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsSWNvbkNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpIHB1YmxpYyBmZ0NvbG9yID0gJ2luaGVyaXQnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0ZXJpYWwtaWNvbnMnKSBwdWJsaWMgaXNNYXRlcmlhbEljb24gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWljb24nKSBwdWJsaWMgaXNJY29uID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aC5weCcpIHB1YmxpYyB3aWR0aCA9IDI0O1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodC5weCcpIHB1YmxpYyBoZWlnaHQgPSAyNDtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZvbnQtc2l6ZS5weCcpIHB1YmxpYyBmb250U2l6ZSA9IDI0O1xuXG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbENvbG9yOiAncHJpbWFyeScgfCAnd2FybicgfCAnYWNjZW50JyA9ICdhY2NlbnQnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAndG9wLXJpZ2h0JyB8ICd0b3AtbGVmdCcgfCAnYm90dG9tLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgPSAndG9wLXJpZ2h0JztcblxuICAgIHB1YmxpYyBpY29uOiBOYXR1cmFsSWNvblR5cGUgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoSWNvbnNDb25maWdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogTmF0dXJhbEljb25zQ29uZmlnLFxuICAgICkge1xuICAgICAgICB0aGlzLnJlZ2lzdGVySWNvbnMoY29uZmlnKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuZXdJY29uOiBOYXR1cmFsSWNvblR5cGUgPSB7bmFtZTogdmFsdWV9O1xuICAgICAgICBpZiAodGhpcy5jb25maWdbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLmljb24gPSBPYmplY3QuYXNzaWduKG5ld0ljb24sIHRoaXMuY29uZmlnW3ZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdJY29uLmZvbnQgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaWNvbiA9IG5ld0ljb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHNpemUodmFsOiBudW1iZXIpIHtcbiAgICAgICAgdmFsID0gdmFsID09IG51bGwgPyAyNCA6IHZhbDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWw7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWw7XG4gICAgICAgIHRoaXMuZm9udFNpemUgPSB2YWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckljb25zKGNvbmZpZzogTmF0dXJhbEljb25zQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgc3BlY2lmaWMgaW5zdGFuY2Ugb2YgcmVnaXN0cnkgaGFzIG91ciBvdXIgaWNvbnNcbiAgICAgICAgLy8gZXhhY3RseSBvbmNlLCBub3QgbGVzcyBhbmQgbm90IG1vcmVcbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSB0aGlzLm1hdEljb25SZWdpc3RyeSBhcyBhbnk7XG4gICAgICAgIGlmIChyZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0gPSB0cnVlO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IGNvbmZpZ1trZXldLnN2ZztcbiAgICAgICAgICAgIGlmIChzdmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKGtleSwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHN2ZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG1hdC1pY29uICpuZ0lmPVwiaWNvbi5mb250XCIgW2NsYXNzXT1cImljb24uY2xhc3NcIiBbZm9udEljb25dPVwiaWNvbi5mb250XCI+PC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cImljb24uc3ZnXCIgW2NsYXNzXT1cImljb24uY2xhc3NcIiBbc3ZnSWNvbl09XCJpY29uLm5hbWVcIiBjbGFzcz1cInN2Zy1pY29uXCI+PC9tYXQtaWNvbj5cblxuPGRpdiAqbmdJZj1cImxhYmVsXCIgW25nQ2xhc3NdPVwibGFiZWxDb2xvciArICcgJyArIGxhYmVsUG9zaXRpb25cIiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2Rpdj5cbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { MatIconRegistry } from '@angular/material/icon';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
- import * as i0 from "@angular/core";
5
- interface NaturalIconType {
6
- name: string;
7
- svg?: string;
8
- font?: string;
9
- class?: 'negative' | 'neutral' | 'positive';
10
- }
11
- export interface NaturalIconConfig {
12
- svg?: string;
13
- font?: string;
14
- class?: 'negative' | 'neutral' | 'positive';
15
- }
16
- export interface NaturalIconsConfig {
17
- [key: string]: NaturalIconConfig;
18
- }
19
- export declare const IconsConfigService: InjectionToken<NaturalIconsConfig>;
20
- export declare class NaturalIconComponent {
21
- private readonly matIconRegistry;
22
- private readonly domSanitizer;
23
- private readonly config;
24
- fgColor: string;
25
- isMaterialIcon: boolean;
26
- isIcon: boolean;
27
- width: number;
28
- height: number;
29
- fontSize: number;
30
- label?: string;
31
- labelColor: 'primary' | 'warn' | 'accent';
32
- labelPosition: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
33
- icon: NaturalIconType;
34
- constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer, config: NaturalIconsConfig);
35
- set name(value: string);
36
- set size(val: number);
37
- private registerIcons;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<NaturalIconComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalIconComponent, "natural-icon", never, { "label": "label"; "labelColor": "labelColor"; "labelPosition": "labelPosition"; "name": "name"; "size": "size"; }, {}, never, never, false, never>;
40
- }
41
- export {};
@@ -1,34 +0,0 @@
1
- @use 'sass:map';
2
- @use '@angular/material' as mat;
3
- @mixin natural-icon($theme) {
4
- $primary: map.get($theme, primary);
5
- $accent: map.get($theme, accent);
6
- $warn: map.get($theme, warn);
7
-
8
- .label {
9
- &.primary {
10
- background: mat.get-color-from-palette($primary);
11
- color: mat.get-color-from-palette($primary, default-contrast);
12
- }
13
-
14
- &.accent {
15
- background: mat.get-color-from-palette($accent);
16
- color: mat.get-color-from-palette($accent, default-contrast);
17
- }
18
-
19
- &.warn {
20
- background: mat.get-color-from-palette($warn);
21
- color: mat.get-color-from-palette($warn, default-contrast);
22
- }
23
- }
24
- }
25
-
26
- natural-icon {
27
- .mat-icon {
28
- svg {
29
- width: 0.83333333em;
30
- height: 0.833333333em;
31
- margin: 0.083333333em;
32
- }
33
- }
34
- }
@@ -1,22 +0,0 @@
1
- @use '@angular/material' as mat;
2
- @mixin table-button($theme) {
3
- $primary: map-get($theme, primary);
4
- $accent: map-get($theme, accent);
5
- $background: map-get($theme, background);
6
- $foreground: map-get($theme, foreground);
7
-
8
- natural-table-button {
9
- a.mat-button {
10
- &:hover .mat-button-focus-overlay {
11
- background: mat.get-color-from-palette($background, hover);
12
- }
13
- }
14
-
15
- .mat-icon-button {
16
- .mat-icon {
17
- position: relative;
18
- top: -1px;
19
- }
20
- }
21
- }
22
- }