astar-visualizer 1.0.3 → 1.0.5

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.
@@ -1,22 +1,22 @@
1
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
2
- import D, { useState as $, useEffect as H } from "react";
3
- const x = (e) => {
1
+ import { jsx as S, jsxs as y } from "react/jsx-runtime";
2
+ import D, { useState as H, useEffect as F } from "react";
3
+ const P = (e) => {
4
4
  let t;
5
- const r = /* @__PURE__ */ new Set(), l = (c, f) => {
6
- const u = typeof c == "function" ? c(t) : c;
7
- if (!Object.is(u, t)) {
8
- const s = t;
9
- t = f ?? (typeof u != "object" || u === null) ? u : Object.assign({}, t, u), r.forEach((a) => a(t, s));
5
+ const r = /* @__PURE__ */ new Set(), s = (i, m) => {
6
+ const c = typeof i == "function" ? i(t) : i;
7
+ if (!Object.is(c, t)) {
8
+ const l = t;
9
+ t = m ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((n) => n(t, l));
10
10
  }
11
- }, o = () => t, g = { setState: l, getState: o, getInitialState: () => d, subscribe: (c) => (r.add(c), () => r.delete(c)), destroy: () => {
11
+ }, o = () => t, w = { setState: s, getState: o, getInitialState: () => d, subscribe: (i) => (r.add(i), () => r.delete(i)), destroy: () => {
12
12
  r.clear();
13
- } }, d = t = e(l, o, g);
14
- return g;
15
- }, U = (e) => e ? x(e) : x;
16
- function q(e) {
13
+ } }, d = t = e(s, o, w);
14
+ return w;
15
+ }, q = (e) => e ? P(e) : P;
16
+ function J(e) {
17
17
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
18
18
  }
19
- var V = { exports: {} }, R = {}, L = { exports: {} }, A = {};
19
+ var V = { exports: {} }, L = {}, R = { exports: {} }, A = {};
20
20
  /**
21
21
  * @license React
22
22
  * use-sync-external-store-shim.production.js
@@ -26,49 +26,49 @@ var V = { exports: {} }, R = {}, L = { exports: {} }, A = {};
26
26
  * This source code is licensed under the MIT license found in the
27
27
  * LICENSE file in the root directory of this source tree.
28
28
  */
29
- var P;
30
- function J() {
31
- if (P)
29
+ var I;
30
+ function Y() {
31
+ if (I)
32
32
  return A;
33
- P = 1;
33
+ I = 1;
34
34
  var e = D;
35
- function t(f, u) {
36
- return f === u && (f !== 0 || 1 / f === 1 / u) || f !== f && u !== u;
35
+ function t(m, c) {
36
+ return m === c && (m !== 0 || 1 / m === 1 / c) || m !== m && c !== c;
37
37
  }
38
- var r = typeof Object.is == "function" ? Object.is : t, l = e.useState, o = e.useEffect, i = e.useLayoutEffect, m = e.useDebugValue;
39
- function p(f, u) {
40
- var s = u(), a = l({ inst: { value: s, getSnapshot: u } }), n = a[0].inst, w = a[1];
41
- return i(
38
+ var r = typeof Object.is == "function" ? Object.is : t, s = e.useState, o = e.useEffect, u = e.useLayoutEffect, p = e.useDebugValue;
39
+ function E(m, c) {
40
+ var l = c(), n = s({ inst: { value: l, getSnapshot: c } }), a = n[0].inst, f = n[1];
41
+ return u(
42
42
  function() {
43
- n.value = s, n.getSnapshot = u, g(n) && w({ inst: n });
43
+ a.value = l, a.getSnapshot = c, w(a) && f({ inst: a });
44
44
  },
45
- [f, s, u]
45
+ [m, l, c]
46
46
  ), o(
47
47
  function() {
48
- return g(n) && w({ inst: n }), f(function() {
49
- g(n) && w({ inst: n });
48
+ return w(a) && f({ inst: a }), m(function() {
49
+ w(a) && f({ inst: a });
50
50
  });
51
51
  },
52
- [f]
53
- ), m(s), s;
52
+ [m]
53
+ ), p(l), l;
54
54
  }
55
- function g(f) {
56
- var u = f.getSnapshot;
57
- f = f.value;
55
+ function w(m) {
56
+ var c = m.getSnapshot;
57
+ m = m.value;
58
58
  try {
59
- var s = u();
60
- return !r(f, s);
59
+ var l = c();
60
+ return !r(m, l);
61
61
  } catch {
62
62
  return !0;
63
63
  }
64
64
  }
65
- function d(f, u) {
66
- return u();
65
+ function d(m, c) {
66
+ return c();
67
67
  }
68
- var c = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? d : p;
69
- return A.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : c, A;
68
+ var i = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? d : E;
69
+ return A.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : i, A;
70
70
  }
71
- var M = {};
71
+ var z = {};
72
72
  /**
73
73
  * @license React
74
74
  * use-sync-external-store-shim.development.js
@@ -78,62 +78,62 @@ var M = {};
78
78
  * This source code is licensed under the MIT license found in the
79
79
  * LICENSE file in the root directory of this source tree.
80
80
  */
81
- var B;
82
- function Y() {
83
- return B || (B = 1, process.env.NODE_ENV !== "production" && function() {
84
- function e(s, a) {
85
- return s === a && (s !== 0 || 1 / s === 1 / a) || s !== s && a !== a;
81
+ var x;
82
+ function Q() {
83
+ return x || (x = 1, process.env.NODE_ENV !== "production" && function() {
84
+ function e(l, n) {
85
+ return l === n && (l !== 0 || 1 / l === 1 / n) || l !== l && n !== n;
86
86
  }
87
- function t(s, a) {
88
- c || o.startTransition === void 0 || (c = !0, console.error(
87
+ function t(l, n) {
88
+ i || o.startTransition === void 0 || (i = !0, console.error(
89
89
  "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
90
90
  ));
91
- var n = a();
92
- if (!f) {
93
- var w = a();
94
- i(n, w) || (console.error(
91
+ var a = n();
92
+ if (!m) {
93
+ var f = n();
94
+ u(a, f) || (console.error(
95
95
  "The result of getSnapshot should be cached to avoid an infinite loop"
96
- ), f = !0);
96
+ ), m = !0);
97
97
  }
98
- w = m({
99
- inst: { value: n, getSnapshot: a }
98
+ f = p({
99
+ inst: { value: a, getSnapshot: n }
100
100
  });
101
- var E = w[0].inst, _ = w[1];
102
- return g(
101
+ var v = f[0].inst, O = f[1];
102
+ return w(
103
103
  function() {
104
- E.value = n, E.getSnapshot = a, r(E) && _({ inst: E });
104
+ v.value = a, v.getSnapshot = n, r(v) && O({ inst: v });
105
105
  },
106
- [s, n, a]
107
- ), p(
106
+ [l, a, n]
107
+ ), E(
108
108
  function() {
109
- return r(E) && _({ inst: E }), s(function() {
110
- r(E) && _({ inst: E });
109
+ return r(v) && O({ inst: v }), l(function() {
110
+ r(v) && O({ inst: v });
111
111
  });
112
112
  },
113
- [s]
114
- ), d(n), n;
113
+ [l]
114
+ ), d(a), a;
115
115
  }
116
- function r(s) {
117
- var a = s.getSnapshot;
118
- s = s.value;
116
+ function r(l) {
117
+ var n = l.getSnapshot;
118
+ l = l.value;
119
119
  try {
120
- var n = a();
121
- return !i(s, n);
120
+ var a = n();
121
+ return !u(l, a);
122
122
  } catch {
123
123
  return !0;
124
124
  }
125
125
  }
126
- function l(s, a) {
127
- return a();
126
+ function s(l, n) {
127
+ return n();
128
128
  }
129
129
  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
130
- var o = D, i = typeof Object.is == "function" ? Object.is : e, m = o.useState, p = o.useEffect, g = o.useLayoutEffect, d = o.useDebugValue, c = !1, f = !1, u = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? l : t;
131
- M.useSyncExternalStore = o.useSyncExternalStore !== void 0 ? o.useSyncExternalStore : u, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
132
- }()), M;
130
+ var o = D, u = typeof Object.is == "function" ? Object.is : e, p = o.useState, E = o.useEffect, w = o.useLayoutEffect, d = o.useDebugValue, i = !1, m = !1, c = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? s : t;
131
+ z.useSyncExternalStore = o.useSyncExternalStore !== void 0 ? o.useSyncExternalStore : c, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
132
+ }()), z;
133
133
  }
134
- var I;
135
- function F() {
136
- return I || (I = 1, process.env.NODE_ENV === "production" ? L.exports = J() : L.exports = Y()), L.exports;
134
+ var j;
135
+ function K() {
136
+ return j || (j = 1, process.env.NODE_ENV === "production" ? R.exports = Y() : R.exports = Q()), R.exports;
137
137
  }
138
138
  /**
139
139
  * @license React
@@ -144,61 +144,61 @@ function F() {
144
144
  * This source code is licensed under the MIT license found in the
145
145
  * LICENSE file in the root directory of this source tree.
146
146
  */
147
- var j;
148
- function Q() {
149
- if (j)
150
- return R;
151
- j = 1;
152
- var e = D, t = F();
153
- function r(d, c) {
154
- return d === c && (d !== 0 || 1 / d === 1 / c) || d !== d && c !== c;
147
+ var G;
148
+ function X() {
149
+ if (G)
150
+ return L;
151
+ G = 1;
152
+ var e = D, t = K();
153
+ function r(d, i) {
154
+ return d === i && (d !== 0 || 1 / d === 1 / i) || d !== d && i !== i;
155
155
  }
156
- var l = typeof Object.is == "function" ? Object.is : r, o = t.useSyncExternalStore, i = e.useRef, m = e.useEffect, p = e.useMemo, g = e.useDebugValue;
157
- return R.useSyncExternalStoreWithSelector = function(d, c, f, u, s) {
158
- var a = i(null);
159
- if (a.current === null) {
160
- var n = { hasValue: !1, value: null };
161
- a.current = n;
156
+ var s = typeof Object.is == "function" ? Object.is : r, o = t.useSyncExternalStore, u = e.useRef, p = e.useEffect, E = e.useMemo, w = e.useDebugValue;
157
+ return L.useSyncExternalStoreWithSelector = function(d, i, m, c, l) {
158
+ var n = u(null);
159
+ if (n.current === null) {
160
+ var a = { hasValue: !1, value: null };
161
+ n.current = a;
162
162
  } else
163
- n = a.current;
164
- a = p(
163
+ a = n.current;
164
+ n = E(
165
165
  function() {
166
- function E(b) {
167
- if (!_) {
168
- if (_ = !0, O = b, b = u(b), s !== void 0 && n.hasValue) {
169
- var S = n.value;
170
- if (s(S, b))
171
- return N = S;
166
+ function v(g) {
167
+ if (!O) {
168
+ if (O = !0, N = g, g = c(g), l !== void 0 && a.hasValue) {
169
+ var b = a.value;
170
+ if (l(b, g))
171
+ return T = b;
172
172
  }
173
- return N = b;
173
+ return T = g;
174
174
  }
175
- if (S = N, l(O, b))
176
- return S;
177
- var T = u(b);
178
- return s !== void 0 && s(S, T) ? (O = b, S) : (O = b, N = T);
175
+ if (b = T, s(N, g))
176
+ return b;
177
+ var _ = c(g);
178
+ return l !== void 0 && l(b, _) ? (N = g, b) : (N = g, T = _);
179
179
  }
180
- var _ = !1, O, N, C = f === void 0 ? null : f;
180
+ var O = !1, N, T, C = m === void 0 ? null : m;
181
181
  return [
182
182
  function() {
183
- return E(c());
183
+ return v(i());
184
184
  },
185
185
  C === null ? void 0 : function() {
186
- return E(C());
186
+ return v(C());
187
187
  }
188
188
  ];
189
189
  },
190
- [c, f, u, s]
190
+ [i, m, c, l]
191
191
  );
192
- var w = o(d, a[0], a[1]);
193
- return m(
192
+ var f = o(d, n[0], n[1]);
193
+ return p(
194
194
  function() {
195
- n.hasValue = !0, n.value = w;
195
+ a.hasValue = !0, a.value = f;
196
196
  },
197
- [w]
198
- ), g(w), w;
199
- }, R;
197
+ [f]
198
+ ), w(f), f;
199
+ }, L;
200
200
  }
201
- var z = {};
201
+ var M = {};
202
202
  /**
203
203
  * @license React
204
204
  * use-sync-external-store-shim/with-selector.development.js
@@ -209,146 +209,146 @@ var z = {};
209
209
  * LICENSE file in the root directory of this source tree.
210
210
  */
211
211
  var W;
212
- function X() {
212
+ function Z() {
213
213
  return W || (W = 1, process.env.NODE_ENV !== "production" && function() {
214
- function e(d, c) {
215
- return d === c && (d !== 0 || 1 / d === 1 / c) || d !== d && c !== c;
214
+ function e(d, i) {
215
+ return d === i && (d !== 0 || 1 / d === 1 / i) || d !== d && i !== i;
216
216
  }
217
217
  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
218
- var t = D, r = F(), l = typeof Object.is == "function" ? Object.is : e, o = r.useSyncExternalStore, i = t.useRef, m = t.useEffect, p = t.useMemo, g = t.useDebugValue;
219
- z.useSyncExternalStoreWithSelector = function(d, c, f, u, s) {
220
- var a = i(null);
221
- if (a.current === null) {
222
- var n = { hasValue: !1, value: null };
223
- a.current = n;
218
+ var t = D, r = K(), s = typeof Object.is == "function" ? Object.is : e, o = r.useSyncExternalStore, u = t.useRef, p = t.useEffect, E = t.useMemo, w = t.useDebugValue;
219
+ M.useSyncExternalStoreWithSelector = function(d, i, m, c, l) {
220
+ var n = u(null);
221
+ if (n.current === null) {
222
+ var a = { hasValue: !1, value: null };
223
+ n.current = a;
224
224
  } else
225
- n = a.current;
226
- a = p(
225
+ a = n.current;
226
+ n = E(
227
227
  function() {
228
- function E(b) {
229
- if (!_) {
230
- if (_ = !0, O = b, b = u(b), s !== void 0 && n.hasValue) {
231
- var S = n.value;
232
- if (s(S, b))
233
- return N = S;
228
+ function v(g) {
229
+ if (!O) {
230
+ if (O = !0, N = g, g = c(g), l !== void 0 && a.hasValue) {
231
+ var b = a.value;
232
+ if (l(b, g))
233
+ return T = b;
234
234
  }
235
- return N = b;
235
+ return T = g;
236
236
  }
237
- if (S = N, l(O, b))
238
- return S;
239
- var T = u(b);
240
- return s !== void 0 && s(S, T) ? (O = b, S) : (O = b, N = T);
237
+ if (b = T, s(N, g))
238
+ return b;
239
+ var _ = c(g);
240
+ return l !== void 0 && l(b, _) ? (N = g, b) : (N = g, T = _);
241
241
  }
242
- var _ = !1, O, N, C = f === void 0 ? null : f;
242
+ var O = !1, N, T, C = m === void 0 ? null : m;
243
243
  return [
244
244
  function() {
245
- return E(c());
245
+ return v(i());
246
246
  },
247
247
  C === null ? void 0 : function() {
248
- return E(C());
248
+ return v(C());
249
249
  }
250
250
  ];
251
251
  },
252
- [c, f, u, s]
252
+ [i, m, c, l]
253
253
  );
254
- var w = o(d, a[0], a[1]);
255
- return m(
254
+ var f = o(d, n[0], n[1]);
255
+ return p(
256
256
  function() {
257
- n.hasValue = !0, n.value = w;
257
+ a.hasValue = !0, a.value = f;
258
258
  },
259
- [w]
260
- ), g(w), w;
259
+ [f]
260
+ ), w(f), f;
261
261
  }, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
262
- }()), z;
262
+ }()), M;
263
263
  }
264
- process.env.NODE_ENV === "production" ? V.exports = Q() : V.exports = X();
265
- var Z = V.exports;
266
- const ee = /* @__PURE__ */ q(Z), { useDebugValue: te } = D, { useSyncExternalStoreWithSelector: re } = ee;
267
- const oe = (e) => e;
268
- function ne(e, t = oe, r) {
269
- const l = re(
264
+ process.env.NODE_ENV === "production" ? V.exports = X() : V.exports = Z();
265
+ var ee = V.exports;
266
+ const te = /* @__PURE__ */ J(ee), { useDebugValue: re } = D, { useSyncExternalStoreWithSelector: oe } = te;
267
+ const ne = (e) => e;
268
+ function se(e, t = ne, r) {
269
+ const s = oe(
270
270
  e.subscribe,
271
271
  e.getState,
272
272
  e.getServerState || e.getInitialState,
273
273
  t,
274
274
  r
275
275
  );
276
- return te(l), l;
276
+ return re(s), s;
277
277
  }
278
- const G = (e) => {
279
- const t = typeof e == "function" ? U(e) : e, r = (l, o) => ne(t, l, o);
278
+ const $ = (e) => {
279
+ const t = typeof e == "function" ? q(e) : e, r = (s, o) => se(t, s, o);
280
280
  return Object.assign(r, t), r;
281
- }, se = (e) => e ? G(e) : G;
281
+ }, ae = (e) => e ? $(e) : $;
282
282
  var h = /* @__PURE__ */ ((e) => (e[e.Empty = 0] = "Empty", e[e.Start = 1] = "Start", e[e.End = 2] = "End", e[e.Obstacle = 3] = "Obstacle", e[e.Visited = 4] = "Visited", e[e.Path = 5] = "Path", e))(h || {});
283
283
  const k = (e, t) => {
284
- const r = Math.abs(e.row - t.row), l = Math.abs(e.col - t.col);
285
- return Math.floor(10 * Math.sqrt(r * r + l * l));
286
- }, ae = (e, t) => ({
284
+ const r = Math.abs(e.row - t.row), s = Math.abs(e.col - t.col);
285
+ return Math.floor(10 * Math.sqrt(r * r + s * s));
286
+ }, le = (e, t) => ({
287
287
  row: e.row,
288
288
  col: e.col,
289
289
  g: 0,
290
290
  h: k(e, t),
291
291
  f: k(e, t),
292
292
  parent: null
293
- }), le = (e, t, r) => {
294
- const l = [
293
+ }), ie = (e, t, r) => {
294
+ const s = [
295
295
  { row: e.row - 1, col: e.col },
296
296
  { row: e.row + 1, col: e.col },
297
297
  { row: e.row, col: e.col - 1 },
298
298
  { row: e.row, col: e.col + 1 }
299
299
  ];
300
- return r && l.push(
300
+ return r && s.push(
301
301
  { row: e.row - 1, col: e.col - 1 },
302
302
  { row: e.row - 1, col: e.col + 1 },
303
303
  { row: e.row + 1, col: e.col - 1 },
304
304
  { row: e.row + 1, col: e.col + 1 }
305
- ), l.filter((o) => o.row >= 0 && o.row < t.length && o.col >= 0 && o.col < t[0].length && t[o.row][o.col].state !== h.Obstacle).map((o) => ({
305
+ ), s.filter((o) => o.row >= 0 && o.row < t.length && o.col >= 0 && o.col < t[0].length && t[o.row][o.col].state !== h.Obstacle).map((o) => ({
306
306
  row: o.row,
307
307
  col: o.col,
308
308
  state: t[o.row][o.col].state
309
309
  }));
310
- }, ie = (e, t, r) => {
311
- const l = Math.abs(e.row - t.row), o = Math.abs(e.col - t.col), i = e.g + (l === 0 || o === 0 ? 10 : 14), m = k(t, r), p = i + m;
312
- return { g: i, h: m, f: p };
313
- }, ce = (e) => {
310
+ }, ce = (e, t, r) => {
311
+ const s = Math.abs(e.row - t.row), o = Math.abs(e.col - t.col), u = e.g + (s === 0 || o === 0 ? 10 : 14), p = k(t, r), E = u + p;
312
+ return { g: u, h: p, f: E };
313
+ }, ue = (e) => {
314
314
  const t = [];
315
315
  let r = e;
316
316
  for (; r; )
317
317
  t.push(r), r = r.parent;
318
318
  return t.reverse();
319
- }, ue = (e, t, r, l) => {
320
- const o = [], i = [], m = ae(t, r);
321
- for (o.push(m); o.length > 0; ) {
322
- o.sort((d, c) => d.f - c.f);
323
- const p = o.shift();
324
- if (p.row === r.row && p.col === r.col)
325
- return i.push(p), { path: ce(p), visitedNodes: i };
326
- i.push(p);
327
- const g = le(p, e, l);
328
- for (const d of g) {
329
- if (i.some((a) => a.row === d.row && a.col === d.col))
319
+ }, de = (e, t, r, s) => {
320
+ const o = [], u = [], p = le(t, r);
321
+ for (o.push(p); o.length > 0; ) {
322
+ o.sort((d, i) => d.f - i.f);
323
+ const E = o.shift();
324
+ if (E.row === r.row && E.col === r.col)
325
+ return u.push(E), { path: ue(E), visitedNodes: u };
326
+ u.push(E);
327
+ const w = ie(E, e, s);
328
+ for (const d of w) {
329
+ if (u.some((n) => n.row === d.row && n.col === d.col))
330
330
  continue;
331
- const { g: c, h: f, f: u } = ie(p, d, r), s = o.find(
332
- (a) => a.row === d.row && a.col === d.col
331
+ const { g: i, h: m, f: c } = ce(E, d, r), l = o.find(
332
+ (n) => n.row === d.row && n.col === d.col
333
333
  );
334
- if (!s || c < s.g) {
335
- const a = {
334
+ if (!l || i < l.g) {
335
+ const n = {
336
336
  row: d.row,
337
337
  col: d.col,
338
- g: c,
339
- h: f,
340
- f: u,
341
- parent: p
338
+ g: i,
339
+ h: m,
340
+ f: c,
341
+ parent: E
342
342
  };
343
- s ? (s.g = c, s.f = u, s.parent = p) : o.push(a);
343
+ l ? (l.g = i, l.f = c, l.parent = E) : o.push(n);
344
344
  }
345
345
  }
346
346
  }
347
- return { path: [], visitedNodes: i };
348
- }, de = (e) => ({
347
+ return { path: [], visitedNodes: u };
348
+ }, fe = (e) => ({
349
349
  cells: Array.from(
350
350
  { length: 8 },
351
- (t, r) => Array.from({ length: 12 }, (l, o) => ({
351
+ (t, r) => Array.from({ length: 12 }, (s, o) => ({
352
352
  row: r,
353
353
  col: o,
354
354
  state: h.Empty
@@ -363,13 +363,13 @@ const k = (e, t) => {
363
363
  visitedNodes: [],
364
364
  setNumberOfColumns: (t) => {
365
365
  e((r) => {
366
- const l = r.cells.map((o) => t > r.columns ? [
366
+ const s = r.cells.map((o) => t > r.columns ? [
367
367
  ...o,
368
368
  ...Array.from(
369
369
  { length: t - r.columns },
370
- (i, m) => ({
370
+ (u, p) => ({
371
371
  row: o[0].row,
372
- col: r.columns + m,
372
+ col: r.columns + p,
373
373
  state: h.Empty
374
374
  })
375
375
  )
@@ -377,58 +377,58 @@ const k = (e, t) => {
377
377
  return {
378
378
  ...r,
379
379
  columns: t,
380
- cells: l
380
+ cells: s
381
381
  };
382
382
  });
383
383
  },
384
384
  setNumberOfRows: (t) => {
385
385
  e((r) => {
386
- let l = [...r.cells];
387
- return t > r.rows ? l = [
388
- ...l,
386
+ let s = [...r.cells];
387
+ return t > r.rows ? s = [
388
+ ...s,
389
389
  ...Array.from(
390
390
  { length: t - r.rows },
391
- (o, i) => Array.from({ length: r.columns }, (m, p) => ({
392
- row: r.rows + i,
393
- col: p,
391
+ (o, u) => Array.from({ length: r.columns }, (p, E) => ({
392
+ row: r.rows + u,
393
+ col: E,
394
394
  state: h.Empty
395
395
  }))
396
396
  )
397
- ] : l = l.slice(0, t), {
397
+ ] : s = s.slice(0, t), {
398
398
  ...r,
399
399
  rows: t,
400
- cells: l
400
+ cells: s
401
401
  };
402
402
  });
403
403
  },
404
- setCellState: (t, r, l) => {
404
+ setCellState: (t, r, s) => {
405
405
  e((o) => {
406
- const i = o.cells.map(
407
- (d) => d.map((c) => ({ ...c }))
406
+ const u = o.cells.map(
407
+ (d) => d.map((i) => ({ ...i }))
408
408
  );
409
- let m = o.startTile, p = o.endTile, g = [...o.obstacleTiles];
410
- switch (l === h.Start && o.startTile && (i[o.startTile.row][o.startTile.col].state = h.Empty, m = null), l === h.End && o.endTile && (i[o.endTile.row][o.endTile.col].state = h.Empty, p = null), i[t][r].state = l, l) {
409
+ let p = o.startTile, E = o.endTile, w = [...o.obstacleTiles];
410
+ switch (s === h.Start && o.startTile && (u[o.startTile.row][o.startTile.col].state = h.Empty, p = null), s === h.End && o.endTile && (u[o.endTile.row][o.endTile.col].state = h.Empty, E = null), u[t][r].state = s, s) {
411
411
  case h.Start:
412
- m = { row: t, col: r };
412
+ p = { row: t, col: r };
413
413
  break;
414
414
  case h.End:
415
- p = { row: t, col: r };
415
+ E = { row: t, col: r };
416
416
  break;
417
417
  case h.Obstacle:
418
- g.some((d) => d.row === t && d.col === r) || g.push({ row: t, col: r });
418
+ w.some((d) => d.row === t && d.col === r) || w.push({ row: t, col: r });
419
419
  break;
420
420
  case h.Empty:
421
- g = g.filter(
421
+ w = w.filter(
422
422
  (d) => !(d.row === t && d.col === r)
423
423
  );
424
424
  break;
425
425
  }
426
426
  return {
427
427
  ...o,
428
- cells: i,
429
- startTile: m,
430
- endTile: p,
431
- obstacleTiles: g
428
+ cells: u,
429
+ startTile: p,
430
+ endTile: E,
431
+ obstacleTiles: w
432
432
  };
433
433
  });
434
434
  },
@@ -436,8 +436,8 @@ const k = (e, t) => {
436
436
  e((t) => ({
437
437
  ...t,
438
438
  cells: t.cells.map(
439
- (r) => r.map((l) => ({
440
- ...l,
439
+ (r) => r.map((s) => ({
440
+ ...s,
441
441
  state: h.Empty
442
442
  }))
443
443
  ),
@@ -450,120 +450,125 @@ const k = (e, t) => {
450
450
  },
451
451
  handleFindPath: (t) => {
452
452
  e((r) => {
453
- const l = r.cells.flat().find((i) => i.state === h.Start), o = r.cells.flat().find((i) => i.state === h.End);
454
- if (l && o) {
455
- const i = r.cells.map(
456
- (d) => d.map((c) => ({
457
- row: c.row,
458
- col: c.col,
459
- state: c.state
453
+ const s = r.cells.flat().find((u) => u.state === h.Start), o = r.cells.flat().find((u) => u.state === h.End);
454
+ if (s && o) {
455
+ const u = r.cells.map(
456
+ (d) => d.map((i) => ({
457
+ row: i.row,
458
+ col: i.col,
459
+ state: i.state
460
460
  }))
461
- ), { path: m, visitedNodes: p } = ue(i, l, o, t);
462
- return (async (d, c) => {
463
- for (let f of c)
464
- await new Promise((u) => setTimeout(u, 100)), e((u) => {
465
- const s = u.cells.map(
466
- (a) => a.map((n) => ({
467
- ...n,
468
- state: f.row === n.row && f.col === n.col && n.state === h.Empty ? h.Visited : n.state
461
+ ), { path: p, visitedNodes: E } = de(u, s, o, t);
462
+ return (async (d, i) => {
463
+ for (let m of i)
464
+ await new Promise((c) => setTimeout(c, 100)), e((c) => {
465
+ const l = c.cells.map(
466
+ (n) => n.map((a) => ({
467
+ ...a,
468
+ state: m.row === a.row && m.col === a.col && a.state === h.Empty ? h.Visited : a.state
469
469
  }))
470
470
  );
471
471
  return {
472
- ...u,
473
- cells: s,
474
- visitedNodes: [...u.visitedNodes, f]
472
+ ...c,
473
+ cells: l,
474
+ visitedNodes: [...c.visitedNodes, m]
475
475
  };
476
476
  });
477
- for (let f of d)
478
- await new Promise((u) => setTimeout(u, 250)), e((u) => {
479
- const s = u.cells.map(
480
- (a) => a.map((n) => ({
481
- ...n,
482
- state: f.row === n.row && f.col === n.col ? h.Path : n.state
477
+ for (let m of d)
478
+ await new Promise((c) => setTimeout(c, 250)), e((c) => {
479
+ const l = c.cells.map(
480
+ (n) => n.map((a) => ({
481
+ ...a,
482
+ state: m.row === a.row && m.col === a.col ? h.Path : a.state
483
483
  }))
484
484
  );
485
485
  return {
486
- ...u,
487
- cells: s,
488
- path: [...u.path, f]
486
+ ...c,
487
+ cells: l,
488
+ path: [...c.path, m]
489
489
  };
490
490
  });
491
- })(m, p), { ...r, path: [], visitedNodes: [] };
491
+ })(p, E), { ...r, path: [], visitedNodes: [] };
492
492
  }
493
493
  return r;
494
494
  });
495
495
  },
496
496
  setPath: (t) => {
497
497
  e((r) => {
498
- const l = r.cells.map(
499
- (o) => o.map((i) => ({
500
- ...i,
501
- state: t.some((m) => m.row === i.row && m.col === i.col) ? h.Path : i.state
498
+ const s = r.cells.map(
499
+ (o) => o.map((u) => ({
500
+ ...u,
501
+ state: t.some((p) => p.row === u.row && p.col === u.col) ? h.Path : u.state
502
502
  }))
503
503
  );
504
504
  return {
505
505
  ...r,
506
- cells: l
506
+ cells: s
507
507
  };
508
508
  });
509
509
  },
510
510
  setVisitedNodes: (t) => {
511
511
  e((r) => {
512
- const l = r.cells.map(
513
- (o) => o.map((i) => ({
514
- ...i,
515
- state: t.some((m) => m.row === i.row && m.col === i.col) && i.state === h.Empty ? h.Visited : i.state
512
+ const s = r.cells.map(
513
+ (o) => o.map((u) => ({
514
+ ...u,
515
+ state: t.some((p) => p.row === u.row && p.col === u.col) && u.state === h.Empty ? h.Visited : u.state
516
516
  }))
517
517
  );
518
518
  return {
519
519
  ...r,
520
- cells: l
520
+ cells: s
521
521
  };
522
522
  });
523
523
  }
524
- }), fe = (e) => ({
524
+ }), he = (e) => ({
525
525
  activeButton: h.Start,
526
526
  setSelectedButtonState: (t) => e({ activeButton: t }),
527
527
  canTravelDiagonally: !0,
528
528
  setCanTravelDiagonally: (t) => e({ canTravelDiagonally: t })
529
- }), K = se((e, t, r) => ({
530
- ...de(e),
531
- ...fe(e)
529
+ }), U = ae((e, t, r) => ({
530
+ ...fe(e),
531
+ ...he(e)
532
532
  }));
533
- const he = () => {
534
- var u;
535
- const { cells: e, activeButton: t, setCellState: r, setSelectedButtonState: l, visitedNodes: o, path: i } = K(), [m, p] = $({ width: window.innerWidth, height: window.innerHeight });
536
- H(() => {
537
- const s = () => {
538
- p({ width: window.innerWidth, height: window.innerHeight });
533
+ const me = () => {
534
+ var l;
535
+ const { cells: e, activeButton: t, setCellState: r, setSelectedButtonState: s, visitedNodes: o, path: u } = U(), [p, E] = H({ width: 0, height: 0 }), w = D.useRef(null);
536
+ F(() => {
537
+ const n = () => {
538
+ if (w.current) {
539
+ const a = w.current.getBoundingClientRect();
540
+ E({ width: a.width, height: a.height });
541
+ }
539
542
  };
540
- return window.addEventListener("resize", s), () => window.removeEventListener("resize", s);
543
+ return n(), window.addEventListener("resize", n), () => window.removeEventListener("resize", n);
541
544
  }, []);
542
- const g = (s, a) => {
543
- switch (r(s, a, t), t) {
545
+ const d = (n, a) => {
546
+ switch (r(n, a, t), t) {
544
547
  case h.Start:
545
- l(h.End);
548
+ s(h.End);
546
549
  break;
547
550
  case h.End:
548
- l(h.Obstacle);
551
+ s(h.Obstacle);
549
552
  break;
550
553
  }
551
- }, d = (s, a) => {
552
- const n = o.find((w) => w.row === s && w.col === a);
553
- return n ? { g: n.g, h: n.h, f: n.f } : { g: null, h: null, f: null };
554
- }, f = (() => {
555
- var T;
556
- const s = m.width < 768, a = m.width < 1024, n = s ? Math.min(m.width * 0.98, 500) : a ? Math.min(m.width * 0.95, 800) : Math.min(m.width * 0.9, 1e3), w = s ? Math.min(m.height * 0.75, 500) : a ? Math.min(m.height * 0.8, 700) : Math.min(m.height * 0.85, 800), E = ((T = e[0]) == null ? void 0 : T.length) || 1, _ = e.length || 1, O = s ? 16 : 24, N = (n - O) / E, C = (w - O) / _;
557
- return Math.max(s ? 30 : 40, Math.min(N, C, s ? 50 : a ? 70 : 90));
554
+ }, i = (n, a) => {
555
+ const f = o.find((v) => v.row === n && v.col === a);
556
+ return f ? { g: f.g, h: f.h, f: f.f } : { g: null, h: null, f: null };
557
+ }, c = (() => {
558
+ var b;
559
+ if (!p.width || !p.height)
560
+ return 20;
561
+ const n = ((b = e[0]) == null ? void 0 : b.length) || 1, a = e.length || 1, f = 20, v = n + a, O = p.width - f - v, N = p.height - f - v, T = O / n, C = N / a, g = Math.min(T, C);
562
+ return Math.max(15, Math.min(g, 60));
558
563
  })();
559
- return /* @__PURE__ */ v("div", { className: "grid-wrapper", children: /* @__PURE__ */ v(
564
+ return /* @__PURE__ */ S("div", { className: "grid-wrapper", ref: w, children: /* @__PURE__ */ S(
560
565
  "div",
561
566
  {
562
567
  className: "grid-container",
563
568
  style: {
564
569
  display: "grid",
565
- gridTemplateColumns: `repeat(${((u = e[0]) == null ? void 0 : u.length) || 1}, ${f}px)`,
566
- gridTemplateRows: `repeat(${e.length || 1}, ${f}px)`,
570
+ gridTemplateColumns: `repeat(${((l = e[0]) == null ? void 0 : l.length) || 1}, ${c}px)`,
571
+ gridTemplateRows: `repeat(${e.length || 1}, ${c}px)`,
567
572
  gap: "1px",
568
573
  padding: "8px",
569
574
  background: "var(--bg-secondary)",
@@ -572,21 +577,21 @@ const he = () => {
572
577
  border: "1px solid var(--border-color)"
573
578
  },
574
579
  children: e.map(
575
- (s, a) => s.map((n, w) => {
576
- const E = i.some((S) => S.row === n.row && S.col === n.col), _ = o.some((S) => S.row === n.row && S.col === n.col), { g: O, h: N, f: C } = d(n.row, n.col);
577
- let b = me(n, _);
578
- if (E) {
579
- const S = i.findIndex((T) => T.row === n.row && T.col === n.col);
580
- S === 0 ? b = "var(--cell-start)" : S === i.length - 1 ? b = "var(--cell-end)" : b = "var(--cell-path)";
580
+ (n, a) => n.map((f, v) => {
581
+ const O = u.some((_) => _.row === f.row && _.col === f.col), N = o.some((_) => _.row === f.row && _.col === f.col), { g: T, h: C, f: g } = i(f.row, f.col);
582
+ let b = pe(f, N);
583
+ if (O) {
584
+ const _ = u.findIndex((B) => B.row === f.row && B.col === f.col);
585
+ _ === 0 ? b = "var(--cell-start)" : _ === u.length - 1 ? b = "var(--cell-end)" : b = "var(--cell-path)";
581
586
  }
582
587
  return /* @__PURE__ */ y(
583
588
  "div",
584
589
  {
585
590
  className: "grid-cell",
586
- onClick: () => g(a, w),
591
+ onClick: () => d(a, v),
587
592
  style: {
588
- width: f,
589
- height: f,
593
+ width: c,
594
+ height: c,
590
595
  backgroundColor: b,
591
596
  border: "1px solid var(--cell-border)",
592
597
  cursor: "pointer",
@@ -597,39 +602,39 @@ const he = () => {
597
602
  alignItems: "center",
598
603
  borderRadius: "2px"
599
604
  },
600
- onMouseEnter: (S) => {
601
- n.state === h.Empty && (S.currentTarget.style.backgroundColor = "var(--bg-tertiary)", S.currentTarget.style.transform = "scale(1.02)");
605
+ onMouseEnter: (_) => {
606
+ f.state === h.Empty && (_.currentTarget.style.backgroundColor = "var(--bg-tertiary)", _.currentTarget.style.transform = "scale(1.02)");
602
607
  },
603
- onMouseLeave: (S) => {
604
- n.state === h.Empty && (S.currentTarget.style.backgroundColor = b, S.currentTarget.style.transform = "scale(1)");
608
+ onMouseLeave: (_) => {
609
+ f.state === h.Empty && (_.currentTarget.style.backgroundColor = b, _.currentTarget.style.transform = "scale(1)");
605
610
  },
606
611
  children: [
607
- _ && /* @__PURE__ */ y("div", { className: "cell-values", children: [
612
+ N && /* @__PURE__ */ y("div", { className: "cell-values", children: [
608
613
  /* @__PURE__ */ y("div", { className: "value-h", children: [
609
614
  "h",
610
- N
615
+ C
611
616
  ] }),
612
617
  /* @__PURE__ */ y("div", { className: "value-f", children: [
613
618
  "f",
614
- C
619
+ g
615
620
  ] }),
616
621
  /* @__PURE__ */ y("div", { className: "value-g", children: [
617
622
  "g",
618
- O
623
+ T
619
624
  ] })
620
625
  ] }),
621
- n.state === h.Start && /* @__PURE__ */ v("div", { className: "cell-indicator start", children: "●" }),
622
- n.state === h.End && /* @__PURE__ */ v("div", { className: "cell-indicator end", children: "●" }),
623
- n.state === h.Obstacle && /* @__PURE__ */ v("div", { className: "cell-indicator obstacle", children: "■" })
626
+ f.state === h.Start && /* @__PURE__ */ S("div", { className: "cell-indicator start", children: "●" }),
627
+ f.state === h.End && /* @__PURE__ */ S("div", { className: "cell-indicator end", children: "●" }),
628
+ f.state === h.Obstacle && /* @__PURE__ */ S("div", { className: "cell-indicator obstacle", children: "■" })
624
629
  ]
625
630
  },
626
- `${a}-${w}`
631
+ `${a}-${v}`
627
632
  );
628
633
  })
629
634
  )
630
635
  }
631
636
  ) });
632
- }, me = (e, t) => {
637
+ }, pe = (e, t) => {
633
638
  if (t)
634
639
  return e.state === h.Start ? "var(--cell-start)" : e.state === h.End ? "var(--cell-end)" : "var(--cell-visited)";
635
640
  switch (e.state) {
@@ -645,128 +650,128 @@ const he = () => {
645
650
  return "var(--cell-empty)";
646
651
  }
647
652
  };
648
- const pe = () => {
653
+ const ve = () => {
649
654
  const {
650
655
  activeButton: e,
651
656
  setSelectedButtonState: t,
652
657
  resetCells: r,
653
- rows: l,
658
+ rows: s,
654
659
  columns: o,
655
- setNumberOfRows: i,
656
- setNumberOfColumns: m,
657
- handleFindPath: p,
658
- canTravelDiagonally: g,
660
+ setNumberOfRows: u,
661
+ setNumberOfColumns: p,
662
+ handleFindPath: E,
663
+ canTravelDiagonally: w,
659
664
  setCanTravelDiagonally: d
660
- } = K(), [c, f] = $(() => {
661
- const E = localStorage.getItem("darkMode");
662
- return E ? JSON.parse(E) : !1;
665
+ } = U(), [i, m] = H(() => {
666
+ const v = localStorage.getItem("darkMode");
667
+ return v ? JSON.parse(v) : !1;
663
668
  });
664
- H(() => {
665
- localStorage.setItem("darkMode", JSON.stringify(c)), document.documentElement.setAttribute("data-theme", c ? "dark" : "light");
666
- }, [c]);
667
- const u = () => {
668
- f(!c);
669
- }, s = [
669
+ F(() => {
670
+ localStorage.setItem("darkMode", JSON.stringify(i)), document.documentElement.setAttribute("data-theme", i ? "dark" : "light");
671
+ }, [i]);
672
+ const c = () => {
673
+ m(!i);
674
+ }, l = [
670
675
  { label: "Start", state: h.Start },
671
676
  { label: "End", state: h.End },
672
677
  { label: "Obstacle", state: h.Obstacle },
673
678
  { label: "Clear", state: h.Empty },
674
679
  { label: "Reset", state: null }
675
- ], a = (E) => {
676
- E === null ? n() : t(E);
677
- }, n = () => {
680
+ ], n = (v) => {
681
+ v === null ? a() : t(v);
682
+ }, a = () => {
678
683
  r(), t(h.Start);
679
- }, w = () => {
680
- p(g);
684
+ }, f = () => {
685
+ E(w);
681
686
  };
682
- return /* @__PURE__ */ v("div", { className: "control-panel", children: /* @__PURE__ */ y("div", { className: "control-grid", children: [
687
+ return /* @__PURE__ */ S("div", { className: "control-panel", children: /* @__PURE__ */ y("div", { className: "control-grid", children: [
683
688
  /* @__PURE__ */ y("div", { className: "control-group tools", children: [
684
- /* @__PURE__ */ v("h3", { className: "group-title", children: "Tools" }),
685
- /* @__PURE__ */ v("div", { className: "button-group", children: s.map((E, _) => /* @__PURE__ */ v(
689
+ /* @__PURE__ */ S("h3", { className: "group-title", children: "Tools" }),
690
+ /* @__PURE__ */ S("div", { className: "button-group", children: l.map((v, O) => /* @__PURE__ */ S(
686
691
  "button",
687
692
  {
688
- className: `control-button ${E.label.toLowerCase()} ${e === E.state ? "active" : ""}`,
689
- onClick: () => a(E.state),
690
- children: E.label
693
+ className: `control-button ${v.label.toLowerCase()} ${e === v.state ? "active" : ""}`,
694
+ onClick: () => n(v.state),
695
+ children: v.label
691
696
  },
692
- _
697
+ O
693
698
  )) })
694
699
  ] }),
695
700
  /* @__PURE__ */ y("div", { className: "control-group actions", children: [
696
- /* @__PURE__ */ v("h3", { className: "group-title", children: "Actions" }),
701
+ /* @__PURE__ */ S("h3", { className: "group-title", children: "Actions" }),
697
702
  /* @__PURE__ */ y("div", { className: "button-group", children: [
698
- /* @__PURE__ */ v(
703
+ /* @__PURE__ */ S(
699
704
  "button",
700
705
  {
701
706
  className: "control-button find-path",
702
- onClick: w,
707
+ onClick: f,
703
708
  children: "Find Path"
704
709
  }
705
710
  ),
706
- /* @__PURE__ */ v(
711
+ /* @__PURE__ */ S(
707
712
  "button",
708
713
  {
709
- className: `control-button diagonal ${g ? "active" : ""}`,
710
- onClick: () => d(!g),
711
- children: g ? "Diagonal On" : "Diagonal Off"
714
+ className: `control-button diagonal ${w ? "active" : ""}`,
715
+ onClick: () => d(!w),
716
+ children: w ? "Diagonal On" : "Diagonal Off"
712
717
  }
713
718
  ),
714
- /* @__PURE__ */ v(
719
+ /* @__PURE__ */ S(
715
720
  "button",
716
721
  {
717
- className: `control-button theme-toggle ${c ? "active" : ""}`,
718
- onClick: u,
719
- title: c ? "Switch to light mode" : "Switch to dark mode",
720
- children: c ? "☀️ Light" : "🌙 Dark"
722
+ className: `control-button theme-toggle ${i ? "active" : ""}`,
723
+ onClick: c,
724
+ title: i ? "Switch to light mode" : "Switch to dark mode",
725
+ children: i ? "☀️ Light" : "🌙 Dark"
721
726
  }
722
727
  )
723
728
  ] })
724
729
  ] }),
725
730
  /* @__PURE__ */ y("div", { className: "control-group size", children: [
726
- /* @__PURE__ */ v("h3", { className: "group-title", children: "Grid Size" }),
731
+ /* @__PURE__ */ S("h3", { className: "group-title", children: "Grid Size" }),
727
732
  /* @__PURE__ */ y("div", { className: "size-controls", children: [
728
733
  /* @__PURE__ */ y("div", { className: "size-control", children: [
729
- /* @__PURE__ */ v("label", { className: "size-label", children: "Rows" }),
734
+ /* @__PURE__ */ S("label", { className: "size-label", children: "Rows" }),
730
735
  /* @__PURE__ */ y("div", { className: "size-buttons", children: [
731
- /* @__PURE__ */ v(
736
+ /* @__PURE__ */ S(
732
737
  "button",
733
738
  {
734
739
  className: "size-button",
735
- onClick: () => i(Math.max(5, l - 1)),
736
- disabled: l <= 5,
740
+ onClick: () => u(Math.max(5, s - 1)),
741
+ disabled: s <= 5,
737
742
  children: "−"
738
743
  }
739
744
  ),
740
- /* @__PURE__ */ v("span", { className: "size-value", children: l }),
741
- /* @__PURE__ */ v(
745
+ /* @__PURE__ */ S("span", { className: "size-value", children: s }),
746
+ /* @__PURE__ */ S(
742
747
  "button",
743
748
  {
744
749
  className: "size-button",
745
- onClick: () => i(Math.min(50, l + 1)),
746
- disabled: l >= 50,
750
+ onClick: () => u(Math.min(50, s + 1)),
751
+ disabled: s >= 50,
747
752
  children: "+"
748
753
  }
749
754
  )
750
755
  ] })
751
756
  ] }),
752
757
  /* @__PURE__ */ y("div", { className: "size-control", children: [
753
- /* @__PURE__ */ v("label", { className: "size-label", children: "Columns" }),
758
+ /* @__PURE__ */ S("label", { className: "size-label", children: "Columns" }),
754
759
  /* @__PURE__ */ y("div", { className: "size-buttons", children: [
755
- /* @__PURE__ */ v(
760
+ /* @__PURE__ */ S(
756
761
  "button",
757
762
  {
758
763
  className: "size-button",
759
- onClick: () => m(Math.max(5, o - 1)),
764
+ onClick: () => p(Math.max(5, o - 1)),
760
765
  disabled: o <= 5,
761
766
  children: "−"
762
767
  }
763
768
  ),
764
- /* @__PURE__ */ v("span", { className: "size-value", children: o }),
765
- /* @__PURE__ */ v(
769
+ /* @__PURE__ */ S("span", { className: "size-value", children: o }),
770
+ /* @__PURE__ */ S(
766
771
  "button",
767
772
  {
768
773
  className: "size-button",
769
- onClick: () => m(Math.min(50, o + 1)),
774
+ onClick: () => p(Math.min(50, o + 1)),
770
775
  disabled: o >= 50,
771
776
  children: "+"
772
777
  }
@@ -776,16 +781,16 @@ const pe = () => {
776
781
  ] })
777
782
  ] })
778
783
  ] }) });
779
- }, ve = () => /* @__PURE__ */ v("div", { className: "astar-visualizer-root", children: /* @__PURE__ */ y("div", { className: "app-container", children: [
780
- /* @__PURE__ */ v("header", { className: "app-header", children: /* @__PURE__ */ v("h1", { className: "app-title", children: "A* Pathfinding" }) }),
781
- /* @__PURE__ */ v("main", { className: "app-main", children: /* @__PURE__ */ v(he, {}) }),
782
- /* @__PURE__ */ v("footer", { className: "app-footer", children: /* @__PURE__ */ v(pe, {}) })
784
+ }, Ee = () => /* @__PURE__ */ S("div", { className: "astar-visualizer-root", children: /* @__PURE__ */ y("div", { className: "app-container", children: [
785
+ /* @__PURE__ */ S("header", { className: "app-header", children: /* @__PURE__ */ S("h1", { className: "app-title", children: "A* Pathfinding" }) }),
786
+ /* @__PURE__ */ S("main", { className: "app-main", children: /* @__PURE__ */ S(me, {}) }),
787
+ /* @__PURE__ */ S("footer", { className: "app-footer", children: /* @__PURE__ */ S(ve, {}) })
783
788
  ] }) });
784
- function Se() {
785
- return /* @__PURE__ */ v(ve, {});
789
+ function ge() {
790
+ return /* @__PURE__ */ S(Ee, {});
786
791
  }
787
792
  export {
788
- Se as AStarVisualizer,
793
+ ge as AStarVisualizer,
789
794
  h as CellState,
790
- ve as Layout
795
+ Ee as Layout
791
796
  };