@ovnonvo/abc-editor 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-blue-600{background-color:var(--color-blue-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-950{background-color:var(--color-slate-950)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-slate-200{color:var(--color-slate-200)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[foo\\:bar\\]{foo:bar}@media(hover:hover){.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}*{box-sizing:border-box}body{margin:0;padding:0}:root{--abc-ink:#1a1a1a;--abc-key:#06c;--abc-value:#996300;--abc-lyrics-key:#c06;--abc-lyrics-value:#b30059;--abc-note:#000;--abc-octave-high:#00994d;--abc-octave-low:#60c;--abc-rest:#666;--abc-rest-muted:#999;--abc-accidental:#b35900;--abc-duration-long:#cc5200;--abc-duration-short:#09c;--abc-duration-fraction:#c90;--abc-broken:#00b359;--abc-bar:#0080cc;--abc-bar-double:#06c;--abc-chord:#c09;--abc-slur-0:#cc004d;--abc-slur-1:#cc8000;--abc-slur-2:#0080cc;--abc-slur-3:#00b359;--abc-slur-4:#70c;--abc-tuplet:#00b359;--abc-tie:#c06;--abc-tie-dotted:#cc0080;--abc-ornament:#56c;--abc-chord-symbol:#00997a;--abc-annotation:#c80;--abc-decoration:#86c;--abc-grace:#66b300;--abc-volta:#c60;--abc-inline-bracket:#666;--abc-inline-key:#06c;--abc-inline-value:#960;--abc-comment:#999}[data-theme=dark]{--abc-ink:#e8f1ff;--abc-key:#7ad7ff;--abc-value:#ffd48a;--abc-lyrics-key:#ff7ba1;--abc-lyrics-value:#ffc8d8;--abc-note:#f8fbff;--abc-octave-high:#73f8c4;--abc-octave-low:#c7b3ff;--abc-rest:#8ca3b8;--abc-rest-muted:#596779;--abc-accidental:#f2c079;--abc-duration-long:#ffa25f;--abc-duration-short:#6edff6;--abc-duration-fraction:#ffe38f;--abc-broken:#7be495;--abc-bar:#79cfff;--abc-bar-double:#4aafff;--abc-chord:#ff8ccf;--abc-slur-0:#ff92b2;--abc-slur-1:#ffd77a;--abc-slur-2:#7ed4ff;--abc-slur-3:#92f3c6;--abc-slur-4:#c6a9ff;--abc-tuplet:#82f0a2;--abc-tie:#f07fb3;--abc-tie-dotted:#ff9ecf;--abc-ornament:#9fb0ff;--abc-chord-symbol:#63f5d3;--abc-annotation:#ffd88a;--abc-decoration:#d1a6ff;--abc-grace:#a4f28f;--abc-volta:#f9a15a;--abc-inline-bracket:#8ca7c0;--abc-inline-key:#7ad7ff;--abc-inline-value:#ffdcb2;--abc-comment:#7b8797}.abc-preview svg text{fill:#000!important}.abc-preview[data-theme=dark] svg text{fill:#fff!important}textarea::placeholder{color:#999;opacity:1}[data-theme=dark] textarea::placeholder{color:#64748b}.abc-meta-key{color:var(--abc-key);font-weight:600}.abc-meta-value{color:var(--abc-value)}.abc-lyrics-key{color:var(--abc-lyrics-key);font-weight:600}.abc-lyrics-value{color:var(--abc-lyrics-value)}.abc-note{color:var(--abc-note)}.abc-octave-high{color:var(--abc-octave-high);font-weight:600}.abc-octave-low{color:var(--abc-octave-low);font-weight:600}.abc-rest{color:var(--abc-rest)}.abc-rest-invisible{color:var(--abc-rest-muted);opacity:.5}.abc-accidental{color:var(--abc-accidental)}.abc-duration{font-weight:600}.abc-duration-long{color:var(--abc-duration-long)}.abc-duration-short{color:var(--abc-duration-short)}.abc-duration-fraction{color:var(--abc-duration-fraction)}.abc-broken-rhythm{color:var(--abc-broken);font-weight:700}.abc-bar{color:var(--abc-bar);font-weight:600}.abc-bar-double{color:var(--abc-bar-double);font-weight:900}.abc-chord{color:var(--abc-chord)}.abc-slur{font-weight:700}.abc-slur-level-0{color:var(--abc-slur-0)}.abc-slur-level-1{color:var(--abc-slur-1)}.abc-slur-level-2{color:var(--abc-slur-2)}.abc-slur-level-3{color:var(--abc-slur-3)}.abc-slur-level-4{color:var(--abc-slur-4)}.abc-tuplet{color:var(--abc-tuplet);font-weight:700}.abc-tie{color:var(--abc-tie);font-weight:600}.abc-tie-dotted{color:var(--abc-tie-dotted)}.abc-ornament{color:var(--abc-ornament);font-weight:700}.abc-chord-symbol{color:var(--abc-chord-symbol);font-weight:700}.abc-annotation{color:var(--abc-annotation);font-style:italic;font-weight:600}.abc-decoration{color:var(--abc-decoration);font-weight:700}.abc-grace-note{color:var(--abc-grace);font-weight:600}.abc-volta-bracket{color:var(--abc-volta);font-weight:700}.abc-inline-field-bracket{color:var(--abc-inline-bracket)}.abc-inline-field-key{color:var(--abc-inline-key);font-weight:600}.abc-inline-field-value{color:var(--abc-inline-value)}.abc-comment{color:var(--abc-comment);font-style:italic}.abc-text{color:var(--abc-ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-blue-600{background-color:var(--color-blue-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-950{background-color:var(--color-slate-950)}.p-3{padding:calc(var(--spacing)*3)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-slate-200{color:var(--color-slate-200)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[foo\\:bar\\]{foo:bar}@media(hover:hover){.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}*{box-sizing:border-box}body{margin:0;padding:0}:root{--abc-ink:#1a1a1a;--abc-key:#06c;--abc-value:#996300;--abc-lyrics-key:#c06;--abc-lyrics-value:#b30059;--abc-note:#000;--abc-octave-high:#00994d;--abc-octave-low:#60c;--abc-rest:#666;--abc-rest-muted:#999;--abc-accidental:#b35900;--abc-duration-long:#cc5200;--abc-duration-short:#09c;--abc-duration-fraction:#c90;--abc-broken:#00b359;--abc-bar:#0080cc;--abc-bar-double:#06c;--abc-chord:#c09;--abc-slur-0:#cc004d;--abc-slur-1:#cc8000;--abc-slur-2:#0080cc;--abc-slur-3:#00b359;--abc-slur-4:#70c;--abc-tuplet:#00b359;--abc-tie:#c06;--abc-tie-dotted:#cc0080;--abc-ornament:#56c;--abc-chord-symbol:#00997a;--abc-annotation:#c80;--abc-decoration:#86c;--abc-grace:#66b300;--abc-volta:#c60;--abc-inline-bracket:#666;--abc-inline-key:#06c;--abc-inline-value:#960;--abc-comment:#999}[data-theme=dark]{--abc-ink:#e8f1ff;--abc-key:#7ad7ff;--abc-value:#ffd48a;--abc-lyrics-key:#ff7ba1;--abc-lyrics-value:#ffc8d8;--abc-note:#f8fbff;--abc-octave-high:#73f8c4;--abc-octave-low:#c7b3ff;--abc-rest:#8ca3b8;--abc-rest-muted:#596779;--abc-accidental:#f2c079;--abc-duration-long:#ffa25f;--abc-duration-short:#6edff6;--abc-duration-fraction:#ffe38f;--abc-broken:#7be495;--abc-bar:#79cfff;--abc-bar-double:#4aafff;--abc-chord:#ff8ccf;--abc-slur-0:#ff92b2;--abc-slur-1:#ffd77a;--abc-slur-2:#7ed4ff;--abc-slur-3:#92f3c6;--abc-slur-4:#c6a9ff;--abc-tuplet:#82f0a2;--abc-tie:#f07fb3;--abc-tie-dotted:#ff9ecf;--abc-ornament:#9fb0ff;--abc-chord-symbol:#63f5d3;--abc-annotation:#ffd88a;--abc-decoration:#d1a6ff;--abc-grace:#a4f28f;--abc-volta:#f9a15a;--abc-inline-bracket:#8ca7c0;--abc-inline-key:#7ad7ff;--abc-inline-value:#ffdcb2;--abc-comment:#7b8797}.abc-preview svg text{fill:#000!important}.abc-preview[data-theme=dark] svg text{fill:#fff!important}textarea::placeholder{color:#999;opacity:1}[data-theme=dark] textarea::placeholder{color:#64748b}.abc-meta-key{color:var(--abc-key);font-weight:600}.abc-meta-value{color:var(--abc-value)}.abc-lyrics-key{color:var(--abc-lyrics-key);font-weight:600}.abc-lyrics-value{color:var(--abc-lyrics-value)}.abc-note{color:var(--abc-note)}.abc-octave-high{color:var(--abc-octave-high);font-weight:600}.abc-octave-low{color:var(--abc-octave-low);font-weight:600}.abc-rest{color:var(--abc-rest)}.abc-rest-invisible{color:var(--abc-rest-muted);opacity:.5}.abc-accidental{color:var(--abc-accidental)}.abc-duration{font-weight:600}.abc-duration-long{color:var(--abc-duration-long)}.abc-duration-short{color:var(--abc-duration-short)}.abc-duration-fraction{color:var(--abc-duration-fraction)}.abc-broken-rhythm{color:var(--abc-broken);font-weight:700}.abc-bar{color:var(--abc-bar);font-weight:600}.abc-bar-double{color:var(--abc-bar-double);font-weight:900}.abc-chord{color:var(--abc-chord)}.abc-slur{font-weight:700}.abc-slur-level-0{color:var(--abc-slur-0)}.abc-slur-level-1{color:var(--abc-slur-1)}.abc-slur-level-2{color:var(--abc-slur-2)}.abc-slur-level-3{color:var(--abc-slur-3)}.abc-slur-level-4{color:var(--abc-slur-4)}.abc-tuplet{color:var(--abc-tuplet);font-weight:700}.abc-tie{color:var(--abc-tie);font-weight:600}.abc-tie-dotted{color:var(--abc-tie-dotted)}.abc-ornament{color:var(--abc-ornament);font-weight:700}.abc-chord-symbol{color:var(--abc-chord-symbol);font-weight:700}.abc-annotation{color:var(--abc-annotation);font-style:italic;font-weight:600}.abc-decoration{color:var(--abc-decoration);font-weight:700}.abc-grace-note{color:var(--abc-grace);font-weight:600}.abc-volta-bracket{color:var(--abc-volta);font-weight:700}.abc-inline-field-bracket{color:var(--abc-inline-bracket)}.abc-inline-field-key{color:var(--abc-inline-key);font-weight:600}.abc-inline-field-value{color:var(--abc-inline-value)}.abc-comment{color:var(--abc-comment);font-style:italic}.abc-text{color:var(--abc-ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),T=require("react"),j=e=>e.split(`
3
3
  `).map((r,n)=>n+1).join(`
4
- `),B=/^([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]:)(.*)$/,y=/[A-Ga-g]/,O=/[\^_=]/,$=/[',]/,D=/\|[:|\]]?|:?\|/,H=/[\\[\]]/,W=/[()]/,U=/^\(\d+$/,k=/^\/?\d+(\/\d+)?$/,L=/[zZx]/,S=/^\.?-$/,F=/[.~HLMOPSTuv]/,K=/^"[^"]*"$/,P=/^"[\^_<>@][^"]*"$/,V=/^![^!]+!$/,G=/^\{[^}]+\}$/,z=/^\[\d+$/,Q=/^\[([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]):([^\]]*)\]$/,Y=/^[<>]+$/,X=/^%.*$/,p=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"),ae=(e,t)=>{const r=e[t];if(r!=="|"&&r!==":")return null;let n=r,o=t+1;for(;o<e.length&&(e[o]==="|"||e[o]===":"||e[o]==="]");)n+=e[o],o++;return D.test(n)?{html:`<span class="${n==="||"?"abc-bar-double":"abc-bar"}">${p(n)}</span>`,nextIndex:o}:null},ie=(e,t)=>{const r=e[t];return O.test(r)?{html:`<span class="abc-accidental">${p(r)}</span>`,nextIndex:t+1}:null},ce=(e,t,r)=>{const n=e[t];if(!W.test(n))return null;if(n==="("){if(t+1<e.length&&/\d/.test(e[t+1])){let o=n,s=t+1;for(;s<e.length&&/\d/.test(e[s]);)o+=e[s],s++;if(U.test(o))return{html:`<span class="abc-tuplet">${p(o)}</span>`,nextIndex:s,slurLevelDelta:0}}return{html:`<span class="abc-slur abc-slur-level-${r%5}">${p(n)}</span>`,nextIndex:t+1,slurLevelDelta:1}}else if(n===")")return{html:`<span class="abc-slur abc-slur-level-${Math.max(0,r-1)%5}">${p(n)}</span>`,nextIndex:t+1,slurLevelDelta:-1};return null},ue=(e,t)=>{const r=e[t];if(!y.test(r))return null;let n=`<span class="abc-note">${p(r)}</span>`,o=t+1,s="";for(;o<e.length&&$.test(e[o]);)s+=e[o],o++;if(s){const i=s[0]==="'"?"abc-octave-high":"abc-octave-low";n+=`<span class="${i}">${p(s)}</span>`}let a="";if(o<e.length&&(e[o]==="/"||/\d/.test(e[o]))){for(e[o]==="/"&&(a+=e[o],o++);o<e.length&&/\d/.test(e[o]);)a+=e[o],o++;if(o<e.length&&e[o]==="/")for(a+=e[o],o++;o<e.length&&/\d/.test(e[o]);)a+=e[o],o++;if(a&&k.test(a)){let i="abc-duration";a.startsWith("/")?i+=" abc-duration-short":a.includes("/")?i+=" abc-duration-fraction":i+=" abc-duration-long",n+=`<span class="${i}">${p(a)}</span>`}}return{html:n,nextIndex:o}},de=(e,t)=>{const r=e[t];return H.test(r)?{html:`<span class="abc-chord">${p(r)}</span>`,nextIndex:t+1}:null},pe=(e,t)=>{const r=e[t];if(!L.test(r))return null;let o=`<span class="${r==="x"?"abc-rest-invisible":"abc-rest"}">${p(r)}</span>`,s=t+1,a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){for(e[s]==="/"&&(a+=e[s],s++);s<e.length&&/\d/.test(e[s]);)a+=e[s],s++;if(s<e.length&&e[s]==="/")for(a+=e[s],s++;s<e.length&&/\d/.test(e[s]);)a+=e[s],s++;if(a&&k.test(a)){let i="abc-duration";a.startsWith("/")?i+=" abc-duration-short":a.includes("/")?i+=" abc-duration-fraction":i+=" abc-duration-long",o+=`<span class="${i}">${p(a)}</span>`}}return{html:o,nextIndex:s}},he=(e,t)=>{const r=e[t];return r==="."&&t+1<e.length&&e[t+1]==="-"&&S.test(".-")?{html:`<span class="abc-tie abc-tie-dotted">${p(".-")}</span>`,nextIndex:t+2}:r==="-"&&S.test(r)?{html:`<span class="abc-tie">${p(r)}</span>`,nextIndex:t+1}:null},fe=(e,t)=>{const r=e[t];return!F.test(r)||r==="."&&t+1<e.length&&e[t+1]==="-"?null:{html:`<span class="abc-ornament">${p(r)}</span>`,nextIndex:t+1}},ge=(e,t)=>{if(e[t]!=='"')return null;let n=t+1;for(;n<e.length&&e[n]!=='"';)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return P.test(o)?{html:`<span class="abc-annotation">${p(o)}</span>`,nextIndex:n+1}:null},me=(e,t)=>{if(e[t]!=='"')return null;let n=t+1;for(;n<e.length&&e[n]!=='"';)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return P.test(o)||!K.test(o)?null:{html:`<span class="abc-chord-symbol">${p(o)}</span>`,nextIndex:n+1}},be=(e,t)=>{if(e[t]!=="!")return null;let n=t+1;for(;n<e.length&&e[n]!=="!";)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return V.test(o)?{html:`<span class="abc-decoration">${p(o)}</span>`,nextIndex:n+1}:null},xe=(e,t)=>{if(e[t]!=="{")return null;let n=t+1;for(;n<e.length&&e[n]!=="}";)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return G.test(o)?{html:`<span class="abc-grace-note">${p(o)}</span>`,nextIndex:n+1}:null},ve=(e,t)=>{if(e[t]!=="[")return null;let n=t+1;for(;n<e.length&&e[n]!=="]";)n++;if(n>=e.length)return null;const s=e.substring(t,n+1).match(Q);if(!s)return null;const[,a,i]=s;return{html:`<span class="abc-inline-field-bracket">[</span><span class="abc-inline-field-key">${p(a)}:</span><span class="abc-inline-field-value">${p(i)}</span><span class="abc-inline-field-bracket">]</span>`,nextIndex:n+1}},Te=(e,t)=>{if(e[t]!=="["||t+1>=e.length||!/\d/.test(e[t+1]))return null;let n=t+1;for(;n<e.length&&/\d/.test(e[n]);)n++;const o=e.substring(t,n);return z.test(o)?{html:`<span class="abc-volta-bracket">${p(o)}</span>`,nextIndex:n}:null},Ae=(e,t)=>{const r=e[t];if(r!==">"&&r!=="<")return null;let n=t+1;for(;n<e.length&&e[n]===r;)n++;const o=e.substring(t,n);return Y.test(o)?{html:`<span class="abc-broken-rhythm">${p(o)}</span>`,nextIndex:n}:null},Ce=e=>{let t="",r=0,n=0;for(;r<e.length;){const o=ae(e,r);if(o){t+=o.html,r=o.nextIndex;continue}const s=be(e,r);if(s){t+=s.html,r=s.nextIndex;continue}const a=xe(e,r);if(a){t+=a.html,r=a.nextIndex;continue}const i=ie(e,r);if(i){t+=i.html,r=i.nextIndex;continue}const x=fe(e,r);if(x){t+=x.html,r=x.nextIndex;continue}const g=ge(e,r);if(g){t+=g.html,r=g.nextIndex;continue}const c=me(e,r);if(c){t+=c.html,r=c.nextIndex;continue}const l=ce(e,r,n);if(l){t+=l.html,r=l.nextIndex,l.slurLevelDelta&&(n+=l.slurLevelDelta);continue}const d=pe(e,r);if(d){t+=d.html,r=d.nextIndex;continue}const h=ue(e,r);if(h){t+=h.html,r=h.nextIndex;continue}const v=Ae(e,r);if(v){t+=v.html,r=v.nextIndex;continue}const m=ve(e,r);if(m){t+=m.html,r=m.nextIndex;continue}const b=Te(e,r);if(b){t+=b.html,r=b.nextIndex;continue}const A=de(e,r);if(A){t+=A.html,r=A.nextIndex;continue}const C=he(e,r);if(C){t+=C.html,r=C.nextIndex;continue}t+=`<span class="abc-text">${p(e[r])}</span>`,r++}return t},w=e=>e.split(`
4
+ `),B=/^([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]:)(.*)$/,_=/[A-Ga-g]/,O=/[\^_=]/,$=/[',]/,D=/\|[:|\]]?|:?\|/,W=/[\\[\]]/,H=/[()]/,U=/^\(\d+$/,L=/^\/?\d+(\/\d+)?$/,k=/[zZx]/,S=/^\.?-$/,F=/[.~HLMOPSTuv]/,K=/^"[^"]*"$/,P=/^"[\^_<>@][^"]*"$/,V=/^![^!]+!$/,G=/^\{[^}]+\}$/,z=/^\[\d+$/,Q=/^\[([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]):([^\]]*)\]$/,Y=/^[<>]+$/,X=/^%.*$/,p=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"),ae=(e,t)=>{const r=e[t];if(r!=="|"&&r!==":")return null;let n=r,o=t+1;for(;o<e.length&&(e[o]==="|"||e[o]===":"||e[o]==="]");)n+=e[o],o++;return D.test(n)?{html:`<span class="${n==="||"?"abc-bar-double":"abc-bar"}">${p(n)}</span>`,nextIndex:o}:null},ie=(e,t)=>{const r=e[t];return O.test(r)?{html:`<span class="abc-accidental">${p(r)}</span>`,nextIndex:t+1}:null},ce=(e,t,r)=>{const n=e[t];if(!H.test(n))return null;if(n==="("){if(t+1<e.length&&/\d/.test(e[t+1])){let o=n,s=t+1;for(;s<e.length&&/\d/.test(e[s]);)o+=e[s],s++;if(U.test(o))return{html:`<span class="abc-tuplet">${p(o)}</span>`,nextIndex:s,slurLevelDelta:0}}return{html:`<span class="abc-slur abc-slur-level-${r%5}">${p(n)}</span>`,nextIndex:t+1,slurLevelDelta:1}}else if(n===")")return{html:`<span class="abc-slur abc-slur-level-${Math.max(0,r-1)%5}">${p(n)}</span>`,nextIndex:t+1,slurLevelDelta:-1};return null},ue=(e,t)=>{const r=e[t];if(!_.test(r))return null;let n=`<span class="abc-note">${p(r)}</span>`,o=t+1,s="";for(;o<e.length&&$.test(e[o]);)s+=e[o],o++;if(s){const i=s[0]==="'"?"abc-octave-high":"abc-octave-low";n+=`<span class="${i}">${p(s)}</span>`}let a="";if(o<e.length&&(e[o]==="/"||/\d/.test(e[o]))){for(e[o]==="/"&&(a+=e[o],o++);o<e.length&&/\d/.test(e[o]);)a+=e[o],o++;if(o<e.length&&e[o]==="/")for(a+=e[o],o++;o<e.length&&/\d/.test(e[o]);)a+=e[o],o++;if(a&&L.test(a)){let i="abc-duration";a.startsWith("/")?i+=" abc-duration-short":a.includes("/")?i+=" abc-duration-fraction":i+=" abc-duration-long",n+=`<span class="${i}">${p(a)}</span>`}}return{html:n,nextIndex:o}},de=(e,t)=>{const r=e[t];return W.test(r)?{html:`<span class="abc-chord">${p(r)}</span>`,nextIndex:t+1}:null},pe=(e,t)=>{const r=e[t];if(!k.test(r))return null;let o=`<span class="${r==="x"?"abc-rest-invisible":"abc-rest"}">${p(r)}</span>`,s=t+1,a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){for(e[s]==="/"&&(a+=e[s],s++);s<e.length&&/\d/.test(e[s]);)a+=e[s],s++;if(s<e.length&&e[s]==="/")for(a+=e[s],s++;s<e.length&&/\d/.test(e[s]);)a+=e[s],s++;if(a&&L.test(a)){let i="abc-duration";a.startsWith("/")?i+=" abc-duration-short":a.includes("/")?i+=" abc-duration-fraction":i+=" abc-duration-long",o+=`<span class="${i}">${p(a)}</span>`}}return{html:o,nextIndex:s}},he=(e,t)=>{const r=e[t];return r==="."&&t+1<e.length&&e[t+1]==="-"&&S.test(".-")?{html:`<span class="abc-tie abc-tie-dotted">${p(".-")}</span>`,nextIndex:t+2}:r==="-"&&S.test(r)?{html:`<span class="abc-tie">${p(r)}</span>`,nextIndex:t+1}:null},fe=(e,t)=>{const r=e[t];return!F.test(r)||r==="."&&t+1<e.length&&e[t+1]==="-"?null:{html:`<span class="abc-ornament">${p(r)}</span>`,nextIndex:t+1}},ge=(e,t)=>{if(e[t]!=='"')return null;let n=t+1;for(;n<e.length&&e[n]!=='"';)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return P.test(o)?{html:`<span class="abc-annotation">${p(o)}</span>`,nextIndex:n+1}:null},me=(e,t)=>{if(e[t]!=='"')return null;let n=t+1;for(;n<e.length&&e[n]!=='"';)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return P.test(o)||!K.test(o)?null:{html:`<span class="abc-chord-symbol">${p(o)}</span>`,nextIndex:n+1}},be=(e,t)=>{if(e[t]!=="!")return null;let n=t+1;for(;n<e.length&&e[n]!=="!";)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return V.test(o)?{html:`<span class="abc-decoration">${p(o)}</span>`,nextIndex:n+1}:null},xe=(e,t)=>{if(e[t]!=="{")return null;let n=t+1;for(;n<e.length&&e[n]!=="}";)n++;if(n>=e.length)return null;const o=e.substring(t,n+1);return G.test(o)?{html:`<span class="abc-grace-note">${p(o)}</span>`,nextIndex:n+1}:null},ve=(e,t)=>{if(e[t]!=="[")return null;let n=t+1;for(;n<e.length&&e[n]!=="]";)n++;if(n>=e.length)return null;const s=e.substring(t,n+1).match(Q);if(!s)return null;const[,a,i]=s;return{html:`<span class="abc-inline-field-bracket">[</span><span class="abc-inline-field-key">${p(a)}:</span><span class="abc-inline-field-value">${p(i)}</span><span class="abc-inline-field-bracket">]</span>`,nextIndex:n+1}},Te=(e,t)=>{if(e[t]!=="["||t+1>=e.length||!/\d/.test(e[t+1]))return null;let n=t+1;for(;n<e.length&&/\d/.test(e[n]);)n++;const o=e.substring(t,n);return z.test(o)?{html:`<span class="abc-volta-bracket">${p(o)}</span>`,nextIndex:n}:null},Ae=(e,t)=>{const r=e[t];if(r!==">"&&r!=="<")return null;let n=t+1;for(;n<e.length&&e[n]===r;)n++;const o=e.substring(t,n);return Y.test(o)?{html:`<span class="abc-broken-rhythm">${p(o)}</span>`,nextIndex:n}:null},Ce=e=>{let t="",r=0,n=0;for(;r<e.length;){const o=ae(e,r);if(o){t+=o.html,r=o.nextIndex;continue}const s=be(e,r);if(s){t+=s.html,r=s.nextIndex;continue}const a=xe(e,r);if(a){t+=a.html,r=a.nextIndex;continue}const i=ie(e,r);if(i){t+=i.html,r=i.nextIndex;continue}const x=fe(e,r);if(x){t+=x.html,r=x.nextIndex;continue}const g=ge(e,r);if(g){t+=g.html,r=g.nextIndex;continue}const c=me(e,r);if(c){t+=c.html,r=c.nextIndex;continue}const l=ce(e,r,n);if(l){t+=l.html,r=l.nextIndex,l.slurLevelDelta&&(n+=l.slurLevelDelta);continue}const d=pe(e,r);if(d){t+=d.html,r=d.nextIndex;continue}const f=ue(e,r);if(f){t+=f.html,r=f.nextIndex;continue}const v=Ae(e,r);if(v){t+=v.html,r=v.nextIndex;continue}const m=ve(e,r);if(m){t+=m.html,r=m.nextIndex;continue}const b=Te(e,r);if(b){t+=b.html,r=b.nextIndex;continue}const A=de(e,r);if(A){t+=A.html,r=A.nextIndex;continue}const C=he(e,r);if(C){t+=C.html,r=C.nextIndex;continue}t+=`<span class="abc-text">${p(e[r])}</span>`,r++}return t},w=e=>e.split(`
5
5
  `).map(r=>{if(X.test(r))return`<span class="abc-comment">${p(r)}</span>`;const n=r.match(B);if(n){const[,o,s]=n;return o==="w:"||o==="W:"?`<span class="abc-lyrics-key">${p(o)}</span><span class="abc-lyrics-value">${p(s)}</span>`:`<span class="abc-meta-key">${p(o)}</span><span class="abc-meta-value">${p(s)}</span>`}return Ce(r)}).join(`
6
6
  `),q={"X:":[{value:"1",description:"Reference number 1"},{value:"2",description:"Reference number 2"}],"T:":[{value:"タイトル",description:"Japanese title template"},{value:"Untitled",description:"Default title"}],"M:":[{value:"4/4",description:"Common time"},{value:"3/4",description:"Waltz time"},{value:"2/4",description:"March time"},{value:"6/8",description:"Compound duple"},{value:"9/8",description:"Compound triple"},{value:"12/8",description:"Compound quadruple"},{value:"5/4",description:"Quintuple meter"},{value:"7/8",description:"Septuple meter"},{value:"C",description:"Common time (4/4)"},{value:"C|",description:"Cut time (2/2)"}],"L:":[{value:"1/4",description:"Quarter note"},{value:"1/8",description:"Eighth note"},{value:"1/16",description:"Sixteenth note"}],"Q:":[{value:"1/4=120",description:"Quarter note = 120 BPM"},{value:"1/4=100",description:"Quarter note = 100 BPM"},{value:"1/4=80",description:"Quarter note = 80 BPM"},{value:"1/8=180",description:"Eighth note = 180 BPM"}],"K:":[{value:"C"},{value:"G"},{value:"D"},{value:"A"},{value:"E"},{value:"B"},{value:"F#"},{value:"C#"},{value:"F"},{value:"Bb"},{value:"Eb"},{value:"Ab"},{value:"Db"},{value:"Gb"},{value:"Cb"},{value:"Am"},{value:"Em"},{value:"Bm"},{value:"F#m"},{value:"C#m"},{value:"G#m"},{value:"D#m"},{value:"Dm"},{value:"Gm"},{value:"Cm"},{value:"Fm"},{value:"Bbm"},{value:"Ebm"},{value:"Abm"}],"C:":[{value:"Traditional",description:"Traditional composer"},{value:"Unknown",description:"Unknown composer"}],"R:":[{value:"reel",description:"Reel rhythm"},{value:"jig",description:"Jig rhythm"},{value:"hornpipe",description:"Hornpipe rhythm"},{value:"waltz",description:"Waltz rhythm"},{value:"march",description:"March rhythm"}],"A:":[{value:"Ireland",description:"Area: Ireland"},{value:"Scotland",description:"Area: Scotland"},{value:"England",description:"Area: England"},{value:"USA",description:"Area: USA"},{value:"Japan",description:"Area: Japan"}],"B:":[{value:"The Session",description:"Book: The Session"},{value:"O'Neill's Music of Ireland",description:"Book: O'Neill's Music of Ireland"}],"D:":[{value:"Album Name (Year)",description:"Discography template"}],"F:":[{value:"https://thesession.org/",description:"File URL template"}],"G:":[{value:"Group name",description:"Group template"}],"H:":[{value:"History note",description:"History template"}],"I:":[{value:"abc-charset utf-8",description:"Character set: UTF-8"}],"m:":[{value:"~g2 = {a}g{f}g",description:"Macro definition template"}],"N:":[{value:"Note text",description:"Notes template"}],"O:":[{value:"Traditional",description:"Origin: Traditional"},{value:"Ireland",description:"Origin: Ireland"},{value:"Scotland",description:"Origin: Scotland"}],"P:":[{value:"AABB",description:"Parts: AABB"},{value:"ABCD",description:"Parts: ABCD"},{value:"A",description:"Part: A"},{value:"B",description:"Part: B"}],"r:":[{value:"Remark text",description:"Remark template"}],"S:":[{value:"Session tune",description:"Source: Session"},{value:"Traditional",description:"Source: Traditional"}],"s:":[{value:"Symbol line",description:"Symbol line template"}],"U:":[{value:"u = !trill!",description:"User defined: trill"}],"V:":[{value:"1",description:"Voice 1"},{value:"2",description:"Voice 2"},{value:"T",description:"Tenor voice"},{value:"B",description:"Bass voice"}],"W:":[{value:"Lyrics line",description:"Words (multi-line)"}],"w:":[{value:"Lyrics for this line",description:"Words (aligned)"}],"Z:":[{value:"Your Name",description:"Transcriber name"},{value:"ABC transcription",description:"Transcription note"}]},Ne=e=>q[e]||[],J=[{value:"/header",description:"Insert basic ABC header template",template:`X:1
7
7
  T:Untitled
@@ -9,11 +9,12 @@ M:4/4
9
9
  L:1/4
10
10
  K:C
11
11
  `}],Be=e=>e.startsWith("/")?J.filter(t=>t.value.toLowerCase().startsWith(e.toLowerCase())):[],Z=({value:e,textareaRef:t,onChange:r})=>{const[n,o]=T.useState({isOpen:!1,suggestions:[],selectedIndex:0,position:{top:0,left:0},fieldKey:null,inputValue:"",isCommand:!1}),s=T.useCallback(()=>{if(!t.current)return null;const c=t.current.selectionStart,l=e.substring(0,c).split(`
12
- `),d=l[l.length-1];if(d.startsWith("/"))return{fieldKey:null,inputValue:d,line:d,lineStartPos:c-d.length,isCommand:!0};const h=d.match(B);if(h){const[,v,m]=h;return{fieldKey:v,inputValue:m,line:d,lineStartPos:c-d.length,isCommand:!1}}return null},[e,t]),a=T.useCallback(()=>{if(!t.current)return{top:0,left:0};const c=t.current,l=c.selectionStart,h=e.substring(0,l).split(`
13
- `).length-1,v=parseFloat(getComputedStyle(c).lineHeight)||24;return{top:(parseFloat(getComputedStyle(c).paddingTop)||16)+(h+1)*v-c.scrollTop,left:60}},[e,t]);T.useEffect(()=>{const c=s();if(!c){o(d=>({...d,isOpen:!1}));return}let l=[];if(c.isCommand?l=Be(c.inputValue):c.fieldKey&&(l=Ne(c.fieldKey).filter(h=>h.value.toLowerCase().startsWith(c.inputValue.toLowerCase()))),l.length>0){const d=a();o({isOpen:!0,suggestions:l,selectedIndex:0,position:d,fieldKey:c.fieldKey,inputValue:c.inputValue,isCommand:c.isCommand})}else o(d=>({...d,isOpen:!1}))},[e,s,a]);const i=T.useCallback(c=>{if(!t.current)return;const l=t.current.selectionStart,d=e.substring(0,l).split(`
14
- `),h=d[d.length-1];let v,m;if(n.isCommand&&c.template){const b=e.substring(0,l-h.length),A=e.substring(l);v=b+c.template+A,m=b.length+c.template.length}else if(n.fieldKey){const b=n.fieldKey+c.value,A=e.substring(0,l-h.length),C=e.substring(l);v=A+b+C,m=A.length+b.length}else return;r(v),setTimeout(()=>{t.current&&(t.current.selectionStart=m,t.current.selectionEnd=m,t.current.focus())},0),o(b=>({...b,isOpen:!1}))},[t,n.fieldKey,n.isCommand,e,r]),x=T.useCallback(c=>{if(n.isOpen)switch(c.key){case"ArrowDown":c.preventDefault(),o(l=>({...l,selectedIndex:Math.min(l.selectedIndex+1,l.suggestions.length-1)}));break;case"ArrowUp":c.preventDefault(),o(l=>({...l,selectedIndex:Math.max(l.selectedIndex-1,0)}));break;case"Enter":n.suggestions.length>0&&(c.preventDefault(),i(n.suggestions[n.selectedIndex]));break;case"Escape":c.preventDefault(),o(l=>({...l,isOpen:!1}));break}},[n.isOpen,n.suggestions,n.selectedIndex,i]),g=T.useCallback(c=>{o(l=>({...l,selectedIndex:c}))},[]);return{isOpen:n.isOpen,suggestions:n.suggestions,selectedIndex:n.selectedIndex,position:n.position,handleKeyDown:x,selectSuggestion:i,handleMouseEnter:g}},ee=({suggestions:e,selectedIndex:t,position:r,onSelect:n,onMouseEnter:o})=>{const s=T.useRef(null);return T.useEffect(()=>{s.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[t]),e.length===0?null:u.jsx("div",{className:"absolute z-50 bg-slate-800 rounded-md shadow-xl overflow-hidden",style:{top:`${r.top}px`,left:`${r.left}px`,minWidth:"200px",maxWidth:"400px",maxHeight:"300px",overflowY:"auto"},children:e.map((a,i)=>u.jsxs("div",{ref:i===t?s:null,className:`px-3 py-2 cursor-pointer ${i===t?"bg-blue-600 text-white":"text-slate-200 hover:bg-slate-700"}`,onClick:()=>n(a),onMouseEnter:()=>o(i),children:[u.jsx("div",{className:"font-mono text-sm",children:a.value}),a.description&&u.jsx("div",{className:"text-xs opacity-75 mt-1",children:a.description})]},`${a.value}-${i}`))})},Ee=e=>{const t=e.trim();if(t==="C")return{beatsPerMeasure:4,beatUnit:4};if(t==="C|")return{beatsPerMeasure:2,beatUnit:2};const r=t.match(/^(\d+)\/(\d+)$/);return r?{beatsPerMeasure:parseInt(r[1],10),beatUnit:parseInt(r[2],10)}:{beatsPerMeasure:4,beatUnit:4}},_e=e=>{const r=e.trim().match(/^(\d+)\/(\d+)$/);return r?parseInt(r[1],10)/parseInt(r[2],10):1/8},ye=e=>{const t=e.split(`
15
- `);let r={beatsPerMeasure:4,beatUnit:4},n=1/8;for(const o of t){const s=o.match(B);if(s){const[,a,i]=s;a==="M:"?r=Ee(i):a==="L:"&&(n=_e(i))}}return{meter:r,unitNoteLength:n}},M=e=>{if(!e)return 1;if(e.startsWith("/"))return 1/parseInt(e.substring(1),10);if(e.includes("/")){const[t,r]=e.split("/");return parseInt(t,10)/parseInt(r,10)}return parseInt(e,10)},Ie=(e,t)=>{let r=0,n=0;for(;n<e.length;){const o=e[n];if(y.test(o)||L.test(o)){let s=n+1;for(;s<e.length&&(e[s]==="'"||e[s]===",");)s++;let a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){const l=s;for(e[s]==="/"&&s++;s<e.length&&/\d/.test(e[s]);)s++;if(s<e.length&&e[s]==="/")for(s++;s<e.length&&/\d/.test(e[s]);)s++;a=e.substring(l,s)}const i=M(a),x=t.unitNoteLength*i,g=1/t.meter.beatUnit,c=x/g;r+=c,n=s}else if(o==="["){let s=n+1;for(;s<e.length&&e[s]!=="]";){const a=e[s];if(y.test(a)){let i=s+1;for(;i<e.length&&(e[i]==="'"||e[i]===",");)i++;s=i}else s++}if(s<e.length&&e[s]==="]"){s++;let a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){const l=s;for(e[s]==="/"&&s++;s<e.length&&/\d/.test(e[s]);)s++;if(s<e.length&&e[s]==="/")for(s++;s<e.length&&/\d/.test(e[s]);)s++;a=e.substring(l,s)}const i=M(a),x=t.unitNoteLength*i,g=1/t.meter.beatUnit,c=x/g;r+=c}n=s}else n++}return r},te=e=>{const t=[],r=e.split(`
16
- `),n=ye(e);return r.forEach((o,s)=>{if(!(o.trim().startsWith("%")||B.test(o))&&o.includes("|")){let a=0;const i=o.split("|");let x=0;i.forEach((g,c)=>{if(c===i.length-1&&g.trim()==="")return;const l=g.trim();if(l.startsWith(":")||l.startsWith("[")||l===""){a+=g.length+1;return}const d=Ie(l,n),h=n.meter.beatsPerMeasure;if(Math.abs(d-h)>.01){const m=o.indexOf(l,a),b=m+l.length;t.push({line:s,measureIndex:x,startCol:m,endCol:b,expected:h,actual:d,message:`Expected ${h} beats, got ${d.toFixed(2)}`})}x++,a+=g.length+1})}}),t},_={margin:0,padding:"16px",border:"none",outline:"none",fontSize:"14px",fontFamily:'SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',fontWeight:400,fontStyle:"normal",fontVariant:"normal",fontStretch:"normal",lineHeight:"24px",letterSpacing:"normal",wordSpacing:"normal",textAlign:"left",textIndent:0,textTransform:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",overflowWrap:"break-word",tabSize:4,boxSizing:"border-box",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},Re=({value:e,onChange:t,theme:r="light"})=>{const n=T.useRef(null),o=T.useRef(null),s=T.useRef(null),[a,i]=T.useState(null),x=j(e),g=w(e),c=T.useMemo(()=>te(e),[e]),l=r==="dark"?{bg:"#1a1a1a",editorBg:"#262626",lineNumBg:"#0f0f0f",lineNumBorder:"#2d2d2d",caretColor:"#fff",errorBg:"#1a1a1a",errorBorder:"#2d2d2d",errorHeader:"#ffffff",errorBadgeBg:"#dc2626",errorBadgeText:"#ffffff",errorIcon:"#f59e0b",errorLocation:"#22d3ee",errorMessage:"#e5e7eb",errorHighlight:"rgba(245, 158, 11, 0.2)",errorHoverBg:"rgba(51, 65, 85, 0.4)",errorItemBorder:"rgba(255, 255, 255, 0.05)"}:{bg:"#f8f9fa",editorBg:"#ffffff",lineNumBg:"#ffffff",lineNumBorder:"#e5e7eb",caretColor:"#000",errorBg:"#ffffff",errorBorder:"#e5e7eb",errorHeader:"#1f2937",errorBadgeBg:"#dc2626",errorBadgeText:"#ffffff",errorIcon:"#dc2626",errorLocation:"#0891b2",errorMessage:"#1f2937",errorHighlight:"#fde047",errorHoverBg:"rgba(254, 202, 202, 0.4)",errorItemBorder:"rgba(220, 38, 38, 0.1)"},{isOpen:d,suggestions:h,selectedIndex:v,position:m,handleKeyDown:b,selectSuggestion:A,handleMouseEnter:C}=Z({value:e,textareaRef:n,onChange:t}),ne=()=>{n.current&&o.current&&s.current&&(o.current.scrollTop=n.current.scrollTop,s.current.scrollTop=n.current.scrollTop)},re=f=>{if(n.current){const N=e.split(`
17
- `),E=N.slice(0,f.line).join(`
18
- `).length+(f.line>0?1:0);n.current.focus(),n.current.setSelectionRange(E,E),n.current.scrollTop=n.current.scrollHeight*(f.line/N.length)}};return u.jsx("div",{className:"w-full h-full flex flex-col p-4","data-theme":r,style:{backgroundColor:l.bg},children:u.jsxs("div",{className:"w-full flex-1 flex flex-col rounded-lg overflow-hidden shadow-lg",style:{backgroundColor:l.editorBg},children:[u.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[u.jsx("div",{ref:o,className:"overflow-hidden text-right select-none",style:{backgroundColor:l.lineNumBg,minWidth:"3rem",borderRight:`1px solid ${l.lineNumBorder}`,..._,padding:"16px 8px 16px 8px",color:"#6b7280"},children:x}),u.jsxs("div",{className:"flex-1 relative",children:[u.jsx("div",{ref:s,className:"absolute inset-0 overflow-hidden pointer-events-none",style:{..._,backgroundColor:l.editorBg,opacity:a?.3:1,transition:"opacity 0.2s"},dangerouslySetInnerHTML:{__html:g}}),a&&(()=>{const f=e.split(`
19
- `),E=(f[a.line]||"").substring(a.startCol,a.endCol),se=w(E);return u.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",style:{..._,backgroundColor:"transparent"},children:f.map((I,R)=>{if(R===a.line){const oe=I.substring(0,a.startCol),le=I.substring(a.endCol);return u.jsxs("div",{children:[u.jsx("span",{style:{visibility:"hidden"},children:oe}),u.jsx("span",{style:{backgroundColor:l.errorHighlight,borderRadius:"2px",padding:"1px 2px"},dangerouslySetInnerHTML:{__html:se}}),u.jsx("span",{style:{visibility:"hidden"},children:le})]},R)}return u.jsx("div",{style:{visibility:"hidden"},children:I||"​"},R)})})})(),u.jsx("textarea",{ref:n,className:"absolute inset-0 w-full h-full resize-none",style:{..._,backgroundColor:"transparent",color:"transparent",caretColor:l.caretColor,WebkitAppearance:"none",appearance:"none"},value:e,onChange:f=>t(f.target.value),onScroll:ne,onKeyDown:b,spellCheck:!1,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",placeholder:"Type /header to insert template..."}),d&&u.jsx(ee,{suggestions:h,selectedIndex:v,position:m,onSelect:A,onMouseEnter:C})]})]}),c.length>0&&u.jsxs("div",{className:"flex",children:[u.jsx("div",{style:{backgroundColor:l.lineNumBg,minWidth:"3rem",borderRight:`1px solid ${l.lineNumBorder}`}}),u.jsxs("div",{className:"flex-1 px-4 py-3 text-xs font-mono overflow-auto border-t",style:{backgroundColor:l.errorBg,borderColor:l.errorBorder,maxHeight:"12rem",scrollbarWidth:"thin",scrollbarColor:`${l.errorIcon} transparent`},children:[u.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:l.errorIcon},children:[u.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),u.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),u.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),u.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wide",style:{color:l.errorHeader},children:"Validation Issues"})]}),u.jsx("div",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold",style:{backgroundColor:l.errorBadgeBg,color:l.errorBadgeText},children:c.length})]}),u.jsx("div",{className:"space-y-1",children:c.map((f,N)=>u.jsxs("div",{className:"flex items-start gap-3 px-3 py-2 rounded-md border cursor-pointer",style:{backgroundColor:a===f?l.errorHoverBg:"transparent",borderColor:a===f?l.errorIcon:l.errorItemBorder,transition:"all 0.15s ease-in-out",transform:a===f?"translateX(2px)":"translateX(0)"},onMouseEnter:()=>i(f),onMouseLeave:()=>i(null),onClick:()=>re(f),children:[u.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0 mt-0.5",style:{color:l.errorIcon},children:[u.jsx("circle",{cx:"12",cy:"12",r:"10"}),u.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),u.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),u.jsxs("div",{className:"flex-1 flex flex-col gap-1",children:[u.jsx("div",{className:"flex items-baseline gap-2 flex-wrap",children:u.jsxs("span",{className:"font-semibold text-[11px] px-1.5 py-0.5 rounded",style:{color:l.errorLocation,backgroundColor:r==="dark"?"rgba(34, 211, 238, 0.1)":"rgba(8, 145, 178, 0.1)"},children:["Line ",f.line+1,", Measure ",f.measureIndex+1]})}),u.jsx("span",{className:"text-[11px] leading-relaxed",style:{color:l.errorMessage},children:f.message})]}),u.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0 mt-1 opacity-50",style:{color:l.errorIcon,opacity:a===f?1:.3,transition:"opacity 0.15s ease-in-out"},children:[u.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),u.jsx("polyline",{points:"12 5 19 12 12 19"})]})]},N))})]})]})]})})};exports.ABC_ACCIDENTAL_PATTERN=O;exports.ABC_ANNOTATION_PATTERN=P;exports.ABC_BAR_PATTERN=D;exports.ABC_BROKEN_RHYTHM_PATTERN=Y;exports.ABC_CHORD_BRACKET_PATTERN=H;exports.ABC_CHORD_SYMBOL_PATTERN=K;exports.ABC_COMMANDS=J;exports.ABC_COMMENT_PATTERN=X;exports.ABC_DECORATION_PATTERN=V;exports.ABC_DURATION_PATTERN=k;exports.ABC_FIELD_PATTERN=B;exports.ABC_GRACE_NOTE_PATTERN=G;exports.ABC_INLINE_FIELD_PATTERN=Q;exports.ABC_NOTE_PATTERN=y;exports.ABC_OCTAVE_PATTERN=$;exports.ABC_ORNAMENT_PATTERN=F;exports.ABC_REST_PATTERN=L;exports.ABC_SLUR_PATTERN=W;exports.ABC_SUGGESTIONS=q;exports.ABC_TIE_PATTERN=S;exports.ABC_TUPLET_PATTERN=U;exports.ABC_VOLTA_BRACKET_PATTERN=z;exports.AbcEditor=Re;exports.SuggestionList=ee;exports.highlightAbc=w;exports.useAbcAutoComplete=Z;exports.useLineNumbers=j;exports.validateAbc=te;
12
+ `),d=l[l.length-1];if(d.startsWith("/"))return{fieldKey:null,inputValue:d,line:d,lineStartPos:c-d.length,isCommand:!0};const f=d.match(B);if(f){const[,v,m]=f;return{fieldKey:v,inputValue:m,line:d,lineStartPos:c-d.length,isCommand:!1}}return null},[e,t]),a=T.useCallback(()=>{if(!t.current)return{top:0,left:0};const c=t.current,l=c.selectionStart,f=e.substring(0,l).split(`
13
+ `).length-1,v=parseFloat(getComputedStyle(c).lineHeight)||24;return{top:(parseFloat(getComputedStyle(c).paddingTop)||16)+(f+1)*v-c.scrollTop,left:60}},[e,t]);T.useEffect(()=>{const c=s();if(!c){o(d=>({...d,isOpen:!1}));return}let l=[];if(c.isCommand?l=Be(c.inputValue):c.fieldKey&&(l=Ne(c.fieldKey).filter(f=>f.value.toLowerCase().startsWith(c.inputValue.toLowerCase()))),l.length>0){const d=a();o({isOpen:!0,suggestions:l,selectedIndex:0,position:d,fieldKey:c.fieldKey,inputValue:c.inputValue,isCommand:c.isCommand})}else o(d=>({...d,isOpen:!1}))},[e,s,a]);const i=T.useCallback(c=>{if(!t.current)return;const l=t.current.selectionStart,d=e.substring(0,l).split(`
14
+ `),f=d[d.length-1];let v,m;if(n.isCommand&&c.template){const b=e.substring(0,l-f.length),A=e.substring(l);v=b+c.template+A,m=b.length+c.template.length}else if(n.fieldKey){const b=n.fieldKey+c.value,A=e.substring(0,l-f.length),C=e.substring(l);v=A+b+C,m=A.length+b.length}else return;r(v),setTimeout(()=>{t.current&&(t.current.selectionStart=m,t.current.selectionEnd=m,t.current.focus())},0),o(b=>({...b,isOpen:!1}))},[t,n.fieldKey,n.isCommand,e,r]),x=T.useCallback(c=>{if(n.isOpen)switch(c.key){case"ArrowDown":c.preventDefault(),o(l=>({...l,selectedIndex:Math.min(l.selectedIndex+1,l.suggestions.length-1)}));break;case"ArrowUp":c.preventDefault(),o(l=>({...l,selectedIndex:Math.max(l.selectedIndex-1,0)}));break;case"Enter":n.suggestions.length>0&&(c.preventDefault(),i(n.suggestions[n.selectedIndex]));break;case"Escape":c.preventDefault(),o(l=>({...l,isOpen:!1}));break}},[n.isOpen,n.suggestions,n.selectedIndex,i]),g=T.useCallback(c=>{o(l=>({...l,selectedIndex:c}))},[]);return{isOpen:n.isOpen,suggestions:n.suggestions,selectedIndex:n.selectedIndex,position:n.position,handleKeyDown:x,selectSuggestion:i,handleMouseEnter:g}},ee=({suggestions:e,selectedIndex:t,position:r,onSelect:n,onMouseEnter:o})=>{const s=T.useRef(null);return T.useEffect(()=>{s.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[t]),e.length===0?null:u.jsx("div",{className:"absolute z-50 bg-slate-800 rounded-md shadow-xl overflow-hidden",style:{top:`${r.top}px`,left:`${r.left}px`,minWidth:"200px",maxWidth:"400px",maxHeight:"300px",overflowY:"auto"},children:e.map((a,i)=>u.jsxs("div",{ref:i===t?s:null,className:`px-3 py-2 cursor-pointer ${i===t?"bg-blue-600 text-white":"text-slate-200 hover:bg-slate-700"}`,onClick:()=>n(a),onMouseEnter:()=>o(i),children:[u.jsx("div",{className:"font-mono text-sm",children:a.value}),a.description&&u.jsx("div",{className:"text-xs opacity-75 mt-1",children:a.description})]},`${a.value}-${i}`))})},ye=e=>{const t=e.trim();if(t==="C")return{beatsPerMeasure:4,beatUnit:4};if(t==="C|")return{beatsPerMeasure:2,beatUnit:2};const r=t.match(/^(\d+)\/(\d+)$/);return r?{beatsPerMeasure:parseInt(r[1],10),beatUnit:parseInt(r[2],10)}:{beatsPerMeasure:4,beatUnit:4}},Ee=e=>{const r=e.trim().match(/^(\d+)\/(\d+)$/);return r?parseInt(r[1],10)/parseInt(r[2],10):1/8},_e=e=>{const t=e.split(`
15
+ `);let r={beatsPerMeasure:4,beatUnit:4},n=1/8;for(const o of t){const s=o.match(B);if(s){const[,a,i]=s;a==="M:"?r=ye(i):a==="L:"&&(n=Ee(i))}}return{meter:r,unitNoteLength:n}},M=e=>{if(!e)return 1;if(e.startsWith("/"))return 1/parseInt(e.substring(1),10);if(e.includes("/")){const[t,r]=e.split("/");return parseInt(t,10)/parseInt(r,10)}return parseInt(e,10)},Ie=(e,t)=>{let r=0,n=0;for(;n<e.length;){const o=e[n];if(_.test(o)||k.test(o)){let s=n+1;for(;s<e.length&&(e[s]==="'"||e[s]===",");)s++;let a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){const l=s;for(e[s]==="/"&&s++;s<e.length&&/\d/.test(e[s]);)s++;if(s<e.length&&e[s]==="/")for(s++;s<e.length&&/\d/.test(e[s]);)s++;a=e.substring(l,s)}const i=M(a),x=t.unitNoteLength*i,g=1/t.meter.beatUnit,c=x/g;r+=c,n=s}else if(o==="["){let s=n+1;for(;s<e.length&&e[s]!=="]";){const a=e[s];if(_.test(a)){let i=s+1;for(;i<e.length&&(e[i]==="'"||e[i]===",");)i++;s=i}else s++}if(s<e.length&&e[s]==="]"){s++;let a="";if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){const l=s;for(e[s]==="/"&&s++;s<e.length&&/\d/.test(e[s]);)s++;if(s<e.length&&e[s]==="/")for(s++;s<e.length&&/\d/.test(e[s]);)s++;a=e.substring(l,s)}const i=M(a),x=t.unitNoteLength*i,g=1/t.meter.beatUnit,c=x/g;r+=c}n=s}else n++}return r},te=e=>{const t=[],r=e.split(`
16
+ `),n=_e(e);return r.forEach((o,s)=>{if(!(o.trim().startsWith("%")||B.test(o))&&o.includes("|")){let a=0;const i=o.split("|");let x=0;i.forEach((g,c)=>{if(c===i.length-1&&g.trim()==="")return;const l=g.trim();if(l.startsWith(":")||l.startsWith("[")||l===""){a+=g.length+1;return}const d=Ie(l,n),f=n.meter.beatsPerMeasure;if(Math.abs(d-f)>.01){const m=o.indexOf(l,a),b=m+l.length;t.push({line:s,measureIndex:x,startCol:m,endCol:b,expected:f,actual:d,message:`Expected ${f} beats, got ${d.toFixed(2)}`})}x++,a+=g.length+1})}}),t},E={margin:0,padding:"16px",border:"none",outline:"none",fontSize:"14px",fontFamily:'SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',fontWeight:400,fontStyle:"normal",fontVariant:"normal",fontStretch:"normal",lineHeight:"24px",letterSpacing:"normal",wordSpacing:"normal",textAlign:"left",textIndent:0,textTransform:"none",whiteSpace:"pre-wrap",wordBreak:"break-all",wordWrap:"break-word",overflowWrap:"break-word",tabSize:4,boxSizing:"border-box",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},Re=({value:e,onChange:t,theme:r="light"})=>{const n=T.useRef(null),o=T.useRef(null),s=T.useRef(null),[a,i]=T.useState(null),x=j(e),g=w(e),c=T.useMemo(()=>te(e),[e]),l=r==="dark"?{editorBg:"#262626",lineNumBg:"#0f0f0f",lineNumBorder:"#2d2d2d",caretColor:"#fff",errorBg:"#1a1a1a",errorBorder:"#2d2d2d",errorHeader:"#ffffff",errorBadgeBg:"#dc2626",errorBadgeText:"#ffffff",errorIcon:"#f59e0b",errorLocation:"#22d3ee",errorMessage:"#e5e7eb",errorHighlight:"rgba(245, 158, 11, 0.2)",errorHoverBg:"rgba(51, 65, 85, 0.4)",errorItemBorder:"rgba(255, 255, 255, 0.05)"}:{editorBg:"#ffffff",lineNumBg:"#ffffff",lineNumBorder:"#e5e7eb",caretColor:"#000",errorBg:"#ffffff",errorBorder:"#e5e7eb",errorHeader:"#1f2937",errorBadgeBg:"#dc2626",errorBadgeText:"#ffffff",errorIcon:"#dc2626",errorLocation:"#0891b2",errorMessage:"#1f2937",errorHighlight:"#fde047",errorHoverBg:"rgba(254, 202, 202, 0.4)",errorItemBorder:"rgba(220, 38, 38, 0.1)"},{isOpen:d,suggestions:f,selectedIndex:v,position:m,handleKeyDown:b,selectSuggestion:A,handleMouseEnter:C}=Z({value:e,textareaRef:n,onChange:t}),ne=()=>{n.current&&o.current&&s.current&&(o.current.scrollTop=n.current.scrollTop,s.current.scrollTop=n.current.scrollTop)},re=h=>{if(n.current){const N=e.split(`
17
+ `),y=N.slice(0,h.line).join(`
18
+ `).length+(h.line>0?1:0);n.current.focus(),n.current.setSelectionRange(y,y),n.current.scrollTop=n.current.scrollHeight*(h.line/N.length)}};return u.jsxs("div",{className:"w-full h-full flex flex-col rounded-lg overflow-hidden shadow-lg","data-theme":r,style:{backgroundColor:l.editorBg},children:[u.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[u.jsx("div",{ref:o,className:"overflow-hidden select-none",style:{...E,backgroundColor:l.lineNumBg,minWidth:"3rem",padding:"16px 8px 16px 8px",color:"#6b7280",borderRightColor:l.lineNumBorder,borderRightStyle:"solid",borderRightWidth:"1px"},children:x.split(`
19
+ `).map((h,N)=>u.jsx("div",{style:{textAlign:"center"},children:h},N))}),u.jsxs("div",{className:"flex-1 relative",children:[u.jsx("div",{ref:s,className:"absolute inset-0 overflow-hidden pointer-events-none",style:{...E,backgroundColor:l.editorBg,opacity:a?.3:1,transition:"opacity 0.2s"},dangerouslySetInnerHTML:{__html:g}}),a&&(()=>{const h=e.split(`
20
+ `),y=(h[a.line]||"").substring(a.startCol,a.endCol),se=w(y);return u.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",style:{...E,backgroundColor:"transparent"},children:h.map((I,R)=>{if(R===a.line){const oe=I.substring(0,a.startCol),le=I.substring(a.endCol);return u.jsxs("div",{children:[u.jsx("span",{style:{visibility:"hidden"},children:oe}),u.jsx("span",{style:{backgroundColor:l.errorHighlight,borderRadius:"2px",padding:"1px 2px"},dangerouslySetInnerHTML:{__html:se}}),u.jsx("span",{style:{visibility:"hidden"},children:le})]},R)}return u.jsx("div",{style:{visibility:"hidden"},children:I||"​"},R)})})})(),u.jsx("textarea",{ref:n,className:"absolute inset-0 w-full h-full resize-none",style:{...E,backgroundColor:"transparent",color:"transparent",caretColor:l.caretColor,WebkitAppearance:"none",appearance:"none"},value:e,onChange:h=>t(h.target.value),onScroll:ne,onKeyDown:b,spellCheck:!1,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",placeholder:"Type /header to insert template..."}),d&&u.jsx(ee,{suggestions:f,selectedIndex:v,position:m,onSelect:A,onMouseEnter:C})]})]}),c.length>0&&u.jsxs("div",{className:"flex",children:[u.jsx("div",{style:{backgroundColor:l.lineNumBg,minWidth:"3rem",borderRightColor:l.lineNumBorder,borderRightStyle:"solid",borderRightWidth:"1px"}}),u.jsxs("div",{className:"flex-1 px-4 py-3 text-xs font-mono overflow-auto border-t",style:{backgroundColor:l.errorBg,borderColor:l.errorBorder,maxHeight:"12rem",scrollbarWidth:"thin",scrollbarColor:`${l.errorIcon} transparent`},children:[u.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:l.errorIcon},children:[u.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),u.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),u.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),u.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wide",style:{color:l.errorHeader},children:"Validation Issues"})]}),u.jsx("div",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold",style:{backgroundColor:l.errorBadgeBg,color:l.errorBadgeText},children:c.length})]}),u.jsx("div",{className:"space-y-1",children:c.map((h,N)=>u.jsxs("div",{className:"flex items-start gap-3 px-3 py-2 rounded-md border cursor-pointer",style:{backgroundColor:a===h?l.errorHoverBg:"transparent",borderColor:a===h?l.errorIcon:l.errorItemBorder,transition:"all 0.15s ease-in-out",transform:a===h?"translateX(2px)":"translateX(0)"},onMouseEnter:()=>i(h),onMouseLeave:()=>i(null),onClick:()=>re(h),children:[u.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0 mt-0.5",style:{color:l.errorIcon},children:[u.jsx("circle",{cx:"12",cy:"12",r:"10"}),u.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),u.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),u.jsxs("div",{className:"flex-1 flex flex-col gap-1",children:[u.jsx("div",{className:"flex items-baseline gap-2 flex-wrap",children:u.jsxs("span",{className:"font-semibold text-[11px] px-1.5 py-0.5 rounded",style:{color:l.errorLocation,backgroundColor:r==="dark"?"rgba(34, 211, 238, 0.1)":"rgba(8, 145, 178, 0.1)"},children:["Line ",h.line+1,", Measure ",h.measureIndex+1]})}),u.jsx("span",{className:"text-[11px] leading-relaxed",style:{color:l.errorMessage},children:h.message})]}),u.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0 mt-1 opacity-50",style:{color:l.errorIcon,opacity:a===h?1:.3,transition:"opacity 0.15s ease-in-out"},children:[u.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),u.jsx("polyline",{points:"12 5 19 12 12 19"})]})]},N))})]})]})]})};exports.ABC_ACCIDENTAL_PATTERN=O;exports.ABC_ANNOTATION_PATTERN=P;exports.ABC_BAR_PATTERN=D;exports.ABC_BROKEN_RHYTHM_PATTERN=Y;exports.ABC_CHORD_BRACKET_PATTERN=W;exports.ABC_CHORD_SYMBOL_PATTERN=K;exports.ABC_COMMANDS=J;exports.ABC_COMMENT_PATTERN=X;exports.ABC_DECORATION_PATTERN=V;exports.ABC_DURATION_PATTERN=L;exports.ABC_FIELD_PATTERN=B;exports.ABC_GRACE_NOTE_PATTERN=G;exports.ABC_INLINE_FIELD_PATTERN=Q;exports.ABC_NOTE_PATTERN=_;exports.ABC_OCTAVE_PATTERN=$;exports.ABC_ORNAMENT_PATTERN=F;exports.ABC_REST_PATTERN=k;exports.ABC_SLUR_PATTERN=H;exports.ABC_SUGGESTIONS=q;exports.ABC_TIE_PATTERN=S;exports.ABC_TUPLET_PATTERN=U;exports.ABC_VOLTA_BRACKET_PATTERN=z;exports.AbcEditor=Re;exports.SuggestionList=ee;exports.highlightAbc=w;exports.useAbcAutoComplete=Z;exports.useLineNumbers=j;exports.validateAbc=te;
@@ -1,6 +1,6 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-blue-600{background-color:var(--color-blue-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-950{background-color:var(--color-slate-950)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-slate-200{color:var(--color-slate-200)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[foo\\:bar\\]{foo:bar}@media(hover:hover){.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}*{box-sizing:border-box}body{margin:0;padding:0}:root{--abc-ink:#1a1a1a;--abc-key:#06c;--abc-value:#996300;--abc-lyrics-key:#c06;--abc-lyrics-value:#b30059;--abc-note:#000;--abc-octave-high:#00994d;--abc-octave-low:#60c;--abc-rest:#666;--abc-rest-muted:#999;--abc-accidental:#b35900;--abc-duration-long:#cc5200;--abc-duration-short:#09c;--abc-duration-fraction:#c90;--abc-broken:#00b359;--abc-bar:#0080cc;--abc-bar-double:#06c;--abc-chord:#c09;--abc-slur-0:#cc004d;--abc-slur-1:#cc8000;--abc-slur-2:#0080cc;--abc-slur-3:#00b359;--abc-slur-4:#70c;--abc-tuplet:#00b359;--abc-tie:#c06;--abc-tie-dotted:#cc0080;--abc-ornament:#56c;--abc-chord-symbol:#00997a;--abc-annotation:#c80;--abc-decoration:#86c;--abc-grace:#66b300;--abc-volta:#c60;--abc-inline-bracket:#666;--abc-inline-key:#06c;--abc-inline-value:#960;--abc-comment:#999}[data-theme=dark]{--abc-ink:#e8f1ff;--abc-key:#7ad7ff;--abc-value:#ffd48a;--abc-lyrics-key:#ff7ba1;--abc-lyrics-value:#ffc8d8;--abc-note:#f8fbff;--abc-octave-high:#73f8c4;--abc-octave-low:#c7b3ff;--abc-rest:#8ca3b8;--abc-rest-muted:#596779;--abc-accidental:#f2c079;--abc-duration-long:#ffa25f;--abc-duration-short:#6edff6;--abc-duration-fraction:#ffe38f;--abc-broken:#7be495;--abc-bar:#79cfff;--abc-bar-double:#4aafff;--abc-chord:#ff8ccf;--abc-slur-0:#ff92b2;--abc-slur-1:#ffd77a;--abc-slur-2:#7ed4ff;--abc-slur-3:#92f3c6;--abc-slur-4:#c6a9ff;--abc-tuplet:#82f0a2;--abc-tie:#f07fb3;--abc-tie-dotted:#ff9ecf;--abc-ornament:#9fb0ff;--abc-chord-symbol:#63f5d3;--abc-annotation:#ffd88a;--abc-decoration:#d1a6ff;--abc-grace:#a4f28f;--abc-volta:#f9a15a;--abc-inline-bracket:#8ca7c0;--abc-inline-key:#7ad7ff;--abc-inline-value:#ffdcb2;--abc-comment:#7b8797}.abc-preview svg text{fill:#000!important}.abc-preview[data-theme=dark] svg text{fill:#fff!important}textarea::placeholder{color:#999;opacity:1}[data-theme=dark] textarea::placeholder{color:#64748b}.abc-meta-key{color:var(--abc-key);font-weight:600}.abc-meta-value{color:var(--abc-value)}.abc-lyrics-key{color:var(--abc-lyrics-key);font-weight:600}.abc-lyrics-value{color:var(--abc-lyrics-value)}.abc-note{color:var(--abc-note)}.abc-octave-high{color:var(--abc-octave-high);font-weight:600}.abc-octave-low{color:var(--abc-octave-low);font-weight:600}.abc-rest{color:var(--abc-rest)}.abc-rest-invisible{color:var(--abc-rest-muted);opacity:.5}.abc-accidental{color:var(--abc-accidental)}.abc-duration{font-weight:600}.abc-duration-long{color:var(--abc-duration-long)}.abc-duration-short{color:var(--abc-duration-short)}.abc-duration-fraction{color:var(--abc-duration-fraction)}.abc-broken-rhythm{color:var(--abc-broken);font-weight:700}.abc-bar{color:var(--abc-bar);font-weight:600}.abc-bar-double{color:var(--abc-bar-double);font-weight:900}.abc-chord{color:var(--abc-chord)}.abc-slur{font-weight:700}.abc-slur-level-0{color:var(--abc-slur-0)}.abc-slur-level-1{color:var(--abc-slur-1)}.abc-slur-level-2{color:var(--abc-slur-2)}.abc-slur-level-3{color:var(--abc-slur-3)}.abc-slur-level-4{color:var(--abc-slur-4)}.abc-tuplet{color:var(--abc-tuplet);font-weight:700}.abc-tie{color:var(--abc-tie);font-weight:600}.abc-tie-dotted{color:var(--abc-tie-dotted)}.abc-ornament{color:var(--abc-ornament);font-weight:700}.abc-chord-symbol{color:var(--abc-chord-symbol);font-weight:700}.abc-annotation{color:var(--abc-annotation);font-style:italic;font-weight:600}.abc-decoration{color:var(--abc-decoration);font-weight:700}.abc-grace-note{color:var(--abc-grace);font-weight:600}.abc-volta-bracket{color:var(--abc-volta);font-weight:700}.abc-inline-field-bracket{color:var(--abc-inline-bracket)}.abc-inline-field-key{color:var(--abc-inline-key);font-weight:600}.abc-inline-field-value{color:var(--abc-inline-value)}.abc-comment{color:var(--abc-comment);font-style:italic}.abc-text{color:var(--abc-ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-blue-600{background-color:var(--color-blue-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-950{background-color:var(--color-slate-950)}.p-3{padding:calc(var(--spacing)*3)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-slate-200{color:var(--color-slate-200)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[foo\\:bar\\]{foo:bar}@media(hover:hover){.hover\\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}*{box-sizing:border-box}body{margin:0;padding:0}:root{--abc-ink:#1a1a1a;--abc-key:#06c;--abc-value:#996300;--abc-lyrics-key:#c06;--abc-lyrics-value:#b30059;--abc-note:#000;--abc-octave-high:#00994d;--abc-octave-low:#60c;--abc-rest:#666;--abc-rest-muted:#999;--abc-accidental:#b35900;--abc-duration-long:#cc5200;--abc-duration-short:#09c;--abc-duration-fraction:#c90;--abc-broken:#00b359;--abc-bar:#0080cc;--abc-bar-double:#06c;--abc-chord:#c09;--abc-slur-0:#cc004d;--abc-slur-1:#cc8000;--abc-slur-2:#0080cc;--abc-slur-3:#00b359;--abc-slur-4:#70c;--abc-tuplet:#00b359;--abc-tie:#c06;--abc-tie-dotted:#cc0080;--abc-ornament:#56c;--abc-chord-symbol:#00997a;--abc-annotation:#c80;--abc-decoration:#86c;--abc-grace:#66b300;--abc-volta:#c60;--abc-inline-bracket:#666;--abc-inline-key:#06c;--abc-inline-value:#960;--abc-comment:#999}[data-theme=dark]{--abc-ink:#e8f1ff;--abc-key:#7ad7ff;--abc-value:#ffd48a;--abc-lyrics-key:#ff7ba1;--abc-lyrics-value:#ffc8d8;--abc-note:#f8fbff;--abc-octave-high:#73f8c4;--abc-octave-low:#c7b3ff;--abc-rest:#8ca3b8;--abc-rest-muted:#596779;--abc-accidental:#f2c079;--abc-duration-long:#ffa25f;--abc-duration-short:#6edff6;--abc-duration-fraction:#ffe38f;--abc-broken:#7be495;--abc-bar:#79cfff;--abc-bar-double:#4aafff;--abc-chord:#ff8ccf;--abc-slur-0:#ff92b2;--abc-slur-1:#ffd77a;--abc-slur-2:#7ed4ff;--abc-slur-3:#92f3c6;--abc-slur-4:#c6a9ff;--abc-tuplet:#82f0a2;--abc-tie:#f07fb3;--abc-tie-dotted:#ff9ecf;--abc-ornament:#9fb0ff;--abc-chord-symbol:#63f5d3;--abc-annotation:#ffd88a;--abc-decoration:#d1a6ff;--abc-grace:#a4f28f;--abc-volta:#f9a15a;--abc-inline-bracket:#8ca7c0;--abc-inline-key:#7ad7ff;--abc-inline-value:#ffdcb2;--abc-comment:#7b8797}.abc-preview svg text{fill:#000!important}.abc-preview[data-theme=dark] svg text{fill:#fff!important}textarea::placeholder{color:#999;opacity:1}[data-theme=dark] textarea::placeholder{color:#64748b}.abc-meta-key{color:var(--abc-key);font-weight:600}.abc-meta-value{color:var(--abc-value)}.abc-lyrics-key{color:var(--abc-lyrics-key);font-weight:600}.abc-lyrics-value{color:var(--abc-lyrics-value)}.abc-note{color:var(--abc-note)}.abc-octave-high{color:var(--abc-octave-high);font-weight:600}.abc-octave-low{color:var(--abc-octave-low);font-weight:600}.abc-rest{color:var(--abc-rest)}.abc-rest-invisible{color:var(--abc-rest-muted);opacity:.5}.abc-accidental{color:var(--abc-accidental)}.abc-duration{font-weight:600}.abc-duration-long{color:var(--abc-duration-long)}.abc-duration-short{color:var(--abc-duration-short)}.abc-duration-fraction{color:var(--abc-duration-fraction)}.abc-broken-rhythm{color:var(--abc-broken);font-weight:700}.abc-bar{color:var(--abc-bar);font-weight:600}.abc-bar-double{color:var(--abc-bar-double);font-weight:900}.abc-chord{color:var(--abc-chord)}.abc-slur{font-weight:700}.abc-slur-level-0{color:var(--abc-slur-0)}.abc-slur-level-1{color:var(--abc-slur-1)}.abc-slur-level-2{color:var(--abc-slur-2)}.abc-slur-level-3{color:var(--abc-slur-3)}.abc-slur-level-4{color:var(--abc-slur-4)}.abc-tuplet{color:var(--abc-tuplet);font-weight:700}.abc-tie{color:var(--abc-tie);font-weight:600}.abc-tie-dotted{color:var(--abc-tie-dotted)}.abc-ornament{color:var(--abc-ornament);font-weight:700}.abc-chord-symbol{color:var(--abc-chord-symbol);font-weight:700}.abc-annotation{color:var(--abc-annotation);font-style:italic;font-weight:600}.abc-decoration{color:var(--abc-decoration);font-weight:700}.abc-grace-note{color:var(--abc-grace);font-weight:600}.abc-volta-bracket{color:var(--abc-volta);font-weight:700}.abc-inline-field-bracket{color:var(--abc-inline-bracket)}.abc-inline-field-key{color:var(--abc-inline-key);font-weight:600}.abc-inline-field-value{color:var(--abc-inline-value)}.abc-comment{color:var(--abc-comment);font-style:italic}.abc-text{color:var(--abc-ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}')),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
2
  import { jsx as p, jsxs as v } from "react/jsx-runtime";
3
- import { useState as P, useCallback as N, useEffect as R, useRef as w, useMemo as V } from "react";
3
+ import { useState as R, useCallback as C, useEffect as P, useRef as w, useMemo as V } from "react";
4
4
  const G = (e) => e.split(`
5
5
  `).map((r, n) => n + 1).join(`
6
6
  `), k = /^([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]:)(.*)$/, E = /[A-Ga-g]/, z = /[\^_=]/, Q = /[',]/, X = /\|[:|\]]?|:?\|/, Y = /[\\[\]]/, J = /[()]/, Z = /^\(\d+$/, O = /^\/?\d+(\/\d+)?$/, D = /[zZx]/, M = /^\.?-$/, q = /[.~HLMOPSTuv]/, ee = /^"[^"]*"$/, W = /^"[\^_<>@][^"]*"$/, te = /^![^!]+!$/, ne = /^\{[^}]+\}$/, re = /^\[\d+$/, se = /^\[([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]):([^\]]*)\]$/, oe = /^[<>]+$/, le = /^%.*$/, d = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;"), ae = (e, t) => {
@@ -255,9 +255,9 @@ const G = (e) => e.split(`
255
255
  t += u.html, r = u.nextIndex;
256
256
  continue;
257
257
  }
258
- const h = ue(e, r);
259
- if (h) {
260
- t += h.html, r = h.nextIndex;
258
+ const f = ue(e, r);
259
+ if (f) {
260
+ t += f.html, r = f.nextIndex;
261
261
  continue;
262
262
  }
263
263
  const y = Be(e, r);
@@ -445,7 +445,7 @@ const G = (e) => e.split(`
445
445
  { value: "Your Name", description: "Transcriber name" },
446
446
  { value: "ABC transcription", description: "Transcription note" }
447
447
  ]
448
- }, Ne = (e) => Ae[e] || [], Ce = [
448
+ }, Ce = (e) => Ae[e] || [], Ne = [
449
449
  {
450
450
  value: "/header",
451
451
  description: "Insert basic ABC header template",
@@ -456,14 +456,14 @@ L:1/4
456
456
  K:C
457
457
  `
458
458
  }
459
- ], Ie = (e) => e.startsWith("/") ? Ce.filter(
459
+ ], Ie = (e) => e.startsWith("/") ? Ne.filter(
460
460
  (t) => t.value.toLowerCase().startsWith(e.toLowerCase())
461
461
  ) : [], we = ({
462
462
  value: e,
463
463
  textareaRef: t,
464
464
  onChange: r
465
465
  }) => {
466
- const [n, o] = P({
466
+ const [n, o] = R({
467
467
  isOpen: !1,
468
468
  suggestions: [],
469
469
  selectedIndex: 0,
@@ -471,7 +471,7 @@ K:C
471
471
  fieldKey: null,
472
472
  inputValue: "",
473
473
  isCommand: !1
474
- }), s = N(() => {
474
+ }), s = C(() => {
475
475
  if (!t.current)
476
476
  return null;
477
477
  const c = t.current.selectionStart, l = e.substring(0, c).split(`
@@ -484,9 +484,9 @@ K:C
484
484
  lineStartPos: c - u.length,
485
485
  isCommand: !0
486
486
  };
487
- const h = u.match(k);
488
- if (h) {
489
- const [, y, m] = h;
487
+ const f = u.match(k);
488
+ if (f) {
489
+ const [, y, m] = f;
490
490
  return {
491
491
  fieldKey: y,
492
492
  inputValue: m,
@@ -496,22 +496,22 @@ K:C
496
496
  };
497
497
  }
498
498
  return null;
499
- }, [e, t]), a = N(() => {
499
+ }, [e, t]), a = C(() => {
500
500
  if (!t.current)
501
501
  return { top: 0, left: 0 };
502
- const c = t.current, l = c.selectionStart, h = e.substring(0, l).split(`
502
+ const c = t.current, l = c.selectionStart, f = e.substring(0, l).split(`
503
503
  `).length - 1, y = parseFloat(getComputedStyle(c).lineHeight) || 24;
504
- return { top: (parseFloat(getComputedStyle(c).paddingTop) || 16) + (h + 1) * y - c.scrollTop, left: 60 };
504
+ return { top: (parseFloat(getComputedStyle(c).paddingTop) || 16) + (f + 1) * y - c.scrollTop, left: 60 };
505
505
  }, [e, t]);
506
- R(() => {
506
+ P(() => {
507
507
  const c = s();
508
508
  if (!c) {
509
509
  o((u) => ({ ...u, isOpen: !1 }));
510
510
  return;
511
511
  }
512
512
  let l = [];
513
- if (c.isCommand ? l = Ie(c.inputValue) : c.fieldKey && (l = Ne(c.fieldKey).filter(
514
- (h) => h.value.toLowerCase().startsWith(c.inputValue.toLowerCase())
513
+ if (c.isCommand ? l = Ie(c.inputValue) : c.fieldKey && (l = Ce(c.fieldKey).filter(
514
+ (f) => f.value.toLowerCase().startsWith(c.inputValue.toLowerCase())
515
515
  )), l.length > 0) {
516
516
  const u = a();
517
517
  o({
@@ -526,18 +526,18 @@ K:C
526
526
  } else
527
527
  o((u) => ({ ...u, isOpen: !1 }));
528
528
  }, [e, s, a]);
529
- const i = N(
529
+ const i = C(
530
530
  (c) => {
531
531
  if (!t.current)
532
532
  return;
533
533
  const l = t.current.selectionStart, u = e.substring(0, l).split(`
534
- `), h = u[u.length - 1];
534
+ `), f = u[u.length - 1];
535
535
  let y, m;
536
536
  if (n.isCommand && c.template) {
537
- const b = e.substring(0, l - h.length), B = e.substring(l);
537
+ const b = e.substring(0, l - f.length), B = e.substring(l);
538
538
  y = b + c.template + B, m = b.length + c.template.length;
539
539
  } else if (n.fieldKey) {
540
- const b = n.fieldKey + c.value, B = e.substring(0, l - h.length), T = e.substring(l);
540
+ const b = n.fieldKey + c.value, B = e.substring(0, l - f.length), T = e.substring(l);
541
541
  y = B + b + T, m = B.length + b.length;
542
542
  } else
543
543
  return;
@@ -546,7 +546,7 @@ K:C
546
546
  }, 0), o((b) => ({ ...b, isOpen: !1 }));
547
547
  },
548
548
  [t, n.fieldKey, n.isCommand, e, r]
549
- ), x = N(
549
+ ), x = C(
550
550
  (c) => {
551
551
  if (n.isOpen)
552
552
  switch (c.key) {
@@ -571,7 +571,7 @@ K:C
571
571
  }
572
572
  },
573
573
  [n.isOpen, n.suggestions, n.selectedIndex, i]
574
- ), g = N((c) => {
574
+ ), g = C((c) => {
575
575
  o((l) => ({ ...l, selectedIndex: c }));
576
576
  }, []);
577
577
  return {
@@ -591,7 +591,7 @@ K:C
591
591
  onMouseEnter: o
592
592
  }) => {
593
593
  const s = w(null);
594
- return R(() => {
594
+ return P(() => {
595
595
  s.current?.scrollIntoView({
596
596
  block: "nearest",
597
597
  behavior: "smooth"
@@ -728,17 +728,17 @@ K:C
728
728
  a += g.length + 1;
729
729
  return;
730
730
  }
731
- const u = Me(l, n), h = n.meter.beatsPerMeasure;
732
- if (Math.abs(u - h) > 0.01) {
731
+ const u = Me(l, n), f = n.meter.beatsPerMeasure;
732
+ if (Math.abs(u - f) > 0.01) {
733
733
  const m = o.indexOf(l, a), b = m + l.length;
734
734
  t.push({
735
735
  line: s,
736
736
  measureIndex: x,
737
737
  startCol: m,
738
738
  endCol: b,
739
- expected: h,
739
+ expected: f,
740
740
  actual: u,
741
- message: `Expected ${h} beats, got ${u.toFixed(2)}`
741
+ message: `Expected ${f} beats, got ${u.toFixed(2)}`
742
742
  });
743
743
  }
744
744
  x++, a += g.length + 1;
@@ -770,9 +770,8 @@ K:C
770
770
  boxSizing: "border-box",
771
771
  WebkitFontSmoothing: "antialiased",
772
772
  MozOsxFontSmoothing: "grayscale"
773
- }, Re = ({ value: e, onChange: t, theme: r = "light" }) => {
774
- const n = w(null), o = w(null), s = w(null), [a, i] = P(null), x = G(e), g = $(e), c = V(() => $e(e), [e]), l = r === "dark" ? {
775
- bg: "#1a1a1a",
773
+ }, Pe = ({ value: e, onChange: t, theme: r = "light" }) => {
774
+ const n = w(null), o = w(null), s = w(null), [a, i] = R(null), x = G(e), g = $(e), c = V(() => $e(e), [e]), l = r === "dark" ? {
776
775
  editorBg: "#262626",
777
776
  lineNumBg: "#0f0f0f",
778
777
  lineNumBorder: "#2d2d2d",
@@ -789,7 +788,6 @@ K:C
789
788
  errorHoverBg: "rgba(51, 65, 85, 0.4)",
790
789
  errorItemBorder: "rgba(255, 255, 255, 0.05)"
791
790
  } : {
792
- bg: "#f8f9fa",
793
791
  editorBg: "#ffffff",
794
792
  lineNumBg: "#ffffff",
795
793
  lineNumBorder: "#e5e7eb",
@@ -807,7 +805,7 @@ K:C
807
805
  errorItemBorder: "rgba(220, 38, 38, 0.1)"
808
806
  }, {
809
807
  isOpen: u,
810
- suggestions: h,
808
+ suggestions: f,
811
809
  selectedIndex: y,
812
810
  position: m,
813
811
  handleKeyDown: b,
@@ -815,30 +813,33 @@ K:C
815
813
  handleMouseEnter: T
816
814
  } = we({ value: e, textareaRef: n, onChange: t }), H = () => {
817
815
  n.current && o.current && s.current && (o.current.scrollTop = n.current.scrollTop, s.current.scrollTop = n.current.scrollTop);
818
- }, U = (f) => {
816
+ }, U = (h) => {
819
817
  if (n.current) {
820
818
  const A = e.split(`
821
- `), C = A.slice(0, f.line).join(`
822
- `).length + (f.line > 0 ? 1 : 0);
823
- n.current.focus(), n.current.setSelectionRange(C, C), n.current.scrollTop = n.current.scrollHeight * (f.line / A.length);
819
+ `), N = A.slice(0, h.line).join(`
820
+ `).length + (h.line > 0 ? 1 : 0);
821
+ n.current.focus(), n.current.setSelectionRange(N, N), n.current.scrollTop = n.current.scrollHeight * (h.line / A.length);
824
822
  }
825
823
  };
826
- return /* @__PURE__ */ p("div", { className: "w-full h-full flex flex-col p-4", "data-theme": r, style: { backgroundColor: l.bg }, children: /* @__PURE__ */ v("div", { className: "w-full flex-1 flex flex-col rounded-lg overflow-hidden shadow-lg", style: { backgroundColor: l.editorBg }, children: [
824
+ return /* @__PURE__ */ v("div", { className: "w-full h-full flex flex-col rounded-lg overflow-hidden shadow-lg", "data-theme": r, style: { backgroundColor: l.editorBg }, children: [
827
825
  /* @__PURE__ */ v("div", { className: "flex-1 flex overflow-hidden", children: [
828
826
  /* @__PURE__ */ p(
829
827
  "div",
830
828
  {
831
829
  ref: o,
832
- className: "overflow-hidden text-right select-none",
830
+ className: "overflow-hidden select-none",
833
831
  style: {
832
+ ...I,
834
833
  backgroundColor: l.lineNumBg,
835
834
  minWidth: "3rem",
836
- borderRight: `1px solid ${l.lineNumBorder}`,
837
- ...I,
838
835
  padding: "16px 8px 16px 8px",
839
- color: "#6b7280"
836
+ color: "#6b7280",
837
+ borderRightColor: l.lineNumBorder,
838
+ borderRightStyle: "solid",
839
+ borderRightWidth: "1px"
840
840
  },
841
- children: x
841
+ children: x.split(`
842
+ `).map((h, A) => /* @__PURE__ */ p("div", { style: { textAlign: "center" }, children: h }, A))
842
843
  }
843
844
  ),
844
845
  /* @__PURE__ */ v("div", { className: "flex-1 relative", children: [
@@ -857,8 +858,8 @@ K:C
857
858
  }
858
859
  ),
859
860
  a && (() => {
860
- const f = e.split(`
861
- `), C = (f[a.line] || "").substring(a.startCol, a.endCol), F = $(C);
861
+ const h = e.split(`
862
+ `), N = (h[a.line] || "").substring(a.startCol, a.endCol), F = $(N);
862
863
  return /* @__PURE__ */ p(
863
864
  "div",
864
865
  {
@@ -867,7 +868,7 @@ K:C
867
868
  ...I,
868
869
  backgroundColor: "transparent"
869
870
  },
870
- children: f.map((S, L) => {
871
+ children: h.map((S, L) => {
871
872
  if (L === a.line) {
872
873
  const j = S.substring(0, a.startCol), K = S.substring(a.endCol);
873
874
  return /* @__PURE__ */ v("div", { children: [
@@ -906,7 +907,7 @@ K:C
906
907
  appearance: "none"
907
908
  },
908
909
  value: e,
909
- onChange: (f) => t(f.target.value),
910
+ onChange: (h) => t(h.target.value),
910
911
  onScroll: H,
911
912
  onKeyDown: b,
912
913
  spellCheck: !1,
@@ -919,7 +920,7 @@ K:C
919
920
  u && /* @__PURE__ */ p(
920
921
  ke,
921
922
  {
922
- suggestions: h,
923
+ suggestions: f,
923
924
  selectedIndex: y,
924
925
  position: m,
925
926
  onSelect: B,
@@ -935,7 +936,9 @@ K:C
935
936
  style: {
936
937
  backgroundColor: l.lineNumBg,
937
938
  minWidth: "3rem",
938
- borderRight: `1px solid ${l.lineNumBorder}`
939
+ borderRightColor: l.lineNumBorder,
940
+ borderRightStyle: "solid",
941
+ borderRightWidth: "1px"
939
942
  }
940
943
  }
941
944
  ),
@@ -986,19 +989,19 @@ K:C
986
989
  }
987
990
  )
988
991
  ] }),
989
- /* @__PURE__ */ p("div", { className: "space-y-1", children: c.map((f, A) => /* @__PURE__ */ v(
992
+ /* @__PURE__ */ p("div", { className: "space-y-1", children: c.map((h, A) => /* @__PURE__ */ v(
990
993
  "div",
991
994
  {
992
995
  className: "flex items-start gap-3 px-3 py-2 rounded-md border cursor-pointer",
993
996
  style: {
994
- backgroundColor: a === f ? l.errorHoverBg : "transparent",
995
- borderColor: a === f ? l.errorIcon : l.errorItemBorder,
997
+ backgroundColor: a === h ? l.errorHoverBg : "transparent",
998
+ borderColor: a === h ? l.errorIcon : l.errorItemBorder,
996
999
  transition: "all 0.15s ease-in-out",
997
- transform: a === f ? "translateX(2px)" : "translateX(0)"
1000
+ transform: a === h ? "translateX(2px)" : "translateX(0)"
998
1001
  },
999
- onMouseEnter: () => i(f),
1002
+ onMouseEnter: () => i(h),
1000
1003
  onMouseLeave: () => i(null),
1001
- onClick: () => U(f),
1004
+ onClick: () => U(h),
1002
1005
  children: [
1003
1006
  /* @__PURE__ */ v(
1004
1007
  "svg",
@@ -1031,13 +1034,13 @@ K:C
1031
1034
  },
1032
1035
  children: [
1033
1036
  "Line ",
1034
- f.line + 1,
1037
+ h.line + 1,
1035
1038
  ", Measure ",
1036
- f.measureIndex + 1
1039
+ h.measureIndex + 1
1037
1040
  ]
1038
1041
  }
1039
1042
  ) }),
1040
- /* @__PURE__ */ p("span", { className: "text-[11px] leading-relaxed", style: { color: l.errorMessage }, children: f.message })
1043
+ /* @__PURE__ */ p("span", { className: "text-[11px] leading-relaxed", style: { color: l.errorMessage }, children: h.message })
1041
1044
  ] }),
1042
1045
  /* @__PURE__ */ v(
1043
1046
  "svg",
@@ -1053,7 +1056,7 @@ K:C
1053
1056
  className: "shrink-0 mt-1 opacity-50",
1054
1057
  style: {
1055
1058
  color: l.errorIcon,
1056
- opacity: a === f ? 1 : 0.3,
1059
+ opacity: a === h ? 1 : 0.3,
1057
1060
  transition: "opacity 0.15s ease-in-out"
1058
1061
  },
1059
1062
  children: [
@@ -1070,7 +1073,7 @@ K:C
1070
1073
  }
1071
1074
  )
1072
1075
  ] })
1073
- ] }) });
1076
+ ] });
1074
1077
  };
1075
1078
  export {
1076
1079
  z as ABC_ACCIDENTAL_PATTERN,
@@ -1079,7 +1082,7 @@ export {
1079
1082
  oe as ABC_BROKEN_RHYTHM_PATTERN,
1080
1083
  Y as ABC_CHORD_BRACKET_PATTERN,
1081
1084
  ee as ABC_CHORD_SYMBOL_PATTERN,
1082
- Ce as ABC_COMMANDS,
1085
+ Ne as ABC_COMMANDS,
1083
1086
  le as ABC_COMMENT_PATTERN,
1084
1087
  te as ABC_DECORATION_PATTERN,
1085
1088
  O as ABC_DURATION_PATTERN,
@@ -1095,7 +1098,7 @@ export {
1095
1098
  M as ABC_TIE_PATTERN,
1096
1099
  Z as ABC_TUPLET_PATTERN,
1097
1100
  re as ABC_VOLTA_BRACKET_PATTERN,
1098
- Re as AbcEditor,
1101
+ Pe as AbcEditor,
1099
1102
  ke as SuggestionList,
1100
1103
  $ as highlightAbc,
1101
1104
  we as useAbcAutoComplete,
@@ -1 +1 @@
1
- {"version":3,"file":"AbcEditor.d.ts","sourceRoot":"","sources":["../../../src/components/AbcEditor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AA8BD,eAAO,MAAM,SAAS,GAAI,4BAAsC,cAAc,4CAyU7E,CAAC"}
1
+ {"version":3,"file":"AbcEditor.d.ts","sourceRoot":"","sources":["../../../src/components/AbcEditor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AA8BD,eAAO,MAAM,SAAS,GAAI,4BAAsC,cAAc,4CA6U7E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ovnonvo/abc-editor",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "A React component for editing ABC music notation with syntax highlighting, autocomplete, and validation",
5
5
  "type": "module",
6
6
  "main": "./dist/abc-editor.cjs.js",