@enigmatry/entry-components 1.15.1-preview.9 → 15.0.0-preview

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 (207) hide show
  1. package/README.md +2 -1
  2. package/assets/fonts/Montserrat/Montserrat-bold.eot +0 -0
  3. package/assets/fonts/Montserrat/Montserrat-bold.ttf +0 -0
  4. package/assets/fonts/Montserrat/Montserrat-bold.woff +0 -0
  5. package/assets/fonts/Montserrat/Montserrat-bold.woff2 +0 -0
  6. package/assets/fonts/OpenSans/OpenSans-bold.eot +0 -0
  7. package/assets/fonts/OpenSans/OpenSans-bold.ttf +0 -0
  8. package/assets/fonts/OpenSans/OpenSans-bold.woff +0 -0
  9. package/assets/fonts/OpenSans/OpenSans-bold.woff2 +0 -0
  10. package/assets/fonts/OpenSans/OpenSans-normal.eot +0 -0
  11. package/assets/fonts/OpenSans/OpenSans-normal.ttf +0 -0
  12. package/assets/fonts/OpenSans/OpenSans-normal.woff +0 -0
  13. package/assets/fonts/OpenSans/OpenSans-normal.woff2 +0 -0
  14. package/assets/fonts/Roboto/Roboto-bold.woff2 +0 -0
  15. package/assets/fonts/Roboto/Roboto-normal.woff2 +0 -0
  16. package/button/README.md +47 -0
  17. package/button/entry-button-config.d.ts +26 -0
  18. package/button/entry-button.directive.d.ts +18 -0
  19. package/button/entry-button.module.d.ts +9 -0
  20. package/{header → button}/index.d.ts +1 -1
  21. package/button/public-api.d.ts +3 -0
  22. package/dialog/README.md +2 -2
  23. package/dialog/entry-dialog-buttons-alignment.type.d.ts +1 -1
  24. package/dialog/entry-dialog-config.model.d.ts +1 -1
  25. package/dialog/entry-dialog.module.d.ts +4 -1
  26. package/esm2020/{header/enigmatry-entry-components-header.mjs → button/enigmatry-entry-components-button.mjs} +1 -1
  27. package/esm2020/button/entry-button-config.mjs +22 -0
  28. package/esm2020/button/entry-button.directive.mjs +56 -0
  29. package/esm2020/button/entry-button.module.mjs +28 -0
  30. package/esm2020/button/public-api.mjs +4 -0
  31. package/esm2020/dialog/dialogs/entry-dialog.component.mjs +8 -5
  32. package/esm2020/dialog/entry-dialog-buttons-alignment.type.mjs +1 -2
  33. package/esm2020/dialog/entry-dialog-config.model.mjs +3 -3
  34. package/esm2020/dialog/entry-dialog.module.mjs +16 -4
  35. package/esm2020/file-input/enigmatry-entry-components-file-input.mjs +5 -0
  36. package/esm2020/file-input/entry-file-input.component.mjs +197 -0
  37. package/esm2020/file-input/entry-file-input.module.mjs +40 -0
  38. package/esm2020/file-input/public-api.mjs +3 -0
  39. package/esm2020/permissions/enigmatry-entry-components-permissions.mjs +5 -0
  40. package/esm2020/permissions/permission-type.mjs +2 -0
  41. package/esm2020/permissions/permission.directive.mjs +35 -0
  42. package/esm2020/permissions/permission.guard.mjs +14 -0
  43. package/esm2020/permissions/permission.module.mjs +29 -0
  44. package/esm2020/permissions/permission.pipe.mjs +20 -0
  45. package/esm2020/permissions/permission.service.mjs +3 -0
  46. package/esm2020/permissions/public-api.mjs +6 -0
  47. package/esm2020/public-api.mjs +4 -3
  48. package/esm2020/search-filter/entry-search-filter.component.mjs +8 -6
  49. package/esm2020/search-filter/entry-search-filter.module.mjs +12 -4
  50. package/esm2020/search-filter/search-filter-input/search-filter-input.component.mjs +9 -4
  51. package/esm2020/table/components/entry-cell/entry-cell.component.mjs +23 -0
  52. package/esm2020/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +33 -0
  53. package/esm2020/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +25 -0
  54. package/esm2020/table/components/entry-table/entry-table.component.mjs +248 -0
  55. package/esm2020/table/components/index.mjs +5 -0
  56. package/esm2020/table/enigmatry-entry-components-table.mjs +5 -0
  57. package/esm2020/table/entry-table.module.mjs +84 -0
  58. package/esm2020/table/interfaces/cell-template.mjs +2 -0
  59. package/esm2020/table/interfaces/column-def.mjs +2 -0
  60. package/esm2020/table/interfaces/column-sort-prop.mjs +2 -0
  61. package/esm2020/table/interfaces/column-type-parameter.mjs +2 -0
  62. package/esm2020/table/interfaces/column-type.mjs +2 -0
  63. package/esm2020/table/interfaces/context-menu-item.mjs +2 -0
  64. package/esm2020/table/interfaces/entry-table-config.mjs +18 -0
  65. package/esm2020/table/interfaces/index.mjs +13 -0
  66. package/esm2020/table/interfaces/paged-query.mjs +34 -0
  67. package/esm2020/table/interfaces/pagination.mjs +2 -0
  68. package/esm2020/table/interfaces/row-class-formatter.mjs +2 -0
  69. package/esm2020/table/interfaces/row-context-menu-formatter.mjs +2 -0
  70. package/esm2020/table/interfaces/row-selection-formatter.mjs +2 -0
  71. package/esm2020/table/public-api.mjs +4 -0
  72. package/esm2020/validation/entry-form-errors.component.mjs +7 -3
  73. package/fesm2015/enigmatry-entry-components-button.mjs +110 -0
  74. package/fesm2015/enigmatry-entry-components-button.mjs.map +1 -0
  75. package/fesm2015/enigmatry-entry-components-dialog.mjs +22 -7
  76. package/fesm2015/enigmatry-entry-components-dialog.mjs.map +1 -1
  77. package/fesm2015/enigmatry-entry-components-file-input.mjs +237 -0
  78. package/fesm2015/enigmatry-entry-components-file-input.mjs.map +1 -0
  79. package/fesm2015/enigmatry-entry-components-permissions.mjs +98 -0
  80. package/fesm2015/enigmatry-entry-components-permissions.mjs.map +1 -0
  81. package/fesm2015/enigmatry-entry-components-search-filter.mjs +24 -9
  82. package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +1 -1
  83. package/fesm2015/enigmatry-entry-components-table.mjs +459 -0
  84. package/fesm2015/enigmatry-entry-components-table.mjs.map +1 -0
  85. package/fesm2015/enigmatry-entry-components-validation.mjs +6 -2
  86. package/fesm2015/enigmatry-entry-components-validation.mjs.map +1 -1
  87. package/fesm2015/enigmatry-entry-components.mjs +3 -2
  88. package/fesm2015/enigmatry-entry-components.mjs.map +1 -1
  89. package/fesm2020/enigmatry-entry-components-button.mjs +107 -0
  90. package/fesm2020/enigmatry-entry-components-button.mjs.map +1 -0
  91. package/fesm2020/enigmatry-entry-components-dialog.mjs +22 -7
  92. package/fesm2020/enigmatry-entry-components-dialog.mjs.map +1 -1
  93. package/fesm2020/enigmatry-entry-components-file-input.mjs +240 -0
  94. package/fesm2020/enigmatry-entry-components-file-input.mjs.map +1 -0
  95. package/fesm2020/enigmatry-entry-components-permissions.mjs +97 -0
  96. package/fesm2020/enigmatry-entry-components-permissions.mjs.map +1 -0
  97. package/fesm2020/enigmatry-entry-components-search-filter.mjs +24 -9
  98. package/fesm2020/enigmatry-entry-components-search-filter.mjs.map +1 -1
  99. package/fesm2020/enigmatry-entry-components-table.mjs +450 -0
  100. package/fesm2020/enigmatry-entry-components-table.mjs.map +1 -0
  101. package/fesm2020/enigmatry-entry-components-validation.mjs +6 -2
  102. package/fesm2020/enigmatry-entry-components-validation.mjs.map +1 -1
  103. package/fesm2020/enigmatry-entry-components.mjs +3 -2
  104. package/fesm2020/enigmatry-entry-components.mjs.map +1 -1
  105. package/file-input/README.md +71 -0
  106. package/file-input/entry-file-input.component.d.ts +74 -0
  107. package/file-input/entry-file-input.module.d.ts +12 -0
  108. package/file-input/index.d.ts +5 -0
  109. package/file-input/public-api.d.ts +2 -0
  110. package/package.json +31 -15
  111. package/permissions/README.md +68 -0
  112. package/permissions/index.d.ts +5 -0
  113. package/permissions/permission-type.d.ts +3 -0
  114. package/permissions/permission.directive.d.ts +11 -0
  115. package/permissions/permission.guard.d.ts +2 -0
  116. package/permissions/permission.module.d.ts +9 -0
  117. package/permissions/permission.pipe.d.ts +11 -0
  118. package/permissions/permission.service.d.ts +4 -0
  119. package/permissions/public-api.d.ts +5 -0
  120. package/public-api.d.ts +3 -2
  121. package/search-filter/entry-search-filter.module.d.ts +4 -2
  122. package/search-filter/search-filter-input/search-filter-input.component.d.ts +4 -2
  123. package/styles/_generator.scss +15 -10
  124. package/styles/modules/_default-theme.scss +36 -59
  125. package/styles/modules/components/buttons/_generator.scss +8 -0
  126. package/styles/modules/components/dialogs/_generator.scss +8 -3
  127. package/styles/modules/components/forms/_generator.scss +12 -6
  128. package/styles/modules/components/inputs/_generator.scss +15 -0
  129. package/styles/modules/components/search-filter/_generator.scss +15 -0
  130. package/styles/modules/components/tables/_cells.scss +11 -8
  131. package/styles/modules/components/tables/_no-result.scss +1 -3
  132. package/styles/modules/components/tables/_rows.scss +10 -40
  133. package/styles/modules/components/tables/_sorting.scss +2 -9
  134. package/styles/modules/typography/_fonts.scss +35 -42
  135. package/styles/modules/vendors/angular-material/_generator.scss +46 -0
  136. package/styles/modules/vendors/angular-material/_palette-generator.scss +32 -0
  137. package/styles/modules/vendors/angular-material/_typography-generator.scss +101 -0
  138. package/styles/partials/core/components/_index.scss +3 -3
  139. package/styles/partials/core/components/dialogs/_general.scss +10 -64
  140. package/styles/partials/core/components/forms/_general.scss +9 -13
  141. package/styles/partials/core/components/search-filter/_general.scss +9 -0
  142. package/styles/partials/core/components/tables/_general.scss +17 -0
  143. package/styles/partials/generator-test.scss +38 -0
  144. package/table/README.md +76 -0
  145. package/table/components/entry-cell/entry-cell.component.d.ts +10 -0
  146. package/table/components/entry-cell-context-menu/entry-cell-context-menu.component.d.ts +14 -0
  147. package/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.d.ts +10 -0
  148. package/table/components/entry-table/entry-table.component.d.ts +81 -0
  149. package/table/components/index.d.ts +4 -0
  150. package/table/entry-table.module.d.ts +20 -0
  151. package/{toolbar → table}/index.d.ts +1 -1
  152. package/table/interfaces/cell-template.d.ts +4 -0
  153. package/table/interfaces/column-def.d.ts +20 -0
  154. package/table/interfaces/column-sort-prop.d.ts +5 -0
  155. package/table/interfaces/column-type-parameter.d.ts +9 -0
  156. package/table/interfaces/column-type.d.ts +1 -0
  157. package/table/interfaces/context-menu-item.d.ts +6 -0
  158. package/table/interfaces/entry-table-config.d.ts +11 -0
  159. package/table/interfaces/index.d.ts +12 -0
  160. package/table/interfaces/paged-query.d.ts +14 -0
  161. package/table/interfaces/pagination.d.ts +19 -0
  162. package/table/interfaces/row-class-formatter.d.ts +3 -0
  163. package/table/interfaces/row-context-menu-formatter.d.ts +4 -0
  164. package/table/interfaces/row-selection-formatter.d.ts +4 -0
  165. package/table/public-api.d.ts +3 -0
  166. package/esm2020/header/entry-header.component.mjs +0 -13
  167. package/esm2020/header/entry-header.module.mjs +0 -24
  168. package/esm2020/header/public-api.mjs +0 -3
  169. package/esm2020/toolbar/enigmatry-entry-components-toolbar.mjs +0 -5
  170. package/esm2020/toolbar/entry-toolbar.component.mjs +0 -43
  171. package/esm2020/toolbar/entry-toolbar.module.mjs +0 -24
  172. package/esm2020/toolbar/public-api.mjs +0 -3
  173. package/fesm2015/enigmatry-entry-components-header.mjs +0 -41
  174. package/fesm2015/enigmatry-entry-components-header.mjs.map +0 -1
  175. package/fesm2015/enigmatry-entry-components-toolbar.mjs +0 -71
  176. package/fesm2015/enigmatry-entry-components-toolbar.mjs.map +0 -1
  177. package/fesm2020/enigmatry-entry-components-header.mjs +0 -41
  178. package/fesm2020/enigmatry-entry-components-header.mjs.map +0 -1
  179. package/fesm2020/enigmatry-entry-components-toolbar.mjs +0 -71
  180. package/fesm2020/enigmatry-entry-components-toolbar.mjs.map +0 -1
  181. package/header/README.md +0 -41
  182. package/header/entry-header.component.d.ts +0 -6
  183. package/header/entry-header.module.d.ts +0 -8
  184. package/header/public-api.d.ts +0 -2
  185. package/styles/modules/components/forms/outlines/_field-outlines.scss +0 -45
  186. package/styles/modules/components/forms/outlines/_form-fields.scss +0 -26
  187. package/styles/modules/components/forms/outlines/_general.scss +0 -9
  188. package/styles/modules/components/forms/selectors/_checkboxes.scss +0 -55
  189. package/styles/modules/components/forms/selectors/_radio-buttons.scss +0 -39
  190. package/styles/modules/components/headers/_generator.scss +0 -12
  191. package/styles/modules/elements/_generator.scss +0 -20
  192. package/styles/modules/elements/anchors/_generator.scss +0 -16
  193. package/styles/modules/elements/buttons/_default.scss +0 -12
  194. package/styles/modules/elements/buttons/_generator.scss +0 -45
  195. package/styles/modules/states/_hover.scss +0 -18
  196. package/styles/partials/core/components/headers/_general.scss +0 -7
  197. package/styles/partials/core/components/tables/_action-cells.scss +0 -26
  198. package/styles/partials/core/components/tables/_cells.scss +0 -39
  199. package/styles/partials/core/components/tables/_index.scss +0 -5
  200. package/styles/partials/core/components/tables/_layout.scss +0 -47
  201. package/styles/partials/core/components/tables/_rows.scss +0 -13
  202. package/styles/partials/core/components/tables/_sorting.scss +0 -8
  203. package/styles/partials/test.scss +0 -35
  204. package/toolbar/README.md +0 -39
  205. package/toolbar/entry-toolbar.component.d.ts +0 -28
  206. package/toolbar/entry-toolbar.module.d.ts +0 -8
  207. package/toolbar/public-api.d.ts +0 -2
@@ -1,87 +1,64 @@
1
- /* stylelint-disable number-max-precision */
2
1
  $theme: (
3
2
  general: (
3
+ density: 0,
4
4
  colors: (
5
+ primary-theme: null,
6
+ accent-theme: null,
5
7
  primary: #2581C4,
6
8
  accent: #EA518D,
7
- dark: #323232,
8
- disabled: #D9D9D9,
9
- disabled-light: #F5F5F5
10
- ),
11
- font: (
12
- family: '',
13
- size: 14px
14
- ),
15
- buttons: (
16
- color: #FFF
9
+ font: #323232,
10
+ disabled: (
11
+ foreground: rgb(0 0 0 / .38),
12
+ background: rgb(0 0 0 / .12)
13
+ )
17
14
  ),
18
- inputs: (
19
- background-color: #FFF
20
- )
21
- ),
22
- forms: (
23
- fields: (
24
- infix-padding-top: .4375em,
25
- infix-padding-bottom: .4375em,
26
- label-color: #0000008A,
27
- underline-display: block,
28
- outline: (
29
- border: 2px solid #EBEBEB,
30
- border-hover: 2px solid #2581C4,
31
- border-right: none,
32
- border-left: none,
33
- disabled-background: #F5F5F5,
34
- disabled-hover: 2px solid #EBEBEB,
15
+ typography: null,
16
+ fonts: (
17
+ hero-titles: (
18
+ family: '',
19
+ size: 0
20
+ ),
21
+ titles: (
22
+ family: '',
23
+ size: 0
24
+ ),
25
+ body: (
26
+ family: '',
27
+ size: 0
28
+ ),
29
+ buttons: (
30
+ family: '',
31
+ size: 0
35
32
  )
36
33
  ),
37
- checkboxes: (
38
- width: 20px,
39
- height: 20px,
40
- background-color: #FFF,
41
- checkmark-color: #000,
42
- selected-border-color: #000,
43
- selected-background-color: #FFF,
44
- border: 2px solid #0000008A,
45
- border-hover: 2px solid #0000008A,
46
- border-radius: 0,
47
- label-breaking: nowrap,
34
+ spacing: (
35
+ default: 15px
48
36
  ),
49
- radio-buttons: (
50
- align: flex-start,
51
- white-space: nowrap,
37
+ inputs: (
38
+ background: null
52
39
  ),
40
+ buttons: (
41
+ icon-size: 48px
42
+ )
53
43
  ),
54
44
  tables: (
55
45
  cells: (
56
- first-cell-padding-left: 4px,
57
- last-cell-padding-right: 4px,
58
- min-width: unset
46
+ edge-gap: 4px,
47
+ padding: null
59
48
  ),
60
49
  rows: (
61
- selected-background-color: #06C,
62
50
  selected-color: #FFF,
51
+ disabled-color: #F5F5F5,
63
52
  odd-even-row: odd,
64
53
  odd-even-background: #F0F0F0
65
54
  ),
66
- columns: (
67
- sorted: (
68
- font-weight: 700,
69
- content-align: left
70
- )
71
- ),
72
55
  contents: (
73
56
  no-result: (
74
57
  font-size: 13px,
75
- font-weight: 500,
76
- text-transform: none
58
+ font-weight: 500
77
59
  )
78
60
  )
79
61
  ),
80
- headers: (
81
- title: (
82
- size: 32px
83
- )
84
- ),
85
62
  dialogs: (
86
63
  title: (
87
64
  size: 20px
@@ -0,0 +1,8 @@
1
+ @use 'sass:map';
2
+
3
+ @mixin generate-from($theme) {
4
+ .entry-button.mdc-button:disabled {
5
+ background-color: map.get($theme, 'general', 'colors', 'disabled', 'background');
6
+ color: map.get($theme, 'general', 'colors', 'disabled', 'foreground');
7
+ }
8
+ }
@@ -2,10 +2,15 @@
2
2
 
3
3
  @mixin generate-from($theme) {
4
4
  .entry-dialog {
5
- .title {
6
- color: map.get($theme, 'general', 'colors', 'dark');
5
+ .dialog-header .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');
7
9
  font-size: map.get($theme, 'dialogs', 'title', 'size');
10
+
11
+ &.without-close-icon {
12
+ width: 100%;
13
+ }
8
14
  }
9
- font-size: map.get($theme, 'general', 'font', 'size');
10
15
  }
11
16
  }
@@ -1,9 +1,15 @@
1
- @use 'outlines/general' as appearance-outlines;
2
- @use 'selectors/checkboxes';
3
- @use 'selectors/radio-buttons';
1
+ @use 'sass:map';
4
2
 
5
3
  @mixin generate-from($theme) {
6
- @include appearance-outlines.generate-from($theme);
7
- @include checkboxes.generate-from($theme);
8
- @include radio-buttons.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
+ }
9
15
  }
@@ -0,0 +1,15 @@
1
+ @use 'sass:map';
2
+
3
+ @mixin generate-from($theme) {
4
+ $input-background: map.get($theme, 'general', 'inputs', 'background');
5
+
6
+ @if $input-background {
7
+ .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field {
8
+ background-color: $input-background;
9
+
10
+ &.mdc-text-field--outlined {
11
+ border-radius: 4px;
12
+ }
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
+ }
@@ -1,23 +1,26 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  @mixin generate-from($theme) {
4
+ $row-edge-gap: map.get($theme, 'tables', 'cells', 'edge-gap');
5
+ $cell-padding: map.get($theme, 'tables', 'cells', 'padding');
6
+
4
7
  .mat-mdc-cell {
5
- color: map.get($theme, 'general', 'colors', 'dark');
6
- }
8
+ color: map.get($theme, 'general', 'colors', 'font');
7
9
 
8
- .mat-mdc-cell, .mat-mdc-header-cell {
9
- font-size: map.get($theme, 'general', 'font', 'size');
10
+ @if $cell-padding {
11
+ padding: $cell-padding;
12
+ }
10
13
  }
11
14
 
12
15
  .mat-mdc-header-cell:first-of-type, .mat-mdc-cell:first-of-type, .mat-mdc-footer-cell:first-of-type {
13
- padding-left: map.get($theme, 'tables', 'cells', 'first-cell-padding-left');
16
+ padding-left: $row-edge-gap;
14
17
  }
15
18
 
16
19
  .mat-mdc-header-cell:last-of-type, .mat-mdc-cell:last-of-type, .mat-mdc-footer-cell:last-of-type {
17
- padding-right: map.get($theme, 'tables', 'cells', 'last-cell-padding-right');
20
+ padding-right: $row-edge-gap;
18
21
  }
19
22
 
20
- .entry-table-checkbox-cell, .entry-table-context-menu-cell {
21
- min-width: map.get($theme, 'tables', 'cells', 'min-width');
23
+ .selection-cell, .action-cell {
24
+ width: map.get($theme, 'general', 'buttons', 'icon-size');
22
25
  }
23
26
  }
@@ -1,9 +1,7 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  @mixin generate-from($theme) {
4
- .entry-table-no-result {
5
- text-transform: map.get($theme, 'tables', 'contents', 'no-result', 'text-transform');
6
-
4
+ .entry-table .no-results {
7
5
  font: {
8
6
  size: map.get($theme, 'tables', 'contents', 'no-result', 'font-size');
9
7
  weight: map.get($theme, 'tables', 'contents', 'no-result', 'font-weight');
@@ -3,51 +3,21 @@
3
3
 
4
4
  @mixin generate-from($theme) {
5
5
  .mat-mdc-row {
6
- $edge-selected-color: map.get($theme, 'forms', 'checkboxes', 'selected-border-color');
7
-
8
- @include list.row-coloring(map.get($theme, 'tables', 'rows', 'odd-even-background'),
9
- map.get($theme, 'tables', 'rows', 'odd-even-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'));
10
9
 
11
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
12
- .mat-checkbox-inner-container {
13
- background-color: map.get($theme, 'forms', 'checkboxes', 'background-color');
14
- }
10
+ &.selected {
11
+ background-color: map.get($theme, 'general', 'colors', 'primary');
15
12
 
16
- &.selected {
17
- background-color: map.get($theme, 'tables', 'rows', 'selected-background-color');
18
-
19
- .mat-mdc-cell {
20
- color: map.get($theme, 'tables', 'rows', 'selected-color');
13
+ .mat-mdc-cell {
14
+ color: map.get($theme, 'tables', 'rows', 'selected-color');
15
+ }
21
16
  }
22
17
 
23
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
24
- .mat-checkbox-checked {
25
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
26
- .mat-checkbox-background {
27
- background-color: map.get($theme, 'forms', 'checkboxes', 'selected-background-color');
28
-
29
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
30
- /* stylelint-disable-next-line max-nesting-depth, selector-max-combinators, selector-max-compound-selectors */
31
- .mat-checkbox-checkmark-path {
32
- /* stylelint-disable-next-line declaration-no-important */
33
- stroke: $edge-selected-color !important;
34
- }
35
- }
36
-
37
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
38
- .mat-checkbox-frame {
39
- border-color: $edge-selected-color;
40
- }
18
+ &.mat-row-disabled {
19
+ background-color: map.get($theme, 'tables', 'rows', 'disabled-color');
41
20
  }
42
21
  }
43
22
  }
44
-
45
- .mat-row-disabled {
46
- background-color: map.get($theme, 'general', 'colors', 'disabled-light');
47
- }
48
-
49
- .entry-table-menu .context-menu-item:hover {
50
- background-color: map.get($theme, 'general', 'colors', 'accent');
51
- color: map.get($theme, 'general', 'colors', 'dark');
52
- }
53
23
  }
@@ -2,17 +2,10 @@
2
2
 
3
3
  @mixin generate-from($theme) {
4
4
  .mat-sort-header-sorted {
5
- font: {
6
- size: map.get($theme, 'general', 'font', 'size');
7
- weight: map.get($theme, 'tables', 'columns', 'sorted', 'font-weight');
8
- }
5
+ font-weight: 700;
9
6
  }
10
7
 
11
8
  .mat-sort-header-sorted, .mat-sort-header-arrow {
12
- color: map.get($theme, 'general', 'colors', 'dark');
13
- }
14
-
15
- .mat-sort-header-content {
16
- text-align: map.get($theme, 'tables', 'columns', 'sorted', 'content-align');
9
+ color: map.get($theme, 'general', 'colors', 'font');
17
10
  }
18
11
  }
@@ -1,71 +1,64 @@
1
1
  @use 'sass:map';
2
2
 
3
- $font-path: '../../../../assets/fonts/';
3
+ $font-path: '/assets/fonts/';
4
4
  $font-sources: (
5
5
  (
6
- name: 'OpenSans',
6
+ name: 'Roboto',
7
7
  style: normal,
8
- formats: ('eot', 'woff', 'woff2', 'ttf')
8
+ formats: ('woff2'),
9
+ weight: 400
9
10
  ),
10
11
  (
11
- name: 'OpenSans',
12
+ name: 'Roboto',
12
13
  style: bold,
13
- formats: ('eot', 'woff', 'woff2', 'ttf')
14
- ),
15
- (
16
- name: 'Montserrat',
17
- style: bold,
18
- formats: ('eot', 'woff', 'woff2', 'ttf')
14
+ formats: ('woff2'),
15
+ weight: 500
19
16
  )
20
17
  );
21
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
+
22
37
  @mixin generate-default-font() {
23
38
  @each $font in $font-sources {
24
39
  $name: map.get($font, name);
25
40
  $style: map.get($font, style);
26
41
  $formats: map.get($font, formats);
42
+ $weight: map.get($font, weight);
27
43
 
28
44
  @each $format in $formats {
29
45
  $url: '#{$font-path}#{$name}/#{$name}-#{$style}.#{$format}';
30
46
 
31
47
  @font-face {
32
48
  font: {
33
- family: '#{$name}-#{$style}';
34
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
+ }
35
59
  }
36
60
  src: url('#{$url}') format('#{$format}');
37
61
  }
38
62
  }
39
63
  }
40
64
  }
41
-
42
- @mixin font($family: 'OpenSans-normal', $size: 14px) {
43
- font: {
44
- family: $family;
45
- size: $size;
46
- };
47
- }
48
-
49
- @mixin main-font($size: 14px) {
50
- @include font('OpenSans-normal', $size);
51
- }
52
-
53
- @mixin main-bolded-font($size: 14px) {
54
- @include font('OpenSans-Bold', $size);
55
- }
56
-
57
- @mixin title-font($size: 20px) {
58
- @include font('Montserrat-bold', $size);
59
- }
60
-
61
- @mixin font-family-from($theme) {
62
- $font-family: map.get($theme, 'general', 'font', 'family');
63
-
64
- @if $font-family == '' {
65
- @content;
66
- }
67
- @else {
68
- $font-size: map.get($theme, 'general', 'font', 'size');
69
- @include font($font-family, $font-size);
70
- }
71
- }
@@ -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
+ }
@@ -1,4 +1,4 @@
1
1
  @use 'dialogs/general' as dialogs;
2
- @use 'headers/general' as headers;
3
- @use 'tables';
4
- @use 'forms/general' as forms;
2
+ @use 'tables/general' as tables;
3
+ @use 'forms/general' as forms;
4
+ @use 'search-filter/general' as search-filter;