@enigmatry/entry-components 1.15.1-preview.3 → 1.15.1-preview.30
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/assets/fonts/Montserrat/Montserrat-bold.eot +0 -0
- package/assets/fonts/Montserrat/Montserrat-bold.ttf +0 -0
- package/assets/fonts/Montserrat/Montserrat-bold.woff +0 -0
- package/assets/fonts/Montserrat/Montserrat-bold.woff2 +0 -0
- package/assets/fonts/OpenSans/OpenSans-bold.eot +0 -0
- package/assets/fonts/OpenSans/OpenSans-bold.ttf +0 -0
- package/assets/fonts/OpenSans/OpenSans-bold.woff +0 -0
- package/assets/fonts/OpenSans/OpenSans-bold.woff2 +0 -0
- package/assets/fonts/OpenSans/OpenSans-normal.eot +0 -0
- package/assets/fonts/OpenSans/OpenSans-normal.ttf +0 -0
- package/assets/fonts/OpenSans/OpenSans-normal.woff +0 -0
- package/assets/fonts/OpenSans/OpenSans-normal.woff2 +0 -0
- package/assets/fonts/Roboto/Roboto-bold.woff2 +0 -0
- package/assets/fonts/Roboto/Roboto-normal.woff2 +0 -0
- package/button/README.md +47 -0
- package/button/entry-button-config.d.ts +26 -0
- package/button/entry-button.directive.d.ts +18 -0
- package/button/entry-button.module.d.ts +9 -0
- package/{header → button}/index.d.ts +1 -1
- package/button/public-api.d.ts +3 -0
- package/dialog/README.md +2 -2
- package/dialog/entry-dialog-buttons-alignment.type.d.ts +1 -1
- package/dialog/entry-dialog-config.model.d.ts +1 -1
- package/dialog/entry-dialog.module.d.ts +4 -1
- package/esm2020/{header/enigmatry-entry-components-header.mjs → button/enigmatry-entry-components-button.mjs} +1 -1
- package/esm2020/button/entry-button-config.mjs +22 -0
- package/esm2020/button/entry-button.directive.mjs +56 -0
- package/esm2020/button/entry-button.module.mjs +28 -0
- package/esm2020/button/public-api.mjs +4 -0
- package/esm2020/dialog/dialogs/entry-dialog.component.mjs +8 -5
- package/esm2020/dialog/entry-dialog-buttons-alignment.type.mjs +1 -1
- package/esm2020/dialog/entry-dialog-config.model.mjs +3 -3
- package/esm2020/dialog/entry-dialog.module.mjs +16 -4
- package/esm2020/file-input/enigmatry-entry-components-file-input.mjs +5 -0
- package/esm2020/file-input/entry-file-input.component.mjs +197 -0
- package/esm2020/file-input/entry-file-input.module.mjs +40 -0
- package/esm2020/file-input/public-api.mjs +3 -0
- package/esm2020/permissions/enigmatry-entry-components-permissions.mjs +5 -0
- package/esm2020/permissions/permission-type.mjs +2 -0
- package/esm2020/permissions/permission.directive.mjs +35 -0
- package/esm2020/permissions/permission.guard.mjs +14 -0
- package/esm2020/permissions/permission.module.mjs +29 -0
- package/esm2020/permissions/permission.pipe.mjs +20 -0
- package/esm2020/permissions/permission.service.mjs +3 -0
- package/esm2020/permissions/public-api.mjs +6 -0
- package/esm2020/public-api.mjs +4 -3
- package/esm2020/search-filter/entry-search-filter.component.mjs +8 -6
- package/esm2020/search-filter/entry-search-filter.module.mjs +12 -4
- package/esm2020/search-filter/search-filter-input/search-filter-input.component.mjs +9 -4
- package/esm2020/validation/entry-form-errors.component.mjs +7 -3
- package/fesm2015/enigmatry-entry-components-button.mjs +110 -0
- package/fesm2015/enigmatry-entry-components-button.mjs.map +1 -0
- package/fesm2015/enigmatry-entry-components-dialog.mjs +22 -7
- package/fesm2015/enigmatry-entry-components-dialog.mjs.map +1 -1
- package/fesm2015/enigmatry-entry-components-file-input.mjs +237 -0
- package/fesm2015/enigmatry-entry-components-file-input.mjs.map +1 -0
- package/fesm2015/enigmatry-entry-components-permissions.mjs +98 -0
- package/fesm2015/enigmatry-entry-components-permissions.mjs.map +1 -0
- package/fesm2015/enigmatry-entry-components-search-filter.mjs +24 -9
- package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2015/enigmatry-entry-components-validation.mjs +6 -2
- package/fesm2015/enigmatry-entry-components-validation.mjs.map +1 -1
- package/fesm2015/enigmatry-entry-components.mjs +3 -2
- package/fesm2015/enigmatry-entry-components.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components-button.mjs +107 -0
- package/fesm2020/enigmatry-entry-components-button.mjs.map +1 -0
- package/fesm2020/enigmatry-entry-components-dialog.mjs +22 -7
- package/fesm2020/enigmatry-entry-components-dialog.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components-file-input.mjs +240 -0
- package/fesm2020/enigmatry-entry-components-file-input.mjs.map +1 -0
- package/fesm2020/enigmatry-entry-components-permissions.mjs +97 -0
- package/fesm2020/enigmatry-entry-components-permissions.mjs.map +1 -0
- package/fesm2020/enigmatry-entry-components-search-filter.mjs +24 -9
- package/fesm2020/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components-validation.mjs +6 -2
- package/fesm2020/enigmatry-entry-components-validation.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components.mjs +3 -2
- package/fesm2020/enigmatry-entry-components.mjs.map +1 -1
- package/file-input/README.md +71 -0
- package/file-input/entry-file-input.component.d.ts +74 -0
- package/file-input/entry-file-input.module.d.ts +12 -0
- package/{toolbar → file-input}/index.d.ts +1 -1
- package/file-input/public-api.d.ts +2 -0
- package/package.json +24 -16
- package/permissions/README.md +68 -0
- package/permissions/index.d.ts +5 -0
- package/permissions/permission-type.d.ts +3 -0
- package/permissions/permission.directive.d.ts +11 -0
- package/permissions/permission.guard.d.ts +2 -0
- package/permissions/permission.module.d.ts +9 -0
- package/permissions/permission.pipe.d.ts +11 -0
- package/permissions/permission.service.d.ts +4 -0
- package/permissions/public-api.d.ts +5 -0
- package/public-api.d.ts +3 -2
- package/search-filter/entry-search-filter.module.d.ts +4 -2
- package/search-filter/search-filter-input/search-filter-input.component.d.ts +4 -2
- package/styles/_generator.scss +20 -0
- package/styles/modules/_default-theme.scss +63 -0
- package/styles/modules/components/buttons/_generator.scss +8 -0
- package/styles/modules/components/dialogs/_generator.scss +16 -0
- package/styles/modules/components/forms/_generator.scss +15 -0
- package/styles/modules/components/search-filter/_generator.scss +15 -0
- package/styles/modules/components/tables/_cells.scss +19 -0
- package/styles/modules/components/tables/_generator.scss +7 -0
- package/styles/modules/components/tables/_no-result.scss +10 -0
- package/styles/modules/components/tables/_rows.scss +23 -0
- package/styles/modules/components/tables/_sorting.scss +11 -0
- package/styles/modules/components/tables/_table-body.scss +11 -0
- package/styles/modules/typography/_fonts.scss +46 -68
- package/styles/modules/vendors/angular-material/_generator.scss +46 -0
- package/styles/modules/vendors/angular-material/_palette-generator.scss +32 -0
- package/styles/modules/vendors/angular-material/_typography-generator.scss +101 -0
- package/styles/partials/core/components/_index.scss +4 -0
- package/styles/partials/core/components/dialogs/_general.scss +23 -0
- package/styles/partials/core/components/forms/_general.scss +28 -0
- package/styles/partials/core/components/search-filter/_general.scss +9 -0
- package/styles/partials/core/components/tables/_general.scss +17 -0
- package/styles/partials/generator-test.scss +29 -0
- package/styles/partials/theming.scss +1 -0
- package/dialog/styles/modules/_generator.scss +0 -11
- package/dialog/styles/modules/components/dialogs/_general.scss +0 -11
- package/dialog/styles/modules/components/dialogs/footers/_general.scss +0 -26
- package/dialog/styles/modules/components/dialogs/headers/_general.scss +0 -16
- package/dialog/styles/modules/theming/_default-theming.scss +0 -29
- package/dialog/styles/partials/core/_index.scss +0 -3
- package/dialog/styles/partials/core/components/_index.scss +0 -1
- package/dialog/styles/partials/core/components/dialogs/_general.scss +0 -78
- package/dialog/styles/partials/core/components/dialogs/_index.scss +0 -1
- package/dialog/styles/partials/core/elements/_general.scss +0 -10
- package/dialog/styles/partials/core/elements/_index.scss +0 -1
- package/dialog/styles/partials/core/layouts/_alignments.scss +0 -13
- package/dialog/styles/partials/core/layouts/_index.scss +0 -1
- package/dialog/styles/partials/main.scss +0 -1
- package/esm2020/header/entry-header.component.mjs +0 -13
- package/esm2020/header/entry-header.module.mjs +0 -24
- package/esm2020/header/public-api.mjs +0 -3
- package/esm2020/toolbar/enigmatry-entry-components-toolbar.mjs +0 -5
- package/esm2020/toolbar/entry-toolbar.component.mjs +0 -43
- package/esm2020/toolbar/entry-toolbar.module.mjs +0 -24
- package/esm2020/toolbar/public-api.mjs +0 -3
- package/fesm2015/enigmatry-entry-components-header.mjs +0 -41
- package/fesm2015/enigmatry-entry-components-header.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-toolbar.mjs +0 -71
- package/fesm2015/enigmatry-entry-components-toolbar.mjs.map +0 -1
- package/fesm2020/enigmatry-entry-components-header.mjs +0 -41
- package/fesm2020/enigmatry-entry-components-header.mjs.map +0 -1
- package/fesm2020/enigmatry-entry-components-toolbar.mjs +0 -71
- package/fesm2020/enigmatry-entry-components-toolbar.mjs.map +0 -1
- package/header/README.md +0 -41
- package/header/entry-header.component.d.ts +0 -6
- package/header/entry-header.module.d.ts +0 -8
- package/header/public-api.d.ts +0 -2
- package/header/styles/modules/_generator.scss +0 -13
- package/header/styles/modules/components/buttons/_general.scss +0 -26
- package/header/styles/modules/components/headers/_general.scss +0 -13
- package/header/styles/modules/theming/_default-theming.scss +0 -21
- package/header/styles/partials/core/_index.scss +0 -3
- package/header/styles/partials/core/components/_index.scss +0 -2
- package/header/styles/partials/core/components/buttons/_general.scss +0 -42
- package/header/styles/partials/core/components/buttons/_index.scss +0 -1
- package/header/styles/partials/core/components/headers/_general.scss +0 -9
- package/header/styles/partials/core/components/headers/_index.scss +0 -1
- package/header/styles/partials/core/elements/_index.scss +0 -1
- package/header/styles/partials/core/elements/headings.scss +0 -3
- package/header/styles/partials/core/layouts/_alignment.scss +0 -6
- package/header/styles/partials/core/layouts/_index.scss +0 -1
- package/header/styles/partials/main.scss +0 -1
- package/styles/_generate.scss +0 -15
- package/styles/modules/_breakpoints.scss +0 -37
- package/styles/modules/_generate.scss +0 -5
- package/styles/modules/_variables.scss +0 -22
- package/styles/modules/states/_hover.scss +0 -27
- package/styles/modules/theming/_default-theming.scss +0 -9
- package/styles/modules/typography/_generate.scss +0 -7
- package/toolbar/README.md +0 -39
- package/toolbar/entry-toolbar.component.d.ts +0 -28
- package/toolbar/entry-toolbar.module.d.ts +0 -8
- package/toolbar/public-api.d.ts +0 -2
- package/toolbar/styles/modules/_generate.scss +0 -10
- package/toolbar/styles/modules/components/toolbar/_general.scss +0 -34
- package/toolbar/styles/modules/theming/_default-theming.scss +0 -8
- package/toolbar/styles/partials/core/_index.scss +0 -1
- package/toolbar/styles/partials/core/components/_index.scss +0 -1
- package/toolbar/styles/partials/core/components/toolbar/_general.scss +0 -100
- package/toolbar/styles/partials/core/components/toolbar/_index.scss +0 -1
- package/toolbar/styles/partials/main.scss +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@mixin generate-from($theme) {
|
|
4
|
+
.entry-dialog {
|
|
5
|
+
.title {
|
|
6
|
+
$close-icon-width: map.get($theme, 'general', 'buttons', 'icon-size');
|
|
7
|
+
width: calc(100% - $close-icon-width);
|
|
8
|
+
color: map.get($theme, 'general', 'colors', 'font');
|
|
9
|
+
font-size: map.get($theme, 'dialogs', 'title', 'size');
|
|
10
|
+
|
|
11
|
+
&.without-close-icon {
|
|
12
|
+
width: 100%;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@mixin generate-from($theme) {
|
|
4
|
+
$default-gap: map.get($theme, 'general', 'spacing', 'default');
|
|
5
|
+
|
|
6
|
+
.entry-form {
|
|
7
|
+
.action-buttons {
|
|
8
|
+
margin-top: $default-gap;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.mat-mdc-form-field {
|
|
12
|
+
margin-bottom: $default-gap;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@mixin generate-from($theme) {
|
|
4
|
+
$default-gap: map.get($theme, 'general', 'spacing', 'default');
|
|
5
|
+
|
|
6
|
+
.search-form-container {
|
|
7
|
+
.entry-button {
|
|
8
|
+
margin-bottom: $default-gap;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.form-field {
|
|
12
|
+
margin-right: 2 * $default-gap;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@mixin generate-from($theme) {
|
|
4
|
+
.mat-mdc-cell {
|
|
5
|
+
color: map.get($theme, 'general', 'colors', 'font');
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.mat-mdc-header-cell:first-of-type, .mat-mdc-cell:first-of-type, .mat-mdc-footer-cell:first-of-type {
|
|
9
|
+
padding-left: map.get($theme, 'tables', 'cells', 'edge-gap');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.mat-mdc-header-cell:last-of-type, .mat-mdc-cell:last-of-type, .mat-mdc-footer-cell:last-of-type {
|
|
13
|
+
padding-right: map.get($theme, 'tables', 'cells', 'edge-gap');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.selection-cell, .action-cell {
|
|
17
|
+
width: map.get($theme, 'general', 'buttons', 'icon-size');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '@enigmatry/scss-foundation/src/modules/lists/row-coloring' as list;
|
|
3
|
+
|
|
4
|
+
@mixin generate-from($theme) {
|
|
5
|
+
.mat-mdc-row {
|
|
6
|
+
&.mdc-data-table__row {
|
|
7
|
+
@include list.row-coloring(map.get($theme, 'tables', 'rows', 'odd-even-background'),
|
|
8
|
+
map.get($theme, 'tables', 'rows', 'odd-even-row'));
|
|
9
|
+
|
|
10
|
+
&.selected {
|
|
11
|
+
background-color: map.get($theme, 'general', 'colors', 'primary');
|
|
12
|
+
|
|
13
|
+
.mat-mdc-cell {
|
|
14
|
+
color: map.get($theme, 'tables', 'rows', 'selected-color');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&.mat-row-disabled {
|
|
19
|
+
background-color: map.get($theme, 'tables', 'rows', 'disabled-color');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -1,86 +1,64 @@
|
|
|
1
|
-
@use 'sass:string';
|
|
2
1
|
@use 'sass:map';
|
|
3
|
-
@use 'sass:math';
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
$font-path: '/assets/fonts/';
|
|
4
|
+
$font-sources: (
|
|
5
|
+
(
|
|
6
|
+
name: 'Roboto',
|
|
7
|
+
style: normal,
|
|
8
|
+
formats: ('woff2'),
|
|
9
|
+
weight: 400
|
|
10
|
+
),
|
|
11
|
+
(
|
|
12
|
+
name: 'Roboto',
|
|
13
|
+
style: bold,
|
|
14
|
+
formats: ('woff2'),
|
|
15
|
+
weight: 500
|
|
16
|
+
)
|
|
17
|
+
);
|
|
8
18
|
|
|
19
|
+
// $font-sources: (
|
|
20
|
+
// (
|
|
21
|
+
// name: 'OpenSans',
|
|
22
|
+
// style: normal,
|
|
23
|
+
// formats: ('eot', 'woff', 'woff2', 'ttf')
|
|
24
|
+
// ),
|
|
25
|
+
// (
|
|
26
|
+
// name: 'OpenSans',
|
|
27
|
+
// style: bold,
|
|
28
|
+
// formats: ('eot', 'woff', 'woff2', 'ttf')
|
|
29
|
+
// ),
|
|
30
|
+
// (
|
|
31
|
+
// name: 'Montserrat',
|
|
32
|
+
// style: bold,
|
|
33
|
+
// formats: ('eot', 'woff', 'woff2', 'ttf')
|
|
34
|
+
// )
|
|
35
|
+
// );
|
|
36
|
+
|
|
37
|
+
@mixin generate-default-font() {
|
|
9
38
|
@each $font in $font-sources {
|
|
10
39
|
$name: map.get($font, name);
|
|
11
40
|
$style: map.get($font, style);
|
|
12
41
|
$formats: map.get($font, formats);
|
|
13
|
-
|
|
42
|
+
$weight: map.get($font, weight);
|
|
43
|
+
|
|
14
44
|
@each $format in $formats {
|
|
15
45
|
$url: '#{$font-path}#{$name}/#{$name}-#{$style}.#{$format}';
|
|
16
|
-
|
|
46
|
+
|
|
17
47
|
@font-face {
|
|
18
48
|
font: {
|
|
19
|
-
family: '#{$name}-#{$style}';
|
|
20
49
|
style: '#{$style}';
|
|
50
|
+
|
|
51
|
+
/* stylelint-disable property-no-unknown, max-nesting-depth */
|
|
52
|
+
@if $weight {
|
|
53
|
+
family: '#{$name}';
|
|
54
|
+
weight: $weight;
|
|
55
|
+
}
|
|
56
|
+
@else {
|
|
57
|
+
family: '#{$name}-#{$style}';
|
|
58
|
+
}
|
|
21
59
|
}
|
|
22
60
|
src: url('#{$url}') format('#{$format}');
|
|
23
61
|
}
|
|
24
62
|
}
|
|
25
63
|
}
|
|
26
|
-
|
|
27
|
-
// Generate icomoon icons font face:
|
|
28
|
-
@include entry-icomoon-icons($font-path);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// TODO: Hardcoded icons font, must be configurable but also to support default value!
|
|
32
|
-
@mixin entry-icomoon-icons($font-path) {
|
|
33
|
-
@font-face {
|
|
34
|
-
font-family: 'icomoon';
|
|
35
|
-
font-style: normal;
|
|
36
|
-
font-weight: normal;
|
|
37
|
-
src: url($font-path + 'icomoon/fonts/icomoon.eot?s68r7n');
|
|
38
|
-
src: url($font-path + 'icomoon/fonts/icomoon.eot?s68r7n#iefix') format('embedded-opentype'),
|
|
39
|
-
url($font-path + 'icomoon/fonts/icomoon.ttf?s68r7n') format('truetype'),
|
|
40
|
-
url($font-path + 'icomoon/fonts//icomoon.woff?s68r7n') format('woff'),
|
|
41
|
-
url($font-path + 'icomoon/fonts//icomoon.svg?s68r7n#icomoon') format('svg');
|
|
42
|
-
font-display: block;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
[class ^= 'icon-'], [class *= ' icon-'] {
|
|
46
|
-
/* use !important to prevent issues with browser extensions that change fonts */
|
|
47
|
-
font-family: 'icomoon' !important;
|
|
48
|
-
|
|
49
|
-
/* Better Font Rendering =========== */
|
|
50
|
-
-webkit-font-smoothing: antialiased;
|
|
51
|
-
-moz-osx-font-smoothing: grayscale;
|
|
52
|
-
font-style: normal;
|
|
53
|
-
font-variant: normal;
|
|
54
|
-
font-weight: normal;
|
|
55
|
-
line-height: 1;
|
|
56
|
-
text-transform: none;
|
|
57
|
-
speak: never;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.icon-close::before {
|
|
61
|
-
content: '\e900';
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.icon-menu:before {
|
|
65
|
-
content: "\e9bd";
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// TODO: Hardcoded mixins (currently not ins use) that should be configurable!
|
|
70
|
-
/*
|
|
71
|
-
@mixin -font($family, $size) {
|
|
72
|
-
font: {
|
|
73
|
-
family: $family;
|
|
74
|
-
size: $size;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
@mixin main-font($size: 14px) {
|
|
78
|
-
@include -font('OpenSans-normal', $size);
|
|
79
|
-
}
|
|
80
|
-
@mixin main-bolded-font($size: 14px) {
|
|
81
|
-
@include -font('OpenSans-Bold', $size);
|
|
82
|
-
}
|
|
83
|
-
@mixin title-font($size: 20px) {
|
|
84
|
-
@include -font('Montserrat-bold', $size);
|
|
85
64
|
}
|
|
86
|
-
*/
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* stylelint-disable scss/no-duplicate-dollar-variables */
|
|
2
|
+
@use '@angular/material' as theming;
|
|
3
|
+
@use 'palette-generator';
|
|
4
|
+
@use 'typography-generator';
|
|
5
|
+
@use 'sass:map';
|
|
6
|
+
@use '../../typography/fonts';
|
|
7
|
+
|
|
8
|
+
/* stylelint-disable scss/function-no-unknown */
|
|
9
|
+
@mixin generate-from($entry-theme) {
|
|
10
|
+
@include theming.core();
|
|
11
|
+
$body-font: map.get($entry-theme, 'general', 'fonts', 'body', 'family');
|
|
12
|
+
|
|
13
|
+
@if $body-font == '' {
|
|
14
|
+
@include fonts.generate-default-font();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
$primary-palette: theming.define-palette(-get-material-palette-for('primary', $entry-theme));
|
|
18
|
+
$accent-palette: theming.define-palette(-get-material-palette-for('accent', $entry-theme));
|
|
19
|
+
$warn-palette: theming.define-palette(theming.$red-palette);
|
|
20
|
+
|
|
21
|
+
$typography: typography-generator.generate-from($entry-theme);
|
|
22
|
+
@include theming.typography-hierarchy($typography);
|
|
23
|
+
|
|
24
|
+
$material-theme: theming.define-light-theme((
|
|
25
|
+
color: (
|
|
26
|
+
primary: $primary-palette,
|
|
27
|
+
accent: $accent-palette,
|
|
28
|
+
warn: $warn-palette,
|
|
29
|
+
),
|
|
30
|
+
typography: $typography,
|
|
31
|
+
density: map.get($entry-theme, 'general', 'density')
|
|
32
|
+
));
|
|
33
|
+
|
|
34
|
+
@include theming.all-component-themes($material-theme);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@function -get-material-palette-for($key, $theme) {
|
|
38
|
+
$palette: map.get($theme, 'general', 'colors', $key + '-theme');
|
|
39
|
+
|
|
40
|
+
@if $palette {
|
|
41
|
+
@return $palette;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
$color: map.get($theme, 'general', 'colors', $key);
|
|
45
|
+
@return palette-generator.generate-from($color);
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@use 'sass:color';
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@function generate-from($color) {
|
|
5
|
+
$result: (
|
|
6
|
+
50: color.adjust($color, $lightness: -30%),
|
|
7
|
+
contrast: (
|
|
8
|
+
50: #212121,
|
|
9
|
+
100: #212121,
|
|
10
|
+
200: #212121,
|
|
11
|
+
300: #212121,
|
|
12
|
+
400: #212121,
|
|
13
|
+
500: #FFF,
|
|
14
|
+
600: #FFF,
|
|
15
|
+
700: #FFF,
|
|
16
|
+
800: #FFF,
|
|
17
|
+
900: #FFF,
|
|
18
|
+
a100: #212121,
|
|
19
|
+
a200: #212121,
|
|
20
|
+
a400: #FFF,
|
|
21
|
+
a700: #FFF
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
@for $counter from 1 through 9 {
|
|
26
|
+
$blended-color: color.adjust($color, $lightness: -27 + $counter * 5%);
|
|
27
|
+
/* stylelint-disable-next-line scss/no-duplicate-dollar-variables */
|
|
28
|
+
$result: map.set($result, $counter * 100, $blended-color);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@return $result;
|
|
32
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/* stylelint-disable scss/no-duplicate-dollar-variables, scss/function-no-unknown */
|
|
2
|
+
@use '@angular/material' as theming;
|
|
3
|
+
@use 'sass:map';
|
|
4
|
+
|
|
5
|
+
@function generate-from($theme) {
|
|
6
|
+
$theme-typography: map.get($theme, 'general', 'typography');
|
|
7
|
+
|
|
8
|
+
@if $theme-typography {
|
|
9
|
+
@return $theme-typography;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@return -generate-typography-from($theme);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@function -generate-typography-from($theme) {
|
|
16
|
+
$fonts: map.get($theme, 'general', 'fonts');
|
|
17
|
+
$typography: theming.define-typography-config();
|
|
18
|
+
|
|
19
|
+
$typography: -set-font-size-for('body', $typography, $fonts, ('body-1', 'body-2'));
|
|
20
|
+
$typography: -set-font-size-for('buttons', $typography, $fonts, ('button'));
|
|
21
|
+
$typography: -set-font-size-for('hero-titles',$typography,$fonts,('headline-1', 'headline-2',
|
|
22
|
+
'headline-3', 'headline-4', 'headline-5', 'headline-6'));
|
|
23
|
+
$typography: -set-font-size-for('titles', $typography, $fonts, ('subtitle-1', 'subtitle-2'));
|
|
24
|
+
$typography: -set-font-family($typography, $fonts);
|
|
25
|
+
|
|
26
|
+
@return $typography;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@function -set-font-size-for($selector, $typography, $fonts, $desired-size-settings) {
|
|
30
|
+
$desired-size: map.get($fonts, $selector, 'size');
|
|
31
|
+
|
|
32
|
+
@if $desired-size != 0 {
|
|
33
|
+
@each $setting in $desired-size-settings {
|
|
34
|
+
$typography: map.set($typography, $setting, 'font-size', $desired-size);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@return $typography;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@function -set-font-family($typography, $fonts) {
|
|
42
|
+
$body-font: map.get($fonts, 'body', 'family');
|
|
43
|
+
|
|
44
|
+
@if $body-font == '' {
|
|
45
|
+
@return -generate-defaults-from($typography);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
$typography: -set-typography-group($typography, ('body-1', 'body-2', 'caption'), $body-font);
|
|
49
|
+
|
|
50
|
+
$titles-font: map.get($fonts, 'titles', 'family');
|
|
51
|
+
$hero-titles-font: map.get($fonts, 'hero-titles', 'family');
|
|
52
|
+
$buttons-font: map.get($fonts, 'buttons', 'family');
|
|
53
|
+
|
|
54
|
+
// We fallback to body font if buttons font isn't provided.
|
|
55
|
+
@if $buttons-font == '' {
|
|
56
|
+
$buttons-font: $body-font;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Both titles font fallback to body font unless main one's being set.
|
|
60
|
+
@if $hero-titles-font == '' and $titles-font == '' {
|
|
61
|
+
$hero-titles-font: $body-font;
|
|
62
|
+
$titles-font: $body-font;
|
|
63
|
+
}
|
|
64
|
+
@else if $hero-titles-font == '' and $titles-font != '' {
|
|
65
|
+
$hero-titles-font: $titles-font;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
$typography: -set-text-groups-for($typography, $body-font, $buttons-font);
|
|
69
|
+
$typography: -set-typography-group($typography, ('headline-1', 'headline-2', 'headline-3', 'headline-4'), $hero-titles-font);
|
|
70
|
+
$typography: -set-typography-group($typography, ('headline-5', 'headline-6', 'subtitle-1', 'subtitle-2'), $titles-font);
|
|
71
|
+
$typography: map.set($typography, 'font-family', '"#{$buttons-font}"');
|
|
72
|
+
|
|
73
|
+
@return $typography;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@function -set-text-groups-for($typography, $body-font, $buttons-font) {
|
|
77
|
+
$typography: -set-typography-group($typography, ('body-1', 'body-2', 'caption'), $body-font);
|
|
78
|
+
$typography: -set-typography-group($typography, ('button'), $buttons-font);
|
|
79
|
+
@return $typography;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@function -generate-defaults-from($typography) {
|
|
83
|
+
// Return Roboto (default Angular Material's font (for now).
|
|
84
|
+
// $typography: -set-text-groups-for($typography, 'OpenSans-normal', 'OpenSans-bold');
|
|
85
|
+
// $typography: -set-typography-group($typography,('headline-1', 'headline-2', 'headline-3',
|
|
86
|
+
// 'headline-4', 'headline-5', 'headline-6', 'subtitle-1', 'subtitle-2'),'Montserrat-bold');
|
|
87
|
+
@return $typography;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@function -set-typography-group($typography, $desired-typography-group, $font) {
|
|
91
|
+
@each $setting in $desired-typography-group {
|
|
92
|
+
$typography: -set-typography-font($typography, $setting, $font);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@return $typography;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@function -set-typography-font($typography, $section, $font) {
|
|
99
|
+
$typography: map.set($typography, $section, 'font-family', '"#{$font}"');
|
|
100
|
+
@return $typography;
|
|
101
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@use 'scss-foundation/src/modules/display/items';
|
|
2
|
+
@use 'scss-foundation/src/modules/text/modification' as text;
|
|
3
|
+
|
|
4
|
+
.entry-dialog {
|
|
5
|
+
.dialog-header {
|
|
6
|
+
@include items.fully-align(center, space-between, row, nowrap);
|
|
7
|
+
|
|
8
|
+
.title {
|
|
9
|
+
@include text.ellipsis();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.dialog-content {
|
|
14
|
+
display: inline-block;
|
|
15
|
+
width: 100%;
|
|
16
|
+
/* stylelint-disable-next-line unit-allowed-list */
|
|
17
|
+
max-height: 50vh;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.dialog-actions {
|
|
21
|
+
padding: 0 24px 14px;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@use '@enigmatry/scss-foundation/src/modules/display/items';
|
|
2
|
+
|
|
3
|
+
.entry-form {
|
|
4
|
+
.action-buttons .mdc-button:not(:first-child) {
|
|
5
|
+
margin-left: 10px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.entry-checkbox {
|
|
9
|
+
display: block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.mdc-form-field {
|
|
13
|
+
margin-bottom: 10px;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.datetimepicker {
|
|
18
|
+
.mat-form-field-appearance-outline .mat-form-field-infix {
|
|
19
|
+
padding: {
|
|
20
|
+
top: 8px;
|
|
21
|
+
bottom: 8px;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.entry-date-time-picker {
|
|
27
|
+
@include items.fully-align(baseline, space-between, row, nowrap);
|
|
28
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@use '@enigmatry/scss-foundation/src/modules/display/items';
|
|
2
|
+
|
|
3
|
+
.entry-table {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
overflow: auto;
|
|
7
|
+
|
|
8
|
+
.pagination {
|
|
9
|
+
margin-bottom: 10px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.no-results {
|
|
13
|
+
@include items.align-absolute-center();
|
|
14
|
+
flex: 1;
|
|
15
|
+
min-height: 50px;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@use '../generator';
|
|
2
|
+
|
|
3
|
+
$custom-theme: (
|
|
4
|
+
general: (
|
|
5
|
+
colors: (
|
|
6
|
+
primary: #FAE3C1,
|
|
7
|
+
disabled: (
|
|
8
|
+
foreground: cyan,
|
|
9
|
+
background: magenta
|
|
10
|
+
)
|
|
11
|
+
),
|
|
12
|
+
fonts: (
|
|
13
|
+
body: (
|
|
14
|
+
family: 'My-Font',
|
|
15
|
+
size: 41px
|
|
16
|
+
),
|
|
17
|
+
buttons: (
|
|
18
|
+
size: 26px
|
|
19
|
+
)
|
|
20
|
+
)
|
|
21
|
+
),
|
|
22
|
+
tables: (
|
|
23
|
+
cells: (
|
|
24
|
+
first-cell-padding-left: 11px
|
|
25
|
+
)
|
|
26
|
+
)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
@include generator.generate-from($custom-theme);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use 'core/components';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
@use 'sass:map';
|
|
2
|
-
|
|
3
|
-
@use 'theming/default-theming' as default_theme;
|
|
4
|
-
@use 'components/dialogs/general' as dialogs;
|
|
5
|
-
|
|
6
|
-
$default-theme: default_theme.$theme;
|
|
7
|
-
|
|
8
|
-
@mixin generate($custom-theme: ()) {
|
|
9
|
-
$merged-theme: map.deep-merge($default-theme, $custom-theme);
|
|
10
|
-
@include dialogs.generate-dialog-from($merged-theme);
|
|
11
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
@use '@enigmatry/scss-foundation/src/modules/map';
|
|
2
|
-
@use 'headers/general' as headers;
|
|
3
|
-
@use 'footers/general' as footers;
|
|
4
|
-
|
|
5
|
-
@mixin generate-dialog-from($theme) {
|
|
6
|
-
.entry-dialog {
|
|
7
|
-
@include headers.generate-headers-from($theme);
|
|
8
|
-
@include footers.generate-footers-from($theme);
|
|
9
|
-
font-size: map.value-from($theme, 'default-font-size');
|
|
10
|
-
}
|
|
11
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
@use '@enigmatry/scss-foundation/src/modules/map';
|
|
2
|
-
@use '../../../../../../styles/modules/states/hover';
|
|
3
|
-
|
|
4
|
-
@mixin generate-footers-from($theme) {
|
|
5
|
-
.button-confirm {
|
|
6
|
-
@include hover.default(
|
|
7
|
-
map.value-from($theme, 'button-confirm.default-font-color'),
|
|
8
|
-
map.value-from($theme, 'button-confirm.hover-font-color'));
|
|
9
|
-
background-color: map.value-from($theme, 'button-confirm.default-background');
|
|
10
|
-
|
|
11
|
-
&:hover {
|
|
12
|
-
background-color: map.value-from($theme, 'button-confirm.hover-background');
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.button-cancel {
|
|
17
|
-
@include hover.default(
|
|
18
|
-
map.value-from($theme, 'button-cancel.default-font-color'),
|
|
19
|
-
map.value-from($theme, 'button-cancel.hover-font-color'));
|
|
20
|
-
background-color: map.value-from($theme, 'button-cancel.default-background');
|
|
21
|
-
|
|
22
|
-
&:hover {
|
|
23
|
-
background-color: map.value-from($theme, 'button-cancel.hover-background');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
@use '@enigmatry/scss-foundation/src/modules/map';
|
|
2
|
-
@use '../../../../../../styles/modules/states/hover';
|
|
3
|
-
|
|
4
|
-
@mixin generate-headers-from($theme) {
|
|
5
|
-
.title {
|
|
6
|
-
color: map.value-from($theme, 'header.title.color');
|
|
7
|
-
font-size: map.value-from($theme, 'header.title.size');
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.close-button {
|
|
11
|
-
@include hover.default(
|
|
12
|
-
map.value-from($theme, 'header.close-icon.default-color'),
|
|
13
|
-
map.value-from($theme, 'header.close-icon.hover-color'));
|
|
14
|
-
font-size: map.value-from($theme, 'header.close-icon.size');
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
@use '../../../../styles/modules/variables' as vars;
|
|
2
|
-
|
|
3
|
-
$theme: (
|
|
4
|
-
header: (
|
|
5
|
-
title: (
|
|
6
|
-
size: 20px,
|
|
7
|
-
color: vars.$font-color-default,
|
|
8
|
-
),
|
|
9
|
-
close-icon: (
|
|
10
|
-
size: 12px,
|
|
11
|
-
default-color: vars.$font-color-default,
|
|
12
|
-
hover-color: vars.$primary,
|
|
13
|
-
)
|
|
14
|
-
),
|
|
15
|
-
content-color: vars.$font-color-default,
|
|
16
|
-
default-font-size: 14px,
|
|
17
|
-
button-confirm: (
|
|
18
|
-
default-background: vars.$primary,
|
|
19
|
-
default-font-color: vars.$font-color-light,
|
|
20
|
-
hover-background: vars.$accent,
|
|
21
|
-
hover-font-color: vars.$font-color-light,
|
|
22
|
-
),
|
|
23
|
-
button-cancel: (
|
|
24
|
-
default-background: transparent,
|
|
25
|
-
default-font-color: vars.$primary,
|
|
26
|
-
hover-background: transparent,
|
|
27
|
-
hover-font-color: vars.$accent,
|
|
28
|
-
)
|
|
29
|
-
);
|