@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.
Files changed (99) hide show
  1. package/README.md +19 -0
  2. package/dist/protocol/glyphs.d.ts +7 -0
  3. package/dist/protocol/glyphs.d.ts.map +1 -1
  4. package/dist/protocol/glyphs.js +26 -0
  5. package/dist/protocol/glyphs.js.map +1 -1
  6. package/dist/protocol/version.d.ts +1 -1
  7. package/dist/protocol/version.js +1 -1
  8. package/dist/three/perf-overlay.d.ts +52 -2
  9. package/dist/three/perf-overlay.d.ts.map +1 -1
  10. package/dist/three/perf-overlay.js +188 -3
  11. package/dist/three/perf-overlay.js.map +1 -1
  12. package/dist/ui/README.md +119 -0
  13. package/dist/ui/controller/combo-demo.d.ts +74 -0
  14. package/dist/ui/controller/combo-demo.d.ts.map +1 -0
  15. package/dist/ui/controller/combo-demo.js +295 -0
  16. package/dist/ui/controller/combo-demo.js.map +1 -0
  17. package/dist/ui/controller/combo-strip.d.ts +36 -0
  18. package/dist/ui/controller/combo-strip.d.ts.map +1 -0
  19. package/dist/ui/controller/combo-strip.js +66 -0
  20. package/dist/ui/controller/combo-strip.js.map +1 -0
  21. package/dist/ui/controller/control-trainer.d.ts +132 -0
  22. package/dist/ui/controller/control-trainer.d.ts.map +1 -0
  23. package/dist/ui/controller/control-trainer.js +570 -0
  24. package/dist/ui/controller/control-trainer.js.map +1 -0
  25. package/dist/ui/controller/controller-map.d.ts +82 -0
  26. package/dist/ui/controller/controller-map.d.ts.map +1 -0
  27. package/dist/ui/controller/controller-map.js +291 -0
  28. package/dist/ui/controller/controller-map.js.map +1 -0
  29. package/dist/ui/controller/controller-pad.d.ts +122 -0
  30. package/dist/ui/controller/controller-pad.d.ts.map +1 -0
  31. package/dist/ui/controller/controller-pad.js +200 -0
  32. package/dist/ui/controller/controller-pad.js.map +1 -0
  33. package/dist/ui/controller/index.d.ts +26 -0
  34. package/dist/ui/controller/index.d.ts.map +1 -0
  35. package/dist/ui/controller/index.js +26 -0
  36. package/dist/ui/controller/index.js.map +1 -0
  37. package/dist/ui/controller/input-chip.d.ts +100 -0
  38. package/dist/ui/controller/input-chip.d.ts.map +1 -0
  39. package/dist/ui/controller/input-chip.js +322 -0
  40. package/dist/ui/controller/input-chip.js.map +1 -0
  41. package/dist/ui/controller/layouts/dualsense.d.ts +12 -0
  42. package/dist/ui/controller/layouts/dualsense.d.ts.map +1 -0
  43. package/dist/ui/controller/layouts/dualsense.js +64 -0
  44. package/dist/ui/controller/layouts/dualsense.js.map +1 -0
  45. package/dist/ui/controller/layouts/index.d.ts +20 -0
  46. package/dist/ui/controller/layouts/index.d.ts.map +1 -0
  47. package/dist/ui/controller/layouts/index.js +34 -0
  48. package/dist/ui/controller/layouts/index.js.map +1 -0
  49. package/dist/ui/controller/layouts/joycon.d.ts +21 -0
  50. package/dist/ui/controller/layouts/joycon.d.ts.map +1 -0
  51. package/dist/ui/controller/layouts/joycon.js +76 -0
  52. package/dist/ui/controller/layouts/joycon.js.map +1 -0
  53. package/dist/ui/controller/layouts/switch-pro.d.ts +12 -0
  54. package/dist/ui/controller/layouts/switch-pro.d.ts.map +1 -0
  55. package/dist/ui/controller/layouts/switch-pro.js +60 -0
  56. package/dist/ui/controller/layouts/switch-pro.js.map +1 -0
  57. package/dist/ui/controller/layouts/xbox.d.ts +11 -0
  58. package/dist/ui/controller/layouts/xbox.d.ts.map +1 -0
  59. package/dist/ui/controller/layouts/xbox.js +59 -0
  60. package/dist/ui/controller/layouts/xbox.js.map +1 -0
  61. package/dist/ui/controller/layouts/zwift.d.ts +27 -0
  62. package/dist/ui/controller/layouts/zwift.d.ts.map +1 -0
  63. package/dist/ui/controller/layouts/zwift.js +62 -0
  64. package/dist/ui/controller/layouts/zwift.js.map +1 -0
  65. package/dist/ui/controller/pad-svg.d.ts +105 -0
  66. package/dist/ui/controller/pad-svg.d.ts.map +1 -0
  67. package/dist/ui/controller/pad-svg.js +289 -0
  68. package/dist/ui/controller/pad-svg.js.map +1 -0
  69. package/dist/ui/controller/parts-map.d.ts +96 -0
  70. package/dist/ui/controller/parts-map.d.ts.map +1 -0
  71. package/dist/ui/controller/parts-map.js +187 -0
  72. package/dist/ui/controller/parts-map.js.map +1 -0
  73. package/dist/ui/controller/styles.d.ts +19 -0
  74. package/dist/ui/controller/styles.d.ts.map +1 -0
  75. package/dist/ui/controller/styles.js +364 -0
  76. package/dist/ui/controller/styles.js.map +1 -0
  77. package/dist/ui/controller/tokens.d.ts +106 -0
  78. package/dist/ui/controller/tokens.d.ts.map +1 -0
  79. package/dist/ui/controller/tokens.js +50 -0
  80. package/dist/ui/controller/tokens.js.map +1 -0
  81. package/dist/ui/controller/types.d.ts +157 -0
  82. package/dist/ui/controller/types.d.ts.map +1 -0
  83. package/dist/ui/controller/types.js +61 -0
  84. package/dist/ui/controller/types.js.map +1 -0
  85. package/dist/ui/index.d.ts +8 -0
  86. package/dist/ui/index.d.ts.map +1 -1
  87. package/dist/ui/index.js +8 -0
  88. package/dist/ui/index.js.map +1 -1
  89. package/dist/ui/keycap.d.ts +14 -0
  90. package/dist/ui/keycap.d.ts.map +1 -1
  91. package/dist/ui/keycap.js +5 -0
  92. package/dist/ui/keycap.js.map +1 -1
  93. package/dist/ui/showcase/gallery.d.ts +13 -1
  94. package/dist/ui/showcase/gallery.d.ts.map +1 -1
  95. package/dist/ui/showcase/gallery.js.map +1 -1
  96. package/dist/ui/showcase/index.d.ts.map +1 -1
  97. package/dist/ui/showcase/index.js +257 -1
  98. package/dist/ui/showcase/index.js.map +1 -1
  99. 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"}
@@ -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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,aAAa,CAAC;AAC5B,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"}
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,aAAa,CAAC;AAC5B,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"}
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"}
@@ -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. */
@@ -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;AA0KD;;;;;;;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,CAoBtF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAEjF"}
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)
@@ -1 +1 @@
1
- {"version":3,"file":"keycap.js","sourceRoot":"","sources":["../../src/ui/keycap.ts"],"names":[],"mappings":"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"}
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;AAEtE;;;;GAIG;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;QAAE,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzC,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;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
+ {"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":"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"}
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;AA6BH,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE7E,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAoBpD,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,CA2Z3F"}
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"}