@visns-studio/visns-components 6.0.3 → 6.0.5

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.
@@ -923,15 +923,25 @@ function GenericIndex({
923
923
  ) &&
924
924
  setting.page.tableInfo.heading.length > 0 &&
925
925
  setting.page.tableInfo.heading.map((h) => (
926
- <span>
927
- [<strong>{tableInfo[h.id]}</strong>{' '}
928
- {h.label}]{' '}
926
+ <span key={h.id}>
927
+ <strong>{tableInfo[h.id]}</strong>{' '}
928
+ {h.label}
929
929
  </span>
930
930
  ))}
931
+ {/* Square brackets round a count is a convention
932
+ from a spreadsheet, not an interface — and it
933
+ repeated the page title back at you. The count
934
+ alone is what anyone actually reads. */}
931
935
  {total > 0 && (
932
936
  <span>
933
- [<strong>{total}</strong> Total{' '}
934
- {parse(setting.page?.title || '')}]
937
+ {/* Grouped, matching the pager's own
938
+ "of 32,134" — the same figure was
939
+ printing two different ways on one
940
+ screen. */}
941
+ <strong>
942
+ {Number(total).toLocaleString()}
943
+ </strong>{' '}
944
+ total
935
945
  </span>
936
946
  )}
937
947
  </div>
@@ -1,25 +1,8 @@
1
- .btn {
2
- width: max-content;
3
- display: inline-block;
4
- position: relative;
5
- padding: 0.65rem 1rem;
6
- cursor: pointer;
7
- font-size: 1rem;
8
- color: var(--tertiary-color);
9
- text-decoration: none;
10
- overflow: hidden;
11
- background: var(--primary-color);
12
- border: 1px solid rgba(var(--primary-rgb), 1.1);
13
- outline: none;
14
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
1
+ @use 'controls' as *;
15
2
 
16
- &:hover {
17
- color: var(--primary-color);
18
- background: var(--secondary-color);
19
- border: 1px solid rgba(var(--secondary-rgb), 1.05);
20
- }
3
+ .btn {
4
+ @include button-primary;
21
5
  }
22
-
23
6
  /* Clock button styles - Compact version */
24
7
  .clockButton {
25
8
  display: flex;
@@ -59,8 +42,41 @@
59
42
  overflow: hidden !important;
60
43
  }
61
44
 
62
- .InovuaReactDataGrid__header {
63
- color: var(--primary-color) !important;
45
+ :global {
46
+ /* The header is a label row, not a heading. It was navy body text at the same
47
+ size and weight as the data, so it read as another row of values. Smaller,
48
+ uppercase and recessive puts the emphasis back on the data, and it stays put
49
+ while the rows scroll under it. */
50
+ .InovuaReactDataGrid__header {
51
+ color: var(--muted-color) !important;
52
+ background: var(--alternate-color) !important;
53
+ border-bottom: 1px solid var(--border-color) !important;
54
+ font-size: var(--font-size-xs) !important;
55
+ font-weight: var(--font-weight-semibold) !important;
56
+ letter-spacing: 0.06em;
57
+ text-transform: uppercase;
58
+ }
59
+
60
+ /* Digits only line up if they are the same width. Applied to the numeric and
61
+ date columns rather than globally, since tabular figures are wider and
62
+ would loosen ordinary text. */
63
+ .InovuaReactDataGrid__cell[data-column-id*='date'],
64
+ .InovuaReactDataGrid__cell[data-column-id*='Date'],
65
+ .InovuaReactDataGrid__cell[data-column-id*='count'],
66
+ .InovuaReactDataGrid__cell[data-column-id*='total'],
67
+ .InovuaReactDataGrid__cell[data-column-id*='no'],
68
+ .InovuaReactDataGrid__cell[data-column-id*='number'],
69
+ .InovuaReactDataGrid__cell[data-column-id*='amount'],
70
+ .InovuaReactDataGrid__cell[data-column-id*='qty'] {
71
+ font-variant-numeric: tabular-nums;
72
+ }
73
+
74
+ /* Banding, so the eye can track a row across a wide table. Kept very faint —
75
+ strong enough to follow, quiet enough not to compete with the hover state
76
+ or a status colour in the row. */
77
+ .InovuaReactDataGrid__row--odd .InovuaReactDataGrid__row-cell-wrap {
78
+ background: var(--alternate-color);
79
+ }
64
80
  }
65
81
 
66
82
  .InovuaReactDataGrid__row-hover-target:hover {
@@ -1,3 +1,8 @@
1
+ @use 'controls' as *;
2
+
3
+ .btn {
4
+ @include button-primary;
5
+ }
1
6
  .label {
2
7
  display: block;
3
8
  }
@@ -209,34 +214,50 @@ input[type='file'] {
209
214
 
210
215
  .modal__header {
211
216
  width: 100%;
212
- border-bottom: 1px solid rgba(var(--primary-rgb), 0.15);
217
+ border-bottom: 1px solid var(--border-color);
213
218
  display: flex;
214
219
  align-items: center;
215
220
  justify-content: space-between;
216
- padding: 0.75rem;
221
+ gap: var(--spacing-md);
222
+ padding: var(--spacing-md) var(--spacing-lg);
217
223
 
218
224
  h1 {
219
- color: var(--secondary-color);
225
+ /* Was --secondary-color, the same red that means destructive
226
+ everywhere else in the console — so every edit dialog opened
227
+ looking like a warning. A dialog title is just a title. */
228
+ color: var(--heading-color);
220
229
  margin: 0;
221
230
  padding: 0;
222
- font-size: 1.15em;
231
+ font-size: var(--font-size-lg);
232
+ font-weight: var(--font-weight-bold);
233
+ letter-spacing: -0.01em;
223
234
  }
224
235
  }
225
236
 
226
237
  .modal__close {
227
- width: max-content;
228
- background: rgba(var(--paragraph-rgb), 0.05);
238
+ /* A close control should recede until reached for. It was a permanently
239
+ tinted box with a navy glyph, which read as another action. */
240
+ display: flex;
241
+ align-items: center;
242
+ justify-content: center;
243
+ width: 2rem;
244
+ height: 2rem;
245
+ flex: none;
246
+ background: none;
229
247
  cursor: pointer;
230
- padding: 0.25rem;
248
+ padding: 0;
231
249
  margin: 0;
232
- outline: none;
233
250
  border: none;
234
- border-radius: var(--br);
235
- display: block;
251
+ border-radius: var(--radius-sm);
236
252
  line-height: 1;
253
+ transition: background-color var(--speed) var(--ease);
254
+
255
+ &:hover {
256
+ background: var(--hover-color);
257
+ }
237
258
 
238
259
  svg {
239
- color: var(--primary-color);
260
+ color: var(--muted-color);
240
261
  display: block;
241
262
  }
242
263
  }
@@ -272,29 +293,7 @@ input[type='file'] {
272
293
  }
273
294
  }
274
295
 
275
- .btn {
276
- width: max-content;
277
- display: inline-block;
278
- position: relative;
279
- padding: 0.65rem 1rem;
280
- cursor: pointer;
281
- font-size: 1rem;
282
- color: var(--tertiary-color);
283
- text-decoration: none;
284
- overflow: hidden;
285
- background: var(--primary-color);
286
- border: 1px solid rgba(var(--primary-color--rgb), 1.1);
287
- border-radius: var(--br);
288
- outline: none;
289
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
290
- font-size: 1.25em;
291
296
 
292
- &:hover {
293
- color: var(--primary-color);
294
- background: var(--highlight-color);
295
- border: 1px solid rgba(var(--highlight-rgb), 1.05);
296
- }
297
- }
298
297
 
299
298
  .saveBtn {
300
299
  width: max-content;
@@ -1,3 +1,8 @@
1
+ @use 'controls' as *;
2
+
3
+ .btn {
4
+ @include button-primary;
5
+ }
1
6
  .grid {
2
7
  width: 100%;
3
8
  display: flex;
@@ -156,14 +161,21 @@
156
161
  .gridtxt__header {
157
162
  width: 100%;
158
163
  display: block;
159
- background: rgba(var(--primary-rgb), 0.05);
164
+ background: none;
160
165
  box-sizing: border-box;
161
- padding: 10px 20px;
162
- border-radius: var(--br);
163
- margin-bottom: 0;
164
- font-weight: 700;
165
- text-align: center;
166
- color: var(--paragraph-color);
166
+ /* Was a centred, tinted bar. A section heading is read at the start of
167
+ the line like everything under it; centring it made the eye jump to the
168
+ middle and back for every section on the page. */
169
+ padding: 0 0 var(--spacing-sm);
170
+ border-bottom: 1px solid var(--border-color);
171
+ border-radius: 0;
172
+ margin-bottom: var(--spacing-md);
173
+ font-size: var(--font-size-sm);
174
+ font-weight: var(--font-weight-semibold);
175
+ letter-spacing: 0.06em;
176
+ text-transform: uppercase;
177
+ text-align: left;
178
+ color: var(--muted-color);
167
179
  }
168
180
 
169
181
  .gridtxt__header span {
@@ -199,8 +211,14 @@
199
211
  flex: 0 0 calc(100% - 10px);
200
212
  }
201
213
 
214
+ /* No accent. Description and Comments are ordinary fields — the same kind of
215
+ thing as Label and Source beside them — so they get the same neutral card.
216
+ The brand red here was decorative, and on a page with no validation it read
217
+ as an error; a left rule was only a quieter version of the same mistake.
218
+ Emphasis should mean something, and here there is nothing to emphasise. */
202
219
  .gridtxt > ul .notecolor {
203
- border: 1px solid var(--secondary-color);
220
+ border: 1px solid var(--border-color);
221
+ background: var(--surface-color);
204
222
  }
205
223
 
206
224
  .titleInfo {
@@ -618,29 +636,9 @@
618
636
  line-height: 1.475em;
619
637
  }
620
638
 
621
- .btn {
622
- width: max-content;
623
- display: inline-block;
624
- position: relative;
625
- padding: 0.65rem 1rem;
626
- cursor: pointer;
627
- font-size: 1rem;
628
- color: var(--tertiary-color);
629
- text-decoration: none;
630
- overflow: hidden;
631
- background: var(--primary-color);
632
- border: 1px solid rgba(var(--primary-color--rgb), 1.1);
633
- border-radius: var(--br);
634
- outline: none;
635
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
636
- font-size: 1.25em;
637
- }
638
639
 
639
- .btn:hover {
640
- color: var(--primary-color);
641
- background: var(--highlight-color);
642
- border: 1px solid rgba(var(--highlight-rgb), 1.05);
643
- }
640
+
641
+
644
642
 
645
643
  .crmtitle {
646
644
  min-height: auto;
@@ -1,3 +1,8 @@
1
+ @use 'controls' as *;
2
+
3
+ .btn {
4
+ @include button-primary;
5
+ }
1
6
  .grid__row {
2
7
  width: 100%;
3
8
  display: flex;
@@ -397,28 +402,9 @@ select:not(:placeholder-shown) + .fi__span {
397
402
  }
398
403
 
399
404
  /* Adding btn class */
400
- .btn {
401
- width: max-content;
402
- display: inline-block;
403
- position: relative;
404
- padding: 0.65rem 1rem;
405
- cursor: pointer;
406
- font-size: 1rem;
407
- color: var(--secondary-color);
408
- text-decoration: none;
409
- overflow: hidden;
410
- background: var(--primary-color);
411
- border: 1px solid rgba(var(--primary-rgb), 1.1);
412
- border-radius: var(--br);
413
- outline: none;
414
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
415
- }
416
405
 
417
- .btn:hover {
418
- color: var(--tertiary-color);
419
- background: var(--secondary-color);
420
- border: 1px solid rgba(var(--secondary-color-rgb), 1.1);
421
- }
406
+
407
+
422
408
 
423
409
  /* Adding polActions style to the module.css */
424
410
  .polActions {
@@ -1,3 +1,8 @@
1
+ @use 'controls' as *;
2
+
3
+ .btn {
4
+ @include button-primary;
5
+ }
1
6
  .schedulingTable {
2
7
  width: 100%;
3
8
  border-collapse: collapse;
@@ -205,29 +210,7 @@
205
210
  }
206
211
  }
207
212
 
208
- .btn {
209
- width: max-content;
210
- display: inline-block;
211
- position: relative;
212
- padding: 0.65rem 1rem;
213
- cursor: pointer;
214
- font-size: 1rem;
215
- color: var(--tertiary-color);
216
- text-decoration: none;
217
- overflow: hidden;
218
- background: var(--primary-color);
219
- border: 1px solid rgba(var(--primary-color--rgb), 1.1);
220
- border-radius: var(--br);
221
- outline: none;
222
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
223
- font-size: 1.25em;
224
213
 
225
- &:hover {
226
- color: var(--primary-color);
227
- background: var(--highlight-color);
228
- border: 1px solid rgba(var(--highlight-rgb), 1.05);
229
- }
230
- }
231
214
 
232
215
  .btn_compact {
233
216
  width: max-content;