@elderbyte/ngx-starter 19.1.0-beta.0 → 19.1.0-beta.10
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.
- package/_index.scss +1 -1
- package/fesm2022/elderbyte-ngx-starter.mjs +213 -714
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/utils/public_api.d.ts +1 -0
- package/lib/components/data-view/base/elder-data-view-base.d.ts +14 -0
- package/lib/components/layout/basic-pane-layout/basic-pane-layout.component.d.ts +6 -0
- package/lib/components/layout/pane-header/pane-header.component.d.ts +7 -0
- package/lib/components/layout/public_api.d.ts +2 -1
- package/lib/components/public_api.d.ts +0 -1
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +2 -1
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +6 -6
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -2
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +4 -4
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +1 -1
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -1
- package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +1 -1
- package/theming/abstracts/_elder-design-tokens.scss +175 -0
- package/theming/{system/_elder-config.scss → abstracts/_elder-scss-variables.scss} +40 -0
- package/theming/{system/_elder-defaults.scss → abstracts/_elder-set-defaults-fn.scss} +8 -8
- package/theming/abstracts/_elder-starter-theme.scss +47 -0
- package/theming/abstracts/_elder-theme-main.scss +92 -0
- package/theming/{style-tweaks/_elder-common.scss → base/_elder-common-base.scss} +8 -11
- package/theming/{style-tweaks → base}/_elder-component-themes.scss +1 -1
- package/theming/{style-tweaks/_elder-style-fixes.scss → base/_elder-fixes-base.scss} +32 -20
- package/theming/{style-tweaks/_elder-form.scss → base/_elder-form-base.scss} +7 -4
- package/theming/{style-tweaks/_elder-color-variants.scss → base/_elder-m2-legacy-base.scss} +7 -1
- package/theming/components/_elder-chip-theme.scss +158 -0
- package/theming/{utility-classes/_elder-color-helpers.scss → utilities/_elder-color-utils.scss} +5 -8
- package/theming/utilities/_elder-common-utils.scss +17 -0
- package/theming/{utility-classes/_elder-flex-layout.scss → utilities/_elder-flex-layout-utils.scss} +108 -6
- package/theming/{utility-classes/_elder-layout-system.scss → utilities/_elder-layout-utils.scss} +46 -21
- package/theming/utilities/_elder-typography-utils.scss +61 -0
- package/lib/components/layout/pane-container/pane-container.component.d.ts +0 -11
- package/lib/components/m3-sidenav/m3-sidenav.component.d.ts +0 -5
- package/lib/components/style-debugger/style-debugger.component.d.ts +0 -40
- package/src/lib/components/chips/_elder-chip-theme.scss +0 -129
- package/theming/style-tweaks/_elder-reset.scss +0 -13
- package/theming/system/_elder-design-tokens.scss +0 -90
- package/theming/system/_elder-m3-theme.scss +0 -156
- package/theming/system/_elder-starter-theme.scss +0 -41
- /package/theming/{style-tweaks/_elder-style-tweak-mixins.scss → base/_elder-base-mixins.scss} +0 -0
|
@@ -37,10 +37,12 @@ export declare abstract class ElderDataViewBaseComponent implements IElderDataVi
|
|
|
37
37
|
*/
|
|
38
38
|
private _dense;
|
|
39
39
|
/**
|
|
40
|
+
* @deprecated This property is no longer relevant, since we always render the elements as embedded.
|
|
40
41
|
* The appearance of the surrounding card container.
|
|
41
42
|
*/
|
|
42
43
|
private _appearance;
|
|
43
44
|
/**
|
|
45
|
+
* @deprecated This property is no longer relevant, since we always render the elements as embedded.
|
|
44
46
|
* If true, this table is in embedded mode.
|
|
45
47
|
* No borders / floating visible so that the table can be embedded into another container
|
|
46
48
|
*/
|
|
@@ -101,9 +103,21 @@ export declare abstract class ElderDataViewBaseComponent implements IElderDataVi
|
|
|
101
103
|
* @deprecated Switch to appearance="raised"
|
|
102
104
|
*/
|
|
103
105
|
set float(value: BooleanInput);
|
|
106
|
+
/**
|
|
107
|
+
* @deprecated , since we always render the elements as embedded.
|
|
108
|
+
*/
|
|
104
109
|
set appearance(value: MatCardAppearance);
|
|
110
|
+
/**
|
|
111
|
+
* @deprecated , since we always render the elements as embedded.
|
|
112
|
+
*/
|
|
105
113
|
get appearance(): MatCardAppearance;
|
|
114
|
+
/**
|
|
115
|
+
* @deprecated , since we always render the elements as embedded.
|
|
116
|
+
*/
|
|
106
117
|
set embedded(value: boolean | '');
|
|
118
|
+
/**
|
|
119
|
+
* @deprecated , since we always render the elements as embedded.
|
|
120
|
+
*/
|
|
107
121
|
get embedded(): boolean | '';
|
|
108
122
|
/***************************************************************************
|
|
109
123
|
* *
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ElderBasicPaneLayoutComponent {
|
|
3
|
+
class: string;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderBasicPaneLayoutComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderBasicPaneLayoutComponent, "elder-basic-pane-layout", never, {}, {}, never, ["*"], true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ElderPaneHeaderComponent {
|
|
3
|
+
class: string;
|
|
4
|
+
title: import("@angular/core").InputSignal<string>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderPaneHeaderComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderPaneHeaderComponent, "elder-pane-header", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
7
|
+
}
|
|
@@ -40,5 +40,4 @@ export * from './auditing/elder-audit.module';
|
|
|
40
40
|
export * from './tabs/elder-tab.module';
|
|
41
41
|
export * from './badge/elder-badge.module';
|
|
42
42
|
export * from './page/public_api';
|
|
43
|
-
export { ElderStyleDebuggerComponent } from './style-debugger/style-debugger.component';
|
|
44
43
|
export * from './layout/public_api';
|
|
@@ -144,6 +144,6 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
|
|
|
144
144
|
*/
|
|
145
145
|
protected writeToControl(value: TValue): void;
|
|
146
146
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectComponent<any, any, any>, never>;
|
|
147
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderSelectComponent<any, any, any>, "elder-select", never, { "nullDisplay": { "alias": "nullDisplay"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "entity": { "alias": "entity"; "required": false; }; "entityId": { "alias": "entityId"; "required": false; }; }, { "entityIdChange": "entityIdChange"; "entityIdUpdated": "entityIdUpdated"; "entityChange": "entityChange"; "entityUpdated": "entityUpdated"; }, never, never, true, never>;
|
|
147
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderSelectComponent<any, any, any>, "elder-select", never, { "nullDisplay": { "alias": "nullDisplay"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "entity": { "alias": "entity"; "required": false; }; "entityId": { "alias": "entityId"; "required": false; }; }, { "entityIdChange": "entityIdChange"; "entityIdUpdated": "entityIdUpdated"; "entityChange": "entityChange"; "entityUpdated": "entityUpdated"; "entity$": "entity"; }, never, never, true, never>;
|
|
148
148
|
}
|
|
149
149
|
export {};
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ $elder-tile-padding: 8px;
|
|
|
5
5
|
@mixin theme($theme) {
|
|
6
6
|
.elder-grid-container {
|
|
7
7
|
border-radius: var(--elder-border-radius-sm);
|
|
8
|
+
background-color: var(--elder-grid-background-color);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
mat-card:has(> .elder-grid-container) {
|
|
@@ -20,7 +21,7 @@ $elder-tile-padding: 8px;
|
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
.elder-grid-footer {
|
|
23
|
-
min-height:
|
|
24
|
+
min-height: var(--elder-data-element-footer-height);
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.elder-grid-tile {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.elder-table-footer {
|
|
62
|
-
height:
|
|
62
|
+
height: var(--elder-data-element-footer-height);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
.elder-table-checkbox {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.elder-table-row:hover {
|
|
86
|
-
background-color: var(--
|
|
86
|
+
background-color: var(--elder-color-highlight-variant);
|
|
87
87
|
cursor: pointer;
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
outline-style: none;
|
|
94
94
|
td {
|
|
95
95
|
background-color: var(
|
|
96
|
-
--
|
|
96
|
+
--elder-color-highlight-strong
|
|
97
97
|
); // OLD: background-color: mat.m2-get-color-from-palette($accent, default, 0.3);
|
|
98
98
|
border-bottom: var(
|
|
99
99
|
--md-sys-color-tertiary-fixed
|
|
@@ -102,11 +102,11 @@
|
|
|
102
102
|
}
|
|
103
103
|
.elder-table-row.elder-table-row-activated {
|
|
104
104
|
//background-color: var(--md-sys-color-surface-dim);
|
|
105
|
-
background-color: var(--
|
|
105
|
+
background-color: var(--elder-color-highlight-strong);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
.elder-table-row.elder-table-row-selected {
|
|
109
|
-
background-color: var(--
|
|
109
|
+
background-color: var(--elder-color-highlight-strong);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.elder-mat-table-flat {
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
&:last-of-type {
|
|
151
|
-
padding-right: $pad;
|
|
151
|
+
padding-right: $pad; // TODO: This can lead to overflows in some cases, is there a better solution?
|
|
152
152
|
|
|
153
153
|
&[mat-sort-header]:not([arrowposition='before']) {
|
|
154
154
|
padding-right: $pad;
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.elder-drop-zone.is-dragover {
|
|
21
|
-
border: 4px solid var(--md-sys-color-tertiary
|
|
22
|
-
background-color: var(--md-sys-color-tertiary);
|
|
21
|
+
border: 4px solid var(--md-sys-color-tertiary);
|
|
22
|
+
background-color: var(--md-sys-color-tertiary-container);
|
|
23
23
|
|
|
24
24
|
.elder-drop-zone-icon {
|
|
25
|
-
color: var(--md-sys-color-tertiary
|
|
25
|
+
color: var(--md-sys-color-tertiary);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.elder-drop-zone-prompt {
|
|
29
|
-
color: var(--md-sys-color-tertiary
|
|
29
|
+
color: var(--md-sys-color-tertiary);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
&.elder-toast-type-warn {
|
|
6
6
|
--elder-toast-message-color-title: var(--elder-toast-message-color-title-warn);
|
|
7
|
-
--mdc-filled-button-container-color: var(--md-sys-color-tertiary
|
|
7
|
+
--mdc-filled-button-container-color: var(--md-sys-color-tertiary);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
&.elder-toast-type-error {
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use './elder-scss-variables' as config;
|
|
3
|
+
|
|
4
|
+
@mixin elder-design-tokens() {
|
|
5
|
+
@include elder-badge-sizing();
|
|
6
|
+
|
|
7
|
+
& {
|
|
8
|
+
// bg color
|
|
9
|
+
--md-sys-color-background: var(--md-sys-color-surface-container-highest);
|
|
10
|
+
--mat-app-background-color: var(--md-sys-color-background);
|
|
11
|
+
|
|
12
|
+
// mat variables
|
|
13
|
+
--mat-sidenav-container-width: auto; // is set to around 300px by default in MAT 3 (MAT 2 was auto by default)
|
|
14
|
+
--mat-badge-small-size-text-size: 9px; // this is the mat2 setting, mat3 somehow sets this to 0, which hides the font, unclear why.
|
|
15
|
+
--mdc-dialog-container-shape: 16px; // make border-radius of dialog container smaller (default is 28px)
|
|
16
|
+
--mat-dialog-container-max-width: 80vw; // 80vw is mat 2 default, mat 3 default is very narrow: 560px;
|
|
17
|
+
--mat-toolbar-title-text-tracking: 0; // mat toolbar typography
|
|
18
|
+
--mat-toolbar-title-text-weight: 500; // mat toolbar typography
|
|
19
|
+
--mat-table-row-item-outline-color: var(--md-sys-color-outline-variant);
|
|
20
|
+
--mat-divider-color: var(--md-sys-color-outline-variant); // make divider color lighter
|
|
21
|
+
--mat-sidenav-container-elevation-shadow: var(--mat-app-elevation-shadow-level-16);
|
|
22
|
+
--mat-sidenav-container-background-color: var(--md-sys-color-surface-container);
|
|
23
|
+
|
|
24
|
+
// import fix for overflow of mat-icons, default is 40px in m3, in m2 it was 48px
|
|
25
|
+
--mdc-icon-button-state-layer-size: 48px;
|
|
26
|
+
|
|
27
|
+
// elder custom variables
|
|
28
|
+
--elder-border-radius-sm: 4px; // typical small border radius, inspired by mat 2
|
|
29
|
+
--elder-border-light: 1px solid var(--md-sys-color-outline-variant);
|
|
30
|
+
--elder-box-shadow-default: var(--mat-app-elevation-shadow-level-8);
|
|
31
|
+
--elder-scrollbar-width: 8px;
|
|
32
|
+
--elder-lightened-transparent-bg: rgba(255, 255, 255, 0.15);
|
|
33
|
+
|
|
34
|
+
// elder pane
|
|
35
|
+
--elder-pane-padding: #{map.get(config.$sizes, sm)};
|
|
36
|
+
--elder-pane-gap: #{map.get(config.$sizes, sm)};
|
|
37
|
+
--elder-pane-border-radius: var(
|
|
38
|
+
--mdc-outlined-card-container-shape,
|
|
39
|
+
var(--mat-app-corner-medium)
|
|
40
|
+
);
|
|
41
|
+
--elder-pane-bg-color: var(--md-sys-color-surface-container-lowest);
|
|
42
|
+
|
|
43
|
+
// card header
|
|
44
|
+
--elder-card-header-padding: 15px 15px 5px 15px;
|
|
45
|
+
|
|
46
|
+
// cards, table etc bg
|
|
47
|
+
--mdc-elevated-card-container-color: var(--md-sys-color-surface-container-lowest);
|
|
48
|
+
--mdc-outlined-card-container-color: var(--mdc-elevated-card-container-color);
|
|
49
|
+
//--mat-table-background-color: var(--md-sys-color-surface-container-lowest);
|
|
50
|
+
--mat-table-background-color: transparent;
|
|
51
|
+
--mat-paginator-container-background-color: var(--mat-table-background-color);
|
|
52
|
+
--elder-grid-background-color: var(--mat-table-background-color);
|
|
53
|
+
//--mat-table-header-container-height: 56px; // 56px is default
|
|
54
|
+
|
|
55
|
+
// elder toast messages
|
|
56
|
+
--elder-toast-message-color-title-default: var(--md-sys-color-inverse-on-surface);
|
|
57
|
+
--elder-toast-message-color-title-warn: var(--md-sys-color-inverse-on-surface);
|
|
58
|
+
--elder-toast-message-color-title-error: var(--md-sys-color-inverse-on-surface);
|
|
59
|
+
|
|
60
|
+
// main nav top left button color
|
|
61
|
+
--elder-toolbar-main-nav-button-color: var(--md-sys-color-on-primary);
|
|
62
|
+
--elder-toolbar-main-nav-button-container-bg-color: var(--md-sys-color-primary);
|
|
63
|
+
|
|
64
|
+
// custom colors
|
|
65
|
+
--elder-blue: #{map.get(config.$custom-colors, elder-blue)};
|
|
66
|
+
--elder-gold: #{map.get(config.$custom-colors, elder-gold)};
|
|
67
|
+
--elder-gold-dark: #{map.get(config.$custom-colors, elder-gold-dark)};
|
|
68
|
+
--elder-gold-semi-dark: #{map.get(config.$custom-colors, elder-gold-semi-dark)};
|
|
69
|
+
--elder-gold-light: #{map.get(config.$custom-colors, elder-gold-light)};
|
|
70
|
+
|
|
71
|
+
--elder-color-highlight-strong: hsl(214, 18%, 85%);
|
|
72
|
+
--elder-color-highlight-variant: hsl(214, 18%, 95%); // dim version lighter in light moode
|
|
73
|
+
--elder-color-highlight-strong: var(--elder-gold-light);
|
|
74
|
+
--elder-color-highlight-variant: #EBEBEB;
|
|
75
|
+
|
|
76
|
+
// chip colors
|
|
77
|
+
--elder-chip-color-state-none: #{map.get(config.$chip-colors, state-none)};
|
|
78
|
+
--elder-chip-color-state-open: #{map.get(config.$chip-colors, state-open)};
|
|
79
|
+
--elder-chip-color-state-in-progress: #{map.get(config.$chip-colors, state-in-progress)};
|
|
80
|
+
--elder-chip-color-state-completed: #{map.get(config.$chip-colors, state-completed)};
|
|
81
|
+
--elder-chip-color-state-warn: #{map.get(config.$chip-colors, state-warn)};
|
|
82
|
+
--elder-chip-color-state-error: #{map.get(config.$chip-colors, state-error)};
|
|
83
|
+
--elder-chip-color-state-other: #{map.get(config.$chip-colors, state-other)};
|
|
84
|
+
|
|
85
|
+
// chip colors dark
|
|
86
|
+
&.elder-dark-theme {
|
|
87
|
+
--elder-chip-color-state-none: #{map.get(config.$chip-colors-dark, state-none)};
|
|
88
|
+
--elder-chip-color-state-open: #{map.get(config.$chip-colors-dark, state-open)};
|
|
89
|
+
--elder-chip-color-state-in-progress: #{map.get(config.$chip-colors-dark, state-in-progress)};
|
|
90
|
+
--elder-chip-color-state-completed: #{map.get(config.$chip-colors-dark, state-completed)};
|
|
91
|
+
--elder-chip-color-state-warn: #{map.get(config.$chip-colors-dark, state-warn)};
|
|
92
|
+
--elder-chip-color-state-error: #{map.get(config.$chip-colors-dark, state-error)};
|
|
93
|
+
--elder-chip-color-state-other: #{map.get(config.$chip-colors-dark, state-other)};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// missing md3 color
|
|
97
|
+
--md-sys-color-on-primary-fixed-dim: var(--md-sys-color-on-surface);
|
|
98
|
+
--md-sys-color-on-tertiary-fixed-dim: var(--md-sys-color-on-primary-fixed-dim);
|
|
99
|
+
|
|
100
|
+
// dialog
|
|
101
|
+
--elder-dialog-panel-bg-color: var(--md-sys-color-surface-container-lowest);
|
|
102
|
+
|
|
103
|
+
// data footer
|
|
104
|
+
--elder-data-element-footer-height: 48px;
|
|
105
|
+
|
|
106
|
+
// xy
|
|
107
|
+
--elder-round-form-field-outline: none;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&.elder-dark-theme {
|
|
111
|
+
--elder-dialog-panel-bg-color: var(--md-sys-color-surface-container);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// light theme overwrites
|
|
115
|
+
&.elder-light-theme {
|
|
116
|
+
--md-sys-color-primary: var(--elder-blue);
|
|
117
|
+
--md-sys-color-tertiary: var(--elder-gold);
|
|
118
|
+
--md-sys-color-tertiary-container: var(--elder-gold-light);
|
|
119
|
+
--md-sys-color-on-tertiary: var(--md-sys-color-on-surface);
|
|
120
|
+
--md-sys-color-secondary-container: #d8e3fa; // hsl(221, 77%, 91%)
|
|
121
|
+
--md-sys-color-secondary-container: hsl(214, 44%, 84%);
|
|
122
|
+
--md-sys-color-secondary-fixed: hsl(214, 44%, 89%);
|
|
123
|
+
// --md-sys-color-primary-container: hsl(214, 64%, 84%);
|
|
124
|
+
--md-sys-color-primary-container: #A6C7ED;
|
|
125
|
+
--md-sys-color-primary-fixed-dim: #95A6C7;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// dark theme overwrites
|
|
129
|
+
&.elder-dark-theme {
|
|
130
|
+
--elder-round-form-field-outline: solid 1px var(--md-sys-color-outline);
|
|
131
|
+
--mat-sidenav-scrim-color: rgba(255, 255, 255, 0.4);
|
|
132
|
+
--md-sys-color-primary-container: var(--elder-gold-semi-dark);
|
|
133
|
+
--md-sys-color-primary-fixed-dim: var(--elder-gold-dark);
|
|
134
|
+
--elder-color-highlight-variant: var(--elder-gold-dark);
|
|
135
|
+
--elder-color-highlight-strong: var(--elder-gold-semi-dark);
|
|
136
|
+
--md-sys-color-tertiary-fixed-dim: var(--md-sys-color-primary-fixed-dim);
|
|
137
|
+
--md-sys-color-on-primary-fixed-dim: var(--md-sys-color-on-surface);
|
|
138
|
+
--md-sys-color-tertiary-container: var(--md-sys-color-primary-container);
|
|
139
|
+
--md-sys-color-surface-container-highest: #191919;
|
|
140
|
+
--md-sys-color-surface-container-lowest: #262626;
|
|
141
|
+
--md-sys-color-error: #ff999f;
|
|
142
|
+
--md-sys-color-inverse-primary: var(--md-sys-color-primary-container);
|
|
143
|
+
--md-sys-color-surface-tint: var(--elder-gold-dark);
|
|
144
|
+
--elder-dark-gray: var(--md-sys-color-surface-container);
|
|
145
|
+
--mdc-chip-outline-color: rgba(255, 255, 255, 0.3);
|
|
146
|
+
--elder-dark-mode-color-primary: var(--md-sys-color-primary);
|
|
147
|
+
--elder-dark-mode-color-on-primary: var(--md-sys-color-on-primary);
|
|
148
|
+
--elder-dark-mode-color-surface: var(--md-sys-color-surface);
|
|
149
|
+
--elder-dark-mode-color-on-surface: var(--md-sys-color-on-surface);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@mixin elder-badge-sizing() {
|
|
154
|
+
& {
|
|
155
|
+
// Use legacy MAT 2 badge sizing
|
|
156
|
+
--mat-badge-container-size: unset;
|
|
157
|
+
--mat-badge-small-size-container-size: unset;
|
|
158
|
+
--mat-badge-large-size-container-size: unset;
|
|
159
|
+
--mat-badge-legacy-container-size: 22px;
|
|
160
|
+
--mat-badge-legacy-small-size-container-size: 16px;
|
|
161
|
+
--mat-badge-legacy-large-size-container-size: 28px;
|
|
162
|
+
--mat-badge-container-offset: -11px 0;
|
|
163
|
+
--mat-badge-small-size-container-offset: -8px 0;
|
|
164
|
+
--mat-badge-large-size-container-offset: -14px 0;
|
|
165
|
+
--mat-badge-container-overlap-offset: -11px;
|
|
166
|
+
--mat-badge-small-size-container-overlap-offset: -8px;
|
|
167
|
+
--mat-badge-large-size-container-overlap-offset: -14px;
|
|
168
|
+
--mat-badge-container-padding: 0;
|
|
169
|
+
--mat-badge-small-size-container-padding: 0;
|
|
170
|
+
--mat-badge-large-size-container-padding: 0;
|
|
171
|
+
--mat-badge-line-height: var(--mat-badge-legacy-container-size);
|
|
172
|
+
--mat-badge-small-size-line-height: var(--mat-badge-legacy-small-size-container-size);
|
|
173
|
+
--mat-badge-large-size-line-height: var(--mat-badge-legacy-large-size-container-size);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
1
3
|
$sizes: (
|
|
2
4
|
xs: 4px,
|
|
3
5
|
sm: 8px,
|
|
@@ -19,6 +21,44 @@ $media: (
|
|
|
19
21
|
xl: 1280px,
|
|
20
22
|
);
|
|
21
23
|
|
|
24
|
+
$custom-colors: (
|
|
25
|
+
elder-blue: #0b284f,
|
|
26
|
+
elder-gold: #b69f6a,
|
|
27
|
+
elder-gold-dark: #423d32,
|
|
28
|
+
elder-gold-semi-dark: #7f7054,
|
|
29
|
+
elder-gold-light: #f0e9d8,
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
$chip-colors: (
|
|
33
|
+
state-none: #cecfcf,
|
|
34
|
+
state-open: #e0e1e1,
|
|
35
|
+
state-in-progress: #bdd5e7,
|
|
36
|
+
state-completed: #b1ddce,
|
|
37
|
+
state-warn: #f4dab8,
|
|
38
|
+
state-error: #e6b6b6,
|
|
39
|
+
state-other: #cdc7e5,
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
// $chip-colors: (
|
|
43
|
+
// state-none: lighten(map.get($chip-colors, state-none), 2%),
|
|
44
|
+
// state-open: lighten(map.get($chip-colors, state-open), 2%),
|
|
45
|
+
// state-in-progress: lighten(map.get($chip-colors, state-in-progress), 2%),
|
|
46
|
+
// state-completed: lighten(map.get($chip-colors, state-completed), 2%),
|
|
47
|
+
// state-warn: lighten(map.get($chip-colors, state-warn), 2%),
|
|
48
|
+
// state-error: lighten(map.get($chip-colors, state-error), 2%),
|
|
49
|
+
// state-other: lighten(map.get($chip-colors, state-other), 2%),
|
|
50
|
+
// );
|
|
51
|
+
|
|
52
|
+
$chip-colors-dark: (
|
|
53
|
+
state-none: darken(map.get($chip-colors, state-none), 65%),
|
|
54
|
+
state-open: darken(map.get($chip-colors, state-open), 45%),
|
|
55
|
+
state-in-progress: darken(map.get($chip-colors, state-in-progress), 45%),
|
|
56
|
+
state-completed: darken(map.get($chip-colors, state-completed), 45%),
|
|
57
|
+
state-warn: darken(map.get($chip-colors, state-warn), 45%),
|
|
58
|
+
state-error: darken(map.get($chip-colors, state-error), 45%),
|
|
59
|
+
state-other: darken(map.get($chip-colors, state-other), 45%),
|
|
60
|
+
);
|
|
61
|
+
|
|
22
62
|
$palettes: (
|
|
23
63
|
primary: (
|
|
24
64
|
0: #000000,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
|
-
@use './elder-
|
|
3
|
+
@use './elder-scss-variables' as config;
|
|
4
4
|
|
|
5
5
|
/******************************
|
|
6
6
|
Default values
|
|
7
7
|
*******************************/
|
|
8
|
-
$commonSizesXs: map.get(
|
|
9
|
-
$commonSizesSm: map.get(
|
|
10
|
-
$commonSizesMd: map.get(
|
|
11
|
-
$commonSizesLg: map.get(
|
|
12
|
-
$commonSizesXl: map.get(
|
|
13
|
-
$commonSizesXxl: map.get(
|
|
8
|
+
$commonSizesXs: map.get(config.$sizes, xs);
|
|
9
|
+
$commonSizesSm: map.get(config.$sizes, sm);
|
|
10
|
+
$commonSizesMd: map.get(config.$sizes, md);
|
|
11
|
+
$commonSizesLg: map.get(config.$sizes, lg);
|
|
12
|
+
$commonSizesXl: map.get(config.$sizes, xl);
|
|
13
|
+
$commonSizesXxl: map.get(config.$sizes, xxl);
|
|
14
14
|
|
|
15
|
-
$densityFormField: map.get(
|
|
15
|
+
$densityFormField: map.get(config.$extra, form-field-density);
|
|
16
16
|
|
|
17
17
|
/******************************
|
|
18
18
|
Validates $theme and sets default value if null
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@forward '../abstracts/elder-set-defaults-fn';
|
|
5
|
+
@use 'elder-design-tokens' as elder-design-tokens;
|
|
6
|
+
@use '../abstracts/elder-set-defaults-fn' as elder-set-defaults-fn;
|
|
7
|
+
@use '../base/elder-m2-legacy-base' as elder-m2-legacy-base;
|
|
8
|
+
@use '../base/elder-fixes-base' as elder-fixes;
|
|
9
|
+
@use '../base/elder-common-base' as elder-common;
|
|
10
|
+
@use '../base/elder-form-base' as elder-form;
|
|
11
|
+
@use '../base/elder-component-themes' as elder-component-themes;
|
|
12
|
+
@use '../utilities/elder-flex-layout-utils' as elder-flex-layout-utils;
|
|
13
|
+
@use '../utilities/elder-color-utils' as elder-color-utils;
|
|
14
|
+
@use '../utilities/elder-typography-utils' as elder-typography-utils;
|
|
15
|
+
@use '../utilities/elder-common-utils' as elder-common-utils;
|
|
16
|
+
@use '../utilities/elder-layout-utils' as elder-layout-utils;
|
|
17
|
+
|
|
18
|
+
// Create a theme.
|
|
19
|
+
@mixin starter-theme($theme) {
|
|
20
|
+
$theme: elder-set-defaults-fn.validate-and-set-defaults($theme);
|
|
21
|
+
|
|
22
|
+
// ATM we need to render this here, because first need to set defaults for form-field density
|
|
23
|
+
@include mat.form-field-density(
|
|
24
|
+
map.get($theme, elder, density, form-field)
|
|
25
|
+
); // TODO: improve density setup
|
|
26
|
+
|
|
27
|
+
// design tokens
|
|
28
|
+
@include elder-design-tokens.elder-design-tokens();
|
|
29
|
+
|
|
30
|
+
// base styles
|
|
31
|
+
@include elder-fixes.elder-fixes-base($theme);
|
|
32
|
+
@include elder-common.elder-common-base($theme);
|
|
33
|
+
@include elder-form.elder-form-base($theme);
|
|
34
|
+
@include elder-m2-legacy-base.elder-m2-legacy-base($theme);
|
|
35
|
+
|
|
36
|
+
// utilitiy styles
|
|
37
|
+
@include elder-flex-layout-utils.elder-flex-layout-utils($theme);
|
|
38
|
+
@include elder-layout-utils.elder-layout-utils($theme);
|
|
39
|
+
@include elder-color-utils.elder-color-utils();
|
|
40
|
+
@include elder-typography-utils.elder-typography-utils();
|
|
41
|
+
@include elder-common-utils.elder-common-utils();
|
|
42
|
+
|
|
43
|
+
// component themes rendered in global css
|
|
44
|
+
@include elder-component-themes.theme(
|
|
45
|
+
$theme
|
|
46
|
+
); // TODO: Move component themes directly into components
|
|
47
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '@angular/material' as mat;
|
|
3
|
+
@use './elder-starter-theme' as starter-theme;
|
|
4
|
+
@use './elder-scss-variables' as config;
|
|
5
|
+
|
|
6
|
+
@mixin render-default-elder-theme($themes: 'default', $options: ()) {
|
|
7
|
+
@if $themes == 'default' {
|
|
8
|
+
$themes: create-themes(config.$palettes); // typically this will be used
|
|
9
|
+
} @else {
|
|
10
|
+
$themes: $themes;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// map options
|
|
14
|
+
$use-typography-hierarchy: not map.has-key($options, 'no-typography-hierarchy');
|
|
15
|
+
|
|
16
|
+
// create theme
|
|
17
|
+
$elder-light-theme: map.get($themes, light);
|
|
18
|
+
$elder-dark-theme: map.get($themes, dark);
|
|
19
|
+
|
|
20
|
+
// render theme
|
|
21
|
+
@include mat.all-component-typographies();
|
|
22
|
+
@include mat.elevation-classes();
|
|
23
|
+
@include mat.app-background();
|
|
24
|
+
|
|
25
|
+
@if $use-typography-hierarchy {
|
|
26
|
+
@include mat.typography-hierarchy($elder-light-theme, $back-compat: true);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.elder-light-theme,
|
|
30
|
+
.elder-dark-theme {
|
|
31
|
+
@include mat.all-component-themes($elder-light-theme);
|
|
32
|
+
@include mat.system-level-colors($elder-light-theme);
|
|
33
|
+
@include mat.system-level-typography($elder-light-theme);
|
|
34
|
+
@include mat.color-variants-backwards-compatibility($elder-light-theme);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.elder-dark-theme {
|
|
38
|
+
@include mat.all-component-colors($elder-dark-theme);
|
|
39
|
+
@include mat.system-level-colors($elder-dark-theme);
|
|
40
|
+
@include mat.color-variants-backwards-compatibility($elder-dark-theme);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.elder-light-theme,
|
|
44
|
+
.elder-dark-theme {
|
|
45
|
+
@include starter-theme.starter-theme($elder-light-theme);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@function create-themes($palettesArg) {
|
|
50
|
+
$_palettes: $palettesArg;
|
|
51
|
+
|
|
52
|
+
$_rest: (
|
|
53
|
+
secondary: map.get($_palettes, secondary),
|
|
54
|
+
neutral: map.get($_palettes, neutral),
|
|
55
|
+
neutral-variant: map.get($_palettes, neutral-variant),
|
|
56
|
+
error: map.get($_palettes, error),
|
|
57
|
+
);
|
|
58
|
+
$_primary: map.merge(map.get($_palettes, primary), $_rest);
|
|
59
|
+
$_tertiary: map.merge(map.get($_palettes, tertiary), $_rest);
|
|
60
|
+
|
|
61
|
+
$density: 0; // ATM important ot start with 0, since we are (miss-)using the tighter -4 density settings only for forms
|
|
62
|
+
|
|
63
|
+
$light-theme: _elder-define-theme(light, $_primary, $_tertiary, $density);
|
|
64
|
+
$dark-theme: _elder-define-theme(dark, $_primary, $_tertiary, $density);
|
|
65
|
+
$dark-theme-mono: _elder-define-theme(dark, $_tertiary, $_tertiary, $density);
|
|
66
|
+
|
|
67
|
+
@return (
|
|
68
|
+
light: $light-theme,
|
|
69
|
+
dark: $dark-theme-mono,
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@function _elder-define-theme($theme-type, $primary, $tertiary, $density: 0) {
|
|
74
|
+
@return mat.define-theme(
|
|
75
|
+
(
|
|
76
|
+
color: (
|
|
77
|
+
theme-type: $theme-type,
|
|
78
|
+
primary: $primary,
|
|
79
|
+
tertiary: $tertiary,
|
|
80
|
+
use-system-variables: true,
|
|
81
|
+
system-variables-prefix: md-sys-color,
|
|
82
|
+
),
|
|
83
|
+
typography: (
|
|
84
|
+
use-system-variables: true,
|
|
85
|
+
system-variables-prefix: md-sys-typescale,
|
|
86
|
+
),
|
|
87
|
+
density: (
|
|
88
|
+
scale: $density,
|
|
89
|
+
),
|
|
90
|
+
)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
@use './elder-
|
|
1
|
+
@use './elder-base-mixins' as mixins;
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
@use 'sass:map';
|
|
4
4
|
|
|
5
|
-
@mixin elder-common-
|
|
6
|
-
$common-sizes: map.get($theme, elder, common-sizes);
|
|
7
|
-
|
|
5
|
+
@mixin elder-common-base($theme) {
|
|
8
6
|
/***************************************************************************
|
|
9
7
|
* *
|
|
10
|
-
*
|
|
8
|
+
* CSS reset: box-sizing *
|
|
11
9
|
* *
|
|
12
10
|
**************************************************************************/
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
$xxl: map.get($common-sizes, xxl);
|
|
12
|
+
*,
|
|
13
|
+
*::before,
|
|
14
|
+
*::after {
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
}
|
|
20
17
|
|
|
21
18
|
/***************************************************************************
|
|
22
19
|
* *
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '
|
|
1
|
+
@use '../components/elder-chip-theme' as elder-chip;
|
|
2
2
|
@use '../../src/lib/components/data-view/table/elder-table/elder-table.component' as elder-table;
|
|
3
3
|
@use '../../src/lib/components/navigation/nav/elder-nav-theme' as elder-nav;
|
|
4
4
|
@use '../../src/lib/components/data-view/grid/elder-grid/elder-grid.component' as elder-grid;
|