jaml-ui 0.26.6 → 0.27.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.
@@ -12,66 +12,37 @@ var d = [
12
12
  "/motely-wasm/bin",
13
13
  "/node_modules/motely-wasm/bin",
14
14
  "/bin"
15
- ], f = {
16
- status: "idle",
17
- error: null,
18
- isFileSystemReady: l !== null,
19
- fileSystemError: u
20
- }, p = /* @__PURE__ */ new Set();
21
- function m(e) {
22
- f = {
23
- ...f,
24
- ...e
25
- };
26
- for (let e of p) e();
27
- }
28
- async function h() {
29
- m({
30
- status: "booting",
31
- error: null
32
- });
33
- try {
34
- if (a.getStatus() === a.BootStatus.Standby) {
35
- let e = null;
36
- for (let t of d) try {
37
- await a.boot(t), e = null;
38
- break;
39
- } catch (t) {
40
- e = t;
41
- }
42
- if (e) throw e;
43
- }
44
- m({
45
- status: "ready",
46
- error: null
47
- });
48
- } catch (e) {
49
- throw m({
50
- status: "error",
51
- error: e
52
- }), e;
53
- }
54
- }
55
- var g = null;
56
- function _() {
57
- return g ||= h(), g;
58
- }
59
- function v() {
60
- return f;
61
- }
62
- function y(e) {
63
- return p.add(e), () => {
64
- p.delete(e);
15
+ ], f = !1, p = null;
16
+ if (a.getStatus() === a.BootStatus.Standby) for (let e of d) try {
17
+ await a.boot(e), f = !0;
18
+ break;
19
+ } catch (e) {
20
+ p = e;
21
+ }
22
+ else f = !0;
23
+ f || console.error("Failed to boot Motely WASM runtime:", p);
24
+ function m() {
25
+ return Promise.resolve();
26
+ }
27
+ function h() {
28
+ return {
29
+ status: f ? "ready" : "error",
30
+ error: p,
31
+ isFileSystemReady: l !== null,
32
+ fileSystemError: u
65
33
  };
66
34
  }
67
- var b = l, x = u, S = l !== null;
35
+ function g(e) {
36
+ return () => {};
37
+ }
38
+ var _ = l, v = u, y = l !== null;
68
39
  //#endregion
69
40
  //#region src/hooks/useJamlLibrary.ts
70
- function C(e) {
41
+ function b(e) {
71
42
  return e instanceof Error ? e.message : String(e);
72
43
  }
73
- function w() {
74
- let [t, n] = r(() => S ? "idle" : "unsupported"), [i, a] = r(null), [s, l] = r([]), [u, d] = r(() => S ? null : C(x ?? "Bootsharp FileSystem package is not available.")), f = e(() => {
44
+ function x() {
45
+ let [t, n] = r(() => y ? "idle" : "unsupported"), [i, a] = r(null), [s, l] = r([]), [u, d] = r(() => y ? null : b(v ?? "Bootsharp FileSystem package is not available.")), f = e(() => {
75
46
  i && l((e) => [...e]);
76
47
  }, [i]);
77
48
  return {
@@ -80,13 +51,13 @@ function w() {
80
51
  files: s,
81
52
  error: u,
82
53
  mount: e(async () => {
83
- if (!S) {
84
- n("unsupported"), d(C(x ?? "Bootsharp FileSystem package is not available."));
54
+ if (!y) {
55
+ n("unsupported"), d(b(v ?? "Bootsharp FileSystem package is not available."));
85
56
  return;
86
57
  }
87
58
  n("mounting"), d(null);
88
59
  try {
89
- await _();
60
+ await m();
90
61
  let e = await o.pickRoot({
91
62
  mode: c.ReadWrite,
92
63
  id: "jaml-library"
@@ -97,134 +68,134 @@ function w() {
97
68
  }
98
69
  a(await o.mountRoot(e, { mode: c.ReadWrite })), l([]), n("ready");
99
70
  } catch (e) {
100
- n("error"), d(C(e));
71
+ n("error"), d(b(e));
101
72
  }
102
73
  }, []),
103
74
  unmount: e(async () => {
104
- i && (await _(), await o.unmountRoot(i), a(null), l([]), n(S ? "idle" : "unsupported"));
75
+ i && (await m(), await o.unmountRoot(i), a(null), l([]), n(y ? "idle" : "unsupported"));
105
76
  }, [i]),
106
77
  loadFile: e(async (e) => {
107
78
  if (!i) throw Error("JAML library is not mounted.");
108
- return await _(), await o.readTextFile(i, e);
79
+ return await m(), await o.readTextFile(i, e);
109
80
  }, [i]),
110
81
  saveFile: e(async (e, t) => {
111
82
  if (!i) throw Error("JAML library is not mounted.");
112
- await _(), await o.writeTextFile(i, e, t), l((t) => (t.includes(e) ? t : [...t, e]).sort((e, t) => e.localeCompare(t)));
83
+ await m(), await o.writeTextFile(i, e, t), l((t) => (t.includes(e) ? t : [...t, e]).sort((e, t) => e.localeCompare(t)));
113
84
  }, [i]),
114
85
  refresh: f
115
86
  };
116
87
  }
117
88
  //#endregion
118
89
  //#region src/hooks/useMotelyRuntime.ts
119
- function T(e) {
90
+ function S(e) {
120
91
  return e ? e instanceof Error ? e.message : String(e) : null;
121
92
  }
122
- function E() {
123
- let t = i(y, v, v), r = e(() => _(), []);
93
+ function C() {
94
+ let t = i(g, h, h), r = e(() => m(), []);
124
95
  return n(() => ({
125
96
  status: t.status,
126
97
  ready: t.status === "ready",
127
- error: T(t.error),
98
+ error: S(t.error),
128
99
  fsReady: t.isFileSystemReady,
129
- fsError: T(t.fileSystemError),
100
+ fsError: S(t.fileSystemError),
130
101
  ensureReady: r
131
102
  }), [t, r]);
132
103
  }
133
- function D() {
134
- let n = e(() => _(), []);
104
+ function w() {
105
+ let n = e(() => m(), []);
135
106
  t(() => {
136
107
  n();
137
108
  }, [n]);
138
109
  }
139
110
  //#endregion
140
111
  //#region src/decode/motelyItemDecoder.ts
141
- var O = o, k = {
142
- [O.MotelyItemTypeCategory.Standardcard]: "playing",
143
- [O.MotelyItemTypeCategory.SpectralCard]: "spectral",
144
- [O.MotelyItemTypeCategory.TarotCard]: "tarot",
145
- [O.MotelyItemTypeCategory.PlanetCard]: "planet",
146
- [O.MotelyItemTypeCategory.Joker]: "joker"
112
+ var T = o, E = {
113
+ [T.MotelyItemTypeCategory.Standardcard]: "playing",
114
+ [T.MotelyItemTypeCategory.SpectralCard]: "spectral",
115
+ [T.MotelyItemTypeCategory.TarotCard]: "tarot",
116
+ [T.MotelyItemTypeCategory.PlanetCard]: "planet",
117
+ [T.MotelyItemTypeCategory.Joker]: "joker"
147
118
  };
148
- function A(e, t) {
119
+ function D(e, t) {
149
120
  let n = e[String(t)];
150
121
  return typeof n == "string" ? n : null;
151
122
  }
152
- function j(e) {
123
+ function O(e) {
153
124
  return e.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2");
154
125
  }
155
- function M(e) {
126
+ function k(e) {
156
127
  return e == null ? null : typeof e == "number" ? Number.isFinite(e) ? e : null : e.value ?? e.type ?? null;
157
128
  }
158
- function N(e) {
159
- let t = M(e);
129
+ function A(e) {
130
+ let t = k(e);
160
131
  return t === null ? null : t & 65535;
161
132
  }
162
- function P(e) {
163
- let t = N(e);
164
- return t === null ? "Unknown" : A(O.MotelyItemType, t) ?? `item#${t}`;
133
+ function j(e) {
134
+ let t = A(e);
135
+ return t === null ? "Unknown" : D(T.MotelyItemType, t) ?? `item#${t}`;
165
136
  }
166
- function F(e) {
167
- return k[e >> 12 & 15] ?? "unknown";
137
+ function M(e) {
138
+ return E[e >> 12 & 15] ?? "unknown";
168
139
  }
169
- function I(e) {
170
- let t = N(e);
171
- return t === null ? "unknown" : F(t);
140
+ function N(e) {
141
+ let t = A(e);
142
+ return t === null ? "unknown" : M(t);
172
143
  }
173
- function L(e) {
174
- return j(P(e));
144
+ function P(e) {
145
+ return O(j(e));
175
146
  }
176
- function R(e) {
147
+ function F(e) {
177
148
  if (e == null) return null;
178
149
  let t = typeof e == "number" ? e : e.edition;
179
150
  if (t == null) return null;
180
- let n = A(O.MotelyItemEdition, t);
151
+ let n = D(T.MotelyItemEdition, t);
181
152
  return !n || n === "None" ? null : n;
182
153
  }
183
- function z(e) {
154
+ function I(e) {
184
155
  if (e == null) return null;
185
156
  let t = typeof e == "number" ? null : e.seal;
186
157
  if (t == null) return null;
187
- let n = A(O.MotelyItemSeal, t);
158
+ let n = D(T.MotelyItemSeal, t);
188
159
  return !n || n === "None" ? null : n;
189
160
  }
190
- function B(e) {
161
+ function L(e) {
191
162
  if (e == null) return null;
192
163
  let t = typeof e == "number" ? null : e.enhancement;
193
164
  if (t == null) return null;
194
- let n = A(O.MotelyItemEnhancement, t);
165
+ let n = D(T.MotelyItemEnhancement, t);
195
166
  return !n || n === "None" ? null : n;
196
167
  }
197
- function V(e) {
168
+ function R(e) {
198
169
  if (e == null) return null;
199
170
  let t = typeof e == "number" ? null : e.rank;
200
- return t == null ? null : A(O.MotelyStandardcardRank, t);
171
+ return t == null ? null : D(T.MotelyStandardcardRank, t);
201
172
  }
202
- function H(e) {
173
+ function z(e) {
203
174
  if (e == null) return null;
204
175
  let t = typeof e == "number" ? null : e.suit;
205
- return t == null ? null : A(O.MotelyStandardcardSuit, t);
176
+ return t == null ? null : D(T.MotelyStandardcardSuit, t);
206
177
  }
207
- function U(e) {
208
- return P(e);
178
+ function B(e) {
179
+ return j(e);
209
180
  }
210
- function W(e) {
211
- let t = N(e);
181
+ function V(e) {
182
+ let t = A(e);
212
183
  if (t === null) return null;
213
- let n = A(O.MotelyItemType, t) ?? `Unknown_${t}`, r = F(t);
184
+ let n = D(T.MotelyItemType, t) ?? `Unknown_${t}`, r = M(t);
214
185
  return {
215
186
  itemType: t,
216
187
  enumKey: n,
217
- displayName: j(n),
188
+ displayName: O(n),
218
189
  category: r,
219
- edition: R(e),
220
- seal: z(e),
221
- enhancement: B(e),
222
- rank: V(e),
223
- suit: H(e)
190
+ edition: F(e),
191
+ seal: I(e),
192
+ enhancement: L(e),
193
+ rank: R(e),
194
+ suit: z(e)
224
195
  };
225
196
  }
226
- function G(e, t) {
227
- let n = W(e);
197
+ function H(e, t) {
198
+ let n = V(e);
228
199
  return n ? {
229
200
  type: n.category === "joker" ? "joker" : n.category === "playing" ? "playing" : "consumable",
230
201
  card: {
@@ -238,11 +209,11 @@ function G(e, t) {
238
209
  }
239
210
  } : null;
240
211
  }
241
- function K() {}
242
- function q() {
212
+ function U() {}
213
+ function W() {
243
214
  return 0;
244
215
  }
245
216
  //#endregion
246
- export { S as C, v as S, y as T, D as _, F as a, b, B as c, P as d, V as f, E as g, K as h, q as i, I as l, N as m, U as n, L as o, H as p, G as r, R as s, W as t, z as u, w as v, x as w, _ as x, o as y };
217
+ export { y as C, h as S, g as T, w as _, M as a, _ as b, L as c, j as d, R as f, C as g, U as h, W as i, N as l, A as m, B as n, P as o, z as p, H as r, F as s, V as t, I as u, x as v, v as w, m as x, o as y };
247
218
 
248
- //# sourceMappingURL=motelyItemDecoder-Bg12hhB2.js.map
219
+ //# sourceMappingURL=motelyItemDecoder-CRhfNIGU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motelyItemDecoder-CRhfNIGU.js","names":[],"sources":["../../src/motelyBoot.ts","../../src/hooks/useJamlLibrary.ts","../../src/hooks/useMotelyRuntime.ts","../../src/decode/motelyItemDecoder.ts"],"sourcesContent":["import bootsharp, { Motely } from \"motely-wasm\";\nimport { IFileMounter } from \"motely-wasm/bootsharp/file-system\";\n\ntype FileSystemPackage = typeof import(\"@rewaffle/bootsharp-file-system\");\n\nlet fileSystemPackage: FileSystemPackage | null = null;\nlet fileSystemInitError: unknown = null;\n\ntry {\n fileSystemPackage = await import(\"@rewaffle/bootsharp-file-system\");\n fileSystemPackage.init(IFileMounter);\n} catch (error) {\n // The FileSystem package is private/registry-scoped. Search and analysis\n // still work without it; library mount APIs will fail until it is installed.\n fileSystemInitError = error;\n}\n\nconst BOOT_ROOT_CANDIDATES = [\"/motely-wasm/bin\", \"/node_modules/motely-wasm/bin\", \"/bin\"];\n\nlet booted = false;\nlet bootError: unknown = null;\n\nif (bootsharp.getStatus() === bootsharp.BootStatus.Standby) {\n for (const root of BOOT_ROOT_CANDIDATES) {\n try {\n await bootsharp.boot(root);\n booted = true;\n break;\n } catch (error) {\n bootError = error;\n }\n }\n} else {\n booted = true;\n}\n\nif (!booted) {\n console.error(\"Failed to boot Motely WASM runtime:\", bootError);\n}\n\nexport type MotelyRuntimeStatus = \"idle\" | \"booting\" | \"ready\" | \"error\";\n\nexport interface MotelyRuntimeSnapshot {\n status: MotelyRuntimeStatus;\n error: unknown;\n isFileSystemReady: boolean;\n fileSystemError: unknown;\n}\n\nexport function ensureMotelyReady(): Promise<void> {\n return Promise.resolve();\n}\n\nexport function getMotelyRuntimeSnapshot(): MotelyRuntimeSnapshot {\n return {\n status: booted ? \"ready\" : \"error\",\n error: bootError,\n isFileSystemReady: fileSystemPackage !== null,\n fileSystemError: fileSystemInitError,\n };\n}\n\nexport function subscribeMotelyRuntime(listener: () => void): () => void {\n // Runtime state is static after module load, so listeners don't need to fire\n return () => {};\n}\n\nexport const MotelyFileSystem = fileSystemPackage;\nexport const motelyFileSystemInitError = fileSystemInitError;\nexport const isMotelyFileSystemReady = fileSystemPackage !== null;\n\nexport { Motely };\n","\"use client\";\n\nimport { useCallback, useState } from \"react\";\nimport { Motely, ensureMotelyReady, isMotelyFileSystemReady, motelyFileSystemInitError } from \"../motelyBoot.js\";\nimport { PermissionMode } from \"motely-wasm/bootsharp/file-system\";\n\nexport type JamlLibraryStatus = \"idle\" | \"unsupported\" | \"mounting\" | \"ready\" | \"error\";\n\nexport interface UseJamlLibraryState {\n status: JamlLibraryStatus;\n rootId: string | null;\n files: string[];\n error: string | null;\n mount: () => Promise<void>;\n unmount: () => Promise<void>;\n loadFile: (uri: string) => Promise<string>;\n saveFile: (uri: string, content: string) => Promise<void>;\n refresh: () => void;\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nexport function useJamlLibrary(): UseJamlLibraryState {\n const [status, setStatus] = useState<JamlLibraryStatus>(() => isMotelyFileSystemReady ? \"idle\" : \"unsupported\");\n const [rootId, setRootId] = useState<string | null>(null);\n const [files, setFiles] = useState<string[]>([]);\n const [error, setError] = useState<string | null>(() =>\n isMotelyFileSystemReady ? null : errorMessage(motelyFileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"),\n );\n\n const refresh = useCallback(() => {\n if (!rootId) return;\n setFiles((prev) => [...prev]);\n }, [rootId]);\n\n const mount = useCallback(async () => {\n if (!isMotelyFileSystemReady) {\n setStatus(\"unsupported\");\n setError(errorMessage(motelyFileSystemInitError ?? \"Bootsharp FileSystem package is not available.\"));\n return;\n }\n\n setStatus(\"mounting\");\n setError(null);\n\n try {\n await ensureMotelyReady();\n const pickedRoot = await Motely.pickRoot({ mode: PermissionMode.ReadWrite, id: \"jaml-library\" });\n if (!pickedRoot) {\n setStatus(\"idle\");\n return;\n }\n\n const mountedRoot = await Motely.mountRoot(pickedRoot, { mode: PermissionMode.ReadWrite });\n setRootId(mountedRoot);\n setFiles([]);\n setStatus(\"ready\");\n } catch (err) {\n setStatus(\"error\");\n setError(errorMessage(err));\n }\n }, []);\n\n const unmount = useCallback(async () => {\n if (!rootId) return;\n await ensureMotelyReady();\n await Motely.unmountRoot(rootId);\n setRootId(null);\n setFiles([]);\n setStatus(isMotelyFileSystemReady ? \"idle\" : \"unsupported\");\n }, [rootId]);\n\n const loadFile = useCallback(async (uri: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n return await Motely.readTextFile(rootId, uri);\n }, [rootId]);\n\n const saveFile = useCallback(async (uri: string, content: string) => {\n if (!rootId) throw new Error(\"JAML library is not mounted.\");\n await ensureMotelyReady();\n await Motely.writeTextFile(rootId, uri, content);\n setFiles((prev) => (prev.includes(uri) ? prev : [...prev, uri]).sort((a, b) => a.localeCompare(b)));\n }, [rootId]);\n\n return { status, rootId, files, error, mount, unmount, loadFile, saveFile, refresh };\n}\n","\"use client\";\r\n\r\nimport { useCallback, useEffect, useMemo, useSyncExternalStore } from \"react\";\r\nimport {\r\n ensureMotelyReady,\r\n getMotelyRuntimeSnapshot,\r\n subscribeMotelyRuntime,\r\n type MotelyRuntimeStatus,\r\n} from \"../motelyBoot.js\";\r\n\r\nexport interface UseMotelyRuntimeState {\r\n status: MotelyRuntimeStatus;\r\n ready: boolean;\r\n error: string | null;\r\n fsReady: boolean;\r\n fsError: string | null;\r\n ensureReady: () => Promise<void>;\r\n}\r\n\r\nfunction formatError(error: unknown): string | null {\r\n if (!error) return null;\r\n return error instanceof Error ? error.message : String(error);\r\n}\r\n\r\nexport function useMotelyRuntime(): UseMotelyRuntimeState {\r\n const snapshot = useSyncExternalStore(subscribeMotelyRuntime, getMotelyRuntimeSnapshot, getMotelyRuntimeSnapshot);\r\n const ensureReady = useCallback(() => ensureMotelyReady(), []);\r\n\r\n return useMemo(\r\n () => ({\r\n status: snapshot.status,\r\n ready: snapshot.status === \"ready\",\r\n error: formatError(snapshot.error),\r\n fsReady: snapshot.isFileSystemReady,\r\n fsError: formatError(snapshot.fileSystemError),\r\n ensureReady,\r\n }),\r\n [snapshot, ensureReady],\r\n );\r\n}\r\n\r\nexport function useMotelyRuntimeOwner(): void {\r\n const ensureReady = useCallback(() => ensureMotelyReady(), []);\r\n\r\n useEffect(() => {\r\n void ensureReady();\r\n }, [ensureReady]);\r\n}\r\n","import { Motely } from \"../motelyBoot.js\";\n\ntype RuntimeEnum = Record<string, string | number>;\ntype MotelyRuntimeEnums = typeof Motely & Record<string, RuntimeEnum>;\n\nconst MotelyEnums = Motely as MotelyRuntimeEnums;\n\nconst CATEGORY_MAP: Record<number, MotelyRenderableCategory> = {\n [MotelyEnums.MotelyItemTypeCategory.Standardcard as number]: \"playing\",\n [MotelyEnums.MotelyItemTypeCategory.SpectralCard as number]: \"spectral\",\n [MotelyEnums.MotelyItemTypeCategory.TarotCard as number]: \"tarot\",\n [MotelyEnums.MotelyItemTypeCategory.PlanetCard as number]: \"planet\",\n [MotelyEnums.MotelyItemTypeCategory.Joker as number]: \"joker\",\n};\n\nexport type CardCategory = \"joker\" | \"consumable\" | \"playing\" | \"spectral\" | \"tarot\" | \"planet\";\nexport type MotelyRenderableCategory = CardCategory | \"unknown\";\n\nexport type MotelyItemInput = number | MotelyRuntimeItem | null | undefined;\n\nexport interface MotelyRuntimeItem {\n type?: number;\n value?: number;\n edition?: number;\n seal?: number;\n enhancement?: number;\n suit?: number;\n rank?: number;\n}\n\nexport interface DecodedMotelyItem {\n itemType: number;\n enumKey: string;\n displayName: string;\n category: MotelyRenderableCategory;\n edition: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null;\n seal: \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null;\n enhancement: string | null;\n rank: string | null;\n suit: \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null;\n}\n\nexport interface MotelyJamlCard {\n type: \"joker\" | \"consumable\" | \"playing\";\n card: {\n name: string;\n edition?: \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n seal?: string;\n enhancements?: string[];\n rank?: string;\n suit?: string;\n scale?: number;\n };\n}\n\nfunction enumKey<T extends Record<string, unknown>>(e: T, value: number): string | null {\n const k = e[String(value)];\n return typeof k === \"string\" ? k : null;\n}\n\nfunction spaceSplit(value: string): string {\n return value.replace(/([a-z])([A-Z])/g, \"$1 $2\").replace(/([A-Z]+)([A-Z][a-z])/g, \"$1 $2\");\n}\n\nfunction resolvePackedValue(input: MotelyItemInput): number | null {\n if (input == null) return null;\n if (typeof input === \"number\") return Number.isFinite(input) ? input : null;\n return input.value ?? input.type ?? null;\n}\n\nexport function resolveMotelyItemType(input: MotelyItemInput): number | null {\n const val = resolvePackedValue(input);\n return val !== null ? val & 0xffff : null;\n}\n\nexport function motelyItemTypeName(input: MotelyItemInput): string {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"Unknown\";\n return enumKey(MotelyEnums.MotelyItemType, itemType) ?? `item#${itemType}`;\n}\n\nexport function motelyItemCategory(itemType: number): MotelyRenderableCategory {\n const catValue = (itemType >> 12) & 0xf;\n return CATEGORY_MAP[catValue] ?? \"unknown\";\n}\n\nexport function motelyItemRenderCategory(input: MotelyItemInput): MotelyRenderableCategory {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return \"unknown\";\n return motelyItemCategory(itemType);\n}\n\nexport function motelyItemDisplayName(input: MotelyItemInput): string {\n return spaceSplit(motelyItemTypeName(input));\n}\n\nexport function motelyItemEditionName(input: MotelyItemInput): \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? input : input.edition;\n if (val == null) return null;\n const key = enumKey(MotelyEnums.MotelyItemEdition, val);\n if (!key || key === \"None\") return null;\n return key as \"Foil\" | \"Holographic\" | \"Polychrome\" | \"Negative\";\n}\n\nexport function motelyItemSealName(input: MotelyItemInput): \"Gold\" | \"Red\" | \"Blue\" | \"Purple\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.seal;\n if (val == null) return null;\n const key = enumKey(MotelyEnums.MotelyItemSeal, val);\n if (!key || key === \"None\") return null;\n return key as \"Gold\" | \"Red\" | \"Blue\" | \"Purple\";\n}\n\nexport function motelyItemEnhancementName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.enhancement;\n if (val == null) return null;\n const key = enumKey(MotelyEnums.MotelyItemEnhancement, val);\n if (!key || key === \"None\") return null;\n return key;\n}\n\nexport function motelyStandardcardRankName(input: MotelyItemInput): string | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.rank;\n if (val == null) return null;\n return enumKey(MotelyEnums.MotelyStandardcardRank, val);\n}\n\nexport function motelyStandardcardSuitName(input: MotelyItemInput): \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null {\n if (input == null) return null;\n const val = typeof input === \"number\" ? null : input.suit;\n if (val == null) return null;\n return enumKey(MotelyEnums.MotelyStandardcardSuit, val) as \"Clubs\" | \"Diamonds\" | \"Hearts\" | \"Spades\" | null;\n}\n\nexport function decodeMotelyItemName(input: MotelyItemInput): string {\n return motelyItemTypeName(input);\n}\n\nexport function decodeMotelyItem(input: MotelyItemInput): DecodedMotelyItem | null {\n const itemType = resolveMotelyItemType(input);\n if (itemType === null) return null;\n\n const enumKeyStr = enumKey(MotelyEnums.MotelyItemType, itemType) ?? `Unknown_${itemType}`;\n const category = motelyItemCategory(itemType);\n const displayName = spaceSplit(enumKeyStr);\n\n return {\n itemType,\n enumKey: enumKeyStr,\n displayName,\n category,\n edition: motelyItemEditionName(input),\n seal: motelyItemSealName(input),\n enhancement: motelyItemEnhancementName(input),\n rank: motelyStandardcardRankName(input),\n suit: motelyStandardcardSuitName(input),\n };\n}\n\nexport function decodeMotelyItemToJamlCard(input: MotelyItemInput, scale?: number): MotelyJamlCard | null {\n const decoded = decodeMotelyItem(input);\n if (!decoded) return null;\n\n const type: \"joker\" | \"consumable\" | \"playing\" =\n decoded.category === \"joker\" ? \"joker\"\n : decoded.category === \"playing\" ? \"playing\"\n : \"consumable\";\n\n return {\n type,\n card: {\n name: decoded.displayName,\n edition: decoded.edition ?? undefined,\n seal: decoded.seal ?? undefined,\n enhancements: decoded.enhancement ? [decoded.enhancement] : undefined,\n rank: decoded.rank ?? undefined,\n suit: decoded.suit ?? undefined,\n scale,\n },\n };\n}\n\nexport function warmMotelyItemCache(): void { /* no-op */ }\nexport function motelyItemCacheSize(): number { return 0; }\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ function b() {
42
42
  let r = (e, t) => {
43
43
  let r = n.createShader(e);
44
44
  return r ? (n.shaderSource(r, t), n.compileShader(r), n.getShaderParameter(r, n.COMPILE_STATUS) ? r : (console.error("[JimboBackground] shader compile error:", n.getShaderInfoLog(r)), n.deleteShader(r), null)) : null;
45
- }, i = r(n.VERTEX_SHADER, "\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n "), a = r(n.FRAGMENT_SHADER, "\n precision mediump float;\n\n uniform float u_time;\n uniform vec2 u_resolution;\n\n const float SPIN_ROTATION = -2.0;\n const float SPIN_SPEED = 4.5;\n const vec4 COLOUR_1 = vec4(1.0, 0.2, 0.2, 1.0);\n const vec4 COLOUR_2 = vec4(0.0, 0.5, 1.0, 1.0);\n const vec4 COLOUR_3 = vec4(0.05, 0.08, 0.1, 1.0);\n const float CONTRAST = 4.5;\n const float LIGTHING = 0.5;\n const float SPIN_AMOUNT = 0.35;\n const float PIXEL_FILTER = 1024.0;\n const float PI = 3.14159265359;\n\n void main() {\n vec2 screenSize = u_resolution;\n float pixel_size = length(screenSize.xy) / PIXEL_FILTER;\n vec2 uv = (floor(gl_FragCoord.xy*(1.0/pixel_size))*pixel_size - 0.5*screenSize.xy)/length(screenSize.xy);\n float uv_len = length(uv);\n\n float speed = (SPIN_ROTATION * 0.2) + 302.2;\n float new_pixel_angle = atan(uv.y, uv.x) + speed - 20.0*(1.0*SPIN_AMOUNT*uv_len + (1.0 - 1.0*SPIN_AMOUNT));\n\n vec2 mid = (screenSize.xy/length(screenSize.xy))/2.0;\n uv = (vec2((uv_len * cos(new_pixel_angle) + mid.x), (uv_len * sin(new_pixel_angle) + mid.y)) - mid);\n\n uv *= 30.0;\n speed = u_time * SPIN_SPEED;\n vec2 uv2 = vec2(uv.x, uv.y);\n\n for(int i=0; i < 5; i++) {\n uv2 += sin(max(uv.x, uv.y)) + uv;\n uv += 0.5*vec2(cos(5.1123314 + 0.353*uv2.y + speed*0.131121), sin(uv2.x - 0.113*speed));\n uv -= 1.0*cos(uv.x + uv.y) - 1.0*sin(uv.x*0.711 - uv.y);\n }\n\n float contrast_mod = (0.25*CONTRAST + 0.5*SPIN_AMOUNT + 1.2);\n float paint_res = min(2.0, max(0.0, length(uv)*(0.035)*contrast_mod));\n float c1p = max(0.0, 1.0 - contrast_mod*abs(1.0 - paint_res));\n float c2p = max(0.0, 1.0 - contrast_mod*abs(paint_res));\n float c3p = 1.0 - min(1.0, c1p + c2p);\n float light = (LIGTHING - 0.2)*max(c1p*5.0 - 4.0, 0.0) + LIGTHING*max(c2p*5.0 - 4.0, 0.0);\n\n vec4 finalCol = (0.3/CONTRAST)*COLOUR_1 + (1.0 - 0.3/CONTRAST)*(COLOUR_1*c1p + COLOUR_2*c2p + vec4(c3p*COLOUR_3.rgb, c3p*COLOUR_1.a)) + light;\n\n gl_FragColor = finalCol;\n }\n ");
45
+ }, i = r(n.VERTEX_SHADER, "\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n "), a = r(n.FRAGMENT_SHADER, "\n precision mediump float;\n\n uniform float u_time;\n uniform vec2 u_resolution;\n\n const float SPIN_ROTATION = -2.0;\n const float SPIN_SPEED = 4.5;\n const vec4 COLOUR_1 = vec4(1.0, 0.2, 0.2, 1.0);\n const vec4 COLOUR_2 = vec4(0.0, 0.5, 1.0, 1.0);\n const vec4 COLOUR_3 = vec4(0.05, 0.08, 0.1, 1.0);\n const float CONTRAST = 4.5;\n const float LIGTHING = 0.5;\n const float SPIN_AMOUNT = 0.35;\n const float PIXEL_FILTER = 740.0 * 0.33;\n const float PI = 3.14159265359;\n\n void main() {\n vec2 screenSize = u_resolution;\n float pixel_size = length(screenSize.xy) / PIXEL_FILTER;\n vec2 uv = (floor(gl_FragCoord.xy*(1.0/pixel_size))*pixel_size - 0.5*screenSize.xy)/length(screenSize.xy);\n float uv_len = length(uv);\n\n float speed = (SPIN_ROTATION * 0.2) + 302.2;\n float new_pixel_angle = atan(uv.y, uv.x) + speed - 20.0*(1.0*SPIN_AMOUNT*uv_len + (1.0 - 1.0*SPIN_AMOUNT));\n\n vec2 mid = (screenSize.xy/length(screenSize.xy))/2.0;\n uv = (vec2((uv_len * cos(new_pixel_angle) + mid.x), (uv_len * sin(new_pixel_angle) + mid.y)) - mid);\n\n uv *= 30.0;\n speed = u_time * SPIN_SPEED;\n vec2 uv2 = vec2(uv.x, uv.y);\n\n for(int i=0; i < 5; i++) {\n uv2 += sin(max(uv.x, uv.y)) + uv;\n uv += 0.5*vec2(cos(5.1123314 + 0.353*uv2.y + speed*0.131121), sin(uv2.x - 0.113*speed));\n uv -= 1.0*cos(uv.x + uv.y) - 1.0*sin(uv.x*0.711 - uv.y);\n }\n\n float contrast_mod = (0.25*CONTRAST + 0.5*SPIN_AMOUNT + 1.2);\n float paint_res = min(2.0, max(0.0, length(uv)*(0.035)*contrast_mod));\n float c1p = max(0.0, 1.0 - contrast_mod*abs(1.0 - paint_res));\n float c2p = max(0.0, 1.0 - contrast_mod*abs(paint_res));\n float c3p = 1.0 - min(1.0, c1p + c2p);\n float light = (LIGTHING - 0.2)*max(c1p*5.0 - 4.0, 0.0) + LIGTHING*max(c2p*5.0 - 4.0, 0.0);\n\n vec4 finalCol = (0.3/CONTRAST)*COLOUR_1 + (1.0 - 0.3/CONTRAST)*(COLOUR_1*c1p + COLOUR_2*c2p + vec4(c3p*COLOUR_3.rgb, c3p*COLOUR_1.a)) + light;\n\n gl_FragColor = finalCol;\n }\n ");
46
46
  if (!i || !a) return;
47
47
  let o = n.createProgram();
48
48
  if (!o) return;
@@ -388,19 +388,19 @@ function ie({ deck: t, width: n = 71, height: r, style: i }) {
388
388
  }
389
389
  //#endregion
390
390
  //#region src/ui/jimboText.tsx
391
- function T({ tone: e = "default", size: t = "md", shadow: n = !0, uppercase: r = !1, dance: i = !1, letterSpacing: a, as: o = "span", className: s = "", style: c, children: l, ...u }) {
392
- let d = `j-text--${t}`, f = `j-text--${e}`, p = n ? "" : "j-text--no-shadow", m = r ? "j-text--upper" : "", g = i ? "j-text--dance-container" : "", _ = {};
393
- a == null ? r && a == null && (_.letterSpacing = 2) : _.letterSpacing = a, c && Object.assign(_, c);
394
- let v = l;
395
- return i && typeof l == "string" && (v = l.split("").map((e, t) => /* @__PURE__ */ h("span", {
391
+ function T({ tone: e = "default", size: t = "md", shadow: n = !0, dance: r = !1, letterSpacing: i, as: a = "span", className: o = "", style: s, children: c, ...l }) {
392
+ let u = `j-text--${t}`, d = `j-text--${e}`, f = n ? "" : "j-text--no-shadow", p = r ? "j-text--dance-container" : "", m = {};
393
+ i != null && (m.letterSpacing = i), s && Object.assign(m, s);
394
+ let g = c;
395
+ return r && typeof c == "string" && (g = c.split("").map((e, t) => /* @__PURE__ */ h("span", {
396
396
  className: "j-font-dance-char",
397
397
  style: { animationDelay: `${t * -.15}s` },
398
398
  children: e === " " ? "\xA0" : e
399
- }, t))), /* @__PURE__ */ h(o, {
400
- className: `j-text ${d} ${f} ${p} ${m} ${g} ${s}`.trim(),
401
- style: Object.keys(_).length > 0 ? _ : void 0,
402
- ...u,
403
- children: v
399
+ }, t))), /* @__PURE__ */ h(a, {
400
+ className: `j-text ${u} ${d} ${f} ${p} ${o}`.trim(),
401
+ style: Object.keys(m).length > 0 ? m : void 0,
402
+ ...l,
403
+ children: g
404
404
  });
405
405
  }
406
406
  //#endregion
@@ -426,20 +426,19 @@ var D = c(({ children: e, className: t = "", style: n, ...r }) => /* @__PURE__ *
426
426
  children: e
427
427
  }));
428
428
  D.displayName = "JimboInnerPanel";
429
- function O({ tone: e = "orange", size: t = "md", fullWidth: n = !1, disabled: r = !1, uppercase: i = !1, onClick: a, style: o, className: s = "", children: c }) {
430
- let l = t === "xs" ? "xs" : t === "sm" ? "sm" : t === "lg" ? "lg" : "md";
429
+ function O({ tone: e = "orange", size: t = "md", fullWidth: n = !1, disabled: r = !1, onClick: i, style: a, className: o = "", children: s }) {
430
+ let c = t === "xs" ? "xs" : t === "sm" ? "sm" : t === "lg" ? "lg" : "md";
431
431
  return /* @__PURE__ */ h("button", {
432
432
  type: "button",
433
- className: `j-btn j-btn--${e} j-btn--${t} ${n ? "j-btn--full" : ""} ${r ? "j-btn--disabled" : ""} ${s}`,
433
+ className: `j-btn j-btn--${e} j-btn--${t} ${n ? "j-btn--full" : ""} ${r ? "j-btn--disabled" : ""} ${o}`,
434
434
  disabled: r,
435
- onClick: a,
436
- style: o,
435
+ onClick: i,
436
+ style: a,
437
437
  children: /* @__PURE__ */ h("div", {
438
438
  className: "j-btn__face",
439
439
  children: /* @__PURE__ */ h(T, {
440
- size: l,
441
- uppercase: i,
442
- children: c
440
+ size: c,
441
+ children: s
443
442
  })
444
443
  })
445
444
  });
@@ -1384,4 +1383,4 @@ function xe({ orientation: e = "vertical", onDrag: t, onKeyAdjust: n, "aria-labe
1384
1383
  //#endregion
1385
1384
  export { k as A, S as B, M as C, ce as D, ue as E, T as F, ie as I, w as L, D as M, A as N, ae as O, E as P, ne as R, I as S, de as T, ee as V, H as _, Y as a, z as b, he as c, J as d, G as f, V as g, U as h, ve as i, O as j, se as k, me as l, K as m, be as n, _e as o, q as p, ye as r, ge as s, xe as t, W as u, pe as v, fe as w, L as x, B as y, C as z };
1386
1385
 
1387
- //# sourceMappingURL=ui-ByciFBYB.js.map
1386
+ //# sourceMappingURL=ui-BBUfR6RM.js.map