@lichess-org/chessground 10.0.1 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,10 +17,12 @@ cg-board square.oc.move-dest {
17
17
  cg-board square.oc.premove-dest {
18
18
  background: radial-gradient(transparent 0%, transparent 80%, rgba(20, 30, 85, 0.2) 80%);
19
19
  }
20
- cg-board square.move-dest:hover {
20
+ cg-board square.move-dest:hover,
21
+ cg-board square.move-dest.hover {
21
22
  background: rgba(20, 85, 30, 0.3);
22
23
  }
23
- cg-board square.premove-dest:hover {
24
+ cg-board square.premove-dest:hover,
25
+ cg-board square.premove-dest.hover {
24
26
  background: rgba(20, 30, 85, 0.2);
25
27
  }
26
28
  cg-board square.last-move {
@@ -1 +1 @@
1
- var Ge=["white","black"];var I=["a","b","c","d","e","f","g","h"],U=["1","2","3","4","5","6","7","8"];var We=[...U].reverse(),Q=I.flatMap(e=>U.map(o=>e+o)),L=e=>e.every(o=>o>=0&&o<=7)?Q[8*e[0]+e[1]]:void 0,G=e=>L(e),m=e=>[e.charCodeAt(0)-97,e.charCodeAt(1)-49];var be=Q.map(m),$e=Q.map((e,o)=>({key:e,pos:be[o]}));function he(e){let o,t=()=>(o===void 0&&(o=e()),o);return t.clear=()=>{o=void 0},t}var ze=()=>{let e;return{start(){e=performance.now()},cancel(){e=void 0},stop(){if(!e)return 0;let o=performance.now()-e;return e=void 0,o}}},F=e=>e==="white"?"black":"white",W=(e,o)=>(e[0]-o[0])**2+(e[1]-o[1])**2,Y=(e,o)=>e.role===o.role&&e.color===o.color,Ie=(e,o)=>e[0]===o[0]&&e[1]===o[1],$=e=>(o,t)=>[(t?o[0]:7-o[0])*e.width/8,(t?7-o[1]:o[1])*e.height/8],x=(e,o)=>{e.style.transform=`translate(${o[0]}px,${o[1]}px)`},ve=(e,o,t=1)=>{e.style.transform=`translate(${o[0]}px,${o[1]}px) scale(${t})`},q=(e,o)=>{e.style.visibility=o?"visible":"hidden"},T=e=>{if(e.clientX||e.clientX===0)return[e.clientX,e.clientY];if(e.targetTouches?.[0])return[e.targetTouches[0].clientX,e.targetTouches[0].clientY]},et=he(()=>!("ontouchstart"in window)&&["macintosh","firefox"].every(e=>navigator.userAgent.toLowerCase().includes(e))),re=e=>e.button===2&&!(e.ctrlKey&&et()),C=(e,o)=>{let t=document.createElement(e);return o&&(t.className=o),t};function ie(e,o,t){let n=m(e);return o||(n[0]=7-n[0],n[1]=7-n[1]),[t.left+t.width*n[0]/8+t.width/16,t.top+t.height*(7-n[1])/8+t.height/16]}var R=(e,o)=>Math.abs(e-o),ae=(e,o,t,n)=>R(e,t)*R(o,n)===2,ye=(e,o,t,n)=>e===t!=(o===n),Se=(e,o,t,n)=>R(e,t)===R(o,n)&&e!==t,je=(e,o,t,n)=>ye(e,o,t,n)||Se(e,o,t,n),Ue=(e,o,t,n)=>Math.max(R(e,t),R(o,n))===1;var Ze=(e,o,t,n,r)=>{let i=r?1:-1;return e===t&&(n===o+i||n===o+2*i&&(r?o<=1:o>=6))},_e=(e,o,t,n)=>{let r=t-e,i=n-o;if(r&&i&&Math.abs(r)!==Math.abs(i))return[];let c=Math.sign(r),p=Math.sign(i),d=[],a=e+c,s=o+p;for(;a!==t||s!==n;)d.push([a,s]),a+=c,s+=p;return d.map(L).filter(l=>l!==void 0)};var ot=e=>R(e.orig.pos[0],e.dest.pos[0])<=1&&(R(e.orig.pos[0],e.dest.pos[0])===1?e.dest.pos[1]===e.orig.pos[1]+(e.color==="white"?1:-1):Ze(...e.orig.pos,...e.dest.pos,e.color==="white")),tt=e=>ae(...e.orig.pos,...e.dest.pos),Xe=e=>Se(...e.orig.pos,...e.dest.pos),Qe=e=>ye(...e.orig.pos,...e.dest.pos),nt=e=>Xe(e)||Qe(e),rt=e=>Ue(...e.orig.pos,...e.dest.pos)||e.orig.pos[1]===e.dest.pos[1]&&e.orig.pos[1]===(e.color==="white"?0:7)&&(e.orig.pos[0]===4&&(e.dest.pos[0]===2&&e.rookFilesFriendlies.includes(0)||e.dest.pos[0]===6&&e.rookFilesFriendlies.includes(7))||e.rookFilesFriendlies.includes(e.dest.pos[0])),it={pawn:ot,knight:tt,bishop:Xe,rook:Qe,queen:nt,king:rt};function we(e,o){let t=e.pieces,n=t.get(o);if(!n||n.color===e.turnColor)return[];let r=n.color,i=new Map([...t].filter(([s,l])=>l.color===r)),c=new Map([...t].filter(([s,l])=>l.color===F(r))),p={key:o,pos:m(o)},d=s=>it[n.role](s)&&e.premovable.additionalPremoveRequirements(s),a={orig:p,role:n.role,allPieces:t,friendlies:i,enemies:c,color:r,rookFilesFriendlies:Array.from(t).filter(([s,l])=>s[1]===(r==="white"?"1":"8")&&l.color===r&&l.role==="rook").map(([s])=>m(s)[0]),lastMove:e.lastMove};return $e.filter(s=>d({...a,dest:s})).map(s=>s.key)}function P(e,...o){e&&setTimeout(()=>e(...o),1)}function Ye(e){e.orientation=F(e.orientation),e.animation.current=e.draggable.current=e.selected=void 0}function Je(e,o){for(let[t,n]of o)n?e.pieces.set(t,n):e.pieces.delete(t)}function eo(e,o){if(e.check=void 0,o===!0&&(o=e.turnColor),o)for(let[t,n]of e.pieces)n.role==="king"&&n.color===o&&(e.check=t)}function at(e,o,t,n){D(e),e.premovable.current=[o,t],P(e.premovable.events.set,o,t,n)}function K(e){e.premovable.current&&(e.premovable.current=void 0,P(e.premovable.events.unset))}function ct(e,o,t){K(e),e.predroppable.current={role:o,key:t},P(e.predroppable.events.set,o,t)}function D(e){let o=e.predroppable;o.current&&(o.current=void 0,P(o.events.unset))}function st(e,o,t){if(!e.autoCastle)return!1;let n=e.pieces.get(o);if(!n||n.role!=="king")return!1;let r=m(o),i=m(t);if(r[1]!==0&&r[1]!==7||r[1]!==i[1])return!1;r[0]===4&&!e.pieces.has(t)&&(i[0]===6?t=G([7,i[1]]):i[0]===2&&(t=G([0,i[1]])));let c=e.pieces.get(t);return!c||c.color!==n.color||c.role!=="rook"?!1:(e.pieces.delete(o),e.pieces.delete(t),r[0]<i[0]?(e.pieces.set(G([6,i[1]]),n),e.pieces.set(G([5,i[1]]),c)):(e.pieces.set(G([2,i[1]]),n),e.pieces.set(G([3,i[1]]),c)),!0)}function Pe(e,o,t){let n=e.pieces.get(o),r=e.pieces.get(t);if(o===t||!n)return!1;let i=r&&r.color!==n.color?r:void 0;return t===e.selected&&w(e),P(e.events.move,o,t,i),st(e,o,t)||(e.pieces.set(t,n),e.pieces.delete(o)),e.lastMove=[o,t],e.check=void 0,P(e.events.change),i||!0}function ce(e,o,t,n){if(e.pieces.has(t))if(n)e.pieces.delete(t);else return!1;return P(e.events.dropNewPiece,o,t),e.pieces.set(t,o),e.lastMove=[t],e.check=void 0,P(e.events.change),e.movable.dests=void 0,e.turnColor=F(e.turnColor),!0}function oo(e,o,t){let n=Pe(e,o,t);return n&&(e.movable.dests=void 0,e.turnColor=F(e.turnColor),e.animation.current=void 0),n}function Me(e,o,t){if(le(e,o,t)){let n=oo(e,o,t);if(n){let r=e.hold.stop();w(e);let i={premove:!1,ctrlKey:e.stats.ctrlKey,holdTime:r};return n!==!0&&(i.captured=n),P(e.movable.events.after,o,t,i),!0}}else if(dt(e,o,t))return at(e,o,t,{ctrlKey:e.stats.ctrlKey}),w(e),!0;return w(e),!1}function se(e,o,t,n){let r=e.pieces.get(o);r&&(lt(e,o,t)||n)?(e.pieces.delete(o),ce(e,r,t,n),P(e.movable.events.afterNewPiece,r.role,t,{premove:!1,predrop:!1})):r&&pt(e,o,t)?ct(e,r.role,t):(K(e),D(e)),e.pieces.delete(o),w(e)}function J(e,o,t){if(P(e.events.select,o),e.selected){if(e.selected===o&&!e.draggable.enabled){w(e),e.hold.cancel();return}else if((e.selectable.enabled||t)&&e.selected!==o&&Me(e,e.selected,o)){e.stats.dragged=!1;return}}(e.selectable.enabled||e.draggable.enabled)&&(to(e,o)||Ce(e,o))&&(xe(e,o),e.hold.start())}function xe(e,o){e.selected=o,Ce(e,o)?e.premovable.customDests||(e.premovable.dests=we(e,o)):e.premovable.dests=void 0}function w(e){e.selected=void 0,e.premovable.dests=void 0,e.hold.cancel()}function to(e,o){let t=e.pieces.get(o);return!!t&&(e.movable.color==="both"||e.movable.color===t.color&&e.turnColor===t.color)}var le=(e,o,t)=>o!==t&&to(e,o)&&(e.movable.free||!!e.movable.dests?.get(o)?.includes(t));function lt(e,o,t){let n=e.pieces.get(o);return!!n&&(o===t||!e.pieces.has(t))&&(e.movable.color==="both"||e.movable.color===n.color&&e.turnColor===n.color)}function Ce(e,o){let t=e.pieces.get(o);return!!t&&e.premovable.enabled&&e.movable.color===t.color&&e.turnColor!==t.color}var dt=(e,o,t)=>o!==t&&Ce(e,o)&&(e.premovable.customDests?.get(o)??we(e,o)).includes(t);function pt(e,o,t){let n=e.pieces.get(o),r=e.pieces.get(t);return!!n&&(!r||r.color!==e.movable.color)&&e.predroppable.enabled&&(n.role!=="pawn"||t[1]!=="1"&&t[1]!=="8")&&e.movable.color===n.color&&e.turnColor!==n.color}function no(e,o){let t=e.pieces.get(o);return!!t&&e.draggable.enabled&&(e.movable.color==="both"||e.movable.color===t.color&&(e.turnColor===t.color||e.premovable.enabled))}function ro(e){let o=e.premovable.current;if(!o)return!1;let t=o[0],n=o[1],r=!1;if(le(e,t,n)){let i=oo(e,t,n);if(i){let c={premove:!0};i!==!0&&(c.captured=i),P(e.movable.events.after,t,n,c),r=!0}}return K(e),r}function io(e,o){let t=e.predroppable.current,n=!1;if(!t)return!1;if(o(t)){let r={role:t.role,color:e.movable.color};ce(e,r,t.key)&&(P(e.movable.events.afterNewPiece,t.role,t.key,{premove:!1,predrop:!0}),n=!0)}return D(e),n}function ee(e){K(e),D(e),w(e)}function ke(e){e.movable.color=e.movable.dests=e.animation.current=void 0,ee(e)}function E(e,o,t){let n=Math.floor(8*(e[0]-t.left)/t.width);o||(n=7-n);let r=7-Math.floor(8*(e[1]-t.top)/t.height);return o||(r=7-r),n>=0&&n<8&&r>=0&&r<8?L([n,r]):void 0}function ao(e,o,t,n){let r=m(e),i=be.filter(a=>Ie(r,a)||je(r[0],r[1],a[0],a[1])||ae(r[0],r[1],a[0],a[1])),p=i.map(a=>ie(G(a),t,n)).map(a=>W(o,a)),[,d]=p.reduce((a,s,l)=>a[0]<s?a:[s,l],[p[0],0]);return L(i[d])}var h=e=>e.orientation==="white";var De="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR",ut={p:"pawn",r:"rook",n:"knight",b:"bishop",q:"queen",k:"king"},gt={pawn:"p",rook:"r",knight:"n",bishop:"b",queen:"q",king:"k"};function de(e){e==="start"&&(e=De);let o=new Map,t=7,n=0;for(let r of e)switch(r){case" ":case"[":return o;case"/":if(--t,t<0)return o;n=0;break;case"~":{let i=L([n-1,t]),c=i&&o.get(i);c&&(c.promoted=!0);break}default:{let i=r.charCodeAt(0);if(i<57)n+=i-48;else{let c=r.toLowerCase(),p=L([n,t]);p&&o.set(p,{role:ut[c],color:r===c?"black":"white"}),++n}}}return o}function co(e){return We.map(o=>I.map(t=>{let n=e.get(t+o);if(n){let r=gt[n.role];return n.color==="white"&&(r=r.toUpperCase()),n.promoted&&(r+="~"),r}else return"1"}).join("")).join("/").replace(/1{2,}/g,o=>o.length.toString())}function Ee(e,o){o.animation&&(Ae(e.animation,o.animation),(e.animation.duration||0)<70&&(e.animation.enabled=!1))}function pe(e,o){if(o.movable?.dests&&(e.movable.dests=void 0),o.drawable?.autoShapes&&(e.drawable.autoShapes=[]),Ae(e,o),o.fen&&(e.pieces=de(o.fen),e.drawable.shapes=o.drawable?.shapes||[]),"check"in o&&eo(e,o.check||!1),"lastMove"in o&&!o.lastMove?e.lastMove=void 0:o.lastMove&&(e.lastMove=o.lastMove),e.selected&&xe(e,e.selected),Ee(e,o),!e.movable.rookCastle&&e.movable.dests){let t=e.movable.color==="white"?"1":"8",n="e"+t,r=e.movable.dests.get(n),i=e.pieces.get(n);if(!r||!i||i.role!=="king")return;e.movable.dests.set(n,r.filter(c=>!(c==="a"+t&&r.includes("c"+t))&&!(c==="h"+t&&r.includes("g"+t))))}}function Ae(e,o){for(let t in o)t==="__proto__"||t==="constructor"||!Object.prototype.hasOwnProperty.call(o,t)||(Object.prototype.hasOwnProperty.call(e,t)&&so(e[t])&&so(o[t])?Ae(e[t],o[t]):e[t]=o[t])}function so(e){if(typeof e!="object"||e===null)return!1;let o=Object.getPrototypeOf(e);return o===Object.prototype||o===null}var B=(e,o)=>o.animation.enabled?ht(e,o):O(e,o);function O(e,o){let t=e(o);return o.dom.redraw(),t}var Ne=(e,o)=>({key:e,pos:m(e),piece:o}),mt=(e,o)=>o.sort((t,n)=>W(e.pos,t.pos)-W(e.pos,n.pos))[0];function bt(e,o){let t=new Map,n=[],r=new Map,i=[],c=[],p=new Map,d,a,s;for(let[l,f]of e)p.set(l,Ne(l,f));for(let l of Q)d=o.pieces.get(l),a=p.get(l),d?a?Y(d,a.piece)||(i.push(a),c.push(Ne(l,d))):c.push(Ne(l,d)):a&&i.push(a);for(let l of c)a=mt(l,i.filter(f=>Y(l.piece,f.piece))),a&&(s=[a.pos[0]-l.pos[0],a.pos[1]-l.pos[1]],t.set(l.key,s.concat(s)),n.push(a.key));for(let l of i)n.includes(l.key)||r.set(l.key,l.piece);return{anims:t,fadings:r}}function lo(e,o){let t=e.animation.current;if(t===void 0){e.dom.destroyed||e.dom.redrawNow();return}let n=1-(o-t.start)*t.frequency;if(n<=0)e.animation.current=void 0,e.dom.redrawNow();else{let r=vt(n);for(let i of t.plan.anims.values())i[2]=i[0]*r,i[3]=i[1]*r;e.dom.redrawNow(!0),requestAnimationFrame((i=performance.now())=>lo(e,i))}}function ht(e,o){let t=new Map(o.pieces),n=e(o),r=bt(t,o);if(r.anims.size||r.fadings.size){let i=o.animation.current&&o.animation.current.start;o.animation.current={start:performance.now(),frequency:1/o.animation.duration,plan:r},i||lo(o,performance.now())}else o.dom.redraw();return n}var vt=e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1;var yt=["green","red","blue","yellow"];function po(e,o){if(o.touches&&o.touches.length>1)return;o.stopPropagation(),o.preventDefault(),o.ctrlKey?w(e):ee(e);let t=T(o),n=E(t,h(e),e.dom.bounds());n&&(e.drawable.current={orig:n,pos:t,brush:St(o),snapToValidMove:e.drawable.defaultSnapToValidMove},uo(e))}function uo(e){requestAnimationFrame(()=>{let o=e.drawable.current;if(o){let t=E(o.pos,h(e),e.dom.bounds());t||(o.snapToValidMove=!1);let n=o.snapToValidMove?ao(o.orig,o.pos,h(e),e.dom.bounds()):t;n!==o.mouseSq&&(o.mouseSq=n,o.dest=n!==o.orig?n:void 0,e.dom.redrawNow()),uo(e)}})}function go(e,o){e.drawable.current&&(e.drawable.current.pos=T(o))}function fo(e){let o=e.drawable.current;o&&(o.mouseSq&&wt(e.drawable,o),He(e))}function He(e){e.drawable.current&&(e.drawable.current=void 0,e.dom.redraw())}function mo(e){e.drawable.shapes.length&&(e.drawable.shapes=[],e.dom.redraw(),bo(e.drawable))}var ue=(e,o)=>e.orig===o.orig&&e.dest===o.dest,Te=(e,o)=>e.brush===o.brush;function St(e){let o=(e.shiftKey||e.ctrlKey)&&re(e),t=e.altKey||e.metaKey||e.getModifierState?.("AltGraph");return yt[(o?1:0)+(t?2:0)]}function wt(e,o){let t=e.shapes.find(n=>ue(n,o));t&&(e.shapes=e.shapes.filter(n=>!ue(n,o))),(!t||!Te(t,o))&&e.shapes.push({orig:o.orig,dest:o.dest,brush:o.brush}),bo(e)}function bo(e){e.onChange&&e.onChange(e.shapes)}function ho(e,o){if(!(e.trustAllEvents||o.isTrusted)||o.buttons!==void 0&&o.buttons>1||o.touches&&o.touches.length>1)return;let t=e.dom.bounds(),n=T(o),r=E(n,h(e),t);if(!r)return;let i=e.pieces.get(r),c=e.selected;if(!c&&e.drawable.enabled&&(e.drawable.eraseOnMovablePieceClick||!i||i.color!==e.turnColor)&&mo(e),o.cancelable!==!1&&(!o.touches||e.blockTouchScroll||i||c||Mt(e,n)))o.preventDefault();else if(o.touches)return;let p=!!e.premovable.current,d=!!e.predroppable.current;e.stats.ctrlKey=o.ctrlKey,e.selected&&le(e,e.selected,r)?B(l=>J(l,r),e):J(e,r);let a=e.selected===r,s=Po(e,r);if(i&&s&&a&&no(e,r)){e.draggable.current={orig:r,piece:i,origPos:n,pos:n,started:e.draggable.autoDistance&&e.stats.dragged,element:s,previouslySelected:c,originTarget:o.target,keyHasChanged:!1},s.cgDragging=!0,s.classList.add("dragging");let l=e.dom.elements.ghost;l&&(l.className=`ghost ${i.color} ${i.role}`,x(l,$(t)(m(r),h(e))),q(l,!0)),Re(e)}else p&&K(e),d&&D(e);e.dom.redraw()}function Mt(e,o){let t=h(e),n=e.dom.bounds(),r=Math.pow(e.touchIgnoreRadius*n.width/16,2)*2;for(let i of e.pieces.keys()){let c=ie(i,t,n);if(W(c,o)<=r)return!0}return!1}function vo(e,o,t,n){let r="a0";e.pieces.set(r,o),e.dom.redraw();let i=T(t);e.draggable.current={orig:r,piece:o,origPos:i,pos:i,started:!0,element:()=>Po(e,r),originTarget:t.target,newPiece:!0,force:!!n,keyHasChanged:!1},Re(e)}function Re(e){requestAnimationFrame(()=>{let o=e.draggable.current;if(!o)return;e.animation.current?.plan.anims.has(o.orig)&&(e.animation.current=void 0);let t=e.pieces.get(o.orig);if(!t||!Y(t,o.piece))j(e);else if(!o.started&&W(o.pos,o.origPos)>=Math.pow(e.draggable.distance,2)&&(o.started=!0),o.started){if(typeof o.element=="function"){let r=o.element();if(!r)return;r.cgDragging=!0,r.classList.add("dragging"),o.element=r}let n=e.dom.bounds();x(o.element,[o.pos[0]-n.left-n.width/16,o.pos[1]-n.top-n.height/16]),o.keyHasChanged||=o.orig!==E(o.pos,h(e),n)}Re(e)})}function yo(e,o){e.draggable.current&&(!o.touches||o.touches.length<2)&&(e.draggable.current.pos=T(o))}function So(e,o){let t=e.draggable.current;if(!t)return;if(o.type==="touchend"&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchend"&&t.originTarget!==o.target&&!t.newPiece){e.draggable.current=void 0;return}K(e),D(e);let n=T(o)||t.pos,r=E(n,h(e),e.dom.bounds());r&&t.started&&t.orig!==r?t.newPiece?se(e,t.orig,r,t.force):(e.stats.ctrlKey=o.ctrlKey,Me(e,t.orig,r)&&(e.stats.dragged=!0)):t.newPiece?e.pieces.delete(t.orig):e.draggable.deleteOnDropOff&&!r&&(e.pieces.delete(t.orig),P(e.events.change)),(t.orig===t.previouslySelected||t.keyHasChanged)&&(t.orig===r||!r)?w(e):e.selectable.enabled||w(e),wo(e),e.draggable.current=void 0,e.dom.redraw()}function j(e){let o=e.draggable.current;o&&(o.newPiece&&e.pieces.delete(o.orig),e.draggable.current=void 0,w(e),wo(e),e.dom.redraw())}function wo(e){let o=e.dom.elements;o.ghost&&q(o.ghost,!1)}function Po(e,o){let t=e.dom.elements.board.firstChild;for(;t;){if(t.cgKey===o&&t.tagName==="PIECE")return t;t=t.nextSibling}}function xo(e,o){e.exploding={stage:1,keys:o},e.dom.redraw(),setTimeout(()=>{Mo(e,2),setTimeout(()=>Mo(e,void 0),120)},120)}function Mo(e,o){e.exploding&&(o?e.exploding.stage=o:e.exploding=void 0,e.dom.redraw())}function Co(e,o){function t(){Ye(e),o()}return{set(n){n.orientation&&n.orientation!==e.orientation&&t(),Ee(e,n),(n.fen?B:O)(r=>pe(r,n),e)},state:e,getFen:()=>co(e.pieces),toggleOrientation:t,setPieces(n){B(r=>Je(r,n),e)},selectSquare(n,r){n?B(i=>J(i,n,r),e):e.selected&&(w(e),e.dom.redraw())},move(n,r){B(i=>Pe(i,n,r),e)},newPiece(n,r){B(i=>ce(i,n,r),e)},playPremove(){if(e.premovable.current){if(B(ro,e))return!0;e.dom.redraw()}return!1},playPredrop(n){if(e.predroppable.current){let r=io(e,n);return e.dom.redraw(),r}return!1},cancelPremove(){O(K,e)},cancelPredrop(){O(D,e)},cancelMove(){O(n=>{ee(n),j(n)},e)},stop(){O(n=>{ke(n),j(n)},e)},explode(n){xo(e,n)},setAutoShapes(n){O(r=>r.drawable.autoShapes=n,e)},setShapes(n){O(r=>r.drawable.shapes=n.slice(),e)},getKeyAtDomPos(n){return E(n,h(e),e.dom.bounds())},redrawAll:o,dragNewPiece(n,r,i){vo(e,n,r,i)},destroy(){ke(e),e.dom.unbind&&e.dom.unbind(),e.dom.destroyed=!0}}}function ko(){return{pieces:de(De),orientation:"white",turnColor:"white",coordinates:!0,coordinatesOnSquares:!1,ranksPosition:"right",autoCastle:!0,viewOnly:!1,disableContextMenu:!1,addPieceZIndex:!1,blockTouchScroll:!1,touchIgnoreRadius:1,pieceKey:!1,trustAllEvents:!1,highlight:{lastMove:!0,check:!0},animation:{enabled:!0,duration:200},movable:{free:!0,color:"both",showDests:!0,events:{},rookCastle:!0},premovable:{enabled:!0,showDests:!0,castle:!0,additionalPremoveRequirements:e=>!0,events:{}},predroppable:{enabled:!1,events:{}},draggable:{enabled:!0,distance:3,autoDistance:!0,showGhost:!0,deleteOnDropOff:!1},dropmode:{active:!1},selectable:{enabled:!0},stats:{dragged:!("ontouchstart"in window)},events:{},drawable:{enabled:!0,visible:!0,defaultSnapToValidMove:!0,eraseOnMovablePieceClick:!0,shapes:[],autoShapes:[],brushes:{green:{key:"g",color:"#15781B",opacity:1,lineWidth:10},red:{key:"r",color:"#882020",opacity:1,lineWidth:10},blue:{key:"b",color:"#003088",opacity:1,lineWidth:10},yellow:{key:"y",color:"#e68f00",opacity:1,lineWidth:10},paleBlue:{key:"pb",color:"#003088",opacity:.4,lineWidth:15},paleGreen:{key:"pg",color:"#15781B",opacity:.4,lineWidth:15},paleRed:{key:"pr",color:"#882020",opacity:.4,lineWidth:15},paleGrey:{key:"pgr",color:"#4a4a4a",opacity:.35,lineWidth:15},purple:{key:"purple",color:"#68217a",opacity:.65,lineWidth:10},pink:{key:"pink",color:"#ee2080",opacity:.5,lineWidth:10},white:{key:"white",color:"white",opacity:1,lineWidth:10},paleWhite:{key:"pwhite",color:"white",opacity:.6,lineWidth:10}},prevSvgHash:""},hold:ze()}}function Ao(){let e=v("defs"),o=S(v("filter"),{id:"cg-filter-blur"});return o.appendChild(S(v("feGaussianBlur"),{stdDeviation:"0.013"})),e.appendChild(o),e}function No(e,o){let t=e.drawable,n=t.current,r=n&&n.mouseSq?n:void 0,i=new Map,c=e.dom.bounds(),p=t.autoShapes.filter(l=>!l.piece);for(let l of t.shapes.concat(p).concat(r?[r]:[])){if(!l.dest)continue;let f=i.get(l.dest)??new Set,g=fe(ge(m(l.orig),e.orientation),c),u=fe(ge(m(l.dest),e.orientation),c);f.add(Vo(Lo(g,u))),i.set(l.dest,f)}let d=[],a=r?t.shapes.findIndex(l=>ue(l,r)&&Te(l,r)):-1;for(let[l,f]of t.shapes.concat(p).entries()){let g=a!==-1&&a===l;d.push({shape:f,current:!1,pendingErase:g,hash:Ko(f,qe(f.dest,i),!1,c,g,Eo(f.dest,i))})}r&&a===-1&&d.push({shape:r,current:!0,hash:Ko(r,qe(r.dest,i),!0,c,!1,Eo(r.dest,i)),pendingErase:!1});let s=d.map(l=>l.hash).join(";");s!==e.drawable.prevSvgHash&&(e.drawable.prevSvgHash=s,Ct(t,d,o),kt(d,o,l=>Et(e,l,t.brushes,i,c)))}function Ct(e,o,t){for(let n of[t.shapes,t.shapesBelow]){let r=n.querySelector("defs"),i=o.filter(a=>n===t.shapesBelow==!!a.shape.below),c=new Map;for(let a of i.filter(s=>s.shape.dest&&s.shape.brush)){let s=qo(e.brushes[a.shape.brush],a.shape.modifiers),{key:l,color:f}=Bo(a.shape);l&&f&&c.set(l,{key:l,color:f,opacity:1,lineWidth:1}),c.set(s.key,s)}let p=new Set,d=r.firstElementChild;for(;d;)p.add(d.getAttribute("cgKey")),d=d.nextElementSibling;for(let[a,s]of c.entries())p.has(a)||r.appendChild(Ht(s))}}function kt(e,o,t){for(let[n,r]of[[o.shapes,o.custom],[o.shapesBelow,o.customBelow]]){let[i,c]=[n,r].map(a=>a.querySelector("g")),p=e.filter(a=>n===o.shapesBelow==!!a.shape.below),d=new Map;for(let a of p)d.set(a.hash,!1);for(let a of[i,c]){let s=[],l=a.firstElementChild,f;for(;l;)f=l.getAttribute("cgHash"),d.has(f)?d.set(f,!0):s.push(l),l=l.nextElementSibling;for(let g of s)a.removeChild(g)}for(let a of p.filter(s=>!d.get(s.hash)))for(let s of t(a))s.isCustom?c.appendChild(s.el):i.appendChild(s.el)}}function Ko({orig:e,dest:o,brush:t,piece:n,modifiers:r,customSvg:i,label:c,below:p},d,a,s,l,f){return[s.width,s.height,a,l&&"pendingErase",f,e,o,t,d&&"-",n&&Kt(n),r&&Dt(r),i&&`custom-${Do(i.html)},${i.center?.[0]??"o"}`,c&&`label-${Do(c.text)}`,p&&"below"].filter(g=>g).join(",")}var Kt=e=>[e.color,e.role,e.scale].filter(o=>o).join(","),Dt=e=>[e.lineWidth,e.hilite].filter(o=>o).join(",");function Do(e){let o=0;for(let t=0;t<e.length;t++)o=(o<<5)-o+e.charCodeAt(t)>>>0;return o.toString()}function Et(e,{shape:o,current:t,pendingErase:n,hash:r},i,c,p){let d=fe(ge(m(o.orig),e.orientation),p),a=o.dest?fe(ge(m(o.dest),e.orientation),p):d,s=o.brush&&qo(i[o.brush],o.modifiers),l=c.get(o.dest),f=[];if(s){let g=S(v("g"),{cgHash:r});f.push({el:g}),d[0]!==a[0]||d[1]!==a[1]?g.appendChild(Nt(o,s,d,a,t,qe(o.dest,c),n)):g.appendChild(At(i[o.brush],d,t,p,n))}if(o.label){let g=o.label;g.fill??=o.brush&&i[o.brush].color;let u=o.brush?void 0:"tr";f.push({el:Tt(g,r,d,a,l,u),isCustom:!0})}if(o.customSvg){let g=o.customSvg.center??"orig",[u,A]=g==="label"?Go(d,a,l).map(y=>y-.5):g==="dest"?a:d,k=S(v("g"),{transform:`translate(${u},${A})`,cgHash:r});k.innerHTML=`<svg width="1" height="1" viewBox="0 0 100 100">${o.customSvg.html}</svg>`,f.push({el:k,isCustom:!0})}return f}function At(e,o,t,n,r){let i=Rt(),c=(n.width+n.height)/(4*Math.max(n.width,n.height));return S(v("circle"),{stroke:e.color,"stroke-width":i[t?0:1],fill:"none",opacity:Oo(e,t,r),cx:o[0],cy:o[1],r:c-i[1]/2})}function Nt(e,o,t,n,r,i,c){function p(s){let l=Bt(i&&!r),f=n[0]-t[0],g=n[1]-t[1],u=Math.atan2(g,f),A=Math.cos(u)*l,k=Math.sin(u)*l,y=Bo(e);return S(v("line"),{stroke:s?y.color:o.color,"stroke-width":qt(o,r)*(s?1.14:1),"stroke-linecap":"round","marker-end":`url(#arrowhead-${s?y.key:o.key})`,opacity:e.modifiers?.hilite&&!c?1:Oo(o,r,c),x1:t[0],y1:t[1],x2:n[0]-A,y2:n[1]-k})}if(!e.modifiers?.hilite)return p(!1);let d=S(v("g"),{opacity:o.opacity}),a=S(v("g"),{filter:"url(#cg-filter-blur)"});return a.appendChild(Ot(t,n)),a.appendChild(p(!0)),d.appendChild(a),d.appendChild(p(!1)),d}function Ht(e){let o=S(v("marker"),{id:"arrowhead-"+e.key,orient:"auto",overflow:"visible",markerWidth:4,markerHeight:4,refX:e.key.startsWith("hilite")?1.86:2.05,refY:2});return o.appendChild(S(v("path"),{d:"M0,0 V4 L3,2 Z",fill:e.color})),o.setAttribute("cgKey",e.key),o}function Tt(e,o,t,n,r,i){let p=.4*.75**e.text.length,d=Go(t,n,r),a=i==="tr"?.4:0,s=S(v("g"),{transform:`translate(${d[0]+a},${d[1]-a})`,cgHash:o});s.appendChild(S(v("circle"),{r:.4/2,"fill-opacity":i?1:.8,"stroke-opacity":i?1:.7,"stroke-width":.03,fill:e.fill??"#666",stroke:"white"}));let l=S(v("text"),{"font-size":p,"font-family":"Noto Sans","text-anchor":"middle",fill:"white",y:.13*.75**e.text.length});return l.innerHTML=e.text,s.appendChild(l),s}var ge=(e,o)=>o==="white"?e:[7-e[0],7-e[1]],Ho=(e,o)=>(e%o+o)%o,To=(e,o)=>Ho(e+o,16),Ro=e=>[...e].some(o=>[-3,-2,-1,1,2,3].some(t=>e.has(To(o,t)))),qe=(e,o)=>!!e&&o.has(e)&&Ro(o.get(e)),v=e=>document.createElementNS("http://www.w3.org/2000/svg",e),Eo=(e,o)=>e&&o.has(e)?o.get(e).size:0;function S(e,o){for(let t in o)Object.prototype.hasOwnProperty.call(o,t)&&e.setAttribute(t,o[t]);return e}var qo=(e,o)=>o?{color:e.color,opacity:Math.round(e.opacity*10)/10,lineWidth:Math.round(o.lineWidth||e.lineWidth),key:[e.key,o.lineWidth].filter(t=>t).join("")}:e,Rt=()=>[3/64,4/64],qt=(e,o)=>(e.lineWidth||10)*(o?.85:1)/64;function Bo(e){let o=e.modifiers?.hilite;return{key:o&&`hilite-${o.replace("#","")}`,color:o}}var Oo=(e,o,t)=>(e.opacity||1)*(t?.6:o?.9:1),Bt=e=>(e?20:10)/64;function fe(e,o){let t=Math.min(1,o.width/o.height),n=Math.min(1,o.height/o.width);return[(e[0]-3.5)*t,(3.5-e[1])*n]}function Ot(e,o){let t={from:[Math.floor(Math.min(e[0],o[0])),Math.floor(Math.min(e[1],o[1]))],to:[Math.ceil(Math.max(e[0],o[0])),Math.ceil(Math.max(e[1],o[1]))]};return S(v("rect"),{x:t.from[0],y:t.from[1],width:t.to[0]-t.from[0],height:t.to[1]-t.from[1],fill:"none",stroke:"none"})}var Vo=e=>Ho(Math.round(e*8/Math.PI),16),Lo=(e,o)=>Math.atan2(o[1]-e[1],o[0]-e[0])+Math.PI,Vt=(e,o)=>Math.sqrt([e[0]-o[0],e[1]-o[1]].reduce((t,n)=>t+n*n,0));function Go(e,o,t){let n=Vt(e,o),r=Lo(e,o);if(t&&(n-=33/64,Ro(t))){n-=10/64;let i=Vo(r);i&1&&[-1,1].some(c=>t.has(To(i,c)))&&(n-=.4)}return[e[0]-Math.cos(r)*n,e[1]-Math.sin(r)*n].map(i=>i+.5)}function Wo(e,o){e.innerHTML="",e.classList.add("cg-wrap");for(let s of Ge)e.classList.toggle("orientation-"+s,o.orientation===s);e.classList.toggle("manipulable",!o.viewOnly);let t=C("cg-container");e.appendChild(t);let n=C("cg-board");t.appendChild(n);let r,i,c,p,d;if(o.drawable.visible&&([r,i]=["cg-shapes-below","cg-shapes"].map(s=>Fo(s,!0)),[c,p]=["cg-custom-below","cg-custom-svgs"].map(s=>Fo(s,!1)),d=C("cg-auto-pieces"),t.appendChild(r),t.appendChild(c),t.appendChild(i),t.appendChild(p),t.appendChild(d)),o.coordinates){let s=o.orientation==="black"?" black":"",l=o.ranksPosition==="left"?" left":"";if(o.coordinatesOnSquares){let f=o.orientation==="white"?g=>g+1:g=>8-g;I.forEach((g,u)=>t.appendChild(Be(U.map(A=>g+A),"squares rank"+f(u)+s+l,u%2===0?"black":"white")))}else t.appendChild(Be(U,"ranks"+s+l,o.ranksPosition==="right"==(o.orientation==="white")?"white":"black")),t.appendChild(Be(I,"files"+s,F(o.orientation)))}let a;return o.draggable.enabled&&o.draggable.showGhost&&(a=C("piece","ghost"),q(a,!1),t.appendChild(a)),{board:n,container:t,wrap:e,ghost:a,shapes:i,shapesBelow:r,custom:p,customBelow:c,autoPieces:d}}function Fo(e,o){let t=S(v("svg"),{class:e,viewBox:o?"-4 -4 8 8":"-3.5 -3.5 8 8",preserveAspectRatio:"xMidYMid slice"});return o&&t.appendChild(Ao()),t.appendChild(v("g")),t}function Be(e,o,t){let n=C("coords",o),r;return e.forEach((i,c)=>{let p=c%2===(t==="white"?0:1);r=C("coord",`coord-${p?"light":"dark"}`),r.textContent=i,n.appendChild(r)}),n}function $o(e,o){if(!e.dropmode.active)return;K(e),D(e);let t=e.dropmode.piece;if(t){e.pieces.set("a0",t);let n=T(o),r=n&&E(n,h(e),e.dom.bounds());r&&se(e,"a0",r)}e.dom.redraw()}function Io(e,o){let t=e.dom.elements.board;if("ResizeObserver"in window&&new ResizeObserver(o).observe(e.dom.elements.wrap),(e.disableContextMenu||e.drawable.enabled)&&t.addEventListener("contextmenu",r=>r.preventDefault()),e.viewOnly)return;let n=Gt(e);t.addEventListener("touchstart",n,{passive:!1}),t.addEventListener("mousedown",n,{passive:!1})}function jo(e,o){let t=[];if("ResizeObserver"in window||t.push(oe(document.body,"chessground.resize",o)),!e.viewOnly){let n=zo(e,yo,go),r=zo(e,So,fo);for(let c of["touchmove","mousemove"])t.push(oe(document,c,n));for(let c of["touchend","mouseup"])t.push(oe(document,c,r));let i=()=>e.dom.bounds.clear();t.push(oe(document,"scroll",i,{capture:!0,passive:!0})),t.push(oe(window,"resize",i,{passive:!0}))}return()=>t.forEach(n=>n())}function oe(e,o,t,n){return e.addEventListener(o,t,n),()=>e.removeEventListener(o,t,n)}var Gt=e=>o=>{e.draggable.current?j(e):e.drawable.current?He(e):o.shiftKey||re(o)?e.drawable.enabled&&po(e,o):e.viewOnly||(e.dropmode.active?$o(e,o):ho(e,o))},zo=(e,o,t)=>n=>{e.drawable.current?e.drawable.enabled&&t(e,n):e.viewOnly||o(e,n)};function Uo(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.board,r=e.pieces,i=e.animation.current,c=i?i.plan.anims:new Map,p=i?i.plan.fadings:new Map,d=e.draggable.current,a=new Set,s=new Map,l=zt(e),f=new Map,g,u,A,k,y,_,me,N,X;for(u=n.firstChild;u;){if(g=u.cgKey,_o(u))if(A=r.get(g),y=c.get(g),_=p.get(g),k=u.cgPiece,u.cgDragging&&(!d||d.orig!==g)&&(u.classList.remove("dragging"),x(u,t(m(g),o)),u.cgDragging=!1),!_&&u.cgFading&&(u.cgFading=!1,u.classList.remove("fading")),A){if(y&&u.cgAnimating&&k===te(A)){let b=m(g);b[0]+=y[2],b[1]+=y[3],u.classList.add("anim"),x(u,t(b,o))}else u.cgAnimating&&(u.cgAnimating=!1,u.classList.remove("anim"),x(u,t(m(g),o)),e.addPieceZIndex&&(u.style.zIndex=Oe(m(g),o)));k===te(A)&&(!_||!u.cgFading)?a.add(g):_&&k===te(_)?(u.classList.add("fading"),u.cgFading=!0):Ve(s,k,u)}else Ve(s,k,u);else if(Xo(u)){let b=u.className;l.get(g)===b?(q(u,!0),l.delete(g)):Ve(f,b,u)}u=u.nextSibling}for(let[b,z]of l){X=f.get(z)?.pop();let M=t(m(b),o);if(X)X.cgKey=b,x(X,M),q(X,!0);else{let H=C("square",z);H.cgKey=b,x(H,M),n.insertBefore(H,n.firstChild)}}for(let[b,z]of f.entries())for(let M of z)q(M,!1);for(let[b,z]of r)if(y=c.get(b),!a.has(b))if(me=s.get(te(z)),N=me&&me.pop(),N){N.cgKey=b,N.cgFading&&(N.classList.remove("fading"),N.cgFading=!1);let M=m(b);e.addPieceZIndex&&(N.style.zIndex=Oe(M,o)),y&&(N.cgAnimating=!0,N.classList.add("anim"),M[0]+=y[2],M[1]+=y[3]),x(N,t(M,o))}else{let M=te(z),H=C("piece",M),ne=m(b);H.cgPiece=M,H.cgKey=b,y&&(H.cgAnimating=!0,ne[0]+=y[2],ne[1]+=y[3]),x(H,t(ne,o)),e.addPieceZIndex&&(H.style.zIndex=Oe(ne,o)),n.appendChild(H)}for(let b of s.values())Wt(e,b)}function Zo(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.board.firstChild;for(;n;)(_o(n)&&!n.cgAnimating||Xo(n))&&x(n,t(m(n.cgKey),o)),n=n.nextSibling}function Le(e){let o=e.dom.elements.wrap.getBoundingClientRect(),t=e.dom.elements.container,n=o.height/o.width,r=Math.floor(o.width*window.devicePixelRatio/8)*8/window.devicePixelRatio,i=r*n;t.style.width=r+"px",t.style.height=i+"px",e.dom.bounds.clear(),e.addDimensionsCssVarsTo?.style.setProperty("---cg-width",r+"px"),e.addDimensionsCssVarsTo?.style.setProperty("---cg-height",i+"px")}var _o=e=>e.tagName==="PIECE",Xo=e=>e.tagName==="SQUARE";function Wt(e,o){for(let t of o)e.dom.elements.board.removeChild(t)}function Oe(e,o){let n=e[1];return`${o?10-n:3+n}`}var te=e=>`${e.color} ${e.role}`,$t=(e,o)=>e.lastMove?.[1]&&!e.pieces.has(e.lastMove[1])&&e.lastMove[0][0]==="e"&&["h","a"].includes(e.lastMove[1][0])&&e.lastMove[0][1]===e.lastMove[1][1]&&_e(...m(e.lastMove[0]),...m(e.lastMove[1])).some(t=>e.pieces.has(t))?(o>e.lastMove[0]?"g":"c")+o[1]:o;function zt(e){let o=new Map;if(e.lastMove&&e.highlight.lastMove)for(let[r,i]of e.lastMove.entries())V(o,r===1?$t(e,i):i,"last-move");if(e.check&&e.highlight.check&&V(o,e.check,"check"),e.selected&&(V(o,e.selected,"selected"),e.movable.showDests)){for(let r of e.movable.dests?.get(e.selected)??[])V(o,r,"move-dest"+(e.pieces.has(r)?" oc":""));for(let r of e.premovable.customDests?.get(e.selected)??e.premovable.dests??[])V(o,r,"premove-dest"+(e.pieces.has(r)?" oc":""))}let t=e.premovable.current;if(t)for(let r of t)V(o,r,"current-premove");else e.predroppable.current&&V(o,e.predroppable.current.key,"current-premove");let n=e.exploding;if(n)for(let r of n.keys)V(o,r,"exploding"+n.stage);return e.highlight.custom&&e.highlight.custom.forEach((r,i)=>{V(o,i,r)}),o}function V(e,o,t){let n=e.get(o);n?e.set(o,`${n} ${t}`):e.set(o,t)}function Ve(e,o,t){let n=e.get(o);n?n.push(t):e.set(o,[t])}function Qo(e,o,t){let n=new Map,r=[];for(let p of e)n.set(p.hash,!1);let i=o.firstElementChild,c;for(;i;)c=i.getAttribute("cgHash"),n.has(c)?n.set(c,!0):r.push(i),i=i.nextElementSibling;for(let p of r)o.removeChild(p);for(let p of e)n.get(p.hash)||o.appendChild(t(p))}function Yo(e,o){let n=e.drawable.autoShapes.filter(r=>r.piece).map(r=>({shape:r,hash:jt(r),current:!1,pendingErase:!1}));Qo(n,o,r=>It(e,r,e.dom.bounds()))}function Jo(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.autoPieces?.firstChild;for(;n;)ve(n,t(m(n.cgKey),o),n.cgScale),n=n.nextSibling}function It(e,{shape:o,hash:t},n){let r=o.orig,i=o.piece?.role,c=o.piece?.color,p=o.piece?.scale,d=C("piece",`${i} ${c}`);return d.setAttribute("cgHash",t),d.cgKey=r,d.cgScale=p,ve(d,$(n)(m(r),h(e)),p),d}var jt=e=>[e.orig,e.piece?.role,e.piece?.color,e.piece?.scale].join(",");function or({el:e,config:o}){return Zt(e,o)}function Zt(e,o){let t=ko();pe(t,o||{});function n(){let r="dom"in t?t.dom.unbind:void 0,i=Wo(e,t),c=he(()=>i.board.getBoundingClientRect()),p=s=>{Uo(a),i.autoPieces&&Yo(a,i.autoPieces),!s&&i.shapes&&No(a,i)},d=()=>{Le(a),Zo(a),i.autoPieces&&Jo(a)},a=t;return a.dom={elements:i,bounds:c,redraw:_t(p),redrawNow:p,unbind:r},a.drawable.prevSvgHash="",Le(a),p(!1),Io(a,d),r||(a.dom.unbind=jo(a,d)),a.events.insert&&a.events.insert(i),a}return Co(n(),n)}function _t(e){let o=!1;return()=>{o||(o=!0,requestAnimationFrame(()=>{e(),o=!1}))}}export{Zt as Chessground,or as initModule};
1
+ var Fe=["white","black"];var I=["a","b","c","d","e","f","g","h"],Z=["1","2","3","4","5","6","7","8"];var $e=[...Z].reverse(),Q=I.flatMap(e=>Z.map(o=>e+o)),L=e=>e.every(o=>o>=0&&o<=7)?Q[8*e[0]+e[1]]:void 0,G=e=>L(e),m=e=>[e.charCodeAt(0)-97,e.charCodeAt(1)-49];var be=Q.map(m),ze=Q.map((e,o)=>({key:e,pos:be[o]}));function he(e){let o,t=()=>(o===void 0&&(o=e()),o);return t.clear=()=>{o=void 0},t}var Ie=()=>{let e;return{start(){e=performance.now()},cancel(){e=void 0},stop(){if(!e)return 0;let o=performance.now()-e;return e=void 0,o}}},F=e=>e==="white"?"black":"white",W=(e,o)=>(e[0]-o[0])**2+(e[1]-o[1])**2,Y=(e,o)=>e.role===o.role&&e.color===o.color,je=(e,o)=>e[0]===o[0]&&e[1]===o[1],$=e=>(o,t)=>[(t?o[0]:7-o[0])*e.width/8,(t?7-o[1]:o[1])*e.height/8],x=(e,o)=>{e.style.transform=`translate(${o[0]}px,${o[1]}px)`},ve=(e,o,t=1)=>{e.style.transform=`translate(${o[0]}px,${o[1]}px) scale(${t})`},R=(e,o)=>{e.style.visibility=o?"visible":"hidden"},T=e=>{if(e.clientX||e.clientX===0)return[e.clientX,e.clientY];if(e.targetTouches?.[0])return[e.targetTouches[0].clientX,e.targetTouches[0].clientY]},ot=he(()=>!("ontouchstart"in window)&&["macintosh","firefox"].every(e=>navigator.userAgent.toLowerCase().includes(e))),re=e=>e.button===2&&!(e.ctrlKey&&ot()),C=(e,o)=>{let t=document.createElement(e);return o&&(t.className=o),t};function ie(e,o,t){let n=m(e);return o||(n[0]=7-n[0],n[1]=7-n[1]),[t.left+t.width*n[0]/8+t.width/16,t.top+t.height*(7-n[1])/8+t.height/16]}var q=(e,o)=>Math.abs(e-o),ae=(e,o,t,n)=>q(e,t)*q(o,n)===2,ye=(e,o,t,n)=>e===t!=(o===n),Se=(e,o,t,n)=>q(e,t)===q(o,n)&&e!==t,Ue=(e,o,t,n)=>ye(e,o,t,n)||Se(e,o,t,n),Ze=(e,o,t,n)=>Math.max(q(e,t),q(o,n))===1;var _e=(e,o,t,n,r)=>{let i=r?1:-1;return e===t&&(n===o+i||n===o+2*i&&(r?o<=1:o>=6))},Xe=(e,o,t,n)=>{let r=t-e,i=n-o;if(r&&i&&Math.abs(r)!==Math.abs(i))return[];let s=Math.sign(r),p=Math.sign(i),d=[],a=e+s,c=o+p;for(;a!==t||c!==n;)d.push([a,c]),a+=s,c+=p;return d.map(L).filter(l=>l!==void 0)};var tt=e=>q(e.orig.pos[0],e.dest.pos[0])<=1&&(q(e.orig.pos[0],e.dest.pos[0])===1?e.dest.pos[1]===e.orig.pos[1]+(e.color==="white"?1:-1):_e(...e.orig.pos,...e.dest.pos,e.color==="white")),nt=e=>ae(...e.orig.pos,...e.dest.pos),Qe=e=>Se(...e.orig.pos,...e.dest.pos),Ye=e=>ye(...e.orig.pos,...e.dest.pos),rt=e=>Qe(e)||Ye(e),it=e=>Ze(...e.orig.pos,...e.dest.pos)||e.orig.pos[1]===e.dest.pos[1]&&e.orig.pos[1]===(e.color==="white"?0:7)&&(e.orig.pos[0]===4&&(e.dest.pos[0]===2&&e.rookFilesFriendlies.includes(0)||e.dest.pos[0]===6&&e.rookFilesFriendlies.includes(7))||e.rookFilesFriendlies.includes(e.dest.pos[0])),at={pawn:tt,knight:nt,bishop:Qe,rook:Ye,queen:rt,king:it};function we(e,o){let t=e.pieces,n=t.get(o);if(!n||n.color===e.turnColor)return[];let r=n.color,i=new Map([...t].filter(([c,l])=>l.color===r)),s=new Map([...t].filter(([c,l])=>l.color===F(r))),p={key:o,pos:m(o)},d=c=>at[n.role](c)&&e.premovable.additionalPremoveRequirements(c),a={orig:p,role:n.role,allPieces:t,friendlies:i,enemies:s,color:r,rookFilesFriendlies:Array.from(t).filter(([c,l])=>c[1]===(r==="white"?"1":"8")&&l.color===r&&l.role==="rook").map(([c])=>m(c)[0]),lastMove:e.lastMove};return ze.filter(c=>d({...a,dest:c})).map(c=>c.key)}function P(e,...o){e&&setTimeout(()=>e(...o),1)}function Je(e){e.orientation=F(e.orientation),e.animation.current=e.draggable.current=e.selected=void 0}function eo(e,o){for(let[t,n]of o)n?e.pieces.set(t,n):e.pieces.delete(t)}function oo(e,o){if(e.check=void 0,o===!0&&(o=e.turnColor),o)for(let[t,n]of e.pieces)n.role==="king"&&n.color===o&&(e.check=t)}function st(e,o,t,n){A(e),e.premovable.current=[o,t],P(e.premovable.events.set,o,t,n)}function E(e){e.premovable.current&&(e.premovable.current=void 0,P(e.premovable.events.unset))}function ct(e,o,t){E(e),e.predroppable.current={role:o,key:t},P(e.predroppable.events.set,o,t)}function A(e){let o=e.predroppable;o.current&&(o.current=void 0,P(o.events.unset))}function lt(e,o,t){if(!e.autoCastle)return!1;let n=e.pieces.get(o);if(!n||n.role!=="king")return!1;let r=m(o),i=m(t);if(r[1]!==0&&r[1]!==7||r[1]!==i[1])return!1;r[0]===4&&!e.pieces.has(t)&&(i[0]===6?t=G([7,i[1]]):i[0]===2&&(t=G([0,i[1]])));let s=e.pieces.get(t);return!s||s.color!==n.color||s.role!=="rook"?!1:(e.pieces.delete(o),e.pieces.delete(t),r[0]<i[0]?(e.pieces.set(G([6,i[1]]),n),e.pieces.set(G([5,i[1]]),s)):(e.pieces.set(G([2,i[1]]),n),e.pieces.set(G([3,i[1]]),s)),!0)}function Pe(e,o,t){let n=e.pieces.get(o),r=e.pieces.get(t);if(o===t||!n)return!1;let i=r&&r.color!==n.color?r:void 0;return t===e.selected&&w(e),P(e.events.move,o,t,i),lt(e,o,t)||(e.pieces.set(t,n),e.pieces.delete(o)),e.lastMove=[o,t],e.check=void 0,P(e.events.change),i||!0}function se(e,o,t,n){if(e.pieces.has(t))if(n)e.pieces.delete(t);else return!1;return P(e.events.dropNewPiece,o,t),e.pieces.set(t,o),e.lastMove=[t],e.check=void 0,P(e.events.change),e.movable.dests=void 0,e.turnColor=F(e.turnColor),!0}function to(e,o,t){let n=Pe(e,o,t);return n&&(e.movable.dests=void 0,e.turnColor=F(e.turnColor),e.animation.current=void 0),n}function Me(e,o,t){if(le(e,o,t)){let n=to(e,o,t);if(n){let r=e.hold.stop();w(e);let i={premove:!1,ctrlKey:e.stats.ctrlKey,holdTime:r};return n!==!0&&(i.captured=n),P(e.movable.events.after,o,t,i),!0}}else if(pt(e,o,t))return st(e,o,t,{ctrlKey:e.stats.ctrlKey}),w(e),!0;return w(e),!1}function ce(e,o,t,n){let r=e.pieces.get(o);r&&(dt(e,o,t)||n)?(e.pieces.delete(o),se(e,r,t,n),P(e.movable.events.afterNewPiece,r.role,t,{premove:!1,predrop:!1})):r&&ut(e,o,t)?ct(e,r.role,t):(E(e),A(e)),e.pieces.delete(o),w(e)}function J(e,o,t){if(P(e.events.select,o),e.selected){if(e.selected===o&&!e.draggable.enabled){w(e),e.hold.cancel();return}else if((e.selectable.enabled||t)&&e.selected!==o&&Me(e,e.selected,o)){e.stats.dragged=!1;return}}(e.selectable.enabled||e.draggable.enabled)&&(no(e,o)||Ce(e,o))&&(xe(e,o),e.hold.start())}function xe(e,o){e.selected=o,Ce(e,o)?e.premovable.customDests||(e.premovable.dests=we(e,o)):e.premovable.dests=void 0}function w(e){e.selected=void 0,e.premovable.dests=void 0,e.hold.cancel()}function no(e,o){let t=e.pieces.get(o);return!!t&&(e.movable.color==="both"||e.movable.color===t.color&&e.turnColor===t.color)}var le=(e,o,t)=>o!==t&&no(e,o)&&(e.movable.free||!!e.movable.dests?.get(o)?.includes(t));function dt(e,o,t){let n=e.pieces.get(o);return!!n&&(o===t||!e.pieces.has(t))&&(e.movable.color==="both"||e.movable.color===n.color&&e.turnColor===n.color)}function Ce(e,o){let t=e.pieces.get(o);return!!t&&e.premovable.enabled&&e.movable.color===t.color&&e.turnColor!==t.color}var pt=(e,o,t)=>o!==t&&Ce(e,o)&&(e.premovable.customDests?.get(o)??we(e,o)).includes(t);function ut(e,o,t){let n=e.pieces.get(o),r=e.pieces.get(t);return!!n&&(!r||r.color!==e.movable.color)&&e.predroppable.enabled&&(n.role!=="pawn"||t[1]!=="1"&&t[1]!=="8")&&e.movable.color===n.color&&e.turnColor!==n.color}function ro(e,o){let t=e.pieces.get(o);return!!t&&e.draggable.enabled&&(e.movable.color==="both"||e.movable.color===t.color&&(e.turnColor===t.color||e.premovable.enabled))}function io(e){let o=e.premovable.current;if(!o)return!1;let t=o[0],n=o[1],r=!1;if(le(e,t,n)){let i=to(e,t,n);if(i){let s={premove:!0};i!==!0&&(s.captured=i),P(e.movable.events.after,t,n,s),r=!0}}return E(e),r}function ao(e,o){let t=e.predroppable.current,n=!1;if(!t)return!1;if(o(t)){let r={role:t.role,color:e.movable.color};se(e,r,t.key)&&(P(e.movable.events.afterNewPiece,t.role,t.key,{premove:!1,predrop:!0}),n=!0)}return A(e),n}function ee(e){E(e),A(e),w(e)}function ke(e){e.movable.color=e.movable.dests=e.animation.current=void 0,ee(e)}function k(e,o,t){let n=Math.floor(8*(e[0]-t.left)/t.width);o||(n=7-n);let r=7-Math.floor(8*(e[1]-t.top)/t.height);return o||(r=7-r),n>=0&&n<8&&r>=0&&r<8?L([n,r]):void 0}function so(e,o,t,n){let r=m(e),i=be.filter(a=>je(r,a)||Ue(r[0],r[1],a[0],a[1])||ae(r[0],r[1],a[0],a[1])),p=i.map(a=>ie(G(a),t,n)).map(a=>W(o,a)),[,d]=p.reduce((a,c,l)=>a[0]<c?a:[c,l],[p[0],0]);return L(i[d])}var h=e=>e.orientation==="white";var De="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR",gt={p:"pawn",r:"rook",n:"knight",b:"bishop",q:"queen",k:"king"},ft={pawn:"p",rook:"r",knight:"n",bishop:"b",queen:"q",king:"k"};function de(e){e==="start"&&(e=De);let o=new Map,t=7,n=0;for(let r of e)switch(r){case" ":case"[":return o;case"/":if(--t,t<0)return o;n=0;break;case"~":{let i=L([n-1,t]),s=i&&o.get(i);s&&(s.promoted=!0);break}default:{let i=r.charCodeAt(0);if(i<57)n+=i-48;else{let s=r.toLowerCase(),p=L([n,t]);p&&o.set(p,{role:gt[s],color:r===s?"black":"white"}),++n}}}return o}function co(e){return $e.map(o=>I.map(t=>{let n=e.get(t+o);if(n){let r=ft[n.role];return n.color==="white"&&(r=r.toUpperCase()),n.promoted&&(r+="~"),r}else return"1"}).join("")).join("/").replace(/1{2,}/g,o=>o.length.toString())}function Ee(e,o){o.animation&&(Ae(e.animation,o.animation),(e.animation.duration||0)<70&&(e.animation.enabled=!1))}function pe(e,o){if(o.movable?.dests&&(e.movable.dests=void 0),o.drawable?.autoShapes&&(e.drawable.autoShapes=[]),Ae(e,o),o.fen&&(e.pieces=de(o.fen),e.drawable.shapes=o.drawable?.shapes||[]),"check"in o&&oo(e,o.check||!1),"lastMove"in o&&!o.lastMove?e.lastMove=void 0:o.lastMove&&(e.lastMove=o.lastMove),e.selected&&xe(e,e.selected),Ee(e,o),!e.movable.rookCastle&&e.movable.dests){let t=e.movable.color==="white"?"1":"8",n="e"+t,r=e.movable.dests.get(n),i=e.pieces.get(n);if(!r||!i||i.role!=="king")return;e.movable.dests.set(n,r.filter(s=>!(s==="a"+t&&r.includes("c"+t))&&!(s==="h"+t&&r.includes("g"+t))))}}function Ae(e,o){for(let t in o)t==="__proto__"||t==="constructor"||!Object.prototype.hasOwnProperty.call(o,t)||(Object.prototype.hasOwnProperty.call(e,t)&&lo(e[t])&&lo(o[t])?Ae(e[t],o[t]):e[t]=o[t])}function lo(e){if(typeof e!="object"||e===null)return!1;let o=Object.getPrototypeOf(e);return o===Object.prototype||o===null}var V=(e,o)=>o.animation.enabled?vt(e,o):O(e,o);function O(e,o){let t=e(o);return o.dom.redraw(),t}var Ne=(e,o)=>({key:e,pos:m(e),piece:o}),bt=(e,o)=>o.sort((t,n)=>W(e.pos,t.pos)-W(e.pos,n.pos))[0];function ht(e,o){let t=new Map,n=[],r=new Map,i=[],s=[],p=new Map,d,a,c;for(let[l,f]of e)p.set(l,Ne(l,f));for(let l of Q)d=o.pieces.get(l),a=p.get(l),d?a?Y(d,a.piece)||(i.push(a),s.push(Ne(l,d))):s.push(Ne(l,d)):a&&i.push(a);for(let l of s)a=bt(l,i.filter(f=>Y(l.piece,f.piece))),a&&(c=[a.pos[0]-l.pos[0],a.pos[1]-l.pos[1]],t.set(l.key,c.concat(c)),n.push(a.key));for(let l of i)n.includes(l.key)||r.set(l.key,l.piece);return{anims:t,fadings:r}}function po(e,o){let t=e.animation.current;if(t===void 0){e.dom.destroyed||e.dom.redrawNow();return}let n=1-(o-t.start)*t.frequency;if(n<=0)e.animation.current=void 0,e.dom.redrawNow();else{let r=yt(n);for(let i of t.plan.anims.values())i[2]=i[0]*r,i[3]=i[1]*r;e.dom.redrawNow(!0),requestAnimationFrame((i=performance.now())=>po(e,i))}}function vt(e,o){let t=new Map(o.pieces),n=e(o),r=ht(t,o);if(r.anims.size||r.fadings.size){let i=o.animation.current&&o.animation.current.start;o.animation.current={start:performance.now(),frequency:1/o.animation.duration,plan:r},i||po(o,performance.now())}else o.dom.redraw();return n}var yt=e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1;var St=["green","red","blue","yellow"];function uo(e,o){if(o.touches&&o.touches.length>1)return;o.stopPropagation(),o.preventDefault(),o.ctrlKey?w(e):ee(e);let t=T(o),n=k(t,h(e),e.dom.bounds());n&&(e.drawable.current={orig:n,pos:t,brush:wt(o),snapToValidMove:e.drawable.defaultSnapToValidMove},go(e))}function go(e){requestAnimationFrame(()=>{let o=e.drawable.current;if(o){let t=k(o.pos,h(e),e.dom.bounds());t||(o.snapToValidMove=!1);let n=o.snapToValidMove?so(o.orig,o.pos,h(e),e.dom.bounds()):t;n!==o.mouseSq&&(o.mouseSq=n,o.dest=n!==o.orig?n:void 0,e.dom.redrawNow()),go(e)}})}function fo(e,o){e.drawable.current&&(e.drawable.current.pos=T(o))}function mo(e){let o=e.drawable.current;o&&(o.mouseSq&&Pt(e.drawable,o),He(e))}function He(e){e.drawable.current&&(e.drawable.current=void 0,e.dom.redraw())}function bo(e){e.drawable.shapes.length&&(e.drawable.shapes=[],e.dom.redraw(),ho(e.drawable))}var ue=(e,o)=>e.orig===o.orig&&e.dest===o.dest,Te=(e,o)=>e.brush===o.brush;function wt(e){let o=(e.shiftKey||e.ctrlKey)&&re(e),t=e.altKey||e.metaKey||e.getModifierState?.("AltGraph");return St[(o?1:0)+(t?2:0)]}function Pt(e,o){let t=e.shapes.find(n=>ue(n,o));t&&(e.shapes=e.shapes.filter(n=>!ue(n,o))),(!t||!Te(t,o))&&e.shapes.push({orig:o.orig,dest:o.dest,brush:o.brush}),ho(e)}function ho(e){e.onChange&&e.onChange(e.shapes)}function vo(e,o){if(!(e.trustAllEvents||o.isTrusted)||o.buttons!==void 0&&o.buttons>1||o.touches&&o.touches.length>1)return;let t=e.dom.bounds(),n=T(o),r=k(n,h(e),t);if(!r)return;let i=e.pieces.get(r),s=e.selected;if(!s&&e.drawable.enabled&&(e.drawable.eraseOnMovablePieceClick||!i||i.color!==e.turnColor)&&bo(e),o.cancelable!==!1&&(!o.touches||e.blockTouchScroll||i||s||xt(e,n)))o.preventDefault();else if(o.touches)return;let p=!!e.premovable.current,d=!!e.predroppable.current;e.stats.ctrlKey=o.ctrlKey,e.selected&&le(e,e.selected,r)?V(l=>J(l,r),e):J(e,r);let a=e.selected===r,c=Mo(e,r);if(i&&c&&a&&ro(e,r)){e.draggable.current={orig:r,piece:i,origPos:n,pos:n,started:e.draggable.autoDistance&&e.stats.dragged,element:c,previouslySelected:s,originTarget:o.target,keyHasChanged:!1},c.cgDragging=!0,c.classList.add("dragging");let l=e.dom.elements.ghost;l&&(l.className=`ghost ${i.color} ${i.role}`,x(l,$(t)(m(r),h(e))),R(l,!0)),Re(e)}else p&&E(e),d&&A(e);e.dom.redraw()}function xt(e,o){let t=h(e),n=e.dom.bounds(),r=Math.pow(e.touchIgnoreRadius*n.width/16,2)*2;for(let i of e.pieces.keys()){let s=ie(i,t,n);if(W(s,o)<=r)return!0}return!1}function yo(e,o,t,n){let r="a0";e.pieces.set(r,o),e.dom.redraw();let i=T(t);e.draggable.current={orig:r,piece:o,origPos:i,pos:i,started:!0,element:()=>Mo(e,r),originTarget:t.target,newPiece:!0,force:!!n,keyHasChanged:!1},Re(e)}function Re(e){requestAnimationFrame(()=>{let o=e.draggable.current;if(!o)return;e.animation.current?.plan.anims.has(o.orig)&&(e.animation.current=void 0);let t=e.pieces.get(o.orig);if(!t||!Y(t,o.piece))j(e);else if(!o.started&&W(o.pos,o.origPos)>=Math.pow(e.draggable.distance,2)&&(o.started=!0),o.started){if(typeof o.element=="function"){let r=o.element();if(!r)return;r.cgDragging=!0,r.classList.add("dragging"),o.element=r}let n=e.dom.bounds();x(o.element,[o.pos[0]-n.left-n.width/16,o.pos[1]-n.top-n.height/16]),e.jsHover?Ct(e,o):o.keyHasChanged||=o.orig!==k(o.pos,h(e),n)}Re(e)})}function Ct(e,o){let t=k(o.pos,h(e),e.dom.bounds());if(o.orig!==t){if(o.keyHasChanged=!0,t)if(e.movable.dests?.get(o.orig)?.includes(t)??e.premovable.dests?.includes(t)){let r=e.dom.elements.board.querySelector(`.move-dest[data-key="${t}"], .premove-dest[data-key="${t}"]`);r&&!r.classList.contains("hover")&&(qe(e),r.classList.add("hover"))}else qe(e)}else qe(e)}function qe(e){let o=e.dom.elements.board.querySelectorAll(".move-dest, .premove-dest");o.length>0&&o.forEach(t=>t.classList.remove("hover"))}function So(e,o){e.draggable.current&&(!o.touches||o.touches.length<2)&&(e.draggable.current.pos=T(o))}function wo(e,o){let t=e.draggable.current;if(!t)return;if(o.type==="touchend"&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchend"&&t.originTarget!==o.target&&!t.newPiece){e.draggable.current=void 0;return}E(e),A(e);let n=T(o)||t.pos,r=k(n,h(e),e.dom.bounds());r&&t.started&&t.orig!==r?t.newPiece?ce(e,t.orig,r,t.force):(e.stats.ctrlKey=o.ctrlKey,Me(e,t.orig,r)&&(e.stats.dragged=!0)):t.newPiece?e.pieces.delete(t.orig):e.draggable.deleteOnDropOff&&!r&&(e.pieces.delete(t.orig),P(e.events.change)),(t.orig===t.previouslySelected||t.keyHasChanged)&&(t.orig===r||!r)?w(e):e.selectable.enabled||w(e),Po(e),e.draggable.current=void 0,e.dom.redraw()}function j(e){let o=e.draggable.current;o&&(o.newPiece&&e.pieces.delete(o.orig),e.draggable.current=void 0,w(e),Po(e),e.dom.redraw())}function Po(e){let o=e.dom.elements;o.ghost&&R(o.ghost,!1)}function Mo(e,o){let t=e.dom.elements.board.firstChild;for(;t;){if(t.cgKey===o&&t.tagName==="PIECE")return t;t=t.nextSibling}}function Co(e,o){e.exploding={stage:1,keys:o},e.dom.redraw(),setTimeout(()=>{xo(e,2),setTimeout(()=>xo(e,void 0),120)},120)}function xo(e,o){e.exploding&&(o?e.exploding.stage=o:e.exploding=void 0,e.dom.redraw())}function ko(e,o){function t(){Je(e),o()}return{set(n){n.orientation&&n.orientation!==e.orientation&&t(),Ee(e,n),(n.fen?V:O)(r=>pe(r,n),e)},state:e,getFen:()=>co(e.pieces),toggleOrientation:t,setPieces(n){V(r=>eo(r,n),e)},selectSquare(n,r){n?V(i=>J(i,n,r),e):e.selected&&(w(e),e.dom.redraw())},move(n,r){V(i=>Pe(i,n,r),e)},newPiece(n,r){V(i=>se(i,n,r),e)},playPremove(){if(e.premovable.current){if(V(io,e))return!0;e.dom.redraw()}return!1},playPredrop(n){if(e.predroppable.current){let r=ao(e,n);return e.dom.redraw(),r}return!1},cancelPremove(){O(E,e)},cancelPredrop(){O(A,e)},cancelMove(){O(n=>{ee(n),j(n)},e)},stop(){O(n=>{ke(n),j(n)},e)},explode(n){Co(e,n)},setAutoShapes(n){O(r=>r.drawable.autoShapes=n,e)},setShapes(n){O(r=>r.drawable.shapes=n.slice(),e)},getKeyAtDomPos(n){return k(n,h(e),e.dom.bounds())},redrawAll:o,dragNewPiece(n,r,i){yo(e,n,r,i)},destroy(){ke(e),e.dom.unbind&&e.dom.unbind(),e.dom.destroyed=!0}}}function Ko(){return{pieces:de(De),orientation:"white",turnColor:"white",coordinates:!0,coordinatesOnSquares:!1,ranksPosition:"right",autoCastle:!0,viewOnly:!1,disableContextMenu:!1,addPieceZIndex:!1,blockTouchScroll:!1,touchIgnoreRadius:1,pieceKey:!1,trustAllEvents:!1,jsHover:!1,highlight:{lastMove:!0,check:!0},animation:{enabled:!0,duration:200},movable:{free:!0,color:"both",showDests:!0,events:{},rookCastle:!0},premovable:{enabled:!0,showDests:!0,castle:!0,additionalPremoveRequirements:e=>!0,events:{}},predroppable:{enabled:!1,events:{}},draggable:{enabled:!0,distance:3,autoDistance:!0,showGhost:!0,deleteOnDropOff:!1},dropmode:{active:!1},selectable:{enabled:!0},stats:{dragged:!("ontouchstart"in window)},events:{},drawable:{enabled:!0,visible:!0,defaultSnapToValidMove:!0,eraseOnMovablePieceClick:!0,shapes:[],autoShapes:[],brushes:{green:{key:"g",color:"#15781B",opacity:1,lineWidth:10},red:{key:"r",color:"#882020",opacity:1,lineWidth:10},blue:{key:"b",color:"#003088",opacity:1,lineWidth:10},yellow:{key:"y",color:"#e68f00",opacity:1,lineWidth:10},paleBlue:{key:"pb",color:"#003088",opacity:.4,lineWidth:15},paleGreen:{key:"pg",color:"#15781B",opacity:.4,lineWidth:15},paleRed:{key:"pr",color:"#882020",opacity:.4,lineWidth:15},paleGrey:{key:"pgr",color:"#4a4a4a",opacity:.35,lineWidth:15},purple:{key:"purple",color:"#68217a",opacity:.65,lineWidth:10},pink:{key:"pink",color:"#ee2080",opacity:.5,lineWidth:10},white:{key:"white",color:"white",opacity:1,lineWidth:10},paleWhite:{key:"pwhite",color:"white",opacity:.6,lineWidth:10}},prevSvgHash:""},hold:Ie()}}function No(){let e=v("defs"),o=S(v("filter"),{id:"cg-filter-blur"});return o.appendChild(S(v("feGaussianBlur"),{stdDeviation:"0.013"})),e.appendChild(o),e}function Ho(e,o){let t=e.drawable,n=t.current,r=n&&n.mouseSq?n:void 0,i=new Map,s=e.dom.bounds(),p=t.autoShapes.filter(l=>!l.piece);for(let l of t.shapes.concat(p).concat(r?[r]:[])){if(!l.dest)continue;let f=i.get(l.dest)??new Set,g=fe(ge(m(l.orig),e.orientation),s),u=fe(ge(m(l.dest),e.orientation),s);f.add(Lo(Go(g,u))),i.set(l.dest,f)}let d=[],a=r?t.shapes.findIndex(l=>ue(l,r)&&Te(l,r)):-1;for(let[l,f]of t.shapes.concat(p).entries()){let g=a!==-1&&a===l;d.push({shape:f,current:!1,pendingErase:g,hash:Do(f,Ve(f.dest,i),!1,s,g,Ao(f.dest,i))})}r&&a===-1&&d.push({shape:r,current:!0,hash:Do(r,Ve(r.dest,i),!0,s,!1,Ao(r.dest,i)),pendingErase:!1});let c=d.map(l=>l.hash).join(";");c!==e.drawable.prevSvgHash&&(e.drawable.prevSvgHash=c,Kt(t,d,o),Dt(d,o,l=>Nt(e,l,t.brushes,i,s)))}function Kt(e,o,t){for(let n of[t.shapes,t.shapesBelow]){let r=n.querySelector("defs"),i=o.filter(a=>n===t.shapesBelow==!!a.shape.below),s=new Map;for(let a of i.filter(c=>c.shape.dest&&c.shape.brush)){let c=Vo(e.brushes[a.shape.brush],a.shape.modifiers),{key:l,color:f}=Oo(a.shape);l&&f&&s.set(l,{key:l,color:f,opacity:1,lineWidth:1}),s.set(c.key,c)}let p=new Set,d=r.firstElementChild;for(;d;)p.add(d.getAttribute("cgKey")),d=d.nextElementSibling;for(let[a,c]of s.entries())p.has(a)||r.appendChild(qt(c))}}function Dt(e,o,t){for(let[n,r]of[[o.shapes,o.custom],[o.shapesBelow,o.customBelow]]){let[i,s]=[n,r].map(a=>a.querySelector("g")),p=e.filter(a=>n===o.shapesBelow==!!a.shape.below),d=new Map;for(let a of p)d.set(a.hash,!1);for(let a of[i,s]){let c=[],l=a.firstElementChild,f;for(;l;)f=l.getAttribute("cgHash"),d.has(f)?d.set(f,!0):c.push(l),l=l.nextElementSibling;for(let g of c)a.removeChild(g)}for(let a of p.filter(c=>!d.get(c.hash)))for(let c of t(a))c.isCustom?s.appendChild(c.el):i.appendChild(c.el)}}function Do({orig:e,dest:o,brush:t,piece:n,modifiers:r,customSvg:i,label:s,below:p},d,a,c,l,f){return[c.width,c.height,a,l&&"pendingErase",f,e,o,t,d&&"-",n&&Et(n),r&&At(r),i&&`custom-${Eo(i.html)},${i.center?.[0]??"o"}`,s&&`label-${Eo(s.text)}`,p&&"below"].filter(g=>g).join(",")}var Et=e=>[e.color,e.role,e.scale].filter(o=>o).join(","),At=e=>[e.lineWidth,e.hilite].filter(o=>o).join(",");function Eo(e){let o=0;for(let t=0;t<e.length;t++)o=(o<<5)-o+e.charCodeAt(t)>>>0;return o.toString()}function Nt(e,{shape:o,current:t,pendingErase:n,hash:r},i,s,p){let d=fe(ge(m(o.orig),e.orientation),p),a=o.dest?fe(ge(m(o.dest),e.orientation),p):d,c=o.brush&&Vo(i[o.brush],o.modifiers),l=s.get(o.dest),f=[];if(c){let g=S(v("g"),{cgHash:r});f.push({el:g}),d[0]!==a[0]||d[1]!==a[1]?g.appendChild(Tt(o,c,d,a,t,Ve(o.dest,s),n)):g.appendChild(Ht(i[o.brush],d,t,p,n))}if(o.label){let g=o.label;g.fill??=o.brush&&i[o.brush].color;let u=o.brush?void 0:"tr";f.push({el:Rt(g,r,d,a,l,u),isCustom:!0})}if(o.customSvg){let g=o.customSvg.center??"orig",[u,N]=g==="label"?Fo(d,a,l).map(y=>y-.5):g==="dest"?a:d,K=S(v("g"),{transform:`translate(${u},${N})`,cgHash:r});K.innerHTML=`<svg width="1" height="1" viewBox="0 0 100 100">${o.customSvg.html}</svg>`,f.push({el:K,isCustom:!0})}return f}function Ht(e,o,t,n,r){let i=Vt(),s=(n.width+n.height)/(4*Math.max(n.width,n.height));return S(v("circle"),{stroke:e.color,"stroke-width":i[t?0:1],fill:"none",opacity:Bo(e,t,r),cx:o[0],cy:o[1],r:s-i[1]/2})}function Tt(e,o,t,n,r,i,s){function p(c){let l=Bt(i&&!r),f=n[0]-t[0],g=n[1]-t[1],u=Math.atan2(g,f),N=Math.cos(u)*l,K=Math.sin(u)*l,y=Oo(e);return S(v("line"),{stroke:c?y.color:o.color,"stroke-width":Ot(o,r)*(c?1.14:1),"stroke-linecap":"round","marker-end":`url(#arrowhead-${c?y.key:o.key})`,opacity:e.modifiers?.hilite&&!s?1:Bo(o,r,s),x1:t[0],y1:t[1],x2:n[0]-N,y2:n[1]-K})}if(!e.modifiers?.hilite)return p(!1);let d=S(v("g"),{opacity:o.opacity}),a=S(v("g"),{filter:"url(#cg-filter-blur)"});return a.appendChild(Lt(t,n)),a.appendChild(p(!0)),d.appendChild(a),d.appendChild(p(!1)),d}function qt(e){let o=S(v("marker"),{id:"arrowhead-"+e.key,orient:"auto",overflow:"visible",markerWidth:4,markerHeight:4,refX:e.key.startsWith("hilite")?1.86:2.05,refY:2});return o.appendChild(S(v("path"),{d:"M0,0 V4 L3,2 Z",fill:e.color})),o.setAttribute("cgKey",e.key),o}function Rt(e,o,t,n,r,i){let p=.4*.75**e.text.length,d=Fo(t,n,r),a=i==="tr"?.4:0,c=S(v("g"),{transform:`translate(${d[0]+a},${d[1]-a})`,cgHash:o});c.appendChild(S(v("circle"),{r:.4/2,"fill-opacity":i?1:.8,"stroke-opacity":i?1:.7,"stroke-width":.03,fill:e.fill??"#666",stroke:"white"}));let l=S(v("text"),{"font-size":p,"font-family":"Noto Sans","text-anchor":"middle",fill:"white",y:.13*.75**e.text.length});return l.innerHTML=e.text,c.appendChild(l),c}var ge=(e,o)=>o==="white"?e:[7-e[0],7-e[1]],To=(e,o)=>(e%o+o)%o,qo=(e,o)=>To(e+o,16),Ro=e=>[...e].some(o=>[-3,-2,-1,1,2,3].some(t=>e.has(qo(o,t)))),Ve=(e,o)=>!!e&&o.has(e)&&Ro(o.get(e)),v=e=>document.createElementNS("http://www.w3.org/2000/svg",e),Ao=(e,o)=>e&&o.has(e)?o.get(e).size:0;function S(e,o){for(let t in o)Object.prototype.hasOwnProperty.call(o,t)&&e.setAttribute(t,o[t]);return e}var Vo=(e,o)=>o?{color:e.color,opacity:Math.round(e.opacity*10)/10,lineWidth:Math.round(o.lineWidth||e.lineWidth),key:[e.key,o.lineWidth].filter(t=>t).join("")}:e,Vt=()=>[3/64,4/64],Ot=(e,o)=>(e.lineWidth||10)*(o?.85:1)/64;function Oo(e){let o=e.modifiers?.hilite;return{key:o&&`hilite-${o.replace("#","")}`,color:o}}var Bo=(e,o,t)=>(e.opacity||1)*(t?.6:o?.9:1),Bt=e=>(e?20:10)/64;function fe(e,o){let t=Math.min(1,o.width/o.height),n=Math.min(1,o.height/o.width);return[(e[0]-3.5)*t,(3.5-e[1])*n]}function Lt(e,o){let t={from:[Math.floor(Math.min(e[0],o[0])),Math.floor(Math.min(e[1],o[1]))],to:[Math.ceil(Math.max(e[0],o[0])),Math.ceil(Math.max(e[1],o[1]))]};return S(v("rect"),{x:t.from[0],y:t.from[1],width:t.to[0]-t.from[0],height:t.to[1]-t.from[1],fill:"none",stroke:"none"})}var Lo=e=>To(Math.round(e*8/Math.PI),16),Go=(e,o)=>Math.atan2(o[1]-e[1],o[0]-e[0])+Math.PI,Gt=(e,o)=>Math.sqrt([e[0]-o[0],e[1]-o[1]].reduce((t,n)=>t+n*n,0));function Fo(e,o,t){let n=Gt(e,o),r=Go(e,o);if(t&&(n-=33/64,Ro(t))){n-=10/64;let i=Lo(r);i&1&&[-1,1].some(s=>t.has(qo(i,s)))&&(n-=.4)}return[e[0]-Math.cos(r)*n,e[1]-Math.sin(r)*n].map(i=>i+.5)}function $o(e,o){e.innerHTML="",e.classList.add("cg-wrap");for(let c of Fe)e.classList.toggle("orientation-"+c,o.orientation===c);e.classList.toggle("manipulable",!o.viewOnly);let t=C("cg-container");e.appendChild(t);let n=C("cg-board");t.appendChild(n);let r,i,s,p,d;if(o.drawable.visible&&([r,i]=["cg-shapes-below","cg-shapes"].map(c=>Wo(c,!0)),[s,p]=["cg-custom-below","cg-custom-svgs"].map(c=>Wo(c,!1)),d=C("cg-auto-pieces"),t.appendChild(r),t.appendChild(s),t.appendChild(i),t.appendChild(p),t.appendChild(d)),o.coordinates){let c=o.orientation==="black"?" black":"",l=o.ranksPosition==="left"?" left":"";if(o.coordinatesOnSquares){let f=o.orientation==="white"?g=>g+1:g=>8-g;I.forEach((g,u)=>t.appendChild(Oe(Z.map(N=>g+N),"squares rank"+f(u)+c+l,u%2===0?"black":"white")))}else t.appendChild(Oe(Z,"ranks"+c+l,o.ranksPosition==="right"==(o.orientation==="white")?"white":"black")),t.appendChild(Oe(I,"files"+c,F(o.orientation)))}let a;return!o.viewOnly&&o.draggable.enabled&&o.draggable.showGhost&&(a=C("piece","ghost"),R(a,!1),t.appendChild(a)),{board:n,container:t,wrap:e,ghost:a,shapes:i,shapesBelow:r,custom:p,customBelow:s,autoPieces:d}}function Wo(e,o){let t=S(v("svg"),{class:e,viewBox:o?"-4 -4 8 8":"-3.5 -3.5 8 8",preserveAspectRatio:"xMidYMid slice"});return o&&t.appendChild(No()),t.appendChild(v("g")),t}function Oe(e,o,t){let n=C("coords",o),r;return e.forEach((i,s)=>{let p=s%2===(t==="white"?0:1);r=C("coord",`coord-${p?"light":"dark"}`),r.textContent=i,n.appendChild(r)}),n}function zo(e,o){if(!e.dropmode.active)return;E(e),A(e);let t=e.dropmode.piece;if(t){e.pieces.set("a0",t);let n=T(o),r=n&&k(n,h(e),e.dom.bounds());r&&ce(e,"a0",r)}e.dom.redraw()}function jo(e,o){let t=e.dom.elements.board;if("ResizeObserver"in window&&new ResizeObserver(o).observe(e.dom.elements.wrap),(e.disableContextMenu||e.drawable.enabled)&&t.addEventListener("contextmenu",r=>r.preventDefault()),e.viewOnly)return;let n=Wt(e);t.addEventListener("touchstart",n,{passive:!1}),t.addEventListener("mousedown",n,{passive:!1})}function Uo(e,o){let t=[];if("ResizeObserver"in window||t.push(oe(document.body,"chessground.resize",o)),!e.viewOnly){let n=Io(e,So,fo),r=Io(e,wo,mo);for(let s of["touchmove","mousemove"])t.push(oe(document,s,n));for(let s of["touchend","mouseup"])t.push(oe(document,s,r));let i=()=>e.dom.bounds.clear();t.push(oe(document,"scroll",i,{capture:!0,passive:!0})),t.push(oe(window,"resize",i,{passive:!0}))}return()=>t.forEach(n=>n())}function oe(e,o,t,n){return e.addEventListener(o,t,n),()=>e.removeEventListener(o,t,n)}var Wt=e=>o=>{e.draggable.current?j(e):e.drawable.current?He(e):o.shiftKey||re(o)?e.drawable.enabled&&uo(e,o):e.viewOnly||(e.dropmode.active?zo(e,o):vo(e,o))},Io=(e,o,t)=>n=>{e.drawable.current?e.drawable.enabled&&t(e,n):e.viewOnly||o(e,n)};function Zo(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.board,r=e.pieces,i=e.animation.current,s=i?i.plan.anims:new Map,p=i?i.plan.fadings:new Map,d=e.draggable.current,a=new Set,c=new Map,l=jt(e),f=new Map,g,u,N,K,y,X,me,H,U;for(u=n.firstChild;u;){if(g=u.cgKey,Xo(u))if(N=r.get(g),y=s.get(g),X=p.get(g),K=u.cgPiece,u.cgDragging&&(!d||d.orig!==g)&&(u.classList.remove("dragging"),x(u,t(m(g),o)),u.cgDragging=!1),!X&&u.cgFading&&(u.cgFading=!1,u.classList.remove("fading")),N){if(y&&u.cgAnimating&&K===te(N)){let b=m(g);b[0]+=y[2],b[1]+=y[3],u.classList.add("anim"),x(u,t(b,o))}else u.cgAnimating&&(u.cgAnimating=!1,u.classList.remove("anim"),x(u,t(m(g),o)),e.addPieceZIndex&&(u.style.zIndex=Be(m(g),o)));K===te(N)&&(!X||!u.cgFading)?a.add(g):X&&K===te(X)?(u.classList.add("fading"),u.cgFading=!0):Le(c,K,u)}else Le(c,K,u);else if(Qo(u)){let b=u.className;l.get(g)===b?(R(u,!0),l.delete(g)):Le(f,b,u)}u=u.nextSibling}for(let[b,z]of l){U=f.get(z)?.pop();let M=t(m(b),o);if(U)U.cgKey=b,e.jsHover&&(U.dataset.key=b),x(U,M),R(U,!0);else{let D=C("square",z);D.cgKey=b,e.jsHover&&(D.dataset.key=b),x(D,M),n.insertBefore(D,n.firstChild)}}for(let[b,z]of f.entries())for(let M of z)R(M,!1);for(let[b,z]of r)if(y=s.get(b),!a.has(b))if(me=c.get(te(z)),H=me&&me.pop(),H){H.cgKey=b,H.cgFading&&(H.classList.remove("fading"),H.cgFading=!1);let M=m(b);e.addPieceZIndex&&(H.style.zIndex=Be(M,o)),y&&(H.cgAnimating=!0,H.classList.add("anim"),M[0]+=y[2],M[1]+=y[3]),x(H,t(M,o))}else{let M=te(z),D=C("piece",M),ne=m(b);D.cgPiece=M,D.cgKey=b,y&&(D.cgAnimating=!0,ne[0]+=y[2],ne[1]+=y[3]),x(D,t(ne,o)),e.addPieceZIndex&&(D.style.zIndex=Be(ne,o)),n.appendChild(D)}for(let b of c.values())zt(e,b)}function _o(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.board.firstChild;for(;n;)(Xo(n)&&!n.cgAnimating||Qo(n))&&x(n,t(m(n.cgKey),o)),n=n.nextSibling}function Ge(e){let o=e.dom.elements.wrap.getBoundingClientRect(),t=e.dom.elements.container,n=o.height/o.width,r=Math.floor(o.width*window.devicePixelRatio/8)*8/window.devicePixelRatio,i=r*n;t.style.width=r+"px",t.style.height=i+"px",e.dom.bounds.clear(),e.addDimensionsCssVarsTo?.style.setProperty("---cg-width",r+"px"),e.addDimensionsCssVarsTo?.style.setProperty("---cg-height",i+"px")}var Xo=e=>e.tagName==="PIECE",Qo=e=>e.tagName==="SQUARE";function zt(e,o){for(let t of o)e.dom.elements.board.removeChild(t)}function Be(e,o){let n=e[1];return`${o?10-n:3+n}`}var te=e=>`${e.color} ${e.role}`,It=(e,o)=>e.lastMove?.[1]&&!e.pieces.has(e.lastMove[1])&&e.lastMove[0][0]==="e"&&["h","a"].includes(e.lastMove[1][0])&&e.lastMove[0][1]===e.lastMove[1][1]&&Xe(...m(e.lastMove[0]),...m(e.lastMove[1])).some(t=>e.pieces.has(t))?(o>e.lastMove[0]?"g":"c")+o[1]:o;function jt(e){let o=new Map;if(e.lastMove&&e.highlight.lastMove)for(let[r,i]of e.lastMove.entries())B(o,r===1?It(e,i):i,"last-move");if(e.check&&e.highlight.check&&B(o,e.check,"check"),e.selected&&(B(o,e.selected,"selected"),e.movable.showDests)){for(let r of e.movable.dests?.get(e.selected)??[])B(o,r,"move-dest"+(e.pieces.has(r)?" oc":""));for(let r of e.premovable.customDests?.get(e.selected)??e.premovable.dests??[])B(o,r,"premove-dest"+(e.pieces.has(r)?" oc":""))}let t=e.premovable.current;if(t)for(let r of t)B(o,r,"current-premove");else e.predroppable.current&&B(o,e.predroppable.current.key,"current-premove");let n=e.exploding;if(n)for(let r of n.keys)B(o,r,"exploding"+n.stage);return e.highlight.custom&&e.highlight.custom.forEach((r,i)=>{B(o,i,r)}),o}function B(e,o,t){let n=e.get(o);n?e.set(o,`${n} ${t}`):e.set(o,t)}function Le(e,o,t){let n=e.get(o);n?n.push(t):e.set(o,[t])}function Yo(e,o,t){let n=new Map,r=[];for(let p of e)n.set(p.hash,!1);let i=o.firstElementChild,s;for(;i;)s=i.getAttribute("cgHash"),n.has(s)?n.set(s,!0):r.push(i),i=i.nextElementSibling;for(let p of r)o.removeChild(p);for(let p of e)n.get(p.hash)||o.appendChild(t(p))}function Jo(e,o){let n=e.drawable.autoShapes.filter(r=>r.piece).map(r=>({shape:r,hash:Zt(r),current:!1,pendingErase:!1}));Yo(n,o,r=>Ut(e,r,e.dom.bounds()))}function et(e){let o=h(e),t=$(e.dom.bounds()),n=e.dom.elements.autoPieces?.firstChild;for(;n;)ve(n,t(m(n.cgKey),o),n.cgScale),n=n.nextSibling}function Ut(e,{shape:o,hash:t},n){let r=o.orig,i=o.piece?.role,s=o.piece?.color,p=o.piece?.scale,d=C("piece",`${i} ${s}`);return d.setAttribute("cgHash",t),d.cgKey=r,d.cgScale=p,ve(d,$(n)(m(r),h(e)),p),d}var Zt=e=>[e.orig,e.piece?.role,e.piece?.color,e.piece?.scale].join(",");function nr({el:e,config:o}){return Xt(e,o)}function Xt(e,o){let t=Ko();pe(t,o||{});function n(){let r="dom"in t?t.dom.unbind:void 0,i=$o(e,t),s=he(()=>i.board.getBoundingClientRect()),p=c=>{Zo(a),i.autoPieces&&Jo(a,i.autoPieces),!c&&i.shapes&&Ho(a,i)},d=()=>{Ge(a),_o(a),i.autoPieces&&et(a)},a=t;return a.dom={elements:i,bounds:s,redraw:Qt(p),redrawNow:p,unbind:r},a.drawable.prevSvgHash="",Ge(a),p(!1),jo(a,d),r||(a.dom.unbind=Uo(a,d)),a.events.insert&&a.events.insert(i),a}return ko(n(),n)}function Qt(e){let o=!1;return()=>{o||(o=!0,requestAnimationFrame(()=>{e(),o=!1}))}}export{Xt as Chessground,nr as initModule};
package/dist/config.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface Config {
19
19
  blockTouchScroll?: boolean;
20
20
  touchIgnoreRadius?: number;
21
21
  trustAllEvents?: boolean;
22
+ jsHover?: boolean;
22
23
  highlight?: {
23
24
  lastMove?: boolean;
24
25
  check?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AA+F3C,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,MAAc;IACjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE;YAAE,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAoB,EAAE,MAAc;IAC5D,0DAA0D;IAC1D,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK;QAAE,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3D,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU;QAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;IAEhE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzB,4CAA4C;IAC5C,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,IAAI,MAAM;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC9D,IAAI,UAAU,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;IACzE,yDAAyD;IACzD,6CAA6C;IAC7C,+DAA+D;SAC1D,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3D,yBAAyB;IACzB,IAAI,KAAK,CAAC,QAAQ;QAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEvD,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACtD,YAAY,GAAG,CAAC,GAAG,GAAG,IAAI,CAAW,EACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAC7C,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CACrB,YAAY,EACZ,KAAK,CAAC,MAAM,CACV,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAW,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAW,CAAC,CAAC,CAChE,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAS,EAAE,MAAW;IACvC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;YACpG,SAAS;QACX,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/drag.js CHANGED
@@ -125,12 +125,43 @@ function processDrag(s) {
125
125
  cur.pos[0] - bounds.left - bounds.width / 16,
126
126
  cur.pos[1] - bounds.top - bounds.height / 16,
127
127
  ]);
128
- cur.keyHasChanged || (cur.keyHasChanged = cur.orig !== board.getKeyAtDomPos(cur.pos, board.whitePov(s), bounds));
128
+ if (s.jsHover)
129
+ handleJsHover(s, cur);
130
+ else
131
+ cur.keyHasChanged || (cur.keyHasChanged = cur.orig !== board.getKeyAtDomPos(cur.pos, board.whitePov(s), bounds));
129
132
  }
130
133
  }
131
134
  processDrag(s);
132
135
  });
133
136
  }
137
+ function handleJsHover(s, cur) {
138
+ const hoveredKey = board.getKeyAtDomPos(cur.pos, board.whitePov(s), s.dom.bounds());
139
+ if (cur.orig !== hoveredKey) {
140
+ cur.keyHasChanged = true;
141
+ if (hoveredKey) {
142
+ const isValidMove = s.movable.dests?.get(cur.orig)?.includes(hoveredKey) ?? s.premovable.dests?.includes(hoveredKey);
143
+ if (isValidMove) {
144
+ const hoveredValidDestSquare = s.dom.elements.board.querySelector(`.move-dest[data-key="${hoveredKey}"], .premove-dest[data-key="${hoveredKey}"]`);
145
+ if (hoveredValidDestSquare && !hoveredValidDestSquare.classList.contains('hover')) {
146
+ resetHoverState(s);
147
+ hoveredValidDestSquare.classList.add('hover');
148
+ }
149
+ }
150
+ else {
151
+ resetHoverState(s);
152
+ }
153
+ }
154
+ }
155
+ else {
156
+ resetHoverState(s);
157
+ }
158
+ }
159
+ function resetHoverState(s) {
160
+ const squares = s.dom.elements.board.querySelectorAll(`.move-dest, .premove-dest`);
161
+ if (squares.length > 0) {
162
+ squares.forEach(sq => sq.classList.remove('hover'));
163
+ }
164
+ }
134
165
  export function move(s, e) {
135
166
  // support one finger touch only
136
167
  if (s.draggable.current && (!e.touches || e.touches.length < 2)) {
package/dist/drag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"drag.js","sourceRoot":"","sources":["../src/drag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drag.js","sourceRoot":"","sources":["../src/drag.ts"],"names":[],"mappings":"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"}
package/dist/render.js CHANGED
@@ -78,12 +78,16 @@ export function render(s) {
78
78
  if (sAvail) {
79
79
  // repurpose an available square
80
80
  sAvail.cgKey = sk;
81
+ if (s.jsHover)
82
+ sAvail.dataset['key'] = sk;
81
83
  translate(sAvail, translation);
82
84
  setVisible(sAvail, true);
83
85
  }
84
86
  else {
85
87
  const squareNode = createEl('square', className);
86
88
  squareNode.cgKey = sk;
89
+ if (s.jsHover)
90
+ squareNode.dataset['key'] = sk;
87
91
  translate(squareNode, translation);
88
92
  boardEl.insertBefore(squareNode, boardEl.firstChild);
89
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,cAAc,IAAI,wBAAwB,EAC1C,SAAS,EACT,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,6FAA6F;AAC7F,iCAAiC;AACjC,MAAM,UAAU,MAAM,CAAC,CAAQ;IAC7B,MAAM,OAAO,GAAY,QAAQ,CAAC,CAAC,CAAC,EAClC,cAAc,GAAG,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EACzD,OAAO,GAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAC3C,MAAM,GAAc,CAAC,CAAC,MAAM,EAC5B,OAAO,GAA4B,CAAC,CAAC,SAAS,CAAC,OAAO,EACtD,KAAK,GAAgB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAC7D,OAAO,GAAgB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EACjE,OAAO,GAA4B,CAAC,CAAC,SAAS,CAAC,OAAO,EACtD,UAAU,GAAgB,IAAI,GAAG,EAAE,EACnC,WAAW,GAAmC,IAAI,GAAG,EAAE,EACvD,cAAc,GAAqB,oBAAoB,CAAC,CAAC,CAAC,EAC1D,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC,CAAC,gBAAgB;IAC9E,IAAI,CAAS,EACX,EAA4C,EAC5C,UAAgC,EAChC,WAAsB,EACtB,IAA4B,EAC5B,MAA4B,EAC5B,OAAmC,EACnC,IAA8B,EAC9B,MAAiC,CAAC;IAEpC,2EAA2E;IAC3E,EAAE,GAAG,OAAO,CAAC,UAAsD,CAAC;IACpE,OAAO,EAAE,EAAE,CAAC;QACV,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACb,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;YACzB,4DAA4D;YAC5D,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtD,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChC,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnD,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,0CAA0C;YAC1C,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACpB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,uCAAuC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,yDAAyD;gBACzD,gDAAgD;gBAChD,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzB,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC1B,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC;oBACvB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5B,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnD,IAAI,CAAC,CAAC,cAAc;wBAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzE,CAAC;gBACD,2BAA2B;gBAC3B,IAAI,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5F,6DAA6D;qBACxD,IAAI,MAAM,IAAI,WAAW,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvD,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC3B,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,CAAC;;oBAAM,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,0BAA0B;;gBACrB,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;YACzB,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;;gBAAM,WAAW,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,GAAG,EAAE,CAAC,WAAuD,CAAC;IAClE,CAAC;IAED,2EAA2E;IAC3E,wBAAwB;IACxB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,cAAc,EAAE,CAAC;QAC7C,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,gCAAgC;YAChC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC/B,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAkB,CAAC;YAClE,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;YACtB,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IACzE,uBAAuB;IACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,yBAAyB;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,oBAAoB;gBACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,CAAC,cAAc;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,8CAA8C;YAC9C,6CAA6C;iBACxC,CAAC;gBACJ,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAC9B,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAiB,EACxD,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnB,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpB,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEnD,IAAI,CAAC,CAAC,cAAc;oBAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAEvE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAQ;IACpC,MAAM,OAAO,GAAY,QAAQ,CAAC,CAAC,CAAC,EAClC,cAAc,GAAG,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAsD,CAAC;IACrF,OAAO,EAAE,EAAE,CAAC;QACV,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,EAAE,GAAG,EAAE,CAAC,WAAuD,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAQ;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACvG,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,CAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAgC,EAAsB,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC;AACrG,MAAM,YAAY,GAAG,CAAC,EAAgC,EAAuB,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC;AAExG,SAAS,WAAW,CAAC,CAAQ,EAAE,KAAoB;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,OAAgB;IAC9C,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IAClD,OAAO,GAAG,CAAC,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,KAAe,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AAEhF,MAAM,mCAAmC,GAAG,CAAC,CAAQ,EAAE,CAAS,EAAU,EAAE,CAC1E,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IACxB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAY;IACtD,CAAC,CAAC,CAAC,CAAC;AAER,SAAS,oBAAoB,CAAC,CAAQ;IACpC,MAAM,OAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ;QACpC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7F,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK;QAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACpD,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;gBACnF,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IACrC,IAAI,OAAO;QAAE,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;SAC1E,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO;QAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAEnG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IACtB,IAAI,CAAC;QAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI;YAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE5E,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YAClD,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,OAAyB,EAAE,GAAW,EAAE,KAAa;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAO,GAAgB,EAAE,GAAM,EAAE,KAAQ;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;QACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -21,6 +21,7 @@ export interface HeadlessState {
21
21
  touchIgnoreRadius: number;
22
22
  pieceKey: boolean;
23
23
  trustAllEvents?: boolean;
24
+ jsHover?: boolean;
24
25
  highlight: {
25
26
  lastMove: boolean;
26
27
  check: boolean;
package/dist/state.js CHANGED
@@ -16,6 +16,7 @@ export function defaults() {
16
16
  touchIgnoreRadius: 1,
17
17
  pieceKey: false,
18
18
  trustAllEvents: false,
19
+ jsHover: false,
19
20
  highlight: {
20
21
  lastMove: true,
21
22
  check: true,
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/wrap.js CHANGED
@@ -55,7 +55,7 @@ export function renderWrap(element, s) {
55
55
  }
56
56
  }
57
57
  let ghost;
58
- if (s.draggable.enabled && s.draggable.showGhost) {
58
+ if (!s.viewOnly && s.draggable.enabled && s.draggable.showGhost) {
59
59
  ghost = createEl('piece', 'ghost');
60
60
  setVisible(ghost, false);
61
61
  container.appendChild(ghost);
package/dist/wrap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lichess-org/chessground",
3
- "version": "10.0.1",
3
+ "version": "10.1.0",
4
4
  "//": "version is managed by the build system",
5
5
  "description": "lichess.org chess ui",
6
6
  "type": "module",
package/src/config.ts CHANGED
@@ -22,6 +22,7 @@ export interface Config {
22
22
  blockTouchScroll?: boolean; // block scrolling via touch dragging on the board, e.g. for coordinate training
23
23
  touchIgnoreRadius?: number; // ignore touches within a radius of an occupied square, in units of its circumradius
24
24
  trustAllEvents?: boolean; // disable checking for human only input (e.isTrusted)
25
+ jsHover?: boolean; // enable JS-driven hover state handling to workaround Safari drag issue
25
26
  highlight?: {
26
27
  lastMove?: boolean; // add last-move class to squares
27
28
  check?: boolean; // add check class to squares
package/src/drag.ts CHANGED
@@ -144,13 +144,46 @@ function processDrag(s: State): void {
144
144
  cur.pos[1] - bounds.top - bounds.height / 16,
145
145
  ]);
146
146
 
147
- cur.keyHasChanged ||= cur.orig !== board.getKeyAtDomPos(cur.pos, board.whitePov(s), bounds);
147
+ if (s.jsHover) handleJsHover(s, cur);
148
+ else cur.keyHasChanged ||= cur.orig !== board.getKeyAtDomPos(cur.pos, board.whitePov(s), bounds);
148
149
  }
149
150
  }
150
151
  processDrag(s);
151
152
  });
152
153
  }
153
154
 
155
+ function handleJsHover(s: State, cur: DragCurrent): void {
156
+ const hoveredKey = board.getKeyAtDomPos(cur.pos, board.whitePov(s), s.dom.bounds());
157
+ if (cur.orig !== hoveredKey) {
158
+ cur.keyHasChanged = true;
159
+
160
+ if (hoveredKey) {
161
+ const isValidMove =
162
+ s.movable.dests?.get(cur.orig)?.includes(hoveredKey) ?? s.premovable.dests?.includes(hoveredKey);
163
+ if (isValidMove) {
164
+ const hoveredValidDestSquare = s.dom.elements.board.querySelector<SVGElement>(
165
+ `.move-dest[data-key="${hoveredKey}"], .premove-dest[data-key="${hoveredKey}"]`,
166
+ );
167
+ if (hoveredValidDestSquare && !hoveredValidDestSquare.classList.contains('hover')) {
168
+ resetHoverState(s);
169
+ hoveredValidDestSquare.classList.add('hover');
170
+ }
171
+ } else {
172
+ resetHoverState(s);
173
+ }
174
+ }
175
+ } else {
176
+ resetHoverState(s);
177
+ }
178
+ }
179
+
180
+ function resetHoverState(s: State) {
181
+ const squares = s.dom.elements.board.querySelectorAll<SVGElement>(`.move-dest, .premove-dest`);
182
+ if (squares.length > 0) {
183
+ squares.forEach(sq => sq.classList.remove('hover'));
184
+ }
185
+ }
186
+
154
187
  export function move(s: State, e: cg.MouchEvent): void {
155
188
  // support one finger touch only
156
189
  if (s.draggable.current && (!e.touches || e.touches.length < 2)) {
package/src/render.ts CHANGED
@@ -103,11 +103,13 @@ export function render(s: State): void {
103
103
  if (sAvail) {
104
104
  // repurpose an available square
105
105
  sAvail.cgKey = sk;
106
+ if (s.jsHover) sAvail.dataset['key'] = sk;
106
107
  translate(sAvail, translation);
107
108
  setVisible(sAvail, true);
108
109
  } else {
109
110
  const squareNode = createEl('square', className) as cg.SquareNode;
110
111
  squareNode.cgKey = sk;
112
+ if (s.jsHover) squareNode.dataset['key'] = sk;
111
113
  translate(squareNode, translation);
112
114
  boardEl.insertBefore(squareNode, boardEl.firstChild);
113
115
  }
package/src/state.ts CHANGED
@@ -24,6 +24,7 @@ export interface HeadlessState {
24
24
  touchIgnoreRadius: number; // ignore touches within a radius of an occupied square, in units of its circumradius
25
25
  pieceKey: boolean; // add a data-key attribute to piece elements
26
26
  trustAllEvents?: boolean; // disable checking for human only input (e.isTrusted)
27
+ jsHover?: boolean; // enable JS-driven hover state handling to workaround Safari drag issue
27
28
  highlight: {
28
29
  lastMove: boolean; // add last-move class to squares
29
30
  check: boolean; // add check class to squares
@@ -126,6 +127,7 @@ export function defaults(): HeadlessState {
126
127
  touchIgnoreRadius: 1,
127
128
  pieceKey: false,
128
129
  trustAllEvents: false,
130
+ jsHover: false,
129
131
  highlight: {
130
132
  lastMove: true,
131
133
  check: true,
package/src/wrap.ts CHANGED
@@ -81,7 +81,7 @@ export function renderWrap(element: HTMLElement, s: HeadlessState): Elements {
81
81
  }
82
82
 
83
83
  let ghost: HTMLElement | undefined;
84
- if (s.draggable.enabled && s.draggable.showGhost) {
84
+ if (!s.viewOnly && s.draggable.enabled && s.draggable.showGhost) {
85
85
  ghost = createEl('piece', 'ghost');
86
86
  setVisible(ghost, false);
87
87
  container.appendChild(ghost);