@webority/theme 0.8.3 → 0.8.4

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.8.3",
3
+ "version": "0.8.4",
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": {
@@ -355,16 +355,16 @@
355
355
  font-weight: 500;
356
356
  transition: background-color 0.12s ease, color 0.12s ease;
357
357
 
358
- // Leading glyph: quiet by default, brand-tinted on hover — a font-size so both
359
- // the React <Icon> (a sized <i>) and the Razor <i class="bi"> land the same.
360
- .bi, i, svg {
358
+ // Leading glyph: quiet by default, brand-tinted on hover. The library's own icons
359
+ // are .wui-icon SVGs; bare i/svg keeps product-supplied glyph nodes in step.
360
+ .wui-icon, i, svg {
361
361
  flex-shrink: 0;
362
362
  font-size: 1rem;
363
363
  color: var(--wui-text-3);
364
364
  transition: color 0.12s ease;
365
365
  }
366
- &:hover .bi, &:hover i, &:hover svg,
367
- &:focus .bi, &:focus i, &:focus svg {
366
+ &:hover .wui-icon, &:hover i, &:hover svg,
367
+ &:focus .wui-icon, &:focus i, &:focus svg {
368
368
  color: var(--wui-primary);
369
369
  }
370
370
 
@@ -383,9 +383,9 @@
383
383
  --bs-dropdown-link-color: var(--wui-danger-text);
384
384
  --bs-dropdown-link-hover-color: var(--wui-danger-text);
385
385
  --bs-dropdown-link-hover-bg: var(--color-danger-soft);
386
- .bi, i, svg { color: var(--wui-danger); }
387
- &:hover .bi, &:hover i, &:hover svg,
388
- &:focus .bi, &:focus i, &:focus svg { color: var(--wui-danger); }
386
+ .wui-icon, i, svg { color: var(--wui-danger); }
387
+ &:hover .wui-icon, &:hover i, &:hover svg,
388
+ &:focus .wui-icon, &:focus i, &:focus svg { color: var(--wui-danger); }
389
389
  }
390
390
  }
391
391
 
@@ -277,9 +277,10 @@
277
277
  min-width: 0;
278
278
  vertical-align: middle;
279
279
  }
280
- .wui-opt-label > .bi {
280
+ .wui-opt-label > .wui-icon {
281
281
  flex-shrink: 0;
282
- font-size: 15px;
282
+ width: 15px;
283
+ height: 15px;
283
284
  }
284
285
 
285
286
  // AppSelectMini — the compact single-purpose picker (page size, a range switch). It shares
@@ -460,7 +461,7 @@
460
461
  white-space: nowrap;
461
462
  text-overflow: ellipsis;
462
463
  }
463
- .datepicker-trigger > .bi {
464
+ .datepicker-trigger > .wui-icon {
464
465
  flex-shrink: 0;
465
466
  color: var(--color-text-subtle);
466
467
  }
@@ -795,7 +796,7 @@ button.datepicker-month:hover {
795
796
  white-space: nowrap;
796
797
  text-overflow: ellipsis;
797
798
  }
798
- .daterange-trigger > .bi {
799
+ .daterange-trigger > .wui-icon {
799
800
  flex-shrink: 0;
800
801
  color: var(--color-text-subtle);
801
802
  }
@@ -1179,7 +1180,7 @@ button.datepicker-month:hover {
1179
1180
  white-space: nowrap;
1180
1181
  text-overflow: ellipsis;
1181
1182
  }
1182
- .timepicker-trigger > .bi {
1183
+ .timepicker-trigger > .wui-icon {
1183
1184
  flex-shrink: 0;
1184
1185
  color: var(--color-text-subtle);
1185
1186
  }
@@ -234,10 +234,10 @@
234
234
  outline: 2px solid var(--color-primary);
235
235
  outline-offset: 2px;
236
236
  }
237
- .wui-expand-toggle .bi {
237
+ .wui-expand-toggle .wui-icon {
238
238
  transition: transform 0.18s var(--wui-ease-out-quart, ease);
239
239
  }
240
- .wui-expand-toggle.is-open .bi {
240
+ .wui-expand-toggle.is-open .wui-icon {
241
241
  transform: rotate(180deg);
242
242
  }
243
243
  .table-ledger tr.wui-row-expanded > td {
@@ -521,7 +521,7 @@ a.info-row:hover .info-value {
521
521
  background: transparent;
522
522
  }
523
523
  // Icon pop — the selected segment's glyph springs up a touch as it becomes active.
524
- .segmented-option:has(.segmented-input:checked) .bi {
524
+ .segmented-option:has(.segmented-input:checked) .wui-icon {
525
525
  transform: scale(1.14);
526
526
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
527
527
  }
@@ -561,7 +561,7 @@ a.info-row:hover .info-value {
561
561
  // The thumb still jumps to the selected segment — it just does not slide, pop or press.
562
562
  .segmented-option,
563
563
  .segmented.is-animated .segmented-thumb,
564
- .segmented-option:has(.segmented-input:checked) .bi {
564
+ .segmented-option:has(.segmented-input:checked) .wui-icon {
565
565
  transition: none;
566
566
  }
567
567
  }
@@ -76,7 +76,7 @@
76
76
  // Bootstrap Icons carry a -.125em baseline nudge meant for inline-with-text use;
77
77
  // inside the chip's flex row it just drops the glyph below the label's centre.
78
78
  // Reset it so a library-icon leading glyph lines up with the label.
79
- .chip-ic .bi::before {
79
+ .chip-ic .wui-icon {
80
80
  vertical-align: middle;
81
81
  }
82
82
  .chip-avatar {
@@ -6,6 +6,14 @@
6
6
  // partials are a split of one stylesheet, not independent modules, so a rule
7
7
  // here may be overridden by a later partial. Never reorder the imports.
8
8
 
9
+ // ── Icon base ──
10
+ // Every library glyph (React <Icon>, Razor <app-icon>, wui-element internals) is an
11
+ // inline SVG carrying this class; size comes from its width/height attributes.
12
+ .wui-icon {
13
+ display: inline-block;
14
+ flex-shrink: 0;
15
+ }
16
+
9
17
  // ── Grid / layout utils ──
10
18
  // Responsive card grids (Bootstrap has no grid-template utility).
11
19
  .wui-grid {
@@ -633,7 +641,7 @@
633
641
  // 4px translucent ring in the badge's own colour — the "outer shadow".
634
642
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--callout-accent) 20%, transparent);
635
643
 
636
- .bi {
644
+ .wui-icon {
637
645
  line-height: 1;
638
646
  }
639
647
  }
@@ -786,7 +794,7 @@
786
794
  // 4px translucent ring in the badge's own colour — the "outer shadow".
787
795
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--alert-accent) 20%, transparent);
788
796
 
789
- .bi {
797
+ .wui-icon {
790
798
  line-height: 1;
791
799
  }
792
800
  }