@mtes-mct/monitor-ui 1.5.1 → 1.6.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 (82) hide show
  1. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/bind.js +36 -0
  2. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/bind.js.map +1 -0
  3. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/equals.js +37 -0
  4. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/equals.js.map +1 -0
  5. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/filter.js +53 -0
  6. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/filter.js.map +1 -0
  7. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_arity.js +65 -0
  8. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_arity.js.map +1 -0
  9. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_arrayFromIterator.js +13 -0
  10. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_arrayFromIterator.js.map +1 -0
  11. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_complement.js +8 -0
  12. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_complement.js.map +1 -0
  13. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_dispatchable.js +50 -0
  14. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_dispatchable.js.map +1 -0
  15. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_equals.js +166 -0
  16. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_equals.js.map +1 -0
  17. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_filter.js +18 -0
  18. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_filter.js.map +1 -0
  19. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_functionName.js +8 -0
  20. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_functionName.js.map +1 -0
  21. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_includesWith.js +17 -0
  22. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_includesWith.js.map +1 -0
  23. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArguments.js +16 -0
  24. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArguments.js.map +1 -0
  25. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArray.js +18 -0
  26. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArray.js.map +1 -0
  27. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArrayLike.js +55 -0
  28. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isArrayLike.js.map +1 -0
  29. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isString.js +6 -0
  30. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isString.js.map +1 -0
  31. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isTransformer.js +6 -0
  32. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_isTransformer.js.map +1 -0
  33. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_objectIs.js +17 -0
  34. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_objectIs.js.map +1 -0
  35. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_reduce.js +74 -0
  36. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_reduce.js.map +1 -0
  37. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xfBase.js +11 -0
  38. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xfBase.js.map +1 -0
  39. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xfilter.js +29 -0
  40. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xfilter.js.map +1 -0
  41. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xwrap.js +28 -0
  42. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/internal/_xwrap.js.map +1 -0
  43. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/keys.js +92 -0
  44. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/keys.js.map +1 -0
  45. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/reject.js +37 -0
  46. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/reject.js.map +1 -0
  47. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/type.js +36 -0
  48. package/.yarn/cache/ramda-npm-0.28.0-6a5fe8f6cc-44ea6e5010.zip/node_modules/ramda/es/type.js.map +1 -0
  49. package/CHANGELOG.md +7 -0
  50. package/assets/rsuite-override.css +178 -79
  51. package/elements/Field.d.ts +3 -0
  52. package/elements/Fieldset.d.ts +3 -0
  53. package/elements/Label.d.ts +3 -0
  54. package/elements/Legend.d.ts +8 -0
  55. package/fields/MultiCheckbox.d.ts +11 -0
  56. package/fields/MultiRadio.d.ts +11 -0
  57. package/formiks/FormikMultiCheckbox.d.ts +3 -0
  58. package/formiks/FormikMultiRadio.d.ts +3 -0
  59. package/index.d.ts +16 -0
  60. package/package.json +3 -3
  61. package/src/elements/Field.js +9 -0
  62. package/src/elements/Field.js.map +1 -0
  63. package/src/elements/Fieldset.js +15 -0
  64. package/src/elements/Fieldset.js.map +1 -0
  65. package/src/elements/Label.js +11 -0
  66. package/src/elements/Label.js.map +1 -0
  67. package/src/elements/Legend.js +13 -0
  68. package/src/elements/Legend.js.map +1 -0
  69. package/src/fields/DatePicker/index.js +2 -12
  70. package/src/fields/DatePicker/index.js.map +1 -1
  71. package/src/fields/DateRangePicker/index.js +2 -12
  72. package/src/fields/DateRangePicker/index.js.map +1 -1
  73. package/src/fields/MultiCheckbox.js +52 -0
  74. package/src/fields/MultiCheckbox.js.map +1 -0
  75. package/src/fields/MultiRadio.js +54 -0
  76. package/src/fields/MultiRadio.js.map +1 -0
  77. package/src/formiks/FormikMultiCheckbox.js +21 -0
  78. package/src/formiks/FormikMultiCheckbox.js.map +1 -0
  79. package/src/formiks/FormikMultiRadio.js +21 -0
  80. package/src/formiks/FormikMultiRadio.js.map +1 -0
  81. package/src/index.js +8 -0
  82. package/src/index.js.map +1 -1
@@ -9,10 +9,10 @@
9
9
  --cultured: #f7f7fa;
10
10
  --white: #ffffff;
11
11
 
12
- --steel-blue: #5e87ad;
13
- --steel-blue-25: #d6e1ea;
14
- --blue-jeans: #42a7ff;
15
- --blue-jeans-25: #cfe9ff;
12
+ --blue-yonder: #567a9e;
13
+ --blue-yonder-25: #d4dde7;
14
+ --blue-gray: #5697d2;
15
+ --blue-gray-25: #d4e5f4;
16
16
 
17
17
  --mediumSeaGreen: #29b361;
18
18
  --golden-poppy: #fac11a;
@@ -33,47 +33,45 @@
33
33
  /* btn vars */
34
34
  --rs-btn-primary-text: var(--white);
35
35
  --rs-btn-primary-bg: var(--charcoal);
36
- --rs-btn-primary-hover-bg: var(--steel-blue);
37
- --rs-btn-link-text: var(--charcoal);
36
+ --rs-btn-default-bg: transparent;
37
+ --rs-btn-primary-hover-bg: var(--blue-yonder);
38
+ --rs-btn-link-text: var(--slateGray);
39
+ --rs-btn-link-hover-text: var(--blue-yonder);
40
+ --rs-btn-link-active-text: var(--blue-gray);
38
41
  --rs-btn-ghost-text: var(--charcoal);
39
42
  --rs-btn-ghost-border: var(--charcoal);
40
- --rs-btn-ghost-hover-border: var(--steel-blue);
41
- --rs-btn-ghost-hover-text: var(--steel-blue);
43
+ --rs-btn-ghost-hover-border: var(--blue-yonder);
44
+ --rs-btn-ghost-hover-text: var(--blue-yonder);
45
+ --rs-iconbtn-addon: transparent;
42
46
 
43
47
  --rs-iconbtn-primary-addon: var(--charcoal);
44
- --rs-iconbtn-primary-activated-addon: var(--steel-blue);
45
-
46
- --rs-btn-primary-active-bg: var(--steel-blue);
47
- --rs-iconbtn-primary-pressed-addon: var(--steel-blue);
48
+ --rs-btn-default-hover-bg: var(--blue-yonder);
49
+ --rs-iconbtn-activated-addon: var(--blue-yonder);
50
+ --rs-btn-default-hover-text: var(--white);
51
+ --rs-iconbtn-primary-activated-addon: var(--blue-yonder);
52
+ --rs-btn-primary-active-bg: var(--blue-gray);
53
+ --rs-iconbtn-primary-pressed-addon: var(--blue-gray);
54
+ --rs-btn-ghost-active-text: var(--blue-gray);
55
+ --rs-btn-subtle-text: var(--gunMetal);
56
+ --rs-btn-subtle-hover-bg: transparent;
57
+ --rs-btn-subtle-hover-text: var(--blue-yonder);
58
+ --rs-btn-subtle-active-bg: transparent;
59
+ --rs-btn-subtle-active-text: var(--blue-gray);
48
60
 
49
61
  /* Checkbox vars */
50
62
  --rs-checkbox-disabled-bg: var(--white);
51
63
 
52
64
  /* input vars */
53
65
  --rs-input-bg: var(--gainsboro);
66
+ --rs-input-focus-border: var(--blue-gray);
54
67
 
55
- --rs-menuitem-active-text: var(--steel-blue);
56
-
68
+ --rs-menuitem-active-text: var(--blue-gray);
69
+ --rs-listbox-option-hover-bg: var(--blue-yonder-25);
70
+ --rs-listbox-option-selected-bg: var(--blue-gray-25);
57
71
  /* tags */
58
72
  --rs-tag-bg: var(--gainsboro);
59
73
  }
60
74
 
61
- /*
62
- Default font size should be 16px instead of 13px as stated in Rsuite CSS,
63
- so we need to apply this fix in order to have consistent 16px-based rems
64
- while overriding both Rsuite CSS and mini.css.
65
- */
66
- html {
67
- font-size: 16px;
68
- }
69
-
70
- /*
71
- We reduce the default font-size to 13px for the app.
72
- */
73
- html * {
74
- font-size: 0.8125rem;
75
- }
76
-
77
75
  label {
78
76
  color: var(--slateGray);
79
77
  font-size: 13px;
@@ -83,18 +81,12 @@ label {
83
81
  .rs-input {
84
82
  border-radius: 0;
85
83
  color: var(--gunMetal);
86
- padding-left: 5px;
87
84
  }
88
85
 
89
86
  .rs-input.ghost {
90
87
  background-color: var(--white);
91
88
  }
92
89
 
93
- /* rs input textarea */
94
- textarea {
95
- padding: 5px;
96
- }
97
-
98
90
  .rs-input-group,
99
91
  .rs-input-group:not(.rs-input-group-inside) .rs-auto-complete:first-child .rs-input,
100
92
  .rs-input-group:not(.rs-input-group-inside) .rs-form-control-wrapper:first-child > .rs-input,
@@ -107,6 +99,13 @@ textarea {
107
99
  border-radius: 0;
108
100
  }
109
101
 
102
+ .rs-picker-toggle-active,
103
+ .rs-picker.rs-picker-focused {
104
+ box-shadow: none;
105
+ border: 1px solid var(--blue-gray) !important;
106
+ border-radius: 0;
107
+ }
108
+
110
109
  .rs-input-group-addon.primary {
111
110
  background-color: var(--rs-btn-primary-bg);
112
111
  }
@@ -128,27 +127,108 @@ textarea {
128
127
  }
129
128
 
130
129
  .rs-btn-sm {
131
- padding-top: 2px;
132
- padding-bottom: 2px;
130
+ padding-top: 3px;
131
+ padding-bottom: 3px;
132
+ font-size: 15px;
133
+ }
134
+
135
+ .rs-btn-md {
136
+ height: 30px;
133
137
  }
134
138
 
139
+ .rs-btn-icon-with-text.rs-btn-md.rs-btn-icon-placement-left,
135
140
  .rs-btn-icon-with-text.rs-btn.rs-btn-icon-placement-left {
141
+ padding-left: 32px;
136
142
  padding-top: 6px;
137
143
  padding-bottom: 6px;
138
144
  }
139
145
 
140
146
  .rs-btn-icon-with-text.rs-btn-sm.rs-btn-icon-placement-left {
147
+ padding-top: 3px;
148
+ padding-bottom: 3px;
149
+ }
150
+
151
+ .rs-btn-ghost:hover {
152
+ background-color: transparent;
153
+ }
154
+
155
+ .rs-btn-ghost.rs-btn-active,
156
+ .rs-btn-ghost:active {
157
+ background-color: var(--blue-gray-25);
158
+ border-color: var(--blue-gray);
159
+ }
160
+
161
+ .rs-btn-ghost.rs-btn-icon-with-text:hover > .rs-icon {
162
+ background-color: transparent;
163
+ }
164
+
165
+ .rs-btn-icon-with-text:focus > .rs-icon,
166
+ .rs-btn-icon-with-text:hover > .rs-icon {
167
+ background-color: transparent;
168
+ }
169
+
170
+ .rs-btn-ghost.rs-btn,
171
+ .rs-btn-ghost.rs-btn-md,
172
+ .rs-btn-icon-with-text.rs-btn-md.rs-btn-icon-placement-left.rs-btn-ghost,
173
+ .rs-btn-icon-with-text.rs-btn.rs-btn-icon-placement-left.rs-btn-ghost {
174
+ padding-top: 5px;
175
+ padding-bottom: 5px;
176
+ }
177
+
178
+ .rs-btn-ghost.rs-btn-sm,
179
+ .rs-btn-icon-with-text.rs-btn-sm.rs-btn-icon-placement-left.rs-btn-ghost {
141
180
  padding-top: 2px;
142
181
  padding-bottom: 2px;
143
- padding-left: 26px;
144
182
  }
145
183
 
146
- .rs-btn-icon.rs-btn {
147
- padding: 7px;
184
+ .rs-btn-icon.rs-btn,
185
+ .rs-btn-icon.rs-btn-md {
186
+ padding: 5px;
187
+ }
188
+
189
+ .rs-btn-subtle.rs-btn-icon.rs-btn-md {
190
+ padding: 0;
148
191
  }
149
192
 
150
193
  .rs-btn-icon.rs-btn-sm {
151
- padding: 2px;
194
+ padding: 0px;
195
+ }
196
+
197
+ .rs-btn-icon.rs-btn-lg {
198
+ padding: 7px;
199
+ height: 40px;
200
+ }
201
+
202
+ .rs-btn-icon.rs-btn-ghost {
203
+ padding: 4px;
204
+ }
205
+
206
+ .rs-btn-icon.rs-btn-lg.rs-btn-ghost {
207
+ padding: 6px;
208
+ }
209
+
210
+ .rs-btn-icon-with-text.rs-btn-sm {
211
+ padding-top: 5px;
212
+ padding-bottom: 4px;
213
+ line-height: 15px;
214
+ font-size: 11px;
215
+ }
216
+
217
+ .rs-btn-icon.rs-btn > .rs-icon,
218
+ .rs-btn-icon.rs-btn-md > .rs-icon {
219
+ width: 20px;
220
+ height: 20px;
221
+ }
222
+
223
+ .rs-btn-icon.rs-btn-lg > .rs-icon {
224
+ width: 26px;
225
+ height: 26px;
226
+ }
227
+
228
+ .rs-btn-icon.rs-btn-sm > .rs-icon {
229
+ width: 14px;
230
+ height: 14px;
231
+ font-size: 14px;
152
232
  }
153
233
 
154
234
  .rs-btn-icon-with-text.rs-btn {
@@ -158,12 +238,28 @@ textarea {
158
238
  .rs-btn-icon-with-text.rs-btn > .rs-icon {
159
239
  width: 30px;
160
240
  height: 30px;
161
- padding: 8px;
241
+ padding: 5px;
162
242
  }
163
243
 
164
244
  .rs-btn-icon-with-text.rs-btn-sm > .rs-icon {
165
245
  width: 24px;
166
246
  height: 24px;
247
+ padding: 4px;
248
+ }
249
+
250
+ .rs-btn-link,
251
+ .rs-btn-link.rs-btn-md {
252
+ font-size: 13px;
253
+ text-decoration: underline;
254
+ }
255
+
256
+ .rs-btn-link.rs-btn-disabled,
257
+ .rs-btn-link:disabled {
258
+ text-decoration: underline;
259
+ }
260
+
261
+ .rs-btn-link.rs-btn-sm {
262
+ font-size: 11px;
167
263
  }
168
264
 
169
265
  /* checkbox */
@@ -174,7 +270,6 @@ textarea {
174
270
  .rs-checkbox-checker {
175
271
  padding-bottom: 0;
176
272
  padding-left: 36px;
177
- min-height: 0px;
178
273
  }
179
274
 
180
275
  .rs-checkbox label {
@@ -229,13 +324,13 @@ textarea {
229
324
  }
230
325
 
231
326
  label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
232
- border-color: var(--steel-blue);
233
- background: var(--steel-blue-25) 0% 0% no-repeat padding-box;
327
+ border-color: var(--blue-yonder);
328
+ background: var(--blue-yonder-25) 0% 0% no-repeat padding-box;
234
329
  }
235
330
 
236
331
  .rs-checkbox-checked label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
237
- border-color: var(--steel-blue);
238
- background: var(--steel-blue) 0% 0% no-repeat padding-box;
332
+ border-color: var(--blue-yonder);
333
+ background: var(--blue-yonder) 0% 0% no-repeat padding-box;
239
334
  }
240
335
 
241
336
  .rs-checkbox-checked .rs-checkbox-wrapper .rs-checkbox-inner::after {
@@ -253,10 +348,6 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
253
348
 
254
349
  /* radio */
255
350
 
256
- .rs-radio-group {
257
- border-radius: 2px;
258
- }
259
-
260
351
  .rs-radio-wrapper::before,
261
352
  .rs-radio-wrapper .rs-radio-inner::before,
262
353
  .rs-radio-wrapper {
@@ -316,14 +407,35 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
316
407
  line-height: 38px;
317
408
  }
318
409
 
319
- .rs-dropdown-item-with-icon > svg {
320
- vertical-align: text-bottom;
410
+ .rs-dropdown .rs-btn {
411
+ padding-left: 32px;
412
+ }
413
+
414
+ .rs-dropdown .rs-btn > .rs-dropdown-toggle-icon {
415
+ width: 30px;
416
+ height: 30px;
417
+ padding: 5px;
418
+ position: absolute;
419
+ left: 0;
420
+ top: 0;
421
+ margin: 0;
422
+ }
423
+
424
+ .rs-dropdown .rs-btn.rs-btn-sm > .rs-dropdown-toggle-icon {
425
+ width: 24px;
426
+ height: 24px;
427
+ padding: 3px;
321
428
  }
322
429
 
323
430
  .rs-dropdown-item:not(:last-child) {
324
431
  border-bottom: 1px solid var(--lightGray);
325
432
  }
326
433
 
434
+ svg.rs-dropdown-item-menu-icon {
435
+ vertical-align: middle;
436
+ margin-right: 10px;
437
+ }
438
+
327
439
  /* Tags */
328
440
 
329
441
  .rs-tag-default {
@@ -424,7 +536,7 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
424
536
  }
425
537
 
426
538
  .rs-picker-menu {
427
- border-radius: 2px;
539
+ border-radius: 0;
428
540
  z-index: 9999 !important;
429
541
  }
430
542
 
@@ -448,10 +560,6 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
448
560
  border: 1px solid var(--slateGray) !important;
449
561
  }
450
562
 
451
- .rs-picker-toggle.rs-btn-sm {
452
- border-radius: 2px !important;
453
- }
454
-
455
563
  .rs-calendar,
456
564
  .rs-calendar-header,
457
565
  .rs-calendar-table-cell-content {
@@ -590,29 +698,18 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
590
698
  .rs-modal-header-close {
591
699
  background: unset;
592
700
  right: 10px !important;
593
- top: 6px !important;
701
+ top: 9px !important;
594
702
  font-size: 15px !important;
595
703
  color: var(--gainsboro) !important;
596
704
  }
597
705
 
598
- /* .rs-picker-default .rs-btn,
599
- .rs-picker-input .rs-btn,
600
- .rs-picker-default .rs-picker-toggle,
601
- .rs-picker-input .rs-picker-toggle {
602
- background: unset !important;
603
- } */
604
-
605
706
  .rs-picker-tag-wrapper {
606
707
  padding-bottom: 0;
607
708
  }
608
709
 
609
710
  .rs-picker-input {
711
+ border-radius: 0;
610
712
  vertical-align: top;
611
- border-radius: 2px;
612
- }
613
-
614
- .rs-picker-toggle {
615
- border-radius: 2px;
616
713
  }
617
714
 
618
715
  .rs-picker-toggle-placeholder {
@@ -635,13 +732,20 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
635
732
  color: var(--slateGray);
636
733
  font-size: 13px;
637
734
  font-weight: normal;
638
- width: inherit;
735
+ }
736
+
737
+ .rs-picker-select-menu-item {
738
+ padding: 4px 12px;
639
739
  }
640
740
 
641
741
  .grouped .rs-picker-select-menu-item {
642
742
  padding-left: 0px;
643
743
  }
644
744
 
745
+ .rs-picker-select-menu-items {
746
+ margin-bottom: 0;
747
+ }
748
+
645
749
  .rs-picker-select-menu-items.rs-picker-select-menu-group.rs-picker-select-menu-group-title {
646
750
  font-size: 13px;
647
751
  color: var(--slateGray);
@@ -652,10 +756,6 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
652
756
  color: var(--slateGray);
653
757
  }
654
758
 
655
- .rs-picker-toggle-clean:hover {
656
- padding: 4px 0px !important;
657
- }
658
-
659
759
  .rs-picker-check-menu-group[role='listitem'] {
660
760
  height: 48px !important;
661
761
  }
@@ -691,8 +791,7 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner:before {
691
791
  .rs-table-hover .rs-table-row:not(.rs-table-row-header):hover,
692
792
  .rs-table-hover .rs-table-row:hover .rs-table-cell-group,
693
793
  .rs-table-hover .rs-table-row:hover .rs-table-cell {
694
- /* blueYonder 25 */
695
- background: #D4DDE7 !important;
794
+ background: var(--blue-yonder-25) !important;
696
795
  }
697
796
 
698
797
  .rs-table-cell,
@@ -0,0 +1,3 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export declare type FieldProps = HTMLAttributes<HTMLDivElement>;
3
+ export declare const Field: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,3 @@
1
+ import type { FieldsetHTMLAttributes } from 'react';
2
+ export declare type FieldsetProps = FieldsetHTMLAttributes<HTMLFieldSetElement>;
3
+ export declare function Fieldset(nativeProps: FieldsetProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { LabelHTMLAttributes } from 'react';
2
+ export declare type LabelProps = LabelHTMLAttributes<HTMLLabelElement>;
3
+ export declare const Label: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export declare type LegendProps = HTMLAttributes<HTMLLegendElement> & {
3
+ isHidden?: boolean;
4
+ };
5
+ export declare function Legend({ isHidden, ...nativeProps }: LegendProps): JSX.Element;
6
+ export declare const StyledLabel: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, {
7
+ isHidden: boolean;
8
+ }, never>;
@@ -0,0 +1,11 @@
1
+ import type { Option } from '../types';
2
+ import type { Promisable } from 'type-fest';
3
+ export declare type MultiCheckboxProps = {
4
+ defaultValue?: string[];
5
+ isInline?: boolean;
6
+ label?: string;
7
+ name: string;
8
+ onChange?: (nextValue: string[] | undefined) => Promisable<void>;
9
+ options: Option[];
10
+ };
11
+ export declare function MultiCheckbox({ defaultValue, isInline, label, name, onChange, options }: MultiCheckboxProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { Option } from '../types';
2
+ import type { Promisable } from 'type-fest';
3
+ export declare type MultiRadioProps = {
4
+ defaultValue?: string;
5
+ isInline?: boolean;
6
+ label?: string;
7
+ name: string;
8
+ onChange?: (nextValue: string | undefined) => Promisable<void>;
9
+ options: Option[];
10
+ };
11
+ export declare function MultiRadio({ defaultValue, isInline, label, name, onChange, options }: MultiRadioProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { MultiCheckboxProps } from '../fields/MultiCheckbox';
2
+ export declare type FormikMultiCheckboxProps = Omit<MultiCheckboxProps, 'defaultValue' | 'onChange'>;
3
+ export declare function FormikMultiCheckbox({ name, ...originalProps }: FormikMultiCheckboxProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { MultiRadioProps } from '../fields/MultiRadio';
2
+ export declare type FormikMultiRadioProps = Omit<MultiRadioProps, 'defaultValue' | 'onChange'>;
3
+ export declare function FormikMultiRadio({ name, ...originalProps }: FormikMultiRadioProps): JSX.Element;
package/index.d.ts CHANGED
@@ -1,9 +1,15 @@
1
1
  export * as MUI from './constants';
2
2
  export { THEME } from './theme';
3
+ export { Field } from './elements/Field';
4
+ export { Fieldset } from './elements/Fieldset';
5
+ export { Label } from './elements/Label';
6
+ export { Legend } from './elements/Legend';
3
7
  export { Checkbox } from './fields/Checkbox';
4
8
  export { DateRangePicker } from './fields/DateRangePicker';
5
9
  export { DatePicker } from './fields/DatePicker';
10
+ export { MultiCheckbox } from './fields/MultiCheckbox';
6
11
  export { MultiSelect } from './fields/MultiSelect';
12
+ export { MultiRadio } from './fields/MultiRadio';
7
13
  export { Select } from './fields/Select';
8
14
  export { Textarea } from './fields/Textarea';
9
15
  export { TextInput } from './fields/TextInput';
@@ -11,16 +17,24 @@ export { FormikCheckbox } from './formiks/FormikCheckbox';
11
17
  export { FormikDatePicker } from './formiks/FormikDatePicker';
12
18
  export { FormikDateRangePicker } from './formiks/FormikDateRangePicker';
13
19
  export { FormikEffect } from './formiks/FormikEffect';
20
+ export { FormikMultiCheckbox } from './formiks/FormikMultiCheckbox';
14
21
  export { FormikMultiSelect } from './formiks/FormikMultiSelect';
22
+ export { FormikMultiRadio } from './formiks/FormikMultiRadio';
15
23
  export { FormikSelect } from './formiks/FormikSelect';
16
24
  export { FormikTextarea } from './formiks/FormikTextarea';
17
25
  export { FormikTextInput } from './formiks/FormikTextInput';
18
26
  export { ThemeProvider } from './ThemeProvider';
19
27
  export type { PartialTheme, Theme } from './theme';
28
+ export type { FieldProps } from './elements/Field';
29
+ export type { FieldsetProps } from './elements/Fieldset';
30
+ export type { LabelProps } from './elements/Label';
31
+ export type { LegendProps } from './elements/Legend';
20
32
  export type { CheckboxProps } from './fields/Checkbox';
21
33
  export type { DateRangePickerProps } from './fields/DateRangePicker';
22
34
  export type { DatePickerProps } from './fields/DatePicker';
35
+ export type { MultiCheckboxProps } from './fields/MultiCheckbox';
23
36
  export type { MultiSelectProps } from './fields/MultiSelect';
37
+ export type { MultiRadioProps } from './fields/MultiRadio';
24
38
  export type { SelectProps } from './fields/Select';
25
39
  export type { TextareaProps } from './fields/Textarea';
26
40
  export type { TextInputProps } from './fields/TextInput';
@@ -28,7 +42,9 @@ export type { FormikCheckboxProps } from './formiks/FormikCheckbox';
28
42
  export type { FormikDatePickerProps } from './formiks/FormikDatePicker';
29
43
  export type { FormikDateRangePickerProps } from './formiks/FormikDateRangePicker';
30
44
  export type { FormikEffectProps } from './formiks/FormikEffect';
45
+ export type { FormikMultiCheckboxProps } from './formiks/FormikMultiCheckbox';
31
46
  export type { FormikMultiSelectProps } from './formiks/FormikMultiSelect';
47
+ export type { FormikMultiRadioProps } from './formiks/FormikMultiRadio';
32
48
  export type { FormikSelectProps } from './formiks/FormikSelect';
33
49
  export type { FormikTextareaProps } from './formiks/FormikTextarea';
34
50
  export type { FormikTextInputProps } from './formiks/FormikTextInput';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mtes-mct/monitor-ui",
3
3
  "description": "Common React UI components and styles for Monitorfish and Monitorenv.",
4
- "version": "1.5.1",
4
+ "version": "1.6.0",
5
5
  "license": "AGPL-3.0",
6
6
  "engines": {
7
7
  "node": "18",
@@ -23,8 +23,8 @@
23
23
  "lint-staged": {
24
24
  "*.{json,md,yaml,yml}": "prettier --write",
25
25
  "*.{ts,tsx}": [
26
- "eslint",
27
- "bash -c 'npm run test:type:partial'"
26
+ "yarn eslint --ext js,jsx,ts,tsx",
27
+ "bash -c 'npm run test:type'"
28
28
  ]
29
29
  },
30
30
  "packageManager": "yarn@3.2.4",
@@ -0,0 +1,9 @@
1
+ import styled from 'styled-components';
2
+
3
+ const Field = styled.div `
4
+ display: flex;
5
+ flex-direction: column;
6
+ `;
7
+
8
+ export { Field };
9
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.js","sources":["../../../src/elements/Field.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport type { HTMLAttributes } from 'react'\n\nexport type FieldProps = HTMLAttributes<HTMLDivElement>\nexport const Field = styled.div`\n display: flex;\n flex-direction: column;\n`\n"],"names":[],"mappings":";;AAKa,MAAA,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import styled from 'styled-components';
3
+ import { Field } from './Field.js';
4
+
5
+ function Fieldset(nativeProps) {
6
+ return jsx(StyledField, { as: "fieldset", ...nativeProps });
7
+ }
8
+ const StyledField = styled(Field) `
9
+ border: 0;
10
+ margin: 0;
11
+ padding: 0;
12
+ `;
13
+
14
+ export { Fieldset };
15
+ //# sourceMappingURL=Fieldset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fieldset.js","sources":["../../../src/elements/Fieldset.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport { Field } from './Field'\n\nimport type { FieldsetHTMLAttributes } from 'react'\n\nexport type FieldsetProps = FieldsetHTMLAttributes<HTMLFieldSetElement>\nexport function Fieldset(nativeProps: FieldsetProps) {\n return <StyledField as=\"fieldset\" {...nativeProps} />\n}\n\nconst StyledField = styled(Field)`\n border: 0;\n margin: 0;\n padding: 0;\n`\n"],"names":["_jsx"],"mappings":";;;;AAOM,SAAU,QAAQ,CAAC,WAA0B,EAAA;IACjD,OAAOA,GAAA,CAAC,WAAW,EAAC,EAAA,EAAE,EAAC,UAAU,EAAA,GAAK,WAAW,EAAA,CAAI,CAAA;AACvD,CAAC;AAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAA;;;;CAIhC;;;;"}
@@ -0,0 +1,11 @@
1
+ import styled from 'styled-components';
2
+
3
+ const Label = styled.label `
4
+ color: ${p => p.theme.color.slateGray};
5
+ font-size: 13px;
6
+ line-height: 1.4;
7
+ margin-bottom: 0.5rem;
8
+ `;
9
+
10
+ export { Label };
11
+ //# sourceMappingURL=Label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label.js","sources":["../../../src/elements/Label.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport type { LabelHTMLAttributes } from 'react'\n\nexport type LabelProps = LabelHTMLAttributes<HTMLLabelElement>\nexport const Label = styled.label`\n color: ${p => p.theme.color.slateGray};\n font-size: 13px;\n line-height: 1.4;\n margin-bottom: 0.5rem;\n`\n"],"names":[],"mappings":";;AAKa,MAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA,CAAA;WACtB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import styled from 'styled-components';
3
+ import { Label } from './Label.js';
4
+
5
+ function Legend({ isHidden = false, ...nativeProps }) {
6
+ return jsx(StyledLabel, { as: "legend", isHidden: isHidden, ...nativeProps });
7
+ }
8
+ const StyledLabel = styled(Label) `
9
+ display: ${p => (p.isHidden ? 'none' : 'table')};
10
+ `;
11
+
12
+ export { Legend, StyledLabel };
13
+ //# sourceMappingURL=Legend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Legend.js","sources":["../../../src/elements/Legend.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport { Label } from './Label'\n\nimport type { HTMLAttributes } from 'react'\n\nexport type LegendProps = HTMLAttributes<HTMLLegendElement> & {\n isHidden?: boolean\n}\nexport function Legend({ isHidden = false, ...nativeProps }: LegendProps) {\n return <StyledLabel as=\"legend\" isHidden={isHidden} {...nativeProps} />\n}\n\nexport const StyledLabel = styled(Label)<{\n isHidden: boolean\n}>`\n display: ${p => (p.isHidden ? 'none' : 'table')};\n`\n"],"names":["_jsx"],"mappings":";;;;AASM,SAAU,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,WAAW,EAAe,EAAA;AACtE,IAAA,OAAOA,GAAC,CAAA,WAAW,EAAC,EAAA,EAAE,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,EAAM,GAAA,WAAW,GAAI,CAAA;AACzE,CAAC;MAEY,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAEtC,CAAA;AACW,WAAA,EAAA,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useMemo, useCallback, useEffect } from 'react';
3
3
  import styled from 'styled-components';
4
+ import { Fieldset } from '../../elements/Fieldset.js';
5
+ import { Legend } from '../../elements/Legend.js';
4
6
  import { useForceUpdate } from '../../hooks/useForceUpdate.js';
5
7
  import { getLocalizedDayjs } from '../../utils/getLocalizedDayjs.js';
6
8
  import { getUtcizedDayjs } from '../../utils/getUtcizedDayjs.js';
@@ -100,11 +102,6 @@ function DatePicker({ defaultValue, isHistorical = false, isLabelHidden = false,
100
102
  }, [handleClickOutside]);
101
103
  return (jsxs(Fieldset, { className: "DateRangePicker", children: [jsx(Legend, { isHidden: isLabelHidden, children: label }), jsxs(Box, { children: [jsx(Field, { children: jsx(DateInput, { ref: dateInputRef, defaultValue: selectedDateTupleRef.current, isForcedFocused: isCalendarPickerOpenRef.current, onChange: handleDateInputFilled, onClick: openCalendarPicker, onNext: handleDateInputNext }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: timeInputRef, defaultValue: selectedTimeTupleRef.current, minutesRange: minutesRange, onBack: () => dateInputRef.current.focus(true), onChange: handleTimeInputFilled, onFocus: closeCalendarPicker, onPrevious: () => dateInputRef.current.focus(true) }) }))] }), isCalendarPickerOpenRef.current && (jsx(CalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, onChange: handleCalendarPickerChange }))] }));
102
104
  }
103
- const Fieldset = styled.fieldset `
104
- border: 0;
105
- margin: 0;
106
- padding: 0;
107
- `;
108
105
  const Box = styled.div `
109
106
  * {
110
107
  font-weight: 500;
@@ -115,13 +112,6 @@ const Box = styled.div `
115
112
  font-size: 13px;
116
113
  position: relative;
117
114
  `;
118
- const Legend = styled.legend `
119
- color: ${p => p.theme.color.slateGray};
120
- display: ${p => (p.isHidden ? 'none' : 'table')};
121
- font-weight: inherit;
122
- margin-bottom: 0.5rem;
123
- padding: 0;
124
- `;
125
115
  const Field = styled.span `
126
116
  font-size: inherit;
127
117
  margin-left: ${p => {