@ovnonvo/abc-editor 0.3.2 → 0.3.5
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.
- package/dist/abc-editor.cjs.js +16 -15
- package/dist/abc-editor.es.js +577 -517
- package/dist/src/components/AbcEditor.d.ts.map +1 -1
- package/dist/src/types/abc.d.ts.map +1 -1
- package/dist/src/utils/highlightAbc.d.ts.map +1 -1
- package/dist/src/utils/validateAbc.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/abc-editor.cjs.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
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)}})();
|
|
2
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
3
|
-
`).map((r
|
|
4
|
-
`),
|
|
5
|
-
`).map(
|
|
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)}.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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),T=require("react"),j=e=>e.split(`
|
|
3
|
+
`).map((t,r)=>r+1).join(`
|
|
4
|
+
`),C=/^([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]:)(.*)$/,I=/[A-Ga-g]/,O=/[\^_=]/,$=/[',]/,D=/\|[:|\]]?|:?\|/,W=/[\\[\]]/,H=/[()]/,U=/^\(\d+$/,L=/^(\/+|\d+(\/\d+)?|\/?\d+(\/\d+)?)$/,k=/[zZx]/,S=/^\.?-$/,F=/[.~HLMOPSTuv]/,K=/^"[^"]*"$/,P=/^"[\^_<>@][^"]*"$/,V=/^![^!]+!$/,G=/^\{[^}]+\}$/,z=/^\[\d+$/,q=/^\[([ABCDFGHIKLMmNOPQRrSsTUVWwXZ]):([^\]]*)\]$/,Q=/^[<>]+$/,Y=/^%.*$/,h=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),ae=(e,n)=>{const t=e[n];if(t!=="|"&&t!==":")return null;let r=t,s=n+1;for(;s<e.length&&(e[s]==="|"||e[s]===":"||e[s]==="]");)r+=e[s],s++;return D.test(r)?{html:`<span class="${r==="||"?"abc-bar-double":"abc-bar"}">${h(r)}</span>`,nextIndex:s}:null},ie=(e,n)=>{const t=e[n];return O.test(t)?{html:`<span class="abc-accidental">${h(t)}</span>`,nextIndex:n+1}:null},ce=(e,n,t)=>{const r=e[n];if(!H.test(r))return null;if(r==="("){if(n+1<e.length&&/\d/.test(e[n+1])){let s=r,o=n+1;for(;o<e.length&&/\d/.test(e[o]);)s+=e[o],o++;if(U.test(s))return{html:`<span class="abc-tuplet">${h(s)}</span>`,nextIndex:o,slurLevelDelta:0}}return{html:`<span class="abc-slur abc-slur-level-${t%5}">${h(r)}</span>`,nextIndex:n+1,slurLevelDelta:1}}else if(r===")")return{html:`<span class="abc-slur abc-slur-level-${Math.max(0,t-1)%5}">${h(r)}</span>`,nextIndex:n+1,slurLevelDelta:-1};return null},ue=(e,n)=>{const t=e[n];if(!I.test(t))return null;let r=`<span class="abc-note">${h(t)}</span>`,s=n+1,o="";for(;s<e.length&&$.test(e[s]);)o+=e[s],s++;if(o){const d=o[0]==="'"?"abc-octave-high":"abc-octave-low";r+=`<span class="${d}">${h(o)}</span>`}let l="";const u=s;if(s<e.length&&(e[s]==="/"||/\d/.test(e[s]))){for(e[s]==="/"&&(l+=e[s],s++);s<e.length&&/\d/.test(e[s]);)l+=e[s],s++;if(s<e.length&&e[s]==="/")for(l+=e[s],s++;s<e.length&&/\d/.test(e[s]);)l+=e[s],s++;if(l&&L.test(l)){let d="abc-duration";l.startsWith("/")?d+=" abc-duration-short":l.includes("/")?d+=" abc-duration-fraction":d+=" abc-duration-long",r+=`<span class="${d}">${h(l)}</span>`}else s=u}return{html:r,nextIndex:s}},de=(e,n)=>{const t=e[n];return W.test(t)?{html:`<span class="abc-chord">${h(t)}</span>`,nextIndex:n+1}:null},pe=(e,n)=>{const t=e[n];if(!k.test(t))return null;let s=`<span class="${t==="x"?"abc-rest-invisible":"abc-rest"}">${h(t)}</span>`,o=n+1,l="";const u=o;if(o<e.length&&(e[o]==="/"||/\d/.test(e[o]))){for(e[o]==="/"&&(l+=e[o],o++);o<e.length&&/\d/.test(e[o]);)l+=e[o],o++;if(o<e.length&&e[o]==="/")for(l+=e[o],o++;o<e.length&&/\d/.test(e[o]);)l+=e[o],o++;if(l&&L.test(l)){let d="abc-duration";l.startsWith("/")?d+=" abc-duration-short":l.includes("/")?d+=" abc-duration-fraction":d+=" abc-duration-long",s+=`<span class="${d}">${h(l)}</span>`}else o=u}return{html:s,nextIndex:o}},he=(e,n)=>{const t=e[n];return t==="."&&n+1<e.length&&e[n+1]==="-"&&S.test(".-")?{html:`<span class="abc-tie abc-tie-dotted">${h(".-")}</span>`,nextIndex:n+2}:t==="-"&&S.test(t)?{html:`<span class="abc-tie">${h(t)}</span>`,nextIndex:n+1}:null},fe=(e,n)=>{const t=e[n];return!F.test(t)||t==="."&&n+1<e.length&&e[n+1]==="-"?null:{html:`<span class="abc-ornament">${h(t)}</span>`,nextIndex:n+1}},ge=(e,n)=>{if(e[n]!=='"')return null;let r=n+1;for(;r<e.length&&e[r]!=='"';)r++;if(r>=e.length)return null;const s=e.substring(n,r+1);return P.test(s)?{html:`<span class="abc-annotation">${h(s)}</span>`,nextIndex:r+1}:null},me=(e,n)=>{if(e[n]!=='"')return null;let r=n+1;for(;r<e.length&&e[r]!=='"';)r++;if(r>=e.length)return null;const s=e.substring(n,r+1);return P.test(s)||!K.test(s)?null:{html:`<span class="abc-chord-symbol">${h(s)}</span>`,nextIndex:r+1}},be=(e,n)=>{if(e[n]!=="!")return null;let r=n+1;for(;r<e.length&&e[r]!=="!";)r++;if(r>=e.length)return null;const s=e.substring(n,r+1);return V.test(s)?{html:`<span class="abc-decoration">${h(s)}</span>`,nextIndex:r+1}:null},xe=(e,n)=>{if(e[n]!=="{")return null;let r=n+1;for(;r<e.length&&e[r]!=="}";)r++;if(r>=e.length)return null;const s=e.substring(n,r+1);return G.test(s)?{html:`<span class="abc-grace-note">${h(s)}</span>`,nextIndex:r+1}:null},ve=(e,n)=>{if(e[n]!=="[")return null;let r=n+1;for(;r<e.length&&e[r]!=="]";)r++;if(r>=e.length)return null;const o=e.substring(n,r+1).match(q);if(!o)return null;const[,l,u]=o;return{html:`<span class="abc-inline-field-bracket">[</span><span class="abc-inline-field-key">${h(l)}:</span><span class="abc-inline-field-value">${h(u)}</span><span class="abc-inline-field-bracket">]</span>`,nextIndex:r+1}},Te=(e,n)=>{if(e[n]!=="["||n+1>=e.length||!/\d/.test(e[n+1]))return null;let r=n+1;for(;r<e.length&&/\d/.test(e[r]);)r++;const s=e.substring(n,r);return z.test(s)?{html:`<span class="abc-volta-bracket">${h(s)}</span>`,nextIndex:r}:null},Ae=(e,n)=>{const t=e[n];if(t!==">"&&t!=="<")return null;let r=n+1;for(;r<e.length&&e[r]===t;)r++;const s=e.substring(n,r);return Q.test(s)?{html:`<span class="abc-broken-rhythm">${h(s)}</span>`,nextIndex:r}:null},Ne=e=>{let n="",t=0,r=0;for(;t<e.length;){const s=ae(e,t);if(s){n+=s.html,t=s.nextIndex;continue}const o=be(e,t);if(o){n+=o.html,t=o.nextIndex;continue}const l=xe(e,t);if(l){n+=l.html,t=l.nextIndex;continue}const u=ie(e,t);if(u){n+=u.html,t=u.nextIndex;continue}const d=fe(e,t);if(d){n+=d.html,t=d.nextIndex;continue}const f=ge(e,t);if(f){n+=f.html,t=f.nextIndex;continue}const i=me(e,t);if(i){n+=i.html,t=i.nextIndex;continue}const a=ce(e,t,r);if(a){n+=a.html,t=a.nextIndex,a.slurLevelDelta&&(r+=a.slurLevelDelta);continue}const p=pe(e,t);if(p){n+=p.html,t=p.nextIndex;continue}const m=ue(e,t);if(m){n+=m.html,t=m.nextIndex;continue}const v=Ae(e,t);if(v){n+=v.html,t=v.nextIndex;continue}const b=ve(e,t);if(b){n+=b.html,t=b.nextIndex;continue}const x=Te(e,t);if(x){n+=x.html,t=x.nextIndex;continue}const A=de(e,t);if(A){n+=A.html,t=A.nextIndex;continue}const N=he(e,t);if(N){n+=N.html,t=N.nextIndex;continue}n+=`<span class="abc-text">${h(e[t])}</span>`,t++}return n},w=e=>e.split(`
|
|
5
|
+
`).map(t=>{if(Y.test(t))return`<span class="abc-comment">${h(t)}</span>`;const r=t.match(C);if(r){const[,s,o]=r;return s==="w:"||s==="W:"?`<span class="abc-lyrics-key">${h(s)}</span><span class="abc-lyrics-value">${h(o)}</span>`:`<span class="abc-meta-key">${h(s)}</span><span class="abc-meta-value">${h(o)}</span>`}return Ne(t)}).join(`
|
|
6
|
+
`),X={"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"}]},Be=e=>X[e]||[],J=[{value:"/header",description:"Insert basic ABC header template",template:`X:1
|
|
7
7
|
T:Untitled
|
|
8
8
|
M:4/4
|
|
9
9
|
L:1/4
|
|
10
10
|
K:C
|
|
11
|
-
`}],
|
|
12
|
-
`),
|
|
13
|
-
`).length-1,v=parseFloat(getComputedStyle(
|
|
14
|
-
`),
|
|
15
|
-
`);let
|
|
16
|
-
`),
|
|
17
|
-
`),
|
|
18
|
-
`).length+(
|
|
19
|
-
`)
|
|
11
|
+
`}],Ce=e=>e.startsWith("/")?J.filter(n=>n.value.toLowerCase().startsWith(e.toLowerCase())):[],Z=({value:e,textareaRef:n,onChange:t})=>{const[r,s]=T.useState({isOpen:!1,suggestions:[],selectedIndex:0,position:{top:0,left:0},fieldKey:null,inputValue:"",isCommand:!1}),o=T.useCallback(()=>{if(!n.current)return null;const i=n.current.selectionStart,a=e.substring(0,i).split(`
|
|
12
|
+
`),p=a[a.length-1];if(p.startsWith("/"))return{fieldKey:null,inputValue:p,line:p,lineStartPos:i-p.length,isCommand:!0};const m=p.match(C);if(m){const[,v,b]=m;return{fieldKey:v,inputValue:b,line:p,lineStartPos:i-p.length,isCommand:!1}}return null},[e,n]),l=T.useCallback(()=>{if(!n.current)return{top:0,left:0};const i=n.current,a=i.selectionStart,m=e.substring(0,a).split(`
|
|
13
|
+
`).length-1,v=parseFloat(getComputedStyle(i).lineHeight)||24;return{top:(parseFloat(getComputedStyle(i).paddingTop)||16)+(m+1)*v-i.scrollTop,left:60}},[e,n]);T.useEffect(()=>{const i=o();if(!i){s(p=>({...p,isOpen:!1}));return}let a=[];if(i.isCommand?a=Ce(i.inputValue):i.fieldKey&&(a=Be(i.fieldKey).filter(m=>m.value.toLowerCase().startsWith(i.inputValue.toLowerCase()))),a.length>0){const p=l();s({isOpen:!0,suggestions:a,selectedIndex:0,position:p,fieldKey:i.fieldKey,inputValue:i.inputValue,isCommand:i.isCommand})}else s(p=>({...p,isOpen:!1}))},[e,o,l]);const u=T.useCallback(i=>{if(!n.current)return;const a=n.current.selectionStart,p=e.substring(0,a).split(`
|
|
14
|
+
`),m=p[p.length-1];let v,b;if(r.isCommand&&i.template){const x=e.substring(0,a-m.length),A=e.substring(a);v=x+i.template+A,b=x.length+i.template.length}else if(r.fieldKey){const x=r.fieldKey+i.value,A=e.substring(0,a-m.length),N=e.substring(a);v=A+x+N,b=A.length+x.length}else return;t(v),setTimeout(()=>{n.current&&(n.current.selectionStart=b,n.current.selectionEnd=b,n.current.focus())},0),s(x=>({...x,isOpen:!1}))},[n,r.fieldKey,r.isCommand,e,t]),d=T.useCallback(i=>{if(r.isOpen)switch(i.key){case"ArrowDown":i.preventDefault(),s(a=>({...a,selectedIndex:Math.min(a.selectedIndex+1,a.suggestions.length-1)}));break;case"ArrowUp":i.preventDefault(),s(a=>({...a,selectedIndex:Math.max(a.selectedIndex-1,0)}));break;case"Enter":r.suggestions.length>0&&(i.preventDefault(),u(r.suggestions[r.selectedIndex]));break;case"Escape":i.preventDefault(),s(a=>({...a,isOpen:!1}));break}},[r.isOpen,r.suggestions,r.selectedIndex,u]),f=T.useCallback(i=>{s(a=>({...a,selectedIndex:i}))},[]);return{isOpen:r.isOpen,suggestions:r.suggestions,selectedIndex:r.selectedIndex,position:r.position,handleKeyDown:d,selectSuggestion:u,handleMouseEnter:f}},ee=({suggestions:e,selectedIndex:n,position:t,onSelect:r,onMouseEnter:s})=>{const o=T.useRef(null);return T.useEffect(()=>{o.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[n]),e.length===0?null:c.jsx("div",{className:"absolute z-50 bg-slate-800 rounded-md shadow-xl overflow-hidden",style:{top:`${t.top}px`,left:`${t.left}px`,minWidth:"200px",maxWidth:"400px",maxHeight:"300px",overflowY:"auto"},children:e.map((l,u)=>c.jsxs("div",{ref:u===n?o:null,className:`px-3 py-2 cursor-pointer ${u===n?"bg-blue-600 text-white":"text-slate-200 hover:bg-slate-700"}`,onClick:()=>r(l),onMouseEnter:()=>s(u),children:[c.jsx("div",{className:"font-mono text-sm",children:l.value}),l.description&&c.jsx("div",{className:"text-xs opacity-75 mt-1",children:l.description})]},`${l.value}-${u}`))})},ye=e=>{const n=e.trim();if(n==="C")return{beatsPerMeasure:4,beatUnit:4};if(n==="C|")return{beatsPerMeasure:2,beatUnit:2};const t=n.match(/^(\d+)\/(\d+)$/);return t?{beatsPerMeasure:parseInt(t[1],10),beatUnit:parseInt(t[2],10)}:{beatsPerMeasure:4,beatUnit:4}},Ee=e=>{const t=e.trim().match(/^(\d+)\/(\d+)$/);return t?parseInt(t[1],10)/parseInt(t[2],10):1/8},Ie=e=>{const n=e.split(`
|
|
15
|
+
`);let t={beatsPerMeasure:4,beatUnit:4},r=1/8;for(const s of n){const o=s.match(C);if(o){const[,l,u]=o;l==="M:"?t=ye(u):l==="L:"&&(r=Ee(u))}}return{meter:t,unitNoteLength:r}},M=e=>{if(!e)return 1;if(/^\/+$/.test(e))return 1/Math.pow(2,e.length);if(e.startsWith("/"))return 1/parseInt(e.substring(1),10);if(e.includes("/")){const[n,t]=e.split("/");return parseInt(n,10)/parseInt(t,10)}return parseInt(e,10)},_e=(e,n)=>{if(e[n]!=="(")return null;let t=n+1;if(t>=e.length||!/\d/.test(e[t]))return null;let r="";for(;t<e.length&&/\d/.test(e[t]);)r+=e[t],t++;const s=parseInt(r,10);let o;s===2||s===4||s===8?o=3:o=2;let l=s;if(t<e.length&&e[t]===":"){t++;let u="";for(;t<e.length&&/\d/.test(e[t]);)u+=e[t],t++;if(u&&(o=parseInt(u,10)),t<e.length&&e[t]===":"){t++;let d="";for(;t<e.length&&/\d/.test(e[t]);)d+=e[t],t++;d&&(l=parseInt(d,10))}}return{info:{p:s,q:o,remaining:l},nextIndex:t}},Re=(e,n)=>{let t=0,r=0,s=null;for(;r<e.length;){const o=e[r];if(o==="\\"){r++;continue}if(o==="("){const l=_e(e,r);if(l){s=l.info,r=l.nextIndex;continue}r++;continue}if(I.test(o)||k.test(o)){let l=r+1;for(;l<e.length&&(e[l]==="'"||e[l]===",");)l++;let u="";if(l<e.length&&(e[l]==="/"||/\d/.test(e[l]))){const p=l;for(;l<e.length&&e[l]==="/";)l++;for(;l<e.length&&/\d/.test(e[l]);)l++;if(l<e.length&&e[l]==="/")for(l++;l<e.length&&/\d/.test(e[l]);)l++;u=e.substring(p,l)}const d=M(u);let f=n.unitNoteLength*d;s&&(f=f*s.q/s.p,s.remaining--,s.remaining<=0&&(s=null));const i=1/n.meter.beatUnit,a=f/i;t+=a,r=l}else if(o==="["){let l=r+1;for(;l<e.length&&e[l]!=="]";){const u=e[l];if(I.test(u)){let d=l+1;for(;d<e.length&&(e[d]==="'"||e[d]===",");)d++;l=d}else l++}if(l<e.length&&e[l]==="]"){l++;let u="";if(l<e.length&&(e[l]==="/"||/\d/.test(e[l]))){const p=l;for(;l<e.length&&e[l]==="/";)l++;for(;l<e.length&&/\d/.test(e[l]);)l++;if(l<e.length&&e[l]==="/")for(l++;l<e.length&&/\d/.test(e[l]);)l++;u=e.substring(p,l)}const d=M(u);let f=n.unitNoteLength*d;s&&(f=f*s.q/s.p,s.remaining--,s.remaining<=0&&(s=null));const i=1/n.meter.beatUnit,a=f/i;t+=a}r=l}else r++}return t},te=e=>{const n=[],t=e.split(`
|
|
16
|
+
`),r=Ie(e);return t.forEach((s,o)=>{if(!(s.trim().startsWith("%")||C.test(s))&&s.includes("|")){let l=0;const u=s.split("|");let d=0;u.forEach((f,i)=>{if(i===u.length-1&&f.trim()==="")return;const a=f.trim();if(a.startsWith(":")||a.startsWith("[")||a===""){l+=f.length+1;return}const p=Re(a,r),m=r.meter.beatsPerMeasure;if(Math.abs(p-m)>.01){const b=s.indexOf(a,l),x=b+a.length;n.push({line:o,measureIndex:d,startCol:b,endCol:x,expected:m,actual:p,message:`Expected ${m} beats, got ${p.toFixed(2)}`})}d++,l+=f.length+1})}}),n},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"},Se=({value:e,onChange:n,theme:t="light"})=>{const r=T.useRef(null),s=T.useRef(null),o=T.useRef(null),[l,u]=T.useState(null),d=j(e),f=w(e),i=T.useMemo(()=>te(e),[e]),a=t==="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:p,suggestions:m,selectedIndex:v,position:b,handleKeyDown:x,selectSuggestion:A,handleMouseEnter:N}=Z({value:e,textareaRef:r,onChange:n}),ne=()=>{r.current&&s.current&&o.current&&(s.current.scrollTop=r.current.scrollTop,o.current.scrollTop=r.current.scrollTop)},re=g=>{if(r.current){const B=e.split(`
|
|
17
|
+
`),y=B.slice(0,g.line).join(`
|
|
18
|
+
`).length+(g.line>0?1:0);r.current.focus(),r.current.setSelectionRange(y,y),r.current.scrollTop=r.current.scrollHeight*(g.line/B.length)}};return c.jsxs("div",{className:"w-full h-full flex flex-col rounded-lg overflow-hidden shadow-lg","data-theme":t,style:{backgroundColor:a.editorBg},children:[c.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[c.jsx("div",{ref:s,className:"overflow-hidden select-none",style:{...E,backgroundColor:a.lineNumBg,minWidth:"3rem",padding:"16px 8px 16px 8px",color:"#6b7280",borderRightColor:a.lineNumBorder,borderRightStyle:"solid",borderRightWidth:"1px"},children:d.split(`
|
|
19
|
+
`).map((g,B)=>c.jsx("div",{style:{textAlign:"center"},children:g},B))}),c.jsxs("div",{className:"flex-1 relative",children:[c.jsx("div",{ref:o,className:"absolute inset-0 overflow-hidden pointer-events-none",style:{...E,backgroundColor:a.editorBg,opacity:l?.3:1,transition:"opacity 0.2s"},dangerouslySetInnerHTML:{__html:f}}),l&&(()=>{const g=e.split(`
|
|
20
|
+
`),y=(g[l.line]||"").substring(l.startCol,l.endCol),se=w(y);return c.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",style:{...E,backgroundColor:"transparent"},children:g.map((_,R)=>{if(R===l.line){const le=_.substring(0,l.startCol),oe=_.substring(l.endCol);return c.jsxs("div",{children:[c.jsx("span",{style:{visibility:"hidden"},children:le}),c.jsx("span",{style:{backgroundColor:a.errorHighlight,borderRadius:"2px",padding:"1px 2px"},dangerouslySetInnerHTML:{__html:se}}),c.jsx("span",{style:{visibility:"hidden"},children:oe})]},R)}return c.jsx("div",{style:{visibility:"hidden"},children:_||""},R)})})})(),c.jsx("textarea",{ref:r,className:"absolute inset-0 w-full h-full resize-none",style:{...E,backgroundColor:"transparent",color:"transparent",caretColor:a.caretColor,WebkitAppearance:"none",appearance:"none"},value:e,onChange:g=>n(g.target.value),onScroll:ne,onKeyDown:x,spellCheck:!1,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",placeholder:"Type /header to insert template..."}),p&&c.jsx(ee,{suggestions:m,selectedIndex:v,position:b,onSelect:A,onMouseEnter:N})]})]}),i.length>0&&c.jsxs("div",{className:"flex",children:[c.jsx("div",{style:{backgroundColor:a.lineNumBg,minWidth:"3rem",borderRightColor:a.lineNumBorder,borderRightStyle:"solid",borderRightWidth:"1px"}}),c.jsxs("div",{className:"flex-1 px-4 py-3 text-xs font-mono overflow-auto border-t",style:{backgroundColor:a.errorBg,borderColor:a.errorBorder,maxHeight:"12rem",scrollbarWidth:"thin",scrollbarColor:`${a.errorIcon} transparent`},children:[c.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:a.errorIcon},children:[c.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"}),c.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),c.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),c.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wide",style:{color:a.errorHeader},children:"Validation Issues"})]}),c.jsx("div",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold",style:{backgroundColor:a.errorBadgeBg,color:a.errorBadgeText},children:i.length})]}),c.jsx("div",{className:"space-y-1",children:i.map((g,B)=>c.jsxs("div",{className:"flex items-start gap-3 px-3 py-2 rounded-md border cursor-pointer",style:{backgroundColor:l===g?a.errorHoverBg:"transparent",borderColor:l===g?a.errorIcon:a.errorItemBorder,transition:"all 0.15s ease-in-out",transform:l===g?"translateX(2px)":"translateX(0)"},onMouseEnter:()=>u(g),onMouseLeave:()=>u(null),onClick:()=>re(g),children:[c.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:a.errorIcon},children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),c.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),c.jsxs("div",{className:"flex-1 flex flex-col gap-1",children:[c.jsx("div",{className:"flex items-baseline gap-2 flex-wrap",children:c.jsxs("span",{className:"font-semibold text-[11px] px-1.5 py-0.5 rounded",style:{color:a.errorLocation,backgroundColor:t==="dark"?"rgba(34, 211, 238, 0.1)":"rgba(8, 145, 178, 0.1)"},children:["Line ",g.line+1,", Measure ",g.measureIndex+1]})}),c.jsx("span",{className:"text-[11px] leading-relaxed",style:{color:a.errorMessage},children:g.message})]}),c.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:a.errorIcon,opacity:l===g?1:.3,transition:"opacity 0.15s ease-in-out"},children:[c.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),c.jsx("polyline",{points:"12 5 19 12 12 19"})]})]},B))})]})]})]})};exports.ABC_ACCIDENTAL_PATTERN=O;exports.ABC_ANNOTATION_PATTERN=P;exports.ABC_BAR_PATTERN=D;exports.ABC_BROKEN_RHYTHM_PATTERN=Q;exports.ABC_CHORD_BRACKET_PATTERN=W;exports.ABC_CHORD_SYMBOL_PATTERN=K;exports.ABC_COMMANDS=J;exports.ABC_COMMENT_PATTERN=Y;exports.ABC_DECORATION_PATTERN=V;exports.ABC_DURATION_PATTERN=L;exports.ABC_FIELD_PATTERN=C;exports.ABC_GRACE_NOTE_PATTERN=G;exports.ABC_INLINE_FIELD_PATTERN=q;exports.ABC_NOTE_PATTERN=I;exports.ABC_OCTAVE_PATTERN=$;exports.ABC_ORNAMENT_PATTERN=F;exports.ABC_REST_PATTERN=k;exports.ABC_SLUR_PATTERN=H;exports.ABC_SUGGESTIONS=X;exports.ABC_TIE_PATTERN=S;exports.ABC_TUPLET_PATTERN=U;exports.ABC_VOLTA_BRACKET_PATTERN=z;exports.AbcEditor=Se;exports.SuggestionList=ee;exports.highlightAbc=w;exports.useAbcAutoComplete=Z;exports.useLineNumbers=j;exports.validateAbc=te;
|