{"version":3,"file":"bundle-b4f819614684a6fefe65.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA;AACA,sDAAsD,kDAAkD;AACxG;AACA,cAAc;;;;;;;;;;;AC1ED;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,mCAAmC;AACnC,6BAA6B,mBAAO,CAAC,gDAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,sCAAsC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAA6B;AAC1D;AACA;AACA;AACA,4BAA4B,8BAA8B;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mDAAmD;AACnD;AACA;AACA;AACA,WAAW;AACX;AACA,mCAAmC;;;;;;;;;;;AC/EtB;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,sBAAsB,mBAAO,CAAC,6EAAwB;AACtD,sCAAsC,mBAAO,CAAC,yGAA+B;AAC7E,2BAA2B,mBAAO,CAAC,kFAAoB;AACvD,0CAA0C,UAAU;AACpD,kDAAkD,cAAc;AAChE,qBAAqB,uBAAuB;AAC5C,8CAA8C,MAAM;AACpD;AACA;AACA;AACA,mCAAmC,6BAA6B;AAChE,KAAK;AACL,8CAA8C,GAAG;AACjD;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D,KAAK;AACL,6CAA6C,UAAU;AACvD;AACA;AACA;AACA,+CAA+C,6BAA6B;AAC5E,KAAK;AACL,6CAA6C,OAAO;AACpD;AACA;AACA;AACA,+CAA+C,0BAA0B;AACzE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qCAAqC;AAC7D,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD,qBAAqB,2DAA2D;AAChF,YAAY,eAAe;AAC3B,YAAY,yCAAyC;AACrD;AACA;AACA,KAAK;AACL,YAAY,uDAAuD;AACnE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uCAAuC;AAChF,yFAAyF,6CAA6C;AACtI,yCAAyC,yBAAyB;AAClE,+DAA+D,kGAAkG;AACjK,yCAAyC,yBAAyB;AAClE,+DAA+D,qIAAqI;AACpM;AACA,iBAAiB;;;;;;;;;;;ACjJJ;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oBAAoB,GAAG,gCAAgC;AACvD,gBAAgB,mBAAO,CAAC,gDAAO;AAC/B;AACA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;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,YAAY,aAAa;AACzB,mDAAmD,gCAAgC;AACnF,8CAA8C,0BAA0B;AACxE;AACA,6DAA6D,qBAAqB;AAClF;AACA,mFAAmF,8CAA8C;AACjI,mFAAmF,8CAA8C;AACjI,mFAAmF,mDAAmD;AACtI;AACA,mFAAmF,2CAA2C;AAC9H,mFAAmF,iDAAiD;AACpI,mFAAmF,0CAA0C;AAC7H,mFAAmF,4CAA4C;AAC/H;AACA,mFAAmF,2CAA2C;AAC9H,mFAAmF,gDAAgD;AACnI,mFAAmF,0CAA0C;AAC7H;AACA,mFAAmF,mDAAmD;AACtI;AACA,oBAAoB;;;;;;;;;;;AC9CP;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,2BAA2B;AAC3B,gBAAgB,mBAAO,CAAC,gDAAO;AAC/B,gBAAgB,mBAAO,CAAC,+DAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B;;;;;;;;;;;AC/Cd;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;;AChEY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB,mBAAO,CAAC,iEAAkB;AAC3C,0BAA0B,mBAAO,CAAC,iFAAmB;AACrD,0BAA0B,mBAAO,CAAC,iFAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA;AACA,YAAY,QAAQ,QAAQ,IAAI;AAChC,yCAAyC,0BAA0B;AACnE,wCAAwC,iBAAiB;AACzD;AACA,oBAAoB,OAAO;AAC3B;AACA,YAAY,WAAW;AACvB,yCAAyC,wBAAwB;AACjE;AACA,qCAAqC,4BAA4B;AACjE;AACA,yCAAyC,yBAAyB;AAClE;AACA;AACA,4CAA4C,qDAAqD;AACjG,yCAAyC,yBAAyB;AAClE;AACA,uCAAuC,uCAAuC;AAC9E,6CAA6C,yEAAyE;AACtH,yCAAyC,yBAAyB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,yBAAyB;AAC5E;AACA;AACA;AACA,gBAAgB;;;;;;;;;;;ACvFH;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,mBAAmB,GAAG,+BAA+B;AACrD,gBAAgB,mBAAO,CAAC,gDAAO;AAC/B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;;;;;;;;;;ACdN;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,mBAAmB,GAAG,+BAA+B,GAAG,gBAAgB;AACxE,iBAAiB,mBAAO,CAAC,oEAAY;AACrC,4CAA2C,EAAE,qCAAqC,+BAA+B,EAAC;AAClH,wBAAwB,mBAAO,CAAC,iFAAmB;AACnD,2DAA0D,EAAE,qCAAqC,qDAAqD,EAAC;AACvJ,+CAA8C,EAAE,qCAAqC,yCAAyC,EAAC;AAC/H,aAAa,mBAAO,CAAC,iFAAgB;AACrC,aAAa,mBAAO,CAAC,mEAAS;;;;;;;;;;;ACvBjB;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;;AC9DY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,iBAAiB,mBAAO,CAAC,oEAAqB;AAC9C,2BAA2B,mBAAO,CAAC,yFAAoB;AACvD,qBAAqB,6EAA6E;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB;AAC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SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C,6BAA6B,gBAAgB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,4BAA4B;AAClE,SAAS;AACT;AACA,sCAAsC,4BAA4B;AAClE,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,8BAA8B,mBAAmB;AACjD,KAAK;AACL,CAAC;AACD,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;;AC7FY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,kBAAkB;AAClB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,qCAAqC,mBAAO,CAAC,0DAAY;AACzD,iBAAiB,mBAAO,CAAC,6EAAwB;AACjD,gBAAgB,mBAAO,CAAC,0DAAU;AAClC,uBAAuB,mBAAO,CAAC,uEAAiB;AAChD,qBAAqB,mBAAO,CAAC,oEAAe;AAC5C,4BAA4B,mBAAO,CAAC,uFAAqB;AACzD,oBAAoB,mBAAO,CAAC,sEAAa;AACzC;AACA,mGAAmG,wBAAwB;AAC3H;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gCAAgC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,wCAAwC;AACxC,6CAA6C,yDAAyD;AACtG,2DAA2D,uCAAuC;AAClG;AACA,kBAAkB;;;;;;;;;;;AC9HL;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gCAAgC;AAChC;AACA,sCAAsC;AACtC,2BAA2B,4CAA4C,MAAM,IAAI,oBAAoB;AACrG;AACA,gCAAgC;;;;;;;;;;;ACPnB;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,kBAAkB;AAClB,mBAAmB,mBAAO,CAAC,yEAAc;AACzC,8CAA6C,EAAE,qCAAqC,mCAAmC,EAAC;;;;;;;;;;;ACJ3G;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,sBAAsB;AACtB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,kBAAkB,mBAAO,CAAC,wEAAmB;AAC7C,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,yDAAyD,qFAAqF;AAC9I;AACA,sBAAsB;;;;;;;;;;;ACjDT;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB,mBAAO,CAAC,8DAAc;AACvC,kBAAkB,mBAAO,CAAC,wEAAmB;AAC7C,yBAAyB,mBAAO,CAAC,gFAAkB;AACnD,8BAA8B,mBAAO,CAAC,0FAAuB;AAC7D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC;AACD,qBAAqB,iCAAiC;AACtD;AACA,yDAAyD,0BAA0B;AACnF,yEAAyE,oBAAoB;AAC7F,mDAAmD,iDAAiD;AACpG,qCAAqC,2CAA2C;AAChF,2DAA2D,6BAA6B;AACxF,qCAAqC,uCAAuC;AAC5E,iGAAiG,2EAA2E;AAC5K;AACA;AACA,iBAAiB;;;;;;;;;;;AC/DJ;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,2BAA2B;AAC3B,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,2EAA0B;AACtD,iBAAiB,mBAAO,CAAC,8DAAc;AACvC,gBAAgB,2BAA2B;AAC3C,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,gDAAgD,mBAAmB;AACnE;AACA,mDAAmD,2EAA2E;AAC9H;AACA,2BAA2B;;;;;;;;;;;ACxCd;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,kBAAkB,mBAAO,CAAC,sEAAa;AACvC,6CAA4C,EAAE,qCAAqC,iCAAiC,EAAC;;;;;;;;;;;ACJxG;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;;ACjFY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,yBAAyB;AACzB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,qCAAqC,mBAAO,CAAC,0DAAY;AACzD,aAAa,mBAAO,CAAC,uGAAwC;AAC7D,iBAAiB,mBAAO,CAAC,qFAA+B;AACxD,kCAAkC,mBAAO,CAAC,wFAA4B;AACtE,iBAAiB,mBAAO,CAAC,2DAAW;AACpC,sBAAsB,mBAAO,CAAC,wFAA4B;AAC1D,iBAAiB,mBAAO,CAAC,mEAAe;AACxC,oBAAoB,mBAAO,CAAC,kFAAyB;AACrD,mCAAmC,mBAAO,CAAC,+FAA4B;AACvE,+CAA+C,SAAS,IAAI,KAAK;AACjE,sBAAsB,mBAAmB;AACzC;AACA;AACA,2CAA2C,gGAAgG;AAC3I;AACA;AACA;AACA;AACA;AACA,uCAAuC,sEAAsE;AAC7G;AACA;AACA;AACA;AACA;AACA,6BAA6B,qEAAqE;AAClG;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA,yCAAyC,2BAA2B;AACpE,qCAAqC,uBAAuB;AAC5D,mDAAmD,iDAAiD;AACpG,2CAA2C,iEAAiE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,wBAAwB;AACrE,+DAA+D,+CAA+C;AAC9G,8FAA8F,wMAAwM;AACtS,qCAAqC,uBAAuB;AAC5D,8CAA8C,sCAAsC;AACpF,6EAA6E,sDAAsD;AACnI;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB;AAC3E;AACA,yBAAyB;;;;;;;;;;;ACpFZ;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,yBAAyB;AACzB,0BAA0B,mBAAO,CAAC,kFAAqB;AACvD,qDAAoD,EAAE,qCAAqC,iDAAiD,EAAC;;;;;;;;;;;ACJhI;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc;AACd,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,oBAAoB,mBAAO,CAAC,2EAA0B;AACtD;AACA,oBAAoB,mFAA2C;AAC/D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,yCAAyC,2BAA2B;AACpE,sCAAsC,yBAAyB;AAC/D;AACA;AACA;AACA,mCAAmC,sEAAsE;AACzG;AACA,mCAAmC,kCAAkC,yBAAyB,UAAU;AACxG;AACA,mCAAmC,iFAAiF;AACpH;AACA,cAAc;;;;;;;;;;;ACzDD;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc;AACd,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA;AACA,YAAY,sCAAsC;AAClD,4CAA4C,yFAAyF;AACrI;AACA,cAAc;;;;;;;;;;;AClDD;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,YAAY;AACZ,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB,mBAAO,CAAC,8DAAc;AACvC,kBAAkB,mBAAO,CAAC,iEAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA,uBAAuB,cAAc;AACrC;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,YAAY,QAAQ,kDAAkD,+BAA+B;AACrG,yCAAyC,gFAAgF;AACzH,+CAA+C,qCAAqC;AACpF,mDAAmD,kCAAkC;AACrF,6CAA6C,kCAAkC;AAC/E,mEAAmE,YAAY;AAC/E,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA,2DAA2D,4BAA4B;AACvF,wCAAwC,yBAAyB;AACjE,yCAAyC,6BAA6B;AACtE,8CAA8C,6BAA6B;AAC3E,8CAA8C,6BAA6B;AAC3E;AACA,YAAY;;;;;;;;;;;ACvFC;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,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AAC7C,gDAA+C,EAAE,qCAAqC,uCAAuC,EAAC;AAC9H,iBAAiB,mBAAO,CAAC,sEAAY;AACrC,4CAA2C,EAAE,qCAAqC,+BAA+B,EAAC;;;;;;;;;;;ACRrG;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;;;;;;;;;;AClDJ;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,qBAAqB;AACrB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,iBAAiB,mBAAO,CAAC,6EAAwB;AACjD,oBAAoB,mBAAO,CAAC,2EAA0B;AACtD;AACA,cAAc,2BAA2B,MAAM,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO,kCAAkC,0BAA0B;AAC5F,qBAAqB;;;;;;;;;;;ACxCR;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,qBAAqB;AACrB,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBA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3C,0BAA0B,mBAAO,CAAC,sFAAmB;AACrD,+BAA+B,UAAU,OAAO,+BAA+B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,YAAY,sFAAsF;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,gEAAgE;AACzG,+CAA+C,kCAAkC;AACjF,yDAAyD,gBAAgB;AACzE,yCAAyC,2BAA2B;AACpE,uDAAuD,kCAAkC;AACzF;AACA,sEAAsE,uDAAuD;AAC7H;AACA,wEAAwE,uBAAuB;AAC/F,uDAAuD,0CAA0C;AACjG,yDAAyD,0BAA0B;AACnF,iFAAiF,sDAAsD;AACvI,+DAA+D,mBAAmB;AAClF;AACA;AACA;AACA;AACA;AACA,yIAAyI,0BAA0B,mGAAmG,+FAA+F;AACrW,uEAAuE,mDAAmD;AAC1H;AACA,sBAAsB;;;;;;;;;;;ACvGT;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,4BAA4B;AAC5B,2BAA2B,mBAAO,CAAC,gDAAO;AAC1C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,kBAAkB,mBAAO,CAAC,iEAAY;AACtC,qBAAqB,mBAAO,CAAC,4EAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD,gCAAgC,+CAA+C;AAC/E;AACA,yCAAyC,8BAA8B;AACvE,qCAAqC,wBAAwB;AAC7D,0CAA0C,yBAAyB;AACnE,qCAAqC,wBAAwB;AAC7D;AACA,2DAA2D,4CAA4C;AACvG,sDAAsD,6BAA6B;AACnF;AACA,4BAA4B;;;;;;;;;;;AClFf;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uBAAuB;AACvB,6BAA6B,mBAAO,CAAC,gDAAO;AAC5C,oBAAoB,mBAAO,CAAC,qEAAW;AACvC,iBAAiB,mBAAO,CAAC,2FAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mDAAmD,8BAA8B;AACjF,+CAA+C,yCAAyC;AACxF,gDAAgD,2BAA2B;AAC3E;AACA,uBAAuB;;;;;;;;;;;AChGV;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uBAAuB;AACvB,oBAAoB,mBAAO,CAAC,qEAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;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C;AAC7D,mBAAmB;AACnB,6BAA6B,mBAAO,CAAC,wFAAsB;AAC3D,8BAA8B,eAAe;AAC7C;AACA;AACA,yCAAyC,YAAY,QAAQ,eAAe;AAC5E;AACA;AACA;AACA,iDAAiD,wBAAwB,IAAI,KAAK,GAAG,KAAK,aAAa;AACvG,SAAS,IAAI,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA,mBAAmB;;;;;;;;;;;ACnCN;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,+BAA+B,GAAG,0BAA0B;AAC5D,oBAAoB,mBAAO,CAAC,iEAAc;AAC1C;AACA;AACA;AACA,CAAC;AACD,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc,GAAG,cAAc;AACjE,4BAA4B,mCAAmC;AAC/D;AACA,yCAAyC,YAAY,4CAA4C,mBAAmB,oCAAoC,UAAU,qBAAqB,MAAM,GAAG;AAChM;AACA,+BAA+B;;;;;;;;;;;;;;;;;UCtB/B;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;;;;;WCVA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEhDA;UACA;UACA;UACA;UACA","sources":["webpack://@creature-chess-app/web-menu/./src/app.tsx","webpack://@creature-chess-app/web-menu/./src/index.tsx","webpack://@creature-chess-app/web-menu/./src/pages/home.tsx","webpack://@creature-chess-app/web-menu/./src/pages/login.tsx","webpack://@creature-chess-app/web-menu/./src/pages/register.tsx","webpack://@creature-chess-app/web-menu/./src/patchUser.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/auth0/config.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/auth0/internal/localUserProvider.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/auth0/internal/useLocalUserDto.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/auth0/provider.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/context.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/auth/http/getCurrentUser.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/shared/constants.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/GamemodeSettingsContext.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/components/Button.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/gameBoard/DynamicAspectRatioComponent.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/gameBoard/GameBoard.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/gameBoard/GameBoardContext.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/gameBoard/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/hooks/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/hooks/useOnClickOutside.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/layout/Group.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/layout/Half.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/layout/Layout.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/layout/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/LobbyPage.styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/LobbyPage.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/LobbyPageContext.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/LobbyPlayerBanner/LobbyPlayerBanner.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/settings/LobbySettingInput.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/settings/SettingsMenu.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/lobby/settings/useOpenSettingsMenu.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/MenuPage.styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/MenuPage.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/MenuPageContext.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/login/LoginPage.styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/login/LoginPage.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/login/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/RegistrationPage.styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/RegistrationPage.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/input/BaseRegistrationInput.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/input/NicknameSelection.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/pages/menu/registration/input/PictureSelection.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/Piece.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/PieceContext.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/Projectile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/match/MatchPiece.styles.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/match/MatchPiece.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/match/animation.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/match/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/meta/PieceHealthbar.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/meta/PieceMeta.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/meta/PieceStageIndicator.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/piece/meta/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/player/PlayerGameProfile.styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/player/PlayerGameProfile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/player/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/Footer.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/button.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/cardShop/card.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/cardShop/cardSelector.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/cardShop/cardShop.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/cardShop/currentCard.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/cardShop/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/countdown.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/display/TypeIndicator.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/display/creatureImage.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/display/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/display/label.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/display/progressBar.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/avatar.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/healthbar.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/name.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/profile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/player/title.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/playerList/battleInfo.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/playerList/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/playerList/playerListItem.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/playerList/statusPlayerListItem.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/src/playerList/streakIndicator.tsx","webpack://@creature-chess-app/web-menu/../../modules/@cc-web/ui/styles.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/gamemode/src/player/xp.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/config.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/game/playerList.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/player/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/player/streak.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/builders/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/creatureDefinition.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/creatureType.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/game-phase.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/position.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/models/src/quickChat.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/user/profile/constants.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/user/profile/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@creature-chess/user/profile/nickname.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/DndProvider.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/BoardGrid.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/BoardGridRows.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/TileRow.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/items/BoardItem.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/items/BoardItems.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/items/DraggableBoardItem.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/tile/DroppableTile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/tile/Tile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/components/tile/UndroppableTile.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/context.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/events.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki-web/board-react/src/useElementSize.tsx","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/index.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/positionSort.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/selectors.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/state.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/utils/filter.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/utils/mergeBoards.ts","webpack://@creature-chess-app/web-menu/../../modules/@shoki/board/src/utils/rotateGridPosition.ts","webpack://@creature-chess-app/web-menu/webpack/bootstrap","webpack://@creature-chess-app/web-menu/webpack/runtime/chunk loaded","webpack://@creature-chess-app/web-menu/webpack/runtime/compat get default export","webpack://@creature-chess-app/web-menu/webpack/runtime/define property getters","webpack://@creature-chess-app/web-menu/webpack/runtime/global","webpack://@creature-chess-app/web-menu/webpack/runtime/harmony module decorator","webpack://@creature-chess-app/web-menu/webpack/runtime/hasOwnProperty shorthand","webpack://@creature-chess-app/web-menu/webpack/runtime/make namespace object","webpack://@creature-chess-app/web-menu/webpack/runtime/jsonp chunk loading","webpack://@creature-chess-app/web-menu/webpack/before-startup","webpack://@creature-chess-app/web-menu/webpack/startup","webpack://@creature-chess-app/web-menu/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.App = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_modal_1 = __importDefault(require(\"react-modal\"));\nconst context_1 = require(\"@cc-web/auth/context\");\nconst ui_1 = require(\"@cc-web/ui\");\nconst home_1 = require(\"./pages/home\");\nconst login_1 = require(\"./pages/login\");\nreact_modal_1.default.setAppElement(\"#approot\");\nconst App = () => {\n const localPlayer = (0, context_1.useLocalPlayer)();\n (0, ui_1.useGlobalStyles)();\n if (!localPlayer) {\n return React.createElement(login_1.MenuLoginPage, null);\n }\n return React.createElement(home_1.MenuHomePage, null);\n};\nexports.App = App;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst React = __importStar(require(\"react\"));\nconst client_1 = require(\"react-dom/client\");\nconst config_1 = require(\"@cc-web/auth/auth0/config\");\nconst context_1 = require(\"@cc-web/auth/context\");\nconst app_1 = require(\"./app\");\nconst Auth0AppRoot = ({ children }) => {\n const onRedirectCallback = React.useCallback((appState) => {\n window.location.href = (appState === null || appState === void 0 ? void 0 : appState.returnTo) || window.location.pathname;\n }, []);\n const Auth0AuthProvider = React.useMemo(\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n () => require(\"@cc-web/auth/auth0/provider\").Auth0AuthProvider, []);\n return (React.createElement(Auth0AuthProvider, { onRedirectCallback: onRedirectCallback }, children));\n};\nconst AppRoot = () => {\n if (config_1.AUTH0_ENABLED) {\n return (React.createElement(Auth0AppRoot, null,\n React.createElement(app_1.App, null)));\n }\n return (React.createElement(context_1.LocalPlayerContextProvider, { value: null },\n React.createElement(app_1.App, null)));\n};\nconst container = document.getElementById(\"approot\");\nconst root = (0, client_1.createRoot)(container);\nroot.render(React.createElement(AppRoot, null));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MenuHomePage = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst context_1 = require(\"@cc-web/auth/context\");\nconst ui_1 = require(\"@cc-web/ui\");\nconst register_1 = require(\"./register\");\nfunction MenuHomePage() {\n const localPlayer = (0, context_1.useLocalPlayer)();\n if (!localPlayer) {\n return react_1.default.createElement(\"span\", null, \"please wait...\");\n }\n if (localPlayer.type === \"user\" && localPlayer.registered) {\n return react_1.default.createElement(register_1.MenuRegistrationPage, null);\n }\n const onFindGameClick = () => {\n window.location.href = process.env.GAME_SERVER_URL;\n };\n const menuPageContext = {\n findGame: onFindGameClick,\n auth: {\n logout: () => {\n /* .. */\n },\n },\n };\n return (react_1.default.createElement(ui_1.MenuPageContextProvider, { value: menuPageContext },\n react_1.default.createElement(ui_1.MenuPage, null)));\n}\nexports.MenuHomePage = MenuHomePage;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MenuLoginPage = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst config_1 = require(\"@cc-web/auth/auth0/config\");\nconst ui_1 = require(\"@cc-web/ui\");\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst useAuth0 = config_1.AUTH0_ENABLED ? require(\"@auth0/auth0-react\").useAuth0 : null;\nconst MenuLoginPage = () => {\n const onPlayAsGuestClick = () => {\n window.location.href = process.env.GAME_SERVER_URL + \"?guest=true\";\n };\n if (useAuth0) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { loginWithRedirect, isLoading } = useAuth0();\n return (react_1.default.createElement(ui_1.LoginPage, { onPlayAsGuestClick: onPlayAsGuestClick, auth0Enabled: true, isLoading: isLoading, onSignInClick: loginWithRedirect }));\n }\n return react_1.default.createElement(ui_1.LoginPage, { onPlayAsGuestClick: onPlayAsGuestClick });\n};\nexports.MenuLoginPage = MenuLoginPage;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MenuRegistrationPage = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst config_1 = require(\"@cc-web/auth/auth0/config\");\nconst ui_1 = require(\"@cc-web/ui\");\nconst patchUser_1 = require(\"../patchUser\");\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst useAuth0 = config_1.AUTH0_ENABLED ? require(\"@auth0/auth0-react\").useAuth0 : null;\nfunction MenuRegistrationPage() {\n if (!useAuth0) {\n return react_1.default.createElement(\"span\", null, \"an error occured, please clear cache and try again\");\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { getAccessTokenSilently, getIdTokenClaims, refresh } = useAuth0();\n const updateUser = (nickname, image) => __awaiter(this, void 0, void 0, function* () {\n const token = yield getAccessTokenSilently();\n const response = yield (0, patchUser_1.patchUser)(token, nickname, image);\n if (response.status === 400) {\n const { error } = yield response.json();\n return { error };\n }\n if (response.status === 200) {\n yield getAccessTokenSilently({ ignoreCache: true });\n yield getIdTokenClaims();\n refresh();\n return { error: null };\n }\n return { error: \"An unknown error occured\" };\n });\n return react_1.default.createElement(ui_1.RegistrationPage, { updateUser: updateUser });\n}\nexports.MenuRegistrationPage = MenuRegistrationPage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.patchUser = void 0;\nconst CURRENT_USER_ENDPOINT = `${process.env.API_INFO_URL}/user/current`;\nconst patchUser = (token, nickname, picture) => fetch(CURRENT_USER_ENDPOINT, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Authorization\": token,\n },\n body: JSON.stringify({ nickname, picture }),\n});\nexports.patchUser = patchUser;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.auth0Config = exports.AUTH0_ENABLED = void 0;\nconst constants_1 = require(\"@cc-web/shared/constants\");\nexports.AUTH0_ENABLED = process.env.AUTH0_ENABLED === \"true\";\nexports.auth0Config = {\n domain: process.env.AUTH0_DOMAIN,\n clientID: process.env.AUTH0_SPA_CLIENT_ID,\n redirectUri: constants_1.APP_BASE_URL,\n audience: `https://${process.env.AUTH0_DOMAIN}/api/v2/`,\n scope: \"openid profile email\",\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Auth0LocalUserProvider = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst context_1 = require(\"../../context\");\nconst useLocalUserDto_1 = require(\"./useLocalUserDto\");\n/**\n * Provides the local user (from auth0) to the LocalPlayerContext\n */\nconst Auth0LocalUserProvider = ({ children, }) => {\n const { user } = (0, useLocalUserDto_1.useLocalUserDTO)();\n if (!user) {\n return (react_1.default.createElement(context_1.LocalPlayerContextProvider, { value: null }, children));\n }\n const player = Object.assign(Object.assign({}, user), { type: \"user\" });\n return (react_1.default.createElement(context_1.LocalPlayerContextProvider, { value: player }, children));\n};\nexports.Auth0LocalUserProvider = Auth0LocalUserProvider;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalUserDTO = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst auth0_react_1 = require(\"@auth0/auth0-react\");\nconst getCurrentUser_1 = require(\"../../http/getCurrentUser\");\n/**\n * Calls the current user endpoint and returns the user\n *\n * Allows you to refresh the user by calling the refresh function,\n * will also refresh if the auth0 user changes\n *\n * @returns\n * - user: the current user\n * - isFetching: whether the user is currently being fetched\n * - error: any error that occurred\n * - refresh: a function to refresh the user\n */\nfunction useLocalUserDTO() {\n const { user: auth0User, getAccessTokenSilently } = (0, auth0_react_1.useAuth0)();\n const [currentUser, setCurrentUser] = react_1.default.useState(null);\n const [isFetching, setIsFetching] = react_1.default.useState(false);\n const [error, setError] = react_1.default.useState(null);\n const [shouldRefresh, setShouldRefresh] = react_1.default.useState(true);\n const refresh = react_1.default.useCallback(() => {\n setShouldRefresh(true);\n setError(null);\n }, []);\n react_1.default.useEffect(() => {\n const getUser = () => __awaiter(this, void 0, void 0, function* () {\n if (!auth0User) {\n return;\n }\n if (currentUser && !shouldRefresh) {\n return;\n }\n if (isFetching) {\n return;\n }\n if (error) {\n return;\n }\n setIsFetching(true);\n const token = yield getAccessTokenSilently();\n const response = yield (0, getCurrentUser_1.getCurrentUser)(token);\n setIsFetching(false);\n setShouldRefresh(false);\n if (response.status !== 200) {\n try {\n const { message } = yield response.json();\n setError(message);\n return;\n }\n catch (e) {\n setError(\"An unknown error occurred\");\n return;\n }\n }\n const user = yield response.json();\n setCurrentUser(user);\n });\n getUser();\n }, [\n auth0User,\n currentUser,\n getAccessTokenSilently,\n isFetching,\n shouldRefresh,\n error,\n ]);\n return { user: currentUser, isFetching, error, refresh };\n}\nexports.useLocalUserDTO = useLocalUserDTO;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Auth0AuthProvider = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst auth0_react_1 = require(\"@auth0/auth0-react\");\nconst config_1 = require(\"./config\");\nconst localUserProvider_1 = require(\"./internal/localUserProvider\");\n/**\n * Handles authentication with auth0 and loading of user data from the API\n *\n * This file should be conditionally imported based on whether or not auth0 is enabled\n */\nconst Auth0AuthProvider = ({ children, onRedirectCallback, }) => {\n const { domain, clientID, redirectUri } = config_1.auth0Config;\n if (!domain) {\n throw Error(\"no auth0 domain\");\n }\n if (!clientID) {\n throw Error(\"no auth0 clientID\");\n }\n if (!redirectUri) {\n throw Error(\"no auth0 redirectUri\");\n }\n return (react_1.default.createElement(auth0_react_1.Auth0Provider, { domain: domain, clientId: clientID, redirectUri: config_1.auth0Config.redirectUri, audience: config_1.auth0Config.audience, scope: config_1.auth0Config.scope, cacheLocation: \"localstorage\", onRedirectCallback: onRedirectCallback, useRefreshTokens: true },\n react_1.default.createElement(localUserProvider_1.Auth0LocalUserProvider, null, children)));\n};\nexports.Auth0AuthProvider = Auth0AuthProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLocalPlayerId = exports.useLocalPlayer = exports.LocalPlayerContextProvider = exports.LocalPlayerContext = void 0;\nconst react_1 = require(\"react\");\nexports.LocalPlayerContext = (0, react_1.createContext)(null);\nexports.LocalPlayerContext.displayName = \"LocalPlayerContext\";\nexports.LocalPlayerContextProvider = exports.LocalPlayerContext.Provider;\nconst useLocalPlayer = () => (0, react_1.useContext)(exports.LocalPlayerContext);\nexports.useLocalPlayer = useLocalPlayer;\nconst useLocalPlayerId = () => { var _a; return ((_a = (0, exports.useLocalPlayer)()) === null || _a === void 0 ? void 0 : _a.id) || \"\"; };\nexports.useLocalPlayerId = useLocalPlayerId;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCurrentUser = void 0;\nconst CURRENT_USER_ENDPOINT = `${process.env.API_INFO_URL}/user/current`;\nconst getCurrentUser = (token) => fetch(CURRENT_USER_ENDPOINT, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Authorization\": token,\n },\n});\nexports.getCurrentUser = getCurrentUser;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IMAGE_BASE_URL = exports.APP_BASE_URL = void 0;\nexports.APP_BASE_URL = process.env.CREATURE_CHESS_APP_URL;\nexports.IMAGE_BASE_URL = process.env.CREATURE_CHESS_IMAGE_URL;\nif (!exports.APP_BASE_URL) {\n throw new Error(\"No APP_BASE_URL set\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useGamemodeSettings = exports.GamemodeSettingsContextProvider = exports.GamemodeSettingsContext = void 0;\nconst react_1 = require(\"react\");\nexports.GamemodeSettingsContext = (0, react_1.createContext)(null);\nexports.GamemodeSettingsContext.displayName = \"GamemodeSettingsContext\";\nexports.GamemodeSettingsContextProvider = exports.GamemodeSettingsContext.Provider;\nconst useGamemodeSettings = () => {\n const settings = (0, react_1.useContext)(exports.GamemodeSettingsContext);\n if (!settings) {\n throw new Error(\"No valid GamemodeSettingsContext found for useGamemodeSettings\");\n }\n return settings;\n};\nexports.useGamemodeSettings = useGamemodeSettings;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Button = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nfunction getFontSize(size) {\n switch (size) {\n case \"small\":\n return \"0.8rem\";\n case \"large\":\n return \"1rem\";\n default:\n case \"medium\":\n return \"0.9rem\";\n }\n}\nfunction getPadding(size) {\n switch (size) {\n case \"small\":\n return \"0.4em 0.8em\";\n case \"large\":\n return \"0.8em 1.6em\";\n default:\n case \"medium\":\n return \"0.6em 1.2em\";\n }\n}\nfunction getBackgroundColor(type) {\n switch (type) {\n case \"secondary\":\n return \"#e1cab9\";\n default:\n case \"primary\":\n return \"#b13e53\";\n }\n}\nfunction getTextColor(type) {\n switch (type) {\n case \"secondary\":\n return \"#393939\";\n default:\n case \"primary\":\n return \"#fff\";\n }\n}\nconst useStyles = (0, react_jss_1.createUseStyles)({\n button: (props) => ({\n \"padding\": getPadding(props.size),\n \"marginBottom\": \"1rem\",\n \"fontSize\": getFontSize(props.size),\n \"cursor\": \"pointer\",\n \"border\": \"none\",\n \"borderRadius\": \"4px\",\n \"color\": getTextColor(props.type),\n \"background\": getBackgroundColor(props.type),\n \"transition\": `background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n\t\t\tbox-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n\t\t\tborder-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n\t\t\tcolor 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n\t\t\tfilter 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms`,\n \"&:hover, &:focus\": {\n outline: \"none\",\n filter: \"brightness(1.1)\",\n boxShadow: \"0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12)\",\n },\n }),\n});\nfunction Button(props) {\n const styles = useStyles(props);\n return (react_1.default.createElement(\"button\", { onClick: props.onClick, className: styles.button }, props.children));\n}\nexports.Button = Button;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DynamicAspectRatioComponent = void 0;\nconst react_1 = __importStar(require(\"react\"));\n/**\n * This component will adjust its size to maintain the given aspect ratio,\n * while filling its parent container as much as possible.\n *\n * @param aspectRatio The aspect ratio to maintain\n */\nfunction DynamicAspectRatioComponent({ aspectRatio, children, containerRef, }) {\n const [width, setWidth] = (0, react_1.useState)(\"100%\");\n const [height, setHeight] = (0, react_1.useState)(\"100%\");\n const componentRef = (0, react_1.useRef)(null);\n const adjustComponentSize = (0, react_1.useCallback)(() => {\n const container = containerRef.current;\n const component = componentRef.current;\n if (container && component) {\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n const containerAspectRatio = containerWidth / containerHeight;\n if (aspectRatio > containerAspectRatio) {\n // Width bound\n setWidth(\"100%\");\n setHeight(`${containerWidth / aspectRatio}px`);\n }\n else {\n // Height bound\n setWidth(`${containerHeight * aspectRatio}px`);\n setHeight(\"100%\");\n }\n }\n }, [aspectRatio, containerRef]);\n (0, react_1.useEffect)(() => {\n // Initial adjustment\n adjustComponentSize();\n // Listen to window resize event for edge cases (like window resizing)\n window.addEventListener(\"resize\", adjustComponentSize);\n // Observe size changes in the container\n const resizeObserver = new ResizeObserver(() => {\n adjustComponentSize();\n });\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n return () => {\n window.removeEventListener(\"resize\", adjustComponentSize);\n resizeObserver.disconnect();\n };\n }, [adjustComponentSize, containerRef]);\n return (react_1.default.createElement(\"div\", { ref: componentRef, style: {\n width,\n height,\n position: \"relative\",\n } }, children));\n}\nexports.DynamicAspectRatioComponent = DynamicAspectRatioComponent;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GameBoard = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst board_react_1 = require(\"@shoki-web/board-react\");\nconst DynamicAspectRatioComponent_1 = require(\"./DynamicAspectRatioComponent\");\nconst GameBoardContext_1 = require(\"./GameBoardContext\");\nconst createClickEvent = (location) => ({ location });\nconst createDropPieceEvent = (id, location) => ({ id, location });\nfunction useEvents({ onClick, onDropPiece, }) {\n const onClickBoard = React.useCallback(({ x, y }) => {\n if (!onClick) {\n return;\n }\n onClick(createClickEvent({ locationType: \"board\", x, y }));\n }, [onClick]);\n const onClickBench = React.useCallback(({ x }) => {\n if (!onClick) {\n return;\n }\n onClick(createClickEvent({ locationType: \"bench\", x }));\n }, [onClick]);\n const onDropBoard = React.useCallback(({ id, x, y }) => {\n if (!onDropPiece) {\n return;\n }\n onDropPiece(createDropPieceEvent(id, { locationType: \"board\", x, y }));\n }, [onDropPiece]);\n const onDropBench = React.useCallback(({ id, x }) => {\n if (!onDropPiece) {\n return;\n }\n onDropPiece(createDropPieceEvent(id, { locationType: \"bench\", x }));\n }, [onDropPiece]);\n return {\n onClickBoard,\n onClickBench,\n onDropBoard,\n onDropBench,\n };\n}\nfunction useRenderers({ renderBoardPiece, renderBenchPiece, }) {\n const { board, bench } = (0, GameBoardContext_1.useGameBoard)();\n const boardPieceRenderer = React.useMemo(() => (item) => {\n const piece = item;\n const draggable = !board.locked;\n return {\n item: renderBoardPiece(piece),\n draggable,\n };\n }, [board.locked, renderBoardPiece]);\n const benchPieceRenderer = React.useMemo(() => (item) => {\n const piece = item;\n const draggable = !bench.locked;\n return {\n item: renderBenchPiece(piece),\n draggable,\n };\n }, [bench.locked, renderBenchPiece]);\n return { boardPieceRenderer, benchPieceRenderer };\n}\nconst useStyles = (0, react_jss_1.createUseStyles)({\n gameBoard: {\n \"height\": \"100%\",\n \"width\": \"100%\",\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"justifyContent\": \"center\",\n \"& .tile.dark\": {\n background: \"#38b764\",\n },\n \"& .tile.light\": {\n background: \"#a7f070\",\n },\n },\n board: {\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n height: \"78%\",\n },\n bench: {\n \"position\": \"absolute\",\n \"bottom\": \"0\",\n \"width\": \"100%\",\n \"height\": \"20%\",\n \"& .tile\": {\n background: \"#9e9e9e !important\",\n boxShadow: \"inset 0 0 2px #404040\",\n },\n },\n benchBoard: {\n position: \"absolute\",\n bottom: \"0\",\n },\n});\nfunction GameBoard({ renderBoardPiece, renderBenchPiece, onClick, onDropPiece, }) {\n const { board, bench } = (0, GameBoardContext_1.useGameBoard)();\n const { boardPieceRenderer, benchPieceRenderer } = useRenderers({\n renderBoardPiece,\n renderBenchPiece,\n });\n const { onClickBoard, onClickBench, onDropBoard, onDropBench } = useEvents({\n onClick,\n onDropPiece,\n });\n const styles = useStyles();\n const ref = React.useRef(null);\n /**\n * How much space, in tiles, to leave between the board and the bench.\n */\n const SPACER_TILE_HEIGHT = 0.2;\n const aspectRatio = board.size.width /\n (board.size.height + bench.size.height + SPACER_TILE_HEIGHT);\n return (React.createElement(\"div\", { className: styles.gameBoard, ref: ref },\n React.createElement(DynamicAspectRatioComponent_1.DynamicAspectRatioComponent, { aspectRatio: aspectRatio, containerRef: ref },\n React.createElement(\"div\", { className: styles.board },\n React.createElement(board_react_1.BoardGrid, { state: board, onDropItem: onDropBoard, onClickTile: onClickBoard, renderItem: boardPieceRenderer })),\n React.createElement(\"div\", { className: styles.bench },\n React.createElement(board_react_1.BoardGrid, { state: bench, onDropItem: onDropBench, onClickTile: onClickBench, renderItem: benchPieceRenderer, boardClassName: styles.benchBoard })))));\n}\nexports.GameBoard = GameBoard;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useGameBoard = exports.GameBoardContextProvider = void 0;\nconst react_1 = require(\"react\");\nconst GameBoardContext = (0, react_1.createContext)(null);\nGameBoardContext.displayName = \"GameBoardContext\";\nexports.GameBoardContextProvider = GameBoardContext.Provider;\nconst useGameBoard = () => {\n const GameBoard = (0, react_1.useContext)(GameBoardContext);\n if (!GameBoard) {\n throw new Error(\"No valid GameBoardContext found for useGameBoard\");\n }\n return GameBoard;\n};\nexports.useGameBoard = useGameBoard;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useGameBoard = exports.GameBoardContextProvider = exports.GameBoard = void 0;\nvar GameBoard_1 = require(\"./GameBoard\");\nObject.defineProperty(exports, \"GameBoard\", { enumerable: true, get: function () { return GameBoard_1.GameBoard; } });\nvar GameBoardContext_1 = require(\"./GameBoardContext\");\nObject.defineProperty(exports, \"GameBoardContextProvider\", { enumerable: true, get: function () { return GameBoardContext_1.GameBoardContextProvider; } });\nObject.defineProperty(exports, \"useGameBoard\", { enumerable: true, get: function () { return GameBoardContext_1.useGameBoard; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useOnClickOutside = void 0;\nvar useOnClickOutside_1 = require(\"./useOnClickOutside\");\nObject.defineProperty(exports, \"useOnClickOutside\", { enumerable: true, get: function () { return useOnClickOutside_1.useOnClickOutside; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useOnClickOutside = void 0;\nconst React = __importStar(require(\"react\"));\nconst useOnClickOutside = (ref, handler) => {\n React.useEffect(() => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, \n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, handler]);\n};\nexports.useOnClickOutside = useOnClickOutside;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Countdown = exports.useGlobalStyles = exports.Footer = exports.StreakIndicator = exports.StatusPlayerListItem = exports.PlayerListItem = exports.Label = exports.TypeIndicator = exports.ProgressBar = exports.CreatureImage = exports.Card = exports.CardShop = exports.Title = exports.PlayerAvatar = exports.PlayerProfile = exports.PlayerName = exports.PlayerHealthbar = void 0;\n__exportStar(require(\"./layout\"), exports);\nvar player_1 = require(\"./src/player\");\nObject.defineProperty(exports, \"PlayerHealthbar\", { enumerable: true, get: function () { return player_1.PlayerHealthbar; } });\nObject.defineProperty(exports, \"PlayerName\", { enumerable: true, get: function () { return player_1.PlayerName; } });\nObject.defineProperty(exports, \"PlayerProfile\", { enumerable: true, get: function () { return player_1.PlayerProfile; } });\nObject.defineProperty(exports, \"PlayerAvatar\", { enumerable: true, get: function () { return player_1.PlayerAvatar; } });\nObject.defineProperty(exports, \"Title\", { enumerable: true, get: function () { return player_1.Title; } });\nvar cardShop_1 = require(\"./src/cardShop\");\nObject.defineProperty(exports, \"CardShop\", { enumerable: true, get: function () { return cardShop_1.CardShop; } });\nObject.defineProperty(exports, \"Card\", { enumerable: true, get: function () { return cardShop_1.Card; } });\nvar display_1 = require(\"./src/display\");\nObject.defineProperty(exports, \"CreatureImage\", { enumerable: true, get: function () { return display_1.CreatureImage; } });\nObject.defineProperty(exports, \"ProgressBar\", { enumerable: true, get: function () { return display_1.ProgressBar; } });\nObject.defineProperty(exports, \"TypeIndicator\", { enumerable: true, get: function () { return display_1.TypeIndicator; } });\nObject.defineProperty(exports, \"Label\", { enumerable: true, get: function () { return display_1.Label; } });\nvar playerList_1 = require(\"./src/playerList\");\nObject.defineProperty(exports, \"PlayerListItem\", { enumerable: true, get: function () { return playerList_1.PlayerListItem; } });\nObject.defineProperty(exports, \"StatusPlayerListItem\", { enumerable: true, get: function () { return playerList_1.StatusPlayerListItem; } });\nObject.defineProperty(exports, \"StreakIndicator\", { enumerable: true, get: function () { return playerList_1.StreakIndicator; } });\nvar Footer_1 = require(\"./src/Footer\");\nObject.defineProperty(exports, \"Footer\", { enumerable: true, get: function () { return Footer_1.Footer; } });\n__exportStar(require(\"./pages\"), exports);\nvar styles_1 = require(\"./styles\");\nObject.defineProperty(exports, \"useGlobalStyles\", { enumerable: true, get: function () { return styles_1.useGlobalStyles; } });\n__exportStar(require(\"./gameBoard\"), exports);\n__exportStar(require(\"./piece\"), exports);\n__exportStar(require(\"./player\"), exports);\nvar countdown_1 = require(\"./src/countdown\");\nObject.defineProperty(exports, \"Countdown\", { enumerable: true, get: function () { return countdown_1.Countdown; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst SPACER = \"1em\";\nconst useStyles = (0, react_jss_1.createUseStyles)({\n \"group\": {\n display: \"flex\",\n flex: \"1\",\n boxSizing: \"border-box\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n },\n \"@media (orientation: portrait)\": {\n group: ({ spacer }) => spacer\n ? {\n \"&:not(:first-child)\": {\n \"margin-top\": SPACER,\n },\n }\n : undefined,\n },\n \"@media (orientation: landscape)\": {\n group: ({ spacer }) => spacer\n ? {\n \"&:not(:first-child)\": {\n \"margin-left\": SPACER,\n },\n }\n : undefined,\n },\n});\nfunction Group({ children, className, spacer = true }) {\n const styles = useStyles({ spacer });\n return React.createElement(\"div\", { className: (0, classnames_1.default)(styles.group, className) }, children);\n}\nexports.Group = Group;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Half = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = __importDefault(require(\"react-jss\"));\nconst styles = ({ isVertical }) => ({\n half: isVertical ? { height: \"50%\" } : { width: \"50%\" },\n});\nconst UnstyledHalf = (props) => (React.createElement(\"div\", { className: (0, classnames_1.default)(props.classes.half, props.className) }, props.children));\nconst Half = (0, react_jss_1.default)(styles)(UnstyledHalf);\nexports.Half = Half;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layout = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst isVertical = (direction) => direction === \"column\" || direction === \"column-reverse\";\nconst getSpacer = (noSpacer) => noSpacer ? {} : { padding: \"0.25em\" };\nconst getSize = (grow) => grow ? { width: \"100%\", height: \"100%\" } : {};\nconst useStyles = (0, react_jss_1.createUseStyles)({\n layout: ({ direction, justifyContent = \"space-between\", noSpacer = false, grow = false, }) => (Object.assign(Object.assign({ display: \"flex\", justifyContent, flexDirection: direction }, getSize(grow)), getSpacer(noSpacer))),\n});\nconst Layout = (props) => {\n const classes = useStyles(props);\n const theme = { isVertical: isVertical(props.direction) };\n return (React.createElement(\"div\", { className: (0, classnames_1.default)(classes.layout, props.className) },\n React.createElement(react_jss_1.ThemeProvider, { theme: theme }, props.children)));\n};\nexports.Layout = Layout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layout = exports.Half = exports.Group = void 0;\nvar Group_1 = require(\"./Group\");\nObject.defineProperty(exports, \"Group\", { enumerable: true, get: function () { return Group_1.Group; } });\nvar Half_1 = require(\"./Half\");\nObject.defineProperty(exports, \"Half\", { enumerable: true, get: function () { return Half_1.Half; } });\nvar Layout_1 = require(\"./Layout\");\nObject.defineProperty(exports, \"Layout\", { enumerable: true, get: function () { return Layout_1.Layout; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lobby\"), exports);\n__exportStar(require(\"./menu\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nexports.useStyles = (0, react_jss_1.createUseStyles)({\n \"lobbyPage\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n width: \"100%\",\n overflow: \"scroll\",\n paddingTop: \"2em\",\n fontFamily: \"Arial, Helvetica, sans-serif\",\n color: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n \"lobbyInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"1rem\",\n marginTop: \"1rem\",\n textAlign: \"center\",\n background: \"#566c86\",\n },\n \"timeRemaining\": {\n padding: \"0.5em 0.6em\",\n marginBottom: \"1em\",\n textTransform: \"uppercase\",\n background: \"#333\",\n },\n \"timeRemainingHighlight\": {\n fontWeight: \"700\",\n },\n \"players\": {\n flex: \"1 0 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n flexWrap: \"wrap\",\n },\n \"playerWrapper\": {\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n \"@media (min-width: 1024px)\": {\n playerWrapper: {\n width: \"40%\",\n },\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LobbyPage = void 0;\nconst React = __importStar(require(\"react\"));\nconst Footer_1 = require(\"../../src/Footer\");\nconst countdown_1 = require(\"../../src/countdown\");\nconst LobbyPage_styles_1 = require(\"./LobbyPage.styles\");\nconst LobbyPageContext_1 = require(\"./LobbyPageContext\");\nconst LobbyPlayerBanner_1 = require(\"./LobbyPlayerBanner/LobbyPlayerBanner\");\nconst SettingsMenu_1 = require(\"./settings/SettingsMenu\");\nconst useOpenSettingsMenu_1 = require(\"./settings/useOpenSettingsMenu\");\nconst padNumberToTwo = (val) => (val < 10 ? `0${val}` : val.toString());\nconst countdownRender = (styles) => (totalSecondsRemaining) => {\n const minutesRemaining = Math.floor(totalSecondsRemaining / 60);\n const secondsRemaining = Math.ceil(totalSecondsRemaining % 60);\n const time = `${minutesRemaining}:${padNumberToTwo(secondsRemaining)}`;\n return (React.createElement(\"div\", { className: styles.timeRemaining },\n \"Game starting in\",\n \" \",\n React.createElement(\"span\", { className: styles.timeRemainingHighlight }, time)));\n};\nfunction LobbyPage() {\n const styles = (0, LobbyPage_styles_1.useStyles)();\n const { players, startingAtMs, maxPlayers, lobbyWaitTimeSeconds } = (0, LobbyPageContext_1.useLobbyPage)();\n const { targetRef: finalPlayerRef, menuOpen } = (0, useOpenSettingsMenu_1.useOpenSettingsMenu)();\n const playerItems = React.useMemo(() => {\n const output = [];\n for (let i = 0; i < maxPlayers; i++) {\n const player = players[i];\n output.push(React.createElement(\"div\", { key: player ? player.id : i, className: styles.playerWrapper, ref: i === maxPlayers - 1 ? finalPlayerRef : undefined },\n React.createElement(LobbyPlayerBanner_1.LobbyPlayerBanner, { player: player !== null && player !== void 0 ? player : null })));\n }\n return output;\n }, [maxPlayers, players, styles.playerWrapper, finalPlayerRef]);\n return (React.createElement(\"div\", { className: styles.lobbyPage },\n React.createElement(\"div\", { className: styles.lobbyInfo },\n startingAtMs && (React.createElement(countdown_1.Countdown, { countdownToSeconds: startingAtMs / 1000, render: countdownRender(styles) })),\n React.createElement(\"div\", { className: styles.players }, playerItems),\n React.createElement(\"p\", null,\n \"The game will start \",\n lobbyWaitTimeSeconds,\n \" seconds after the lobby is created, or immediately when there are \",\n maxPlayers,\n \" players\"),\n menuOpen && React.createElement(SettingsMenu_1.SettingsMenu, null)),\n React.createElement(Footer_1.Footer, null)));\n}\nexports.LobbyPage = LobbyPage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLobbyPage = exports.LobbyPageContextProvider = exports.LobbyPageContext = void 0;\nconst react_1 = require(\"react\");\nexports.LobbyPageContext = (0, react_1.createContext)(null);\nexports.LobbyPageContext.displayName = \"LobbyContext\";\nexports.LobbyPageContextProvider = exports.LobbyPageContext.Provider;\nconst useLobbyPage = () => {\n const lobbyPage = (0, react_1.useContext)(exports.LobbyPageContext);\n if (!lobbyPage) {\n throw new Error(\"No valid LobbyPageContext found for useLobbyPage\");\n }\n return lobbyPage;\n};\nexports.useLobbyPage = useLobbyPage;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LobbyPlayerBanner = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst constants_1 = require(\"@cc-web/shared/constants\");\nconst avatar_1 = require(\"../../../src/player/avatar\");\nconst title_1 = require(\"../../../src/player/title\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n player: {\n padding: \"0.4em 1em\",\n marginBottom: \"0.4em\",\n fontWeight: \"700\",\n textAlign: \"left\",\n background: \"#59616b\",\n fontFamily: \"Arial, Helvetica, sans-serif\",\n color: \"#fff\",\n userSelect: \"none\",\n },\n nameAndImage: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"stretch\",\n marginBottom: \"0.25rem\",\n },\n bot: {\n fontStyle: \"italic\",\n color: \"#d0d0d0\",\n },\n});\nconst NO_PLAYER_IMAGE = `${constants_1.IMAGE_BASE_URL}/ui/no_player_img.png`;\nconst LobbyPlayerBanner = ({ player }) => {\n var _a;\n const styles = useStyles();\n if (!player) {\n return (React.createElement(\"div\", { className: `${styles.player} ${styles.bot}` },\n React.createElement(\"span\", { className: styles.nameAndImage },\n React.createElement(\"img\", { src: NO_PLAYER_IMAGE, alt: \"no player image\" }),\n React.createElement(\"div\", null),\n \"empty slot\")));\n }\n return (React.createElement(\"div\", { className: styles.player },\n React.createElement(\"span\", { className: styles.nameAndImage },\n React.createElement(avatar_1.PlayerAvatar, { player: player }),\n React.createElement(\"div\", null),\n player.name),\n React.createElement(title_1.Title, { title: (_a = player.profile) === null || _a === void 0 ? void 0 : _a.title })));\n};\nexports.LobbyPlayerBanner = LobbyPlayerBanner;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLobbyPage = exports.LobbyPageContextProvider = exports.LobbyPage = void 0;\nvar LobbyPage_1 = require(\"./LobbyPage\");\nObject.defineProperty(exports, \"LobbyPage\", { enumerable: true, get: function () { return LobbyPage_1.LobbyPage; } });\nvar LobbyPageContext_1 = require(\"./LobbyPageContext\");\nObject.defineProperty(exports, \"LobbyPageContextProvider\", { enumerable: true, get: function () { return LobbyPageContext_1.LobbyPageContextProvider; } });\nObject.defineProperty(exports, \"useLobbyPage\", { enumerable: true, get: function () { return LobbyPageContext_1.useLobbyPage; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LobbySettingInput = void 0;\nconst react_1 = __importStar(require(\"react\"));\nconst LobbyPageContext_1 = require(\"../LobbyPageContext\");\nfunction LobbySettingInput({ type, settingsKey, }) {\n const { settings, onUpdateSetting } = (0, LobbyPageContext_1.useLobbyPage)();\n const value = settings[settingsKey];\n const onChange = (0, react_1.useCallback)((e) => {\n onUpdateSetting(settingsKey, e.target.value);\n }, [onUpdateSetting, settingsKey]);\n return (react_1.default.createElement(\"div\", null,\n react_1.default.createElement(\"label\", { htmlFor: settingsKey }, settingsKey),\n react_1.default.createElement(\"input\", { type: type, id: settingsKey, value: value, onChange: onChange })));\n}\nexports.LobbySettingInput = LobbySettingInput;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingsMenu = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst Button_1 = require(\"@cc-web/ui/components/Button\");\nconst LobbyPageContext_1 = require(\"../LobbyPageContext\");\nconst LobbySettingInput_1 = require(\"./LobbySettingInput\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n settingsMenu: {\n padding: \"1em\",\n border: \"1px solid #b13e53\",\n fontFamily: \"Arial, sans-serif\",\n textAlign: \"left\",\n },\n header: {\n textTransform: \"uppercase\",\n fontSize: \"1rem\",\n },\n});\nfunction SettingsMenu() {\n const styles = useStyles();\n const { onStartNow } = (0, LobbyPageContext_1.useLobbyPage)();\n return (react_1.default.createElement(\"div\", { className: styles.settingsMenu },\n react_1.default.createElement(\"h2\", { className: styles.header }, \"Super Secret Settings\"),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(Button_1.Button, { onClick: onStartNow }, \"Start Now\")),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"startingLevel\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"startingMoney\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"healthLostPerPiece\" })),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"rerollCost\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"rerollMultiplier\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"buyXpCost\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"buyXpAmount\" })),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"boardWidth\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"boardHalfHeight\" }),\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"benchSize\" })),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(LobbySettingInput_1.LobbySettingInput, { type: \"number\", settingsKey: \"battleTurnDuration\" }))));\n}\nexports.SettingsMenu = SettingsMenu;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useOpenSettingsMenu = void 0;\nconst react_1 = require(\"react\");\nconst hooks_1 = require(\"../../../hooks\");\nconst CLICK_COUNT_REQUIRED = 3;\n/**\n * Hook to open the settings menu when the user clicks on some target element\n * a certain number of times.\n *\n * @returns An object containing the ref of the target element and a boolean\n * indicating whether the menu is open.\n */\nfunction useOpenSettingsMenu() {\n const [menuOpen, setMenuOpen] = (0, react_1.useState)(false);\n const [clickCount, setClickCount] = (0, react_1.useState)(0);\n const targetRef = (0, react_1.useRef)(null);\n const onTargetClick = (0, react_1.useCallback)(() => {\n if (menuOpen) {\n return;\n }\n setClickCount((prev) => prev + 1);\n }, [menuOpen]);\n const onTargetClickOutside = (0, react_1.useCallback)(() => {\n if (menuOpen) {\n return;\n }\n setClickCount(0);\n }, [menuOpen]);\n (0, react_1.useEffect)(() => {\n if (clickCount >= CLICK_COUNT_REQUIRED) {\n setMenuOpen(true);\n }\n }, [clickCount]);\n (0, react_1.useEffect)(() => {\n const div = targetRef.current;\n div === null || div === void 0 ? void 0 : div.addEventListener(\"click\", onTargetClick);\n return () => {\n div === null || div === void 0 ? void 0 : div.removeEventListener(\"click\", onTargetClick);\n };\n }, [targetRef, onTargetClick]);\n (0, hooks_1.useOnClickOutside)(targetRef, onTargetClickOutside);\n return (0, react_1.useMemo)(() => ({\n targetRef,\n menuOpen,\n }), [targetRef, menuOpen]);\n}\nexports.useOpenSettingsMenu = useOpenSettingsMenu;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nexports.useStyles = (0, react_jss_1.createUseStyles)({\n menu: {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"height\": \"100%\",\n \"width\": \"100%\",\n \"overflow\": \"scroll\",\n \"paddingTop\": \"2em\",\n \"fontFamily\": \"Arial, Helvetica, sans-serif\",\n \"color\": \"#fff\",\n \"alignItems\": \"center\",\n \"justifyContent\": \"center\",\n \"& h2\": {\n marginBottom: \"1rem\",\n fontSize: \"2em\",\n textAlign: \"center\",\n userSelect: \"none\",\n },\n },\n findGameButton: {\n padding: \"0.8em 2em\",\n marginBottom: \"1rem\",\n fontSize: \"1.4rem\",\n fontWeight: \"700\",\n color: \"#fff\",\n cursor: \"pointer\",\n background: \"#b13e53\",\n border: \"none\",\n },\n joinGame: {\n padding: \"1rem\",\n marginTop: \"3em\",\n textAlign: \"center\",\n background: \"#566c86\",\n },\n discordButton: {\n maxWidth: \"12em\",\n marginBottom: \"1rem\",\n cursor: \"pointer\",\n },\n blurb: {\n \"marginBottom\": \"0.5rem\",\n \"& p\": {\n marginTop: \"0\",\n marginBottom: \"0.25rem\",\n },\n \"& span\": {\n fontSize: \"1.2em\",\n fontStyle: \"italic\",\n fontWeight: \"700\",\n color: \"#bfbfbf\",\n },\n },\n error: {\n padding: \"1em 0.5em\",\n marginBottom: \"1em\",\n color: \"#db2828\",\n background: \"#ffe8e6\",\n boxShadow: \"0 0 0 1px #db2828 inset, 0 0 0 0 transparent\",\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MenuPage = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst Footer_1 = require(\"../../src/Footer\");\nconst MenuPage_styles_1 = require(\"./MenuPage.styles\");\nconst MenuPageContext_1 = require(\"./MenuPageContext\");\nconst useNavbarStyles = (0, react_jss_1.createUseStyles)({\n navbar: {\n \"position\": \"fixed\",\n \"top\": \"0\",\n \"display\": \"flex\",\n \"flexDirection\": \"row\",\n \"width\": \"100%\",\n \"height\": \"2em\",\n \"background\": \"#985763\",\n \"justifyContent\": \"flex-end\",\n \"& button\": {\n fontWeight: \"700\",\n color: \"#fff\",\n cursor: \"pointer\",\n background: \"#b13e53\",\n border: \"none\",\n borderLeft: \"1px solid #fff\",\n },\n },\n});\nconst Navbar = () => {\n const styles = useNavbarStyles();\n const { auth: { logout }, } = (0, MenuPageContext_1.useMenuPage)();\n return (React.createElement(\"nav\", { className: styles.navbar },\n React.createElement(\"button\", { onClick: logout }, \"Log Out\")));\n};\nconst MenuPage = ({ error }) => {\n const styles = (0, MenuPage_styles_1.useStyles)();\n const { findGame } = (0, MenuPageContext_1.useMenuPage)();\n return (React.createElement(\"div\", { className: styles.menu },\n React.createElement(Navbar, null),\n React.createElement(\"div\", { className: styles.joinGame },\n React.createElement(\"h2\", null, \"Creature Chess\"),\n React.createElement(\"div\", { className: styles.blurb },\n React.createElement(\"p\", null, \"More fun with friends! Press \\\"Find Game\\\" at the same time to play together\"),\n React.createElement(\"p\", null, \"Up to 8 players!\")),\n React.createElement(\"button\", { onClick: findGame, className: styles.findGameButton }, \"Find Game\"),\n React.createElement(\"div\", { className: styles.blurb },\n React.createElement(\"p\", null, \"Join us on Discord to receive notifications when someone starts a lobby, and more!\")),\n React.createElement(\"a\", { href: \"https://discord.gg/FhMm6saehb\" },\n React.createElement(\"img\", { src: \"https://i.imgur.com/OBo2QRd.png\", className: styles.discordButton })),\n React.createElement(\"div\", { className: styles.blurb },\n React.createElement(\"p\", null,\n \"This is a \",\n React.createElement(\"span\", null, \"multiplayer strategy game\"),\n \" in which you configure creatures on a board.\"),\n React.createElement(\"p\", null, \"Each round, your board is matched against an opponent's board. Defeat all their pieces to win the round.\"),\n React.createElement(\"p\", null, \"Every loss decreases your health bar. When your health reaches zero, you're out!\"),\n React.createElement(\"p\", null, \"Players will battle against eachother until only one player remains.\"),\n React.createElement(\"p\", null,\n \"Good luck! \",\n React.createElement(\"span\", null, \"~ jkm\"))),\n error && (React.createElement(\"div\", { className: styles.error },\n React.createElement(\"p\", null, error)))),\n React.createElement(Footer_1.Footer, null)));\n};\nexports.MenuPage = MenuPage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useMenuPage = exports.MenuPageContextProvider = void 0;\nconst react_1 = require(\"react\");\nconst MenuPageContext = (0, react_1.createContext)(null);\nMenuPageContext.displayName = \"MenuPageContext\";\nexports.MenuPageContextProvider = MenuPageContext.Provider;\nconst useMenuPage = () => {\n const menuPage = (0, react_1.useContext)(MenuPageContext);\n if (!menuPage) {\n throw new Error(\"No valid MenuPageContext found for useMenuPage\");\n }\n return menuPage;\n};\nexports.useMenuPage = useMenuPage;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useMenuPage = exports.MenuPageContextProvider = exports.MenuPage = void 0;\nvar MenuPage_1 = require(\"./MenuPage\");\nObject.defineProperty(exports, \"MenuPage\", { enumerable: true, get: function () { return MenuPage_1.MenuPage; } });\nvar MenuPageContext_1 = require(\"./MenuPageContext\");\nObject.defineProperty(exports, \"MenuPageContextProvider\", { enumerable: true, get: function () { return MenuPageContext_1.MenuPageContextProvider; } });\nObject.defineProperty(exports, \"useMenuPage\", { enumerable: true, get: function () { return MenuPageContext_1.useMenuPage; } });\n__exportStar(require(\"./registration\"), exports);\n__exportStar(require(\"./login\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nexports.useStyles = (0, react_jss_1.createUseStyles)({\n login: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n fontFamily: \"Arial, Helvetica, sans-serif\",\n color: \"#fff\",\n alignItems: \"center\",\n justifyContent: \"center\",\n background: \"#566c86\",\n },\n banner: {\n \"maxWidth\": \"700px\",\n \"marginTop\": \"1rem\",\n \"marginBottom\": \"1rem\",\n \"userSelect\": \"none\",\n \"& img\": {\n width: \"100%\",\n userSelect: \"none\",\n },\n },\n group: {},\n groups: {\n \"display\": \"flex\",\n \"width\": \"100%\",\n \"maxWidth\": \"700px\",\n \"& .group\": {\n width: \"50%\",\n textAlign: \"center\",\n },\n \"& p\": {\n marginBottom: \"0.5rem\",\n fontSize: \"0.8em\",\n },\n },\n loginButton: {\n padding: \"0.6em 1.2em\",\n marginBottom: \"1rem\",\n fontSize: \"1.4em\",\n color: \"#fff\",\n cursor: \"pointer\",\n background: \"#b13e53\",\n border: \"none\",\n },\n guestButton: {\n padding: \"0.6em 1.2em\",\n marginBottom: \"1rem\",\n fontSize: \"1.4em\",\n color: \"#393939\",\n cursor: \"pointer\",\n background: \"#e1cab9\",\n border: \"none\",\n },\n discordButton: {\n maxWidth: \"12em\",\n marginBottom: \"1rem\",\n cursor: \"pointer\",\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoginPage = void 0;\nconst React = __importStar(require(\"react\"));\nconst Footer_1 = require(\"../../../src/Footer\");\nconst LoginPage_styles_1 = require(\"./LoginPage.styles\");\nconst LoginPage = ({ auth0Enabled = false, isLoading = false, onSignInClick, onPlayAsGuestClick, }) => {\n const styles = (0, LoginPage_styles_1.useStyles)();\n const [loadingSignIn, setLoadingSignIn] = React.useState(false);\n const currentlyLoading = isLoading || loadingSignIn;\n const handleSignInClick = () => {\n if (!auth0Enabled || currentlyLoading) {\n return;\n }\n setLoadingSignIn(true);\n if (onSignInClick) {\n onSignInClick();\n }\n };\n const handlePlayAsGuestClick = () => {\n if (onPlayAsGuestClick) {\n onPlayAsGuestClick();\n }\n };\n if (currentlyLoading) {\n return React.createElement(\"span\", null, \"Loading\");\n }\n return (React.createElement(\"div\", { className: styles.login },\n React.createElement(\"div\", { className: styles.banner },\n React.createElement(\"img\", { src: \"https://i.imgur.com/7FAcFwZ.png\" })),\n React.createElement(\"div\", { className: styles.groups },\n React.createElement(\"div\", { className: \"group\" },\n React.createElement(\"p\", null, \"Creature Chess is a multiplayer auto-chess battler\"),\n auth0Enabled && (React.createElement(React.Fragment, null,\n React.createElement(\"button\", { onClick: handleSignInClick, className: styles.loginButton }, \"Sign In\"),\n React.createElement(\"button\", { onClick: handleSignInClick, className: styles.loginButton }, \"Create Account\"))),\n React.createElement(\"button\", { onClick: handlePlayAsGuestClick, className: styles.guestButton }, \"Play Now as Guest\"),\n React.createElement(\"p\", null, \"Join us on Discord to find other players and give feedback on the game\"),\n React.createElement(\"a\", { href: \"https://discord.gg/FhMm6saehb\" },\n React.createElement(\"img\", { src: \"https://i.imgur.com/OBo2QRd.png\", className: styles.discordButton })))),\n React.createElement(Footer_1.Footer, null)));\n};\nexports.LoginPage = LoginPage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoginPage = void 0;\nvar LoginPage_1 = require(\"./LoginPage\");\nObject.defineProperty(exports, \"LoginPage\", { enumerable: true, get: function () { return LoginPage_1.LoginPage; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nexports.useStyles = (0, react_jss_1.createUseStyles)({\n register: {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"height\": \"100%\",\n \"padding\": \"1rem\",\n \"marginTop\": \"1em\",\n \"fontFamily\": \"Arial, Helvetica, sans-serif\",\n \"color\": \"#fff\",\n \"alignItems\": \"center\",\n \"justifyContent\": \"center\",\n \"textAlign\": \"center\",\n \"background\": \"#566c86\",\n \"& h1\": {\n marginBottom: \"1rem\",\n fontSize: \"2em\",\n },\n },\n registerButton: {\n padding: \"0.5rem 2rem\",\n fontSize: \"1.25rem\",\n color: \"#fff\",\n cursor: \"pointer\",\n background: \"#b13e53\",\n border: \"none\",\n },\n error: {\n padding: \"0.5rem 1rem\",\n marginBottom: \"1rem\",\n border: \"2px solid #a01515\",\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegistrationPage = void 0;\nconst React = __importStar(require(\"react\"));\nconst profile_1 = require(\"@creature-chess/user/profile\");\nconst RegistrationPage_styles_1 = require(\"./RegistrationPage.styles\");\nconst NicknameSelection_1 = require(\"./input/NicknameSelection\");\nconst PictureSelection_1 = require(\"./input/PictureSelection\");\nfunction RegistrationPage({ updateUser }) {\n const styles = (0, RegistrationPage_styles_1.useStyles)();\n const [nickname, setNickname] = React.useState(\"\");\n const [currentImage, setCurrentImage] = React.useState(1);\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState(null);\n const handleNameChange = (event) => {\n if (loading) {\n return;\n }\n setNickname(event.target.value);\n };\n const handleImageChange = (picture) => {\n if (loading) {\n return;\n }\n setCurrentImage(picture);\n };\n const onRegisterClick = () => __awaiter(this, void 0, void 0, function* () {\n const nicknameError = (0, profile_1.validateNicknameFormat)(nickname);\n if (nicknameError) {\n setError(nicknameError);\n return;\n }\n setLoading(true);\n const { error: responseError } = yield updateUser(nickname, currentImage);\n if (!responseError) {\n return;\n }\n setLoading(false);\n setError(responseError);\n });\n return (React.createElement(\"div\", { className: styles.register },\n React.createElement(\"h1\", null, \"Registration\"),\n error && React.createElement(\"p\", { className: styles.error }, error),\n React.createElement(NicknameSelection_1.NicknameSelection, { nickname: nickname || \"\", maxLength: profile_1.MAX_NAME_LENGTH, onChange: handleNameChange, loading: loading }),\n React.createElement(PictureSelection_1.PictureSelection, { currentImage: currentImage, onChange: handleImageChange }),\n React.createElement(\"button\", { className: styles.registerButton, onClick: onRegisterClick, disabled: loading },\n !loading && \"Register\",\n loading && \"Loading...\")));\n}\nexports.RegistrationPage = RegistrationPage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegistrationPage = void 0;\nvar RegistrationPage_1 = require(\"./RegistrationPage\");\nObject.defineProperty(exports, \"RegistrationPage\", { enumerable: true, get: function () { return RegistrationPage_1.RegistrationPage; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseRegistrationInput = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n input: {\n marginBottom: \"0.5rem\",\n },\n inputHeading: {\n marginBottom: \"0.5rem\",\n fontSize: \"1.4em\",\n },\n info: {\n marginTop: \"0.5rem\",\n },\n});\nconst BaseRegistrationInput = ({ heading, info, children }) => {\n const styles = useStyles();\n return (react_1.default.createElement(\"div\", { className: styles.input },\n react_1.default.createElement(\"h1\", { className: styles.inputHeading }, heading),\n react_1.default.createElement(\"h2\", { className: styles.info }, info),\n children));\n};\nexports.BaseRegistrationInput = BaseRegistrationInput;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NicknameSelection = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst BaseRegistrationInput_1 = require(\"./BaseRegistrationInput\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n nameInput: {\n padding: \"0.5rem 1rem\",\n marginBottom: \"1em\",\n },\n});\nfunction NicknameSelection({ nickname, maxLength, onChange, loading, }) {\n const styles = useStyles();\n return (react_1.default.createElement(BaseRegistrationInput_1.BaseRegistrationInput, { heading: \"Nickname\", info: \"This nickname is permanent and cannot be changed\" },\n react_1.default.createElement(\"input\", { className: styles.nameInput, maxLength: maxLength, disabled: loading, value: nickname, placeholder: \"Nickname\", onChange: onChange })));\n}\nexports.NicknameSelection = NicknameSelection;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PictureSelection = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst profile_1 = require(\"@creature-chess/user/profile\");\nconst creatureImage_1 = require(\"../../../../src/display/creatureImage\");\nconst BaseRegistrationInput_1 = require(\"./BaseRegistrationInput\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n pictureList: {\n display: \"inline-block\",\n },\n});\nconst PictureSelection = ({ currentImage, onChange }) => {\n const styles = useStyles();\n return (react_1.default.createElement(BaseRegistrationInput_1.BaseRegistrationInput, { heading: \"Profile Picture\", info: \"Choose a profile picture - more can be unlocked!\" }, Object.entries(profile_1.AVAILABLE_PROFILE_PICTURES).map(([pictureString, creatureName]) => {\n const picture = parseInt(pictureString, 10);\n const onSelect = () => onChange(picture);\n return (react_1.default.createElement(\"div\", { className: styles.pictureList, key: picture },\n react_1.default.createElement(creatureImage_1.CreatureImage, { definitionId: picture }),\n react_1.default.createElement(\"p\", null, creatureName),\n react_1.default.createElement(\"input\", { type: \"radio\", value: picture, checked: currentImage === picture, onChange: onSelect })));\n })));\n};\nexports.PictureSelection = PictureSelection;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Piece = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst display_1 = require(\"../src/display\");\nconst PieceContext_1 = require(\"./PieceContext\");\nconst meta_1 = require(\"./meta\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n piece: {\n \"position\": \"relative\",\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"& > img\": {\n position: \"absolute\",\n bottom: 0,\n right: 0,\n width: \"80%\",\n },\n },\n metaContainer: {\n position: \"absolute\",\n top: 0,\n left: 0,\n display: \"flex\",\n flexDirection: \"row\",\n width: \"20%\",\n height: \"100%\",\n boxSizing: \"border-box\",\n padding: \"2%\",\n },\n imageContainer: {\n position: \"absolute\",\n bottom: \"0\",\n left: \"14%\",\n width: \"80%\",\n height: \"80%\",\n },\n});\nfunction Piece(props) {\n const classes = useStyles();\n const { piece } = (0, PieceContext_1.usePiece)();\n const { healthbar, children, className, onClick } = props;\n return (React.createElement(\"div\", { className: (0, classnames_1.default)(classes.piece, className), onClick: onClick },\n React.createElement(\"div\", { className: classes.metaContainer },\n React.createElement(meta_1.PieceMeta, { piece: piece, healthbarColor: healthbar })),\n React.createElement(\"div\", { className: classes.imageContainer },\n React.createElement(display_1.CreatureImage, { definitionId: piece.definitionId, facing: piece.facingAway ? \"back\" : \"front\" })),\n children));\n}\nexports.Piece = Piece;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePiece = exports.PieceContextProvider = void 0;\nconst react_1 = require(\"react\");\nconst PieceContext = (0, react_1.createContext)(null);\nPieceContext.displayName = \"PieceContext\";\nexports.PieceContextProvider = PieceContext.Provider;\nconst usePiece = () => {\n const piece = (0, react_1.useContext)(PieceContext);\n if (!piece) {\n throw new Error(\"No valid PieceContext found for usePiece\");\n }\n return piece;\n};\nexports.usePiece = usePiece;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Projectile = void 0;\nconst React = __importStar(require(\"react\"));\nconst Projectile = ({ className }) => (React.createElement(\"svg\", { className: className, height: \"12\", width: \"12\" },\n React.createElement(\"circle\", { cx: \"6\", cy: \"6\", r: \"4\", stroke: \"#FAD17D\", strokeWidth: \"2\", fill: \"#F5E687\" })));\nexports.Projectile = Projectile;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Projectile = exports.usePiece = exports.PieceContextProvider = exports.Piece = void 0;\nvar Piece_1 = require(\"./Piece\");\nObject.defineProperty(exports, \"Piece\", { enumerable: true, get: function () { return Piece_1.Piece; } });\nvar PieceContext_1 = require(\"./PieceContext\");\nObject.defineProperty(exports, \"PieceContextProvider\", { enumerable: true, get: function () { return PieceContext_1.PieceContextProvider; } });\nObject.defineProperty(exports, \"usePiece\", { enumerable: true, get: function () { return PieceContext_1.usePiece; } });\n__exportStar(require(\"./match\"), exports);\nvar Projectile_1 = require(\"./Projectile\");\nObject.defineProperty(exports, \"Projectile\", { enumerable: true, get: function () { return Projectile_1.Projectile; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePieceStyles = exports.useAnimationStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nconst ATTACK_DURATION_MS = 200;\nconst ATTACK_MOVEMENT_MULTIPLIER_PX = 3;\nconst HIT_ROTATION_MULTIPLIER_DEG = 1;\nconst projectileSize = \"10px\";\nexports.useAnimationStyles = (0, react_jss_1.createUseStyles)({\n \"@keyframes piece-dying-anim\": {\n \"100%\": {\n transform: \"scale(0)\",\n },\n },\n \"dying\": {\n animationName: \"$piece-dying-anim\",\n animationDuration: \"1000ms\",\n animationFillMode: \"forwards\",\n animationIterationCount: \"1\",\n },\n \"@keyframes piece-attack-basic-anim\": {\n \"0%\": {\n top: \"0\",\n left: \"0\",\n },\n \"50%\": {\n top: `calc(calc(${ATTACK_MOVEMENT_MULTIPLIER_PX}px * var(--attackPower)) * var(--attackYDirection))`,\n left: `calc(calc(${ATTACK_MOVEMENT_MULTIPLIER_PX}px * var(--attackPower)) * var(--attackXDirection))`,\n },\n \"100%\": {\n top: \"0\",\n left: \"0\",\n },\n },\n \"attackBasic\": {\n animationName: \"$piece-attack-basic-anim\",\n animationDuration: `${ATTACK_DURATION_MS}ms`,\n },\n \"@keyframes piece-attack-shoot-anim\": {\n \"0%\": {\n top: `calc(50% - (${projectileSize} / 2))`,\n left: `calc(50% - (${projectileSize} / 2))`,\n },\n \"100%\": {\n top: `calc(\n\t\t\t\t((100% * var(--attackDistance) * var(--attackYDirection)) + 50%) -\n\t\t\t\t (${projectileSize} / 2)\n\t\t\t )`,\n left: `calc(\n\t\t\t\t((100% * var(--attackDistance) * var(--attackXDirection)) + 50%) -\n\t\t\t\t (${projectileSize} / 2)\n\t\t\t )`,\n },\n },\n \"projectile\": {\n display: \"none\",\n position: \"absolute\",\n top: `calc(50% - (${projectileSize} / 2))`,\n left: `calc(50% - (${projectileSize} / 2))`,\n },\n \"attackShoot\": {\n \"& $projectile\": {\n display: \"block\",\n animationName: \"$piece-attack-shoot-anim\",\n animationDuration: `${ATTACK_DURATION_MS}ms`,\n },\n },\n \"@keyframes piece-receive-hit-anim\": {\n \"0%\": {\n transform: \"rotate(0deg)\",\n },\n \"25%\": {\n transform: `rotate(calc(${HIT_ROTATION_MULTIPLIER_DEG}deg * var(--hitPower) * -1))`,\n },\n \"75%\": {\n transform: `rotate(calc(${HIT_ROTATION_MULTIPLIER_DEG}deg * var(--hitPower)))`,\n },\n \"100%\": {\n transform: \"rotate(0deg)\",\n },\n },\n \"receiveHit\": {\n animationName: \"$piece-receive-hit-anim\",\n animationDuration: `${ATTACK_DURATION_MS}ms`,\n },\n});\nexports.usePieceStyles = (0, react_jss_1.createUseStyles)({\n piece: {\n position: \"relative\",\n zIndex: 50,\n width: \"100%\",\n height: \"100%\",\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MatchPiece = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst models_1 = require(\"@creature-chess/models\");\nconst Piece_1 = require(\"../Piece\");\nconst PieceContext_1 = require(\"../PieceContext\");\nconst Projectile_1 = require(\"../Projectile\");\nconst MatchPiece_styles_1 = require(\"./MatchPiece.styles\");\nconst animation_1 = require(\"./animation\");\nconst getHealthbar = (ownerId, viewingPlayerId) => ownerId === viewingPlayerId ? \"friendly\" : \"enemy\";\nconst animationEventMatchesAnimation = (event, animation) => event.animationName.includes(`piece-${animation.keyframesName}-anim`);\nconst MatchPiece = () => {\n const { piece, viewingPlayerId } = (0, PieceContext_1.usePiece)();\n const animationStyles = (0, MatchPiece_styles_1.useAnimationStyles)();\n const styles = (0, MatchPiece_styles_1.usePieceStyles)();\n const [currentAnimations, setCurrentAnimations] = React.useState([]);\n const [lastRenderedPiece, setLastRenderedPiece] = React.useState(null);\n const runAnimation = (name, keyframesName, variables) => setCurrentAnimations((oldAnimations) => {\n const newAnimation = { name, keyframesName, variables };\n return [\n // replace previous instance of this animation\n ...oldAnimations.filter((a) => a.name !== name),\n newAnimation,\n ];\n });\n const removeAnimation = (name) => setCurrentAnimations((oldAnimations) => oldAnimations.filter((animation) => animation.name !== name));\n const onAnimationEnd = (event) => {\n // don't remove dying animation\n if (event.animationName.includes(\"piece-dying-anim\")) {\n return;\n }\n setCurrentAnimations((oldAnimations) => oldAnimations.filter((a) => !animationEventMatchesAnimation(event, a)));\n };\n const runAnimations = React.useCallback((newPiece) => {\n const { attacking, hit, currentHealth } = newPiece;\n if (!lastRenderedPiece) {\n setLastRenderedPiece(newPiece);\n return;\n }\n if (attacking && !lastRenderedPiece.attacking) {\n if (attacking.attackType.name === models_1.attackTypes.basic.name) {\n runAnimation(animationStyles.attackBasic, \"attack-basic\", {\n attackPower: attacking.damage,\n attackXDirection: attacking.direction.x,\n attackYDirection: attacking.direction.y,\n });\n }\n else if (attacking.attackType.name === models_1.attackTypes.shoot.name) {\n runAnimation(animationStyles.attackShoot, \"attack-shoot\", {\n attackPower: attacking.damage,\n attackXDirection: attacking.direction.x,\n attackYDirection: attacking.direction.y,\n attackDistance: attacking.distance,\n });\n }\n }\n if (hit && !lastRenderedPiece.hit) {\n runAnimation(animationStyles.receiveHit, \"receive-hit\", {\n hitPower: hit.damage,\n });\n }\n if (currentHealth === 0) {\n if (lastRenderedPiece.currentHealth !== 0) {\n runAnimation(animationStyles.dying, \"dying\");\n }\n }\n else {\n if (lastRenderedPiece.currentHealth === 0) {\n removeAnimation(animationStyles.dying);\n }\n }\n setLastRenderedPiece(newPiece);\n }, [\n animationStyles.attackBasic,\n animationStyles.attackShoot,\n animationStyles.dying,\n animationStyles.receiveHit,\n lastRenderedPiece,\n ]);\n React.useEffect(() => {\n if (piece) {\n runAnimations(piece);\n }\n else {\n setLastRenderedPiece(null);\n }\n }, [piece, runAnimations]);\n if (!piece) {\n return null;\n }\n const animationClasses = currentAnimations.map((a) => a.name);\n const className = (0, classnames_1.default)(styles.piece, ...animationClasses);\n return (React.createElement(\"div\", { className: className, style: (0, animation_1.getAnimationCssVariables)(currentAnimations), \n // eslint-disable-next-line react/jsx-no-bind\n onAnimationEnd: onAnimationEnd },\n React.createElement(Piece_1.Piece, { healthbar: getHealthbar(piece.ownerId, viewingPlayerId) },\n React.createElement(Projectile_1.Projectile, { className: animationStyles.projectile }))));\n};\nexports.MatchPiece = MatchPiece;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAnimationCssVariables = void 0;\nconst getAnimationCssVariables = (animations) => {\n const variables = Object.assign({}, ...animations.filter((a) => a.variables).map((a) => a.variables));\n return Object.assign({}, ...Object.keys(variables).map((key) => ({ [`--${key}`]: variables[key] })));\n};\nexports.getAnimationCssVariables = getAnimationCssVariables;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MatchPiece = void 0;\nvar MatchPiece_1 = require(\"./MatchPiece\");\nObject.defineProperty(exports, \"MatchPiece\", { enumerable: true, get: function () { return MatchPiece_1.MatchPiece; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PieceHealthbar = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst display_1 = require(\"../../src/display\");\nconst getFillBackground = ({ color }) => {\n if (color === \"spectating\") {\n return \"#601a4a\";\n }\n if (color === \"enemy\") {\n return \"#e03c71\";\n }\n return \"#3887ca\";\n};\nconst useStyles = (0, react_jss_1.createUseStyles)({\n fill: {\n background: getFillBackground,\n position: \"absolute\",\n bottom: 0,\n },\n});\nconst PieceHealthbar = (props) => {\n const classes = useStyles(props);\n return (React.createElement(display_1.ProgressBar, { fillClassName: classes.fill, current: props.current, max: props.max, vertical: true }, props.children));\n};\nexports.PieceHealthbar = PieceHealthbar;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PieceMeta = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst layout_1 = require(\"../../layout\");\nconst display_1 = require(\"../../src/display\");\nconst PieceHealthbar_1 = require(\"./PieceHealthbar\");\nconst PieceStageIndicator_1 = require(\"./PieceStageIndicator\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n typeIndicatorContainer: {\n marginBottom: \"0.25em\",\n width: \"100%\",\n },\n healthbarContainer: {\n flex: 1,\n position: \"relative\",\n },\n stage: {\n \"position\": \"absolute\",\n \"top\": \"10%\",\n \"left\": \"7%\",\n \"width\": \"86%\",\n \"height\": \"80%\",\n \"& > img\": {\n width: \"100%\",\n },\n },\n});\nconst PieceMeta = ({ piece, healthbarColor = \"none\", }) => {\n const classes = useStyles();\n const stageIndicator = (React.createElement(\"div\", { className: classes.stage },\n React.createElement(PieceStageIndicator_1.PieceStageIndicator, { stage: piece.stage })));\n return (React.createElement(layout_1.Layout, { grow: true, direction: \"column\", noSpacer: true },\n React.createElement(\"div\", { className: classes.typeIndicatorContainer },\n React.createElement(display_1.TypeIndicator, { type: piece.definition.type })),\n React.createElement(\"div\", { className: classes.healthbarContainer },\n healthbarColor !== \"none\" && (React.createElement(PieceHealthbar_1.PieceHealthbar, { color: healthbarColor, current: piece.currentHealth, max: piece.maxHealth }, stageIndicator)),\n healthbarColor === \"none\" && stageIndicator)));\n};\nexports.PieceMeta = PieceMeta;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PieceStageIndicator = void 0;\nconst React = __importStar(require(\"react\"));\nconst constants_1 = require(\"@cc-web/shared/constants\");\nconst layout_1 = require(\"../../layout\");\nconst STAR = `${constants_1.IMAGE_BASE_URL}/ui/star.svg`;\nconst PieceStageIndicator = ({ stage, }) => {\n const stars = [];\n if (stage === 0) {\n return null;\n }\n for (let i = 0; i <= stage; i++) {\n stars.push(React.createElement(\"img\", { key: i, src: STAR }));\n }\n return (React.createElement(layout_1.Layout, { grow: true, direction: \"column\", justifyContent: \"center\", noSpacer: true }, stars));\n};\nexports.PieceStageIndicator = PieceStageIndicator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PieceMeta = void 0;\nvar PieceMeta_1 = require(\"./PieceMeta\");\nObject.defineProperty(exports, \"PieceMeta\", { enumerable: true, get: function () { return PieceMeta_1.PieceMeta; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nexports.useStyles = (0, react_jss_1.createUseStyles)({\n profile: {\n padding: \"0.25rem\",\n fontFamily: \"Arial, sans-serif\",\n color: \"#fff\",\n background: \"#566c86\",\n },\n row: {\n \"display\": \"flex\",\n \"flexDirection\": \"row\",\n \"alignItems\": \"center\",\n \"&:not(:last-child)\": {\n marginBottom: \"0.4em\",\n },\n },\n personal: {\n flex: \"1\",\n },\n item: {\n flex: \"1\",\n },\n name: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n buyXpButton: {\n width: \"50%\",\n height: \"2em\",\n boxSizing: \"border-box\",\n padding: \"0.5em 1em\",\n marginLeft: \"0.5em\",\n fontSize: \"1em\",\n lineHeight: \"1em\",\n color: \"#fff\",\n cursor: \"pointer\",\n background: \"#1a1c2c\",\n border: \"none\",\n },\n level: {\n \"display\": \"flex\",\n \"justifyContent\": \"space-evenly\",\n \"alignItems\": \"center\",\n \"flexDirection\": \"row\",\n \"fontWeight\": \"700\",\n \"marginTop\": \"0.5em\",\n \"marginBottom\": \"0.5em\",\n \"& > span\": {\n color: \"#ffcd75\",\n },\n },\n xpProgress: {\n width: \"50%\",\n height: \"1.75em\",\n background: \"#636363\",\n },\n xpProgressFill: {\n paddingLeft: \"1em\",\n background: \"#ffcd75\",\n },\n xpProgressContent: {\n color: \"#1a1c2c\",\n },\n pieceCount: {\n fontSize: \"0.85em\",\n fontStyle: \"italic\",\n textAlign: \"center\",\n },\n pieceCountWarning: {\n width: \"fit-content\",\n padding: \"0.2em 0.4em\",\n fontWeight: \"700\",\n color: \"#ff6464\",\n background: \"#ffd2d2\",\n border: \"2px solid #ff6464\",\n margin: \"0.5em 0\",\n },\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerGameProfile = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst xp_1 = require(\"@creature-chess/gamemode/src/player/xp\");\nconst config_1 = require(\"@creature-chess/models/config\");\nconst GamemodeSettingsContext_1 = require(\"../GamemodeSettingsContext\");\nconst layout_1 = require(\"../layout\");\nconst progressBar_1 = require(\"../src/display/progressBar\");\nconst player_1 = require(\"../src/player\");\nconst healthbar_1 = require(\"../src/player/healthbar\");\nconst PlayerGameProfile_styles_1 = require(\"./PlayerGameProfile.styles\");\nconst renderProgressBar = (current, max) => `${current} / ${max} xp`;\nconst PieceCount = ({ level, pieceCount }) => {\n const styles = (0, PlayerGameProfile_styles_1.useStyles)();\n if (pieceCount < level) {\n return (React.createElement(\"p\", { className: (0, classnames_1.default)(styles.item, styles.pieceCount, styles.pieceCountWarning) },\n pieceCount,\n \" / \",\n level,\n \" pieces (board not full!)\"));\n }\n return (React.createElement(\"p\", { className: (0, classnames_1.default)(styles.item, styles.pieceCount) },\n pieceCount,\n \" / \",\n level,\n \" pieces\"));\n};\nconst PlayerGameProfile = ({ name, position, health, level, xp, money, pieceCount, onBuyXpClick, }) => {\n const styles = (0, PlayerGameProfile_styles_1.useStyles)();\n const { buyXpAmount, buyXpCost } = (0, GamemodeSettingsContext_1.useGamemodeSettings)();\n if (health === null) {\n return null;\n }\n return (React.createElement(\"div\", { className: styles.profile },\n React.createElement(\"div\", { className: styles.row },\n React.createElement(layout_1.Layout, { direction: \"column\", className: styles.personal },\n React.createElement(\"p\", { className: (0, classnames_1.default)(styles.item, styles.level) },\n \"Level \",\n level,\n \" \",\n React.createElement(\"span\", null,\n \"$\",\n money)),\n React.createElement(\"div\", { className: styles.name },\n React.createElement(player_1.PlayerName, { name: name, position: position, isLocal: true }))),\n level !== config_1.MAX_LEVEL && (React.createElement(progressBar_1.ProgressBar, { className: styles.xpProgress, fillClassName: styles.xpProgressFill, contentClassName: styles.xpProgressContent, current: xp, max: (0, xp_1.getXpToNextLevel)(level), renderContents: renderProgressBar }))),\n React.createElement(\"div\", { className: styles.row },\n React.createElement(PieceCount, { level: level, pieceCount: pieceCount }),\n level !== config_1.MAX_LEVEL && (React.createElement(\"button\", { className: styles.buyXpButton, onClick: onBuyXpClick },\n \"Buy \",\n buyXpAmount,\n \" xp ($\",\n buyXpCost,\n \")\"))),\n React.createElement(healthbar_1.PlayerHealthbar, { health: health })));\n};\nexports.PlayerGameProfile = PlayerGameProfile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerGameProfile = void 0;\nvar PlayerGameProfile_1 = require(\"./PlayerGameProfile\");\nObject.defineProperty(exports, \"PlayerGameProfile\", { enumerable: true, get: function () { return PlayerGameProfile_1.PlayerGameProfile; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Footer = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst constants_1 = require(\"@cc-web/shared/constants\");\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst APP_VERSION = require(\"../../../../package.json\").version;\nconst useStyles = (0, react_jss_1.createUseStyles)({\n footer: {\n marginTop: \"0.5em\",\n marginBottom: \"0.5em\",\n textAlign: \"center\",\n },\n item: {\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.8em\",\n fontStyle: \"italic\",\n color: \"#fff\",\n },\n});\nconst Footer = () => {\n const classes = useStyles();\n return (React.createElement(\"div\", { className: classes.footer },\n React.createElement(\"span\", { className: classes.item },\n \"v\",\n APP_VERSION || \"-.-.-\"),\n \" - \",\n React.createElement(\"a\", { className: classes.item, href: \"https://reddit.com/r/creaturechess/\" }, \"/r/CreatureChess\"),\n \" - \",\n React.createElement(\"a\", { className: classes.item, href: `${constants_1.APP_BASE_URL}privacy` }, \"Privacy Policy\"),\n \" - \",\n React.createElement(\"a\", { className: classes.item, href: \"https://github.com/Jameskmonger/creature-chess\" }, \"Licenses on GitHub\")));\n};\nexports.Footer = Footer;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Button = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\n// todo implement primary style\nconst getColor = (style) => style === \"primary\" ? \"#fff\" : \"#fff\";\nconst getBackground = (style) => style === \"primary\" ? \"#1a1c2c\" : \"#1a1c2c\";\nconst useStyles = (0, react_jss_1.createUseStyles)({\n button: (props) => ({\n \"padding\": \"0.25em 1em\",\n \"fontSize\": \"1em\",\n \"color\": getColor(props.type),\n \"background\": getBackground(props.type),\n \"border\": \"none\",\n \"cursor\": \"pointer\",\n \"&:disabled\": {\n background: \"#575758\",\n cursor: \"not-allowed\",\n },\n }),\n});\nconst Button = (props) => {\n const classes = useStyles(props);\n const { onClick, disabled = false, children } = props;\n return (React.createElement(\"button\", { className: classes.button, onClick: !disabled ? onClick : undefined, disabled: disabled }, children));\n};\nexports.Button = Button;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Card = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst layout_1 = require(\"../../layout\");\nconst display_1 = require(\"../display\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n card: {\n boxSizing: \"border-box\",\n fontFamily: \"Arial, sans-serif\",\n color: \"#fff\",\n textAlign: \"center\",\n cursor: ({ disabled = false }) => disabled ? \"not-allowed\" : \"pointer\",\n userSelect: \"none\",\n background: ({ alreadyOwned }) => alreadyOwned ? \"#587261\" : \"#4e4e4e\",\n paddingBottom: \"0.5em\",\n },\n name: {\n fontSize: \"0.8em\",\n fontWeight: 700,\n },\n typeIndicator: {\n zIndex: 20,\n marginTop: \"-0.5em\",\n marginLeft: \"-0.125em\",\n width: \"24px\",\n height: \"24px\",\n },\n cost: {\n padding: \"0.125em\",\n marginTop: \"-0.5em\",\n marginRight: \"-0.1em\",\n background: \"rgb(128, 128, 128)\",\n },\n cardMeta: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-around\",\n },\n metaItem: {\n fontSize: \"0.6rem\",\n fontWeight: 700,\n textTransform: \"uppercase\",\n },\n});\nconst Card = (props) => {\n const classes = useStyles(props);\n const { card: { name, definitionId, type, cost, class: cardClass }, onClick, disabled = false, } = props;\n return (React.createElement(\"div\", { className: classes.card, onClick: !disabled ? onClick || undefined : undefined },\n React.createElement(layout_1.Layout, { direction: \"column\", noSpacer: true },\n React.createElement(layout_1.Layout, { direction: \"row\", noSpacer: true },\n React.createElement(\"div\", { className: classes.typeIndicator },\n React.createElement(display_1.TypeIndicator, { type: type })),\n React.createElement(\"div\", { className: classes.cost },\n React.createElement(\"span\", null,\n \"$\",\n cost))),\n React.createElement(display_1.CreatureImage, { definitionId: definitionId }),\n React.createElement(\"h2\", { className: classes.name }, name),\n React.createElement(\"div\", { className: classes.cardMeta },\n React.createElement(\"span\", { className: classes.metaItem }, cardClass),\n React.createElement(\"span\", { className: classes.metaItem }, type)))));\n};\nexports.Card = Card;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CardSelector = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst layout_1 = require(\"../../layout\");\nconst card_1 = require(\"./card\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: {\n position: \"relative\",\n marginBottom: \"1em\",\n },\n tray: {\n position: \"absolute\",\n bottom: \"5%\",\n width: \"100%\",\n height: \"70%\",\n background: \"#2b2b2b\",\n },\n cardContainer: {\n zIndex: 10,\n width: \"15%\",\n },\n selected: {\n marginTop: \"-1em\",\n },\n});\nconst CardSelector = ({ cards, ownedDefinitionIds, money, selectedCardIndex, onSelectCard, }) => {\n const classes = useStyles();\n const createCard = (card, index) => {\n if (card === null) {\n return null;\n }\n const isSelected = selectedCardIndex === index;\n const isOwned = ownedDefinitionIds.includes(card.definitionId);\n const onClick = () => {\n if (!onSelectCard) {\n return;\n }\n onSelectCard(isSelected ? null : index);\n };\n return (React.createElement(\"div\", { className: (0, classnames_1.default)(classes.cardContainer, {\n [classes.selected]: isSelected,\n }) },\n React.createElement(card_1.Card, { key: `${index}-${card.definitionId}`, alreadyOwned: isOwned, disabled: money < card.cost, card: card, onClick: onSelectCard ? onClick : undefined })));\n };\n return (React.createElement(layout_1.Layout, { className: classes.container, direction: \"row\", justifyContent: \"space-around\", noSpacer: true },\n React.createElement(\"div\", { className: classes.tray }),\n cards.map(createCard)));\n};\nexports.CardSelector = CardSelector;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CardShop = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst GamemodeSettingsContext_1 = require(\"../../GamemodeSettingsContext\");\nconst layout_1 = require(\"../../layout\");\nconst button_1 = require(\"../button\");\nconst display_1 = require(\"../display\");\nconst cardSelector_1 = require(\"./cardSelector\");\nconst currentCard_1 = require(\"./currentCard\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: {\n width: \"100%\",\n height: \"100%\",\n },\n grow: {\n flex: 1,\n marginBottom: \"2em\",\n },\n balance: {\n background: \"#2f2f2f\",\n padding: \"0 1em\",\n lineHeight: \"1.5em\",\n },\n});\nconst CardShop = ({ cards, ownedDefinitionIds, money, isLocked = false, onReroll, onToggleLock, onBuy, showSelectedCard = true, }) => {\n const classes = useStyles();\n const [selectedIndex, setSelectedIndex] = React.useState(null);\n const onBuyCurrentCard = () => onBuy && selectedIndex !== null && onBuy(selectedIndex);\n const selectedCard = selectedIndex !== null ? cards[selectedIndex] : null;\n React.useEffect(() => {\n if (!selectedCard) {\n return;\n }\n const canAfford = selectedCard.cost <= money;\n if (!canAfford) {\n setSelectedIndex(null);\n }\n }, [selectedCard, money]);\n const { rerollCost } = (0, GamemodeSettingsContext_1.useGamemodeSettings)();\n return (React.createElement(layout_1.Layout, { className: classes.container, direction: \"column\" },\n React.createElement(layout_1.Layout, { direction: \"column\", justifyContent: \"center\", className: classes.grow }, selectedCard && showSelectedCard && (React.createElement(currentCard_1.CurrentCard, { card: selectedCard, alreadyOwned: ownedDefinitionIds.includes(selectedCard.definitionId), onBuy: onBuyCurrentCard }))),\n React.createElement(cardSelector_1.CardSelector, { cards: cards, money: money, selectedCardIndex: selectedIndex, onSelectCard: setSelectedIndex, ownedDefinitionIds: ownedDefinitionIds }),\n React.createElement(layout_1.Layout, { direction: \"row\", justifyContent: \"space-between\" },\n React.createElement(button_1.Button, { type: \"primary\", onClick: onReroll, disabled: money < rerollCost },\n \"New ($\",\n rerollCost,\n \")\"),\n React.createElement(\"div\", { className: classes.balance },\n React.createElement(display_1.Label, null, \"Balance:\"),\n \" \",\n React.createElement(display_1.Label, { type: \"highlight\" },\n \"$\",\n money)),\n React.createElement(button_1.Button, { type: \"primary\", onClick: onToggleLock }, isLocked ? \"Unlock\" : \"Lock (1 turn)\"))));\n};\nexports.CardShop = CardShop;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CurrentCard = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst layout_1 = require(\"../../layout\");\nconst button_1 = require(\"../button\");\nconst display_1 = require(\"../display\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n buyCard: {\n textAlign: \"center\",\n padding: \"1em\",\n background: \"#4e4e4e\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n currentCard: {\n background: \"#2f2f2f\",\n },\n cardText: {\n padding: \"1em\",\n fontFamily: \"Arial, sans-serif\",\n fontWeight: 700,\n color: \"#fff\",\n fontSize: \"0.7em\",\n textTransform: \"uppercase\",\n },\n cardName: {\n textTransform: \"none\",\n marginBottom: \"0.35em\",\n },\n});\nconst CurrentCard = ({ card, alreadyOwned, onBuy, }) => {\n const classes = useStyles();\n return (React.createElement(React.Fragment, null,\n React.createElement(layout_1.Layout, { direction: \"row\", justifyContent: \"center\", noSpacer: true, className: classes.currentCard },\n React.createElement(\"div\", null,\n React.createElement(display_1.CreatureImage, { definitionId: card.definitionId })),\n React.createElement(layout_1.Layout, { direction: \"column\", className: classes.cardText },\n React.createElement(\"h2\", { className: classes.cardName }, card.name),\n React.createElement(\"span\", null, card.type),\n React.createElement(\"span\", null, card.class))),\n React.createElement(\"div\", { className: classes.buyCard },\n React.createElement(button_1.Button, { type: \"primary\", onClick: onBuy },\n \"Buy ($\",\n card.cost,\n \")\"),\n alreadyOwned && React.createElement(\"span\", null, \"Already owned\"))));\n};\nexports.CurrentCard = CurrentCard;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CardShop = exports.CardSelector = exports.Card = void 0;\nvar card_1 = require(\"./card\");\nObject.defineProperty(exports, \"Card\", { enumerable: true, get: function () { return card_1.Card; } });\nvar cardSelector_1 = require(\"./cardSelector\");\nObject.defineProperty(exports, \"CardSelector\", { enumerable: true, get: function () { return cardSelector_1.CardSelector; } });\nvar cardShop_1 = require(\"./cardShop\");\nObject.defineProperty(exports, \"CardShop\", { enumerable: true, get: function () { return cardShop_1.CardShop; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Countdown = void 0;\nconst React = __importStar(require(\"react\"));\nconst Countdown = ({ countdownToSeconds, render, }) => {\n const [secondsRemaining, setSecondsRemaining] = React.useState(null);\n const updateSecondsRemaining = React.useCallback(() => {\n if (countdownToSeconds === null) {\n return;\n }\n const currentSeconds = Date.now() / 1000;\n setSecondsRemaining(Math.ceil(countdownToSeconds - currentSeconds));\n }, [countdownToSeconds]);\n React.useEffect(() => {\n updateSecondsRemaining();\n const intervalId = setInterval(updateSecondsRemaining, 1000);\n return () => clearInterval(intervalId);\n }, [countdownToSeconds, updateSecondsRemaining]);\n if (secondsRemaining === null) {\n return null;\n }\n const safeSecondsRemaining = secondsRemaining > 1 ? secondsRemaining : 1;\n if (render) {\n return render(safeSecondsRemaining);\n }\n return React.createElement(\"span\", null, safeSecondsRemaining);\n};\nexports.Countdown = Countdown;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeIndicator = void 0;\nconst React = __importStar(require(\"react\"));\nconst models_1 = require(\"@creature-chess/models\");\nconst constants_1 = require(\"@cc-web/shared/constants\");\nfunction getIconUrl(iconName) {\n return `${constants_1.IMAGE_BASE_URL}/ui/${iconName}`;\n}\nconst ICON_FOR_TYPE = {\n [models_1.CreatureType.Fire]: getIconUrl(\"type-fire.svg\"),\n [models_1.CreatureType.Earth]: getIconUrl(\"type-earth.svg\"),\n [models_1.CreatureType.Metal]: getIconUrl(\"type-metal.svg\"),\n [models_1.CreatureType.Water]: getIconUrl(\"type-water.svg\"),\n [models_1.CreatureType.Wood]: getIconUrl(\"type-wood.svg\"),\n};\nconst TypeIndicator = ({ type, }) => React.createElement(\"img\", { src: ICON_FOR_TYPE[type] });\nexports.TypeIndicator = TypeIndicator;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreatureImage = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst constants_1 = require(\"@cc-web/shared/constants\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n image: {\n width: \"100%\",\n height: \"100%\",\n imageRendering: \"pixelated\",\n fallbacks: [\n {\n imageRendering: \"optimize-contrast\",\n },\n {\n imageRendering: \"-webkit-optimize-contrast\",\n },\n {\n imageRendering: \"-o-crisp-edges\",\n },\n {\n imageRendering: \"-moz-crisp-edges\",\n },\n {\n imageRendering: \"optimizeSpeed\",\n },\n ],\n msInterpolationMode: \"nearest-neighbor\",\n },\n});\nfunction getCreatureUrl(facing, definitionId) {\n return `${constants_1.IMAGE_BASE_URL}/creatures/${facing}/${definitionId}.png`;\n}\nfunction CreatureImage({ facing, definitionId }) {\n return (React.createElement(\"img\", { className: useStyles().image, src: getCreatureUrl(facing || \"front\", definitionId) }));\n}\nexports.CreatureImage = CreatureImage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeIndicator = exports.ProgressBar = exports.Label = exports.CreatureImage = void 0;\nvar creatureImage_1 = require(\"./creatureImage\");\nObject.defineProperty(exports, \"CreatureImage\", { enumerable: true, get: function () { return creatureImage_1.CreatureImage; } });\nvar label_1 = require(\"./label\");\nObject.defineProperty(exports, \"Label\", { enumerable: true, get: function () { return label_1.Label; } });\nvar progressBar_1 = require(\"./progressBar\");\nObject.defineProperty(exports, \"ProgressBar\", { enumerable: true, get: function () { return progressBar_1.ProgressBar; } });\nvar TypeIndicator_1 = require(\"./TypeIndicator\");\nObject.defineProperty(exports, \"TypeIndicator\", { enumerable: true, get: function () { return TypeIndicator_1.TypeIndicator; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Label = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n label: {\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.8rem\",\n fontWeight: 700,\n color: (props) => (props.type === \"highlight\" ? \"#ffcd75\" : \"#fff\"),\n },\n});\nconst Label = (props) => {\n const classes = useStyles(props);\n return React.createElement(\"span\", { className: classes.label }, props.children);\n};\nexports.Label = Label;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProgressBar = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst getPercentage = (current, max) => Math.floor((current / max) * 100) + \"%\";\nconst getFillStyle = ({ vertical = false, current, max, }) => vertical\n ? { height: getPercentage(current, max) }\n : { width: getPercentage(current, max) };\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: {\n width: \"101%\",\n height: \"100%\",\n position: \"relative\",\n background: \"#636363\",\n boxSizing: \"border-box\",\n },\n fill: (props) => (Object.assign({ position: \"absolute\", height: \"100%\", width: \"100%\", boxSizing: \"border-box\" }, getFillStyle(props))),\n contents: {\n position: \"absolute\",\n top: \"0\",\n right: \"0.5em\",\n fontWeight: 700,\n lineHeight: \"1.75em\",\n },\n});\nconst ProgressBar = (props) => {\n const classes = useStyles(props);\n const { className, fillClassName = \"\", contentClassName = \"\", current, max, renderContents, children, } = props;\n return (React.createElement(\"div\", { className: (0, classnames_1.default)(classes.container, className) },\n React.createElement(\"div\", { className: (0, classnames_1.default)(classes.fill, fillClassName) }),\n renderContents && (React.createElement(\"span\", { className: (0, classnames_1.default)(classes.contents, contentClassName) }, renderContents(current, max))),\n children));\n};\nexports.ProgressBar = ProgressBar;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerAvatar = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst constants_1 = require(\"@cc-web/shared/constants\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n image: {\n height: \"64px\",\n },\n});\nfunction getCreatureUrl(definitionId) {\n return `${constants_1.IMAGE_BASE_URL}/creatures/front/${definitionId}.png`;\n}\nfunction PlayerAvatar({ player, }) {\n var _a;\n const classes = useStyles();\n if (!player || !((_a = player.profile) === null || _a === void 0 ? void 0 : _a.picture)) {\n return null;\n }\n return (React.createElement(\"img\", { className: (0, classnames_1.default)(classes.image, \"avatar\"), src: getCreatureUrl(player.profile.picture) }));\n}\nexports.PlayerAvatar = PlayerAvatar;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerHealthbar = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst config_1 = require(\"@creature-chess/models/config\");\nconst display_1 = require(\"../display\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n playerHealth: {\n position: \"relative\",\n display: \"block\",\n width: \"100%\",\n height: \"16px\",\n },\n fill: {\n background: \"#20b720\",\n },\n content: {\n position: \"absolute\",\n top: 0,\n right: \"0.25em\",\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.8em\",\n fontWeight: 700,\n color: \"#000\",\n },\n});\nconst renderHealthbar = (current) => current.toString();\nconst PlayerHealthbar = ({ health }) => {\n const classes = useStyles();\n return (React.createElement(display_1.ProgressBar, { className: classes.playerHealth, fillClassName: classes.fill, contentClassName: classes.content, current: health, max: config_1.MAX_HEALTH, renderContents: renderHealthbar }));\n};\nexports.PlayerHealthbar = PlayerHealthbar;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Title = exports.PlayerProfile = exports.PlayerName = exports.PlayerHealthbar = exports.PlayerAvatar = void 0;\nvar avatar_1 = require(\"./avatar\");\nObject.defineProperty(exports, \"PlayerAvatar\", { enumerable: true, get: function () { return avatar_1.PlayerAvatar; } });\nvar healthbar_1 = require(\"./healthbar\");\nObject.defineProperty(exports, \"PlayerHealthbar\", { enumerable: true, get: function () { return healthbar_1.PlayerHealthbar; } });\nvar name_1 = require(\"./name\");\nObject.defineProperty(exports, \"PlayerName\", { enumerable: true, get: function () { return name_1.PlayerName; } });\nvar profile_1 = require(\"./profile\");\nObject.defineProperty(exports, \"PlayerProfile\", { enumerable: true, get: function () { return profile_1.PlayerProfile; } });\nvar title_1 = require(\"./title\");\nObject.defineProperty(exports, \"Title\", { enumerable: true, get: function () { return title_1.Title; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerName = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst getLocalStyles = ({ isLocal = false, }) => isLocal ? { fontStyle: \"italic\", color: \"#ffcd75\" } : {};\nconst useStyles = (0, react_jss_1.createUseStyles)({\n name: (props) => (Object.assign({ fontFamily: \"Arial, sans-serif\", fontSize: \"0.8em\", fontWeight: 700, color: \"#fff\", textTransform: \"uppercase\" }, getLocalStyles(props))),\n});\nconst PlayerName = (props) => {\n const classes = useStyles(props);\n return (React.createElement(\"span\", { className: classes.name },\n props.position,\n \".\\u00A0\",\n props.name));\n};\nexports.PlayerName = PlayerName;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerProfile = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst name_1 = require(\"./name\");\nconst title_1 = require(\"./title\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: {\n display: \"flex\",\n flexDirection: \"column\",\n paddingBottom: \"0.15rem\",\n },\n name: {\n marginBottom: \"0.25rem\",\n },\n});\nconst PlayerProfile = (props) => {\n var _a;\n const classes = useStyles();\n const { position, player, isLocal } = props;\n return (React.createElement(\"div\", { className: classes.container },\n React.createElement(\"div\", { className: classes.name },\n React.createElement(name_1.PlayerName, { position: position, name: player.name, isLocal: isLocal })),\n React.createElement(title_1.Title, { title: ((_a = player.profile) === null || _a === void 0 ? void 0 : _a.title) || null })));\n};\nexports.PlayerProfile = PlayerProfile;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Title = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n title: {\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.65rem\",\n fontWeight: 700,\n color: ({ title }) => title ? `#${title.color.toString(16)}` : \"inherit\",\n textAlign: \"inherit\",\n textTransform: \"uppercase\",\n },\n});\nfunction Title(props) {\n const classes = useStyles(props);\n if (!props.title) {\n return null;\n }\n return React.createElement(\"span\", { className: classes.title }, props.title.text);\n}\nexports.Title = Title;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BattleInfo = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst playerList_1 = require(\"@creature-chess/models/game/playerList\");\nconst getBattleText = (battle) => {\n if (!battle) {\n return \"\";\n }\n if (battle.status === playerList_1.PlayerBattleStatus.IN_PROGRESS) {\n return \"Battling\";\n }\n if (battle.status === playerList_1.PlayerBattleStatus.FINISHED) {\n return `${battle.homeScore} - ${battle.awayScore}`;\n }\n return \"\";\n};\nconst getResultColor = (props) => {\n if (!props ||\n !props.battle ||\n props.battle.status !== playerList_1.PlayerBattleStatus.FINISHED) {\n return \"#ffcd74\";\n }\n const { isHomePlayer, homeScore, awayScore } = props.battle;\n const win = isHomePlayer ? homeScore > awayScore : awayScore > homeScore;\n return win ? \"#38b764\" : \"#b13e53\";\n};\nconst useStyles = (0, react_jss_1.createUseStyles)({\n battleInfo: {\n padding: \"0.25em 0.5em\",\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.625em\",\n color: \"#c3c3c3\",\n textAlign: \"center\",\n background: \"#333\",\n },\n highlight: {\n fontWeight: 700,\n color: \"#fff\",\n textTransform: \"uppercase\",\n },\n result: (props) => ({ color: getResultColor(props) }),\n});\nconst BattleInfo = (props) => {\n const classes = useStyles(props);\n const text = getBattleText(props.battle);\n if (!props.battle) {\n return null;\n }\n return (React.createElement(\"div\", { className: classes.battleInfo },\n React.createElement(\"span\", { className: (0, classnames_1.default)(classes.highlight, classes.result) }, text),\n React.createElement(\"span\", null, \"\\u00A0vs\\u00A0\"),\n React.createElement(\"span\", { className: classes.highlight }, props.opponentName || \"\")));\n};\nexports.BattleInfo = BattleInfo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreakIndicator = exports.StatusPlayerListItem = exports.PlayerListItem = void 0;\nvar playerListItem_1 = require(\"./playerListItem\");\nObject.defineProperty(exports, \"PlayerListItem\", { enumerable: true, get: function () { return playerListItem_1.PlayerListItem; } });\nvar statusPlayerListItem_1 = require(\"./statusPlayerListItem\");\nObject.defineProperty(exports, \"StatusPlayerListItem\", { enumerable: true, get: function () { return statusPlayerListItem_1.StatusPlayerListItem; } });\nvar streakIndicator_1 = require(\"./streakIndicator\");\nObject.defineProperty(exports, \"StreakIndicator\", { enumerable: true, get: function () { return streakIndicator_1.StreakIndicator; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlayerListItem = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_1 = require(\"react\");\nconst react_jss_1 = require(\"react-jss\");\nconst hooks_1 = require(\"../../hooks\");\nconst layout_1 = require(\"../../layout\");\nconst button_1 = require(\"../button\");\nconst display_1 = require(\"../display\");\nconst player_1 = require(\"../player\");\nconst battleInfo_1 = require(\"./battleInfo\");\nconst streakIndicator_1 = require(\"./streakIndicator\");\nconst getDetailReadyColor = ({ player: { ready }, showReadyIndicator = false, }) => (ready && showReadyIndicator ? \"#20b720\" : \"#ccc\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: (props) => ({\n \"border\": props.isOpponent ? \"3px solid #b13e53\" : \"\",\n \"boxSizing\": \"border-box\",\n \"padding\": \"0.5rem\",\n \"background\": \"#566c86\",\n \"&:not(:last-child)\": {\n marginBottom: \"0.25em\",\n },\n }),\n details: (props) => ({\n flex: 1,\n paddingLeft: \"0.5em\",\n borderLeft: `5px solid ${getDetailReadyColor(props)}`,\n display: \"flex\",\n flexDirection: \"column\",\n }),\n grow: {\n flex: 1,\n },\n battleContainer: {\n width: \"100%\",\n },\n badges: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n padding: \"0 0.25em\",\n boxSizing: \"border-box\",\n alignItems: \"center\",\n },\n});\nconst PlayerListItem = (props) => {\n const styles = useStyles(props);\n const { index, player, opponentName, isLocal, onSpectateClick, currentlySpectating = false, } = props;\n const ref = (0, react_1.useRef)(null);\n const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);\n (0, hooks_1.useOnClickOutside)(ref, () => setIsExpanded(false));\n const toggleExpanded = () => {\n // don't open for local player\n if (isLocal) {\n return;\n }\n setIsExpanded(!isExpanded);\n };\n return (React.createElement(\"div\", { className: styles.container, onClick: toggleExpanded, ref: ref },\n React.createElement(layout_1.Layout, { direction: \"row\", noSpacer: true },\n React.createElement(player_1.PlayerAvatar, { player: player }),\n React.createElement(\"div\", { className: styles.details },\n React.createElement(layout_1.Layout, { direction: \"row\", noSpacer: true },\n React.createElement(layout_1.Half, null,\n React.createElement(player_1.PlayerProfile, { position: index + 1, player: player, isLocal: isLocal })),\n React.createElement(layout_1.Half, null,\n React.createElement(player_1.PlayerHealthbar, { health: player.health }))),\n React.createElement(layout_1.Layout, { direction: \"row\", className: styles.grow },\n React.createElement(layout_1.Half, { className: styles.badges },\n React.createElement(streakIndicator_1.StreakIndicator, { type: player.streakType, amount: player.streakAmount }),\n React.createElement(display_1.Label, { type: \"highlight\" },\n \"$\",\n player.money),\n React.createElement(display_1.Label, null,\n \"Lv \",\n player.level)),\n React.createElement(layout_1.Half, null, currentlySpectating || isExpanded ? (React.createElement(button_1.Button, { onClick: onSpectateClick }, currentlySpectating ? \"Stop spectating\" : \"Spectate\")) : (React.createElement(layout_1.Layout, { direction: \"row\", noSpacer: true, justifyContent: \"center\", className: styles.battleContainer },\n React.createElement(battleInfo_1.BattleInfo, { battle: player.battle, opponentName: opponentName })))))))));\n};\nexports.PlayerListItem = PlayerListItem;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatusPlayerListItem = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst display_1 = require(\"../display\");\nconst battleInfo_1 = require(\"./battleInfo\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n container: {\n display: \"flex\",\n flexDirection: \"row\",\n width: \"100%\",\n boxSizing: \"border-box\",\n padding: \"0.4rem\",\n marginBottom: \"0.25em\",\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"1.2em\",\n fontWeight: \"700\",\n color: \"#fff\",\n textAlign: \"center\",\n textTransform: \"uppercase\",\n background: \"#3b3d40\",\n },\n // todo make this into a component\n col: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n textAlign: \"center\",\n justifyContent: \"space-around\",\n },\n subtitle: {\n padding: \"0.5em 0\",\n marginTop: \"0.5em\",\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.9em\",\n fontWeight: 700,\n color: \"#847878\",\n textAlign: \"center\",\n textTransform: \"uppercase\",\n borderTop: \"2px solid #847878\",\n borderBottom: \"2px solid #847878\",\n },\n name: {\n fontSize: \"1.8em\",\n fontStyle: \"italic\",\n color: \"#cecece\",\n },\n});\nconst StatusPlayerListItem = ({ name, opponentName, battle, status, subtitle, }) => {\n const classes = useStyles();\n return (React.createElement(\"div\", { className: classes.container },\n React.createElement(\"div\", { className: classes.col },\n React.createElement(\"span\", { className: classes.name }, name)),\n React.createElement(\"div\", { className: classes.col },\n React.createElement(display_1.Label, null, status),\n React.createElement(battleInfo_1.BattleInfo, { battle: battle, opponentName: opponentName }),\n subtitle && React.createElement(\"span\", { className: classes.subtitle }, subtitle))));\n};\nexports.StatusPlayerListItem = StatusPlayerListItem;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreakIndicator = void 0;\nconst react_1 = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst player_1 = require(\"@creature-chess/models/player\");\nconst getBackground = (type) => type === player_1.StreakType.WIN ? \"#38b764\" : \"#b13e53\";\nconst useStyles = (0, react_jss_1.createUseStyles)({\n indicator: (props) => ({\n position: \"relative\",\n width: \"1.2em\",\n height: \"1.2em\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n background: getBackground(props.type),\n border: \"2px solid darkgray\",\n boxShadow: \"1px 1px 3px #888888\",\n }),\n amount: {\n position: \"absolute\",\n top: \"52%\",\n fontFamily: \"Arial, sans-serif\",\n fontSize: \"0.8rem\",\n lineHeight: 0,\n color: \"#fff\",\n },\n sheen: {\n position: \"absolute\",\n top: \"-100%\",\n left: \"-125%\",\n width: \"80%\",\n height: \"200%\",\n background: \"linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(255,255,255,0))\", // 3D sheen effect\n transform: \"rotate(45deg)\",\n transition: \"left 1s ease-in-out, top 1s ease-in-out\",\n },\n});\nfunction StreakIndicator(props) {\n const classes = useStyles(props);\n const sheenRef = (0, react_1.useRef)(null);\n // apply sheen effect when streak amount changes\n (0, react_1.useEffect)(() => {\n if (sheenRef.current) {\n sheenRef.current.style.transition = \"none\";\n sheenRef.current.style.left = \"-100%\";\n sheenRef.current.style.top = \"-125%\";\n // Force a reflow to reset the transition\n void sheenRef.current.offsetWidth;\n sheenRef.current.style.transition =\n \"left 1s ease-in-out, top 1s ease-in-out\";\n sheenRef.current.style.left = \"100%\";\n sheenRef.current.style.top = \"75%\";\n const timer = setTimeout(() => {\n if (sheenRef.current) {\n sheenRef.current.style.transition = \"none\";\n sheenRef.current.style.left = \"-100%\";\n sheenRef.current.style.top = \"-125%\";\n }\n }, 1000);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [props.amount]);\n if (props.type === null || !props.amount || props.amount === 1) {\n return null;\n }\n return (react_1.default.createElement(\"div\", { className: classes.indicator },\n react_1.default.createElement(\"div\", { className: classes.sheen, ref: sheenRef }),\n react_1.default.createElement(\"span\", { className: classes.amount }, props.amount)));\n}\nexports.StreakIndicator = StreakIndicator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useGlobalStyles = void 0;\nconst react_jss_1 = require(\"react-jss\");\nconst useResetStyles = (0, react_jss_1.createUseStyles)({\n \"@global\": {\n [\"html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,\" +\n \"blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,\" +\n \"img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,\" +\n \"center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,\" +\n \"tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure,\" +\n \"figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,\" +\n \"time, mark, audio, video\"]: {\n padding: \"0\",\n margin: \"0\",\n font: \"inherit\",\n fontSize: \"100%\",\n verticalAlign: \"baseline\",\n border: \"0\",\n },\n \"article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section\": {\n display: \"block\",\n },\n \"body\": {\n lineHeight: \"1\",\n },\n \"ol, ul\": {\n listStyle: \"none\",\n },\n \"blockquote, q\": {\n quotes: \"none\",\n },\n \"blockquote::before, blockquote::after, q::before, q::after\": {\n content: \"none\",\n },\n \"table\": {\n borderSpacing: \"0\",\n borderCollapse: \"collapse\",\n },\n },\n});\nconst useGlobalGameStyles = (0, react_jss_1.createUseStyles)({\n \"@global\": {\n \"*\": {\n userSelect: \"none\",\n },\n \".approot\": {\n position: \"fixed\",\n width: \"100vw\",\n height: \"100vh\",\n },\n \"body\": {\n background: \"#333c57\",\n },\n },\n});\nconst useGlobalStyles = () => {\n useResetStyles();\n useGlobalGameStyles();\n};\nexports.useGlobalStyles = useGlobalStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getXpToNextLevel = void 0;\nconst config_1 = require(\"@creature-chess/models/config\");\n// TODO jkm - make this configurable\n// XP used to be [1, 1, 2, 4, 8, 16, 24, 32, 40];\nconst XP_TO_NEXT_LEVEL = [1, 1, 2, 4, 8, 13, 18, 24, 30];\nconst getXpToNextLevel = (level) => {\n if (level === config_1.MAX_LEVEL) {\n return 0;\n }\n const result = XP_TO_NEXT_LEVEL[level - 1];\n if (result === undefined) {\n return 0;\n }\n return result;\n};\nexports.getXpToNextLevel = getXpToNextLevel;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PIECES_TO_EVOLVE = exports.MAX_HEALTH = exports.MAX_LEVEL = exports.GAME_PHASE_LENGTHS = void 0;\nconst game_phase_1 = require(\"./src/game-phase\");\nexports.GAME_PHASE_LENGTHS = {\n [game_phase_1.GamePhase.PREPARING]: 40,\n [game_phase_1.GamePhase.READY]: 3,\n [game_phase_1.GamePhase.PLAYING]: 35,\n};\nexports.MAX_LEVEL = 10;\nexports.MAX_HEALTH = 100;\nexports.PIECES_TO_EVOLVE = 3;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.finishedBattle = exports.inProgressBattle = exports.PlayerStatus = exports.PlayerBattleStatus = void 0;\nvar PlayerBattleStatus;\n(function (PlayerBattleStatus) {\n PlayerBattleStatus[PlayerBattleStatus[\"IN_PROGRESS\"] = 0] = \"IN_PROGRESS\";\n PlayerBattleStatus[PlayerBattleStatus[\"FINISHED\"] = 1] = \"FINISHED\";\n})(PlayerBattleStatus || (exports.PlayerBattleStatus = PlayerBattleStatus = {}));\nvar PlayerStatus;\n(function (PlayerStatus) {\n PlayerStatus[PlayerStatus[\"CONNECTED\"] = 0] = \"CONNECTED\";\n PlayerStatus[PlayerStatus[\"DEAD\"] = 1] = \"DEAD\";\n PlayerStatus[PlayerStatus[\"QUIT\"] = 2] = \"QUIT\";\n})(PlayerStatus || (exports.PlayerStatus = PlayerStatus = {}));\nconst inProgressBattle = (opponentId) => ({\n status: PlayerBattleStatus.IN_PROGRESS,\n opponentId,\n});\nexports.inProgressBattle = inProgressBattle;\nconst finishedBattle = (opponentId, isHomePlayer, homeScore, awayScore) => ({\n status: PlayerBattleStatus.FINISHED,\n opponentId,\n isHomePlayer,\n homeScore,\n awayScore,\n});\nexports.finishedBattle = finishedBattle;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Builders = exports.QuickChatOption = exports.CreatureType = exports.DefinitionClass = exports.attackTypes = exports.getRelativeDirection = exports.getDelta = exports.getDistance = exports.createTileCoordinates = exports.Directions = exports.TileType = exports.GamePhase = void 0;\nvar game_phase_1 = require(\"./src/game-phase\");\nObject.defineProperty(exports, \"GamePhase\", { enumerable: true, get: function () { return game_phase_1.GamePhase; } });\nvar position_1 = require(\"./src/position\");\nObject.defineProperty(exports, \"TileType\", { enumerable: true, get: function () { return position_1.TileType; } });\nObject.defineProperty(exports, \"Directions\", { enumerable: true, get: function () { return position_1.Directions; } });\nObject.defineProperty(exports, \"createTileCoordinates\", { enumerable: true, get: function () { return position_1.createTileCoordinates; } });\nObject.defineProperty(exports, \"getDistance\", { enumerable: true, get: function () { return position_1.getDistance; } });\nObject.defineProperty(exports, \"getDelta\", { enumerable: true, get: function () { return position_1.getDelta; } });\nObject.defineProperty(exports, \"getRelativeDirection\", { enumerable: true, get: function () { return position_1.getRelativeDirection; } });\nvar creatureDefinition_1 = require(\"./src/creatureDefinition\");\nObject.defineProperty(exports, \"attackTypes\", { enumerable: true, get: function () { return creatureDefinition_1.attackTypes; } });\nObject.defineProperty(exports, \"DefinitionClass\", { enumerable: true, get: function () { return creatureDefinition_1.DefinitionClass; } });\nvar creatureType_1 = require(\"./src/creatureType\");\nObject.defineProperty(exports, \"CreatureType\", { enumerable: true, get: function () { return creatureType_1.CreatureType; } });\nvar quickChat_1 = require(\"./src/quickChat\");\nObject.defineProperty(exports, \"QuickChatOption\", { enumerable: true, get: function () { return quickChat_1.QuickChatOption; } });\nexports.Builders = __importStar(require(\"./src/builders\"));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreakType = void 0;\nvar streak_1 = require(\"./streak\");\nObject.defineProperty(exports, \"StreakType\", { enumerable: true, get: function () { return streak_1.StreakType; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreakType = void 0;\nvar StreakType;\n(function (StreakType) {\n StreakType[StreakType[\"WIN\"] = 0] = \"WIN\";\n StreakType[StreakType[\"LOSS\"] = 1] = \"LOSS\";\n})(StreakType || (exports.StreakType = StreakType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildCard = exports.buildPieceModel = exports.buildDefinition = void 0;\nconst creatureDefinition_1 = require(\"../creatureDefinition\");\nconst creatureType_1 = require(\"../creatureType\");\nconst buildDefinition = (definition = {}) => (Object.assign({ id: 1, name: \"Creature\", type: creatureType_1.CreatureType.Earth, class: creatureDefinition_1.DefinitionClass.ARCANE, cost: 1, stages: [] }, definition));\nexports.buildDefinition = buildDefinition;\nconst buildPieceModel = (piece = {}) => (Object.assign({ id: \"123\", ownerId: \"abc\", definitionId: 1, definition: (0, exports.buildDefinition)(), facingAway: false, maxHealth: 100, currentHealth: 100, stage: 0 }, piece));\nexports.buildPieceModel = buildPieceModel;\nconst buildCard = (card = {}) => (Object.assign({ id: \"123\", name: \"Card\", definitionId: 1, type: creatureType_1.CreatureType.Metal, class: creatureDefinition_1.DefinitionClass.ARCANE, cost: 1 }, card));\nexports.buildCard = buildCard;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attackTypes = exports.DefinitionClass = void 0;\nvar DefinitionClass;\n(function (DefinitionClass) {\n DefinitionClass[\"VALIANT\"] = \"Valiant\";\n DefinitionClass[\"ARCANE\"] = \"Arcane\";\n DefinitionClass[\"CUNNING\"] = \"Cunning\";\n})(DefinitionClass || (exports.DefinitionClass = DefinitionClass = {}));\nexports.attackTypes = {\n basic: { name: \"basic\", range: 1 },\n shoot: { name: \"shoot\", range: 2 },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreatureType = void 0;\nvar CreatureType;\n(function (CreatureType) {\n CreatureType[\"Wood\"] = \"Wood\";\n CreatureType[\"Earth\"] = \"Earth\";\n CreatureType[\"Water\"] = \"Water\";\n CreatureType[\"Fire\"] = \"Fire\";\n CreatureType[\"Metal\"] = \"Metal\";\n})(CreatureType || (exports.CreatureType = CreatureType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GamePhase = void 0;\nvar GamePhase;\n(function (GamePhase) {\n GamePhase[GamePhase[\"PREPARING\"] = 0] = \"PREPARING\";\n GamePhase[GamePhase[\"READY\"] = 1] = \"READY\";\n GamePhase[GamePhase[\"PLAYING\"] = 2] = \"PLAYING\";\n})(GamePhase || (exports.GamePhase = GamePhase = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TileType = exports.getRelativeDirection = exports.Directions = exports.getDistance = exports.getDelta = exports.createTileCoordinates = void 0;\nconst createTileCoordinates = (x, y) => ({ x, y });\nexports.createTileCoordinates = createTileCoordinates;\nconst getDelta = (a, b) => ({\n x: Math.abs(a.x - b.x),\n y: Math.abs(a.y - b.y),\n});\nexports.getDelta = getDelta;\nconst getDistance = (a, b) => {\n const { x, y } = (0, exports.getDelta)(a, b);\n return x + y;\n};\nexports.getDistance = getDistance;\nexports.Directions = {\n UP: { x: 0, y: -1 },\n RIGHT: { x: 1, y: 0 },\n DOWN: { x: 0, y: 1 },\n LEFT: { x: -1, y: 0 },\n};\n/**\n * Returns the relative direction of position b from the perspective of position a\n *\n * @param from The position to find the direction relative from\n * @param to The position to find the direction relative to\n */\nconst getRelativeDirection = (from, to) => {\n if (from.x < to.x) {\n return exports.Directions.RIGHT;\n }\n if (from.x > to.x) {\n return exports.Directions.LEFT;\n }\n if (from.y < to.y) {\n return exports.Directions.DOWN;\n }\n if (from.y > to.y) {\n return exports.Directions.UP;\n }\n return { x: 0, y: 0 };\n};\nexports.getRelativeDirection = getRelativeDirection;\nvar TileType;\n(function (TileType) {\n TileType[TileType[\"BOARD\"] = 0] = \"BOARD\";\n TileType[TileType[\"BENCH\"] = 1] = \"BENCH\";\n})(TileType || (exports.TileType = TileType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuickChatOption = void 0;\nvar QuickChatOption;\n(function (QuickChatOption) {\n QuickChatOption[\"GL\"] = \"GL\";\n QuickChatOption[\"HAPPY\"] = \"\\uD83D\\uDE03\";\n QuickChatOption[\"SHOCKED\"] = \"\\uD83D\\uDE31\";\n QuickChatOption[\"ANGRY\"] = \"\\uD83D\\uDE20\";\n})(QuickChatOption || (exports.QuickChatOption = QuickChatOption = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AVAILABLE_PROFILE_PICTURES = exports.MAX_NAME_LENGTH = exports.NAME_REGEX = void 0;\nexports.NAME_REGEX = /^[a-zA-Z0-9\\ ]*$/;\nexports.MAX_NAME_LENGTH = 16;\nexports.AVAILABLE_PROFILE_PICTURES = {\n 1: \"Budaye\",\n 4: \"Aardorn\",\n 5: \"Nut\",\n 7: \"Embra\",\n 8: \"Tweesher\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateNicknameFormat = exports.AVAILABLE_PROFILE_PICTURES = exports.MAX_NAME_LENGTH = void 0;\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"MAX_NAME_LENGTH\", { enumerable: true, get: function () { return constants_1.MAX_NAME_LENGTH; } });\nObject.defineProperty(exports, \"AVAILABLE_PROFILE_PICTURES\", { enumerable: true, get: function () { return constants_1.AVAILABLE_PROFILE_PICTURES; } });\nvar nickname_1 = require(\"./nickname\");\nObject.defineProperty(exports, \"validateNicknameFormat\", { enumerable: true, get: function () { return nickname_1.validateNicknameFormat; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateNicknameFormat = void 0;\nconst constants_1 = require(\"./constants\");\nconst validateNicknameFormat = (nickname) => {\n if (!nickname || !nickname.length || nickname.length < 4) {\n return \"Nickname must be at least 4 characters long\";\n }\n if (nickname.length > constants_1.MAX_NAME_LENGTH) {\n return \"Name too long\";\n }\n if (nickname.match(constants_1.NAME_REGEX) === null) {\n return \"Invalid characters in name\";\n }\n return null;\n};\nexports.validateNicknameFormat = validateNicknameFormat;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DndProvider = exports.BoardGrid = exports.useBelowPieceLimit = exports.usePiecePositions = exports.usePieces = exports.useBoardState = void 0;\nvar context_1 = require(\"./src/context\");\nObject.defineProperty(exports, \"useBoardState\", { enumerable: true, get: function () { return context_1.useBoardState; } });\nObject.defineProperty(exports, \"usePieces\", { enumerable: true, get: function () { return context_1.usePieces; } });\nObject.defineProperty(exports, \"usePiecePositions\", { enumerable: true, get: function () { return context_1.usePiecePositions; } });\nObject.defineProperty(exports, \"useBelowPieceLimit\", { enumerable: true, get: function () { return context_1.useBelowPieceLimit; } });\nvar components_1 = require(\"./src/components\");\nObject.defineProperty(exports, \"BoardGrid\", { enumerable: true, get: function () { return components_1.BoardGrid; } });\n__exportStar(require(\"./src/events\"), exports);\nvar DndProvider_1 = require(\"./src/DndProvider\");\nObject.defineProperty(exports, \"DndProvider\", { enumerable: true, get: function () { return DndProvider_1.DndProvider; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DndProvider = void 0;\nconst React = __importStar(require(\"react\"));\nconst rdndmb_html5_to_touch_1 = require(\"rdndmb-html5-to-touch\");\nconst react_dnd_multi_backend_1 = require(\"react-dnd-multi-backend\");\nfunction DndProvider({ children }) {\n return React.createElement(react_dnd_multi_backend_1.DndProvider, { options: rdndmb_html5_to_touch_1.HTML5toTouch }, children);\n}\nexports.DndProvider = DndProvider;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoardGrid = void 0;\nconst React = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\nconst context_1 = require(\"../context\");\nconst useElementSize_1 = require(\"../useElementSize\");\nconst BoardGridRows_1 = require(\"./BoardGridRows\");\nconst BoardItems_1 = require(\"./items/BoardItems\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n boardContainer: {\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n },\n board: {\n position: \"relative\",\n },\n});\nfunction useTileSize(boardContainerSize, boardSize) {\n const { width, height } = boardContainerSize;\n const { width: columnCount, height: rowCount } = boardSize;\n const tileWidth = width / columnCount;\n const tileHeight = height / rowCount;\n return Math.min(tileWidth, tileHeight);\n}\nfunction BoardGrid(props) {\n const { state, renderItem, onDropItem, onClickTile } = props;\n const boardContext = {\n state,\n };\n const styles = useStyles();\n const { ref, size } = (0, useElementSize_1.useElementSize)();\n const tileSize = useTileSize(size, state.size);\n const containerClass = (0, classnames_1.default)(styles.boardContainer, props.containerClassName);\n const boardClass = (0, classnames_1.default)(styles.board, props.boardClassName);\n return (React.createElement(\"div\", { className: containerClass, ref: ref },\n React.createElement(\"div\", { className: boardClass, style: {\n width: `${tileSize * state.size.width}px`,\n height: `${tileSize * state.size.height}px`,\n } },\n React.createElement(context_1.BoardContextProvider, { value: boardContext },\n React.createElement(BoardGridRows_1.BoardGridRows, { onDropItem: onDropItem, onClickTile: onClickTile, tileSizePx: tileSize }),\n React.createElement(BoardItems_1.BoardItems, { render: renderItem, tileSizePx: tileSize })))));\n}\nexports.BoardGrid = BoardGrid;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoardGridRows = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst context_1 = require(\"../context\");\nconst TileRow_1 = require(\"./TileRow\");\nconst BoardGridRows = ({ tileSizePx, onDropItem, onClickTile, }) => {\n const { size: { height }, } = (0, context_1.useBoardState)();\n const rows = [];\n for (let y = 0; y < height; y++) {\n rows.push(react_1.default.createElement(TileRow_1.TileRow, { y: y, onDropItem: onDropItem, onClickTile: onClickTile, tileSizePx: tileSizePx }));\n }\n return react_1.default.createElement(react_1.default.Fragment, null, rows);\n};\nexports.BoardGridRows = BoardGridRows;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TileRow = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst context_1 = require(\"../context\");\nconst DroppableTile_1 = require(\"./tile/DroppableTile\");\nconst UndroppableTile_1 = require(\"./tile/UndroppableTile\");\nconst useStyles = (0, react_jss_1.createUseStyles)({\n tileRow: {\n boxSizing: \"border-box\",\n lineHeight: \"0\",\n whiteSpace: \"nowrap\",\n },\n});\nfunction TileRow({ y, tileSizePx, onDropItem, onClickTile, }) {\n const { locked, piecePositions, size: { width }, } = (0, context_1.useBoardState)();\n const styles = useStyles();\n const tiles = [];\n for (let x = 0; x < width; x++) {\n const piecePositionKey = `${x},${y}`;\n const tileContainsPiece = Boolean(piecePositions[piecePositionKey]);\n const canDropPiece = !tileContainsPiece && !locked;\n tiles.push(canDropPiece ? (React.createElement(DroppableTile_1.DroppableTile, { key: `tile-${x}`, x: x, y: y, tileSizePx: tileSizePx, onDrop: onDropItem, onClick: onClickTile })) : (React.createElement(UndroppableTile_1.UndroppableTile, { key: `tile-${x}`, x: x, y: y, tileSizePx: tileSizePx })));\n }\n return (React.createElement(\"div\", { className: styles.tileRow, style: {\n width: `${width * tileSizePx}px`,\n } }, tiles));\n}\nexports.TileRow = TileRow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoardGrid = void 0;\nvar BoardGrid_1 = require(\"./BoardGrid\");\nObject.defineProperty(exports, \"BoardGrid\", { enumerable: true, get: function () { return BoardGrid_1.BoardGrid; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoardItem = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_jss_1 = require(\"react-jss\");\nconst TILE_BASE_Z_INDEX = 50;\nconst useStyles = (0, react_jss_1.createUseStyles)({\n boardItem: {\n position: \"absolute\",\n transition: \"all 0.2s cubic-bezier(0.65, 0.05, 0.36, 1) 0s\",\n },\n});\nexports.BoardItem = react_1.default.forwardRef(({ x, y, children, tileSizePx }, ref) => {\n const styles = useStyles();\n return (react_1.default.createElement(\"div\", { ref: ref, className: styles.boardItem, style: {\n width: `${tileSizePx}px`,\n height: `${tileSizePx}px`,\n left: `${x * tileSizePx}px`,\n top: `${y * tileSizePx}px`,\n zIndex: TILE_BASE_Z_INDEX + y + 1,\n } }, children));\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BoardItems = void 0;\nconst React = __importStar(require(\"react\"));\nconst context_1 = require(\"../../context\");\nconst BoardItem_1 = require(\"./BoardItem\");\nconst DraggableBoardItem_1 = require(\"./DraggableBoardItem\");\nconst BoardItems = ({ render, tileSizePx }) => {\n const { pieces, piecePositions } = (0, context_1.useBoardState)();\n const pieceElements = [];\n // this weird code is needed so that React keeps the same DOM elements, thus preserving the CSS animations\n const entries = Object.entries(piecePositions);\n entries.sort(([aPosition, aId], [bPosition, bId]) => aId.localeCompare(bId));\n for (const [position, id] of entries) {\n if (!id) {\n continue;\n }\n const [x, y] = position.split(\",\").map((i) => parseInt(i, 10));\n const { item, draggable = false } = render(pieces[id], x, y);\n if (draggable) {\n pieceElements.push(React.createElement(DraggableBoardItem_1.DraggableBoardItem, { key: id, id: id, x: x, y: y, tileSizePx: tileSizePx }, item));\n }\n else {\n pieceElements.push(React.createElement(BoardItem_1.BoardItem, { key: id, x: x, y: y, tileSizePx: tileSizePx }, item));\n }\n }\n return React.createElement(React.Fragment, null, pieceElements);\n};\nexports.BoardItems = BoardItems;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DraggableBoardItem = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_dnd_1 = require(\"react-dnd\");\nconst BoardItem_1 = require(\"./BoardItem\");\nconst DraggableBoardItem = ({ children, id, x, y, tileSizePx, }) => {\n const [{}, drag] = (0, react_dnd_1.useDrag)({\n type: \"BoardItem\",\n item: { id },\n });\n return (React.createElement(BoardItem_1.BoardItem, { ref: drag, x: x, y: y, tileSizePx: tileSizePx }, children));\n};\nexports.DraggableBoardItem = DraggableBoardItem;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DroppableTile = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_dnd_1 = require(\"react-dnd\");\nconst context_1 = require(\"../../context\");\nconst Tile_1 = require(\"./Tile\");\nconst DroppableTile = ({ x, y, tileSizePx, onDrop, onClick, }) => {\n const belowPieceLimit = (0, context_1.useBelowPieceLimit)();\n const pieces = (0, context_1.usePieces)();\n const [{}, drop] = (0, react_dnd_1.useDrop)({\n accept: \"BoardItem\",\n drop: ({ id }) => {\n if (!onDrop) {\n return;\n }\n onDrop({ id, x, y });\n },\n canDrop: ({ id }) => {\n const pieceIsFromSameBoard = Boolean(pieces[id]);\n return belowPieceLimit || pieceIsFromSameBoard;\n },\n collect: (monitor) => ({\n canDrop: !!monitor.canDrop(),\n isDragging: !!monitor.getItem(),\n }),\n });\n return (React.createElement(Tile_1.Tile, { ref: drop, x: x, y: y, tileSizePx: tileSizePx, onClick: onClick }));\n};\nexports.DroppableTile = DroppableTile;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tile = void 0;\nconst react_1 = __importStar(require(\"react\"));\nconst classnames_1 = __importDefault(require(\"classnames\"));\nconst react_jss_1 = require(\"react-jss\");\n// eslint-disable-next-line no-bitwise\nconst isBoardTileDark = (x, y) => ((y ^ x) & 1) !== 0;\nconst useStyles = (0, react_jss_1.createUseStyles)({\n tile: {\n position: \"relative\",\n display: \"inline-block\",\n boxSizing: \"border-box\",\n userSelect: \"none\",\n },\n tileInner: {\n width: \"100%\",\n height: \"100%\",\n },\n});\nexports.Tile = react_1.default.forwardRef(({ x, y, tileSizePx, onClick }, ref) => {\n const tileInnerRef = (0, react_1.useRef)(null);\n const styles = useStyles();\n const isDark = isBoardTileDark(x, y);\n const handleClick = onClick ? () => onClick({ x, y }) : undefined;\n const className = (0, classnames_1.default)(styles.tile, \"tile\", {\n dark: isDark,\n light: !isDark,\n });\n return (react_1.default.createElement(\"div\", { ref: ref, className: className, \"touch-action\": \"none\", onPointerUp: handleClick, style: {\n width: `${tileSizePx}px`,\n height: `${tileSizePx}px`,\n } },\n react_1.default.createElement(\"div\", { ref: tileInnerRef, className: styles.tileInner })));\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UndroppableTile = void 0;\nconst React = __importStar(require(\"react\"));\nconst react_dnd_1 = require(\"react-dnd\");\nconst Tile_1 = require(\"./Tile\");\nconst UndroppableTile = ({ x, y, tileSizePx }) => {\n const [{}, drop] = (0, react_dnd_1.useDrop)({\n accept: \"Piece\",\n collect: (monitor) => ({\n isDragging: !!monitor.getItem(),\n }),\n });\n return React.createElement(Tile_1.Tile, { ref: drop, x: x, y: y, tileSizePx: tileSizePx });\n};\nexports.UndroppableTile = UndroppableTile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePiecePositions = exports.usePieces = exports.useBelowPieceLimit = exports.useBoardState = exports.BoardContextProvider = void 0;\nconst react_1 = require(\"react\");\nconst board_1 = require(\"@shoki/board\");\nconst BoardContext = (0, react_1.createContext)(null);\nBoardContext.displayName = \"BoardContext\";\nexports.BoardContextProvider = BoardContext.Provider;\nconst useBoard = () => (0, react_1.useContext)(BoardContext);\nconst useBoardState = () => useBoard().state;\nexports.useBoardState = useBoardState;\nconst useBelowPieceLimit = () => {\n const boardState = (0, exports.useBoardState)();\n if (!boardState) {\n return false;\n }\n return (boardState.pieceLimit === null ||\n board_1.BoardSelectors.isBelowPieceLimit(boardState));\n};\nexports.useBelowPieceLimit = useBelowPieceLimit;\nconst usePieces = () => {\n const boardState = (0, exports.useBoardState)();\n if (!boardState) {\n return {};\n }\n return boardState.pieces;\n};\nexports.usePieces = usePieces;\nconst usePiecePositions = () => {\n const boardState = (0, exports.useBoardState)();\n if (!boardState) {\n return {};\n }\n return boardState.piecePositions;\n};\nexports.usePiecePositions = usePiecePositions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useElementSize = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nfunction useElementSize() {\n const [width, setWidth] = react_1.default.useState(0);\n const [height, setHeight] = react_1.default.useState(0);\n const ref = react_1.default.useRef(null);\n react_1.default.useEffect(() => {\n if (ref.current) {\n setWidth(ref.current.clientWidth);\n setHeight(ref.current.clientHeight);\n }\n }, [ref]);\n const storeSize = react_1.default.useCallback(() => {\n if (ref.current) {\n setWidth(ref.current.clientWidth);\n setHeight(ref.current.clientHeight);\n }\n }, [ref]);\n react_1.default.useEffect(() => {\n if (!ref.current) {\n return;\n }\n // wait 10ms to let everything render\n setTimeout(storeSize, 10);\n if (typeof ResizeObserver === \"function\") {\n const resizeObserver = new ResizeObserver(storeSize);\n resizeObserver.observe(ref.current);\n return () => {\n resizeObserver.disconnect();\n };\n }\n window.addEventListener(\"resize\", storeSize);\n return () => {\n window.removeEventListener(\"resize\", storeSize);\n };\n }, [ref, storeSize]);\n const isPortrait = react_1.default.useMemo(() => width < height, [width, height]);\n const size = react_1.default.useMemo(() => ({ width, height }), [width, height]);\n return {\n isPortrait,\n size,\n ref,\n };\n}\nexports.useElementSize = useElementSize;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.topLeftToBottomRightSortPositions = exports.topToBottomMiddleSortPositions = exports.rotatePiecesAboutCenter = exports.mergeBoards = exports.BoardSelectors = exports.createBoardSlice = exports.createInitialBoardState = void 0;\nvar state_1 = require(\"./src/state\");\nObject.defineProperty(exports, \"createInitialBoardState\", { enumerable: true, get: function () { return state_1.createInitialBoardState; } });\nObject.defineProperty(exports, \"createBoardSlice\", { enumerable: true, get: function () { return state_1.createBoardSlice; } });\nexports.BoardSelectors = __importStar(require(\"./src/selectors\"));\nvar mergeBoards_1 = require(\"./src/utils/mergeBoards\");\nObject.defineProperty(exports, \"mergeBoards\", { enumerable: true, get: function () { return mergeBoards_1.mergeBoards; } });\nvar rotateGridPosition_1 = require(\"./src/utils/rotateGridPosition\");\nObject.defineProperty(exports, \"rotatePiecesAboutCenter\", { enumerable: true, get: function () { return rotateGridPosition_1.rotatePiecesAboutCenter; } });\nvar positionSort_1 = require(\"./src/positionSort\");\nObject.defineProperty(exports, \"topToBottomMiddleSortPositions\", { enumerable: true, get: function () { return positionSort_1.topToBottomMiddleSortPositions; } });\nObject.defineProperty(exports, \"topLeftToBottomRightSortPositions\", { enumerable: true, get: function () { return positionSort_1.topLeftToBottomRightSortPositions; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.topLeftToBottomRightSortPositions = exports.topToBottomMiddleSortPositions = void 0;\nconst SORT_A_FIRST = -1;\nconst SORT_A_SECOND = 1;\nconst topToBottomMiddleSortPositions = (a, b) => {\n if (a.y < b.y) {\n return SORT_A_FIRST;\n }\n if (a.y > b.y) {\n return SORT_A_SECOND;\n }\n // todo tie this into board size\n const distanceFromMiddleA = Math.abs(a.x - 3);\n const distanceFromMiddleB = Math.abs(b.x - 3);\n if (distanceFromMiddleA < distanceFromMiddleB) {\n return SORT_A_FIRST;\n }\n if (distanceFromMiddleA > distanceFromMiddleB) {\n return SORT_A_SECOND;\n }\n return SORT_A_FIRST;\n};\nexports.topToBottomMiddleSortPositions = topToBottomMiddleSortPositions;\nconst topLeftToBottomRightSortPositions = (a, b) => {\n if (a.y < b.y) {\n return SORT_A_FIRST;\n }\n if (a.y > b.y) {\n return SORT_A_SECOND;\n }\n if (a.x < b.x) {\n return SORT_A_FIRST;\n }\n if (a.x > b.x) {\n return SORT_A_SECOND;\n }\n return SORT_A_FIRST;\n};\nexports.topLeftToBottomRightSortPositions = topLeftToBottomRightSortPositions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFirstEmptySlot = exports.getPieceForPosition = exports.isBelowPieceLimit = exports.getPiece = exports.getAllPieces = exports.getPiecePosition = void 0;\nconst positionSort_1 = require(\"./positionSort\");\n// todo add a position-for-id lookup to the board state to improve this\nconst getPiecePosition = (state, pieceId) => {\n const entry = Object.entries(state.piecePositions).find(([_, id]) => id === pieceId);\n if (!entry) {\n return null;\n }\n const [x, y] = entry[0].split(\",\").map((val) => parseInt(val, 10));\n return { x, y };\n};\nexports.getPiecePosition = getPiecePosition;\nconst getAllPieces = (state) => Object.values(state.pieces).filter((p) => p !== null);\nexports.getAllPieces = getAllPieces;\nconst getPiece = (state, pieceId) => state.pieces[pieceId] || null;\nexports.getPiece = getPiece;\nconst isBelowPieceLimit = (state) => state.pieceLimit === null || (0, exports.getAllPieces)(state).length < state.pieceLimit;\nexports.isBelowPieceLimit = isBelowPieceLimit;\nconst getPieceForPosition = (state, x, y) => state.pieces[state.piecePositions[`${x},${y}`]] || null;\nexports.getPieceForPosition = getPieceForPosition;\nconst getFirstEmptySlot = (state, sortPositions = positionSort_1.topToBottomMiddleSortPositions) => {\n const emptyPositions = [];\n for (let y = 0; y < state.size.height; y++) {\n for (let x = 0; x < state.size.width; x++) {\n const boardPiece = (0, exports.getPieceForPosition)(state, x, y);\n if (!boardPiece) {\n emptyPositions.push({ x, y });\n }\n }\n }\n if (emptyPositions.length === 0) {\n return null;\n }\n emptyPositions.sort(sortPositions);\n const position = emptyPositions[0];\n return {\n x: position.x,\n y: position.y,\n };\n};\nexports.getFirstEmptySlot = getFirstEmptySlot;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBoardSlice = exports.createInitialBoardState = void 0;\nconst toolkit_1 = require(\"@reduxjs/toolkit\");\nconst filter_1 = require(\"./utils/filter\");\nconst createInitialBoardState = (id, size = {\n width: 7,\n height: 3,\n}) => ({\n id,\n pieces: {},\n piecePositions: {},\n locked: false,\n pieceLimit: null,\n size,\n});\nexports.createInitialBoardState = createInitialBoardState;\nconst createBoardSlice = (id, size) => {\n const { reducer, actions: { setBoardSizeCommand, lockBoardCommand, unlockBoardCommand, setPieceLimitCommand, setBoardPiecesCommand, addBoardPieceCommand, moveBoardPieceCommand, removeBoardPiecesCommand, updateBoardPiecesCommand, swapPiecesCommand, }, } = (0, toolkit_1.createSlice)({\n name: `board-${id}`,\n initialState: (0, exports.createInitialBoardState)(id, size),\n reducers: {\n setBoardSizeCommand: (state, { payload: { width, height }, }) => {\n const differenceWidth = width - state.size.width;\n const differenceHeight = height - state.size.height;\n return Object.assign(Object.assign({}, state), { size: { width, height }, piecePositions: Object.entries(state.piecePositions).reduce((newPiecePositions, [position, pieceId]) => {\n const [x, y] = position.split(\",\").map((val) => parseInt(val, 10));\n const newX = x + differenceWidth;\n const newY = y + differenceHeight;\n return Object.assign(Object.assign({}, newPiecePositions), { [`${newX},${newY}`]: pieceId });\n }, {}) });\n },\n lockBoardCommand: (state) => (Object.assign(Object.assign({}, state), { locked: true })),\n unlockBoardCommand: (state) => (Object.assign(Object.assign({}, state), { locked: false })),\n setPieceLimitCommand: (state, { payload: limit }) => (Object.assign(Object.assign({}, state), { pieceLimit: limit })),\n // TODO (jkm) remove `size` from here\n setBoardPiecesCommand: (state, { payload: { pieces, piecePositions, size: newSize }, }) => (Object.assign(Object.assign(Object.assign({}, state), { pieces: Object.assign({}, pieces), piecePositions: Object.assign({}, piecePositions) }), (newSize\n ? { size: { width: newSize.width, height: newSize.height } }\n : {}))),\n addBoardPieceCommand: (state, { payload: { x, y, piece }, }) => (Object.assign(Object.assign({}, state), { pieces: Object.assign(Object.assign({}, state.pieces), { [piece.id]: piece }), piecePositions: Object.assign(Object.assign({}, state.piecePositions), { [`${x},${y}`]: piece.id }) })),\n moveBoardPieceCommand: (state, { payload: { pieceId, from, to }, }) => {\n const piece = state.pieces[pieceId];\n const fromString = `${from.x},${from.y}`;\n const pieceAtFrom = state.piecePositions[fromString];\n // safety catch\n if (!piece || piece.id !== pieceId || piece.id !== pieceAtFrom) {\n return state;\n }\n const toString = `${to.x},${to.y}`;\n const newState = Object.assign(Object.assign({}, state), { piecePositions: Object.assign(Object.assign({}, state.piecePositions), { [toString]: pieceId }) });\n delete newState.piecePositions[fromString];\n return newState;\n },\n removeBoardPiecesCommand: (state, { payload: pieceIds }) => (Object.assign(Object.assign({}, state), { pieces: (0, filter_1.getPiecesWithoutIds)(state.pieces, pieceIds), piecePositions: (0, filter_1.getPiecePositionsWithoutIds)(state.piecePositions, pieceIds) })),\n updateBoardPiecesCommand: (state, { payload: pieces }) => {\n const newPieces = Object.assign({}, state.pieces);\n for (const piece of pieces) {\n newPieces[piece.id] = piece;\n }\n return Object.assign(Object.assign({}, state), { pieces: newPieces });\n },\n swapPiecesCommand: (state, { payload: { aId, bId } }) => {\n if (!aId || !bId) {\n return state;\n }\n const a = state.pieces[aId];\n const b = state.pieces[bId];\n if (!a || !b) {\n return state;\n }\n const positions = Object.entries(state.piecePositions);\n const aPositionEntry = positions.find(([, pieceId]) => pieceId === aId);\n const bPositionEntry = positions.find(([, pieceId]) => pieceId === bId);\n if (!aPositionEntry || !bPositionEntry) {\n return state;\n }\n const [aPosition] = aPositionEntry;\n const [bPosition] = bPositionEntry;\n return Object.assign(Object.assign({}, state), { piecePositions: Object.assign(Object.assign({}, state.piecePositions), { [aPosition]: b.id, [bPosition]: a.id }) });\n },\n },\n });\n return {\n boardReducer: reducer,\n commands: {\n setBoardSizeCommand,\n lockBoardCommand,\n unlockBoardCommand,\n setPieceLimitCommand,\n setBoardPiecesCommand,\n addBoardPieceCommand,\n moveBoardPieceCommand,\n removeBoardPiecesCommand,\n updateBoardPiecesCommand,\n swapPiecesCommand,\n },\n };\n};\nexports.createBoardSlice = createBoardSlice;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPiecePositionsWithoutIds = exports.getPiecesWithoutIds = void 0;\nconst getPiecesWithoutIds = (pieces, ids) => {\n const newPieces = Object.assign({}, pieces);\n for (const pieceId of ids) {\n if (newPieces[pieceId]) {\n delete newPieces[pieceId];\n }\n }\n return newPieces;\n};\nexports.getPiecesWithoutIds = getPiecesWithoutIds;\nconst getPiecePositionsWithoutIds = (piecePositions, ids) => Object.entries(piecePositions).reduce((newPiecePositions, [position, pieceId]) => {\n // skip the desired piece\n if (!pieceId || ids.includes(pieceId)) {\n return newPiecePositions;\n }\n newPiecePositions[position] = pieceId;\n return newPiecePositions;\n}, {});\nexports.getPiecePositionsWithoutIds = getPiecePositionsWithoutIds;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeBoards = void 0;\nconst rotateGridPosition_1 = require(\"./rotateGridPosition\");\nconst expandBoard = (board, { width, height }) => {\n const differenceWidth = width - board.size.width;\n const differenceHeight = height - board.size.height;\n return Object.assign(Object.assign({}, board), { size: { width, height }, piecePositions: Object.entries(board.piecePositions).reduce((newPiecePositions, [position, pieceId]) => {\n const [x, y] = position.split(\",\").map((val) => parseInt(val, 10));\n const newX = x + differenceWidth;\n const newY = y + differenceHeight;\n return Object.assign(Object.assign({}, newPiecePositions), { [`${newX},${newY}`]: pieceId });\n }, {}) });\n};\nconst mergeBoards = (id, home, away) => {\n if (home.size.width !== away.size.width ||\n home.size.height !== away.size.height) {\n throw Error(\"Trying to merge odd-sized boards\");\n }\n const newSize = {\n width: home.size.width,\n height: home.size.height * 2,\n };\n const expandedHome = expandBoard(home, newSize);\n const expandedAway = expandBoard(away, newSize);\n const rotatedAway = (0, rotateGridPosition_1.rotatePiecesAboutCenter)(expandedAway);\n return {\n id,\n pieces: Object.assign(Object.assign({}, expandedHome.pieces), rotatedAway.pieces),\n piecePositions: Object.assign(Object.assign({}, expandedHome.piecePositions), rotatedAway.piecePositions),\n locked: true,\n pieceLimit: null,\n size: newSize,\n };\n};\nexports.mergeBoards = mergeBoards;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rotatePiecesAboutCenter = exports.rotateGridPosition = void 0;\nconst selectors_1 = require(\"../selectors\");\nconst rotateGridPosition = (gridSize, position) => ({\n x: gridSize.width - 1 - position.x,\n y: gridSize.height - 1 - position.y,\n});\nexports.rotateGridPosition = rotateGridPosition;\nconst rotatePiecesAboutCenter = (state) => {\n const newPositions = [];\n for (const [pieceId] of Object.entries(state.pieces)) {\n const position = (0, selectors_1.getPiecePosition)(state, pieceId);\n if (!position) {\n continue;\n }\n const newPosition = (0, exports.rotateGridPosition)(state.size, position);\n const newPositionKey = `${newPosition.x},${newPosition.y}`;\n newPositions.push({ pieceId, position: newPositionKey });\n }\n return Object.assign(Object.assign({}, state), { piecePositions: newPositions.reduce((acc, { pieceId, position }) => (Object.assign(Object.assign({}, acc), { [position]: pieceId })), {}) });\n};\nexports.rotatePiecesAboutCenter = rotatePiecesAboutCenter;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_creature_chess_app_web_menu\"] = self[\"webpackChunk_creature_chess_app_web_menu\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors-node_modules_auth0_auth0-react_dist_auth0-react_esm_js-node_modules_reduxjs_toolkit_d-b75221\"], () => (__webpack_require__(\"./src/index.tsx\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}