summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ComboEditorTab.f319f20b57e6e2bd20c9.js2
-rw-r--r--ConditionalLayerEditorTab.1e7199493f6d2ffd30e3.js2
-rw-r--r--MacroEditorTab.1299643b5361e0195678.js2
-rw-r--r--index.html2
-rw-r--r--runtime.7247af8f0f8b895b0eeb.js2
5 files changed, 9 insertions, 1 deletions
diff --git a/ComboEditorTab.f319f20b57e6e2bd20c9.js b/ComboEditorTab.f319f20b57e6e2bd20c9.js
new file mode 100644
index 0000000..58ad1e3
--- /dev/null
+++ b/ComboEditorTab.f319f20b57e6e2bd20c9.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[8315],{94062:function(n,e,r){r.d(e,{Z:function(){return a}});var t=r(41051),o=r(2968),i=r(85893);function a(n){var e=n.url,r=n.text;return(0,i.jsxs)(o.Z,{external:!0,href:e,children:[(0,i.jsx)(t.Z,{name:"book"})," ",(0,i.jsx)("span",{children:r})]})}},44019:function(n,e,r){r.r(e),r.d(e,{default:function(){return Xn}});var t=r(50361),o=r.n(t),i=r(67294),a=r(95998),l=r(45697),c=r.n(l),s=r(93379),u=r.n(s),p=r(7795),A=r.n(p),d=r(90569),f=r.n(d),b=r(3565),m=r.n(b),y=r(19216),v=r.n(y),g=r(44589),C=r.n(g),h=r(78207),x={};x.styleTagTransform=C(),x.setAttributes=m(),x.insert=f().bind(null,"head"),x.domAPI=A(),x.insertStyleElement=v(),u()(h.Z,x);var E=h.Z&&h.Z.locals?h.Z.locals:void 0,j=r(15023),B=r(85893);function w(){return(0,B.jsx)("p",{className:E.floatingMessage,children:"Click on a key to add it to the combo"})}function k(n){var e=n.keyPositions,r=n.onUpdate;return(0,B.jsxs)("div",{className:E.comboInputMap,children:[(0,B.jsx)(j.Z,{value:e,onUpdate:r}),e.length<2&&(0,B.jsx)(w,{})]})}k.propTypes={onUpdate:c().func.isRequired,keyPositions:c().arrayOf(c().number).isRequired};var O=k,S=r(82607),P=r(61953),Z=r(27926),N=r(41051),I=r(94062),Y=r(86015),D={};D.styleTagTransform=C(),D.setAttributes=m(),D.insert=f().bind(null,"head"),D.domAPI=A(),D.insertStyleElement=v(),u()(Y.Z,D);var X=Y.Z&&Y.Z.locals?Y.Z.locals:void 0,U=r(56803);function q(n){return q="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},q(n)}function R(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 z(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?R(Object(r),!0).forEach((function(e){T(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):R(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"!==q(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==q(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===q(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,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 M(n){var e,r,t=n.value,o=n.validate,a=n.required,l=n.render,c=n.onUpdate,s=(0,i.useRef)(),u=(e=(0,i.useState)({value:t,editing:!1,attemptedEmpty:!1}),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 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.")}()),p=u[0],A=u[1],d=p.attemptedEmpty?"cannot be empty":o&&o(p.value),f=(0,i.useCallback)((function(n){n&&(n.focus(),n.select())}),[]),b=(0,i.useCallback)((function(){A((function(n){return z(z({},n),{},{editing:!1})}))}),[A]),m=(0,i.useCallback)((function(n){s.current&&!s.current.contains(n.target)&&b()}),[s,b]);return(0,i.useEffect)((function(){return document.addEventListener("click",m),function(){return document.removeEventListener("click",m)}}),[m]),p.editing?(0,B.jsxs)("span",{className:X.container,ref:s,children:[(0,B.jsx)("input",{ref:f,value:p.value,onChange:function(n){return A(z(z({},p),{},{attemptedEmpty:!1,value:n.target.value}))},onKeyDown:(0,U.w)({Enter:function(){p.editing&&(""===p.value&&a?A(z(z({},p),{},{attemptedEmpty:!0})):(d||c(p.value),A(z(z({},p),{},{value:p.value,editing:!1}))))},Escape:b})}),d&&(0,B.jsx)("span",{className:X.error,children:d})]}):l((0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("span",{children:t}),(0,B.jsx)(N.Z,{name:"pencil",className:X.edit,onClick:(0,U.s)((function(){return A(z(z({},p),{},{editing:!0}))}))})]}))}M.propTypes={value:c().string.isRequired,validate:c().func,required:c().bool.isRequired,render:c().func.isRequired,onUpdate:c().func.isRequired},M.defaultProps={required:!0};var W=M,F=r(81485),J=r(57557),Q=r.n(J),G=r(64261),L=r(96186),V=r(80993),_=r(80736);function H(n){return H="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},H(n)}function $(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 nn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?$(Object(r),!0).forEach((function(e){en(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function en(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==H(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==H(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===H(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}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}var tn=function(n){var e,r,t,o,l,c=n.combo,s=n.onUpdate,u=n.onCancel,p=(0,a.v9)(_.vl),A=(o=(0,i.useState)(c),l=2,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 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}}(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.")}()),d=A[0],f=A[1],b=(0,i.useMemo)((function(){return p.map((function(n,e){return{id:e,label:(0,_.EI)(n)}}))}),[p]),m=(0,i.useMemo)((function(){var n;return((null===(n=d.properties.layers)||void 0===n?void 0:n.parsed)||[]).map((function(n){return b.find((function(e){return e.id===n}))}))}),[d,b]),y=(0,i.useCallback)((function(n){return f((function(e){return nn(nn({},e),{},{properties:nn(nn({},e.properties),{},{layers:{parsed:n.map((function(n){return n.id}))}})})}))}),[f]);return(0,B.jsx)(G.Z,{onDismiss:u,children:(0,B.jsxs)(L.Z,{dismissText:null,children:[(0,B.jsxs)("h2",{children:["Customize ",(0,B.jsx)("code",{children:c.name})]}),(0,B.jsxs)("div",{children:[(0,B.jsxs)("div",{className:E.field,children:[(0,B.jsx)("label",{htmlFor:"customize-combo-timeout",children:"Timeout (ms)"}),(0,B.jsx)("input",{id:"customize-combo-timeout",type:"number",placeholder:"Default",value:(null===(e=d.properties["timeout-ms"])||void 0===e?void 0:e.parsed)||"",onChange:function(n){var e=Number(n.target.value);f((function(r){return nn(nn({},r),{},{properties:""!==n.target.value?nn(nn({},r.properties),{},{"timeout-ms":{parsed:e}}):nn({},Q()(r.properties,"timeout-ms"))})}))}})]}),(0,B.jsxs)("div",{className:E.field,children:[(0,B.jsx)("label",{htmlFor:"customize-combo-idle",children:"Require Prior Idle (ms)"}),(0,B.jsx)("input",{id:"customize-combo-idle",type:"number",placeholder:"Default",value:(null===(r=d.properties["require-prior-idle-ms"])||void 0===r?void 0:r.parsed)||"",onChange:function(n){var e=Number(n.target.value);f((function(r){return nn(nn({},r),{},{properties:""!==n.target.value?nn(nn({},r.properties),{},{"require-prior-idle-ms":{parsed:e}}):nn({},Q()(r.properties,"require-prior-idle-ms"))})}))}})]}),(0,B.jsxs)("div",{className:E.field,children:[(0,B.jsx)("label",{htmlFor:"customize-combo-slow-release",children:"Slow Release"}),(0,B.jsx)("input",{id:"customize-combo-slow-release",type:"checkbox",checked:(null===(t=d.properties["slow-release"])||void 0===t?void 0:t.parsed)||!1,onChange:function(n){return f((function(e){return nn(nn({},e),{},{properties:nn(nn({},e.properties),{},{"slow-release":{parsed:n.target.checked}})})}))}})]}),(0,B.jsxs)("div",{className:E.field,children:[(0,B.jsx)("label",{htmlFor:"pending_layers",children:"Layers"}),(0,B.jsx)(V.Z,{isMulti:!0,isSearchable:!0,id:"pending_layers",value:m,options:b,onChange:y,getOptionValue:function(n){return n.id}})]}),(0,B.jsxs)("div",{style:{textAlign:"center",marginTop:"10px"},children:[(0,B.jsx)(Z.Z,{onClick:function(){s(d)},children:"Okay"}),(0,B.jsx)(Z.Z,{onClick:u,secondary:!0,children:"Cancel"})]})]})]})})},on=r(62417),an=r(76106),ln=r(94596),cn=r(80671),sn=r(58887),un=r(91118),pn=r(2732);function An(n){return An="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},An(n)}function dn(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 fn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?dn(Object(r),!0).forEach((function(e){bn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):dn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function bn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==An(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==An(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===An(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function mn(n){return(0,B.jsx)(cn.Z,fn(fn({},n),{},{Heading:yn}))}function yn(n){var e=n.bindingIndex,r=n.bindTree,t=(0,a.v9)(pn.DP)[e];return t?(0,B.jsxs)("div",{className:ln.Z.keyBindingHeader,children:[(0,B.jsx)(sn.Z,{keyPositions:t.properties["key-positions"].parsed,styleOverrides:{display:"inline-block",padding:"3px",borderRadius:"3px"},scale:.15}),(0,B.jsx)(N.Z,{name:"arrow-right"}),(0,B.jsx)(un.Z,{selectable:!1,children:(0,B.jsx)(an.Z,{value:r})})]}):null}function vn(n){return vn="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},vn(n)}function gn(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 Cn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?gn(Object(r),!0).forEach((function(e){hn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):gn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function hn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==vn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==vn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===vn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function xn(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 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}}(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 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){var e,r=n.onSubmit,t=n.onCancel,o=n.initial,a=void 0===o?Bn:o,l=(e=(0,i.useContext)(F.c).identifiers,(0,i.useCallback)((function(n){return(0,on.G3)(n)||(e.includes(n)?'Cannot use existing identifier "'.concat(n,'"'):null)}),[e])),c=xn((0,i.useState)(a),2),s=c[0],u=c[1],p=xn((0,G.X)(),3),A=p[0],d=p[1],f=p[2],b=xn((0,i.useState)(!1),2),m=b[0],y=b[1],v=(0,i.useCallback)((function(n){return u((function(e){return Cn(Cn({},e),{},{name:n})}))}),[u]),g=wn(u,"bindings"),C=wn(u,"key-positions"),h=(0,i.useCallback)((function(n){u(n),f()}),[u,f]),x=(0,i.useCallback)((function(){r(s)}),[s,r]),j=(0,i.useMemo)((function(){return!!s.name&&s.properties["key-positions"].parsed.length>0}),[s]);return(0,B.jsx)(G.Z,{onDismiss:t,children:(0,B.jsxs)(L.Z,{dismissText:!1,classes:[E.comboPanel],children:[A&&(0,B.jsx)(tn,{combo:s,onUpdate:h,onCancel:f}),m&&(0,B.jsx)(mn,{binding:s.properties.bindings.parsed[0],bindingIndex:null,onCancel:function(){return y(!1)},onUpdate:function(n){g([n]),y(!1)}}),(0,B.jsx)(I.Z,{url:"https://zmk.dev/docs/features/combos",text:"ZMK Docs: Combos"}),(0,B.jsxs)("div",{className:E.combo,children:[(0,B.jsxs)("div",{className:E.heading,children:[(0,B.jsx)("div",{children:(0,B.jsx)(W,{value:s.name,validate:l,render:function(n){return(0,B.jsxs)("h5",{children:["Name: ",(0,B.jsx)("code",{children:n}),!s.name&&(0,B.jsx)("span",{style:{color:"red"},children:"*required"})]})},onUpdate:v})}),(0,B.jsx)("div",{className:E.actions,children:(0,B.jsx)(N.Z,{name:"wrench",className:"".concat(E.action),onClick:d})})]}),(0,B.jsxs)("div",{className:E.detail,children:[(0,B.jsx)("div",{className:E.comboOutput,children:(0,B.jsx)(S.Z,{binding:s.properties.bindings.parsed[0],keyWrapperProps:{className:P.Z.unified,onClick:function(n){n.stopPropagation(),y(!0)}}})}),(0,B.jsx)(O,{keyPositions:s.properties["key-positions"].parsed,onUpdate:C})]})]}),(0,B.jsxs)("div",{style:{textAlign:"center"},children:[(0,B.jsx)(Z.Z,{disabled:!j,onClick:x,children:"Create"}),(0,B.jsx)(Z.Z,{onClick:t,secondary:!0,children:"Cancel"})]})]})})}var Bn={name:"",labels:[],properties:{bindings:{parsed:[{value:"&none",params:[]}]},"key-positions":{parsed:[]}}};function wn(n,e){return(0,i.useCallback)((function(r){return n((function(n){return Cn(Cn({},n),{},{properties:Cn(Cn({},n.properties),{},hn({},e,{parsed:r}))})}))}),[n,e])}var kn=r(94184),On=r.n(kn);function Sn(n){return Sn="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},Sn(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 Zn(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){Nn(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 Nn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Sn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Sn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Sn(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 Yn(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)?Yn(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 Yn(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 Dn(){var n=(0,i.useContext)(F.c).identifiers,e=(0,a.v9)(pn.DP),r=(0,a.I0)(),t=In((0,i.useState)(null),2),l=t[0],c=t[1],s=In((0,i.useState)(null),2),u=s[0],p=s[1],A=In((0,i.useState)(null),2),d=A[0],f=A[1],b=(0,i.useCallback)((function(){f(!0)}),[f]),m=(0,i.useCallback)((function(){return f(null)}),[f]);function y(e){return(0,on.G3)(e)||(n.includes(e)?'Cannot use existing identifier "'.concat(e,'"'):null)}var v=(0,i.useCallback)((function(n){r((0,pn.ij)({comboIndex:l,bindings:[n]})),c(null)}),[l,c,r]);return(0,B.jsxs)("div",{className:E.main,children:[null!==u&&(0,B.jsx)(tn,{combo:e[u],onUpdate:function(n){return e=u,t=n,p(null),void r((0,pn.SD)({index:e,combo:t}));var e,t},onCancel:function(){return p(null)}}),d&&(0,B.jsx)(jn,Zn(Zn({},d.dialogProps||{}),{},{onSubmit:function(n){r((0,pn.CG)(n)),m()},onCancel:m})),null!==l&&(0,B.jsx)(mn,{binding:e[l].properties.bindings.parsed[0],bindingIndex:l,onCancel:function(){return c(null)},onUpdate:v}),(0,B.jsx)("div",{className:E.header,children:(0,B.jsx)(I.Z,{url:"https://zmk.dev/docs/features/combos",text:"ZMK Docs: Combos"})}),(0,B.jsx)("div",{className:E.comboPanel,children:e.map((function(n,t){return(0,B.jsxs)("div",{className:E.combo,children:[(0,B.jsxs)("div",{className:E.heading,children:[(0,B.jsx)(W,{value:n.name,validate:y,render:function(n){return(0,B.jsx)("h5",{children:(0,B.jsx)("code",{children:n})})},onUpdate:function(n){return function(n,e){r((0,pn.l3)({index:n,name:e}))}(t,n)}}),(0,B.jsxs)("div",{className:E.actions,children:[(0,B.jsx)(N.Z,{name:"wrench",title:"Configure combo ".concat(n.name),className:E.action,onClick:function(){return p(t)}}),(0,B.jsx)(N.Z,{name:"copy",title:"Create new combo with configuration from ".concat(n.name),className:E.action,onClick:function(){return n=t,delete(r=o()(e[n])).index,r.name="",r.labels=[],void f({dialogProps:{initial:r}});var n,r}}),(0,B.jsx)(N.Z,{name:"trash-can",title:"Delete combo ".concat(n.name),className:On()(E.action,E.remove),onClick:function(){return n=t,void(window.confirm("Really delete combo: ".concat(e[n].name,"?"))&&r((0,pn.pd)({index:n})));var n}})]})]}),(0,B.jsxs)("div",{className:E.detail,children:[(0,B.jsx)("div",{className:E.comboOutput,children:(0,B.jsx)(S.Z,{binding:n.properties.bindings.parsed[0],keyWrapperProps:{className:P.Z.unified,onClick:function(n){n.stopPropagation(),c(t)}}})}),(0,B.jsx)(O,{keyPositions:n.properties["key-positions"].parsed,onUpdate:function(n){return function(n,e){r((0,pn.nJ)({comboIndex:n,keyPositions:e}))}(t,n)}})]})]},t)}))}),(0,B.jsx)("div",{className:E.footer,children:(0,B.jsx)(Z.Z,{onClick:b,children:"Add New Combo"})})]})}Dn.propTypes={};var Xn=Dn},56803:function(n,e,r){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}})},86015:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".ho3CuFFjX1VFNZJiAyVs {\n position: relative;\n}\n\n.u9J3v5ZrIbuVICzNBkRw {\n padding: 5px;\n cursor: pointer;\n opacity: 0.5;\n color: var(--key-color-base);\n}\n.u9J3v5ZrIbuVICzNBkRw:hover {\n opacity: 1;\n}\n\n.wmqWaOx7XyKADh7Kv4RZ {\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.wmqWaOx7XyKADh7Kv4RZ::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/editablefield.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,4BAA4B;AAC9B;AACA;EACE,UAAU;AACZ;;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:[".container {\n position: relative;\n}\n\n.edit {\n padding: 5px;\n cursor: pointer;\n opacity: 0.5;\n color: var(--key-color-base);\n}\n.edit:hover {\n opacity: 1;\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={container:"ho3CuFFjX1VFNZJiAyVs",edit:"u9J3v5ZrIbuVICzNBkRw",error:"wmqWaOx7XyKADh7Kv4RZ"},e.Z=a},78207:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.pwXbGORsYKqyOPBm9_dW {\n padding-bottom: 60px;\n}\n\n.FDsUz791VURN5GgqawOQ, .MhI51kJR50XISY6jcLAw {\n width: 550px;\n margin: 1px auto;\n}\n.MhI51kJR50XISY6jcLAw {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.Gy0KZGCgOeVminAfggFQ {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}\n.Gy0KZGCgOeVminAfggFQ:hover {\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.Ld9cVdtpS_DpbEifyX9Y {\n background-color: var(--selection);\n}\n.Ld9cVdtpS_DpbEifyX9Y:hover {\n background-color: var(--hover-selection);\n}\n\n.mqpJ7uHAMKxvORoOIPFK {\n max-width: 450px;\n margin: 0 auto;\n}\n\n.BVucwy4AZCyl7GyivzMn {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n\n.U6g0njWjBrtb_I3XhAeV {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.U6g0njWjBrtb_I3XhAeV:hover {\n opacity: 1;\n}\n\n.CROhsBLtunQ2BbfWdkQw {\n margin: 10px 0 40px;\n}\n\n.CROhsBLtunQ2BbfWdkQw .MhA4fXXuaZ1iPvv05w4m {\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n gap: 20px;\n}\n\n.CROhsBLtunQ2BbfWdkQw h5 {\n margin: 0;\n}\n\n.vujYcgQjiN4BGp37FMUH {\n color: var(--key-color-base);\n}\n\n.uh2yPWyfEOZtgXo2_KtU {\n color: var(--delete);\n}\n\n.NAB1EN6_pcYIy5Db9XnC {\n display: none !important;\n}\n.NAB1EN6_pcYIy5Db9XnC:hover {\n color: white;\n cursor: pointer;\n}\n.kYn8brsFgEaf61oQyv4d:hover .NAB1EN6_pcYIy5Db9XnC {\n display: flex !important;\n position: absolute;\n right: -48px;\n transform: scale(0.5);\n}\n\n.NGxnhfSJaJ9FNu3hlBfc.NAB1EN6_pcYIy5Db9XnC,\n.NGxnhfSJaJ9FNu3hlBfc.GXgG_IaQTricqThqzsKe > * {\n background-color: sandybrown;\n color: white;\n}\n.NGxnhfSJaJ9FNu3hlBfc.NAB1EN6_pcYIy5Db9XnC {\n display: flex;\n}\n\n.fljdvcebOv1gbKZpf0vW {\n margin: 10px 0;\n display: flex;\n align-items: center;\n}\n\n.fljdvcebOv1gbKZpf0vW label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.bnN6JCit0RcjdQiqzw8w {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.bnN6JCit0RcjdQiqzw8w li {\n cursor: pointer;\n display: inline-block;\n padding: 5px 10px;\n margin: 5px;\n border-radius: 30px;\n background-color: var(--key-bg-base);\n}\n.bnN6JCit0RcjdQiqzw8w li[data-selected="true"] {\n background-color: var(--selection);\n color: var(--key-color-hover);\n}\n.bnN6JCit0RcjdQiqzw8w li:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n\n.NpLEYrC32KQ4rUx9hUFJ {\n background-color: var(--key-bg-base);\n border-radius: 30px;\n color: var(--key-color-base);\n font-size: 80%;\n text-align: center;\n padding: 5px;\n position: absolute;\n bottom: -40px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 110%;\n\n pointer-events: none;\n transition: opacity ease-in-out .5s;\n}\n\n.l2gtE1XKS63R5TM5unip { position: relative }\n.l2gtE1XKS63R5TM5unip:hover .NpLEYrC32KQ4rUx9hUFJ { opacity: 0.25 }\n',"",{version:3,sources:["webpack://./src/Keyboard/Combos/styles.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;EACjB,wCAAwC;AAC1C;;AAEA;EACE,eAAe;EACf,oCAAoC;AACtC;AACA;EACE,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,2CAA2C;EAC3C,aAAa;AACf;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,YAAY;AACd;AACA;EACE,UAAU;AACZ;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,6BAA6B;EAC7B,mBAAmB;EACnB,SAAS;AACX;;AAEA;EACE,SAAS;AACX;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,wBAAwB;AAC1B;AACA;EACE,YAAY;EACZ,eAAe;AACjB;AACA;EACE,wBAAwB;EACxB,kBAAkB;EAClB,YAAY;EACZ,qBAAqB;AACvB;;AAEA;;EAEE,4BAA4B;EAC5B,YAAY;AACd;AACA;EACE,aAAa;AACf;;AAEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;EACrB,SAAS;EACT,UAAU;AACZ;AACA;EACE,eAAe;EACf,qBAAqB;EACrB,iBAAiB;EACjB,WAAW;EACX,mBAAmB;EACnB,oCAAoC;AACtC;AACA;EACE,kCAAkC;EAClC,6BAA6B;AAC/B;AACA;EACE,wCAAwC;EACxC,6BAA6B;AAC/B;;AAEA;EACE,oCAAoC;EACpC,mBAAmB;EACnB,4BAA4B;EAC5B,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,6BAA6B;EAC7B,WAAW;;EAEX,oBAAoB;EACpB,mCAAmC;AACrC;;AAEA,wBAAiB,mBAAmB;AACpC,oDAAwC,cAAc",sourcesContent:['.main {\n padding-bottom: 60px;\n}\n\n.header, .footer {\n width: 550px;\n margin: 1px auto;\n}\n.footer {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.selectable {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\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.comboPanel {\n max-width: 450px;\n margin: 0 auto;\n}\n\n.heading {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n\n.action {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.action:hover {\n opacity: 1;\n}\n\n.combo {\n margin: 10px 0 40px;\n}\n\n.combo .detail {\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n gap: 20px;\n}\n\n.combo h5 {\n margin: 0;\n}\n\n.edit {\n color: var(--key-color-base);\n}\n\n.remove {\n color: var(--delete);\n}\n\n.addComboInput {\n display: none !important;\n}\n.addComboInput:hover {\n color: white;\n cursor: pointer;\n}\n.comboInputList:hover .addComboInput {\n display: flex !important;\n position: absolute;\n right: -48px;\n transform: scale(0.5);\n}\n\n.active.addComboInput,\n.active.comboInput > * {\n background-color: sandybrown;\n color: white;\n}\n.active.addComboInput {\n display: flex;\n}\n\n.field {\n margin: 10px 0;\n display: flex;\n align-items: center;\n}\n\n.field label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.layerList {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layerList li {\n cursor: pointer;\n display: inline-block;\n padding: 5px 10px;\n margin: 5px;\n border-radius: 30px;\n background-color: var(--key-bg-base);\n}\n.layerList li[data-selected="true"] {\n background-color: var(--selection);\n color: var(--key-color-hover);\n}\n.layerList li:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n\n.floatingMessage {\n background-color: var(--key-bg-base);\n border-radius: 30px;\n color: var(--key-color-base);\n font-size: 80%;\n text-align: center;\n padding: 5px;\n position: absolute;\n bottom: -40px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 110%;\n\n pointer-events: none;\n transition: opacity ease-in-out .5s;\n}\n\n.comboInputMap { position: relative }\n.comboInputMap:hover .floatingMessage { opacity: 0.25 }\n'],sourceRoot:""}]),a.locals={main:"pwXbGORsYKqyOPBm9_dW",header:"FDsUz791VURN5GgqawOQ",footer:"MhI51kJR50XISY6jcLAw",selectable:"Gy0KZGCgOeVminAfggFQ",highlight:"Ld9cVdtpS_DpbEifyX9Y",comboPanel:"mqpJ7uHAMKxvORoOIPFK",heading:"BVucwy4AZCyl7GyivzMn",action:"U6g0njWjBrtb_I3XhAeV",combo:"CROhsBLtunQ2BbfWdkQw",detail:"MhA4fXXuaZ1iPvv05w4m",edit:"vujYcgQjiN4BGp37FMUH",remove:"uh2yPWyfEOZtgXo2_KtU",addComboInput:"NAB1EN6_pcYIy5Db9XnC",comboInputList:"kYn8brsFgEaf61oQyv4d",active:"NGxnhfSJaJ9FNu3hlBfc",comboInput:"GXgG_IaQTricqThqzsKe",field:"fljdvcebOv1gbKZpf0vW",layerList:"bnN6JCit0RcjdQiqzw8w",floatingMessage:"NpLEYrC32KQ4rUx9hUFJ",comboInputMap:"l2gtE1XKS63R5TM5unip"},e.Z=a}}]);
+//# sourceMappingURL=ComboEditorTab.f319f20b57e6e2bd20c9.js.map \ No newline at end of file
diff --git a/ConditionalLayerEditorTab.1e7199493f6d2ffd30e3.js b/ConditionalLayerEditorTab.1e7199493f6d2ffd30e3.js
new file mode 100644
index 0000000..971ec33
--- /dev/null
+++ b/ConditionalLayerEditorTab.1e7199493f6d2ffd30e3.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[1803],{27926:function(n,e,r){r.d(e,{Z:function(){return O}});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),d=r(19216),A=r.n(d),p=r(44589),f=r.n(p),b=r(56281),y={};y.styleTagTransform=f(),y.setAttributes=u(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=A(),o()(b.Z,y);var m=b.Z&&b.Z.locals?b.Z.locals:void 0,h=r(85893);function g(n){return g="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},g(n)}var v=["children","secondary","className"];function C(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 x(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?C(Object(r),!0).forEach((function(e){E(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function E(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==g(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==g(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===g(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function j(n){var e=n.children,r=n.secondary,t=n.className,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,v);return(0,h.jsx)("button",x(x({className:[t,m.action,r&&m.secondary].join(" ")},o),{},{children:e}))}j.defaultProps={className:""};var O=j},97494:function(n,e,r){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),d=r(3565),A=r.n(d),p=r(19216),f=r.n(p),b=r(44589),y=r.n(b),m=r(33988),h={};h.styleTagTransform=y(),h.setAttributes=A(),h.insert=u().bind(null,"head"),h.domAPI=c(),h.insertStyleElement=f(),a()(m.Z,h);var g=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){O(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 O(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:g.wrapper,children:[(0,v.jsx)("input",j({type:"text",value:i},a)),l&&(0,v.jsx)("span",{className:g.error,children:l})]})}w.propTypes={value:o().any.isRequired,required:o().bool,validator:o().func}},62417:function(n,e,r){function t(n){return n.length>31?"maximum length: 31":n.match(/^[^a-zA-Z]/)?"first character must be a letter":n.match(/[^a-zA-Z0-9,._+-]/)?"valid characters: a-zA-Z0-9,._+-":void 0}r.d(e,{G3:function(){return o},Gk:function(){return t},zq:function(){return i}});var o=t;function i(n){return n.length>31?"maximum length: 31":n.match(/^[^a-zA-Z]/)?"first character must be a letter":n.match(/[^a-zA-Z0-9_]/)?"valid characters: a-zA-Z0-9_":void 0}},11937:function(n,e,r){r.r(e),r.d(e,{default:function(){return q}});var t=r(50361),o=r.n(t),i=r(67294),a=r(95998),l=r(80736),c=r(27926),s=r(62417),u=r(96186),d=r(97494),A=r(64261),p=r(80993),f=r(93379),b=r.n(f),y=r(7795),m=r.n(y),h=r(90569),g=r.n(h),v=r(3565),C=r.n(v),x=r(19216),E=r.n(x),j=r(44589),O=r.n(j),w=r(55235),B={};B.styleTagTransform=O(),B.setAttributes=C(),B.insert=g().bind(null,"head"),B.domAPI=m(),B.insertStyleElement=E(),b()(w.Z,B);var k=w.Z&&w.Z.locals?w.Z.locals:void 0,S=r(85893);function Z(n){return Z="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},Z(n)}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 D(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){T(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 T(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Z(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Z(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Z(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function _(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 N(n){var e,r,t=n.node,o=n.onSubmit,f=n.onCancel,b=(e=(0,i.useState)(t),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 _(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)?_(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.")}()),y=b[0],m=b[1],h=(0,a.v9)(l.vl),g=(0,i.useMemo)((function(){var n,e,r,t;return(null===(n=y.name)||void 0===n?void 0:n.length)>0&&!(0,s.Gk)(y.name)&&(null===(e=y.properties["if-layers"])||void 0===e||null===(r=e.parsed)||void 0===r?void 0:r.length)>0&&void 0!==(null===(t=y.properties["then-layer"])||void 0===t?void 0:t.parsed)}),[y]),v=(0,i.useMemo)((function(){return h.map((function(n,e){return{id:e,label:(0,l.EI)(n)}}))}),[h]),C=(0,i.useMemo)((function(){return v.find((function(n){var e;return n.id===(null===(e=y.properties["then-layer"])||void 0===e?void 0:e.parsed)}))}),[y,v]),x=(0,i.useMemo)((function(){var n;return((null===(n=y.properties["if-layers"])||void 0===n?void 0:n.parsed)||[]).map((function(n){return v.find((function(e){return e.id===n}))}))}),[y,v]),E=(0,i.useCallback)((function(n){return m((function(e){return D(D({},e),{},{name:n.target.value})}))}),[m]),j=(0,i.useCallback)((function(n){return m((function(e){return D(D({},e),{},{properties:D(D({},e.properties),{},{"if-layers":{parsed:n.map((function(n){return n.id}))}})})}))}),[m]),O=(0,i.useCallback)((function(n){return m((function(e){return D(D({},e),{},{properties:D(D({},e.properties),{},{"then-layer":{parsed:n.id}})})}))}),[m]),w=(0,i.useCallback)((function(){return o(y)}),[o,y]);return(0,S.jsx)(A.Z,{onDismiss:f,children:(0,S.jsxs)(u.Z,{dismissText:!1,style:{width:"500px"},children:[(0,S.jsx)("h2",{children:"Conditional Layer"}),(0,S.jsxs)("div",{className:k.form,children:[(0,S.jsxs)("div",{className:k.field,children:[(0,S.jsx)("label",{htmlFor:"pending_conditional_layer_name",children:"Condition name"}),(0,S.jsx)(d.Z,{id:"pending_conditional_layer_name",value:y.name,validator:s.Gk,onChange:E})]}),(0,S.jsxs)("div",{className:k.field,children:[(0,S.jsx)("label",{id:"pending_conditional_layer_if_layers",children:"When these layers are active"}),(0,S.jsx)(p.Z,{isMulti:!0,isSearchable:!0,id:"pending_conditional_layer_if_layers",value:x,options:v,onChange:j,getOptionValue:function(n){return n.id}})]}),(0,S.jsxs)("div",{className:k.field,children:[(0,S.jsx)("label",{htmlFor:"pending_conditional_layer_then_layer",children:"Activate this layer"}),(0,S.jsx)(p.Z,{id:"pending_conditional_layer_then_layer",value:C,options:v,onChange:O,getOptionValue:function(n){return n.id}})]})]}),(0,S.jsxs)("div",{style:{textAlign:"center",marginTop:"10px"},children:[(0,S.jsx)(c.Z,{onClick:w,disabled:!g,children:"Okay"}),(0,S.jsx)(c.Z,{onClick:f,secondary:!0,children:"Cancel"})]})]})})}var Y=r(59140),W=r(90291),I={};I.styleTagTransform=O(),I.setAttributes=C(),I.insert=g().bind(null,"head"),I.domAPI=m(),I.insertStyleElement=E(),b()(W.Z,I);var z=W.Z&&W.Z.locals?W.Z.locals:void 0,M=r(41051);function G(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 U(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)?U(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 U(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(){var n=(0,a.I0)(),e=(0,a.v9)(Y.Iu),r=(0,a.v9)(l.vl),t=G((0,i.useState)(null),2),s=t[0],u=t[1],d=G((0,i.useState)(null),2),A=d[0],f=d[1],b=(0,i.useMemo)((function(){return r.map((function(n,e){return{id:e,label:(0,l.EI)(n)}}))}),[r]),y=(0,i.useCallback)((function(){f({index:null,node:{name:"",labels:[],properties:{"if-layers":{parsed:[]},"then-layer":{parsed:null}}}})}),[f]),m=(0,i.useCallback)((function(n){var r=o()(e[n]);delete r.index,r.name="",r.labels=[],f({index:null,node:r})}),[e,f]),h=(0,i.useCallback)((function(){return f(null)}),[f]),g=(0,i.useCallback)((function(n){f({index:n,node:e[n]})}),[e,f]),v=(0,i.useCallback)((function(e){var r=A.index;h(),n(null===r?(0,Y.Zp)({node:e}):(0,Y.YA)({index:r,node:e}))}),[A,h,n]),C=(0,i.useCallback)((function(e){return n((0,Y.h8)({index:e}))}),[n]);return(0,S.jsxs)("div",{className:z.panel,children:[(0,S.jsxs)("h3",{children:[(0,S.jsx)("span",{children:"Show conditional layers activating:"})," ",(0,S.jsx)("span",{style:{fontSize:"initial",fontWeight:"normal"},children:(0,S.jsx)(p.Z,{placeholder:"Any layer",isClearable:!0,options:b,value:s,onChange:u,onClear:function(){return u(null)},getOptionValue:function(n){return n.id}})})]}),(0,S.jsxs)("table",{className:z.listing,children:[(0,S.jsx)("thead",{children:(0,S.jsxs)("tr",{children:[(0,S.jsx)("th",{children:"Condition"}),(0,S.jsx)("th",{children:"Target"}),(0,S.jsx)("th",{children:"Layers"}),(0,S.jsx)("th",{children:"Actions"})]})}),(0,S.jsx)("tbody",{children:e.map((function(n,e){var t,o,i,a;return(null===s||s.id===(null===(t=n.properties)||void 0===t||null===(o=t["then-layer"])||void 0===o?void 0:o.parsed))&&(0,S.jsxs)("tr",{children:[(0,S.jsx)("td",{children:(0,S.jsx)("code",{children:n.name})}),(0,S.jsx)("td",{children:(0,S.jsx)("span",{className:z.layerChip,children:(0,l.EI)(r[null===(i=n.properties["then-layer"])||void 0===i?void 0:i.parsed])})}),(0,S.jsx)("td",{children:((null===(a=n.properties["if-layers"])||void 0===a?void 0:a.parsed)||[]).map((function(n,e){return(0,S.jsx)("span",{className:z.layerChip,children:(0,l.EI)(r[n])},e)}))}),(0,S.jsxs)("td",{className:z.rowActions,children:[(0,S.jsx)(M.Z,{name:"wrench",title:'Edit properties of conditional layer "'.concat(n.name,'"'),className:z.action,onClick:function(){return g(e)}}),(0,S.jsx)(M.Z,{name:"copy",title:'Create new conditional layer from "'.concat(n.name,'"'),className:z.action,onClick:function(){return m(e)}}),(0,S.jsx)(M.Z,{name:"trash-can",title:'Delete conditional layer "'.concat(n.name,'"'),className:z.action,onClick:function(){return C(e)}})]})]},e)}))})]}),(0,S.jsx)("div",{style:{textAlign:"center",marginTop:"10px"},children:(0,S.jsx)(c.Z,{onClick:y,children:"Add conditional layer"})}),A&&(0,S.jsx)(N,{onSubmit:v,onCancel:h,node:A.node})]})}},56281:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,"button.pi2Ig8c3Fdh4H2Jpxdo7 {\n display: inline-block;\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n\n font-size: 16px;\n border: none;\n border-radius: 5px;\n padding: 0 5px;\n\n height: 30px;\n line-height: 30px;\n vertical-align: middle;\n}\n\nbutton.Ctpu4E2dZYJ6g8CUGFOF {\n color: var(--fg);\n background-color: transparent;\n}\n\nbutton.pi2Ig8c3Fdh4H2Jpxdo7[disabled] {\n filter: saturate(20%);\n opacity: .5;\n cursor: not-allowed;\n}\n","",{version:3,sources:["webpack://./src/Common/action-button.module.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,eAAe;EACf,wCAAwC;EACxC,YAAY;;EAEZ,eAAe;EACf,YAAY;EACZ,kBAAkB;EAClB,cAAc;;EAEd,YAAY;EACZ,iBAAiB;EACjB,sBAAsB;AACxB;;AAEA;EACE,gBAAgB;EAChB,6BAA6B;AAC/B;;AAEA;EACE,qBAAqB;EACrB,WAAW;EACX,mBAAmB;AACrB",sourcesContent:["button.action {\n display: inline-block;\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n\n font-size: 16px;\n border: none;\n border-radius: 5px;\n padding: 0 5px;\n\n height: 30px;\n line-height: 30px;\n vertical-align: middle;\n}\n\nbutton.secondary {\n color: var(--fg);\n background-color: transparent;\n}\n\nbutton.action[disabled] {\n filter: saturate(20%);\n opacity: .5;\n cursor: not-allowed;\n}\n"],sourceRoot:""}]),a.locals={action:"pi2Ig8c3Fdh4H2Jpxdo7",secondary:"Ctpu4E2dZYJ6g8CUGFOF"},e.Z=a},33988:function(n,e,r){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},90291:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".TlnfhvkysgFTLghB98FR {\n max-width: 700px;\n margin: 0 auto;\n padding-bottom: 60px;\n}\n\ntable.elDLpJAjA560N0q32OWn {\n width: 100%;\n border-spacing: 0;\n margin-bottom: 10px;\n}\n\n.elDLpJAjA560N0q32OWn th, .elDLpJAjA560N0q32OWn td {\n text-align: left;\n padding: 10px;\n}\n\n.elDLpJAjA560N0q32OWn table tbody tr td {\n margin: 0;\n}\n.elDLpJAjA560N0q32OWn table tbody tr:nth-child(even) {\n background-color: var(--key-bg-base);\n}\n\n\ntd.hl13u6ZNhu2TZvUn_SPm .D9RiPzPM0GTKolXHyMUo {\n padding: 5px;\n opacity: 0.6;\n}\ntd.hl13u6ZNhu2TZvUn_SPm .D9RiPzPM0GTKolXHyMUo:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.O_mQIKvy4g7dWAvw5vJ7 {\n font-size: 90%;\n margin: 2px;\n padding: 5px;\n border-radius: 3px;\n background-color: var(--key-bg-base);\n}\n","",{version:3,sources:["webpack://./src/Keyboard/ConditionalLayers/node-collection-listing.module.css"],names:[],mappings:"AAAA;EACE,gBAAgB;EAChB,cAAc;EACd,oBAAoB;AACtB;;AAEA;EACE,WAAW;EACX,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,SAAS;AACX;AACA;EACE,oCAAoC;AACtC;;;AAGA;EACE,YAAY;EACZ,YAAY;AACd;AACA;EACE,eAAe;EACf,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,oCAAoC;AACtC",sourcesContent:[".panel {\n max-width: 700px;\n margin: 0 auto;\n padding-bottom: 60px;\n}\n\ntable.listing {\n width: 100%;\n border-spacing: 0;\n margin-bottom: 10px;\n}\n\n.listing th, .listing td {\n text-align: left;\n padding: 10px;\n}\n\n.listing table tbody tr td {\n margin: 0;\n}\n.listing table tbody tr:nth-child(even) {\n background-color: var(--key-bg-base);\n}\n\n\ntd.rowActions .action {\n padding: 5px;\n opacity: 0.6;\n}\ntd.rowActions .action:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.layerChip {\n font-size: 90%;\n margin: 2px;\n padding: 5px;\n border-radius: 3px;\n background-color: var(--key-bg-base);\n}\n"],sourceRoot:""}]),a.locals={panel:"TlnfhvkysgFTLghB98FR",listing:"elDLpJAjA560N0q32OWn",rowActions:"hl13u6ZNhu2TZvUn_SPm",action:"D9RiPzPM0GTKolXHyMUo",layerChip:"O_mQIKvy4g7dWAvw5vJ7"},e.Z=a},55235:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".H2Q5hPoGwBMYLveiskOr {\n display: flex;\n align-items: center;\n margin: 10px 0;\n}\n\n.H2Q5hPoGwBMYLveiskOr > label {\n display: inline-block;\n text-align: right;\n width: 220px;\n margin-right: 10px;\n}\n\n.H2Q5hPoGwBMYLveiskOr > label + * {\n flex-shrink: 100;\n}","",{version:3,sources:["webpack://./src/Keyboard/ConditionalLayers/node-edit-form.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,iBAAiB;EACjB,YAAY;EACZ,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;AAClB",sourcesContent:[".field {\n display: flex;\n align-items: center;\n margin: 10px 0;\n}\n\n.field > label {\n display: inline-block;\n text-align: right;\n width: 220px;\n margin-right: 10px;\n}\n\n.field > label + * {\n flex-shrink: 100;\n}"],sourceRoot:""}]),a.locals={field:"H2Q5hPoGwBMYLveiskOr"},e.Z=a}}]);
+//# sourceMappingURL=ConditionalLayerEditorTab.1e7199493f6d2ffd30e3.js.map \ No newline at end of file
diff --git a/MacroEditorTab.1299643b5361e0195678.js b/MacroEditorTab.1299643b5361e0195678.js
new file mode 100644
index 0000000..307cf14
--- /dev/null
+++ b/MacroEditorTab.1299643b5361e0195678.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[5819],{94062:function(n,e,r){"use strict";r.d(e,{Z:function(){return a}});var t=r(41051),o=r(2968),i=r(85893);function a(n){var e=n.url,r=n.text;return(0,i.jsxs)(o.Z,{external:!0,href:e,children:[(0,i.jsx)(t.Z,{name:"book"})," ",(0,i.jsx)("span",{children:r})]})}},97494:function(n,e,r){"use strict";r.d(e,{Z:function(){return B}});var t=r(45697),o=r.n(t),i=r(93379),a=r.n(i),l=r(7795),c=r.n(l),u=r(90569),s=r.n(u),d=r(3565),p=r.n(d),f=r(19216),A=r.n(f),b=r(44589),m=r.n(b),y=r(33988),h={};h.styleTagTransform=m(),h.setAttributes=p(),h.insert=s().bind(null,"head"),h.domAPI=c(),h.insertStyleElement=A(),a()(y.Z,h);var g=y.Z&&y.Z.locals?y.Z.locals:void 0,v=r(85893);function x(n){return x="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},x(n)}var C=["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){w(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 w(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==x(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==x(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===x(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=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,C),l=e(i)||!i&&t&&"cannot be empty";return(0,v.jsxs)("span",{className:g.wrapper,children:[(0,v.jsx)("input",j({type:"text",value:i},a)),l&&(0,v.jsx)("span",{className:g.error,children:l})]})}B.propTypes={value:o().any.isRequired,required:o().bool,validator:o().func}},49443:function(n,e,r){"use strict";r.d(e,{Z:function(){return g}});var t=r(67294),o=r(45697),i=r.n(o),a=r(97494),l={useRaw:i().bool,raw:i().string,parsed:i().any},c={name:i().string.isRequired,labels:i().arrayOf(i().string).isRequired,properties:i().objectOf((function(n,e,r,t,o){try{i().checkPropTypes({propValue:i().shape(l).isRequired},{propValue:n},t,r)}catch(n){return new Error("Invalid prop `"+o+"` supplied to `"+r+"`. Validation failed.")}})).isRequired},u=r(62417),s=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)}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){A(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 A(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}function b(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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||m(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 m(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}}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 h(n){var e=n.name,r=n.labels,t=b(void 0===r?[]:r,1)[0],o=n.properties.label;return e.toLowerCase()===(t||"").toLowerCase()&&e.toLowerCase()===((null==o?void 0:o.parsed)||"").toLowerCase()}function g(n){var e=n.node,r=n.onUpdate,o=b((0,t.useState)(h(e)),2),i=o[0],l=o[1],c=b((0,t.useState)(h(e)),2),d=c[0],p=c[1],A=function(n,e,r,o){return[(0,t.useCallback)((function(r){e(f(f({},n),{},{name:r.target.value}))}),[n,e]),(0,t.useCallback)((function(t){var i,a=t.target.value,l=[a].concat(function(n){if(Array.isArray(n))return y(n)}(i=n.labels.slice(1))||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(i)||m(i)||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=r?a:n.name,u=o?f(f({},n.properties),{},{label:{parsed:a.toUpperCase(),raw:'"'.concat(a.toUpperCase(),'"'),useRaw:!1}}):n.properties;e(f(f({},n),{},{name:c,labels:l,properties:u}))}),[n,e,r,o]),(0,t.useCallback)((function(r){return e(f(f({},n),{},{properties:f(f({},n.properties),{},{label:f(f({},n.properties.label),{},{parsed:r.target.value,useRaw:!1})})}))}),[n,e])]}(e,r,i,d),g=b(A,3),v=g[0],x=g[1],C=g[2];return(0,s.jsx)("table",{children:(0,s.jsxs)("tbody",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Bind"}),(0,s.jsx)("td",{children:(0,s.jsx)(a.Z,{type:"text",value:e.labels[0]||"",required:!0,validator:u.zq,onChange:x})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Node"}),(0,s.jsxs)("td",{children:[(0,s.jsx)(a.Z,{value:e.name,required:!0,readOnly:i,disabled:i,validator:u.Gk,onChange:v}),(0,s.jsxs)("label",{title:"Set automatically using bind name",children:[(0,s.jsx)("input",{type:"checkbox",checked:i,onChange:function(n){return l(n.target.checked)}})," Automatic"]})]})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Label"}),(0,s.jsxs)("td",{children:[(0,s.jsx)(a.Z,{type:"text",value:e.properties.label.parsed||"",required:!0,readOnly:d,disabled:d,validator:function(){return null},onChange:C}),(0,s.jsxs)("label",{title:"Set automatically using bind name",children:[(0,s.jsx)("input",{type:"checkbox",checked:d,onChange:function(n){return p(n.target.checked)}})," Automatic"]})]})]})]})})}g.propTypes={node:i().shape(c).isRequired,onUpdate:i().func.isRequired}},73445:function(n,e,r){"use strict";r.r(e),r.d(e,{default:function(){return ge}});var t=r(50361),o=r.n(t),i=r(67294),a=r(95998),l=r(45697),c=r.n(l),u=r(94184),s=r.n(u),d=r(95493);function p(n){return["&macro_tap","&macro_press","&macro_release","&macro_tap_time","&macro_wait_time","&macro_pause_for_release","&macro_param_1to1","&macro_param_1to2","&macro_param_2to1","&macro_param_2to2"].includes(n.value)}var f=r(93379),A=r.n(f),b=r(7795),m=r.n(b),y=r(90569),h=r.n(y),g=r(3565),v=r.n(g),x=r(19216),C=r.n(x),E=r(44589),j=r.n(E),w=r(96201),B={};B.styleTagTransform=j(),B.setAttributes=v(),B.insert=h().bind(null,"head"),B.domAPI=m(),B.insertStyleElement=C(),A()(w.Z,B);var S=w.Z&&w.Z.locals?w.Z.locals:void 0,O=r(18446),k=r.n(O),P=r(35839),I={};I.styleTagTransform=j(),I.setAttributes=v(),I.insert=h().bind(null,"head"),I.domAPI=m(),I.insertStyleElement=C(),A()(P.Z,I);var D=P.Z&&P.Z.locals?P.Z.locals:void 0,T=r(85893),Z=["bindings","children","dragging","dragMode"],R=["isDropping","control","classes"],N=["bind"],W=["bind"],Y=["row","isDropping"];function M(n){return M="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},M(n)}function _(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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||H(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 H(n,e){if(n){if("string"==typeof n)return U(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)?U(n,e):void 0}}function U(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,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}function V(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?V(Object(r),!0).forEach((function(e){K(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function K(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==M(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==M(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===M(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function G(n){var e=n.bindings,r=(n.children,n.dragging),t=n.dragMode,o=q(n,Z),a=_((0,i.useState)([null,null]),2),l=a[0],c=a[1],u=(0,i.useMemo)((function(){return function(n){return n.reduce((function(n,e,r){var t=function(){return 0===n.at(-1).length};return(p(e)&&!t()||!t()&&p(n.at(-1)[0])||6===n.at(-1).length)&&n.push([]),n.at(-1).push(L(L({},e),{},{index:r})),n}),[[]])}(e)}),[e]);function s(n){c((function(){return n}))}function d(n){return k()(l,n)}function f(n){c((function(e){return k()(e,n)?[null,null]:e}))}function A(){var n=_(l,3),r=n[0],t=n[1],i=n[2],a=u[r][t].index,c=a<e.length-1?a+1:-1;o.onDrop(1===i?c:a)}return r&&(0,T.jsxs)("div",{className:[D.dropTargets,r?D.dragging:"","row"===t?D.dropRowOnly:""].join(" "),children:[u.map((function(n,e){return(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(F,{row:n,isDropping:d([e,0,-1]),onDragEnter:function(){return s([e,0,-1])},onDragLeave:function(){return f([e,0,-1])},onDrop:A}),n.map((function(r,t){return(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(X,{bind:r,isDropping:d([e,t,0]),onDragEnter:function(){return s([e,t,0])},onDragLeave:function(){return f([e,t,0])},onDrop:A}),(0,T.jsx)(Q,{bind:r,isDropping:d([e,t,1]),onDragEnter:function(){return s([e,t,1])},onDragLeave:function(){return f([e,t,1])},onDrop:A,"data-extend":p(r)||t!==n.length-1?0:Math.max(0,5-t)})]},t)}))]},e)})),(0,T.jsx)(F,{row:u.length-1,isDropping:d([u.length-1,u.at(-1).length-1,1]),onDragEnter:function(){return s([u.length-1,u.at(-1).length-1,1])},onDragLeave:function(){return f([u.length-1,u.at(-1).length-1,1])},onDrop:A})]})}function z(n){var e,r=n.isDropping,t=n.control,o=void 0!==t&&t,i=n.classes,a=void 0===i?[]:i,l=q(n,R);return(0,T.jsx)("div",L({"data-is-control":o,className:[D.dropTargetHalf,r?D.droppable:""].concat((e=a,function(n){if(Array.isArray(n))return U(n)}(e)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(e)||H(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.")}())).join(" ")},l))}function X(n){var e=n.bind,r=q(n,N);return(0,T.jsx)(z,L({control:p(e)},r))}function Q(n){var e=n.bind,r=q(n,W);return(0,T.jsx)(z,L({control:p(e),classes:[D.secondHalf]},r))}function F(n){n.row;var e=n.isDropping,r=q(n,Y);return(0,T.jsx)("div",L({"data-drop-mode":"row",className:[D.dropTargetRow,e?D.droppable:""].join(" ")},r))}var J=r(64261),$=r(96186),nn=r(91118),en=r(61953),rn=r(81404),tn=r(27926),on=r(39017);function an(n,e){if(n){if("string"==typeof n)return ln(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)?ln(n,e):void 0}}function ln(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 cn=function(n){return{value:"&kp",params:[{value:n,params:[]}]}},un=[{pattern:/[0-9]/,convert:function(n){return cn("N".concat(n))}},{pattern:/[a-z]/,convert:function(n){return cn(n.toUpperCase())}},{pattern:/[A-Z]/,convert:function(n){return{value:"&kp",params:[{value:"LS",params:[{value:n.toUpperCase(),params:[]}]}]}}}],sn={"!":cn("EXCL"),"@":cn("AT"),"#":cn("POUND"),$:cn("DLLR"),"%":cn("PRCNT"),"^":cn("CARET"),"&":cn("AMPS"),"*":cn("STAR"),"(":cn("LPAR"),")":cn("RPAR"),"\n":cn("RET")," ":cn("SPACE"),"-":cn("MINUS"),_:cn("UNDER"),"=":cn("EQUAL"),"+":cn("PLUS"),"[":cn("LBKT"),"]":cn("LBRC"),"{":cn("RBKT"),"}":cn("RBRC"),"\\":cn("BSLH"),"|":cn("PIPE"),"":cn("TILDE2"),";":cn("SEMI"),":":cn("COLON"),"'":cn("SQT"),'"':cn("DQT"),"`":cn("GRAVE"),"~":cn("TILDE"),",":cn("COMMA"),"<":cn("LT"),".":cn("DOT"),">":cn("GT"),"/":cn("FSLH"),"?":cn("QMARK")};var dn=function(n){var e,r,t=n.onClose,o=(e=(0,i.useState)("Type something..."),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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||an(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.")}()),a=o[0],l=o[1],c=(0,i.useMemo)((function(){return a.split("").reduce((function(n,e){var r=function(n){if(sn[n])return sn[n];var e,r=function(n,e){var r="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!r){if(Array.isArray(n)||(r=an(n))){r&&(n=r);var t=0,o=function(){};return{s:o,n:function(){return t>=n.length?{done:!0}:{done:!1,value:n[t++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(n)},n:function(){var n=r.next();return a=n.done,n},e:function(n){l=!0,i=n},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}(un);try{for(r.s();!(e=r.n()).done;){var t=e.value,o=t.pattern,i=t.convert;if(n.match(o))return i(n)}}catch(n){r.e(n)}finally{r.f()}}(e);return r&&n.push(r),n}),[])}),[a]),u=(0,on.NE)(c),d=(0,i.useCallback)((function(n){n&&(n.focus(),n.select())}),[]);return(0,T.jsx)(J.Z,{children:(0,T.jsxs)($.Z,{dismissText:!1,children:[(0,T.jsx)("h2",{children:"Create Typing Sequence"}),(0,T.jsx)("p",{children:"Type a message to generate a sequence of bindings in the macro."}),(0,T.jsx)("textarea",{value:a,ref:d,style:{width:"100%",height:"6rem"},onChange:function(n){return l(n.target.value)}}),(0,T.jsx)("div",{className:S.macroBindings,children:u.map((function(n,e){return(0,T.jsx)(i.Fragment,{children:(0,T.jsx)(nn.Z,{selectable:!1,themeClass:s()(en.Z.keyDefaultTheme,en.Z.unified),children:(0,T.jsx)(rn.Z,{node:n.params[0],onSelect:function(){}})})},e)}))}),(0,T.jsxs)("div",{className:S.macroActions,children:[(0,T.jsx)(tn.Z,{onClick:function(){return t(u)},children:"Add to macro"}),(0,T.jsx)(tn.Z,{onClick:function(){return t([])},secondary:!0,children:"Cancel"})]})]})})},pn=r(82607),fn=r(41051),An=r(56803),bn=r(29709),mn=r(63105),yn=r.n(mn),hn=r(7739),gn=r.n(hn),vn=r(35161),xn=r.n(vn),Cn=r(44908),En=r.n(Cn),jn=r(95130),wn=r(62412),Bn=r(67998),Sn=r(81485),On=r(41696);function kn(n){return function(n){if(Array.isArray(n))return In(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Pn(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 Pn(n,e){if(n){if("string"==typeof n)return In(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)?In(n,e):void 0}}function In(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 Dn=jn.behaviorBindings.reduce(jn.behaviorMapReducer,{});function Tn(n){return(0,i.useMemo)((function(){return n.reduce((function(e,r,t){return(0,Bn.isParameterControlBinding)(r)&&e.push({controlBindingIndex:t,affectedBindingIndex:(0,Bn.findFirstNonControlBindingIndex)(n,Dn,t),affectedParamIndex:(0,Bn.getTargetParameterIndex)(r)}),e}),[])}),[n])}function Zn(n,e){var r=Tn(n);return(0,i.useMemo)((function(){return xn()(yn()(r,{affectedBindingIndex:e}),"affectedParamIndex").map((function(n){return{paramIndex:n,slot:{type:"command",const:{code:"MACRO_PLACEHOLDER",displayName:"Placeholder",description:"This placeholder will be substituted with parameters given when the macro is bound",params:[]}}}}))}),[r,e])}function Rn(n){var e=Tn(n),r=(0,i.useContext)(Sn.c).behaviorParameters;return(0,i.useMemo)((function(){return[].concat(kn(function(n){return n.reduce((function(n,e){return-1===e.affectedBindingIndex&&n.push({message:"Parameter assignment has no affected binding",affectedBindings:[e.controlBindingIndex]}),n}),[])}(e)),kn(function(n){var e=gn()(n,"affectedBindingIndex");return Object.keys(e).reduce((function(n,r){var t=e[r];if(t.length>1){var o=gn()(t,"affectedParamIndex");for(var i in o){var a=o[i];a.length>1&&n.push({message:"Multiple substitions to the same binding parameter",affectedBindings:En()([].concat(kn(xn()(a,"controlBindingIndex")),[r]))})}}return n}),[])}(e)),kn(function(n,e){return n.reduce((function(n,r){var t,o,i=e[r.affectedBindingIndex];if(i&&0===r.affectedParamIndex){var a,l=(t=wn.baseParametersByCode[i.value]||[],o=1,function(n){if(Array.isArray(n))return n}(t)||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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(t,o)||Pn(t,o)||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];(null==l||null===(a=l.enum)||void 0===a?void 0:a.some((function(n){return n.additionalParams})))&&n.push({message:"Parameter assignment may affect additional parameters",affectedBindings:[r.affectedBindingIndex]})}return n}),[])}(e,n)),kn(function(n,e,r){return n.reduce((function(n,t){var o=t.controlBindingIndex,i=t.affectedBindingIndex,a=t.affectedParamIndex;if(-1===i)return n;var l=e[i],c=(0,On.L)(l,r);return c&&c.length-1<a&&n.push({message:"Target parameter does not exist for affected binding",affectedBindings:[o,i]}),n}),[])}(e,n,r)))}),[e,n,r])}function Nn(n){var e=n.bindings,r=n.onHighlight,t=Rn(e);return 0===t.length?null:(0,T.jsxs)("div",{className:S.parameterWarnings,children:[(0,T.jsx)("p",{children:(0,T.jsx)("strong",{children:"Warnings"})}),(0,T.jsx)("ul",{children:t.map((function(n,e){return(0,T.jsxs)("li",{children:[(0,T.jsx)(fn.Z,{name:"search",className:S.warningHighlightIcon,onMouseEnter:function(){return r(n.affectedBindings)},onMouseLeave:function(){return r([])}})," ",(0,T.jsx)("span",{className:S.message,children:n.message})]},e)}))})]})}var Wn=r(30314),Yn=r(1601),Mn=r(80671);function _n(n){var e=n.bindings,r=n.bindingIndex,t=n.onUpdate,o=n.onCancel,i=e[r],a=Zn(e,r);return(0,T.jsx)(Wn.D,{paramOverrides:a,children:(0,T.jsx)(Yn.M,{bindingReducer:Hn,children:(0,T.jsx)(Mn.Z,{context:p(i)?"macros":"none",binding:i,bindingIndex:r,onCancel:o,onUpdate:t,Heading:function(){return null}})})})}function Hn(n){return(0,d.splitConvenienceBinding)(n),n}function Un(n){return Un="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},Un(n)}function qn(n){return function(n){if(Array.isArray(n))return Gn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Kn(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 Vn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Un(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Un(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Un(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Ln(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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||Kn(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 Kn(n,e){if(n){if("string"==typeof n)return Gn(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)?Gn(n,e):void 0}}function Gn(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 zn(n){var e=n.bindings,r=n.onUpdate,t=Ln((0,i.useState)(null),2),o=t[0],a=t[1],l=Ln((0,i.useState)(null),2),c=l[0],u=l[1],f=Ln((0,i.useState)([]),2),A=f[0],b=f[1],m=Ln((0,J.X)(),3),y=m[0],h=m[1],g=m[2],v=function(n,e){var r=(0,i.useCallback)((function(r,t){(0,d.splitConvenienceBinding)(t),e((0,bn.xw)(n,r,t))}),[n,e]),t=(0,i.useCallback)((function(r){e((0,bn.f5)(n,r))}),[n,e]),o=(0,i.useCallback)((function(r){e([].concat(qn(n),qn(r)))}),[n,e]),a=(0,i.useCallback)((function(){o([{value:"&macro_press",params:[]}])}),[o]),l=(0,i.useCallback)((function(){o([{value:"&kp",params:[]}])}),[o]);return[r,t,o,a,l]}(e,r),x=Ln(v,5),C=x[0],E=x[1],j=x[2],w=x[3],B=x[4];return(0,i.useEffect)((function(){function n(){a(null)}function e(n){n.stopPropagation(),n.preventDefault()}return document.body.addEventListener("drop",n),document.body.addEventListener("dragover",e),function(){document.body.removeEventListener("drop",n),document.body.removeEventListener("dragover",e)}}),[a]),(0,T.jsxs)(T.Fragment,{children:[null!==c&&(0,T.jsx)(_n,{bindings:e,bindingIndex:c,onCancel:function(){return u(null)},onUpdate:function(n){C(c,n),u(null)}}),(0,T.jsxs)("div",{className:S.macroBindings,children:[e.map((function(n,r){return(0,T.jsx)(i.Fragment,{children:(0,T.jsx)(Xn,{bindings:e,index:r,children:(0,T.jsxs)(nn.Z,{"data-index":r,themeClass:s()(en.Z.keyDefaultTheme,Vn({},S.controlBinding,p(n))),draggable:!0,onDragStart:function(n){return function(n,r){if(n.dataTransfer.items.length)n.dataTransfer.clearData();else{var t=e[r];a({index:r,mode:p(t)?"row":"col",isControlBinding:p(t)})}}(n,r)},children:[(0,T.jsx)(pn.Z,{binding:n,keyWrapperProps:{themeClass:s()(en.Z.unified,Vn({},S.bindingWarningHighlight,A.includes(r))),onClick:function(){return u(r)}}}),(0,T.jsx)("div",{className:S.actions,children:(0,T.jsx)(fn.Z,{name:"trash",className:S.deleteBind,onClick:(0,An.s)((function(){return E(r)}))})})]},r)})},r)})),(0,T.jsx)(G,{dragging:o,bindings:e,onDrop:function(n){r((0,bn.xE)(e,o.index,n)),a(null)}})]}),(0,T.jsx)(Nn,{bindings:e,onHighlight:b}),y&&(0,T.jsx)(dn,{onClose:function(n){g(),j(n)}}),(0,T.jsxs)("div",{className:S.macroActions,children:[(0,T.jsx)(tn.Z,{onClick:w,children:"Add Control Binding"}),(0,T.jsx)(tn.Z,{onClick:B,children:"Add Key Binding"}),(0,T.jsx)(tn.Z,{onClick:h,children:"Add String Sequence"})]})]})}function Xn(n){var e=n.bindings,r=n.index,t=n.children,o=Zn(e,r);return(0,T.jsx)(Wn.D,{paramOverrides:o,children:t})}zn.propTypes={bindings:c().array.isRequired,onUpdate:c().func.isRequired};var Qn=r(49443);function Fn(n){return Fn="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},Fn(n)}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 $n(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){ne(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 ne(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Fn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Fn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Fn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function ee(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 re=function(n){var e,r,t,o,a=n.macro,l=n.onUpdate,c=(t=(0,i.useState)(a),o=2,function(n){if(Array.isArray(n))return n}(t)||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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(t,o)||function(n,e){if(n){if("string"==typeof n)return ee(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)?ee(n,e):void 0}}(t,o)||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=c[0],s=c[1];return(0,T.jsx)(J.Z,{onDismiss:function(){l(a)},children:(0,T.jsxs)($.Z,{onDismiss:function(){l(u)},children:[(0,T.jsxs)("h2",{children:["Customize ",(0,T.jsx)("code",{children:a.name})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)(Qn.Z,{node:u,onUpdate:s}),(0,T.jsxs)("div",{className:S.field,children:[(0,T.jsx)("label",{htmlFor:"customize-macro-wait",children:"Wait (ms)"}),(0,T.jsx)("input",{id:"customize-macro-wait",type:"number",placeholder:"Default",value:(null===(e=u.properties["wait-ms"])||void 0===e?void 0:e.parsed)||"",onChange:function(n){return s((function(e){return $n($n({},e),{},{properties:$n($n({},e.properties),{},{"wait-ms":""===n.target.value?void 0:{parsed:Number(n.target.value)}})})}))}})]}),(0,T.jsxs)("div",{className:S.field,children:[(0,T.jsx)("label",{htmlFor:"customize-macro-tap",children:"Tap (ms)"}),(0,T.jsx)("input",{id:"customize-macro-tap",type:"number",placeholder:"Default",value:(null===(r=u.properties["tap-ms"])||void 0===r?void 0:r.parsed)||"",onChange:function(n){return s((function(e){return $n($n({},e),{},{properties:$n($n({},e.properties),{},{"tap-ms":""===n.target.value?void 0:{parsed:Number(n.target.value)}})})}))}})]})]})]})})},te=r(12736);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=n.index,o=n.macro,a=n.dispatch,l=n.onClone,c=(e=(0,i.useState)(!1),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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||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}}(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=c[0],s=c[1],d=(0,i.useCallback)((function(n){n.stopPropagation&&n.stopPropagation(),s(!0)}),[s]),p=(0,i.useCallback)((function(n){a((0,te.F0)({index:t,bindings:n}))}),[a,t]),f=(0,i.useCallback)((function(){window.confirm("Really delete macro: ".concat(o.name,"?"))&&a((0,te.I2)({index:t}))}),[t,o,a]);return(0,T.jsxs)("div",{className:S.macro,children:[u&&(0,T.jsx)(re,{macro:o,onUpdate:function(n){s(!1),a((0,te.vo)({macroIndex:t,options:n}))}}),(0,T.jsxs)("div",{className:S.heading,children:[(0,T.jsxs)("h5",{onClick:d,children:["&",o.labels[0]]}),(0,T.jsxs)("div",{children:[(0,T.jsx)(fn.Z,{name:"wrench",title:'Configure properties of macro "'.concat(o.name,'"'),className:"".concat(S.action),onClick:d}),(0,T.jsx)(fn.Z,{name:"copy",title:'Create new macro with configuration from "'.concat(o.name,'"'),className:"".concat(S.action),onClick:function(){return l(o)}}),(0,T.jsx)(fn.Z,{name:"trash-can",title:'Delete macro "'.concat(o.name,'"'),className:"".concat(S.action," ").concat(S.remove),onClick:f})]})]}),(0,T.jsx)(zn,{bindings:o.properties.bindings.parsed,onUpdate:p})]})}ie.propTypes={index:c().number.isRequired,macro:c().shape({name:c().string.isRequired,labels:c().arrayOf(c().string).isRequired,properties:c().object.isRequired}).isRequired,dispatch:c().func.isRequired};var ae=ie,le=r(94062),ce=r(62417),ue=r(97494);function se(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 de(n){var e,r,t=n.onCreate,o=n.onCancel,a=n.initial,l=(e=(0,i.useState)("new_macro"),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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return se(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)?se(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.")}()),c=l[0],u=l[1],s=(0,i.useCallback)((function(n){return u(n.target.value)}),[u]),d=(0,i.useCallback)((function(){t(function(n,e){var r=[n],t=n.toUpperCase(),o=e||{properties:{compatible:{parsed:"zmk,behavior-macro",raw:'"zmk,behavior-macro"'},"#binding-cells":{parsed:0,raw:"<0>"},bindings:{parsed:[{value:"&none",params:[]}],raw:"&none"}}};return o.name=n,o.labels=r,o.properties.label={parsed:t,raw:'"'.concat(t,'"')},o}(c,a))}),[c,t,a]),p=(0,ce.zq)(c);return(0,T.jsx)(J.Z,{onDismiss:o,children:(0,T.jsxs)($.Z,{dismissText:null,children:[(0,T.jsx)("h3",{children:"Add new macro"}),(0,T.jsx)("div",{children:(0,T.jsxs)("label",{children:["Macro name: ",(0,T.jsx)(ue.Z,{required:!0,value:c,validator:ce.zq,onChange:s})]})}),(0,T.jsx)("p",{children:(0,T.jsxs)("em",{children:["This value will be used for binding the macro's actions in your keymap (e.g. ",(0,T.jsxs)("code",{children:["&",c]}),") and should be unique. It will also be used internally for the node name and label property, which you can customize later."]})}),(0,T.jsxs)("div",{style:{textAlign:"center",margin:"10px"},children:[(0,T.jsx)(tn.Z,{disabled:!c||p,onClick:d,children:"Create"}),(0,T.jsx)(tn.Z,{onClick:o,secondary:!0,children:"Cancel"})]})]})})}de.propTypes={onCreate:c().func.isRequired,onCancel:c().func.isRequired};var pe=r(2968);function fe(n){return fe="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},fe(n)}function Ae(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 be(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ae(Object(r),!0).forEach((function(e){me(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Ae(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function me(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==fe(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==fe(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===fe(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function ye(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 he=(0,T.jsx)(pe.Z,{external:!0,href:"https://github.com/nickcoutsos/keymap-editor/wiki/Features#parameterized-macros-work-in-progress",children:"Parameterized Macros"}),ge=function(){var n,e,r=(0,a.v9)(te.bU),t=(0,a.I0)(),l=(n=(0,i.useState)(!1),e=2,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,u=!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){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return ye(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)?ye(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.")}()),c=l[0],u=l[1],s=(0,i.useCallback)((function(){return u(!0)}),[u]),d=(0,i.useCallback)((function(){return u(!1)}),[u]),p=(0,i.useCallback)((function(n){t((0,te.xd)(n)),d()}),[d,t]),f=(0,i.useCallback)((function(n){var e=o()(n);delete e.index,e.name="",e.labels=[],e.properties.label={parsed:""},u({dialogProps:{initial:e}})}),[u]);return(0,T.jsxs)("div",{className:S.main,children:[(0,T.jsxs)("div",{className:S.header,children:[(0,T.jsx)(le.Z,{url:"https://zmk.dev/docs/behaviors/macros",text:"ZMK Docs: Macros"}),(0,T.jsxs)("p",{children:[(0,T.jsx)(fn.Z,{name:"bullhorn"})," ",he," should be ready to use now, let me know how it goes!"]}),c&&(0,T.jsx)(de,be(be({},c.dialogProps||{}),{},{onCreate:p,onCancel:d}))]}),r.map((function(n,e){return(0,T.jsx)(ae,{macro:n,index:e,dispatch:t,onClone:f},e)})),(0,T.jsx)("div",{className:S.footer,children:(0,T.jsx)(tn.Z,{onClick:s,children:"Add New Macro"})})]})}},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}),[])}},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},35839: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,'\n.O8SEfqE2Ewc3b7c7mY_N {\n position:absolute;\n top: -5px;\n left: 0px;\n width: 100%;\n /* border: 1px solid red; */\n /* padding: 5px; */\n /* opacity: 0.5; */\n display: flex;\n flex-wrap: wrap;\n}\n\n.s9O56LWZBKHctVZ4a6fa {\n position: relative;\n width: 37.5px;\n height: 65px;\n margin: 0;\n}\n\n.s9O56LWZBKHctVZ4a6fa[data-is-control="true"] {\n width: 450px;\n height: 15px;\n}\n\n.NNwZmurJWlIfvb3BWlNX {\n position: relative;\n width: 450px;\n height: 10px;\n}\n.NNwZmurJWlIfvb3BWlNX.wVYVfDVsCKFNjQcGKIVI::after {\n content: \'\';\n display: block;\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n width: 450px;\n height: 4px;\n background-color: var(--selection);\n}\n.MDfy6RcGBlm8W_ChRhyP[data-extend="1"] { width: calc(37.5px + 1 * 75px); }\n.MDfy6RcGBlm8W_ChRhyP[data-extend="2"] { width: calc(37.5px + 2 * 75px); }\n.MDfy6RcGBlm8W_ChRhyP[data-extend="3"] { width: calc(37.5px + 3 * 75px); }\n.MDfy6RcGBlm8W_ChRhyP[data-extend="4"] { width: calc(37.5px + 4 * 75px); }\n.MDfy6RcGBlm8W_ChRhyP[data-extend="5"] { width: calc(37.5px + 5 * 75px); }\n\n/* .dropTargetHalf {\n background-color: blue;\n opacity: 0.25;\n}\n.dropTargetHalf.secondHalf {\n background-color: red;\n}\n.dropTargetRow {\n background-color: purple;\n opacity: 0.25;\n} */\n\n.wVYVfDVsCKFNjQcGKIVI.s9O56LWZBKHctVZ4a6fa:not(.MDfy6RcGBlm8W_ChRhyP):not([data-is-control="true"])::before,\n.wVYVfDVsCKFNjQcGKIVI.MDfy6RcGBlm8W_ChRhyP:not([data-is-control="true"])::after {\n content: \'\';\n display: block;\n height: 65px;\n width: 4px;\n border-radius: 4px;\n background-color: var(--selection);\n}\n\n.AuFB9WiCynP_oONYhOvq .wVYVfDVsCKFNjQcGKIVI:not([data-drop-mode="row"])::before,\n.AuFB9WiCynP_oONYhOvq .wVYVfDVsCKFNjQcGKIVI:not([data-drop-mode="row"])::after {\n visibility: hidden;\n }\n\n.s9O56LWZBKHctVZ4a6fa:not(.MDfy6RcGBlm8W_ChRhyP):not([data-is-control="true"])::before {\n transform: translate(-50%, 0);\n}\n.MDfy6RcGBlm8W_ChRhyP:not([data-is-control="true"])::after {\n position: absolute;\n left: 32.5px;\n transform: translate(50%, 0);\n}\n',"",{version:3,sources:["webpack://./src/Keyboard/Macros/drag-and-drop.module.css"],names:[],mappings:";AACA;EACE,iBAAiB;EACjB,SAAS;EACT,SAAS;EACT,WAAW;EACX,2BAA2B;EAC3B,kBAAkB;EAClB,kBAAkB;EAClB,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,YAAY;EACZ,SAAS;AACX;;AAEA;EACE,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,cAAc;EACd,kBAAkB;EAClB,QAAQ;EACR,6BAA6B;EAC7B,YAAY;EACZ,WAAW;EACX,kCAAkC;AACpC;AACA,yCAA+B,8BAA8B,EAAE;AAC/D,yCAA+B,8BAA8B,EAAE;AAC/D,yCAA+B,8BAA8B,EAAE;AAC/D,yCAA+B,8BAA8B,EAAE;AAC/D,yCAA+B,8BAA8B,EAAE;;AAE/D;;;;;;;;;;GAUG;;AAEH;;EAEE,WAAW;EACX,cAAc;EACd,YAAY;EACZ,UAAU;EACV,kBAAkB;EAClB,kCAAkC;AACpC;;AAEA;;GAEG,kBAAkB;CACpB;;AAED;EACE,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,4BAA4B;AAC9B",sourcesContent:['\n.dropTargets {\n position:absolute;\n top: -5px;\n left: 0px;\n width: 100%;\n /* border: 1px solid red; */\n /* padding: 5px; */\n /* opacity: 0.5; */\n display: flex;\n flex-wrap: wrap;\n}\n\n.dropTargetHalf {\n position: relative;\n width: 37.5px;\n height: 65px;\n margin: 0;\n}\n\n.dropTargetHalf[data-is-control="true"] {\n width: 450px;\n height: 15px;\n}\n\n.dropTargetRow {\n position: relative;\n width: 450px;\n height: 10px;\n}\n.dropTargetRow.droppable::after {\n content: \'\';\n display: block;\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n width: 450px;\n height: 4px;\n background-color: var(--selection);\n}\n.secondHalf[data-extend="1"] { width: calc(37.5px + 1 * 75px); }\n.secondHalf[data-extend="2"] { width: calc(37.5px + 2 * 75px); }\n.secondHalf[data-extend="3"] { width: calc(37.5px + 3 * 75px); }\n.secondHalf[data-extend="4"] { width: calc(37.5px + 4 * 75px); }\n.secondHalf[data-extend="5"] { width: calc(37.5px + 5 * 75px); }\n\n/* .dropTargetHalf {\n background-color: blue;\n opacity: 0.25;\n}\n.dropTargetHalf.secondHalf {\n background-color: red;\n}\n.dropTargetRow {\n background-color: purple;\n opacity: 0.25;\n} */\n\n.droppable.dropTargetHalf:not(.secondHalf):not([data-is-control="true"])::before,\n.droppable.secondHalf:not([data-is-control="true"])::after {\n content: \'\';\n display: block;\n height: 65px;\n width: 4px;\n border-radius: 4px;\n background-color: var(--selection);\n}\n\n.dropRowOnly .droppable:not([data-drop-mode="row"])::before,\n.dropRowOnly .droppable:not([data-drop-mode="row"])::after {\n visibility: hidden;\n }\n\n.dropTargetHalf:not(.secondHalf):not([data-is-control="true"])::before {\n transform: translate(-50%, 0);\n}\n.secondHalf:not([data-is-control="true"])::after {\n position: absolute;\n left: 32.5px;\n transform: translate(50%, 0);\n}\n'],sourceRoot:""}]),a.locals={dropTargets:"O8SEfqE2Ewc3b7c7mY_N",dropTargetHalf:"s9O56LWZBKHctVZ4a6fa",dropTargetRow:"NNwZmurJWlIfvb3BWlNX",droppable:"wVYVfDVsCKFNjQcGKIVI",secondHalf:"MDfy6RcGBlm8W_ChRhyP",dropRowOnly:"AuFB9WiCynP_oONYhOvq"},e.Z=a},96201: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,".kc8Au327pmIjKO7auLXT {\n padding-bottom: 60px;\n}\n\n.iNHvhyaEJ4ILoK0oc97e, .QSl4rRImPNo_Abu68kKW {\n width: 550px;\n margin: 1px auto;\n}\n.QSl4rRImPNo_Abu68kKW {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.Us3Ihf0AoVbZvDulP74Q {\n width: 550px;\n margin: 10px auto 40px;\n}\n.OVI4IkVsVzyk0eIAn9NX {\n display: flex;\n position: relative;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n.OVI4IkVsVzyk0eIAn9NX h5 {\n margin: 0;\n cursor: pointer;\n}\n.QNlSO_GSGhRfUFRE_v8E {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.QNlSO_GSGhRfUFRE_v8E:hover {\n opacity: 1;\n}\n.DvzBwGDH7HsnnIbqaeHi {\n color: var(--delete);\n}\n\n.mwhR_W7iqHq803xNBV1H {\n text-align: center;\n}\n.mwhR_W7iqHq803xNBV1H > * {\n margin: 5px;\n}\n\n.TBgT7nB7JSSjnTpMQeXp {\n position: relative;\n width: 450px;\n /* border: 1px solid lightgray; */\n margin: 0 auto;\n padding: 5px;\n\n display: flex;\n flex-wrap: wrap;\n}\n\n.TBgT7nB7JSSjnTpMQeXp > * {\n margin: 5px;\n width: 65px;\n height: 65px;\n}\n\n.YMJbsLvnEGObUy4Y_i6w {\n width: 100%;\n height: 30px;\n box-sizing: border-box;\n}\n.YMJbsLvnEGObUy4Y_i6w:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n.YMJbsLvnEGObUy4Y_i6w > :first-child {\n width: 100% !important;\n height: 100% !important;\n}\n\n.TBgT7nB7JSSjnTpMQeXp [draggable] {\n cursor: grab;\n}\n\n.I5drc4dA5Kpshp3PPle1 {\n visibility: hidden;\n position: absolute;\n top: 0px;\n right: 0px;\n font-size: 80%;\n\n color: var(--key-color-hover);\n}\n.I5drc4dA5Kpshp3PPle1 > * {\n margin: 2px;\n opacity: 0.5;\n cursor: pointer;\n}\n.TBgT7nB7JSSjnTpMQeXp :hover .I5drc4dA5Kpshp3PPle1 {\n visibility: visible;\n z-index: 10;\n}\n\n.I5drc4dA5Kpshp3PPle1 :hover {\n opacity: 1;\n}\n\n\n.iD9DsKMZZ1dQxr04488w {\n margin: 10px 0;\n display: flex;\n}\n\n.iD9DsKMZZ1dQxr04488w label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.quGO7XFPrHoYiqu22mwg {\n font-size: 80%;\n}\n\n.ziS4tbh9X5RXMVKil0ZJ {\n width: 450px;\n margin: 0 auto;\n}\n.ziS4tbh9X5RXMVKil0ZJ .e5WrxtOt36BgXq_LJJSL {\n color: indianred\n}\n\n.BP90__cBSejXKVP6ojjM {\n cursor: pointer;\n}\n\n.Lvxxm3_prm2iJ0zIfRNq {\n outline: 2px solid crimson;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Macros/styles.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;EACjB,wCAAwC;AAC1C;;AAEA;EACE,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,8BAA8B;EAC9B,2CAA2C;EAC3C,aAAa;AACf;AACA;EACE,SAAS;EACT,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,iCAAiC;EACjC,cAAc;EACd,YAAY;;EAEZ,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,WAAW;EACX,YAAY;AACd;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;EACE,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,cAAc;;EAEd,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;AACjB;AACA;EACE,mBAAmB;EACnB,WAAW;AACb;;AAEA;EACE,UAAU;AACZ;;;AAGA;EACE,cAAc;EACd,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,cAAc;AAChB;AACA;EACE;AACF;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B",sourcesContent:[".main {\n padding-bottom: 60px;\n}\n\n.header, .footer {\n width: 550px;\n margin: 1px auto;\n}\n.footer {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.macro {\n width: 550px;\n margin: 10px auto 40px;\n}\n.heading {\n display: flex;\n position: relative;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n.heading h5 {\n margin: 0;\n cursor: pointer;\n}\n.action {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.action:hover {\n opacity: 1;\n}\n.remove {\n color: var(--delete);\n}\n\n.macroActions {\n text-align: center;\n}\n.macroActions > * {\n margin: 5px;\n}\n\n.macroBindings {\n position: relative;\n width: 450px;\n /* border: 1px solid lightgray; */\n margin: 0 auto;\n padding: 5px;\n\n display: flex;\n flex-wrap: wrap;\n}\n\n.macroBindings > * {\n margin: 5px;\n width: 65px;\n height: 65px;\n}\n\n.controlBinding {\n width: 100%;\n height: 30px;\n box-sizing: border-box;\n}\n.controlBinding:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n.controlBinding > :first-child {\n width: 100% !important;\n height: 100% !important;\n}\n\n.macroBindings [draggable] {\n cursor: grab;\n}\n\n.actions {\n visibility: hidden;\n position: absolute;\n top: 0px;\n right: 0px;\n font-size: 80%;\n\n color: var(--key-color-hover);\n}\n.actions > * {\n margin: 2px;\n opacity: 0.5;\n cursor: pointer;\n}\n.macroBindings :hover .actions {\n visibility: visible;\n z-index: 10;\n}\n\n.actions :hover {\n opacity: 1;\n}\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.betaDisclaimer {\n font-size: 80%;\n}\n\n.parameterWarnings {\n width: 450px;\n margin: 0 auto;\n}\n.parameterWarnings .message {\n color: indianred\n}\n\n.warningHighlightIcon {\n cursor: pointer;\n}\n\n.bindingWarningHighlight {\n outline: 2px solid crimson;\n}\n"],sourceRoot:""}]),a.locals={main:"kc8Au327pmIjKO7auLXT",header:"iNHvhyaEJ4ILoK0oc97e",footer:"QSl4rRImPNo_Abu68kKW",macro:"Us3Ihf0AoVbZvDulP74Q",heading:"OVI4IkVsVzyk0eIAn9NX",action:"QNlSO_GSGhRfUFRE_v8E",remove:"DvzBwGDH7HsnnIbqaeHi",macroActions:"mwhR_W7iqHq803xNBV1H",macroBindings:"TBgT7nB7JSSjnTpMQeXp",controlBinding:"YMJbsLvnEGObUy4Y_i6w",actions:"I5drc4dA5Kpshp3PPle1",field:"iD9DsKMZZ1dQxr04488w",betaDisclaimer:"quGO7XFPrHoYiqu22mwg",parameterWarnings:"ziS4tbh9X5RXMVKil0ZJ",message:"e5WrxtOt36BgXq_LJJSL",warningHighlightIcon:"BP90__cBSejXKVP6ojjM",bindingWarningHighlight:"Lvxxm3_prm2iJ0zIfRNq"},e.Z=a},45652:function(n,e,r){var t=r(88668),o=r(47443),i=r(1196),a=r(74757),l=r(23593),c=r(21814);n.exports=function(n,e,r){var u=-1,s=o,d=n.length,p=!0,f=[],A=f;if(r)p=!1,s=i;else if(d>=200){var b=e?null:l(n);if(b)return c(b);p=!1,s=a,A=new t}else A=e?[]:f;n:for(;++u<d;){var m=n[u],y=e?e(m):m;if(m=r||0!==m?m:0,p&&y==y){for(var h=A.length;h--;)if(A[h]===y)continue n;e&&A.push(y),f.push(m)}else s(A,y,r)||(A!==f&&A.push(y),f.push(m))}return f}},23593:function(n,e,r){var t=r(58525),o=r(50308),i=r(21814),a=t&&1/i(new t([,-0]))[1]==1/0?function(n){return new t(n)}:o;n.exports=a},50308:function(n){n.exports=function(){}},44908:function(n,e,r){var t=r(45652);n.exports=function(n){return n&&n.length?t(n):[]}}}]);
+//# sourceMappingURL=MacroEditorTab.1299643b5361e0195678.js.map \ No newline at end of file
diff --git a/index.html b/index.html
index cba45d6..75d4bbc 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.d88c33bbaea5f6150cdd.js"></script><script defer="defer" src="shared.7e7cd1a908f491328d10.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.176c18230e6939b264ac.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.7247af8f0f8b895b0eeb.js"></script><script defer="defer" src="shared.7e7cd1a908f491328d10.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.176c18230e6939b264ac.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.7247af8f0f8b895b0eeb.js b/runtime.7247af8f0f8b895b0eeb.js
new file mode 100644
index 0000000..278cffd
--- /dev/null
+++ b/runtime.7247af8f0f8b895b0eeb.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,b=0;b<d.length;b++)(!1&s||o>=s)&&Object.keys(l.O).every((function(e){return l.O[e](d[b])}))?d.splice(b--,1):(t=!1,s<o&&(o=s));if(t){e.splice(y--,1);var k=c();void 0!==k&&(a=k)}}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",535:"4900f4b064a004bf376d",539:"f13efc888eac2aa8e903",578:"04d1220d52840040f60b",630:"6b46117b424a7c066032",639:"ed35220caee82d9a98c9",749:"76b287374b8ae5f7a06c",771:"476e9ba05219d84921f3",814:"4764231c07fa0d0a04f6",819:"0795ba54cbc82dd190cf",833:"46444cf657dcf1bb1593",920:"dc595b5183e9c47ff557",944:"1d97a367f9bc03bebc24",951:"f0042702141cbb2ccabf",1038:"0dd9fa3315bf40184cef",1081:"b7803c34bd0bfa5dafc5",1145:"eb22ba2cdea48aa2d95d",1156:"bb15c7631776a604bdb7",1315:"0db48f03173200e045f2",1319:"235d28f92c3ebf9de6a7",1325:"2f0b419e92ee75a38e38",1343:"8f70c7bbb298f625412f",1480:"dd1c948a8c44aac28b53",1507:"8cada04b0e43007bb4be",1514:"649b8ed65f356fa690ac",1522:"51261fedb8ec11fb688b",1545:"b152a1976be0001bfb43",1547:"c246a45983470f77e595",1616:"8ad0b8c64ae606fb9b8a",1671:"6bdbbb20361914659d30",1718:"48c9ef74da6b481e09e7",1720:"3328c6b7c20fbf918852",1803:"1e7199493f6d2ffd30e3",1808:"abb32a6fe65c55952158",1872:"719fd6d2cfbc98065faa",1936:"8e41309b9c19de95960a",2015:"1189ea9050bf52385110",2124:"3a4b66bbd69961c6d5c2",2135:"525d812350d5ced6043f",2169:"63ac13cc199c3dc1a8f3",2231:"5080f1cbf58c1317f585",2247:"3459beb60f5e45f7a659",2271:"b737428706ade1ab91ed",2275:"6c3d70cbc0a2a960dede",2284:"88dbffa6a51dab15b0fe",2308:"3dcb94a43fdc92f06e92",2383:"45d4631f706b18beb2d9",2408:"49d33aa415e8f4992f21",2602:"d7b17cf5cd894ba30b64",2619:"5153da3fbe85b2f1f7f8",2621:"bd9a8dabd0cd755853b5",2650:"a829372aef4170ca51a4",2659:"c36d1660242da4a6482d",2757:"7bb49d3d556b1d93c064",2787:"23f639d1d9e06f080ea7",2835:"551ed1eddb65a0855ec0",2838:"84c69ef5c8dc271afe1d",2921:"377227f7d5e348eafa81",2939:"7a308a62c65bc646f73f",2947:"2b19227a71dd755ae4b6",2982:"36e9273f2ce6ff4f4673",3033:"b26fcf2e16e386fb33b1",3039:"af983ffea98d132ceba4",3194:"8a08d0da753f48f7f95e",3197:"c76645f1783dc0be1e59",3203:"c2e54129e6f623257cb8",3268:"f3f0e12f35d6ede0f40f",3282:"01584f37d4d33ad63efb",3322:"7ebaf8ec7ac148f4669d",3359:"2b1b7a00d5f5a3f3d4d7",3362:"4b171d128973788c904e",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:"909dd7500874d97524c9",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:"2902632322fef43cfdb0",4777:"2224cbda2741be9da336",4795:"ed0ccd39951359fbbbca",4820:"b507c25afed6dac5aae4",4821:"ddd40fd58db42a579031",4824:"0a6f4db1962949f69a35",4830:"e201d6b24b9cb1e2ad99",4843:"fd9113741beefa00f0b5",4887:"f052ae8bfdfdb1d513db",4892:"960290e8d85e0b47f102",4919:"4a12c76edfa94312b0ea",4959:"808a01eda41b51d14bcb",4962:"69a545b5fcc0f7130c05",5015:"0f3a2242ea9f9a42c4f9",5074:"b219616848293106abf3",5272:"c7e0af70b0a8c39034f3",5303:"a4497d24307a9897e5b5",5332:"777b50e4b114b352d258",5354:"2e00aaedbbdc1642bb92",5356:"1fba1c8cde51e25e2627",5422:"2ffe628e4ca4ccaccd22",5485:"55a0ec07c8abbfe214b4",5533:"c45da345e0fb10fa3770",5604:"f11c3e2dd4430602f243",5606:"8cfe7dc5f09ec96ea95e",5634:"d4e880ef4bc1bdca79dd",5708:"dcb34ee77de8eadc6168",5715:"4ef9b548b6cfc7c605f9",5810:"637b457fc2054bcead5a",5819:"1299643b5361e0195678",5821:"a4f5e6f31f799696cdaf",5840:"7e4e574c1214010c07dc",5842:"f7c89fd7bf3602a3399e",5868:"51d83fc1a999a3490830",5891:"3076456f65d49468799e",5991:"512b59c58af9c82a47d5",5998:"91c971fb3f5767c3d295",6019:"9b8b15f0b8ce84f82156",6049:"a62bb2191cc0eecda711",6157:"8b93a87cbbec10359b5d",6158:"889d4299cca613161f97",6184:"732ddeb1a32a40e2fc3a",6274:"5630298fa575b0640e66",6324:"1c52c22287b2cac5bded",6360:"13927c112e935b8e10f6",6392:"fa88aea6ab27afd6da50",6415:"627e38aee29608a5d6d2",6429:"b9b3578a604e51fa3455",6457:"ba688263a9c85e9843e1",6528:"b29141f3be2170066ee6",6538:"71024cbde8d5d9d79e99",6684:"1274b7cfa9914c7663c9",6688:"5d24e1f96d6a6cfefcb0",6691:"b6cb655f0aa7dcd8787b",6710:"69f4ed313d19455e88f9",6777:"dab38c8f01434d45eb86",6793:"3662f68fbd1a21898ce0",6794:"aa4330a831430380f7ca",6943:"9c0653724d1cbfa9ed86",7022:"9ece5bc0d21090bf91ad",7038:"84994fde2fafd27c8862",7069:"9929a74e7e92648a0f87",7080:"f083c93705b5e80e4a4e",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:"cb22512c8cea97bbcf19",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:"837d18f3c4fcf868010b",8019:"02f2f252639bb1d459b6",8041:"dae4eea51cfd6e1fbef3",8070:"27f10e0739c78ab95d16",8110:"c132517c950a214d5731",8119:"58eb56bfeb45579c084c",8173:"1776ba2cbbdeb9918f9c",8185:"ece0dc278594eee67cb1",8207:"7e346d396cf1e067b94f",8216:"bd2ef62dab7ca40f6d44",8242:"3891fea81cc045034ad4",8251:"7bcdee9a73a0eb39baaa",8284:"6555a3d99bf8aa4a85ee",8301:"1b5acae3cec5d2b351b3",8302:"6b483d8d7739ff515b8f",8307:"e12dd0aad5e6a036ed3b",8315:"f319f20b57e6e2bd20c9",8374:"36097a9be925aa82182c",8391:"eb08511c704d549f8237",8409:"f43f0bce73bf9b6a9c36",8415:"1a17db797b8c7966d730",8427:"409e29315cd91dfb038b",8438:"41a503f1b2737d035a74",8451:"ee4fc77b506ae42c350d",8568:"bf0989c363612ba74ac9",8599:"1c088737758fa51d0a0a",8636:"48c3cab70569554b8655",8642:"18f07547d3f5ddbc5c3b",8649:"519f8992d7c5b42bf4e1",8699:"6d4b2f405c48cf71aa4b",8706:"db5988f190774b8ecd7e",8709:"edbea20e0b917271d7a2",8729:"5e7f233ca2746206478d",8793:"9639129fefdac959af3a",8796:"594621d4b7b51b6c639b",8813:"1008878cec3cb3882209",8855:"38f81f640e33d713ea2c",8873:"a7ea81074795624292e6",8945:"d5a920b4e65ee30d8356",8956:"b025b7e50cad64b75370",8971:"f906bba2b2b7e87a8ae0",8986:"4ad17334f3ef911b6b0b",9061:"df8e5e2756a89a473ac0",9081:"b6c8611601548f3554f7",9082:"35cb59b22a293243df26",9112:"7ebcaf2caf566e7902b8",9134:"ff4f0180e5079649f561",9136:"3249d48fcb94ad9e44a1",9142:"8933a018c2a618e987a4",9176:"2557b40f7b4fcef345a9",9193:"e2b545b8ea15c0016312",9244:"0e4e64562de0635942ff",9351:"937871a659c22427a634",9414:"b9aecaa9ab601ffcc6b4",9512:"dc6d783fb73d92e5a7fb",9586:"01151d539dca32e61272",9616:"0a4f102b3e946346e2d6",9619:"b044962c66577434486e",9698:"41ef3f798533a2b1c7cf",9707:"7d9b702ab7a66f9882c9",9866:"110121669330cd9e737c",9893:"4ff6eee70cdc1c6e3325",9989:"e7d2ba9eda5b0ac31cac"}[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,b;if(void 0!==d)for(var k=document.getElementsByTagName("script"),y=0;y<k.length;y++){var f=k[y];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==s+d){t=f;break}}t||(b=!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),b&&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],b=d[2],k=0;if(o.some((function(a){return 0!==e[a]}))){for(c in t)l.o(t,c)&&(l.m[c]=t[c]);if(b)var y=b(l)}for(a&&a(d);k<o.length;k++)s=o[k],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.7247af8f0f8b895b0eeb.js.map \ No newline at end of file