@rio-cloud/rio-uikit 0.16.1-beta-4 → 0.16.1-beta-8
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/lib/components/applicationHeader/ApplicationHeader.js +6 -6
- package/lib/components/applicationHeader/NavItems.js +8 -8
- package/lib/components/applicationLayout/ApplicationLayout.js +5 -8
- package/lib/components/applicationLayout/ApplicationLayoutBody.js +1 -3
- package/lib/components/applicationLayout/SubNavigation.js +60 -0
- package/lib/components/assetTree/Tree.js +151 -35
- package/lib/components/assetTree/TreeSelectAll.js +1 -1
- package/lib/components/assetTree/TreeSummary.js +11 -6
- package/lib/components/assetTree/TypeCounter.js +47 -8
- package/lib/components/navigation/AppNavigationBar.js +64 -0
- package/lib/components/selects/BaseDropdownMenu.js +29 -23
- package/lib/components/selects/Select.js +11 -5
- package/lib/es/AppNavigationBar.d.ts +5 -0
- package/lib/es/AppNavigationBar.js +15 -0
- package/lib/es/DeviceUtils.d.ts +6 -0
- package/lib/es/SubNavigation.d.ts +5 -0
- package/lib/es/SubNavigation.js +15 -0
- package/lib/es/deviceUtils.js +36 -0
- package/lib/es/useResizeObserver.d.ts +4 -0
- package/lib/es/useResizeObserver.js +15 -0
- package/lib/hooks/useClickOutside.js +2 -1
- package/lib/hooks/useResizeObserver.js +54 -0
- package/lib/hooks/useWindowResize.js +8 -5
- package/lib/style/css/_exports/rio-website.less +76 -7
- package/lib/style/css/_exports/vw-uikit.less +1 -1
- package/lib/style/css/animations/_imports.less +1 -0
- package/lib/style/css/animations/pulsing.less +5 -0
- package/lib/style/css/components/ApplicationHeader.less +242 -245
- package/lib/style/css/components/ApplicationLayout.less +10 -6
- package/lib/style/css/components/AssetTree.less +0 -4
- package/lib/style/css/design/buttons.less +4 -1
- package/lib/style/css/design/rioglyph.less +1 -12
- package/lib/types.ts +23 -1
- package/lib/utils/deviceUtils.js +19 -2
- package/lib/version.json +1 -1
- package/package.json +4 -2
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
.ApplicationHeader .SubmoduleNavigation .submodule,
|
|
2
|
-
.navbar .SubmoduleNavigation .submodule {
|
|
3
|
-
white-space: nowrap;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
1
|
.ApplicationHeader {
|
|
7
2
|
background-color: @color-white;
|
|
8
|
-
border
|
|
9
|
-
border-left: none;
|
|
10
|
-
border-right: none;
|
|
11
|
-
border-top: none;
|
|
3
|
+
border: none;
|
|
12
4
|
display: flex;
|
|
13
5
|
float: none !important;
|
|
14
6
|
margin-bottom: 0;
|
|
@@ -64,7 +56,7 @@
|
|
|
64
56
|
background-image: @navbar-brand-icon !important;
|
|
65
57
|
background-size: cover;
|
|
66
58
|
display: block;
|
|
67
|
-
height: @navbar-height
|
|
59
|
+
height: @navbar-height;
|
|
68
60
|
margin: 0;
|
|
69
61
|
padding: 0;
|
|
70
62
|
position: relative;
|
|
@@ -91,241 +83,6 @@
|
|
|
91
83
|
}
|
|
92
84
|
}
|
|
93
85
|
|
|
94
|
-
.navbar-nav {
|
|
95
|
-
float: none;
|
|
96
|
-
margin: 0;
|
|
97
|
-
|
|
98
|
-
> li {
|
|
99
|
-
float: none !important;
|
|
100
|
-
|
|
101
|
-
> a {
|
|
102
|
-
line-height: @navbar-height-without-border - (@navbar-padding-vertical * 2);
|
|
103
|
-
padding-bottom: @navbar-padding-vertical;
|
|
104
|
-
padding-top: @navbar-padding-vertical;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
&:not(.navbar-right) {
|
|
109
|
-
> li {
|
|
110
|
-
&:empty {
|
|
111
|
-
display: none;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
&:empty + .submodule,
|
|
115
|
-
&:first-child:not(:empty) {
|
|
116
|
-
margin-left: 15px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
> a {
|
|
120
|
-
background-color: transparent;
|
|
121
|
-
color: @gray;
|
|
122
|
-
cursor: pointer;
|
|
123
|
-
font-size: 14px;
|
|
124
|
-
font-weight: @font-medium;
|
|
125
|
-
margin: 0 15px;
|
|
126
|
-
padding: 15px 0;
|
|
127
|
-
text-transform: uppercase;
|
|
128
|
-
transition: all 100ms ease-in-out;
|
|
129
|
-
user-select: none;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
&.disabled,
|
|
133
|
-
&:disabled {
|
|
134
|
-
> a {
|
|
135
|
-
color: @gray-light
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
&:not(.disabled):not(:disabled) {
|
|
140
|
-
> a.active,
|
|
141
|
-
&.active > a,
|
|
142
|
-
&:focus > a,
|
|
143
|
-
&:hover > a {
|
|
144
|
-
&:not(.disabled):not(:disabled) {
|
|
145
|
-
background-color: transparent;
|
|
146
|
-
box-shadow: inset 0 -3px 0 @color-black, 0 1px 0 @color-black;
|
|
147
|
-
color: @color-black;
|
|
148
|
-
|
|
149
|
-
&:after {
|
|
150
|
-
background-color: @color-black;
|
|
151
|
-
height: 3px;
|
|
152
|
-
width: 100%;
|
|
153
|
-
z-index: 1;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
&.dropdown {
|
|
160
|
-
&.active > a,
|
|
161
|
-
&:hover > a {
|
|
162
|
-
box-shadow: none;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
> .dropdown-menu {
|
|
166
|
-
border: none;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
.ModuleNavigation {
|
|
174
|
-
border: none;
|
|
175
|
-
height: @navbar-height-without-border;
|
|
176
|
-
line-height: @navbar-height-without-border;
|
|
177
|
-
list-style: none;
|
|
178
|
-
margin-bottom: 0;
|
|
179
|
-
padding-left: 0;
|
|
180
|
-
position: relative;
|
|
181
|
-
|
|
182
|
-
// avoid floating content on mobile
|
|
183
|
-
max-width: calc(~'100% - @{navbar-height}');
|
|
184
|
-
|
|
185
|
-
// NOTE: enforce it with important so all services look similar
|
|
186
|
-
background-color: @color-white !important;
|
|
187
|
-
color: @color-black !important;
|
|
188
|
-
|
|
189
|
-
.dropdown {
|
|
190
|
-
width: 300px;
|
|
191
|
-
|
|
192
|
-
&.open {
|
|
193
|
-
background-color: inherit;
|
|
194
|
-
|
|
195
|
-
.ModuleNavigation-dropdown,
|
|
196
|
-
.dropdown-toggle {
|
|
197
|
-
&:after {
|
|
198
|
-
bottom: 0;
|
|
199
|
-
top: 0;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.ModuleNavigation-dropdown,
|
|
206
|
-
.dropdown-toggle {
|
|
207
|
-
align-items: center;
|
|
208
|
-
display: flex;
|
|
209
|
-
padding: 0;
|
|
210
|
-
|
|
211
|
-
&.inactive {
|
|
212
|
-
pointer-events: none;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
// Style the separator between main dropdown and submodules
|
|
216
|
-
&:after {
|
|
217
|
-
background-color: @gray-lighter;
|
|
218
|
-
bottom: 15px;
|
|
219
|
-
content: '';
|
|
220
|
-
display: block;
|
|
221
|
-
position: absolute;
|
|
222
|
-
right: 0;
|
|
223
|
-
top: 15px;
|
|
224
|
-
transition: all 0.1s ease-in-out;
|
|
225
|
-
width: 3px;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
&:first-child:not(:last-child) {
|
|
229
|
-
&:hover:after {
|
|
230
|
-
bottom: 0;
|
|
231
|
-
top: 0;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
> span {
|
|
236
|
-
&:not(.caret) {
|
|
237
|
-
.ellipsis-1;
|
|
238
|
-
flex: 1 0 auto;
|
|
239
|
-
//max-width: @navbar-application-dropdown-width - @navbar-height;
|
|
240
|
-
padding-left: @navbar-padding-horizontal;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
&.caret {
|
|
244
|
-
margin: 0;
|
|
245
|
-
text-align: center;
|
|
246
|
-
width: @navbar-height;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// Style for the main dropdown
|
|
252
|
-
> li > a,
|
|
253
|
-
> a {
|
|
254
|
-
background-color: transparent;
|
|
255
|
-
color: inherit;
|
|
256
|
-
font-size: 18px;
|
|
257
|
-
font-weight: @font-medium;
|
|
258
|
-
text-decoration: none;
|
|
259
|
-
text-transform: uppercase;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
.dropdown-menu {
|
|
263
|
-
-webkit-overflow-scrolling: touch;
|
|
264
|
-
border: none;
|
|
265
|
-
border-radius: 0 0 @border-radius-default @border-radius-default;
|
|
266
|
-
max-height: ~'calc(100vh - @{navbar-height} - 20px)'; // --vh fallback
|
|
267
|
-
max-height: ~'calc(var(--vh, 1vh) * 100 - @{navbar-height} - 20px)';
|
|
268
|
-
max-width: calc(~'100% - 3px');
|
|
269
|
-
width: 100%;
|
|
270
|
-
overflow-x: hidden;
|
|
271
|
-
overflow-y: auto;
|
|
272
|
-
|
|
273
|
-
> li > a {
|
|
274
|
-
color: @color-black;
|
|
275
|
-
font-size: 14px;
|
|
276
|
-
font-weight: @font-medium;
|
|
277
|
-
padding: 5px @navbar-padding-horizontal;
|
|
278
|
-
text-transform: uppercase;
|
|
279
|
-
|
|
280
|
-
&.inactive {
|
|
281
|
-
pointer-events: none;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
&.hasModules,
|
|
287
|
-
&.hasModules > li > a {
|
|
288
|
-
cursor: pointer;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
> li > a {
|
|
292
|
-
.ellipsis-1;
|
|
293
|
-
cursor: default;
|
|
294
|
-
height: 100%;
|
|
295
|
-
padding-left: @navbar-padding-horizontal;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.SubmoduleNavigation {
|
|
300
|
-
display: flex;
|
|
301
|
-
flex: 1 1 0;
|
|
302
|
-
|
|
303
|
-
.submodule {
|
|
304
|
-
white-space: nowrap;
|
|
305
|
-
|
|
306
|
-
&.offscreen {
|
|
307
|
-
opacity: 0;
|
|
308
|
-
position: absolute;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
.CollapsedDropdown {
|
|
313
|
-
> .dropdown-menu {
|
|
314
|
-
left: auto;
|
|
315
|
-
right: 0;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
> .dropdown-toggle {
|
|
319
|
-
margin: 0 !important;
|
|
320
|
-
padding: 15px 15px !important;
|
|
321
|
-
|
|
322
|
-
.rioglyph-option-horizontal {
|
|
323
|
-
font-size: 18px;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
86
|
.ApplicationActionBar {
|
|
330
87
|
background-color: @color-white;
|
|
331
88
|
cursor: auto;
|
|
@@ -436,3 +193,243 @@
|
|
|
436
193
|
margin-bottom: 5px;
|
|
437
194
|
}
|
|
438
195
|
}
|
|
196
|
+
|
|
197
|
+
.ModuleNavigation {
|
|
198
|
+
border-bottom: 1px solid @gray-light;
|
|
199
|
+
height: @navbar-height;
|
|
200
|
+
line-height: @navbar-height;
|
|
201
|
+
list-style: none;
|
|
202
|
+
margin-bottom: 0;
|
|
203
|
+
padding-left: 0;
|
|
204
|
+
position: relative;
|
|
205
|
+
|
|
206
|
+
// avoid floating content on mobile
|
|
207
|
+
max-width: calc(~'100% - @{navbar-height}');
|
|
208
|
+
|
|
209
|
+
// NOTE: enforce it with important so all services look similar
|
|
210
|
+
background-color: @color-white !important;
|
|
211
|
+
color: @color-black !important;
|
|
212
|
+
|
|
213
|
+
.dropdown {
|
|
214
|
+
width: 300px;
|
|
215
|
+
|
|
216
|
+
&.open {
|
|
217
|
+
background-color: inherit;
|
|
218
|
+
|
|
219
|
+
.ModuleNavigation-dropdown,
|
|
220
|
+
.dropdown-toggle {
|
|
221
|
+
&:after {
|
|
222
|
+
bottom: 0;
|
|
223
|
+
top: 0;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.ModuleNavigation-dropdown,
|
|
230
|
+
.dropdown-toggle {
|
|
231
|
+
align-items: center;
|
|
232
|
+
display: flex;
|
|
233
|
+
padding: 0;
|
|
234
|
+
|
|
235
|
+
&.inactive {
|
|
236
|
+
pointer-events: none;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Style the separator between main dropdown and submodules
|
|
240
|
+
&:after {
|
|
241
|
+
background-color: @gray-lighter;
|
|
242
|
+
bottom: 15px;
|
|
243
|
+
content: '';
|
|
244
|
+
display: block;
|
|
245
|
+
position: absolute;
|
|
246
|
+
right: 0;
|
|
247
|
+
top: 15px;
|
|
248
|
+
transition: all 0.1s ease-in-out;
|
|
249
|
+
width: 3px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
&:first-child:not(:last-child) {
|
|
253
|
+
&:hover:after {
|
|
254
|
+
bottom: 0;
|
|
255
|
+
top: 0;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
> span {
|
|
260
|
+
&:not(.caret) {
|
|
261
|
+
.ellipsis-1;
|
|
262
|
+
flex: 1 0 auto;
|
|
263
|
+
//max-width: @navbar-application-dropdown-width - @navbar-height;
|
|
264
|
+
padding-left: @navbar-padding-horizontal;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
&.caret {
|
|
268
|
+
margin: 0;
|
|
269
|
+
text-align: center;
|
|
270
|
+
width: @navbar-height;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Style for the main dropdown
|
|
276
|
+
> li > a,
|
|
277
|
+
> a {
|
|
278
|
+
background-color: transparent;
|
|
279
|
+
color: inherit;
|
|
280
|
+
font-size: 18px;
|
|
281
|
+
font-weight: @font-medium;
|
|
282
|
+
text-decoration: none;
|
|
283
|
+
text-transform: uppercase;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.dropdown-menu {
|
|
287
|
+
-webkit-overflow-scrolling: touch;
|
|
288
|
+
border: none;
|
|
289
|
+
border-radius: 0 0 @border-radius-default @border-radius-default;
|
|
290
|
+
max-height: ~'calc(100vh - @{navbar-height} - 20px)'; // --vh fallback
|
|
291
|
+
max-height: ~'calc(var(--vh, 1vh) * 100 - @{navbar-height} - 20px)';
|
|
292
|
+
max-width: calc(~'100% - 3px');
|
|
293
|
+
width: 100%;
|
|
294
|
+
overflow-x: hidden;
|
|
295
|
+
overflow-y: auto;
|
|
296
|
+
|
|
297
|
+
> li > a {
|
|
298
|
+
color: @color-black;
|
|
299
|
+
font-size: 14px;
|
|
300
|
+
font-weight: @font-medium;
|
|
301
|
+
padding: 5px @navbar-padding-horizontal;
|
|
302
|
+
text-transform: uppercase;
|
|
303
|
+
|
|
304
|
+
&.inactive {
|
|
305
|
+
pointer-events: none;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
&.hasModules,
|
|
311
|
+
&.hasModules > li > a {
|
|
312
|
+
cursor: pointer;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
> li > a {
|
|
316
|
+
.ellipsis-1;
|
|
317
|
+
cursor: default;
|
|
318
|
+
height: 100%;
|
|
319
|
+
padding-left: @navbar-padding-horizontal;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.SubmoduleNavigation {
|
|
324
|
+
border-bottom: 1px solid @gray-light;
|
|
325
|
+
height: @navbar-height;
|
|
326
|
+
display: flex;
|
|
327
|
+
flex: 1 1 0;
|
|
328
|
+
|
|
329
|
+
.ApplicationLayoutBodyNavigation & {
|
|
330
|
+
.submodule:first-of-type > a {
|
|
331
|
+
margin-left: 0;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
@media (max-width: @screen-xs-max) {
|
|
335
|
+
padding-left: @ApplicationLayoutBodyPadding*0.5;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
@media (min-width: @screen-ls) {
|
|
339
|
+
padding-left: @ApplicationLayoutBodyPadding;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.ApplicationLayoutBodyNavigation.has-offset & {
|
|
344
|
+
@media (min-width: @screen-ls) {
|
|
345
|
+
padding-left: 380px;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.ApplicationHeader:not(.mobile) & {
|
|
350
|
+
padding-left: 15px;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
> .submodule {
|
|
354
|
+
white-space: nowrap;
|
|
355
|
+
|
|
356
|
+
&:empty {
|
|
357
|
+
display: none;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
> a {
|
|
361
|
+
background-color: transparent;
|
|
362
|
+
color: @gray;
|
|
363
|
+
cursor: pointer;
|
|
364
|
+
font-size: 14px;
|
|
365
|
+
margin: 0 15px;
|
|
366
|
+
padding: 15px 0;
|
|
367
|
+
transition: all 100ms ease-in-out;
|
|
368
|
+
user-select: none;
|
|
369
|
+
|
|
370
|
+
.ApplicationHeader & {
|
|
371
|
+
font-weight: @font-medium;
|
|
372
|
+
text-transform: uppercase;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
&.disabled,
|
|
377
|
+
&:disabled {
|
|
378
|
+
> a {
|
|
379
|
+
color: @gray-light
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
&:not(.disabled):not(:disabled) {
|
|
384
|
+
> a.active,
|
|
385
|
+
&.active > a,
|
|
386
|
+
&:focus > a,
|
|
387
|
+
&:hover > a {
|
|
388
|
+
&:not(.disabled):not(:disabled) {
|
|
389
|
+
background-color: transparent;
|
|
390
|
+
box-shadow: inset 0 -4px 0 @color-black, 0 0px 0 @color-black;
|
|
391
|
+
color: @color-black;
|
|
392
|
+
|
|
393
|
+
&:after {
|
|
394
|
+
background-color: @color-black;
|
|
395
|
+
height: 3px;
|
|
396
|
+
width: 100%;
|
|
397
|
+
z-index: 1;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
&.dropdown {
|
|
404
|
+
&.active > a,
|
|
405
|
+
&:hover > a {
|
|
406
|
+
box-shadow: none;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
> .dropdown-menu {
|
|
410
|
+
border: none;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
&.offscreen {
|
|
415
|
+
opacity: 0;
|
|
416
|
+
position: absolute;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.CollapsedDropdown {
|
|
421
|
+
> .dropdown-menu {
|
|
422
|
+
left: auto;
|
|
423
|
+
right: 0;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
> .dropdown-toggle {
|
|
427
|
+
margin: 0 !important;
|
|
428
|
+
padding: 15px 15px !important;
|
|
429
|
+
|
|
430
|
+
.rioglyph-option-horizontal {
|
|
431
|
+
font-size: 18px;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
height: @ApplicationLayoutBodyHeightWithoutFooterAndViewportFix;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
// TODO remove with v1.0 (downward compatibility) - remove when cleanup
|
|
55
56
|
.ApplicationLayoutBodyNavigation {
|
|
56
57
|
&:not(.unstyled) {
|
|
57
58
|
align-items: center;
|
|
@@ -59,16 +60,18 @@
|
|
|
59
60
|
border-bottom: 1px solid @gray-light;
|
|
60
61
|
display: flex;
|
|
61
62
|
justify-content: space-between;
|
|
62
|
-
padding: 0 @ApplicationLayoutBodyPadding*0.25 0 @ApplicationLayoutBodyPadding*0.5;
|
|
63
|
+
// padding: 0 @ApplicationLayoutBodyPadding*0.25 0 @ApplicationLayoutBodyPadding*0.5;
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
&:not(.header-has-no-application-menu) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
66
|
+
// &:not(.header-has-no-application-menu) {
|
|
67
|
+
// @media (min-width: @screen-lg) {
|
|
68
|
+
// padding-left: 365px;
|
|
69
|
+
// }
|
|
70
|
+
// }
|
|
70
71
|
|
|
71
72
|
.nav-pills {
|
|
73
|
+
padding-left: @ApplicationLayoutBodyPadding*0.5;
|
|
74
|
+
|
|
72
75
|
&:not(.nav-stacked) {
|
|
73
76
|
box-shadow: none;
|
|
74
77
|
|
|
@@ -96,6 +99,7 @@
|
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
101
|
}
|
|
102
|
+
// END TODO
|
|
99
103
|
|
|
100
104
|
body:not(.modal-open) & {
|
|
101
105
|
-webkit-overflow-scrolling: touch;
|
|
@@ -318,9 +318,12 @@
|
|
|
318
318
|
|
|
319
319
|
&:before {
|
|
320
320
|
.rioglyph;
|
|
321
|
+
animation-name: spinning;
|
|
322
|
+
animation-duration: 1s;
|
|
323
|
+
animation-iteration-count: infinite;
|
|
324
|
+
animation-timing-function: linear;
|
|
321
325
|
content: "\e9c7";
|
|
322
326
|
color: @brand-primary;
|
|
323
|
-
animation: spinning 1s linear infinite;
|
|
324
327
|
font-size: 20px;
|
|
325
328
|
}
|
|
326
329
|
|
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
@import (less) '../../fonts/rioglyph/rioglyph.less';
|
|
2
2
|
|
|
3
|
-
@keyframes spinning {
|
|
4
|
-
from { transform: rotate(0deg) }
|
|
5
|
-
to { transform: rotate(359deg) }
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
@keyframes pulse {
|
|
9
|
-
50% {
|
|
10
|
-
opacity:.5
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
3
|
.rioglyph {
|
|
15
4
|
&.spinning:before {
|
|
16
5
|
display: inline-block;
|
|
@@ -19,6 +8,6 @@
|
|
|
19
8
|
|
|
20
9
|
&.pulsing:before {
|
|
21
10
|
display: inline-block;
|
|
22
|
-
animation:
|
|
11
|
+
animation: pulsing 2s cubic-bezier(.4,0,.6,1) infinite;
|
|
23
12
|
}
|
|
24
13
|
}
|
package/lib/types.ts
CHANGED
|
@@ -57,6 +57,14 @@ export interface AnimatedNumberProps {
|
|
|
57
57
|
className?: string;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
export interface AppNavigationBarProps {
|
|
61
|
+
ref?: React.MutableRefObject<object>;
|
|
62
|
+
title?: string | React.ReactNode;
|
|
63
|
+
right?: React.ReactNode;
|
|
64
|
+
onNavigateBack?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
65
|
+
className?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
export interface ApplicationHeaderProps {
|
|
61
69
|
label?: React.ReactNode;
|
|
62
70
|
homeRoute?: React.ReactNode;
|
|
@@ -73,6 +81,7 @@ export interface ApplicationHeaderProps {
|
|
|
73
81
|
|
|
74
82
|
export interface ApplicationLayoutProps {
|
|
75
83
|
className?: string;
|
|
84
|
+
layoutRef: React.MutableRefObject<object>;
|
|
76
85
|
}
|
|
77
86
|
|
|
78
87
|
export interface ApplicationLayoutHeaderProps {
|
|
@@ -1728,6 +1737,11 @@ export interface SteppedProgressBarProps {
|
|
|
1728
1737
|
variant?: 'circle' | 'rectangle' | 'roadsign';
|
|
1729
1738
|
}
|
|
1730
1739
|
|
|
1740
|
+
export interface SubNavigationProps {
|
|
1741
|
+
navItems?: ModulePropTypes[];
|
|
1742
|
+
className?: string;
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1731
1745
|
export interface SwitchProps {
|
|
1732
1746
|
keyName?: string;
|
|
1733
1747
|
onChange: (toggleState: boolean) => void;
|
|
@@ -2029,7 +2043,13 @@ export interface TreeSummaryProps {
|
|
|
2029
2043
|
}
|
|
2030
2044
|
|
|
2031
2045
|
export interface TypeCounterProps {
|
|
2046
|
+
type?: string;
|
|
2032
2047
|
icon?: string;
|
|
2048
|
+
isActive?: boolean;
|
|
2049
|
+
hasFilter?: boolean;
|
|
2050
|
+
enableActivity?: boolean;
|
|
2051
|
+
hideOnZero?: boolean;
|
|
2052
|
+
onClick?: (type: string) => void;
|
|
2033
2053
|
value?: string | React.ReactNode | number;
|
|
2034
2054
|
}
|
|
2035
2055
|
|
|
@@ -2038,7 +2058,7 @@ export interface TypeCounterProps {
|
|
|
2038
2058
|
export type UseAfterMount = (callback: () => void, deps?: any[]) => void;
|
|
2039
2059
|
|
|
2040
2060
|
export type UseClickOutside<T extends HTMLElement = any> = (
|
|
2041
|
-
callback: () => void,
|
|
2061
|
+
callback: (event: React.MouseEvent<HTMLButtonElement>) => void,
|
|
2042
2062
|
events?: ['mousedown', 'touchstart']
|
|
2043
2063
|
) => React.MutableRefObject<T>;
|
|
2044
2064
|
|
|
@@ -2117,6 +2137,8 @@ export type UseOnScreen = (
|
|
|
2117
2137
|
|
|
2118
2138
|
export type UseRenderCount = () => number;
|
|
2119
2139
|
|
|
2140
|
+
export type UseResizeObserver = () => [React.MutableRefObject<object>, ResizeObserverEntry];
|
|
2141
|
+
|
|
2120
2142
|
export type UseStateWithValidation = (validationFn: Function, initialValue: any) => [any, Function, boolean];
|
|
2121
2143
|
|
|
2122
2144
|
export type UseLocalStorage = (key: string, defaultValue: any) => [any, Function, Function];
|
package/lib/utils/deviceUtils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.toggleZoomOnMobile = exports.isMobile = exports.isDesktop = exports.inIframe = exports.hasTouch = void 0;
|
|
6
|
+
exports.toggleZoomOnMobile = exports.isMobileScreen = exports.isMobile = exports.isDesktop = exports.inIframe = exports.hasTouch = exports.SCREEN_XL = exports.SCREEN_SM = exports.SCREEN_MD = exports.SCREEN_LG = exports.MOBILE_SCREEN = void 0;
|
|
7
7
|
|
|
8
8
|
// As "cssuseragent" is accessing the html dom object directly without checking whether it exists or not, we need to
|
|
9
9
|
// use old shool require() to have a conditional import only when html really exists. This avoids issues when
|
|
@@ -34,9 +34,26 @@ var hasTouch = function hasTouch() {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
return false;
|
|
37
|
-
};
|
|
37
|
+
}; // Screen sizes
|
|
38
|
+
|
|
38
39
|
|
|
39
40
|
exports.hasTouch = hasTouch;
|
|
41
|
+
var MOBILE_SCREEN = 480;
|
|
42
|
+
exports.MOBILE_SCREEN = MOBILE_SCREEN;
|
|
43
|
+
var SCREEN_SM = 768;
|
|
44
|
+
exports.SCREEN_SM = SCREEN_SM;
|
|
45
|
+
var SCREEN_MD = 992;
|
|
46
|
+
exports.SCREEN_MD = SCREEN_MD;
|
|
47
|
+
var SCREEN_LG = 1200;
|
|
48
|
+
exports.SCREEN_LG = SCREEN_LG;
|
|
49
|
+
var SCREEN_XL = 1700;
|
|
50
|
+
exports.SCREEN_XL = SCREEN_XL;
|
|
51
|
+
|
|
52
|
+
var isMobileScreen = function isMobileScreen() {
|
|
53
|
+
return window.matchMedia("(max-width: ".concat(MOBILE_SCREEN, "px)")).matches;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.isMobileScreen = isMobileScreen;
|
|
40
57
|
|
|
41
58
|
var isMobile = function isMobile() {
|
|
42
59
|
return document && document.documentElement.classList.contains('ua-mobile');
|