@sumaris-net/ngx-components 2.7.3-rc1 → 2.7.3-rc2

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,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.7.3-rc1",
4
+ "version": "2.7.3-rc2",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -2,7 +2,7 @@
2
2
  "name": "ngx-sumaris-components",
3
3
  "short_name": "ngx-sumaris-components",
4
4
  "manifest_version": 1,
5
- "version": "2.7.3-rc1",
5
+ "version": "2.7.3-rc2",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{
@@ -838,30 +838,6 @@ mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-disabled {
838
838
  color: white;
839
839
  }
840
840
 
841
- // --------------------------------------------------
842
- // Material tab group
843
- // --------------------------------------------------
844
-
845
- // --- Allow to hide headers
846
- mat-tab-group.mat-tab-group-header-hidden .mat-mdc-tab-header {
847
- display: none;
848
- }
849
-
850
- // --- Allow to hide header's pagination
851
- mat-tab-group.mat-tab-group-header-pagination-hidden .mat-tab-header-pagination {
852
- display: none;
853
- }
854
-
855
- // --- Allow to hide disabled headers
856
- mat-tab-group.mat-tab-disabled-hidden .mat-tab-disabled {
857
- display: none;
858
- }
859
-
860
- // --- Allow to show disabled headers
861
- mat-tab-group.mat-tab-disabled-visible .mat-tab-disabled {
862
- display: inherit;
863
- }
864
-
865
841
  // --------------------------------------------------
866
842
  // Material menu
867
843
  // --------------------------------------------------
@@ -0,0 +1,361 @@
1
+ // --------------------------------------------------
2
+ // Material tab group
3
+ // --------------------------------------------------
4
+ // -- Keep Angular 14 tab style
5
+ .mat-mdc-tab-label-container {
6
+ --mat-tab-header-divider-color: rgba(0,0,0,.12) !important;
7
+ --mat-tab-header-divider-height: 1px !important;
8
+ }
9
+ .mat-mdc-tab-group, .mat-mdc-tab-nav-bar {
10
+ --mat-tab-header-active-label-text-color: #000000de !important;
11
+ --mat-tab-header-active-focus-label-text-color: #000000de !important;
12
+ --mat-tab-header-active-hover-label-text-color: #000000de !important;
13
+ }
14
+ .mat-mdc-tab-header {
15
+ --mat-tab-header-label-text-tracking: 0.0178571429em !important;
16
+ }
17
+
18
+ // --- Allow to hide headers
19
+ .mat-mdc-tab-group.mat-mdc-tab-group-header-hidden .mat-mdc-tab-header {
20
+ display: none;
21
+ }
22
+
23
+ // --- Allow to hide header's pagination
24
+ .mat-mdc-tab-group.mat-mdc-tab-group-header-pagination-hidden .mat-mdc-tab-header-pagination {
25
+ display: none;
26
+ }
27
+
28
+ // --- Allow to hide disabled headers
29
+ .mat-mdc-tab-group.mat-mdc-tab-disabled-hidden .mat-mdc-tab-disabled {
30
+ display: none;
31
+ }
32
+
33
+ // --- Allow to show disabled headers
34
+ .mat-mdc-tab-group.mat-mdc-tab-disabled-visible .mat-mdc-tab-disabled {
35
+ display: inherit;
36
+ }
37
+
38
+ // --------------------------------------------------
39
+ // Material menu
40
+ // --------------------------------------------------
41
+
42
+
43
+ .mat-menu-panel {
44
+
45
+ // Max width = 400px
46
+ &.mat-menu-size-400 {
47
+ min-width: unset;
48
+ width: 400px;
49
+ max-width: calc(90vw);
50
+ }
51
+ // Max width = 75vw
52
+ &.mat-menu-size-75vw {
53
+ min-width: unset;
54
+ width: calc(75vw);
55
+ max-width: calc(90vw);
56
+ }
57
+
58
+ // No padding
59
+ &.ion-no-padding {
60
+ .mat-menu-content {
61
+ padding: 0 !important;
62
+ }
63
+ }
64
+
65
+ // Small menu item (e.g. for actions on a table row)
66
+ &.mat-menu-small-item-height .mat-menu-item,
67
+ .mat-menu-item.mat-menu-item-small-height
68
+ {
69
+ padding: 0 8px;
70
+ height: 35px;
71
+ line-height: 35px;
72
+ }
73
+ // Reduce the font size, on label just inside a mat-menu (e.g. see trips.page.html)
74
+ .mat-menu-content > ion-label {
75
+ @include font-size(12px);
76
+ }
77
+
78
+ .mat-menu-content ion-item > ion-icon[slot="start"] {
79
+ margin-right: 16px;
80
+ vertical-align: middle;
81
+ }
82
+
83
+ // Menu title (e.g. see extraction map)
84
+ .mat-menu-item.mat-menu-title {
85
+ padding: 0 8px;
86
+ height: 27px;
87
+ line-height: 27px;
88
+ @include font-size(12px);
89
+ pointer-events: none;
90
+ color: var(--ion-color-medium, rgba(0, 0, 0, 0.38));
91
+ }
92
+ }
93
+
94
+ // --------------------------------------------------
95
+ // Alert
96
+ // --------------------------------------------------
97
+
98
+ ion-alert button.alert-button {
99
+ cursor: pointer;
100
+ }
101
+
102
+ // --------------------------------------------------
103
+ // Date and time picker
104
+ // --------------------------------------------------
105
+
106
+ mat-calendar {
107
+ .mat-calendar-header {
108
+ background-color: var(--ion-color-secondary) !important;
109
+ color: var(--ion-color-secondary-contrast) !important;
110
+
111
+ button {
112
+ color: var(--ion-color-secondary-contrast) !important;
113
+ }
114
+ }
115
+
116
+ .mat-calendar-body-selected {
117
+ background-color: var(--ion-color-accent) !important;
118
+ color: var(--ion-color-accent-contrast) !important;
119
+ font-weight: bold;
120
+ }
121
+
122
+ .mat-calendar-arrow {
123
+ border-top-color: var(--ion-color-secondary-contrast) !important;
124
+ }
125
+ }
126
+
127
+
128
+ .timepicker-backdrop-overlay {
129
+ background-color: rgba(0, 0, 0, 0.32);
130
+ z-index: 1000;
131
+ opacity: 1;
132
+ -webkit-tap-highlight-color: transparent;
133
+ transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
134
+ }
135
+
136
+ ngx-material-timepicker-content {
137
+ --clock-hand-color: var(--ion-color-accent) !important;
138
+ --clock-face-time-active-color: var(--ion-color-accent-contrast) !important;
139
+ // TODO review !
140
+ //@extend .mat-dialog-container !optional;
141
+
142
+ .timepicker {
143
+ box-shadow: unset !important;
144
+ border-radius: 4px;
145
+
146
+ header {
147
+ --dial-background-color: var(--ion-color-secondary) !important;
148
+ color: var(--ion-color-secondary-contrast) !important;
149
+ }
150
+ }
151
+
152
+ ngx-material-timepicker-dial-control {
153
+ outline-color: var(--ion-color-accent) !important;
154
+ input {
155
+ outline-color: inherit !important;
156
+ }
157
+ }
158
+ }
159
+
160
+ .mat-mdc-form-field-type-mat-chip-grid {
161
+ .mat-mdc-form-field-infix {
162
+ padding-bottom: 5px !important;
163
+ --mdc-chip-container-height: 24px !important;
164
+ }
165
+ }
166
+
167
+
168
+ // --------------------------------------------------
169
+ // Pages
170
+ // --------------------------------------------------
171
+ ion-item {
172
+ ion-label.error {
173
+ line-height: 16px;
174
+ line-break: normal;
175
+ overflow: visible;
176
+ white-space: normal;
177
+ }
178
+ }
179
+
180
+ // --------------------------------------------------
181
+ // Modal
182
+ // --------------------------------------------------
183
+
184
+ ion-modal.stack-modal {
185
+ --box-shadow: 0 28px 48px rgba(0, 0, 0, 0.4);
186
+ --backdrop-opacity: var(--ion-backdrop-opacity, 0.32);
187
+ }
188
+
189
+ ion-modal.modal-large{
190
+ --min-height: calc(100% - 50px) !important;
191
+ --min-width: calc(100% - 100px) !important;
192
+ }
193
+ ion-modal.modal-fullscreen {
194
+ --min-height: calc(100%) !important;
195
+ --min-width: calc(100%) !important;
196
+ }
197
+
198
+
199
+ // --------------------------------------------------
200
+ // Popover
201
+ // --------------------------------------------------
202
+
203
+ .popover-large {
204
+ --min-width: calc(min(500px, 80%));
205
+ }
206
+
207
+ .popover-notifications {
208
+ --popover-top: 0;
209
+ --max-height: calc(90vh - 40px /* header + footer height */ - var(--popover-top, 0px) - var(--offset-y, 0px));
210
+
211
+ ion-item {
212
+ --ion-item-background-color-hover: var(--ion-color-light);
213
+ &.unread {
214
+ --ion-item-background: rgba(var(--ion-color-secondary100-rgb), 0.2);
215
+ --ion-item-background-color-hover: rgba(var(--ion-color-secondary100-rgb), 0.3);
216
+ }
217
+ }
218
+ }
219
+
220
+ // --------------------------------------------------
221
+ // Large button with icon floating on right
222
+ // --------------------------------------------------
223
+ .flex-margin ion-icon,
224
+ .flex-margin span {
225
+ margin-left: auto;
226
+ }
227
+
228
+ // --------------------------------------------------
229
+ // Icon tooltip, and title
230
+ // --------------------------------------------------
231
+ // Fix Button icon name overrides button's own title on mouse over
232
+ /*ion-icon[name='chatbox'] {
233
+ pointer-events: none !important;
234
+ }*/
235
+ .mat-cell {
236
+ /* smaller size, for the comment icon */
237
+ mat-icon.comment {
238
+ @include font-size(16pt);
239
+ height: 100%;
240
+ vertical-align: center;
241
+ color: var(--ion-color-tertiary, grey);
242
+
243
+ &.disabled {
244
+ color: var(--ion-color-medium, grey);
245
+ }
246
+ }
247
+ }
248
+
249
+ // --------------------------------------------------
250
+ // Icon inside text
251
+ // --------------------------------------------------
252
+ mat-icon,
253
+ ion-icon {
254
+ &.text-size {
255
+ font-size: 1em;
256
+ width: 1em;
257
+ height: 1em;
258
+ }
259
+ }
260
+ ion-button[expand="block"],
261
+ ion-button[expand="full"],
262
+ .mat-button,
263
+ .mat-raised-button {
264
+ mat-icon,
265
+ ion-icon {
266
+ &[slot] {
267
+ pointer-events: none;
268
+ width: 24px;
269
+ height: 24px;
270
+ }
271
+ &[slot='start'],
272
+ &[slot='end'] {
273
+ margin-left: unset;
274
+ margin-right: unset;
275
+ margin-top: 0;
276
+ margin-bottom: 0;
277
+ }
278
+ &t[slot='start'] {
279
+ margin-inline-start: -0.3em;
280
+ margin-inline-end: 0.3em;
281
+ }
282
+ &[slot='end'] {
283
+ margin-inline-start: 0.3em;
284
+ margin-inline-end: -0.3em;
285
+ }
286
+ &.ion-float-start[slot='start'] {
287
+ position: absolute;
288
+ left: 0;
289
+ }
290
+ &.ion-float-end[slot='end'] {
291
+ position: absolute;
292
+ right: 0;
293
+ }
294
+ }
295
+ }
296
+
297
+ // --------------------------------------------------
298
+ // Icon multiple
299
+ // --------------------------------------------------
300
+ ion-icon.icon-secondary,
301
+ mat-icon.icon-secondary {
302
+ position: absolute;
303
+ left: 0;
304
+ }
305
+
306
+ // --------------------------------------------------
307
+ // Toast
308
+ // --------------------------------------------------
309
+ ion-toast {
310
+ --background: var(--ion-color-dark);
311
+ --color: var(--ion-color-dark-contrast);
312
+ --button-color: var(--ion-color-secondary);
313
+
314
+ &.secondary {
315
+ --background: var(--ion-color-secondary);
316
+ --color: var(--ion-color-secondary-contrast);
317
+ --button-color: var(--ion-color-tertiary);
318
+ }
319
+ &.accent {
320
+ --background: var(--ion-color-accent);
321
+ --color: var(--ion-color-accent-contrast);
322
+ --button-color: var(--ion-color-primary);
323
+ }
324
+ &.danger {
325
+ --background: var(--ion-color-danger);
326
+ --color: var(--ion-color-danger-contrast);
327
+ --button-color: var(--ion-color-primary);
328
+ }
329
+
330
+ /* -- workaround because toast animation failed */
331
+ --toast-max-height: 75px;
332
+
333
+ &.toast-stack-offset-1 {
334
+ --toast-stack-offset: 1;
335
+ }
336
+ &.toast-stack-offset-2 {
337
+ --toast-stack-offset: 2;
338
+ }
339
+ &.toast-stack-offset-3 {
340
+ --toast-stack-offset: 3;
341
+ }
342
+ &.toast-stack-offset-4 {
343
+ --toast-stack-offset: 4;
344
+ }
345
+
346
+ &.toast-stacked-top {
347
+ --toast-top: calc(var(--toast-stack-offset, 0) * var(--toast-max-height, 0));
348
+ transform: translateY(var(--toast-top));
349
+ }
350
+ &.toast-stacked-bottom {
351
+ --toast-bottom: calc(-1 * var(--toast-stack-offset, 0) * var(--toast-max-height, 0)) !important;
352
+ transform: translateY(var(--toast-bottom));
353
+ }
354
+ }
355
+
356
+ // --------------------------------------------------
357
+ // Refresher
358
+ // --------------------------------------------------
359
+ ion-refresher.refresher-native {
360
+ z-index: 1000;
361
+ }
@@ -32,4 +32,5 @@ $roboto-font-path: '~roboto-fontface/fonts/roboto';
32
32
  // Import SUMARiS style
33
33
  // --------------------------------------------------
34
34
  @import "ngx-components";
35
+ @import "ngx-components.tabs";
35
36
  @import "ngx-components.table";