jaml-ui 8.0.0 → 9.0.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.
@@ -0,0 +1,256 @@
1
+ /** Top-level document keys (JamlConfig properties). */
2
+ export declare const ROOT_KEYS: readonly string[];
3
+ /** Clause key (the YAML mapping key, e.g. `legendaryJoker`) -> the clause class it loads. */
4
+ export declare const DISCRIMINATORS: {
5
+ readonly joker: {
6
+ readonly clause: "JokerClause";
7
+ readonly valueProperty: "jokers";
8
+ readonly valueIsList: true;
9
+ };
10
+ readonly jokers: {
11
+ readonly clause: "JokerClause";
12
+ readonly valueProperty: "jokers";
13
+ readonly valueIsList: true;
14
+ };
15
+ readonly commonJoker: {
16
+ readonly clause: "CommonJokerClause";
17
+ readonly valueProperty: "jokers";
18
+ readonly valueIsList: true;
19
+ };
20
+ readonly commonJokers: {
21
+ readonly clause: "CommonJokerClause";
22
+ readonly valueProperty: "jokers";
23
+ readonly valueIsList: true;
24
+ };
25
+ readonly uncommonJoker: {
26
+ readonly clause: "UncommonJokerClause";
27
+ readonly valueProperty: "jokers";
28
+ readonly valueIsList: true;
29
+ };
30
+ readonly uncommonJokers: {
31
+ readonly clause: "UncommonJokerClause";
32
+ readonly valueProperty: "jokers";
33
+ readonly valueIsList: true;
34
+ };
35
+ readonly rareJoker: {
36
+ readonly clause: "RareJokerClause";
37
+ readonly valueProperty: "jokers";
38
+ readonly valueIsList: true;
39
+ };
40
+ readonly rareJokers: {
41
+ readonly clause: "RareJokerClause";
42
+ readonly valueProperty: "jokers";
43
+ readonly valueIsList: true;
44
+ };
45
+ readonly legendaryJoker: {
46
+ readonly clause: "LegendaryJokerClause";
47
+ readonly valueProperty: "jokers";
48
+ readonly valueIsList: true;
49
+ };
50
+ readonly legendaryJokers: {
51
+ readonly clause: "LegendaryJokerClause";
52
+ readonly valueProperty: "jokers";
53
+ readonly valueIsList: true;
54
+ };
55
+ readonly planetCard: {
56
+ readonly clause: "PlanetCardClause";
57
+ readonly valueProperty: "planets";
58
+ readonly valueIsList: true;
59
+ };
60
+ readonly planetCards: {
61
+ readonly clause: "PlanetCardClause";
62
+ readonly valueProperty: "planets";
63
+ readonly valueIsList: true;
64
+ };
65
+ readonly spectralCard: {
66
+ readonly clause: "SpectralCardClause";
67
+ readonly valueProperty: "spectrals";
68
+ readonly valueIsList: true;
69
+ };
70
+ readonly spectralCards: {
71
+ readonly clause: "SpectralCardClause";
72
+ readonly valueProperty: "spectrals";
73
+ readonly valueIsList: true;
74
+ };
75
+ readonly tarotCard: {
76
+ readonly clause: "TarotCardClause";
77
+ readonly valueProperty: "tarots";
78
+ readonly valueIsList: true;
79
+ };
80
+ readonly tarotCards: {
81
+ readonly clause: "TarotCardClause";
82
+ readonly valueProperty: "tarots";
83
+ readonly valueIsList: true;
84
+ };
85
+ readonly standardCard: {
86
+ readonly clause: "StandardCardClause";
87
+ readonly valueProperty: "label";
88
+ readonly valueIsList: false;
89
+ };
90
+ readonly standardCards: {
91
+ readonly clause: "StandardCardClause";
92
+ readonly valueProperty: "label";
93
+ readonly valueIsList: false;
94
+ };
95
+ readonly erraticRank: {
96
+ readonly clause: "ErraticRankClause";
97
+ readonly valueProperty: "rank";
98
+ readonly valueIsList: false;
99
+ };
100
+ readonly erraticRanks: {
101
+ readonly clause: "ErraticRankClause";
102
+ readonly valueProperty: "rank";
103
+ readonly valueIsList: false;
104
+ };
105
+ readonly erraticSuit: {
106
+ readonly clause: "ErraticSuitClause";
107
+ readonly valueProperty: "suit";
108
+ readonly valueIsList: false;
109
+ };
110
+ readonly erraticSuits: {
111
+ readonly clause: "ErraticSuitClause";
112
+ readonly valueProperty: "suit";
113
+ readonly valueIsList: false;
114
+ };
115
+ readonly voucher: {
116
+ readonly clause: "VoucherClause";
117
+ readonly valueProperty: "vouchers";
118
+ readonly valueIsList: true;
119
+ };
120
+ readonly vouchers: {
121
+ readonly clause: "VoucherClause";
122
+ readonly valueProperty: "vouchers";
123
+ readonly valueIsList: true;
124
+ };
125
+ readonly tag: {
126
+ readonly clause: "TagClause";
127
+ readonly valueProperty: "tags";
128
+ readonly valueIsList: true;
129
+ };
130
+ readonly tags: {
131
+ readonly clause: "TagClause";
132
+ readonly valueProperty: "tags";
133
+ readonly valueIsList: true;
134
+ };
135
+ readonly smallBlindTag: {
136
+ readonly clause: "SmallBlindTagClause";
137
+ readonly valueProperty: "tags";
138
+ readonly valueIsList: true;
139
+ };
140
+ readonly bigBlindTag: {
141
+ readonly clause: "BigBlindTagClause";
142
+ readonly valueProperty: "tags";
143
+ readonly valueIsList: true;
144
+ };
145
+ readonly boss: {
146
+ readonly clause: "BossClause";
147
+ readonly valueProperty: "bosses";
148
+ readonly valueIsList: true;
149
+ };
150
+ readonly bosses: {
151
+ readonly clause: "BossClause";
152
+ readonly valueProperty: "bosses";
153
+ readonly valueIsList: true;
154
+ };
155
+ readonly boosterPack: {
156
+ readonly clause: "BoosterPackClause";
157
+ readonly valueProperty: "packs";
158
+ readonly valueIsList: true;
159
+ };
160
+ readonly boosterPacks: {
161
+ readonly clause: "BoosterPackClause";
162
+ readonly valueProperty: "packs";
163
+ readonly valueIsList: true;
164
+ };
165
+ readonly pokerHand: {
166
+ readonly clause: "PokerHandClause";
167
+ readonly valueProperty: "pokerHands";
168
+ readonly valueIsList: true;
169
+ };
170
+ readonly pokerHands: {
171
+ readonly clause: "PokerHandClause";
172
+ readonly valueProperty: "pokerHands";
173
+ readonly valueIsList: true;
174
+ };
175
+ readonly startingDraw: {
176
+ readonly clause: "StartingDrawClause";
177
+ readonly valueProperty: "label";
178
+ readonly valueIsList: false;
179
+ };
180
+ readonly luckyMoney: {
181
+ readonly clause: "LuckyMoneyClause";
182
+ readonly valueProperty: "rolls";
183
+ readonly valueIsList: true;
184
+ };
185
+ readonly luckyMult: {
186
+ readonly clause: "LuckyMultClause";
187
+ readonly valueProperty: "rolls";
188
+ readonly valueIsList: true;
189
+ };
190
+ readonly misprintMult: {
191
+ readonly clause: "MisprintMultClause";
192
+ readonly valueProperty: "rolls";
193
+ readonly valueIsList: true;
194
+ };
195
+ readonly wheelOfFortune: {
196
+ readonly clause: "WheelOfFortuneClause";
197
+ readonly valueProperty: "rolls";
198
+ readonly valueIsList: true;
199
+ };
200
+ readonly wheelStaysFlipped: {
201
+ readonly clause: "WheelStaysFlippedClause";
202
+ readonly valueProperty: "rolls";
203
+ readonly valueIsList: true;
204
+ };
205
+ readonly glassDestroy: {
206
+ readonly clause: "GlassDestroyClause";
207
+ readonly valueProperty: "rolls";
208
+ readonly valueIsList: true;
209
+ };
210
+ readonly cavendishExtinct: {
211
+ readonly clause: "CavendishExtinctClause";
212
+ readonly valueProperty: "rolls";
213
+ readonly valueIsList: true;
214
+ };
215
+ readonly grosMichelExtinct: {
216
+ readonly clause: "GrosMichelExtinctClause";
217
+ readonly valueProperty: "rolls";
218
+ readonly valueIsList: true;
219
+ };
220
+ readonly spaceLevelup: {
221
+ readonly clause: "SpaceLevelupClause";
222
+ readonly valueProperty: "rolls";
223
+ readonly valueIsList: true;
224
+ };
225
+ readonly businessPayout: {
226
+ readonly clause: "BusinessPayoutClause";
227
+ readonly valueProperty: "rolls";
228
+ readonly valueIsList: true;
229
+ };
230
+ readonly parkingPayout: {
231
+ readonly clause: "ParkingPayoutClause";
232
+ readonly valueProperty: "rolls";
233
+ readonly valueIsList: true;
234
+ };
235
+ readonly bloodstoneTrigger: {
236
+ readonly clause: "BloodstoneTriggerClause";
237
+ readonly valueProperty: "rolls";
238
+ readonly valueIsList: true;
239
+ };
240
+ readonly and: {
241
+ readonly clause: "AndClause";
242
+ readonly valueProperty: "clauses";
243
+ readonly valueIsList: true;
244
+ };
245
+ readonly or: {
246
+ readonly clause: "OrClause";
247
+ readonly valueProperty: "clauses";
248
+ readonly valueIsList: true;
249
+ };
250
+ };
251
+ /** Clause class -> every key the loader maps on it (camelCase; unknown keys are rejected). */
252
+ export declare const CLAUSE_KEYS: Record<string, readonly string[]>;
253
+ /** "<ClauseClass>.<sources key>" -> every key the loader maps inside that sources block. */
254
+ export declare const SOURCE_KEYS: Record<string, readonly string[]>;
255
+ /** Enums/MotelyJokerSticker.cs — the one item enum motely-wasm does not export. */
256
+ export declare const MOTELY_JOKER_STICKER: readonly string[];
@@ -0,0 +1,8 @@
1
+ import { CompletionContext, CompletionResult } from '@codemirror/autocomplete';
2
+ /**
3
+ * Completion: after `key:` the engine's names for that key (`legendaryJoker: ` → the five
4
+ * legendaries); elsewhere every key the loader maps.
5
+ */
6
+ export declare function jamlCompletionSource(context: CompletionContext): CompletionResult | null;
7
+ /** Lint from the engine loader's verdict, pinned to the line its message names. */
8
+ export declare const jamlLinter: import('@codemirror/state').Extension;
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { JimboOuterTabTone } from './JimboOuterTab.js';
3
+ import { DockNode } from './dockTree.js';
3
4
  export interface JimboDockPane {
4
5
  label: string;
5
6
  tone: JimboOuterTabTone;
@@ -14,7 +15,13 @@ export interface JimboDockProps {
14
15
  results: string;
15
16
  jamlyze: string;
16
17
  };
18
+ /**
19
+ * Explicit starting layout — wins over the pyramid default. Pair with a
20
+ * `key` on the dock when the layout follows viewport size, so crossing the
21
+ * breakpoint rebuilds the tree instead of keeping the stale one.
22
+ */
23
+ defaultLayout?: DockNode;
17
24
  storageKey?: string;
18
25
  className?: string;
19
26
  }
20
- export declare function JimboDock({ panes, pyramid, storageKey, className, }: JimboDockProps): import('react').JSX.Element;
27
+ export declare function JimboDock({ panes, pyramid, defaultLayout, storageKey, className, }: JimboDockProps): import('react').JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ export interface JimboPagerProps {
3
+ /**
4
+ * One page per child. Children, not a render prop, so the pager can live in the
5
+ * json-render registry — a spec only carries data, never a function.
6
+ */
7
+ children?: ReactNode;
8
+ /** Controlled page. Omit it and the pager keeps its own. */
9
+ index?: number;
10
+ defaultIndex?: number;
11
+ /** Fires once a swipe or a button settles on a new page. */
12
+ onPageChange?: (index: number) => void;
13
+ /** Pixels or any CSS length. Omit to fill the parent. */
14
+ height?: number | string;
15
+ "aria-label"?: string;
16
+ }
17
+ /**
18
+ * Swipe left and right through pages. Nothing tilts, nothing flies off, nothing
19
+ * stacks behind: the page you are on simply moves with your finger and settles
20
+ * on the next one (native scroll-snap).
21
+ *
22
+ * Each page scrolls on its own vertical axis, so a page taller than the pager is
23
+ * reachable instead of clipped.
24
+ */
25
+ export declare function JimboPager({ children, index, defaultIndex, onPageChange, height, "aria-label": ariaLabel, }: JimboPagerProps): React.JSX.Element;
@@ -21,6 +21,12 @@ export declare function defaultPyramidDock(keys: {
21
21
  results: string;
22
22
  jamlyze: string;
23
23
  }): DockNode;
24
+ export declare function stackedDock(keys: {
25
+ filter: string;
26
+ search: string;
27
+ results: string;
28
+ jamlyze: string;
29
+ }): DockNode;
24
30
  export declare function dockRemove(node: DockNode, key: string): DockNode;
25
31
  export declare function dockMapGroup(node: DockNode, id: string, fn: (g: DockGroup) => DockGroup): DockNode;
26
32
  export declare function dockSplitAt(node: DockNode, id: string, key: string, side: DockEdge): DockNode;