studio-engine 0.56.0 → 0.56.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e0f0009a05bd6e06865465368969671524d772ab938b78622539d846532d387
4
- data.tar.gz: cf267435b701685424683ce6031948498b52a834551762d6be055cd126b46625
3
+ metadata.gz: a79e19829850f00a9e8cc9d2957d1de612da3bfbc08729a1326aa42391d2d422
4
+ data.tar.gz: f81e213a68ac8e8ae4693cc6ace20965df25037f24d4d3173984ddf4c95efab0
5
5
  SHA512:
6
- metadata.gz: 366f4b22dd590398e706f01b56b75ab5f82a60ca1bd6407f288a3898721cea9ab8914dc9e90c1865028ac3458ed299d9076d3768ae3bb3b86cb51ee26704fa70
7
- data.tar.gz: a45734bb24a793ad91620694aa36457ce057ed12c86b1754cc3aa6a1365e552510fcbe2eb28932273a7a41e53c755f457395252d0f014e78ae6207dafd9fb5ee
6
+ metadata.gz: 99bb6489f03318e771373b6c00514b9cc5199a0182bd1d2a08f8310ea3ee60b1caa102f97f31bc96ee9d004471d77a34d5bb7ebf50a5c76354a4e579cf2abb91
7
+ data.tar.gz: 6021838ea445cd9bfaec0b6ade383a7e3f6d8bb5597f6fd5a22c415631ce8ca598564e4f5765bcde709f55260dc2b8775cc5e26edf92d08bc0a7a4702cfa731a
@@ -85,6 +85,15 @@
85
85
  `spin` is kept because it is byte-identical to Tailwind's built-in.
86
86
  */
87
87
 
88
+ /* CASCADE LAYER — read before removing.
89
+ Everything below sits in @layer components so a CONSUMER's own utility
90
+ keeps winning until it deliberately adopts the primitive. Unlayered CSS
91
+ outranks every layered rule, so an unlayered engine sheet silently
92
+ overrode a consumer's same-named utility class the moment its lock bumped —
93
+ nothing in the consumer's own repo had to change for its styling to move.
94
+ @property blocks stay OUTSIDE: they are global registrations, not rules. */
95
+
96
+ @layer components {
88
97
  /* =============================================================================
89
98
  1. studio-border-glow — mask-composite rainbow border glow
90
99
  Extracted verbatim from mcritchie-studio app/assets/tailwind/application.css.
@@ -523,7 +532,9 @@
523
532
  can carry two colors: --studio-team-glow-color-b defaults to the first, so a
524
533
  one-color caller sees no change, and a caller with a pair to show (a Pokémon's
525
534
  two types) gets one per wedge. The wedges are swept by animating a registered
535
+ }
526
536
  @property angle (rotating the GRADIENT, not the element — so no oversized-child
537
+ @layer components {
527
538
  clipping trick is needed). Opacity is a var (--studio-team-glow-opacity) with a
528
539
  transition, so a consumer can fade the glow in/out (the living style guide
529
540
  slides it between step cards as a modal's step machine advances).
@@ -562,11 +573,13 @@
562
573
  Tune: --studio-team-glow-color / -color-b / -opacity / -speed / -thickness /
563
574
  -bloom
564
575
  ========================================================================== */
576
+ }
565
577
  @property --studio-team-glow-angle {
566
578
  syntax: "<angle>";
567
579
  inherits: false;
568
580
  initial-value: 0deg;
569
581
  }
582
+ @layer components {
570
583
  .studio-team-glow {
571
584
  --studio-team-glow-color: var(--color-cta);
572
585
  /* The SECOND wedge's color. Defaults to the first, so a one-color caller sees
@@ -701,11 +714,13 @@
701
714
  Usage: <div class="conic-surface rounded-2xl p-8"> ...content... </div>
702
715
  Tune: --conic-surface-from / --conic-surface-to / --conic-surface-duration
703
716
  ========================================================================== */
717
+ }
704
718
  @property --conic-surface-angle {
705
719
  syntax: "<angle>";
706
720
  inherits: false;
707
721
  initial-value: 0deg;
708
722
  }
723
+ @layer components {
709
724
  .conic-surface {
710
725
  position: relative;
711
726
  isolation: isolate;
@@ -1039,12 +1054,14 @@
1039
1054
 
1040
1055
  /* Registered custom property — makes --bar-progress interpolatable so a single
1041
1056
  transition animates all five segment widths together (one ease, not five). */
1057
+ }
1042
1058
  @property --bar-progress {
1043
1059
  syntax: "<number>";
1044
1060
  initial-value: 0;
1045
1061
  inherits: true;
1046
1062
  }
1047
1063
 
1064
+ @layer components {
1048
1065
  /* The motion PROPERTIES (transition / animation) live on these classes — NOT on
1049
1066
  the view's inline style — precisely so the reduced-motion override below can
1050
1067
  reach and cancel them. An inline `style="transition: …"` beats a class rule on
@@ -1563,10 +1580,26 @@ body.modal-open { overflow: hidden; }
1563
1580
  }
1564
1581
 
1565
1582
  .hold-btn.loading > .hold-icon svg.progress {
1566
- animation: spin 0.8s linear infinite;
1583
+ /* NOT the shared `spin` keyframe. `spin` declares only `to`, so its implicit
1584
+ `from` is whatever the element already carries — and this element carries
1585
+ `rotate(-90deg)` (the ring's 12-o'clock origin, set above). That made the
1586
+ loading icon sweep -90deg -> 360deg, i.e. 450deg per iteration, and snap
1587
+ back across a 90deg seam 1.25x a second. `spin` stays correct for `.spinner`,
1588
+ which has no base transform, so this needs its own keyframe rather than an
1589
+ edit there. The scale is carried through so the animation does not drop it. */
1590
+ animation: hold-spin-progress 0.8s linear infinite;
1567
1591
  transition: none;
1568
1592
  }
1569
1593
 
1594
+ @keyframes hold-spin-progress {
1595
+ from {
1596
+ transform: rotate(-90deg) scale(var(--progress-scale, 1));
1597
+ }
1598
+ to {
1599
+ transform: rotate(270deg) scale(var(--progress-scale, 1));
1600
+ }
1601
+ }
1602
+
1570
1603
  .hold-btn.loading > .hold-icon svg.progress circle {
1571
1604
  stroke: rgb(var(--color-primary-rgb));
1572
1605
  stroke-width: 3;
@@ -1809,3 +1842,4 @@ body.modal-open { overflow: hidden; }
1809
1842
  transition: none !important;
1810
1843
  }
1811
1844
  }
1845
+ }
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.56.0"
2
+ VERSION = "0.56.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: studio-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.56.0
4
+ version: 0.56.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-16 00:00:00.000000000 Z
11
+ date: 2026-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails