@rydr/game-sdk 7.0.0 → 7.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/README.md +19 -0
- package/dist/protocol/glyphs.d.ts +7 -0
- package/dist/protocol/glyphs.d.ts.map +1 -1
- package/dist/protocol/glyphs.js +26 -0
- package/dist/protocol/glyphs.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/three/perf-overlay.d.ts +52 -2
- package/dist/three/perf-overlay.d.ts.map +1 -1
- package/dist/three/perf-overlay.js +188 -3
- package/dist/three/perf-overlay.js.map +1 -1
- package/dist/ui/README.md +119 -0
- package/dist/ui/controller/combo-demo.d.ts +74 -0
- package/dist/ui/controller/combo-demo.d.ts.map +1 -0
- package/dist/ui/controller/combo-demo.js +295 -0
- package/dist/ui/controller/combo-demo.js.map +1 -0
- package/dist/ui/controller/combo-strip.d.ts +36 -0
- package/dist/ui/controller/combo-strip.d.ts.map +1 -0
- package/dist/ui/controller/combo-strip.js +66 -0
- package/dist/ui/controller/combo-strip.js.map +1 -0
- package/dist/ui/controller/control-trainer.d.ts +132 -0
- package/dist/ui/controller/control-trainer.d.ts.map +1 -0
- package/dist/ui/controller/control-trainer.js +570 -0
- package/dist/ui/controller/control-trainer.js.map +1 -0
- package/dist/ui/controller/controller-map.d.ts +82 -0
- package/dist/ui/controller/controller-map.d.ts.map +1 -0
- package/dist/ui/controller/controller-map.js +291 -0
- package/dist/ui/controller/controller-map.js.map +1 -0
- package/dist/ui/controller/controller-pad.d.ts +122 -0
- package/dist/ui/controller/controller-pad.d.ts.map +1 -0
- package/dist/ui/controller/controller-pad.js +200 -0
- package/dist/ui/controller/controller-pad.js.map +1 -0
- package/dist/ui/controller/index.d.ts +26 -0
- package/dist/ui/controller/index.d.ts.map +1 -0
- package/dist/ui/controller/index.js +26 -0
- package/dist/ui/controller/index.js.map +1 -0
- package/dist/ui/controller/input-chip.d.ts +100 -0
- package/dist/ui/controller/input-chip.d.ts.map +1 -0
- package/dist/ui/controller/input-chip.js +322 -0
- package/dist/ui/controller/input-chip.js.map +1 -0
- package/dist/ui/controller/layouts/dualsense.d.ts +12 -0
- package/dist/ui/controller/layouts/dualsense.d.ts.map +1 -0
- package/dist/ui/controller/layouts/dualsense.js +64 -0
- package/dist/ui/controller/layouts/dualsense.js.map +1 -0
- package/dist/ui/controller/layouts/index.d.ts +20 -0
- package/dist/ui/controller/layouts/index.d.ts.map +1 -0
- package/dist/ui/controller/layouts/index.js +34 -0
- package/dist/ui/controller/layouts/index.js.map +1 -0
- package/dist/ui/controller/layouts/joycon.d.ts +21 -0
- package/dist/ui/controller/layouts/joycon.d.ts.map +1 -0
- package/dist/ui/controller/layouts/joycon.js +76 -0
- package/dist/ui/controller/layouts/joycon.js.map +1 -0
- package/dist/ui/controller/layouts/switch-pro.d.ts +12 -0
- package/dist/ui/controller/layouts/switch-pro.d.ts.map +1 -0
- package/dist/ui/controller/layouts/switch-pro.js +60 -0
- package/dist/ui/controller/layouts/switch-pro.js.map +1 -0
- package/dist/ui/controller/layouts/xbox.d.ts +11 -0
- package/dist/ui/controller/layouts/xbox.d.ts.map +1 -0
- package/dist/ui/controller/layouts/xbox.js +59 -0
- package/dist/ui/controller/layouts/xbox.js.map +1 -0
- package/dist/ui/controller/layouts/zwift.d.ts +27 -0
- package/dist/ui/controller/layouts/zwift.d.ts.map +1 -0
- package/dist/ui/controller/layouts/zwift.js +62 -0
- package/dist/ui/controller/layouts/zwift.js.map +1 -0
- package/dist/ui/controller/pad-svg.d.ts +105 -0
- package/dist/ui/controller/pad-svg.d.ts.map +1 -0
- package/dist/ui/controller/pad-svg.js +289 -0
- package/dist/ui/controller/pad-svg.js.map +1 -0
- package/dist/ui/controller/parts-map.d.ts +96 -0
- package/dist/ui/controller/parts-map.d.ts.map +1 -0
- package/dist/ui/controller/parts-map.js +187 -0
- package/dist/ui/controller/parts-map.js.map +1 -0
- package/dist/ui/controller/styles.d.ts +19 -0
- package/dist/ui/controller/styles.d.ts.map +1 -0
- package/dist/ui/controller/styles.js +364 -0
- package/dist/ui/controller/styles.js.map +1 -0
- package/dist/ui/controller/tokens.d.ts +106 -0
- package/dist/ui/controller/tokens.d.ts.map +1 -0
- package/dist/ui/controller/tokens.js +50 -0
- package/dist/ui/controller/tokens.js.map +1 -0
- package/dist/ui/controller/types.d.ts +157 -0
- package/dist/ui/controller/types.d.ts.map +1 -0
- package/dist/ui/controller/types.js +61 -0
- package/dist/ui/controller/types.js.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/keycap.d.ts +14 -0
- package/dist/ui/keycap.d.ts.map +1 -1
- package/dist/ui/keycap.js +5 -0
- package/dist/ui/keycap.js.map +1 -1
- package/dist/ui/showcase/gallery.d.ts +13 -1
- package/dist/ui/showcase/gallery.d.ts.map +1 -1
- package/dist/ui/showcase/gallery.js.map +1 -1
- package/dist/ui/showcase/index.d.ts.map +1 -1
- package/dist/ui/showcase/index.js +257 -1
- package/dist/ui/showcase/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pad layout descriptors — the DATA behind the controller drawing.
|
|
3
|
+
*
|
|
4
|
+
* One renderer ({@link buildPadSvg}) draws every controller from one of these. The alternative, a
|
|
5
|
+
* hand-drawn SVG per brand, would duplicate the `data-part` contract, the press/idle CSS, the stick
|
|
6
|
+
* group structure and the per-part titles once per brand — and every new part would have to be added
|
|
7
|
+
* everywhere.
|
|
8
|
+
*
|
|
9
|
+
* **Parts are keyed by POSITION, never by letter.** That is load-bearing, and it is the whole reason a
|
|
10
|
+
* game can hand us one action list and get a correct drawing on every controller: the canonical
|
|
11
|
+
* {@link ButtonName} vocabulary is positional (`DIAMOND_DOWN` *is* "the bottom button" on every
|
|
12
|
+
* device), but a Switch Pro prints `A` on the right and `B` on the bottom — the mirror of an Xbox pad.
|
|
13
|
+
* Keying by position lets the renderer stay brand-agnostic while every letter comes from
|
|
14
|
+
* `buttonLabel()` in `protocol/glyphs.ts`, the only module allowed to contain one.
|
|
15
|
+
*
|
|
16
|
+
* Ported from the platform shell's `pad-layouts/`, which is where this geometry was first tuned. The
|
|
17
|
+
* coordinate tables are deliberately unchanged so the two stay interchangeable — see the note on
|
|
18
|
+
* {@link PAD_BODY_PATH} about the usable interior.
|
|
19
|
+
*/
|
|
20
|
+
import type { GlyphSet } from "../../protocol/glyphs.js";
|
|
21
|
+
/**
|
|
22
|
+
* Which silhouette to draw.
|
|
23
|
+
*
|
|
24
|
+
* A {@link GlyphSet} plus the shapes that need their own drawing regardless of lettering: a Joy-Con
|
|
25
|
+
* pair is a Nintendo device but is two slim halves rather than one shell, so `"joycon"` is a *drawing*
|
|
26
|
+
* key rather than a glyph family — reachable only by asking for it explicitly.
|
|
27
|
+
*/
|
|
28
|
+
export type PadBrandKey = GlyphSet | "joycon";
|
|
29
|
+
/** Every drawable, highlightable part of a controller. Positional names only. */
|
|
30
|
+
export type PadPart = "dpadUp" | "dpadDown" | "dpadLeft" | "dpadRight" | "faceTop" | "faceRight" | "faceBottom" | "faceLeft" | "lb" | "rb" | "lt" | "rt" | "lstickPress" | "rstickPress" | "start" | "select" | "home";
|
|
31
|
+
export type PartGeom = {
|
|
32
|
+
kind: "circle";
|
|
33
|
+
cx: number;
|
|
34
|
+
cy: number;
|
|
35
|
+
r: number;
|
|
36
|
+
} | {
|
|
37
|
+
kind: "rect";
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
w: number;
|
|
41
|
+
h: number;
|
|
42
|
+
rx?: number;
|
|
43
|
+
} | {
|
|
44
|
+
kind: "path";
|
|
45
|
+
d: string;
|
|
46
|
+
};
|
|
47
|
+
export interface PartSpec {
|
|
48
|
+
geom: PartGeom;
|
|
49
|
+
/** Text glyph centred on the part. Omitted for parts the brand leaves blank. */
|
|
50
|
+
glyph?: string;
|
|
51
|
+
/** Vector glyph instead of text — PlayStation's ✕ ◯ ▢ △. Drawn centred on the part. */
|
|
52
|
+
glyphPath?: string;
|
|
53
|
+
/** Accessible / tooltip name, e.g. "A button (bottom)". */
|
|
54
|
+
label: string;
|
|
55
|
+
}
|
|
56
|
+
export interface StickSpec {
|
|
57
|
+
cx: number;
|
|
58
|
+
cy: number;
|
|
59
|
+
/** Recess radius and thumb-cap radius, in viewBox units. */
|
|
60
|
+
well: number;
|
|
61
|
+
cap: number;
|
|
62
|
+
/** Cap travel at full deflection, viewBox units. */
|
|
63
|
+
travel: number;
|
|
64
|
+
label: string;
|
|
65
|
+
}
|
|
66
|
+
export interface TriggerSpec {
|
|
67
|
+
geom: PartGeom;
|
|
68
|
+
/**
|
|
69
|
+
* Travel meter, filled bottom-up as the value goes 0 → 1.
|
|
70
|
+
*
|
|
71
|
+
* The platform drives this from real analog trigger travel. In *this* protocol `LT`/`RT` are plain
|
|
72
|
+
* clicks — `buttons.ts` says so explicitly, and protocol 27 removed the trigger axes — so the SDK
|
|
73
|
+
* drives it `0`/`1` from button state. The rect stays because a filled meter still reads as "held",
|
|
74
|
+
* and keeping the geometry identical is what lets the two sides share these tables.
|
|
75
|
+
*/
|
|
76
|
+
meter: {
|
|
77
|
+
x: number;
|
|
78
|
+
y: number;
|
|
79
|
+
w: number;
|
|
80
|
+
h: number;
|
|
81
|
+
rx?: number;
|
|
82
|
+
};
|
|
83
|
+
glyph: string;
|
|
84
|
+
label: string;
|
|
85
|
+
}
|
|
86
|
+
export interface PadLayout {
|
|
87
|
+
brand: PadBrandKey;
|
|
88
|
+
/** Used in the drawing's accessible name, e.g. "Xbox-style controller". */
|
|
89
|
+
displayName: string;
|
|
90
|
+
/** SHARED across every layout so host CSS never varies and swapping brands can't reflow. */
|
|
91
|
+
viewBox: readonly [number, number, number, number];
|
|
92
|
+
body: {
|
|
93
|
+
d: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Everything below the face buttons is OPTIONAL, because not every controller has it and drawing a
|
|
97
|
+
* control the rider cannot press is worse than drawing nothing. The Zwift family is the case that
|
|
98
|
+
* forced this: it reports a d-pad and the four face buttons and *nothing else* — no sticks, no
|
|
99
|
+
* triggers, no stick clicks, no system buttons (see `layouts/zwift.ts`). The renderer skips whatever
|
|
100
|
+
* is absent, and `PadDriver` no-ops on it.
|
|
101
|
+
*/
|
|
102
|
+
dpad?: Record<"up" | "down" | "left" | "right", PartSpec>;
|
|
103
|
+
face: Record<"top" | "right" | "bottom" | "left", PartSpec>;
|
|
104
|
+
bumpers?: {
|
|
105
|
+
l: PartSpec;
|
|
106
|
+
r: PartSpec;
|
|
107
|
+
};
|
|
108
|
+
triggers?: {
|
|
109
|
+
l: TriggerSpec;
|
|
110
|
+
r: TriggerSpec;
|
|
111
|
+
};
|
|
112
|
+
sticks?: {
|
|
113
|
+
l: StickSpec;
|
|
114
|
+
r: StickSpec;
|
|
115
|
+
};
|
|
116
|
+
system?: {
|
|
117
|
+
start?: PartSpec;
|
|
118
|
+
select?: PartSpec;
|
|
119
|
+
home?: PartSpec;
|
|
120
|
+
};
|
|
121
|
+
/** Non-interactive brand furniture (DualSense touchpad, Switch capture bar, Zwift handlebar). */
|
|
122
|
+
decor?: readonly {
|
|
123
|
+
geom: PartGeom;
|
|
124
|
+
opacity?: number;
|
|
125
|
+
}[];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Shared canvas for all layouts: `[minX, minY, width, height]`.
|
|
129
|
+
*
|
|
130
|
+
* The origin starts at **y −20**, above the shell's top edge, purely to give the shoulder row room.
|
|
131
|
+
* Triggers and bumpers are the only parts drawn off the body — stacked flush they read as one
|
|
132
|
+
* four-line block, so the negative band lets each sit clear of the other and of the shell, the way
|
|
133
|
+
* they're separated on the hardware.
|
|
134
|
+
*/
|
|
135
|
+
export declare const PAD_VIEWBOX: readonly [number, number, number, number];
|
|
136
|
+
/**
|
|
137
|
+
* The gamepad silhouette, shared by every gamepad-shaped layout.
|
|
138
|
+
*
|
|
139
|
+
* One body, not four: the meaningful difference between brands is where the CONTROLS sit (Xbox offsets
|
|
140
|
+
* its sticks diagonally, DualSense puts both low and symmetric, Switch mirrors Xbox), not the outline
|
|
141
|
+
* — and separately hand-tuned outlines are separate chances for a control to end up drawn outside the
|
|
142
|
+
* shell. The two-piece devices (Joy-Con, Zwift) carry their own body path because their shape, not
|
|
143
|
+
* just their control placement, is genuinely different.
|
|
144
|
+
*
|
|
145
|
+
* Its usable interior, which every control must stay inside:
|
|
146
|
+
* top edge x 58 → 182 at y 22 — bumpers must fit within THIS, not the wider waist below
|
|
147
|
+
* waist x 28 → 212 around y 54 (where the face diamond and sticks sit)
|
|
148
|
+
* central mass down to y 98; below that only the grips, under x 30–80 and x 160–210
|
|
149
|
+
* Triggers are the one deliberate exception: they sit ABOVE the top edge, as on the hardware.
|
|
150
|
+
*/
|
|
151
|
+
export declare const PAD_BODY_PATH: string;
|
|
152
|
+
/** Centre of a part, for placing its glyph and for anchoring a callout line at it. */
|
|
153
|
+
export declare function partCentre(g: PartGeom): {
|
|
154
|
+
x: number;
|
|
155
|
+
y: number;
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pad layout descriptors — the DATA behind the controller drawing.
|
|
3
|
+
*
|
|
4
|
+
* One renderer ({@link buildPadSvg}) draws every controller from one of these. The alternative, a
|
|
5
|
+
* hand-drawn SVG per brand, would duplicate the `data-part` contract, the press/idle CSS, the stick
|
|
6
|
+
* group structure and the per-part titles once per brand — and every new part would have to be added
|
|
7
|
+
* everywhere.
|
|
8
|
+
*
|
|
9
|
+
* **Parts are keyed by POSITION, never by letter.** That is load-bearing, and it is the whole reason a
|
|
10
|
+
* game can hand us one action list and get a correct drawing on every controller: the canonical
|
|
11
|
+
* {@link ButtonName} vocabulary is positional (`DIAMOND_DOWN` *is* "the bottom button" on every
|
|
12
|
+
* device), but a Switch Pro prints `A` on the right and `B` on the bottom — the mirror of an Xbox pad.
|
|
13
|
+
* Keying by position lets the renderer stay brand-agnostic while every letter comes from
|
|
14
|
+
* `buttonLabel()` in `protocol/glyphs.ts`, the only module allowed to contain one.
|
|
15
|
+
*
|
|
16
|
+
* Ported from the platform shell's `pad-layouts/`, which is where this geometry was first tuned. The
|
|
17
|
+
* coordinate tables are deliberately unchanged so the two stay interchangeable — see the note on
|
|
18
|
+
* {@link PAD_BODY_PATH} about the usable interior.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Shared canvas for all layouts: `[minX, minY, width, height]`.
|
|
22
|
+
*
|
|
23
|
+
* The origin starts at **y −20**, above the shell's top edge, purely to give the shoulder row room.
|
|
24
|
+
* Triggers and bumpers are the only parts drawn off the body — stacked flush they read as one
|
|
25
|
+
* four-line block, so the negative band lets each sit clear of the other and of the shell, the way
|
|
26
|
+
* they're separated on the hardware.
|
|
27
|
+
*/
|
|
28
|
+
export const PAD_VIEWBOX = [0, -20, 240, 180];
|
|
29
|
+
/**
|
|
30
|
+
* The gamepad silhouette, shared by every gamepad-shaped layout.
|
|
31
|
+
*
|
|
32
|
+
* One body, not four: the meaningful difference between brands is where the CONTROLS sit (Xbox offsets
|
|
33
|
+
* its sticks diagonally, DualSense puts both low and symmetric, Switch mirrors Xbox), not the outline
|
|
34
|
+
* — and separately hand-tuned outlines are separate chances for a control to end up drawn outside the
|
|
35
|
+
* shell. The two-piece devices (Joy-Con, Zwift) carry their own body path because their shape, not
|
|
36
|
+
* just their control placement, is genuinely different.
|
|
37
|
+
*
|
|
38
|
+
* Its usable interior, which every control must stay inside:
|
|
39
|
+
* top edge x 58 → 182 at y 22 — bumpers must fit within THIS, not the wider waist below
|
|
40
|
+
* waist x 28 → 212 around y 54 (where the face diamond and sticks sit)
|
|
41
|
+
* central mass down to y 98; below that only the grips, under x 30–80 and x 160–210
|
|
42
|
+
* Triggers are the one deliberate exception: they sit ABOVE the top edge, as on the hardware.
|
|
43
|
+
*/
|
|
44
|
+
export const PAD_BODY_PATH = "M 58 22 L 182 22 C 200 22 210 34 212 52 L 220 94 C 226 122 214 146 192 146 " +
|
|
45
|
+
"C 178 146 167 137 162 124 L 156 110 C 152 102 145 98 137 98 L 103 98 " +
|
|
46
|
+
"C 95 98 88 102 84 110 L 78 124 C 73 137 62 146 48 146 C 26 146 14 122 20 94 " +
|
|
47
|
+
"L 28 52 C 30 34 40 22 58 22 Z";
|
|
48
|
+
/** Centre of a part, for placing its glyph and for anchoring a callout line at it. */
|
|
49
|
+
export function partCentre(g) {
|
|
50
|
+
switch (g.kind) {
|
|
51
|
+
case "circle":
|
|
52
|
+
return { x: g.cx, y: g.cy };
|
|
53
|
+
case "rect":
|
|
54
|
+
return { x: g.x + g.w / 2, y: g.y + g.h / 2 };
|
|
55
|
+
case "path":
|
|
56
|
+
// Paths carry their own glyph placement; none do today. Callers that need a real centre for a
|
|
57
|
+
// path part should measure the rendered node instead (the map view does exactly that).
|
|
58
|
+
return { x: 0, y: 0 };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ui/controller/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsFH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAA8C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,6EAA6E;IAC7E,uEAAuE;IACvE,8EAA8E;IAC9E,+BAA+B,CAAC;AAElC,sFAAsF;AACtF,MAAM,UAAU,UAAU,CAAC,CAAW;IACpC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM;YACT,8FAA8F;YAC9F,uFAAuF;YACvF,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
* overlay, and the pre-assembled bar that composes both — so every game with a heat mechanic shares
|
|
10
10
|
* one look and can take just the pieces it needs (a game drawing its own bar takes only the cues).
|
|
11
11
|
*
|
|
12
|
+
* …and the **controller family** (`./controller/`), for showing a rider their whole control scheme:
|
|
13
|
+
* `mountControllerPad` draws the controller in their hands and lights it as they press;
|
|
14
|
+
* `mountControllerMap` surrounds it with action callouts joined by lines to their buttons; and
|
|
15
|
+
* `mountComboDemo` animates the combination one action needs. A game describes its controls once as a
|
|
16
|
+
* declarative `ControlAction[]` and the SDK owns the rest — which physical button that is on the
|
|
17
|
+
* rider's pad, the letter printed on it, the layout, and the animation.
|
|
18
|
+
*
|
|
12
19
|
* Self-contained, like `@rydr/game-sdk/three`'s perf-overlay: it injects its own scoped `.rydr-ui-*`
|
|
13
20
|
* CSS once into `<head>`, depends on no global styles or CSS variables, and pulls in no three.js — so
|
|
14
21
|
* a game gets the look just by constructing a component. Wire any keycap to real input by passing the
|
|
@@ -26,6 +33,7 @@
|
|
|
26
33
|
* ──────────────────────────────────────────────────────────────────────────────────────────────
|
|
27
34
|
*/
|
|
28
35
|
export * from "./keycap.js";
|
|
36
|
+
export * from "./controller/index.js";
|
|
29
37
|
export * from "./card.js";
|
|
30
38
|
export * from "./action-card.js";
|
|
31
39
|
export * from "./action-diamond.js";
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
* overlay, and the pre-assembled bar that composes both — so every game with a heat mechanic shares
|
|
10
10
|
* one look and can take just the pieces it needs (a game drawing its own bar takes only the cues).
|
|
11
11
|
*
|
|
12
|
+
* …and the **controller family** (`./controller/`), for showing a rider their whole control scheme:
|
|
13
|
+
* `mountControllerPad` draws the controller in their hands and lights it as they press;
|
|
14
|
+
* `mountControllerMap` surrounds it with action callouts joined by lines to their buttons; and
|
|
15
|
+
* `mountComboDemo` animates the combination one action needs. A game describes its controls once as a
|
|
16
|
+
* declarative `ControlAction[]` and the SDK owns the rest — which physical button that is on the
|
|
17
|
+
* rider's pad, the letter printed on it, the layout, and the animation.
|
|
18
|
+
*
|
|
12
19
|
* Self-contained, like `@rydr/game-sdk/three`'s perf-overlay: it injects its own scoped `.rydr-ui-*`
|
|
13
20
|
* CSS once into `<head>`, depends on no global styles or CSS variables, and pulls in no three.js — so
|
|
14
21
|
* a game gets the look just by constructing a component. Wire any keycap to real input by passing the
|
|
@@ -26,6 +33,7 @@
|
|
|
26
33
|
* ──────────────────────────────────────────────────────────────────────────────────────────────
|
|
27
34
|
*/
|
|
28
35
|
export * from "./keycap.js";
|
|
36
|
+
export * from "./controller/index.js";
|
|
29
37
|
export * from "./card.js";
|
|
30
38
|
export * from "./action-card.js";
|
|
31
39
|
export * from "./action-diamond.js";
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
package/dist/ui/keycap.d.ts
CHANGED
|
@@ -71,6 +71,20 @@ export interface Keycap {
|
|
|
71
71
|
setCooldown(frac: number | null, label?: string | number): void;
|
|
72
72
|
/** Per-button hue on/off. */
|
|
73
73
|
setColored(on: boolean): void;
|
|
74
|
+
/**
|
|
75
|
+
* Override the pip's colour outright. `null` restores whatever {@link setColored} would give.
|
|
76
|
+
*
|
|
77
|
+
* The pip's face and its 3D shadow are both derived from one `--c` custom property, set inline — so a
|
|
78
|
+
* caller that needs a colour outside the per-role palette has to go through here rather than a
|
|
79
|
+
* stylesheet rule, which an inline value would beat. Used by the guided-lesson states in
|
|
80
|
+
* `controller/input-chip.ts` (whitish "do this", accent "doing it", green "done").
|
|
81
|
+
*
|
|
82
|
+
* **Optional deliberately.** `createKeycap` always provides it, but consumers WRAP this interface —
|
|
83
|
+
* the shell's `shellKeycaps` re-letters keycaps by rebuilding them behind a handle of this shape —
|
|
84
|
+
* and making it required would break every such wrapper at compile time for a method they have no
|
|
85
|
+
* need of. Callers must therefore treat it as absent-safe.
|
|
86
|
+
*/
|
|
87
|
+
setAccent?(color: string | null): void;
|
|
74
88
|
/** Disabled = the action is unavailable: flat grey, inert (no pulse/press), letter dimmed. */
|
|
75
89
|
setDisabled(on: boolean): void;
|
|
76
90
|
/** Hide/show the keycap. */
|
package/dist/ui/keycap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycap.d.ts","sourceRoot":"","sources":["../../src/ui/keycap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtF,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;AAC7F,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5C,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/E;AAoBD,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,4CAA4C;AAC5C,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,EAAE,EAAE,WAAW,CAAC;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChE,6BAA6B;IAC7B,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,8FAA8F;IAC9F,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"keycap.d.ts","sourceRoot":"","sources":["../../src/ui/keycap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtF,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;AAC7F,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5C,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/E;AAoBD,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,4CAA4C;AAC5C,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,EAAE,EAAE,WAAW,CAAC;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChE,6BAA6B;IAC7B,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACvC,8FAA8F;IAC9F,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AA4KD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAEpF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAwBtF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAEjF"}
|
package/dist/ui/keycap.js
CHANGED
|
@@ -181,6 +181,7 @@ function build(activePos, pressName, face, opts, accent) {
|
|
|
181
181
|
setPressed,
|
|
182
182
|
setAnimated: (on) => activePip.classList.toggle("anim", on),
|
|
183
183
|
setColored: (on) => activePip.style.setProperty("--c", accent ?? (on ? COLOR[activePos] : NEUTRAL_ACTIVE)),
|
|
184
|
+
setAccent: (color) => activePip.style.setProperty("--c", color ?? accent ?? (colored ? COLOR[activePos] : NEUTRAL_ACTIVE)),
|
|
184
185
|
setDisabled: (on) => activePip.classList.toggle("disabled", on),
|
|
185
186
|
setVisible: (on) => { el.style.visibility = on ? "" : "hidden"; },
|
|
186
187
|
setCooldown: (frac, label) => {
|
|
@@ -239,6 +240,10 @@ export function createLabelKeycap(button, opts = {}) {
|
|
|
239
240
|
setPressed,
|
|
240
241
|
setAnimated: (on) => el.classList.toggle("anim", on),
|
|
241
242
|
setColored: () => { }, // a system button has no role hue to turn on or off
|
|
243
|
+
// Same inline `--c` override the pips take, so a guided lesson can recolour this shape too (whitish
|
|
244
|
+
// "do this", accent "doing it", green "done"). Without it, delegating the controller kit's shoulder
|
|
245
|
+
// and OPTIONS chips to this factory would have cost them their lesson states.
|
|
246
|
+
setAccent: (color) => el.style.setProperty("--c", color ?? DPAD_TONE),
|
|
242
247
|
setDisabled: (on) => el.classList.toggle("disabled", on),
|
|
243
248
|
setVisible: (on) => { el.style.visibility = on ? "" : "hidden"; },
|
|
244
249
|
setCooldown: () => { }, // no cooldown affordance on this shape (see the doc above)
|
package/dist/ui/keycap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycap.js","sourceRoot":"","sources":["../../src/ui/keycap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmBxC;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,IAAmB;IAC1C,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAI,IAAI,CAAC,KAA0E,EAAE,QAAQ,EAAE,OAAO,CAAC;IACrH,OAAO,QAAQ,EAAE,QAAQ,IAAI,iBAAiB,CAAC;AACjD,CAAC;
|
|
1
|
+
{"version":3,"file":"keycap.js","sourceRoot":"","sources":["../../src/ui/keycap.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
* live demos (cooldown rings, the typewriter dialogue). Self-contained: it injects its own `gw-*`
|
|
5
5
|
* chrome CSS. Not exported from the package — internal to the showcase entry.
|
|
6
6
|
*/
|
|
7
|
-
import type { ButtonName, ButtonEdge } from "../../protocol/index.js";
|
|
7
|
+
import type { AxisName, ButtonName, ButtonEdge, GlyphSet } from "../../protocol/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* The thin slice of a `PlatformSession` the showcase consumes — so a host can pass its real session
|
|
10
10
|
* (live watts + real button reflection) and a `PlatformSession` satisfies this structurally, while a
|
|
11
11
|
* standalone dev page can pass a tiny keyboard-driven stand-in. Omit it and the catalog renders static.
|
|
12
|
+
*
|
|
13
|
+
* Everything past `onButton`/`hardware`/`identity` is optional, so an existing stand-in keeps working —
|
|
14
|
+
* it just drives less of the catalog. `axis` is what brings the controller pad's sticks to life, and
|
|
15
|
+
* `hardware.subscribe` + `glyphSet` are what let the pad re-letter itself when a controller is swapped.
|
|
12
16
|
*/
|
|
13
17
|
export interface ShowcaseSession {
|
|
14
18
|
onButton(cb: (e: {
|
|
@@ -18,11 +22,19 @@ export interface ShowcaseSession {
|
|
|
18
22
|
hardware: {
|
|
19
23
|
current: {
|
|
20
24
|
power: number;
|
|
25
|
+
glyphSet?: GlyphSet;
|
|
21
26
|
};
|
|
27
|
+
subscribe?(cb: (snapshot: {
|
|
28
|
+
power: number;
|
|
29
|
+
glyphSet?: GlyphSet;
|
|
30
|
+
}) => void): () => void;
|
|
22
31
|
};
|
|
23
32
|
identity: {
|
|
24
33
|
ftp: number;
|
|
25
34
|
};
|
|
35
|
+
/** Analog stick positions, −1..1 (right = +1, up = +1). */
|
|
36
|
+
axis?(name: AxisName): number;
|
|
37
|
+
buttonsDown?(): ButtonName[];
|
|
26
38
|
}
|
|
27
39
|
/** Append a classed element (optionally with innerHTML) to `parent` and return it. */
|
|
28
40
|
export declare function el(parent: HTMLElement, tag: string, className: string, html?: string): HTMLElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/gallery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/gallery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC9E,QAAQ,EAAE;QACR,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;SAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KACxF,CAAC;IACF,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,2DAA2D;IAC3D,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC;CAC9B;AAED,sFAAsF;AACtF,wBAAgB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAMlG;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,wBAAwB,CAAA;CAAE,CAYzH;AAED,MAAM,WAAW,cAAc;IAC7B,sGAAsG;IACtG,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,oFAAoF;AACpF,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,IAAI,CAAK;gBAEL,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAuB3G,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAIhD,GAAG,CAAC,IAAI,GAAE,cAAmB,GAAG,IAAI;IAYpC,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.js","sourceRoot":"","sources":["../../../src/ui/showcase/gallery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"gallery.js","sourceRoot":"","sources":["../../../src/ui/showcase/gallery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2CH,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE7E,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AA6DpD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAunB3F"}
|