@pieai/swimmer-ui-kit 1.11.3 → 2.1.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/CHANGELOG.md +58 -1
- package/NOTICE +5 -2
- package/README.md +5 -1
- package/dist/index.d.ts +22 -2
- package/dist/index.js +954 -917
- package/dist/styles.css +1 -1
- package/donors-individual-lock.json +5 -3
- package/donors-individual.md +49 -4
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,64 @@
|
|
|
3
3
|
All notable changes to `@pieai/swimmer-ui-kit`.
|
|
4
4
|
Format: [Keep a Changelog](https://keepachangelog.com); versioning: semver.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## 2.1.0 — 2026-09-02
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- **Opt-in clay scroll surfaces.** Product-owned overflow containers can use
|
|
11
|
+
`.game-ui-scroll-surface` and the four `--game-ui-scrollbar-*` semantic
|
|
12
|
+
tokens to share the kit's Firefox and Chromium/WebKit scrollbar treatment.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Build finalization is cross-platform.** The package build now uses a Node
|
|
17
|
+
script to copy the optional Tailwind bridge and remove `.DS_Store` files,
|
|
18
|
+
keeping the release path valid on Windows as well as POSIX hosts.
|
|
19
|
+
|
|
20
|
+
## 2.0.0
|
|
21
|
+
|
|
22
|
+
Major, not minor. The release removes a member from a public union type, so a
|
|
23
|
+
consumer inside a `^1` range would have broken at compile time on an automatic
|
|
24
|
+
update — the exact failure semver's major bump exists to prevent. That the
|
|
25
|
+
removed member never worked makes the removal correct, not non-breaking.
|
|
26
|
+
|
|
27
|
+
### Breaking
|
|
28
|
+
|
|
29
|
+
- **`LiquidGroup.Item` no longer accepts `effect="move"`.** The public union
|
|
30
|
+
listed `'move'` but the engine only understands Morph and Bend. Passing it
|
|
31
|
+
silently rendered Morph. Move already lives on the group as
|
|
32
|
+
`motion="follow"` (the selected indicator and progress leading edge). An API
|
|
33
|
+
that accepts a parameter and does nothing is worse than no API, so the
|
|
34
|
+
dead member is gone rather than implemented as a second Move entry. TypeScript
|
|
35
|
+
consumers who followed the donor README now get a type error. A leftover
|
|
36
|
+
string at runtime still warns, and `dissolve` on that leftover is still
|
|
37
|
+
ignored.
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **Outer drop shadows left the SVG filter.** `--game-ui-shadow-button`'s
|
|
42
|
+
`0 13px 26px` layer was a full-region `feGaussianBlur` whose radius also
|
|
43
|
+
inflated the filter pad. The donor had already moved that class of shadow to
|
|
44
|
+
CSS `drop-shadow()` on the compositor (same math: blur-radius = 2σ) because
|
|
45
|
+
WebKit CPU-rasterises large SVG blurs. Inset and spread stay in SVG; they
|
|
46
|
+
are not expressible as `drop-shadow()` and they are cheap. The pad no longer
|
|
47
|
+
reserves the outer blur. Visual comparison of the segmented indicator and
|
|
48
|
+
the merged-blob story is in `SHADOW-COST.md`.
|
|
49
|
+
|
|
50
|
+
- **Two authoring warnings were still dead in the published bundle.** 1.11.2
|
|
51
|
+
unblocked the budget warnings; `LiquidGroup.Item` children-with-border and
|
|
52
|
+
dissolve-on-move were still gated on `import.meta.env.DEV`, which is false
|
|
53
|
+
in this package's build. `scripts/check-warnings-survive-build.mjs` now
|
|
54
|
+
covers those two messages and names which one is missing. Verified by
|
|
55
|
+
reintroducing the DEV gate and watching the check fail on `[item-border]`
|
|
56
|
+
and `[dissolve-on-move]`.
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
|
|
60
|
+
- `donors-individual.md` now records the compositor shadow split as adopted,
|
|
61
|
+
and lists the remaining missed donor capabilities as missed — not as if they
|
|
62
|
+
had been rejected. `will-change: filter, transform` on the silhouette is
|
|
63
|
+
included with the split.
|
|
7
64
|
|
|
8
65
|
## 1.11.3
|
|
9
66
|
|
package/NOTICE
CHANGED
|
@@ -57,8 +57,11 @@ NOTICE pointer. We also adapted the donor's Move center spring, velocity-axis
|
|
|
57
57
|
stretch, and lagging tail/mid-droplet physics for the selected segmented
|
|
58
58
|
indicator and progress leading edge. This package directly adapts the donor's
|
|
59
59
|
group-level `waviness` / `wavinessFreq` filter pass: a fixed-seed `feTurbulence`
|
|
60
|
-
field and `feDisplacementMap` move the silhouette before its
|
|
61
|
-
consume it
|
|
60
|
+
field and `feDisplacementMap` move the silhouette before its remaining SVG
|
|
61
|
+
shadow passes consume it. Blurred outer shadows without spread follow the
|
|
62
|
+
donor's compositor split: they are CSS `drop-shadow()` on the silhouette
|
|
63
|
+
element, so they are not in the SVG filter region or its pad. Inset and
|
|
64
|
+
spread layers remain SVG-resident.
|
|
62
65
|
|
|
63
66
|
The local implementation also adapts the donor's pairwise image-melt engine in
|
|
64
67
|
`src/liquidGooeyImageMelt.tsx`, including the two-item pairing, measured image
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ assets may not be extracted, modified, or redistributed as a standalone pack.
|
|
|
20
20
|
```json
|
|
21
21
|
{
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@pieai/swimmer-ui-kit": "1.0
|
|
23
|
+
"@pieai/swimmer-ui-kit": "2.1.0"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
```
|
|
@@ -69,6 +69,10 @@ import '@pieai/swimmer-ui-kit/tailwind.css';
|
|
|
69
69
|
}
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
+
Product-owned overflow containers can opt into the kit's cross-browser clay
|
|
73
|
+
scrollbar treatment with `class="game-ui-scroll-surface"`; tune its size,
|
|
74
|
+
track, thumb, and hover colors through the `--game-ui-scrollbar-*` tokens.
|
|
75
|
+
|
|
72
76
|
- **Type**: a HUD scale (`--game-ui-font-xs` … `-xxl`) plus the three things a
|
|
73
77
|
HUD scale does not cover — `--game-ui-font-mono` for code, and
|
|
74
78
|
`--game-ui-font-reading` / `--game-ui-line-reading` /
|
package/dist/index.d.ts
CHANGED
|
@@ -422,6 +422,13 @@ export declare const CLAY_RADIUS_TOKENS: {
|
|
|
422
422
|
readonly modal: "var(--game-ui-radius-modal)";
|
|
423
423
|
};
|
|
424
424
|
|
|
425
|
+
export declare const CLAY_SCROLLBAR_TOKENS: {
|
|
426
|
+
readonly size: "var(--game-ui-scrollbar-size)";
|
|
427
|
+
readonly track: "var(--game-ui-scrollbar-track)";
|
|
428
|
+
readonly thumb: "var(--game-ui-scrollbar-thumb)";
|
|
429
|
+
readonly thumbHover: "var(--game-ui-scrollbar-thumb-hover)";
|
|
430
|
+
};
|
|
431
|
+
|
|
425
432
|
export declare const CLAY_SEMANTIC_TOKENS: {
|
|
426
433
|
readonly background: "var(--game-ui-bg)";
|
|
427
434
|
readonly playfieldScrim: "var(--game-ui-playfield-scrim)";
|
|
@@ -582,6 +589,12 @@ export declare const CLAY_UI_TOKENS: {
|
|
|
582
589
|
readonly panel: "var(--game-ui-radius-panel)";
|
|
583
590
|
readonly modal: "var(--game-ui-radius-modal)";
|
|
584
591
|
};
|
|
592
|
+
readonly scrollbars: {
|
|
593
|
+
readonly size: "var(--game-ui-scrollbar-size)";
|
|
594
|
+
readonly track: "var(--game-ui-scrollbar-track)";
|
|
595
|
+
readonly thumb: "var(--game-ui-scrollbar-thumb)";
|
|
596
|
+
readonly thumbHover: "var(--game-ui-scrollbar-thumb-hover)";
|
|
597
|
+
};
|
|
585
598
|
readonly elevation: {
|
|
586
599
|
readonly button: "var(--game-ui-shadow-button)";
|
|
587
600
|
readonly panel: "var(--game-ui-shadow-panel)";
|
|
@@ -1094,6 +1107,10 @@ export declare const GAME_UI_TOKENS: {
|
|
|
1094
1107
|
readonly panel: "var(--game-ui-shadow-panel)";
|
|
1095
1108
|
readonly inset: "var(--game-ui-shadow-inset)";
|
|
1096
1109
|
readonly stroke: "var(--game-ui-stroke)";
|
|
1110
|
+
readonly scrollbarSize: "var(--game-ui-scrollbar-size)";
|
|
1111
|
+
readonly scrollbarTrack: "var(--game-ui-scrollbar-track)";
|
|
1112
|
+
readonly scrollbarThumb: "var(--game-ui-scrollbar-thumb)";
|
|
1113
|
+
readonly scrollbarThumbHover: "var(--game-ui-scrollbar-thumb-hover)";
|
|
1097
1114
|
readonly bead: "var(--game-ui-radius-bead)";
|
|
1098
1115
|
readonly control: "var(--game-ui-radius-control)";
|
|
1099
1116
|
readonly card: "var(--game-ui-radius-card)";
|
|
@@ -2415,8 +2432,11 @@ export declare interface LiquidItemProps extends Omit<HTMLAttributes<HTMLDivElem
|
|
|
2415
2432
|
delay?: number;
|
|
2416
2433
|
/** Override the measured content border radius for the silhouette. */
|
|
2417
2434
|
radius?: number | CornerRadii;
|
|
2418
|
-
/**
|
|
2419
|
-
|
|
2435
|
+
/**
|
|
2436
|
+
* Select the adopted item surface behavior. Bend follows child geometry.
|
|
2437
|
+
* Move is a group gesture (`motion="follow"`), not an item effect.
|
|
2438
|
+
*/
|
|
2439
|
+
effect?: 'morph' | 'melt' | 'bend';
|
|
2420
2440
|
/** Morph shape, tempo, bounce, and content cross-blur tuning. */
|
|
2421
2441
|
morph?: MorphTuning;
|
|
2422
2442
|
/** Bend strengths for vertical bow and horizontal cap deformation. */
|