@celestia-island/hikari 0.55.46 → 0.55.47
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
|
@@ -71,9 +71,13 @@
|
|
|
71
71
|
.hk-stepflow-body {
|
|
72
72
|
// ENTER grammar (what a body computes once its `hk-stepflow-enter-pending`
|
|
73
73
|
// class lifts at the phase-2 edge): a plain fade in place — the new
|
|
74
|
-
// content never travels (2026-09-22 user directive).
|
|
74
|
+
// content never travels (2026-09-22 user directive). A STANDARD ease, not
|
|
75
|
+
// the expressive ease-out: the front-loaded curve put the first painted
|
|
76
|
+
// frame at ~50% opacity (half the distance in ~11% of the phase), which
|
|
77
|
+
// read on the device as the new content flashing in — the standard curve
|
|
78
|
+
// starts at ~20% instead (2026-09-22 device report, round 11).
|
|
75
79
|
transition:
|
|
76
|
-
opacity calc(var(--hk-stepflow-duration, 0.3s) / 2) cubic-bezier(0.
|
|
80
|
+
opacity calc(var(--hk-stepflow-duration, 0.3s) / 2) cubic-bezier(0.4, 0, 0.2, 1);
|
|
77
81
|
}
|
|
78
82
|
|
|
79
83
|
.hk-stepflow-body.leaving {
|
|
@@ -89,11 +93,11 @@
|
|
|
89
93
|
left: 0;
|
|
90
94
|
right: 0;
|
|
91
95
|
pointer-events: none;
|
|
92
|
-
// LEAVE grammar: the
|
|
93
|
-
//
|
|
94
|
-
//
|
|
96
|
+
// LEAVE grammar: the slide keeps its accelerating ease-in; the FADE gets
|
|
97
|
+
// its own gentler curve so the old content eases out over several frames
|
|
98
|
+
// instead of dropping 0.40 -> 0.03 in one (same device report).
|
|
95
99
|
transition:
|
|
96
|
-
opacity calc(var(--hk-stepflow-duration, 0.3s) / 2) cubic-bezier(0.
|
|
100
|
+
opacity calc(var(--hk-stepflow-duration, 0.3s) / 2) cubic-bezier(0.4, 0, 0.6, 1),
|
|
97
101
|
transform calc(var(--hk-stepflow-duration, 0.3s) / 2) cubic-bezier(0.5, 0, 0.75, 0);
|
|
98
102
|
}
|
|
99
103
|
|
|
@@ -91,7 +91,9 @@ describe("HkStepFlow two-phase swap contract", () => {
|
|
|
91
91
|
const decl = transitions[0]!;
|
|
92
92
|
expect(decl).toContain("opacity");
|
|
93
93
|
expect(decl).toContain(PHASE);
|
|
94
|
-
|
|
94
|
+
// A STANDARD ease: the expressive ease-out put the first painted frame
|
|
95
|
+
// at ~50% opacity, which read as the new content flashing in.
|
|
96
|
+
expect(decl).toContain("cubic-bezier(0.4, 0, 0.2, 1)");
|
|
95
97
|
expect(decl, "the enter phase never travels").not.toContain("transform");
|
|
96
98
|
});
|
|
97
99
|
|
|
@@ -104,8 +106,10 @@ describe("HkStepFlow two-phase swap contract", () => {
|
|
|
104
106
|
// (chest's LoginView renders this flow in a grid-stack crossfade).
|
|
105
107
|
expect(rule).toContain("top: 0");
|
|
106
108
|
expect(rule, "the default anchor is not the bottom").not.toContain("bottom: 0");
|
|
107
|
-
// The classic
|
|
109
|
+
// The slide keeps its classic accelerating ease-in; the fade gets its
|
|
110
|
+
// own gentler curve so the old content eases out over several frames.
|
|
108
111
|
expect(rule).toContain("cubic-bezier(0.5, 0, 0.75, 0)");
|
|
112
|
+
expect(rule).toContain("cubic-bezier(0.4, 0, 0.6, 1)");
|
|
109
113
|
expect(rule).toContain(PHASE);
|
|
110
114
|
const transitions = rule.match(/transition:\s*[^;}]+/g) ?? [];
|
|
111
115
|
expect(transitions).toHaveLength(1);
|