@webority/theme 0.31.0 → 0.32.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/theme",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "description": "Webority shared design system — Bootstrap 5.3 SCSS overrides, --wui-* tokens, and shared component CSS. The single source of brand chrome for React portals and Razor sites.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "publishConfig": {
@@ -5,7 +5,8 @@
5
5
  // classes, so a React re-render never wipes it.
6
6
  //
7
7
  // Below md the board is one column per screen: a scroll-snapped strip with a column switcher
8
- // above it. The board scrolls inside itself, so the page never scrolls sideways.
8
+ // above it that stays at the top of the viewport while the page scrolls. The board scrolls inside
9
+ // itself, so the page never scrolls sideways.
9
10
  //
10
11
  // Sizing variables, set on .wui-kanban (or any ancestor) to override:
11
12
  // --wui-kanban-column-width basis width of an open column (288px)
@@ -13,6 +14,8 @@
13
14
  // --wui-kanban-gap space between columns (16px)
14
15
  // --wui-kanban-column-min-height least height of a column, so short columns still read as
15
16
  // lanes (560px; not applied in the phone one-column mode)
17
+ // --wui-kanban-sticky-top where the phone switcher sticks (0, or under the app shell's
18
+ // topbar inside .app-shell)
16
19
  //
17
20
  // Part of the wui-components layer, see _wui-components.scss for load order.
18
21
 
@@ -21,11 +24,18 @@
21
24
  --wui-kanban-collapsed-width: 56px;
22
25
  --wui-kanban-gap: 16px;
23
26
  --wui-kanban-column-min-height: 560px;
27
+ --wui-kanban-sticky-top: 0px;
24
28
  display: block;
25
29
  position: relative;
26
30
  min-width: 0;
27
31
  max-width: 100%;
28
32
  }
33
+ // The shell's topbar is sticky too, so the switcher stops below it. 72px is .app-topbar's
34
+ // min-height in _shell.scss; change both together. :where() keeps this at .wui-kanban's own
35
+ // weight, so a page's `.wui-kanban { --wui-kanban-sticky-top: … }` still wins inside the shell.
36
+ :where(.app-shell) .wui-kanban {
37
+ --wui-kanban-sticky-top: 72px;
38
+ }
29
39
 
30
40
  .wui-kanban-board {
31
41
  display: flex;
@@ -210,9 +220,42 @@
210
220
  outline: 2px solid var(--color-primary);
211
221
  outline-offset: 2px;
212
222
  }
213
- .wui-kanban-card[hidden] {
223
+ .wui-kanban-card[hidden],
224
+ .wui-kanban-card[data-wui-overflow] {
225
+ display: none;
226
+ }
227
+
228
+ // "Show N more" under a capped column's cards; "Show fewer" once it is open.
229
+ .wui-kanban-more {
230
+ display: block;
231
+ width: calc(100% - 16px);
232
+ min-height: 36px;
233
+ margin: 0 8px 8px;
234
+ padding: 6px 10px;
235
+ border: 0;
236
+ border-radius: var(--wui-radius);
237
+ background: transparent;
238
+ color: var(--color-text-muted);
239
+ font-size: 0.8125rem;
240
+ font-weight: 600;
241
+ cursor: pointer;
242
+ }
243
+ .wui-kanban-more[hidden] {
214
244
  display: none;
215
245
  }
246
+ .wui-kanban-more:hover {
247
+ background: var(--color-surface);
248
+ color: var(--color-text);
249
+ }
250
+ .wui-kanban-more:focus-visible {
251
+ outline: 2px solid var(--color-primary);
252
+ outline-offset: 2px;
253
+ }
254
+ @media (pointer: coarse) {
255
+ .wui-kanban-more {
256
+ min-height: 44px;
257
+ }
258
+ }
216
259
  .wui-kanban[readonly] .wui-kanban-card,
217
260
  .wui-kanban-card[data-wui-locked] {
218
261
  cursor: default;
@@ -354,6 +397,7 @@
354
397
  }
355
398
  .wui-kanban-summary,
356
399
  .wui-kanban-body,
400
+ .wui-kanban-more,
357
401
  .wui-kanban-empty {
358
402
  display: none;
359
403
  }
@@ -365,18 +409,34 @@
365
409
  }
366
410
  }
367
411
 
368
- // ── Phone column switcher (hidden from md up) ──
369
- .wui-kanban-switcher {
412
+ // ── Phone column switcher and swipe hint (hidden from md up) ──
413
+ .wui-kanban-switcher,
414
+ .wui-kanban-hint {
370
415
  display: none;
371
416
  }
372
417
 
373
418
  @media (max-width: 767.98px) {
419
+ // Sticky over the page's own background, under the shell topbar (z-index 10).
374
420
  .wui-kanban-switcher {
421
+ position: sticky;
422
+ top: var(--wui-kanban-sticky-top);
423
+ z-index: 5;
375
424
  display: flex;
376
425
  gap: 6px;
377
426
  margin-bottom: 12px;
427
+ padding-block: 6px;
378
428
  overflow-x: auto;
379
429
  scrollbar-width: none;
430
+ background: var(--color-bg);
431
+ }
432
+ .wui-kanban-hint {
433
+ display: flex;
434
+ align-items: center;
435
+ justify-content: center;
436
+ gap: 6px;
437
+ margin: -6px 0 12px;
438
+ color: var(--color-text-muted);
439
+ font-size: 0.75rem;
380
440
  }
381
441
  .wui-kanban-switch {
382
442
  display: inline-flex;
@@ -443,6 +503,9 @@
443
503
  .wui-kanban-body {
444
504
  display: flex;
445
505
  }
506
+ .wui-kanban-more:not([hidden]) {
507
+ display: block;
508
+ }
446
509
  .wui-kanban-empty:not([hidden]) {
447
510
  display: block;
448
511
  }