jaml-ui 2.5.1 → 3.0.2

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