@bedard/hexboard 0.0.3 → 0.0.4

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 0.0.4
2
+
3
+ - Removed reference to `DOMRect` browser API
4
+
1
5
  # 0.0.3
2
6
 
3
7
  - Initial release of `@bedard/hexchess`, see sandbox for example usage.
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Build](https://github.com/scottbedard/hexboard/actions/workflows/build.yml/badge.svg)](https://github.com/scottbedard/hexboard/actions/workflows/build.yml)
4
4
  [![NPM Version](https://img.shields.io/npm/v/%40bedard%2Fhexboard)](https://www.npmjs.com/package/@bedard/hexboard)
5
+ [![Bundle size](https://img.shields.io/bundlephobia/minzip/%40bedard%2Fhexboard?label=gzipped)](https://bundlephobia.com/package/@bedard/hexboard)
5
6
  [![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/scottbedard/hexboard/blob/main/LICENSE)
6
7
 
7
8
  User interfaces for [hexchess.club](https://hexchess.club).
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent as c2, createElementBlock as g, createCommentVNode as de, openBlock as v, createStaticVNode as B, mergeModels as i2, useModel as Q1, shallowRef as t1, useTemplateRef as k2, computed as j, onMounted as y2, onUnmounted as x2, watch as r2, unref as f, normalizeStyle as u1, createElementVNode as M2, Fragment as o1, renderList as n1, mergeProps as z2, toDisplayString as G2, createBlock as s2, resolveDynamicComponent as l2, withModifiers as P2, renderSlot as U2, h as C2 } from "vue";
2
- import { Hexchess as a2, position as R, San as d1, isPromotionPosition as S2 } from "@bedard/hexchess";
1
+ import { defineComponent as u2, createElementBlock as g, createCommentVNode as fe, openBlock as v, createStaticVNode as B, mergeModels as r2, useModel as X1, shallowRef as o1, useTemplateRef as y2, computed as j, onMounted as x2, onUnmounted as M2, watch as s2, unref as f, normalizeStyle as d1, createElementVNode as z2, Fragment as n1, renderList as i1, mergeProps as G2, toDisplayString as P2, createBlock as l2, resolveDynamicComponent as a2, withModifiers as U2, renderSlot as C2, h as S2 } from "vue";
2
+ import { Hexchess as c2, position as H, San as f1, isPromotionPosition as T2 } from "@bedard/hexchess";
3
3
  function l(c, P, s) {
4
4
  return [c[0] + s * (P[0] - c[0]), c[1] + s * (P[1] - c[1])];
5
5
  }
@@ -8,22 +8,22 @@ function n(c) {
8
8
  }
9
9
  function e(c) {
10
10
  return [
11
- x(c, -300, le),
12
- x(c, 0, le),
13
- x(c, -60, le),
14
- x(c, -120, le),
15
- x(c, -180, le),
16
- x(c, -240, le)
11
+ x(c, -300, ae),
12
+ x(c, 0, ae),
13
+ x(c, -60, ae),
14
+ x(c, -120, ae),
15
+ x(c, -180, ae),
16
+ x(c, -240, ae)
17
17
  ];
18
18
  }
19
19
  function x(c, P, s) {
20
- const K = T2(P);
20
+ const K = E2(P);
21
21
  return [
22
22
  s * Math.cos(K) + c[0],
23
23
  s * Math.sin(K) + c[1]
24
24
  ];
25
25
  }
26
- function T2(c) {
26
+ function E2(c) {
27
27
  return c * (Math.PI / 180);
28
28
  }
29
29
  function t(c) {
@@ -32,13 +32,13 @@ function t(c) {
32
32
  function i(c, P) {
33
33
  return [c[0] + P[0], c[1] + P[1]];
34
34
  }
35
- function fe(c) {
36
- return he / 2 + c;
37
- }
38
35
  function pe(c) {
39
- return he / 2 - c;
36
+ return ve / 2 + c;
37
+ }
38
+ function he(c) {
39
+ return ve / 2 - c;
40
40
  }
41
- const he = 23.6, E2 = {
41
+ const ve = 23.6, B2 = {
42
42
  colors: [
43
43
  "oklch(0.9015 0.0729 70.7)",
44
44
  "oklch(0.8366 0.1165 66.29)",
@@ -57,133 +57,133 @@ const he = 23.6, E2 = {
57
57
  // red-500
58
58
  targetColor: "oklch(63.7% 0.237 25.331)"
59
59
  // red-500
60
- }, B2 = "b/qbk/n1b1n/r5r/ppppppppp/11/5P5/4P1P4/3P1B1P3/2P2B2P2/1PRNQBKNRP1 w - 0 1", a = 1.7, Q = 1.7, le = 2 / Math.sqrt(3), w = le * (Math.sqrt(3) / 2) * 2, k = w * 2, y = w * 3, M = w * 4, G = w * 5, m = [0, 0], H = x(m, 150, G), O = x(m, 150, M), F = x(m, 150, y), $ = x(m, 150, k), S = x(m, 150, w), T = x(m, 30, w), L = x(m, 30, k), D = x(m, 30, y), q = x(m, 30, M), N = x(m, 30, G), X = i(H, [0, -G]), Y = i(O, [0, -G]), ve = i(F, [0, -G]), ge = i($, [0, -G]), we = i(S, [0, -G]), me = i(m, [0, -G]), be = i(T, [0, -G]), ke = i(L, [0, -G]), ye = i(D, [0, -G]), Z = i(q, [0, -G]), J = i(N, [0, -G]), I = i(H, [0, -M]), _ = i(O, [0, -M]), xe = i(F, [0, -M]), Me = i($, [0, -M]), ze = i(S, [0, -M]), Ge = i(m, [0, -M]), Pe = i(T, [0, -M]), Ue = i(L, [0, -M]), Ce = i(D, [0, -M]), ee = i(q, [0, -M]), te = i(N, [0, -M]), Se = i(H, [0, -y]), Te = i(O, [0, -y]), f1 = i(F, [0, -y]), p1 = i($, [0, -y]), h1 = i(S, [0, -y]), v1 = i(m, [0, -y]), g1 = i(T, [0, -y]), w1 = i(L, [0, -y]), m1 = i(D, [0, -y]), Ee = i(q, [0, -y]), Be = i(N, [0, -y]), Oe = i(H, [0, -k]), $e = i(O, [0, -k]), b1 = i(F, [0, -k]), k1 = i($, [0, -k]), y1 = i(S, [0, -k]), x1 = i(m, [0, -k]), M1 = i(T, [0, -k]), z1 = i(L, [0, -k]), G1 = i(D, [0, -k]), Le = i(q, [0, -k]), qe = i(N, [0, -k]), je = i(H, [0, -w]), Re = i(O, [0, -w]), P1 = i(F, [0, -w]), U1 = i($, [0, -w]), C1 = i(S, [0, -w]), S1 = i(m, [0, -w]), T1 = i(T, [0, -w]), E1 = i(L, [0, -w]), B1 = i(D, [0, -w]), He = i(q, [0, -w]), Fe = i(N, [0, -w]), De = i(O, [0, w]), Ne = i(F, [0, w]), O1 = i($, [0, w]), $1 = i(S, [0, w]), L1 = i(m, [0, w]), q1 = i(T, [0, w]), j1 = i(L, [0, w]), We = i(D, [0, w]), Ve = i(q, [0, w]), Ae = i(F, [0, k]), Ke = i($, [0, k]), R1 = i(S, [0, k]), H1 = i(m, [0, k]), F1 = i(T, [0, k]), Qe = i(L, [0, k]), Xe = i(D, [0, k]), Ye = i($, [0, y]), Ze = i(S, [0, y]), D1 = i(m, [0, y]), Je = i(T, [0, y]), Ie = i(L, [0, y]), oe = i(S, [0, M]), ne = i(m, [0, M]), ie = i(T, [0, M]), re = i(m, [0, G]), o = [
60
+ }, $2 = "b/qbk/n1b1n/r5r/ppppppppp/11/5P5/4P1P4/3P1B1P3/2P2B2P2/1PRNQBKNRP1 w - 0 1", a = 1.7, Q = 1.7, ae = 2 / Math.sqrt(3), w = ae * (Math.sqrt(3) / 2) * 2, k = w * 2, y = w * 3, M = w * 4, G = w * 5, m = [0, 0], F = x(m, 150, G), $ = x(m, 150, M), R = x(m, 150, y), L = x(m, 150, k), S = x(m, 150, w), T = x(m, 30, w), q = x(m, 30, k), N = x(m, 30, y), O = x(m, 30, M), W = x(m, 30, G), X = i(F, [0, -G]), Y = i($, [0, -G]), ge = i(R, [0, -G]), we = i(L, [0, -G]), me = i(S, [0, -G]), be = i(m, [0, -G]), ke = i(T, [0, -G]), ye = i(q, [0, -G]), xe = i(N, [0, -G]), Z = i(O, [0, -G]), J = i(W, [0, -G]), I = i(F, [0, -M]), _ = i($, [0, -M]), Me = i(R, [0, -M]), ze = i(L, [0, -M]), Ge = i(S, [0, -M]), Pe = i(m, [0, -M]), Ue = i(T, [0, -M]), Ce = i(q, [0, -M]), Se = i(N, [0, -M]), ee = i(O, [0, -M]), te = i(W, [0, -M]), Te = i(F, [0, -y]), Ee = i($, [0, -y]), p1 = i(R, [0, -y]), h1 = i(L, [0, -y]), v1 = i(S, [0, -y]), g1 = i(m, [0, -y]), w1 = i(T, [0, -y]), m1 = i(q, [0, -y]), b1 = i(N, [0, -y]), Be = i(O, [0, -y]), $e = i(W, [0, -y]), Le = i(F, [0, -k]), qe = i($, [0, -k]), k1 = i(R, [0, -k]), y1 = i(L, [0, -k]), x1 = i(S, [0, -k]), M1 = i(m, [0, -k]), z1 = i(T, [0, -k]), G1 = i(q, [0, -k]), P1 = i(N, [0, -k]), Oe = i(O, [0, -k]), je = i(W, [0, -k]), He = i(F, [0, -w]), Fe = i($, [0, -w]), U1 = i(R, [0, -w]), C1 = i(L, [0, -w]), S1 = i(S, [0, -w]), T1 = i(m, [0, -w]), E1 = i(T, [0, -w]), B1 = i(q, [0, -w]), $1 = i(N, [0, -w]), Re = i(O, [0, -w]), Ne = i(W, [0, -w]), We = i($, [0, w]), Ve = i(R, [0, w]), L1 = i(L, [0, w]), q1 = i(S, [0, w]), O1 = i(m, [0, w]), j1 = i(T, [0, w]), H1 = i(q, [0, w]), Ae = i(N, [0, w]), De = i(O, [0, w]), Ke = i(R, [0, k]), Qe = i(L, [0, k]), F1 = i(S, [0, k]), R1 = i(m, [0, k]), N1 = i(T, [0, k]), Xe = i(q, [0, k]), Ye = i(N, [0, k]), Ze = i(L, [0, y]), Je = i(S, [0, y]), W1 = i(m, [0, y]), Ie = i(T, [0, y]), _e = i(q, [0, y]), oe = i(S, [0, M]), ne = i(m, [0, M]), ie = i(T, [0, M]), re = i(m, [0, G]), o = [
61
61
  [2, re, t(re), e(re), n(e(re))],
62
62
  [1, oe, t(oe), e(oe), n(e(oe))],
63
63
  [0, ne, t(ne), e(ne), n(e(ne))],
64
64
  [1, ie, t(ie), e(ie), n(e(ie))],
65
- [0, Ye, t(Ye), e(Ye), n(e(Ye))],
66
- [2, Ze, t(Ze), e(Ze), n(e(Ze))],
67
- [1, D1, t(D1), e(D1), n(e(D1))],
65
+ [0, Ze, t(Ze), e(Ze), n(e(Ze))],
68
66
  [2, Je, t(Je), e(Je), n(e(Je))],
69
- [0, Ie, t(Ie), e(Ie), n(e(Ie))],
70
- [2, Ae, t(Ae), e(Ae), n(e(Ae))],
71
- [1, Ke, t(Ke), e(Ke), n(e(Ke))],
72
- [0, R1, t(R1), e(R1), n(e(R1))],
73
- [2, H1, t(H1), e(H1), n(e(H1))],
74
- [0, F1, t(F1), e(F1), n(e(F1))],
67
+ [1, W1, t(W1), e(W1), n(e(W1))],
68
+ [2, Ie, t(Ie), e(Ie), n(e(Ie))],
69
+ [0, _e, t(_e), e(_e), n(e(_e))],
70
+ [2, Ke, t(Ke), e(Ke), n(e(Ke))],
75
71
  [1, Qe, t(Qe), e(Qe), n(e(Qe))],
76
- [2, Xe, t(Xe), e(Xe), n(e(Xe))],
77
- [1, De, t(De), e(De), n(e(De))],
78
- [0, Ne, t(Ne), e(Ne), n(e(Ne))],
79
- [2, O1, t(O1), e(O1), n(e(O1))],
80
- [1, $1, t($1), e($1), n(e($1))],
81
- [0, L1, t(L1), e(L1), n(e(L1))],
72
+ [0, F1, t(F1), e(F1), n(e(F1))],
73
+ [2, R1, t(R1), e(R1), n(e(R1))],
74
+ [0, N1, t(N1), e(N1), n(e(N1))],
75
+ [1, Xe, t(Xe), e(Xe), n(e(Xe))],
76
+ [2, Ye, t(Ye), e(Ye), n(e(Ye))],
77
+ [1, We, t(We), e(We), n(e(We))],
78
+ [0, Ve, t(Ve), e(Ve), n(e(Ve))],
79
+ [2, L1, t(L1), e(L1), n(e(L1))],
82
80
  [1, q1, t(q1), e(q1), n(e(q1))],
83
- [2, j1, t(j1), e(j1), n(e(j1))],
84
- [0, We, t(We), e(We), n(e(We))],
85
- [1, Ve, t(Ve), e(Ve), n(e(Ve))],
86
- [0, H, t(H), e(H), n(e(H))],
87
- [2, O, t(O), e(O), n(e(O))],
88
- [1, F, t(F), e(F), n(e(F))],
89
- [0, $, t($), e($), n(e($))],
81
+ [0, O1, t(O1), e(O1), n(e(O1))],
82
+ [1, j1, t(j1), e(j1), n(e(j1))],
83
+ [2, H1, t(H1), e(H1), n(e(H1))],
84
+ [0, Ae, t(Ae), e(Ae), n(e(Ae))],
85
+ [1, De, t(De), e(De), n(e(De))],
86
+ [0, F, t(F), e(F), n(e(F))],
87
+ [2, $, t($), e($), n(e($))],
88
+ [1, R, t(R), e(R), n(e(R))],
89
+ [0, L, t(L), e(L), n(e(L))],
90
90
  [2, S, t(S), e(S), n(e(S))],
91
91
  [1, m, t(m), e(m), n(e(m))],
92
92
  [2, T, t(T), e(T), n(e(T))],
93
- [0, L, t(L), e(L), n(e(L))],
94
- [1, D, t(D), e(D), n(e(D))],
95
- [2, q, t(q), e(q), n(e(q))],
96
- [0, N, t(N), e(N), n(e(N))],
97
- [1, je, t(je), e(je), n(e(je))],
93
+ [0, q, t(q), e(q), n(e(q))],
94
+ [1, N, t(N), e(N), n(e(N))],
95
+ [2, O, t(O), e(O), n(e(O))],
96
+ [0, W, t(W), e(W), n(e(W))],
97
+ [1, He, t(He), e(He), n(e(He))],
98
+ [0, Fe, t(Fe), e(Fe), n(e(Fe))],
99
+ [2, U1, t(U1), e(U1), n(e(U1))],
100
+ [1, C1, t(C1), e(C1), n(e(C1))],
101
+ [0, S1, t(S1), e(S1), n(e(S1))],
102
+ [2, T1, t(T1), e(T1), n(e(T1))],
103
+ [0, E1, t(E1), e(E1), n(e(E1))],
104
+ [1, B1, t(B1), e(B1), n(e(B1))],
105
+ [2, $1, t($1), e($1), n(e($1))],
98
106
  [0, Re, t(Re), e(Re), n(e(Re))],
99
- [2, P1, t(P1), e(P1), n(e(P1))],
100
- [1, U1, t(U1), e(U1), n(e(U1))],
101
- [0, C1, t(C1), e(C1), n(e(C1))],
102
- [2, S1, t(S1), e(S1), n(e(S1))],
103
- [0, T1, t(T1), e(T1), n(e(T1))],
104
- [1, E1, t(E1), e(E1), n(e(E1))],
105
- [2, B1, t(B1), e(B1), n(e(B1))],
106
- [0, He, t(He), e(He), n(e(He))],
107
- [1, Fe, t(Fe), e(Fe), n(e(Fe))],
108
- [2, Oe, t(Oe), e(Oe), n(e(Oe))],
109
- [1, $e, t($e), e($e), n(e($e))],
110
- [0, b1, t(b1), e(b1), n(e(b1))],
111
- [2, k1, t(k1), e(k1), n(e(k1))],
112
- [1, y1, t(y1), e(y1), n(e(y1))],
113
- [0, x1, t(x1), e(x1), n(e(x1))],
114
- [1, M1, t(M1), e(M1), n(e(M1))],
115
- [2, z1, t(z1), e(z1), n(e(z1))],
116
- [0, G1, t(G1), e(G1), n(e(G1))],
117
- [1, Le, t(Le), e(Le), n(e(Le))],
118
- [2, qe, t(qe), e(qe), n(e(qe))],
119
- [0, Se, t(Se), e(Se), n(e(Se))],
120
- [2, Te, t(Te), e(Te), n(e(Te))],
121
- [1, f1, t(f1), e(f1), n(e(f1))],
122
- [0, p1, t(p1), e(p1), n(e(p1))],
123
- [2, h1, t(h1), e(h1), n(e(h1))],
124
- [1, v1, t(v1), e(v1), n(e(v1))],
125
- [2, g1, t(g1), e(g1), n(e(g1))],
126
- [0, w1, t(w1), e(w1), n(e(w1))],
127
- [1, m1, t(m1), e(m1), n(e(m1))],
107
+ [1, Ne, t(Ne), e(Ne), n(e(Ne))],
108
+ [2, Le, t(Le), e(Le), n(e(Le))],
109
+ [1, qe, t(qe), e(qe), n(e(qe))],
110
+ [0, k1, t(k1), e(k1), n(e(k1))],
111
+ [2, y1, t(y1), e(y1), n(e(y1))],
112
+ [1, x1, t(x1), e(x1), n(e(x1))],
113
+ [0, M1, t(M1), e(M1), n(e(M1))],
114
+ [1, z1, t(z1), e(z1), n(e(z1))],
115
+ [2, G1, t(G1), e(G1), n(e(G1))],
116
+ [0, P1, t(P1), e(P1), n(e(P1))],
117
+ [1, Oe, t(Oe), e(Oe), n(e(Oe))],
118
+ [2, je, t(je), e(je), n(e(je))],
119
+ [0, Te, t(Te), e(Te), n(e(Te))],
128
120
  [2, Ee, t(Ee), e(Ee), n(e(Ee))],
129
- [0, Be, t(Be), e(Be), n(e(Be))],
121
+ [1, p1, t(p1), e(p1), n(e(p1))],
122
+ [0, h1, t(h1), e(h1), n(e(h1))],
123
+ [2, v1, t(v1), e(v1), n(e(v1))],
124
+ [1, g1, t(g1), e(g1), n(e(g1))],
125
+ [2, w1, t(w1), e(w1), n(e(w1))],
126
+ [0, m1, t(m1), e(m1), n(e(m1))],
127
+ [1, b1, t(b1), e(b1), n(e(b1))],
128
+ [2, Be, t(Be), e(Be), n(e(Be))],
129
+ [0, $e, t($e), e($e), n(e($e))],
130
130
  [1, I, t(I), e(I), n(e(I))],
131
131
  [0, _, t(_), e(_), n(e(_))],
132
- [2, xe, t(xe), e(xe), n(e(xe))],
133
- [1, Me, t(Me), e(Me), n(e(Me))],
134
- [0, ze, t(ze), e(ze), n(e(ze))],
135
- [2, Ge, t(Ge), e(Ge), n(e(Ge))],
136
- [0, Pe, t(Pe), e(Pe), n(e(Pe))],
137
- [1, Ue, t(Ue), e(Ue), n(e(Ue))],
138
- [2, Ce, t(Ce), e(Ce), n(e(Ce))],
132
+ [2, Me, t(Me), e(Me), n(e(Me))],
133
+ [1, ze, t(ze), e(ze), n(e(ze))],
134
+ [0, Ge, t(Ge), e(Ge), n(e(Ge))],
135
+ [2, Pe, t(Pe), e(Pe), n(e(Pe))],
136
+ [0, Ue, t(Ue), e(Ue), n(e(Ue))],
137
+ [1, Ce, t(Ce), e(Ce), n(e(Ce))],
138
+ [2, Se, t(Se), e(Se), n(e(Se))],
139
139
  [0, ee, t(ee), e(ee), n(e(ee))],
140
140
  [1, te, t(te), e(te), n(e(te))],
141
141
  [2, X, t(X), e(X), n(e(X))],
142
142
  [1, Y, t(Y), e(Y), n(e(Y))],
143
- [0, ve, t(ve), e(ve), n(e(ve))],
144
- [2, ge, t(ge), e(ge), n(e(ge))],
145
- [1, we, t(we), e(we), n(e(we))],
146
- [0, me, t(me), e(me), n(e(me))],
147
- [1, be, t(be), e(be), n(e(be))],
148
- [2, ke, t(ke), e(ke), n(e(ke))],
149
- [0, ye, t(ye), e(ye), n(e(ye))],
143
+ [0, ge, t(ge), e(ge), n(e(ge))],
144
+ [2, we, t(we), e(we), n(e(we))],
145
+ [1, me, t(me), e(me), n(e(me))],
146
+ [0, be, t(be), e(be), n(e(be))],
147
+ [1, ke, t(ke), e(ke), n(e(ke))],
148
+ [2, ye, t(ye), e(ye), n(e(ye))],
149
+ [0, xe, t(xe), e(xe), n(e(xe))],
150
150
  [1, Z, t(Z), e(Z), n(e(Z))],
151
151
  [2, J, t(J), e(J), n(e(J))]
152
- ], O2 = [
152
+ ], L2 = [
153
153
  ["11", l(ie, re, a), t(l(ie, re, a))],
154
154
  ["10", l(ne, oe, a), t(l(ne, oe, a))],
155
- ["9", l(Ze, Ye, a), t(l(Ze, Ye, a))],
156
- ["8", l(Ke, Ae, a), t(l(Ke, Ae, a))],
157
- ["7", l(Ne, De, a), t(l(Ne, De, a))],
158
- ["6", l(O, H, a), t(l(O, H, a))],
159
- ["5", l(Re, je, a), t(l(Re, je, a))],
160
- ["4", l($e, Oe, a), t(l($e, Oe, a))],
161
- ["3", l(Te, Se, a), t(l(Te, Se, a))],
155
+ ["9", l(Je, Ze, a), t(l(Je, Ze, a))],
156
+ ["8", l(Qe, Ke, a), t(l(Qe, Ke, a))],
157
+ ["7", l(Ve, We, a), t(l(Ve, We, a))],
158
+ ["6", l($, F, a), t(l($, F, a))],
159
+ ["5", l(Fe, He, a), t(l(Fe, He, a))],
160
+ ["4", l(qe, Le, a), t(l(qe, Le, a))],
161
+ ["3", l(Ee, Te, a), t(l(Ee, Te, a))],
162
162
  ["2", l(_, I, a), t(l(_, I, a))],
163
163
  ["1", l(Y, X, a), t(l(Y, X, a))],
164
164
  ["a", l(I, X, a), t(l(I, X, a))],
165
165
  ["b", l(_, Y, a), t(l(_, Y, a))],
166
- ["c", l(xe, ve, a), t(l(xe, ve, a))],
167
- ["d", l(Me, ge, a), t(l(Me, ge, a))],
168
- ["e", l(ze, we, a), t(l(ze, we, a))],
169
- ["f", l(Ge, me, a), t(l(Ge, me, a))],
170
- ["g", l(Pe, be, a), t(l(Pe, be, a))],
171
- ["h", l(Ue, ke, a), t(l(Ue, ke, a))],
172
- ["i", l(Ce, ye, a), t(l(Ce, ye, a))],
166
+ ["c", l(Me, ge, a), t(l(Me, ge, a))],
167
+ ["d", l(ze, we, a), t(l(ze, we, a))],
168
+ ["e", l(Ge, me, a), t(l(Ge, me, a))],
169
+ ["f", l(Pe, be, a), t(l(Pe, be, a))],
170
+ ["g", l(Ue, ke, a), t(l(Ue, ke, a))],
171
+ ["h", l(Ce, ye, a), t(l(Ce, ye, a))],
172
+ ["i", l(Se, xe, a), t(l(Se, xe, a))],
173
173
  ["k", l(ee, Z, a), t(l(ee, Z, a))],
174
174
  ["l", l(te, J, a), t(l(te, J, a))],
175
175
  ["1", l(Z, J, a), t(l(Z, J, a))],
176
176
  ["2", l(ee, te, a), t(l(ee, te, a))],
177
- ["3", l(Ee, Be, a), t(l(Ee, Be, a))],
178
- ["4", l(Le, qe, a), t(l(Le, qe, a))],
179
- ["5", l(He, Fe, a), t(l(He, Fe, a))],
180
- ["6", l(q, N, a), t(l(q, N, a))],
181
- ["7", l(We, Ve, a), t(l(We, Ve, a))],
182
- ["8", l(Qe, Xe, a), t(l(Qe, Xe, a))],
183
- ["9", l(Je, Ie, a), t(l(Je, Ie, a))],
177
+ ["3", l(Be, $e, a), t(l(Be, $e, a))],
178
+ ["4", l(Oe, je, a), t(l(Oe, je, a))],
179
+ ["5", l(Re, Ne, a), t(l(Re, Ne, a))],
180
+ ["6", l(O, W, a), t(l(O, W, a))],
181
+ ["7", l(Ae, De, a), t(l(Ae, De, a))],
182
+ ["8", l(Xe, Ye, a), t(l(Xe, Ye, a))],
183
+ ["9", l(Ie, _e, a), t(l(Ie, _e, a))],
184
184
  ["10", l(ne, ie, a), t(l(ne, ie, a))],
185
185
  ["11", l(oe, re, a), t(l(oe, re, a))]
186
- ], $2 = [
186
+ ], q2 = [
187
187
  o[
188
188
  0
189
189
  /* f11 */
@@ -557,108 +557,108 @@ const he = 23.6, E2 = {
557
557
  /* e10 */
558
558
  ][3][0]
559
559
  ];
560
- function N1(c) {
560
+ function V1(c) {
561
561
  if (c.length === 0)
562
562
  return "";
563
563
  const [P, ...s] = c;
564
- let K = `M ${fe(P[0])} ${pe(P[1])} L `;
564
+ let K = `M ${pe(P[0])} ${he(P[1])} L `;
565
565
  for (const E of s)
566
- K += `${fe(E[0])} ${pe(E[1])} `;
566
+ K += `${pe(E[0])} ${he(E[1])} `;
567
567
  return `${K} Z`;
568
568
  }
569
- const L2 = {
569
+ const O2 = {
570
570
  key: 0,
571
571
  xmlns: "http://www.w3.org/2000/svg",
572
572
  viewBox: "0 0 50 50"
573
- }, q2 = {
573
+ }, j2 = {
574
574
  key: 1,
575
575
  xmlns: "http://www.w3.org/2000/svg",
576
576
  viewBox: "0 0 50 50"
577
- }, j2 = {
577
+ }, H2 = {
578
578
  key: 2,
579
579
  xmlns: "http://www.w3.org/2000/svg",
580
580
  viewBox: "0 0 50 50"
581
- }, R2 = {
581
+ }, F2 = {
582
582
  key: 3,
583
583
  xmlns: "http://www.w3.org/2000/svg",
584
584
  viewBox: "0 0 50 50"
585
- }, H2 = {
585
+ }, R2 = {
586
586
  key: 4,
587
587
  xmlns: "http://www.w3.org/2000/svg",
588
588
  viewBox: "0 0 50 50"
589
- }, F2 = {
589
+ }, N2 = {
590
590
  key: 5,
591
591
  xmlns: "http://www.w3.org/2000/svg",
592
592
  viewBox: "0 0 50 50"
593
- }, D2 = {
593
+ }, W2 = {
594
594
  key: 6,
595
595
  xmlns: "http://www.w3.org/2000/svg",
596
596
  viewBox: "0 0 50 50"
597
- }, N2 = {
597
+ }, V2 = {
598
598
  key: 7,
599
599
  xmlns: "http://www.w3.org/2000/svg",
600
600
  viewBox: "0 0 50 50"
601
- }, W2 = {
601
+ }, A2 = {
602
602
  key: 8,
603
603
  xmlns: "http://www.w3.org/2000/svg",
604
604
  viewBox: "0 0 50 50"
605
- }, V2 = {
605
+ }, D2 = {
606
606
  key: 9,
607
607
  xmlns: "http://www.w3.org/2000/svg",
608
608
  viewBox: "0 0 50 50"
609
- }, A2 = {
609
+ }, K2 = {
610
610
  key: 10,
611
611
  xmlns: "http://www.w3.org/2000/svg",
612
612
  viewBox: "0 0 50 50"
613
- }, K2 = {
613
+ }, Q2 = {
614
614
  key: 11,
615
615
  xmlns: "http://www.w3.org/2000/svg",
616
616
  viewBox: "0 0 50 50"
617
- }, Q2 = /* @__PURE__ */ c2({
617
+ }, X2 = /* @__PURE__ */ u2({
618
618
  __name: "Gioco",
619
619
  props: {
620
620
  type: {}
621
621
  },
622
622
  setup(c) {
623
- return (P, s) => c.type === "p" ? (v(), g("svg", L2, [...s[0] || (s[0] = [
623
+ return (P, s) => c.type === "p" ? (v(), g("svg", O2, [...s[0] || (s[0] = [
624
624
  B('<defs><linearGradient id="gioco-a-bp" gradientTransform="matrix(.94331 0 0 1 615.66 493.37)" gradientUnits="userSpaceOnUse" x1="-639.4" x2="-612.91" y1="-465.15" y2="-465.15"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient></defs><path d="M25 12.264c-3.56 0-6.447 2.655-6.447 5.93 0 1.705.799 3.326 2.19 4.45h-1.666c-1.312 0-2.4.978-2.4 2.158v.438c0 1.18 1.088 2.157 2.4 2.157h2.376c0 7.293-9.342 6.457-8.689 16.78L25 44.167l12.236.008c.653-10.323-8.689-9.486-8.689-16.779h2.376c1.312 0 2.4-.978 2.4-2.157v-.438c0-1.18-1.087-2.157-2.4-2.157h-1.666c1.391-1.125 2.19-2.747 2.19-4.45 0-3.276-2.886-5.93-6.446-5.931z" fill="url(#gioco-a-bp)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6"></path><path d="M24.999 12.264c-.521 0-1.028.058-1.513.166 6.257.692 7.675 6.466 4.917 9.222-2.016 1.69-7.662.993-7.662.993 2.56.443 4.97 1.954 7.252 2.488-6.033 11.435 9.7 9.026 9.242 19.043.995-10.592-7.673-8.148-8.689-16.78h2.377c1.312 0 2.398-.977 2.398-2.156v-.438c0-1.18-1.086-2.158-2.398-2.158h-1.667c1.391-1.125 2.191-2.746 2.19-4.449 0-3.276-2.886-5.932-6.447-5.932z" opacity=".15"></path><path d="M22.959 13.401c-1.77 1.602-2.968 3.612-3.476 6.19 0 0-1.16-4.235 3.476-6.19zM13.342 43.419c.273-5.321 2.572-6.184 7.538-11.434-1.03 3.566-7.387 5.868-7.538 11.434z" fill="#fff" opacity=".25"></path>', 4)
625
- ])])) : c.type === "n" ? (v(), g("svg", q2, [...s[1] || (s[1] = [
625
+ ])])) : c.type === "n" ? (v(), g("svg", j2, [...s[1] || (s[1] = [
626
626
  B('<defs><linearGradient gradientTransform="matrix(1.0621 0 0 1.0589 -3487.5 459.63)" gradientUnits="userSpaceOnUse" x1="3295.1" x2="3321.5" xlink:href="#gioco-a-bn" id="gioco-b-bn" y1="-411.88" y2="-411.88"></linearGradient><linearGradient id="gioco-a-bn"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient><linearGradient gradientTransform="matrix(1.1509 0 0 1.1499 214.24 -138.92)" gradientUnits="userSpaceOnUse" x1="-177.63" x2="-151.24" xlink:href="#gioco-a-bn" id="gioco-c-bn" y1="156.68" y2="156.68"></linearGradient></defs><path class="st28" d="m25.987 23.546-11.592 1.097-1.454-5.216 14.468-6.815 1.763-3.9 10.2 11.892-4.116 17.678H14.74c.245-11.292 9.64-8.1 11.247-14.736z" fill="url(#gioco-b-bn)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6"></path><path d="m29.173 8.72-.879 1.945.426-.943c2.692 3.722 5.608 7.279 8.45 10.888l-5.285 17.671h3.372l4.117-17.671z" opacity=".15"></path><path d="M13.24 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.748l.013-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-bn)" stroke="#1e1e1e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><path d="M15.62 37.633c.159-4.472 2.145-6.971 8.667-9.837-.987 1.107-6.405 2.237-8.667 9.837zM14.418 21.67l-.523-1.803L28.03 13.21l1.217-2.764-.671 3.558-14.35 5.921z" fill="#fff" opacity=".25"></path>', 5)
627
- ])])) : c.type === "b" ? (v(), g("svg", j2, [...s[2] || (s[2] = [
627
+ ])])) : c.type === "b" ? (v(), g("svg", H2, [...s[2] || (s[2] = [
628
628
  B('<defs><linearGradient gradientTransform="matrix(1.019 0 0 1.0751 -3392.3 527.45)" gradientUnits="userSpaceOnUse" x1="3341.2" x2="3366.2" xlink:href="#gioco-a-bb" id="gioco-b-bb" y1="-469.28" y2="-469.28"></linearGradient><linearGradient id="gioco-a-bb"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient><linearGradient gradientTransform="matrix(1.1509 0 0 1.1499 214.24 -138.92)" gradientUnits="userSpaceOnUse" x1="-177.63" x2="-151.24" xlink:href="#gioco-a-bb" id="gioco-c-bb" y1="156.68" y2="156.68"></linearGradient></defs><path d="M26.87 8.223c-5.797-2.298-6.952 2.527-4.668 5.86-9.898 10.6-11.253 16.425-6.195 24.204h17.99c6.084-6.912 2.558-14.515-4.823-22.3-2.883 4.119-3.274 7.35-3.946 11.131l-3.62-.071c-.66-6.006 7.622-15.14 5.261-18.823z" fill="url(#gioco-b-bb)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6"></path><path d="M24.933 7.654c-.625.02-.207.197-.771.567 0 .003.01.006.01.008 3.582-.311-2.369 11.772-3.394 18.894.536-3.014 1.325-5.68 3.082-8.725 2.003-4.351 4.237-8.681 3.008-10.169-.411-.38-1.144-.601-1.934-.575zm4.24 8.338c-.6.856-.517.67-.972 1.462 6.004 6.049 8.728 13.787 3.097 20.838h2.696c6.085-6.912 2.56-14.515-4.822-22.3z" opacity=".15"></path><path d="M13.24 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.749l.012-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-bb)" stroke="#1e1e1e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><path d="M14.895 34.327c-.716-1.396-3.266-6.812 4.513-15.739-2.1 4.86-5.958 8.69-4.513 15.739z" fill="#fff" opacity=".25"></path>', 5)
629
- ])])) : c.type === "r" ? (v(), g("svg", R2, [...s[3] || (s[3] = [
629
+ ])])) : c.type === "r" ? (v(), g("svg", F2, [...s[3] || (s[3] = [
630
630
  B('<defs><linearGradient gradientTransform="matrix(.23554 0 0 .25454 -3002.1 473.49)" gradientUnits="userSpaceOnUse" x1="12797" x2="12909" xlink:href="#gioco-a-br" id="gioco-b-br" y1="-1764.6" y2="-1764.6"></linearGradient><linearGradient id="gioco-a-br"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient><linearGradient gradientTransform="translate(40.423 -.922)" gradientUnits="userSpaceOnUse" x1="-30.611" x2="-.235" xlink:href="#gioco-a-br" id="gioco-c-br" y1="42.165" y2="42.165"></linearGradient></defs><path d="M12.855 10.383v7.663c0 3.268 6.53 3.774 6.53 3.774-.352 9.864-5.036 16.486-5.036 16.486l21.428-.039s-4.651-6.62-5-16.446c0 0 6.896-.507 6.896-3.774v-7.663h-4.72s.459 2.25-.47 3.26c-1.035 1.126-2.418 1.126-3.454 0-.928-1.01-.47-3.26-.47-3.26h-6.59s.459 2.25-.47 3.26c-1.122 1.22-2.699 1.22-3.82 0-.929-1.01-.47-3.26-.47-3.26z" fill="url(#gioco-b-br)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6"></path><path d="m37.543 10.462.014 7.585c.263 3.48-24.58 2.135-24.523 1.03 2.098 2.532 4.445 2.613 6.352 2.744 7.292.498 9.8 8.89 13.306 16.446h2.97s-4.65-6.62-5-16.446c2.547-.395 2.954-.812 4.037-1.058h.018l-.002-.004c1.023-.236 2.81-1.376 2.842-2.713v-7.663z" opacity=".15"></path><path d="M13.239 38.286c-1.437 0-2.627 1.216-2.627 2.685v.544l.013 2.685h28.75l.012-2.685v-.544c0-1.469-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-br)" stroke="#1e1e1e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M13.656 11.168v5.54c.48-1.867.299-4.088 1.554-5.54zM22.877 11.163c.055.896-.154 1.748-.269 2.616.48-1.866 1.823-2.616 1.823-2.616zM16.947 35.312c.875-1.143 3.603-10.333 3.233-13.244.7.39.658 10.057-3.233 13.244zM33.863 11.209c.005.598-.055 1.226-.187 2.02.48-1.867 1.295-2.04 1.295-2.04z" opacity=".25"></path></g>', 5)
631
- ])])) : c.type === "q" ? (v(), g("svg", H2, [...s[4] || (s[4] = [
631
+ ])])) : c.type === "q" ? (v(), g("svg", R2, [...s[4] || (s[4] = [
632
632
  B('<defs><linearGradient gradientTransform="translate(209.27 -109.27) scale(.31419)" gradientUnits="userSpaceOnUse" x1="-647.27" x2="-525.69" xlink:href="#gioco-a-bq" id="gioco-b-bq" y1="418.44" y2="418.44"></linearGradient><linearGradient id="gioco-a-bq"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient><linearGradient gradientTransform="matrix(1.1509 0 0 1.1499 214.23 -138.92)" gradientUnits="userSpaceOnUse" x1="-177.63" x2="-151.24" xlink:href="#gioco-a-bq" id="gioco-c-bq" y1="156.68" y2="156.68"></linearGradient></defs><path d="M25 6.122c-2.635 0-4.771 2.098-4.771 4.685.002 1.855 1.118 3.534 2.846 4.283-.369 2.286-1.51 7.558-4.68 8.009-2.355.334-3.855-1.287-4.88-3.144a4.19 4.19 0 0 0 1.767-3.4c0-2.327-1.921-4.214-4.291-4.214S6.699 14.228 6.7 16.555c0 2.142 1.64 3.943 3.809 4.183l4.973 17.54h19.036l4.973-17.54c2.169-.24 3.807-2.041 3.809-4.183 0-2.327-1.922-4.214-4.292-4.214s-4.29 1.887-4.29 4.214a4.19 4.19 0 0 0 1.766 3.4c-1.025 1.857-2.525 3.478-4.88 3.144-3.17-.45-4.31-5.723-4.68-8.01 1.729-.748 2.845-2.427 2.847-4.282 0-2.587-2.136-4.685-4.77-4.685z" fill="url(#gioco-b-bq)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6"></path><path d="M39.002 12.342a4.348 4.348 0 0 0-1.567.296c4.741 1.678 3.877 6.805.591 7.316L30.414 38.28h4.2l4.87-17.541c2.17-.241 3.808-2.042 3.81-4.184 0-2.327-1.922-4.214-4.292-4.213z" opacity=".15"></path><path d="M13.227 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684H39.36l.013-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685h-11.76z" fill="url(#gioco-c-bq)" stroke="#1e1e1e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M9.515 13.489c-.794 1.17-1.726 2.667-1.554 4.779 0 0-1.604-3.01 1.554-4.779zM23.659 7.23c-.853.874-2.37 2.934-2.133 5.374-.207-.084-1.73-3.893 2.133-5.374zM12.062 23.328l5.244 14.111-1.17.023z" opacity=".25"></path></g>', 5)
633
- ])])) : c.type === "k" ? (v(), g("svg", F2, [...s[5] || (s[5] = [
633
+ ])])) : c.type === "k" ? (v(), g("svg", N2, [...s[5] || (s[5] = [
634
634
  B('<defs><linearGradient gradientTransform="matrix(.26458 0 0 .25357 227.43 -666.55)" gradientUnits="userSpaceOnUse" x1="-825.75" x2="-704.44" xlink:href="#gioco-a-bk" id="gioco-b-bk" y1="2712.8" y2="2712.8"></linearGradient><linearGradient id="gioco-a-bk"><stop offset="0" stop-color="#796c60"></stop><stop offset="1" stop-color="#4b403b"></stop></linearGradient><linearGradient gradientTransform="translate(225.05 -690.53)" gradientUnits="userSpaceOnUse" x1="-215.24" x2="-184.86" xlink:href="#gioco-a-bk" id="gioco-c-bk" y1="731.78" y2="731.78"></linearGradient></defs><path d="M25.006 3.868c-1.803.1-3.228 1.234-3.228 2.618 0 .565.244 1.644.693 2.097h-5.766v5.106h6.306l-2.61 2.833 2.673 2.167c-5.584.362-12.02 1.643-13.154 3.997-1.268 2.638 6.215 15.6 6.215 15.6h17.73s7.484-12.963 6.215-15.6c-1.133-2.357-7.594-3.64-13.179-3.999l2.71-2.165-2.61-2.833h6.306V8.583H27.54c.449-.453.693-1.531.693-2.097 0-1.384-1.425-2.518-3.228-2.618z" fill="url(#gioco-b-bk)" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.6" style="paint-order:fill markers;"></path><path d="m31.289 38.283 2.573-.005s7.482-12.428 6.214-15.065c-4.136-3.824-13.18-4.525-13.18-4.525 11.05 2.822 12.618 5.028 4.393 19.595z" opacity=".15"></path><path d="M13.242 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.749l.012-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685h-11.76z" fill="url(#gioco-c-bk)" stroke="#1e1e1e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M13.283 31.138s-3.074-6.555-2.666-8.092c.408-1.536 5.987-2.736 5.987-2.736-6.486 2.71-4.786 4.558-3.321 10.828zM17.521 12.884v-3.52l1.532-.011c-.891.007-1.532 2.147-1.532 3.531zM24.798 4.67s-2.614.92-1.53 3.522c-.178-.007-2.142-2.72 1.53-3.522z" opacity=".25"></path></g>', 5)
635
- ])])) : c.type === "P" ? (v(), g("svg", D2, [...s[6] || (s[6] = [
635
+ ])])) : c.type === "P" ? (v(), g("svg", W2, [...s[6] || (s[6] = [
636
636
  B('<defs><linearGradient id="gioco-a-wp" gradientTransform="matrix(.94331 0 0 1 615.66 493.37)" gradientUnits="userSpaceOnUse" x1="-639.4" x2="-612.91" y1="-465.15" y2="-465.15"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient></defs><path d="M25 12.264c-3.56 0-6.447 2.655-6.447 5.93 0 1.705.799 3.326 2.19 4.45h-1.666c-1.312 0-2.4.978-2.4 2.158v.438c0 1.18 1.088 2.157 2.4 2.157h2.376c0 7.293-9.342 6.457-8.689 16.78L25 44.167l12.236.008c.653-10.323-8.689-9.486-8.689-16.779h2.376c1.312 0 2.4-.978 2.4-2.157v-.438c0-1.18-1.087-2.157-2.4-2.157h-1.666c1.391-1.125 2.19-2.747 2.19-4.45 0-3.276-2.886-5.93-6.446-5.931z" fill="url(#gioco-a-wp)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6"></path><path d="M24.999 12.264c-.521 0-1.028.058-1.513.166 6.257.692 7.675 6.466 4.917 9.222-2.016 1.69-7.662.993-7.662.993 2.56.443 4.97 1.954 7.252 2.488-6.033 11.435 9.7 9.026 9.242 19.043.995-10.592-7.673-8.148-8.689-16.78h2.377c1.312 0 2.398-.977 2.398-2.156v-.438c0-1.18-1.086-2.158-2.398-2.158h-1.667c1.391-1.125 2.191-2.746 2.19-4.449 0-3.276-2.886-5.932-6.447-5.932z" opacity=".15"></path><path d="M22.959 13.401c-1.77 1.602-2.968 3.612-3.476 6.19 0 0-1.16-4.235 3.476-6.19zM13.342 43.419c.273-5.321 2.572-6.184 7.538-11.434-1.03 3.566-7.387 5.868-7.538 11.434z" fill="#fff"></path>', 4)
637
- ])])) : c.type === "N" ? (v(), g("svg", N2, [...s[7] || (s[7] = [
637
+ ])])) : c.type === "N" ? (v(), g("svg", V2, [...s[7] || (s[7] = [
638
638
  B('<defs><linearGradient gradientTransform="translate(474.35 493.34)" gradientUnits="userSpaceOnUse" x1="-462.21" x2="-434.18" xlink:href="#gioco-a-wn" id="gioco-b-wn" y1="-469.84" y2="-469.84"></linearGradient><linearGradient id="gioco-a-wn"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient><linearGradient gradientTransform="translate(474.35 493.34)" gradientUnits="userSpaceOnUse" x1="-464.54" x2="-434.16" xlink:href="#gioco-a-wn" id="gioco-c-wn" y1="-452.1" y2="-452.1"></linearGradient></defs><path class="st28" d="m25.987 23.546-11.592 1.097-1.454-5.216 14.468-6.815 1.763-3.9 10.2 11.892-4.116 17.678H14.74c.245-11.292 9.64-8.1 11.247-14.736z" fill="url(#gioco-b-wn)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6"></path><path d="m29.173 8.72-.879 1.945.426-.943c2.692 3.722 5.608 7.279 8.45 10.888l-5.285 17.671h3.372l4.117-17.671z" opacity=".1"></path><path d="M13.24 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.748l.013-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-wn)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><path d="M15.62 37.633c.159-4.472 2.145-6.971 8.667-9.837-.987 1.107-6.405 2.237-8.667 9.837zM14.418 21.67l-.523-1.803L28.03 13.21l1.217-2.764-.671 3.558-14.35 5.921z" fill="#fff"></path>', 5)
639
- ])])) : c.type === "B" ? (v(), g("svg", W2, [...s[8] || (s[8] = [
639
+ ])])) : c.type === "B" ? (v(), g("svg", A2, [...s[8] || (s[8] = [
640
640
  B('<defs><linearGradient gradientTransform="matrix(1.019 0 0 1.0751 -3392.3 527.45)" gradientUnits="userSpaceOnUse" x1="3341.2" x2="3366.2" xlink:href="#gioco-a-wb" id="gioco-b-wb" y1="-469.26" y2="-469.26"></linearGradient><linearGradient id="gioco-a-wb"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient><linearGradient gradientTransform="matrix(1.1509 0 0 1.1499 214.24 -138.92)" gradientUnits="userSpaceOnUse" x1="-177.63" x2="-151.24" xlink:href="#gioco-a-wb" id="gioco-c-wb" y1="156.68" y2="156.68"></linearGradient></defs><path d="M26.87 8.223c-5.797-2.298-6.952 2.527-4.668 5.86-9.898 10.6-11.253 16.425-6.195 24.204h17.99c6.084-6.912 2.558-14.515-4.823-22.3-2.883 4.119-3.274 7.35-3.946 11.131l-3.62-.071c-.66-6.006 7.622-15.14 5.261-18.823z" fill="url(#gioco-b-wb)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6"></path><path d="M24.933 7.654c-.625.02-.207.197-.771.567 0 .003.01.006.01.008 3.582-.311-2.369 11.772-3.394 18.894.536-3.014 1.325-5.68 3.082-8.725 2.003-4.351 4.237-8.681 3.008-10.169-.411-.38-1.144-.601-1.934-.575zm4.24 8.338c-.6.856-.517.67-.972 1.462 6.004 6.049 8.728 13.787 3.097 20.838h2.696c6.085-6.912 2.56-14.515-4.822-22.3z" opacity=".1"></path><path d="M13.24 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.749l.012-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-wb)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><path d="M14.895 34.327c-.716-1.396-3.266-6.812 4.513-15.739-2.1 4.86-5.958 8.69-4.513 15.739z" fill="#fff"></path>', 5)
641
- ])])) : c.type === "R" ? (v(), g("svg", V2, [...s[9] || (s[9] = [
641
+ ])])) : c.type === "R" ? (v(), g("svg", D2, [...s[9] || (s[9] = [
642
642
  B('<defs><linearGradient gradientTransform="translate(582.87 492.95)" gradientUnits="userSpaceOnUse" x1="-570.82" x2="-544.4" xlink:href="#gioco-a-wr" id="gioco-b-wr" y1="-468.61" y2="-468.61"></linearGradient><linearGradient id="gioco-a-wr"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient><linearGradient gradientTransform="translate(582.87 492.95)" gradientUnits="userSpaceOnUse" x1="-573.06" x2="-542.69" xlink:href="#gioco-a-wr" id="gioco-c-wr" y1="-451.71" y2="-451.71"></linearGradient></defs><path d="M12.855 10.383v7.663c0 3.268 6.53 3.774 6.53 3.774-.352 9.864-5.036 16.486-5.036 16.486l21.428-.039s-4.651-6.62-5-16.446c0 0 6.896-.507 6.896-3.774v-7.663h-4.72s.459 2.25-.47 3.26c-1.035 1.126-2.418 1.126-3.454 0-.928-1.01-.47-3.26-.47-3.26h-6.59s.459 2.25-.47 3.26c-1.122 1.22-2.699 1.22-3.82 0-.929-1.01-.47-3.26-.47-3.26z" fill="url(#gioco-b-wr)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6"></path><path d="m37.543 10.462.014 7.585c.263 3.48-24.58 2.135-24.523 1.03 2.098 2.532 4.445 2.613 6.352 2.744 7.292.498 9.8 8.89 13.306 16.446h2.97s-4.65-6.62-5-16.446c2.547-.395 2.954-.812 4.037-1.058h.018l-.002-.004c1.023-.236 2.81-1.376 2.842-2.713v-7.663z" opacity=".1"></path><path d="M13.239 38.286c-1.437 0-2.627 1.216-2.627 2.685v.544l.013 2.685h28.75l.012-2.685v-.544c0-1.469-1.19-2.685-2.627-2.685H25z" fill="url(#gioco-c-wr)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M13.656 11.168v5.54c.48-1.867.299-4.088 1.554-5.54zM22.877 11.163c.055.896-.154 1.748-.269 2.616.48-1.866 1.823-2.616 1.823-2.616zM16.947 35.312c.875-1.143 3.603-10.333 3.233-13.244.7.39.658 10.057-3.233 13.244zM33.863 11.209c.005.598-.055 1.226-.187 2.02.48-1.867 1.295-2.04 1.295-2.04z"></path></g>', 5)
643
- ])])) : c.type === "Q" ? (v(), g("svg", A2, [...s[10] || (s[10] = [
643
+ ])])) : c.type === "Q" ? (v(), g("svg", K2, [...s[10] || (s[10] = [
644
644
  B('<defs><linearGradient gradientTransform="translate(545.92 492.79)" gradientUnits="userSpaceOnUse" x1="-540.02" x2="-501.82" xlink:href="#gioco-a-wq" id="gioco-b-wq" y1="-470.59" y2="-470.59"></linearGradient><linearGradient id="gioco-a-wq"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient><linearGradient gradientTransform="translate(545.92 492.79)" gradientUnits="userSpaceOnUse" x1="-536.12" x2="-505.75" xlink:href="#gioco-a-wq" id="gioco-c-wq" y1="-451.55" y2="-451.55"></linearGradient></defs><path d="M25 6.122c-2.635 0-4.771 2.098-4.771 4.685.002 1.855 1.118 3.534 2.846 4.283-.369 2.286-1.51 7.558-4.68 8.009-2.355.334-3.855-1.287-4.88-3.144a4.19 4.19 0 0 0 1.767-3.4c0-2.327-1.921-4.214-4.291-4.214S6.699 14.228 6.7 16.555c0 2.142 1.64 3.943 3.809 4.183l4.973 17.54h19.036l4.973-17.54c2.169-.24 3.807-2.041 3.809-4.183 0-2.327-1.922-4.214-4.292-4.214s-4.29 1.887-4.29 4.214a4.19 4.19 0 0 0 1.766 3.4c-1.025 1.857-2.525 3.478-4.88 3.144-3.17-.45-4.31-5.723-4.68-8.01 1.729-.748 2.845-2.427 2.847-4.282 0-2.587-2.136-4.685-4.77-4.685z" fill="url(#gioco-b-wq)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6"></path><path d="M39.002 12.342a4.348 4.348 0 0 0-1.567.296c4.741 1.678 3.877 6.805.591 7.316L30.414 38.28h4.2l4.87-17.541c2.17-.241 3.808-2.042 3.81-4.184 0-2.327-1.922-4.214-4.292-4.213z" opacity=".1"></path><path d="M13.227 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684H39.36l.013-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685h-11.76z" fill="url(#gioco-c-wq)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M9.515 13.489c-.794 1.17-1.726 2.667-1.554 4.779 0 0-1.604-3.01 1.554-4.779zM23.659 7.23c-.853.874-2.37 2.934-2.133 5.374-.207-.084-1.73-3.893 2.133-5.374zM12.062 23.328l5.244 14.111-1.17.023z"></path></g>', 5)
645
- ])])) : c.type === "K" ? (v(), g("svg", K2, [...s[11] || (s[11] = [
645
+ ])])) : c.type === "K" ? (v(), g("svg", Q2, [...s[11] || (s[11] = [
646
646
  B('<defs><linearGradient gradientTransform="matrix(.26458 0 0 .25357 227.43 -666.55)" gradientUnits="userSpaceOnUse" x1="-825.75" x2="-704.44" xlink:href="#gioco-a-wk" id="gioco-b-wk" y1="2712.8" y2="2712.8"></linearGradient><linearGradient id="gioco-a-wk"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#bba38a"></stop></linearGradient><linearGradient gradientTransform="translate(225.05 -690.53)" gradientUnits="userSpaceOnUse" x1="-215.24" x2="-184.86" xlink:href="#gioco-a-wk" id="gioco-c-wk" y1="731.78" y2="731.78"></linearGradient></defs><path d="M25.006 3.868c-1.803.1-3.228 1.234-3.228 2.618 0 .565.244 1.644.693 2.097h-5.766v5.106h6.306l-2.61 2.833 2.673 2.167c-5.584.362-12.02 1.643-13.154 3.997-1.268 2.638 6.215 15.6 6.215 15.6h17.73s7.484-12.963 6.215-15.6c-1.133-2.357-7.594-3.64-13.179-3.999l2.71-2.165-2.61-2.833h6.306V8.583H27.54c.449-.453.693-1.531.693-2.097 0-1.384-1.425-2.518-3.228-2.618z" fill="url(#gioco-b-wk)" stroke="#323232" stroke-linejoin="round" stroke-width="1.6" style="paint-order:fill markers;"></path><path d="m31.289 38.283 2.573-.005s7.482-12.428 6.214-15.065c-4.136-3.824-13.18-4.525-13.18-4.525 11.05 2.822 12.618 5.028 4.393 19.595z" opacity=".1"></path><path d="M13.242 38.286c-1.437 0-2.627 1.216-2.627 2.685v.545l.013 2.684h28.749l.012-2.684v-.545c0-1.468-1.19-2.685-2.627-2.685h-11.76z" fill="url(#gioco-c-wk)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"></path><g fill="#fff"><path d="M13.283 31.138s-3.074-6.555-2.666-8.092c.408-1.536 5.987-2.736 5.987-2.736-6.486 2.71-4.786 4.558-3.321 10.828zM17.521 12.884v-3.52l1.532-.011c-.891.007-1.532 2.147-1.532 3.531zM24.798 4.67s-2.614.92-1.53 3.522c-.178-.007-2.142-2.72 1.53-3.522z"></path></g>', 5)
647
- ])])) : de("", !0);
647
+ ])])) : fe("", !0);
648
648
  }
649
- }), X2 = ["viewBox"], Y2 = ["d", "fill"], Z2 = ["d", "data-hexboard-position", "data-testid", "fill"], J2 = ["d", "data-testid", "fill"], I2 = ["d", "data-testid", "fill"], _2 = ["textContent", "data-testid", "x", "y"], et = ["cx", "cy", "data-testid", "fill"], tt = ["viewBox"], it = /* @__PURE__ */ c2({
649
+ }), Y2 = ["viewBox"], Z2 = ["d", "fill"], J2 = ["d", "data-hexboard-position", "data-testid", "fill"], I2 = ["d", "data-testid", "fill"], _2 = ["d", "data-testid", "fill"], et = ["textContent", "data-testid", "x", "y"], tt = ["cx", "cy", "data-testid", "fill"], ot = ["viewBox"], rt = /* @__PURE__ */ u2({
650
650
  __name: "Hexboard",
651
- props: /* @__PURE__ */ i2({
651
+ props: /* @__PURE__ */ r2({
652
652
  active: { type: Boolean, default: !1 },
653
653
  autoselect: { type: Boolean, default: !1 },
654
654
  flipped: { type: Boolean, default: !1 },
655
- hexchess: { default: () => a2.init() },
655
+ hexchess: { default: () => c2.init() },
656
656
  highlight: { default: () => [] },
657
657
  ignoreTurn: { type: Boolean, default: !1 },
658
658
  options: { default: () => ({}) },
659
- pieces: { default: () => Q2 },
659
+ pieces: { default: () => X2 },
660
660
  playing: { type: [String, Boolean], default: !1 },
661
- position: { default: B2 }
661
+ position: { default: $2 }
662
662
  }, {
663
663
  "mouseover-position": {
664
664
  default: null,
@@ -676,44 +676,44 @@ const L2 = {
676
676
  },
677
677
  targetsModifiers: {}
678
678
  }),
679
- emits: /* @__PURE__ */ i2(["clickPosition", "move"], ["update:mouseover-position", "update:selected", "update:targets"]),
679
+ emits: /* @__PURE__ */ r2(["clickPosition", "move"], ["update:mouseover-position", "update:selected", "update:targets"]),
680
680
  setup(c, { emit: P }) {
681
- const s = c, K = P, E = Q1(c, "mouseover-position"), U = Q1(c, "selected"), W = Q1(c, "targets"), _e = t1({ x: 0, y: 0 }), C = t1(null), ae = t1(new DOMRect()), h = t1({
681
+ const s = c, K = P, E = X1(c, "mouseover-position"), U = X1(c, "selected"), V = X1(c, "targets"), e1 = o1({ x: 0, y: 0 }), C = o1(null), ce = o1(se()), h = o1({
682
682
  hexchess: null,
683
683
  promotionEl: null,
684
684
  promotionFrom: null,
685
685
  promotionTo: null,
686
686
  selected: null
687
- }), W1 = k2("svgEl"), V = t1(new DOMRect());
688
- let V1 = !1;
689
- const u2 = j(() => h.value.hexchess ? [] : W.value), ce = j(() => h.value.hexchess ? h.value.hexchess : s.hexchess ? s.hexchess : a2.init()), d2 = j(() => ce.value.board.reduce(
687
+ }), A1 = y2("svgEl"), A = o1(se());
688
+ let D1 = !1;
689
+ const d2 = j(() => h.value.hexchess ? [] : V.value), ue = j(() => h.value.hexchess ? h.value.hexchess : s.hexchess ? s.hexchess : c2.init()), f2 = j(() => ue.value.board.reduce(
690
690
  (r, d, u) => (d && u !== C.value && r.push({ piece: d, index: u }), r),
691
691
  []
692
- )), i1 = j(() => typeof h.value.selected == "number" ? null : U.value), X1 = j(() => {
692
+ )), r1 = j(() => typeof h.value.selected == "number" ? null : U.value), Y1 = j(() => {
693
693
  var r, d, u;
694
- if (A1.value)
694
+ if (K1.value)
695
695
  return "grabbing";
696
696
  if (!(!s.active || E.value === null || h.value.hexchess)) {
697
- if (U.value !== null && W.value.includes(E.value)) {
698
- const p = (r = ce.value) == null ? void 0 : r.board[U.value];
697
+ if (U.value !== null && V.value.includes(E.value)) {
698
+ const p = (r = ue.value) == null ? void 0 : r.board[U.value];
699
699
  if (p) {
700
- const b = p === p.toLowerCase() ? "b" : "w", z = ((d = ce.value) == null ? void 0 : d.turn) === b;
701
- if ((s.playing === !0 || z) && l1(U.value))
700
+ const b = p === p.toLowerCase() ? "b" : "w", z = ((d = ue.value) == null ? void 0 : d.turn) === b;
701
+ if ((s.playing === !0 || z) && a1(U.value))
702
702
  return "pointer";
703
703
  }
704
704
  }
705
- if (r1.value)
706
- return s.playing === !0 || s.playing && Z1.value === ((u = ce.value) == null ? void 0 : u.turn) && s.playing === Z1.value ? "grab" : "pointer";
705
+ if (s1.value)
706
+ return s.playing === !0 || s.playing && J1.value === ((u = ue.value) == null ? void 0 : u.turn) && s.playing === J1.value ? "grab" : "pointer";
707
707
  }
708
- }), Y1 = j(() => ({
709
- x: _e.value.x - V.value.width / 2,
710
- y: _e.value.y - V.value.height / 2
711
- })), A1 = j(() => !s.hexchess || h.value.hexchess || C.value === null ? null : s.hexchess.board[C.value]), A = j(() => ({ ...E2, ...s.options })), Z1 = j(() => r1.value ? r1.value === r1.value.toLowerCase() ? "b" : "w" : null), r1 = j(() => {
708
+ }), Z1 = j(() => ({
709
+ x: e1.value.x - A.value.width / 2,
710
+ y: e1.value.y - A.value.height / 2
711
+ })), K1 = j(() => !s.hexchess || h.value.hexchess || C.value === null ? null : s.hexchess.board[C.value]), D = j(() => ({ ...B2, ...s.options })), J1 = j(() => s1.value ? s1.value === s1.value.toLowerCase() ? "b" : "w" : null), s1 = j(() => {
712
712
  var r;
713
- return E.value === null ? null : ((r = ce.value) == null ? void 0 : r.board[E.value]) ?? null;
714
- }), s1 = j(() => {
713
+ return E.value === null ? null : ((r = ue.value) == null ? void 0 : r.board[E.value]) ?? null;
714
+ }), l1 = j(() => {
715
715
  var p;
716
- const r = (p = h.value.hexchess) == null ? void 0 : p.board[h.value.selected ?? -1], d = r === (r == null ? void 0 : r.toUpperCase()), u = (b) => (z) => C2(s.pieces, { ...z, type: b });
716
+ const r = (p = h.value.hexchess) == null ? void 0 : p.board[h.value.selected ?? -1], d = r === (r == null ? void 0 : r.toUpperCase()), u = (b) => (z) => S2(s.pieces, { ...z, type: b });
717
717
  return {
718
718
  n: u(d ? "N" : "n"),
719
719
  b: u(d ? "B" : "b"),
@@ -721,39 +721,39 @@ const L2 = {
721
721
  q: u(d ? "Q" : "q")
722
722
  };
723
723
  });
724
- y2(() => {
725
- s.active && J1();
726
- }), x2(n2), r2(X1, (r) => {
724
+ x2(() => {
725
+ s.active && I1();
726
+ }), M2(i2), s2(Y1, (r) => {
727
727
  document.body.style.setProperty(
728
728
  "cursor",
729
729
  r === "grabbing" ? "grabbing" : null
730
730
  );
731
- }), r2(
731
+ }), s2(
732
732
  () => s.active,
733
- (r) => r ? J1() : n2()
733
+ (r) => r ? I1() : i2()
734
734
  );
735
- function K1(r, d) {
736
- var z, se;
737
- if (!W.value.includes(r.to))
735
+ function Q1(r, d) {
736
+ var z, le;
737
+ if (!V.value.includes(r.to))
738
738
  return;
739
739
  const u = (z = s.hexchess) == null ? void 0 : z.board[r.from];
740
740
  if (!u)
741
741
  return;
742
- const p = u === u.toLowerCase() ? "b" : "w", b = ((se = s.hexchess) == null ? void 0 : se.turn) === p;
743
- if (s.hexchess && (u === "p" || u === "P") && S2(r.to, p)) {
744
- const ue = s.hexchess.clone();
745
- ue.board[r.from] = null, ue.board[r.to] = u, h.value = {
746
- hexchess: ue,
742
+ const p = u === u.toLowerCase() ? "b" : "w", b = ((le = s.hexchess) == null ? void 0 : le.turn) === p;
743
+ if (s.hexchess && (u === "p" || u === "P") && T2(r.to, p)) {
744
+ const de = s.hexchess.clone();
745
+ de.board[r.from] = null, de.board[r.to] = u, h.value = {
746
+ hexchess: de,
747
747
  promotionEl: (d == null ? void 0 : d.target) instanceof Element ? d.target : null,
748
748
  promotionFrom: r.from,
749
749
  promotionTo: r.to,
750
750
  selected: r.to
751
- }, (d == null ? void 0 : d.target) instanceof Element && (ae.value = d.target.getBoundingClientRect());
751
+ }, (d == null ? void 0 : d.target) instanceof Element && (ce.value = d.target.getBoundingClientRect());
752
752
  return;
753
753
  }
754
- l1(r.from) && (s.ignoreTurn || b) && _1(r);
754
+ a1(r.from) && (s.ignoreTurn || b) && e2(r);
755
755
  }
756
- function l1(r) {
756
+ function a1(r) {
757
757
  var p;
758
758
  const d = (p = s.hexchess) == null ? void 0 : p.board[r];
759
759
  if (!d)
@@ -761,48 +761,48 @@ const L2 = {
761
761
  const u = d === d.toLowerCase() ? "b" : "w";
762
762
  return s.playing === !0 || s.playing === u;
763
763
  }
764
- function f2(r) {
764
+ function p2(r) {
765
765
  var d, u;
766
- return E.value === null ? A.value.labelColor : (d = R(E.value)) != null && d.startsWith(r) || (u = R(E.value)) != null && u.endsWith(r) ? A.value.labelActiveColor : A.value.labelInactiveColor;
766
+ return E.value === null ? D.value.labelColor : (d = H(E.value)) != null && d.startsWith(r) || (u = H(E.value)) != null && u.endsWith(r) ? D.value.labelActiveColor : D.value.labelInactiveColor;
767
767
  }
768
- function J1() {
769
- _e.value = { x: 0, y: 0 }, window.addEventListener("keyup", I1), window.addEventListener("pointermove", e2), window.addEventListener("pointerup", o2), window.addEventListener("resize", a1), window.addEventListener("scroll", a1), window.addEventListener("touchmove", t2, { passive: !1 });
768
+ function I1() {
769
+ e1.value = { x: 0, y: 0 }, window.addEventListener("keyup", _1), window.addEventListener("pointermove", t2), window.addEventListener("pointerup", n2), window.addEventListener("resize", c1), window.addEventListener("scroll", c1), window.addEventListener("touchmove", o2, { passive: !1 });
770
770
  }
771
- function a1() {
771
+ function c1() {
772
772
  var r;
773
- ae.value = ((r = h.value.promotionEl) == null ? void 0 : r.getBoundingClientRect()) ?? new DOMRect();
773
+ ce.value = ((r = h.value.promotionEl) == null ? void 0 : r.getBoundingClientRect()) ?? se();
774
774
  }
775
- function p2(r, d) {
775
+ function h2(r, d) {
776
776
  if (s.active) {
777
- if (V1) {
778
- V1 = !1;
777
+ if (D1) {
778
+ D1 = !1;
779
779
  return;
780
780
  }
781
781
  if (h.value.hexchess) {
782
- h.value.selected !== r && e1();
782
+ h.value.selected !== r && t1();
783
783
  return;
784
784
  }
785
- if (U.value !== null && W.value.includes(r)) {
786
- const u = new d1({ from: U.value, to: r });
787
- K1(u, d);
785
+ if (U.value !== null && V.value.includes(r)) {
786
+ const u = new f1({ from: U.value, to: r });
787
+ Q1(u, d);
788
788
  return;
789
789
  }
790
- s.autoselect && !s.hexchess.board[r] && (U.value = null, W.value = []), K("clickPosition", r);
790
+ s.autoselect && !s.hexchess.board[r] && (U.value = null, V.value = []), K("clickPosition", r);
791
791
  }
792
792
  }
793
- function I1(r) {
793
+ function _1(r) {
794
794
  if (r.key === "Escape") {
795
795
  if (h.value.hexchess) {
796
- e1();
796
+ t1();
797
797
  return;
798
798
  }
799
- s.autoselect && (U.value = null, W.value = []);
799
+ s.autoselect && (U.value = null, V.value = []);
800
800
  }
801
801
  }
802
- function _1(r) {
803
- K("move", r), c1();
802
+ function e2(r) {
803
+ K("move", r), u1();
804
804
  }
805
- function h2(r, d) {
805
+ function v2(r, d) {
806
806
  var u;
807
807
  if (d.stopPropagation(), C.value !== null) {
808
808
  let p = r;
@@ -811,27 +811,27 @@ const L2 = {
811
811
  d.clientY
812
812
  ), z = b == null ? void 0 : b.getAttribute("data-hexboard-position");
813
813
  z !== null && (p = Number(z));
814
- const se = new d1({ from: C.value, to: p });
815
- if (K1(se, d), h.value.hexchess)
814
+ const le = new f1({ from: C.value, to: p });
815
+ if (Q1(le, d), h.value.hexchess)
816
816
  return;
817
- C.value = null, V.value = new DOMRect();
817
+ C.value = null, A.value = se();
818
818
  return;
819
819
  }
820
- if (U.value !== null && W.value.includes(r)) {
821
- const p = new d1({ from: U.value, to: r });
822
- return K1(p, d), h.value.hexchess, void 0;
820
+ if (U.value !== null && V.value.includes(r)) {
821
+ const p = new f1({ from: U.value, to: r });
822
+ return Q1(p, d), h.value.hexchess, void 0;
823
823
  }
824
824
  if (h.value.hexchess) {
825
- e1();
825
+ t1();
826
826
  return;
827
827
  }
828
828
  if ((u = s.hexchess) != null && u.board[r]) {
829
- C.value = null, V.value = new DOMRect();
829
+ C.value = null, A.value = se();
830
830
  return;
831
831
  }
832
- c1();
832
+ u1();
833
833
  }
834
- function e1() {
834
+ function t1() {
835
835
  const r = h.value.promotionFrom;
836
836
  h.value = {
837
837
  hexchess: null,
@@ -839,195 +839,208 @@ const L2 = {
839
839
  promotionFrom: null,
840
840
  promotionTo: null,
841
841
  selected: null
842
- }, typeof r == "number" && (U.value = r, W.value = s.hexchess.movesFrom(r).map((d) => d.to) ?? []), C.value = null, V1 = !0;
842
+ }, typeof r == "number" && (U.value = r, V.value = s.hexchess.movesFrom(r).map((d) => d.to) ?? []), C.value = null, D1 = !0;
843
843
  }
844
- function v2(r, d) {
845
- var z, se, ue;
844
+ function g2(r, d) {
845
+ var z, le, de;
846
846
  if (d.preventDefault(), h.value.hexchess)
847
847
  return;
848
848
  const u = (z = s.hexchess) == null ? void 0 : z.board[r];
849
- if (!u || (s.autoselect && (U.value = r, W.value = ((se = s.hexchess) == null ? void 0 : se.movesFrom(r).map((b2) => b2.to)) ?? []), !l1(r)))
849
+ if (!u || (s.autoselect && (U.value = r, V.value = ((le = s.hexchess) == null ? void 0 : le.movesFrom(r).map((k2) => k2.to)) ?? []), !a1(r)))
850
850
  return;
851
- const p = u === u.toLowerCase() ? "b" : "w", b = ((ue = s.hexchess) == null ? void 0 : ue.turn) === p;
852
- !s.ignoreTurn && !b || (C.value = r, _e.value = { x: d.clientX, y: d.clientY }, W1.value instanceof Element && (V.value = W1.value.getBoundingClientRect()));
851
+ const p = u === u.toLowerCase() ? "b" : "w", b = ((de = s.hexchess) == null ? void 0 : de.turn) === p;
852
+ !s.ignoreTurn && !b || (C.value = r, e1.value = { x: d.clientX, y: d.clientY }, A1.value instanceof Element && (A.value = A1.value.getBoundingClientRect()));
853
853
  }
854
- function g2(r) {
854
+ function w2(r) {
855
855
  E.value = r;
856
856
  }
857
- function w2() {
857
+ function m2() {
858
858
  E.value = null;
859
859
  }
860
- function e2(r) {
861
- s.active && (_e.value = { x: r.clientX, y: r.clientY });
862
- }
863
860
  function t2(r) {
861
+ s.active && (e1.value = { x: r.clientX, y: r.clientY });
862
+ }
863
+ function o2(r) {
864
864
  C.value !== null && r.preventDefault();
865
865
  }
866
- function o2() {
866
+ function n2() {
867
867
  if (h.value.hexchess) {
868
- e1();
868
+ t1();
869
869
  return;
870
870
  }
871
871
  if (C.value !== null) {
872
- C.value = null, V.value = new DOMRect();
872
+ C.value = null, A.value = se();
873
873
  return;
874
874
  }
875
- c1();
875
+ u1();
876
876
  }
877
- function m2(r) {
878
- if (typeof h.value.promotionFrom == "number" && l1(h.value.promotionFrom)) {
879
- const d = new d1({
877
+ function b2(r) {
878
+ if (typeof h.value.promotionFrom == "number" && a1(h.value.promotionFrom)) {
879
+ const d = new f1({
880
880
  from: h.value.promotionFrom ?? 0,
881
881
  to: h.value.promotionTo ?? 0,
882
882
  promotion: r
883
883
  });
884
- _1(d);
884
+ e2(d);
885
885
  }
886
886
  }
887
- function c1() {
887
+ function se(r = {}) {
888
+ return {
889
+ bottom: 0,
890
+ height: 0,
891
+ left: 0,
892
+ right: 0,
893
+ top: 0,
894
+ width: 0,
895
+ x: 0,
896
+ y: 0,
897
+ ...r
898
+ };
899
+ }
900
+ function u1() {
888
901
  document.body.style.setProperty("cursor", null), C.value = null, U.value = null, h.value = {
889
902
  hexchess: null,
890
903
  promotionEl: null,
891
904
  promotionFrom: null,
892
905
  promotionTo: null,
893
906
  selected: null
894
- }, V.value = new DOMRect(), W.value = [];
907
+ }, A.value = se(), V.value = [];
895
908
  }
896
- function n2() {
897
- c1(), window.removeEventListener("keyup", I1), window.removeEventListener("pointermove", e2), window.removeEventListener("pointerup", o2), window.removeEventListener("resize", a1), window.removeEventListener("scroll", a1), window.removeEventListener("touchmove", t2);
909
+ function i2() {
910
+ u1(), window.removeEventListener("keyup", _1), window.removeEventListener("pointermove", t2), window.removeEventListener("pointerup", n2), window.removeEventListener("resize", c1), window.removeEventListener("scroll", c1), window.removeEventListener("touchmove", o2);
898
911
  }
899
912
  return (r, d) => (v(), g("div", null, [
900
913
  (v(), g("svg", {
901
914
  xmlns: "http://www.w3.org/2000/svg",
902
915
  ref_key: "svgEl",
903
- ref: W1,
904
- style: u1({ cursor: X1.value }),
905
- viewBox: `0 0 ${f(he)} ${f(he)}`
916
+ ref: A1,
917
+ style: d1({ cursor: Y1.value }),
918
+ viewBox: `0 0 ${f(ve)} ${f(ve)}`
906
919
  }, [
907
- M2("path", {
908
- d: f(N1)(f($2)),
909
- fill: A.value.colors[1],
920
+ z2("path", {
921
+ d: f(V1)(f(q2)),
922
+ fill: D.value.colors[1],
910
923
  style: { pointerEvents: "none" }
911
- }, null, 8, Y2),
912
- (v(!0), g(o1, null, n1(f(o), (u, p) => (v(), g("path", z2(
924
+ }, null, 8, Z2),
925
+ (v(!0), g(n1, null, i1(f(o), (u, p) => (v(), g("path", G2(
913
926
  { ref_for: !0 },
914
927
  c.active ? {
915
- onClick: (b) => p2(p, b),
916
- onMouseenter: () => g2(p),
917
- onMouseleave: () => w2(),
918
- onPointerdown: (b) => v2(p, b),
919
- onPointerup: (b) => h2(p, b)
928
+ onClick: (b) => h2(p, b),
929
+ onMouseenter: () => w2(p),
930
+ onMouseleave: () => m2(),
931
+ onPointerdown: (b) => g2(p, b),
932
+ onPointerup: (b) => v2(p, b)
920
933
  } : {},
921
934
  {
922
- d: f(N1)(c.flipped ? u[4] : u[3]),
935
+ d: f(V1)(c.flipped ? u[4] : u[3]),
923
936
  "data-hexboard-position": p,
924
- "data-testid": `position-${f(R)(p)}`,
925
- fill: A.value.colors[f(o)[p][0]],
937
+ "data-testid": `position-${f(H)(p)}`,
938
+ fill: D.value.colors[f(o)[p][0]],
926
939
  key: p
927
940
  }
928
- ), null, 16, Z2))), 128)),
929
- (v(!0), g(o1, null, n1(c.highlight, (u) => (v(), g("path", {
930
- d: f(N1)(c.flipped ? f(o)[u][4] : f(o)[u][3]),
931
- "data-testid": `highlight-${f(R)(u)}`,
932
- fill: A.value.highlightColor,
941
+ ), null, 16, J2))), 128)),
942
+ (v(!0), g(n1, null, i1(c.highlight, (u) => (v(), g("path", {
943
+ d: f(V1)(c.flipped ? f(o)[u][4] : f(o)[u][3]),
944
+ "data-testid": `highlight-${f(H)(u)}`,
945
+ fill: D.value.highlightColor,
933
946
  key: `highlight-${u}`,
934
947
  style: { pointerEvents: "none" }
935
- }, null, 8, J2))), 128)),
936
- typeof i1.value == "number" ? (v(), g("path", {
948
+ }, null, 8, I2))), 128)),
949
+ typeof r1.value == "number" ? (v(), g("path", {
937
950
  key: 0,
938
- d: f(N1)(c.flipped ? f(o)[i1.value][4] : f(o)[i1.value][3]),
939
- "data-testid": `selected-${f(R)(i1.value)}`,
940
- fill: A.value.selectedColor,
951
+ d: f(V1)(c.flipped ? f(o)[r1.value][4] : f(o)[r1.value][3]),
952
+ "data-testid": `selected-${f(H)(r1.value)}`,
953
+ fill: D.value.selectedColor,
941
954
  ref: "selectedEl",
942
955
  style: { pointerEvents: "none" }
943
- }, null, 8, I2)) : de("", !0),
944
- A.value.labels ? (v(!0), g(o1, { key: 1 }, n1(f(O2), ([u, p, b], z) => (v(), g("text", {
945
- textContent: G2(u),
956
+ }, null, 8, _2)) : fe("", !0),
957
+ D.value.labels ? (v(!0), g(n1, { key: 1 }, i1(f(L2), ([u, p, b], z) => (v(), g("text", {
958
+ textContent: P2(u),
946
959
  "dominant-baseline": "central",
947
960
  "text-anchor": "middle",
948
961
  "data-testid": `label-${u}`,
949
962
  key: `label-${z}`,
950
- style: u1({
951
- fill: f2(u),
963
+ style: d1({
964
+ fill: p2(u),
952
965
  fontSize: ".5px",
953
966
  pointerEvents: "none",
954
967
  userSelect: "none"
955
968
  }),
956
- x: f(fe)(c.flipped ? b[0] : p[0]),
957
- y: f(pe)(c.flipped ? b[1] : p[1])
958
- }, null, 12, _2))), 128)) : de("", !0),
959
- ce.value ? (v(!0), g(o1, { key: 2 }, n1(d2.value, ({ piece: u, index: p }) => (v(), s2(l2(c.pieces), {
969
+ x: f(pe)(c.flipped ? b[0] : p[0]),
970
+ y: f(he)(c.flipped ? b[1] : p[1])
971
+ }, null, 12, et))), 128)) : fe("", !0),
972
+ ue.value ? (v(!0), g(n1, { key: 2 }, i1(f2.value, ({ piece: u, index: p }) => (v(), l2(a2(c.pieces), {
960
973
  "data-piece-type": u,
961
- "data-testid": `piece-${f(R)(p)}`,
974
+ "data-testid": `piece-${f(H)(p)}`,
962
975
  height: f(Q),
963
- key: `piece-${f(R)(p)}`,
976
+ key: `piece-${f(H)(p)}`,
964
977
  style: { pointerEvents: "none" },
965
978
  type: u,
966
979
  width: f(Q),
967
- x: f(fe)(f(o)[p][c.flipped ? 2 : 1][0] - f(Q) / 2),
968
- y: f(pe)(f(o)[p][c.flipped ? 2 : 1][1] + f(Q) / 2)
969
- }, null, 8, ["data-piece-type", "data-testid", "height", "type", "width", "x", "y"]))), 128)) : de("", !0),
970
- (v(!0), g(o1, null, n1(u2.value, (u) => (v(), g("circle", {
971
- cx: f(fe)(f(o)[u][c.flipped ? 2 : 1][0]),
972
- cy: f(pe)(f(o)[u][c.flipped ? 2 : 1][1]),
973
- "data-testid": `target-${f(R)(u)}`,
974
- fill: A.value.targetColor,
975
- key: `target-${f(R)(u)}`,
980
+ x: f(pe)(f(o)[p][c.flipped ? 2 : 1][0] - f(Q) / 2),
981
+ y: f(he)(f(o)[p][c.flipped ? 2 : 1][1] + f(Q) / 2)
982
+ }, null, 8, ["data-piece-type", "data-testid", "height", "type", "width", "x", "y"]))), 128)) : fe("", !0),
983
+ (v(!0), g(n1, null, i1(d2.value, (u) => (v(), g("circle", {
984
+ cx: f(pe)(f(o)[u][c.flipped ? 2 : 1][0]),
985
+ cy: f(he)(f(o)[u][c.flipped ? 2 : 1][1]),
986
+ "data-testid": `target-${f(H)(u)}`,
987
+ fill: D.value.targetColor,
988
+ key: `target-${f(H)(u)}`,
976
989
  r: 0.3,
977
990
  style: { pointerEvents: "none" }
978
- }, null, 8, et))), 128))
979
- ], 12, X2)),
980
- A1.value ? (v(), g("svg", {
991
+ }, null, 8, tt))), 128))
992
+ ], 12, Y2)),
993
+ K1.value ? (v(), g("svg", {
981
994
  key: 0,
982
995
  "data-testid": "drag-piece",
983
996
  xmlns: "http://www.w3.org/2000/svg",
984
- style: u1({
985
- height: V.value.height + "px",
997
+ style: d1({
998
+ height: A.value.height + "px",
986
999
  left: "0px",
987
1000
  pointerEvents: "none",
988
1001
  position: "fixed",
989
1002
  top: "0px",
990
- transform: `translate(${Y1.value.x}px, ${Y1.value.y}px) scale(1.1)`,
991
- width: V.value.width + "px",
1003
+ transform: `translate(${Z1.value.x}px, ${Z1.value.y}px) scale(1.1)`,
1004
+ width: A.value.width + "px",
992
1005
  willChange: "transform"
993
1006
  }),
994
- viewBox: `0 0 ${f(he)} ${f(he)}`
1007
+ viewBox: `0 0 ${f(ve)} ${f(ve)}`
995
1008
  }, [
996
- (v(), s2(l2(c.pieces), {
1009
+ (v(), l2(a2(c.pieces), {
997
1010
  height: f(Q),
998
1011
  style: { pointerEvents: "none" },
999
- type: A1.value,
1012
+ type: K1.value,
1000
1013
  width: f(Q),
1001
- x: f(fe)(f(Q) / -2),
1002
- y: f(pe)(f(Q) / 2)
1014
+ x: f(pe)(f(Q) / -2),
1015
+ y: f(he)(f(Q) / 2)
1003
1016
  }, null, 8, ["height", "type", "width", "x", "y"]))
1004
- ], 12, tt)) : de("", !0),
1017
+ ], 12, ot)) : fe("", !0),
1005
1018
  typeof h.value.selected == "number" ? (v(), g("div", {
1006
1019
  key: 1,
1007
- style: u1({
1008
- height: ae.value.height + "px",
1009
- left: ae.value.left + "px",
1020
+ style: d1({
1021
+ height: ce.value.height + "px",
1022
+ left: ce.value.left + "px",
1010
1023
  position: "fixed",
1011
- top: ae.value.top + "px",
1012
- width: ae.value.width + "px"
1024
+ top: ce.value.top + "px",
1025
+ width: ce.value.width + "px"
1013
1026
  }),
1014
- onPointerup: d[0] || (d[0] = P2(() => {
1027
+ onPointerup: d[0] || (d[0] = U2(() => {
1015
1028
  }, ["stop"]))
1016
1029
  }, [
1017
- U2(r.$slots, "promotion", {
1018
- b: s1.value.b,
1019
- cancel: e1,
1020
- file: f(R)(h.value.selected)[0],
1021
- n: s1.value.n,
1022
- promote: m2,
1023
- q: s1.value.q,
1024
- r: s1.value.r,
1025
- rank: Number(f(R)(h.value.selected).slice(1))
1030
+ C2(r.$slots, "promotion", {
1031
+ b: l1.value.b,
1032
+ cancel: t1,
1033
+ file: f(H)(h.value.selected)[0],
1034
+ n: l1.value.n,
1035
+ promote: b2,
1036
+ q: l1.value.q,
1037
+ r: l1.value.r,
1038
+ rank: Number(f(H)(h.value.selected).slice(1))
1026
1039
  })
1027
- ], 36)) : de("", !0)
1040
+ ], 36)) : fe("", !0)
1028
1041
  ]));
1029
1042
  }
1030
1043
  });
1031
1044
  export {
1032
- it as Hexboard
1045
+ rt as Hexboard
1033
1046
  };
package/package.json CHANGED
@@ -58,5 +58,5 @@
58
58
  "license": "MIT",
59
59
  "type": "module",
60
60
  "types": "dist/index.d.ts",
61
- "version": "0.0.3"
61
+ "version": "0.0.4"
62
62
  }
@@ -191,7 +191,7 @@ import {
191
191
  import { d } from './dom'
192
192
  import { x, y } from './geometry'
193
193
  import GiocoPieces from './pieces/Gioco.vue'
194
- import type { HexboardOptions } from './types'
194
+ import type { HexboardOptions, Rect } from './types'
195
195
 
196
196
  //
197
197
  // props
@@ -263,7 +263,7 @@ const pointerCoords = shallowRef({ x: 0, y: 0 })
263
263
  const pointerdownPosition = shallowRef<number | null>(null)
264
264
 
265
265
  /** rect of promotion anchor element */
266
- const promotionRect = shallowRef<DOMRect>(new DOMRect())
266
+ const promotionRect = shallowRef(rect())
267
267
 
268
268
  /** staging display data */
269
269
  const staging = shallowRef<{
@@ -284,7 +284,7 @@ const staging = shallowRef<{
284
284
  const svgEl = useTemplateRef('svgEl')
285
285
 
286
286
  /** rect of svg element on pointerdown */
287
- const svgRect = shallowRef<DOMRect>(new DOMRect())
287
+ const svgRect = shallowRef<Rect>(rect())
288
288
 
289
289
  /** flag to skip click handling after promotion cancel */
290
290
  let skipNextClick = false
@@ -581,7 +581,7 @@ function listen() {
581
581
  /** measure promotion element rect */
582
582
  function measurePromotionRect() {
583
583
  promotionRect.value
584
- = staging.value.promotionEl?.getBoundingClientRect() ?? new DOMRect()
584
+ = staging.value.promotionEl?.getBoundingClientRect() ?? rect()
585
585
  }
586
586
 
587
587
  /** click position */
@@ -673,7 +673,7 @@ function onPointerupPosition(index: number, evt: PointerEvent) {
673
673
 
674
674
  // Keep selection but reset drag state
675
675
  pointerdownPosition.value = null
676
- svgRect.value = new DOMRect()
676
+ svgRect.value = rect()
677
677
  return
678
678
  }
679
679
 
@@ -700,7 +700,7 @@ function onPointerupPosition(index: number, evt: PointerEvent) {
700
700
  // If clicking on any piece, keep the selection (it was set in pointerdown)
701
701
  if (props.hexchess?.board[index]) {
702
702
  pointerdownPosition.value = null
703
- svgRect.value = new DOMRect()
703
+ svgRect.value = rect()
704
704
  return
705
705
  }
706
706
 
@@ -806,7 +806,7 @@ function onPointerupWindow() {
806
806
  // If dragging a piece, keep the selection but reset drag state
807
807
  if (pointerdownPosition.value !== null) {
808
808
  pointerdownPosition.value = null
809
- svgRect.value = new DOMRect()
809
+ svgRect.value = rect()
810
810
  return
811
811
  }
812
812
 
@@ -829,6 +829,20 @@ function promote(promotion: 'n' | 'b' | 'r' | 'q') {
829
829
  }
830
830
  }
831
831
 
832
+ function rect(data: Partial<Rect> = {}): Rect {
833
+ return {
834
+ bottom: 0,
835
+ height: 0,
836
+ left: 0,
837
+ right: 0,
838
+ top: 0,
839
+ width: 0,
840
+ x: 0,
841
+ y: 0,
842
+ ...data,
843
+ }
844
+ }
845
+
832
846
  /** reset state */
833
847
  function resetState() {
834
848
  document.body.style.setProperty('cursor', null)
@@ -841,7 +855,7 @@ function resetState() {
841
855
  promotionTo: null,
842
856
  selected: null,
843
857
  }
844
- svgRect.value = new DOMRect()
858
+ svgRect.value = rect()
845
859
  targets.value = []
846
860
  }
847
861
 
@@ -18,6 +18,18 @@ export interface HexboardOptions {
18
18
  selectedColor: string
19
19
  }
20
20
 
21
+ /** rect */
22
+ export type Rect = {
23
+ bottom: number
24
+ height: number
25
+ left: number
26
+ right: number
27
+ top: number
28
+ width: number
29
+ x: number
30
+ y: number
31
+ }
32
+
21
33
  /** uniform tuple of length `T`, `number` by default */
22
34
  export type Vec<
23
35
  T extends number,
@@ -10,7 +10,48 @@
10
10
  :hexchess
11
11
  :playing="true"
12
12
  @move="onMove"
13
- />
13
+ >
14
+ <template #promotion="{ b, n, q, r, promote }">
15
+ <div class="absolute bg-gray-50 cursor-pointer flex left-1/2 bottom-full rounded-md shadow-md overflow-hidden -translate-x-1/2">
16
+ <button
17
+ class="aspect-square border-r border-gray-200 cursor-pointer flex items-center justify-center size-12 hover:bg-gray-200"
18
+ @click="promote('b')"
19
+ >
20
+ <Component
21
+ class="size-3/4"
22
+ :is="b"
23
+ />
24
+ </button>
25
+ <button
26
+ class="aspect-square border-r border-gray-200 cursor-pointer flex items-center justify-center size-12 hover:bg-gray-200"
27
+ @click="promote('n')"
28
+ >
29
+ <Component
30
+ class="size-3/4"
31
+ :is="n"
32
+ />
33
+ </button>
34
+ <button
35
+ class="aspect-square border-r border-gray-200 cursor-pointer flex items-center justify-center size-12 hover:bg-gray-200"
36
+ @click="promote('r')"
37
+ >
38
+ <Component
39
+ class="size-3/4"
40
+ :is="r"
41
+ />
42
+ </button>
43
+ <button
44
+ class="aspect-square cursor-pointer flex items-center justify-center size-12 hover:bg-gray-200"
45
+ @click="promote('q')"
46
+ >
47
+ <Component
48
+ class="size-3/4"
49
+ :is="q"
50
+ />
51
+ </button>
52
+ </div>
53
+ </template>
54
+ </Hexboard>
14
55
  </div>
15
56
  </template>
16
57