jaml-ui 2.4.0 → 3.0.1

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 (171) hide show
  1. package/README.md +38 -225
  2. package/dist/chunks/Layer-B5y9UIAt.js +19 -0
  3. package/dist/chunks/Layer-B5y9UIAt.js.map +1 -0
  4. package/dist/chunks/motelySprite-BYsaes3N.js +753 -0
  5. package/dist/chunks/motelySprite-BYsaes3N.js.map +1 -0
  6. package/dist/chunks/spriteMapper-BiDkbZrD.js +480 -0
  7. package/dist/chunks/spriteMapper-BiDkbZrD.js.map +1 -0
  8. package/dist/components/DeckSprite.d.ts +1 -1
  9. package/dist/components/GameCard.d.ts +5 -4
  10. package/dist/components/JamlyzerView.d.ts +9 -0
  11. package/dist/components/StandardCard.d.ts +4 -3
  12. package/dist/core.d.ts +0 -1
  13. package/dist/core.js +38 -23
  14. package/dist/core.js.map +1 -1
  15. package/dist/decode/motelyItemDecoder.d.ts +5 -0
  16. package/dist/index.d.ts +6 -26
  17. package/dist/index.js +3177 -22506
  18. package/dist/index.js.map +1 -1
  19. package/dist/json-render/builders/analyzer.d.ts +23 -0
  20. package/dist/json-render/builders/encyclopedia.d.ts +14 -0
  21. package/dist/json-render/builders/search.d.ts +24 -0
  22. package/dist/json-render/catalog.d.ts +204 -0
  23. package/dist/json-render/components/domain.d.ts +58 -0
  24. package/dist/json-render/components/game.d.ts +18 -0
  25. package/dist/json-render/components/layout.d.ts +51 -0
  26. package/dist/json-render/components/mascot.d.ts +22 -0
  27. package/dist/json-render/components/reference.d.ts +38 -0
  28. package/dist/json-render/engine.d.ts +38 -0
  29. package/dist/json-render/index.d.ts +30 -0
  30. package/dist/json-render/knowledge/bosses.d.ts +18 -0
  31. package/dist/json-render/knowledge/decks.d.ts +22 -0
  32. package/dist/json-render/knowledge/jokers.d.ts +23 -0
  33. package/dist/json-render/knowledge/synergies.d.ts +21 -0
  34. package/dist/json-render/registry.d.ts +14 -0
  35. package/dist/motely.d.ts +1 -4
  36. package/dist/motely.js +23 -154
  37. package/dist/motely.js.map +1 -1
  38. package/dist/render/CanvasRenderer.d.ts +2 -1
  39. package/dist/render/useJamlCardRenderer.d.ts +15 -0
  40. package/dist/ui/jimbo.css +1 -2
  41. package/dist/ui.d.ts +0 -40
  42. package/dist/ui.js +58 -3
  43. package/dist/ui.js.map +1 -0
  44. package/package.json +23 -68
  45. package/dist/assets/searchPoolWorker-BdrYmnig.js +0 -2
  46. package/dist/assets/searchPoolWorker-BdrYmnig.js.map +0 -1
  47. package/dist/chunks/jamlSeeds-CKHvpjhC.js +0 -66
  48. package/dist/chunks/jamlSeeds-CKHvpjhC.js.map +0 -1
  49. package/dist/chunks/runtime-Dx5VPTsV.js +0 -2031
  50. package/dist/chunks/runtime-Dx5VPTsV.js.map +0 -1
  51. package/dist/chunks/searchPoolWorker-CEK2FyxS.js +0 -11
  52. package/dist/chunks/searchPoolWorker-CEK2FyxS.js.map +0 -1
  53. package/dist/chunks/spriteMapper-C8uYedXB.js +0 -2455
  54. package/dist/chunks/spriteMapper-C8uYedXB.js.map +0 -1
  55. package/dist/chunks/ui-BK5rM4AS.js +0 -3479
  56. package/dist/chunks/ui-BK5rM4AS.js.map +0 -1
  57. package/dist/components/CardFan.d.ts +0 -13
  58. package/dist/components/JamlAestheticSelector.d.ts +0 -12
  59. package/dist/components/JamlCodeEditor.d.ts +0 -7
  60. package/dist/components/JamlIde.d.ts +0 -44
  61. package/dist/components/JamlIdeToolbar.d.ts +0 -14
  62. package/dist/components/JamlIdeVisual.d.ts +0 -32
  63. package/dist/components/JamlMapPreview.d.ts +0 -11
  64. package/dist/components/JamlSeedInput.d.ts +0 -24
  65. package/dist/components/JamlSeedSpinner.d.ts +0 -9
  66. package/dist/components/JamlSpeedometer.d.ts +0 -16
  67. package/dist/components/Jamlyzer.d.ts +0 -8
  68. package/dist/components/JimmolateEditor.d.ts +0 -47
  69. package/dist/components/MotelyHello.d.ts +0 -5
  70. package/dist/components/MotelyVersionBadge.d.ts +0 -28
  71. package/dist/components/PaginatedFilterBrowser.d.ts +0 -26
  72. package/dist/components/RunConfigModal.d.ts +0 -8
  73. package/dist/components/SeedFinderApp.d.ts +0 -7
  74. package/dist/components/jamlMap/CategoryPicker.d.ts +0 -32
  75. package/dist/components/jamlMap/JamlMapEditor.d.ts +0 -14
  76. package/dist/components/jamlMap/JokerPicker.d.ts +0 -8
  77. package/dist/components/jamlMap/MysterySlot.d.ts +0 -37
  78. package/dist/components/jamlMap/index.d.ts +0 -4
  79. package/dist/components/jamlMap/jokerRarity.d.ts +0 -6
  80. package/dist/components/jamlSeedUtils.d.ts +0 -1
  81. package/dist/hooks/searchPoolWorker.d.ts +0 -61
  82. package/dist/hooks/searchWorker.d.ts +0 -1
  83. package/dist/hooks/useAnalyzer.d.ts +0 -15
  84. package/dist/hooks/useIntersectionObserver.d.ts +0 -14
  85. package/dist/hooks/useJamlLibrary.d.ts +0 -13
  86. package/dist/hooks/useSearch.d.ts +0 -32
  87. package/dist/hooks/useSearchPool.d.ts +0 -43
  88. package/dist/hooks/useShopStream.d.ts +0 -22
  89. package/dist/lib/SpriteMapper.d.ts +0 -10
  90. package/dist/lib/cardParser.d.ts +0 -8
  91. package/dist/lib/classes/BuyMetaData.d.ts +0 -11
  92. package/dist/lib/config.d.ts +0 -13
  93. package/dist/lib/const.d.ts +0 -70
  94. package/dist/lib/data/constants.d.ts +0 -11
  95. package/dist/lib/hooks/useDragScroll.d.ts +0 -4
  96. package/dist/lib/hooks/useJamlFilter.d.ts +0 -48
  97. package/dist/lib/hooks/useSeedAnalyzer.d.ts +0 -17
  98. package/dist/lib/jaml/jamlCompletion.d.ts +0 -12
  99. package/dist/lib/jaml/jamlData.d.ts +0 -4
  100. package/dist/lib/jaml/jamlLangCodemirror.d.ts +0 -22
  101. package/dist/lib/jaml/jamlObjectives.d.ts +0 -13
  102. package/dist/lib/jaml/jamlParser.d.ts +0 -14
  103. package/dist/lib/jaml/jamlPresets.d.ts +0 -8
  104. package/dist/lib/jaml/jamlSchema.d.ts +0 -19
  105. package/dist/lib/jaml/jamlSeeds.d.ts +0 -7
  106. package/dist/lib/motely/runtime.d.ts +0 -13
  107. package/dist/lib/parseDailyRitual.d.ts +0 -45
  108. package/dist/lib/tts/getRevealPos.d.ts +0 -5
  109. package/dist/lib/tts/splitTtsDisplay.d.ts +0 -19
  110. package/dist/lib/types.d.ts +0 -122
  111. package/dist/motelyDisplay.d.ts +0 -10
  112. package/dist/r3f/Card3D.d.ts +0 -48
  113. package/dist/r3f/CardTable.d.ts +0 -35
  114. package/dist/r3f.d.ts +0 -2
  115. package/dist/r3f.js +0 -275
  116. package/dist/r3f.js.map +0 -1
  117. package/dist/ui/JimboBadge.d.ts +0 -12
  118. package/dist/ui/JimboBalatroFooter.d.ts +0 -16
  119. package/dist/ui/JimboCookLever.d.ts +0 -30
  120. package/dist/ui/JimboCopyButton.d.ts +0 -27
  121. package/dist/ui/JimboDeckAndStakeSelectorModal.d.ts +0 -30
  122. package/dist/ui/JimboDualChip.d.ts +0 -17
  123. package/dist/ui/JimboIconButton.d.ts +0 -15
  124. package/dist/ui/JimboInlineEdit.d.ts +0 -16
  125. package/dist/ui/JimboInputModal.d.ts +0 -13
  126. package/dist/ui/JimboListItem.d.ts +0 -11
  127. package/dist/ui/JimboPanelSpinner.d.ts +0 -15
  128. package/dist/ui/JimboPicker.d.ts +0 -28
  129. package/dist/ui/JimboSeedCopyChip.d.ts +0 -16
  130. package/dist/ui/JimboSelect.d.ts +0 -30
  131. package/dist/ui/JimboSlider.d.ts +0 -11
  132. package/dist/ui/JimboSpinner.d.ts +0 -18
  133. package/dist/ui/JimboStepper.d.ts +0 -22
  134. package/dist/ui/JimboTextInput.d.ts +0 -5
  135. package/dist/ui/JimboToggleList.d.ts +0 -12
  136. package/dist/ui/JimboValueBadge.d.ts +0 -19
  137. package/dist/ui/codeBlock.d.ts +0 -11
  138. package/dist/ui/hooks.d.ts +0 -126
  139. package/dist/ui/ide/JamlEditor.d.ts +0 -7
  140. package/dist/ui/jimboApp.d.ts +0 -9
  141. package/dist/ui/jimboBackground.d.ts +0 -17
  142. package/dist/ui/jimboCopyRow.d.ts +0 -9
  143. package/dist/ui/jimboFilterBar.d.ts +0 -22
  144. package/dist/ui/jimboFlankNav.d.ts +0 -17
  145. package/dist/ui/jimboInfoCard.d.ts +0 -31
  146. package/dist/ui/jimboInset.d.ts +0 -9
  147. package/dist/ui/jimboLayout.d.ts +0 -25
  148. package/dist/ui/jimboLink.d.ts +0 -12
  149. package/dist/ui/jimboSectionHeader.d.ts +0 -11
  150. package/dist/ui/jimboStatGrid.d.ts +0 -13
  151. package/dist/ui/jimboTabs.d.ts +0 -21
  152. package/dist/ui/jimboText.d.ts +0 -25
  153. package/dist/ui/jimboTooltip.d.ts +0 -33
  154. package/dist/ui/jimboWordmark.d.ts +0 -10
  155. package/dist/ui/mascot/JammySpeechBox.d.ts +0 -9
  156. package/dist/ui/mascot/SeedMascot.d.ts +0 -37
  157. package/dist/ui/mascot/index.d.ts +0 -3
  158. package/dist/ui/mascot/menuConfig.d.ts +0 -102
  159. package/dist/ui/panel.d.ts +0 -32
  160. package/dist/ui/radial/RadialBadge.d.ts +0 -16
  161. package/dist/ui/radial/RadialBreadcrumb.d.ts +0 -12
  162. package/dist/ui/radial/RadialButton.d.ts +0 -60
  163. package/dist/ui/radial/RadialMenu.d.ts +0 -38
  164. package/dist/ui/radial/RadialPill.d.ts +0 -17
  165. package/dist/ui/radial/index.d.ts +0 -16
  166. package/dist/ui/radial/radialMenuStore.d.ts +0 -31
  167. package/dist/ui/radial/radialMenuViewport.d.ts +0 -6
  168. package/dist/ui/radial/useRadialMenu.d.ts +0 -35
  169. package/dist/ui/sprites.d.ts +0 -25
  170. package/dist/utils/jamlMapPreview.d.ts +0 -12
  171. package/dist/utils/jamlVisualFilter.d.ts +0 -3
@@ -1,3479 +0,0 @@
1
- import { m as e, n as t, r as n, t as r, u as i, x as a } from "./spriteMapper-C8uYedXB.js";
2
- import o, { createContext as s, createElement as c, forwardRef as l, memo as u, useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
3
- import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
4
- import { FiCheck as x, FiCopy as S } from "react-icons/fi";
5
- import { createPortal as C } from "react-dom";
6
- //#region src/ui/tokens.ts
7
- var w = {
8
- RED: "#ff4c40",
9
- BLUE: "#0093ff",
10
- GREEN: "#429f79",
11
- ORANGE: "#ff9800",
12
- GOLD: "#e4b643",
13
- PURPLE: "#9e74ce",
14
- DARK_RED: "#a02721",
15
- DARK_BLUE: "#0057a1",
16
- DARK_ORANGE: "#a05b00",
17
- DARK_GREEN: "#215f46",
18
- DARK_PURPLE: "#5e437e",
19
- DARK_GREY: "#3a5055",
20
- DARKEST: "#1e2b2d",
21
- GREY: "#708386",
22
- TEAL_GREY: "#404c4e",
23
- PANEL_EDGE: "#1e2e32",
24
- INNER_BORDER: "#334461",
25
- BORDER_SILVER: "#b9c2d2",
26
- BORDER_SOUTH: "#777e89",
27
- GOLD_TEXT: "#e4b643",
28
- GREEN_TEXT: "#35bd86",
29
- ORANGE_TEXT: "#ff8f00",
30
- WHITE: "#ffffff",
31
- BLACK: "#000000",
32
- TAROT_BUTTON: "#9e74ce",
33
- PLANET_BUTTON: "#00a7ca",
34
- SPECTRAL_BUTTON: "#2e76fd",
35
- TAROT_BUTTON_DARK: "#5e437e",
36
- PLANET_BUTTON_DARK: "#00657c",
37
- SPECTRAL_BUTTON_DARK: "#14449e"
38
- };
39
- function T(e, t) {
40
- let n = e.replace("#", "");
41
- return `rgba(${parseInt(n.slice(0, 2), 16)}, ${parseInt(n.slice(2, 4), 16)}, ${parseInt(n.slice(4, 6), 16)}, ${t})`;
42
- }
43
- var E = {
44
- JUICE_UP_SCALE: 1.05,
45
- JUICE_DOWN_SCALE: 1,
46
- JUICE_DURATION: 150,
47
- JUICE_EASING: "cubic-bezier(0.34, 1.56, 0.64, 1)",
48
- SWAY_AMOUNT: 1.5,
49
- SWAY_DURATION: 4e3,
50
- PRESS_TRANSLATE_Y: 2,
51
- PRESS_DURATION: 50,
52
- CARD_TILT_MAX: 6,
53
- MENU_SINK_DURATION: 200,
54
- MENU_RISE_DURATION: 300,
55
- MENU_ORBIT_DURATION: 320,
56
- LETTER_POP_RATE: 3,
57
- LETTER_BUMP_RATE: 2.666
58
- };
59
- //#endregion
60
- //#region src/ui/hooks.ts
61
- function D(e) {
62
- return new Promise((t) => {
63
- let n = new window.Image();
64
- n.addEventListener("load", () => t(n)), n.addEventListener("error", () => t(null)), n.src = e;
65
- });
66
- }
67
- function O(e, t, n, r, i) {
68
- if (!n || !r || !r?.pos) return 0;
69
- let a = n.width / r.columns, o = n.height / r.rows, s = e.style;
70
- if (r.order === 0 && (e.width = a, e.height = o, s.width = `${a}px`, s.height = `${o}px`), s.imageRendering = "pixelated", t.imageSmoothingEnabled = !0, t.save(), r.animated && i) {
71
- let e = i, n = Math.sin(e / 1e3) * 3, r = Math.sin(e / 1500) * 1.5;
72
- t.globalAlpha = .65 + (Math.sin(e / 2e3) + 1) * .075, t.translate(r, n);
73
- }
74
- return t.drawImage(n, r.pos.x * a, r.pos.y * o, a, o, 0, 0, e.width, e.height), t.restore(), a / o;
75
- }
76
- function k(e) {
77
- let t = g(null);
78
- return p(() => {
79
- if (!e || !t.current) return;
80
- let n, r = Date.now(), i = t.current, a = () => {
81
- let e = (Date.now() - r) % E.SWAY_DURATION / E.SWAY_DURATION * Math.PI * 2;
82
- i.style.transform = `translate(${Math.sin(e) * E.SWAY_AMOUNT * .3}px, ${Math.sin(e * .8) * E.SWAY_AMOUNT}px)`, n = requestAnimationFrame(a);
83
- };
84
- return n = requestAnimationFrame(a), () => {
85
- cancelAnimationFrame(n), i && (i.style.transform = "");
86
- };
87
- }, [e]), t;
88
- }
89
- var A = {
90
- primary: [
91
- 1,
92
- .2,
93
- .2
94
- ],
95
- secondary: [
96
- 0,
97
- .5,
98
- 1
99
- ],
100
- dark: [
101
- .05,
102
- .08,
103
- .1
104
- ],
105
- speed: 1,
106
- spinRotation: -2,
107
- spinAmount: .35,
108
- pixelFilter: 740 * .33,
109
- contrast: 4.5,
110
- lighting: .5,
111
- transitionMs: 800
112
- };
113
- function j(e, t) {
114
- if (!e) return t;
115
- if (Array.isArray(e)) return [
116
- e[0],
117
- e[1],
118
- e[2]
119
- ];
120
- let n = e.trim().replace(/^#/, "");
121
- if (n.length === 3 && (n = n.split("").map((e) => e + e).join("")), n.length !== 6) return t;
122
- let r = parseInt(n, 16);
123
- return Number.isNaN(r) ? t : [
124
- (r >> 16 & 255) / 255,
125
- (r >> 8 & 255) / 255,
126
- (r & 255) / 255
127
- ];
128
- }
129
- function M(e = {}) {
130
- let t = g(null), n = g(e);
131
- return m(() => {
132
- n.current = e;
133
- }), p(() => {
134
- let e = t.current;
135
- if (!e) return;
136
- let r = e.getContext("webgl");
137
- if (!r) return;
138
- let i = (e, t) => {
139
- let n = r.createShader(e);
140
- return n ? (r.shaderSource(n, t), r.compileShader(n), r.getShaderParameter(n, r.COMPILE_STATUS) ? n : (console.error("[JimboBackground] shader compile error:", r.getShaderInfoLog(n)), r.deleteShader(n), null)) : null;
141
- }, a = i(r.VERTEX_SHADER, "\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n "), o = i(r.FRAGMENT_SHADER, "\n precision mediump float;\n\n uniform float u_time;\n uniform vec2 u_resolution;\n uniform vec3 u_color1;\n uniform vec3 u_color2;\n uniform vec3 u_color3;\n uniform float u_spinRotation;\n uniform float u_spinSpeed;\n uniform float u_spinAmount;\n uniform float u_pixelFilter;\n uniform float u_contrast;\n uniform float u_lighting;\n\n void main() {\n vec2 screenSize = u_resolution;\n float pixel_size = length(screenSize.xy) / max(1.0, u_pixelFilter);\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 = (u_spinRotation * 0.2) + 302.2;\n float new_pixel_angle = atan(uv.y, uv.x) + speed - 20.0*(u_spinAmount*uv_len + (1.0 - u_spinAmount));\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 * u_spinSpeed;\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*u_contrast + 0.5*u_spinAmount + 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 = (u_lighting - 0.2)*max(c1p*5.0 - 4.0, 0.0) + u_lighting*max(c2p*5.0 - 4.0, 0.0);\n\n vec3 base = (0.3/u_contrast)*u_color1 + (1.0 - 0.3/u_contrast)*(u_color1*c1p + u_color2*c2p + c3p*u_color3) + vec3(light);\n gl_FragColor = vec4(base, 1.0);\n }\n ");
142
- if (!a || !o) return;
143
- let s = r.createProgram();
144
- if (!s) return;
145
- if (r.attachShader(s, a), r.attachShader(s, o), r.linkProgram(s), !r.getProgramParameter(s, r.LINK_STATUS)) {
146
- console.error("[JimboBackground] program link error:", r.getProgramInfoLog(s));
147
- return;
148
- }
149
- r.useProgram(s);
150
- let c = r.createBuffer();
151
- r.bindBuffer(r.ARRAY_BUFFER, c), r.bufferData(r.ARRAY_BUFFER, new Float32Array([
152
- -1,
153
- -1,
154
- 1,
155
- -1,
156
- -1,
157
- 1,
158
- -1,
159
- 1,
160
- 1,
161
- -1,
162
- 1,
163
- 1
164
- ]), r.STATIC_DRAW);
165
- let l = r.getAttribLocation(s, "position");
166
- r.enableVertexAttribArray(l), r.vertexAttribPointer(l, 2, r.FLOAT, !1, 0, 0);
167
- let u = r.getUniformLocation(s, "u_time"), d = r.getUniformLocation(s, "u_resolution"), f = r.getUniformLocation(s, "u_color1"), p = r.getUniformLocation(s, "u_color2"), m = r.getUniformLocation(s, "u_color3"), h = r.getUniformLocation(s, "u_spinRotation"), g = r.getUniformLocation(s, "u_spinSpeed"), _ = r.getUniformLocation(s, "u_spinAmount"), v = r.getUniformLocation(s, "u_pixelFilter"), y = r.getUniformLocation(s, "u_contrast"), b = r.getUniformLocation(s, "u_lighting"), x = (e) => ({
168
- spinRotation: e.spinRotation ?? A.spinRotation,
169
- spinSpeed: 4.5 * (e.speed ?? A.speed),
170
- spinAmount: e.spinAmount ?? A.spinAmount,
171
- pixelFilter: e.pixelFilter ?? A.pixelFilter,
172
- contrast: e.contrast ?? A.contrast,
173
- lighting: e.lighting ?? A.lighting
174
- }), S = n.current, C = [
175
- j(S.primary, A.primary),
176
- j(S.secondary, A.secondary),
177
- j(S.dark, A.dark)
178
- ], w = x(S), T = performance.now(), E = T, D = 0, O = () => {
179
- let t = performance.now(), i = Math.max(0, t - E);
180
- E = t;
181
- let a = n.current, o = [
182
- j(a.primary, A.primary),
183
- j(a.secondary, A.secondary),
184
- j(a.dark, A.dark)
185
- ], s = x(a), c = Math.max(1, a.transitionMs ?? A.transitionMs), l = 1 - Math.exp(-i / c);
186
- for (let e = 0; e < 3; e++) for (let t = 0; t < 3; t++) C[e][t] += (o[e][t] - C[e][t]) * l;
187
- let S = (e) => {
188
- w[e] += (s[e] - w[e]) * l;
189
- };
190
- S("spinRotation"), S("spinSpeed"), S("spinAmount"), S("pixelFilter"), S("contrast"), S("lighting");
191
- let k = e.clientWidth, M = e.clientHeight;
192
- (e.width !== k || e.height !== M) && (e.width = k, e.height = M, r.viewport(0, 0, r.drawingBufferWidth, r.drawingBufferHeight)), r.uniform1f(u, (t - T) / 1e3), r.uniform2f(d, e.width, e.height), r.uniform3f(f, C[0][0], C[0][1], C[0][2]), r.uniform3f(p, C[1][0], C[1][1], C[1][2]), r.uniform3f(m, C[2][0], C[2][1], C[2][2]), r.uniform1f(h, w.spinRotation), r.uniform1f(g, w.spinSpeed), r.uniform1f(_, w.spinAmount), r.uniform1f(v, w.pixelFilter), r.uniform1f(y, w.contrast), r.uniform1f(b, w.lighting), r.drawArrays(r.TRIANGLES, 0, 6), D = requestAnimationFrame(O);
193
- };
194
- return D = requestAnimationFrame(O), () => {
195
- cancelAnimationFrame(D), r.deleteProgram(s), r.deleteShader(a), r.deleteShader(o), r.deleteBuffer(c);
196
- };
197
- }, []), t;
198
- }
199
- function ee({ mode: e = "snap", placement: t = "auto", delay: n = 80, disabled: r = !1 }) {
200
- let [i, a] = _(!1), [o, s] = _(null), c = g(null), l = g(null), u = g(null), f = d(() => {
201
- r || (u.current && clearTimeout(u.current), u.current = setTimeout(() => a(!0), n));
202
- }, [r, n]), m = d(() => {
203
- u.current && clearTimeout(u.current), a(!1), s(null);
204
- }, []), h = d(() => {
205
- let e = c.current, n = l.current;
206
- if (!e || !n) return;
207
- let r = e.getBoundingClientRect(), i = n.getBoundingClientRect(), a = r.top, o = t === "top" ? "top" : t === "bottom" ? "bottom" : a >= i.height + 12 ? "top" : "bottom", u = r.left + r.width / 2 - i.width / 2, d = o === "top" ? r.top - i.height - 8 : r.bottom + 8;
208
- s({
209
- left: Math.max(8, Math.min(window.innerWidth - i.width - 8, u)),
210
- top: d,
211
- align: o
212
- });
213
- }, [t]);
214
- return p(() => {
215
- if (!i || e !== "snap") return;
216
- let t = requestAnimationFrame(h);
217
- return window.addEventListener("resize", h), window.addEventListener("scroll", h, !0), () => {
218
- cancelAnimationFrame(t), window.removeEventListener("resize", h), window.removeEventListener("scroll", h, !0);
219
- };
220
- }, [
221
- i,
222
- e,
223
- h
224
- ]), p(() => () => {
225
- u.current && clearTimeout(u.current);
226
- }, []), {
227
- visible: i,
228
- pos: o,
229
- targetRef: c,
230
- tooltipRef: l,
231
- show: f,
232
- hide: m,
233
- handleMouseMove: d((t) => {
234
- e === "mouse" && s({
235
- left: t.clientX + 12,
236
- top: t.clientY + 16,
237
- align: "bottom"
238
- });
239
- }, [e])
240
- };
241
- }
242
- function te({ layers: t, invert: n = !1, hoverTilt: r = !1 }) {
243
- let i = g(null), a = g(null), o = g(/* @__PURE__ */ new Map()), [s, c] = _(3 / 4), [, l] = _(0), u = g(null), f = g({
244
- rx: 0,
245
- ry: 0,
246
- rz: 0
247
- }), m = g({
248
- rx: 0,
249
- ry: 0,
250
- rz: 0
251
- }), h = t?.some((e) => e.animated);
252
- p(() => {
253
- let t = !1, n = o.current;
254
- return (async () => {
255
- let r = Array.from(new Set(Object.values(e).map((e) => e.src))), i = await Promise.all(r.map((e) => D(e)));
256
- t || (i.forEach((e, t) => {
257
- e && n.set(r[t], e);
258
- }), l((e) => e + 1));
259
- })().catch((e) => console.error("[JamlCardRenderer]", e)), () => {
260
- t = !0, n.clear();
261
- };
262
- }, []), p(() => {
263
- let e = i.current;
264
- if (!e || !t || t.length === 0) return;
265
- let r = e.getContext("2d");
266
- if (!r) return;
267
- let a = !1, s = null, u, d = (i) => {
268
- r.clearRect(0, 0, e.width, e.height), [...t].sort((e, t) => e.order - t.order).forEach((t) => {
269
- let n = o.current.get(t.source);
270
- if (n) {
271
- let a = O(e, r, n, t, h ? i : void 0);
272
- t.order === 0 && c(a);
273
- return;
274
- }
275
- D(t.source).then((n) => {
276
- if (!(a || !n)) {
277
- if (o.current.set(t.source, n), !h) {
278
- let i = O(e, r, n, t);
279
- t.order === 0 && c(i);
280
- }
281
- l((e) => e + 1);
282
- }
283
- });
284
- }), e.style.filter = n ? "invert(0.94)" : "none";
285
- };
286
- if (h) {
287
- let e = (t) => {
288
- a || (u === void 0 && (u = t), d(t - u), s = requestAnimationFrame(e));
289
- };
290
- s = requestAnimationFrame(e);
291
- } else d();
292
- return () => {
293
- a = !0, s !== null && cancelAnimationFrame(s);
294
- };
295
- }, [
296
- t,
297
- n,
298
- h
299
- ]);
300
- let v = d(() => {
301
- u.current !== null && (cancelAnimationFrame(u.current), u.current = null);
302
- }, []), y = d(() => {
303
- let e = i.current;
304
- if (!e) return;
305
- let t = m.current;
306
- e.style.transform = `rotateX(${t.rx}deg) rotateY(${t.ry}deg) rotateZ(${t.rz}deg)`;
307
- }, []), b = d((e, t) => {
308
- v();
309
- let n = performance.now(), r = (i) => {
310
- let a = Math.min(.05, (i - n) / 1e3);
311
- n = i;
312
- let o = f.current, s = m.current, c = 1 - Math.exp(-e * a);
313
- if (s.rx += (o.rx - s.rx) * c, s.ry += (o.ry - s.ry) * c, s.rz += (o.rz - s.rz) * c, y(), Math.abs(o.rx - s.rx) < .02 && Math.abs(o.ry - s.ry) < .02 && Math.abs(o.rz - s.rz) < .02) {
314
- s.rx = o.rx, s.ry = o.ry, s.rz = o.rz, y(), u.current = null, t?.();
315
- return;
316
- }
317
- u.current = requestAnimationFrame(r);
318
- };
319
- u.current = requestAnimationFrame(r);
320
- }, [v, y]);
321
- return p(() => () => v(), [v]), {
322
- canvasRef: i,
323
- containerRef: a,
324
- ratio: s,
325
- handlers: {
326
- onPointerEnter: r ? (e) => {
327
- !r || e.pointerType === "touch" || (a.current?.setAttribute("data-hovered", "true"), b(22));
328
- } : void 0,
329
- onPointerLeave: r ? () => {
330
- r && (a.current?.setAttribute("data-hovered", "false"), f.current = {
331
- rx: 0,
332
- ry: 0,
333
- rz: 0
334
- }, b(14, () => {
335
- let e = i.current;
336
- e && (e.style.transform = "");
337
- }));
338
- } : void 0,
339
- onPointerMove: r ? (e) => {
340
- if (!r || e.pointerType === "touch") return;
341
- let t = e.currentTarget.getBoundingClientRect(), n = Math.max(-1, Math.min(1, ((e.clientX - t.left) / t.width - .5) * 2)), i = Math.max(-1, Math.min(1, ((e.clientY - t.top) / t.height - .5) * 2));
342
- f.current = {
343
- rx: i * -10,
344
- ry: n * 12,
345
- rz: n * i * -1.2
346
- }, a.current?.style.setProperty("--j-card-glare-x", `${(n + 1) * 50}%`), a.current?.style.setProperty("--j-card-glare-y", `${(1 - i) * 50}%`), b(22);
347
- } : void 0
348
- }
349
- };
350
- }
351
- function ne(e, t, n) {
352
- let [r, i] = _(null), [a, o] = _(null), [s, c] = _(null), l = d((e, t, n) => {
353
- let r = "touches" in e ? e.touches[0] : e, i = e.currentTarget.getBoundingClientRect();
354
- o({
355
- clause: t,
356
- fromZone: n,
357
- x: r.clientX,
358
- y: r.clientY,
359
- offX: r.clientX - i.left,
360
- offY: r.clientY - i.top
361
- }), c(null);
362
- }, []), u = g(r), f = g(a), h = g(s), v = g(e), y = g(t);
363
- m(() => {
364
- u.current = r, f.current = a, h.current = s, v.current = e, y.current = t;
365
- });
366
- let b = r !== null || a !== null;
367
- return p(() => {
368
- if (!b) return;
369
- let e = (e) => {
370
- let t = "touches" in e ? e : null, r = t ? t.touches[0] : e;
371
- if (!r) return;
372
- let a = u.current;
373
- if (!a && f.current) {
374
- let e = r.clientX - f.current.x, t = r.clientY - f.current.y;
375
- if (Math.hypot(e, t) < 8) return;
376
- a = {
377
- ...f.current,
378
- x: r.clientX,
379
- y: r.clientY
380
- }, o(null), i(a);
381
- } else a && (a = {
382
- ...a,
383
- x: r.clientX,
384
- y: r.clientY
385
- }, i(a));
386
- if (!a) return;
387
- t?.cancelable && t.preventDefault();
388
- let s = n.current?.querySelectorAll("[data-zone]") ?? [], l = null;
389
- for (let e of s) {
390
- let t = e.getBoundingClientRect();
391
- if (r.clientX >= t.left && r.clientX <= t.right && r.clientY >= t.top && r.clientY <= t.bottom) {
392
- l = e.getAttribute("data-zone");
393
- break;
394
- }
395
- }
396
- c(l);
397
- }, t = () => {
398
- let e = u.current, t = h.current;
399
- if (e && t && t !== e.fromZone) {
400
- let n = t, r = v.current;
401
- y.current({
402
- ...r,
403
- [e.fromZone]: r[e.fromZone].filter((t) => t.id !== e.clause.id),
404
- [n]: [...r[n], { ...e.clause }]
405
- });
406
- }
407
- o(null), i(null), c(null);
408
- };
409
- return window.addEventListener("mousemove", e), window.addEventListener("mouseup", t), window.addEventListener("touchmove", e, { passive: !1 }), window.addEventListener("touchend", t), () => {
410
- window.removeEventListener("mousemove", e), window.removeEventListener("mouseup", t), window.removeEventListener("touchmove", e), window.removeEventListener("touchend", t);
411
- };
412
- }, [b, n]), {
413
- drag: r,
414
- hoverZone: s,
415
- onDragStart: l
416
- };
417
- }
418
- //#endregion
419
- //#region src/ui/sprites.tsx
420
- function re({ name: e, sheet: i, width: o = 40, height: s, style: c, className: l }) {
421
- let u = n(e), d = i ?? u?.type ?? "Jokers", f = r[d], p = t(d), m = u?.pos ?? p.pos, h = o;
422
- [
423
- "Jokers",
424
- "Tarots",
425
- "Vouchers",
426
- "Boosters",
427
- "Decks",
428
- "Enhancers",
429
- "Editions"
430
- ].includes(d) && (h = Math.round(o * 95 / 71));
431
- let g = s ?? h;
432
- if (!f) return null;
433
- let _ = o * f.cols, v = g * f.rows, b = -(m.x * o), x = -(m.y * g);
434
- return /* @__PURE__ */ y("div", {
435
- className: l,
436
- style: {
437
- width: o,
438
- height: g,
439
- flexShrink: 0,
440
- backgroundImage: `url(${a(f.assetKey)})`,
441
- backgroundSize: `${_}px ${v}px`,
442
- backgroundPosition: `${b}px ${x}px`,
443
- backgroundRepeat: "no-repeat",
444
- imageRendering: "pixelated",
445
- ...c
446
- }
447
- });
448
- }
449
- var ie = [
450
- "White",
451
- "Red",
452
- "Green",
453
- "Black",
454
- "Blue",
455
- "Purple",
456
- "Orange",
457
- "Gold"
458
- ];
459
- function ae({ stake: e, width: t = 29, height: n, style: r }) {
460
- let i = ie.indexOf(e.replace(" Stake", "")), o = i >= 0 ? i : 0, s = o % 5, c = Math.floor(o / 5), l = n ?? t, u = t * 5, d = l * 2;
461
- return /* @__PURE__ */ y("div", { style: {
462
- width: t,
463
- height: l,
464
- flexShrink: 0,
465
- backgroundImage: `url(${a("stakes")})`,
466
- backgroundSize: `${u}px ${d}px`,
467
- backgroundPosition: `-${s * t}px -${c * l}px`,
468
- backgroundRepeat: "no-repeat",
469
- imageRendering: "pixelated",
470
- ...r
471
- } });
472
- }
473
- var oe = {
474
- Red: {
475
- x: 0,
476
- y: 0
477
- },
478
- Blue: {
479
- x: 0,
480
- y: 2
481
- },
482
- Yellow: {
483
- x: 1,
484
- y: 2
485
- },
486
- Green: {
487
- x: 2,
488
- y: 2
489
- },
490
- Black: {
491
- x: 3,
492
- y: 2
493
- },
494
- Magic: {
495
- x: 4,
496
- y: 2
497
- }
498
- };
499
- function se({ deck: t, width: n = 71, height: r, style: i }) {
500
- let o = oe[t.replace(" Deck", "")] ?? oe.Red, s = r ?? n * 95 / 71, c = e.enhancers;
501
- return /* @__PURE__ */ y("div", { style: {
502
- width: n,
503
- height: s,
504
- flexShrink: 0,
505
- backgroundImage: `url(${a(c.asset)})`,
506
- backgroundSize: `${n * c.columns}px ${s * c.rows}px`,
507
- backgroundPosition: `${-o.x * n}px ${-o.y * s}px`,
508
- backgroundRepeat: "no-repeat",
509
- imageRendering: "pixelated",
510
- ...i
511
- } });
512
- }
513
- //#endregion
514
- //#region src/ui/jimboText.tsx
515
- function N({ tone: e = "default", size: t = "md", shadow: n = !0, dance: r = !1, letterSpacing: i, as: a = "span", className: o = "", style: s, children: c, ...l }) {
516
- let u = `j-text--${t}`, d = `j-text--${e}`, f = n ? "" : "j-text--no-shadow", p = r ? "j-text--dance-container" : "", m = {};
517
- i != null && (m.letterSpacing = i), s && Object.assign(m, s);
518
- let h = c;
519
- return r && typeof c == "string" && (h = c.split("").map((e, t) => /* @__PURE__ */ y("span", {
520
- className: "j-font-dance-char",
521
- style: { animationDelay: `${t * -.15}s` },
522
- children: e === " " ? "\xA0" : e
523
- }, t))), /* @__PURE__ */ y(a, {
524
- className: `j-text ${u} ${d} ${f} ${p} ${o}`.trim(),
525
- style: Object.keys(m).length > 0 ? m : void 0,
526
- ...l,
527
- children: h
528
- });
529
- }
530
- //#endregion
531
- //#region src/ui/JimboTextInput.tsx
532
- var ce = o.forwardRef(function({ className: e = "", invalid: t = !1, "aria-invalid": n, ...r }, i) {
533
- return /* @__PURE__ */ y("input", {
534
- ref: i,
535
- className: `j-text-input ${e}`.trim(),
536
- "aria-invalid": n ?? t,
537
- "data-invalid": t,
538
- ...r
539
- });
540
- });
541
- //#endregion
542
- //#region src/ui/JimboPicker.tsx
543
- function le({ className: e = "", ...t }) {
544
- return /* @__PURE__ */ y("div", {
545
- className: `j-picker ${e}`.trim(),
546
- ...t
547
- });
548
- }
549
- function ue({ className: e = "", ...t }) {
550
- return /* @__PURE__ */ y("div", {
551
- className: `j-picker__section ${e}`.trim(),
552
- ...t
553
- });
554
- }
555
- function de({ legendary: e, scroll: t, className: n = "", ...r }) {
556
- return /* @__PURE__ */ y("div", {
557
- className: [
558
- "j-picker__grid",
559
- e && "j-picker__grid--legendary",
560
- t && "hide-scrollbar",
561
- n
562
- ].filter(Boolean).join(" "),
563
- ...r
564
- });
565
- }
566
- function fe({ muted: e, className: t = "", ...n }) {
567
- return /* @__PURE__ */ y("div", {
568
- className: `j-picker__item j-juice-hover ${t}`.trim(),
569
- "data-muted": e,
570
- ...n
571
- });
572
- }
573
- function pe({ className: e = "", ...t }) {
574
- return /* @__PURE__ */ y("div", {
575
- className: `j-picker__search ${e}`.trim(),
576
- ...t
577
- });
578
- }
579
- function me({ className: e = "", ...t }) {
580
- return /* @__PURE__ */ y("div", {
581
- className: `j-picker__pair ${e}`.trim(),
582
- ...t
583
- });
584
- }
585
- function he({ className: e = "", ...t }) {
586
- return /* @__PURE__ */ y("div", {
587
- className: `j-picker__empty ${e}`.trim(),
588
- ...t
589
- });
590
- }
591
- function ge({ className: e = "", ...t }) {
592
- return /* @__PURE__ */ y("div", {
593
- className: `j-inner-panel j-picker__hint ${e}`.trim(),
594
- ...t
595
- });
596
- }
597
- //#endregion
598
- //#region src/ui/panel.tsx
599
- var _e = u(({ children: e, className: t = "", sway: n = !1, onBack: r, hideBack: i = !1, style: a, ...o }) => /* @__PURE__ */ b("div", {
600
- ref: k(n),
601
- className: `j-panel ${t}`,
602
- style: a,
603
- ...o,
604
- children: [/* @__PURE__ */ y("div", {
605
- className: "j-panel__body",
606
- children: e
607
- }), r && !i && /* @__PURE__ */ y("div", {
608
- className: "j-panel__back",
609
- children: /* @__PURE__ */ y(ye, { onClick: r })
610
- })]
611
- }));
612
- _e.displayName = "JimboPanel";
613
- var ve = u(({ children: e, className: t = "", style: n, ...r }) => /* @__PURE__ */ y("div", {
614
- className: `j-inner-panel ${t}`,
615
- style: n,
616
- ...r,
617
- children: e
618
- }));
619
- ve.displayName = "JimboInnerPanel";
620
- function P({ tone: e = "orange", size: t = "md", fullWidth: n = !1, disabled: r = !1, onClick: i, style: a, className: o = "", children: s, ...c }) {
621
- let l = t === "xs" ? "xs" : t === "sm" ? "sm" : t === "lg" ? "lg" : "md";
622
- return /* @__PURE__ */ y("button", {
623
- type: "button",
624
- className: `j-btn j-btn--${e} j-btn--${t} ${n ? "j-btn--full" : ""} ${r ? "j-btn--disabled" : ""} ${o}`,
625
- disabled: r,
626
- onClick: i,
627
- style: a,
628
- ...c,
629
- children: /* @__PURE__ */ y("div", {
630
- className: "j-btn__face",
631
- children: /* @__PURE__ */ y(N, {
632
- size: l,
633
- children: s
634
- })
635
- })
636
- });
637
- }
638
- function ye({ onClick: e, size: t = "sm" }) {
639
- return /* @__PURE__ */ y("div", {
640
- className: "j-back-btn-wrap j-flex j-justify-center j-w-full",
641
- children: /* @__PURE__ */ y(P, {
642
- tone: "orange",
643
- size: t,
644
- fullWidth: !0,
645
- onClick: e,
646
- className: "j-back-btn",
647
- children: "Back"
648
- })
649
- });
650
- }
651
- function be({ children: e, open: t, onClose: n, title: r, className: i, showBack: a = !0 }) {
652
- return t ? /* @__PURE__ */ y("div", {
653
- className: "j-modal-overlay",
654
- children: /* @__PURE__ */ b(_e, {
655
- onBack: a ? n : void 0,
656
- className: `j-modal ${i ?? ""}`,
657
- children: [r && /* @__PURE__ */ y("div", {
658
- className: "j-modal__title-wrap",
659
- "aria-hidden": !1,
660
- children: /* @__PURE__ */ y(N, {
661
- as: "h2",
662
- size: "lg",
663
- className: "j-modal__title",
664
- children: r
665
- })
666
- }), e]
667
- })
668
- }) : null;
669
- }
670
- //#endregion
671
- //#region src/ui/jimboTabs.tsx
672
- function xe({ tabs: e, activeTab: t, onTabChange: n, className: r = "", style: i }) {
673
- return /* @__PURE__ */ y("div", {
674
- className: `j-tabs ${r}`,
675
- style: i,
676
- children: e.map((e) => {
677
- let r = t === e.id;
678
- return /* @__PURE__ */ b("div", {
679
- className: "j-tab",
680
- "data-active": r,
681
- children: [/* @__PURE__ */ y("div", {
682
- className: "j-tab__indicator",
683
- "data-active": r,
684
- "aria-hidden": !0,
685
- children: /* @__PURE__ */ y("svg", {
686
- width: 14,
687
- height: 10,
688
- viewBox: "0 0 14 10",
689
- children: /* @__PURE__ */ y("polygon", { points: "7,10 0,0 14,0" })
690
- })
691
- }), /* @__PURE__ */ y(P, {
692
- tone: "red",
693
- size: "sm",
694
- onClick: () => n(e.id),
695
- children: e.label
696
- })]
697
- }, e.id);
698
- })
699
- });
700
- }
701
- //#endregion
702
- //#region src/ui/JimboListItem.tsx
703
- var Se = o.forwardRef(function({ active: e = !1, className: t = "", children: n, ...r }, i) {
704
- return /* @__PURE__ */ y("button", {
705
- ref: i,
706
- type: "button",
707
- className: `j-list-item ${t}`.trim(),
708
- "data-active": e,
709
- ...r,
710
- children: n
711
- });
712
- }), F = w, Ce = {
713
- xs: 22,
714
- sm: 26,
715
- md: 30
716
- }, we = {
717
- default: {
718
- rest: F.DARKEST,
719
- hover: F.DARK_GREY,
720
- border: F.PANEL_EDGE
721
- },
722
- destructive: {
723
- rest: F.RED,
724
- hover: F.ORANGE,
725
- border: F.BLACK
726
- }
727
- };
728
- function Te({ onClick: e, onMouseDown: t, onTouchStart: n, title: r, "aria-label": i, disabled: a = !1, size: o = "md", tone: s = "default", children: c }) {
729
- let [l, u] = _(!1), d = Ce[o], f = we[s], p = s === "destructive" ? 2 : 1, m = s === "destructive" ? `inset 0 1px 0 rgba(255,255,255,.2), 0 2px 0 ${F.BLACK}` : void 0;
730
- return /* @__PURE__ */ y("button", {
731
- "aria-label": i ?? r,
732
- disabled: a,
733
- onClick: (t) => !a && e?.(t),
734
- onMouseDown: t,
735
- onTouchStart: n,
736
- onMouseEnter: () => u(!0),
737
- onMouseLeave: () => u(!1),
738
- style: {
739
- width: d,
740
- height: d,
741
- display: "inline-flex",
742
- alignItems: "center",
743
- justifyContent: "center",
744
- background: l && !a ? f.hover : f.rest,
745
- color: F.WHITE,
746
- border: `${p}px solid ${f.border}`,
747
- borderRadius: 4,
748
- boxShadow: m,
749
- cursor: a ? "not-allowed" : "pointer",
750
- opacity: a ? .55 : 1,
751
- padding: 0,
752
- fontSize: 14,
753
- lineHeight: 1,
754
- transition: "background 80ms ease"
755
- },
756
- title: r,
757
- type: "button",
758
- children: c
759
- });
760
- }
761
- //#endregion
762
- //#region src/ui/JimboInlineEdit.tsx
763
- var Ee = o.forwardRef(function({ size: e = "md", tone: t = "white", dim: n = !1, className: r = "", ...i }, a) {
764
- return /* @__PURE__ */ y("input", {
765
- ref: a,
766
- type: "text",
767
- className: [
768
- "j-inline-edit",
769
- `j-inline-edit--${e}`,
770
- `j-inline-edit--${t}`,
771
- n ? "j-inline-edit--dim" : null,
772
- r || null
773
- ].filter(Boolean).join(" "),
774
- ...i
775
- });
776
- });
777
- //#endregion
778
- //#region src/ui/JimboBadge.tsx
779
- function De({ size: e = "sm", tone: t = "dark", className: n, children: r, ...i }) {
780
- return /* @__PURE__ */ y("span", {
781
- className: `j-badge j-badge--${e} j-badge--${t} ${n ?? ""}`,
782
- ...i,
783
- children: r
784
- });
785
- }
786
- //#endregion
787
- //#region src/ui/jimboFlankNav.tsx
788
- function Oe({ onPrev: e, onNext: t, canPrev: n = !0, canNext: r = !0, prevLabel: i = "Previous", nextLabel: a = "Next", children: o, className: s = "", style: c }) {
789
- return /* @__PURE__ */ b("div", {
790
- className: `j-flank ${s}`,
791
- style: c,
792
- children: [
793
- /* @__PURE__ */ y(ke, {
794
- direction: "left",
795
- onClick: e,
796
- disabled: !n,
797
- "aria-label": i
798
- }),
799
- /* @__PURE__ */ y("div", {
800
- className: "j-flank__content",
801
- children: o
802
- }),
803
- /* @__PURE__ */ y(ke, {
804
- direction: "right",
805
- onClick: t,
806
- disabled: !r,
807
- "aria-label": a
808
- })
809
- ]
810
- });
811
- }
812
- function ke({ direction: e, onClick: t, disabled: n, "aria-label": r }) {
813
- let [i, a] = o.useState(!1);
814
- return /* @__PURE__ */ y("button", {
815
- type: "button",
816
- className: "j-flank__btn",
817
- "data-pressed": i && !n,
818
- onClick: t,
819
- disabled: n,
820
- "aria-label": r,
821
- title: r,
822
- onMouseDown: () => !n && a(!0),
823
- onMouseUp: () => a(!1),
824
- onMouseLeave: () => a(!1),
825
- onTouchStart: () => !n && a(!0),
826
- onTouchEnd: () => a(!1),
827
- children: /* @__PURE__ */ y(Ae, { direction: e })
828
- });
829
- }
830
- function Ae({ direction: e }) {
831
- return /* @__PURE__ */ y("svg", {
832
- width: 28,
833
- height: 28,
834
- viewBox: "0 0 28 28",
835
- fill: "none",
836
- stroke: "currentColor",
837
- strokeWidth: 2,
838
- strokeLinecap: "round",
839
- strokeLinejoin: "round",
840
- "aria-hidden": !0,
841
- children: /* @__PURE__ */ y("polyline", { points: e === "left" ? "18,4 8,14 18,24" : "10,4 20,14 10,24" })
842
- });
843
- }
844
- //#endregion
845
- //#region src/ui/JimboSeedCopyChip.tsx
846
- function je({ value: e, placeholder: t = "--------", disabled: n = !1, copiedLabel: r = "Copied!", copiedDurationMs: i = 2e3, onCopy: a, className: o = "", style: s }) {
847
- let [c, l] = _(!1), u = e.trim(), d = !n && u.length > 0;
848
- return /* @__PURE__ */ b("button", {
849
- type: "button",
850
- className: ["j-seed-copy", o].filter(Boolean).join(" "),
851
- style: s,
852
- onClick: async () => {
853
- if (d) {
854
- try {
855
- typeof navigator < "u" && navigator.clipboard?.writeText && await navigator.clipboard.writeText(u);
856
- } catch {}
857
- l(!0), a?.(u), window.setTimeout(() => l(!1), i);
858
- }
859
- },
860
- disabled: !d,
861
- "data-copied": c,
862
- "aria-label": d ? `Copy seed ${u}` : "Seed unavailable",
863
- children: [/* @__PURE__ */ y("span", {
864
- className: "j-seed-copy__icon",
865
- "aria-hidden": !0,
866
- children: y(c ? x : S, { size: 18 })
867
- }), /* @__PURE__ */ y("span", {
868
- className: "j-seed-copy__text",
869
- children: c ? r : u || t
870
- })]
871
- });
872
- }
873
- //#endregion
874
- //#region src/ui/JimboSpinner.tsx
875
- function Me({ value: e, label: t, onPrev: n, onNext: r, canPrev: i = !0, canNext: a = !0, className: o = "" }) {
876
- return /* @__PURE__ */ b("div", {
877
- className: `j-spinner-wrap ${o}`,
878
- children: [t && /* @__PURE__ */ y("div", {
879
- className: "j-spinner__label",
880
- children: /* @__PURE__ */ y(N, {
881
- size: "sm",
882
- tone: "white",
883
- children: t
884
- })
885
- }), /* @__PURE__ */ b("div", {
886
- className: "j-spinner",
887
- children: [
888
- /* @__PURE__ */ y(P, {
889
- tone: "red",
890
- size: "sm",
891
- onClick: n,
892
- disabled: !i,
893
- "aria-label": `Previous ${t ?? "value"}`,
894
- children: "<"
895
- }),
896
- /* @__PURE__ */ y("div", {
897
- className: "j-spinner__value",
898
- children: /* @__PURE__ */ y(N, {
899
- size: "sm",
900
- tone: "white",
901
- children: e
902
- })
903
- }),
904
- /* @__PURE__ */ y(P, {
905
- tone: "red",
906
- size: "sm",
907
- onClick: r,
908
- disabled: !a,
909
- "aria-label": `Next ${t ?? "value"}`,
910
- children: ">"
911
- })
912
- ]
913
- })]
914
- });
915
- }
916
- //#endregion
917
- //#region src/ui/JimboToggleList.tsx
918
- function Ne({ items: e, onToggle: t, title: n, variant: r = "row" }) {
919
- return /* @__PURE__ */ y(_e, { children: /* @__PURE__ */ b("div", {
920
- className: `j-toggle-list j-toggle-list--${r}`,
921
- children: [n && /* @__PURE__ */ y("div", {
922
- className: "j-toggle-list__title",
923
- children: n
924
- }), e.map((e) => /* @__PURE__ */ b("button", {
925
- type: "button",
926
- className: "j-toggle-item",
927
- "data-variant": r,
928
- "aria-pressed": e.on,
929
- onClick: () => t(e.id),
930
- children: [/* @__PURE__ */ y("span", {
931
- className: "j-toggle-item__label",
932
- children: e.label
933
- }), /* @__PURE__ */ y("span", {
934
- className: "j-toggle-check",
935
- "data-on": e.on
936
- })]
937
- }, e.id))]
938
- }) });
939
- }
940
- //#endregion
941
- //#region src/ui/jimboFilterBar.tsx
942
- function Pe({ search: e, onSearchChange: t, searchPlaceholder: n = "Search...", searchLabel: r = "Search", sort: i, onSortChange: a, sortLabel: o = "Sort By", sortOptions: s, className: c = "", style: l }) {
943
- return /* @__PURE__ */ b("div", {
944
- className: `j-filter-bar ${c}`,
945
- style: l,
946
- children: [t ? /* @__PURE__ */ b("div", {
947
- className: "j-filter-bar__field",
948
- children: [/* @__PURE__ */ y("div", {
949
- className: "j-filter-bar__pill",
950
- children: /* @__PURE__ */ y(N, {
951
- size: "xs",
952
- children: r
953
- })
954
- }), /* @__PURE__ */ b("div", {
955
- className: "j-relative",
956
- children: [/* @__PURE__ */ y("div", {
957
- className: "j-filter-bar__search-icon",
958
- children: /* @__PURE__ */ y(Fe, {})
959
- }), /* @__PURE__ */ y("input", {
960
- type: "text",
961
- value: e ?? "",
962
- onChange: (e) => t(e.target.value),
963
- placeholder: n,
964
- className: "j-filter-bar__input"
965
- })]
966
- })]
967
- }) : null, s && a ? /* @__PURE__ */ b("div", {
968
- className: "j-filter-bar__field",
969
- children: [/* @__PURE__ */ y("div", {
970
- className: "j-filter-bar__pill",
971
- children: /* @__PURE__ */ y(N, {
972
- size: "xs",
973
- children: o
974
- })
975
- }), /* @__PURE__ */ b("div", {
976
- className: "j-relative",
977
- children: [/* @__PURE__ */ y("select", {
978
- value: i ?? s[0]?.value,
979
- onChange: (e) => a(e.target.value),
980
- className: "j-filter-bar__select",
981
- children: s.map((e) => /* @__PURE__ */ y("option", {
982
- value: e.value,
983
- children: e.label
984
- }, e.value))
985
- }), /* @__PURE__ */ y("div", {
986
- className: "j-filter-bar__sort-icon",
987
- children: /* @__PURE__ */ y(Ie, {})
988
- })]
989
- })]
990
- }) : null]
991
- });
992
- }
993
- function Fe() {
994
- return /* @__PURE__ */ b("svg", {
995
- width: 24,
996
- height: 24,
997
- viewBox: "0 0 24 24",
998
- fill: "none",
999
- stroke: "currentColor",
1000
- strokeWidth: 3,
1001
- strokeLinecap: "round",
1002
- strokeLinejoin: "round",
1003
- "aria-hidden": !0,
1004
- children: [/* @__PURE__ */ y("circle", {
1005
- cx: 11,
1006
- cy: 11,
1007
- r: 8
1008
- }), /* @__PURE__ */ y("line", {
1009
- x1: 21,
1010
- y1: 21,
1011
- x2: 16.65,
1012
- y2: 16.65
1013
- })]
1014
- });
1015
- }
1016
- function Ie() {
1017
- return /* @__PURE__ */ b("svg", {
1018
- width: 20,
1019
- height: 20,
1020
- viewBox: "0 0 24 24",
1021
- fill: "none",
1022
- stroke: "currentColor",
1023
- strokeWidth: 2.5,
1024
- strokeLinecap: "round",
1025
- strokeLinejoin: "round",
1026
- "aria-hidden": !0,
1027
- children: [
1028
- /* @__PURE__ */ y("polyline", { points: "7 4 7 20" }),
1029
- /* @__PURE__ */ y("polyline", { points: "3 8 7 4 11 8" }),
1030
- /* @__PURE__ */ y("polyline", { points: "17 20 17 4" }),
1031
- /* @__PURE__ */ y("polyline", { points: "21 16 17 20 13 16" })
1032
- ]
1033
- });
1034
- }
1035
- //#endregion
1036
- //#region src/ui/jimboBackground.tsx
1037
- function Le(e) {
1038
- return /* @__PURE__ */ y("canvas", {
1039
- ref: M(e),
1040
- "aria-hidden": !0,
1041
- className: "j-background-canvas"
1042
- });
1043
- }
1044
- //#endregion
1045
- //#region src/ui/jimboTooltip.tsx
1046
- function Re(e, t) {
1047
- typeof e == "function" ? e(t) : e && typeof e == "object" && (e.current = t);
1048
- }
1049
- function ze({ content: e, badge: t, variant: n = "dark", children: r, mode: i = "snap", placement: a = "auto", delay: s = 80, maxWidth: c = 280, disabled: l = !1 }) {
1050
- let { visible: u, pos: f, targetRef: p, tooltipRef: m, show: h, hide: g, handleMouseMove: _ } = ee({
1051
- mode: i,
1052
- placement: a,
1053
- delay: s,
1054
- disabled: l
1055
- }), x = o.Children.only(r), S = x.ref, C = d((e) => {
1056
- p.current = e, Re(S, e);
1057
- }, [S, p]);
1058
- return /* @__PURE__ */ b(v, { children: [o.cloneElement(x, {
1059
- ref: C,
1060
- onMouseEnter: (e) => {
1061
- h(), x.props.onMouseEnter?.(e);
1062
- },
1063
- onMouseLeave: (e) => {
1064
- g(), x.props.onMouseLeave?.(e);
1065
- },
1066
- onFocus: (e) => {
1067
- h(), x.props.onFocus?.(e);
1068
- },
1069
- onBlur: (e) => {
1070
- g(), x.props.onBlur?.(e);
1071
- },
1072
- onMouseMove: (e) => {
1073
- _(e), x.props.onMouseMove?.(e);
1074
- }
1075
- }), u ? /* @__PURE__ */ b("div", {
1076
- ref: m,
1077
- role: "tooltip",
1078
- className: `j-tooltip j-tooltip--${n}`,
1079
- style: {
1080
- left: f?.left ?? -9999,
1081
- top: f?.top ?? -9999,
1082
- maxWidth: c,
1083
- opacity: +!!f
1084
- },
1085
- children: [/* @__PURE__ */ y("div", {
1086
- className: "j-tooltip__body",
1087
- children: e
1088
- }), t && /* @__PURE__ */ y("div", {
1089
- className: `j-tooltip__badge j-bg--${t.tone}`,
1090
- children: t.label
1091
- })]
1092
- }) : null] });
1093
- }
1094
- //#endregion
1095
- //#region src/ui/JimboCopyButton.tsx
1096
- function Be({ value: e, label: t = "Copy", copiedLabel: n = "Copied", tone: r = "blue", size: i = "sm", copiedDurationMs: a = 1500, onCopy: o, className: s }) {
1097
- let [c, l] = _(!1);
1098
- function u() {
1099
- navigator.clipboard.writeText(e).then(() => {
1100
- l(!0), o?.(), window.setTimeout(() => l(!1), a);
1101
- });
1102
- }
1103
- return /* @__PURE__ */ y(P, {
1104
- tone: r,
1105
- size: i,
1106
- onClick: u,
1107
- className: s,
1108
- children: c ? n : t
1109
- });
1110
- }
1111
- //#endregion
1112
- //#region src/ui/codeBlock.tsx
1113
- function Ve({ code: e, language: t, filename: n, className: r = "" }) {
1114
- let i = n?.toLowerCase().endsWith(".jaml") ? "JAML" : t?.toLowerCase() === "yaml" ? void 0 : t;
1115
- return /* @__PURE__ */ b("div", {
1116
- className: `j-code-block ${r}`,
1117
- children: [/* @__PURE__ */ b("div", {
1118
- className: "j-code-block__header",
1119
- children: [/* @__PURE__ */ b("div", {
1120
- className: "j-code-block__meta",
1121
- children: [n && /* @__PURE__ */ y(N, {
1122
- size: "xs",
1123
- tone: "grey",
1124
- className: "j-code-block__filename",
1125
- children: n
1126
- }), i && /* @__PURE__ */ y("span", {
1127
- className: "j-code-block__lang",
1128
- children: /* @__PURE__ */ y(N, {
1129
- size: "micro",
1130
- tone: "blue",
1131
- children: i
1132
- })
1133
- })]
1134
- }), /* @__PURE__ */ y(Be, { value: e })]
1135
- }), /* @__PURE__ */ y("pre", {
1136
- className: "j-code-block__pre",
1137
- children: /* @__PURE__ */ y("code", { children: e })
1138
- })]
1139
- });
1140
- }
1141
- //#endregion
1142
- //#region src/ui/jimboLink.tsx
1143
- function He({ external: e = !0, className: t = "", children: n, ...r }) {
1144
- let i = e ? {
1145
- target: "_blank",
1146
- rel: "noopener noreferrer"
1147
- } : {};
1148
- return /* @__PURE__ */ y("a", {
1149
- className: `j-link ${t}`.trim(),
1150
- ...i,
1151
- ...r,
1152
- children: n
1153
- });
1154
- }
1155
- //#endregion
1156
- //#region src/ui/JimboBalatroFooter.tsx
1157
- var Ue = [
1158
- {
1159
- char: "♥️",
1160
- kf: "jaml-heart"
1161
- },
1162
- {
1163
- char: "♠️",
1164
- kf: "jaml-spade"
1165
- },
1166
- {
1167
- char: "♦️",
1168
- kf: "jaml-diamond"
1169
- },
1170
- {
1171
- char: "♣️",
1172
- kf: "jaml-club"
1173
- }
1174
- ], We = "5s";
1175
- function Ge({ hidden: e = !1, className: t = "", children: n }) {
1176
- return e ? null : /* @__PURE__ */ b("div", {
1177
- className: ["j-footer", t].filter(Boolean).join(" "),
1178
- children: [/* @__PURE__ */ y("div", {
1179
- className: "j-footer__bar",
1180
- children: /* @__PURE__ */ b("p", {
1181
- className: "j-footer__line j-footer__line--wrap",
1182
- children: [
1183
- /* @__PURE__ */ y("span", {
1184
- className: "j-footer__chunk",
1185
- children: "Not affiliated with LocalThunk or PlayStack"
1186
- }),
1187
- /* @__PURE__ */ b("span", {
1188
- className: "j-footer__chunk j-footer__chunk--credit",
1189
- children: [
1190
- "Made with",
1191
- " ",
1192
- /* @__PURE__ */ y("span", {
1193
- style: {
1194
- position: "relative",
1195
- display: "inline-block",
1196
- width: "1.5em",
1197
- height: "1.2em",
1198
- verticalAlign: "middle"
1199
- },
1200
- children: Ue.map(({ char: e, kf: t }) => /* @__PURE__ */ y("span", {
1201
- style: {
1202
- position: "absolute",
1203
- inset: 0,
1204
- display: "inline-flex",
1205
- alignItems: "center",
1206
- justifyContent: "center",
1207
- opacity: 0,
1208
- animationName: t,
1209
- animationDuration: We,
1210
- animationDelay: "0s",
1211
- animationIterationCount: "infinite",
1212
- animationTimingFunction: "ease-out"
1213
- },
1214
- children: e
1215
- }, e))
1216
- }),
1217
- " ",
1218
- "for the ",
1219
- /* @__PURE__ */ y(He, {
1220
- href: "https://playbalatro.com",
1221
- children: "Balatro"
1222
- }),
1223
- " community"
1224
- ]
1225
- }),
1226
- n ? /* @__PURE__ */ y("span", {
1227
- className: "j-footer__extra",
1228
- children: n
1229
- }) : null
1230
- ]
1231
- })
1232
- }), /* @__PURE__ */ y("style", { children: "\n @keyframes jaml-heart { 0%{opacity:0;transform:scale(1)} 1%{opacity:1;transform:scale(1.45)} 3.5%{opacity:1;transform:scale(1)} 61.5%{opacity:1;transform:scale(1)} 62%{opacity:0} 100%{opacity:0} }\n @keyframes jaml-spade { 0%,61.5%{opacity:0} 62%{opacity:1;transform:scale(1.45)} 64.5%{opacity:1;transform:scale(1)} 71.5%{opacity:1} 72%{opacity:0} 100%{opacity:0} }\n @keyframes jaml-diamond { 0%,71.5%{opacity:0} 72%{opacity:1;transform:scale(1.45)} 74.5%{opacity:1;transform:scale(1)} 81.5%{opacity:1} 82%{opacity:0} 100%{opacity:0} }\n @keyframes jaml-club { 0%,81.5%{opacity:0} 82%{opacity:1;transform:scale(1.45)} 84.5%{opacity:1;transform:scale(1)} 95%{opacity:1} 96%{opacity:0} 100%{opacity:0} }\n " })]
1233
- });
1234
- }
1235
- //#endregion
1236
- //#region src/ui/jimboCopyRow.tsx
1237
- function Ke({ value: e, label: t }) {
1238
- return /* @__PURE__ */ b("div", {
1239
- className: "j-copy-row",
1240
- children: [t ? /* @__PURE__ */ y(N, {
1241
- size: "xs",
1242
- tone: "grey",
1243
- className: "j-copy-row__label",
1244
- children: t
1245
- }) : null, /* @__PURE__ */ y(je, { value: e })]
1246
- });
1247
- }
1248
- //#endregion
1249
- //#region src/ui/jimboApp.tsx
1250
- function qe({ children: e, className: t = "", ...n }) {
1251
- return /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("div", {
1252
- className: `j-app ${t}`.trim(),
1253
- ...n,
1254
- children: e
1255
- }), /* @__PURE__ */ y(Ge, {})] });
1256
- }
1257
- function Je({ children: e, className: t = "", ...n }) {
1258
- return /* @__PURE__ */ y("div", {
1259
- className: `j-app__scroll ${t}`,
1260
- ...n,
1261
- children: e
1262
- });
1263
- }
1264
- function Ye({ children: e, className: t = "", ...n }) {
1265
- return /* @__PURE__ */ y("div", {
1266
- className: `j-app__footer ${t}`,
1267
- ...n,
1268
- children: e
1269
- });
1270
- }
1271
- //#endregion
1272
- //#region src/ui/jimboWordmark.tsx
1273
- function Xe({ title: e, subtitle: t, className: n = "" }) {
1274
- return /* @__PURE__ */ b("div", {
1275
- className: `j-wordmark ${n}`,
1276
- children: [/* @__PURE__ */ y("div", {
1277
- className: "j-wordmark__title",
1278
- children: e
1279
- }), t && /* @__PURE__ */ y("div", {
1280
- className: "j-wordmark__sub",
1281
- children: t
1282
- })]
1283
- });
1284
- }
1285
- //#endregion
1286
- //#region src/ui/jimboSectionHeader.tsx
1287
- function Ze({ label: e, tone: t = "blue", className: n = "" }) {
1288
- return /* @__PURE__ */ b("div", {
1289
- className: `j-section-header ${n}`,
1290
- children: [/* @__PURE__ */ y("div", {
1291
- className: `j-section-header__tag j-bg--${t}`,
1292
- children: e
1293
- }), /* @__PURE__ */ y("div", { className: `j-section-header__rule j-bg--${t}` })]
1294
- });
1295
- }
1296
- //#endregion
1297
- //#region src/ui/jimboInfoCard.tsx
1298
- function Qe({ tone: e, children: t, className: n = "", ...r }) {
1299
- return /* @__PURE__ */ y("div", {
1300
- className: `j-info-card ${e ? `j-border--${e}` : ""} ${n}`,
1301
- style: e ? { borderColor: void 0 } : void 0,
1302
- ...r,
1303
- children: t
1304
- });
1305
- }
1306
- function $e({ children: e, className: t = "" }) {
1307
- return /* @__PURE__ */ y("div", {
1308
- className: `j-info-card__body ${t}`,
1309
- children: e
1310
- });
1311
- }
1312
- function et({ children: e, className: t = "" }) {
1313
- return /* @__PURE__ */ y("div", {
1314
- className: `j-info-card__title ${t}`,
1315
- children: e
1316
- });
1317
- }
1318
- function tt({ children: e, className: t = "" }) {
1319
- return /* @__PURE__ */ y("div", {
1320
- className: `j-info-card__sub ${t}`,
1321
- children: e
1322
- });
1323
- }
1324
- function nt({ children: e, className: t = "" }) {
1325
- return /* @__PURE__ */ y("div", {
1326
- className: `j-info-card__aside ${t}`,
1327
- children: e
1328
- });
1329
- }
1330
- //#endregion
1331
- //#region src/ui/jimboStatGrid.tsx
1332
- function rt({ items: e, className: t = "", ...n }) {
1333
- return /* @__PURE__ */ y("div", {
1334
- className: `j-stat-grid ${t}`,
1335
- ...n,
1336
- children: e.map((e) => /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("div", {
1337
- className: "j-stat-grid__value",
1338
- children: e.value
1339
- }), /* @__PURE__ */ y("div", {
1340
- className: "j-stat-grid__label",
1341
- children: e.label
1342
- })] }, e.label))
1343
- });
1344
- }
1345
- //#endregion
1346
- //#region src/ui/jimboLayout.tsx
1347
- function it({ gap: e, align: t, justify: n, className: r = "", ...i }) {
1348
- return /* @__PURE__ */ y("div", {
1349
- className: [
1350
- "j-stack",
1351
- e && `j-stack--gap-${e}`,
1352
- t && `j-stack--align-${t}`,
1353
- n && `j-stack--justify-${n}`,
1354
- r
1355
- ].filter(Boolean).join(" "),
1356
- ...i
1357
- });
1358
- }
1359
- function at({ gap: e, align: t, justify: n, wrap: r = !1, className: i = "", ...a }) {
1360
- return /* @__PURE__ */ y("div", {
1361
- className: [
1362
- "j-row",
1363
- e && `j-row--gap-${e}`,
1364
- t && `j-row--align-${t}`,
1365
- n && `j-row--justify-${n}`,
1366
- r && "j-row--wrap",
1367
- i
1368
- ].filter(Boolean).join(" "),
1369
- ...a
1370
- });
1371
- }
1372
- //#endregion
1373
- //#region src/ui/jimboInset.tsx
1374
- function ot({ children: e, className: t = "", ...n }) {
1375
- return /* @__PURE__ */ y("div", {
1376
- className: `j-inset ${t}`.trim(),
1377
- ...n,
1378
- children: e
1379
- });
1380
- }
1381
- //#endregion
1382
- //#region src/ui/JimboPanelSpinner.tsx
1383
- function st({ label: e, title: t, description: n, media: r, meta: i, className: a = "", style: o, onPrev: s, onNext: c, prevDisabled: l = !1, nextDisabled: u = !1 }) {
1384
- return /* @__PURE__ */ b("div", {
1385
- className: `j-panel-spinner ${a}`.trim(),
1386
- style: o,
1387
- children: [e ? /* @__PURE__ */ y("div", {
1388
- className: "j-panel-spinner__label",
1389
- children: /* @__PURE__ */ y(N, {
1390
- size: "xs",
1391
- tone: "grey",
1392
- children: e
1393
- })
1394
- }) : null, /* @__PURE__ */ b("div", {
1395
- className: "j-panel-spinner__row",
1396
- children: [
1397
- /* @__PURE__ */ y(P, {
1398
- tone: "red",
1399
- size: "lg",
1400
- className: "j-panel-spinner__arrow j-panel-spinner__arrow--left",
1401
- onClick: s,
1402
- disabled: l,
1403
- "aria-label": "Previous",
1404
- children: "<"
1405
- }),
1406
- /* @__PURE__ */ b("div", {
1407
- className: "j-panel-spinner__panel",
1408
- children: [
1409
- r ? /* @__PURE__ */ y("div", {
1410
- className: "j-panel-spinner__media",
1411
- children: r
1412
- }) : null,
1413
- /* @__PURE__ */ y("div", {
1414
- className: "j-panel-spinner__title",
1415
- children: /* @__PURE__ */ y(N, {
1416
- size: "md",
1417
- tone: "white",
1418
- children: t
1419
- })
1420
- }),
1421
- i ? /* @__PURE__ */ y("div", {
1422
- className: "j-panel-spinner__meta",
1423
- children: i
1424
- }) : null,
1425
- n ? /* @__PURE__ */ y("div", {
1426
- className: "j-panel-spinner__description",
1427
- children: /* @__PURE__ */ y(N, {
1428
- size: "micro",
1429
- tone: "grey",
1430
- children: n
1431
- })
1432
- }) : null
1433
- ]
1434
- }),
1435
- /* @__PURE__ */ y(P, {
1436
- tone: "red",
1437
- size: "lg",
1438
- className: "j-panel-spinner__arrow j-panel-spinner__arrow--right",
1439
- onClick: c,
1440
- disabled: u,
1441
- "aria-label": "Next",
1442
- children: ">"
1443
- })
1444
- ]
1445
- })]
1446
- });
1447
- }
1448
- //#endregion
1449
- //#region src/ui/JimboDeckAndStakeSelectorModal.tsx
1450
- function ct(e, t, n) {
1451
- let r = e.indexOf(t);
1452
- return r < 0 ? e[0] ?? t : e[(r + n + e.length) % e.length] ?? t;
1453
- }
1454
- function lt({ open: e, onClose: t, decks: n, stakes: r, deck: i, stake: a, onDeckChange: o, onStakeChange: s, title: c = "Search seeds for", deckDescription: l, stakeDescription: u }) {
1455
- return /* @__PURE__ */ y(be, {
1456
- open: e,
1457
- onClose: t,
1458
- title: c,
1459
- children: /* @__PURE__ */ b(it, {
1460
- gap: "md",
1461
- align: "stretch",
1462
- children: [/* @__PURE__ */ y(st, {
1463
- label: "Deck",
1464
- title: `${i} Deck`,
1465
- description: l ? l(i) : " ",
1466
- media: /* @__PURE__ */ y(se, {
1467
- deck: i,
1468
- width: 64
1469
- }),
1470
- onPrev: () => o(ct(n, i, -1)),
1471
- onNext: () => o(ct(n, i, 1))
1472
- }), /* @__PURE__ */ y(st, {
1473
- label: "Stake",
1474
- title: `${a} Stake`,
1475
- description: u ? u(a) : " ",
1476
- media: /* @__PURE__ */ y(ae, {
1477
- stake: a,
1478
- width: 48
1479
- }),
1480
- onPrev: () => s(ct(r, a, -1)),
1481
- onNext: () => s(ct(r, a, 1))
1482
- })]
1483
- })
1484
- });
1485
- }
1486
- //#endregion
1487
- //#region node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs
1488
- function ut(e) {
1489
- return e == null;
1490
- }
1491
- function dt(e) {
1492
- return typeof e == "object" && !!e;
1493
- }
1494
- function ft(e) {
1495
- return Array.isArray(e) ? e : ut(e) ? [] : [e];
1496
- }
1497
- function pt(e, t) {
1498
- var n, r, i, a;
1499
- if (t) for (a = Object.keys(t), n = 0, r = a.length; n < r; n += 1) i = a[n], e[i] = t[i];
1500
- return e;
1501
- }
1502
- function mt(e, t) {
1503
- var n = "", r;
1504
- for (r = 0; r < t; r += 1) n += e;
1505
- return n;
1506
- }
1507
- function ht(e) {
1508
- return e === 0 && 1 / e == -Infinity;
1509
- }
1510
- var I = {
1511
- isNothing: ut,
1512
- isObject: dt,
1513
- toArray: ft,
1514
- repeat: mt,
1515
- isNegativeZero: ht,
1516
- extend: pt
1517
- };
1518
- function gt(e, t) {
1519
- var n = "", r = e.reason || "(unknown reason)";
1520
- return e.mark ? (e.mark.name && (n += "in \"" + e.mark.name + "\" "), n += "(" + (e.mark.line + 1) + ":" + (e.mark.column + 1) + ")", !t && e.mark.snippet && (n += "\n\n" + e.mark.snippet), r + " " + n) : r;
1521
- }
1522
- function _t(e, t) {
1523
- Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = gt(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = (/* @__PURE__ */ Error()).stack || "";
1524
- }
1525
- _t.prototype = Object.create(Error.prototype), _t.prototype.constructor = _t, _t.prototype.toString = function(e) {
1526
- return this.name + ": " + gt(this, e);
1527
- };
1528
- var L = _t;
1529
- function vt(e, t, n, r, i) {
1530
- var a = "", o = "", s = Math.floor(i / 2) - 1;
1531
- return r - t > s && (a = " ... ", t = r - s + a.length), n - r > s && (o = " ...", n = r + s - o.length), {
1532
- str: a + e.slice(t, n).replace(/\t/g, "→") + o,
1533
- pos: r - t + a.length
1534
- };
1535
- }
1536
- function yt(e, t) {
1537
- return I.repeat(" ", t - e.length) + e;
1538
- }
1539
- function bt(e, t) {
1540
- if (t = Object.create(t || null), !e.buffer) return null;
1541
- t.maxLength ||= 79, typeof t.indent != "number" && (t.indent = 1), typeof t.linesBefore != "number" && (t.linesBefore = 3), typeof t.linesAfter != "number" && (t.linesAfter = 2);
1542
- for (var n = /\r?\n|\r|\0/g, r = [0], i = [], a, o = -1; a = n.exec(e.buffer);) i.push(a.index), r.push(a.index + a[0].length), e.position <= a.index && o < 0 && (o = r.length - 2);
1543
- o < 0 && (o = r.length - 1);
1544
- var s = "", c, l, u = Math.min(e.line + t.linesAfter, i.length).toString().length, d = t.maxLength - (t.indent + u + 3);
1545
- for (c = 1; c <= t.linesBefore && !(o - c < 0); c++) l = vt(e.buffer, r[o - c], i[o - c], e.position - (r[o] - r[o - c]), d), s = I.repeat(" ", t.indent) + yt((e.line - c + 1).toString(), u) + " | " + l.str + "\n" + s;
1546
- for (l = vt(e.buffer, r[o], i[o], e.position, d), s += I.repeat(" ", t.indent) + yt((e.line + 1).toString(), u) + " | " + l.str + "\n", s += I.repeat("-", t.indent + u + 3 + l.pos) + "^\n", c = 1; c <= t.linesAfter && !(o + c >= i.length); c++) l = vt(e.buffer, r[o + c], i[o + c], e.position - (r[o] - r[o + c]), d), s += I.repeat(" ", t.indent) + yt((e.line + c + 1).toString(), u) + " | " + l.str + "\n";
1547
- return s.replace(/\n$/, "");
1548
- }
1549
- var xt = bt, St = [
1550
- "kind",
1551
- "multi",
1552
- "resolve",
1553
- "construct",
1554
- "instanceOf",
1555
- "predicate",
1556
- "represent",
1557
- "representName",
1558
- "defaultStyle",
1559
- "styleAliases"
1560
- ], Ct = [
1561
- "scalar",
1562
- "sequence",
1563
- "mapping"
1564
- ];
1565
- function wt(e) {
1566
- var t = {};
1567
- return e !== null && Object.keys(e).forEach(function(n) {
1568
- e[n].forEach(function(e) {
1569
- t[String(e)] = n;
1570
- });
1571
- }), t;
1572
- }
1573
- function Tt(e, t) {
1574
- if (t ||= {}, Object.keys(t).forEach(function(t) {
1575
- if (St.indexOf(t) === -1) throw new L("Unknown option \"" + t + "\" is met in definition of \"" + e + "\" YAML type.");
1576
- }), this.options = t, this.tag = e, this.kind = t.kind || null, this.resolve = t.resolve || function() {
1577
- return !0;
1578
- }, this.construct = t.construct || function(e) {
1579
- return e;
1580
- }, this.instanceOf = t.instanceOf || null, this.predicate = t.predicate || null, this.represent = t.represent || null, this.representName = t.representName || null, this.defaultStyle = t.defaultStyle || null, this.multi = t.multi || !1, this.styleAliases = wt(t.styleAliases || null), Ct.indexOf(this.kind) === -1) throw new L("Unknown kind \"" + this.kind + "\" is specified for \"" + e + "\" YAML type.");
1581
- }
1582
- var R = Tt;
1583
- function Et(e, t) {
1584
- var n = [];
1585
- return e[t].forEach(function(e) {
1586
- var t = n.length;
1587
- n.forEach(function(n, r) {
1588
- n.tag === e.tag && n.kind === e.kind && n.multi === e.multi && (t = r);
1589
- }), n[t] = e;
1590
- }), n;
1591
- }
1592
- function Dt() {
1593
- var e = {
1594
- scalar: {},
1595
- sequence: {},
1596
- mapping: {},
1597
- fallback: {},
1598
- multi: {
1599
- scalar: [],
1600
- sequence: [],
1601
- mapping: [],
1602
- fallback: []
1603
- }
1604
- }, t, n;
1605
- function r(t) {
1606
- t.multi ? (e.multi[t.kind].push(t), e.multi.fallback.push(t)) : e[t.kind][t.tag] = e.fallback[t.tag] = t;
1607
- }
1608
- for (t = 0, n = arguments.length; t < n; t += 1) arguments[t].forEach(r);
1609
- return e;
1610
- }
1611
- function Ot(e) {
1612
- return this.extend(e);
1613
- }
1614
- Ot.prototype.extend = function(e) {
1615
- var t = [], n = [];
1616
- if (e instanceof R) n.push(e);
1617
- else if (Array.isArray(e)) n = n.concat(e);
1618
- else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit))) e.implicit && (t = t.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit));
1619
- else throw new L("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
1620
- t.forEach(function(e) {
1621
- if (!(e instanceof R)) throw new L("Specified list of YAML types (or a single Type object) contains a non-Type object.");
1622
- if (e.loadKind && e.loadKind !== "scalar") throw new L("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
1623
- if (e.multi) throw new L("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
1624
- }), n.forEach(function(e) {
1625
- if (!(e instanceof R)) throw new L("Specified list of YAML types (or a single Type object) contains a non-Type object.");
1626
- });
1627
- var r = Object.create(Ot.prototype);
1628
- return r.implicit = (this.implicit || []).concat(t), r.explicit = (this.explicit || []).concat(n), r.compiledImplicit = Et(r, "implicit"), r.compiledExplicit = Et(r, "explicit"), r.compiledTypeMap = Dt(r.compiledImplicit, r.compiledExplicit), r;
1629
- };
1630
- var kt = Ot, At = new R("tag:yaml.org,2002:str", {
1631
- kind: "scalar",
1632
- construct: function(e) {
1633
- return e === null ? "" : e;
1634
- }
1635
- }), jt = new R("tag:yaml.org,2002:seq", {
1636
- kind: "sequence",
1637
- construct: function(e) {
1638
- return e === null ? [] : e;
1639
- }
1640
- }), Mt = new R("tag:yaml.org,2002:map", {
1641
- kind: "mapping",
1642
- construct: function(e) {
1643
- return e === null ? {} : e;
1644
- }
1645
- }), Nt = new kt({ explicit: [
1646
- At,
1647
- jt,
1648
- Mt
1649
- ] });
1650
- function Pt(e) {
1651
- if (e === null) return !0;
1652
- var t = e.length;
1653
- return t === 1 && e === "~" || t === 4 && (e === "null" || e === "Null" || e === "NULL");
1654
- }
1655
- function Ft() {
1656
- return null;
1657
- }
1658
- function It(e) {
1659
- return e === null;
1660
- }
1661
- var Lt = new R("tag:yaml.org,2002:null", {
1662
- kind: "scalar",
1663
- resolve: Pt,
1664
- construct: Ft,
1665
- predicate: It,
1666
- represent: {
1667
- canonical: function() {
1668
- return "~";
1669
- },
1670
- lowercase: function() {
1671
- return "null";
1672
- },
1673
- uppercase: function() {
1674
- return "NULL";
1675
- },
1676
- camelcase: function() {
1677
- return "Null";
1678
- },
1679
- empty: function() {
1680
- return "";
1681
- }
1682
- },
1683
- defaultStyle: "lowercase"
1684
- });
1685
- function Rt(e) {
1686
- if (e === null) return !1;
1687
- var t = e.length;
1688
- return t === 4 && (e === "true" || e === "True" || e === "TRUE") || t === 5 && (e === "false" || e === "False" || e === "FALSE");
1689
- }
1690
- function zt(e) {
1691
- return e === "true" || e === "True" || e === "TRUE";
1692
- }
1693
- function Bt(e) {
1694
- return Object.prototype.toString.call(e) === "[object Boolean]";
1695
- }
1696
- var Vt = new R("tag:yaml.org,2002:bool", {
1697
- kind: "scalar",
1698
- resolve: Rt,
1699
- construct: zt,
1700
- predicate: Bt,
1701
- represent: {
1702
- lowercase: function(e) {
1703
- return e ? "true" : "false";
1704
- },
1705
- uppercase: function(e) {
1706
- return e ? "TRUE" : "FALSE";
1707
- },
1708
- camelcase: function(e) {
1709
- return e ? "True" : "False";
1710
- }
1711
- },
1712
- defaultStyle: "lowercase"
1713
- });
1714
- function Ht(e) {
1715
- return 48 <= e && e <= 57 || 65 <= e && e <= 70 || 97 <= e && e <= 102;
1716
- }
1717
- function Ut(e) {
1718
- return 48 <= e && e <= 55;
1719
- }
1720
- function Wt(e) {
1721
- return 48 <= e && e <= 57;
1722
- }
1723
- function Gt(e) {
1724
- if (e === null) return !1;
1725
- var t = e.length, n = 0, r = !1, i;
1726
- if (!t) return !1;
1727
- if (i = e[n], (i === "-" || i === "+") && (i = e[++n]), i === "0") {
1728
- if (n + 1 === t) return !0;
1729
- if (i = e[++n], i === "b") {
1730
- for (n++; n < t; n++) if (i = e[n], i !== "_") {
1731
- if (i !== "0" && i !== "1") return !1;
1732
- r = !0;
1733
- }
1734
- return r && i !== "_";
1735
- }
1736
- if (i === "x") {
1737
- for (n++; n < t; n++) if (i = e[n], i !== "_") {
1738
- if (!Ht(e.charCodeAt(n))) return !1;
1739
- r = !0;
1740
- }
1741
- return r && i !== "_";
1742
- }
1743
- if (i === "o") {
1744
- for (n++; n < t; n++) if (i = e[n], i !== "_") {
1745
- if (!Ut(e.charCodeAt(n))) return !1;
1746
- r = !0;
1747
- }
1748
- return r && i !== "_";
1749
- }
1750
- }
1751
- if (i === "_") return !1;
1752
- for (; n < t; n++) if (i = e[n], i !== "_") {
1753
- if (!Wt(e.charCodeAt(n))) return !1;
1754
- r = !0;
1755
- }
1756
- return !(!r || i === "_");
1757
- }
1758
- function Kt(e) {
1759
- var t = e, n = 1, r;
1760
- if (t.indexOf("_") !== -1 && (t = t.replace(/_/g, "")), r = t[0], (r === "-" || r === "+") && (r === "-" && (n = -1), t = t.slice(1), r = t[0]), t === "0") return 0;
1761
- if (r === "0") {
1762
- if (t[1] === "b") return n * parseInt(t.slice(2), 2);
1763
- if (t[1] === "x") return n * parseInt(t.slice(2), 16);
1764
- if (t[1] === "o") return n * parseInt(t.slice(2), 8);
1765
- }
1766
- return n * parseInt(t, 10);
1767
- }
1768
- function qt(e) {
1769
- return Object.prototype.toString.call(e) === "[object Number]" && e % 1 == 0 && !I.isNegativeZero(e);
1770
- }
1771
- var Jt = new R("tag:yaml.org,2002:int", {
1772
- kind: "scalar",
1773
- resolve: Gt,
1774
- construct: Kt,
1775
- predicate: qt,
1776
- represent: {
1777
- binary: function(e) {
1778
- return e >= 0 ? "0b" + e.toString(2) : "-0b" + e.toString(2).slice(1);
1779
- },
1780
- octal: function(e) {
1781
- return e >= 0 ? "0o" + e.toString(8) : "-0o" + e.toString(8).slice(1);
1782
- },
1783
- decimal: function(e) {
1784
- return e.toString(10);
1785
- },
1786
- hexadecimal: function(e) {
1787
- return e >= 0 ? "0x" + e.toString(16).toUpperCase() : "-0x" + e.toString(16).toUpperCase().slice(1);
1788
- }
1789
- },
1790
- defaultStyle: "decimal",
1791
- styleAliases: {
1792
- binary: [2, "bin"],
1793
- octal: [8, "oct"],
1794
- decimal: [10, "dec"],
1795
- hexadecimal: [16, "hex"]
1796
- }
1797
- }), Yt = /* @__PURE__ */ RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
1798
- function Xt(e) {
1799
- return !(e === null || !Yt.test(e) || e[e.length - 1] === "_");
1800
- }
1801
- function Zt(e) {
1802
- var t = e.replace(/_/g, "").toLowerCase(), n = t[0] === "-" ? -1 : 1;
1803
- return "+-".indexOf(t[0]) >= 0 && (t = t.slice(1)), t === ".inf" ? n === 1 ? Infinity : -Infinity : t === ".nan" ? NaN : n * parseFloat(t, 10);
1804
- }
1805
- var Qt = /^[-+]?[0-9]+e/;
1806
- function $t(e, t) {
1807
- var n;
1808
- if (isNaN(e)) switch (t) {
1809
- case "lowercase": return ".nan";
1810
- case "uppercase": return ".NAN";
1811
- case "camelcase": return ".NaN";
1812
- }
1813
- else if (e === Infinity) switch (t) {
1814
- case "lowercase": return ".inf";
1815
- case "uppercase": return ".INF";
1816
- case "camelcase": return ".Inf";
1817
- }
1818
- else if (e === -Infinity) switch (t) {
1819
- case "lowercase": return "-.inf";
1820
- case "uppercase": return "-.INF";
1821
- case "camelcase": return "-.Inf";
1822
- }
1823
- else if (I.isNegativeZero(e)) return "-0.0";
1824
- return n = e.toString(10), Qt.test(n) ? n.replace("e", ".e") : n;
1825
- }
1826
- function en(e) {
1827
- return Object.prototype.toString.call(e) === "[object Number]" && (e % 1 != 0 || I.isNegativeZero(e));
1828
- }
1829
- var tn = new R("tag:yaml.org,2002:float", {
1830
- kind: "scalar",
1831
- resolve: Xt,
1832
- construct: Zt,
1833
- predicate: en,
1834
- represent: $t,
1835
- defaultStyle: "lowercase"
1836
- }), nn = Nt.extend({ implicit: [
1837
- Lt,
1838
- Vt,
1839
- Jt,
1840
- tn
1841
- ] }), rn = nn, an = /* @__PURE__ */ RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"), on = /* @__PURE__ */ RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");
1842
- function sn(e) {
1843
- return e === null ? !1 : an.exec(e) !== null || on.exec(e) !== null;
1844
- }
1845
- function cn(e) {
1846
- var t, n, r, i, a, o, s, c = 0, l = null, u, d, f;
1847
- if (t = an.exec(e), t === null && (t = on.exec(e)), t === null) throw Error("Date resolve error");
1848
- if (n = +t[1], r = t[2] - 1, i = +t[3], !t[4]) return new Date(Date.UTC(n, r, i));
1849
- if (a = +t[4], o = +t[5], s = +t[6], t[7]) {
1850
- for (c = t[7].slice(0, 3); c.length < 3;) c += "0";
1851
- c = +c;
1852
- }
1853
- return t[9] && (u = +t[10], d = +(t[11] || 0), l = (u * 60 + d) * 6e4, t[9] === "-" && (l = -l)), f = new Date(Date.UTC(n, r, i, a, o, s, c)), l && f.setTime(f.getTime() - l), f;
1854
- }
1855
- function ln(e) {
1856
- return e.toISOString();
1857
- }
1858
- var un = new R("tag:yaml.org,2002:timestamp", {
1859
- kind: "scalar",
1860
- resolve: sn,
1861
- construct: cn,
1862
- instanceOf: Date,
1863
- represent: ln
1864
- });
1865
- function dn(e) {
1866
- return e === "<<" || e === null;
1867
- }
1868
- var fn = new R("tag:yaml.org,2002:merge", {
1869
- kind: "scalar",
1870
- resolve: dn
1871
- }), pn = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
1872
- function mn(e) {
1873
- if (e === null) return !1;
1874
- var t, n, r = 0, i = e.length, a = pn;
1875
- for (n = 0; n < i; n++) if (t = a.indexOf(e.charAt(n)), !(t > 64)) {
1876
- if (t < 0) return !1;
1877
- r += 6;
1878
- }
1879
- return r % 8 == 0;
1880
- }
1881
- function hn(e) {
1882
- var t, n, r = e.replace(/[\r\n=]/g, ""), i = r.length, a = pn, o = 0, s = [];
1883
- for (t = 0; t < i; t++) t % 4 == 0 && t && (s.push(o >> 16 & 255), s.push(o >> 8 & 255), s.push(o & 255)), o = o << 6 | a.indexOf(r.charAt(t));
1884
- return n = i % 4 * 6, n === 0 ? (s.push(o >> 16 & 255), s.push(o >> 8 & 255), s.push(o & 255)) : n === 18 ? (s.push(o >> 10 & 255), s.push(o >> 2 & 255)) : n === 12 && s.push(o >> 4 & 255), new Uint8Array(s);
1885
- }
1886
- function gn(e) {
1887
- var t = "", n = 0, r, i, a = e.length, o = pn;
1888
- for (r = 0; r < a; r++) r % 3 == 0 && r && (t += o[n >> 18 & 63], t += o[n >> 12 & 63], t += o[n >> 6 & 63], t += o[n & 63]), n = (n << 8) + e[r];
1889
- return i = a % 3, i === 0 ? (t += o[n >> 18 & 63], t += o[n >> 12 & 63], t += o[n >> 6 & 63], t += o[n & 63]) : i === 2 ? (t += o[n >> 10 & 63], t += o[n >> 4 & 63], t += o[n << 2 & 63], t += o[64]) : i === 1 && (t += o[n >> 2 & 63], t += o[n << 4 & 63], t += o[64], t += o[64]), t;
1890
- }
1891
- function _n(e) {
1892
- return Object.prototype.toString.call(e) === "[object Uint8Array]";
1893
- }
1894
- var vn = new R("tag:yaml.org,2002:binary", {
1895
- kind: "scalar",
1896
- resolve: mn,
1897
- construct: hn,
1898
- predicate: _n,
1899
- represent: gn
1900
- }), yn = Object.prototype.hasOwnProperty, bn = Object.prototype.toString;
1901
- function xn(e) {
1902
- if (e === null) return !0;
1903
- var t = [], n, r, i, a, o, s = e;
1904
- for (n = 0, r = s.length; n < r; n += 1) {
1905
- if (i = s[n], o = !1, bn.call(i) !== "[object Object]") return !1;
1906
- for (a in i) if (yn.call(i, a)) if (!o) o = !0;
1907
- else return !1;
1908
- if (!o) return !1;
1909
- if (t.indexOf(a) === -1) t.push(a);
1910
- else return !1;
1911
- }
1912
- return !0;
1913
- }
1914
- function Sn(e) {
1915
- return e === null ? [] : e;
1916
- }
1917
- var Cn = new R("tag:yaml.org,2002:omap", {
1918
- kind: "sequence",
1919
- resolve: xn,
1920
- construct: Sn
1921
- }), wn = Object.prototype.toString;
1922
- function Tn(e) {
1923
- if (e === null) return !0;
1924
- var t, n, r, i, a, o = e;
1925
- for (a = Array(o.length), t = 0, n = o.length; t < n; t += 1) {
1926
- if (r = o[t], wn.call(r) !== "[object Object]" || (i = Object.keys(r), i.length !== 1)) return !1;
1927
- a[t] = [i[0], r[i[0]]];
1928
- }
1929
- return !0;
1930
- }
1931
- function En(e) {
1932
- if (e === null) return [];
1933
- var t, n, r, i, a, o = e;
1934
- for (a = Array(o.length), t = 0, n = o.length; t < n; t += 1) r = o[t], i = Object.keys(r), a[t] = [i[0], r[i[0]]];
1935
- return a;
1936
- }
1937
- var Dn = new R("tag:yaml.org,2002:pairs", {
1938
- kind: "sequence",
1939
- resolve: Tn,
1940
- construct: En
1941
- }), On = Object.prototype.hasOwnProperty;
1942
- function kn(e) {
1943
- if (e === null) return !0;
1944
- var t, n = e;
1945
- for (t in n) if (On.call(n, t) && n[t] !== null) return !1;
1946
- return !0;
1947
- }
1948
- function An(e) {
1949
- return e === null ? {} : e;
1950
- }
1951
- var jn = new R("tag:yaml.org,2002:set", {
1952
- kind: "mapping",
1953
- resolve: kn,
1954
- construct: An
1955
- }), Mn = rn.extend({
1956
- implicit: [un, fn],
1957
- explicit: [
1958
- vn,
1959
- Cn,
1960
- Dn,
1961
- jn
1962
- ]
1963
- }), z = Object.prototype.hasOwnProperty, Nn = 1, Pn = 2, Fn = 3, In = 4, Ln = 1, Rn = 2, zn = 3, Bn = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, Vn = /[\x85\u2028\u2029]/, Hn = /[,\[\]\{\}]/, Un = /^(?:!|!!|![a-z\-]+!)$/i, Wn = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
1964
- function Gn(e) {
1965
- return Object.prototype.toString.call(e);
1966
- }
1967
- function B(e) {
1968
- return e === 10 || e === 13;
1969
- }
1970
- function V(e) {
1971
- return e === 9 || e === 32;
1972
- }
1973
- function H(e) {
1974
- return e === 9 || e === 32 || e === 10 || e === 13;
1975
- }
1976
- function U(e) {
1977
- return e === 44 || e === 91 || e === 93 || e === 123 || e === 125;
1978
- }
1979
- function Kn(e) {
1980
- var t;
1981
- return 48 <= e && e <= 57 ? e - 48 : (t = e | 32, 97 <= t && t <= 102 ? t - 97 + 10 : -1);
1982
- }
1983
- function qn(e) {
1984
- return e === 120 ? 2 : e === 117 ? 4 : e === 85 ? 8 : 0;
1985
- }
1986
- function Jn(e) {
1987
- return 48 <= e && e <= 57 ? e - 48 : -1;
1988
- }
1989
- function Yn(e) {
1990
- return e === 48 ? "\0" : e === 97 ? "\x07" : e === 98 ? "\b" : e === 116 || e === 9 ? " " : e === 110 ? "\n" : e === 118 ? "\v" : e === 102 ? "\f" : e === 114 ? "\r" : e === 101 ? "\x1B" : e === 32 ? " " : e === 34 ? "\"" : e === 47 ? "/" : e === 92 ? "\\" : e === 78 ? "…" : e === 95 ? "\xA0" : e === 76 ? "\u2028" : e === 80 ? "\u2029" : "";
1991
- }
1992
- function Xn(e) {
1993
- return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode((e - 65536 >> 10) + 55296, (e - 65536 & 1023) + 56320);
1994
- }
1995
- function Zn(e, t, n) {
1996
- t === "__proto__" ? Object.defineProperty(e, t, {
1997
- configurable: !0,
1998
- enumerable: !0,
1999
- writable: !0,
2000
- value: n
2001
- }) : e[t] = n;
2002
- }
2003
- for (var Qn = Array(256), $n = Array(256), W = 0; W < 256; W++) Qn[W] = +!!Yn(W), $n[W] = Yn(W);
2004
- function er(e, t) {
2005
- this.input = e, this.filename = t.filename || null, this.schema = t.schema || Mn, this.onWarning = t.onWarning || null, this.legacy = t.legacy || !1, this.json = t.json || !1, this.listener = t.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = e.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
2006
- }
2007
- function tr(e, t) {
2008
- var n = {
2009
- name: e.filename,
2010
- buffer: e.input.slice(0, -1),
2011
- position: e.position,
2012
- line: e.line,
2013
- column: e.position - e.lineStart
2014
- };
2015
- return n.snippet = xt(n), new L(t, n);
2016
- }
2017
- function G(e, t) {
2018
- throw tr(e, t);
2019
- }
2020
- function nr(e, t) {
2021
- e.onWarning && e.onWarning.call(null, tr(e, t));
2022
- }
2023
- var rr = {
2024
- YAML: function(e, t, n) {
2025
- var r, i, a;
2026
- e.version !== null && G(e, "duplication of %YAML directive"), n.length !== 1 && G(e, "YAML directive accepts exactly one argument"), r = /^([0-9]+)\.([0-9]+)$/.exec(n[0]), r === null && G(e, "ill-formed argument of the YAML directive"), i = parseInt(r[1], 10), a = parseInt(r[2], 10), i !== 1 && G(e, "unacceptable YAML version of the document"), e.version = n[0], e.checkLineBreaks = a < 2, a !== 1 && a !== 2 && nr(e, "unsupported YAML version of the document");
2027
- },
2028
- TAG: function(e, t, n) {
2029
- var r, i;
2030
- n.length !== 2 && G(e, "TAG directive accepts exactly two arguments"), r = n[0], i = n[1], Un.test(r) || G(e, "ill-formed tag handle (first argument) of the TAG directive"), z.call(e.tagMap, r) && G(e, "there is a previously declared suffix for \"" + r + "\" tag handle"), Wn.test(i) || G(e, "ill-formed tag prefix (second argument) of the TAG directive");
2031
- try {
2032
- i = decodeURIComponent(i);
2033
- } catch {
2034
- G(e, "tag prefix is malformed: " + i);
2035
- }
2036
- e.tagMap[r] = i;
2037
- }
2038
- };
2039
- function K(e, t, n, r) {
2040
- var i, a, o, s;
2041
- if (t < n) {
2042
- if (s = e.input.slice(t, n), r) for (i = 0, a = s.length; i < a; i += 1) o = s.charCodeAt(i), o === 9 || 32 <= o && o <= 1114111 || G(e, "expected valid JSON character");
2043
- else Bn.test(s) && G(e, "the stream contains non-printable characters");
2044
- e.result += s;
2045
- }
2046
- }
2047
- function ir(e, t, n, r) {
2048
- var i, a, o, s;
2049
- for (I.isObject(n) || G(e, "cannot merge mappings; the provided source object is unacceptable"), i = Object.keys(n), o = 0, s = i.length; o < s; o += 1) a = i[o], z.call(t, a) || (Zn(t, a, n[a]), r[a] = !0);
2050
- }
2051
- function q(e, t, n, r, i, a, o, s, c) {
2052
- var l, u;
2053
- if (Array.isArray(i)) for (i = Array.prototype.slice.call(i), l = 0, u = i.length; l < u; l += 1) Array.isArray(i[l]) && G(e, "nested arrays are not supported inside keys"), typeof i == "object" && Gn(i[l]) === "[object Object]" && (i[l] = "[object Object]");
2054
- if (typeof i == "object" && Gn(i) === "[object Object]" && (i = "[object Object]"), i = String(i), t === null && (t = {}), r === "tag:yaml.org,2002:merge") if (Array.isArray(a)) for (l = 0, u = a.length; l < u; l += 1) ir(e, t, a[l], n);
2055
- else ir(e, t, a, n);
2056
- else !e.json && !z.call(n, i) && z.call(t, i) && (e.line = o || e.line, e.lineStart = s || e.lineStart, e.position = c || e.position, G(e, "duplicated mapping key")), Zn(t, i, a), delete n[i];
2057
- return t;
2058
- }
2059
- function ar(e) {
2060
- var t = e.input.charCodeAt(e.position);
2061
- t === 10 ? e.position++ : t === 13 ? (e.position++, e.input.charCodeAt(e.position) === 10 && e.position++) : G(e, "a line break is expected"), e.line += 1, e.lineStart = e.position, e.firstTabInLine = -1;
2062
- }
2063
- function J(e, t, n) {
2064
- for (var r = 0, i = e.input.charCodeAt(e.position); i !== 0;) {
2065
- for (; V(i);) i === 9 && e.firstTabInLine === -1 && (e.firstTabInLine = e.position), i = e.input.charCodeAt(++e.position);
2066
- if (t && i === 35) do
2067
- i = e.input.charCodeAt(++e.position);
2068
- while (i !== 10 && i !== 13 && i !== 0);
2069
- if (B(i)) for (ar(e), i = e.input.charCodeAt(e.position), r++, e.lineIndent = 0; i === 32;) e.lineIndent++, i = e.input.charCodeAt(++e.position);
2070
- else break;
2071
- }
2072
- return n !== -1 && r !== 0 && e.lineIndent < n && nr(e, "deficient indentation"), r;
2073
- }
2074
- function or(e) {
2075
- var t = e.position, n = e.input.charCodeAt(t);
2076
- return !!((n === 45 || n === 46) && n === e.input.charCodeAt(t + 1) && n === e.input.charCodeAt(t + 2) && (t += 3, n = e.input.charCodeAt(t), n === 0 || H(n)));
2077
- }
2078
- function sr(e, t) {
2079
- t === 1 ? e.result += " " : t > 1 && (e.result += I.repeat("\n", t - 1));
2080
- }
2081
- function cr(e, t, n) {
2082
- var r, i, a, o, s, c, l, u, d = e.kind, f = e.result, p = e.input.charCodeAt(e.position);
2083
- if (H(p) || U(p) || p === 35 || p === 38 || p === 42 || p === 33 || p === 124 || p === 62 || p === 39 || p === 34 || p === 37 || p === 64 || p === 96 || (p === 63 || p === 45) && (i = e.input.charCodeAt(e.position + 1), H(i) || n && U(i))) return !1;
2084
- for (e.kind = "scalar", e.result = "", a = o = e.position, s = !1; p !== 0;) {
2085
- if (p === 58) {
2086
- if (i = e.input.charCodeAt(e.position + 1), H(i) || n && U(i)) break;
2087
- } else if (p === 35) {
2088
- if (r = e.input.charCodeAt(e.position - 1), H(r)) break;
2089
- } else if (e.position === e.lineStart && or(e) || n && U(p)) break;
2090
- else if (B(p)) if (c = e.line, l = e.lineStart, u = e.lineIndent, J(e, !1, -1), e.lineIndent >= t) {
2091
- s = !0, p = e.input.charCodeAt(e.position);
2092
- continue;
2093
- } else {
2094
- e.position = o, e.line = c, e.lineStart = l, e.lineIndent = u;
2095
- break;
2096
- }
2097
- s &&= (K(e, a, o, !1), sr(e, e.line - c), a = o = e.position, !1), V(p) || (o = e.position + 1), p = e.input.charCodeAt(++e.position);
2098
- }
2099
- return K(e, a, o, !1), e.result ? !0 : (e.kind = d, e.result = f, !1);
2100
- }
2101
- function lr(e, t) {
2102
- var n = e.input.charCodeAt(e.position), r, i;
2103
- if (n !== 39) return !1;
2104
- for (e.kind = "scalar", e.result = "", e.position++, r = i = e.position; (n = e.input.charCodeAt(e.position)) !== 0;) if (n === 39) if (K(e, r, e.position, !0), n = e.input.charCodeAt(++e.position), n === 39) r = e.position, e.position++, i = e.position;
2105
- else return !0;
2106
- else B(n) ? (K(e, r, i, !0), sr(e, J(e, !1, t)), r = i = e.position) : e.position === e.lineStart && or(e) ? G(e, "unexpected end of the document within a single quoted scalar") : (e.position++, i = e.position);
2107
- G(e, "unexpected end of the stream within a single quoted scalar");
2108
- }
2109
- function ur(e, t) {
2110
- var n, r, i, a, o, s = e.input.charCodeAt(e.position);
2111
- if (s !== 34) return !1;
2112
- for (e.kind = "scalar", e.result = "", e.position++, n = r = e.position; (s = e.input.charCodeAt(e.position)) !== 0;) if (s === 34) return K(e, n, e.position, !0), e.position++, !0;
2113
- else if (s === 92) {
2114
- if (K(e, n, e.position, !0), s = e.input.charCodeAt(++e.position), B(s)) J(e, !1, t);
2115
- else if (s < 256 && Qn[s]) e.result += $n[s], e.position++;
2116
- else if ((o = qn(s)) > 0) {
2117
- for (i = o, a = 0; i > 0; i--) s = e.input.charCodeAt(++e.position), (o = Kn(s)) >= 0 ? a = (a << 4) + o : G(e, "expected hexadecimal character");
2118
- e.result += Xn(a), e.position++;
2119
- } else G(e, "unknown escape sequence");
2120
- n = r = e.position;
2121
- } else B(s) ? (K(e, n, r, !0), sr(e, J(e, !1, t)), n = r = e.position) : e.position === e.lineStart && or(e) ? G(e, "unexpected end of the document within a double quoted scalar") : (e.position++, r = e.position);
2122
- G(e, "unexpected end of the stream within a double quoted scalar");
2123
- }
2124
- function dr(e, t) {
2125
- var n = !0, r, i, a, o = e.tag, s, c = e.anchor, l, u, d, f, p, m = Object.create(null), h, g, _, v = e.input.charCodeAt(e.position);
2126
- if (v === 91) u = 93, p = !1, s = [];
2127
- else if (v === 123) u = 125, p = !0, s = {};
2128
- else return !1;
2129
- for (e.anchor !== null && (e.anchorMap[e.anchor] = s), v = e.input.charCodeAt(++e.position); v !== 0;) {
2130
- if (J(e, !0, t), v = e.input.charCodeAt(e.position), v === u) return e.position++, e.tag = o, e.anchor = c, e.kind = p ? "mapping" : "sequence", e.result = s, !0;
2131
- n ? v === 44 && G(e, "expected the node content, but found ','") : G(e, "missed comma between flow collection entries"), g = h = _ = null, d = f = !1, v === 63 && (l = e.input.charCodeAt(e.position + 1), H(l) && (d = f = !0, e.position++, J(e, !0, t))), r = e.line, i = e.lineStart, a = e.position, Y(e, t, Nn, !1, !0), g = e.tag, h = e.result, J(e, !0, t), v = e.input.charCodeAt(e.position), (f || e.line === r) && v === 58 && (d = !0, v = e.input.charCodeAt(++e.position), J(e, !0, t), Y(e, t, Nn, !1, !0), _ = e.result), p ? q(e, s, m, g, h, _, r, i, a) : d ? s.push(q(e, null, m, g, h, _, r, i, a)) : s.push(h), J(e, !0, t), v = e.input.charCodeAt(e.position), v === 44 ? (n = !0, v = e.input.charCodeAt(++e.position)) : n = !1;
2132
- }
2133
- G(e, "unexpected end of the stream within a flow collection");
2134
- }
2135
- function fr(e, t) {
2136
- var n, r, i = Ln, a = !1, o = !1, s = t, c = 0, l = !1, u, d = e.input.charCodeAt(e.position);
2137
- if (d === 124) r = !1;
2138
- else if (d === 62) r = !0;
2139
- else return !1;
2140
- for (e.kind = "scalar", e.result = ""; d !== 0;) if (d = e.input.charCodeAt(++e.position), d === 43 || d === 45) Ln === i ? i = d === 43 ? zn : Rn : G(e, "repeat of a chomping mode identifier");
2141
- else if ((u = Jn(d)) >= 0) u === 0 ? G(e, "bad explicit indentation width of a block scalar; it cannot be less than one") : o ? G(e, "repeat of an indentation width identifier") : (s = t + u - 1, o = !0);
2142
- else break;
2143
- if (V(d)) {
2144
- do
2145
- d = e.input.charCodeAt(++e.position);
2146
- while (V(d));
2147
- if (d === 35) do
2148
- d = e.input.charCodeAt(++e.position);
2149
- while (!B(d) && d !== 0);
2150
- }
2151
- for (; d !== 0;) {
2152
- for (ar(e), e.lineIndent = 0, d = e.input.charCodeAt(e.position); (!o || e.lineIndent < s) && d === 32;) e.lineIndent++, d = e.input.charCodeAt(++e.position);
2153
- if (!o && e.lineIndent > s && (s = e.lineIndent), B(d)) {
2154
- c++;
2155
- continue;
2156
- }
2157
- if (e.lineIndent < s) {
2158
- i === zn ? e.result += I.repeat("\n", a ? 1 + c : c) : i === Ln && a && (e.result += "\n");
2159
- break;
2160
- }
2161
- for (r ? V(d) ? (l = !0, e.result += I.repeat("\n", a ? 1 + c : c)) : l ? (l = !1, e.result += I.repeat("\n", c + 1)) : c === 0 ? a && (e.result += " ") : e.result += I.repeat("\n", c) : e.result += I.repeat("\n", a ? 1 + c : c), a = !0, o = !0, c = 0, n = e.position; !B(d) && d !== 0;) d = e.input.charCodeAt(++e.position);
2162
- K(e, n, e.position, !1);
2163
- }
2164
- return !0;
2165
- }
2166
- function pr(e, t) {
2167
- var n, r = e.tag, i = e.anchor, a = [], o, s = !1, c;
2168
- if (e.firstTabInLine !== -1) return !1;
2169
- for (e.anchor !== null && (e.anchorMap[e.anchor] = a), c = e.input.charCodeAt(e.position); c !== 0 && (e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, G(e, "tab characters must not be used in indentation")), !(c !== 45 || (o = e.input.charCodeAt(e.position + 1), !H(o))));) {
2170
- if (s = !0, e.position++, J(e, !0, -1) && e.lineIndent <= t) {
2171
- a.push(null), c = e.input.charCodeAt(e.position);
2172
- continue;
2173
- }
2174
- if (n = e.line, Y(e, t, Fn, !1, !0), a.push(e.result), J(e, !0, -1), c = e.input.charCodeAt(e.position), (e.line === n || e.lineIndent > t) && c !== 0) G(e, "bad indentation of a sequence entry");
2175
- else if (e.lineIndent < t) break;
2176
- }
2177
- return s ? (e.tag = r, e.anchor = i, e.kind = "sequence", e.result = a, !0) : !1;
2178
- }
2179
- function mr(e, t, n) {
2180
- var r, i, a, o, s, c, l = e.tag, u = e.anchor, d = {}, f = Object.create(null), p = null, m = null, h = null, g = !1, _ = !1, v;
2181
- if (e.firstTabInLine !== -1) return !1;
2182
- for (e.anchor !== null && (e.anchorMap[e.anchor] = d), v = e.input.charCodeAt(e.position); v !== 0;) {
2183
- if (!g && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, G(e, "tab characters must not be used in indentation")), r = e.input.charCodeAt(e.position + 1), a = e.line, (v === 63 || v === 58) && H(r)) v === 63 ? (g && (q(e, d, f, p, m, null, o, s, c), p = m = h = null), _ = !0, g = !0, i = !0) : g ? (g = !1, i = !0) : G(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, v = r;
2184
- else {
2185
- if (o = e.line, s = e.lineStart, c = e.position, !Y(e, n, Pn, !1, !0)) break;
2186
- if (e.line === a) {
2187
- for (v = e.input.charCodeAt(e.position); V(v);) v = e.input.charCodeAt(++e.position);
2188
- if (v === 58) v = e.input.charCodeAt(++e.position), H(v) || G(e, "a whitespace character is expected after the key-value separator within a block mapping"), g && (q(e, d, f, p, m, null, o, s, c), p = m = h = null), _ = !0, g = !1, i = !1, p = e.tag, m = e.result;
2189
- else if (_) G(e, "can not read an implicit mapping pair; a colon is missed");
2190
- else return e.tag = l, e.anchor = u, !0;
2191
- } else if (_) G(e, "can not read a block mapping entry; a multiline key may not be an implicit key");
2192
- else return e.tag = l, e.anchor = u, !0;
2193
- }
2194
- if ((e.line === a || e.lineIndent > t) && (g && (o = e.line, s = e.lineStart, c = e.position), Y(e, t, In, !0, i) && (g ? m = e.result : h = e.result), g || (q(e, d, f, p, m, h, o, s, c), p = m = h = null), J(e, !0, -1), v = e.input.charCodeAt(e.position)), (e.line === a || e.lineIndent > t) && v !== 0) G(e, "bad indentation of a mapping entry");
2195
- else if (e.lineIndent < t) break;
2196
- }
2197
- return g && q(e, d, f, p, m, null, o, s, c), _ && (e.tag = l, e.anchor = u, e.kind = "mapping", e.result = d), _;
2198
- }
2199
- function hr(e) {
2200
- var t, n = !1, r = !1, i, a, o = e.input.charCodeAt(e.position);
2201
- if (o !== 33) return !1;
2202
- if (e.tag !== null && G(e, "duplication of a tag property"), o = e.input.charCodeAt(++e.position), o === 60 ? (n = !0, o = e.input.charCodeAt(++e.position)) : o === 33 ? (r = !0, i = "!!", o = e.input.charCodeAt(++e.position)) : i = "!", t = e.position, n) {
2203
- do
2204
- o = e.input.charCodeAt(++e.position);
2205
- while (o !== 0 && o !== 62);
2206
- e.position < e.length ? (a = e.input.slice(t, e.position), o = e.input.charCodeAt(++e.position)) : G(e, "unexpected end of the stream within a verbatim tag");
2207
- } else {
2208
- for (; o !== 0 && !H(o);) o === 33 && (r ? G(e, "tag suffix cannot contain exclamation marks") : (i = e.input.slice(t - 1, e.position + 1), Un.test(i) || G(e, "named tag handle cannot contain such characters"), r = !0, t = e.position + 1)), o = e.input.charCodeAt(++e.position);
2209
- a = e.input.slice(t, e.position), Hn.test(a) && G(e, "tag suffix cannot contain flow indicator characters");
2210
- }
2211
- a && !Wn.test(a) && G(e, "tag name cannot contain such characters: " + a);
2212
- try {
2213
- a = decodeURIComponent(a);
2214
- } catch {
2215
- G(e, "tag name is malformed: " + a);
2216
- }
2217
- return n ? e.tag = a : z.call(e.tagMap, i) ? e.tag = e.tagMap[i] + a : i === "!" ? e.tag = "!" + a : i === "!!" ? e.tag = "tag:yaml.org,2002:" + a : G(e, "undeclared tag handle \"" + i + "\""), !0;
2218
- }
2219
- function gr(e) {
2220
- var t, n = e.input.charCodeAt(e.position);
2221
- if (n !== 38) return !1;
2222
- for (e.anchor !== null && G(e, "duplication of an anchor property"), n = e.input.charCodeAt(++e.position), t = e.position; n !== 0 && !H(n) && !U(n);) n = e.input.charCodeAt(++e.position);
2223
- return e.position === t && G(e, "name of an anchor node must contain at least one character"), e.anchor = e.input.slice(t, e.position), !0;
2224
- }
2225
- function _r(e) {
2226
- var t, n, r = e.input.charCodeAt(e.position);
2227
- if (r !== 42) return !1;
2228
- for (r = e.input.charCodeAt(++e.position), t = e.position; r !== 0 && !H(r) && !U(r);) r = e.input.charCodeAt(++e.position);
2229
- return e.position === t && G(e, "name of an alias node must contain at least one character"), n = e.input.slice(t, e.position), z.call(e.anchorMap, n) || G(e, "unidentified alias \"" + n + "\""), e.result = e.anchorMap[n], J(e, !0, -1), !0;
2230
- }
2231
- function Y(e, t, n, r, i) {
2232
- var a, o, s, c = 1, l = !1, u = !1, d, f, p, m, h, g;
2233
- if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, a = o = s = In === n || Fn === n, r && J(e, !0, -1) && (l = !0, e.lineIndent > t ? c = 1 : e.lineIndent === t ? c = 0 : e.lineIndent < t && (c = -1)), c === 1) for (; hr(e) || gr(e);) J(e, !0, -1) ? (l = !0, s = a, e.lineIndent > t ? c = 1 : e.lineIndent === t ? c = 0 : e.lineIndent < t && (c = -1)) : s = !1;
2234
- if (s &&= l || i, (c === 1 || In === n) && (h = Nn === n || Pn === n ? t : t + 1, g = e.position - e.lineStart, c === 1 ? s && (pr(e, g) || mr(e, g, h)) || dr(e, h) ? u = !0 : (o && fr(e, h) || lr(e, h) || ur(e, h) ? u = !0 : _r(e) ? (u = !0, (e.tag !== null || e.anchor !== null) && G(e, "alias node should not have any properties")) : cr(e, h, Nn === n) && (u = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : c === 0 && (u = s && pr(e, g))), e.tag === null) e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
2235
- else if (e.tag === "?") {
2236
- for (e.result !== null && e.kind !== "scalar" && G(e, "unacceptable node kind for !<?> tag; it should be \"scalar\", not \"" + e.kind + "\""), d = 0, f = e.implicitTypes.length; d < f; d += 1) if (m = e.implicitTypes[d], m.resolve(e.result)) {
2237
- e.result = m.construct(e.result), e.tag = m.tag, e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
2238
- break;
2239
- }
2240
- } else if (e.tag !== "!") {
2241
- if (z.call(e.typeMap[e.kind || "fallback"], e.tag)) m = e.typeMap[e.kind || "fallback"][e.tag];
2242
- else for (m = null, p = e.typeMap.multi[e.kind || "fallback"], d = 0, f = p.length; d < f; d += 1) if (e.tag.slice(0, p[d].tag.length) === p[d].tag) {
2243
- m = p[d];
2244
- break;
2245
- }
2246
- m || G(e, "unknown tag !<" + e.tag + ">"), e.result !== null && m.kind !== e.kind && G(e, "unacceptable node kind for !<" + e.tag + "> tag; it should be \"" + m.kind + "\", not \"" + e.kind + "\""), m.resolve(e.result, e.tag) ? (e.result = m.construct(e.result, e.tag), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : G(e, "cannot resolve a node with !<" + e.tag + "> explicit tag");
2247
- }
2248
- return e.listener !== null && e.listener("close", e), e.tag !== null || e.anchor !== null || u;
2249
- }
2250
- function vr(e) {
2251
- var t = e.position, n, r, i, a = !1, o;
2252
- for (e.version = null, e.checkLineBreaks = e.legacy, e.tagMap = Object.create(null), e.anchorMap = Object.create(null); (o = e.input.charCodeAt(e.position)) !== 0 && (J(e, !0, -1), o = e.input.charCodeAt(e.position), !(e.lineIndent > 0 || o !== 37));) {
2253
- for (a = !0, o = e.input.charCodeAt(++e.position), n = e.position; o !== 0 && !H(o);) o = e.input.charCodeAt(++e.position);
2254
- for (r = e.input.slice(n, e.position), i = [], r.length < 1 && G(e, "directive name must not be less than one character in length"); o !== 0;) {
2255
- for (; V(o);) o = e.input.charCodeAt(++e.position);
2256
- if (o === 35) {
2257
- do
2258
- o = e.input.charCodeAt(++e.position);
2259
- while (o !== 0 && !B(o));
2260
- break;
2261
- }
2262
- if (B(o)) break;
2263
- for (n = e.position; o !== 0 && !H(o);) o = e.input.charCodeAt(++e.position);
2264
- i.push(e.input.slice(n, e.position));
2265
- }
2266
- o !== 0 && ar(e), z.call(rr, r) ? rr[r](e, r, i) : nr(e, "unknown document directive \"" + r + "\"");
2267
- }
2268
- if (J(e, !0, -1), e.lineIndent === 0 && e.input.charCodeAt(e.position) === 45 && e.input.charCodeAt(e.position + 1) === 45 && e.input.charCodeAt(e.position + 2) === 45 ? (e.position += 3, J(e, !0, -1)) : a && G(e, "directives end mark is expected"), Y(e, e.lineIndent - 1, In, !1, !0), J(e, !0, -1), e.checkLineBreaks && Vn.test(e.input.slice(t, e.position)) && nr(e, "non-ASCII line breaks are interpreted as content"), e.documents.push(e.result), e.position === e.lineStart && or(e)) {
2269
- e.input.charCodeAt(e.position) === 46 && (e.position += 3, J(e, !0, -1));
2270
- return;
2271
- }
2272
- if (e.position < e.length - 1) G(e, "end of the stream or a document separator is expected");
2273
- else return;
2274
- }
2275
- function yr(e, t) {
2276
- e = String(e), t ||= {}, e.length !== 0 && (e.charCodeAt(e.length - 1) !== 10 && e.charCodeAt(e.length - 1) !== 13 && (e += "\n"), e.charCodeAt(0) === 65279 && (e = e.slice(1)));
2277
- var n = new er(e, t), r = e.indexOf("\0");
2278
- for (r !== -1 && (n.position = r, G(n, "null byte is not allowed in input")), n.input += "\0"; n.input.charCodeAt(n.position) === 32;) n.lineIndent += 1, n.position += 1;
2279
- for (; n.position < n.length - 1;) vr(n);
2280
- return n.documents;
2281
- }
2282
- function br(e, t, n) {
2283
- typeof t == "object" && t && n === void 0 && (n = t, t = null);
2284
- var r = yr(e, n);
2285
- if (typeof t != "function") return r;
2286
- for (var i = 0, a = r.length; i < a; i += 1) t(r[i]);
2287
- }
2288
- function xr(e, t) {
2289
- var n = yr(e, t);
2290
- if (n.length !== 0) {
2291
- if (n.length === 1) return n[0];
2292
- throw new L("expected a single document in the stream, but found more");
2293
- }
2294
- }
2295
- var Sr = {
2296
- loadAll: br,
2297
- load: xr
2298
- }, Cr = Object.prototype.toString, wr = Object.prototype.hasOwnProperty, Tr = 65279, Er = 9, Dr = 10, Or = 13, kr = 32, Ar = 33, jr = 34, Mr = 35, Nr = 37, Pr = 38, Fr = 39, Ir = 42, Lr = 44, Rr = 45, zr = 58, Br = 61, Vr = 62, Hr = 63, Ur = 64, Wr = 91, Gr = 93, Kr = 96, qr = 123, Jr = 124, Yr = 125, X = {};
2299
- X[0] = "\\0", X[7] = "\\a", X[8] = "\\b", X[9] = "\\t", X[10] = "\\n", X[11] = "\\v", X[12] = "\\f", X[13] = "\\r", X[27] = "\\e", X[34] = "\\\"", X[92] = "\\\\", X[133] = "\\N", X[160] = "\\_", X[8232] = "\\L", X[8233] = "\\P";
2300
- var Xr = [
2301
- "y",
2302
- "Y",
2303
- "yes",
2304
- "Yes",
2305
- "YES",
2306
- "on",
2307
- "On",
2308
- "ON",
2309
- "n",
2310
- "N",
2311
- "no",
2312
- "No",
2313
- "NO",
2314
- "off",
2315
- "Off",
2316
- "OFF"
2317
- ], Zr = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
2318
- function Qr(e, t) {
2319
- var n, r, i, a, o, s, c;
2320
- if (t === null) return {};
2321
- for (n = {}, r = Object.keys(t), i = 0, a = r.length; i < a; i += 1) o = r[i], s = String(t[o]), o.slice(0, 2) === "!!" && (o = "tag:yaml.org,2002:" + o.slice(2)), c = e.compiledTypeMap.fallback[o], c && wr.call(c.styleAliases, s) && (s = c.styleAliases[s]), n[o] = s;
2322
- return n;
2323
- }
2324
- function $r(e) {
2325
- var t = e.toString(16).toUpperCase(), n, r;
2326
- if (e <= 255) n = "x", r = 2;
2327
- else if (e <= 65535) n = "u", r = 4;
2328
- else if (e <= 4294967295) n = "U", r = 8;
2329
- else throw new L("code point within a string may not be greater than 0xFFFFFFFF");
2330
- return "\\" + n + I.repeat("0", r - t.length) + t;
2331
- }
2332
- var ei = 1, ti = 2;
2333
- function ni(e) {
2334
- this.schema = e.schema || Mn, this.indent = Math.max(1, e.indent || 2), this.noArrayIndent = e.noArrayIndent || !1, this.skipInvalid = e.skipInvalid || !1, this.flowLevel = I.isNothing(e.flowLevel) ? -1 : e.flowLevel, this.styleMap = Qr(this.schema, e.styles || null), this.sortKeys = e.sortKeys || !1, this.lineWidth = e.lineWidth || 80, this.noRefs = e.noRefs || !1, this.noCompatMode = e.noCompatMode || !1, this.condenseFlow = e.condenseFlow || !1, this.quotingType = e.quotingType === "\"" ? ti : ei, this.forceQuotes = e.forceQuotes || !1, this.replacer = typeof e.replacer == "function" ? e.replacer : null, this.implicitTypes = this.schema.compiledImplicit, this.explicitTypes = this.schema.compiledExplicit, this.tag = null, this.result = "", this.duplicates = [], this.usedDuplicates = null;
2335
- }
2336
- function ri(e, t) {
2337
- for (var n = I.repeat(" ", t), r = 0, i = -1, a = "", o, s = e.length; r < s;) i = e.indexOf("\n", r), i === -1 ? (o = e.slice(r), r = s) : (o = e.slice(r, i + 1), r = i + 1), o.length && o !== "\n" && (a += n), a += o;
2338
- return a;
2339
- }
2340
- function ii(e, t) {
2341
- return "\n" + I.repeat(" ", e.indent * t);
2342
- }
2343
- function ai(e, t) {
2344
- var n, r, i;
2345
- for (n = 0, r = e.implicitTypes.length; n < r; n += 1) if (i = e.implicitTypes[n], i.resolve(t)) return !0;
2346
- return !1;
2347
- }
2348
- function oi(e) {
2349
- return e === kr || e === Er;
2350
- }
2351
- function si(e) {
2352
- return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && e !== 8232 && e !== 8233 || 57344 <= e && e <= 65533 && e !== Tr || 65536 <= e && e <= 1114111;
2353
- }
2354
- function ci(e) {
2355
- return si(e) && e !== Tr && e !== Or && e !== Dr;
2356
- }
2357
- function li(e, t, n) {
2358
- var r = ci(e), i = r && !oi(e);
2359
- return (n ? r : r && e !== Lr && e !== Wr && e !== Gr && e !== qr && e !== Yr) && e !== Mr && !(t === zr && !i) || ci(t) && !oi(t) && e === Mr || t === zr && i;
2360
- }
2361
- function ui(e) {
2362
- return si(e) && e !== Tr && !oi(e) && e !== Rr && e !== Hr && e !== zr && e !== Lr && e !== Wr && e !== Gr && e !== qr && e !== Yr && e !== Mr && e !== Pr && e !== Ir && e !== Ar && e !== Jr && e !== Br && e !== Vr && e !== Fr && e !== jr && e !== Nr && e !== Ur && e !== Kr;
2363
- }
2364
- function di(e) {
2365
- return !oi(e) && e !== zr;
2366
- }
2367
- function fi(e, t) {
2368
- var n = e.charCodeAt(t), r;
2369
- return n >= 55296 && n <= 56319 && t + 1 < e.length && (r = e.charCodeAt(t + 1), r >= 56320 && r <= 57343) ? (n - 55296) * 1024 + r - 56320 + 65536 : n;
2370
- }
2371
- function pi(e) {
2372
- return /^\n* /.test(e);
2373
- }
2374
- var mi = 1, hi = 2, gi = 3, _i = 4, Z = 5;
2375
- function vi(e, t, n, r, i, a, o, s) {
2376
- var c, l = 0, u = null, d = !1, f = !1, p = r !== -1, m = -1, h = ui(fi(e, 0)) && di(fi(e, e.length - 1));
2377
- if (t || o) for (c = 0; c < e.length; l >= 65536 ? c += 2 : c++) {
2378
- if (l = fi(e, c), !si(l)) return Z;
2379
- h &&= li(l, u, s), u = l;
2380
- }
2381
- else {
2382
- for (c = 0; c < e.length; l >= 65536 ? c += 2 : c++) {
2383
- if (l = fi(e, c), l === Dr) d = !0, p && (f ||= c - m - 1 > r && e[m + 1] !== " ", m = c);
2384
- else if (!si(l)) return Z;
2385
- h &&= li(l, u, s), u = l;
2386
- }
2387
- f ||= p && c - m - 1 > r && e[m + 1] !== " ";
2388
- }
2389
- return !d && !f ? h && !o && !i(e) ? mi : a === ti ? Z : hi : n > 9 && pi(e) ? Z : o ? a === ti ? Z : hi : f ? _i : gi;
2390
- }
2391
- function yi(e, t, n, r, i) {
2392
- e.dump = function() {
2393
- if (t.length === 0) return e.quotingType === ti ? "\"\"" : "''";
2394
- if (!e.noCompatMode && (Xr.indexOf(t) !== -1 || Zr.test(t))) return e.quotingType === ti ? "\"" + t + "\"" : "'" + t + "'";
2395
- var a = e.indent * Math.max(1, n), o = e.lineWidth === -1 ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - a), s = r || e.flowLevel > -1 && n >= e.flowLevel;
2396
- function c(t) {
2397
- return ai(e, t);
2398
- }
2399
- switch (vi(t, s, e.indent, o, c, e.quotingType, e.forceQuotes && !r, i)) {
2400
- case mi: return t;
2401
- case hi: return "'" + t.replace(/'/g, "''") + "'";
2402
- case gi: return "|" + bi(t, e.indent) + xi(ri(t, a));
2403
- case _i: return ">" + bi(t, e.indent) + xi(ri(Si(t, o), a));
2404
- case Z: return "\"" + wi(t) + "\"";
2405
- default: throw new L("impossible error: invalid scalar style");
2406
- }
2407
- }();
2408
- }
2409
- function bi(e, t) {
2410
- var n = pi(e) ? String(t) : "", r = e[e.length - 1] === "\n";
2411
- return n + (r && (e[e.length - 2] === "\n" || e === "\n") ? "+" : r ? "" : "-") + "\n";
2412
- }
2413
- function xi(e) {
2414
- return e[e.length - 1] === "\n" ? e.slice(0, -1) : e;
2415
- }
2416
- function Si(e, t) {
2417
- for (var n = /(\n+)([^\n]*)/g, r = function() {
2418
- var r = e.indexOf("\n");
2419
- return r = r === -1 ? e.length : r, n.lastIndex = r, Ci(e.slice(0, r), t);
2420
- }(), i = e[0] === "\n" || e[0] === " ", a, o; o = n.exec(e);) {
2421
- var s = o[1], c = o[2];
2422
- a = c[0] === " ", r += s + (!i && !a && c !== "" ? "\n" : "") + Ci(c, t), i = a;
2423
- }
2424
- return r;
2425
- }
2426
- function Ci(e, t) {
2427
- if (e === "" || e[0] === " ") return e;
2428
- for (var n = / [^ ]/g, r, i = 0, a, o = 0, s = 0, c = ""; r = n.exec(e);) s = r.index, s - i > t && (a = o > i ? o : s, c += "\n" + e.slice(i, a), i = a + 1), o = s;
2429
- return c += "\n", e.length - i > t && o > i ? c += e.slice(i, o) + "\n" + e.slice(o + 1) : c += e.slice(i), c.slice(1);
2430
- }
2431
- function wi(e) {
2432
- for (var t = "", n = 0, r, i = 0; i < e.length; n >= 65536 ? i += 2 : i++) n = fi(e, i), r = X[n], !r && si(n) ? (t += e[i], n >= 65536 && (t += e[i + 1])) : t += r || $r(n);
2433
- return t;
2434
- }
2435
- function Ti(e, t, n) {
2436
- var r = "", i = e.tag, a, o, s;
2437
- for (a = 0, o = n.length; a < o; a += 1) s = n[a], e.replacer && (s = e.replacer.call(n, String(a), s)), (Q(e, t, s, !1, !1) || s === void 0 && Q(e, t, null, !1, !1)) && (r !== "" && (r += "," + (e.condenseFlow ? "" : " ")), r += e.dump);
2438
- e.tag = i, e.dump = "[" + r + "]";
2439
- }
2440
- function Ei(e, t, n, r) {
2441
- var i = "", a = e.tag, o, s, c;
2442
- for (o = 0, s = n.length; o < s; o += 1) c = n[o], e.replacer && (c = e.replacer.call(n, String(o), c)), (Q(e, t + 1, c, !0, !0, !1, !0) || c === void 0 && Q(e, t + 1, null, !0, !0, !1, !0)) && ((!r || i !== "") && (i += ii(e, t)), e.dump && Dr === e.dump.charCodeAt(0) ? i += "-" : i += "- ", i += e.dump);
2443
- e.tag = a, e.dump = i || "[]";
2444
- }
2445
- function Di(e, t, n) {
2446
- var r = "", i = e.tag, a = Object.keys(n), o, s, c, l, u;
2447
- for (o = 0, s = a.length; o < s; o += 1) u = "", r !== "" && (u += ", "), e.condenseFlow && (u += "\""), c = a[o], l = n[c], e.replacer && (l = e.replacer.call(n, c, l)), Q(e, t, c, !1, !1) && (e.dump.length > 1024 && (u += "? "), u += e.dump + (e.condenseFlow ? "\"" : "") + ":" + (e.condenseFlow ? "" : " "), Q(e, t, l, !1, !1) && (u += e.dump, r += u));
2448
- e.tag = i, e.dump = "{" + r + "}";
2449
- }
2450
- function Oi(e, t, n, r) {
2451
- var i = "", a = e.tag, o = Object.keys(n), s, c, l, u, d, f;
2452
- if (e.sortKeys === !0) o.sort();
2453
- else if (typeof e.sortKeys == "function") o.sort(e.sortKeys);
2454
- else if (e.sortKeys) throw new L("sortKeys must be a boolean or a function");
2455
- for (s = 0, c = o.length; s < c; s += 1) f = "", (!r || i !== "") && (f += ii(e, t)), l = o[s], u = n[l], e.replacer && (u = e.replacer.call(n, l, u)), Q(e, t + 1, l, !0, !0, !0) && (d = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, d && (e.dump && Dr === e.dump.charCodeAt(0) ? f += "?" : f += "? "), f += e.dump, d && (f += ii(e, t)), Q(e, t + 1, u, !0, d) && (e.dump && Dr === e.dump.charCodeAt(0) ? f += ":" : f += ": ", f += e.dump, i += f));
2456
- e.tag = a, e.dump = i || "{}";
2457
- }
2458
- function ki(e, t, n) {
2459
- var r, i = n ? e.explicitTypes : e.implicitTypes, a, o, s, c;
2460
- for (a = 0, o = i.length; a < o; a += 1) if (s = i[a], (s.instanceOf || s.predicate) && (!s.instanceOf || typeof t == "object" && t instanceof s.instanceOf) && (!s.predicate || s.predicate(t))) {
2461
- if (n ? s.multi && s.representName ? e.tag = s.representName(t) : e.tag = s.tag : e.tag = "?", s.represent) {
2462
- if (c = e.styleMap[s.tag] || s.defaultStyle, Cr.call(s.represent) === "[object Function]") r = s.represent(t, c);
2463
- else if (wr.call(s.represent, c)) r = s.represent[c](t, c);
2464
- else throw new L("!<" + s.tag + "> tag resolver accepts not \"" + c + "\" style");
2465
- e.dump = r;
2466
- }
2467
- return !0;
2468
- }
2469
- return !1;
2470
- }
2471
- function Q(e, t, n, r, i, a, o) {
2472
- e.tag = null, e.dump = n, ki(e, n, !1) || ki(e, n, !0);
2473
- var s = Cr.call(e.dump), c = r, l;
2474
- r &&= e.flowLevel < 0 || e.flowLevel > t;
2475
- var u = s === "[object Object]" || s === "[object Array]", d, f;
2476
- if (u && (d = e.duplicates.indexOf(n), f = d !== -1), (e.tag !== null && e.tag !== "?" || f || e.indent !== 2 && t > 0) && (i = !1), f && e.usedDuplicates[d]) e.dump = "*ref_" + d;
2477
- else {
2478
- if (u && f && !e.usedDuplicates[d] && (e.usedDuplicates[d] = !0), s === "[object Object]") r && Object.keys(e.dump).length !== 0 ? (Oi(e, t, e.dump, i), f && (e.dump = "&ref_" + d + e.dump)) : (Di(e, t, e.dump), f && (e.dump = "&ref_" + d + " " + e.dump));
2479
- else if (s === "[object Array]") r && e.dump.length !== 0 ? (e.noArrayIndent && !o && t > 0 ? Ei(e, t - 1, e.dump, i) : Ei(e, t, e.dump, i), f && (e.dump = "&ref_" + d + e.dump)) : (Ti(e, t, e.dump), f && (e.dump = "&ref_" + d + " " + e.dump));
2480
- else if (s === "[object String]") e.tag !== "?" && yi(e, e.dump, t, a, c);
2481
- else if (s === "[object Undefined]") return !1;
2482
- else {
2483
- if (e.skipInvalid) return !1;
2484
- throw new L("unacceptable kind of an object to dump " + s);
2485
- }
2486
- e.tag !== null && e.tag !== "?" && (l = encodeURI(e.tag[0] === "!" ? e.tag.slice(1) : e.tag).replace(/!/g, "%21"), l = e.tag[0] === "!" ? "!" + l : l.slice(0, 18) === "tag:yaml.org,2002:" ? "!!" + l.slice(18) : "!<" + l + ">", e.dump = l + " " + e.dump);
2487
- }
2488
- return !0;
2489
- }
2490
- function Ai(e, t) {
2491
- var n = [], r = [], i, a;
2492
- for (ji(e, n, r), i = 0, a = r.length; i < a; i += 1) t.duplicates.push(n[r[i]]);
2493
- t.usedDuplicates = Array(a);
2494
- }
2495
- function ji(e, t, n) {
2496
- var r, i, a;
2497
- if (typeof e == "object" && e) if (i = t.indexOf(e), i !== -1) n.indexOf(i) === -1 && n.push(i);
2498
- else if (t.push(e), Array.isArray(e)) for (i = 0, a = e.length; i < a; i += 1) ji(e[i], t, n);
2499
- else for (r = Object.keys(e), i = 0, a = r.length; i < a; i += 1) ji(e[r[i]], t, n);
2500
- }
2501
- function Mi(e, t) {
2502
- t ||= {};
2503
- var n = new ni(t);
2504
- n.noRefs || Ai(e, n);
2505
- var r = e;
2506
- return n.replacer && (r = n.replacer.call({ "": r }, "", r)), Q(n, 0, r, !0, !0) ? n.dump + "\n" : "";
2507
- }
2508
- var Ni = { dump: Mi };
2509
- function Pi(e, t) {
2510
- return function() {
2511
- throw Error("Function yaml." + e + " is removed in js-yaml 4. Use yaml." + t + " instead, which is now safe by default.");
2512
- };
2513
- }
2514
- var Fi = {
2515
- Type: R,
2516
- Schema: kt,
2517
- FAILSAFE_SCHEMA: Nt,
2518
- JSON_SCHEMA: nn,
2519
- CORE_SCHEMA: rn,
2520
- DEFAULT_SCHEMA: Mn,
2521
- load: Sr.load,
2522
- loadAll: Sr.loadAll,
2523
- dump: Ni.dump,
2524
- YAMLException: L,
2525
- types: {
2526
- binary: vn,
2527
- float: tn,
2528
- map: Mt,
2529
- null: Lt,
2530
- pairs: Dn,
2531
- set: jn,
2532
- timestamp: un,
2533
- bool: Vt,
2534
- int: Jt,
2535
- merge: fn,
2536
- omap: Cn,
2537
- seq: jt,
2538
- str: At
2539
- },
2540
- safeLoad: Pi("safeLoad", "load"),
2541
- safeLoadAll: Pi("safeLoadAll", "loadAll"),
2542
- safeDump: Pi("safeDump", "dump")
2543
- }, Ii = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Li = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Ri = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), zi = (e) => {
2544
- let t = Ri(e);
2545
- return t.charAt(0).toUpperCase() + t.slice(1);
2546
- }, Bi = {
2547
- xmlns: "http://www.w3.org/2000/svg",
2548
- width: 24,
2549
- height: 24,
2550
- viewBox: "0 0 24 24",
2551
- fill: "none",
2552
- stroke: "currentColor",
2553
- strokeWidth: 2,
2554
- strokeLinecap: "round",
2555
- strokeLinejoin: "round"
2556
- }, Vi = (e) => {
2557
- for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
2558
- return !1;
2559
- }, Hi = s({}), Ui = () => f(Hi), Wi = l(({ color: e, size: t, strokeWidth: n, absoluteStrokeWidth: r, className: i = "", children: a, iconNode: o, ...s }, l) => {
2560
- let { size: u = 24, strokeWidth: d = 2, absoluteStrokeWidth: f = !1, color: p = "currentColor", className: m = "" } = Ui() ?? {}, h = r ?? f ? Number(n ?? d) * 24 / Number(t ?? u) : n ?? d;
2561
- return c("svg", {
2562
- ref: l,
2563
- ...Bi,
2564
- width: t ?? u ?? Bi.width,
2565
- height: t ?? u ?? Bi.height,
2566
- stroke: e ?? p,
2567
- strokeWidth: h,
2568
- className: Ii("lucide", m, i),
2569
- ...!a && !Vi(s) && { "aria-hidden": "true" },
2570
- ...s
2571
- }, [...o.map(([e, t]) => c(e, t)), ...Array.isArray(a) ? a : [a]]);
2572
- }), Gi = (e, t) => {
2573
- let n = l(({ className: n, ...r }, i) => c(Wi, {
2574
- ref: i,
2575
- iconNode: t,
2576
- className: Ii(`lucide-${Li(zi(e))}`, `lucide-${e}`, n),
2577
- ...r
2578
- }));
2579
- return n.displayName = zi(e), n;
2580
- }, Ki = Gi("check", [["path", {
2581
- d: "M20 6 9 17l-5-5",
2582
- key: "1gmf2c"
2583
- }]]), qi = Gi("minus", [["path", {
2584
- d: "M5 12h14",
2585
- key: "1ays0h"
2586
- }]]), Ji = Gi("plus", [["path", {
2587
- d: "M5 12h14",
2588
- key: "1ays0h"
2589
- }], ["path", {
2590
- d: "M12 5v14",
2591
- key: "s699le"
2592
- }]]), Yi = [.../* @__PURE__ */ "joker.jokers.commonJoker.commonJokers.uncommonJoker.uncommonJokers.rareJoker.rareJokers.legendaryJoker.legendaryJokers.voucher.vouchers.tarotCard.tarotCards.spectralCard.spectralCards.planetCard.boss.tag.smallBlindTag.bigBlindTag.standardCard.standardCards.erraticRank.erraticSuit.erraticCard.startingDraw.event.luckyMoney.luckyMult.misprintMult.wheelOfFortune.cavendishExtinct.grosMichelExtinct.spaceLevelup.businessPayout.bloodstoneTrigger.parkingPayout.glassDestroy.wheelStaysFlipped.and.or.clauses".split(".")], Xi = [
2593
- "antes",
2594
- "tags",
2595
- "labels"
2596
- ], Zi = [
2597
- "must",
2598
- "should",
2599
- "mustNot",
2600
- "any",
2601
- "Any",
2602
- ...Yi,
2603
- ...Xi
2604
- ], Qi = class {
2605
- static getCompletions(e) {
2606
- let t = e.toLowerCase();
2607
- return Zi.filter((e) => e.toLowerCase().includes(t)).map((e) => ({
2608
- text: e,
2609
- displayText: e,
2610
- type: "keyword"
2611
- }));
2612
- }
2613
- }, $ = {
2614
- white: "#FFFFFF",
2615
- black: "#000000",
2616
- red: "#ff5e5e",
2617
- blue: "#4bb1ff",
2618
- green: "#46bc77",
2619
- purple: "#9074ff",
2620
- orange: "#ff9d4d",
2621
- yellow: "#ffcf4d",
2622
- gold: "#efb82d",
2623
- editorBg: "#0f1416",
2624
- editorBgAlt: "#1c2629"
2625
- }, $i = "# My JAML Filter\nname: My Filter\ndeck: Red\nstake: White\n\nmust:\n - joker: Blueprint\n edition: Negative\n antes: [1, 2, 3]\n\nshould:\n - soulJoker: Any\n score: 5\n", ea = [
2626
- "name",
2627
- "author",
2628
- "description",
2629
- "deck",
2630
- "stake",
2631
- "label"
2632
- ], ta = [
2633
- "joker",
2634
- "soulJoker",
2635
- "voucher",
2636
- "tarotCard",
2637
- "planetCard",
2638
- "spectralCard",
2639
- "standardCard",
2640
- "tag",
2641
- "boss",
2642
- "event"
2643
- ];
2644
- function na({ suggestions: e, selectedIndex: t, onSelect: n, onHover: r }) {
2645
- return e.length === 0 ? /* @__PURE__ */ y("div", {
2646
- className: "jaml-suggestion-empty",
2647
- children: "No suggestions..."
2648
- }) : /* @__PURE__ */ y("div", {
2649
- className: "jaml-suggestion-list",
2650
- onMouseDown: (e) => e.preventDefault(),
2651
- children: e.map((e, i) => {
2652
- let a = i === t;
2653
- return /* @__PURE__ */ b("div", {
2654
- onClick: () => n(e.text),
2655
- onMouseEnter: () => r(i),
2656
- className: `jaml-suggestion-item${a ? " jaml-suggestion-item--selected" : ""}`,
2657
- children: [/* @__PURE__ */ y("span", { children: e.displayText }), a && /* @__PURE__ */ y("span", {
2658
- className: "jaml-suggestion-enter",
2659
- children: "↵"
2660
- })]
2661
- }, `${e.text}-${i}`);
2662
- })
2663
- });
2664
- }
2665
- function ra({ values: e, onToggle: t, color: n }) {
2666
- let [r, i] = _(!1), a = new Set(e.map((e) => parseInt(e, 10)).filter((e) => !isNaN(e)));
2667
- return r ? /* @__PURE__ */ b("div", {
2668
- className: "jaml-antes-row",
2669
- children: [Array.from({ length: 9 }, (e, t) => t).map((e) => {
2670
- let r = a.has(e);
2671
- return /* @__PURE__ */ y("div", {
2672
- onClick: (n) => {
2673
- n.stopPropagation(), t(e.toString());
2674
- },
2675
- className: `jaml-block ${e === 0 ? "jaml-ante-btn--first" : e === 8 ? "jaml-ante-btn--last" : "jaml-ante-btn"}`,
2676
- style: {
2677
- "--jaml-min-w": "28px",
2678
- "--jaml-bg": r ? `${n}40` : "transparent",
2679
- "--jaml-border": `1px solid ${r ? n : "rgba(255,255,255,0.2)"}`,
2680
- "--jaml-color": r ? n : "rgba(255,255,255,0.4)",
2681
- borderRight: e < 8 ? "none" : void 0
2682
- },
2683
- children: e
2684
- }, e);
2685
- }), /* @__PURE__ */ y("div", {
2686
- onClick: () => i(!1),
2687
- className: "jaml-block jaml-antes-confirm",
2688
- children: /* @__PURE__ */ y(Ki, {
2689
- size: 16,
2690
- strokeWidth: 3
2691
- })
2692
- })]
2693
- }) : /* @__PURE__ */ y("div", {
2694
- onClick: () => i(!0),
2695
- className: "jaml-block",
2696
- style: {
2697
- "--jaml-bg": a.size > 0 ? `${n}20` : `${$.red}15`,
2698
- "--jaml-border": `1px solid ${a.size > 0 ? n : $.red}`,
2699
- "--jaml-color": a.size > 0 ? n : $.red,
2700
- "--jaml-min-w": "100px",
2701
- "--jaml-shadow": a.size > 0 ? `0 0 10px ${n}20` : "none"
2702
- },
2703
- children: (() => {
2704
- if (a.size === 0) return "tap to select";
2705
- let e = Array.from(a).sort((e, t) => e - t);
2706
- if (e.length === 1) return `Ante ${e[0]}`;
2707
- let t = e[0], n = e[e.length - 1];
2708
- return e.every((t, n) => n === 0 || t === e[n - 1] + 1) ? `Antes ${t}-${n}` : `Antes ${e.join(", ")}`;
2709
- })()
2710
- });
2711
- }
2712
- function ia(e, t) {
2713
- let [n, r] = _(null);
2714
- return p(() => {
2715
- if (!t || !e.current) {
2716
- r(null);
2717
- return;
2718
- }
2719
- let n = () => {
2720
- if (!e.current) return;
2721
- let t = e.current.getBoundingClientRect(), n = window.innerHeight - t.bottom, i = t.top, a = n > 220 || n > i;
2722
- r({
2723
- left: t.left,
2724
- top: a ? t.bottom + 4 : t.top - 4,
2725
- position: a ? "bottom" : "top"
2726
- });
2727
- };
2728
- return n(), window.addEventListener("scroll", n, !0), window.addEventListener("resize", n), () => {
2729
- window.removeEventListener("scroll", n, !0), window.removeEventListener("resize", n);
2730
- };
2731
- }, [t, e]), n;
2732
- }
2733
- function aa({ initialJaml: e, onJamlChange: t, className: n }) {
2734
- let [r, i] = _([]), [a, o] = _(null), [s, c] = _(null), [l, u] = _(null), f = g(null), p = d((e) => {
2735
- let t = e.split("\n"), n;
2736
- return t.map((e, t) => {
2737
- let r = e.search(/\S|$/), i = e.trim(), a = i.startsWith("#"), o = i.startsWith("- "), s, c, l = !1, u;
2738
- if (!a && i.includes(":")) {
2739
- let e = i.indexOf(":"), t = i.slice(o ? 2 : 0, e).trim(), n = i.slice(e + 1).trim();
2740
- s = t, c = n || void 0, c && c.startsWith("[") && c.endsWith("]") && (l = !0, u = c.slice(1, -1).split(",").map((e) => e.trim()).filter((e) => e));
2741
- }
2742
- r === 0 && !o && (n = void 0), o && s && ta.includes(s) && (n = s);
2743
- let d = "complete", f = !1;
2744
- return s && (ea.includes(s) ? d = "metadata" : ta.includes(s) ? d = c ? "complete" : "required-incomplete" : !c && s !== "must" && s !== "should" && s !== "mustNot" && (d = "optional-incomplete"), c && c.startsWith("~") && c.endsWith("~") && (f = !0, d = "invalid")), {
2745
- id: `line-${t}`,
2746
- raw: e,
2747
- indent: r,
2748
- key: s,
2749
- value: c,
2750
- isComment: a,
2751
- isArrayItem: o,
2752
- lineNumber: t,
2753
- clauseType: n,
2754
- validationState: d,
2755
- isInvalidValue: f,
2756
- isArrayValue: l,
2757
- arrayValues: u
2758
- };
2759
- });
2760
- }, []), m = d((e) => e.map((e) => e.raw).join("\n"), []), [v, x] = _(e);
2761
- if (e !== v) {
2762
- x(e);
2763
- let t = e || $i;
2764
- (r.length === 0 || m(r) !== t) && i(p(t));
2765
- }
2766
- let S = d((e, n, a) => {
2767
- let o = r.map((t) => {
2768
- if (t.id !== e) return t;
2769
- let r = " ".repeat(t.indent), i = t.isArrayItem ? "- " : "", o = t.raw;
2770
- n === "value" && t.key ? o = `${r}${i}${t.key}: ${a}` : n === "key" && (o = `${r}${i}${a}${t.value ? `: ${t.value}` : ":"}`);
2771
- let s = !1, c;
2772
- return a && a.startsWith("[") && a.endsWith("]") && (s = !0, c = a.slice(1, -1).split(",").map((e) => e.trim()).filter((e) => e)), {
2773
- ...t,
2774
- raw: o,
2775
- [n]: a,
2776
- isArrayValue: s,
2777
- arrayValues: c
2778
- };
2779
- });
2780
- i(o);
2781
- let s = m(o);
2782
- if (t) try {
2783
- t(s, Fi.load(s), !0);
2784
- } catch {
2785
- t(s, null, !1);
2786
- }
2787
- }, [
2788
- r,
2789
- m,
2790
- t
2791
- ]), C = d((e, n, a) => {
2792
- let o = r.map((t) => {
2793
- if (t.id !== e || !t.arrayValues) return t;
2794
- let r = [...t.arrayValues];
2795
- r[n] = a;
2796
- let i = `[${r.join(", ")}]`, o = `${" ".repeat(t.indent)}${t.isArrayItem ? "- " : ""}${t.key}: ${i}`;
2797
- return {
2798
- ...t,
2799
- raw: o,
2800
- value: i,
2801
- arrayValues: r
2802
- };
2803
- });
2804
- i(o);
2805
- let s = m(o);
2806
- if (t) try {
2807
- t(s, Fi.load(s), !0);
2808
- } catch {
2809
- t(s, null, !1);
2810
- }
2811
- }, [
2812
- r,
2813
- m,
2814
- t
2815
- ]), w = d((e, n) => {
2816
- let a = r.map((t) => {
2817
- if (t.id !== e) return t;
2818
- let r = [...t.arrayValues || [], n], i = `[${r.join(", ")}]`, a = `${" ".repeat(t.indent)}${t.isArrayItem ? "- " : ""}${t.key}: ${i}`;
2819
- return {
2820
- ...t,
2821
- raw: a,
2822
- value: i,
2823
- arrayValues: r,
2824
- isArrayValue: !0
2825
- };
2826
- });
2827
- i(a);
2828
- let o = m(a);
2829
- if (t) try {
2830
- t(o, Fi.load(o), !0);
2831
- } catch {
2832
- t(o, null, !1);
2833
- }
2834
- }, [
2835
- r,
2836
- m,
2837
- t
2838
- ]), T = d((e, n) => {
2839
- let a = r.map((t) => {
2840
- if (t.id !== e || !t.arrayValues) return t;
2841
- let r = t.arrayValues.filter((e, t) => t !== n), i = r.length > 0 ? `[${r.join(", ")}]` : "", a = `${" ".repeat(t.indent)}${t.isArrayItem ? "- " : ""}${t.key}: ${i}`;
2842
- return {
2843
- ...t,
2844
- raw: a,
2845
- value: i || void 0,
2846
- arrayValues: r.length > 0 ? r : void 0,
2847
- isArrayValue: r.length > 0
2848
- };
2849
- });
2850
- i(a);
2851
- let o = m(a);
2852
- if (t) try {
2853
- t(o, Fi.load(o), !0);
2854
- } catch {
2855
- t(o, null, !1);
2856
- }
2857
- }, [
2858
- r,
2859
- m,
2860
- t
2861
- ]), E = d((e) => {
2862
- let n = r.filter((t) => t.id !== e).map((e, t) => ({
2863
- ...e,
2864
- lineNumber: t,
2865
- id: `line-${t}`
2866
- }));
2867
- i(n);
2868
- let a = m(n);
2869
- if (t) try {
2870
- t(a, Fi.load(a), !0);
2871
- } catch {
2872
- t(a, null, !1);
2873
- }
2874
- }, [
2875
- r,
2876
- m,
2877
- t
2878
- ]), D = h(() => {
2879
- let e = {};
2880
- for (let t of r) t.key && (e[t.indent] = Math.min(Math.max(e[t.indent] || 0, t.key.length), 12));
2881
- return e;
2882
- }, [r]);
2883
- return /* @__PURE__ */ b("div", {
2884
- ref: f,
2885
- className: `jaml-editor ${n ?? ""}`.trim(),
2886
- tabIndex: 0,
2887
- children: [/* @__PURE__ */ y("div", {
2888
- className: "jaml-editor-lines",
2889
- children: r.map((e) => /* @__PURE__ */ y(oa, {
2890
- line: e,
2891
- keyWidth: D[e.indent] || 8,
2892
- isEditing: a === e.id,
2893
- editingPart: a === e.id ? s : null,
2894
- editingArrayIndex: a === e.id ? l : null,
2895
- onStartEdit: (t, n) => {
2896
- o(e.id), c(t), u(n ?? null);
2897
- },
2898
- onEndEdit: () => {
2899
- o(null), c(null), u(null);
2900
- },
2901
- onChange: (t, n) => S(e.id, t, n),
2902
- onArrayItemChange: (t, n) => C(e.id, t, n),
2903
- onArrayItemAdd: (t) => w(e.id, t),
2904
- onArrayItemRemove: (t) => T(e.id, t),
2905
- onDelete: () => E(e.id)
2906
- }, e.id))
2907
- }), /* @__PURE__ */ b("div", {
2908
- className: "jaml-legend",
2909
- children: [
2910
- /* @__PURE__ */ b("span", {
2911
- className: "jaml-legend-item",
2912
- children: [/* @__PURE__ */ y("span", { className: "jaml-legend-dot jaml-legend-dot--red" }), " required"]
2913
- }),
2914
- /* @__PURE__ */ b("span", {
2915
- className: "jaml-legend-item",
2916
- children: [/* @__PURE__ */ y("span", { className: "jaml-legend-dot jaml-legend-dot--blue" }), " optional"]
2917
- }),
2918
- /* @__PURE__ */ b("span", {
2919
- className: "jaml-legend-item",
2920
- children: [/* @__PURE__ */ y("span", { className: "jaml-legend-dot jaml-legend-dot--green" }), " complete"]
2921
- }),
2922
- /* @__PURE__ */ b("span", {
2923
- className: "jaml-legend-item",
2924
- children: [/* @__PURE__ */ y("span", { className: "jaml-legend-dot jaml-legend-dot--purple" }), " metadata"]
2925
- }),
2926
- /* @__PURE__ */ y("span", {
2927
- className: "jaml-legend-hint",
2928
- children: "Click to edit • Tab to navigate"
2929
- })
2930
- ]
2931
- })]
2932
- });
2933
- }
2934
- function oa({ line: e, keyWidth: t, isEditing: n, editingPart: r, editingArrayIndex: i, onStartEdit: a, onEndEdit: o, onChange: s, onArrayItemChange: c, onArrayItemAdd: l, onArrayItemRemove: u, onDelete: d }) {
2935
- let [f, m] = _(0), [v, x] = _(""), [S, w] = _(""), [T, E] = _({
2936
- isEditing: n,
2937
- editingPart: r,
2938
- editingArrayIndex: i,
2939
- lineRaw: e.raw
2940
- });
2941
- (n !== T.isEditing || r !== T.editingPart || i !== T.editingArrayIndex || e.raw !== T.lineRaw) && (E({
2942
- isEditing: n,
2943
- editingPart: r,
2944
- editingArrayIndex: i,
2945
- lineRaw: e.raw
2946
- }), n && x(r === "key" ? e.key || "" : r === "value" ? (e.value || "").replace(/^~|~$/g, "") : r === "arrayItem" && i !== null && e.arrayValues?.[i] || ""));
2947
- let D = h(() => !n || !r ? "" : r === "value" && e.key ? `${e.key}: ${v}` : r === "key" ? v : e.raw, [
2948
- n,
2949
- r,
2950
- v,
2951
- e.raw,
2952
- e.key
2953
- ]), O = h(() => D ? Qi.getCompletions(D).slice(0, 10) : [], [D]);
2954
- D !== S && (w(D), m(0));
2955
- let k = g(null), A = g(null), j = ia(A, n && O.length > 0), M = () => {
2956
- switch (e.validationState) {
2957
- case "required-incomplete": return $.red;
2958
- case "optional-incomplete": return $.blue;
2959
- case "complete": return $.green;
2960
- case "invalid": return $.red;
2961
- case "metadata": return $.purple;
2962
- default: return "#888";
2963
- }
2964
- }, ee = () => {
2965
- switch (e.validationState) {
2966
- case "required-incomplete": return $.red;
2967
- case "optional-incomplete": return $.blue;
2968
- case "complete": return $.green;
2969
- case "invalid": return $.red;
2970
- case "metadata": return $.purple;
2971
- default: return "#FFF";
2972
- }
2973
- };
2974
- p(() => {
2975
- n && k.current && k.current.focus();
2976
- }, [n]);
2977
- let te = (t) => {
2978
- if (t.key === "Enter") {
2979
- t.preventDefault();
2980
- let n = O.length > 0 && f >= 0 ? O[f].text : v;
2981
- r === "key" ? s("key", n) : r === "value" ? s("value", n) : r === "arrayItem" && (i >= (e.arrayValues?.length || 0) ? l(n) : c(i, n)), o();
2982
- } else t.key === "ArrowDown" ? (t.preventDefault(), m(Math.min(f + 1, O.length - 1))) : t.key === "ArrowUp" ? (t.preventDefault(), m(Math.max(f - 1, 0))) : t.key === "Escape" ? o() : t.key === "Backspace" && v === "" && r === "arrayItem" && (u(i), o());
2983
- };
2984
- if (e.isComment) return /* @__PURE__ */ y("div", {
2985
- className: "jaml-line-comment",
2986
- children: e.raw
2987
- });
2988
- if (!e.key && !e.raw.trim()) return /* @__PURE__ */ y("div", { className: "jaml-line-empty" });
2989
- if ((e.key === "must" || e.key === "should" || e.key === "mustNot") && !e.value) return /* @__PURE__ */ y("div", {
2990
- className: "jaml-clause-header",
2991
- style: { "--jaml-color": e.key === "must" ? $.red : $.blue },
2992
- children: e.raw
2993
- });
2994
- let ne = " ".repeat(e.indent), re = e.isArrayItem ? "- " : "", ie = j ? {
2995
- "--popover-top": `${j.top}px`,
2996
- "--popover-left": `${j.left}px`,
2997
- "--popover-transform": j.position === "top" ? "translateY(-100%)" : "none"
2998
- } : {};
2999
- return /* @__PURE__ */ b("div", {
3000
- className: "jaml-line",
3001
- children: [
3002
- /* @__PURE__ */ y("div", {
3003
- className: "jaml-line-delete",
3004
- onClick: (e) => {
3005
- e.stopPropagation(), d();
3006
- },
3007
- children: /* @__PURE__ */ y(qi, {
3008
- size: 12,
3009
- className: "jaml-line-delete-icon"
3010
- })
3011
- }),
3012
- /* @__PURE__ */ b("span", {
3013
- className: "jaml-line-indent",
3014
- children: [ne, re]
3015
- }),
3016
- e.key && /* @__PURE__ */ b("div", {
3017
- className: "jaml-key-wrap",
3018
- children: [/* @__PURE__ */ y("div", {
3019
- ref: r === "key" ? A : null,
3020
- onClick: (e) => {
3021
- e.stopPropagation(), a("key");
3022
- },
3023
- className: "jaml-block jaml-block--start",
3024
- style: {
3025
- "--jaml-min-w": `${t}ch`,
3026
- "--jaml-color": n && r === "key" ? ee() : M(),
3027
- "--jaml-bg": n && r === "key" ? `${ee()}15` : "transparent"
3028
- },
3029
- children: n && r === "key" ? /* @__PURE__ */ y("input", {
3030
- ref: k,
3031
- title: "Edit key",
3032
- value: v,
3033
- onChange: (e) => x(e.target.value),
3034
- onKeyDown: te,
3035
- onBlur: () => setTimeout(o, 200),
3036
- className: "jaml-inline-input",
3037
- style: { "--jaml-color": ee() }
3038
- }) : e.key
3039
- }), n && r === "key" && O.length > 0 && j && C(/* @__PURE__ */ y("div", {
3040
- className: "jaml-suggestion-popover",
3041
- style: ie,
3042
- children: /* @__PURE__ */ y(na, {
3043
- suggestions: O,
3044
- selectedIndex: f,
3045
- onHover: m,
3046
- onSelect: (e) => {
3047
- s("key", e), o();
3048
- }
3049
- })
3050
- }), document.body)]
3051
- }),
3052
- e.key && /* @__PURE__ */ y("span", {
3053
- className: "jaml-colon",
3054
- children: ":"
3055
- }),
3056
- e.key && (e.isArrayValue && e.arrayValues ? e.key === "antes" ? /* @__PURE__ */ y(ra, {
3057
- values: e.arrayValues,
3058
- onToggle: (t) => {
3059
- let n = e.arrayValues.indexOf(t);
3060
- n >= 0 ? u(n) : l(t);
3061
- },
3062
- color: ee()
3063
- }) : /* @__PURE__ */ b("div", {
3064
- className: "jaml-array-row",
3065
- children: [e.arrayValues.map((e, t) => /* @__PURE__ */ y("div", {
3066
- onClick: (e) => {
3067
- e.stopPropagation(), a("arrayItem", t);
3068
- },
3069
- className: "jaml-block",
3070
- style: {
3071
- "--jaml-min-w": "24px",
3072
- "--jaml-bg": `${M()}15`,
3073
- "--jaml-border": `1px solid ${M()}40`,
3074
- "--jaml-color": M()
3075
- },
3076
- children: n && r === "arrayItem" && i === t ? /* @__PURE__ */ y("input", {
3077
- ref: k,
3078
- title: "Edit array item",
3079
- value: v,
3080
- onChange: (e) => x(e.target.value),
3081
- onKeyDown: te,
3082
- onBlur: () => setTimeout(o, 200),
3083
- className: "jaml-array-input"
3084
- }) : e
3085
- }, t)), /* @__PURE__ */ y("div", {
3086
- onClick: (t) => {
3087
- t.stopPropagation(), a("arrayItem", e.arrayValues.length);
3088
- },
3089
- className: "jaml-block",
3090
- style: {
3091
- "--jaml-min-w": "24px",
3092
- "--jaml-bg": `${$.green}15`,
3093
- "--jaml-border": `1px solid ${$.green}40`,
3094
- "--jaml-color": $.green
3095
- },
3096
- children: /* @__PURE__ */ y(Ji, { size: 12 })
3097
- })]
3098
- }) : /* @__PURE__ */ b("div", {
3099
- className: "jaml-value-wrap",
3100
- children: [/* @__PURE__ */ y("div", {
3101
- ref: r === "value" ? A : null,
3102
- onClick: (e) => {
3103
- e.stopPropagation(), a("value");
3104
- },
3105
- className: "jaml-block",
3106
- style: {
3107
- "--jaml-min-w": e.value ? void 0 : "60px",
3108
- "--jaml-color": e.isInvalidValue ? $.red : e.value ? M() : $.red,
3109
- "--jaml-bg": e.isInvalidValue ? `${$.red}15` : e.value ? `${M()}10` : `${$.red}08`,
3110
- "--jaml-border": `1px solid ${e.isInvalidValue ? `${$.red}60` : e.value ? `${M()}40` : `${$.red}40`}`,
3111
- "--jaml-text-decoration": e.isInvalidValue ? "line-through" : "none"
3112
- },
3113
- children: n && r === "value" ? /* @__PURE__ */ y("input", {
3114
- ref: k,
3115
- title: "Edit value",
3116
- value: v,
3117
- onChange: (e) => x(e.target.value),
3118
- onKeyDown: te,
3119
- onBlur: () => setTimeout(o, 200),
3120
- className: "jaml-inline-input jaml-inline-input--sized",
3121
- style: {
3122
- "--jaml-color": M(),
3123
- "--jaml-input-w": `${Math.max(v.length, 4)}ch`
3124
- }
3125
- }) : e.isInvalidValue ? e.value?.replace(/~/g, "") : e.value || "???"
3126
- }), n && r === "value" && O.length > 0 && j && C(/* @__PURE__ */ y("div", {
3127
- className: "jaml-suggestion-popover",
3128
- style: ie,
3129
- children: /* @__PURE__ */ y(na, {
3130
- suggestions: O,
3131
- selectedIndex: f,
3132
- onHover: m,
3133
- onSelect: (e) => {
3134
- s("value", e), o();
3135
- }
3136
- })
3137
- }), document.body)]
3138
- }))
3139
- ]
3140
- });
3141
- }
3142
- //#endregion
3143
- //#region src/ui/JimboInputModal.tsx
3144
- function sa({ open: e, title: t, message: n, placeholder: r, initialValue: i = "", confirmLabel: a = "Confirm", cancelLabel: o = "Cancel", validate: s, onConfirm: c, onCancel: l }) {
3145
- let [u, d] = _(i), [f, m] = _(null), h = g(null), [v, x] = _(e);
3146
- e !== v && (x(e), e && (d(i), m(null))), p(() => {
3147
- if (e) {
3148
- let e = setTimeout(() => h.current?.focus(), 30);
3149
- return () => clearTimeout(e);
3150
- }
3151
- }, [e]);
3152
- function S() {
3153
- let e = s?.(u) ?? null;
3154
- if (e) {
3155
- m(e);
3156
- return;
3157
- }
3158
- c(u);
3159
- }
3160
- return /* @__PURE__ */ b(be, {
3161
- onClose: l,
3162
- open: e,
3163
- title: t,
3164
- children: [
3165
- n && /* @__PURE__ */ y(N, {
3166
- size: "sm",
3167
- className: "j-input-modal__message",
3168
- tone: "grey",
3169
- children: n
3170
- }),
3171
- /* @__PURE__ */ y(ce, {
3172
- invalid: !!f,
3173
- onChange: (e) => {
3174
- d(e.target.value), f && m(null);
3175
- },
3176
- onKeyDown: (e) => {
3177
- e.key === "Enter" && S(), e.key === "Escape" && l();
3178
- },
3179
- placeholder: r,
3180
- ref: h,
3181
- type: "text",
3182
- value: u
3183
- }),
3184
- f && /* @__PURE__ */ y(N, {
3185
- size: "sm",
3186
- className: "j-input-modal__error",
3187
- tone: "red",
3188
- children: f
3189
- }),
3190
- /* @__PURE__ */ b("div", {
3191
- className: "j-input-modal__actions",
3192
- children: [/* @__PURE__ */ y(P, {
3193
- onClick: l,
3194
- size: "sm",
3195
- tone: "red",
3196
- children: o
3197
- }), /* @__PURE__ */ y(P, {
3198
- onClick: S,
3199
- size: "sm",
3200
- tone: "blue",
3201
- children: a
3202
- })]
3203
- })
3204
- ]
3205
- });
3206
- }
3207
- //#endregion
3208
- //#region src/ui/JimboSelect.tsx
3209
- function ca({ value: e, options: t, onChange: n, disabled: r = !1, label: i, "aria-label": a, style: o }) {
3210
- let s = (t.length === 0 ? [] : typeof t[0] == "string" ? t.map((e) => ({ value: e })) : t).filter((e) => !e.disabled), c = Math.max(0, s.findIndex((t) => t.value === e)), l = s[c] ?? s[0];
3211
- if (!l) return null;
3212
- function u(e) {
3213
- r || s.length === 0 || n(s[(c + e + s.length) % s.length].value);
3214
- }
3215
- return /* @__PURE__ */ y("div", {
3216
- style: o,
3217
- "aria-label": a,
3218
- children: /* @__PURE__ */ y(Me, {
3219
- label: i,
3220
- value: l.label ?? l.value,
3221
- onPrev: () => u(-1),
3222
- onNext: () => u(1),
3223
- canPrev: !r && s.length > 1,
3224
- canNext: !r && s.length > 1
3225
- })
3226
- });
3227
- }
3228
- //#endregion
3229
- //#region src/ui/JimboStepper.tsx
3230
- function la({ count: e, index: t, onIndexChange: n, ariaLabel: r = "Page indicator", className: i = "", style: a }) {
3231
- if (e <= 1) return null;
3232
- let o = !!n;
3233
- return /* @__PURE__ */ y("div", {
3234
- className: `j-stepper ${i}`,
3235
- role: "tablist",
3236
- "aria-label": r,
3237
- style: a,
3238
- children: Array.from({ length: e }).map((r, i) => {
3239
- let a = i === t, s = /* @__PURE__ */ y("span", {
3240
- className: "j-stepper__dot",
3241
- "data-active": a,
3242
- "aria-hidden": !0
3243
- });
3244
- return o ? /* @__PURE__ */ y("button", {
3245
- type: "button",
3246
- className: "j-stepper__hit",
3247
- role: "tab",
3248
- "aria-selected": a,
3249
- "aria-label": `Page ${i + 1} of ${e}`,
3250
- onClick: () => n?.(i),
3251
- children: s
3252
- }, i) : /* @__PURE__ */ y("span", {
3253
- role: "tab",
3254
- "aria-selected": a,
3255
- children: s
3256
- }, i);
3257
- })
3258
- });
3259
- }
3260
- //#endregion
3261
- //#region src/ui/JimboValueBadge.tsx
3262
- function ua({ value: e, onChange: t, min: n = 0, max: r = 100, step: i = 1, unit: a, readOnly: o = !1, className: s = "", style: c }) {
3263
- let [l, u] = _(!1), [d, f] = _(String(e)), m = g(null);
3264
- p(() => {
3265
- l && (m.current?.focus(), m.current?.select());
3266
- }, [l]);
3267
- function h() {
3268
- f(String(e)), u(!0);
3269
- }
3270
- function v() {
3271
- let e = Number(d);
3272
- if (Number.isFinite(e)) {
3273
- let a = Math.min(r, Math.max(n, e)), o = i > 0 ? Math.round(a / i) * i : a;
3274
- t?.(o);
3275
- }
3276
- u(!1);
3277
- }
3278
- function b() {
3279
- f(String(e)), u(!1);
3280
- }
3281
- let x = !o && !!t, S = a ? `${Math.round(e)}${a}` : String(Math.round(e));
3282
- return l ? /* @__PURE__ */ y("div", {
3283
- className: `j-value-badge j-value-badge--editing ${s}`,
3284
- style: c,
3285
- children: /* @__PURE__ */ y("input", {
3286
- ref: m,
3287
- className: "j-value-badge__input",
3288
- type: "number",
3289
- min: n,
3290
- max: r,
3291
- step: i,
3292
- value: d,
3293
- onChange: (e) => f(e.currentTarget.value),
3294
- onBlur: v,
3295
- onKeyDown: (e) => {
3296
- e.key === "Enter" ? v() : e.key === "Escape" && b();
3297
- }
3298
- })
3299
- }) : /* @__PURE__ */ y("button", {
3300
- type: "button",
3301
- className: `j-value-badge ${x ? "" : "j-value-badge--static"} ${s}`,
3302
- style: c,
3303
- onClick: x ? h : void 0,
3304
- disabled: !x,
3305
- tabIndex: x ? 0 : -1,
3306
- children: /* @__PURE__ */ y(N, {
3307
- size: "xs",
3308
- tone: "white",
3309
- children: S
3310
- })
3311
- });
3312
- }
3313
- //#endregion
3314
- //#region src/ui/JimboSlider.tsx
3315
- function da({ value: e, min: t = 0, max: n = 100, step: r = 1, label: i, onChange: a, className: s = "", id: c }) {
3316
- let l = n === t ? 0 : (e - t) / (n - t) * 100, u = o.useId(), d = c ?? u;
3317
- return /* @__PURE__ */ b("div", {
3318
- className: `j-slider-wrap ${s}`,
3319
- children: [i && /* @__PURE__ */ y("label", {
3320
- htmlFor: d,
3321
- className: "j-slider__label",
3322
- children: /* @__PURE__ */ y(N, {
3323
- size: "sm",
3324
- tone: "white",
3325
- children: i
3326
- })
3327
- }), /* @__PURE__ */ b("div", {
3328
- className: "j-slider",
3329
- children: [
3330
- /* @__PURE__ */ y("div", {
3331
- className: "j-slider__track",
3332
- "aria-hidden": !0,
3333
- children: /* @__PURE__ */ y("div", {
3334
- className: "j-slider__fill",
3335
- style: { width: `${l}%` }
3336
- })
3337
- }),
3338
- /* @__PURE__ */ y("input", {
3339
- id: d,
3340
- type: "range",
3341
- className: "j-slider__input",
3342
- min: t,
3343
- max: n,
3344
- step: r,
3345
- value: e,
3346
- onChange: (e) => a?.(Number(e.currentTarget.value))
3347
- }),
3348
- /* @__PURE__ */ y("div", {
3349
- className: "j-slider__thumb",
3350
- style: { left: `${l}%` },
3351
- children: /* @__PURE__ */ y(ua, {
3352
- value: e,
3353
- min: t,
3354
- max: n,
3355
- step: r,
3356
- onChange: a
3357
- })
3358
- })
3359
- ]
3360
- })]
3361
- });
3362
- }
3363
- //#endregion
3364
- //#region src/ui/JimboDualChip.tsx
3365
- function fa({ left: e, right: t, className: n = "" }) {
3366
- return /* @__PURE__ */ b("div", {
3367
- className: `j-dual-chip ${n}`,
3368
- children: [/* @__PURE__ */ y("div", {
3369
- className: `j-dual-chip__half j-dual-chip__half--left j-dual-chip__half--${e.tone}`,
3370
- children: /* @__PURE__ */ y(N, {
3371
- size: "md",
3372
- tone: e.tone === "gold" ? "default" : "white",
3373
- children: e.value
3374
- })
3375
- }), /* @__PURE__ */ y("div", {
3376
- className: `j-dual-chip__half j-dual-chip__half--${t.tone}`,
3377
- children: /* @__PURE__ */ y(N, {
3378
- size: "md",
3379
- tone: t.tone === "gold" ? "default" : "white",
3380
- children: t.value
3381
- })
3382
- })]
3383
- });
3384
- }
3385
- //#endregion
3386
- //#region src/ui/JimboCookLever.tsx
3387
- var pa = 56, ma = .7, ha = 3, ga = 90, _a = 80, va = 6;
3388
- function ya() {
3389
- return {
3390
- name: i[Math.floor(Math.random() * i.length)].name,
3391
- sheet: "Jokers"
3392
- };
3393
- }
3394
- function ba({ cooking: e, onCook: t, onStop: n, matchSprites: r, disabled: i = !1, className: a = "" }) {
3395
- let [s, c] = o.useState(null), [l, u] = o.useState(!1), [d, f] = o.useState(() => Array.from({ length: ha }, ya)), [p, m] = o.useState(0), h = o.useRef(0), g = o.useRef(!1), _ = o.useRef(!1), v = o.useRef(r), x = e || l, S = e && (r?.length ?? 0) > 0, C = e && !S;
3396
- return o.useEffect(() => {
3397
- v.current = r;
3398
- }, [r]), o.useEffect(() => {
3399
- _.current && !e && u(!1), !_.current && e && m(0), _.current = e;
3400
- }, [e]), o.useEffect(() => {
3401
- if (!C) return;
3402
- let e = window.setInterval(() => {
3403
- f((e) => e.map(() => ya()));
3404
- }, ga);
3405
- return () => window.clearInterval(e);
3406
- }, [C]), o.useEffect(() => {
3407
- if (!S) return;
3408
- let e = v.current ?? [];
3409
- if (e.length === 0) return;
3410
- let t = Array.from({ length: ha }, (t, n) => window.setTimeout(() => {
3411
- f((t) => t.map((t, r) => r === n ? e[n % e.length] : t)), m(n + 1);
3412
- }, n * _a));
3413
- return () => t.forEach((e) => window.clearTimeout(e));
3414
- }, [S]), /* @__PURE__ */ b("div", {
3415
- className: `j-cook-lever ${a}`.trim(),
3416
- "data-cooking": x || void 0,
3417
- "data-disabled": i || void 0,
3418
- children: [
3419
- /* @__PURE__ */ y("div", {
3420
- className: "j-cook-lever__reels",
3421
- children: d.map((e, t) => /* @__PURE__ */ y("div", {
3422
- className: "j-cook-lever__reel",
3423
- "data-spinning": C && t >= p || void 0,
3424
- "data-locked": t < p || void 0,
3425
- children: /* @__PURE__ */ y(re, {
3426
- name: e.name,
3427
- sheet: e.sheet,
3428
- width: 52,
3429
- className: "j-cook-lever__sprite"
3430
- })
3431
- }, t))
3432
- }),
3433
- /* @__PURE__ */ y("div", {
3434
- className: "j-cook-lever__label",
3435
- children: x ? "jimbo is cooking…" : "let jimbo cook"
3436
- }),
3437
- /* @__PURE__ */ y("div", {
3438
- className: "j-cook-lever__track",
3439
- children: /* @__PURE__ */ y("div", {
3440
- className: "j-cook-lever__knob",
3441
- role: "button",
3442
- tabIndex: i ? -1 : 0,
3443
- "aria-label": x ? "jimbo is cooking… tap to stop" : "let jimbo cook",
3444
- "data-dragging": s !== null || void 0,
3445
- style: s === null ? void 0 : { transform: `translateY(${s}px)` },
3446
- onPointerDown: (e) => {
3447
- i || (e.currentTarget.setPointerCapture(e.pointerId), h.current = e.clientY, g.current = !1, x || c(0));
3448
- },
3449
- onPointerMove: (e) => {
3450
- if (i || s === null) return;
3451
- let t = e.clientY - h.current;
3452
- Math.abs(t) > va && (g.current = !0), c(t <= 0 ? 0 : t <= pa ? t : pa + (t - pa) * .25);
3453
- },
3454
- onPointerUp: () => {
3455
- if (i) return;
3456
- if (x) {
3457
- g.current || (n?.(), u(!1));
3458
- return;
3459
- }
3460
- if (s === null) return;
3461
- let e = s >= pa * ma;
3462
- c(null), e && (u(!0), navigator.vibrate?.(40), t());
3463
- },
3464
- onPointerCancel: () => {
3465
- c(null);
3466
- },
3467
- onKeyDown: (e) => {
3468
- i || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), x ? (n?.(), u(!1)) : (u(!0), t()));
3469
- },
3470
- children: /* @__PURE__ */ y("div", { className: "j-cook-lever__knob-face" })
3471
- })
3472
- })
3473
- ]
3474
- });
3475
- }
3476
- //#endregion
3477
- export { pe as $, ze as A, Se as B, Ye as C, He as D, Ge as E, je as F, be as G, ye as H, Oe as I, he as J, _e as K, De as L, Pe as M, Ne as N, Ve as O, Me as P, me as Q, Ee as R, qe as S, Ke as T, P as U, xe as V, ve as W, ge as X, de as Y, fe as Z, $e as _, la as a, ae as at, Ze as b, aa as c, E as ct, ot as d, ue as et, at as f, nt as g, Qe as h, ua as i, re as it, Le as j, Be as k, lt as l, w as lt, rt as m, fa as n, N as nt, ca as o, te as ot, it as p, le as q, da as r, se as rt, sa as s, ne as st, ba as t, ce as tt, st as u, T as ut, tt as v, Je as w, Xe as x, et as y, Te as z };
3478
-
3479
- //# sourceMappingURL=ui-BK5rM4AS.js.map