@smartbit4all/ng-client 7.3.20 → 7.3.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartbit4all/ng-client",
3
- "version": "7.3.20",
3
+ "version": "7.3.21",
4
4
  "description": "Angular client library for the smartbit4all platform — a server-driven UI framework that renders views, pages, forms, grids, trees and dialogs from backend (ViewApi/PageApi) definitions. Provides reactive view-context state management, dynamic component layouts and OpenAPI-generated BFF clients.",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -27,9 +27,10 @@
27
27
  "dependencies": {
28
28
  "tslib": "^2.3.0"
29
29
  },
30
- "module": "fesm2022/smartbit4all-ng-client.mjs",
31
- "typings": "types/smartbit4all-ng-client.d.ts",
32
30
  "exports": {
31
+ "./styles": {
32
+ "sass": "./src/styles/_ng-client-styles.scss"
33
+ },
33
34
  "./package.json": {
34
35
  "default": "./package.json"
35
36
  },
@@ -38,5 +39,7 @@
38
39
  "default": "./fesm2022/smartbit4all-ng-client.mjs"
39
40
  }
40
41
  },
42
+ "module": "fesm2022/smartbit4all-ng-client.mjs",
43
+ "typings": "types/smartbit4all-ng-client.d.ts",
41
44
  "type": "module"
42
45
  }
@@ -0,0 +1,192 @@
1
+ @use 'sass:map';
2
+
3
+ $default-colors: (
4
+ primary: #4763ff,
5
+ secondary: #a6aabd60,
6
+ accent: #20b6a8,
7
+ warn: #d51d1d,
8
+ success: #16a34a,
9
+ accent-grey: #6b7280,
10
+ text: #132033,
11
+ text-inverted: #ffffff,
12
+ text-muted: #68778e,
13
+ ) !default;
14
+
15
+ // Text color on the raised variant. A color missing from this map gets white.
16
+ $default-text-colors: (
17
+ primary: var(--text-inverted-color),
18
+ ) !default;
19
+
20
+ $default-tokens: (
21
+ // Backgrounds
22
+ color-bg: #f6f8fb,
23
+ color-surface: #ffffff,
24
+ color-surface-alt: #f9fbff,
25
+
26
+ // Borders
27
+ color-border: #e4eaf2,
28
+
29
+ // Tree
30
+ tree-active-background: var(--accent-color),
31
+
32
+ // Semantic
33
+ color-danger: var(--warn-color),
34
+ color-teal: #20b6a8,
35
+
36
+ // UI chrome
37
+ color-chip: #e8f4fd,
38
+ color-input: #ffffff,
39
+
40
+ // Shadows
41
+ shadow-strong: 0 18px 50px rgba(1, 132, 228, 0.1),
42
+ shadow-soft: 0 8px 22px rgba(1, 132, 228, 0.07),
43
+
44
+ border-radius: 0.5rem,
45
+ default-padding: 0.5rem,
46
+ ) !default;
47
+
48
+ @function -text-color($text-colors, $name) {
49
+ $value: map.get($text-colors, $name);
50
+ @if $value {
51
+ @return $value;
52
+ }
53
+ @return var(--text-color);
54
+ }
55
+
56
+ // Emits CSS variables only, so the project chooses the selector.
57
+ // Usage: body { @include sb.tokens($colors, $text-colors, $overrides); }
58
+ @mixin tokens($colors: (), $text-colors: (), $overrides: ()) {
59
+ $all-colors: map.merge($default-colors, $colors);
60
+ $all-text-colors: map.merge($default-text-colors, $text-colors);
61
+ $all-tokens: map.merge($default-tokens, $overrides);
62
+
63
+ // One --<name>-color and one --<name>-text-color for every color
64
+ @each $name, $color in $all-colors {
65
+ --#{$name}-color: #{$color};
66
+ --#{$name}-text-color: #{-text-color($all-text-colors, $name)};
67
+ }
68
+
69
+ @each $name, $value in $all-tokens {
70
+ @if $name == font-family {
71
+ font-family: #{$value} !important;
72
+ } @else {
73
+ --#{$name}: #{$value};
74
+ }
75
+ }
76
+ }
77
+
78
+ // @use '@smartbit4all/ng-client/styles' as sb;
79
+ // @include sb.buttons;
80
+ // @include sb.buttons((new-color: #ff5500), (new-color: white));
81
+ @mixin buttons($colors: (), $text-colors: ()) {
82
+ $all-colors: map.merge($default-colors, $colors);
83
+ $all-text-colors: map.merge($default-text-colors, $text-colors);
84
+
85
+ @each $name, $color in $all-colors {
86
+ $text: -text-color($all-text-colors, $name);
87
+ $color: var(--#{$name}-color, #{$color});
88
+
89
+ .sb4-raised.sb4-#{$name} {
90
+ background-color: #{$color} !important;
91
+ color: #{$text} !important;
92
+ stroke: #{$text} !important;
93
+ border: none;
94
+ }
95
+
96
+ .sb4-raised.sb4-#{$name}:hover {
97
+ background-color: rgb(from #{$color} r g b / 0.8);
98
+ }
99
+
100
+ .sb4-raised.sb4-#{$name} .mdc-button__label {
101
+ color: #{$text};
102
+ }
103
+
104
+ .sb4-normal.sb4-#{$name} {
105
+ background-color: transparent;
106
+ border: 1px solid #{$color};
107
+ color: #{$color} !important;
108
+ stroke: #{$color};
109
+ box-shadow: none;
110
+ }
111
+
112
+ .sb4-flat.sb4-#{$name} {
113
+ background-color: transparent;
114
+ border: 1px solid transparent;
115
+ color: #{$color} !important;
116
+ stroke: #{$color};
117
+ box-shadow: none;
118
+ }
119
+
120
+ .sb4-flat.sb4-#{$name}.sb4-view-activated {
121
+ --sb4-view-activated-bg: transparent !important;
122
+ --sb4-view-activated-color: #{$color} !important;
123
+ border-bottom: 1px solid #{$color} !important;
124
+ border-bottom-right-radius: unset !important;
125
+ border-bottom-left-radius: unset !important;
126
+
127
+ .mat-icon {
128
+ color: #{$color} !important;
129
+ fill: #{$color} !important;
130
+ stroke: #{$color} !important;
131
+ }
132
+ }
133
+
134
+ .sb4-minifab.sb4-#{$name} {
135
+ background-color: transparent;
136
+ border: 1px solid #{$color};
137
+ color: #{$color};
138
+ box-shadow: none;
139
+ }
140
+
141
+ .sb4-icon.sb4-#{$name} {
142
+ background-color: transparent;
143
+ border: 1px solid transparent;
144
+ color: #{$color};
145
+ box-shadow: none;
146
+ }
147
+
148
+ .sb4-minifab.sb4-#{$name}:hover,
149
+ .sb4-normal.sb4-#{$name}:hover {
150
+ background-color: rgb(from #{$color} r g b / 0.1);
151
+ border-color: #{$color};
152
+ }
153
+
154
+ .sb4-flat.sb4-#{$name}:hover {
155
+ background-color: rgb(from #{$color} r g b / 0.1);
156
+ }
157
+
158
+ .sb4-minifab.sb4-#{$name}:focus,
159
+ .sb4-minifab.sb4-#{$name}:hover {
160
+ box-shadow: none;
161
+ }
162
+
163
+ .sb4-minifab.sb4-#{$name},
164
+ .sb4-normal.sb4-#{$name},
165
+ .sb4-flat.sb4-#{$name} {
166
+ .mdc-button__label {
167
+ color: #{$color};
168
+ }
169
+ }
170
+
171
+ .sb4-raised.sb4-#{$name} mat-icon,
172
+ .sb4-raised.sb4-#{$name} .mat-icon,
173
+ .sb4-raised.sb4-#{$name} .pi {
174
+ color: #{$text} !important;
175
+ fill: #{$text} !important;
176
+ stroke: #{$text} !important;
177
+ }
178
+
179
+ .sb4-icon.sb4-#{$name},
180
+ .sb4-minifab.sb4-#{$name},
181
+ .sb4-normal.sb4-#{$name},
182
+ .sb4-flat.sb4-#{$name} {
183
+ mat-icon,
184
+ .mat-icon,
185
+ .pi {
186
+ color: #{$color} !important;
187
+ fill: #{$color} !important;
188
+ stroke: #{$color} !important;
189
+ }
190
+ }
191
+ }
192
+ }
@@ -5,7 +5,7 @@ import { ComponentType as ComponentType$1 } from '@angular/cdk/portal';
5
5
  import { ValidatorFn, UntypedFormGroup, ControlValueAccessor } from '@angular/forms';
6
6
  import { Observable, Subject as Subject$1, Subscription } from 'rxjs';
7
7
  import { QuillModules } from 'ngx-quill';
8
- import { MatDialogRef, MatDialog } from '@angular/material/dialog';
8
+ import { MatDialogRef, MatDialog, MatDialogConfig } from '@angular/material/dialog';
9
9
  import { DateFnsAdapter } from '@angular/material-date-fns-adapter';
10
10
  import { MatDateFormats, ThemePalette } from '@angular/material/core';
11
11
  import { Locale } from 'date-fns';
@@ -9154,7 +9154,7 @@ declare abstract class SmartdialogService {
9154
9154
  maxWidth: number;
9155
9155
  minWidth: number;
9156
9156
  };
9157
- createDialog(smartDialog: SmartDialogData, component: ComponentType$1<any>): MatDialogRef<any, any>;
9157
+ createDialog(smartDialog: SmartDialogData, component: ComponentType$1<any>, config?: MatDialogConfig): MatDialogRef<any, any>;
9158
9158
  createDialogRef(smartDialog: SmartDialogData, component: ComponentType$1<any>): MatDialogRef<any, any>;
9159
9159
  openComponentAsDialog(component: ComponentType$1<any>, viewName: string): MatDialogRef<any, any>;
9160
9160
  handleAfterClosed(result: any): void;
@@ -9885,7 +9885,7 @@ declare class SmartKeybindingService {
9885
9885
  private readonly injector;
9886
9886
  private readonly isMac;
9887
9887
  private readonly hosts;
9888
- /** The elements of no view whose keys go to a view: a dialog's header to the page it shows. */
9888
+ /** The elements of no view whose keys go to a view: a dialog's container to the page it shows. */
9889
9889
  private readonly forwards;
9890
9890
  /** The view that held the focus last; it keeps the keys after the focus fell to the body. */
9891
9891
  private lastActive?;
@@ -9893,8 +9893,8 @@ declare class SmartKeybindingService {
9893
9893
  /** Lets the view take keys; returns the function that stops it. */
9894
9894
  register(entry: KeybindingHost): () => void;
9895
9895
  /**
9896
- * Sends the keys pressed with the focus in `from`, an element outside every view (the header
9897
- * of a dialog), to the view whose host is `to`; returns the function that stops it.
9896
+ * Sends the keys pressed with the focus in `from`, an element enclosing no view of its own (the
9897
+ * container of a dialog), to the view whose host is `to`; returns the function that stops it.
9898
9898
  */
9899
9899
  forwardKeys(from: HTMLElement, to: HTMLElement): () => void;
9900
9900
  private onFocusin;
Binary file