summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNick Coutsos <[email protected]>2023-11-01 22:42:35 -0400
committerNick Coutsos <[email protected]>2023-11-01 22:42:35 -0400
commit8551602f85104d9df82ee8e8e708c2419feb8a72 (patch)
tree58fdee243fb51ecb35cd5a7593501f6d71b32551
parentfc517811cbcbed2368cba1cda6f2875297767411 (diff)
downloadkeymap-editor-8551602f85104d9df82ee8e8e708c2419feb8a72.tar.gz
keymap-editor-8551602f85104d9df82ee8e8e708c2419feb8a72.zip
Auto-scale keyboard layout to fit window width
-rw-r--r--4820.b6c55aee1c4cd8c91d2c.js2
-rw-r--r--LayerEditorTab.122a21ff258672b62270.js2
-rw-r--r--index.html2
-rw-r--r--runtime.9ad58d0013684795567f.js2
4 files changed, 7 insertions, 1 deletions
diff --git a/4820.b6c55aee1c4cd8c91d2c.js b/4820.b6c55aee1c4cd8c91d2c.js
new file mode 100644
index 0000000..f53ee6b
--- /dev/null
+++ b/4820.b6c55aee1c4cd8c91d2c.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4820],{58887:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(94184),o=n.n(r),i=n(86322),u=n(91118),c=n(48118),a=n(85893);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===l(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=e.keyPositions;return(0,a.jsx)(i.i,{bindings:[],renderKey:function(e){var n,r=e.index;return(0,a.jsx)(u.Z,{selectable:!1,themeClass:o()((n={},s(n,c.Z.key,!0),s(n,c.Z.highlight,t.includes(r)),n),c.Z.keyMini)})}})}},15023:function(e,t,n){"use strict";n.d(t,{Z:function(){return he}});var r=n(67294),o=n(45697),i=n.n(o),u=n(86322),c=n(91118),a=n(94184),l=n.n(a),s=n(93379),f=n.n(s),y=n(7795),b=n.n(y),p=n(90569),d=n.n(p),m=n(3565),v=n.n(m),h=n(19216),g=n.n(h),A=n(44589),j=n.n(A),O=n(57141),w={};w.styleTagTransform=j(),w.setAttributes=v(),w.insert=d().bind(null,"head"),w.domAPI=b(),w.insertStyleElement=g(),f()(O.Z,w);var S=O.Z&&O.Z.locals?O.Z.locals:void 0,C=n(74691),E=n.n(C),x=n(39316);function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){return{x:t.x-e.x,y:t.y-e.y}}function T(e,t){return e.x*t.y-e.y*t.x}function M(e,t){var n=P(e,2),r=n[0],o=n[1],i=P(t,2),u=i[0],c=i[1],a=D(r,o),l=D(u,c),s=T(a,D(o,u)),f=T(a,D(o,c)),y=T(l,D(c,r)),b=T(l,D(c,o));return Math.sign(s)!==Math.sign(f)&&Math.sign(y)!==Math.sign(b)}function B(e){var t=P(e,4),n=t[0],r=t[1],o=t[2],i=t[3];return[[n,r],[r,o],[o,i],[i,n]]}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||z(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e,t){if(e){if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var K="add",U="remove",q="box",F="path",Y=(0,r.createContext)({});function X(e,t){var n=function(){var e=N((0,r.useReducer)(G,null,V),2),t=e[0],n=e[1],o=(0,r.useCallback)((function(e){return n({type:"set_style",style:e})}),[n]),i=(0,r.useCallback)((function(e){return n({type:"set_mode",mode:e})}),[n]);return[t,{setStyle:o,setMode:i,beginDrag:(0,r.useCallback)((function(e,t){return n({type:"begin",startPoint:e,offsetRect:t})}),[n]),endDrag:(0,r.useCallback)((function(){return n({type:"end"})}),[n]),drag:(0,r.useCallback)((function(e,t){return n({type:"drag",clientX:e,clientY:t})}),[n])}]}(),o=N(n,2),i=o[0],u=o[1],c=i.style,a=i.mode,l=i.start,s=i.rect,f=i.trail,y=u.setStyle,b=u.setMode,p=u.beginDrag,d=u.endDrag,m=u.drag,v=(0,r.useMemo)((function(){return s&&(Math.abs(s[0][0]-s[1][0])>3||Math.abs(s[0][1]-s[1][1])>3)}),[s]),h=(0,r.useMemo)((function(){return e.map(x.VW).reduce(x.FP)}),[e]),g=(0,r.useMemo)((function(){return v?c===q?function(e,t){var n=B(function(e){var t=P(e,2),n=P(t[0],2),r=n[0],o=n[1],i=P(t[1],2),u=i[0],c=i[1];return[{x:r,y:o},{x:r,y:c},{x:u,y:c},{x:u,y:o}]}(e));return t.reduce((function(t,r,o){return(r.some((function(t){return n=e,o=(r=t).x,i=r.y,n[0][0]<o&&o<n[1][0]&&n[0][1]<i&&i<n[1][1];var n,r,o,i}))||B(r).some((function(e){return n.some((function(t){return M(e,t)}))})))&&t.push(o),t}),[])}(s,e):function(e,t){var n=e.map((function(e){var t=P(e,2);return{x:t[0],y:t[1]}})).reduce((function(e,t,n,r){return n<r.length-1&&e.push([t,r[n+1]]),e}),[]);return t.reduce((function(e,t,r){return B(t).some((function(e){return n.some((function(t){return M(e,t)}))}))&&e.push(r),e}),[])}(f,e):[]}),[e,v,c,s,f]),A=(0,r.useCallback)((function(e){return y(e)}),[y]),j=(0,r.useCallback)((function(e){a===K&&e.shiftKey&&b(U)}),[a,b]),O=(0,r.useCallback)((function(e){a!==U||e.shiftKey||b(K)}),[a,b]),w=(0,r.useCallback)((function(e){var t=function(e){for(;(e=e.parentNode)&&("relative"!==e.style.position||!e.getBoundingClientRect().height););return e}(e.target).getBoundingClientRect(),n=e.clientX,r=e.clientY;e.preventDefault(),p([n,r],t)}),[p]),S=(0,r.useCallback)((function(e){l&&m(e.clientX,e.clientY)}),[l,m]),C=(0,r.useCallback)((function(e){l&&(v&&t({mode:a,intersections:g}),d())}),[t,g,a,l,v,d]);return(0,r.useEffect)((function(){return window.addEventListener("mouseup",C),window.addEventListener("mousemove",S),window.addEventListener("keydown",j),window.addEventListener("keyup",O),function(){window.removeEventListener("mouseup",C),window.removeEventListener("mousemove",S),window.removeEventListener("keydown",j),window.removeEventListener("keyup",O)}}),[C,S,j,O]),R(R({},i),{},{boundingBox:h,selecting:v,intersections:g,onMouseDown:w,onChangeStyle:A})}function V(){return{style:q,mode:K,start:null,trail:null,rect:null,offsetRect:null}}function G(e,t){switch(t.type){case"set_style":return R(R({},e),{},{style:t.style});case"set_mode":return R(R({},e),{},{mode:t.mode});case"begin":return R(R({},e),{},{start:[t.startPoint[0]-t.offsetRect.left,t.startPoint[1]-t.offsetRect.top],offsetRect:t.offsetRect,trail:[]});case"end":return R(R({},e),{},{start:null,negate:!1,trail:null,rect:null});case"drag":return R(R({},e),{},{rect:H(e,t),trail:W(e,t)});default:throw new Error('Unknown action "'.concat(t.type,'"'))}}function H(e,t){var n=e.start,r=e.offsetRect,o=t.clientX,i=t.clientY,u=N(n,2),c=u[0],a=u[1],l=E()(o,r.left,r.right)-r.left,s=E()(i,r.top,r.bottom)-r.top;return[[Math.min(l,c),Math.min(s,a)],[Math.max(l,c),Math.max(s,a)]]}function W(e,t){var n,r=e.trail,o=e.offsetRect,i=t.clientX,u=t.clientY,c=[i-o.left,u-o.top];return[].concat(function(e){if(Array.isArray(e))return _(e)}(n=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||z(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[c])}var $=n(85893);function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function Q(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||ee(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ee(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==J(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===J(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){var t=e.style,n=e.selecting,r=e.children,o=e.onMouseDown,i=e.mode,u=e.intersections;return(0,$.jsx)("div",{style:{position:"relative"},children:(0,$.jsx)("div",{onMouseDown:o,className:l()(S.container,oe({},S.selecting,n)),children:(0,$.jsxs)(Y.Provider,{value:{dragMode:i,intersections:u},children:[r,n&&t===q&&(0,$.jsx)(ue,re({},e)),n&&t===F&&(0,$.jsx)(ce,re({},e))]})})})}function ue(e){var t=e.mode,n=Q(e.rect,2),r=n[0],o=n[1],i=Math.abs(r[0]-o[0])+"px",u=Math.abs(r[1]-o[1])+"px";return(0,$.jsx)("div",{className:l()(S.overlay,oe({},S.negate,t===U)),style:{position:"absolute",top:r[1]+"px",left:r[0]+"px",width:i,height:u}})}function ce(e){var t,n=e.start,r=e.trail,o=e.boundingBox,i=["M ".concat(n[0]," ").concat(n[1])].concat((t=r.map((function(e){var t=Q(e,2),n=t[0],r=t[1];return"L ".concat(n," ").concat(r)})),function(e){if(Array.isArray(e))return te(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||ee(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())).join("\n"),u="0 0 ".concat(o.max.x," ").concat(o.max.y);return(0,$.jsx)("div",{style:{position:"absolute",pointerEvents:"none",top:0,left:0,width:"100%",height:"100%"},children:(0,$.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:u,children:(0,$.jsx)("path",{fill:"none",stroke:"royalblue",strokeWidth:"2",strokeDasharray:"4 2",d:i})})})}var ae=n(48118),le=n(2062),se=n(20817);function fe(e){return fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(e)}function ye(e){return function(e){if(Array.isArray(e))return ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||me(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?be(Object(n),!0).forEach((function(t){de(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function de(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==fe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==fe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===fe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){if(e){if("string"==typeof e)return ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ve(e,t):void 0}}function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function he(e){var t,n,o,i,a,s,f,y,b,p=e.value,d=e.prompt,m=e.onUpdate,v=(0,se.Z7)().polygons,h=(y=(0,r.useReducer)((function(e,t){switch(t){case"INCREMENT_MANUAL_SELECTION":return pe(pe({},e),{},{manualSelectionCount:e.manualSelectionCount+1});case"INCREMENT_MANUAL_DESELECTION":return pe(pe({},e),{},{manualDeSelectionCount:e.manualDeSelectionCount+1});case"TRACK_DRAG_SELECTION":return pe(pe({},e),{},{usedDragSelection:!0});case"TRACK_DRAG_DESELECTION":return pe(pe({},e),{},{usedDragDeSelection:!0});default:throw new Error("Unrecognized action type in ".concat(t))}}),{manualSelectionCount:0,manualDeSelectionCount:0,usedDragSelection:!1,usedDragDeSelection:!1}),b=2,n=(t=function(e){if(Array.isArray(e))return e}(y)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(y,b)||me(y,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],o=t[1],i=(0,r.useCallback)((function(){return o("INCREMENT_MANUAL_SELECTION")}),[o]),a=(0,r.useCallback)((function(){return o("INCREMENT_MANUAL_DESELECTION")}),[o]),s=(0,r.useCallback)((function(){return o("TRACK_DRAG_SELECTION")}),[o]),f=(0,r.useCallback)((function(){return o("TRACK_DRAG_DESELECTION")}),[o]),{showSelectTip:!n.usedDragSelection&&n.manualSelectionCount>3,showDeSelectTip:!n.usedDragDeSelection&&n.manualDeSelectionCount>3,actions:{manualSelection:i,manualDeSelection:a,dragSelection:s,dragDeSelection:f}}),g=h.showSelectTip,A=h.showDeSelectTip,j=h.actions,O=(0,r.useCallback)((function(e){var t=e.mode,n=e.intersections,r=t===U;r?j.dragDeSelection():j.dragSelection(),m(r?p.filter((function(e){return!n.includes(e)})):[].concat(ye(p),ye(n)))}),[p,m,j]),w=(0,r.useCallback)((function(e){var t=p.includes(e);t?j.manualDeSelection():j.manualSelection(),m(t?p.filter((function(t){return t!==e})):[].concat(ye(p),[e]))}),[p,m,j]),S=X(v,O),C=S.intersections,E=S.mode,x=p,P=E===U?[]:C.filter((function(e){return!x.includes(e)})),k=E===U?C.filter((function(e){return x.includes(e)})):[];return(0,$.jsxs)(ie,pe(pe({},S),{},{children:[(0,$.jsx)(u.i,{bindings:[],renderKey:function(e){var t,n=e.index;return(0,$.jsx)(c.Z,{onClick:function(){return w(n)},themeClass:l()(ae.Z.key,ae.Z.keyMini,(t={},de(t,ae.Z.highlight,x.includes(n)),de(t,ae.Z.previewAdd,P.includes(n)),de(t,ae.Z.previewRemove,k.includes(n)),t))})}}),d&&(0,$.jsx)("prompt",{}),g&&(0,$.jsx)(le.Z,{className:ae.Z.tip,children:(0,$.jsx)("span",{children:"Drag to select a region"})}),A&&(0,$.jsx)(le.Z,{className:ae.Z.tip,children:(0,$.jsx)("span",{children:"Shift+Drag to de-select a region"})})]}))}he.propTypes={onUpdate:i().func.isRequired,value:i().arrayOf(i().number).isRequired,prompt:i().node}},77593:function(e,t,n){"use strict";n.d(t,{Z:function(){return j},l:function(){return O}});var r=n(78718),o=n.n(r),i=n(45697),u=n.n(i),c=n(67294),a=n(39316),l=n(95872),s=n(94995),f=n(85893);function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}var b=["keyLayout","renderOptions","children"];function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==y(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===y(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){return o()(e,["x","y"])},h=function(e){return{x:e.rx,y:e.ry,a:e.r}},g=function(e){var t=e.w,n=void 0===t?1:t,r=e.u,o=void 0===r?n:r,i=e.h;return{u:o,h:void 0===i?1:i}},A=(0,c.createContext)({});function j(e){var t=e.keyLayout,n=e.renderOptions,r=e.children,o=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,b),i=v(t),u=h(t),s=g(t),y=(0,a.Pi)(i,s,u,n),p=(0,c.useRef)();return(0,f.jsx)("div",d(d({ref:p,className:l.Z.placer,style:y,"data-u":s.u,"data-h":s.h},o),{},{children:(0,f.jsx)(A.Provider,{value:{position:i,rotation:u,size:s,ref:p},children:r})}))}function O(){return(0,c.useContext)(A)}j.propTypes={scale:u().number,keyLayout:s.v.isRequired},j.defaultProps={scale:1}},86322:function(e,t,n){"use strict";n.d(t,{Z:function(){return m},i:function(){return v}});var r=n(45697),o=n.n(r),i=n(67294),u=n(77593),c=n(94995),a=n(20817),l=n(39316),s=n(85893);function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){var t,n,r,o,c,f=e.layout,b=e.renderKey,p=e.renderOptions,d=(0,i.useContext)(a.VY),m=d.layout,v=d.layoutBbox,h=(o=(0,i.useState)(window.innerWidth-121),c=2,n=(t=function(e){if(Array.isArray(e))return e}(o)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(o,c)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(o,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],r=t[1],(0,i.useEffect)((function(){function e(){r(window.innerWidth-121)}return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[r]),n),g=v.max.x-v.min.x,A=p?p.keySize/l.Cg:1,j=1===A?Math.max(.5,Math.min(1,h/g)):e.scale,O=f||m,w=(0,i.useMemo)((function(){return{width:"".concat(j*A*(v.max.x-v.min.x),"px"),height:"".concat(j*A*(v.max.y-v.min.y),"px")}}),[j,A,v]),S=(0,i.useMemo)((function(){return{transform:"scale(".concat(j,")"),transformOrigin:0}}),[j]);return(0,s.jsx)("div",{style:w,children:(0,s.jsx)("div",{style:S,children:O.map((function(e,t){return(0,s.jsx)(u.Z,{keyLayout:e,renderOptions:p,children:b({index:t,keyLayout:e})},t)}))})})}function v(e){var t=(0,a.Z7)().renderOptions;return(0,s.jsx)(m,p(p({},e),{},{renderOptions:t}))}m.propTypes={layout:c.bK,renderKey:o().func.isRequired,scale:o().number},m.defaultProps={scale:1}},94995:function(e,t,n){"use strict";n.d(t,{bK:function(){return b},v:function(){return y}});var r=n(45697),o=n.n(r);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={x:o().number.isRequired,y:o().number.isRequired},s={a:o().number,rx:o().number,ry:o().number},f={u:o().number,h:o().number},y=o().shape(c(c(c({},l),s),f)),b=o().arrayOf(y)},57141:function(e,t,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),u=n.n(i)()(o());u.push([e.id,".beN98YLA7pgetUFERZiy.l89ME8s61u2Ef93va4w0 {\n cursor: crosshair;\n}\n\n.mpuOZiVdjhHzyeC13usG {\n position: relative;\n background-color: hsla(225, 73%, 57%, 0.103);\n border: 3px dotted hsla(225, 73%, 57%, 0.7);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n.mpuOZiVdjhHzyeC13usG.B2x7xPuxYUZ62rCQlDVo {\n background-color: rgba(120, 120, 120, 0.1);\n border-color: rgba(120, 120, 120, 0.25);\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Common/DragSelector/dragSelector.module.css"],names:[],mappings:"AAAA;EACE,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;EAClB,4CAA4C;EAC5C,2CAA2C;EAC3C,oBAAoB;EACpB,sBAAsB;AACxB;;AAEA;EACE,0CAA0C;EAC1C,uCAAuC;AACzC",sourcesContent:[".container.selecting {\n cursor: crosshair;\n}\n\n.overlay {\n position: relative;\n background-color: hsla(225, 73%, 57%, 0.103);\n border: 3px dotted hsla(225, 73%, 57%, 0.7);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n.overlay.negate {\n background-color: rgba(120, 120, 120, 0.1);\n border-color: rgba(120, 120, 120, 0.25);\n}\n"],sourceRoot:""}]),u.locals={container:"beN98YLA7pgetUFERZiy",selecting:"l89ME8s61u2Ef93va4w0",overlay:"mpuOZiVdjhHzyeC13usG",negate:"B2x7xPuxYUZ62rCQlDVo"},t.Z=u},49040:function(e,t,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),u=n.n(i)()(o());u.push([e.id,'.lD5TsvdIbEAHNdmhfnlb {\n background-color: var(--key-bg-base);\n}\n.yk89E4zK9zlO69OXhKn5:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.pzTvsxKjpy6MqcFhxh9j {\n background-color: var(--selection);\n}\n.pzTvsxKjpy6MqcFhxh9j:hover {\n background-color: var(--hover-selection);\n}\n\n.r_Sdklnj57CE2ZjnBDw6 {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.Ich9T1nSzHs1a84insfp {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n._3U1zi1J1sXT41AzpAA1j {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.f38_8PxgThEPWT2hn3qF {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .f38_8PxgThEPWT2hn3qF:not(.pzTvsxKjpy6MqcFhxh9j) {\n filter:brightness(95%);\n }\n}',"",{version:3,sources:["webpack://./src/Keyboard/Common/keyPositionSelectorStyles.module.css"],names:[],mappings:"AAAA;EACE,oCAAoC;AACtC;AACA;EACE,eAAe;EACf,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,wCAAwC;EACxC,wBAAwB;AAC1B;;AAEA;EACE,wCAAwC;EACxC,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE;IACE,sBAAsB;EACxB;AACF",sourcesContent:['.key {\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.highlight {\n background-color: var(--selection);\n}\n.highlight:hover {\n background-color: var(--hover-selection);\n}\n\n.previewAdd {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.previewRemove {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n.tip {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.keyMini {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .keyMini:not(.highlight) {\n filter:brightness(95%);\n }\n}'],sourceRoot:""}]),u.locals={key:"lD5TsvdIbEAHNdmhfnlb",selectable:"yk89E4zK9zlO69OXhKn5",highlight:"pzTvsxKjpy6MqcFhxh9j",previewAdd:"r_Sdklnj57CE2ZjnBDw6",previewRemove:"Ich9T1nSzHs1a84insfp",tip:"_3U1zi1J1sXT41AzpAA1j",keyMini:"f38_8PxgThEPWT2hn3qF"},t.Z=u},29750:function(e){e.exports=function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}},57406:function(e,t,n){var r=n(71811),o=n(10928),i=n(40292),u=n(40327);e.exports=function(e,t){return t=r(t,e),null==(e=i(e,t))||delete e[u(o(t))]}},60696:function(e,t,n){var r=n(68630);e.exports=function(e){return r(e)?void 0:e}},40292:function(e,t,n){var r=n(97786),o=n(14259);e.exports=function(e,t){return t.length<2?e:r(e,o(t,0,-1))}},74691:function(e,t,n){var r=n(29750),o=n(14841);e.exports=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=o(n))==n?n:0),void 0!==t&&(t=(t=o(t))==t?t:0),r(o(e),t,n)}},68630:function(e,t,n){var r=n(44239),o=n(85924),i=n(37005),u=Function.prototype,c=Object.prototype,a=u.toString,l=c.hasOwnProperty,s=a.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=r(e))return!1;var t=o(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&a.call(n)==s}},10928:function(e){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},57557:function(e,t,n){var r=n(29932),o=n(85990),i=n(57406),u=n(71811),c=n(98363),a=n(60696),l=n(99021),s=n(46904),f=l((function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,(function(t){return t=u(t,e),l||(l=t.length>1),t})),c(e,s(e),n),l&&(n=o(n,7,a));for(var f=t.length;f--;)i(n,t[f]);return n}));e.exports=f},48118:function(e,t,n){"use strict";var r=n(93379),o=n.n(r),i=n(7795),u=n.n(i),c=n(90569),a=n.n(c),l=n(3565),s=n.n(l),f=n(19216),y=n.n(f),b=n(44589),p=n.n(b),d=n(49040),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=a().bind(null,"head"),m.domAPI=u(),m.insertStyleElement=y(),o()(d.Z,m),t.Z=d.Z&&d.Z.locals?d.Z.locals:void 0}}]);
+//# sourceMappingURL=4820.b6c55aee1c4cd8c91d2c.js.map \ No newline at end of file
diff --git a/LayerEditorTab.122a21ff258672b62270.js b/LayerEditorTab.122a21ff258672b62270.js
new file mode 100644
index 0000000..c2b46a8
--- /dev/null
+++ b/LayerEditorTab.122a21ff258672b62270.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6793],{72054:function(n,e,r){"use strict";r.d(e,{Z:function(){return O}});var t=r(94184),o=r.n(t),i=r(67294),a=r(45697),l=r.n(a),c=r(93379),s=r.n(c),u=r(7795),A=r.n(u),d=r(90569),p=r.n(d),f=r(3565),y=r.n(f),b=r(19216),m=r.n(b),g=r(44589),h=r.n(g),v=r(56634),C={};C.styleTagTransform=h(),C.setAttributes=y(),C.insert=p().bind(null,"head"),C.domAPI=A(),C.insertStyleElement=m(),s()(v.Z,C);var x=v.Z&&v.Z.locals?v.Z.locals:void 0,E=r(21517),j=r(64261),B=r(62092),w=r(85893);function S(n){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},S(n)}function k(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function O(n){var e,r,t,a,l,c=n.actions,s=(e=(0,j.X)(),r=4,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return k(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],A=s[2],d=s[3],p=(0,i.useRef)();return(0,E.Z)(p,A),(0,w.jsxs)("div",{ref:p,className:x.wrapper,children:[(0,w.jsx)(B.Z,{className:x.button,onClick:d,icon:"ellipsis"}),(0,w.jsx)("div",{className:o()(x.menu,(t={},a=x.open,l=u,(a=function(n){var e=function(n,e){if("object"!==S(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==S(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===S(e)?e:String(e)}(a))in t?Object.defineProperty(t,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[a]=l,t)),children:(0,w.jsx)("ul",{children:c.map((function(n,e){return(0,w.jsx)("li",{onClick:function(){return function(n){A(),n()}(n.callback)},children:n.content},e)}))})})]})}O.propTypes={actions:l().arrayOf(l().shape({callback:l().func.isRequired,content:l().oneOfType([l().node,l().string]).isRequired})).isRequired}},97494:function(n,e,r){"use strict";r.d(e,{Z:function(){return w}});var t=r(45697),o=r.n(t),i=r(93379),a=r.n(i),l=r(7795),c=r.n(l),s=r(90569),u=r.n(s),A=r(3565),d=r.n(A),p=r(19216),f=r.n(p),y=r(44589),b=r.n(y),m=r(33988),g={};g.styleTagTransform=b(),g.setAttributes=d(),g.insert=u().bind(null,"head"),g.domAPI=c(),g.insertStyleElement=f(),a()(m.Z,g);var h=m.Z&&m.Z.locals?m.Z.locals:void 0,v=r(85893);function C(n){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},C(n)}var x=["validator","required","value"];function E(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function j(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?E(Object(r),!0).forEach((function(e){B(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function B(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==C(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==C(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===C(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function w(n){var e=n.validator,r=n.required,t=void 0!==r&&r,o=n.value,i=void 0===o?"":o,a=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,x),l=e(i)||!i&&t&&"cannot be empty";return(0,v.jsxs)("span",{className:h.wrapper,children:[(0,v.jsx)("input",j({type:"text",value:i},a)),l&&(0,v.jsx)("span",{className:h.error,children:l})]})}w.propTypes={value:o().any.isRequired,required:o().bool,validator:o().func}},58887:function(n,e,r){"use strict";r.d(e,{Z:function(){return A}});var t=r(94184),o=r.n(t),i=r(86322),a=r(91118),l=r(48118),c=r(85893);function s(n){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},s(n)}function u(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==s(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==s(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===s(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function A(n){var e=n.keyPositions;return(0,c.jsx)(i.i,{bindings:[],renderKey:function(n){var r,t=n.index;return(0,c.jsx)(a.Z,{selectable:!1,themeClass:o()((r={},u(r,l.Z.key,!0),u(r,l.Z.highlight,e.includes(t)),r),l.Z.keyMini)})}})}},77593:function(n,e,r){"use strict";r.d(e,{Z:function(){return C},l:function(){return x}});var t=r(78718),o=r.n(t),i=r(45697),a=r.n(i),l=r(67294),c=r(39316),s=r(95872),u=r(94995),A=r(85893);function d(n){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},d(n)}var p=["keyLayout","renderOptions","children"];function f(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function y(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?f(Object(r),!0).forEach((function(e){b(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function b(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==d(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==d(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===d(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}var m=function(n){return o()(n,["x","y"])},g=function(n){return{x:n.rx,y:n.ry,a:n.r}},h=function(n){var e=n.w,r=void 0===e?1:e,t=n.u,o=void 0===t?r:t,i=n.h;return{u:o,h:void 0===i?1:i}},v=(0,l.createContext)({});function C(n){var e=n.keyLayout,r=n.renderOptions,t=n.children,o=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,p),i=m(e),a=g(e),u=h(e),d=(0,c.Pi)(i,u,a,r),f=(0,l.useRef)();return(0,A.jsx)("div",y(y({ref:f,className:s.Z.placer,style:d,"data-u":u.u,"data-h":u.h},o),{},{children:(0,A.jsx)(v.Provider,{value:{position:i,rotation:a,size:u,ref:f},children:t})}))}function x(){return(0,l.useContext)(v)}C.propTypes={scale:a().number,keyLayout:u.v.isRequired},C.defaultProps={scale:1}},86322:function(n,e,r){"use strict";r.d(e,{Z:function(){return b},i:function(){return m}});var t=r(45697),o=r.n(t),i=r(67294),a=r(77593),l=r(94995),c=r(20817),s=r(39316),u=r(85893);function A(n){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},A(n)}function d(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function p(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function f(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?p(Object(r),!0).forEach((function(e){y(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function y(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==A(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==A(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===A(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function b(n){var e,r,t,o,l,A=n.layout,p=n.renderKey,f=n.renderOptions,y=(0,i.useContext)(c.VY),b=y.layout,m=y.layoutBbox,g=(o=(0,i.useState)(window.innerWidth-121),l=2,r=(e=function(n){if(Array.isArray(n))return n}(o)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(o,l)||function(n,e){if(n){if("string"==typeof n)return d(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(n,e):void 0}}(o,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],t=e[1],(0,i.useEffect)((function(){function n(){t(window.innerWidth-121)}return window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}}),[t]),r),h=m.max.x-m.min.x,v=f?f.keySize/s.Cg:1,C=1===v?Math.max(.5,Math.min(1,g/h)):n.scale,x=A||b,E=(0,i.useMemo)((function(){return{width:"".concat(C*v*(m.max.x-m.min.x),"px"),height:"".concat(C*v*(m.max.y-m.min.y),"px")}}),[C,v,m]),j=(0,i.useMemo)((function(){return{transform:"scale(".concat(C,")"),transformOrigin:0}}),[C]);return(0,u.jsx)("div",{style:E,children:(0,u.jsx)("div",{style:j,children:x.map((function(n,e){return(0,u.jsx)(a.Z,{keyLayout:n,renderOptions:f,children:p({index:e,keyLayout:n})},e)}))})})}function m(n){var e=(0,c.Z7)().renderOptions;return(0,u.jsx)(b,f(f({},n),{},{renderOptions:e}))}b.propTypes={layout:l.bK,renderKey:o().func.isRequired,scale:o().number},b.defaultProps={scale:1}},50062:function(n,e,r){"use strict";r.r(e),r.d(e,{default:function(){return _e}});var t={};r.r(t),r.d(t,{colemak:function(){return Wn},colemakModDh:function(){return Qn},dvorak:function(){return Fn},options:function(){return Rn},qwerty:function(){return Mn}});var o=r(95998),i=r(67294),a=r(97494),l=r(64261),c=r(96186),s=r(93379),u=r.n(s),A=r(7795),d=r.n(A),p=r(90569),f=r.n(p),y=r(3565),b=r.n(y),m=r(19216),g=r.n(m),h=r(44589),v=r.n(h),C=r(59500),x={};x.styleTagTransform=v(),x.setAttributes=b(),x.insert=f().bind(null,"head"),x.domAPI=d(),x.insertStyleElement=g(),u()(C.Z,x);var E=C.Z&&C.Z.locals?C.Z.locals:void 0,j=r(62417),B=r(27926),w=r(80736),S=r(85893);function k(n){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},k(n)}function O(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function P(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?O(Object(r),!0).forEach((function(e){T(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function T(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==k(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==k(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===k(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Z(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var I=function(n){var e,r,t,s=n.layerIndex,u=n.onClose,A=(0,o.I0)(),d=(0,o.v9)(w.vl)[s],p=(r=(0,i.useState)({name:d.name,label:(null===(e=d.properties.label)||void 0===e?void 0:e.parsed)||""}),t=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(r,t)||function(n,e){if(n){if("string"==typeof n)return Z(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Z(n,e):void 0}}(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=p[0],y=p[1];return(0,S.jsx)(l.Z,{onDismiss:u,children:(0,S.jsxs)(c.Z,{dismissText:"",children:[(0,S.jsxs)("h2",{children:["Customize Layer ",(0,S.jsx)("code",{children:d.name})]}),(0,S.jsxs)("div",{children:[(0,S.jsxs)("div",{className:E.field,children:[(0,S.jsx)("label",{htmlFor:"customize-layer-name",children:"Name"}),(0,S.jsx)(a.Z,{id:"customize-layer-name",placeholder:"Default",value:f.name,validator:j.Gk,onChange:function(n){return y((function(e){return P(P({},e),{},{name:n.target.value})}))}})]}),(0,S.jsxs)("div",{className:E.field,children:[(0,S.jsx)("label",{htmlFor:"customize-layer-label",children:"Label"}),(0,S.jsx)("input",{id:"customize-layer-label",placeholder:"Default",value:f.label,onChange:function(n){return y((function(e){return P(P({},e),{},{label:n.target.value})}))}})]})]}),(0,S.jsxs)("div",{style:{textAlign:"center",gap:"5px"},children:[(0,S.jsx)(B.Z,{onClick:function(){A((0,w.vc)(P({layerIndex:s},f))),u()},children:"OK"}),(0,S.jsx)(B.Z,{onClick:u,secondary:!0,children:"Cancel"})]})]})})},D=r(45697),L=r.n(D),U=r(72054);function Y(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function q(n){var e,r=n.layerIndex,t=n.additionalActions,a=void 0===t?[]:t,l=(0,o.I0)(),c=(0,i.useMemo)((function(){return{transparentToKeypress:function(){return l((0,w.c7)({layerIndex:r}))},transparentToNone:function(){return l((0,w.sT)({layerIndex:r}))},noneToKeypress:function(){return l((0,w.UH)({layerIndex:r}))},noneToTransparent:function(){return l((0,w.v1)({layerIndex:r}))},emptyKeypressToTransparent:function(){return l((0,w.QR)({layerIndex:r}))},emptyKeypressToNone:function(){return l((0,w.En)({layerIndex:r}))}}}),[l,r]);return(0,S.jsx)(U.Z,{actions:[].concat((e=a,function(n){if(Array.isArray(n))return Y(n)}(e)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(e)||function(n,e){if(n){if("string"==typeof n)return Y(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Y(n,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[{callback:c.transparentToKeypress,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&trans"})," to ",(0,S.jsx)("code",{children:"&kp"})]})},{callback:c.transparentToNone,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&trans"})," to ",(0,S.jsx)("code",{children:"&none"})]})},{callback:c.noneToKeypress,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&none"})," to ",(0,S.jsx)("code",{children:"&kp"})]})},{callback:c.noneToTransparent,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&none"})," to ",(0,S.jsx)("code",{children:"&trans"})]})},{callback:c.emptyKeypressToTransparent,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&kp ⦸"})," to ",(0,S.jsx)("code",{children:"&trans"})]})},{callback:c.emptyKeypressToNone,content:(0,S.jsxs)(S.Fragment,{children:["Convert ",(0,S.jsx)("code",{children:"&kp ⦸"})," to ",(0,S.jsx)("code",{children:"&none"})]})}])})}q.propTypes={layerIndex:L().number.isRequired,additionalActions:L().arrayOf(L().shape({callback:L().func.isRequired,content:L().oneOfType([L().node,L().string]).isRequired}))};var K=r(86322),N=r(82607),R=r(61953),M=r(41051),W=r(80031);function Q(){return(0,S.jsxs)("div",{style:{maxWidth:"600px",margin:"0 auto"},children:[(0,S.jsxs)("h3",{children:[(0,S.jsx)(M.Z,{name:"warning"})," ",(0,S.jsx)("span",{children:"No bindings defined"})]}),(0,S.jsxs)("p",{children:["Usually this is a parsing issue; either this layer in your keymap does not have a ",(0,S.jsx)("code",{children:"bindings"})," property, or there's a syntax problem preventing it from being parsed."]}),(0,S.jsxs)("p",{children:["You should go back and verify that the syntax looks correct before attempting to make changes in the app. (Sometimes the bindings array is missing the ",(0,S.jsx)("code",{children:">;"})," at the end)"]}),W.t6]})}var F=r(76106),H=r(94596),z=r(80671),V=r(58887),X=r(91118);function _(n){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},_(n)}function G(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function J(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?G(Object(r),!0).forEach((function(e){$(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function $(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==_(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==_(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===_(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function nn(n){return(0,S.jsx)(z.Z,J(J({},n),{},{Heading:en}))}function en(n){var e=n.bindingIndex,r=n.bindTree;return(0,S.jsxs)("div",{className:H.Z.keyBindingHeader,children:[(0,S.jsx)(V.Z,{keyPositions:[e],styleOverrides:{display:"inline-block",padding:"3px",borderRadius:"3px"},scale:.15}),(0,S.jsx)(M.Z,{name:"arrow-right"}),(0,S.jsx)(X.Z,{selectable:!1,children:(0,S.jsx)(F.Z,{value:r})})]})}function rn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function tn(n){var e,r,t=n.activeLayer,a=(0,o.I0)(),l=(0,o.v9)(w.vl)[t].properties.bindings,c=(e=(0,i.useState)(null),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return rn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rn(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],u=c[1],A=(0,i.useCallback)((function(n,e){a((0,w.V6)({layerIndex:t,bindIndex:n,binding:e}))}),[a,t]);return null!=l&&l.parsed?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(K.Z,{renderKey:function(n){var e=n.index;return n.keyLayout,l.parsed[e]&&(0,S.jsx)(N.Z,{binding:l.parsed[e],keyWrapperProps:{className:R.Z.unified,onClick:function(n){n.stopPropagation(),u(e)}}})}}),null!==s&&(0,S.jsx)(nn,{binding:l.parsed[s],bindingIndex:s,onCancel:function(){return u(null)},onUpdate:function(n){A(s,n),u(null)}})]}):(0,S.jsx)(Q,{})}var on=r(59140),an=r(46908);function ln(n){var e=n.layerIndex,r=(0,an.Q)().setActiveTab,t=(0,o.v9)(on.Iu),a=(0,i.useMemo)((function(){return t.filter((function(n){var r,t;return(null===(r=n.properties)||void 0===r||null===(t=r["then-layer"])||void 0===t?void 0:t.parsed)===e}))}),[t,e]),l=(0,i.useCallback)((function(n){n.stopPropagation(),r(1)}),[r]);return 0===a.length?null:(0,S.jsxs)("div",{onClick:l,className:E.layerActionPrompt,children:[(0,S.jsx)(M.Z,{className:"fa-flip-horizontal ".concat(E.icon),name:"arrow-right-to-bracket"}),(0,S.jsxs)("div",{className:E.details,children:[(0,S.jsx)("span",{children:a.length})," ",(0,S.jsx)("span",{children:"conditional layer references"})]})]})}var cn=r(94184),sn=r.n(cn),un=r(50361),An=r.n(un),dn=r(2062),pn=r(45556),fn={};fn.styleTagTransform=v(),fn.setAttributes=b(),fn.insert=f().bind(null,"head"),fn.domAPI=d(),fn.insertStyleElement=g(),u()(pn.Z,fn);var yn=pn.Z&&pn.Z.locals?pn.Z.locals:void 0,bn=r(39693),mn=r.n(bn),gn=r(62029),hn=r(20817),vn=r(29709);function Cn(n){return Cn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Cn(n)}function xn(n,e){if(n){if("string"==typeof n)return En(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?En(n,e):void 0}}function En(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function jn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function Bn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?jn(Object(r),!0).forEach((function(e){wn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):jn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function wn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Cn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Cn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Cn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Sn(){return{modifiers:[],eventFiredSinceHoldStart:!1}}function kn(n){return["Alt","Control","Shift","Meta"].includes(n)}function On(n){return On="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},On(n)}function Pn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function Tn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Pn(Object(r),!0).forEach((function(e){Zn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Pn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function Zn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==On(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==On(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===On(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function In(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Dn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dn(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var Ln={Alt:"ALT",Control:"CTRL",Shift:"SHFT",Meta:"GUI",ArrowUp:"UP",ArrowDown:"DOWN",ArrowLeft:"LEFT",ArrowRight:"RIGHT",Escape:"ESC",Tab:"TAB",Enter:"RET",Home:"HOME",End:"END",PageDown:"PG_DN",PageUp:"PG_UP",Backspace:"BSPC",Delete:"DEL"};function Un(n,e){var r=e.behaviorBind,t=void 0===r?"&kp":r,o=e.defaultStart,a=void 0!==o&&o,l=(0,i.useContext)(hn.VY).bindingCount,c=In((0,i.useState)(a),2),s=c[0],u=c[1],A=In((0,i.useState)(0),2),d=A[0],p=A[1],f=(0,i.useCallback)((function(){d<l-1&&p(d+1)}),[d,p,l]),y=(0,i.useCallback)((function(e){e.value=t,n((function(n){return Tn(Tn({},n),{},{properties:Tn(Tn({},n.properties),{},{bindings:Tn(Tn({},n.properties.bindings),{},{parsed:(0,vn.xw)(n.properties.bindings.parsed,d,e)})})})})),f()}),[n,t,d,f]);!function(n,e){var r,t,o=(r=(0,i.useReducer)((function(n,e){switch(e.type){case"HOLD_MODIFIER":return Bn(Bn({},n),{},{modifiers:[].concat((r=n.modifiers,function(n){if(Array.isArray(n))return En(n)}(r)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(r)||xn(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[e.event.key])});case"RELEASE_MODIFIER":return function(n,e){var r=n.modifiers.filter((function(n){return n!==e.event.key}));return Bn(Bn({},n),{},{modifiers:r,eventFiredSinceHoldStart:r.length>0&&n.eventFiredSinceHoldStart})}(n,e);case"EVENT_FIRED":return Bn(Bn({},n),{},{eventFiredSinceHoldStart:!0});default:return n}var r}),null,Sn),t=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(r,t)||xn(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1],c=(0,i.useCallback)((function(n){n.repeat||(kn(n.key)?l({type:"HOLD_MODIFIER",event:n}):(n.preventDefault(),e(n),l({type:"EVENT_FIRED"})))}),[l,e]),s=(0,i.useCallback)((function(n){kn(n.key)&&l({type:"RELEASE_MODIFIER",event:n}),a.eventFiredSinceHoldStart||e(n)}),[a.eventFiredSinceHoldStart,e,l]);(0,i.useEffect)((function(){if(n)return document.body.addEventListener("keydown",c),document.body.addEventListener("keyup",s),function(){document.body.removeEventListener("keydown",c),document.body.removeEventListener("keyup",s)}}),[n,c,s])}(s,(0,i.useCallback)((function(n){var e=function(n){var e=function(n){return mn()([n.altKey&&"LA",n.ctrlKey&&"LC",n.metaKey&&"LG",n.shiftKey&&"LS"])}(n),r=(0,gn.mapCharacter)(n.key.toLowerCase())||function(n){var e=Ln[n.key],r=function(n){switch(n.location){case 1:return"L";case 2:return"R";default:return""}}(n);return e?{value:"&kp",params:[{value:r+e,params:[]}]}:null}(n);if(r)return{value:r.value,params:e.reduce((function(n,e){return[{value:e,params:n}]}),r.params)}}(n);e&&y(e)}),[y]));var b=(0,i.useCallback)((function(){u(!0)}),[u]),m=(0,i.useCallback)((function(){u(!1)}),[u]);return[{isActive:s,bindIndex:d},{startQuickAssignment:b,cancelQuickAssignment:m,setBindIndex:p,setBind:y}]}var Yn=r(80993),qn=["ESC","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"],Kn=["N1","N2","N3","N4","N5","N6","N7","N8","N9","N0"],Nn=["LCTRL","LALT","LGUI","SPACE","RGUI","RALT","RCTRL"],Rn=[{id:"qwerty",label:"QWERTY"},{id:"dvorak",label:"Dvorak"},{id:"colemak",label:"Colemak"},{id:"colemakModDh",label:"Colemak Mod-DH"}],Mn=[qn,["GRAVE"].concat(Kn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","E","R","T","Y","U","I","O","P","LBKT","RBKT","BSLH"],["CAPS","A","S","D","F","G","H","J","K","L","SEMI","APOS","ENTER"],["LSHFT","Z","X","C","V","B","N","M","COMMA","DOT","FSLH","RSHFT"],Nn],Wn=[qn,["GRAVE"].concat(Kn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","F","P","G","J","L","U","Y","SEMI","LBKT","RBKT","BSLH"],["CAPS","A","R","S","T","D","H","N","E","I","O","APOS","ENTER"],["LSHFT","Z","X","C","V","B","K","M","COMMA","DOT","FSLH","RSHFT"],Nn],Qn=[qn,["GRAVE"].concat(Kn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","F","P","B","J","L","U","Y","SEMI","LBKT","RBKT","BSLH"],["CAPS","A","R","S","T","G","M","N","E","I","O","APOS","ENTER"],["LSHFT","Z","X","C","V","D","K","H","COMMA","DOT","FSLH","RSHFT"],Nn],Fn=[qn,["GRAVE"].concat(Kn,["LBKT","RBKT","BSPC"]),["TAB","APOS","COMMA","DOT","P","Y","F","G","C","R","L","FSLH","EQUAL","BSLH"],["CAPS","A","O","E","U","I","D","H","T","N","S","MINUS","ENTER"],["LSHFT","SEMI","Q","J","K","X","B","M","W","V","Z","RSHFT"],Nn];function Hn(n){return Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Hn(n)}function zn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Vn(n){var e,r,o=n.onSelect,a=(e=(0,i.useState)(Rn[0]),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return zn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zn(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1];return(0,S.jsxs)("div",{children:[(0,S.jsxs)("div",{children:["Keymap palette: ",(0,S.jsx)(Yn.Z,{value:l,options:Rn,onChange:c,getOptionValue:function(n){return n.id}})]}),(0,S.jsx)("div",{className:yn.keymapPalette,children:t[l.id].map((function(n,e){return(0,S.jsx)(Xn,{keys:n,onSelect:o},e)}))})]})}function Xn(n){var e=n.keys,r=n.onSelect;return(0,S.jsx)("div",{className:yn.keymapPaletteRow,children:e.map((function(n,e){return(0,S.jsx)(_n,{behavior:"&kp",code:n,onSelect:r},e)}))})}function _n(n){var e,r,t,o=n.behavior,i=n.code,a=n.onSelect,l={value:o,params:[{value:i,params:[]}]};return(0,S.jsx)(X.Z,{themeClass:sn()(yn.mini,(e={},r=yn.spacebar,t="SPACE"===i,(r=function(n){var e=function(n,e){if("object"!==Hn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Hn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Hn(e)?e:String(e)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e)),onClick:function(){return a(l)},children:(0,S.jsx)(F.Z,{hideBehavior:!0,value:l})})}var Gn=r(35937),Jn=r.n(Gn),$n=r(81485),ne=r(77593),ee=r(49700);function re(n){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},re(n)}function te(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return oe(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oe(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oe(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function ie(n){var e,r,t,a=n.layer,s=n.layerIndex,u=n.onClose,A=(0,o.I0)(),d=(e=(0,i.useContext)($n.c),r=e.behaviorParameters,t=e.sources.behaviours,(0,i.useMemo)((function(){return Object.values(Jn()(t,(function(n,e){return 1===r[e].length&&"code"===r[e][0]}))).map((function(n){var e,r;return{id:n.code,label:(null===(e=n.properties)||void 0===e||null===(r=e.label)||void 0===r?void 0:r.parsed)||"",description:n.description}}))}),[t,r])),p=te((0,i.useState)(d[0]),2),f=p[0],y=p[1],b=te((0,i.useState)((function(){return An()(a)})),2),m=b[0],g=te(Un(b[1],{behaviorBind:f.id,defaultStart:!0}),2),h=g[0],v=g[1],C=(0,i.useCallback)((function(){A((0,w.tj)({layerIndex:s,layer:m})),u()}),[A,m,s,u]),x=(0,S.jsx)("span",{style:{display:"inline-block",fontSize:"initial",fontWeight:"normal",verticalAlign:"middle"},children:(0,S.jsx)(Yn.Z,{options:d,value:f,onChange:y,getOptionValue:function(n){return n.id},formatOptionLabel:function(n){return(0,S.jsx)("code",{title:"".concat(n.label," ").concat(n.description),children:n.id})}})});return(0,S.jsx)(l.Z,{onDismiss:u,children:(0,S.jsxs)(c.Z,{classes:[yn.quickAssignDialog],dismissText:"",children:[(0,S.jsx)("h2",{children:"Quick-assign layer keybindings"}),(0,S.jsx)("div",{style:{display:"flex",justifyContent:"center",overflow:"auto"},children:(0,S.jsx)(K.Z,{bindings:m.properties.bindings.parsed,renderKey:function(n){var e=n.index;return m.properties.bindings.parsed[e]&&(0,S.jsx)(ae,{binding:m.properties.bindings.parsed[e],selected:h.bindIndex===e,onClick:function(){return v.setBindIndex(e)}})}})}),(0,S.jsx)("div",{style:{textAlign:"center"},children:(0,S.jsx)(dn.Z,{children:(0,S.jsx)("span",{children:"Click on a different key to jump ahead or go back and correct a previous binding."})})}),(0,S.jsxs)("div",{className:yn.toolSection,children:[(0,S.jsxs)("div",{className:yn.description,children:[(0,S.jsx)("p",{children:"Set a binding at the highlighted position by tapping the desired key on your keyboard or by selecting from the palette to the right."}),(0,S.jsxs)("div",{children:["Use behavior: ",x]}),(0,S.jsxs)("p",{className:yn.finePrint,children:["Note: modified keys can be captured, except when a different key is produced, like ",(0,S.jsx)("kbd",{children:"Alt"})," + ",(0,S.jsx)("kbd",{children:"A"})," becoming the ",(0,S.jsx)("code",{children:"å"})," character on a Mac. You may need to manually set these bindings afterwards."]})]}),(0,S.jsx)(Vn,{onSelect:v.setBind})]}),(0,S.jsxs)(c.k,{children:[(0,S.jsx)(B.Z,{onClick:C,children:"Okay"}),(0,S.jsx)(B.Z,{secondary:!0,onClick:u,children:"Cancel"})]})]})})}function ae(n){var e,r,t,o=n.binding,a=n.selected,l=n.onClick,c=(0,ne.l)().ref.current;return(0,i.useEffect)((function(){c&&a&&(0,ee.n)(c,{behavior:"auto",block:"center"})}),[c,a]),(0,S.jsx)(N.Z,{binding:o,keyWrapperProps:{onClick:l,selectable:!1,className:sn()(yn.quickBindKey,(e={},r=yn.quickBindKeyHighlight,t=a,(r=function(n){var e=function(n,e){if("object"!==re(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==re(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===re(e)?e:String(e)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e))}})}var le=r(64536),ce=r(87694),se={};se.styleTagTransform=v(),se.setAttributes=b(),se.insert=f().bind(null,"head"),se.domAPI=d(),se.insertStyleElement=g(),u()(ce.Z,se);var ue=ce.Z&&ce.Z.locals?ce.Z.locals:void 0;function Ae(n){var e=n.children;return(0,S.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",className:ue.curvedText,children:[(0,S.jsx)("path",{id:"curve",d:"M 10 40 A 30 30 0 0 1 70 40",fill:"none",stroke:"none"}),(0,S.jsx)("text",{className:R.Z["behaviour-binding"],style:{textAnchor:"middle",opacity:.8},children:(0,S.jsx)("textPath",{xlinkHref:"#curve",startOffset:"50%",children:e})})]})}function de(n){return de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},de(n)}function pe(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function fe(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?pe(Object(r),!0).forEach((function(e){ye(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function ye(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==de(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==de(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===de(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function be(n){var e=n.binding,r=n.keyWrapperProps,t=void 0===r?{}:r;return(0,S.jsxs)(X.Z,fe(fe({themeClass:ue.encoder},t),{},{children:[(0,S.jsx)(F.Z,{value:e,hideBehavior:!0}),(0,S.jsx)(Ae,{children:e.value})]}))}function me(n){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},me(n)}function ge(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function he(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ge(Object(r),!0).forEach((function(e){ve(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):ge(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function ve(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==me(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==me(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===me(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}be.propTypes={binding:le.U4.isRequired,keyWrapperProps:L().any};var Ce=function(n){return n.keyboard.sensors};function xe(n){return(0,S.jsx)(z.Z,he(he({},n),{},{Heading:Ee,context:"encoders"}))}function Ee(n){var e=n.bindingIndex,r=n.bindTree,t=(0,o.v9)(Ce)[e],i=t.label||t.identifier;return(0,S.jsxs)("div",{className:H.Z.keyBindingHeader,children:[(0,S.jsxs)("h2",{children:["Set ",(0,S.jsx)("code",{children:i})," bindings"]}),(0,S.jsx)(be,{binding:r,keyWrapperProps:{selectable:!1}})]})}function je(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Be(n){var e,r,t=n.layerIndex,a=n.layer,l=n.sensors,c=(0,o.I0)(),s=(e=(0,i.useState)(null),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return je(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?je(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],A=s[1],d=(a.properties["sensor-bindings"]||{}).parsed,p=void 0===d?[]:d,f=p,y=(0,i.useCallback)((function(n){c((0,w.zi)({layerIndex:t,sensorIndex:u,bindings:n})),A(null)}),[t,u,A,c]);function b(n,e){c((0,w.zi)({layerIndex:t,sensorIndex:n,bindings:e}))}return(0,S.jsxs)("div",{style:{margin:"0 0 30px"},children:[(0,S.jsx)("h3",{children:"Sensor bindings"}),(0,S.jsx)("div",{style:{display:"flex",flexDirection:"row",gap:"25px"},children:l.map((function(n,e){return(0,S.jsx)(we,{index:e,sensor:n,binding:f[e],canAdd:void 0===f[e]&&f.length===e,canDelete:void 0!==f[e]&&f.length===e+1,onUpdate:b,onEdit:function(){return A(e)}},e)}))}),null!==u&&(0,S.jsx)(xe,{binding:p[u],bindingIndex:u,onCancel:function(){return A(null)},onUpdate:y})]})}function we(n){var e=n.sensor,r=n.binding,t=n.index,o=n.onUpdate,a=n.canAdd,l=n.canDelete,c=n.onEdit,s=e.label||e.identifier,u=(null==r?void 0:r.value)||"&inc_dec_kp",A=(null==r?void 0:r.params)||[{value:0,_isPlaceholder:!0,params:[]},{value:0,_isPlaceholder:!0,params:[]}],d=(0,i.useCallback)((function(){o(t,void 0)}),[t,o]),p=(0,i.useCallback)((function(){o(t,{value:"&inc_dec_kp",params:[{value:0,_isPlaceholder:!0,params:[]},{value:0,_isPlaceholder:!0,params:[]}]})}),[t,o]);return(0,S.jsxs)("div",{className:E.sensor,"data-unbound":!r,children:[(0,S.jsxs)("label",{style:{fontVariant:"small-caps",fontSize:"90%"},children:[(0,S.jsx)("code",{children:s}),l&&(0,S.jsx)(M.Z,{name:"trash-can",title:"Remove sensor binding from this layer",className:E.deleteSensorBinding,onClick:d})]}),r&&(0,S.jsx)(be,{binding:r||{value:u,params:A},keyWrapperProps:{onClick:c}}),a&&(0,S.jsx)(X.Z,{onClick:p,title:"Add sensor binding to this layer",themeClass:sn()(ue.encoder,E.addSensorBinding),children:(0,S.jsx)(M.Z,{name:"add"})})]})}var Se="Rapidly set keycode bindings by typing or clicking";function ke(n){var e=n.layerIndex,r=n.onOpen,t=(0,o.v9)(w.vl)[e];return(0,i.useMemo)((function(){return function(n){var e,r=(null===(e=n.properties.bindings)||void 0===e?void 0:e.parsed)||[];return r.filter((function(n){return"&trans"===n.value})).length/r.length>=.95}(t)}),[t])?(0,S.jsxs)("div",{title:Se,onClick:r,className:E.layerActionPrompt,open:!0,children:[(0,S.jsx)(M.Z,{className:E.icon,name:"keyboard"}),(0,S.jsx)("div",{className:E.details,children:(0,S.jsx)("em",{children:"Quick Assign"})})]}):null}function Oe(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Pe(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pe(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var Te=function(n){return n.keyboard.sensors};function Ze(n){var e=n.layer,r=n.layerIndex,t=(n.isActiveLayer,(0,o.v9)(Te)),a=Oe((0,i.useState)(!1),2),l=a[0],c=a[1],s=Oe((0,i.useState)(!1),2),u=s[0],A=s[1],d=(0,i.useCallback)((function(){return c(!0)}),[c]),p=(0,i.useCallback)((function(){return A(!0)}),[A]),f=(0,i.useCallback)((function(){return A(!1)}),[A]),y=(0,i.useMemo)((function(){return[{callback:d,content:"Change Configuration"},{callback:p,content:(0,S.jsxs)(S.Fragment,{children:["Quick ",(0,S.jsx)("code",{children:"&kp"})," Assignment"]})}]}),[d,p]);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)("div",{className:E.layerWrapper,children:[(0,S.jsx)(Ie,{layer:e,layerIndex:r,additionalActions:y,openQuickAssign:p}),(0,S.jsx)(tn,{activeLayer:r}),(0,S.jsx)("div",{className:E.sensors,"data-sensor-count":t.length,children:(0,S.jsx)(Be,{sensors:t,layerIndex:r,layer:e})})]}),l&&(0,S.jsx)(I,{layerIndex:r,onClose:function(){return c(!1)}}),u&&(0,S.jsx)(ie,{layer:e,layerIndex:r,onClose:f})]})}function Ie(n){var e=n.layer,r=n.layerIndex,t=n.additionalActions,o=n.openQuickAssign;return(0,S.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"5px"},children:[(0,S.jsx)("h3",{children:e.name}),(0,S.jsx)(ln,{layerIndex:r}),(0,S.jsx)(q,{layerIndex:r,additionalActions:t}),(0,S.jsx)(ke,{layerIndex:r,onOpen:o})]})}var De=r(30341),Le={};Le.styleTagTransform=v(),Le.setAttributes=b(),Le.insert=f().bind(null,"head"),Le.domAPI=d(),Le.insertStyleElement=g(),u()(De.Z,Le);var Ue=De.Z&&De.Z.locals?De.Z.locals:void 0,Ye=r(56803),qe=r(50868),Ke=r(18311);function Ne(n){return Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ne(n)}function Re(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function Me(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Re(Object(r),!0).forEach((function(e){We(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Re(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function We(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Ne(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Ne(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Ne(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Qe(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Fe(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fe(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fe(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function He(n){var e=n.activeLayer,r=n.onSelect,t=(0,i.useRef)(null),a=(0,o.I0)(),l=(0,i.useContext)(hn.VY).bindingCount,c=(0,i.useContext)($n.c),s=(0,i.useContext)(Ke.v),u=(0,o.v9)(w.vl),A=(0,i.useCallback)((function(n){r(n)}),[r]),d=(0,i.useCallback)((function(){a((0,w.Xv)({bindingCount:l})),r(u.length)}),[a,l,r,u]),p=(0,i.useMemo)((function(){return function(n){var e=u[n].name;window.confirm("Really delete layer: ".concat(e,"?"))&&(a((0,w.Q)({index:n})),a((0,qe.fD)(n,null,u,c,s)))}}),[u,a,c,s]),f=(0,i.useCallback)((function(n,e){n.stopPropagation();var r=e.dragIndex,t=e.dropIndex;r!==t&&(a((0,w.WF)({currentIndex:r,targetIndex:t})),a((0,qe.fD)(r,t,u,c,s)))}),[u,a,c,s]),y=function(n){var e=Qe((0,i.useState)({dragIndex:null,dropIndex:null}),2),r=e[0],t=r.dragIndex,o=r.dropIndex,a=e[1],l=(0,i.useCallback)((function(n){return n.preventDefault()}),[]),c=(0,i.useCallback)((function(n){var e=Number(n.target.dataset.slotIndex);a({dragIndex:e,dropIndex:null})}),[a]),s=(0,i.useCallback)((function(n){a((function(e){return null===e.dropIndex&&n.stopPropagation(),{dragIndex:null,dropIndex:null}}))}),[a]),u=(0,i.useCallback)((function(n){n.preventDefault();var e=Number(n.target.dataset.dropPosition);a((function(n){return Me(Me({},n),{},{dropIndex:e})}))}),[a]),A=(0,i.useCallback)((function(n){var e=Number(n.target.dataset.dropPosition);a((function(n){return Me(Me({},n),{},{dropIndex:n.dropIndex===e?null:n.dropIndex})}))}),[a]),d=(0,i.useCallback)((function(e){n(e,{dragIndex:t,dropIndex:o}),a({dragIndex:null,dropIndex:null})}),[t,o,a,n]);return[{isDragging:null!==t,dragIndex:t,dropIndex:o},{handleDragStart:c,handleDragEnd:s,handleDragEnter:u,handleDragLeave:A,handleDragOver:l,handleDrop:d}]}(f),b=Qe(y,2),m=b[0],g=b[1];return(0,S.jsx)("div",{className:Ue.layerSelector,ref:t,children:(0,S.jsxs)("ul",{"data-dragging":m.isDragging,children:[u.map((function(n,r){return(0,S.jsxs)("li",{className:e===r?Ue.active:"","data-slot-index":r,draggable:!0,onDragStart:g.handleDragStart,onDragEnd:g.handleDragEnd,onDrop:g.handleDrop,children:[(0,S.jsx)("div",{className:mn()([Ue.dropper,m.dropIndex===r&&Ue.dropTarget]).join(" "),"data-drop-position":r,onDragEnter:g.handleDragEnter,onDragOver:g.handleDragOver,onDragLeave:g.handleDragLeave,onDrop:g.handleDrop}),(0,S.jsxs)("div",{onClick:function(){return A(r)},className:mn()([Ue.layer,m.dragIndex===r&&Ue.dragging,m.isDragging&&m.dropIndex!==m.dragIndex&&m.dropIndex!==m.dragIndex+1&&null!==m.dropIndex&&r>=m.dropIndex&&Ue.displaced]).join(" "),children:[(0,S.jsx)("span",{className:Ue.index,children:r}),(0,S.jsxs)("span",{className:Ue.name,children:[n.name,(0,S.jsx)(M.Z,{name:"times-circle",className:Ue.delete,onClick:(0,Ye.s)((function(){return p(r)}))})]})]})]},"slot-".concat(r))})),m.isDragging&&m.dragIndex<u.length-1&&(0,S.jsx)("li",{"data-slot-index":u.length,onDragEnd:g.handleDragEnd,onDrop:g.handleDrop,children:(0,S.jsx)("div",{className:mn()([Ue.dropper,m.dropIndex===u.length&&Ue.dropTarget]).join(" "),"data-drop-position":u.length,onDragEnter:g.handleDragEnter,onDragOver:g.handleDragOver,onDragLeave:g.handleDragLeave,onDrop:g.handleDrop})},"slot-".concat(u.length)),!m.isDragging&&(0,S.jsx)("li",{onClick:d,children:(0,S.jsxs)("div",{className:Ue.layer,children:[(0,S.jsx)(M.Z,{className:Ue.index,name:"plus"}),(0,S.jsx)("span",{className:Ue.name,children:"Add Layer"})]})})]})})}He.propTypes={activeLayer:L().number.isRequired,onSelect:L().func.isRequired};var ze=He;function Ve(){var n=(0,o.I0)(),e=(0,i.useContext)(hn.VY).bindingCount;return(0,S.jsxs)("div",{style:{textAlign:"center"},children:[(0,S.jsx)("h3",{children:"No keymap layers defined"}),(0,S.jsx)(B.Z,{onClick:function(){return n((0,w.Xv)({bindingCount:e}))},children:"Add layer"})]})}var Xe=function(n){return n.navigation.activeLayer},_e=function(){var n=(0,o.v9)(w.vl),e=(0,o.v9)(Xe),r=(0,o.I0)(),t=Math.max(0,Math.min(e,n.length-1));return 0===n.length?(0,S.jsx)(Ve,{}):(0,S.jsxs)("div",{className:E.container,children:[(0,S.jsx)(ze,{activeLayer:t,onSelect:function(n){return r(function(n){return{type:"SWITCH_LAYER",payload:{index:n}}}(n))}}),(0,S.jsx)(Ze,{layer:n[t],layerIndex:t,isActiveLayer:!0})]})}},94995:function(n,e,r){"use strict";r.d(e,{bK:function(){return p},v:function(){return d}});var t=r(45697),o=r.n(t);function i(n){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},i(n)}function a(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function l(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach((function(e){c(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function c(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==i(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==i(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===i(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}var s={x:o().number.isRequired,y:o().number.isRequired},u={a:o().number,rx:o().number,ry:o().number},A={u:o().number,h:o().number},d=o().shape(l(l(l({},s),u),A)),p=o().arrayOf(d)},56803:function(n,e,r){"use strict";function t(n){return function(e){e.stopPropagation(),n()}}function o(n){return function(e){n[e.key]&&n[e.key]()}}r.d(e,{s:function(){return t},w:function(){return o}})},29709:function(n,e,r){"use strict";function t(n){return function(n){if(Array.isArray(n))return o(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return o(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}r.d(e,{f5:function(){return i},xE:function(){return l},xw:function(){return a}});var i=function(n,e){return[].concat(t(n.slice(0,e)),t(n.slice(e+1)))},a=function(n,e,r){return[].concat(t(n.slice(0,e)),[r],t(n.slice(e+1)))};function l(n,e,r){return-1===r?[].concat(t(n.filter((function(n,r){return r!==e}))),[n[e]]):n.reduce((function(t,o,i){return i===r&&t.push(n[e]),i!==e&&t.push(o),t}),[])}},56634:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".Jzs3iq1rDP5C8GJijmFR {\n position: relative;\n}\n\n.NaSZTgWxjXTcejbI5OvU {\n border: none;\n background: none;\n}\n.NaSZTgWxjXTcejbI5OvU:hover {\n cursor: pointer;;\n}\n\n.jThiLc5_BrUyl71v3rKn {\n display: inline-block;\n position: absolute;\n top: 100%;\n left: 0;\n width: max-content;\n z-index: 1;\n font-size: 70%;\n padding: 5px 10px;\n\n border-radius: 4px;\n}\n\n.jThiLc5_BrUyl71v3rKn p {\n display: inline-block;\n cursor: pointer;\n margin: 0;\n}\n\n.jThiLc5_BrUyl71v3rKn ul {\n display: none;\n}\n.jThiLc5_BrUyl71v3rKn.xG2GKlsc07jLEb2aMC6H {\n background: var(--dialog-bg, var(--bg));\n box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);\n}\n.jThiLc5_BrUyl71v3rKn.xG2GKlsc07jLEb2aMC6H ul {\n display: block;\n padding: 0;\n margin: 0;\n list-style-type: none;\n}\n\n.jThiLc5_BrUyl71v3rKn li {\n cursor: pointer;\n margin: 2px 0;\n line-height: 20px;\n padding: 0 5px;\n border-radius: 10px;\n}\n\n.jThiLc5_BrUyl71v3rKn li:hover {\n background-color: var(--hover-selection);\n color: white;\n}\n","",{version:3,sources:["webpack://./src/Common/action-menu.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;;AAEA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,iBAAiB;;EAEjB,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,SAAS;AACX;;AAEA;EACE,aAAa;AACf;AACA;EACE,uCAAuC;EACvC,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,UAAU;EACV,SAAS;EACT,qBAAqB;AACvB;;AAEA;EACE,eAAe;EACf,aAAa;EACb,iBAAiB;EACjB,cAAc;EACd,mBAAmB;AACrB;;AAEA;EACE,wCAAwC;EACxC,YAAY;AACd",sourcesContent:[".wrapper {\n position: relative;\n}\n\n.button {\n border: none;\n background: none;\n}\n.button:hover {\n cursor: pointer;;\n}\n\n.menu {\n display: inline-block;\n position: absolute;\n top: 100%;\n left: 0;\n width: max-content;\n z-index: 1;\n font-size: 70%;\n padding: 5px 10px;\n\n border-radius: 4px;\n}\n\n.menu p {\n display: inline-block;\n cursor: pointer;\n margin: 0;\n}\n\n.menu ul {\n display: none;\n}\n.menu.open {\n background: var(--dialog-bg, var(--bg));\n box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);\n}\n.menu.open ul {\n display: block;\n padding: 0;\n margin: 0;\n list-style-type: none;\n}\n\n.menu li {\n cursor: pointer;\n margin: 2px 0;\n line-height: 20px;\n padding: 0 5px;\n border-radius: 10px;\n}\n\n.menu li:hover {\n background-color: var(--hover-selection);\n color: white;\n}\n"],sourceRoot:""}]),a.locals={wrapper:"Jzs3iq1rDP5C8GJijmFR",button:"NaSZTgWxjXTcejbI5OvU",menu:"jThiLc5_BrUyl71v3rKn",open:"xG2GKlsc07jLEb2aMC6H"},e.Z=a},33988:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".OaJISbD1WCmb03at77EG {\n position: relative;\n}\n\n.MUN9De8dUvbPGH9cEDoQ {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.MUN9De8dUvbPGH9cEDoQ::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n","",{version:3,sources:["webpack://./src/Common/input.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,SAAS;EACT,gCAAgC;EAChC,gBAAgB;EAChB,WAAW;;EAEX,kBAAkB;EAClB,gBAAgB;;EAEhB,YAAY;EACZ,wCAAwC;EACxC,cAAc;EACd,uBAAuB;;EAEvB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,WAAW;;EAEX,SAAS;EACT,WAAW;EACX,YAAY;;EAEZ,wCAAwC;EACxC,8CAA8C;AAChD",sourcesContent:[".wrapper {\n position: relative;\n}\n\n.error {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.error::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n"],sourceRoot:""}]),a.locals={wrapper:"OaJISbD1WCmb03at77EG",error:"MUN9De8dUvbPGH9cEDoQ"},e.Z=a},49040:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.lD5TsvdIbEAHNdmhfnlb {\n background-color: var(--key-bg-base);\n}\n.yk89E4zK9zlO69OXhKn5:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.pzTvsxKjpy6MqcFhxh9j {\n background-color: var(--selection);\n}\n.pzTvsxKjpy6MqcFhxh9j:hover {\n background-color: var(--hover-selection);\n}\n\n.r_Sdklnj57CE2ZjnBDw6 {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.Ich9T1nSzHs1a84insfp {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n._3U1zi1J1sXT41AzpAA1j {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.f38_8PxgThEPWT2hn3qF {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .f38_8PxgThEPWT2hn3qF:not(.pzTvsxKjpy6MqcFhxh9j) {\n filter:brightness(95%);\n }\n}',"",{version:3,sources:["webpack://./src/Keyboard/Common/keyPositionSelectorStyles.module.css"],names:[],mappings:"AAAA;EACE,oCAAoC;AACtC;AACA;EACE,eAAe;EACf,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,wCAAwC;EACxC,wBAAwB;AAC1B;;AAEA;EACE,wCAAwC;EACxC,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE;IACE,sBAAsB;EACxB;AACF",sourcesContent:['.key {\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.highlight {\n background-color: var(--selection);\n}\n.highlight:hover {\n background-color: var(--hover-selection);\n}\n\n.previewAdd {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.previewRemove {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n.tip {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.keyMini {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .keyMini:not(.highlight) {\n filter:brightness(95%);\n }\n}'],sourceRoot:""}]),a.locals={key:"lD5TsvdIbEAHNdmhfnlb",selectable:"yk89E4zK9zlO69OXhKn5",highlight:"pzTvsxKjpy6MqcFhxh9j",previewAdd:"r_Sdklnj57CE2ZjnBDw6",previewRemove:"Ich9T1nSzHs1a84insfp",tip:"_3U1zi1J1sXT41AzpAA1j",keyMini:"f38_8PxgThEPWT2hn3qF"},e.Z=a},87694:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(2),c=a()(o());c.i(l.Z,"",!0),c.push([n.id,"svg.mHwtgLgRyOKZxgCygVr1 {\n\tposition: absolute;\n\ttop: -2px;\n\tleft: 0;\n\tfill: var(--key-color-base);\n\tdisplay: block;\n\twidth: 80px;\n\theight: 80px;\n\tfont-size: 10px;\n\tpointer-events: none;\n}\nsvg.mHwtgLgRyOKZxgCygVr1 * {\n\tpointer-events: initial;\n}\n\n.sMh70qqZgwLOUFa2MhLd {\n\twidth: 80px;\n\theight: 80px;\n\tborder-radius: 100%;\n\tbackground-color: var(--key-bg-base);\n\tcolor: var(--key-color-base);\n}\n\n."+l.Z.locals.key+"."+l.Z.locals.selectable+" {\n\tcursor: pointer;\n}\n."+l.Z.locals.key+"."+l.Z.locals.selectable+":hover ."+l.Z.locals["behaviour-binding"]+" {\n\tfill: var(--key-color-hover);\n}\n\n.sMh70qqZgwLOUFa2MhLd ."+l.Z.locals.params+'[data-is-root="true"] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.sMh70qqZgwLOUFa2MhLd .'+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+':first-child::before {\n\tcontent: "⟳";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.sMh70qqZgwLOUFa2MhLd .'+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+':nth-child(2)::before {\n\tcontent: "⟲";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.sMh70qqZgwLOUFa2MhLd.'+l.Z.locals.selectable+":hover ."+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+":first-child::before,\n.sMh70qqZgwLOUFa2MhLd."+l.Z.locals.selectable+":hover ."+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+":nth-child(2)::before {\n\tcolor: white;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Encoders/styles.module.css"],names:[],mappings:"AAQA;CACC,kBAAkB;CAClB,SAAS;CACT,OAAO;CACP,2BAA2B;CAC3B,cAAc;CACd,WAAW;CACX,YAAY;CACZ,eAAe;CACf,oBAAoB;AACrB;AACA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,oCAAoC;CACpC,4BAA4B;AAC7B;;AAEA;CACC,eAAe;AAChB;AACA;CACC,4BAA4B;AAC7B;;AAEA;CACC,aAAa;CACb,sBAAsB;AACvB;AACA;CACC,YAAY;CACZ,eAAe;CACf,iBAAiB;AAClB;AACA;CACC,YAAY;CACZ,eAAe;CACf,iBAAiB;AAClB;AACA;;CAEC,YAAY;AACb",sourcesContent:[':import("../Keys/styles.module.css") {\n\tkey: key;\n\tselectable: selectable;\n\tbehaviour-binding: behaviour-binding;\n params: params;\n param: param;\n}\n\nsvg.curvedText {\n\tposition: absolute;\n\ttop: -2px;\n\tleft: 0;\n\tfill: var(--key-color-base);\n\tdisplay: block;\n\twidth: 80px;\n\theight: 80px;\n\tfont-size: 10px;\n\tpointer-events: none;\n}\nsvg.curvedText * {\n\tpointer-events: initial;\n}\n\n.encoder {\n\twidth: 80px;\n\theight: 80px;\n\tborder-radius: 100%;\n\tbackground-color: var(--key-bg-base);\n\tcolor: var(--key-color-base);\n}\n\n.key.selectable {\n\tcursor: pointer;\n}\n.key.selectable:hover .behaviour-binding {\n\tfill: var(--key-color-hover);\n}\n\n.encoder .params[data-is-root="true"] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.encoder .params[data-is-root="true"] .param:first-child::before {\n\tcontent: "⟳";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.encoder .params[data-is-root="true"] .param:nth-child(2)::before {\n\tcontent: "⟲";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.encoder.selectable:hover .params[data-is-root="true"] .param:first-child::before,\n.encoder.selectable:hover .params[data-is-root="true"] .param:nth-child(2)::before {\n\tcolor: white;\n}\n'],sourceRoot:""}]),c.locals={curvedText:"mHwtgLgRyOKZxgCygVr1",encoder:"sMh70qqZgwLOUFa2MhLd"},e.Z=c},45556:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(87995),c=r(2),s=a()(o());s.i(l.Z,"",!0),s.i(c.Z,"",!0),s.push([n.id,"."+l.Z.locals.placer+" {\n scroll-margin: 40px;\n}\n.wbULZuqr8zmHnhI2QjaR:not(.pjTygs0eyLHe1G3Xw6JL) {\n cursor: pointer;\n}\n.pjTygs0eyLHe1G3Xw6JL {\n outline: 3px solid var(--selection);\n}\n\n.wbULZuqr8zmHnhI2QjaR:hover {\n color: var(--key-color-hover);\n background-color: var(--selection);\n}\n.wbULZuqr8zmHnhI2QjaR:hover {\n background-color: var(--hover-selection);\n}\n\n.xwgaptE1umBWGQIj_42K {\n max-width: 80vw;\n overflow-x: scroll;\n}\n\n.DQQq3MXERdVlb6r3DssI {\n display: flex;\n justify-content: center;\n gap: 30px;\n margin: 20px 0;\n}\n\n.xwgaptE1umBWGQIj_42K .oEZv6H105FHPPebrlLkA {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n max-width: 40%;\n border-radius: 4px;\n background-color: var(--code-bg);\n padding: 40px 50px;\n}\n\n.xwgaptE1umBWGQIj_42K .oEZv6H105FHPPebrlLkA p {\n font-size: 120%;\n line-height: 1.3em;\n margin: 0\n}\n\n.xwgaptE1umBWGQIj_42K .oEZv6H105FHPPebrlLkA p.JK6o82jSwTPHQQj5jCA0 {\n font-size: 80%;\n font-style: italic;\n line-height: 1.2em;\n}\n\n.RQku2XjoFau46LS8EdwH {\n display: flex;\n flex-direction: column;\n gap: 5px;\n margin: 5px 0;\n}\n\n.zAlG1X0UmQPAE8EMk9ja {\n display: flex;\n gap: 5px;\n}\n\n.ar3OaRDoQPDf4u9YY0mP {\n\n\twidth: 30px;\n\theight: 30px;\n\tfont-size: 80%;\n}\n.ar3OaRDoQPDf4u9YY0mP.ADEbrNebJWbSIrZIch0I {\n width: 205px\n}\n.ar3OaRDoQPDf4u9YY0mP:hover {\n cursor: pointer;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Layers/QuickAssign/styles.module.css"],names:[],mappings:"AAIA;EACE,mBAAmB;AACrB;AACA;EACE,eAAe;AACjB;AACA;EACE,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;EAC7B,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,SAAS;EACT,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,uBAAuB;EACvB,cAAc;EACd,kBAAkB;EAClB,gCAAgC;EAChC,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB;AACF;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,aAAa;AACf;;AAEA;EACE,aAAa;EACb,QAAQ;AACV;;AAEA;;CAGC,WAAW;CACX,YAAY;CACZ,cAAc;AACf;AACA;EACE;AACF;AACA;EACE,eAAe;AACjB",sourcesContent:[":import(\"../../styles.module.css\") {\n placer: placer;\n}\n\n.placer {\n scroll-margin: 40px;\n}\n.quickBindKey:not(.quickBindKeyHighlight) {\n cursor: pointer;\n}\n.quickBindKeyHighlight {\n outline: 3px solid var(--selection);\n}\n\n.quickBindKey:hover {\n color: var(--key-color-hover);\n background-color: var(--selection);\n}\n.quickBindKey:hover {\n background-color: var(--hover-selection);\n}\n\n.quickAssignDialog {\n max-width: 80vw;\n overflow-x: scroll;\n}\n\n.toolSection {\n display: flex;\n justify-content: center;\n gap: 30px;\n margin: 20px 0;\n}\n\n.quickAssignDialog .description {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n max-width: 40%;\n border-radius: 4px;\n background-color: var(--code-bg);\n padding: 40px 50px;\n}\n\n.quickAssignDialog .description p {\n font-size: 120%;\n line-height: 1.3em;\n margin: 0\n}\n\n.quickAssignDialog .description p.finePrint {\n font-size: 80%;\n font-style: italic;\n line-height: 1.2em;\n}\n\n.keymapPalette {\n display: flex;\n flex-direction: column;\n gap: 5px;\n margin: 5px 0;\n}\n\n.keymapPaletteRow {\n display: flex;\n gap: 5px;\n}\n\n.mini {\n composes: keyDefaultTheme from '../../Keys/styles.module.css';\n\n\twidth: 30px;\n\theight: 30px;\n\tfont-size: 80%;\n}\n.mini.spacebar {\n width: 205px\n}\n.mini:hover {\n cursor: pointer;\n}\n"],sourceRoot:""}]),s.locals={quickBindKey:"wbULZuqr8zmHnhI2QjaR",quickBindKeyHighlight:"pjTygs0eyLHe1G3Xw6JL",quickAssignDialog:"xwgaptE1umBWGQIj_42K",toolSection:"DQQq3MXERdVlb6r3DssI",description:"oEZv6H105FHPPebrlLkA",finePrint:"JK6o82jSwTPHQQj5jCA0",keymapPalette:"RQku2XjoFau46LS8EdwH",keymapPaletteRow:"zAlG1X0UmQPAE8EMk9ja",mini:"ar3OaRDoQPDf4u9YY0mP "+c.Z.locals.keyDefaultTheme,spacebar:"ADEbrNebJWbSIrZIch0I"},e.Z=s},30341:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.JeRmYfUKXTg9VqWZshKO {\n pointer-events: none;\n z-index: 2;\n opacity: 0.75;\n margin-left: 5px;\n margin-bottom: 60px;\n width: 36px;\n}\n.JeRmYfUKXTg9VqWZshKO:hover {\n opacity: initial;\n}\n.JeRmYfUKXTg9VqWZshKO > * {\n pointer-events: all;\n}\n\n.JeRmYfUKXTg9VqWZshKO ul {\n display: flex;\n position: relative;\n flex-direction: column;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.JeRmYfUKXTg9VqWZshKO li {\n position: relative;\n padding: 0;\n margin: 0;\n width: max-content;\n height: 36px;\n cursor: pointer;\n}\n.JeRmYfUKXTg9VqWZshKO .u2LnyyXbhUKWkR8h1WgY {\n cursor: grab;\n}\n.Svi1LYw7uQ_NUkdl_Qqu, .QHkrJNCowEE3i9FocgKe {\n background-color: var(--key-bg-base);\n color: var(--key-color-base);\n /* border-radius: 0 18px 18px 0; */\n height: 36px;\n padding: 0px;\n margin: 2px;\n width: max-content;\n}\n.JeRmYfUKXTg9VqWZshKO li:first-child .Svi1LYw7uQ_NUkdl_Qqu {\n border-radius: 4px 4px 0 0;\n}\n.JeRmYfUKXTg9VqWZshKO li:last-child .Svi1LYw7uQ_NUkdl_Qqu {\n border-radius: 0 0 4px 4px;\n}\n.JeRmYfUKXTg9VqWZshKO li:hover .Svi1LYw7uQ_NUkdl_Qqu {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.JeRmYfUKXTg9VqWZshKO:not([data-dragging="true"]) li:hover .Svi1LYw7uQ_NUkdl_Qqu {\n background-color: rgba(60, 179, 113, 0.85);\n color: white;\n padding-right: 35px;\n}\n[data-dragging="true"] .Svi1LYw7uQ_NUkdl_Qqu {\n padding-right: 35px;\n}\n.JeRmYfUKXTg9VqWZshKO .u2LnyyXbhUKWkR8h1WgY .Svi1LYw7uQ_NUkdl_Qqu {\n background-color: rgb(60, 179, 113);\n color: white;\n}\n\n.JeRmYfUKXTg9VqWZshKO li * {\n display: inline-block;\n}\n.JeRmYfUKXTg9VqWZshKO li .yVeX9ivshCU7PiJfbG2v {\n overflow: auto;\n width: 36px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n}\n.JeRmYfUKXTg9VqWZshKO li .tV7QyJybi_Gy9OnFqX6l {\n overflow: hidden;\n width: 0;\n height: 36px;\n line-height: 36px;\n padding: 0;\n font-variant: small-caps;\n}\n\n.Svi1LYw7uQ_NUkdl_Qqu {\n margin: 4px 2px 4px 0;\n transition: margin-top .15s ease-in;\n}\n.Svi1LYw7uQ_NUkdl_Qqu.pRqaGgm21Psy3msTmiKg {\n cursor: grabbing;\n background-color: royalblue !important;\n color: white;\n opacity: 0.3;\n}\n\n.v7BdtxvE2YVCWNVJlnry {\n position: absolute;\n\n min-width: 200px;\n width: 100%;\n height: 40px;\n /* border: 1px dotted tomato; */\n}\n\n[data-dragging="false"] .v7BdtxvE2YVCWNVJlnry {\n display: none;\n}\n.a4BtINSAm0wAMDfWjTWQ {\n /* position: relative; */\n width: 200px;\n opacity: .3;\n}\n\n.Svi1LYw7uQ_NUkdl_Qqu.RMyVbbtfIDcsWDY7Qb1c {\n margin-top: 34px;\n}\n\n.JeRmYfUKXTg9VqWZshKO ul :hover .Svi1LYw7uQ_NUkdl_Qqu .tV7QyJybi_Gy9OnFqX6l,\n[data-dragging="true"] .Svi1LYw7uQ_NUkdl_Qqu .tV7QyJybi_Gy9OnFqX6l {\n transition: .15s ease-in;\n width: auto;\n padding: 0 0 0 10px;\n}\n\n.JeRmYfUKXTg9VqWZshKO button {\n width: 30px;\n height: 36px;\n line-height: 36px;\n padding: 0;\n text-align: center;\n border-radius: 18px;\n}\n\n.JeRmYfUKXTg9VqWZshKO .htA0l4uMnWt9050_zphf {\n cursor: pointer;\n position: absolute;\n right: 10px;\n visibility: hidden;\n\n height: 36px;\n line-height: 36px;\n}\n.JeRmYfUKXTg9VqWZshKO li:hover .htA0l4uMnWt9050_zphf {\n visibility: visible;\n}\n',"",{version:3,sources:["webpack://./src/Keyboard/Layers/layer-switcher.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,sBAAsB;EACtB,qBAAqB;EACrB,SAAS;EACT,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,SAAS;EACT,kBAAkB;EAClB,YAAY;EACZ,eAAe;AACjB;AACA;EACE,YAAY;AACd;AACA;EACE,oCAAoC;EACpC,4BAA4B;EAC5B,kCAAkC;EAClC,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,4BAA4B;EAC5B,+BAA+B;AACjC;AACA;EACE,0CAA0C;EAC1C,YAAY;EACZ,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,qBAAqB;AACvB;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,QAAQ;EACR,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,wBAAwB;AAC1B;;AAEA;EACE,qBAAqB;EACrB,mCAAmC;AACrC;AACA;EACE,gBAAgB;EAChB,sCAAsC;EACtC,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,kBAAkB;;EAElB,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,+BAA+B;AACjC;;AAEA;EACE,aAAa;AACf;AACA;EACE,wBAAwB;EACxB,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,wBAAwB;EACxB,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,kBAAkB;;EAElB,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB",sourcesContent:['.layerSelector {\n pointer-events: none;\n z-index: 2;\n opacity: 0.75;\n margin-left: 5px;\n margin-bottom: 60px;\n width: 36px;\n}\n.layerSelector:hover {\n opacity: initial;\n}\n.layerSelector > * {\n pointer-events: all;\n}\n\n.layerSelector ul {\n display: flex;\n position: relative;\n flex-direction: column;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layerSelector li {\n position: relative;\n padding: 0;\n margin: 0;\n width: max-content;\n height: 36px;\n cursor: pointer;\n}\n.layerSelector .active {\n cursor: grab;\n}\n.layer, .addLayer {\n background-color: var(--key-bg-base);\n color: var(--key-color-base);\n /* border-radius: 0 18px 18px 0; */\n height: 36px;\n padding: 0px;\n margin: 2px;\n width: max-content;\n}\n.layerSelector li:first-child .layer {\n border-radius: 4px 4px 0 0;\n}\n.layerSelector li:last-child .layer {\n border-radius: 0 0 4px 4px;\n}\n.layerSelector li:hover .layer {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.layerSelector:not([data-dragging="true"]) li:hover .layer {\n background-color: rgba(60, 179, 113, 0.85);\n color: white;\n padding-right: 35px;\n}\n[data-dragging="true"] .layer {\n padding-right: 35px;\n}\n.layerSelector .active .layer {\n background-color: rgb(60, 179, 113);\n color: white;\n}\n\n.layerSelector li * {\n display: inline-block;\n}\n.layerSelector li .index {\n overflow: auto;\n width: 36px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n}\n.layerSelector li .name {\n overflow: hidden;\n width: 0;\n height: 36px;\n line-height: 36px;\n padding: 0;\n font-variant: small-caps;\n}\n\n.layer {\n margin: 4px 2px 4px 0;\n transition: margin-top .15s ease-in;\n}\n.layer.dragging {\n cursor: grabbing;\n background-color: royalblue !important;\n color: white;\n opacity: 0.3;\n}\n\n.dropper {\n position: absolute;\n\n min-width: 200px;\n width: 100%;\n height: 40px;\n /* border: 1px dotted tomato; */\n}\n\n[data-dragging="false"] .dropper {\n display: none;\n}\n.dropTarget {\n /* position: relative; */\n width: 200px;\n opacity: .3;\n}\n\n.layer.displaced {\n margin-top: 34px;\n}\n\n.layerSelector ul :hover .layer .name,\n[data-dragging="true"] .layer .name {\n transition: .15s ease-in;\n width: auto;\n padding: 0 0 0 10px;\n}\n\n.layerSelector button {\n width: 30px;\n height: 36px;\n line-height: 36px;\n padding: 0;\n text-align: center;\n border-radius: 18px;\n}\n\n.layerSelector .delete {\n cursor: pointer;\n position: absolute;\n right: 10px;\n visibility: hidden;\n\n height: 36px;\n line-height: 36px;\n}\n.layerSelector li:hover .delete {\n visibility: visible;\n}\n'],sourceRoot:""}]),a.locals={layerSelector:"JeRmYfUKXTg9VqWZshKO",active:"u2LnyyXbhUKWkR8h1WgY",layer:"Svi1LYw7uQ_NUkdl_Qqu",addLayer:"QHkrJNCowEE3i9FocgKe",index:"yVeX9ivshCU7PiJfbG2v",name:"tV7QyJybi_Gy9OnFqX6l",dragging:"pRqaGgm21Psy3msTmiKg",dropper:"v7BdtxvE2YVCWNVJlnry",dropTarget:"a4BtINSAm0wAMDfWjTWQ",displaced:"RMyVbbtfIDcsWDY7Qb1c",delete:"htA0l4uMnWt9050_zphf"},e.Z=a},59500:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.SUaJKzUCF84KzpcParhE {\n display: flex;\n flex-direction: row;\n width: 100vw;\n}\n\n.ULm7RKJYCZDRV0HmcA7C {\n position: absolute;\n top: 0;\n width: 100vw;\n height: 100vh;\n overflow: auto;\n scroll-snap-stop: normal;\n scroll-snap-type: y proximity;\n}\n\n.XWq43GGa2yCVXqY4Syw3 {\n width: fit-content;\n scroll-snap-align: start;\n margin: 0 auto;\n padding: 0 40px 40px;\n}\n\n.EwvVNY6vlf7HwYmXTbzi {\n margin: 10px 0;\n display: flex;\n}\n\n.EwvVNY6vlf7HwYmXTbzi label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.uhiC_7TzN7eCNbm5C6a8[data-sensor-count="0"] {\n display: none;\n}\n\n.ztwqyyB2FFS4oWgcCyZC label {\n display: inline-block;\n margin-bottom: 10px;\n}\n.ztwqyyB2FFS4oWgcCyZC[data-unbound="true"] label code {\n opacity: 0.5;\n}\n\n.N98b5r9XUT9yotsaxhB7 {\n cursor: pointer;\n margin-left: 5px;\n}\n\n.QZ1jUOy1FEDFG3IrI5JM { cursor: pointer; }\n.QZ1jUOy1FEDFG3IrI5JM:hover {\n color: white;\n}\n\n.QZG9dMy8Vvb4jExjMbNq {\n position: relative;\n font-weight: normal;\n font-size: 0.75em;\n color: var(--key-color-base);\n padding: 5px;\n background-color: var(--dialog-bg);\n border-radius: 1rem;\n cursor: pointer;\n}\n\n.QZG9dMy8Vvb4jExjMbNq .ZZ1YEtKhAc2ew68XlWlU {\n display: block;\n font-size: 1rem;\n}\n.QZG9dMy8Vvb4jExjMbNq:hover,\n.QZG9dMy8Vvb4jExjMbNq[open] {\n color: royalblue;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.QZG9dMy8Vvb4jExjMbNq .khHtvu4X2wwOnAF6CQ3Y {\n display: none;\n position: absolute;\n top: 50%;\n right: 0px;\n z-index: 2;\n transform: translate(100%, -50%);\n width: max-content;\n line-height: 1rem;\n padding: 5px 5px 5px 0;\n border-radius: 0 4px 4px 0;\n}\n\n.QZG9dMy8Vvb4jExjMbNq:hover .khHtvu4X2wwOnAF6CQ3Y,\n.QZG9dMy8Vvb4jExjMbNq[open] .khHtvu4X2wwOnAF6CQ3Y {\n display: block;\n background-color: var(--dialog-bg);\n}',"",{version:3,sources:["webpack://./src/Keyboard/Layers/style.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,YAAY;EACZ,aAAa;EACb,cAAc;EACd,wBAAwB;EACxB,6BAA6B;AAC/B;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB,cAAc;EACd,oBAAoB;AACtB;;AAEA;EACE,cAAc;EACd,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA,wBAAoB,eAAe,EAAE;AACrC;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,iBAAiB;EACjB,4BAA4B;EAC5B,YAAY;EACZ,kCAAkC;EAClC,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,eAAe;AACjB;AACA;;EAEE,gBAAgB;EAChB,0BAA0B;EAC1B,6BAA6B;AAC/B;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,UAAU;EACV,gCAAgC;EAChC,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB;EACtB,0BAA0B;AAC5B;;AAEA;;EAEE,cAAc;EACd,kCAAkC;AACpC",sourcesContent:['.container {\n display: flex;\n flex-direction: row;\n width: 100vw;\n}\n\n.layerScrollContainer {\n position: absolute;\n top: 0;\n width: 100vw;\n height: 100vh;\n overflow: auto;\n scroll-snap-stop: normal;\n scroll-snap-type: y proximity;\n}\n\n.layerWrapper {\n width: fit-content;\n scroll-snap-align: start;\n margin: 0 auto;\n padding: 0 40px 40px;\n}\n\n.field {\n margin: 10px 0;\n display: flex;\n}\n\n.field label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.sensors[data-sensor-count="0"] {\n display: none;\n}\n\n.sensor label {\n display: inline-block;\n margin-bottom: 10px;\n}\n.sensor[data-unbound="true"] label code {\n opacity: 0.5;\n}\n\n.deleteSensorBinding {\n cursor: pointer;\n margin-left: 5px;\n}\n\n.addSensorBinding { cursor: pointer; }\n.addSensorBinding:hover {\n color: white;\n}\n\n.layerActionPrompt {\n position: relative;\n font-weight: normal;\n font-size: 0.75em;\n color: var(--key-color-base);\n padding: 5px;\n background-color: var(--dialog-bg);\n border-radius: 1rem;\n cursor: pointer;\n}\n\n.layerActionPrompt .icon {\n display: block;\n font-size: 1rem;\n}\n.layerActionPrompt:hover,\n.layerActionPrompt[open] {\n color: royalblue;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.layerActionPrompt .details {\n display: none;\n position: absolute;\n top: 50%;\n right: 0px;\n z-index: 2;\n transform: translate(100%, -50%);\n width: max-content;\n line-height: 1rem;\n padding: 5px 5px 5px 0;\n border-radius: 0 4px 4px 0;\n}\n\n.layerActionPrompt:hover .details,\n.layerActionPrompt[open] .details {\n display: block;\n background-color: var(--dialog-bg);\n}'],sourceRoot:""}]),a.locals={container:"SUaJKzUCF84KzpcParhE",layerScrollContainer:"ULm7RKJYCZDRV0HmcA7C",layerWrapper:"XWq43GGa2yCVXqY4Syw3",field:"EwvVNY6vlf7HwYmXTbzi",sensors:"uhiC_7TzN7eCNbm5C6a8",sensor:"ztwqyyB2FFS4oWgcCyZC",deleteSensorBinding:"N98b5r9XUT9yotsaxhB7",addSensorBinding:"QZ1jUOy1FEDFG3IrI5JM",layerActionPrompt:"QZG9dMy8Vvb4jExjMbNq",icon:"ZZ1YEtKhAc2ew68XlWlU",details:"khHtvu4X2wwOnAF6CQ3Y"},e.Z=a},35937:function(n,e,r){var t=r(29932),o=r(67206),i=r(63012),a=r(46904);n.exports=function(n,e){if(null==n)return{};var r=t(a(n),(function(n){return[n]}));return e=o(e),i(n,r,(function(n,r){return e(n,r[0])}))}},48118:function(n,e,r){"use strict";var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),s=r(3565),u=r.n(s),A=r(19216),d=r.n(A),p=r(44589),f=r.n(p),y=r(49040),b={};b.styleTagTransform=f(),b.setAttributes=u(),b.insert=c().bind(null,"head"),b.domAPI=a(),b.insertStyleElement=d(),o()(y.Z,b),e.Z=y.Z&&y.Z.locals?y.Z.locals:void 0}}]);
+//# sourceMappingURL=LayerEditorTab.122a21ff258672b62270.js.map \ No newline at end of file
diff --git a/index.html b/index.html
index 08b5386..f96f701 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.b1350e38253b2bfa761b.js"></script><script defer="defer" src="shared.301baa0661252b22e6f8.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.5d858b06f3286b4ea47f.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.9ad58d0013684795567f.js"></script><script defer="defer" src="shared.301baa0661252b22e6f8.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.5d858b06f3286b4ea47f.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
diff --git a/runtime.9ad58d0013684795567f.js b/runtime.9ad58d0013684795567f.js
new file mode 100644
index 0000000..7fdca91
--- /dev/null
+++ b/runtime.9ad58d0013684795567f.js
@@ -0,0 +1,2 @@
+!function(){"use strict";var e,a,d,c,s,o={},t={};function l(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return o[e].call(d.exports,d,d.exports,l),d.loaded=!0,d.exports}l.m=o,e=[],l.O=function(a,d,c,s){if(!d){var o=1/0;for(y=0;y<e.length;y++){d=e[y][0],c=e[y][1],s=e[y][2];for(var t=!0,k=0;k<d.length;k++)(!1&s||o>=s)&&Object.keys(l.O).every((function(e){return l.O[e](d[k])}))?d.splice(k--,1):(t=!1,s<o&&(o=s));if(t){e.splice(y--,1);var f=c();void 0!==f&&(a=f)}}return a}s=s||0;for(var y=e.length;y>0&&e[y-1][2]>s;y--)e[y]=e[y-1];e[y]=[d,c,s]},l.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(a,{a:a}),a},d=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var s=Object.create(null);l.r(s);var o={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((function(a){o[a]=function(){return e[a]}}));return o.default=function(){return e},l.d(s,o),s},l.d=function(e,a){for(var d in a)l.o(a,d)&&!l.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce((function(a,d){return l.f[d](e,a),a}),[]))},l.u=function(e){return({5:"keyboard-data/lotus58-json-metadata",47:"keyboard-data/ergodash-json-metadata",68:"locales/keys_ro-keycodes",129:"locales/keys_lt_ibm-keycodes",308:"locales/keys_be-keycodes",320:"keyboard-data/kbdfans_tofu65_v2-json-metadata",327:"keyboard-data/reviung41-json-metadata",389:"locales/keys_mn-keycodes",398:"locales/keys_lo-keycodes",421:"locales/keys_bg_latin-keycodes",422:"locales/keys_th_pattachote-keycodes",504:"keyboard-data/bt60_v2-json-metadata",539:"locales/keys_khb_tai_le-keycodes",578:"locales/keys_sr_latin-keycodes",630:"keyboard-data/pancake-json-metadata",639:"keyboard-data/splitkb_aurora_sofle-json-metadata",749:"locales/keys_dyu-keycodes",771:"locales/keys_es-keycodes",814:"locales/keys_tzm-keycodes",819:"locales/keys_fa_standard-keycodes",833:"locales/keys_it_142-keycodes",920:"locales/keys_pl_programmers-keycodes",944:"keyboard-data/jian-json-metadata",951:"locales/keys_kk-keycodes",1038:"keyboard-data/bat43-json-metadata",1081:"keyboard-data/splitreus62-json-metadata",1145:"keyboard-data/ferris_rev02-json-metadata",1156:"locales/keys_man-keycodes",1315:"locales/keys_bs-keycodes",1319:"keyboard-data/zmk_uno-json-metadata",1325:"keyboard-data/ergodox-json-metadata",1343:"locales/keys_en_gb_extended-keycodes",1480:"locales/keys_bn-keycodes",1507:"locales/keys_de_ibm-keycodes",1514:"locales/keys_fr_swiss-keycodes",1522:"keyboard-data/bdn9_rev2-json-metadata",1545:"locales/keys_el-keycodes",1547:"locales/keys_ml-keycodes",1616:"keyboard-data/redox-json-metadata",1671:"locales/keys_lv-keycodes",1718:"keyboard-data/reviung5-json-metadata",1720:"locales/keys_sk_qwerty-keycodes",1803:"ConditionalLayerEditorTab",1808:"locales/keys_de_belgian_period-keycodes",1872:"locales/keys_pt_abnt-keycodes",1936:"locales/keys_ckb-keycodes",2015:"locales/keys_hy-keycodes",2124:"keyboard-data/two_percent_milk-json-metadata",2135:"keyboard-data/romac-json-metadata",2169:"keyboard-data/clog-json-metadata",2231:"locales/keys_sr-keycodes",2247:"locales/keys_mr-keycodes",2271:"locales/keys_nl_period-keycodes",2275:"locales/keys_tk-keycodes",2284:"keyboard-data/eternal_keypad_lefty-json-metadata",2308:"keyboard-data/jorne-json-metadata",2383:"locales/keys_or-keycodes",2408:"locales/keys_bg-keycodes",2602:"locales/keys_uk-keycodes",2619:"locales/keys_syr_phonetic-keycodes",2621:"locales/keys_ka_qwerty-keycodes",2650:"locales/keys_ar_azerty-keycodes",2659:"locales/keys_cs_qwerty-keycodes",2757:"keyboard-data/eek-json-metadata",2787:"locales/keys_gu-keycodes",2835:"locales/keys_tmh-keycodes",2838:"keyboard-data/bt60_v1_hs-json-metadata",2921:"keyboard-data/bt75_v1-json-metadata",2939:"keyboard-data/nibble-json-metadata",2947:"locales/keys_us_international-keycodes",2982:"locales/keys_ha-keycodes",3033:"locales/keys_es_variation-keycodes",3039:"keyboard-data/romac_plus-json-metadata",3194:"locales/keys_mn_phags_pa-keycodes",3197:"keyboard-data/s40nc-json-metadata",3203:"GithubPicker",3268:"locales/keys_km_nida-keycodes",3282:"locales/keys_bo-keycodes",3322:"locales/keys_hu_101-keycodes",3359:"locales/keys_de-keycodes",3362:"locales/keys_dvorak_right-keycodes",3393:"locales/keys_tg-keycodes",3394:"keyboard-data/hummingbird-json-metadata",3474:"locales/keys_ug-keycodes",3618:"locales/keys_haw-keycodes",3647:"locales/keys_az_standard-keycodes",3687:"locales/keys_ka-keycodes",3735:"locales/keys_cs_programmers-keycodes",3743:"locales/keys_el_220-keycodes",3746:"locales/keys_lt_standard-keycodes",3826:"keyboard-data/bt60_v1-json-metadata",3880:"locales/keys_mt_101-keycodes",3893:"locales/keys_dz-keycodes",3895:"keyboard-data/kyria_rev3-json-metadata",3983:"LocalPicker",4013:"keyboard-data/totem-json-metadata",4036:"locales/keys_ta-keycodes",4070:"keyboard-data/m60-json-metadata",4156:"keyboard-data/kyria_rev2-json-metadata",4213:"keyboard-data/corneish_zen-json-metadata",4218:"FileSystemPicker",4257:"locales/keys_tn-keycodes",4260:"keyboard-data/boardsource3x4-json-metadata",4263:"locales/keys_el_319-keycodes",4289:"locales/keys_gn-keycodes",4296:"locales/keys_el_polytonic-keycodes",4415:"keyboard-data/eternal_keypad-json-metadata",4443:"locales/keys_bug-keycodes",4465:"locales/keys_it-keycodes",4491:"locales/keys_fr_canadian_french-keycodes",4595:"locales/keys_bg_phonetic-keycodes",4670:"locales/keys_tr_f-keycodes",4688:"locales/keys_chr_phonetic-keycodes",4717:"locales/keys_sv_sami-keycodes",4733:"DemoPicker",4777:"locales/keys_syr-keycodes",4795:"locales/keys_ro_programmers-keycodes",4821:"locales/keys_pt-keycodes",4824:"locales/keys_te-keycodes",4830:"keyboard-data/chalice-json-metadata",4843:"keyboard-data/a_dux-json-metadata",4887:"locales/keys_lis_standard-keycodes",4892:"locales/keys_ne-keycodes",4919:"locales/keys_nb-keycodes",4959:"keyboard-data/crbn-json-metadata",4962:"keyboard-data/bfo9000-json-metadata",5015:"locales/keys_my-keycodes",5074:"WarningsTab",5272:"keyboard-data/quefrency-json-metadata",5303:"locales/keys_tr-keycodes",5332:"locales/keys_ba-keycodes",5354:"locales/keys_srb-keycodes",5356:"keyboard-data/boardsource5x12-json-metadata",5422:"keyboard-data/bt65_v1-json-metadata",5485:"locales/keys_dv-keycodes",5533:"keyboard-data/preonic_rev3-json-metadata",5604:"locales/keys_is-keycodes",5606:"locales/keys_lb-keycodes",5634:"keyboard-data/splitkb_aurora_lily58-json-metadata",5708:"ClipboardPicker",5715:"locales/keys_sl-keycodes",5810:"keyboard-data/naked60-json-metadata",5819:"MacroEditorTab",5821:"locales/keys_el_latin_319-keycodes",5840:"locales/keys_iu-keycodes",5842:"locales/keys_khb-keycodes",5868:"BehaviorEditorTab",5891:"keyboard-data/splitkb_aurora_sweep-json-metadata",5991:"locales/keys_non-keycodes",5998:"locales/keys_yo-keycodes",6019:"keyboard-data/tg4x-json-metadata",6049:"locales/keys_ps-keycodes",6157:"locales/keys_dvorak-keycodes",6158:"keyboard-data/leeloo-json-metadata",6184:"locales/keys_de_swiss-keycodes",6274:"keyboard-data/leeloo_micro-json-metadata",6324:"keyboard-data/lily58-json-metadata",6360:"keyboard-data/qaz-json-metadata",6392:"locales/keys_ar-keycodes",6415:"locales/keys_nl-keycodes",6429:"locales/keys_es_latin_american-keycodes",6457:"locales/keys_gd-keycodes",6528:"keyboard-data/knob_goblin-json-metadata",6684:"locales/keys_th-keycodes",6688:"locales/keys_hi-keycodes",6691:"locales/keys_da-keycodes",6710:"locales/keys_jv-keycodes",6777:"locales/keys_lv_qwerty-keycodes",6793:"LayerEditorTab",6794:"locales/keys_km-keycodes",6943:"locales/keys_chr-keycodes",7022:"locales/keys_et-keycodes",7038:"keyboard-data/corne-json-metadata",7069:"locales/keys_wo-keycodes",7080:"locales/keys_uz-keycodes",7108:"locales/keys_he_standard-keycodes",7110:"keyboard-data/osprette-json-metadata",7190:"keyboard-data/waterfowl-json-metadata",7218:"keyboard-data/nice60-json-metadata",7228:"locales/keys_uk_enhanced-keycodes",7266:"keyboard-data/zodiark-json-metadata",7289:"locales/keys_sah-keycodes",7292:"locales/keys_ru_phonetic-keycodes",7303:"locales/keys_kl-keycodes",7305:"locales/keys_tt-keycodes",7316:"keyboard-data/helix-json-metadata",7446:"locales/keys_he-keycodes",7495:"locales/keys_en_gb-keycodes",7554:"locales/keys_fr-keycodes",7568:"locales/keys_mt-keycodes",7603:"locales/keys_el_latin_220-keycodes",7686:"locales/keys_dsb_extended-keycodes",7771:"locales/keys_lt-keycodes",7803:"locales/keys_sk-keycodes",7892:"locales/keys_ig-keycodes",7905:"keyboard-data/fourier-json-metadata",7950:"locales/keys_fr_belgian_period-keycodes",7961:"keyboard-data/tidbit-json-metadata",7994:"locales/keys_vi-keycodes",7997:"keyboard-data/elephant42-json-metadata",8017:"locales/keys_ar_102-keycodes",8019:"locales/keys_se-keycodes",8041:"locales/keys_mk-keycodes",8070:"locales/keys_az-keycodes",8110:"locales/keys_tmh_extended-keycodes",8119:"locales/keys_hi_traditional-keycodes",8173:"locales/keys_sq-keycodes",8185:"locales/keys_ga-keycodes",8207:"locales/keys_cs-keycodes",8216:"locales/keys_ur-keycodes",8242:"locales/keys_az_cyrillic-keycodes",8251:"locales/keys_fr_canadian_standard-keycodes",8284:"keyboard-data/planck_rev6-json-metadata",8301:"keyboard-data/leeloo_rev2-json-metadata",8302:"locales/keys_en_india-keycodes",8307:"locales/keys_nso-keycodes",8315:"ComboEditorTab",8374:"keyboard-data/murphpad-json-metadata",8391:"locales/keys_pl-keycodes",8409:"keyboard-data/contra-json-metadata",8415:"keyboard-data/snap-json-metadata",8427:"locales/keys_ko-keycodes",8438:"locales/keys_la_old_italic-keycodes",8451:"keyboard-data/cradio-json-metadata",8568:"locales/keys_mn_traditional-keycodes",8599:"locales/keys_fa-keycodes",8636:"locales/keys_nb_sami-keycodes",8642:"keyboard-data/kyria-json-metadata",8649:"locales/keys_sv-keycodes",8699:"locales/keys_se_finland_sweden-keycodes",8706:"locales/keys_fi-keycodes",8709:"locales/keys_kn-keycodes",8729:"keyboard-data/sofle-json-metadata",8793:"locales/keys_dvorak_left-keycodes",8796:"locales/keys_hu-keycodes",8813:"keyboard-data/microdox-json-metadata",8855:"locales/keys_fr_belgian-keycodes",8945:"locales/keys_lis-keycodes",8956:"locales/keys_bm-keycodes",8971:"locales/keys_el_latin-keycodes",8986:"locales/keys_ru-keycodes",9061:"locales/keys_si-keycodes",9081:"locales/keys_lv_standard-keycodes",9082:"locales/keys_as-keycodes",9112:"locales/keys_pt_abnt2-keycodes",9134:"keyboard-data/iris-json-metadata",9136:"locales/keys_hy_phonetic-keycodes",9142:"locales/keys_bn_inscript-keycodes",9176:"locales/keys_iu_latin-keycodes",9193:"locales/keys_so-keycodes",9244:"locales/keys_ky-keycodes",9351:"keyboard-data/splitkb_aurora_corne-json-metadata",9414:"locales/keys_sat-keycodes",9512:"locales/keys_mi-keycodes",9586:"locales/keys_fo-keycodes",9616:"locales/keys_dsb-keycodes",9619:"locales/keys_de_belgian-keycodes",9698:"locales/keys_ka_ergonomic-keycodes",9707:"keyboard-data/jiran-json-metadata",9866:"locales/keys_fi_sami-keycodes",9893:"locales/keys_got-keycodes",9989:"locales/keys_pa-keycodes"}[e]||e)+"."+{5:"e4e4ffd65cbc4c65ecf1",47:"68ec143ed38bce6cbea4",68:"7b17882894d827d4a691",129:"93e9e7b55ff4db1b45f4",308:"e7d0c13e3ecc92b49444",320:"e0e22f0d3ac8f761ce0c",327:"2fa7d61410ce114657ae",389:"606dc039dbee5e7de1d4",398:"c8c541aaf844eeda8149",401:"bdae6943931998cef4fd",421:"dbb2c1733f9a7579098e",422:"666bd3a0ce35c4a274ff",504:"08471cae2d972b76b0db",539:"f13efc888eac2aa8e903",578:"04d1220d52840040f60b",630:"6b46117b424a7c066032",639:"ed35220caee82d9a98c9",749:"76b287374b8ae5f7a06c",771:"476e9ba05219d84921f3",814:"4764231c07fa0d0a04f6",819:"d3aa21549ed684a419c3",833:"46444cf657dcf1bb1593",920:"dc595b5183e9c47ff557",944:"1d97a367f9bc03bebc24",951:"f0042702141cbb2ccabf",1038:"0dd9fa3315bf40184cef",1081:"b7803c34bd0bfa5dafc5",1145:"eb22ba2cdea48aa2d95d",1156:"bb15c7631776a604bdb7",1315:"0db48f03173200e045f2",1319:"235d28f92c3ebf9de6a7",1325:"2f0b419e92ee75a38e38",1343:"ee06049f65c14c9be2c5",1480:"0e19ada3b1ed7eae78ef",1507:"8cada04b0e43007bb4be",1514:"649b8ed65f356fa690ac",1522:"51261fedb8ec11fb688b",1545:"b152a1976be0001bfb43",1547:"fd5557effaaa558c9c03",1616:"8ad0b8c64ae606fb9b8a",1671:"6bdbbb20361914659d30",1718:"48c9ef74da6b481e09e7",1720:"3328c6b7c20fbf918852",1803:"1e7199493f6d2ffd30e3",1808:"abb32a6fe65c55952158",1872:"719fd6d2cfbc98065faa",1936:"7cca553598a85b9fb048",2015:"1189ea9050bf52385110",2124:"3a4b66bbd69961c6d5c2",2135:"525d812350d5ced6043f",2169:"63ac13cc199c3dc1a8f3",2231:"5080f1cbf58c1317f585",2247:"cc1d4b1cd7cd39cbb429",2271:"b737428706ade1ab91ed",2275:"6c3d70cbc0a2a960dede",2284:"88dbffa6a51dab15b0fe",2308:"3dcb94a43fdc92f06e92",2383:"5ed644b5f167e67560da",2408:"49d33aa415e8f4992f21",2602:"d7b17cf5cd894ba30b64",2619:"5153da3fbe85b2f1f7f8",2621:"bd9a8dabd0cd755853b5",2650:"3f3cfa2fa09a2668c59f",2659:"c36d1660242da4a6482d",2757:"7bb49d3d556b1d93c064",2787:"0ac3afacea3c7523fb1c",2835:"551ed1eddb65a0855ec0",2838:"84c69ef5c8dc271afe1d",2921:"377227f7d5e348eafa81",2939:"7a308a62c65bc646f73f",2947:"b87b567c4f703432d58f",2982:"36e9273f2ce6ff4f4673",3033:"b26fcf2e16e386fb33b1",3039:"af983ffea98d132ceba4",3194:"8a08d0da753f48f7f95e",3197:"c76645f1783dc0be1e59",3203:"6d63eed6abfd789c0f68",3268:"f3f0e12f35d6ede0f40f",3282:"01584f37d4d33ad63efb",3322:"7ebaf8ec7ac148f4669d",3359:"2b1b7a00d5f5a3f3d4d7",3362:"108c88849c8b60e605f9",3393:"2b68325532554cc8d8ba",3394:"b0af5ee288c25da5c283",3474:"d8e51748742a2c676e34",3618:"d8420dbaf5d768e5d2d4",3647:"6703ed839e825c8771d3",3687:"e750c133ca55d5c6e548",3735:"c9d93c92c6c0423a5416",3743:"ebb2429d5bbde92909c4",3746:"a4deb37dc8a93b498757",3826:"97699fa9c0a1372dedb5",3880:"fcaa03e1df43df95ab97",3893:"c7df98614033002329af",3895:"132914156c62a82b3268",3983:"aac52c448fa367f32450",4013:"cb89f5091aba0e288065",4036:"c6e3659928ad2fb6259c",4070:"f616dcb60b78533d6bf0",4084:"80c8670641f9c037682a",4156:"3ac284a21e7e7924f35f",4213:"6f4898d50b5338d7300e",4218:"63732d16fe170019603e",4257:"f5fd10e05ad3d0536453",4260:"7cf189c757bde6655415",4263:"931dcb76dcb966d4c80f",4289:"fa48da5f908e2f1c31fc",4296:"6398e9a1092dbd966cd4",4415:"39fdfb3dfabfb49c9f35",4443:"3d9b42bc9254f6af0784",4465:"f4574a240d1cc776a64d",4491:"85813c1f613b510d8c53",4595:"32f60188d0eaea679456",4670:"c00667ffdde3a68622ab",4688:"31df1ae6ad5f78bd01fc",4717:"abfe395f6284ad19bfcd",4733:"903cb98477a23460423b",4777:"2224cbda2741be9da336",4795:"ed0ccd39951359fbbbca",4820:"b6c55aee1c4cd8c91d2c",4821:"ddd40fd58db42a579031",4824:"c7ebcc8f56f74361647e",4830:"e201d6b24b9cb1e2ad99",4843:"fd9113741beefa00f0b5",4887:"f052ae8bfdfdb1d513db",4892:"21ca05f55d2498c46129",4919:"4a12c76edfa94312b0ea",4959:"808a01eda41b51d14bcb",4962:"69a545b5fcc0f7130c05",5015:"0f3a2242ea9f9a42c4f9",5074:"b219616848293106abf3",5272:"c7e0af70b0a8c39034f3",5303:"a4497d24307a9897e5b5",5332:"777b50e4b114b352d258",5354:"93a522db48b96a4a0579",5356:"1fba1c8cde51e25e2627",5422:"2ffe628e4ca4ccaccd22",5485:"55a0ec07c8abbfe214b4",5533:"c45da345e0fb10fa3770",5604:"f11c3e2dd4430602f243",5606:"8cfe7dc5f09ec96ea95e",5634:"d4e880ef4bc1bdca79dd",5708:"dcb34ee77de8eadc6168",5715:"4ef9b548b6cfc7c605f9",5810:"637b457fc2054bcead5a",5819:"e5b4a953631d8e88e514",5821:"a4f5e6f31f799696cdaf",5840:"7e4e574c1214010c07dc",5842:"f7c89fd7bf3602a3399e",5868:"fc260613c0da8a81bce1",5891:"3076456f65d49468799e",5991:"512b59c58af9c82a47d5",5998:"91c971fb3f5767c3d295",6019:"acaf3a1d3898ff0a0ab7",6049:"a62bb2191cc0eecda711",6157:"bef0dfd9bedd3d83446d",6158:"889d4299cca613161f97",6184:"732ddeb1a32a40e2fc3a",6274:"5630298fa575b0640e66",6324:"1c52c22287b2cac5bded",6360:"13927c112e935b8e10f6",6392:"57575fbb50fccb5094ea",6415:"627e38aee29608a5d6d2",6429:"b9b3578a604e51fa3455",6457:"ba688263a9c85e9843e1",6528:"b29141f3be2170066ee6",6538:"edb41c874a7cc096c585",6684:"1274b7cfa9914c7663c9",6688:"785926eac6007527226b",6691:"b6cb655f0aa7dcd8787b",6710:"69f4ed313d19455e88f9",6777:"dab38c8f01434d45eb86",6793:"122a21ff258672b62270",6794:"aa4330a831430380f7ca",6943:"9c0653724d1cbfa9ed86",7022:"9ece5bc0d21090bf91ad",7038:"84994fde2fafd27c8862",7069:"9929a74e7e92648a0f87",7080:"f083c93705b5e80e4a4e",7083:"e66a4f659b8417fa81d5",7108:"906eeacc617750894b22",7110:"a4955e02f5ec94c45697",7190:"c0df8d5fa12d9a44ddb6",7218:"5b518329a6b8d1f99ef2",7228:"0a7f301444940610aa3a",7266:"b1ddb085343413bd0f2f",7289:"2fcc4bbd19c8e23bcfd9",7292:"364542469a1dd2fd041b",7303:"8f0ef5a9295943353ecf",7305:"ac74249c913980666520",7316:"c9818170d7ea30748c18",7446:"f26521f672e3d94f3c62",7459:"5951a9e57f5d71a1f6b8",7495:"82936e5baf0e764c1f69",7554:"bdf065db03088c4a4a5d",7568:"d9f3ad26c7b8b70fc1ec",7603:"d2d72bb470a9b2e1ede0",7686:"940990bf96e9413b2e9b",7771:"9942586e9e23d5059127",7803:"8760edf191caa0f69869",7892:"86c938c7b27b9a67ef50",7905:"23f278887548ad32dabd",7950:"6fb177a4414f9a190484",7961:"9a89555a7017f8c7c979",7994:"c160e150f1431807c681",7997:"ec7498e85efc36524556",8017:"4ff440be4782fef561ff",8019:"02f2f252639bb1d459b6",8041:"dae4eea51cfd6e1fbef3",8070:"27f10e0739c78ab95d16",8110:"c132517c950a214d5731",8119:"6b9ca21cd379f8731952",8173:"1776ba2cbbdeb9918f9c",8185:"ece0dc278594eee67cb1",8207:"7e346d396cf1e067b94f",8216:"d37ccb247dce11053578",8242:"3891fea81cc045034ad4",8251:"7bcdee9a73a0eb39baaa",8284:"6555a3d99bf8aa4a85ee",8301:"1b5acae3cec5d2b351b3",8302:"a314012ab607f1b4433f",8307:"e12dd0aad5e6a036ed3b",8315:"f319f20b57e6e2bd20c9",8374:"36097a9be925aa82182c",8391:"eb08511c704d549f8237",8409:"f43f0bce73bf9b6a9c36",8415:"1a17db797b8c7966d730",8427:"409e29315cd91dfb038b",8438:"41a503f1b2737d035a74",8451:"ee4fc77b506ae42c350d",8568:"bf0989c363612ba74ac9",8599:"6d9cc65f381ad7900f46",8636:"48c3cab70569554b8655",8642:"18f07547d3f5ddbc5c3b",8649:"519f8992d7c5b42bf4e1",8699:"6d4b2f405c48cf71aa4b",8706:"db5988f190774b8ecd7e",8709:"23a6c924e3535f7d1a2f",8729:"5e7f233ca2746206478d",8793:"8ab950b00b5526581a64",8796:"594621d4b7b51b6c639b",8813:"1008878cec3cb3882209",8855:"38f81f640e33d713ea2c",8873:"1d5057e09e2c51043381",8945:"d5a920b4e65ee30d8356",8956:"b025b7e50cad64b75370",8971:"f906bba2b2b7e87a8ae0",8986:"4ad17334f3ef911b6b0b",9061:"df8e5e2756a89a473ac0",9081:"b6c8611601548f3554f7",9082:"881f1d74bf2539659516",9112:"7ebcaf2caf566e7902b8",9134:"ff4f0180e5079649f561",9136:"3249d48fcb94ad9e44a1",9142:"2352f58f23eb8d854a95",9176:"2557b40f7b4fcef345a9",9193:"e2b545b8ea15c0016312",9244:"0e4e64562de0635942ff",9351:"937871a659c22427a634",9414:"0ca3490c33ae15092395",9512:"dc6d783fb73d92e5a7fb",9586:"01151d539dca32e61272",9616:"0a4f102b3e946346e2d6",9619:"b044962c66577434486e",9698:"41ef3f798533a2b1c7cf",9707:"7d9b702ab7a66f9882c9",9866:"110121669330cd9e737c",9893:"4ff6eee70cdc1c6e3325",9989:"82394c41d4a4746a6d10"}[e]+".js"},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},c={},s="app:",l.l=function(e,a,d,o){if(c[e])c[e].push(a);else{var t,k;if(void 0!==d)for(var f=document.getElementsByTagName("script"),y=0;y<f.length;y++){var b=f[y];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")==s+d){t=b;break}}t||(k=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,l.nc&&t.setAttribute("nonce",l.nc),t.setAttribute("data-webpack",s+d),t.src=e),c[e]=[a];var r=function(a,d){t.onerror=t.onload=null,clearTimeout(n);var s=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),s&&s.forEach((function(e){return e(d)})),a)return a(d)},n=setTimeout(r.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=r.bind(null,t.onerror),t.onload=r.bind(null,t.onload),k&&document.head.appendChild(t)}},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e;l.g.importScripts&&(e=l.g.location+"");var a=l.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var d=a.getElementsByTagName("script");d.length&&(e=d[d.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),l.p=e}(),function(){l.b=document.baseURI||self.location.href;var e={3666:0};l.f.j=function(a,d){var c=l.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(3666!=a){var s=new Promise((function(d,s){c=e[a]=[d,s]}));d.push(c[2]=s);var o=l.p+l.u(a),t=new Error;l.l(o,(function(d){if(l.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var s=d&&("load"===d.type?"missing":d.type),o=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+s+": "+o+")",t.name="ChunkLoadError",t.type=s,t.request=o,c[1](t)}}),"chunk-"+a,a)}else e[a]=0},l.O.j=function(a){return 0===e[a]};var a=function(a,d){var c,s,o=d[0],t=d[1],k=d[2],f=0;if(o.some((function(a){return 0!==e[a]}))){for(c in t)l.o(t,c)&&(l.m[c]=t[c]);if(k)var y=k(l)}for(a&&a(d);f<o.length;f++)s=o[f],l.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return l.O(y)},d=self.webpackChunkapp=self.webpackChunkapp||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))}(),l.nc=void 0}();
+//# sourceMappingURL=runtime.9ad58d0013684795567f.js.map \ No newline at end of file