ng-configcat-publicapi-ui 4.2.2 → 5.0.0

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 (155) hide show
  1. package/README.md +2 -2
  2. package/fesm2022/ng-configcat-publicapi-ui.mjs +4240 -3534
  3. package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -1
  4. package/index.d.ts +476 -3
  5. package/package.json +11 -10
  6. package/src/css/button.scss +83 -0
  7. package/src/css/controls.scss +390 -0
  8. package/src/css/dialog.scss +63 -0
  9. package/src/css/icon.scss +7 -0
  10. package/src/css/slider.scss +82 -0
  11. package/src/css/snackbar.scss +16 -0
  12. package/src/css/table.scss +142 -0
  13. package/src/css/theme.scss +47 -0
  14. package/src/css/tooltip.scss +12 -0
  15. package/src/css/variables.scss +324 -0
  16. package/src/css/vars/auth.scss +24 -0
  17. package/src/css/vars/banner.scss +116 -0
  18. package/src/css/vars/box.scss +48 -0
  19. package/src/css/vars/config-overview.scss +27 -0
  20. package/src/css/vars/flag.scss +146 -0
  21. package/src/css/vars/header.scss +24 -0
  22. package/src/css/vars/icon.scss +33 -0
  23. package/src/css/vars/logo.scss +19 -0
  24. package/src/css/vars/notification.scss +38 -0
  25. package/src/css/vars/overview.scss +51 -0
  26. package/src/css/vars/prism.scss +44 -0
  27. package/src/css/vars/sidenav.scss +42 -0
  28. package/src/css/vars/theme.scss +78 -0
  29. package/src/public-api.scss +208 -0
  30. package/esm2022/lib/_directives/index.mjs +0 -2
  31. package/esm2022/lib/_directives/input-display-normalizer.directive.mjs +0 -38
  32. package/esm2022/lib/_models/deleteSettingModel.mjs +0 -2
  33. package/esm2022/lib/_models/flag-state.mjs +0 -2
  34. package/esm2022/lib/_models/index.mjs +0 -4
  35. package/esm2022/lib/_models/setting-value-formgroup.mjs +0 -2
  36. package/esm2022/lib/_models/settingValuesModel.mjs +0 -2
  37. package/esm2022/lib/_models/updateSettingValuesModel.mjs +0 -2
  38. package/esm2022/lib/_models/user-comparator.mjs +0 -100
  39. package/esm2022/lib/_services/app-data-adapter.mjs +0 -18
  40. package/esm2022/lib/_services/comparison-value-list-helper.mjs +0 -72
  41. package/esm2022/lib/_services/date-helper.mjs +0 -56
  42. package/esm2022/lib/_services/form-generator.mjs +0 -359
  43. package/esm2022/lib/_services/form-helper.mjs +0 -163
  44. package/esm2022/lib/_services/index.mjs +0 -3
  45. package/esm2022/lib/_services/messaging.service.mjs +0 -26
  46. package/esm2022/lib/_services/platform-helper.mjs +0 -7
  47. package/esm2022/lib/_services/public-api.service.mjs +0 -77
  48. package/esm2022/lib/_services/setting-list-form-helper.mjs +0 -171
  49. package/esm2022/lib/_services/tracking.directive.mjs +0 -16
  50. package/esm2022/lib/ace-editor/ace-editor.component.mjs +0 -137
  51. package/esm2022/lib/authorization/authorization.component.mjs +0 -62
  52. package/esm2022/lib/base/base-select.component.mjs +0 -27
  53. package/esm2022/lib/base/base.component.mjs +0 -48
  54. package/esm2022/lib/bootstrap.mjs +0 -11
  55. package/esm2022/lib/configuration.mjs +0 -14
  56. package/esm2022/lib/dialogs/confirmation-dialog/confirmation-dialog.mjs +0 -28
  57. package/esm2022/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +0 -27
  58. package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +0 -80
  59. package/esm2022/lib/dialogs/info-dialog/info-dialog.mjs +0 -29
  60. package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +0 -36
  61. package/esm2022/lib/dialogs/reroute-dialog/reroute-dialog.mjs +0 -28
  62. package/esm2022/lib/dialogs/save-snackbar/save-snackbar.component.mjs +0 -14
  63. package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +0 -288
  64. package/esm2022/lib/selects/config-select/config-select.component.mjs +0 -60
  65. package/esm2022/lib/selects/environment-select/environment-select.component.mjs +0 -47
  66. package/esm2022/lib/selects/product-select/product-select.component.mjs +0 -40
  67. package/esm2022/lib/selects/setting-select/setting-select.component.mjs +0 -47
  68. package/esm2022/lib/setting-item/setting-item.component.mjs +0 -118
  69. package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +0 -81
  70. package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +0 -293
  71. package/esm2022/lib/setting-list/setting/setting.component.mjs +0 -136
  72. package/esm2022/lib/setting-list/setting/value/value.component.mjs +0 -37
  73. package/esm2022/lib/setting-list/setting-list.component.mjs +0 -194
  74. package/esm2022/lib/v2/feature-flag/date-time-picker/date-time-picker.component.mjs +0 -123
  75. package/esm2022/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.mjs +0 -30
  76. package/esm2022/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.mjs +0 -220
  77. package/esm2022/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.mjs +0 -61
  78. package/esm2022/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.mjs +0 -72
  79. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.mjs +0 -25
  80. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.mjs +0 -105
  81. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +0 -75
  82. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +0 -48
  83. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +0 -113
  84. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.mjs +0 -251
  85. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +0 -444
  86. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +0 -84
  87. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.mjs +0 -129
  88. package/esm2022/lib/v2/feature-flag/feature-flag.component.mjs +0 -190
  89. package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +0 -65
  90. package/esm2022/lib/v2/feature-flag-item.component.mjs +0 -330
  91. package/esm2022/ng-configcat-publicapi-ui.mjs +0 -5
  92. package/esm2022/public-api.mjs +0 -15
  93. package/lib/_directives/index.d.ts +0 -1
  94. package/lib/_directives/input-display-normalizer.directive.d.ts +0 -13
  95. package/lib/_models/deleteSettingModel.d.ts +0 -6
  96. package/lib/_models/flag-state.d.ts +0 -20
  97. package/lib/_models/index.d.ts +0 -3
  98. package/lib/_models/setting-value-formgroup.d.ts +0 -69
  99. package/lib/_models/settingValuesModel.d.ts +0 -11
  100. package/lib/_models/updateSettingValuesModel.d.ts +0 -7
  101. package/lib/_models/user-comparator.d.ts +0 -84
  102. package/lib/_services/app-data-adapter.d.ts +0 -7
  103. package/lib/_services/comparison-value-list-helper.d.ts +0 -17
  104. package/lib/_services/date-helper.d.ts +0 -6
  105. package/lib/_services/form-generator.d.ts +0 -59
  106. package/lib/_services/form-helper.d.ts +0 -21
  107. package/lib/_services/index.d.ts +0 -2
  108. package/lib/_services/messaging.service.d.ts +0 -12
  109. package/lib/_services/platform-helper.d.ts +0 -3
  110. package/lib/_services/public-api.service.d.ts +0 -21
  111. package/lib/_services/setting-list-form-helper.d.ts +0 -19
  112. package/lib/_services/tracking.directive.d.ts +0 -6
  113. package/lib/ace-editor/ace-editor.component.d.ts +0 -32
  114. package/lib/authorization/authorization.component.d.ts +0 -21
  115. package/lib/base/base-select.component.d.ts +0 -10
  116. package/lib/base/base.component.d.ts +0 -18
  117. package/lib/bootstrap.d.ts +0 -13
  118. package/lib/configuration.d.ts +0 -9
  119. package/lib/dialogs/confirmation-dialog/confirmation-dialog.d.ts +0 -19
  120. package/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.d.ts +0 -17
  121. package/lib/dialogs/expand-dialog/expand-dialog.component.d.ts +0 -25
  122. package/lib/dialogs/info-dialog/info-dialog.d.ts +0 -17
  123. package/lib/dialogs/reason-dialog/reason-dialog.component.d.ts +0 -15
  124. package/lib/dialogs/reroute-dialog/reroute-dialog.d.ts +0 -20
  125. package/lib/dialogs/save-snackbar/save-snackbar.component.d.ts +0 -8
  126. package/lib/ng-configcat-publicapi-ui.module.d.ts +0 -75
  127. package/lib/selects/config-select/config-select.component.d.ts +0 -17
  128. package/lib/selects/environment-select/environment-select.component.d.ts +0 -17
  129. package/lib/selects/product-select/product-select.component.d.ts +0 -14
  130. package/lib/selects/setting-select/setting-select.component.d.ts +0 -17
  131. package/lib/setting-item/setting-item.component.d.ts +0 -37
  132. package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts +0 -27
  133. package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +0 -61
  134. package/lib/setting-list/setting/setting.component.d.ts +0 -43
  135. package/lib/setting-list/setting/value/value.component.d.ts +0 -20
  136. package/lib/setting-list/setting-list.component.d.ts +0 -53
  137. package/lib/v2/feature-flag/date-time-picker/date-time-picker.component.d.ts +0 -25
  138. package/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.d.ts +0 -27
  139. package/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.d.ts +0 -41
  140. package/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.d.ts +0 -18
  141. package/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.d.ts +0 -30
  142. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.d.ts +0 -10
  143. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.d.ts +0 -27
  144. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.d.ts +0 -36
  145. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.d.ts +0 -21
  146. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.d.ts +0 -79
  147. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.d.ts +0 -63
  148. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.d.ts +0 -94
  149. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.d.ts +0 -31
  150. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.d.ts +0 -33
  151. package/lib/v2/feature-flag/feature-flag.component.d.ts +0 -49
  152. package/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.d.ts +0 -28
  153. package/lib/v2/feature-flag-item.component.d.ts +0 -66
  154. package/public-api.d.ts +0 -11
  155. package/public-api.scss +0 -350
@@ -0,0 +1,390 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ html > body {
4
+ .mdc-notched-outline__notch {
5
+ border-left: none !important;
6
+ }
7
+
8
+ .mdc-notched-outline > * {
9
+ border-color: var(--input-border-color) !important;
10
+ }
11
+
12
+ .mat-mdc-text-field-wrapper {
13
+ border-bottom-left-radius: 4px;
14
+ border-bottom-right-radius: 4px;
15
+ background-color: var(--input-background);
16
+ }
17
+
18
+ .small-density-form-field {
19
+ @include mat.form-field-density(-5);
20
+ }
21
+
22
+ @mixin input-suffix-button {
23
+ @include mat.icon-button-density(-5);
24
+
25
+ & {
26
+ color: var(--action-icon-button-color);
27
+ padding: 0 !important;
28
+ height: 24px !important;
29
+ width: 24px !important;
30
+ line-height: 1;
31
+ display: inline-flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ }
35
+
36
+ mat-icon {
37
+ font-size: 20px;
38
+ height: 20px;
39
+ width: 20px;
40
+ }
41
+ }
42
+
43
+ .mat-mdc-form-field.small-form-field {
44
+ @extend .small-density-form-field;
45
+
46
+ mat-label,
47
+ .mat-mdc-select {
48
+ font-size: 12px;
49
+ }
50
+
51
+ .mat-mdc-text-field-wrapper {
52
+ padding: 0 10px;
53
+ }
54
+
55
+ .mat-mdc-form-field-infix {
56
+ padding-top: 4px !important;
57
+ padding-bottom: 4px !important;
58
+ min-height: 32px !important;
59
+ font-size: 12px;
60
+ }
61
+
62
+ .input-suffix-button {
63
+ @include input-suffix-button();
64
+ }
65
+
66
+ .input-suffix-button:last-of-type {
67
+ @extend .input-suffix-button;
68
+ margin-right: 2px;
69
+ }
70
+ }
71
+
72
+ .mat-mdc-form-field.suffixed {
73
+ .mat-mdc-text-field-wrapper {
74
+ padding: 0 0 0 10px;
75
+ }
76
+ }
77
+
78
+ .mat-mdc-form-field.suffixed-prefixed {
79
+ .mat-mdc-text-field-wrapper {
80
+ padding: 0;
81
+ }
82
+ }
83
+
84
+ .mat-mdc-form-field.select {
85
+ .mat-mdc-text-field-wrapper {
86
+ padding: 0 10px 0 10px;
87
+ }
88
+
89
+ select {
90
+ padding: 0 15px 0 10px;
91
+ }
92
+ }
93
+
94
+ .mat-mdc-form-field.select-suffixed {
95
+ .mat-mdc-text-field-wrapper {
96
+ padding: 0 0 0 10px;
97
+ }
98
+
99
+ select {
100
+ padding: 0 15px 0 10px;
101
+ }
102
+ }
103
+
104
+ .mdc-text-field--focused .mdc-notched-outline > * {
105
+ border-color: var(--input-outline-focused-color) !important;
106
+ }
107
+
108
+ .mdc-text-field--invalid .mdc-notched-outline > * {
109
+ border-color: var(--input-outline-invalid-color) !important;
110
+ }
111
+
112
+ .mdc-text-field--invalid .mat-mdc-floating-label > * {
113
+ color: var(--error-text-color);
114
+ }
115
+
116
+ .mat-mdc-form-field-error {
117
+ color: var(--error-text-color);
118
+ }
119
+
120
+ .mat-mdc-checkbox {
121
+ --mat-checkbox-state-layer-size: 28px;
122
+ --mat-checkbox-label-text-color: var(--text-color);
123
+
124
+ .mat-mdc-checkbox-ripple,
125
+ .mdc-checkbox__ripple {
126
+ top: -10px;
127
+ left: -10px;
128
+ right: -10px;
129
+ bottom: -10px;
130
+ }
131
+
132
+ label {
133
+ padding-left: 6px !important;
134
+ }
135
+ }
136
+
137
+ .mat-mdc-form-field {
138
+ font-size: 13px;
139
+
140
+ .mat-mdc-form-field-hint-wrapper,
141
+ .mat-mdc-form-field-error-wrapper {
142
+ padding: 0 8px;
143
+
144
+ .mat-mdc-form-field-hint,
145
+ .mat-mdc-form-field-error {
146
+ font-size: 10px;
147
+ letter-spacing: normal;
148
+ line-height: 10px;
149
+ }
150
+ }
151
+ }
152
+
153
+ .mat-mdc-paginator {
154
+ .mat-mdc-form-field {
155
+ .mat-mdc-text-field-wrapper {
156
+ padding: 0 10px;
157
+ }
158
+
159
+ .mat-mdc-form-field-infix {
160
+ padding-top: 4px !important;
161
+ padding-bottom: 4px !important;
162
+ min-height: 32px !important;
163
+ }
164
+ }
165
+ }
166
+
167
+ .mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch {
168
+ max-width: inherit;
169
+ }
170
+
171
+ .top-icon-suffix {
172
+ .mat-mdc-form-field-icon-suffix {
173
+ align-self: start;
174
+ padding-top: 4px;
175
+ }
176
+
177
+ .mat-mdc-form-field-icon-prefix {
178
+ align-self: start;
179
+ padding-top: 6px;
180
+ }
181
+ }
182
+
183
+ .search-bar,
184
+ .tag-filter {
185
+ .mat-mdc-form-field-icon-prefix,
186
+ .mat-mdc-form-field-icon-suffix {
187
+ color: var(--flag-search-bar-search-icon-color);
188
+
189
+ mat-icon {
190
+ font-size: 22px;
191
+ width: 22px;
192
+ height: 22px;
193
+ }
194
+ }
195
+
196
+ .mat-mdc-form-field-icon-suffix {
197
+ padding-right: 4px;
198
+ }
199
+
200
+ .mat-mdc-form-field-infix {
201
+ padding-top: 5px !important;
202
+ padding-bottom: 4px !important;
203
+ min-height: 34px !important;
204
+ }
205
+ }
206
+
207
+ .select-bar {
208
+ .mat-mdc-form-field {
209
+ .mat-mdc-form-field-infix {
210
+ padding-top: 5px !important;
211
+ padding-bottom: 4px !important;
212
+ min-height: 34px;
213
+ }
214
+ }
215
+
216
+ .mat-mdc-text-field-wrapper .mat-mdc-floating-label {
217
+ top: 50% !important;
218
+ }
219
+ }
220
+
221
+ .mat-mdc-form-field-icon-suffix {
222
+ mat-icon.info-mat-icon {
223
+ color: var(--info-icon-color);
224
+ }
225
+ }
226
+
227
+ .search-bar .mat-mdc-form-field-icon-suffix {
228
+ button {
229
+ width: 26px !important;
230
+ height: 26px !important;
231
+ }
232
+ }
233
+
234
+ .tag-filter {
235
+ .mat-mdc-form-field-icon-prefix,
236
+ .mat-mdc-form-field-icon-suffix {
237
+ opacity: 0.9;
238
+
239
+ mat-icon {
240
+ font-size: 18px;
241
+ width: 18px;
242
+ height: 18px;
243
+ }
244
+ }
245
+
246
+ .mat-mdc-form-field-infix {
247
+ width: 100%;
248
+ }
249
+
250
+ .mat-mdc-standard-chip {
251
+ border-radius: unset;
252
+ height: unset;
253
+
254
+ .mdc-evolution-chip__action--trailing {
255
+ padding-right: unset;
256
+ padding-left: 3px;
257
+ }
258
+
259
+ .mat-mdc-chip-remove {
260
+ opacity: 1;
261
+ mat-icon {
262
+ opacity: var(--flag-tag-filter-chip-remove-opacity);
263
+ color: var(--flag-tag-filter-chip-remove-color);
264
+ padding: 0 0 0 2px !important;
265
+ font-size: 14px;
266
+ height: 14px;
267
+ width: 14px;
268
+ }
269
+
270
+ &:hover {
271
+ mat-icon {
272
+ opacity: 0.7;
273
+ }
274
+ }
275
+
276
+ &::before {
277
+ content: "";
278
+ display: block;
279
+ position: absolute;
280
+ border-radius: 50%;
281
+ top: 7px;
282
+ left: 11px;
283
+ height: 10px;
284
+ width: 10px;
285
+ background-color: var(--flag-delete-background);
286
+ opacity: 1;
287
+ }
288
+ }
289
+ }
290
+
291
+ .mdc-evolution-chip-set {
292
+ .mdc-evolution-chip {
293
+ margin-top: 1px;
294
+ margin-bottom: 1px;
295
+ height: 18px;
296
+
297
+ .mdc-evolution-chip__cell--primary,
298
+ .mat-mdc-chip-action-label {
299
+ overflow: hidden;
300
+ font-size: 11px;
301
+ padding-left: 0px;
302
+ padding-right: 0px;
303
+ color: unset;
304
+ min-width: 0;
305
+ }
306
+ }
307
+
308
+ .mdc-evolution-chip-set__chips {
309
+ align-items: center;
310
+ flex-flow: row;
311
+ }
312
+ }
313
+
314
+ .mdc-text-field--outlined {
315
+ padding-right: 4px;
316
+ }
317
+ }
318
+
319
+ .tag-option {
320
+ min-height: 36px;
321
+
322
+ .mdc-list-item__primary-text {
323
+ overflow: unset !important;
324
+ }
325
+ }
326
+
327
+ ::placeholder {
328
+ opacity: var(--input-placeholder-opacity) !important;
329
+ }
330
+
331
+ .mat-mdc-menu-panel.full-width-menu {
332
+ max-width: max-content;
333
+ }
334
+
335
+ .mat-mdc-menu-panel,
336
+ .mat-mdc-select-panel {
337
+ .mat-divider {
338
+ margin: 8px 0 !important;
339
+ }
340
+ }
341
+
342
+ .mat-mdc-select-panel,
343
+ .mat-mdc-autocomplete-panel {
344
+ max-height: 50vh;
345
+ max-width: 50vh;
346
+
347
+ .mdc-list-item__primary-text {
348
+ overflow: hidden;
349
+ text-overflow: ellipsis;
350
+ white-space: nowrap;
351
+ }
352
+
353
+ .mat-mdc-optgroup-label {
354
+ font-weight: 700;
355
+ min-height: 40px;
356
+ }
357
+
358
+ .mat-mdc-option {
359
+ --mat-option-selected-state-label-text-color: var(--theme-color);
360
+ min-height: 38px;
361
+ }
362
+
363
+ .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple) {
364
+ padding-left: 24px;
365
+ }
366
+ }
367
+
368
+ .cdk-overlay-pane.select-overlay-panel {
369
+ min-width: fit-content;
370
+ }
371
+
372
+ &[data-theme="dark"] .mat-mdc-autocomplete-panel,
373
+ &[data-theme="dark"] .mat-mdc-dialog-surface,
374
+ &[data-theme="dark"] .mat-mdc-select-panel,
375
+ &[data-theme="dark"] .mat-mdc-menu-panel {
376
+ border: var(--popup-panel-border);
377
+ }
378
+
379
+ &[data-theme="dark"] .mat-mdc-autocomplete-panel,
380
+ &[data-theme="dark"] .mat-mdc-select-panel,
381
+ &[data-theme="dark"] .mat-mdc-menu-panel {
382
+ margin: 3px 0;
383
+ }
384
+
385
+ &[data-theme="dark"] .mat-mdc-autocomplete-panel,
386
+ &[data-theme="dark"] .mat-mdc-select-panel {
387
+ border-top-left-radius: 4px !important;
388
+ border-top-right-radius: 4px !important;
389
+ }
390
+ }
@@ -0,0 +1,63 @@
1
+ html > body {
2
+ .mat-mdc-dialog-title.draggable {
3
+ cursor: grab;
4
+ cursor: -moz-grab;
5
+ cursor: -webkit-grab;
6
+ }
7
+
8
+ .mat-mdc-dialog-title.draggable:active {
9
+ cursor: grabbing;
10
+ cursor: -moz-grabbing;
11
+ cursor: -webkit-grabbing;
12
+ }
13
+
14
+ // fix for malformed dialog titles
15
+ // see: https://github.com/angular/components/issues/26539
16
+ .mat-mdc-dialog-title {
17
+ padding-top: 18px;
18
+ &::before {
19
+ display: none;
20
+ }
21
+ }
22
+
23
+ .mat-mdc-dialog-container {
24
+ .mat-mdc-dialog-actions {
25
+ padding-left: 24px;
26
+ padding-bottom: 18px;
27
+ gap: 8px;
28
+
29
+ .mat-mdc-button-base + .mat-mdc-button-base {
30
+ margin-left: unset;
31
+ }
32
+ }
33
+
34
+ .mat-mdc-dialog-content {
35
+ color: var(--panel-description-color);
36
+ font-size: 13px;
37
+ line-height: var(--text-line-height);
38
+
39
+ ul {
40
+ padding-inline-start: 30px;
41
+ margin-block-start: 6px;
42
+ margin-block-end: 3px;
43
+ }
44
+ }
45
+ }
46
+
47
+ .saving-indicator-panel .mat-mdc-dialog-container {
48
+ --mat-dialog-container-shape: 16px;
49
+ --mat-dialog-content-padding: 14px 20px;
50
+
51
+ .mat-mdc-dialog-surface {
52
+ box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
53
+ }
54
+ }
55
+
56
+ .saving-indicator-backdrop {
57
+ background-color: var(--saving-indicator-backdrop-color);
58
+ }
59
+
60
+ .cdk-overlay-dark-backdrop {
61
+ background: rgba(0, 0, 0, 0.6);
62
+ }
63
+ }
@@ -0,0 +1,7 @@
1
+ html > body {
2
+ // there's a bug where circular icons with small font size are cropped at the top and bottom
3
+ // https://github.com/google/material-design-icons/issues/679
4
+ .mat-icon.icon-transform-rotate {
5
+ transform: rotate(0.03deg);
6
+ }
7
+ }
@@ -0,0 +1,82 @@
1
+ /* The switch - the box around the slider */
2
+ .switch {
3
+ position: relative;
4
+ width: 66px;
5
+ height: 30px;
6
+ margin-left: 4px;
7
+ margin-top: 0;
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ /* Hide default HTML checkbox */
12
+ .switch input {
13
+ display: none;
14
+ }
15
+
16
+ /* The slider */
17
+ .slider {
18
+ position: absolute;
19
+ cursor: pointer;
20
+ top: 0;
21
+ left: 0;
22
+ right: 0;
23
+ bottom: 0;
24
+ background-color: var(--flag-bool-slider-off);
25
+ -webkit-transition: 0.4s;
26
+ transition: 0.4s;
27
+ width: 66px;
28
+ height: 30px;
29
+ }
30
+
31
+ .slider:before {
32
+ position: absolute;
33
+ content: "";
34
+ height: 22px;
35
+ width: 22px;
36
+ left: 4px;
37
+ bottom: 4px;
38
+ background-color: var(--flag-bool-slider-remaining);
39
+ -webkit-transition: 0.4s;
40
+ transition: 0.4s;
41
+ }
42
+
43
+ input:checked + .slider {
44
+ background-color: var(--flag-bool-slider-on);
45
+ }
46
+
47
+ input:focus + .slider {
48
+ box-shadow: 0 0 1px var(--flag-bool-slider-on);
49
+ }
50
+
51
+ input:checked + .slider:before {
52
+ -webkit-transform: translateX(36px);
53
+ -ms-transform: translateX(36px);
54
+ transform: translateX(36px);
55
+ }
56
+
57
+ /* Rounded sliders */
58
+
59
+ .slider.round {
60
+ border-radius: 34px;
61
+ }
62
+
63
+ .slider.round:before {
64
+ border-radius: 50%;
65
+ }
66
+
67
+ .slider:after {
68
+ content: "Off";
69
+ color: var(--flag-bool-slider-remaining);
70
+ display: block;
71
+ position: absolute;
72
+ transform: translate(-14%, -50%);
73
+ top: 50%;
74
+ left: 50%;
75
+ font-size: 10px;
76
+ font-family: Verdana, sans-serif;
77
+ }
78
+
79
+ input:checked + .slider:after {
80
+ content: "On";
81
+ transform: translate(-91%, -50%);
82
+ }
@@ -0,0 +1,16 @@
1
+ html > body {
2
+ .mat-mdc-snack-bar-container {
3
+ .mdc-snackbar__label {
4
+ a {
5
+ color: var(--notification-font-color);
6
+ text-decoration: underline;
7
+ }
8
+ }
9
+
10
+ .mdc-snackbar__surface {
11
+ background-color: transparent !important;
12
+ border: unset !important;
13
+ padding-right: unset !important;
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,142 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ html > body {
4
+ .data-table,
5
+ .mat-mdc-table {
6
+ border-spacing: 0;
7
+ background-color: unset;
8
+
9
+ thead tr {
10
+ background-color: var(--table-header-color) !important;
11
+ height: var(--table-row-height) !important;
12
+ }
13
+
14
+ tbody tr:not(.detail-row) {
15
+ height: var(--table-row-height) !important;
16
+ }
17
+
18
+ tbody tr:not(.detail-row):hover {
19
+ background-color: var(--table-row-hover-background) !important;
20
+ }
21
+
22
+ tbody tr td,
23
+ thead tr th {
24
+ padding-left: 8px !important;
25
+ padding-right: 8px !important;
26
+ font-size: 12px !important;
27
+ line-height: normal !important;
28
+ text-align: left;
29
+ }
30
+
31
+ thead tr th {
32
+ color: var(--mat-table-header-headline-color) !important;
33
+ font-weight: var(--table-header-font-weight) !important;
34
+ border-top: var(--table-border) !important;
35
+ border-bottom: var(--table-border) !important;
36
+ }
37
+
38
+ thead tr th:last-of-type {
39
+ border-right: var(--table-border) !important;
40
+ border-top-right-radius: var(--table-border-radius);
41
+ }
42
+
43
+ thead tr th:first-of-type {
44
+ border-left: var(--table-border) !important;
45
+ border-top-left-radius: var(--table-border-radius);
46
+ }
47
+
48
+ tbody tr td:first-of-type {
49
+ border-left: var(--table-border) !important;
50
+ }
51
+
52
+ tbody tr td:last-of-type {
53
+ border-right: var(--table-border) !important;
54
+ }
55
+
56
+ tbody tr:not(:last-of-type) {
57
+ td {
58
+ border-bottom: 1px solid var(--table-cell-border-color);
59
+ }
60
+ }
61
+
62
+ tbody tr:last-of-type {
63
+ td {
64
+ border-bottom: var(--table-border) !important;
65
+ }
66
+
67
+ td:first-of-type {
68
+ border-bottom-left-radius: var(--table-border-radius);
69
+ }
70
+
71
+ td:last-of-type {
72
+ border-bottom-right-radius: var(--table-border-radius);
73
+ }
74
+ }
75
+
76
+ tbody tr:nth-child(even) {
77
+ background-color: var(--table-even-row-color);
78
+ }
79
+
80
+ tbody tr:nth-child(odd) {
81
+ background-color: var(--table-odd-row-color);
82
+ }
83
+
84
+ .green {
85
+ color: var(--table-status-green);
86
+ }
87
+
88
+ .red {
89
+ color: var(--table-status-red);
90
+ }
91
+ }
92
+
93
+ .mat-mdc-paginator-container {
94
+ @include mat.form-field-density(-5);
95
+ }
96
+
97
+ .mat-mdc-paginator {
98
+ background-color: unset;
99
+ }
100
+
101
+ .mat-column-actions {
102
+ width: 100px;
103
+ max-width: 100px;
104
+ min-width: 100px;
105
+ text-align: right !important;
106
+ }
107
+
108
+ .icon-column {
109
+ mat-icon {
110
+ color: var(--action-icon-button-color) !important;
111
+ }
112
+ }
113
+
114
+ .center-column {
115
+ text-align: center !important;
116
+ }
117
+
118
+ .mat-mdc-table {
119
+ .center-column {
120
+ .mat-sort-header-container {
121
+ justify-content: center;
122
+ margin-left: 18px;
123
+ }
124
+ }
125
+ }
126
+
127
+ .icon-btn-column,
128
+ .mat-column-actions {
129
+ .mat-mdc-icon-button {
130
+ color: var(--action-icon-button-color) !important;
131
+ }
132
+
133
+ .mat-mdc-icon-button:disabled {
134
+ opacity: var(--action-icon-button-disabled-opacity) !important;
135
+ }
136
+ }
137
+
138
+ .scrollable {
139
+ overflow-x: auto;
140
+ scrollbar-width: thin;
141
+ }
142
+ }