@behindthemusictree/genre-tree-view 5.0.0 → 6.2.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/dist/styles.css CHANGED
@@ -67,6 +67,12 @@
67
67
  animation: gtv-spin 1s linear infinite;
68
68
  }
69
69
 
70
+ @media (prefers-reduced-motion: reduce) {
71
+ .gtv-icon--spin {
72
+ animation: none;
73
+ }
74
+ }
75
+
70
76
  @keyframes gtv-spin {
71
77
  from {
72
78
  transform: rotate(0deg);
@@ -226,6 +232,7 @@
226
232
  z-index: 10;
227
233
  display: flex;
228
234
  flex-direction: column;
235
+ align-items: flex-end;
229
236
  gap: 0.5rem;
230
237
  }
231
238
 
@@ -308,6 +315,13 @@
308
315
  flex-direction: row;
309
316
  }
310
317
 
318
+ /* The breadcrumb reserves a fixed strip beside the controls, so a wider box stacks instead. */
319
+ @container (max-width: 767px) {
320
+ .gtv-wheel-floating-controls--horizontal {
321
+ flex-direction: column;
322
+ }
323
+ }
324
+
311
325
  .gtv-zoom-btn {
312
326
  display: flex;
313
327
  align-items: center;
@@ -503,11 +517,6 @@
503
517
  visibility: hidden;
504
518
  }
505
519
 
506
- .gtv-info-panel-title--editor {
507
- overflow: visible;
508
- white-space: normal;
509
- }
510
-
511
520
  .gtv-info-panel-close,
512
521
  .gtv-info-panel-previous,
513
522
  .gtv-info-panel-zoom-in {
@@ -534,25 +543,6 @@
534
543
  background-color: rgba(0, 0, 0, 0.1);
535
544
  }
536
545
 
537
- .gtv-info-panel-edit {
538
- flex-shrink: 0;
539
- height: 24px;
540
- padding: 0 0.5rem;
541
- font: inherit;
542
- font-size: 0.75rem;
543
- font-weight: 600;
544
- border: 1px solid currentColor;
545
- border-radius: 0.375rem;
546
- background: transparent;
547
- color: inherit;
548
- cursor: pointer;
549
- }
550
-
551
- .gtv-info-panel-edit:hover,
552
- .gtv-info-panel-edit[aria-pressed="true"] {
553
- background-color: rgba(0, 0, 0, 0.1);
554
- }
555
-
556
546
  .gtv-info-panel-fields {
557
547
  margin: 0;
558
548
  padding: 0.625rem 1.5rem;
@@ -1244,6 +1234,12 @@
1244
1234
  box-shadow: 0 2px 600px rgba(255, 255, 255, 0.16);
1245
1235
  }
1246
1236
 
1237
+ @media (prefers-reduced-motion: no-preference) {
1238
+ .gtv-wheel-chip--circle {
1239
+ transition: width 250ms ease-out, height 250ms ease-out;
1240
+ }
1241
+ }
1242
+
1247
1243
  /* Center "Mainstream Pop" chip: white fill (see centerNodeColor), so the default white label
1248
1244
  text and light border used for colored chips would be invisible / too subtle here. */
1249
1245
  .gtv-wheel-chip--center {
@@ -1674,3 +1670,54 @@
1674
1670
  .gtv-stage--moving * {
1675
1671
  pointer-events: none;
1676
1672
  }
1673
+
1674
+ /* GenreTreeWheelRadialPopCore only: darker background slice behind an underground-scene subtree
1675
+ (an svg path inside the pop layer, painted under that branch's links and nodes). */
1676
+ .gtv-wheel-scene-sector {
1677
+ pointer-events: none;
1678
+ }
1679
+
1680
+ /* BusyIndicator — fades in after a delay so fast operations never flash. The ring spins via
1681
+ transform only, so it keeps turning on the compositor while the main thread rebuilds the SVG. */
1682
+ .gtv-busy {
1683
+ position: relative;
1684
+ width: 1.25rem;
1685
+ height: 1.25rem;
1686
+ animation: gtv-busy-fade-in 0.2s ease-out 150ms both;
1687
+ }
1688
+
1689
+ .gtv-busy-ring {
1690
+ display: block;
1691
+ width: 100%;
1692
+ height: 100%;
1693
+ box-sizing: border-box;
1694
+ border: 2px solid color-mix(in srgb, var(--gtv-busy-color, var(--color-primary, #6366f1)) 25%, transparent);
1695
+ border-top-color: var(--gtv-busy-color, var(--color-primary, #6366f1));
1696
+ border-radius: 50%;
1697
+ animation: gtv-spin 0.8s linear infinite;
1698
+ }
1699
+
1700
+ @keyframes gtv-busy-fade-in {
1701
+ from {
1702
+ opacity: 0;
1703
+ }
1704
+ to {
1705
+ opacity: 1;
1706
+ }
1707
+ }
1708
+
1709
+ @keyframes gtv-busy-pulse {
1710
+ 0%,
1711
+ 100% {
1712
+ opacity: 0.35;
1713
+ }
1714
+ 50% {
1715
+ opacity: 1;
1716
+ }
1717
+ }
1718
+
1719
+ @media (prefers-reduced-motion: reduce) {
1720
+ .gtv-busy-ring {
1721
+ animation: gtv-busy-pulse 1.6s ease-in-out infinite;
1722
+ }
1723
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@behindthemusictree/genre-tree-view",
3
- "version": "5.0.0",
3
+ "version": "6.2.0",
4
4
  "description": "Reusable, presentational D3-based genre/hierarchy tree visualization component for React",
5
5
  "repository": {
6
6
  "type": "git",