diff --git a/.gitignore b/.gitignore
index fc8b678..200066b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,5 @@ coverage
# Macos
.DS_Store
+
+*storybook.log
\ No newline at end of file
diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz
index 0bad448..97ed0d8 100644
Binary files a/.yarn/install-state.gz and b/.yarn/install-state.gz differ
diff --git a/packages/chord-chart-studio/.storybook/main.js b/packages/chord-chart-studio/.storybook/main.js
new file mode 100644
index 0000000..9043f3e
--- /dev/null
+++ b/packages/chord-chart-studio/.storybook/main.js
@@ -0,0 +1,28 @@
+import { join, dirname } from 'path';
+
+/**
+ * This function is used to resolve the absolute path of a package.
+ * It is needed in projects that use Yarn PnP or are set up within a monorepo.
+ */
+function getAbsolutePath(value) {
+ return dirname(require.resolve(join(value, 'package.json')));
+}
+
+/** @type { import('@storybook/react-vite').StorybookConfig } */
+const config = {
+ stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
+ addons: [
+ getAbsolutePath('@storybook/addon-links'),
+ getAbsolutePath('@storybook/addon-essentials'),
+ getAbsolutePath('@chromatic-com/storybook'),
+ getAbsolutePath('@storybook/addon-interactions'),
+ ],
+ framework: {
+ name: getAbsolutePath('@storybook/react-vite'),
+ options: {},
+ },
+ docs: {
+ autodocs: 'tag',
+ },
+};
+export default config;
diff --git a/packages/chord-chart-studio/.storybook/preview.js b/packages/chord-chart-studio/.storybook/preview.js
new file mode 100644
index 0000000..318cd66
--- /dev/null
+++ b/packages/chord-chart-studio/.storybook/preview.js
@@ -0,0 +1,13 @@
+/** @type { import('@storybook/react').Preview } */
+const preview = {
+ parameters: {
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+};
+
+export default preview;
diff --git a/packages/chord-chart-studio/build/assets/index-1ovoJZ2z.css b/packages/chord-chart-studio/build/assets/index-1ovoJZ2z.css
deleted file mode 100644
index f00c963..0000000
--- a/packages/chord-chart-studio/build/assets/index-1ovoJZ2z.css
+++ /dev/null
@@ -1 +0,0 @@
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{box-sizing:border-box;font-size:62.5%;font-size:.625em}body{font-size:1.6rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}.theme-dark .link1{color:#fabf2b}.theme-dark .link1:hover{color:#fbce5d}.theme-dark .link1:active{color:#fcdd8f}::-webkit-scrollbar{width:10px;height:10px}.theme-light ::-webkit-scrollbar{background-color:red}.theme-dark ::-webkit-scrollbar{background-color:red}.theme-dark ::-webkit-scrollbar-track,.theme-dark ::-webkit-scrollbar-corner{background-color:#293132}::-webkit-scrollbar-thumb{border-radius:100vw}.theme-light ::-webkit-scrollbar-thumb{border:3px solid}.theme-dark ::-webkit-scrollbar-thumb{background-color:#a8a8a8;border:3px solid rgb(41,49,50)}.theme-dark ::-webkit-scrollbar-thumb:hover{background-color:#c1c1c1}@supports (scrollbar-color: white black){*{scrollbar-width:thin}.theme-dark *{scrollbar-color:#a8a8a8 rgb(41,49,50)}}.cmTheme-dark1{background-color:#293132}.cmTheme-dark1 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f4f4f4}.cmTheme-dark1 .cmSong p{margin:0}.cmTheme-dark1 .cmSectionLabel{color:#67d3ff;font-weight:700}.cmTheme-dark1 .cmSectionMultiplier{color:#ed7bff}.cmTheme-dark1 .cmTimeSignature,.cmTheme-dark1 .cmKeyDeclaration{color:#a7ff7b;font-weight:700}.cmTheme-dark1 .cmChordLine{color:#fabf2b}.cmTheme-dark1 .cmBarSeparator{opacity:.5}.cmTheme-dark1 .cmChordDuration{opacity:.7}.cmTheme-dark1 .cmSubBeatGroupOpener,.cmTheme-dark1 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark1 .cmChordLine-romanNumeral,.cmTheme-dark1 .cmRomanNumeral{color:#fabf2b}.cmTheme-dark1 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#fabf2b}.cmTheme-dark1 .cmRomanNumeral-borrowed{color:#303846;background-color:#fabf2bb3}.cmTheme-dark1 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-dark2{background-color:#282a36}.cmTheme-dark2 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f8f8f2}.cmTheme-dark2 .cmSong p{margin:0}.cmTheme-dark2 .cmSectionLabel{color:#ffb86c;font-weight:700}.cmTheme-dark2 .cmSectionMultiplier{color:#f1fa8c}.cmTheme-dark2 .cmTimeSignature,.cmTheme-dark2 .cmKeyDeclaration{color:#f1fa8c;font-weight:700}.cmTheme-dark2 .cmChordLine{color:#8be9fd}.cmTheme-dark2 .cmBarSeparator{opacity:.5}.cmTheme-dark2 .cmChordDuration{opacity:.7}.cmTheme-dark2 .cmSubBeatGroupOpener,.cmTheme-dark2 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark2 .cmChordLine-romanNumeral,.cmTheme-dark2 .cmRomanNumeral{color:#8be9fd}.cmTheme-dark2 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#8be9fd}.cmTheme-dark2 .cmRomanNumeral-borrowed{color:#303846;background-color:#8be9fdb3}.cmTheme-dark2 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-dark3{background-color:#282a36}.cmTheme-dark3 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f8f8f2}.cmTheme-dark3 .cmSong p{margin:0}.cmTheme-dark3 .cmSectionLabel{color:#f55;font-weight:700}.cmTheme-dark3 .cmSectionMultiplier{color:#f1fa8c}.cmTheme-dark3 .cmTimeSignature,.cmTheme-dark3 .cmKeyDeclaration{color:#8be9fd;font-weight:700}.cmTheme-dark3 .cmChordLine{color:#50fa7b}.cmTheme-dark3 .cmBarSeparator{opacity:.5}.cmTheme-dark3 .cmChordDuration{opacity:.7}.cmTheme-dark3 .cmSubBeatGroupOpener,.cmTheme-dark3 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark3 .cmChordLine-romanNumeral,.cmTheme-dark3 .cmRomanNumeral{color:#50fa7b}.cmTheme-dark3 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#50fa7b}.cmTheme-dark3 .cmRomanNumeral-borrowed{color:#303846;background-color:#50fa7bb3}.cmTheme-dark3 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-text .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333}.cmTheme-text .cmSong p{margin:0}.cmTheme-print{background-color:#fff}.cmTheme-print .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333;font-size:12px}.cmTheme-print .cmSong p{margin:0}.cmTheme-print .cmSectionLabel{font-weight:700;text-decoration:underline}.cmTheme-print .cmSectionMultiplier{font-weight:400;text-decoration:unset}.cmTheme-print .cmTimeSignature,.cmTheme-print .cmKeyDeclaration{font-weight:700}.cmTheme-print .cmBarSeparator{opacity:.5}.cmTheme-print .cmChordDuration{opacity:.7}.cmTheme-print .cmSubBeatGroupOpener,.cmTheme-print .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmSong--fontSize-5 .cmLine{font-size:.5em;line-height:1.15em}.cmSong--fontSize-4 .cmLine{font-size:.6em;line-height:1.25em}.cmSong--fontSize-3 .cmLine{font-size:.7em;line-height:1.35em}.cmSong--fontSize-2 .cmLine{font-size:.8em;line-height:1.45em}.cmSong--fontSize-1 .cmLine{font-size:.9em;line-height:1.55em}.cmSong--fontSize1 .cmLine{font-size:1.1em;line-height:1.75em}.cmSong--fontSize2 .cmLine{font-size:1.2em;line-height:1.85em}.cmSong--fontSize3 .cmLine{font-size:1.3em;line-height:1.95em}.cmSong--fontSize4 .cmLine{font-size:1.4em;line-height:2.05em}.cmSong--fontSize5 .cmLine{font-size:1.5em;line-height:2.15em}.cmChordLyricLine{display:flex;flex-wrap:wrap}.cmChordLyricLine .cmChordLyricPair{flex:0 0 auto;display:flex;flex-direction:column}.cmChordLyricLine .cmChordLyricPair .cmChordLine,.cmChordLyricLine .cmChordLyricPair .cmLyricLine{flex:0 0 auto;white-space:pre}.cmTheme-print2{background-color:#fff}.cmTheme-print2 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333;font-size:14px;line-height:1.4em;font-family:Menlo,Courier New,Courier,monospace}.cmTheme-print2 .cmSong p{margin:0}.cmTheme-print2 .cmSection{border:1px solid black;border-radius:8px;padding:.4em;margin:.2em 0;break-inside:avoid}.cmTheme-print2 .cmSection-Chorus{background-color:#ededed}.cmTheme-print2 .cmSectionLabel{font-weight:700;font-size:.85em;text-transform:uppercase}.cmTheme-print2 .cmSectionMultiplier{text-decoration:unset;font-size:.95em}.cmTheme-print2 .cmTimeSignature,.cmTheme-print2 .cmKeyDeclaration{font-weight:700}.cmTheme-print2 .cmEmptyLine{display:none}.cmTheme-print2 .cmChordLine{font-weight:bolder}.cmTheme-print2 .cmBarSeparator{opacity:.5}.cmTheme-print2 .cmChordDuration{opacity:.7}.cmTheme-print2 .cmSubBeatGroupOpener,.cmTheme-print2 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.ErrorBoundary{padding:2rem}html,body,#app{height:100%;padding:0}.appLayout-wrapper{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.leftBar{flex-shrink:0;width:15%;max-width:250px;display:flex;flex-direction:row;flex-wrap:nowrap}.leftBar.leftBar-isCollapsed{width:48px}.theme-light .leftBar.leftBar-isCollapsed{border-right:1px solid}.theme-dark .leftBar{color:#f4f4f4;background-color:#303846}.theme-dark .leftBar.leftBar-isCollapsed{border-right:1px solid #dbdbdb}.theme-dark .leftBar.leftBar-isCollapsed:hover{background-color:#455064}@media print{.leftBar{display:none}}.rightBar{flex-shrink:0;width:15%;max-width:250px;display:flex;flex-direction:row;flex-wrap:nowrap}.rightBar.rightBar-isCollapsed{width:48px}.theme-light .rightBar.rightBar-isCollapsed{border-left:1px solid}.theme-dark .rightBar{color:#f4f4f4;background-color:#303846}.theme-dark .rightBar.rightBar-isCollapsed{border-left:1px solid #dbdbdb}.theme-dark .rightBar.rightBar-isCollapsed:hover{background-color:#455064}@media print{.rightBar{display:none}}.leftBar-content{overflow-y:scroll;flex:1 1 auto}.leftBar-isCollapsed .leftBar-content{padding:.5rem 1rem;text-align:center;cursor:pointer;overflow:hidden}.rightBar-content{overflow-y:scroll;flex:1 1 auto}.rightBar-isCollapsed .rightBar-content{padding:.5rem 1rem;text-align:center;cursor:pointer;overflow:hidden}.leftBar-collapser{flex:0 0 12px;display:flex;cursor:pointer}.leftBar-isCollapsed .leftBar-collapser{display:none}.theme-light .leftBar-collapser{border-right:1px solid}.theme-dark .leftBar-collapser{background-color:#405a73;border-right:1px solid #a8a8a8}.theme-dark .leftBar-collapser:hover{background-color:#537393}.theme-dark .leftBar-collapser{color:#f4f4f4}.leftBar-collapserIcon{flex:1 1 auto;align-self:center;font-weight:700}.leftBar-collapserIcon .icon{font-size:1.2rem}.rightBar-collapser{flex:0 0 12px;display:flex;cursor:pointer}.rightBar-isCollapsed .rightBar-collapser{display:none}.theme-light .rightBar-collapser{border-left:1px solid}.theme-dark .rightBar-collapser{background-color:#405a73;border-left:1px solid #a8a8a8}.theme-dark .rightBar-collapser:hover{background-color:#537393}.theme-dark .rightBar-collapser{color:#f4f4f4}.rightBar-collapserIcon{flex:1 1 auto;align-self:center;font-weight:700}.rightBar-collapserIcon .icon{font-size:1.2rem}.appLayout-main{flex-grow:1;display:flex;flex-direction:column;flex-wrap:nowrap}.appLayout-header{flex-shrink:0}.theme-light .appLayout-header{border-bottom:3px solid}.theme-dark .appLayout-header{color:#f4f4f4b3;background-color:#303846;border-bottom:3px solid rgb(250,191,43)}@media print{.appLayout-header{display:none}}.appLayout-content{overflow-y:auto;flex-grow:1}@media print{.appLayout-content{overflow-y:visible}}.theme-dark .appLayout-footer{color:#a8a8a8}@media print{.appLayout-footer{display:none}}.logo-isExpanded{box-sizing:border-box;padding:1.5rem 0 1rem;width:100%}.leftBar-isCollapsed .logo-isExpanded{display:none}.logo-img{margin:0 auto;width:70%}.logo-img svg{fill:#fff;aspect-ratio:1.25/1;width:80%;margin:5px auto 10px;display:block}.mainNav-entries{margin:0;padding:0;display:flex;justify-content:center;list-style-type:none;font-size:1.6rem;font-family:Open Sans,sans-serif;font-weight:400;vertical-align:middle}.mainNavEntry{display:inline-block;padding:1rem 2rem;cursor:default;font-weight:700}.mainNavEntry:hover:not(.mainNavEntry-isActive){cursor:pointer}.theme-dark .mainNavEntry:hover:not(.mainNavEntry-isDisabled):not(.mainNavEntry-isActive){color:#1c2731;background-color:#fcdd8f}.theme-dark .mainNavEntry.mainNavEntry-isActive{color:#1c2731;background-color:#fabf2b}.mainNavEntry.mainNavEntry-isDisabled{-webkit-user-select:none;user-select:none}.theme-light .mainNavEntry.mainNavEntry-isDisabled{cursor:not-allowed}.theme-dark .mainNavEntry.mainNavEntry-isDisabled{color:#a8a8a8;background-color:#303846;cursor:not-allowed}.mainNavEntry-icon .icon{margin-right:.5rem;font-size:1.4rem}.icon{vertical-align:middle}.userGuide-isExpanded{margin-left:1rem}.rightBar-isCollapsed .userGuide-isExpanded{display:none}.userGuide-isCollapsed{padding:1rem 0}.rightBar:not(.rightBar-isCollapsed) .userGuide-isCollapsed{display:none}button{border:0;border-radius:0;background-color:transparent}.Button{display:inline-block;padding:10px 20px;font-weight:700;text-transform:capitalize;margin:10px 20px 10px 0}.Button:hover{cursor:pointer}.Button:last-of-type{margin-right:0}.theme-dark .Button-primary:not(.Button-isDisabled){background-color:#fabf2b;color:#1c2731}.theme-dark .Button-primary:not(.Button-isDisabled):hover{color:#000;background-color:#fcdd8f}.theme-dark .Button-primary:not(.Button-isDisabled):active{color:#2e4052;background-color:#feecc0}.Button-primary.Button-isDisabled{cursor:not-allowed}.theme-dark .Button-primary.Button-isDisabled{background-color:#57686a;color:#404c4e}.theme-dark .Button-secondary:not(.Button-isDisabled){background-color:#a8a8a8;color:#121616}.theme-dark .Button-secondary:not(.Button-isDisabled):hover{color:#000;background-color:#c1c1c1}.theme-dark .Button-secondary:not(.Button-isDisabled):active{color:#2e4052;background-color:#dbdbdb}.Button-secondary.Button-isDisabled{cursor:not-allowed}.theme-dark .Button-secondary.Button-isDisabled{background-color:#57686a;color:#404c4e}.versions-isExpanded{margin:4rem 0;padding:0 1rem;opacity:.5;font-size:1rem}.rightBar-isCollapsed .versions-isExpanded{display:none}.versions-isExpanded a{color:inherit}.versions-isExpanded a:hover{opacity:.7}.sim-SongImporterModal_Container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;display:flex;flex-direction:column;align-items:stretch;align-content:stretch;flex-wrap:nowrap}.theme-light .sim-SongImporterModal_Container{border:1px solid}.theme-dark .sim-SongImporterModal_Container{background-color:#1e2324;border:1px solid #c1c1c1;color:#f4f4f4}.sim-Header_Container{flex:0 0 auto;display:flex}.theme-light .sim-Header_Container{border-bottom:1px solid}.theme-dark .sim-Header_Container{background-color:#303846;border-bottom:1px solid #c1c1c1;color:#f4f4f4b3}.sim-Header_Title{flex:1 1 auto;padding:20px;font-size:1.6rem;font-weight:bolder}.sim-Header_Actions{flex:0 0 auto;padding:0 10px}.sim-TwoColumns_Container{display:flex;align-self:stretch}.sim-TwoColumns_Container-autoHeight{flex:0 1 100%;min-height:0}.sim-Column_Container{flex:1 1 50%;align-self:stretch;padding:0 10px}.sim-Column_Container:first-child{padding-right:5px}.sim-Column_Container:last-child{padding-left:5px}.sim-Input_Header{height:20px;text-transform:uppercase;padding:2px;text-align:center;font-size:1.2rem}.theme-dark .sim-Input_Header{background-color:#404c4e;color:#f4f4f4b3}.sim-Input_Textarea{box-sizing:border-box;padding:10px;width:100%;height:calc(100% - 34px);max-height:calc(100% - 34px);overflow-y:scroll;resize:none;margin:0;background-color:transparent;border:0;outline:none;font-family:PT Mono,consolas,courier,monospace;font-size:1.2rem;line-height:1.5rem}.theme-dark .sim-Input_Textarea{background-color:#121616;color:#f4f4f4}.sim-Input_Textarea-Disabled{opacity:.5}.sim-Preview_Container{box-sizing:border-box;font-family:PT Mono,consolas,courier,monospace;font-size:1.2rem;white-space:pre-wrap;height:calc(100% - 34px);max-height:calc(100% - 34px);overflow-y:scroll;padding:10px}.theme-dark .sim-Preview_Container{background-color:#293132}.sim-Preview_Error{padding:10px}.theme-dark .sim-Preview_Error{color:#f4f4f4;background-color:#f91900}.sim-InputFile_Input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.sim-InputFormat{padding:10px 0}.sim-InputFormat_Entry{display:inline-block;margin:0 10px}.sim-InputFormat_Entry:hover,.sim-InputFormat_Label:hover{cursor:pointer}.sim-InputFormat_Entry-Disabled,.sim-InputFormat_Label-Disabled{opacity:.5}.sim-InputFormat_Entry-Disabled:hover,.sim-InputFormat_Label-Disabled:hover{cursor:not-allowed}.mod-ModalContainer{z-index:5000;height:100%;width:100%;position:absolute;top:0;left:0}.mod-Overlay{height:100%;width:100%;position:absolute;top:0;left:0;opacity:.7;background-color:#000}.mod-ModalConfirmContainer{z-index:5000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;padding:10px 20px}.theme-light .mod-ModalConfirmContainer{border:1px solid}.theme-dark .mod-ModalConfirmContainer{background-color:#1e2324;border:1px solid #c1c1c1;color:#f4f4f4}.mod-ModalConfirmButtons{text-align:center}.fileManager-isExpanded{font-size:1.2rem}.leftBar-isCollapsed .fileManager-isExpanded{display:none}.fileManager-isCollapsed{padding:1rem 0}.leftBar:not(.leftBar-isCollapsed) .fileManager-isCollapsed{display:none}.fileManager-actionsList{padding:1rem;display:flex;flex-direction:row;flex-wrap:wrap}.theme-dark .fileManager-actionsList{background-color:#455064}.fileManagerAction{flex:0 1 auto;padding:.5rem;margin-right:.5rem;white-space:nowrap}.fileManagerAction:hover{cursor:not-allowed}.fileManagerAction:hover:not(.fileManagerAction-isDisabled){cursor:pointer}.theme-dark .fileManagerAction:hover:not(.fileManagerAction-isDisabled){background-color:#596883}.fileManagerAction-isDisabled{-webkit-user-select:none;user-select:none;opacity:.5}.fileManagerAction-icon .icon{font-size:1.4rem}.fileManager-entriesList{padding-left:0;list-style:none}.fileManagerEntry{cursor:pointer;padding:.1rem 0}.theme-dark .fileManagerEntry:hover{background-color:#596883}.theme-dark .fileManagerEntry.fileManagerEntry-isSelected{background-color:#fabf2b}.fileManagerEntry-input{box-sizing:border-box;width:100%;padding:0 1rem;background-color:transparent;border:none;cursor:pointer;outline:none}.theme-dark .fileManagerEntry-input{color:#f4f4f4}.theme-dark .fileManagerEntry-isSelected .fileManagerEntry-input{color:#303846}.fileManagerEntry-isRenamed .fileManagerEntry-input{cursor:text}.theme-dark .fileManagerEntry-isRenamed .fileManagerEntry-input{background-color:#f4f4f4;color:#303846}.songEditor-headers{display:flex;height:20px;text-transform:uppercase;padding:3px 0;text-align:center;font-size:1.2rem}.theme-dark .songEditor-headers{background-color:#404c4e;color:#f4f4f4b3}.songEditor-sourceHeader,.songEditor-previewHeader{flex:0 1 50%}.songEditor{width:100%;height:calc(100% - 26px);display:flex;flex-direction:row;flex-wrap:nowrap}.songEditor-source{flex:0 1 50%;display:flex;overflow-y:scroll}.theme-dark .songEditor-source{background-color:#1e2324}.songEditor-preview{flex:0 1 50%;overflow-y:scroll}.editorPreview{box-sizing:border-box;padding:.5rem;min-height:100%}.cmTheme-fadeRepeats .cmLine--isFromAutoRepeatChords,.cmTheme-fadeRepeats .cmLine--isFromChordLineRepeater,.cmTheme-fadeRepeats .cmLine--isFromSectionCopy,.cmTheme-fadeRepeats .cmLine--isFromSectionMultiply{opacity:.5}.prosemirrorWrapper{flex:1 1 auto;padding:15px 0}.ProseMirror{height:100%;outline:none;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em}.theme-dark .ProseMirror{color:#dbdbdb}.ProseMirror p{margin:0;padding:0 1rem}.exportPreview{box-sizing:border-box;min-height:100%;padding:1rem}.theme-dark .exportPreview{background-color:#293132;color:#f4f4f4}.exp-SongRenderer{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:15px;white-space:pre-wrap;color:#333}.exp-SongRenderer p{margin:0}.exp-SongRenderer .txtLine{display:block}.theme-light .exp-SongRenderer{color:!important}.theme-dark .exp-SongRenderer{color:#f4f4f4!important}.playRendererWrapper1{position:relative;height:100%;overflow-y:scroll}.playRendererWrapper2{position:absolute;top:0;right:0;bottom:0;left:0}.playRenderer{box-sizing:border-box;min-height:100%}.playRenderer .cmSong{padding:0!important}.playRenderer--columns-1{column-count:1;padding:1rem}.playRenderer--columns-2{column-count:2;column-fill:auto;height:100%;padding:1rem}.playRenderer--columns-3{column-count:3;column-fill:auto;height:100%;padding:1rem}.playRenderer--columns-4{column-count:4;column-fill:auto;height:100%;padding:1rem}.printPreview{overflow:hidden;min-height:100%}.theme-dark .printPreview{background-color:#293132}@media print{.printPreview{background-color:#fff!important;overflow-y:auto}}.printPreview-page{position:relative;margin:2rem auto;background-color:#fff}@media print{.printPreview-page{margin:0;page-break-after:auto}}.printPreview-pageContentWrapper{position:absolute;top:0;left:0;bottom:0;right:0}.printPreview-pageContent{display:flex;flex-direction:column;flex-wrap:nowrap;height:100%}.printPreview-pageHeader{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.printPreview-pageColumnWrapper{flex:1;display:flex;flex-direction:row;flex-wrap:nowrap}.printPreview-pageColumn{flex:1 1 0;margin:0 .7rem}.printPreview-pageColumn:first-of-type{margin-left:0}.printPreview-pageColumn:last-of-type{margin-right:0}.printPreview-page--a4{width:210mm;height:297mm}.printPreview-page--booxmax2pro{width:698px;height:930px}.printPreview-pageContentWrapper--padding1{padding:3mm}.printPreview-pageContentWrapper--padding2{padding:6mm}.printPreview-pageContentWrapper--padding3{padding:9mm}.printPreview-pageContentWrapper--padding4{padding:12mm}.printPreview-pageContentWrapper--padding5{padding:15mm}.cmTheme-print .cmSong{padding:0!important}.measuring-node{visibility:hidden;position:absolute;z-index:-1}.rightBar-isCollapsed .renderingOptionsPanel-isExpanded{display:none}.renderingOptionsPanel-isCollapsed{padding:1rem 0}.rightBar:not(.rightBar-isCollapsed) .renderingOptionsPanel-isCollapsed{display:none}.sb-optionsGroup{padding-top:2rem}.sb-optionsGroup:first-of-type{padding-top:0}.sb-optionsGroup-title{-webkit-user-select:none;user-select:none;padding:.5rem 1rem .5rem .5rem;font-size:1.4rem;font-weight:700}.theme-light .sb-optionsGroup-title{border-bottom:2px solid}.theme-dark .sb-optionsGroup-title{border-bottom:2px solid rgba(244,244,244,.7)}.theme-dark .sb-optionsGroup-isNotInteractable .sb-optionsGroup-title{color:#71819e}.sb-optionsGroup-iconTitle .icon{font-size:1.6rem}.sb-optionsGroup-iconToggle .icon{font-size:1.8rem}.sb-optionSelect{font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionSelect{border-bottom:1px dotted}.theme-dark .sb-optionSelect{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionSelect{background-color:#1b2028}.sb-optionSelect.sb-optionSelect-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionSelect.sb-optionSelect-isNotInteractable{color:#71819e}.sb-optionSelect:hover{cursor:not-allowed}.sb-optionSelect:hover:not(.sb-optionSelect-isNotInteractable){cursor:pointer}.theme-dark .sb-optionSelect:hover:not(.sb-optionSelect-isNotInteractable){background-color:#596883}.sb-optionSelect-title{display:flex}.sb-optionSelect-desc{flex:1 1 auto}.sb-optionSelect-toggle{flex:0 0 auto}.sb-optionSelect-icon .icon{font-size:1.8rem}.sb-optionSelectChoice-activeLabel{opacity:.5}.sb-optionSelectChoice{padding-top:.5rem;display:flex}.sb-optionSelectChoice:hover:not(.sb-optionSelectChoice-isNotInteractable){text-decoration:underline;cursor:pointer}.sb-optionSelectChoice-isSelected{font-weight:700}.sb-optionSelectChoice-check{flex:0 0 20px}.sb-optionSelectChoice-checkIcon .icon{font-size:1.2rem}.sb-optionSelectChoice-label{flex:1 1 auto}.sb-optionSlider{display:flex;flex-wrap:wrap;font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionSlider{border-bottom:1px dotted}.theme-dark .sb-optionSlider{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionSlider{background-color:#1b2028}.sb-optionSlider.sb-optionSlider-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionSlider.sb-optionSlider-isNotInteractable{color:#71819e}.sb-optionSlider:hover{cursor:not-allowed}.sb-optionSlider:hover:not(.sb-optionSlider-isNotInteractable){cursor:pointer}.theme-dark .sb-optionSlider:hover:not(.sb-optionSlider-isNotInteractable){background-color:#596883}.sb-optionSlider-desc{flex:1 1 auto}.sb-optionSlider-value{flex:0 0 auto;vertical-align:middle;font-size:1.2rem}.sb-optionSlider-range{flex:1 1 100%}.theme-light .sb-optionSlider-range input[type=range]{-webkit-appearance:none;width:100%;background:transparent}.theme-light .sb-optionSlider-range input[type=range]:focus{outline:none}.theme-light .sb-optionSlider-range input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-webkit-slider-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704;-webkit-appearance:none;margin-top:-3.3333333333}.theme-light .sb-optionSlider-range input[type=range]:focus::-webkit-slider-runnable-track{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-moz-range-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704}.theme-light .sb-optionSlider-range input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;animation:.2s;color:transparent;border-width:15px 0;border-color:transparent;background:transparent}.theme-light .sb-optionSlider-range input[type=range]::-ms-fill-lower{border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-ms-fill-upper{border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-ms-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704}.theme-light .sb-optionSlider-range input[type=range]:focus::-ms-fill-lower{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]:focus::-ms-fill-upper{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]:disabled::-moz-range-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-moz-range-thumb{cursor:default}.theme-light .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-runnable-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-thumb{cursor:default}.theme-light .sb-optionSlider-range input[type=range]:disabled::-ms-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-ms-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]{-webkit-appearance:none;width:100%;background:transparent}.theme-dark .sb-optionSlider-range input[type=range]:focus{outline:none}.theme-dark .sb-optionSlider-range input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-webkit-slider-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809;-webkit-appearance:none;margin-top:-3.3333333333}.theme-dark .sb-optionSlider-range input[type=range]:focus::-webkit-slider-runnable-track{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-moz-range-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809}.theme-dark .sb-optionSlider-range input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;animation:.2s;color:transparent;border-width:15px 0;border-color:transparent;background:transparent}.theme-dark .sb-optionSlider-range input[type=range]::-ms-fill-lower{border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-ms-fill-upper{border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-ms-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809}.theme-dark .sb-optionSlider-range input[type=range]:focus::-ms-fill-lower{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]:focus::-ms-fill-upper{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-moz-range-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-moz-range-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-runnable-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-ms-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-ms-thumb{cursor:default}.sb-optionSlider-range input[type=range]:disabled{opacity:.35;cursor:not-allowed!important}.sb-optionToggle{display:flex;font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionToggle{border-bottom:1px dotted}.theme-dark .sb-optionToggle{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionToggle{background-color:#1b2028}.sb-optionToggle.sb-optionToggle-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionToggle.sb-optionToggle-isNotInteractable{color:#71819e}.sb-optionToggle:hover{cursor:not-allowed}.sb-optionToggle:hover:not(.sb-optionToggle-isNotInteractable){cursor:pointer}.theme-dark .sb-optionToggle:hover:not(.sb-optionToggle-isNotInteractable){background-color:#596883}.sb-optionToggle-desc{flex:1 1 auto}.sb-optionToggle-icon{flex:0 0 auto}.theme-dark .sb-optionToggle-isOff .icon{color:#a8a8a8}.sb-optionToggle-icon .icon{font-size:1.8rem}.theme-dark .sb-optionToggle-isOff .sb-optionToggle-icon .icon{color:#a8a8a8}
diff --git a/packages/chord-chart-studio/build/assets/index-COv2kAVA.js b/packages/chord-chart-studio/build/assets/index-D-AW_nO6.js
similarity index 64%
rename from packages/chord-chart-studio/build/assets/index-COv2kAVA.js
rename to packages/chord-chart-studio/build/assets/index-D-AW_nO6.js
index 1b2856f..a0f8e35 100644
--- a/packages/chord-chart-studio/build/assets/index-COv2kAVA.js
+++ b/packages/chord-chart-studio/build/assets/index-D-AW_nO6.js
@@ -1,4 +1,4 @@
-import{c as vt,_ as Ft,a as Tt,d as Nt,b as St,e as _e,f as L,g as k,p as J,h as wt,i as Et,j as _t,k as qt,t as Pt,v as qe,R as C,l as r,P as i,m as Pe,n as It,U as Mt,o as Ot,q as Ie,u as Me,r as R,s as ve,w as Lt,x as N,y as Fe,z as kt,A as Bt,B as At,C as Dt,D as Wt,F as Gt,E as Ht,G as Te,H as $t,I as zt,J as Vt,S as Ut,K as Kt,L as Yt,M as Jt,N as Qt,O as Ne,Q as Xt}from"./vendor-BPGk5lTF.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=n(o);fetch(o.href,a)}})();const Zt=()=>{try{const e=localStorage.getItem("state");return e?JSON.parse(e):void 0}catch{return}},en=e=>{try{const t=JSON.stringify(e);localStorage.setItem("state",t)}catch{}};function Oe(){return Date.now()}const B="db/files/Create",A="db/files/Delete",I="db/files/Import",Q="db/files/Update",X="db/options/setOptionValue",D="ui/layout/app/setEditorMode",Le="ui/layout/app/toggleLeftBar",ke="ui/layout/app/toggleRightBar",tn=e=>e.ui.layout.app.isLeftBarCollapsed,nn=e=>e.ui.layout.app.isRightBarCollapsed,_=e=>e.ui.layout.app.editorMode,S=e=>e.fileManager.selected,rn=e=>e.fileManager.renamed,sn=e=>e.fileManager.defaultTitle,on=vt(Nt,St),Z=on(e=>Ft(e.db.files.allFiles,({title:t,id:n})=>({title:t,id:n})),e=>Tt(e,t=>t.title.toLowerCase())),ee=(e,t)=>e.db.files.allFiles[t],te=(e,t,n)=>{const s=e.db.files.allFiles[t];if(s&&(s.options||{})[n])return Object.keys(s.options[n]).length===0?void 0:_e(s.options[n])},Be=(e,t)=>{const n=e.db.files.allFiles[t];if(!n)return;const s=n.options||{},o=[];if(s.edit&&o.push({...s.edit}),s.play&&o.push({...s.play}),s.print&&o.push({...s.print}),s.export&&o.push({...s.export}),!!o.length)return o.sort((a,l)=>a.updatedAt-l.updatedAt),o.reduce((a,l)=>Object.assign(a,l),{})},ne={edit:["theme","transposeValue","preferredAccidentals","symbolType"],play:["theme","transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy","columnsCount","fontSize"],print:["transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy","columnsCount","columnBreakOnSection","documentMargins","fontSize"],export:["chartFormat","transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]},an={allFiles:{}};function ln(e,t){const{id:n,title:s,content:o}=t.payload,a={...e.allFiles};return a[n]={id:n,title:s,content:o},{...e,allFiles:a}}function cn(e,t){const{id:n,title:s,content:o}=t.payload;if(!s&&typeof o>"u"||!e.allFiles[n])return e;const a={...e.allFiles};return a[n]={...a[n]},s&&(a[n].title=s),typeof o<"u"&&(a[n].content=o),{...e,allFiles:a}}function dn(e,t){const{id:n}=t.payload;if(!n||!e.allFiles[n])return e;const s={...e.allFiles};return delete s[n],{...e,allFiles:s}}function un(e,t,n){const{context:s,key:o,value:a}=t.payload,l=S(n),c={...e.allFiles};if(["songFormatting","songPreferences"].includes(s)&&c[l]){const d=_(n),u=s==="songPreferences"?"preferences":d;return c[l]=pn(c[l],u,o,a),{...e,allFiles:c}}return e}function pn(e,t,n,s){return{...e,options:{...e.options,[t]:{...(e.options||{})[t],updatedAt:Oe(),[n]:s}}}}function mn(e,t,n){const s=S(n),o=t.payload.mode;if(!!!te(n,s,o)){const l=L(Be(n,s)||{},ne[o]);if(Object.keys(l).length){l.updatedAt=Oe();const c={...e.allFiles};return c[s]={...c[s],options:{...c[s].options,[o]:l}},{...e,allFiles:c}}}return e}const hn=(e=an,t={},n={})=>{switch(t.type){case B:case I:return ln(e,t);case Q:return cn(e,t);case A:return dn(e,t);case X:return un(e,t,n);case D:return mn(e,t,n)}return e},re="fileManager/select",Ae="fileManager/enableRename",p=(e,t,n)=>{if(!(!e.db.options[t]||!e.db.options[t].values||typeof e.db.options[t].values[n]>"u"))return e.db.options[t].values[n]},P=(e,t)=>{if(!(!e.db.options[t]||!e.db.options[t].defaults))return _e(e.db.options[t].defaults)},gn={};function fn(e,t){const{context:n,key:s,value:o}=t.payload;if(!e[n]||!e[n].values||typeof e[n].values[s]>"u")return e;const a={...e,[n]:{...e[n],values:{...e[n].values}}};return a[n].values[s]=o,a}function yn(e,t,n){const s=S(n),o=t.payload.mode,a=De(n,s,o);return{...e,songFormatting:{...e.songFormatting,values:{...a}}}}function De(e,t,n){const s=P(e,"songFormatting");let o=te(e,t,n);return o||(o=Be(e,t)||{}),delete o.updatedAt,o=L(o,ne[n]),Object.assign(s,o)}function bn(e,t,n){const{id:s}=t.payload,o=_(n),a=De(n,s,o),l=te(n,s,"preferences")||{};delete l.updatedAt;const c=P(n,"songPreferences"),d=Object.assign(c,l);return{...e,songPreferences:{...e.songPreferences,values:{...d}},songFormatting:{...e.songFormatting,values:{...a}}}}const xn=(e=gn,t={},n={})=>{switch(t.type){case X:return fn(e,t);case D:return yn(e,t,n);case re:return bn(e,t,n)}return e},Cn=k({files:hn,options:xn}),jn={selected:"",renamed:"",defaultTitle:"[untitled]"};function Rn(e=jn,t={}){switch(t.type){case B:{const{id:n}=t.payload;return{...e,selected:n,renamed:n}}case I:{const{id:n}=t.payload;return{...e,selected:n,renamed:""}}case Q:return{...e,renamed:""};case A:return{...e,selected:"",renamed:""};case re:{const{id:n}=t.payload;return{...e,selected:n,renamed:n===e.renamed?n:""}}case Ae:{const{id:n}=t.payload;return{...e,renamed:n}}}return e}const We="songImporter/import/cancel",se="songImporter/import/start",Ge="songImporter/setContent",He="songImporter/setInputFormat";function q(e){return J.sanitize(e,{ALLOWED_TAGS:["#text"],KEEP_CONTENT:!0})}const vn={content:"",isFromWeb:!1,isImporting:!1,inputFormat:"auto",title:""};function Fn(e=vn,t={}){switch(t.type){case Ge:{const{content:n,title:s=""}=t.payload;return{...e,content:q(n),title:s?q(s):e.title}}case He:{const{inputFormat:n}=t.payload;return{...e,inputFormat:n}}case I:case We:return{...e,content:"",title:"",isImporting:!1};case se:{const{content:n,inputFormat:s,title:o,isFromWeb:a}=t.payload;return{...e,isImporting:!0,content:n?q(n):"",title:o?q(o):"",inputFormat:s||e.inputFormat,isFromWeb:a}}}return e}const Tn={isLeftBarCollapsed:!1,isRightBarCollapsed:!1,editorMode:"edit",activeModal:"none"};function Nn(e=Tn,t={}){switch(t.type){case Le:return{...e,isLeftBarCollapsed:!e.isLeftBarCollapsed};case ke:return{...e,isRightBarCollapsed:!e.isRightBarCollapsed};case D:{const{mode:n}=t.payload;return{...e,editorMode:n}}case A:case B:case I:return{...e,editorMode:"edit"}}return e}const Sn=k({app:Nn}),wn=k({layout:Sn}),En=k({db:Cn,fileManager:Rn,songImporter:Fn,ui:wn}),_n={editorPreferences:{values:{theme:"dark1",chartFormat:"chordmark"},defaults:{theme:"dark1",chartFormat:"chordmark"}},songPreferences:{values:{transposeValue:0,preferredAccidentals:"auto",symbolType:"chord"},defaults:{transposeValue:0,preferredAccidentals:"auto",symbolType:"chord"}},songFormatting:{values:{chartType:"all",alignChordsWithLyrics:!0,alignBars:!0,autoRepeatChords:!0,expandSectionCopy:!0,fontSize:0,columnsCount:1,columnBreakOnSection:!0,documentMargins:3},defaults:{chartType:"all",alignChordsWithLyrics:!0,alignBars:!0,autoRepeatChords:!0,expandSectionCopy:!0,fontSize:0,columnsCount:1,columnBreakOnSection:!0,documentMargins:3}}},qn={options:_n},Pn={db:qn};let O;function In(){const e=wt(Et(Pt)),t=Zt();t&&t.db&&t.db.options&&delete t.db.options.rendering;const n=_t(t,Pn);O=qt(En,n,e),O.subscribe(()=>{en(O.getState())})}function W(){return O}function v(e,t){if(!e)throw new TypeError("Cannot create an action without an action type");return{type:e,payload:t}}const Mn=(e,t)=>v(Ge,{content:e,title:t}),On=e=>v(He,{inputFormat:e}),Ln=()=>v(se,{isFromWeb:!1}),kn=(e,t,n)=>v(se,{content:t,inputFormat:e,title:n,isFromWeb:!0}),Bn=()=>v(We),An={"@CCS/IMPORT_TAB":e=>{const t=W(),n=Dn(e.title,e.artist);t.dispatch(kn(e.inputFormat,e.chordChart,n))}},Dn=(e,t)=>"_"+(t?t+" - ":"")+e;function Wn(){return An}function Gn(){window.addEventListener("message",Hn)}const Hn=e=>{const t={...Wn()};if(e.source!==window||e.origin!==window.location.origin)return!1;const n=e.data;return typeof t[n.type]=="function"&&t[n.type](n.payload),!0},$n=(e,t="")=>{if(!e)throw new TypeError("Cannot create a file without title");const n={id:qe(),title:e,content:t};return v(B,n)},U=(e,t="")=>{if(!e)throw new TypeError("Cannot import a file without title");const n={id:qe(),title:e,content:t};return v(I,n)},$e=(e,{title:t,content:n}={})=>{if(!e)throw new TypeError("Cannot update a file without an id");return v(Q,{id:e,title:t,content:n})},zn=e=>v(A,{id:e}),Vn=`Welcome to Chord Chart Studio!
+import{c as vt,_ as Ft,a as Nt,d as Tt,b as St,e as Ee,f as L,g as k,p as J,h as wt,i as _t,j as Et,k as qt,t as Pt,v as qe,R as C,l as r,P as i,m as Pe,n as It,U as Mt,o as Ot,q as Ie,u as Me,r as R,s as ve,w as Lt,x as T,y as Fe,z as kt,A as Bt,B as At,C as Dt,D as Wt,F as Gt,E as Ht,G as Ne,H as $t,I as zt,J as Vt,S as Ut,K as Kt,L as Yt,M as Jt,N as Qt,O as Te,Q as Xt}from"./vendor-BPGk5lTF.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=n(o);fetch(o.href,a)}})();const Zt=()=>{try{const e=localStorage.getItem("state");return e?JSON.parse(e):void 0}catch{return}},en=e=>{try{const t=JSON.stringify(e);localStorage.setItem("state",t)}catch{}};function Oe(){return Date.now()}const B="db/files/Create",A="db/files/Delete",I="db/files/Import",Q="db/files/Update",X="db/options/setOptionValue",D="ui/layout/app/setEditorMode",Le="ui/layout/app/toggleLeftBar",ke="ui/layout/app/toggleRightBar",tn=e=>e.ui.layout.app.isLeftBarCollapsed,nn=e=>e.ui.layout.app.isRightBarCollapsed,E=e=>e.ui.layout.app.editorMode,S=e=>e.fileManager.selected,rn=e=>e.fileManager.renamed,sn=e=>e.fileManager.defaultTitle,on=vt(Tt,St),Z=on(e=>Ft(e.db.files.allFiles,({title:t,id:n})=>({title:t,id:n})),e=>Nt(e,t=>t.title.toLowerCase())),ee=(e,t)=>e.db.files.allFiles[t],te=(e,t,n)=>{const s=e.db.files.allFiles[t];if(s&&(s.options||{})[n])return Object.keys(s.options[n]).length===0?void 0:Ee(s.options[n])},Be=(e,t)=>{const n=e.db.files.allFiles[t];if(!n)return;const s=n.options||{},o=[];if(s.edit&&o.push({...s.edit}),s.play&&o.push({...s.play}),s.print&&o.push({...s.print}),s.export&&o.push({...s.export}),!!o.length)return o.sort((a,l)=>a.updatedAt-l.updatedAt),o.reduce((a,l)=>Object.assign(a,l),{})},ne={edit:["theme","transposeValue","preferredAccidentals","symbolType"],play:["theme","transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy","columnsCount","fontSize"],print:["transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy","columnsCount","columnBreakOnSection","documentMargins","fontSize"],export:["chartFormat","transposeValue","preferredAccidentals","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]},an={allFiles:{}};function ln(e,t){const{id:n,title:s,content:o}=t.payload,a={...e.allFiles};return a[n]={id:n,title:s,content:o},{...e,allFiles:a}}function cn(e,t){const{id:n,title:s,content:o}=t.payload;if(!s&&typeof o>"u"||!e.allFiles[n])return e;const a={...e.allFiles};return a[n]={...a[n]},s&&(a[n].title=s),typeof o<"u"&&(a[n].content=o),{...e,allFiles:a}}function dn(e,t){const{id:n}=t.payload;if(!n||!e.allFiles[n])return e;const s={...e.allFiles};return delete s[n],{...e,allFiles:s}}function un(e,t,n){const{context:s,key:o,value:a}=t.payload,l=S(n),c={...e.allFiles};if(["songFormatting","songPreferences"].includes(s)&&c[l]){const d=E(n),u=s==="songPreferences"?"preferences":d;return c[l]=pn(c[l],u,o,a),{...e,allFiles:c}}return e}function pn(e,t,n,s){return{...e,options:{...e.options,[t]:{...(e.options||{})[t],updatedAt:Oe(),[n]:s}}}}function mn(e,t,n){const s=S(n),o=t.payload.mode;if(!!!te(n,s,o)){const l=L(Be(n,s)||{},ne[o]);if(Object.keys(l).length){l.updatedAt=Oe();const c={...e.allFiles};return c[s]={...c[s],options:{...c[s].options,[o]:l}},{...e,allFiles:c}}}return e}const hn=(e=an,t={},n={})=>{switch(t.type){case B:case I:return ln(e,t);case Q:return cn(e,t);case A:return dn(e,t);case X:return un(e,t,n);case D:return mn(e,t,n)}return e},re="fileManager/select",Ae="fileManager/enableRename",p=(e,t,n)=>{if(!(!e.db.options[t]||!e.db.options[t].values||typeof e.db.options[t].values[n]>"u"))return e.db.options[t].values[n]},P=(e,t)=>{if(!(!e.db.options[t]||!e.db.options[t].defaults))return Ee(e.db.options[t].defaults)},gn={};function fn(e,t){const{context:n,key:s,value:o}=t.payload;if(!e[n]||!e[n].values||typeof e[n].values[s]>"u")return e;const a={...e,[n]:{...e[n],values:{...e[n].values}}};return a[n].values[s]=o,a}function yn(e,t,n){const s=S(n),o=t.payload.mode,a=De(n,s,o);return{...e,songFormatting:{...e.songFormatting,values:{...a}}}}function De(e,t,n){const s=P(e,"songFormatting");let o=te(e,t,n);return o||(o=Be(e,t)||{}),delete o.updatedAt,o=L(o,ne[n]),Object.assign(s,o)}function bn(e,t,n){const{id:s}=t.payload,o=E(n),a=De(n,s,o),l=te(n,s,"preferences")||{};delete l.updatedAt;const c=P(n,"songPreferences"),d=Object.assign(c,l);return{...e,songPreferences:{...e.songPreferences,values:{...d}},songFormatting:{...e.songFormatting,values:{...a}}}}const xn=(e=gn,t={},n={})=>{switch(t.type){case X:return fn(e,t);case D:return yn(e,t,n);case re:return bn(e,t,n)}return e},Cn=k({files:hn,options:xn}),jn={selected:"",renamed:"",defaultTitle:"[untitled]"};function Rn(e=jn,t={}){switch(t.type){case B:{const{id:n}=t.payload;return{...e,selected:n,renamed:n}}case I:{const{id:n}=t.payload;return{...e,selected:n,renamed:""}}case Q:return{...e,renamed:""};case A:return{...e,selected:"",renamed:""};case re:{const{id:n}=t.payload;return{...e,selected:n,renamed:n===e.renamed?n:""}}case Ae:{const{id:n}=t.payload;return{...e,renamed:n}}}return e}const We="songImporter/import/cancel",se="songImporter/import/start",Ge="songImporter/setContent",He="songImporter/setInputFormat";function q(e){return J.sanitize(e,{ALLOWED_TAGS:["#text"],KEEP_CONTENT:!0})}const vn={content:"",isFromWeb:!1,isImporting:!1,inputFormat:"auto",title:""};function Fn(e=vn,t={}){switch(t.type){case Ge:{const{content:n,title:s=""}=t.payload;return{...e,content:q(n),title:s?q(s):e.title}}case He:{const{inputFormat:n}=t.payload;return{...e,inputFormat:n}}case I:case We:return{...e,content:"",title:"",isImporting:!1};case se:{const{content:n,inputFormat:s,title:o,isFromWeb:a}=t.payload;return{...e,isImporting:!0,content:n?q(n):"",title:o?q(o):"",inputFormat:s||e.inputFormat,isFromWeb:a}}}return e}const Nn={isLeftBarCollapsed:!1,isRightBarCollapsed:!1,editorMode:"edit",activeModal:"none"};function Tn(e=Nn,t={}){switch(t.type){case Le:return{...e,isLeftBarCollapsed:!e.isLeftBarCollapsed};case ke:return{...e,isRightBarCollapsed:!e.isRightBarCollapsed};case D:{const{mode:n}=t.payload;return{...e,editorMode:n}}case A:case B:case I:return{...e,editorMode:"edit"}}return e}const Sn=k({app:Tn}),wn=k({layout:Sn}),_n=k({db:Cn,fileManager:Rn,songImporter:Fn,ui:wn}),En={editorPreferences:{values:{theme:"dark1",chartFormat:"chordmark"},defaults:{theme:"dark1",chartFormat:"chordmark"}},songPreferences:{values:{transposeValue:0,preferredAccidentals:"auto",symbolType:"chord"},defaults:{transposeValue:0,preferredAccidentals:"auto",symbolType:"chord"}},songFormatting:{values:{chartType:"all",alignChordsWithLyrics:!0,alignBars:!0,autoRepeatChords:!0,expandSectionCopy:!0,fontSize:0,columnsCount:1,columnBreakOnSection:!0,documentMargins:3},defaults:{chartType:"all",alignChordsWithLyrics:!0,alignBars:!0,autoRepeatChords:!0,expandSectionCopy:!0,fontSize:0,columnsCount:1,columnBreakOnSection:!0,documentMargins:3}}},qn={options:En},Pn={db:qn};let O;function In(){const e=wt(_t(Pt)),t=Zt();t&&t.db&&t.db.options&&delete t.db.options.rendering;const n=Et(t,Pn);O=qt(_n,n,e),O.subscribe(()=>{en(O.getState())})}function W(){return O}function v(e,t){if(!e)throw new TypeError("Cannot create an action without an action type");return{type:e,payload:t}}const Mn=(e,t)=>v(Ge,{content:e,title:t}),On=e=>v(He,{inputFormat:e}),Ln=()=>v(se,{isFromWeb:!1}),kn=(e,t,n)=>v(se,{content:t,inputFormat:e,title:n,isFromWeb:!0}),Bn=()=>v(We),An={"@CCS/IMPORT_TAB":e=>{const t=W(),n=Dn(e.title,e.artist);t.dispatch(kn(e.inputFormat,e.chordChart,n))}},Dn=(e,t)=>"_"+(t?t+" - ":"")+e;function Wn(){return An}function Gn(){window.addEventListener("message",Hn)}const Hn=e=>{const t={...Wn()};if(e.source!==window||e.origin!==window.location.origin)return!1;const n=e.data;return typeof t[n.type]=="function"&&t[n.type](n.payload),!0},$n=(e,t="")=>{if(!e)throw new TypeError("Cannot create a file without title");const n={id:qe(),title:e,content:t};return v(B,n)},U=(e,t="")=>{if(!e)throw new TypeError("Cannot import a file without title");const n={id:qe(),title:e,content:t};return v(I,n)},$e=(e,{title:t,content:n}={})=>{if(!e)throw new TypeError("Cannot update a file without an id");return v(Q,{id:e,title:t,content:n})},zn=e=>v(A,{id:e}),Vn=`Welcome to Chord Chart Studio!
Chord Chart Studio is the official editor of the ChordMark format.
You can use it to quickly write accurate transcription of songs made up of chords and lyrics.
@@ -50,11 +50,11 @@ She _broke your throne and she _cut your hair
And _from your lips she _drew the halle_lujah
#c
-`;function Kn(){const e=W(),t=e.getState();Z(t).length===0&&(e.dispatch(U("Hallelujah - Leonard Cohen",Un)),e.dispatch(U("Getting started",Vn)))}class ze extends C.Component{constructor(t){super(t),this.state={error:null,errorInfo:null}}componentDidCatch(t,n){this.setState({error:t,errorInfo:n})}render(){return this.state.errorInfo?r.jsxs("div",{className:"ErrorBoundary",children:[r.jsx("h2",{children:"Something went wrong"}),r.jsxs("details",{style:{whiteSpace:"pre-wrap"},open:!0,children:[this.state.error&&this.state.error.toString(),r.jsx("br",{}),this.state.errorInfo.componentStack]})]}):this.props.children}}ze.propTypes={children:i.any};let z;function Yn(e,t){const n=document.getElementById("app");z||(z=Pe(n)),z.render(r.jsx(It,{store:W(),children:r.jsx(C.StrictMode,{children:r.jsx(ze,{children:r.jsx(e,{...t})})})}))}const Jn="/app";let K,Ve;const Qn={init(e){const t=e.map(n=>({...n,path:Jn+n.path,action:s=>({Controller:n.action,params:s.params})}));K=new Mt(t,{errorHandler(n,s){console.error(`Error: Cannot find route for path: ${s.pathname}`)}}),Ve=Ot(K,{stringifyQueryParams:Ie.stringify})}};function G(e,t=!0){const n=new URL(e,window.location.origin);return K.resolve(n.pathname).then(({Controller:s,params:o}={})=>{if(s){t&&Xn(e);const a=Ie.parse(n.search,{ignoreQueryPrefix:!0});Yn(s,{...o,...a})}})}function Ue(e,t){try{return Ve(e,t)}catch(n){console.error(n.toString())}}function Xn(e){window.history.pushState({url:e},null,e)}window.addEventListener("popstate",()=>{const e=window.location.pathname+window.location.search;G(e,!1)});function Zn(){const t=Me(Z).map(n=>r.jsx(er,{song:n},n.id));return r.jsxs("div",{children:["Full Library",r.jsx("ul",{children:t})]})}const er=({song:e})=>{const t=n=>{n.preventDefault(),G(Ue("songView",{songId:e.id}))};return r.jsx("li",{children:r.jsx("a",{href:`/song/${e.id}`,onClick:t,children:e.title})})},tr=[{name:"library",path:"/library",action:Zn}];function nr({songId:e}){const t=Me(s=>ee(s,e)),n=s=>{s.preventDefault(),G(Ue("library"))};return r.jsxs("div",{children:[r.jsx("a",{href:"",onClick:n,children:"Go back to list"}),r.jsx("br",{}),r.jsx("b",{children:t.title}),r.jsx("p",{children:t.content})]})}const rr=[{name:"songView",path:"/songView/:songId",action:nr}],Ke=e=>v(D,{mode:e}),sr=()=>v(Le),ir=()=>v(ke),or="/app/assets/logo-D2B3txiq.svg";function ar(){return r.jsx("div",{className:"logo",children:r.jsx("div",{className:"logo-isExpanded",children:r.jsx("div",{className:"logo-img",children:r.jsxs("svg",{className:"stacked",children:[r.jsx("title",{children:"Chord Chart Studio"}),r.jsx("use",{href:or+"#stacked"})]})})})})}const lr=C.memo(ar);function Ye(e){const{iconName:t}=e,n=["icon","material-icons"];return r.jsx("i",{className:n.join(" "),children:t})}Ye.propTypes={iconName:i.string.isRequired};const x=C.memo(Ye);function Je(e){const{label:t,icon:n,editorMode:s,setEditorMode:o,isActive:a,isDisabled:l}=e,c=["mainNavEntry"];a&&c.push("mainNavEntry-isActive"),l&&c.push("mainNavEntry-isDisabled");function d(){l||o(s)}return r.jsxs("li",{className:c.join(" "),onClick:d,children:[r.jsx("span",{className:"mainNavEntry-icon",children:r.jsx(x,{iconName:n})}),t]})}Je.propTypes={label:i.string.isRequired,icon:i.string.isRequired,editorMode:i.string.isRequired,setEditorMode:i.func.isRequired,isActive:i.bool.isRequired,isDisabled:i.bool.isRequired};const cr=C.memo(Je);function Qe(e){const{currentMode:t,allEntries:n,setEditorMode:s,selectedId:o}=e;return r.jsx("nav",{className:"mainNav",children:r.jsx("ul",{className:"mainNav-entries",children:n.map((a,l)=>r.jsx(cr,{isActive:!!o&&a.editorMode===t,isDisabled:!o,setEditorMode:s,...a},l))})})}Qe.propTypes={currentMode:i.string.isRequired,setEditorMode:i.func.isRequired,selectedId:i.string,allEntries:i.arrayOf(i.shape({id:i.string.isRequired,label:i.string.isRequired,icon:i.string.isRequired,editorMode:i.string.isRequired}))};const dr=C.memo(Qe),E=({children:e,isDisabled:t,buttonName:n,onClick:s,type:o})=>{const a=["Button"];return o==="primary"&&a.push("Button-primary"),o==="secondary"&&a.push("Button-secondary"),t&&a.push("Button-isDisabled"),r.jsx("button",{className:a.join(" "),disabled:t,type:"button",name:n,onClick:s,children:e})};E.propTypes={children:i.string.isRequired,isDisabled:i.bool,buttonName:i.string.isRequired,type:i.string.isRequired,onClick:i.func.isRequired};E.defaultProps={isDisabled:!1};const ur="https://chord-chart-studio.netlify.app",ie=()=>{const e=()=>{window.open(ur,"_blank").focus()};return r.jsxs("div",{className:"userGuide",children:[r.jsx("div",{className:"userGuide-isCollapsed",children:r.jsx(x,{iconName:"help_outline"})}),r.jsx("div",{className:"userGuide-isExpanded",children:r.jsx(E,{buttonName:"userGuide",type:"primary",onClick:e,children:"User Guide"})})]})};ie.propTypes={};ie.defaultProps={};const pr=C.memo(ie),mr=()=>({"chord-chart-studio":"v0.14.0","chord-symbol":"v4.0.0","chord-mark":"v0.16.2"});function hr(){const e=mr();return r.jsx("div",{className:"versions",children:r.jsxs("div",{className:"versions-isExpanded",children:["Chord Chart Studio ",e["chord-chart-studio"],r.jsx("br",{}),"ChordMark ",e["chord-mark"]," ",r.jsx("br",{}),"ChordSymbol ",e["chord-symbol"]," ",r.jsx("br",{}),"Logo by"," ",r.jsx("a",{href:"https://spelling-bee-assistant.app/",target:"_blank",rel:"noreferrer",children:"Dieter Raber"})]})})}const gr=C.memo(hr),fr=e=>e.songImporter.content,yr=e=>e.songImporter.inputFormat,br=e=>e.songImporter.title,xr=e=>e.songImporter.isImporting,Cr=e=>e.songImporter.isFromWeb;function oe(e){const{children:t,closeModal:n}=e;return R.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keyup",s),()=>{window.removeEventListener("keyup",s)}}),r.jsxs("section",{className:"mod-ModalContainer",children:[r.jsx("div",{className:"mod-Overlay",onClick:n,"data-testid":"modal-overlay"}),r.jsx("div",{className:"mod-ContentContainer",children:t})]})}oe.propTypes={children:i.element.isRequired,closeModal:i.func.isRequired};const Xe=({cancelImport:e,chordMarkContent:t,importFile:n,title:s,content:o,error:a})=>{const l=s?'Import "'+s+'"':"Import song",c=()=>{n(s||"[untitled]",t)};return r.jsxs("div",{className:"sim-Header_Container",children:[r.jsx("div",{className:"sim-Header_Title",children:l}),r.jsxs("div",{className:"sim-Header_Actions",children:[r.jsx(E,{onClick:e,buttonName:"cancel",type:"secondary",children:"CANCEL"}),r.jsx(E,{onClick:c,buttonName:"import",type:"primary",isDisabled:o===""||a!=="",children:"IMPORT"})]})]})};Xe.propTypes={cancelImport:i.func.isRequired,chordMarkContent:i.string,content:i.string,error:i.string,importFile:i.func.isRequired,title:i.string};const Ze=50*1024,jr=e=>new Promise((t,n)=>{if(e.length){const s=e[0];vr(s)?n(Tr(s.size)):Fr(s)?s.text().then(o=>{t({content:o,title:Rr(s)})}).catch(o=>{n(o)}):n(Nr(s))}else n(Sr())}),Rr=e=>e.name.substr(0,e.name.lastIndexOf(".")),vr=e=>e.size>Ze,Fr=e=>e.type.indexOf("text")===0||e.type.length===0,Tr=e=>"The selected file is too big: "+ve(e,{round:0})+" (maximum allowed file size is "+ve(Ze,{round:0})+").",Nr=e=>"Cannot import file of type "+e.type+".",Sr=()=>"No file selected.",wr="text/*,.cho,.crd,.chopro,.chord,.pro,.txt,.md",et=({setContent:e})=>{const t=n=>{jr(n.target.files).then(s=>{e(s.content,s.title)}).catch(s=>{e(s)})};return r.jsxs("div",{children:[r.jsx("label",{htmlFor:"importSong-Input",className:"Button Button-primary",children:"Select File"}),r.jsx("input",{id:"importSong-Input",name:"importSong-Input",type:"file",className:"sim-InputFile_Input",onChange:t,accept:wr})]})};et.propTypes={setContent:i.func.isRequired};function ae(e){const{content:t,setContent:n,isDisabled:s}=e,o=l=>{n(l.target.value)},a=["sim-Input_Textarea"];return s&&a.push("sim-Input_Textarea-Disabled"),r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"sim-Input_Header",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"Copy/paste below",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsx("textarea",{className:a.join(" "),onChange:o,value:t,disabled:s,"data-testid":"sim-input"})]})}ae.propTypes={content:i.string.isRequired,isDisabled:i.bool.isRequired,setContent:i.func.isRequired};ae.defaultProps={};function le(e){const{inputFormat:t,error:n}=e;return r.jsxs("div",{className:"sim-Preview_Error",children:[r.jsxs("p",{children:["There was an error when trying to parse the song in the specified input format (",t,").",r.jsx("br",{}),"Please correct the input or try another format.",r.jsx("br",{}),"The error was:"]}),r.jsxs("p",{children:['"',n,'"']}),r.jsx("p",{children:'Hint: most of the time, this is related to an unclosed "[" or "{" or an unsupported ChordPro directive'})]})}le.propTypes={error:i.string,inputFormat:i.string.isRequired};le.defaultProps={};function ce(e){const{setInputFormat:t,inputFormat:n,id:s,label:o,isDisabled:a}=e,l=u=>{a||t(u.target.value)},c=["sim-InputFormat_Entry"],d=["sim-InputFormat_Label"];return a&&(c.push("sim-InputFormat_Entry-Disabled"),d.push("sim-InputFormat_Label-Disabled")),r.jsxs(r.Fragment,{children:[r.jsx("input",{className:c.join(" "),type:"radio",name:"inputFormat",id:s,value:s,onChange:l,checked:n===s}),r.jsx("label",{className:d.join(" "),htmlFor:s,children:o})]})}ce.propTypes={setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired,id:i.string.isRequired,label:i.string.isRequired,isDisabled:i.bool.isRequired};ce.defaultProps={};const Er=[{id:"auto",label:"Detect"},{id:"chordPro",label:"Bracketed chords (ChordPro)"},{id:"chordsOverLyrics",label:"Chords over lyrics (Ultimate Guitar...)"}];function de(e){const{setInputFormat:t,inputFormat:n,disableAll:s}=e,o=Er.map(a=>r.jsx(ce,{setInputFormat:t,id:a.id,label:a.label,inputFormat:n,isDisabled:s},a.id));return r.jsxs("div",{className:"sim-InputFormat",children:["Input format:",o]})}de.propTypes={disableAll:i.bool.isRequired,setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired};de.defaultProps={};function ue(e){const{cancelImport:t,content:n,importFile:s,isFromWeb:o,isImporting:a,setContent:l,setInputFormat:c,inputFormat:d,title:u}=e;if(!a)return null;let h="",m="";try{h=Lt(n,{inputFormat:d})}catch(f){m=f.message}return r.jsx(oe,{closeModal:t,children:r.jsxs("div",{className:"sim-SongImporterModal_Container","data-testid":"song-importer",children:[r.jsx(Xe,{cancelImport:t,chordMarkContent:h,content:n,error:m,importFile:s,title:u}),r.jsxs("div",{className:"sim-TwoColumns_Container",children:[r.jsx("div",{className:"sim-Column_Container",children:r.jsx(et,{setContent:l})}),r.jsx("div",{className:"sim-Column_Container",children:r.jsx(de,{inputFormat:d,setInputFormat:c,disableAll:o===!0})})]}),r.jsxs("div",{className:"sim-TwoColumns_Container sim-TwoColumns_Container-autoHeight",children:[r.jsx("div",{className:"sim-Column_Container",children:r.jsx(ae,{content:n,setContent:l,isDisabled:o})}),r.jsxs("div",{className:"sim-Column_Container",children:[r.jsxs("div",{className:"sim-Input_Header",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"ChordMark preview",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsx("div",{className:"sim-Preview_Container","data-testid":"sim-preview",children:m?r.jsx(le,{inputFormat:d,error:m}):h})]})]})]})})}ue.propTypes={cancelImport:i.func.isRequired,content:i.string.isRequired,importFile:i.func.isRequired,isFromWeb:i.bool.isRequired,isImporting:i.bool.isRequired,setContent:i.func.isRequired,setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired,title:i.string};ue.defaultProps={};const _r=N(e=>({content:fr(e),isFromWeb:Cr(e),isImporting:xr(e),inputFormat:yr(e),title:br(e)}),{setContent:Mn,setInputFormat:On,cancelImport:Bn,importFile:U})(ue),qr=[{id:"edit",label:"Edit",icon:"create",editorMode:"edit"},{id:"play",label:"Screen view",icon:"music_note",editorMode:"play"},{id:"print",label:"Print/PDF Preview",icon:"print",editorMode:"print"},{id:"export",label:"Export Preview",icon:"save_alt",editorMode:"export"}];function pe(e){const{editorMode:t,isLeftBarCollapsed:n,isRightBarCollapsed:s,toggleLeftBar:o,toggleRightBar:a,setEditorMode:l,selectedId:c,leftBar:d,rightBar:u}=e,h=["leftBar"];n&&h.push("leftBar-isCollapsed");const m=["rightBar"];return s&&m.push("rightBar-isCollapsed"),r.jsxs("div",{className:"appLayout-wrapper",children:[r.jsx(_r,{}),r.jsxs("section",{className:h.join(" "),children:[r.jsxs("div",{className:"leftBar-content",onClick:n?o:null,children:[r.jsx(lr,{}),d]}),r.jsx("div",{className:"leftBar-collapser",onClick:o,"data-testid":"leftBar-collapser",children:r.jsx("span",{className:"leftBar-collapserIcon",children:r.jsx(x,{iconName:"keyboard_arrow_left"})})})]}),r.jsxs("section",{className:"appLayout-main",children:[r.jsx("section",{className:"appLayout-header",children:r.jsx(dr,{allEntries:qr,currentMode:t,setEditorMode:l,selectedId:c})}),r.jsx("section",{className:"appLayout-content",children:e.children})]}),r.jsxs("section",{className:m.join(" "),children:[r.jsx("div",{className:"rightBar-collapser",onClick:a,"data-testid":"rightBar-collapser",children:r.jsx("span",{className:"rightBar-collapserIcon",children:r.jsx(x,{iconName:"keyboard_arrow_right"})})}),r.jsxs("div",{className:"rightBar-content",onClick:s?a:null,children:[r.jsx(pr,{}),u,r.jsx(gr,{})]})]})]})}pe.propTypes={children:i.element,isLeftBarCollapsed:i.bool,isRightBarCollapsed:i.bool,selectedId:i.string,toggleLeftBar:i.func.isRequired,toggleRightBar:i.func.isRequired,editorMode:i.string.isRequired,setEditorMode:i.func.isRequired,leftBar:i.element.isRequired,rightBar:i.element.isRequired};pe.defaultProps={isLeftBarCollapsed:!1,isRightBarCollapsed:!1};const Pr=N(e=>({editorMode:_(e),isLeftBarCollapsed:tn(e),isRightBarCollapsed:nn(e),selectedId:S(e)}),{toggleLeftBar:sr,toggleRightBar:ir,setEditorMode:Ke})(pe),Ir=e=>v(re,{id:e}),Mr=e=>v(Ae,{id:e});function Or(e,t={},n=!1){return nt(e,t,n,"text")}function tt(e,t={},n=!1){return nt(e,t,n,"html")}function nt(e,t,n,s){if(n)switch(t.chartFormat){case"chordmark":{const a=M(e,t);return s==="html"?a:Se(a)}case"chordmarkSrc":return s==="html"?V(e):e;case"chordpro":{t.customRenderer=At();const a=M(e,t);return s==="html"?V(a):a}case"ultimateGuitar":{t.customRenderer=Fe();const a=M(e,{...t,customRenderer:Fe(),printBarSeparators:"grids",printChordsDuration:"never",printSubBeatDelimiters:!1,printInlineTimeSignatures:!1,chordSymbolRenderer:kt({customFilters:[Bt()],useShortNamings:!0,accidentalsType:t.accidentalsType==="auto"?"original":t.accidentalsType,...t})})+`
+`;function Kn(){const e=W(),t=e.getState();Z(t).length===0&&(e.dispatch(U("Hallelujah - Leonard Cohen",Un)),e.dispatch(U("Getting started",Vn)))}class ze extends C.Component{constructor(t){super(t),this.state={error:null,errorInfo:null}}componentDidCatch(t,n){this.setState({error:t,errorInfo:n})}render(){return this.state.errorInfo?r.jsxs("div",{className:"ErrorBoundary",children:[r.jsx("h2",{children:"Something went wrong"}),r.jsxs("details",{style:{whiteSpace:"pre-wrap"},open:!0,children:[this.state.error&&this.state.error.toString(),r.jsx("br",{}),this.state.errorInfo.componentStack]})]}):this.props.children}}ze.propTypes={children:i.any};let z;function Yn(e,t){const n=document.getElementById("app");z||(z=Pe(n)),z.render(r.jsx(It,{store:W(),children:r.jsx(C.StrictMode,{children:r.jsx(ze,{children:r.jsx(e,{...t})})})}))}const Jn="/app";let K,Ve;const Qn={init(e){const t=e.map(n=>({...n,path:Jn+n.path,action:s=>({Controller:n.action,params:s.params})}));K=new Mt(t,{errorHandler(n,s){console.error(`Error: Cannot find route for path: ${s.pathname}`)}}),Ve=Ot(K,{stringifyQueryParams:Ie.stringify})}};function G(e,t=!0){const n=new URL(e,window.location.origin);return K.resolve(n.pathname).then(({Controller:s,params:o}={})=>{if(s){t&&Xn(e);const a=Ie.parse(n.search,{ignoreQueryPrefix:!0});Yn(s,{...o,...a})}})}function Ue(e,t){try{return Ve(e,t)}catch(n){console.error(n.toString())}}function Xn(e){window.history.pushState({url:e},null,e)}window.addEventListener("popstate",()=>{const e=window.location.pathname+window.location.search;G(e,!1)});const Zn="_button_1530w_1",er={button:Zn};function tr({children:e}){return r.jsx("div",{className:er.button,children:e})}function nr(){const t=Me(Z).map(n=>r.jsx(rr,{song:n},n.id));return r.jsxs("div",{children:["Full Library",r.jsx("ul",{children:t}),r.jsx(tr,{children:"My Nice Button"})]})}const rr=({song:e})=>{const t=n=>{n.preventDefault(),G(Ue("songView",{songId:e.id}))};return r.jsx("li",{children:r.jsx("a",{href:`/song/${e.id}`,onClick:t,children:e.title})})},sr=[{name:"library",path:"/library",action:nr}];function ir({songId:e}){const t=Me(s=>ee(s,e)),n=s=>{s.preventDefault(),G(Ue("library"))};return r.jsxs("div",{children:[r.jsx("a",{href:"",onClick:n,children:"Go back to list"}),r.jsx("br",{}),r.jsx("b",{children:t.title}),r.jsx("p",{children:t.content})]})}const or=[{name:"songView",path:"/songView/:songId",action:ir}],Ke=e=>v(D,{mode:e}),ar=()=>v(Le),lr=()=>v(ke),cr="/app/assets/logo-D2B3txiq.svg";function dr(){return r.jsx("div",{className:"logo",children:r.jsx("div",{className:"logo-isExpanded",children:r.jsx("div",{className:"logo-img",children:r.jsxs("svg",{className:"stacked",children:[r.jsx("title",{children:"Chord Chart Studio"}),r.jsx("use",{href:cr+"#stacked"})]})})})})}const ur=C.memo(dr);function Ye(e){const{iconName:t}=e,n=["icon","material-icons"];return r.jsx("i",{className:n.join(" "),children:t})}Ye.propTypes={iconName:i.string.isRequired};const x=C.memo(Ye);function Je(e){const{label:t,icon:n,editorMode:s,setEditorMode:o,isActive:a,isDisabled:l}=e,c=["mainNavEntry"];a&&c.push("mainNavEntry-isActive"),l&&c.push("mainNavEntry-isDisabled");function d(){l||o(s)}return r.jsxs("li",{className:c.join(" "),onClick:d,children:[r.jsx("span",{className:"mainNavEntry-icon",children:r.jsx(x,{iconName:n})}),t]})}Je.propTypes={label:i.string.isRequired,icon:i.string.isRequired,editorMode:i.string.isRequired,setEditorMode:i.func.isRequired,isActive:i.bool.isRequired,isDisabled:i.bool.isRequired};const pr=C.memo(Je);function Qe(e){const{currentMode:t,allEntries:n,setEditorMode:s,selectedId:o}=e;return r.jsx("nav",{className:"mainNav",children:r.jsx("ul",{className:"mainNav-entries",children:n.map((a,l)=>r.jsx(pr,{isActive:!!o&&a.editorMode===t,isDisabled:!o,setEditorMode:s,...a},l))})})}Qe.propTypes={currentMode:i.string.isRequired,setEditorMode:i.func.isRequired,selectedId:i.string,allEntries:i.arrayOf(i.shape({id:i.string.isRequired,label:i.string.isRequired,icon:i.string.isRequired,editorMode:i.string.isRequired}))};const mr=C.memo(Qe),_=({children:e,isDisabled:t,buttonName:n,onClick:s,type:o})=>{const a=["Button"];return o==="primary"&&a.push("Button-primary"),o==="secondary"&&a.push("Button-secondary"),t&&a.push("Button-isDisabled"),r.jsx("button",{className:a.join(" "),disabled:t,type:"button",name:n,onClick:s,children:e})};_.propTypes={children:i.string.isRequired,isDisabled:i.bool,buttonName:i.string.isRequired,type:i.string.isRequired,onClick:i.func.isRequired};_.defaultProps={isDisabled:!1};const hr="https://chord-chart-studio.netlify.app",ie=()=>{const e=()=>{window.open(hr,"_blank").focus()};return r.jsxs("div",{className:"userGuide",children:[r.jsx("div",{className:"userGuide-isCollapsed",children:r.jsx(x,{iconName:"help_outline"})}),r.jsx("div",{className:"userGuide-isExpanded",children:r.jsx(_,{buttonName:"userGuide",type:"primary",onClick:e,children:"User Guide"})})]})};ie.propTypes={};ie.defaultProps={};const gr=C.memo(ie),fr=()=>({"chord-chart-studio":"v0.14.0","chord-symbol":"v4.0.0","chord-mark":"v0.16.2"});function yr(){const e=fr();return r.jsx("div",{className:"versions",children:r.jsxs("div",{className:"versions-isExpanded",children:["Chord Chart Studio ",e["chord-chart-studio"],r.jsx("br",{}),"ChordMark ",e["chord-mark"]," ",r.jsx("br",{}),"ChordSymbol ",e["chord-symbol"]," ",r.jsx("br",{}),"Logo by"," ",r.jsx("a",{href:"https://spelling-bee-assistant.app/",target:"_blank",rel:"noreferrer",children:"Dieter Raber"})]})})}const br=C.memo(yr),xr=e=>e.songImporter.content,Cr=e=>e.songImporter.inputFormat,jr=e=>e.songImporter.title,Rr=e=>e.songImporter.isImporting,vr=e=>e.songImporter.isFromWeb;function oe(e){const{children:t,closeModal:n}=e;return R.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keyup",s),()=>{window.removeEventListener("keyup",s)}}),r.jsxs("section",{className:"mod-ModalContainer",children:[r.jsx("div",{className:"mod-Overlay",onClick:n,"data-testid":"modal-overlay"}),r.jsx("div",{className:"mod-ContentContainer",children:t})]})}oe.propTypes={children:i.element.isRequired,closeModal:i.func.isRequired};const Xe=({cancelImport:e,chordMarkContent:t,importFile:n,title:s,content:o,error:a})=>{const l=s?'Import "'+s+'"':"Import song",c=()=>{n(s||"[untitled]",t)};return r.jsxs("div",{className:"sim-Header_Container",children:[r.jsx("div",{className:"sim-Header_Title",children:l}),r.jsxs("div",{className:"sim-Header_Actions",children:[r.jsx(_,{onClick:e,buttonName:"cancel",type:"secondary",children:"CANCEL"}),r.jsx(_,{onClick:c,buttonName:"import",type:"primary",isDisabled:o===""||a!=="",children:"IMPORT"})]})]})};Xe.propTypes={cancelImport:i.func.isRequired,chordMarkContent:i.string,content:i.string,error:i.string,importFile:i.func.isRequired,title:i.string};const Ze=50*1024,Fr=e=>new Promise((t,n)=>{if(e.length){const s=e[0];Tr(s)?n(wr(s.size)):Sr(s)?s.text().then(o=>{t({content:o,title:Nr(s)})}).catch(o=>{n(o)}):n(_r(s))}else n(Er())}),Nr=e=>e.name.substr(0,e.name.lastIndexOf(".")),Tr=e=>e.size>Ze,Sr=e=>e.type.indexOf("text")===0||e.type.length===0,wr=e=>"The selected file is too big: "+ve(e,{round:0})+" (maximum allowed file size is "+ve(Ze,{round:0})+").",_r=e=>"Cannot import file of type "+e.type+".",Er=()=>"No file selected.",qr="text/*,.cho,.crd,.chopro,.chord,.pro,.txt,.md",et=({setContent:e})=>{const t=n=>{Fr(n.target.files).then(s=>{e(s.content,s.title)}).catch(s=>{e(s)})};return r.jsxs("div",{children:[r.jsx("label",{htmlFor:"importSong-Input",className:"Button Button-primary",children:"Select File"}),r.jsx("input",{id:"importSong-Input",name:"importSong-Input",type:"file",className:"sim-InputFile_Input",onChange:t,accept:qr})]})};et.propTypes={setContent:i.func.isRequired};function ae(e){const{content:t,setContent:n,isDisabled:s}=e,o=l=>{n(l.target.value)},a=["sim-Input_Textarea"];return s&&a.push("sim-Input_Textarea-Disabled"),r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"sim-Input_Header",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"Copy/paste below",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsx("textarea",{className:a.join(" "),onChange:o,value:t,disabled:s,"data-testid":"sim-input"})]})}ae.propTypes={content:i.string.isRequired,isDisabled:i.bool.isRequired,setContent:i.func.isRequired};ae.defaultProps={};function le(e){const{inputFormat:t,error:n}=e;return r.jsxs("div",{className:"sim-Preview_Error",children:[r.jsxs("p",{children:["There was an error when trying to parse the song in the specified input format (",t,").",r.jsx("br",{}),"Please correct the input or try another format.",r.jsx("br",{}),"The error was:"]}),r.jsxs("p",{children:['"',n,'"']}),r.jsx("p",{children:'Hint: most of the time, this is related to an unclosed "[" or "{" or an unsupported ChordPro directive'})]})}le.propTypes={error:i.string,inputFormat:i.string.isRequired};le.defaultProps={};function ce(e){const{setInputFormat:t,inputFormat:n,id:s,label:o,isDisabled:a}=e,l=u=>{a||t(u.target.value)},c=["sim-InputFormat_Entry"],d=["sim-InputFormat_Label"];return a&&(c.push("sim-InputFormat_Entry-Disabled"),d.push("sim-InputFormat_Label-Disabled")),r.jsxs(r.Fragment,{children:[r.jsx("input",{className:c.join(" "),type:"radio",name:"inputFormat",id:s,value:s,onChange:l,checked:n===s}),r.jsx("label",{className:d.join(" "),htmlFor:s,children:o})]})}ce.propTypes={setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired,id:i.string.isRequired,label:i.string.isRequired,isDisabled:i.bool.isRequired};ce.defaultProps={};const Pr=[{id:"auto",label:"Detect"},{id:"chordPro",label:"Bracketed chords (ChordPro)"},{id:"chordsOverLyrics",label:"Chords over lyrics (Ultimate Guitar...)"}];function de(e){const{setInputFormat:t,inputFormat:n,disableAll:s}=e,o=Pr.map(a=>r.jsx(ce,{setInputFormat:t,id:a.id,label:a.label,inputFormat:n,isDisabled:s},a.id));return r.jsxs("div",{className:"sim-InputFormat",children:["Input format:",o]})}de.propTypes={disableAll:i.bool.isRequired,setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired};de.defaultProps={};function ue(e){const{cancelImport:t,content:n,importFile:s,isFromWeb:o,isImporting:a,setContent:l,setInputFormat:c,inputFormat:d,title:u}=e;if(!a)return null;let h="",m="";try{h=Lt(n,{inputFormat:d})}catch(f){m=f.message}return r.jsx(oe,{closeModal:t,children:r.jsxs("div",{className:"sim-SongImporterModal_Container","data-testid":"song-importer",children:[r.jsx(Xe,{cancelImport:t,chordMarkContent:h,content:n,error:m,importFile:s,title:u}),r.jsxs("div",{className:"sim-TwoColumns_Container",children:[r.jsx("div",{className:"sim-Column_Container",children:r.jsx(et,{setContent:l})}),r.jsx("div",{className:"sim-Column_Container",children:r.jsx(de,{inputFormat:d,setInputFormat:c,disableAll:o===!0})})]}),r.jsxs("div",{className:"sim-TwoColumns_Container sim-TwoColumns_Container-autoHeight",children:[r.jsx("div",{className:"sim-Column_Container",children:r.jsx(ae,{content:n,setContent:l,isDisabled:o})}),r.jsxs("div",{className:"sim-Column_Container",children:[r.jsxs("div",{className:"sim-Input_Header",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"ChordMark preview",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsx("div",{className:"sim-Preview_Container","data-testid":"sim-preview",children:m?r.jsx(le,{inputFormat:d,error:m}):h})]})]})]})})}ue.propTypes={cancelImport:i.func.isRequired,content:i.string.isRequired,importFile:i.func.isRequired,isFromWeb:i.bool.isRequired,isImporting:i.bool.isRequired,setContent:i.func.isRequired,setInputFormat:i.func.isRequired,inputFormat:i.string.isRequired,title:i.string};ue.defaultProps={};const Ir=T(e=>({content:xr(e),isFromWeb:vr(e),isImporting:Rr(e),inputFormat:Cr(e),title:jr(e)}),{setContent:Mn,setInputFormat:On,cancelImport:Bn,importFile:U})(ue),Mr=[{id:"edit",label:"Edit",icon:"create",editorMode:"edit"},{id:"play",label:"Screen view",icon:"music_note",editorMode:"play"},{id:"print",label:"Print/PDF Preview",icon:"print",editorMode:"print"},{id:"export",label:"Export Preview",icon:"save_alt",editorMode:"export"}];function pe(e){const{editorMode:t,isLeftBarCollapsed:n,isRightBarCollapsed:s,toggleLeftBar:o,toggleRightBar:a,setEditorMode:l,selectedId:c,leftBar:d,rightBar:u}=e,h=["leftBar"];n&&h.push("leftBar-isCollapsed");const m=["rightBar"];return s&&m.push("rightBar-isCollapsed"),r.jsxs("div",{className:"appLayout-wrapper",children:[r.jsx(Ir,{}),r.jsxs("section",{className:h.join(" "),children:[r.jsxs("div",{className:"leftBar-content",onClick:n?o:null,children:[r.jsx(ur,{}),d]}),r.jsx("div",{className:"leftBar-collapser",onClick:o,"data-testid":"leftBar-collapser",children:r.jsx("span",{className:"leftBar-collapserIcon",children:r.jsx(x,{iconName:"keyboard_arrow_left"})})})]}),r.jsxs("section",{className:"appLayout-main",children:[r.jsx("section",{className:"appLayout-header",children:r.jsx(mr,{allEntries:Mr,currentMode:t,setEditorMode:l,selectedId:c})}),r.jsx("section",{className:"appLayout-content",children:e.children})]}),r.jsxs("section",{className:m.join(" "),children:[r.jsx("div",{className:"rightBar-collapser",onClick:a,"data-testid":"rightBar-collapser",children:r.jsx("span",{className:"rightBar-collapserIcon",children:r.jsx(x,{iconName:"keyboard_arrow_right"})})}),r.jsxs("div",{className:"rightBar-content",onClick:s?a:null,children:[r.jsx(gr,{}),u,r.jsx(br,{})]})]})]})}pe.propTypes={children:i.element,isLeftBarCollapsed:i.bool,isRightBarCollapsed:i.bool,selectedId:i.string,toggleLeftBar:i.func.isRequired,toggleRightBar:i.func.isRequired,editorMode:i.string.isRequired,setEditorMode:i.func.isRequired,leftBar:i.element.isRequired,rightBar:i.element.isRequired};pe.defaultProps={isLeftBarCollapsed:!1,isRightBarCollapsed:!1};const Or=T(e=>({editorMode:E(e),isLeftBarCollapsed:tn(e),isRightBarCollapsed:nn(e),selectedId:S(e)}),{toggleLeftBar:ar,toggleRightBar:lr,setEditorMode:Ke})(pe),Lr=e=>v(re,{id:e}),kr=e=>v(Ae,{id:e});function Br(e,t={},n=!1){return nt(e,t,n,"text")}function tt(e,t={},n=!1){return nt(e,t,n,"html")}function nt(e,t,n,s){if(n)switch(t.chartFormat){case"chordmark":{const a=M(e,t);return s==="html"?a:Se(a)}case"chordmarkSrc":return s==="html"?V(e):e;case"chordpro":{t.customRenderer=At();const a=M(e,t);return s==="html"?V(a):a}case"ultimateGuitar":{t.customRenderer=Fe();const a=M(e,{...t,customRenderer:Fe(),printBarSeparators:"grids",printChordsDuration:"never",printSubBeatDelimiters:!1,printInlineTimeSignatures:!1,chordSymbolRenderer:kt({customFilters:[Bt()],useShortNamings:!0,accidentalsType:t.accidentalsType==="auto"?"original":t.accidentalsType,...t})})+`
Created with Chord Chart Studio (https://chord-chart-studio.netlify.app)`;return s==="html"?V(a):a}}const o=M(e,{...t,wrapChordLyricLines:!0});return s==="html"?o:Se(o)}function M(e,t){try{const n=Dt(e);return Wt(n,{...t})}catch(n){return n.message}}function V(e){return e.split(`
`).map(t=>t===""?" ":t).map(t=>`${t} `).join("")}function Se(e){return e.match(/(
.*?<\/p>)/gm).map(n=>q(n)).map(n=>n===" "?"":n).join(`
-`)}function Lr(){const t=W().getState(),n=S(t),s=ee(t,n),o={chartFormat:p(t,"editorPreferences","chartFormat"),transposeValue:p(t,"songPreferences","transposeValue"),accidentalsType:p(t,"songPreferences","accidentalsType"),symbolType:p(t,"songPreferences","symbolType"),chartType:p(t,"songFormatting","chartType"),alignChordsWithLyrics:p(t,"songFormatting","alignChordsWithLyrics"),alignBars:p(t,"songFormatting","alignBars"),autoRepeatChords:p(t,"songFormatting","autoRepeatChords"),expandSectionCopy:p(t,"songFormatting","expandSectionCopy")},a=Or(s.content,o,!0),l=o.chartFormat==="chordpro"?"cho":"txt",c=`${s.title}.${l}`,d=new Blob([a],{type:"text/plain;charset=utf-8",endings:"native"});Gt.saveAs(d,c)}function rt(e){const{confirmAction:t,confirmTitle:n="OK",cancelAction:s,cancelTitle:o="CANCEL",children:a}=e;return r.jsx(oe,{closeModal:s,children:r.jsxs("section",{className:"mod-ModalConfirmContainer",children:[r.jsx("div",{className:"mod-ModalConfirmMessage",children:a}),r.jsxs("div",{className:"mod-ModalConfirmButtons",children:[r.jsx(E,{onClick:s,type:"secondary",buttonName:"cancel",children:o}),r.jsx(E,{onClick:t,type:"primary",buttonName:"confirm",children:n})]})]})})}rt.propTypes={confirmAction:i.func.isRequired,confirmTitle:i.string,cancelAction:i.func.isRequired,cancelTitle:i.string,children:i.node.isRequired};function st(e){const{selected:t,deleteFile:n,isDeleting:s,setIsDeleting:o}=e;if(!s)return null;const a=()=>o(!1),l=()=>{o(!1),n(t)};return r.jsxs(rt,{confirmAction:l,confirmTitle:"DELETE",cancelAction:a,children:["Are you sure you want to delete this file?",r.jsx("br",{}),"This action cannot be undone."]})}st.propTypes={deleteFile:i.func.isRequired,isDeleting:i.bool.isRequired,selected:i.string.isRequired,setIsDeleting:i.func.isRequired};function it(e){const{icon:t,text:n,action:s,isDisabled:o}=e,a=["fileManagerAction"];o&&a.push("fileManagerAction-isDisabled");const l=()=>{o||s()};return r.jsx("span",{className:a.join(" "),onClick:l,children:r.jsxs("span",{className:"fileManagerAction-icon",children:[r.jsx(x,{iconName:t})," ",n]})})}it.propTypes={icon:i.string.isRequired,text:i.string.isRequired,action:i.func.isRequired,isDisabled:i.bool.isRequired};const kr=C.memo(it);function ot(e){const{selected:t,createFile:n,deleteFile:s,enableRename:o,startImport:a,exportAsText:l,printFile:c}=e,d=[{icon:"upload",text:"Import",action:a,isDisabled:!1},{icon:"add_circle",text:"New",action:n,isDisabled:!1},{icon:"create",text:"Rename",action:o,isDisabled:!t},{icon:"delete",text:"Delete",action:s,isDisabled:!t},{icon:"print",text:"Print",action:c,isDisabled:!t},{icon:"download",text:"Export",action:l,isDisabled:!t}];return r.jsx("div",{className:"fileManager-actionsList",children:d.map((u,h)=>R.createElement(kr,{...u,key:h}))})}ot.propTypes={selected:i.string,createFile:i.func.isRequired,deleteFile:i.func.isRequired,enableRename:i.func.isRequired,exportAsText:i.func.isRequired,printFile:i.func.isRequired,startImport:i.func.isRequired};const Br=C.memo(ot);function at(e){const[t,n]=R.useState(e.title),{fileId:s,isSelected:o,isRenamed:a,defaultTitle:l,selectFile:c,enableRename:d,updateFile:u}=e,h=["fileManagerEntry"];o&&h.push("fileManagerEntry-isSelected"),a&&h.push("fileManagerEntry-isRenamed");const m=C.createRef();R.useEffect(()=>{a&&m.current.focus()},[a,m]);function f(){o||c(s)}function g(b){a||(d(s),b.target.select())}function y(b){if(a&&b.which===13){b.preventDefault(),window.getSelection().removeAllRanges();const $=b.target.value;j($)}}function w(b){n(b.target.value)}function T(b){a&&b.target.select()}function F(b){if(a){const $=b.target.value;j($)}}function j(b){b=b||l,u(s,{title:b}),n(b),m.current.scrollLeft=0}return r.jsx("li",{className:h.join(" "),onClick:f,onDoubleClick:g,children:r.jsx("input",{className:"fileManagerEntry-input",ref:m,type:"text",value:t,readOnly:a?null:"readOnly",autoFocus:a?"autoFocus":null,onChange:w,onBlur:F,onFocus:T,onKeyPress:y})})}at.propTypes={title:i.string.isRequired,fileId:i.string.isRequired,isSelected:i.bool.isRequired,isRenamed:i.bool.isRequired,defaultTitle:i.string.isRequired,selectFile:i.func.isRequired,enableRename:i.func.isRequired,updateFile:i.func.isRequired};function lt(e){const[t,n]=R.useState(!1),{allTitles:s,selected:o,renamed:a,defaultTitle:l,createFile:c,deleteFile:d,enableRename:u,startImport:h,selectFile:m,updateFile:f,setEditorMode:g}=e;return r.jsxs("div",{className:"fileManager",children:[r.jsx(st,{deleteFile:d,isDeleting:t,selected:o,setIsDeleting:n}),r.jsx("div",{className:"fileManager-isCollapsed",children:r.jsx("span",{className:"fileManager-icon",children:r.jsx(x,{iconName:"file_copy"})})}),r.jsxs("div",{className:"fileManager-isExpanded",children:[r.jsx(Br,{selected:o,createFile:()=>c(l),deleteFile:()=>n(!0),enableRename:()=>u(o),startImport:()=>h(),exportAsText:()=>{g("export"),setTimeout(()=>Lr(),0)},printFile:()=>{g("print"),setTimeout(()=>window.print(),0)}}),r.jsx("ul",{className:"fileManager-entriesList",children:s.map(y=>r.jsx(at,{title:y.title,defaultTitle:l,fileId:y.id,isSelected:o===y.id,isRenamed:a===y.id,selectFile:m,updateFile:f,enableRename:u},y.id))})]})]})}lt.propTypes={allTitles:i.arrayOf(i.shape({title:i.string.isRequired,id:i.string.isRequired})).isRequired,selected:i.string.isRequired,renamed:i.string.isRequired,defaultTitle:i.string.isRequired,selectFile:i.func.isRequired,createFile:i.func.isRequired,deleteFile:i.func.isRequired,enableRename:i.func.isRequired,startImport:i.func.isRequired,updateFile:i.func.isRequired,setEditorMode:i.func.isRequired};const Ar=N(e=>({selected:S(e),renamed:rn(e),defaultTitle:sn(e),allTitles:Z(e)}),{selectFile:Ir,createFile:$n,deleteFile:zn,updateFile:$e,enableRename:Mr,setEditorMode:Ke,startImport:Ln})(lt);function ct(e){return J.sanitize(e)}function me(e){const{content:t,useChartFormat:n}=e,s=L(e,["chartFormat","transposeValue","accidentalsType","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]),o=tt(t,s,n);return r.jsx("div",{className:"songRenderer",children:r.jsx("div",{dangerouslySetInnerHTML:{__html:ct(o)}})})}me.propTypes={useChartFormat:i.bool.isRequired,chartFormat:i.string.isRequired,content:i.string};me.defaultProps={content:"",useChartFormat:!1};const he=N(e=>({transposeValue:p(e,"songPreferences","transposeValue"),accidentalsType:p(e,"songPreferences","preferredAccidentals"),symbolType:p(e,"songPreferences","symbolType"),chartFormat:p(e,"editorPreferences","chartFormat"),chartType:p(e,"songFormatting","chartType"),alignChordsWithLyrics:p(e,"songFormatting","alignChordsWithLyrics"),alignBars:p(e,"songFormatting","alignBars"),autoRepeatChords:p(e,"songFormatting","autoRepeatChords"),expandSectionCopy:p(e,"songFormatting","expandSectionCopy")}))(me);function dt(e){const{selectedFile:t}=e,n=["editorPreview"];return r.jsx("div",{className:n.join(" "),children:r.jsx(he,{content:t.content})})}dt.propTypes={selectedFile:i.object.isRequired};function Dr(){return[Ht(),Te({"Mod-z":$t,"Mod-y":zt}),Te(Vt)]}const Wr=new Ut({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},hard_break:{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"br"}],toDOM(){return["br"]}},text:{group:"inline"}}});function Gr(e){return e.toJSON().doc.content.map(n=>n.content?n.content.reduce((s,o)=>(s+=o.text||`
+`)}function Ar(){const t=W().getState(),n=S(t),s=ee(t,n),o={chartFormat:p(t,"editorPreferences","chartFormat"),transposeValue:p(t,"songPreferences","transposeValue"),accidentalsType:p(t,"songPreferences","accidentalsType"),symbolType:p(t,"songPreferences","symbolType"),chartType:p(t,"songFormatting","chartType"),alignChordsWithLyrics:p(t,"songFormatting","alignChordsWithLyrics"),alignBars:p(t,"songFormatting","alignBars"),autoRepeatChords:p(t,"songFormatting","autoRepeatChords"),expandSectionCopy:p(t,"songFormatting","expandSectionCopy")},a=Br(s.content,o,!0),l=o.chartFormat==="chordpro"?"cho":"txt",c=`${s.title}.${l}`,d=new Blob([a],{type:"text/plain;charset=utf-8",endings:"native"});Gt.saveAs(d,c)}function rt(e){const{confirmAction:t,confirmTitle:n="OK",cancelAction:s,cancelTitle:o="CANCEL",children:a}=e;return r.jsx(oe,{closeModal:s,children:r.jsxs("section",{className:"mod-ModalConfirmContainer",children:[r.jsx("div",{className:"mod-ModalConfirmMessage",children:a}),r.jsxs("div",{className:"mod-ModalConfirmButtons",children:[r.jsx(_,{onClick:s,type:"secondary",buttonName:"cancel",children:o}),r.jsx(_,{onClick:t,type:"primary",buttonName:"confirm",children:n})]})]})})}rt.propTypes={confirmAction:i.func.isRequired,confirmTitle:i.string,cancelAction:i.func.isRequired,cancelTitle:i.string,children:i.node.isRequired};function st(e){const{selected:t,deleteFile:n,isDeleting:s,setIsDeleting:o}=e;if(!s)return null;const a=()=>o(!1),l=()=>{o(!1),n(t)};return r.jsxs(rt,{confirmAction:l,confirmTitle:"DELETE",cancelAction:a,children:["Are you sure you want to delete this file?",r.jsx("br",{}),"This action cannot be undone."]})}st.propTypes={deleteFile:i.func.isRequired,isDeleting:i.bool.isRequired,selected:i.string.isRequired,setIsDeleting:i.func.isRequired};function it(e){const{icon:t,text:n,action:s,isDisabled:o}=e,a=["fileManagerAction"];o&&a.push("fileManagerAction-isDisabled");const l=()=>{o||s()};return r.jsx("span",{className:a.join(" "),onClick:l,children:r.jsxs("span",{className:"fileManagerAction-icon",children:[r.jsx(x,{iconName:t})," ",n]})})}it.propTypes={icon:i.string.isRequired,text:i.string.isRequired,action:i.func.isRequired,isDisabled:i.bool.isRequired};const Dr=C.memo(it);function ot(e){const{selected:t,createFile:n,deleteFile:s,enableRename:o,startImport:a,exportAsText:l,printFile:c}=e,d=[{icon:"upload",text:"Import",action:a,isDisabled:!1},{icon:"add_circle",text:"New",action:n,isDisabled:!1},{icon:"create",text:"Rename",action:o,isDisabled:!t},{icon:"delete",text:"Delete",action:s,isDisabled:!t},{icon:"print",text:"Print",action:c,isDisabled:!t},{icon:"download",text:"Export",action:l,isDisabled:!t}];return r.jsx("div",{className:"fileManager-actionsList",children:d.map((u,h)=>R.createElement(Dr,{...u,key:h}))})}ot.propTypes={selected:i.string,createFile:i.func.isRequired,deleteFile:i.func.isRequired,enableRename:i.func.isRequired,exportAsText:i.func.isRequired,printFile:i.func.isRequired,startImport:i.func.isRequired};const Wr=C.memo(ot);function at(e){const[t,n]=R.useState(e.title),{fileId:s,isSelected:o,isRenamed:a,defaultTitle:l,selectFile:c,enableRename:d,updateFile:u}=e,h=["fileManagerEntry"];o&&h.push("fileManagerEntry-isSelected"),a&&h.push("fileManagerEntry-isRenamed");const m=C.createRef();R.useEffect(()=>{a&&m.current.focus()},[a,m]);function f(){o||c(s)}function g(b){a||(d(s),b.target.select())}function y(b){if(a&&b.which===13){b.preventDefault(),window.getSelection().removeAllRanges();const $=b.target.value;j($)}}function w(b){n(b.target.value)}function N(b){a&&b.target.select()}function F(b){if(a){const $=b.target.value;j($)}}function j(b){b=b||l,u(s,{title:b}),n(b),m.current.scrollLeft=0}return r.jsx("li",{className:h.join(" "),onClick:f,onDoubleClick:g,children:r.jsx("input",{className:"fileManagerEntry-input",ref:m,type:"text",value:t,readOnly:a?null:"readOnly",autoFocus:a?"autoFocus":null,onChange:w,onBlur:F,onFocus:N,onKeyPress:y})})}at.propTypes={title:i.string.isRequired,fileId:i.string.isRequired,isSelected:i.bool.isRequired,isRenamed:i.bool.isRequired,defaultTitle:i.string.isRequired,selectFile:i.func.isRequired,enableRename:i.func.isRequired,updateFile:i.func.isRequired};function lt(e){const[t,n]=R.useState(!1),{allTitles:s,selected:o,renamed:a,defaultTitle:l,createFile:c,deleteFile:d,enableRename:u,startImport:h,selectFile:m,updateFile:f,setEditorMode:g}=e;return r.jsxs("div",{className:"fileManager",children:[r.jsx(st,{deleteFile:d,isDeleting:t,selected:o,setIsDeleting:n}),r.jsx("div",{className:"fileManager-isCollapsed",children:r.jsx("span",{className:"fileManager-icon",children:r.jsx(x,{iconName:"file_copy"})})}),r.jsxs("div",{className:"fileManager-isExpanded",children:[r.jsx(Wr,{selected:o,createFile:()=>c(l),deleteFile:()=>n(!0),enableRename:()=>u(o),startImport:()=>h(),exportAsText:()=>{g("export"),setTimeout(()=>Ar(),0)},printFile:()=>{g("print"),setTimeout(()=>window.print(),0)}}),r.jsx("ul",{className:"fileManager-entriesList",children:s.map(y=>r.jsx(at,{title:y.title,defaultTitle:l,fileId:y.id,isSelected:o===y.id,isRenamed:a===y.id,selectFile:m,updateFile:f,enableRename:u},y.id))})]})]})}lt.propTypes={allTitles:i.arrayOf(i.shape({title:i.string.isRequired,id:i.string.isRequired})).isRequired,selected:i.string.isRequired,renamed:i.string.isRequired,defaultTitle:i.string.isRequired,selectFile:i.func.isRequired,createFile:i.func.isRequired,deleteFile:i.func.isRequired,enableRename:i.func.isRequired,startImport:i.func.isRequired,updateFile:i.func.isRequired,setEditorMode:i.func.isRequired};const Gr=T(e=>({selected:S(e),renamed:rn(e),defaultTitle:sn(e),allTitles:Z(e)}),{selectFile:Lr,createFile:$n,deleteFile:zn,updateFile:$e,enableRename:kr,setEditorMode:Ke,startImport:Ln})(lt);function ct(e){return J.sanitize(e)}function me(e){const{content:t,useChartFormat:n}=e,s=L(e,["chartFormat","transposeValue","accidentalsType","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]),o=tt(t,s,n);return r.jsx("div",{className:"songRenderer",children:r.jsx("div",{dangerouslySetInnerHTML:{__html:ct(o)}})})}me.propTypes={useChartFormat:i.bool.isRequired,chartFormat:i.string.isRequired,content:i.string};me.defaultProps={content:"",useChartFormat:!1};const he=T(e=>({transposeValue:p(e,"songPreferences","transposeValue"),accidentalsType:p(e,"songPreferences","preferredAccidentals"),symbolType:p(e,"songPreferences","symbolType"),chartFormat:p(e,"editorPreferences","chartFormat"),chartType:p(e,"songFormatting","chartType"),alignChordsWithLyrics:p(e,"songFormatting","alignChordsWithLyrics"),alignBars:p(e,"songFormatting","alignBars"),autoRepeatChords:p(e,"songFormatting","autoRepeatChords"),expandSectionCopy:p(e,"songFormatting","expandSectionCopy")}))(me);function dt(e){const{selectedFile:t}=e,n=["editorPreview"];return r.jsx("div",{className:n.join(" "),children:r.jsx(he,{content:t.content})})}dt.propTypes={selectedFile:i.object.isRequired};function Hr(){return[Ht(),Ne({"Mod-z":$t,"Mod-y":zt}),Ne(Vt)]}const $r=new Ut({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},hard_break:{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"br"}],toDOM(){return["br"]}},text:{group:"inline"}}});function zr(e){return e.toJSON().doc.content.map(n=>n.content?n.content.reduce((s,o)=>(s+=o.text||`
`,s),""):"").join(`
-`)}function we(e){const t={ALLOWED_TAGS:["p","#text"],KEEP_CONTENT:!1};return J.sanitize(e,t)}function Hr(e){const t=we(e).split(`
-`).map(s=>`${s}
`).join(""),n=document.createElement("div");return n.innerHTML=we(t),n}function $r(e){return Kt.create({doc:Yt.fromSchema(Wr).parse(Hr(e),{preserveWhitespace:"full"}),plugins:Dr()})}function zr(e,t,n){return new Jt(null,{state:e,dispatchTransaction:function(o){const{state:a,transactions:l}=this.state.applyTransaction(o);this.updateState(a),l.some(c=>c.docChanged)&&t(n,{content:Gr(a)})}})}function H(e){const{selectedFileId:t,editorContent:n,updateFile:s}=e,o=R.useRef(),a=R.useRef(),l=Vr(t);function c(){return t&&(!o.current||l!==t)}function d(){return u()&&!t}function u(){return o.current&&o.current.dom.parentNode}function h(){o.current.dom.parentNode.removeChild(o.current.dom)}return R.useEffect(()=>{if(c()){u()&&h();const m=$r(n);o.current=zr(m,s,t),a.current.appendChild(o.current.dom),H.editorView=o.current}else d()&&h()}),r.jsx("div",{className:"prosemirrorWrapper",ref:a})}H.defaultProps={selectedFileId:"",editorContent:""};H.propTypes={selectedFileId:i.string,editorContent:i.string,updateFile:i.func.isRequired};function Vr(e){const t=R.useRef();return R.useEffect(()=>{t.current=e}),t.current}function ut(e){const{selectedFile:t,updateFile:n,theme:s}=e,o=["songEditor-preview","cmTheme-"+s,"cmTheme-fadeRepeats"];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"songEditor-headers",children:[r.jsxs("div",{className:"songEditor-sourceHeader",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"ChordMark source (",r.jsx("a",{href:"https://chordmark.netlify.app/docs/getting-started",target:"_blank",rel:"noreferrer",className:"link1",children:"tutorial"}),")",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsxs("div",{className:"songEditor-previewHeader",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"Result preview",r.jsx(x,{iconName:"arrow_drop_down"})]})]}),r.jsx(Qt,{children:r.jsxs("div",{className:"songEditor",children:[r.jsx(Ne,{group:"a",children:r.jsx("div",{className:"songEditor-source",children:r.jsx(H,{editorContent:t.content,updateFile:n,selectedFileId:t.id})})}),r.jsx(Ne,{group:"a",children:r.jsx("div",{className:o.join(" "),children:r.jsx(dt,{selectedFile:t})})})]})})]})}ut.propTypes={selectedFile:i.object,theme:i.string.isRequired,updateFile:i.func.isRequired};const Ur=N(e=>({theme:p(e,"editorPreferences","theme")}))(ut);function pt(e){const{selectedFile:t}=e,n=C.createRef(),s=o=>{(o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="a"&&(o.preventDefault(),window.getSelection().selectAllChildren(n.current))};return R.useEffect(()=>(window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)})),r.jsx("div",{className:"exportPreview exp-SongRenderer",ref:n,children:r.jsx(he,{content:t.content,useChartFormat:!0})})}pt.propTypes={selectedFile:i.object.isRequired};function mt(e){const{theme:t,selectedFile:n,fontSize:s,columnsCount:o}=e,a=["playRendererWrapper1"];a.push("cmTheme-"+t),a.push("cmSong--fontSize"+s);const l=["playRenderer"];return l.push("playRenderer--columns-"+o),r.jsx("div",{className:a.join(" "),"data-testid":"playRendererWrapper1",children:r.jsx("div",{className:"playRendererWrapper2",children:r.jsx("div",{className:l.join(" "),"data-testid":"playRenderer",children:r.jsx(he,{content:n.content})})})})}mt.propTypes={theme:i.string.isRequired,fontSize:i.number.isRequired,selectedFile:i.object.isRequired,columnsCount:i.number.isRequired};const Kr=N(e=>({theme:p(e,"editorPreferences","theme"),fontSize:p(e,"songFormatting","fontSize"),columnsCount:p(e,"songFormatting","columnsCount")}))(mt);function ge(e){const{pageHeader:t,allColumnsLines:n,documentSize:s,documentMargins:o,fontSize:a}=e,l=n.map((u,h)=>{const m=u.join("");return r.jsx("div",{className:"printPreview-pageColumn","data-testid":"printPreview-pageColumn",dangerouslySetInnerHTML:{__html:ct(m)}},h)}),c=["printPreview-page"];c.push("printPreview-page--"+s),c.push("cmSong--fontSize"+a),c.push("cmSong");const d=["printPreview-pageContentWrapper"];return d.push("printPreview-pageContentWrapper--padding"+o),r.jsx("div",{className:c.join(" "),"data-testid":"printPreview-page",children:r.jsx("div",{className:d.join(" "),"data-testid":"printPreview-pageContentWrapper",children:r.jsxs("div",{className:"printPreview-pageContent",children:[t,r.jsx("div",{className:"printPreview-pageColumnWrapper",children:l})]})})})}ge.defaultProps={allColumnsLines:[]};ge.propTypes={pageHeader:i.element,allColumnsLines:i.arrayOf(i.arrayOf(i.string)),documentSize:i.string.isRequired,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};const fe=C.memo(ge);function ye(e){const{title:t}=e;return r.jsx("div",{className:"printPreview-pageHeader",children:t})}ye.defaultProps={allColumnsLines:[]};ye.propTypes={title:i.string.isRequired};const ht=C.memo(ye),be={emptyLine:"cmEmptyLine",chordLine:"cmChordLine",textLine:"cmLyricLine"};function Yr(e,{columnsCount:t,firstPageHeight:n,normalPageHeight:s,columnBreakOnSection:o,noEmptyLinesOnColumnStart:a=!0,noOrphanTextLine:l=!0}){const c=es({columnsCount:t,firstPageHeight:n,normalPageHeight:s,noEmptyLinesOnColumnStart:a});let d=[],u=0;return(n||s)>0&&e.forEach((m,f)=>{Jr(c,m,d,a)&&(d.push(m),u+=m.height),d.length>0&&Qr(m,e[f+1],{noOrphanTextLine:l,columnBreakOnSection:o})&&(c.fitsOnCurrentColumn(u)?c.insert(d):c.fitsOnNextColumn(u)?c.insertOnNextColumn(d):c.insert(d),d=[],u=0)}),c.get()}function Jr(e,t,n,s){return!(Y(t)&&!e.fitsOnCurrentColumn(t.height)&&n.length===0&&s===!0)}function Qr(e,t,{noOrphanTextLine:n,columnBreakOnSection:s}){if(Y(e)||!t)return!0;const o=Xr(e)&&Zr(t);if(n===!0&&o)return!1;const a=Y(t);return!(s===!0&&!a)}function Y(e){return xe(e.content,be.emptyLine)}function Xr(e){return xe(e.content,be.chordLine)}function Zr(e){return xe(e.content,be.textLine)}function xe(e,t){return e.indexOf(t)>-1}function es({firstPageHeight:e,normalPageHeight:t,columnsCount:n}){const s=[];let o=0,a=0,l=u(),c=0;s[o]=[],s[o][a]=[];function d(g){g.forEach(y=>{h(c+y.height)&&m(),s[o][a].push(y.content),c+=y.height})}function u(){return o===0&&e?e:t}function h(g){return g>l}function m(){f()?(o++,s[o]=[],a=0):a++,s[o][a]=[],c=0,l=u()}function f(){return a===n-1}return{insert(g){d(g)},insertOnNextColumn(g){m(),d(g)},fitsOnCurrentColumn(g){return c+g<=l},fitsOnNextColumn(g){const y=o===0&&a{const a=()=>(R.useLayoutEffect(()=>{const l=t(n);o(l)}),r.jsx("div",{children:e}));s.render(r.jsx(a,{}))}).then(o=>(s.unmount(),n.parentNode.removeChild(n),o))}function Ce(e,t=[]){for(let n=t.length||0;n{const d=[];return c.querySelectorAll(ns.line).forEach(u=>{d.push(ts(u))}),d})}async function ss(e,{columnsCount:t,documentSize:n,documentMargins:s,fontSize:o}){const a=r.jsx(fe,{pageHeader:r.jsx(ht,{title:e}),allColumnsLines:Ce(t),documentSize:n,documentMargins:s,fontSize:o});return await gt(a,c=>{const d=c.querySelector(".printPreview-pageContent"),u=c.querySelector(".printPreview-pageColumnWrapper");return{firstPageHeight:Ee(u),normalPageHeight:Ee(d)}})}function ft(e){const[t,n]=R.useState([]),{title:s,allLines:o,columnsCount:a,columnBreakOnSection:l,documentSize:c,documentMargins:d,fontSize:u}=e;R.useLayoutEffect(()=>{(async()=>{const f={columnsCount:a,documentSize:c,documentMargins:d,fontSize:u},g=await rs(o,f),{normalPageHeight:y,firstPageHeight:w}=await ss(s,f),T=o.map((j,b)=>({content:j,height:g[b]})),F=Yr(T,{columnsCount:a,columnBreakOnSection:l,normalPageHeight:y,firstPageHeight:w});n(F)})()},[o,s,a,l,c,d,u]);const h=t.map((m,f)=>r.jsx(fe,{pageHeader:f===0?r.jsx(ht,{title:s}):null,allColumnsLines:Ce(a,m),documentSize:c,documentMargins:d,fontSize:u},f));return r.jsx(C.Fragment,{children:h})}ft.propTypes={title:i.string.isRequired,allLines:i.arrayOf(i.string).isRequired,columnsCount:i.number.isRequired,columnBreakOnSection:i.bool.isRequired,documentSize:i.string.isRequired,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};function yt(e){const{selectedFile:t}=e,n=L(e,["transposeValue","accidentalsType","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]),o=tt(t.content||"",{...n}).match(/(.*?<\/p>)/gm),a=["printPreview","cmTheme-print"];return r.jsx("div",{className:a.join(" "),"data-testid":"printPreview",children:r.jsx(ft,{title:t.title||"",allLines:o,columnsCount:e.columnsCount,columnBreakOnSection:e.columnBreakOnSection,documentSize:e.documentSize||"a4",documentMargins:e.documentMargins,fontSize:e.fontSize})})}yt.propTypes={chartType:i.string.isRequired,selectedFile:i.object.isRequired,columnsCount:i.number.isRequired,columnBreakOnSection:i.bool.isRequired,documentSize:i.string,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};const is=N(e=>({accidentalsType:p(e,"songPreferences","preferredAccidentals"),transposeValue:p(e,"songPreferences","transposeValue"),symbolType:p(e,"songPreferences","symbolType"),chartType:p(e,"songFormatting","chartType"),alignChordsWithLyrics:p(e,"songFormatting","alignChordsWithLyrics"),alignBars:p(e,"songFormatting","alignBars"),autoRepeatChords:p(e,"songFormatting","autoRepeatChords"),expandSectionCopy:p(e,"songFormatting","expandSectionCopy"),columnsCount:p(e,"songFormatting","columnsCount"),columnBreakOnSection:p(e,"songFormatting","columnBreakOnSection"),documentMargins:p(e,"songFormatting","documentMargins"),fontSize:p(e,"songFormatting","fontSize")}))(yt);function bt(e){const{editorMode:t}=e;switch(t){case"edit":return r.jsx(Ur,{...e});case"play":return r.jsx(Kr,{...e});case"print":return r.jsx(is,{...e});case"export":return r.jsx(pt,{...e})}}bt.propTypes={editorMode:i.string.isRequired};const os=N(e=>({selectedFile:ee(e,S(e))||{},editorMode:_(e)}),{updateFile:$e})(bt);function xt(e){const{id:t,allWidgets:n,nonInteractableWidgets:s,hiddenWidgets:o,setOption:a,getEntryComponent:l}=e,c=["optionsPanel","optionsPanel-"+t];let d,u,h,m,f,g,y;const w=n.widgetsOrder.filter(F=>!o.includes(F)).map(F=>(d=n.allWidgets[F],d.type==="optionsGroup"?(y=d.groupWidgetsOrder.filter(j=>!o.includes(j)).map(j=>(u=d.allGroupWidgets[j],g=!s.includes(F)&&!s.includes(j),T(j,u,g))),y.length===0?null:(m=l(d.type),f=!s.includes(F),r.jsx(m,{isInteractable:f,label:d.label,icon:d.icon,children:y},F))):T(F,d,!s.includes(F))));function T(F,j,b){return h=l(j.type),r.jsx(h,{isInteractable:b,optionContext:j.option.context,optionKey:j.option.key,optionValue:e[j.option.key],setOption:a,label:j.label,...j.typeOptions},F)}return r.jsx("div",{className:c.join(" "),children:w})}xt.propTypes={id:i.string.isRequired,allWidgets:i.object.isRequired,nonInteractableWidgets:i.arrayOf(i.string).isRequired,hiddenWidgets:i.arrayOf(i.string).isRequired,setOption:i.func.isRequired,getEntryComponent:i.func.isRequired};function je(e){const{isInteractable:t,icon:n,label:s}=e,o=["sb-optionsGroup"];a()||o.push("sb-optionsGroup-isNotInteractable");function a(){return t&&e.children&&e.children.length>0}return r.jsxs("div",{className:o.join(" "),children:[r.jsxs("div",{className:"sb-optionsGroup-title",children:[r.jsx("span",{className:"sb-optionsGroup-iconTitle",children:r.jsx(x,{iconName:n})})," ",s]}),r.jsx("div",{className:"sb-optionsGroup-content",children:e.children})]})}je.propTypes={isInteractable:i.bool.isRequired,icon:i.string.isRequired,label:i.string.isRequired,children:i.arrayOf(i.element)};je.defaultProps={};function Ct(e){const{isSelected:t,isInteractable:n,label:s,onClick:o}=e;let a;const l=["sb-optionSelectChoice"];t&&(l.push("sb-optionSelectChoice-isSelected"),a=r.jsx("span",{className:"sb-optionSelectChoice-checkIcon",children:r.jsx(x,{iconName:"check"})})),n||l.push("sb-optionSelectChoice-isNotInteractable");function c(){n&&o()}return r.jsxs("div",{className:l.join(" "),onClick:c,children:[r.jsx("div",{className:"sb-optionSelectChoice-check",children:t&&a}),r.jsx("div",{className:"sb-optionSelectChoice-label",children:s})]})}Ct.propTypes={isSelected:i.bool.isRequired,isInteractable:i.bool.isRequired,label:i.string.isRequired,onClick:i.func.isRequired};const as=C.memo(Ct);function jt(e){const[t,n]=R.useState(!1),{isInteractable:s,label:o,allChoices:a,optionContext:l,optionKey:c,optionValue:d,setOption:u}=e,h=["sb-optionSelect"];s||h.push("sb-optionSelect-isNotInteractable");const m=t?"keyboard_arrow_down":"keyboard_arrow_right";function f(){n(!t)}const g=t?r.jsx("div",{className:"sb-optionSelect-choices",children:a.map(T=>r.jsx(as,{label:T.label,isSelected:d===T.value,isInteractable:s,onClick:()=>{u(l,c,T.value)}},T.value))}):null,y=a.find(T=>d===T.value).label,w=t?o:r.jsxs("span",{children:[r.jsx("span",{children:o+": "}),r.jsx("span",{className:"sb-optionSelectChoice-activeLabel",children:y})]});return r.jsxs("div",{className:h.join(" "),children:[r.jsxs("div",{className:"sb-optionSelect-title",onClick:s?f:null,children:[r.jsx("div",{className:"sb-optionSelect-desc","data-testid":"selectLabel",children:w}),r.jsx("div",{className:"sb-optionSelect-toggle",children:r.jsx("span",{className:"sb-optionSelect-icon",children:r.jsx(x,{iconName:m})})})]}),g]})}jt.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,allChoices:i.array.isRequired,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.string.isRequired,setOption:i.func.isRequired};function Re(e){const{isInteractable:t,label:n,min:s,max:o,showPlusSymbol:a,optionContext:l,optionKey:c,optionValue:d,setOption:u}=e,h=["sb-optionSlider"];t||h.push("sb-optionSlider-isNotInteractable");function m(g){u(l,c,Number.parseInt(g.target.value))}const f=d>0&&a?"+"+d:d;return r.jsxs("div",{className:h.join(" "),children:[r.jsx("div",{className:"sb-optionSlider-desc",children:n}),r.jsx("div",{className:"sb-optionSlider-value",children:f}),r.jsx("div",{className:"sb-optionSlider-range",children:r.jsx("input",{min:s,max:o,value:d,type:"range",onChange:t?m:null,disabled:!t})})]})}Re.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,min:i.number.isRequired,max:i.number.isRequired,showPlusSymbol:i.bool,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.number.isRequired,setOption:i.func.isRequired};Re.defaultProps={showPlusSymbol:!0};const ls=C.memo(Re);function Rt(e){const{isInteractable:t,label:n,optionContext:s,optionKey:o,optionValue:a,setOption:l}=e,c=["sb-optionToggle"];c.push(a===!0?"sb-optionToggle-isOn":"sb-optionToggle-isOff"),t||c.push("sb-optionToggle-isNotInteractable");function d(){l(s,o,!a)}return r.jsxs("div",{className:c.join(" "),onClick:t?d:null,children:[r.jsx("div",{className:"sb-optionToggle-desc",children:n}),r.jsx("div",{className:"sb-optionToggle-icon",children:r.jsx("span",{className:"sb-optionToggle-icon",children:r.jsx(x,{iconName:a===!0?"toggle_on":"toggle_off"})})})]})}Rt.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.bool.isRequired,setOption:i.func.isRequired};const cs=C.memo(Rt);function ds(e){switch(e){case"optionsGroup":return je;case"select":return jt;case"slider":return ls;case"toggle":return cs}}function us(e){return r.jsx("div",{className:"sb-optionsPanel",children:r.jsx(xt,{...e,getEntryComponent:ds})})}function ps(e){return r.jsxs("div",{className:"renderingOptionsPanel",children:[r.jsx("div",{className:"renderingOptionsPanel-isCollapsed",children:r.jsx("span",{className:"renderingOptionsPanel-icon",children:r.jsx(x,{iconName:"settings"})})}),r.jsx("div",{className:"renderingOptionsPanel-isExpanded",children:r.jsx(us,{...e,id:"rendering"})})]})}const ms=(e,t,n)=>{if(!e)throw new TypeError("Cannot set an option without a context");if(!t)throw new TypeError("Cannot set an option without a key");return v(X,{context:e,key:t,value:n})};function hs(e,t,n,s){return N(o=>{const a={allWidgets:e,nonInteractableWidgets:t(o),hiddenWidgets:n(o)};let l,c;return e.widgetsOrder.forEach(d=>{l=e.allWidgets[d],l.groupWidgetsOrder.forEach(u=>{c=l.allGroupWidgets[u],a[c.option.key]=p(o,c.option.context,c.option.key)})}),a},{setOption:ms})(s)}const gs={widgetsOrder:["editorPreferences","key","preferences","layout"],allWidgets:{editorPreferences:{label:"Editor preferences",type:"optionsGroup",icon:"tune",groupWidgetsOrder:["theme","chartFormat"],allGroupWidgets:{theme:{label:"Theme",type:"select",typeOptions:{allChoices:[{id:"themeDark1",label:"Dark 1 (default)",value:"dark1"},{id:"themeDark2",label:"Dark 2",value:"dark2"},{id:"themeDark3",label:"Dark 3",value:"dark3"}]},option:{context:"editorPreferences",key:"theme"}},chartFormat:{label:"Export format",type:"select",typeOptions:{allChoices:[{id:"formatChordMark",label:"ChordMark",value:"chordmark"},{id:"formatChordMarkSrc",label:"ChordMark (Source)",value:"chordmarkSrc"},{id:"formatChordpro",label:"ChordPro",value:"chordpro"},{id:"formatUG",label:"UltimateGuitar",value:"ultimateGuitar"}]},option:{context:"editorPreferences",key:"chartFormat"}}}},key:{label:"Key",type:"optionsGroup",icon:"music_note",groupWidgetsOrder:["transposeValue","preferredAccidentals","symbolType"],allGroupWidgets:{transposeValue:{label:"Transpose",type:"slider",typeOptions:{min:-11,max:11,showPlusSymbol:!0},option:{context:"songPreferences",key:"transposeValue"}},preferredAccidentals:{label:"Preferred accidentals",type:"select",typeOptions:{allChoices:[{id:"preferredAccidentalsAuto",label:"Auto",value:"auto"},{id:"preferredAccidentalsSharp",label:"♯",value:"sharp"},{id:"preferredAccidentalsFlat",label:"â™",value:"flat"}]},option:{context:"songPreferences",key:"preferredAccidentals"}},symbolType:{label:"Symbols type",type:"select",typeOptions:{allChoices:[{id:"symbolTypeChord",label:"Chord symbols",value:"chord"},{id:"symbolTypeRoman",label:"Roman numerals",value:"roman"}]},option:{context:"songPreferences",key:"symbolType"}}}},preferences:{label:"Chart settings",type:"optionsGroup",icon:"tune",groupWidgetsOrder:["chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"],allGroupWidgets:{chartType:{label:"Type",type:"select",typeOptions:{allChoices:[{id:"typedisplayAll",label:"Show everything",value:"all"},{id:"typedisplayLyrics",label:"Lyrics only",value:"lyrics"},{id:"typedisplayChords",label:"Chords only",value:"chords"},{id:"typedisplayChordsFirstLyricLine",label:"Chords + First lyric line",value:"chordsFirstLyricLine"}]},option:{context:"songFormatting",key:"chartType"}},alignChordsWithLyrics:{label:"Align chords with lyrics",type:"toggle",option:{context:"songFormatting",key:"alignChordsWithLyrics"}},alignBars:{label:"Align bars",type:"toggle",option:{context:"songFormatting",key:"alignBars"}},autoRepeatChords:{label:"Auto repeat chords",type:"toggle",option:{context:"songFormatting",key:"autoRepeatChords"}},expandSectionCopy:{label:"Expand copied sections",type:"toggle",option:{context:"songFormatting",key:"expandSectionCopy"}}}},layout:{type:"optionsGroup",label:"Layout",icon:"view_compact",groupWidgetsOrder:["fontSize","columnsCount","columnBreakOnSection","documentMargins"],allGroupWidgets:{fontSize:{label:"Font size",type:"slider",typeOptions:{min:-5,max:5,showPlusSymbol:!0},option:{context:"songFormatting",key:"fontSize"}},columnsCount:{label:"Columns",type:"slider",typeOptions:{min:1,max:4},option:{context:"songFormatting",key:"columnsCount"}},columnBreakOnSection:{label:"Column Break on section",type:"toggle",option:{context:"songFormatting",key:"columnBreakOnSection"}},documentMargins:{label:"Margins",type:"slider",typeOptions:{min:1,max:5},option:{context:"songFormatting",key:"documentMargins"}}}}}},fs=e=>{const t=[],n=p(e,"songFormatting","chartType");n==="lyrics"?(t.push("alignChordsWithLyrics"),t.push("alignBars"),t.push("autoRepeatChords")):n==="chords"&&t.push("alignChordsWithLyrics");const s=p(e,"editorPreferences","chartFormat");return _(e)==="export"&&s==="chordmarkSrc"&&(t.push("chartType"),t.push("alignChordsWithLyrics"),t.push("alignBars"),t.push("autoRepeatChords"),t.push("expandSectionCopy")),t},ys=e=>{const t=[],n=Object.keys({...P(e,"editorPreferences"),...P(e,"songFormatting"),...P(e,"songPreferences")});if(!S(e))return n;const o=_(e),a=Xt(n,ne[o]);return t.push(...a),t},bs=hs(gs,fs,ys,ps);function xs(){const e=r.jsx(Ar,{}),t=r.jsx(bs,{});return r.jsx(Pr,{leftBar:e,rightBar:t,children:r.jsx(os,{})})}const Cs=[{name:"home",path:"/",action:xs},...tr,...rr];Gn();function js(){In(),Kn();const e=window?window.location.pathname+window.location.search:"/";return Qn.init(Cs),G(e)}js();
+`)}function we(e){const t={ALLOWED_TAGS:["p","#text"],KEEP_CONTENT:!1};return J.sanitize(e,t)}function Vr(e){const t=we(e).split(`
+`).map(s=>`${s}
`).join(""),n=document.createElement("div");return n.innerHTML=we(t),n}function Ur(e){return Kt.create({doc:Yt.fromSchema($r).parse(Vr(e),{preserveWhitespace:"full"}),plugins:Hr()})}function Kr(e,t,n){return new Jt(null,{state:e,dispatchTransaction:function(o){const{state:a,transactions:l}=this.state.applyTransaction(o);this.updateState(a),l.some(c=>c.docChanged)&&t(n,{content:zr(a)})}})}function H(e){const{selectedFileId:t,editorContent:n,updateFile:s}=e,o=R.useRef(),a=R.useRef(),l=Yr(t);function c(){return t&&(!o.current||l!==t)}function d(){return u()&&!t}function u(){return o.current&&o.current.dom.parentNode}function h(){o.current.dom.parentNode.removeChild(o.current.dom)}return R.useEffect(()=>{if(c()){u()&&h();const m=Ur(n);o.current=Kr(m,s,t),a.current.appendChild(o.current.dom),H.editorView=o.current}else d()&&h()}),r.jsx("div",{className:"prosemirrorWrapper",ref:a})}H.defaultProps={selectedFileId:"",editorContent:""};H.propTypes={selectedFileId:i.string,editorContent:i.string,updateFile:i.func.isRequired};function Yr(e){const t=R.useRef();return R.useEffect(()=>{t.current=e}),t.current}function ut(e){const{selectedFile:t,updateFile:n,theme:s}=e,o=["songEditor-preview","cmTheme-"+s,"cmTheme-fadeRepeats"];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"songEditor-headers",children:[r.jsxs("div",{className:"songEditor-sourceHeader",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"ChordMark source (",r.jsx("a",{href:"https://chordmark.netlify.app/docs/getting-started",target:"_blank",rel:"noreferrer",className:"link1",children:"tutorial"}),")",r.jsx(x,{iconName:"arrow_drop_down"})]}),r.jsxs("div",{className:"songEditor-previewHeader",children:[r.jsx(x,{iconName:"arrow_drop_down"}),"Result preview",r.jsx(x,{iconName:"arrow_drop_down"})]})]}),r.jsx(Qt,{children:r.jsxs("div",{className:"songEditor",children:[r.jsx(Te,{group:"a",children:r.jsx("div",{className:"songEditor-source",children:r.jsx(H,{editorContent:t.content,updateFile:n,selectedFileId:t.id})})}),r.jsx(Te,{group:"a",children:r.jsx("div",{className:o.join(" "),children:r.jsx(dt,{selectedFile:t})})})]})})]})}ut.propTypes={selectedFile:i.object,theme:i.string.isRequired,updateFile:i.func.isRequired};const Jr=T(e=>({theme:p(e,"editorPreferences","theme")}))(ut);function pt(e){const{selectedFile:t}=e,n=C.createRef(),s=o=>{(o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="a"&&(o.preventDefault(),window.getSelection().selectAllChildren(n.current))};return R.useEffect(()=>(window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)})),r.jsx("div",{className:"exportPreview exp-SongRenderer",ref:n,children:r.jsx(he,{content:t.content,useChartFormat:!0})})}pt.propTypes={selectedFile:i.object.isRequired};function mt(e){const{theme:t,selectedFile:n,fontSize:s,columnsCount:o}=e,a=["playRendererWrapper1"];a.push("cmTheme-"+t),a.push("cmSong--fontSize"+s);const l=["playRenderer"];return l.push("playRenderer--columns-"+o),r.jsx("div",{className:a.join(" "),"data-testid":"playRendererWrapper1",children:r.jsx("div",{className:"playRendererWrapper2",children:r.jsx("div",{className:l.join(" "),"data-testid":"playRenderer",children:r.jsx(he,{content:n.content})})})})}mt.propTypes={theme:i.string.isRequired,fontSize:i.number.isRequired,selectedFile:i.object.isRequired,columnsCount:i.number.isRequired};const Qr=T(e=>({theme:p(e,"editorPreferences","theme"),fontSize:p(e,"songFormatting","fontSize"),columnsCount:p(e,"songFormatting","columnsCount")}))(mt);function ge(e){const{pageHeader:t,allColumnsLines:n,documentSize:s,documentMargins:o,fontSize:a}=e,l=n.map((u,h)=>{const m=u.join("");return r.jsx("div",{className:"printPreview-pageColumn","data-testid":"printPreview-pageColumn",dangerouslySetInnerHTML:{__html:ct(m)}},h)}),c=["printPreview-page"];c.push("printPreview-page--"+s),c.push("cmSong--fontSize"+a),c.push("cmSong");const d=["printPreview-pageContentWrapper"];return d.push("printPreview-pageContentWrapper--padding"+o),r.jsx("div",{className:c.join(" "),"data-testid":"printPreview-page",children:r.jsx("div",{className:d.join(" "),"data-testid":"printPreview-pageContentWrapper",children:r.jsxs("div",{className:"printPreview-pageContent",children:[t,r.jsx("div",{className:"printPreview-pageColumnWrapper",children:l})]})})})}ge.defaultProps={allColumnsLines:[]};ge.propTypes={pageHeader:i.element,allColumnsLines:i.arrayOf(i.arrayOf(i.string)),documentSize:i.string.isRequired,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};const fe=C.memo(ge);function ye(e){const{title:t}=e;return r.jsx("div",{className:"printPreview-pageHeader",children:t})}ye.defaultProps={allColumnsLines:[]};ye.propTypes={title:i.string.isRequired};const ht=C.memo(ye),be={emptyLine:"cmEmptyLine",chordLine:"cmChordLine",textLine:"cmLyricLine"};function Xr(e,{columnsCount:t,firstPageHeight:n,normalPageHeight:s,columnBreakOnSection:o,noEmptyLinesOnColumnStart:a=!0,noOrphanTextLine:l=!0}){const c=rs({columnsCount:t,firstPageHeight:n,normalPageHeight:s,noEmptyLinesOnColumnStart:a});let d=[],u=0;return(n||s)>0&&e.forEach((m,f)=>{Zr(c,m,d,a)&&(d.push(m),u+=m.height),d.length>0&&es(m,e[f+1],{noOrphanTextLine:l,columnBreakOnSection:o})&&(c.fitsOnCurrentColumn(u)?c.insert(d):c.fitsOnNextColumn(u)?c.insertOnNextColumn(d):c.insert(d),d=[],u=0)}),c.get()}function Zr(e,t,n,s){return!(Y(t)&&!e.fitsOnCurrentColumn(t.height)&&n.length===0&&s===!0)}function es(e,t,{noOrphanTextLine:n,columnBreakOnSection:s}){if(Y(e)||!t)return!0;const o=ts(e)&&ns(t);if(n===!0&&o)return!1;const a=Y(t);return!(s===!0&&!a)}function Y(e){return xe(e.content,be.emptyLine)}function ts(e){return xe(e.content,be.chordLine)}function ns(e){return xe(e.content,be.textLine)}function xe(e,t){return e.indexOf(t)>-1}function rs({firstPageHeight:e,normalPageHeight:t,columnsCount:n}){const s=[];let o=0,a=0,l=u(),c=0;s[o]=[],s[o][a]=[];function d(g){g.forEach(y=>{h(c+y.height)&&m(),s[o][a].push(y.content),c+=y.height})}function u(){return o===0&&e?e:t}function h(g){return g>l}function m(){f()?(o++,s[o]=[],a=0):a++,s[o][a]=[],c=0,l=u()}function f(){return a===n-1}return{insert(g){d(g)},insertOnNextColumn(g){m(),d(g)},fitsOnCurrentColumn(g){return c+g<=l},fitsOnNextColumn(g){const y=o===0&&a{const a=()=>(R.useLayoutEffect(()=>{const l=t(n);o(l)}),r.jsx("div",{children:e}));s.render(r.jsx(a,{}))}).then(o=>(s.unmount(),n.parentNode.removeChild(n),o))}function Ce(e,t=[]){for(let n=t.length||0;n{const d=[];return c.querySelectorAll(is.line).forEach(u=>{d.push(ss(u))}),d})}async function as(e,{columnsCount:t,documentSize:n,documentMargins:s,fontSize:o}){const a=r.jsx(fe,{pageHeader:r.jsx(ht,{title:e}),allColumnsLines:Ce(t),documentSize:n,documentMargins:s,fontSize:o});return await gt(a,c=>{const d=c.querySelector(".printPreview-pageContent"),u=c.querySelector(".printPreview-pageColumnWrapper");return{firstPageHeight:_e(u),normalPageHeight:_e(d)}})}function ft(e){const[t,n]=R.useState([]),{title:s,allLines:o,columnsCount:a,columnBreakOnSection:l,documentSize:c,documentMargins:d,fontSize:u}=e;R.useLayoutEffect(()=>{(async()=>{const f={columnsCount:a,documentSize:c,documentMargins:d,fontSize:u},g=await os(o,f),{normalPageHeight:y,firstPageHeight:w}=await as(s,f),N=o.map((j,b)=>({content:j,height:g[b]})),F=Xr(N,{columnsCount:a,columnBreakOnSection:l,normalPageHeight:y,firstPageHeight:w});n(F)})()},[o,s,a,l,c,d,u]);const h=t.map((m,f)=>r.jsx(fe,{pageHeader:f===0?r.jsx(ht,{title:s}):null,allColumnsLines:Ce(a,m),documentSize:c,documentMargins:d,fontSize:u},f));return r.jsx(C.Fragment,{children:h})}ft.propTypes={title:i.string.isRequired,allLines:i.arrayOf(i.string).isRequired,columnsCount:i.number.isRequired,columnBreakOnSection:i.bool.isRequired,documentSize:i.string.isRequired,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};function yt(e){const{selectedFile:t}=e,n=L(e,["transposeValue","accidentalsType","symbolType","chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"]),o=tt(t.content||"",{...n}).match(/(.*?<\/p>)/gm),a=["printPreview","cmTheme-print"];return r.jsx("div",{className:a.join(" "),"data-testid":"printPreview",children:r.jsx(ft,{title:t.title||"",allLines:o,columnsCount:e.columnsCount,columnBreakOnSection:e.columnBreakOnSection,documentSize:e.documentSize||"a4",documentMargins:e.documentMargins,fontSize:e.fontSize})})}yt.propTypes={chartType:i.string.isRequired,selectedFile:i.object.isRequired,columnsCount:i.number.isRequired,columnBreakOnSection:i.bool.isRequired,documentSize:i.string,documentMargins:i.number.isRequired,fontSize:i.number.isRequired};const ls=T(e=>({accidentalsType:p(e,"songPreferences","preferredAccidentals"),transposeValue:p(e,"songPreferences","transposeValue"),symbolType:p(e,"songPreferences","symbolType"),chartType:p(e,"songFormatting","chartType"),alignChordsWithLyrics:p(e,"songFormatting","alignChordsWithLyrics"),alignBars:p(e,"songFormatting","alignBars"),autoRepeatChords:p(e,"songFormatting","autoRepeatChords"),expandSectionCopy:p(e,"songFormatting","expandSectionCopy"),columnsCount:p(e,"songFormatting","columnsCount"),columnBreakOnSection:p(e,"songFormatting","columnBreakOnSection"),documentMargins:p(e,"songFormatting","documentMargins"),fontSize:p(e,"songFormatting","fontSize")}))(yt);function bt(e){const{editorMode:t}=e;switch(t){case"edit":return r.jsx(Jr,{...e});case"play":return r.jsx(Qr,{...e});case"print":return r.jsx(ls,{...e});case"export":return r.jsx(pt,{...e})}}bt.propTypes={editorMode:i.string.isRequired};const cs=T(e=>({selectedFile:ee(e,S(e))||{},editorMode:E(e)}),{updateFile:$e})(bt);function xt(e){const{id:t,allWidgets:n,nonInteractableWidgets:s,hiddenWidgets:o,setOption:a,getEntryComponent:l}=e,c=["optionsPanel","optionsPanel-"+t];let d,u,h,m,f,g,y;const w=n.widgetsOrder.filter(F=>!o.includes(F)).map(F=>(d=n.allWidgets[F],d.type==="optionsGroup"?(y=d.groupWidgetsOrder.filter(j=>!o.includes(j)).map(j=>(u=d.allGroupWidgets[j],g=!s.includes(F)&&!s.includes(j),N(j,u,g))),y.length===0?null:(m=l(d.type),f=!s.includes(F),r.jsx(m,{isInteractable:f,label:d.label,icon:d.icon,children:y},F))):N(F,d,!s.includes(F))));function N(F,j,b){return h=l(j.type),r.jsx(h,{isInteractable:b,optionContext:j.option.context,optionKey:j.option.key,optionValue:e[j.option.key],setOption:a,label:j.label,...j.typeOptions},F)}return r.jsx("div",{className:c.join(" "),children:w})}xt.propTypes={id:i.string.isRequired,allWidgets:i.object.isRequired,nonInteractableWidgets:i.arrayOf(i.string).isRequired,hiddenWidgets:i.arrayOf(i.string).isRequired,setOption:i.func.isRequired,getEntryComponent:i.func.isRequired};function je(e){const{isInteractable:t,icon:n,label:s}=e,o=["sb-optionsGroup"];a()||o.push("sb-optionsGroup-isNotInteractable");function a(){return t&&e.children&&e.children.length>0}return r.jsxs("div",{className:o.join(" "),children:[r.jsxs("div",{className:"sb-optionsGroup-title",children:[r.jsx("span",{className:"sb-optionsGroup-iconTitle",children:r.jsx(x,{iconName:n})})," ",s]}),r.jsx("div",{className:"sb-optionsGroup-content",children:e.children})]})}je.propTypes={isInteractable:i.bool.isRequired,icon:i.string.isRequired,label:i.string.isRequired,children:i.arrayOf(i.element)};je.defaultProps={};function Ct(e){const{isSelected:t,isInteractable:n,label:s,onClick:o}=e;let a;const l=["sb-optionSelectChoice"];t&&(l.push("sb-optionSelectChoice-isSelected"),a=r.jsx("span",{className:"sb-optionSelectChoice-checkIcon",children:r.jsx(x,{iconName:"check"})})),n||l.push("sb-optionSelectChoice-isNotInteractable");function c(){n&&o()}return r.jsxs("div",{className:l.join(" "),onClick:c,children:[r.jsx("div",{className:"sb-optionSelectChoice-check",children:t&&a}),r.jsx("div",{className:"sb-optionSelectChoice-label",children:s})]})}Ct.propTypes={isSelected:i.bool.isRequired,isInteractable:i.bool.isRequired,label:i.string.isRequired,onClick:i.func.isRequired};const ds=C.memo(Ct);function jt(e){const[t,n]=R.useState(!1),{isInteractable:s,label:o,allChoices:a,optionContext:l,optionKey:c,optionValue:d,setOption:u}=e,h=["sb-optionSelect"];s||h.push("sb-optionSelect-isNotInteractable");const m=t?"keyboard_arrow_down":"keyboard_arrow_right";function f(){n(!t)}const g=t?r.jsx("div",{className:"sb-optionSelect-choices",children:a.map(N=>r.jsx(ds,{label:N.label,isSelected:d===N.value,isInteractable:s,onClick:()=>{u(l,c,N.value)}},N.value))}):null,y=a.find(N=>d===N.value).label,w=t?o:r.jsxs("span",{children:[r.jsx("span",{children:o+": "}),r.jsx("span",{className:"sb-optionSelectChoice-activeLabel",children:y})]});return r.jsxs("div",{className:h.join(" "),children:[r.jsxs("div",{className:"sb-optionSelect-title",onClick:s?f:null,children:[r.jsx("div",{className:"sb-optionSelect-desc","data-testid":"selectLabel",children:w}),r.jsx("div",{className:"sb-optionSelect-toggle",children:r.jsx("span",{className:"sb-optionSelect-icon",children:r.jsx(x,{iconName:m})})})]}),g]})}jt.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,allChoices:i.array.isRequired,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.string.isRequired,setOption:i.func.isRequired};function Re(e){const{isInteractable:t,label:n,min:s,max:o,showPlusSymbol:a,optionContext:l,optionKey:c,optionValue:d,setOption:u}=e,h=["sb-optionSlider"];t||h.push("sb-optionSlider-isNotInteractable");function m(g){u(l,c,Number.parseInt(g.target.value))}const f=d>0&&a?"+"+d:d;return r.jsxs("div",{className:h.join(" "),children:[r.jsx("div",{className:"sb-optionSlider-desc",children:n}),r.jsx("div",{className:"sb-optionSlider-value",children:f}),r.jsx("div",{className:"sb-optionSlider-range",children:r.jsx("input",{min:s,max:o,value:d,type:"range",onChange:t?m:null,disabled:!t})})]})}Re.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,min:i.number.isRequired,max:i.number.isRequired,showPlusSymbol:i.bool,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.number.isRequired,setOption:i.func.isRequired};Re.defaultProps={showPlusSymbol:!0};const us=C.memo(Re);function Rt(e){const{isInteractable:t,label:n,optionContext:s,optionKey:o,optionValue:a,setOption:l}=e,c=["sb-optionToggle"];c.push(a===!0?"sb-optionToggle-isOn":"sb-optionToggle-isOff"),t||c.push("sb-optionToggle-isNotInteractable");function d(){l(s,o,!a)}return r.jsxs("div",{className:c.join(" "),onClick:t?d:null,children:[r.jsx("div",{className:"sb-optionToggle-desc",children:n}),r.jsx("div",{className:"sb-optionToggle-icon",children:r.jsx("span",{className:"sb-optionToggle-icon",children:r.jsx(x,{iconName:a===!0?"toggle_on":"toggle_off"})})})]})}Rt.propTypes={isInteractable:i.bool.isRequired,label:i.string.isRequired,optionContext:i.string.isRequired,optionKey:i.string.isRequired,optionValue:i.bool.isRequired,setOption:i.func.isRequired};const ps=C.memo(Rt);function ms(e){switch(e){case"optionsGroup":return je;case"select":return jt;case"slider":return us;case"toggle":return ps}}function hs(e){return r.jsx("div",{className:"sb-optionsPanel",children:r.jsx(xt,{...e,getEntryComponent:ms})})}function gs(e){return r.jsxs("div",{className:"renderingOptionsPanel",children:[r.jsx("div",{className:"renderingOptionsPanel-isCollapsed",children:r.jsx("span",{className:"renderingOptionsPanel-icon",children:r.jsx(x,{iconName:"settings"})})}),r.jsx("div",{className:"renderingOptionsPanel-isExpanded",children:r.jsx(hs,{...e,id:"rendering"})})]})}const fs=(e,t,n)=>{if(!e)throw new TypeError("Cannot set an option without a context");if(!t)throw new TypeError("Cannot set an option without a key");return v(X,{context:e,key:t,value:n})};function ys(e,t,n,s){return T(o=>{const a={allWidgets:e,nonInteractableWidgets:t(o),hiddenWidgets:n(o)};let l,c;return e.widgetsOrder.forEach(d=>{l=e.allWidgets[d],l.groupWidgetsOrder.forEach(u=>{c=l.allGroupWidgets[u],a[c.option.key]=p(o,c.option.context,c.option.key)})}),a},{setOption:fs})(s)}const bs={widgetsOrder:["editorPreferences","key","preferences","layout"],allWidgets:{editorPreferences:{label:"Editor preferences",type:"optionsGroup",icon:"tune",groupWidgetsOrder:["theme","chartFormat"],allGroupWidgets:{theme:{label:"Theme",type:"select",typeOptions:{allChoices:[{id:"themeDark1",label:"Dark 1 (default)",value:"dark1"},{id:"themeDark2",label:"Dark 2",value:"dark2"},{id:"themeDark3",label:"Dark 3",value:"dark3"}]},option:{context:"editorPreferences",key:"theme"}},chartFormat:{label:"Export format",type:"select",typeOptions:{allChoices:[{id:"formatChordMark",label:"ChordMark",value:"chordmark"},{id:"formatChordMarkSrc",label:"ChordMark (Source)",value:"chordmarkSrc"},{id:"formatChordpro",label:"ChordPro",value:"chordpro"},{id:"formatUG",label:"UltimateGuitar",value:"ultimateGuitar"}]},option:{context:"editorPreferences",key:"chartFormat"}}}},key:{label:"Key",type:"optionsGroup",icon:"music_note",groupWidgetsOrder:["transposeValue","preferredAccidentals","symbolType"],allGroupWidgets:{transposeValue:{label:"Transpose",type:"slider",typeOptions:{min:-11,max:11,showPlusSymbol:!0},option:{context:"songPreferences",key:"transposeValue"}},preferredAccidentals:{label:"Preferred accidentals",type:"select",typeOptions:{allChoices:[{id:"preferredAccidentalsAuto",label:"Auto",value:"auto"},{id:"preferredAccidentalsSharp",label:"♯",value:"sharp"},{id:"preferredAccidentalsFlat",label:"â™",value:"flat"}]},option:{context:"songPreferences",key:"preferredAccidentals"}},symbolType:{label:"Symbols type",type:"select",typeOptions:{allChoices:[{id:"symbolTypeChord",label:"Chord symbols",value:"chord"},{id:"symbolTypeRoman",label:"Roman numerals",value:"roman"}]},option:{context:"songPreferences",key:"symbolType"}}}},preferences:{label:"Chart settings",type:"optionsGroup",icon:"tune",groupWidgetsOrder:["chartType","alignChordsWithLyrics","alignBars","autoRepeatChords","expandSectionCopy"],allGroupWidgets:{chartType:{label:"Type",type:"select",typeOptions:{allChoices:[{id:"typedisplayAll",label:"Show everything",value:"all"},{id:"typedisplayLyrics",label:"Lyrics only",value:"lyrics"},{id:"typedisplayChords",label:"Chords only",value:"chords"},{id:"typedisplayChordsFirstLyricLine",label:"Chords + First lyric line",value:"chordsFirstLyricLine"}]},option:{context:"songFormatting",key:"chartType"}},alignChordsWithLyrics:{label:"Align chords with lyrics",type:"toggle",option:{context:"songFormatting",key:"alignChordsWithLyrics"}},alignBars:{label:"Align bars",type:"toggle",option:{context:"songFormatting",key:"alignBars"}},autoRepeatChords:{label:"Auto repeat chords",type:"toggle",option:{context:"songFormatting",key:"autoRepeatChords"}},expandSectionCopy:{label:"Expand copied sections",type:"toggle",option:{context:"songFormatting",key:"expandSectionCopy"}}}},layout:{type:"optionsGroup",label:"Layout",icon:"view_compact",groupWidgetsOrder:["fontSize","columnsCount","columnBreakOnSection","documentMargins"],allGroupWidgets:{fontSize:{label:"Font size",type:"slider",typeOptions:{min:-5,max:5,showPlusSymbol:!0},option:{context:"songFormatting",key:"fontSize"}},columnsCount:{label:"Columns",type:"slider",typeOptions:{min:1,max:4},option:{context:"songFormatting",key:"columnsCount"}},columnBreakOnSection:{label:"Column Break on section",type:"toggle",option:{context:"songFormatting",key:"columnBreakOnSection"}},documentMargins:{label:"Margins",type:"slider",typeOptions:{min:1,max:5},option:{context:"songFormatting",key:"documentMargins"}}}}}},xs=e=>{const t=[],n=p(e,"songFormatting","chartType");n==="lyrics"?(t.push("alignChordsWithLyrics"),t.push("alignBars"),t.push("autoRepeatChords")):n==="chords"&&t.push("alignChordsWithLyrics");const s=p(e,"editorPreferences","chartFormat");return E(e)==="export"&&s==="chordmarkSrc"&&(t.push("chartType"),t.push("alignChordsWithLyrics"),t.push("alignBars"),t.push("autoRepeatChords"),t.push("expandSectionCopy")),t},Cs=e=>{const t=[],n=Object.keys({...P(e,"editorPreferences"),...P(e,"songFormatting"),...P(e,"songPreferences")});if(!S(e))return n;const o=E(e),a=Xt(n,ne[o]);return t.push(...a),t},js=ys(bs,xs,Cs,gs);function Rs(){const e=r.jsx(Gr,{}),t=r.jsx(js,{});return r.jsx(Or,{leftBar:e,rightBar:t,children:r.jsx(cs,{})})}const vs=[{name:"home",path:"/",action:Rs},...sr,...or];Gn();function Fs(){In(),Kn();const e=window?window.location.pathname+window.location.search:"/";return Qn.init(vs),G(e)}Fs();
diff --git a/packages/chord-chart-studio/build/assets/index-qH_J_xcx.css b/packages/chord-chart-studio/build/assets/index-qH_J_xcx.css
new file mode 100644
index 0000000..bddd487
--- /dev/null
+++ b/packages/chord-chart-studio/build/assets/index-qH_J_xcx.css
@@ -0,0 +1 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{box-sizing:border-box;font-size:62.5%;font-size:.625em}body{font-size:1.6rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}.theme-dark .link1{color:#fabf2b}.theme-dark .link1:hover{color:#fbce5d}.theme-dark .link1:active{color:#fcdd8f}::-webkit-scrollbar{width:10px;height:10px}.theme-light ::-webkit-scrollbar{background-color:red}.theme-dark ::-webkit-scrollbar{background-color:red}.theme-dark ::-webkit-scrollbar-track,.theme-dark ::-webkit-scrollbar-corner{background-color:#293132}::-webkit-scrollbar-thumb{border-radius:100vw}.theme-light ::-webkit-scrollbar-thumb{border:3px solid}.theme-dark ::-webkit-scrollbar-thumb{background-color:#a8a8a8;border:3px solid rgb(41,49,50)}.theme-dark ::-webkit-scrollbar-thumb:hover{background-color:#c1c1c1}@supports (scrollbar-color: white black){*{scrollbar-width:thin}.theme-dark *{scrollbar-color:#a8a8a8 rgb(41,49,50)}}.cmTheme-dark1{background-color:#293132}.cmTheme-dark1 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f4f4f4}.cmTheme-dark1 .cmSong p{margin:0}.cmTheme-dark1 .cmSectionLabel{color:#67d3ff;font-weight:700}.cmTheme-dark1 .cmSectionMultiplier{color:#ed7bff}.cmTheme-dark1 .cmTimeSignature,.cmTheme-dark1 .cmKeyDeclaration{color:#a7ff7b;font-weight:700}.cmTheme-dark1 .cmChordLine{color:#fabf2b}.cmTheme-dark1 .cmBarSeparator{opacity:.5}.cmTheme-dark1 .cmChordDuration{opacity:.7}.cmTheme-dark1 .cmSubBeatGroupOpener,.cmTheme-dark1 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark1 .cmChordLine-romanNumeral,.cmTheme-dark1 .cmRomanNumeral{color:#fabf2b}.cmTheme-dark1 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#fabf2b}.cmTheme-dark1 .cmRomanNumeral-borrowed{color:#303846;background-color:#fabf2bb3}.cmTheme-dark1 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-dark2{background-color:#282a36}.cmTheme-dark2 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f8f8f2}.cmTheme-dark2 .cmSong p{margin:0}.cmTheme-dark2 .cmSectionLabel{color:#ffb86c;font-weight:700}.cmTheme-dark2 .cmSectionMultiplier{color:#f1fa8c}.cmTheme-dark2 .cmTimeSignature,.cmTheme-dark2 .cmKeyDeclaration{color:#f1fa8c;font-weight:700}.cmTheme-dark2 .cmChordLine{color:#8be9fd}.cmTheme-dark2 .cmBarSeparator{opacity:.5}.cmTheme-dark2 .cmChordDuration{opacity:.7}.cmTheme-dark2 .cmSubBeatGroupOpener,.cmTheme-dark2 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark2 .cmChordLine-romanNumeral,.cmTheme-dark2 .cmRomanNumeral{color:#8be9fd}.cmTheme-dark2 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#8be9fd}.cmTheme-dark2 .cmRomanNumeral-borrowed{color:#303846;background-color:#8be9fdb3}.cmTheme-dark2 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-dark3{background-color:#282a36}.cmTheme-dark3 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#f8f8f2}.cmTheme-dark3 .cmSong p{margin:0}.cmTheme-dark3 .cmSectionLabel{color:#f55;font-weight:700}.cmTheme-dark3 .cmSectionMultiplier{color:#f1fa8c}.cmTheme-dark3 .cmTimeSignature,.cmTheme-dark3 .cmKeyDeclaration{color:#8be9fd;font-weight:700}.cmTheme-dark3 .cmChordLine{color:#50fa7b}.cmTheme-dark3 .cmBarSeparator{opacity:.5}.cmTheme-dark3 .cmChordDuration{opacity:.7}.cmTheme-dark3 .cmSubBeatGroupOpener,.cmTheme-dark3 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmTheme-dark3 .cmChordLine-romanNumeral,.cmTheme-dark3 .cmRomanNumeral{color:#50fa7b}.cmTheme-dark3 .cmRomanNumeral-diatonic{font-weight:700;color:#303846;background-color:#50fa7b}.cmTheme-dark3 .cmRomanNumeral-borrowed{color:#303846;background-color:#50fa7bb3}.cmTheme-dark3 .cmRomanNumeral-unknown{opacity:.8}.cmTheme-text .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333}.cmTheme-text .cmSong p{margin:0}.cmTheme-print{background-color:#fff}.cmTheme-print .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333;font-size:12px}.cmTheme-print .cmSong p{margin:0}.cmTheme-print .cmSectionLabel{font-weight:700;text-decoration:underline}.cmTheme-print .cmSectionMultiplier{font-weight:400;text-decoration:unset}.cmTheme-print .cmTimeSignature,.cmTheme-print .cmKeyDeclaration{font-weight:700}.cmTheme-print .cmBarSeparator{opacity:.5}.cmTheme-print .cmChordDuration{opacity:.7}.cmTheme-print .cmSubBeatGroupOpener,.cmTheme-print .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.cmSong--fontSize-5 .cmLine{font-size:.5em;line-height:1.15em}.cmSong--fontSize-4 .cmLine{font-size:.6em;line-height:1.25em}.cmSong--fontSize-3 .cmLine{font-size:.7em;line-height:1.35em}.cmSong--fontSize-2 .cmLine{font-size:.8em;line-height:1.45em}.cmSong--fontSize-1 .cmLine{font-size:.9em;line-height:1.55em}.cmSong--fontSize1 .cmLine{font-size:1.1em;line-height:1.75em}.cmSong--fontSize2 .cmLine{font-size:1.2em;line-height:1.85em}.cmSong--fontSize3 .cmLine{font-size:1.3em;line-height:1.95em}.cmSong--fontSize4 .cmLine{font-size:1.4em;line-height:2.05em}.cmSong--fontSize5 .cmLine{font-size:1.5em;line-height:2.15em}.cmChordLyricLine{display:flex;flex-wrap:wrap}.cmChordLyricLine .cmChordLyricPair{flex:0 0 auto;display:flex;flex-direction:column}.cmChordLyricLine .cmChordLyricPair .cmChordLine,.cmChordLyricLine .cmChordLyricPair .cmLyricLine{flex:0 0 auto;white-space:pre}.cmTheme-print2{background-color:#fff}.cmTheme-print2 .cmSong{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:10px;white-space:pre-wrap;color:#333;font-size:14px;line-height:1.4em;font-family:Menlo,Courier New,Courier,monospace}.cmTheme-print2 .cmSong p{margin:0}.cmTheme-print2 .cmSection{border:1px solid black;border-radius:8px;padding:.4em;margin:.2em 0;break-inside:avoid}.cmTheme-print2 .cmSection-Chorus{background-color:#ededed}.cmTheme-print2 .cmSectionLabel{font-weight:700;font-size:.85em;text-transform:uppercase}.cmTheme-print2 .cmSectionMultiplier{text-decoration:unset;font-size:.95em}.cmTheme-print2 .cmTimeSignature,.cmTheme-print2 .cmKeyDeclaration{font-weight:700}.cmTheme-print2 .cmEmptyLine{display:none}.cmTheme-print2 .cmChordLine{font-weight:bolder}.cmTheme-print2 .cmBarSeparator{opacity:.5}.cmTheme-print2 .cmChordDuration{opacity:.7}.cmTheme-print2 .cmSubBeatGroupOpener,.cmTheme-print2 .cmSubBeatGroupCloser{opacity:.8;font-weight:700}.ErrorBoundary{padding:2rem}._button_1530w_1{font-weight:700;background-color:red}html,body,#app{height:100%;padding:0}.appLayout-wrapper{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.leftBar{flex-shrink:0;width:15%;max-width:250px;display:flex;flex-direction:row;flex-wrap:nowrap}.leftBar.leftBar-isCollapsed{width:48px}.theme-light .leftBar.leftBar-isCollapsed{border-right:1px solid}.theme-dark .leftBar{color:#f4f4f4;background-color:#303846}.theme-dark .leftBar.leftBar-isCollapsed{border-right:1px solid #dbdbdb}.theme-dark .leftBar.leftBar-isCollapsed:hover{background-color:#455064}@media print{.leftBar{display:none}}.rightBar{flex-shrink:0;width:15%;max-width:250px;display:flex;flex-direction:row;flex-wrap:nowrap}.rightBar.rightBar-isCollapsed{width:48px}.theme-light .rightBar.rightBar-isCollapsed{border-left:1px solid}.theme-dark .rightBar{color:#f4f4f4;background-color:#303846}.theme-dark .rightBar.rightBar-isCollapsed{border-left:1px solid #dbdbdb}.theme-dark .rightBar.rightBar-isCollapsed:hover{background-color:#455064}@media print{.rightBar{display:none}}.leftBar-content{overflow-y:scroll;flex:1 1 auto}.leftBar-isCollapsed .leftBar-content{padding:.5rem 1rem;text-align:center;cursor:pointer;overflow:hidden}.rightBar-content{overflow-y:scroll;flex:1 1 auto}.rightBar-isCollapsed .rightBar-content{padding:.5rem 1rem;text-align:center;cursor:pointer;overflow:hidden}.leftBar-collapser{flex:0 0 12px;display:flex;cursor:pointer}.leftBar-isCollapsed .leftBar-collapser{display:none}.theme-light .leftBar-collapser{border-right:1px solid}.theme-dark .leftBar-collapser{background-color:#405a73;border-right:1px solid #a8a8a8}.theme-dark .leftBar-collapser:hover{background-color:#537393}.theme-dark .leftBar-collapser{color:#f4f4f4}.leftBar-collapserIcon{flex:1 1 auto;align-self:center;font-weight:700}.leftBar-collapserIcon .icon{font-size:1.2rem}.rightBar-collapser{flex:0 0 12px;display:flex;cursor:pointer}.rightBar-isCollapsed .rightBar-collapser{display:none}.theme-light .rightBar-collapser{border-left:1px solid}.theme-dark .rightBar-collapser{background-color:#405a73;border-left:1px solid #a8a8a8}.theme-dark .rightBar-collapser:hover{background-color:#537393}.theme-dark .rightBar-collapser{color:#f4f4f4}.rightBar-collapserIcon{flex:1 1 auto;align-self:center;font-weight:700}.rightBar-collapserIcon .icon{font-size:1.2rem}.appLayout-main{flex-grow:1;display:flex;flex-direction:column;flex-wrap:nowrap}.appLayout-header{flex-shrink:0}.theme-light .appLayout-header{border-bottom:3px solid}.theme-dark .appLayout-header{color:#f4f4f4b3;background-color:#303846;border-bottom:3px solid rgb(250,191,43)}@media print{.appLayout-header{display:none}}.appLayout-content{overflow-y:auto;flex-grow:1}@media print{.appLayout-content{overflow-y:visible}}.theme-dark .appLayout-footer{color:#a8a8a8}@media print{.appLayout-footer{display:none}}.logo-isExpanded{box-sizing:border-box;padding:1.5rem 0 1rem;width:100%}.leftBar-isCollapsed .logo-isExpanded{display:none}.logo-img{margin:0 auto;width:70%}.logo-img svg{fill:#fff;aspect-ratio:1.25/1;width:80%;margin:5px auto 10px;display:block}.mainNav-entries{margin:0;padding:0;display:flex;justify-content:center;list-style-type:none;font-size:1.6rem;font-family:Open Sans,sans-serif;font-weight:400;vertical-align:middle}.mainNavEntry{display:inline-block;padding:1rem 2rem;cursor:default;font-weight:700}.mainNavEntry:hover:not(.mainNavEntry-isActive){cursor:pointer}.theme-dark .mainNavEntry:hover:not(.mainNavEntry-isDisabled):not(.mainNavEntry-isActive){color:#1c2731;background-color:#fcdd8f}.theme-dark .mainNavEntry.mainNavEntry-isActive{color:#1c2731;background-color:#fabf2b}.mainNavEntry.mainNavEntry-isDisabled{-webkit-user-select:none;user-select:none}.theme-light .mainNavEntry.mainNavEntry-isDisabled{cursor:not-allowed}.theme-dark .mainNavEntry.mainNavEntry-isDisabled{color:#a8a8a8;background-color:#303846;cursor:not-allowed}.mainNavEntry-icon .icon{margin-right:.5rem;font-size:1.4rem}.icon{vertical-align:middle}.userGuide-isExpanded{margin-left:1rem}.rightBar-isCollapsed .userGuide-isExpanded{display:none}.userGuide-isCollapsed{padding:1rem 0}.rightBar:not(.rightBar-isCollapsed) .userGuide-isCollapsed{display:none}button{border:0;border-radius:0;background-color:transparent}.Button{display:inline-block;padding:10px 20px;font-weight:700;text-transform:capitalize;margin:10px 20px 10px 0}.Button:hover{cursor:pointer}.Button:last-of-type{margin-right:0}.theme-dark .Button-primary:not(.Button-isDisabled){background-color:#fabf2b;color:#1c2731}.theme-dark .Button-primary:not(.Button-isDisabled):hover{color:#000;background-color:#fcdd8f}.theme-dark .Button-primary:not(.Button-isDisabled):active{color:#2e4052;background-color:#feecc0}.Button-primary.Button-isDisabled{cursor:not-allowed}.theme-dark .Button-primary.Button-isDisabled{background-color:#57686a;color:#404c4e}.theme-dark .Button-secondary:not(.Button-isDisabled){background-color:#a8a8a8;color:#121616}.theme-dark .Button-secondary:not(.Button-isDisabled):hover{color:#000;background-color:#c1c1c1}.theme-dark .Button-secondary:not(.Button-isDisabled):active{color:#2e4052;background-color:#dbdbdb}.Button-secondary.Button-isDisabled{cursor:not-allowed}.theme-dark .Button-secondary.Button-isDisabled{background-color:#57686a;color:#404c4e}.versions-isExpanded{margin:4rem 0;padding:0 1rem;opacity:.5;font-size:1rem}.rightBar-isCollapsed .versions-isExpanded{display:none}.versions-isExpanded a{color:inherit}.versions-isExpanded a:hover{opacity:.7}.sim-SongImporterModal_Container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;display:flex;flex-direction:column;align-items:stretch;align-content:stretch;flex-wrap:nowrap}.theme-light .sim-SongImporterModal_Container{border:1px solid}.theme-dark .sim-SongImporterModal_Container{background-color:#1e2324;border:1px solid #c1c1c1;color:#f4f4f4}.sim-Header_Container{flex:0 0 auto;display:flex}.theme-light .sim-Header_Container{border-bottom:1px solid}.theme-dark .sim-Header_Container{background-color:#303846;border-bottom:1px solid #c1c1c1;color:#f4f4f4b3}.sim-Header_Title{flex:1 1 auto;padding:20px;font-size:1.6rem;font-weight:bolder}.sim-Header_Actions{flex:0 0 auto;padding:0 10px}.sim-TwoColumns_Container{display:flex;align-self:stretch}.sim-TwoColumns_Container-autoHeight{flex:0 1 100%;min-height:0}.sim-Column_Container{flex:1 1 50%;align-self:stretch;padding:0 10px}.sim-Column_Container:first-child{padding-right:5px}.sim-Column_Container:last-child{padding-left:5px}.sim-Input_Header{height:20px;text-transform:uppercase;padding:2px;text-align:center;font-size:1.2rem}.theme-dark .sim-Input_Header{background-color:#404c4e;color:#f4f4f4b3}.sim-Input_Textarea{box-sizing:border-box;padding:10px;width:100%;height:calc(100% - 34px);max-height:calc(100% - 34px);overflow-y:scroll;resize:none;margin:0;background-color:transparent;border:0;outline:none;font-family:PT Mono,consolas,courier,monospace;font-size:1.2rem;line-height:1.5rem}.theme-dark .sim-Input_Textarea{background-color:#121616;color:#f4f4f4}.sim-Input_Textarea-Disabled{opacity:.5}.sim-Preview_Container{box-sizing:border-box;font-family:PT Mono,consolas,courier,monospace;font-size:1.2rem;white-space:pre-wrap;height:calc(100% - 34px);max-height:calc(100% - 34px);overflow-y:scroll;padding:10px}.theme-dark .sim-Preview_Container{background-color:#293132}.sim-Preview_Error{padding:10px}.theme-dark .sim-Preview_Error{color:#f4f4f4;background-color:#f91900}.sim-InputFile_Input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.sim-InputFormat{padding:10px 0}.sim-InputFormat_Entry{display:inline-block;margin:0 10px}.sim-InputFormat_Entry:hover,.sim-InputFormat_Label:hover{cursor:pointer}.sim-InputFormat_Entry-Disabled,.sim-InputFormat_Label-Disabled{opacity:.5}.sim-InputFormat_Entry-Disabled:hover,.sim-InputFormat_Label-Disabled:hover{cursor:not-allowed}.mod-ModalContainer{z-index:5000;height:100%;width:100%;position:absolute;top:0;left:0}.mod-Overlay{height:100%;width:100%;position:absolute;top:0;left:0;opacity:.7;background-color:#000}.mod-ModalConfirmContainer{z-index:5000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;padding:10px 20px}.theme-light .mod-ModalConfirmContainer{border:1px solid}.theme-dark .mod-ModalConfirmContainer{background-color:#1e2324;border:1px solid #c1c1c1;color:#f4f4f4}.mod-ModalConfirmButtons{text-align:center}.fileManager-isExpanded{font-size:1.2rem}.leftBar-isCollapsed .fileManager-isExpanded{display:none}.fileManager-isCollapsed{padding:1rem 0}.leftBar:not(.leftBar-isCollapsed) .fileManager-isCollapsed{display:none}.fileManager-actionsList{padding:1rem;display:flex;flex-direction:row;flex-wrap:wrap}.theme-dark .fileManager-actionsList{background-color:#455064}.fileManagerAction{flex:0 1 auto;padding:.5rem;margin-right:.5rem;white-space:nowrap}.fileManagerAction:hover{cursor:not-allowed}.fileManagerAction:hover:not(.fileManagerAction-isDisabled){cursor:pointer}.theme-dark .fileManagerAction:hover:not(.fileManagerAction-isDisabled){background-color:#596883}.fileManagerAction-isDisabled{-webkit-user-select:none;user-select:none;opacity:.5}.fileManagerAction-icon .icon{font-size:1.4rem}.fileManager-entriesList{padding-left:0;list-style:none}.fileManagerEntry{cursor:pointer;padding:.1rem 0}.theme-dark .fileManagerEntry:hover{background-color:#596883}.theme-dark .fileManagerEntry.fileManagerEntry-isSelected{background-color:#fabf2b}.fileManagerEntry-input{box-sizing:border-box;width:100%;padding:0 1rem;background-color:transparent;border:none;cursor:pointer;outline:none}.theme-dark .fileManagerEntry-input{color:#f4f4f4}.theme-dark .fileManagerEntry-isSelected .fileManagerEntry-input{color:#303846}.fileManagerEntry-isRenamed .fileManagerEntry-input{cursor:text}.theme-dark .fileManagerEntry-isRenamed .fileManagerEntry-input{background-color:#f4f4f4;color:#303846}.songEditor-headers{display:flex;height:20px;text-transform:uppercase;padding:3px 0;text-align:center;font-size:1.2rem}.theme-dark .songEditor-headers{background-color:#404c4e;color:#f4f4f4b3}.songEditor-sourceHeader,.songEditor-previewHeader{flex:0 1 50%}.songEditor{width:100%;height:calc(100% - 26px);display:flex;flex-direction:row;flex-wrap:nowrap}.songEditor-source{flex:0 1 50%;display:flex;overflow-y:scroll}.theme-dark .songEditor-source{background-color:#1e2324}.songEditor-preview{flex:0 1 50%;overflow-y:scroll}.editorPreview{box-sizing:border-box;padding:.5rem;min-height:100%}.cmTheme-fadeRepeats .cmLine--isFromAutoRepeatChords,.cmTheme-fadeRepeats .cmLine--isFromChordLineRepeater,.cmTheme-fadeRepeats .cmLine--isFromSectionCopy,.cmTheme-fadeRepeats .cmLine--isFromSectionMultiply{opacity:.5}.prosemirrorWrapper{flex:1 1 auto;padding:15px 0}.ProseMirror{height:100%;outline:none;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em}.theme-dark .ProseMirror{color:#dbdbdb}.ProseMirror p{margin:0;padding:0 1rem}.exportPreview{box-sizing:border-box;min-height:100%;padding:1rem}.theme-dark .exportPreview{background-color:#293132;color:#f4f4f4}.exp-SongRenderer{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.65em;padding:15px;white-space:pre-wrap;color:#333}.exp-SongRenderer p{margin:0}.exp-SongRenderer .txtLine{display:block}.theme-light .exp-SongRenderer{color:!important}.theme-dark .exp-SongRenderer{color:#f4f4f4!important}.playRendererWrapper1{position:relative;height:100%;overflow-y:scroll}.playRendererWrapper2{position:absolute;top:0;right:0;bottom:0;left:0}.playRenderer{box-sizing:border-box;min-height:100%}.playRenderer .cmSong{padding:0!important}.playRenderer--columns-1{column-count:1;padding:1rem}.playRenderer--columns-2{column-count:2;column-fill:auto;height:100%;padding:1rem}.playRenderer--columns-3{column-count:3;column-fill:auto;height:100%;padding:1rem}.playRenderer--columns-4{column-count:4;column-fill:auto;height:100%;padding:1rem}.printPreview{overflow:hidden;min-height:100%}.theme-dark .printPreview{background-color:#293132}@media print{.printPreview{background-color:#fff!important;overflow-y:auto}}.printPreview-page{position:relative;margin:2rem auto;background-color:#fff}@media print{.printPreview-page{margin:0;page-break-after:auto}}.printPreview-pageContentWrapper{position:absolute;top:0;left:0;bottom:0;right:0}.printPreview-pageContent{display:flex;flex-direction:column;flex-wrap:nowrap;height:100%}.printPreview-pageHeader{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.printPreview-pageColumnWrapper{flex:1;display:flex;flex-direction:row;flex-wrap:nowrap}.printPreview-pageColumn{flex:1 1 0;margin:0 .7rem}.printPreview-pageColumn:first-of-type{margin-left:0}.printPreview-pageColumn:last-of-type{margin-right:0}.printPreview-page--a4{width:210mm;height:297mm}.printPreview-page--booxmax2pro{width:698px;height:930px}.printPreview-pageContentWrapper--padding1{padding:3mm}.printPreview-pageContentWrapper--padding2{padding:6mm}.printPreview-pageContentWrapper--padding3{padding:9mm}.printPreview-pageContentWrapper--padding4{padding:12mm}.printPreview-pageContentWrapper--padding5{padding:15mm}.cmTheme-print .cmSong{padding:0!important}.measuring-node{visibility:hidden;position:absolute;z-index:-1}.rightBar-isCollapsed .renderingOptionsPanel-isExpanded{display:none}.renderingOptionsPanel-isCollapsed{padding:1rem 0}.rightBar:not(.rightBar-isCollapsed) .renderingOptionsPanel-isCollapsed{display:none}.sb-optionsGroup{padding-top:2rem}.sb-optionsGroup:first-of-type{padding-top:0}.sb-optionsGroup-title{-webkit-user-select:none;user-select:none;padding:.5rem 1rem .5rem .5rem;font-size:1.4rem;font-weight:700}.theme-light .sb-optionsGroup-title{border-bottom:2px solid}.theme-dark .sb-optionsGroup-title{border-bottom:2px solid rgba(244,244,244,.7)}.theme-dark .sb-optionsGroup-isNotInteractable .sb-optionsGroup-title{color:#71819e}.sb-optionsGroup-iconTitle .icon{font-size:1.6rem}.sb-optionsGroup-iconToggle .icon{font-size:1.8rem}.sb-optionSelect{font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionSelect{border-bottom:1px dotted}.theme-dark .sb-optionSelect{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionSelect{background-color:#1b2028}.sb-optionSelect.sb-optionSelect-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionSelect.sb-optionSelect-isNotInteractable{color:#71819e}.sb-optionSelect:hover{cursor:not-allowed}.sb-optionSelect:hover:not(.sb-optionSelect-isNotInteractable){cursor:pointer}.theme-dark .sb-optionSelect:hover:not(.sb-optionSelect-isNotInteractable){background-color:#596883}.sb-optionSelect-title{display:flex}.sb-optionSelect-desc{flex:1 1 auto}.sb-optionSelect-toggle{flex:0 0 auto}.sb-optionSelect-icon .icon{font-size:1.8rem}.sb-optionSelectChoice-activeLabel{opacity:.5}.sb-optionSelectChoice{padding-top:.5rem;display:flex}.sb-optionSelectChoice:hover:not(.sb-optionSelectChoice-isNotInteractable){text-decoration:underline;cursor:pointer}.sb-optionSelectChoice-isSelected{font-weight:700}.sb-optionSelectChoice-check{flex:0 0 20px}.sb-optionSelectChoice-checkIcon .icon{font-size:1.2rem}.sb-optionSelectChoice-label{flex:1 1 auto}.sb-optionSlider{display:flex;flex-wrap:wrap;font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionSlider{border-bottom:1px dotted}.theme-dark .sb-optionSlider{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionSlider{background-color:#1b2028}.sb-optionSlider.sb-optionSlider-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionSlider.sb-optionSlider-isNotInteractable{color:#71819e}.sb-optionSlider:hover{cursor:not-allowed}.sb-optionSlider:hover:not(.sb-optionSlider-isNotInteractable){cursor:pointer}.theme-dark .sb-optionSlider:hover:not(.sb-optionSlider-isNotInteractable){background-color:#596883}.sb-optionSlider-desc{flex:1 1 auto}.sb-optionSlider-value{flex:0 0 auto;vertical-align:middle;font-size:1.2rem}.sb-optionSlider-range{flex:1 1 100%}.theme-light .sb-optionSlider-range input[type=range]{-webkit-appearance:none;width:100%;background:transparent}.theme-light .sb-optionSlider-range input[type=range]:focus{outline:none}.theme-light .sb-optionSlider-range input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-webkit-slider-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704;-webkit-appearance:none;margin-top:-3.3333333333}.theme-light .sb-optionSlider-range input[type=range]:focus::-webkit-slider-runnable-track{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-moz-range-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704}.theme-light .sb-optionSlider-range input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;animation:.2s;color:transparent;border-width:15px 0;border-color:transparent;background:transparent}.theme-light .sb-optionSlider-range input[type=range]::-ms-fill-lower{border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-ms-fill-upper{border:0 solid black;border-radius:0;background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]::-ms-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#bb8704}.theme-light .sb-optionSlider-range input[type=range]:focus::-ms-fill-lower{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]:focus::-ms-fill-upper{background:#feecc0}.theme-light .sb-optionSlider-range input[type=range]:disabled::-moz-range-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-moz-range-thumb{cursor:default}.theme-light .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-runnable-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-thumb{cursor:default}.theme-light .sb-optionSlider-range input[type=range]:disabled::-ms-track,.theme-light .sb-optionSlider-range input[type=range]:disabled::-ms-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]{-webkit-appearance:none;width:100%;background:transparent}.theme-dark .sb-optionSlider-range input[type=range]:focus{outline:none}.theme-dark .sb-optionSlider-range input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-webkit-slider-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809;-webkit-appearance:none;margin-top:-3.3333333333}.theme-dark .sb-optionSlider-range input[type=range]:focus::-webkit-slider-runnable-track{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;animation:.2s;border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-moz-range-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809}.theme-dark .sb-optionSlider-range input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;animation:.2s;color:transparent;border-width:15px 0;border-color:transparent;background:transparent}.theme-dark .sb-optionSlider-range input[type=range]::-ms-fill-lower{border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-ms-fill-upper{border:0 solid black;border-radius:0;background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]::-ms-thumb{width:15px;height:10px;cursor:pointer;border:0 solid black;border-radius:0;background:#070809}.theme-dark .sb-optionSlider-range input[type=range]:focus::-ms-fill-lower{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]:focus::-ms-fill-upper{background:#71819e}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-moz-range-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-moz-range-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-runnable-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-webkit-slider-thumb{cursor:default}.theme-dark .sb-optionSlider-range input[type=range]:disabled::-ms-track,.theme-dark .sb-optionSlider-range input[type=range]:disabled::-ms-thumb{cursor:default}.sb-optionSlider-range input[type=range]:disabled{opacity:.35;cursor:not-allowed!important}.sb-optionToggle{display:flex;font-size:1.2rem;padding:.5rem 1.5rem .5rem 1rem}.theme-light .sb-optionToggle{border-bottom:1px dotted}.theme-dark .sb-optionToggle{border-bottom:1px dotted #71819e}.theme-dark .sb-optionsGroup .sb-optionToggle{background-color:#1b2028}.sb-optionToggle.sb-optionToggle-isNotInteractable{-webkit-user-select:none;user-select:none}.theme-dark .sb-optionToggle.sb-optionToggle-isNotInteractable{color:#71819e}.sb-optionToggle:hover{cursor:not-allowed}.sb-optionToggle:hover:not(.sb-optionToggle-isNotInteractable){cursor:pointer}.theme-dark .sb-optionToggle:hover:not(.sb-optionToggle-isNotInteractable){background-color:#596883}.sb-optionToggle-desc{flex:1 1 auto}.sb-optionToggle-icon{flex:0 0 auto}.theme-dark .sb-optionToggle-isOff .icon{color:#a8a8a8}.sb-optionToggle-icon .icon{font-size:1.8rem}.theme-dark .sb-optionToggle-isOff .sb-optionToggle-icon .icon{color:#a8a8a8}
diff --git a/packages/chord-chart-studio/build/index.html b/packages/chord-chart-studio/build/index.html
index 545975a..03c422b 100644
--- a/packages/chord-chart-studio/build/index.html
+++ b/packages/chord-chart-studio/build/index.html
@@ -39,10 +39,10 @@
gtag('config', 'G-EGKBT2J600');
-
+
-
+
diff --git a/packages/chord-chart-studio/build/sw.js b/packages/chord-chart-studio/build/sw.js
index 5a2321f..368f5a5 100644
--- a/packages/chord-chart-studio/build/sw.js
+++ b/packages/chord-chart-studio/build/sw.js
@@ -1 +1 @@
-if(!self.define){let e,s={};const n=(n,o)=>(n=new URL(n+".js",o).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(o,t)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(s[i])return;let r={};const l=e=>n(e,i),c={module:{uri:i},exports:r,require:l};s[i]=Promise.all(o.map((e=>c[e]||l(e)))).then((e=>(t(...e),r)))}}define(["./workbox-f6d27052"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"assets/index-1ovoJZ2z.css",revision:null},{url:"assets/index-COv2kAVA.js",revision:null},{url:"assets/logo-D2B3txiq.svg",revision:null},{url:"assets/vendor-BPGk5lTF.js",revision:null},{url:"assets/vendor-D780UWrd.css",revision:null},{url:"icon.svg",revision:"22be856a58b037f4d448a78f2fc6dee6"},{url:"index.html",revision:"c2e2f3cf62a5d52328348442250ac568"},{url:"registerSW.js",revision:"6a7126f4909d378979bca200ff77879d"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),e.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new e.StaleWhileRevalidate({cacheName:"google-fonts-webfonts",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxAgeSeconds:31536e3,maxEntries:30})]}),"GET")}));
+if(!self.define){let e,s={};const n=(n,t)=>(n=new URL(n+".js",t).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(t,o)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(s[i])return;let r={};const l=e=>n(e,i),c={module:{uri:i},exports:r,require:l};s[i]=Promise.all(t.map((e=>c[e]||l(e)))).then((e=>(o(...e),r)))}}define(["./workbox-f6d27052"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"assets/index-D-AW_nO6.js",revision:null},{url:"assets/index-qH_J_xcx.css",revision:null},{url:"assets/logo-D2B3txiq.svg",revision:null},{url:"assets/vendor-BPGk5lTF.js",revision:null},{url:"assets/vendor-D780UWrd.css",revision:null},{url:"icon.svg",revision:"22be856a58b037f4d448a78f2fc6dee6"},{url:"index.html",revision:"bf24e591785efbfc7f3fe1697c3b13d0"},{url:"registerSW.js",revision:"6a7126f4909d378979bca200ff77879d"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),e.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new e.StaleWhileRevalidate({cacheName:"google-fonts-webfonts",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxAgeSeconds:31536e3,maxEntries:30})]}),"GET")}));
diff --git a/packages/chord-chart-studio/package.json b/packages/chord-chart-studio/package.json
index 14e0d45..c3acf0b 100644
--- a/packages/chord-chart-studio/package.json
+++ b/packages/chord-chart-studio/package.json
@@ -1,84 +1,95 @@
{
- "name": "chord-chart-studio",
- "version": "0.14.0",
- "description": "Chord Chart Studio",
- "private": true,
- "author": "Christophe Noël",
- "license": "LicenseRef-LICENSE",
- "engines": {
- "node": ">=16"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/no-chris/.chord-chart-studio.git"
- },
- "bugs": {
- "url": "https://github.com/no-chris/chord-chart-studio/issues"
- },
- "homepage": "https://github.com/no-chris/chord-chart-studio#readme",
- "devDependencies": {
- "@testing-library/dom": "^9.3.4",
- "@testing-library/jest-dom": "^6.3.0",
- "@testing-library/react": "^14.1.2",
- "@testing-library/user-event": "^14.5.2",
- "react-test-renderer": "^18.2.0"
- },
- "dependencies": {
- "chord-mark": "^0.16.2",
- "chord-mark-converters": "^0.16.2",
- "chord-mark-themes": "^0.16.2",
- "chord-symbol": "^4.0.0",
- "chord-symbol-ultimateguitar": "^4.0.0",
- "combine-section-reducers": "^1.0.6",
- "core-js": "^3.35.1",
- "dompurify": "^3.0.8",
- "file-saver": "^2.0.5",
- "filesize": "^10.1.0",
- "lodash": "^4.17.21",
- "normalize.css": "^8.0.1",
- "prop-types": "^15.8.1",
- "prosemirror-commands": "^1.5.2",
- "prosemirror-history": "^1.3.2",
- "prosemirror-keymap": "^1.2.2",
- "prosemirror-model": "^1.19.4",
- "prosemirror-schema-basic": "^1.2.2",
- "prosemirror-state": "^1.4.3",
- "prosemirror-transform": "^1.8.0",
- "prosemirror-view": "^1.32.7",
- "qs": "^6.11.2",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-redux": "^8.1.3",
- "redux": "^4.2.1",
- "redux-devtools-extension": "^2.13.9",
- "redux-thunk": "^2.4.2",
- "reselect": "^4.1.8",
- "scroll-sync-react": "^1.2.0",
- "universal-router": "^9.2.0",
- "uuid": "^9.0.1"
- },
- "scripts": {
- "audit": "npm audit",
- "build": "npm run format && npm run lint && npm run test && npm run version && npm run bundle && npm run size && npm run sloc",
- "bundle": "npx vite build",
- "dev": "npx vite",
- "format": "prettier --write \"**/*.{js,jsx,json,ts,md,scss,css}\"",
- "lint": "eslint src tests",
- "preview": "npx vite preview",
- "size": "npx size-limit",
- "sloc": "echo \"Source code:\" > SLOC && npx sloc src >> SLOC && echo \"Tests:\" >> SLOC && npx sloc tests >> SLOC && echo \"Total:\" >> SLOC && npx sloc src tests >> SLOC",
- "test": "npx jest",
- "unit": "npx jest tests/unit",
- "version": "node src/core/createGetVersions.js"
- },
- "size-limit": [
- {
- "path": "./build/assets/index-*.js",
- "limit": "25 KB"
- },
- {
- "path": "./build/assets/vendor-*.js",
- "limit": "300 KB"
- }
- ]
+ "name": "chord-chart-studio",
+ "version": "0.14.0",
+ "description": "Chord Chart Studio",
+ "private": true,
+ "author": "Christophe Noël",
+ "license": "LicenseRef-LICENSE",
+ "engines": {
+ "node": ">=16"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/no-chris/.chord-chart-studio.git"
+ },
+ "bugs": {
+ "url": "https://github.com/no-chris/chord-chart-studio/issues"
+ },
+ "homepage": "https://github.com/no-chris/chord-chart-studio#readme",
+ "devDependencies": {
+ "@chromatic-com/storybook": "^1.2.1",
+ "@storybook/addon-essentials": "8.0.0-rc.0",
+ "@storybook/addon-interactions": "8.0.0-rc.0",
+ "@storybook/addon-links": "8.0.0-rc.0",
+ "@storybook/blocks": "8.0.0-rc.0",
+ "@storybook/react": "8.0.0-rc.0",
+ "@storybook/react-vite": "8.0.0-rc.0",
+ "@storybook/test": "8.0.0-rc.0",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.3.0",
+ "@testing-library/react": "^14.1.2",
+ "@testing-library/user-event": "^14.5.2",
+ "react-test-renderer": "^18.2.0",
+ "storybook": "8.0.0-rc.0"
+ },
+ "dependencies": {
+ "chord-mark": "^0.16.2",
+ "chord-mark-converters": "^0.16.2",
+ "chord-mark-themes": "^0.16.2",
+ "chord-symbol": "^4.0.0",
+ "chord-symbol-ultimateguitar": "^4.0.0",
+ "combine-section-reducers": "^1.0.6",
+ "core-js": "^3.35.1",
+ "dompurify": "^3.0.8",
+ "file-saver": "^2.0.5",
+ "filesize": "^10.1.0",
+ "lodash": "^4.17.21",
+ "normalize.css": "^8.0.1",
+ "prop-types": "^15.8.1",
+ "prosemirror-commands": "^1.5.2",
+ "prosemirror-history": "^1.3.2",
+ "prosemirror-keymap": "^1.2.2",
+ "prosemirror-model": "^1.19.4",
+ "prosemirror-schema-basic": "^1.2.2",
+ "prosemirror-state": "^1.4.3",
+ "prosemirror-transform": "^1.8.0",
+ "prosemirror-view": "^1.32.7",
+ "qs": "^6.11.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-redux": "^8.1.3",
+ "redux": "^4.2.1",
+ "redux-devtools-extension": "^2.13.9",
+ "redux-thunk": "^2.4.2",
+ "reselect": "^4.1.8",
+ "scroll-sync-react": "^1.2.0",
+ "universal-router": "^9.2.0",
+ "uuid": "^9.0.1"
+ },
+ "scripts": {
+ "audit": "npm audit",
+ "build": "npm run format && npm run lint && npm run test && npm run version && npm run bundle && npm run size && npm run sloc",
+ "bundle": "npx vite build",
+ "dev": "npx vite",
+ "format": "prettier --write \"**/*.{js,jsx,json,ts,md,scss,css}\"",
+ "lint": "eslint src tests",
+ "preview": "npx vite preview",
+ "size": "npx size-limit",
+ "sloc": "echo \"Source code:\" > SLOC && npx sloc src >> SLOC && echo \"Tests:\" >> SLOC && npx sloc tests >> SLOC && echo \"Total:\" >> SLOC && npx sloc src tests >> SLOC",
+ "test": "npx jest",
+ "unit": "npx jest tests/unit",
+ "version": "node src/core/createGetVersions.js",
+ "storybook": "storybook dev -p 6006",
+ "build-storybook": "storybook build"
+ },
+ "size-limit": [
+ {
+ "path": "./build/assets/index-*.js",
+ "limit": "25 KB"
+ },
+ {
+ "path": "./build/assets/vendor-*.js",
+ "limit": "300 KB"
+ }
+ ]
}
diff --git a/packages/chord-chart-studio/src/components/button/Button.jsx b/packages/chord-chart-studio/src/components/button/Button.jsx
new file mode 100644
index 0000000..60ac4cf
--- /dev/null
+++ b/packages/chord-chart-studio/src/components/button/Button.jsx
@@ -0,0 +1,11 @@
+import styles from './Button.module.css';
+
+import React from 'react';
+
+export default function Button({ children, onClick }) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/packages/chord-chart-studio/src/components/button/Button.module.css b/packages/chord-chart-studio/src/components/button/Button.module.css
new file mode 100644
index 0000000..c7d12eb
--- /dev/null
+++ b/packages/chord-chart-studio/src/components/button/Button.module.css
@@ -0,0 +1,4 @@
+.button {
+ font-weight: bold;
+ background-color: red;
+}
diff --git a/packages/chord-chart-studio/src/components/button/Button.stories.js b/packages/chord-chart-studio/src/components/button/Button.stories.js
new file mode 100644
index 0000000..451ce55
--- /dev/null
+++ b/packages/chord-chart-studio/src/components/button/Button.stories.js
@@ -0,0 +1,26 @@
+import { fn } from '@storybook/test';
+
+import Button from './Button';
+
+export default {
+ component: Button,
+ parameters: {
+ layout: 'centered',
+ },
+ tags: ['autodocs'],
+ argTypes: {
+ children: {
+ control: 'select',
+ options: ['Primary', 'Secondary'],
+ },
+ },
+ args: { children: 'myButton', onClick: fn() },
+};
+
+export const Main = {};
+
+export const SecondState = {
+ args: {
+ children: 'mySecondButton',
+ },
+};
diff --git a/packages/chord-chart-studio/src/core/getVersions.js b/packages/chord-chart-studio/src/core/getVersions.js
index 05d2665..21b37fb 100644
--- a/packages/chord-chart-studio/src/core/getVersions.js
+++ b/packages/chord-chart-studio/src/core/getVersions.js
@@ -1 +1,5 @@
-export default () => ({'chord-chart-studio':'v0.14.0','chord-symbol':'v4.0.0','chord-mark':'v0.16.2'});
\ No newline at end of file
+export default () => ({
+ 'chord-chart-studio': 'v0.14.0',
+ 'chord-symbol': 'v4.0.0',
+ 'chord-mark': 'v0.16.2',
+});
diff --git a/packages/chord-chart-studio/src/modules/library/controllers/Library.jsx b/packages/chord-chart-studio/src/modules/library/controllers/Library.jsx
index 37f828f..9cba877 100644
--- a/packages/chord-chart-studio/src/modules/library/controllers/Library.jsx
+++ b/packages/chord-chart-studio/src/modules/library/controllers/Library.jsx
@@ -3,6 +3,7 @@ import { useSelector } from 'react-redux';
import { getAllTitles } from '../../../db/files/selectors';
import { navigateTo, getLink } from '../../../core/router';
+import Button from '../../../components/button/Button';
export default function Library() {
const allTitles = useSelector(getAllTitles);
@@ -15,6 +16,7 @@ export default function Library() {
Full Library
+
My Nice Button
);
}
diff --git a/packages/chord-chart-studio/src/stories/Button.jsx b/packages/chord-chart-studio/src/stories/Button.jsx
new file mode 100644
index 0000000..6343b29
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Button.jsx
@@ -0,0 +1,56 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import './button.css';
+
+/**
+ * Primary UI component for user interaction
+ */
+export const Button = ({ primary, backgroundColor, size, label, ...props }) => {
+ const mode = primary
+ ? 'storybook-button--primary'
+ : 'storybook-button--secondary';
+ return (
+
+ {label}
+
+ );
+};
+
+Button.propTypes = {
+ /**
+ * Is this the principal call to action on the page?
+ */
+ primary: PropTypes.bool,
+ /**
+ * What background color to use
+ */
+ backgroundColor: PropTypes.string,
+ /**
+ * How large should the button be?
+ */
+ size: PropTypes.oneOf(['small', 'medium', 'large']),
+ /**
+ * Button contents
+ */
+ label: PropTypes.string.isRequired,
+ /**
+ * Optional click handler
+ */
+ onClick: PropTypes.func,
+};
+
+Button.defaultProps = {
+ backgroundColor: null,
+ primary: false,
+ size: 'medium',
+ onClick: undefined,
+};
diff --git a/packages/chord-chart-studio/src/stories/Button.stories.js b/packages/chord-chart-studio/src/stories/Button.stories.js
new file mode 100644
index 0000000..b6a58f6
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Button.stories.js
@@ -0,0 +1,49 @@
+import { fn } from '@storybook/test';
+import { Button } from './Button';
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+export default {
+ title: 'Example/Button',
+ component: Button,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: 'centered',
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ['autodocs'],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked:
+ //https://storybook.js.org/docs/essentials/actions#action-args
+ args: { onClick: fn() },
+};
+
+// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
+export const Primary = {
+ args: {
+ primary: true,
+ label: 'Button',
+ },
+};
+
+export const Secondary = {
+ args: {
+ label: 'Button',
+ },
+};
+
+export const Large = {
+ args: {
+ size: 'large',
+ label: 'Button',
+ },
+};
+
+export const Small = {
+ args: {
+ size: 'small',
+ label: 'Button',
+ },
+};
diff --git a/packages/chord-chart-studio/src/stories/Header.jsx b/packages/chord-chart-studio/src/stories/Header.jsx
new file mode 100644
index 0000000..8c85951
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Header.jsx
@@ -0,0 +1,73 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+import { Button } from './Button';
+import './header.css';
+
+export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => (
+
+);
+
+Header.propTypes = {
+ user: PropTypes.shape({
+ name: PropTypes.string.isRequired,
+ }),
+ onLogin: PropTypes.func.isRequired,
+ onLogout: PropTypes.func.isRequired,
+ onCreateAccount: PropTypes.func.isRequired,
+};
+
+Header.defaultProps = {
+ user: null,
+};
diff --git a/packages/chord-chart-studio/src/stories/Header.stories.js b/packages/chord-chart-studio/src/stories/Header.stories.js
new file mode 100644
index 0000000..57a22e5
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Header.stories.js
@@ -0,0 +1,22 @@
+import { Header } from './Header';
+
+export default {
+ title: 'Example/Header',
+ component: Header,
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ['autodocs'],
+ parameters: {
+ // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
+ layout: 'fullscreen',
+ },
+};
+
+export const LoggedIn = {
+ args: {
+ user: {
+ name: 'Jane Doe',
+ },
+ },
+};
+
+export const LoggedOut = {};
diff --git a/packages/chord-chart-studio/src/stories/Page.jsx b/packages/chord-chart-studio/src/stories/Page.jsx
new file mode 100644
index 0000000..e0feec8
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Page.jsx
@@ -0,0 +1,90 @@
+import React from 'react';
+
+import { Header } from './Header';
+import './page.css';
+
+export const Page = () => {
+ const [user, setUser] = React.useState();
+
+ return (
+
+ setUser({ name: 'Jane Doe' })}
+ onLogout={() => setUser(undefined)}
+ onCreateAccount={() => setUser({ name: 'Jane Doe' })}
+ />
+
+
+ Pages in Storybook
+
+ We recommend building UIs with a{' '}
+
+ component-driven
+ {' '}
+ process starting with atomic components and ending with
+ pages.
+
+
+ Render pages with mock data. This makes it easy to build and
+ review page states without needing to navigate to them in
+ your app. Here are some handy patterns for managing page
+ data in Storybook:
+
+
+
+ Use a higher-level connected component. Storybook helps
+ you compose such data from the "args" of child component
+ stories
+
+
+ Assemble data in the page component from your services.
+ You can mock these services out using Storybook.
+
+
+
+ Get a guided tutorial on component-driven development at{' '}
+
+ Storybook tutorials
+
+ . Read more in the{' '}
+
+ docs
+
+ .
+
+
+
Tip Adjust the width of the
+ canvas with the{' '}
+
+
+
+
+
+ Viewports addon in the toolbar
+
+
+
+ );
+};
diff --git a/packages/chord-chart-studio/src/stories/Page.stories.js b/packages/chord-chart-studio/src/stories/Page.stories.js
new file mode 100644
index 0000000..4d29086
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/Page.stories.js
@@ -0,0 +1,28 @@
+import { within, userEvent, expect } from '@storybook/test';
+
+import { Page } from './Page';
+
+export default {
+ title: 'Example/Page',
+ component: Page,
+ parameters: {
+ // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
+ layout: 'fullscreen',
+ },
+};
+
+export const LoggedOut = {};
+
+// More on interaction testing: https://storybook.js.org/docs/writing-tests/interaction-testing
+export const LoggedIn = {
+ play: async ({ canvasElement }) => {
+ const canvas = within(canvasElement);
+ const loginButton = canvas.getByRole('button', { name: /Log in/i });
+ await expect(loginButton).toBeInTheDocument();
+ await userEvent.click(loginButton);
+ await expect(loginButton).not.toBeInTheDocument();
+
+ const logoutButton = canvas.getByRole('button', { name: /Log out/i });
+ await expect(logoutButton).toBeInTheDocument();
+ },
+};
diff --git a/packages/chord-chart-studio/src/stories/button.css b/packages/chord-chart-studio/src/stories/button.css
new file mode 100644
index 0000000..a3f1a30
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/button.css
@@ -0,0 +1,30 @@
+.storybook-button {
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ font-weight: 700;
+ border: 0;
+ border-radius: 3em;
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1;
+}
+.storybook-button--primary {
+ color: white;
+ background-color: #1ea7fd;
+}
+.storybook-button--secondary {
+ color: #333;
+ background-color: transparent;
+ box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;
+}
+.storybook-button--small {
+ font-size: 12px;
+ padding: 10px 16px;
+}
+.storybook-button--medium {
+ font-size: 14px;
+ padding: 11px 20px;
+}
+.storybook-button--large {
+ font-size: 16px;
+ padding: 12px 24px;
+}
diff --git a/packages/chord-chart-studio/src/stories/header.css b/packages/chord-chart-studio/src/stories/header.css
new file mode 100644
index 0000000..cb3321f
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/header.css
@@ -0,0 +1,32 @@
+.storybook-header {
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ padding: 15px 20px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.storybook-header svg {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.storybook-header h1 {
+ font-weight: 700;
+ font-size: 20px;
+ line-height: 1;
+ margin: 6px 0 6px 10px;
+ display: inline-block;
+ vertical-align: top;
+}
+
+.storybook-header button + button {
+ margin-left: 10px;
+}
+
+.storybook-header .welcome {
+ color: #333;
+ font-size: 14px;
+ margin-right: 10px;
+}
diff --git a/packages/chord-chart-studio/src/stories/page.css b/packages/chord-chart-studio/src/stories/page.css
new file mode 100644
index 0000000..5801967
--- /dev/null
+++ b/packages/chord-chart-studio/src/stories/page.css
@@ -0,0 +1,69 @@
+.storybook-page {
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 24px;
+ padding: 48px 20px;
+ margin: 0 auto;
+ max-width: 600px;
+ color: #333;
+}
+
+.storybook-page h2 {
+ font-weight: 700;
+ font-size: 32px;
+ line-height: 1;
+ margin: 0 0 4px;
+ display: inline-block;
+ vertical-align: top;
+}
+
+.storybook-page p {
+ margin: 1em 0;
+}
+
+.storybook-page a {
+ text-decoration: none;
+ color: #1ea7fd;
+}
+
+.storybook-page ul {
+ padding-left: 30px;
+ margin: 1em 0;
+}
+
+.storybook-page li {
+ margin-bottom: 8px;
+}
+
+.storybook-page .tip {
+ display: inline-block;
+ border-radius: 1em;
+ font-size: 11px;
+ line-height: 12px;
+ font-weight: 700;
+ background: #e7fdd8;
+ color: #66bf3c;
+ padding: 4px 12px;
+ margin-right: 10px;
+ vertical-align: top;
+}
+
+.storybook-page .tip-wrapper {
+ font-size: 13px;
+ line-height: 20px;
+ margin-top: 40px;
+ margin-bottom: 40px;
+}
+
+.storybook-page .tip-wrapper svg {
+ display: inline-block;
+ height: 12px;
+ width: 12px;
+ margin-right: 4px;
+ vertical-align: top;
+ margin-top: 3px;
+}
+
+.storybook-page .tip-wrapper svg path {
+ fill: #1ea7fd;
+}
diff --git a/yarn.lock b/yarn.lock
index aed9755..060b016 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -224,6 +224,17 @@ __metadata:
languageName: node
linkType: hard
+"@aw-web-design/x-default-browser@npm:1.4.126":
+ version: 1.4.126
+ resolution: "@aw-web-design/x-default-browser@npm:1.4.126"
+ dependencies:
+ default-browser-id: "npm:3.0.0"
+ bin:
+ x-default-browser: bin/x-default-browser.js
+ checksum: 634c7fad7a5f4df86e3fcd3a11e50034fcb6f6302281569727574cbda7532850063cb34ec328384a686ab0812f297bf301a5e2450bc7b93b5f80a006b1f2dfd7
+ languageName: node
+ linkType: hard
+
"@babel/cli@npm:^7.23.9":
version: 7.23.9
resolution: "@babel/cli@npm:7.23.9"
@@ -291,7 +302,30 @@ __metadata:
languageName: node
linkType: hard
-"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2":
+"@babel/core@npm:^7.18.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2":
+ version: 7.24.0
+ resolution: "@babel/core@npm:7.24.0"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/generator": "npm:^7.23.6"
+ "@babel/helper-compilation-targets": "npm:^7.23.6"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
+ "@babel/helpers": "npm:^7.24.0"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: bb37cbf0bdfd676b246af0a3d9a7932d10573f2d45114fdda02a71889e35530ce13d8930177e78b065d6734b8d45a4fbf7c77f223b1d44b4a28cfe5fefee93ed
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.3, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2":
version: 7.23.6
resolution: "@babel/generator@npm:7.23.6"
dependencies:
@@ -456,6 +490,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-plugin-utils@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/helper-plugin-utils@npm:7.24.0"
+ checksum: 90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da
+ languageName: node
+ linkType: hard
+
"@babel/helper-remap-async-to-generator@npm:^7.22.20":
version: 7.22.20
resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20"
@@ -552,6 +593,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/helpers@npm:7.24.0"
+ dependencies:
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ checksum: dd27c9f11c1c5244ef312fae37636f2fcc69c541c46508017b846c4cf680af059f1922ce84e3f778f123a70d027ded75c96070ee8e906f3bc52dc26dc43df608
+ languageName: node
+ linkType: hard
+
"@babel/highlight@npm:^7.23.4":
version: 7.23.4
resolution: "@babel/highlight@npm:7.23.4"
@@ -572,6 +624,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/parser@npm:7.24.0"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 77593d0b9de9906823c4d653bb6cda1c7593837598516330f655f70cba6224a37def7dbe5b4dad0038482d407d8d209eb8be5f48ca9a13357d769f829c5adb8e
+ languageName: node
+ linkType: hard
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3"
@@ -683,6 +744,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-flow@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-syntax-flow@npm:7.23.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 8a5e1e8b6a3728a2c8fe6d70c09a43642e737d9c0485e1b041cd3a6021ef05376ec3c9137be3b118c622ba09b5770d26fdc525473f8d06d4ab9e46de2783dd0a
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-import-assertions@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3"
@@ -909,7 +981,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-class-properties@npm:^7.23.3":
+"@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-transform-class-properties@npm:7.23.3"
dependencies:
@@ -1034,6 +1106,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-flow-strip-types@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ "@babel/plugin-syntax-flow": "npm:^7.23.3"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 9ab627f9668fc1f95564b26bffd6706f86205960d9ccc168236752fbef65dbe10aa0ce74faae12f48bb3b72ec7f38ef2a78b4874c222c1e85754e981639f3b33
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-for-of@npm:^7.23.6":
version: 7.23.6
resolution: "@babel/plugin-transform-for-of@npm:7.23.6"
@@ -1117,7 +1201,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.23.3":
+"@babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3"
dependencies:
@@ -1179,7 +1263,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.4":
+"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.4":
version: 7.23.4
resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4"
dependencies:
@@ -1218,6 +1302,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-object-rest-spread@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.0"
+ dependencies:
+ "@babel/compat-data": "npm:^7.23.5"
+ "@babel/helper-compilation-targets": "npm:^7.23.6"
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
+ "@babel/plugin-transform-parameters": "npm:^7.23.3"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 02fe8b99ee6329e68b97b1b1b5410e50c6c20470e73dcd1d287c6ddb5623c654dce82327b2a3f6710ee3b512fe4950e43ab81d0bbc33d771f0cad3bc3cef87c6
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-object-super@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-transform-object-super@npm:7.23.3"
@@ -1242,7 +1341,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-chaining@npm:^7.23.3, @babel/plugin-transform-optional-chaining@npm:^7.23.4":
+"@babel/plugin-transform-optional-chaining@npm:^7.23.0, @babel/plugin-transform-optional-chaining@npm:^7.23.3, @babel/plugin-transform-optional-chaining@npm:^7.23.4":
version: 7.23.4
resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4"
dependencies:
@@ -1266,7 +1365,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-private-methods@npm:^7.23.3":
+"@babel/plugin-transform-private-methods@npm:^7.22.5, @babel/plugin-transform-private-methods@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/plugin-transform-private-methods@npm:7.23.3"
dependencies:
@@ -1631,6 +1730,109 @@ __metadata:
languageName: node
linkType: hard
+"@babel/preset-env@npm:^7.23.2":
+ version: 7.24.0
+ resolution: "@babel/preset-env@npm:7.24.0"
+ dependencies:
+ "@babel/compat-data": "npm:^7.23.5"
+ "@babel/helper-compilation-targets": "npm:^7.23.6"
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ "@babel/helper-validator-option": "npm:^7.23.5"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7"
+ "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-async-generators": "npm:^7.8.4"
+ "@babel/plugin-syntax-class-properties": "npm:^7.12.13"
+ "@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
+ "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
+ "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
+ "@babel/plugin-syntax-import-assertions": "npm:^7.23.3"
+ "@babel/plugin-syntax-import-attributes": "npm:^7.23.3"
+ "@babel/plugin-syntax-import-meta": "npm:^7.10.4"
+ "@babel/plugin-syntax-json-strings": "npm:^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3"
+ "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
+ "@babel/plugin-syntax-top-level-await": "npm:^7.14.5"
+ "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
+ "@babel/plugin-transform-arrow-functions": "npm:^7.23.3"
+ "@babel/plugin-transform-async-generator-functions": "npm:^7.23.9"
+ "@babel/plugin-transform-async-to-generator": "npm:^7.23.3"
+ "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3"
+ "@babel/plugin-transform-block-scoping": "npm:^7.23.4"
+ "@babel/plugin-transform-class-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-class-static-block": "npm:^7.23.4"
+ "@babel/plugin-transform-classes": "npm:^7.23.8"
+ "@babel/plugin-transform-computed-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-destructuring": "npm:^7.23.3"
+ "@babel/plugin-transform-dotall-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3"
+ "@babel/plugin-transform-dynamic-import": "npm:^7.23.4"
+ "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3"
+ "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4"
+ "@babel/plugin-transform-for-of": "npm:^7.23.6"
+ "@babel/plugin-transform-function-name": "npm:^7.23.3"
+ "@babel/plugin-transform-json-strings": "npm:^7.23.4"
+ "@babel/plugin-transform-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.4"
+ "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-amd": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-systemjs": "npm:^7.23.9"
+ "@babel/plugin-transform-modules-umd": "npm:^7.23.3"
+ "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-new-target": "npm:^7.23.3"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.4"
+ "@babel/plugin-transform-numeric-separator": "npm:^7.23.4"
+ "@babel/plugin-transform-object-rest-spread": "npm:^7.24.0"
+ "@babel/plugin-transform-object-super": "npm:^7.23.3"
+ "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.4"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.23.4"
+ "@babel/plugin-transform-parameters": "npm:^7.23.3"
+ "@babel/plugin-transform-private-methods": "npm:^7.23.3"
+ "@babel/plugin-transform-private-property-in-object": "npm:^7.23.4"
+ "@babel/plugin-transform-property-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-regenerator": "npm:^7.23.3"
+ "@babel/plugin-transform-reserved-words": "npm:^7.23.3"
+ "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-spread": "npm:^7.23.3"
+ "@babel/plugin-transform-sticky-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-template-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3"
+ "@babel/preset-modules": "npm:0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2: "npm:^0.4.8"
+ babel-plugin-polyfill-corejs3: "npm:^0.9.0"
+ babel-plugin-polyfill-regenerator: "npm:^0.5.5"
+ core-js-compat: "npm:^3.31.0"
+ semver: "npm:^6.3.1"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: cb5098bb860aede8418f204d7a693108d7c318edbb227f9842ac6aa71f2154ea1737846994af9bcd0c0b716cd73904f69f09bef635a9679465ec3558144beb4f
+ languageName: node
+ linkType: hard
+
+"@babel/preset-flow@npm:^7.22.15":
+ version: 7.24.0
+ resolution: "@babel/preset-flow@npm:7.24.0"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ "@babel/helper-validator-option": "npm:^7.23.5"
+ "@babel/plugin-transform-flow-strip-types": "npm:^7.23.3"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 8103b8273734298c15d497dcd44a0c9d5e12b3acc301178c4ec9098ead40c586f2fe13acfd855e30dffa0da42f76ee7a01df752e170af76207c90b40b32784c3
+ languageName: node
+ linkType: hard
+
"@babel/preset-modules@npm:0.1.6-no-external-plugins":
version: 0.1.6-no-external-plugins
resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins"
@@ -1660,7 +1862,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.22.5":
+"@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.22.5, @babel/preset-typescript@npm:^7.23.0":
version: 7.23.3
resolution: "@babel/preset-typescript@npm:7.23.3"
dependencies:
@@ -1675,6 +1877,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/register@npm:^7.22.15":
+ version: 7.23.7
+ resolution: "@babel/register@npm:7.23.7"
+ dependencies:
+ clone-deep: "npm:^4.0.1"
+ find-cache-dir: "npm:^2.0.0"
+ make-dir: "npm:^2.1.0"
+ pirates: "npm:^4.0.6"
+ source-map-support: "npm:^0.5.16"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: b2466e41a4394e725b57e139ba45c3f61b88546d3cb443e84ce46cb34071b60c6cdb706a14c58a1443db530691a54f51da1f0c97f6c1aecbb838a2fb7eb5dbb9
+ languageName: node
+ linkType: hard
+
"@babel/regjsgen@npm:^0.8.0":
version: 0.8.0
resolution: "@babel/regjsgen@npm:0.8.0"
@@ -1701,6 +1918,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.17.8":
+ version: 7.24.0
+ resolution: "@babel/runtime@npm:7.24.0"
+ dependencies:
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: 3495eed727bf4a4f84c35bb51ab53317ae38f4bbc3b1d0a8303751f9dfa0ce6f5fb2afced72b76c3dd0d8bb2ccb84787559a4dee9886291a36b26f02f0f759b4
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3":
version: 7.23.9
resolution: "@babel/template@npm:7.23.9"
@@ -1712,6 +1938,35 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/template@npm:7.24.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ checksum: 9d3dd8d22fe1c36bc3bdef6118af1f4b030aaf6d7d2619f5da203efa818a2185d717523486c111de8d99a8649ddf4bbf6b2a7a64962d8411cf6a8fa89f010e54
+ languageName: node
+ linkType: hard
+
+"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/traverse@npm:7.24.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/generator": "npm:^7.23.6"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 55ffd2b0ce0fbd0a09051edc4def4fb1e96f35e0b100c0dc2a7429df569971ae312c290e980e423471f350961705698a257c7eea8c8304918024cc26f02468ba
+ languageName: node
+ linkType: hard
+
"@babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.23.9":
version: 7.23.9
resolution: "@babel/traverse@npm:7.23.9"
@@ -1741,6 +1996,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/types@npm:^7.18.9, @babel/types@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/types@npm:7.24.0"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.23.4"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d
+ languageName: node
+ linkType: hard
+
+"@base2/pretty-print-object@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@base2/pretty-print-object@npm:1.0.1"
+ checksum: 98f77ea185a30c854897feb2a68fe51be8451a1a0b531bac61a5dd67033926a0ba0c9be6e0f819b8cb72ca349b3e7648bf81c12fd21df0b45219c75a3a75784b
+ languageName: node
+ linkType: hard
+
"@bcoe/v8-coverage@npm:^0.2.3":
version: 0.2.3
resolution: "@bcoe/v8-coverage@npm:0.2.3"
@@ -1748,6 +2021,18 @@ __metadata:
languageName: node
linkType: hard
+"@chromatic-com/storybook@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@chromatic-com/storybook@npm:1.2.1"
+ dependencies:
+ chromatic: "npm:^10.8.0"
+ filesize: "npm:^10.0.12"
+ jsonfile: "npm:^6.1.0"
+ react-confetti: "npm:^6.1.0"
+ checksum: 3054a0554e5c28f92d78ce21768eee15593a92b9664fe2a81342ad6d797928bd2f17db783d207d269e4efbba37705d9d5ecc037d4d3dc51c78f69ec5e62bef76
+ languageName: node
+ linkType: hard
+
"@colors/colors@npm:1.5.0":
version: 1.5.0
resolution: "@colors/colors@npm:1.5.0"
@@ -1755,7 +2040,7 @@ __metadata:
languageName: node
linkType: hard
-"@discoveryjs/json-ext@npm:0.5.7":
+"@discoveryjs/json-ext@npm:0.5.7, @discoveryjs/json-ext@npm:^0.5.3":
version: 0.5.7
resolution: "@discoveryjs/json-ext@npm:0.5.7"
checksum: e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c
@@ -2323,6 +2608,15 @@ __metadata:
languageName: node
linkType: hard
+"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1"
+ peerDependencies:
+ react: ">=16.8.0"
+ checksum: a15b2167940e3a908160687b73fc4fcd81e59ab45136b6967f02c7c419d9a149acd22a416b325c389642d4f1c3d33cf4196cad6b618128b55b7c74f6807a240b
+ languageName: node
+ linkType: hard
+
"@esbuild/aix-ppc64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/aix-ppc64@npm:0.19.12"
@@ -2330,6 +2624,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/android-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-arm64@npm:0.18.20"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@esbuild/android-arm64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/android-arm64@npm:0.19.12"
@@ -2337,6 +2638,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/android-arm@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-arm@npm:0.18.20"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
"@esbuild/android-arm@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/android-arm@npm:0.19.12"
@@ -2344,6 +2652,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/android-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/android-x64@npm:0.18.20"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/android-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/android-x64@npm:0.19.12"
@@ -2351,6 +2666,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/darwin-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/darwin-arm64@npm:0.18.20"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@esbuild/darwin-arm64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/darwin-arm64@npm:0.19.12"
@@ -2358,6 +2680,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/darwin-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/darwin-x64@npm:0.18.20"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/darwin-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/darwin-x64@npm:0.19.12"
@@ -2365,6 +2694,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/freebsd-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/freebsd-arm64@npm:0.18.20"
+ conditions: os=freebsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@esbuild/freebsd-arm64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/freebsd-arm64@npm:0.19.12"
@@ -2372,6 +2708,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/freebsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/freebsd-x64@npm:0.18.20"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/freebsd-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/freebsd-x64@npm:0.19.12"
@@ -2379,6 +2722,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-arm64@npm:0.18.20"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-arm64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-arm64@npm:0.19.12"
@@ -2386,6 +2736,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-arm@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-arm@npm:0.18.20"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-arm@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-arm@npm:0.19.12"
@@ -2393,6 +2750,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-ia32@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-ia32@npm:0.18.20"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-ia32@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-ia32@npm:0.19.12"
@@ -2400,6 +2764,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-loong64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-loong64@npm:0.18.20"
+ conditions: os=linux & cpu=loong64
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-loong64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-loong64@npm:0.19.12"
@@ -2407,6 +2778,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-mips64el@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-mips64el@npm:0.18.20"
+ conditions: os=linux & cpu=mips64el
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-mips64el@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-mips64el@npm:0.19.12"
@@ -2414,6 +2792,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-ppc64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-ppc64@npm:0.18.20"
+ conditions: os=linux & cpu=ppc64
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-ppc64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-ppc64@npm:0.19.12"
@@ -2421,13 +2806,27 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-riscv64@npm:0.19.12":
- version: 0.19.12
- resolution: "@esbuild/linux-riscv64@npm:0.19.12"
+"@esbuild/linux-riscv64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-riscv64@npm:0.18.20"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
+"@esbuild/linux-riscv64@npm:0.19.12":
+ version: 0.19.12
+ resolution: "@esbuild/linux-riscv64@npm:0.19.12"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-s390x@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-s390x@npm:0.18.20"
+ conditions: os=linux & cpu=s390x
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-s390x@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-s390x@npm:0.19.12"
@@ -2435,6 +2834,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/linux-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/linux-x64@npm:0.18.20"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/linux-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/linux-x64@npm:0.19.12"
@@ -2442,6 +2848,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/netbsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/netbsd-x64@npm:0.18.20"
+ conditions: os=netbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/netbsd-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/netbsd-x64@npm:0.19.12"
@@ -2449,6 +2862,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/openbsd-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/openbsd-x64@npm:0.18.20"
+ conditions: os=openbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/openbsd-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/openbsd-x64@npm:0.19.12"
@@ -2456,6 +2876,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/sunos-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/sunos-x64@npm:0.18.20"
+ conditions: os=sunos & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/sunos-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/sunos-x64@npm:0.19.12"
@@ -2463,6 +2890,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/win32-arm64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-arm64@npm:0.18.20"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@esbuild/win32-arm64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/win32-arm64@npm:0.19.12"
@@ -2470,6 +2904,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/win32-ia32@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-ia32@npm:0.18.20"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
"@esbuild/win32-ia32@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/win32-ia32@npm:0.19.12"
@@ -2477,6 +2918,13 @@ __metadata:
languageName: node
linkType: hard
+"@esbuild/win32-x64@npm:0.18.20":
+ version: 0.18.20
+ resolution: "@esbuild/win32-x64@npm:0.18.20"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@esbuild/win32-x64@npm:0.19.12":
version: 0.19.12
resolution: "@esbuild/win32-x64@npm:0.19.12"
@@ -2526,6 +2974,13 @@ __metadata:
languageName: node
linkType: hard
+"@fal-works/esbuild-plugin-global-externals@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2"
+ checksum: 2c84a8e6121b00ac8e4eb2469ab8f188142db2f1927391758e5d0142cb684b7eb0fad0c9d6caf358616eb2a77af2c067e08b9ec8e05749b415fc4dd0ef96d0fe
+ languageName: node
+ linkType: hard
+
"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0":
version: 9.3.0
resolution: "@hapi/hoek@npm:9.3.0"
@@ -2824,6 +3279,19 @@ __metadata:
languageName: node
linkType: hard
+"@jest/types@npm:^27.5.1":
+ version: 27.5.1
+ resolution: "@jest/types@npm:27.5.1"
+ dependencies:
+ "@types/istanbul-lib-coverage": "npm:^2.0.0"
+ "@types/istanbul-reports": "npm:^3.0.0"
+ "@types/node": "npm:*"
+ "@types/yargs": "npm:^16.0.0"
+ chalk: "npm:^4.0.0"
+ checksum: 4598b302398db0eb77168b75a6c58148ea02cc9b9f21c5d1bbe985c1c9257110a5653cf7b901c3cab87fba231e3fed83633687f1c0903b4bc6939ab2a8452504
+ languageName: node
+ linkType: hard
+
"@jest/types@npm:^29.6.3":
version: 29.6.3
resolution: "@jest/types@npm:29.6.3"
@@ -2838,6 +3306,24 @@ __metadata:
languageName: node
linkType: hard
+"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0":
+ version: 0.3.0
+ resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0"
+ dependencies:
+ glob: "npm:^7.2.0"
+ glob-promise: "npm:^4.2.0"
+ magic-string: "npm:^0.27.0"
+ react-docgen-typescript: "npm:^2.2.2"
+ peerDependencies:
+ typescript: ">= 4.3.x"
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 31098ad8fcc2440437534599c111d9f2951dd74821e8ba46c521b969bae4c918d830b7bb0484efbad29a51711bb62d3bc623d5a1ed5b1695b5b5594ea9dd4ca0
+ languageName: node
+ linkType: hard
+
"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2":
version: 0.3.4
resolution: "@jridgewell/gen-mapping@npm:0.3.4"
@@ -2873,7 +3359,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15":
version: 1.4.15
resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5
@@ -3012,6 +3498,17 @@ __metadata:
languageName: node
linkType: hard
+"@ndelangen/get-tarball@npm:^3.0.7":
+ version: 3.0.9
+ resolution: "@ndelangen/get-tarball@npm:3.0.9"
+ dependencies:
+ gunzip-maybe: "npm:^1.4.2"
+ pump: "npm:^3.0.0"
+ tar-fs: "npm:^2.1.1"
+ checksum: d66e76c6c990745d691c85d1dfa7f3dfd181405bb52c295baf4d1838b847d40c686e24602ea0ab1cdeb14d409db59f6bb9e2f96f56fe53da275da9cccf778e27
+ languageName: node
+ linkType: hard
+
"@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3":
version: 2.1.8-no-fsevents.3
resolution: "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3"
@@ -3489,6 +3986,37 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-compose-refs@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@radix-ui/react-compose-refs@npm:1.0.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: be06f8dab35b5a1bffa7a5982fb26218ddade1acb751288333e3b89d7b4a7dfb5a6371be83876dac0ec2ebe0866d295e8618b778608e1965342986ea448040ec
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-slot@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@radix-ui/react-slot@npm:1.0.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/react-compose-refs": "npm:1.0.1"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347
+ languageName: node
+ linkType: hard
+
"@rollup/plugin-babel@npm:^5.2.0":
version: 5.3.1
resolution: "@rollup/plugin-babel@npm:5.3.1"
@@ -3547,6 +4075,22 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/pluginutils@npm:^5.0.2":
+ version: 5.1.0
+ resolution: "@rollup/pluginutils@npm:5.1.0"
+ dependencies:
+ "@types/estree": "npm:^1.0.0"
+ estree-walker: "npm:^2.0.2"
+ picomatch: "npm:^2.3.1"
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ checksum: c7bed15711f942d6fdd3470fef4105b73991f99a478605e13d41888963330a6f9e32be37e6ddb13f012bc7673ff5e54f06f59fd47109436c1c513986a8a7612d
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-android-arm-eabi@npm:4.12.0":
version: 4.12.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.12.0"
@@ -3846,21 +4390,785 @@ __metadata:
version: 1.0.0
resolution: "@slorber/remark-comment@npm:1.0.0"
dependencies:
- micromark-factory-space: "npm:^1.0.0"
- micromark-util-character: "npm:^1.1.0"
- micromark-util-symbol: "npm:^1.0.1"
- checksum: b8da9d8f560740959c421d3ce5be43952eace1c95cb65402d9473a15e66463346a37fb5f121a6b22a83af51e8845b0b4ff3c321f14ce31bd58fb126acf6c8ed9
+ micromark-factory-space: "npm:^1.0.0"
+ micromark-util-character: "npm:^1.1.0"
+ micromark-util-symbol: "npm:^1.0.1"
+ checksum: b8da9d8f560740959c421d3ce5be43952eace1c95cb65402d9473a15e66463346a37fb5f121a6b22a83af51e8845b0b4ff3c321f14ce31bd58fb126acf6c8ed9
+ languageName: node
+ linkType: hard
+
+"@slorber/static-site-generator-webpack-plugin@npm:^4.0.7":
+ version: 4.0.7
+ resolution: "@slorber/static-site-generator-webpack-plugin@npm:4.0.7"
+ dependencies:
+ eval: "npm:^0.1.8"
+ p-map: "npm:^4.0.0"
+ webpack-sources: "npm:^3.2.2"
+ checksum: 6ba8abc2d99e8c513bb955502f9cd219c78b2c7b9b76668bf05067cf369cfa838089b52ee51c957e1e6e8442f9dd4f2bbd8df706a3c3388e9a0d41b09a895f97
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-actions@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-actions@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@types/uuid": "npm:^9.0.1"
+ dequal: "npm:^2.0.2"
+ polished: "npm:^4.2.2"
+ uuid: "npm:^9.0.0"
+ checksum: 5013bcea6a22cb4027c90acc1d219ca7af7198a753d2b579d7c38cf9179d9c1e7ae831341bebcd119e581b8ed21e8ed0205c02891c45d2d27f3f9f63109a637a
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-backgrounds@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-backgrounds@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ memoizerific: "npm:^1.11.3"
+ ts-dedent: "npm:^2.0.0"
+ checksum: c129f85ac31645d7777d86533e5c0531eef375538f392b8f56f2ef707717fa23a878553c7a2da12bd5a52ad23f708eaa3e56531922fe13f5bb4a0d0ff9207752
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-controls@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-controls@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/blocks": "npm:8.0.0-rc.0"
+ lodash: "npm:^4.17.21"
+ ts-dedent: "npm:^2.0.0"
+ checksum: ff1578f0f3a866f8637583637cc1648c061de102b58bcc4f465cb404ebb988d9b4071c0beef87b8099ed2d87b9018ecb71f69acc289f1190ae3b636b5b6705c0
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-docs@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-docs@npm:8.0.0-rc.0"
+ dependencies:
+ "@babel/core": "npm:^7.12.3"
+ "@mdx-js/react": "npm:^3.0.0"
+ "@storybook/blocks": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/components": "npm:8.0.0-rc.0"
+ "@storybook/csf-plugin": "npm:8.0.0-rc.0"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/react-dom-shim": "npm:8.0.0-rc.0"
+ "@storybook/theming": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/react": "npm:^16.8.0 || ^17.0.0 || ^18.0.0"
+ fs-extra: "npm:^11.1.0"
+ react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0"
+ react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0"
+ rehype-external-links: "npm:^3.0.0"
+ rehype-slug: "npm:^6.0.0"
+ ts-dedent: "npm:^2.0.0"
+ checksum: 33e9c7c5559074d811e16258b593fd5b70c53635798177b3315d463ca07bcc2e47e9c8d6e9d110ac182e1f87c2c3ae1be4e2ef82d4ba9a02c91891d628b89345
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-essentials@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-essentials@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/addon-actions": "npm:8.0.0-rc.0"
+ "@storybook/addon-backgrounds": "npm:8.0.0-rc.0"
+ "@storybook/addon-controls": "npm:8.0.0-rc.0"
+ "@storybook/addon-docs": "npm:8.0.0-rc.0"
+ "@storybook/addon-highlight": "npm:8.0.0-rc.0"
+ "@storybook/addon-measure": "npm:8.0.0-rc.0"
+ "@storybook/addon-outline": "npm:8.0.0-rc.0"
+ "@storybook/addon-toolbars": "npm:8.0.0-rc.0"
+ "@storybook/addon-viewport": "npm:8.0.0-rc.0"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/manager-api": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ ts-dedent: "npm:^2.0.0"
+ checksum: 13b55807e823b60ca1fdcbaa9e3de85277dd836b90e563de3e44111dd858ecd14e5a907e36fb3230b76845b7fed0544091fbcb1f0a9e162d54c5d19e86d3d955
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-highlight@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-highlight@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ checksum: e49b5cd6bfb668da29201ef4a9aa3d34f44f12f4d9ebd9fada2ac84bcaef6b79875237c2f0f98249e0f3460be78d4269ae249ad48f7716766d9bc8b79ef1cc0e
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-interactions@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-interactions@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ jest-mock: "npm:^27.0.6"
+ polished: "npm:^4.2.2"
+ ts-dedent: "npm:^2.2.0"
+ checksum: 3dea1e13bfdf630e80463748bf594592e610f26101927eabeb2b395992f98fb79d7a08aaf4c6ab62c0671e74d7ceaea18e1ae05275ebf51bbd69378aadf6894c
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-links@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-links@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/global": "npm:^5.0.0"
+ ts-dedent: "npm:^2.0.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ checksum: c49bbc5229853bf8b8570c0bfa5e199f01cb3735cc95592ede21b5769efff7aade65b37858ceedfdaa1fe9a28d6e49aae435221a14067517796b8e01abefa57b
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-measure@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-measure@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ tiny-invariant: "npm:^1.3.1"
+ checksum: e2fe24e65d2cfdae89865e15ebaa2a1f1493f999f36d3874374f6c20514bfde3c6a2ef4452cccdf2b0899614365ca5867414c8b419f4313b0cbda6718fcbf978
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-outline@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-outline@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ ts-dedent: "npm:^2.0.0"
+ checksum: 302756f1d079abbbd53e50968134891f5f372a5e602990da455f402b1b4cb06a32e4a857fe1caf57c76ad826493dee048c928494dbfd27a8cf9e0fcdfb6eaad9
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-toolbars@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-toolbars@npm:8.0.0-rc.0"
+ checksum: 97b1abbb2e5212ad887023eceafe9aebcbbc1d829603bee428fca34c87025a8d9f3cc7a8f6c80588cbfcccdcbf6998174f8f96fdf24c492af106c416ba2d400d
+ languageName: node
+ linkType: hard
+
+"@storybook/addon-viewport@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/addon-viewport@npm:8.0.0-rc.0"
+ dependencies:
+ memoizerific: "npm:^1.11.3"
+ checksum: 0276ef48eb00fff134ea80d861db8628d350d464c51a21c0793d2f5a8db4601852fa50463b680ea133a7a09f4e5c114cc72bd8565743099dc27fa5370d377a1e
+ languageName: node
+ linkType: hard
+
+"@storybook/blocks@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/blocks@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/components": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/docs-tools": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/icons": "npm:^1.2.5"
+ "@storybook/manager-api": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/theming": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/lodash": "npm:^4.14.167"
+ color-convert: "npm:^2.0.1"
+ dequal: "npm:^2.0.2"
+ lodash: "npm:^4.17.21"
+ markdown-to-jsx: "npm:7.3.2"
+ memoizerific: "npm:^1.11.3"
+ polished: "npm:^4.2.2"
+ react-colorful: "npm:^5.1.2"
+ telejson: "npm:^7.2.0"
+ tocbot: "npm:^4.20.1"
+ ts-dedent: "npm:^2.0.0"
+ util-deprecate: "npm:^1.0.2"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ checksum: 8e71a880e9ed612af7cccd846a5232be54cd7188c3bd75ae7429119d893297104ef68e7a6aea451a73f8110967874c8d237680208be8fdf479711333c1477463
+ languageName: node
+ linkType: hard
+
+"@storybook/builder-manager@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/builder-manager@npm:8.0.0-rc.0"
+ dependencies:
+ "@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/manager": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@types/ejs": "npm:^3.1.1"
+ "@yarnpkg/esbuild-plugin-pnp": "npm:^3.0.0-rc.10"
+ browser-assert: "npm:^1.2.1"
+ ejs: "npm:^3.1.8"
+ esbuild: "npm:^0.18.0"
+ esbuild-plugin-alias: "npm:^0.2.1"
+ express: "npm:^4.17.3"
+ fs-extra: "npm:^11.1.0"
+ process: "npm:^0.11.10"
+ util: "npm:^0.12.4"
+ checksum: 6eb62bd57a9482dca9902d55672cdcb2ad474592a95bd56b5ddf392c1c5ec1fa0ccabc14145707104e3caf50a6e38e0da6f2b708ece89335aa8ca1d0741bf186
+ languageName: node
+ linkType: hard
+
+"@storybook/builder-vite@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/builder-vite@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf-plugin": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/preview": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/find-cache-dir": "npm:^3.2.1"
+ browser-assert: "npm:^1.2.1"
+ es-module-lexer: "npm:^0.9.3"
+ express: "npm:^4.17.3"
+ find-cache-dir: "npm:^3.0.0"
+ fs-extra: "npm:^11.1.0"
+ magic-string: "npm:^0.30.0"
+ ts-dedent: "npm:^2.0.0"
+ peerDependencies:
+ "@preact/preset-vite": "*"
+ typescript: ">= 4.3.x"
+ vite: ^4.0.0 || ^5.0.0
+ vite-plugin-glimmerx: "*"
+ peerDependenciesMeta:
+ "@preact/preset-vite":
+ optional: true
+ typescript:
+ optional: true
+ vite-plugin-glimmerx:
+ optional: true
+ checksum: 8ce46dc8119d667428118e30e5ec3bbc224138de43c12f55c8f3899bf9ff3a857f51ca6745f96b2bcfade66b2ef00a6d62387a6f50d026d06507c3a09e2afa55
+ languageName: node
+ linkType: hard
+
+"@storybook/channels@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/channels@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ qs: "npm:^6.10.0"
+ telejson: "npm:^7.2.0"
+ tiny-invariant: "npm:^1.3.1"
+ checksum: 3c983357d94532e5e250584fbd84e95ca2cc9f0f7038fa4b89adb53f177ce732883fe5921c699e8a75067a3c4e4f5a0a3c23e700cc1984236b51aa0151d24832
+ languageName: node
+ linkType: hard
+
+"@storybook/cli@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/cli@npm:8.0.0-rc.0"
+ dependencies:
+ "@babel/core": "npm:^7.23.0"
+ "@babel/types": "npm:^7.23.0"
+ "@ndelangen/get-tarball": "npm:^3.0.7"
+ "@storybook/codemod": "npm:8.0.0-rc.0"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/core-server": "npm:8.0.0-rc.0"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/telemetry": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/semver": "npm:^7.3.4"
+ "@yarnpkg/fslib": "npm:2.10.3"
+ "@yarnpkg/libzip": "npm:2.3.0"
+ chalk: "npm:^4.1.0"
+ commander: "npm:^6.2.1"
+ cross-spawn: "npm:^7.0.3"
+ detect-indent: "npm:^6.1.0"
+ envinfo: "npm:^7.7.3"
+ execa: "npm:^5.0.0"
+ find-up: "npm:^5.0.0"
+ fs-extra: "npm:^11.1.0"
+ get-npm-tarball-url: "npm:^2.0.3"
+ giget: "npm:^1.0.0"
+ globby: "npm:^11.0.2"
+ jscodeshift: "npm:^0.15.1"
+ leven: "npm:^3.1.0"
+ ora: "npm:^5.4.1"
+ prettier: "npm:^3.1.1"
+ prompts: "npm:^2.4.0"
+ read-pkg-up: "npm:^7.0.1"
+ semver: "npm:^7.3.7"
+ strip-json-comments: "npm:^3.0.1"
+ tempy: "npm:^1.0.1"
+ tiny-invariant: "npm:^1.3.1"
+ ts-dedent: "npm:^2.0.0"
+ bin:
+ getstorybook: ./bin/index.js
+ sb: ./bin/index.js
+ checksum: e42210e12872cf3530c68c67acab147b8b8322a86b7ef6cbf6cd099fd319a17f86247ec751577f7ad34ce96ffdc723121e35aca4b70184e9c0fa508af50695e2
+ languageName: node
+ linkType: hard
+
+"@storybook/client-logger@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/client-logger@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/global": "npm:^5.0.0"
+ checksum: eaf6305bb37d8bf14fe5b8e2770c3215ad94b13ac57587096553675867b4da4cd96e0486f87da316010e9c486f8b5493578918e57a5605e5834ed10574d6e4f9
+ languageName: node
+ linkType: hard
+
+"@storybook/codemod@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/codemod@npm:8.0.0-rc.0"
+ dependencies:
+ "@babel/core": "npm:^7.23.2"
+ "@babel/preset-env": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/cross-spawn": "npm:^6.0.2"
+ cross-spawn: "npm:^7.0.3"
+ globby: "npm:^11.0.2"
+ jscodeshift: "npm:^0.15.1"
+ lodash: "npm:^4.17.21"
+ prettier: "npm:^3.1.1"
+ recast: "npm:^0.23.1"
+ tiny-invariant: "npm:^1.3.1"
+ checksum: 36e223cdde36d181919774597361834a6eafa1f9135be37792abd31c76cccdcb0426323efdc0d4a2d47c060fd1f0bde3949811c5be538795b8d2e32de7fb8c21
+ languageName: node
+ linkType: hard
+
+"@storybook/components@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/components@npm:8.0.0-rc.0"
+ dependencies:
+ "@radix-ui/react-slot": "npm:^1.0.2"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/icons": "npm:^1.2.5"
+ "@storybook/theming": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ memoizerific: "npm:^1.11.3"
+ util-deprecate: "npm:^1.0.2"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ checksum: 521722f56e6bc1057993917f8a4c23c9e1a16c80c7bc402619ccd78874a7612a2bd33d383930e6d620cb9b4ed6e9fb93f7517decebb7dd61b46e6a2a19b9ec98
+ languageName: node
+ linkType: hard
+
+"@storybook/core-common@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/core-common@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@yarnpkg/fslib": "npm:2.10.3"
+ "@yarnpkg/libzip": "npm:2.3.0"
+ chalk: "npm:^4.1.0"
+ cross-spawn: "npm:^7.0.3"
+ esbuild: "npm:^0.18.0"
+ esbuild-register: "npm:^3.5.0"
+ execa: "npm:^5.0.0"
+ file-system-cache: "npm:2.3.0"
+ find-cache-dir: "npm:^3.0.0"
+ find-up: "npm:^5.0.0"
+ fs-extra: "npm:^11.1.0"
+ glob: "npm:^10.0.0"
+ handlebars: "npm:^4.7.7"
+ lazy-universal-dotenv: "npm:^4.0.0"
+ node-fetch: "npm:^2.0.0"
+ picomatch: "npm:^2.3.0"
+ pkg-dir: "npm:^5.0.0"
+ pretty-hrtime: "npm:^1.0.3"
+ resolve-from: "npm:^5.0.0"
+ semver: "npm:^7.3.7"
+ tempy: "npm:^1.0.1"
+ tiny-invariant: "npm:^1.3.1"
+ ts-dedent: "npm:^2.0.0"
+ util: "npm:^0.12.4"
+ checksum: d4b8664b0763f1098817fca8914e9902bfec2f9dca48aebfd70657a9157366fb0b01c835de6fde5e085de43f02a2fe3cbed199529006ec5056ca15ae8c220428
+ languageName: node
+ linkType: hard
+
+"@storybook/core-events@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/core-events@npm:8.0.0-rc.0"
+ dependencies:
+ ts-dedent: "npm:^2.0.0"
+ checksum: e945ee216acc2ff125a774ff70cb0ef12034c361f90af8396e16a35eaa8ec8427a32077dca3b5c13c735f925b86a0300e3243968c8889a8444f364f4a2bc0f51
+ languageName: node
+ linkType: hard
+
+"@storybook/core-server@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/core-server@npm:8.0.0-rc.0"
+ dependencies:
+ "@aw-web-design/x-default-browser": "npm:1.4.126"
+ "@babel/core": "npm:^7.23.9"
+ "@discoveryjs/json-ext": "npm:^0.5.3"
+ "@storybook/builder-manager": "npm:8.0.0-rc.0"
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ "@storybook/docs-mdx": "npm:3.0.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/manager": "npm:8.0.0-rc.0"
+ "@storybook/manager-api": "npm:8.0.0-rc.0"
+ "@storybook/node-logger": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/telemetry": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/detect-port": "npm:^1.3.0"
+ "@types/node": "npm:^18.0.0"
+ "@types/pretty-hrtime": "npm:^1.0.0"
+ "@types/semver": "npm:^7.3.4"
+ better-opn: "npm:^3.0.2"
+ chalk: "npm:^4.1.0"
+ cli-table3: "npm:^0.6.1"
+ compression: "npm:^1.7.4"
+ detect-port: "npm:^1.3.0"
+ express: "npm:^4.17.3"
+ fs-extra: "npm:^11.1.0"
+ globby: "npm:^11.0.2"
+ ip: "npm:^2.0.1"
+ lodash: "npm:^4.17.21"
+ open: "npm:^8.4.0"
+ pretty-hrtime: "npm:^1.0.3"
+ prompts: "npm:^2.4.0"
+ read-pkg-up: "npm:^7.0.1"
+ semver: "npm:^7.3.7"
+ telejson: "npm:^7.2.0"
+ tiny-invariant: "npm:^1.3.1"
+ ts-dedent: "npm:^2.0.0"
+ util: "npm:^0.12.4"
+ util-deprecate: "npm:^1.0.2"
+ watchpack: "npm:^2.2.0"
+ ws: "npm:^8.2.3"
+ checksum: fe0ba8ea2aa898d51d08419e220b2714a5de05951d225db172311ca7cde878c1f7518bd4c60eb68d7782a2365662d4deed65aabbf015cff4b2a27c993e236dc7
+ languageName: node
+ linkType: hard
+
+"@storybook/csf-plugin@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/csf-plugin@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ unplugin: "npm:^1.3.1"
+ checksum: 166a4d4a242096208c66fd9c90998ba034fb0b2279d8f2593193d2c83023600351e97e37f3df7664db8b5d1853326547e5b2c5c609c17274b437c89476c13b18
+ languageName: node
+ linkType: hard
+
+"@storybook/csf-tools@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/csf-tools@npm:8.0.0-rc.0"
+ dependencies:
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ fs-extra: "npm:^11.1.0"
+ recast: "npm:^0.23.1"
+ ts-dedent: "npm:^2.0.0"
+ checksum: c2dae56b6ebca49ed608eb295f7b19917ed55ee25dc4c3e74aa884a0b27fa038cdc102b8182e2200d3812547a1202026aeaed204e934729e099a9f36e12464a1
+ languageName: node
+ linkType: hard
+
+"@storybook/csf@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "@storybook/csf@npm:0.1.2"
+ dependencies:
+ type-fest: "npm:^2.19.0"
+ checksum: b51a55292e5d2af8b1d135a28ecaa94f8860ddfedcb393adfa2cca1ee23853156066f737d8be1cb5412f572781aa525dc0b2f6e4a6f6ce805489f0149efe837c
+ languageName: node
+ linkType: hard
+
+"@storybook/docs-mdx@npm:3.0.0":
+ version: 3.0.0
+ resolution: "@storybook/docs-mdx@npm:3.0.0"
+ checksum: 4f4242fc05b57e8dc239204c71fd0d1481c9abbf20d12dd0f3dace74f77a7ff7cbe0bd07d7d785873b45747be64cad273423d3dc0cf89b52e9f117592a4b054f
+ languageName: node
+ linkType: hard
+
+"@storybook/docs-tools@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/docs-tools@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/doctrine": "npm:^0.0.3"
+ assert: "npm:^2.1.0"
+ doctrine: "npm:^3.0.0"
+ lodash: "npm:^4.17.21"
+ checksum: 1d3569f719e35c5ac1d5b25f521147d20a8e0848054f1db03b7a35c4ecf710d3ae04c3b2787586f29023029bceaac837d0ce7199de8249f15aec79970e78560e
+ languageName: node
+ linkType: hard
+
+"@storybook/global@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "@storybook/global@npm:5.0.0"
+ checksum: 8f1b61dcdd3a89584540896e659af2ecc700bc740c16909a7be24ac19127ea213324de144a141f7caf8affaed017d064fea0618d453afbe027cf60f54b4a6d0b
+ languageName: node
+ linkType: hard
+
+"@storybook/icons@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "@storybook/icons@npm:1.2.5"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ checksum: 089622af6de4ab82624d894fbe43688a0eb72f15e6bb8fc19c54fb9f9d7312ce7caf34acebcbd63319dbaef129d8547bc23a5600955d04f6034355e7d82dcfa1
+ languageName: node
+ linkType: hard
+
+"@storybook/instrumenter@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/instrumenter@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@vitest/utils": "npm:^0.34.6"
+ util: "npm:^0.12.4"
+ checksum: 69047ba53b658a8e30b5d687e112e209daa0e63f4a875f3c1961552546a25fff65dbeffdb7168316472eb3dd2160d26f2fa60436c736ad925f6d5294decf2e3f
+ languageName: node
+ linkType: hard
+
+"@storybook/manager-api@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/manager-api@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/router": "npm:8.0.0-rc.0"
+ "@storybook/theming": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ dequal: "npm:^2.0.2"
+ lodash: "npm:^4.17.21"
+ memoizerific: "npm:^1.11.3"
+ store2: "npm:^2.14.2"
+ telejson: "npm:^7.2.0"
+ ts-dedent: "npm:^2.0.0"
+ checksum: 9e8b6a9600122478608c1f05a7ddb93c3c86916d399b4e53a7f04259618dbee6e2d3eaacfb9e2d83b86dcead9c7c3a15997e6b420733d7385ae3ac6d4b24b547
+ languageName: node
+ linkType: hard
+
+"@storybook/manager@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/manager@npm:8.0.0-rc.0"
+ checksum: 485e2b180b6ada028587d7f403db09e0f285077b6dd0d522b66bfce475ccf38d8be84dbe74c40fe2b39ff2737db69f59185dabe736df1381a796b97a31e84418
+ languageName: node
+ linkType: hard
+
+"@storybook/node-logger@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/node-logger@npm:8.0.0-rc.0"
+ checksum: 89bd25616c74235579230595b4e1729bef6996e714741a7b98e14105bb98e912fa246f3b4eff137043fc904c9e443119fd1a12d1a5500a1dcc0e05c4fde86192
+ languageName: node
+ linkType: hard
+
+"@storybook/preview-api@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/preview-api@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/csf": "npm:^0.1.2"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/qs": "npm:^6.9.5"
+ dequal: "npm:^2.0.2"
+ lodash: "npm:^4.17.21"
+ memoizerific: "npm:^1.11.3"
+ qs: "npm:^6.10.0"
+ tiny-invariant: "npm:^1.3.1"
+ ts-dedent: "npm:^2.0.0"
+ util-deprecate: "npm:^1.0.2"
+ checksum: 6143b88c8a8db84cfb1dc2b24ca3f4f8220651f09af0f8bfed157cb674bd94b2ede24a87456c4d849246ccc8848662a672b5131d72c5c334fdcc6cc904fafa63
+ languageName: node
+ linkType: hard
+
+"@storybook/preview@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/preview@npm:8.0.0-rc.0"
+ checksum: 72f6fe1831e7bb9533340f9c03b3a5c824756ffc7a352fcacf5604e9f83c0aa57d852e826722e63d6451a5947a667b4faa1017dee3fe6195ee3fcf3058963bda
+ languageName: node
+ linkType: hard
+
+"@storybook/react-dom-shim@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/react-dom-shim@npm:8.0.0-rc.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ checksum: 9263c6fa9f4c689e80a7e5fccb0443eddf123ba98a9780aa1bd8c0d6d3e8435f469408365d12f6b6fa4922600d2e1dc9542e81a9a80dca944274b998eb20b593
+ languageName: node
+ linkType: hard
+
+"@storybook/react-vite@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/react-vite@npm:8.0.0-rc.0"
+ dependencies:
+ "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0"
+ "@rollup/pluginutils": "npm:^5.0.2"
+ "@storybook/builder-vite": "npm:8.0.0-rc.0"
+ "@storybook/react": "npm:8.0.0-rc.0"
+ magic-string: "npm:^0.30.0"
+ react-docgen: "npm:^7.0.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ vite: ^4.0.0 || ^5.0.0
+ checksum: f7441dbf3a248acb1afa317f39610e353db85e7349ea6fb4688cf958831772b830b52c09d66ebbef27aa0fabd91b00a4ef494c01ddba06bc3b36ccba6af8fcee
+ languageName: node
+ linkType: hard
+
+"@storybook/react@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/react@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/docs-tools": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@storybook/react-dom-shim": "npm:8.0.0-rc.0"
+ "@storybook/types": "npm:8.0.0-rc.0"
+ "@types/escodegen": "npm:^0.0.6"
+ "@types/estree": "npm:^0.0.51"
+ "@types/node": "npm:^18.0.0"
+ acorn: "npm:^7.4.1"
+ acorn-jsx: "npm:^5.3.1"
+ acorn-walk: "npm:^7.2.0"
+ escodegen: "npm:^2.1.0"
+ html-tags: "npm:^3.1.0"
+ lodash: "npm:^4.17.21"
+ prop-types: "npm:^15.7.2"
+ react-element-to-jsx-string: "npm:^15.0.0"
+ semver: "npm:^7.3.7"
+ ts-dedent: "npm:^2.0.0"
+ type-fest: "npm:~2.19"
+ util-deprecate: "npm:^1.0.2"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: ">= 4.2.x"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: ad9ccf0eac1680ca1febf3d0ea436bccde5ae571e411add4246caf4fca3ad4eb212622e73fb12814f403fd6ca6f4cf289a503ce27b908b9d45079828b7e8d1f7
+ languageName: node
+ linkType: hard
+
+"@storybook/router@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/router@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ memoizerific: "npm:^1.11.3"
+ qs: "npm:^6.10.0"
+ checksum: 7f29736f146f9bd0f7f33783ffd6433da48ca496d3db432505378dd517655411c15cc57d5159aa420d609e632784270dca3bdbfb8a3e54b319db632519e00b5d
+ languageName: node
+ linkType: hard
+
+"@storybook/telemetry@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/telemetry@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-common": "npm:8.0.0-rc.0"
+ "@storybook/csf-tools": "npm:8.0.0-rc.0"
+ chalk: "npm:^4.1.0"
+ detect-package-manager: "npm:^2.0.1"
+ fetch-retry: "npm:^5.0.2"
+ fs-extra: "npm:^11.1.0"
+ read-pkg-up: "npm:^7.0.1"
+ checksum: 7c0900f68313847b03600ba62ffcdee992e4a0f33ce338eada60c7da8dc670595478c041e0657384425d268719acbdb36800467651912e4dea0c8d2bc2ac0869
+ languageName: node
+ linkType: hard
+
+"@storybook/test@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/test@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/core-events": "npm:8.0.0-rc.0"
+ "@storybook/instrumenter": "npm:8.0.0-rc.0"
+ "@storybook/preview-api": "npm:8.0.0-rc.0"
+ "@testing-library/dom": "npm:^9.3.1"
+ "@testing-library/jest-dom": "npm:^6.4.0"
+ "@testing-library/user-event": "npm:^14.5.2"
+ "@vitest/expect": "npm:1.1.3"
+ "@vitest/spy": "npm:^1.1.3"
+ chai: "npm:^4.3.7"
+ util: "npm:^0.12.4"
+ checksum: 51b4afb26859360627b75d29eb5a13495385183c6d481130d713ee4fd6799558d5ccc4fcd61e87eaa8e554bc270ce2d8ef13fb0881101cd8cb9348eed7e123fe
+ languageName: node
+ linkType: hard
+
+"@storybook/theming@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/theming@npm:8.0.0-rc.0"
+ dependencies:
+ "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1"
+ "@storybook/client-logger": "npm:8.0.0-rc.0"
+ "@storybook/global": "npm:^5.0.0"
+ memoizerific: "npm:^1.11.3"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ checksum: 327e37e9ed165297e613771e7262a0aa58cbafbc97dbee4f49d485cf576a0c76ff768a75dab1ebbb96462f92ab8fea35df8c71557b28ff79819212f3115b98a6
languageName: node
linkType: hard
-"@slorber/static-site-generator-webpack-plugin@npm:^4.0.7":
- version: 4.0.7
- resolution: "@slorber/static-site-generator-webpack-plugin@npm:4.0.7"
+"@storybook/types@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "@storybook/types@npm:8.0.0-rc.0"
dependencies:
- eval: "npm:^0.1.8"
- p-map: "npm:^4.0.0"
- webpack-sources: "npm:^3.2.2"
- checksum: 6ba8abc2d99e8c513bb955502f9cd219c78b2c7b9b76668bf05067cf369cfa838089b52ee51c957e1e6e8442f9dd4f2bbd8df706a3c3388e9a0d41b09a895f97
+ "@storybook/channels": "npm:8.0.0-rc.0"
+ "@types/express": "npm:^4.7.0"
+ file-system-cache: "npm:2.3.0"
+ checksum: ec12c04daad0e46a5ee8b62afa61c992a5be2368e9ccde8c930bbfd8abbf6b58956baff514424ce0ac4e6a0445b563bf49cfcee9e637cf55f4ad62da5e64156e
languageName: node
linkType: hard
@@ -4179,7 +5487,7 @@ __metadata:
languageName: node
linkType: hard
-"@testing-library/dom@npm:^9.0.0, @testing-library/dom@npm:^9.3.4":
+"@testing-library/dom@npm:^9.0.0, @testing-library/dom@npm:^9.3.1, @testing-library/dom@npm:^9.3.4":
version: 9.3.4
resolution: "@testing-library/dom@npm:9.3.4"
dependencies:
@@ -4195,7 +5503,7 @@ __metadata:
languageName: node
linkType: hard
-"@testing-library/jest-dom@npm:^6.3.0":
+"@testing-library/jest-dom@npm:^6.3.0, @testing-library/jest-dom@npm:^6.4.0":
version: 6.4.2
resolution: "@testing-library/jest-dom@npm:6.4.2"
dependencies:
@@ -4322,7 +5630,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5":
+"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.5":
version: 7.20.5
resolution: "@types/babel__core@npm:7.20.5"
dependencies:
@@ -4354,7 +5662,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6":
+"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6, @types/babel__traverse@npm:^7.18.0":
version: 7.20.5
resolution: "@types/babel__traverse@npm:7.20.5"
dependencies:
@@ -4401,6 +5709,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/cross-spawn@npm:^6.0.2":
+ version: 6.0.6
+ resolution: "@types/cross-spawn@npm:6.0.6"
+ dependencies:
+ "@types/node": "npm:*"
+ checksum: e3d476bb6b3a54a8934a97fe6ee4bd13e2e5eb29073929a4be76a52466602ffaea420b20774ffe8503f9fa24f3ae34817e95e7f625689fb0d1c10404f5b2889c
+ languageName: node
+ linkType: hard
+
"@types/debug@npm:^4.0.0":
version: 4.1.12
resolution: "@types/debug@npm:4.1.12"
@@ -4410,6 +5727,48 @@ __metadata:
languageName: node
linkType: hard
+"@types/detect-port@npm:^1.3.0":
+ version: 1.3.5
+ resolution: "@types/detect-port@npm:1.3.5"
+ checksum: d8dd9d0e643106a2263f530b24ffdc3409d9391c50fc5e404018ba3633947aa3777db7fb094aeb0f49a13cc998aae8889747ad9edaa02b13a2de2385f37106ef
+ languageName: node
+ linkType: hard
+
+"@types/doctrine@npm:^0.0.3":
+ version: 0.0.3
+ resolution: "@types/doctrine@npm:0.0.3"
+ checksum: 566dcdc988c97ff01d14493ceb2223643347f07cf0a88c86cd7cb7c2821cfc837fd39295e6809a29614fdfdc6c4e981408155ca909b2e5da5d947af939b6c966
+ languageName: node
+ linkType: hard
+
+"@types/doctrine@npm:^0.0.9":
+ version: 0.0.9
+ resolution: "@types/doctrine@npm:0.0.9"
+ checksum: cdaca493f13c321cf0cacd1973efc0ae74569633145d9e6fc1128f32217a6968c33bea1f858275239fe90c98f3be57ec8f452b416a9ff48b8e8c1098b20fa51c
+ languageName: node
+ linkType: hard
+
+"@types/ejs@npm:^3.1.1":
+ version: 3.1.5
+ resolution: "@types/ejs@npm:3.1.5"
+ checksum: 13d994cf0323d7e0ad33b9384914ccd3b4cd8bf282eced3649b1621b66ee7c784ac2d120a9d7b1f43d6f873518248fb8c3221b06a649b847860b9c2389a0b0ed
+ languageName: node
+ linkType: hard
+
+"@types/emscripten@npm:^1.39.6":
+ version: 1.39.10
+ resolution: "@types/emscripten@npm:1.39.10"
+ checksum: c9adde9307d54efb5152931bfe99966fbe12fbd4d07663fb5cdc4cc1bd3a1f030882d50d4a27875b7b2d9713d160609e67b72e92177a021c9f4699ee5ac41035
+ languageName: node
+ linkType: hard
+
+"@types/escodegen@npm:^0.0.6":
+ version: 0.0.6
+ resolution: "@types/escodegen@npm:0.0.6"
+ checksum: bbef189319c7b0386486bc7224369f118c7aedf35cc13e40ae5879b9ab4f848936f31e8eea50e71d4de72d4b7a77d9e6e9e5ceec4406c648fbc0077ede634ed5
+ languageName: node
+ linkType: hard
+
"@types/eslint-scope@npm:^3.7.3":
version: 3.7.7
resolution: "@types/eslint-scope@npm:3.7.7"
@@ -4453,6 +5812,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/estree@npm:^0.0.51":
+ version: 0.0.51
+ resolution: "@types/estree@npm:0.0.51"
+ checksum: a70c60d5e634e752fcd45b58c9c046ef22ad59ede4bc93ad5193c7e3b736ebd6bcd788ade59d9c3b7da6eeb0939235f011d4c59bb4fc04d8c346b76035099dd1
+ languageName: node
+ linkType: hard
+
"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33":
version: 4.17.43
resolution: "@types/express-serve-static-core@npm:4.17.43"
@@ -4465,7 +5831,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/express@npm:*, @types/express@npm:^4.17.13":
+"@types/express@npm:*, @types/express@npm:^4.17.13, @types/express@npm:^4.7.0":
version: 4.17.21
resolution: "@types/express@npm:4.17.21"
dependencies:
@@ -4477,6 +5843,23 @@ __metadata:
languageName: node
linkType: hard
+"@types/find-cache-dir@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "@types/find-cache-dir@npm:3.2.1"
+ checksum: 68059aec88ef776a689c1711a881fd91a9ce1b03dd5898ea1d2ac5d77d7b0235f21fdf210f380c13deca8b45e4499841a63aaf31fd2123af687f2c6b472f41ce
+ languageName: node
+ linkType: hard
+
+"@types/glob@npm:^7.1.3":
+ version: 7.2.0
+ resolution: "@types/glob@npm:7.2.0"
+ dependencies:
+ "@types/minimatch": "npm:*"
+ "@types/node": "npm:*"
+ checksum: a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98
+ languageName: node
+ linkType: hard
+
"@types/graceful-fs@npm:^4.1.3":
version: 4.1.9
resolution: "@types/graceful-fs@npm:4.1.9"
@@ -4599,6 +5982,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/lodash@npm:^4.14.167":
+ version: 4.14.202
+ resolution: "@types/lodash@npm:4.14.202"
+ checksum: 6064d43c8f454170841bd67c8266cc9069d9e570a72ca63f06bceb484cb4a3ee60c9c1f305c1b9e3a87826049fd41124b8ef265c4dd08b00f6766609c7fe9973
+ languageName: node
+ linkType: hard
+
"@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.2":
version: 4.0.3
resolution: "@types/mdast@npm:4.0.3"
@@ -4629,6 +6019,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/minimatch@npm:*":
+ version: 5.1.2
+ resolution: "@types/minimatch@npm:5.1.2"
+ checksum: 83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562
+ languageName: node
+ linkType: hard
+
"@types/minimatch@npm:^3.0.3":
version: 3.0.5
resolution: "@types/minimatch@npm:3.0.5"
@@ -4675,6 +6072,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/node@npm:^18.0.0":
+ version: 18.19.21
+ resolution: "@types/node@npm:18.19.21"
+ dependencies:
+ undici-types: "npm:~5.26.4"
+ checksum: 3175d482d2fb15cfda4697c74a61dffe180a4f030c9cc7add39bac89a8200662289431ea9317159bc29e53f340e0ce3fa91c732c81d4e7d3d755e58d0d1b3a3e
+ languageName: node
+ linkType: hard
+
"@types/normalize-package-data@npm:^2.4.0":
version: 2.4.4
resolution: "@types/normalize-package-data@npm:2.4.4"
@@ -4689,6 +6095,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/pretty-hrtime@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "@types/pretty-hrtime@npm:1.0.3"
+ checksum: e4c22475c588be982b398dee9ac0b05b21078bc26581819290a4901c5b269bcaa04cae0e61e012d412e811b0897c9dab316db064208914df2f0ed0960fc5306b
+ languageName: node
+ linkType: hard
+
"@types/prismjs@npm:^1.26.0":
version: 1.26.3
resolution: "@types/prismjs@npm:1.26.3"
@@ -4710,6 +6123,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/qs@npm:^6.9.5":
+ version: 6.9.12
+ resolution: "@types/qs@npm:6.9.12"
+ checksum: 21a74f2b78d0839cee37f1a632f3361352f7dceac9edffd117227a695a13e58e18c138aac1f29403f2408221e678f538ca0b37d55012f8bba96d55905edbfe82
+ languageName: node
+ linkType: hard
+
"@types/range-parser@npm:*":
version: 1.2.7
resolution: "@types/range-parser@npm:1.2.7"
@@ -4769,6 +6189,17 @@ __metadata:
languageName: node
linkType: hard
+"@types/react@npm:^16.8.0 || ^17.0.0 || ^18.0.0":
+ version: 18.2.61
+ resolution: "@types/react@npm:18.2.61"
+ dependencies:
+ "@types/prop-types": "npm:*"
+ "@types/scheduler": "npm:*"
+ csstype: "npm:^3.0.2"
+ checksum: a03fbb6ca8108bbccf12ac616e77e1457ae9324040c4a5d1293caaa62c187300b4eb38ec78c4724fb43d40d4c6fb909803db057c8b69ae441e2aab7b2acdc29a
+ languageName: node
+ linkType: hard
+
"@types/resolve@npm:1.17.1":
version: 1.17.1
resolution: "@types/resolve@npm:1.17.1"
@@ -4778,6 +6209,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/resolve@npm:^1.20.2":
+ version: 1.20.6
+ resolution: "@types/resolve@npm:1.20.6"
+ checksum: a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244
+ languageName: node
+ linkType: hard
+
"@types/retry@npm:0.12.0":
version: 0.12.0
resolution: "@types/retry@npm:0.12.0"
@@ -4801,6 +6239,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/semver@npm:^7.3.4":
+ version: 7.5.8
+ resolution: "@types/semver@npm:7.5.8"
+ checksum: 8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa
+ languageName: node
+ linkType: hard
+
"@types/send@npm:*":
version: 0.17.4
resolution: "@types/send@npm:0.17.4"
@@ -4882,6 +6327,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/uuid@npm:^9.0.1":
+ version: 9.0.8
+ resolution: "@types/uuid@npm:9.0.8"
+ checksum: b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489
+ languageName: node
+ linkType: hard
+
"@types/ws@npm:^8.5.5":
version: 8.5.10
resolution: "@types/ws@npm:8.5.10"
@@ -4898,6 +6350,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/yargs@npm:^16.0.0":
+ version: 16.0.9
+ resolution: "@types/yargs@npm:16.0.9"
+ dependencies:
+ "@types/yargs-parser": "npm:*"
+ checksum: be24bd9a56c97ddb2964c1c18f5b9fe8271a50e100dc6945989901aae58f7ce6fb8f3a591c749a518401b6301358dbd1997e83c36138a297094feae7f9ac8211
+ languageName: node
+ linkType: hard
+
"@types/yargs@npm:^17.0.8":
version: 17.0.32
resolution: "@types/yargs@npm:17.0.32"
@@ -4938,6 +6399,58 @@ __metadata:
languageName: node
linkType: hard
+"@vitest/expect@npm:1.1.3":
+ version: 1.1.3
+ resolution: "@vitest/expect@npm:1.1.3"
+ dependencies:
+ "@vitest/spy": "npm:1.1.3"
+ "@vitest/utils": "npm:1.1.3"
+ chai: "npm:^4.3.10"
+ checksum: fe5c9eade516a754efc26d4b6378a250f0c3b668fa15b3e6b6042190b64a65c4459b7fd67bfca72fb1fbf215feb838b68da4ab224a2a10137d8828ca6af70516
+ languageName: node
+ linkType: hard
+
+"@vitest/spy@npm:1.1.3":
+ version: 1.1.3
+ resolution: "@vitest/spy@npm:1.1.3"
+ dependencies:
+ tinyspy: "npm:^2.2.0"
+ checksum: d1692582afb7b665ec283723b15bbb7da95896cbfd7befaad9fdac6b64a8250fd918781263d43e8e10ee4874cdd18646224f6d993749c3751296dced8095a9ed
+ languageName: node
+ linkType: hard
+
+"@vitest/spy@npm:^1.1.3":
+ version: 1.3.1
+ resolution: "@vitest/spy@npm:1.3.1"
+ dependencies:
+ tinyspy: "npm:^2.2.0"
+ checksum: efc42f679d2a51fc6583ca3136ccd47581cb27c923ed3cb0500f5dee9aac99b681bfdd400c16ef108f2e0761daa642bc190816a6411931a2aba99ebf8b213dd4
+ languageName: node
+ linkType: hard
+
+"@vitest/utils@npm:1.1.3":
+ version: 1.1.3
+ resolution: "@vitest/utils@npm:1.1.3"
+ dependencies:
+ diff-sequences: "npm:^29.6.3"
+ estree-walker: "npm:^3.0.3"
+ loupe: "npm:^2.3.7"
+ pretty-format: "npm:^29.7.0"
+ checksum: 86f48a7722927741449f40f33584dd9857629782f6661654225b5dd3c039d61cc60806c5dfe419bd793f2a231ba91fe708cbdec5d99b62a1f6f819b6f2121fc3
+ languageName: node
+ linkType: hard
+
+"@vitest/utils@npm:^0.34.6":
+ version: 0.34.7
+ resolution: "@vitest/utils@npm:0.34.7"
+ dependencies:
+ diff-sequences: "npm:^29.4.3"
+ loupe: "npm:^2.3.6"
+ pretty-format: "npm:^29.5.0"
+ checksum: 5f26ec5b4a53709a50efdb57aa753e8090b3411e888774f67a0d192eb7f046ed5fcc6884eb3d6275d2674926e724b731e8d28cd3cea96a7f3d27462a0d44af9e
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5":
version: 1.11.6
resolution: "@webassemblyjs/ast@npm:1.11.6"
@@ -5103,6 +6616,37 @@ __metadata:
languageName: node
linkType: hard
+"@yarnpkg/esbuild-plugin-pnp@npm:^3.0.0-rc.10":
+ version: 3.0.0-rc.15
+ resolution: "@yarnpkg/esbuild-plugin-pnp@npm:3.0.0-rc.15"
+ dependencies:
+ tslib: "npm:^2.4.0"
+ peerDependencies:
+ esbuild: ">=0.10.0"
+ checksum: 5095bc316862971add31ca1fadb0095b6ad15f25120f6ab3a06086bb6a7be93c2f3c45bff80d5976689fc89b0e9bf82bd3d410e205c852739874d32d050c4e57
+ languageName: node
+ linkType: hard
+
+"@yarnpkg/fslib@npm:2.10.3":
+ version: 2.10.3
+ resolution: "@yarnpkg/fslib@npm:2.10.3"
+ dependencies:
+ "@yarnpkg/libzip": "npm:^2.3.0"
+ tslib: "npm:^1.13.0"
+ checksum: c4fbbed99e801f17c381204e9699d9ea4fb51b14e99968985f477bdbc7b02b61e026860173f3f46bd60d9f46ae6a06f420a3edb3c02c3a45ae83779095928094
+ languageName: node
+ linkType: hard
+
+"@yarnpkg/libzip@npm:2.3.0, @yarnpkg/libzip@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "@yarnpkg/libzip@npm:2.3.0"
+ dependencies:
+ "@types/emscripten": "npm:^1.39.6"
+ tslib: "npm:^1.13.0"
+ checksum: 0c2361ccb002e28463ed98541f3bdaab54f52aad6a2080666c2a9ea605ebd9cdfb7b0340b1db6f105820d05bcb803cdfb3ce755a8f6034657298c291bf884f81
+ languageName: node
+ linkType: hard
+
"@yarnpkg/lockfile@npm:^1.1.0":
version: 1.1.0
resolution: "@yarnpkg/lockfile@npm:1.1.0"
@@ -5186,7 +6730,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2":
+"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
peerDependencies:
@@ -5195,6 +6739,13 @@ __metadata:
languageName: node
linkType: hard
+"acorn-walk@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "acorn-walk@npm:7.2.0"
+ checksum: ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c
+ languageName: node
+ linkType: hard
+
"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2":
version: 8.3.2
resolution: "acorn-walk@npm:8.3.2"
@@ -5202,7 +6753,16 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
+"acorn@npm:^7.4.1":
+ version: 7.4.1
+ resolution: "acorn@npm:7.4.1"
+ bin:
+ acorn: bin/acorn
+ checksum: bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526
+ languageName: node
+ linkType: hard
+
+"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.3, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
version: 8.11.3
resolution: "acorn@npm:8.11.3"
bin:
@@ -5443,6 +7003,13 @@ __metadata:
languageName: node
linkType: hard
+"app-root-dir@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "app-root-dir@npm:1.0.2"
+ checksum: 0225e4be7788968a82bb76df9b14b0d7f212a5c12e8c625cdc34f80548780bcbfc5f3287d0806dddd83bf9dbf9ce302e76b2887cd3a6f4be52b79df7f3aa9e7c
+ languageName: node
+ linkType: hard
+
"aproba@npm:^1.0.3 || ^2.0.0":
version: 2.0.0
resolution: "aproba@npm:2.0.0"
@@ -5673,6 +7240,26 @@ __metadata:
languageName: node
linkType: hard
+"assert@npm:^2.0.0, assert@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "assert@npm:2.1.0"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ is-nan: "npm:^1.3.2"
+ object-is: "npm:^1.1.5"
+ object.assign: "npm:^4.1.4"
+ util: "npm:^0.12.5"
+ checksum: 7271a5da883c256a1fa690677bf1dd9d6aa882139f2bed1cd15da4f9e7459683e1da8e32a203d6cc6767e5e0f730c77a9532a87b896b4b0af0dd535f668775f0
+ languageName: node
+ linkType: hard
+
+"assertion-error@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "assertion-error@npm:1.1.0"
+ checksum: 25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b
+ languageName: node
+ linkType: hard
+
"assign-symbols@npm:^1.0.0":
version: 1.0.0
resolution: "assign-symbols@npm:1.0.0"
@@ -5689,6 +7276,15 @@ __metadata:
languageName: node
linkType: hard
+"ast-types@npm:^0.16.1":
+ version: 0.16.1
+ resolution: "ast-types@npm:0.16.1"
+ dependencies:
+ tslib: "npm:^2.0.1"
+ checksum: abcc49e42eb921a7ebc013d5bec1154651fb6dbc3f497541d488859e681256901b2990b954d530ba0da4d0851271d484f7057d5eff5e07cb73e8b10909f711bf
+ languageName: node
+ linkType: hard
+
"astring@npm:^1.8.0":
version: 1.8.6
resolution: "astring@npm:1.8.6"
@@ -5791,6 +7387,15 @@ __metadata:
languageName: node
linkType: hard
+"babel-core@npm:^7.0.0-bridge.0":
+ version: 7.0.0-bridge.0
+ resolution: "babel-core@npm:7.0.0-bridge.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: f57576e30267be4607d163b7288031d332cf9200ea35efe9fb33c97f834e304376774c28c1f9d6928d6733fcde7041e4010f1248a0519e7730c590d4b07b9608
+ languageName: node
+ linkType: hard
+
"babel-jest@npm:^29.7.0":
version: 29.7.0
resolution: "babel-jest@npm:29.7.0"
@@ -5989,6 +7594,22 @@ __metadata:
languageName: node
linkType: hard
+"better-opn@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "better-opn@npm:3.0.2"
+ dependencies:
+ open: "npm:^8.0.4"
+ checksum: 911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5
+ languageName: node
+ linkType: hard
+
+"big-integer@npm:^1.6.44":
+ version: 1.6.52
+ resolution: "big-integer@npm:1.6.52"
+ checksum: 9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0
+ languageName: node
+ linkType: hard
+
"big.js@npm:^5.2.2":
version: 5.2.2
resolution: "big.js@npm:5.2.2"
@@ -6090,6 +7711,15 @@ __metadata:
languageName: node
linkType: hard
+"bplist-parser@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "bplist-parser@npm:0.2.0"
+ dependencies:
+ big-integer: "npm:^1.6.44"
+ checksum: ce79c69e0f6efe506281e7c84e3712f7d12978991675b6e3a58a295b16f13ca81aa9b845c335614a545e0af728c8311b6aa3142af76ba1cb616af9bbac5c4a9f
+ languageName: node
+ linkType: hard
+
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -6136,6 +7766,13 @@ __metadata:
languageName: node
linkType: hard
+"browser-assert@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "browser-assert@npm:1.2.1"
+ checksum: 902abf999f92c9c951fdb6d7352c09eea9a84706258699655f7e7906e42daa06a1ae286398a755872740e05a6a71c43c5d1a0c0431d67a8cdb66e5d859a3fc0c
+ languageName: node
+ linkType: hard
+
"browser-extension@workspace:packages/webextension":
version: 0.0.0-use.local
resolution: "browser-extension@workspace:packages/webextension"
@@ -6145,6 +7782,15 @@ __metadata:
languageName: unknown
linkType: soft
+"browserify-zlib@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "browserify-zlib@npm:0.1.4"
+ dependencies:
+ pako: "npm:~0.2.0"
+ checksum: 0cde7ca5d33d43125649330fd75c056397e53731956a2593c4a2529f4e609a8e6abdb2b8e1921683abf5645375b92cfb2a21baa42fe3c9fc3e2556d32043af93
+ languageName: node
+ linkType: hard
+
"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.22.2, browserslist@npm:^4.22.3":
version: 4.23.0
resolution: "browserslist@npm:4.23.0"
@@ -6322,7 +7968,7 @@ __metadata:
languageName: node
linkType: hard
-"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
+"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
version: 1.0.7
resolution: "call-bind@npm:1.0.7"
dependencies:
@@ -6410,6 +8056,21 @@ __metadata:
languageName: node
linkType: hard
+"chai@npm:^4.3.10, chai@npm:^4.3.7":
+ version: 4.4.1
+ resolution: "chai@npm:4.4.1"
+ dependencies:
+ assertion-error: "npm:^1.1.0"
+ check-error: "npm:^1.0.3"
+ deep-eql: "npm:^4.1.3"
+ get-func-name: "npm:^2.0.2"
+ loupe: "npm:^2.3.6"
+ pathval: "npm:^1.1.1"
+ type-detect: "npm:^4.0.8"
+ checksum: 91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd
+ languageName: node
+ linkType: hard
+
"chalk@npm:4.1.0":
version: 4.1.0
resolution: "chalk@npm:4.1.0"
@@ -6500,6 +8161,15 @@ __metadata:
languageName: node
linkType: hard
+"check-error@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "check-error@npm:1.0.3"
+ dependencies:
+ get-func-name: "npm:^2.0.2"
+ checksum: 94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841
+ languageName: node
+ linkType: hard
+
"cheerio-select@npm:^2.1.0":
version: 2.1.0
resolution: "cheerio-select@npm:2.1.0"
@@ -6586,6 +8256,14 @@ __metadata:
version: 0.0.0-use.local
resolution: "chord-chart-studio@workspace:packages/chord-chart-studio"
dependencies:
+ "@chromatic-com/storybook": "npm:^1.2.1"
+ "@storybook/addon-essentials": "npm:8.0.0-rc.0"
+ "@storybook/addon-interactions": "npm:8.0.0-rc.0"
+ "@storybook/addon-links": "npm:8.0.0-rc.0"
+ "@storybook/blocks": "npm:8.0.0-rc.0"
+ "@storybook/react": "npm:8.0.0-rc.0"
+ "@storybook/react-vite": "npm:8.0.0-rc.0"
+ "@storybook/test": "npm:8.0.0-rc.0"
"@testing-library/dom": "npm:^9.3.4"
"@testing-library/jest-dom": "npm:^6.3.0"
"@testing-library/react": "npm:^14.1.2"
@@ -6621,6 +8299,7 @@ __metadata:
redux-thunk: "npm:^2.4.2"
reselect: "npm:^4.1.8"
scroll-sync-react: "npm:^1.2.0"
+ storybook: "npm:8.0.0-rc.0"
universal-router: "npm:^9.2.0"
uuid: "npm:^9.0.1"
languageName: unknown
@@ -6676,6 +8355,13 @@ __metadata:
languageName: node
linkType: hard
+"chownr@npm:^1.1.1":
+ version: 1.1.4
+ resolution: "chownr@npm:1.1.4"
+ checksum: ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db
+ languageName: node
+ linkType: hard
+
"chownr@npm:^2.0.0":
version: 2.0.0
resolution: "chownr@npm:2.0.0"
@@ -6683,6 +8369,25 @@ __metadata:
languageName: node
linkType: hard
+"chromatic@npm:^10.8.0":
+ version: 10.9.6
+ resolution: "chromatic@npm:10.9.6"
+ peerDependencies:
+ "@chromatic-com/cypress": ^0.5.2 || ^1.0.0
+ "@chromatic-com/playwright": ^0.5.2 || ^1.0.0
+ peerDependenciesMeta:
+ "@chromatic-com/cypress":
+ optional: true
+ "@chromatic-com/playwright":
+ optional: true
+ bin:
+ chroma: dist/bin.js
+ chromatic: dist/bin.js
+ chromatic-cli: dist/bin.js
+ checksum: 73fc169cc23ae2ff45259d533c0129fda2cdcb1bc6269987b51fc79c01ed85b205fc46099768e522725b83ed343433a42572f8d95a30c04a51d0df9ccac67f7b
+ languageName: node
+ linkType: hard
+
"chrome-trace-event@npm:^1.0.2":
version: 1.0.3
resolution: "chrome-trace-event@npm:1.0.3"
@@ -6709,6 +8414,15 @@ __metadata:
languageName: node
linkType: hard
+"citty@npm:^0.1.5":
+ version: 0.1.6
+ resolution: "citty@npm:0.1.6"
+ dependencies:
+ consola: "npm:^3.2.3"
+ checksum: d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48
+ languageName: node
+ linkType: hard
+
"cjs-module-lexer@npm:^1.0.0":
version: 1.2.3
resolution: "cjs-module-lexer@npm:1.2.3"
@@ -6774,7 +8488,7 @@ __metadata:
languageName: node
linkType: hard
-"cli-table3@npm:^0.6.3":
+"cli-table3@npm:^0.6.1, cli-table3@npm:^0.6.3":
version: 0.6.3
resolution: "cli-table3@npm:0.6.3"
dependencies:
@@ -7027,6 +8741,13 @@ __metadata:
languageName: node
linkType: hard
+"commander@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "commander@npm:6.2.1"
+ checksum: 85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea
+ languageName: node
+ linkType: hard
+
"commander@npm:^7.2.0":
version: 7.2.0
resolution: "commander@npm:7.2.0"
@@ -7064,6 +8785,13 @@ __metadata:
languageName: node
linkType: hard
+"commondir@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "commondir@npm:1.0.1"
+ checksum: 33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6
+ languageName: node
+ linkType: hard
+
"compare-func@npm:^2.0.0":
version: 2.0.0
resolution: "compare-func@npm:2.0.0"
@@ -7161,6 +8889,13 @@ __metadata:
languageName: node
linkType: hard
+"consola@npm:^3.2.3":
+ version: 3.2.3
+ resolution: "consola@npm:3.2.3"
+ checksum: c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078
+ languageName: node
+ linkType: hard
+
"console-control-strings@npm:^1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
@@ -7864,6 +9599,15 @@ __metadata:
languageName: node
linkType: hard
+"deep-eql@npm:^4.1.3":
+ version: 4.1.3
+ resolution: "deep-eql@npm:4.1.3"
+ dependencies:
+ type-detect: "npm:^4.0.0"
+ checksum: ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd
+ languageName: node
+ linkType: hard
+
"deep-equal@npm:^2.0.5":
version: 2.2.3
resolution: "deep-equal@npm:2.2.3"
@@ -7918,6 +9662,16 @@ __metadata:
languageName: node
linkType: hard
+"default-browser-id@npm:3.0.0":
+ version: 3.0.0
+ resolution: "default-browser-id@npm:3.0.0"
+ dependencies:
+ bplist-parser: "npm:^0.2.0"
+ untildify: "npm:^4.0.0"
+ checksum: 8db3ab882eb3e1e8b59d84c8641320e6c66d8eeb17eb4bb848b7dd549b1e6fd313988e4a13542e95fbaeff03f6e9dedc5ad191ad4df7996187753eb0d45c00b7
+ languageName: node
+ linkType: hard
+
"default-gateway@npm:^6.0.3":
version: 6.0.3
resolution: "default-gateway@npm:6.0.3"
@@ -8000,6 +9754,13 @@ __metadata:
languageName: node
linkType: hard
+"defu@npm:^6.1.3":
+ version: 6.1.4
+ resolution: "defu@npm:6.1.4"
+ checksum: 2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5
+ languageName: node
+ linkType: hard
+
"degenerator@npm:^5.0.0":
version: 5.0.1
resolution: "degenerator@npm:5.0.1"
@@ -8011,7 +9772,7 @@ __metadata:
languageName: node
linkType: hard
-"del@npm:^6.1.1":
+"del@npm:^6.0.0, del@npm:^6.1.1":
version: 6.1.1
resolution: "del@npm:6.1.1"
dependencies:
@@ -8062,7 +9823,7 @@ __metadata:
languageName: node
linkType: hard
-"dequal@npm:^2.0.0, dequal@npm:^2.0.3":
+"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
checksum: f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888
@@ -8083,6 +9844,13 @@ __metadata:
languageName: node
linkType: hard
+"detect-indent@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "detect-indent@npm:6.1.0"
+ checksum: dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7
+ languageName: node
+ linkType: hard
+
"detect-newline@npm:^3.0.0":
version: 3.1.0
resolution: "detect-newline@npm:3.1.0"
@@ -8097,6 +9865,15 @@ __metadata:
languageName: node
linkType: hard
+"detect-package-manager@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "detect-package-manager@npm:2.0.1"
+ dependencies:
+ execa: "npm:^5.1.1"
+ checksum: 56ffd65228d1ff3ead5ea7f8ab951a517a29270de27510b790c9a8b77d4f36efbd61493e170ca77ee3dc13cbb5218583ce65b78ad14a59dc48565c9bcbbf3c71
+ languageName: node
+ linkType: hard
+
"detect-port-alt@npm:^1.1.6":
version: 1.1.6
resolution: "detect-port-alt@npm:1.1.6"
@@ -8110,7 +9887,7 @@ __metadata:
languageName: node
linkType: hard
-"detect-port@npm:^1.5.1":
+"detect-port@npm:^1.3.0, detect-port@npm:^1.5.1":
version: 1.5.1
resolution: "detect-port@npm:1.5.1"
dependencies:
@@ -8139,7 +9916,7 @@ __metadata:
languageName: node
linkType: hard
-"diff-sequences@npm:^29.6.3":
+"diff-sequences@npm:^29.4.3, diff-sequences@npm:^29.6.3":
version: 29.6.3
resolution: "diff-sequences@npm:29.6.3"
checksum: 32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2
@@ -8354,13 +10131,20 @@ __metadata:
languageName: node
linkType: hard
-"dotenv-expand@npm:~10.0.0":
+"dotenv-expand@npm:^10.0.0, dotenv-expand@npm:~10.0.0":
version: 10.0.0
resolution: "dotenv-expand@npm:10.0.0"
checksum: 298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e
languageName: node
linkType: hard
+"dotenv@npm:^16.0.0":
+ version: 16.4.5
+ resolution: "dotenv@npm:16.4.5"
+ checksum: 48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f
+ languageName: node
+ linkType: hard
+
"dotenv@npm:~16.3.1":
version: 16.3.2
resolution: "dotenv@npm:16.3.2"
@@ -8375,6 +10159,18 @@ __metadata:
languageName: node
linkType: hard
+"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
+ version: 3.7.1
+ resolution: "duplexify@npm:3.7.1"
+ dependencies:
+ end-of-stream: "npm:^1.0.0"
+ inherits: "npm:^2.0.1"
+ readable-stream: "npm:^2.0.0"
+ stream-shift: "npm:^1.0.0"
+ checksum: 59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3
+ languageName: node
+ linkType: hard
+
"eastasianwidth@npm:^0.2.0":
version: 0.2.0
resolution: "eastasianwidth@npm:0.2.0"
@@ -8389,7 +10185,7 @@ __metadata:
languageName: node
linkType: hard
-"ejs@npm:^3.1.6, ejs@npm:^3.1.7":
+"ejs@npm:^3.1.6, ejs@npm:^3.1.7, ejs@npm:^3.1.8":
version: 3.1.9
resolution: "ejs@npm:3.1.9"
dependencies:
@@ -8465,7 +10261,7 @@ __metadata:
languageName: node
linkType: hard
-"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
+"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
version: 1.4.4
resolution: "end-of-stream@npm:1.4.4"
dependencies:
@@ -8523,6 +10319,15 @@ __metadata:
languageName: node
linkType: hard
+"envinfo@npm:^7.7.3":
+ version: 7.11.1
+ resolution: "envinfo@npm:7.11.1"
+ bin:
+ envinfo: dist/cli.js
+ checksum: 4550cce03d4d8a7b137d548faaf9c920356474231636cb4a6e74ae75db3b9cb04aa0a052ee391e2363af5db697166c207ba76e106338d758c6126830b3e16d75
+ languageName: node
+ linkType: hard
+
"err-code@npm:^2.0.2":
version: 2.0.3
resolution: "err-code@npm:2.0.3"
@@ -8651,6 +10456,13 @@ __metadata:
languageName: node
linkType: hard
+"es-module-lexer@npm:^0.9.3":
+ version: 0.9.3
+ resolution: "es-module-lexer@npm:0.9.3"
+ checksum: be77d73aee709fdc68d22b9938da81dfee3bc45e8d601629258643fe5bfdab253d6e2540035e035cfa8cf52a96366c1c19b46bcc23b4507b1d44e5907d2e7f6c
+ languageName: node
+ linkType: hard
+
"es-module-lexer@npm:^1.2.1":
version: 1.4.1
resolution: "es-module-lexer@npm:1.4.1"
@@ -8689,6 +10501,101 @@ __metadata:
languageName: node
linkType: hard
+"esbuild-plugin-alias@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "esbuild-plugin-alias@npm:0.2.1"
+ checksum: a67bc6bc2744fc8637f7321f00c1f00e4fae86c182662421738ebfabf3ad344967b9c667185c6c34d9edd5b289807d34bfdceef94620e94e0a45683534af69e0
+ languageName: node
+ linkType: hard
+
+"esbuild-register@npm:^3.5.0":
+ version: 3.5.0
+ resolution: "esbuild-register@npm:3.5.0"
+ dependencies:
+ debug: "npm:^4.3.4"
+ peerDependencies:
+ esbuild: ">=0.12 <1"
+ checksum: 9ccd0573cb66018e4cce3c1416eed0f5f3794c7026ce469a94e2f8761335abed8e363fc8e8bb036ab9ad7e579bb4296b8568a04ae5626596c123576b0d9c9bde
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:^0.18.0":
+ version: 0.18.20
+ resolution: "esbuild@npm:0.18.20"
+ dependencies:
+ "@esbuild/android-arm": "npm:0.18.20"
+ "@esbuild/android-arm64": "npm:0.18.20"
+ "@esbuild/android-x64": "npm:0.18.20"
+ "@esbuild/darwin-arm64": "npm:0.18.20"
+ "@esbuild/darwin-x64": "npm:0.18.20"
+ "@esbuild/freebsd-arm64": "npm:0.18.20"
+ "@esbuild/freebsd-x64": "npm:0.18.20"
+ "@esbuild/linux-arm": "npm:0.18.20"
+ "@esbuild/linux-arm64": "npm:0.18.20"
+ "@esbuild/linux-ia32": "npm:0.18.20"
+ "@esbuild/linux-loong64": "npm:0.18.20"
+ "@esbuild/linux-mips64el": "npm:0.18.20"
+ "@esbuild/linux-ppc64": "npm:0.18.20"
+ "@esbuild/linux-riscv64": "npm:0.18.20"
+ "@esbuild/linux-s390x": "npm:0.18.20"
+ "@esbuild/linux-x64": "npm:0.18.20"
+ "@esbuild/netbsd-x64": "npm:0.18.20"
+ "@esbuild/openbsd-x64": "npm:0.18.20"
+ "@esbuild/sunos-x64": "npm:0.18.20"
+ "@esbuild/win32-arm64": "npm:0.18.20"
+ "@esbuild/win32-ia32": "npm:0.18.20"
+ "@esbuild/win32-x64": "npm:0.18.20"
+ dependenciesMeta:
+ "@esbuild/android-arm":
+ optional: true
+ "@esbuild/android-arm64":
+ optional: true
+ "@esbuild/android-x64":
+ optional: true
+ "@esbuild/darwin-arm64":
+ optional: true
+ "@esbuild/darwin-x64":
+ optional: true
+ "@esbuild/freebsd-arm64":
+ optional: true
+ "@esbuild/freebsd-x64":
+ optional: true
+ "@esbuild/linux-arm":
+ optional: true
+ "@esbuild/linux-arm64":
+ optional: true
+ "@esbuild/linux-ia32":
+ optional: true
+ "@esbuild/linux-loong64":
+ optional: true
+ "@esbuild/linux-mips64el":
+ optional: true
+ "@esbuild/linux-ppc64":
+ optional: true
+ "@esbuild/linux-riscv64":
+ optional: true
+ "@esbuild/linux-s390x":
+ optional: true
+ "@esbuild/linux-x64":
+ optional: true
+ "@esbuild/netbsd-x64":
+ optional: true
+ "@esbuild/openbsd-x64":
+ optional: true
+ "@esbuild/sunos-x64":
+ optional: true
+ "@esbuild/win32-arm64":
+ optional: true
+ "@esbuild/win32-ia32":
+ optional: true
+ "@esbuild/win32-x64":
+ optional: true
+ bin:
+ esbuild: bin/esbuild
+ checksum: 473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88
+ languageName: node
+ linkType: hard
+
"esbuild@npm:^0.19.3":
version: 0.19.12
resolution: "esbuild@npm:0.19.12"
@@ -9027,7 +10934,7 @@ __metadata:
languageName: node
linkType: hard
-"esprima@npm:^4.0.0, esprima@npm:^4.0.1":
+"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0":
version: 4.0.1
resolution: "esprima@npm:4.0.1"
bin:
@@ -9150,7 +11057,14 @@ __metadata:
languageName: node
linkType: hard
-"estree-walker@npm:^3.0.0":
+"estree-walker@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "estree-walker@npm:2.0.2"
+ checksum: 53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af
+ languageName: node
+ linkType: hard
+
+"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3":
version: 3.0.3
resolution: "estree-walker@npm:3.0.3"
dependencies:
@@ -9221,7 +11135,7 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:^5.0.0":
+"execa@npm:^5.0.0, execa@npm:^5.1.1":
version: 5.1.1
resolution: "execa@npm:5.1.1"
dependencies:
@@ -9238,6 +11152,23 @@ __metadata:
languageName: node
linkType: hard
+"execa@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "execa@npm:8.0.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^8.0.1"
+ human-signals: "npm:^5.0.0"
+ is-stream: "npm:^3.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^5.1.0"
+ onetime: "npm:^6.0.0"
+ signal-exit: "npm:^4.1.0"
+ strip-final-newline: "npm:^3.0.0"
+ checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af
+ languageName: node
+ linkType: hard
+
"exit@npm:^0.1.2":
version: 0.1.2
resolution: "exit@npm:0.1.2"
@@ -9493,6 +11424,13 @@ __metadata:
languageName: node
linkType: hard
+"fetch-retry@npm:^5.0.2":
+ version: 5.0.6
+ resolution: "fetch-retry@npm:5.0.6"
+ checksum: 349f50db631039630e915f70c763469cb696f3ac92ca6f63823109334a2bc62f63670b8c5a5c7e0195c39df517e60ef385cc5264f4c4904d0c6707d371fa8999
+ languageName: node
+ linkType: hard
+
"figures@npm:3.2.0, figures@npm:^3.0.0":
version: 3.2.0
resolution: "figures@npm:3.2.0"
@@ -9530,6 +11468,16 @@ __metadata:
languageName: node
linkType: hard
+"file-system-cache@npm:2.3.0":
+ version: 2.3.0
+ resolution: "file-system-cache@npm:2.3.0"
+ dependencies:
+ fs-extra: "npm:11.1.1"
+ ramda: "npm:0.29.0"
+ checksum: 43de19f0db32e6546bb7abeecb1d6ea83c1eca23b38905c9415a29f6219cc9d6d87b0c1a6aca92c46a0f1bc276241a339f2f68b8aa0ca5c2eb64b6e1e3e4da01
+ languageName: node
+ linkType: hard
+
"filelist@npm:^1.0.4":
version: 1.0.4
resolution: "filelist@npm:1.0.4"
@@ -9539,7 +11487,7 @@ __metadata:
languageName: node
linkType: hard
-"filesize@npm:^10.1.0":
+"filesize@npm:^10.0.12, filesize@npm:^10.1.0":
version: 10.1.0
resolution: "filesize@npm:10.1.0"
checksum: 4439d2d81ecd98503367cc6d2083ea94de0859a35953325d94f95c4a18302a333a77b80b5421bc9dc663cf9fb2fc1193f15963da4fd0dab3d49168902588a790
@@ -9589,6 +11537,28 @@ __metadata:
languageName: node
linkType: hard
+"find-cache-dir@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "find-cache-dir@npm:2.1.0"
+ dependencies:
+ commondir: "npm:^1.0.1"
+ make-dir: "npm:^2.0.0"
+ pkg-dir: "npm:^3.0.0"
+ checksum: 556117fd0af14eb88fb69250f4bba9e905e7c355c6136dff0e161b9cbd1f5285f761b778565a278da73a130f42eccc723d7ad4c002ae547ed1d698d39779dabb
+ languageName: node
+ linkType: hard
+
+"find-cache-dir@npm:^3.0.0":
+ version: 3.3.2
+ resolution: "find-cache-dir@npm:3.3.2"
+ dependencies:
+ commondir: "npm:^1.0.1"
+ make-dir: "npm:^3.0.2"
+ pkg-dir: "npm:^4.1.0"
+ checksum: 92747cda42bff47a0266b06014610981cfbb71f55d60f2c8216bc3108c83d9745507fb0b14ecf6ab71112bed29cd6fb1a137ee7436179ea36e11287e3159e587
+ languageName: node
+ linkType: hard
+
"find-cache-dir@npm:^4.0.0":
version: 4.0.0
resolution: "find-cache-dir@npm:4.0.0"
@@ -9683,6 +11653,13 @@ __metadata:
languageName: node
linkType: hard
+"flow-parser@npm:0.*":
+ version: 0.229.2
+ resolution: "flow-parser@npm:0.229.2"
+ checksum: 6f2b0b393fb02ae6b839e7e13fd31e91872941843a805eb529b3e969cf0a8a6a0546fc2ab5c7d557eead8be3e2a3fe41c07276f826ba1f84702fcbefa7723fbc
+ languageName: node
+ linkType: hard
+
"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.4":
version: 1.15.5
resolution: "follow-redirects@npm:1.15.5"
@@ -9812,6 +11789,17 @@ __metadata:
languageName: node
linkType: hard
+"fs-extra@npm:11.1.1":
+ version: 11.1.1
+ resolution: "fs-extra@npm:11.1.1"
+ dependencies:
+ graceful-fs: "npm:^4.2.0"
+ jsonfile: "npm:^6.0.1"
+ universalify: "npm:^2.0.0"
+ checksum: a2480243d7dcfa7d723c5f5b24cf4eba02a6ccece208f1524a2fbde1c629492cfb9a59e4b6d04faff6fbdf71db9fdc8ef7f396417a02884195a625f5d8dc9427
+ languageName: node
+ linkType: hard
+
"fs-extra@npm:^11.1.0, fs-extra@npm:^11.1.1, fs-extra@npm:^11.2.0":
version: 11.2.0
resolution: "fs-extra@npm:11.2.0"
@@ -9963,6 +11951,13 @@ __metadata:
languageName: node
linkType: hard
+"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "get-func-name@npm:2.0.2"
+ checksum: 89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df
+ languageName: node
+ linkType: hard
+
"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4":
version: 1.2.4
resolution: "get-intrinsic@npm:1.2.4"
@@ -9976,6 +11971,13 @@ __metadata:
languageName: node
linkType: hard
+"get-npm-tarball-url@npm:^2.0.3":
+ version: 2.1.0
+ resolution: "get-npm-tarball-url@npm:2.1.0"
+ checksum: af779fa5b9c89a3deaf9640630a23368f5ba6a028a1179872aaf581a59485fb2c2c6bd9b94670de228cfc5f23600c89a01e594879085f7fb4dddf820a63105b8
+ languageName: node
+ linkType: hard
+
"get-own-enumerable-property-symbols@npm:^3.0.0":
version: 3.0.2
resolution: "get-own-enumerable-property-symbols@npm:3.0.2"
@@ -10034,6 +12036,13 @@ __metadata:
languageName: node
linkType: hard
+"get-stream@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "get-stream@npm:8.0.1"
+ checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290
+ languageName: node
+ linkType: hard
+
"get-symbol-description@npm:^1.0.2":
version: 1.0.2
resolution: "get-symbol-description@npm:1.0.2"
@@ -10064,6 +12073,24 @@ __metadata:
languageName: node
linkType: hard
+"giget@npm:^1.0.0":
+ version: 1.2.1
+ resolution: "giget@npm:1.2.1"
+ dependencies:
+ citty: "npm:^0.1.5"
+ consola: "npm:^3.2.3"
+ defu: "npm:^6.1.3"
+ node-fetch-native: "npm:^1.6.1"
+ nypm: "npm:^0.3.3"
+ ohash: "npm:^1.1.3"
+ pathe: "npm:^1.1.1"
+ tar: "npm:^6.2.0"
+ bin:
+ giget: dist/cli.mjs
+ checksum: 7a2a66146278f36a1fe0e57e792d43500a757c9a70e796a84e264cf4dfdbc3677499b308dfd96dd53940b5d1065ee14cba75dd75d78a78c2a9abec74e5e4ea62
+ languageName: node
+ linkType: hard
+
"git-raw-commits@npm:^3.0.0":
version: 3.0.0
resolution: "git-raw-commits@npm:3.0.0"
@@ -10134,6 +12161,13 @@ __metadata:
languageName: node
linkType: hard
+"github-slugger@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "github-slugger@npm:2.0.0"
+ checksum: 21b912b6b1e48f1e5a50b2292b48df0ff6abeeb0691b161b3d93d84f4ae6b1acd6ae23702e914af7ea5d441c096453cf0f621b72d57893946618d21dd1a1c486
+ languageName: node
+ linkType: hard
+
"github-url-from-git@npm:^1.4.0":
version: 1.5.0
resolution: "github-url-from-git@npm:1.5.0"
@@ -10159,6 +12193,17 @@ __metadata:
languageName: node
linkType: hard
+"glob-promise@npm:^4.2.0":
+ version: 4.2.2
+ resolution: "glob-promise@npm:4.2.2"
+ dependencies:
+ "@types/glob": "npm:^7.1.3"
+ peerDependencies:
+ glob: ^7.1.6
+ checksum: 3eb01bed2901539365df6a4d27800afb8788840647d01f9bf3500b3de756597f2ff4b8c823971ace34db228c83159beca459dc42a70968d4e9c8200ed2cc96bd
+ languageName: node
+ linkType: hard
+
"glob-to-regexp@npm:^0.4.1":
version: 0.4.1
resolution: "glob-to-regexp@npm:0.4.1"
@@ -10166,7 +12211,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^10.2.2, glob@npm:^10.3.10":
+"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10":
version: 10.3.10
resolution: "glob@npm:10.3.10"
dependencies:
@@ -10274,7 +12319,7 @@ __metadata:
languageName: node
linkType: hard
-"globby@npm:11.1.0, globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0":
+"globby@npm:11.1.0, globby@npm:^11.0.1, globby@npm:^11.0.2, globby@npm:^11.0.4, globby@npm:^11.1.0":
version: 11.1.0
resolution: "globby@npm:11.1.0"
dependencies:
@@ -10383,6 +12428,22 @@ __metadata:
languageName: node
linkType: hard
+"gunzip-maybe@npm:^1.4.2":
+ version: 1.4.2
+ resolution: "gunzip-maybe@npm:1.4.2"
+ dependencies:
+ browserify-zlib: "npm:^0.1.4"
+ is-deflate: "npm:^1.0.0"
+ is-gzip: "npm:^1.0.0"
+ peek-stream: "npm:^1.1.0"
+ pumpify: "npm:^1.3.3"
+ through2: "npm:^2.0.3"
+ bin:
+ gunzip-maybe: bin.js
+ checksum: 42798a8061759885c2084e1804e51313d14f2dc9cf6c137e222953ec802f914e592d6f9dbf6ad67f4e78eb036e86db017d9c7c93bb23e90cd5ae09326296ed77
+ languageName: node
+ linkType: hard
+
"gzip-size@npm:^6.0.0":
version: 6.0.0
resolution: "gzip-size@npm:6.0.0"
@@ -10562,6 +12623,24 @@ __metadata:
languageName: node
linkType: hard
+"hast-util-heading-rank@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "hast-util-heading-rank@npm:3.0.0"
+ dependencies:
+ "@types/hast": "npm:^3.0.0"
+ checksum: 1879c84f629e73f1f13247ab349324355cd801363b44e3d46f763aa5c0ea3b42dcd47b46e5643a0502cf01a6b1fdb9208fd12852e44ca6c671b3e4bccf9369a1
+ languageName: node
+ linkType: hard
+
+"hast-util-is-element@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "hast-util-is-element@npm:3.0.0"
+ dependencies:
+ "@types/hast": "npm:^3.0.0"
+ checksum: f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b
+ languageName: node
+ linkType: hard
+
"hast-util-parse-selector@npm:^4.0.0":
version: 4.0.0
resolution: "hast-util-parse-selector@npm:4.0.0"
@@ -10654,6 +12733,15 @@ __metadata:
languageName: node
linkType: hard
+"hast-util-to-string@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "hast-util-to-string@npm:3.0.0"
+ dependencies:
+ "@types/hast": "npm:^3.0.0"
+ checksum: 649edd993cf244563ad86d861aa0863759a4fbec49c43b3d92240e42aa4b69f0c3332ddff9e80954bbd8756c86b0fddc20e97d281c6da59d00427f45da8dab68
+ languageName: node
+ linkType: hard
+
"hast-util-whitespace@npm:^3.0.0":
version: 3.0.0
resolution: "hast-util-whitespace@npm:3.0.0"
@@ -10820,7 +12908,7 @@ __metadata:
languageName: node
linkType: hard
-"html-tags@npm:^3.3.1":
+"html-tags@npm:^3.1.0, html-tags@npm:^3.3.1":
version: 3.3.1
resolution: "html-tags@npm:3.3.1"
checksum: 680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79
@@ -11012,6 +13100,13 @@ __metadata:
languageName: node
linkType: hard
+"human-signals@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "human-signals@npm:5.0.0"
+ checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82
+ languageName: node
+ linkType: hard
+
"humanize-ms@npm:^1.2.1":
version: 1.2.1
resolution: "humanize-ms@npm:1.2.1"
@@ -11289,6 +13384,13 @@ __metadata:
languageName: node
linkType: hard
+"ip@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "ip@npm:2.0.1"
+ checksum: cab8eb3e88d0abe23e4724829621ec4c4c5cb41a7f936a2e626c947128c1be16ed543448d42af7cca95379f9892bfcacc1ccd8d09bc7e8bea0e86d492ce33616
+ languageName: node
+ linkType: hard
+
"ipaddr.js@npm:1.9.1":
version: 1.9.1
resolution: "ipaddr.js@npm:1.9.1"
@@ -11303,6 +13405,13 @@ __metadata:
languageName: node
linkType: hard
+"is-absolute-url@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "is-absolute-url@npm:4.0.1"
+ checksum: 6f8f603945bd9f2c6031758bbc12352fc647bd5d807cad10d96cc6300fd0e15240cc091521a61db767e4ec0bacff257b4f1015fd5249c147bbb4a4497356c72e
+ languageName: node
+ linkType: hard
+
"is-accessor-descriptor@npm:^1.0.1":
version: 1.0.1
resolution: "is-accessor-descriptor@npm:1.0.1"
@@ -11329,7 +13438,7 @@ __metadata:
languageName: node
linkType: hard
-"is-arguments@npm:^1.1.1":
+"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1":
version: 1.1.1
resolution: "is-arguments@npm:1.1.1"
dependencies:
@@ -11452,6 +13561,13 @@ __metadata:
languageName: node
linkType: hard
+"is-deflate@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-deflate@npm:1.0.0"
+ checksum: 35f7ffcbef3549dd8a4d8df5dc09b4f4656a0fc88326e8b5201cda54114a9c2d8efb689d87c16f3f35c95bd71dcf13dc790d62b7504745b42c53ab4b40238f5a
+ languageName: node
+ linkType: hard
+
"is-descriptor@npm:^0.1.0":
version: 0.1.7
resolution: "is-descriptor@npm:0.1.7"
@@ -11527,7 +13643,7 @@ __metadata:
languageName: node
linkType: hard
-"is-generator-function@npm:^1.0.10":
+"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7":
version: 1.0.10
resolution: "is-generator-function@npm:1.0.10"
dependencies:
@@ -11545,6 +13661,13 @@ __metadata:
languageName: node
linkType: hard
+"is-gzip@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-gzip@npm:1.0.0"
+ checksum: cbc1db080c636a6fb0f7346e3076f8276a29a9d8b52ae67c1971a8131c43f308e98ed227d1a6f49970e6c6ebabee0568e60aed7a3579dd4e1817cddf2faaf9b7
+ languageName: node
+ linkType: hard
+
"is-hexadecimal@npm:^2.0.0":
version: 2.0.1
resolution: "is-hexadecimal@npm:2.0.1"
@@ -11590,6 +13713,16 @@ __metadata:
languageName: node
linkType: hard
+"is-nan@npm:^1.3.2":
+ version: 1.3.2
+ resolution: "is-nan@npm:1.3.2"
+ dependencies:
+ call-bind: "npm:^1.0.0"
+ define-properties: "npm:^1.1.3"
+ checksum: 8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0
+ languageName: node
+ linkType: hard
+
"is-negative-zero@npm:^2.0.2":
version: 2.0.3
resolution: "is-negative-zero@npm:2.0.3"
@@ -11678,6 +13811,13 @@ __metadata:
languageName: node
linkType: hard
+"is-plain-object@npm:5.0.0, is-plain-object@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "is-plain-object@npm:5.0.0"
+ checksum: 893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c
+ languageName: node
+ linkType: hard
+
"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4":
version: 2.0.4
resolution: "is-plain-object@npm:2.0.4"
@@ -11687,13 +13827,6 @@ __metadata:
languageName: node
linkType: hard
-"is-plain-object@npm:^5.0.0":
- version: 5.0.0
- resolution: "is-plain-object@npm:5.0.0"
- checksum: 893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c
- languageName: node
- linkType: hard
-
"is-potential-custom-element-name@npm:^1.0.1":
version: 1.0.1
resolution: "is-potential-custom-element-name@npm:1.0.1"
@@ -11773,6 +13906,13 @@ __metadata:
languageName: node
linkType: hard
+"is-stream@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-stream@npm:3.0.0"
+ checksum: eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8
+ languageName: node
+ linkType: hard
+
"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
version: 1.0.7
resolution: "is-string@npm:1.0.7"
@@ -11800,7 +13940,7 @@ __metadata:
languageName: node
linkType: hard
-"is-typed-array@npm:^1.1.13":
+"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3":
version: 1.1.13
resolution: "is-typed-array@npm:1.1.13"
dependencies:
@@ -12283,6 +14423,16 @@ __metadata:
languageName: node
linkType: hard
+"jest-mock@npm:^27.0.6":
+ version: 27.5.1
+ resolution: "jest-mock@npm:27.5.1"
+ dependencies:
+ "@jest/types": "npm:^27.5.1"
+ "@types/node": "npm:*"
+ checksum: 6ad58454b37ee3f726930b07efbf40a7c79d2d2d9c7b226708b4b550bc0904de93bcacf714105d11952a5c0bc855e5d59145c8c9dbbb4e69b46e7367abf53b52
+ languageName: node
+ linkType: hard
+
"jest-mock@npm:^29.7.0":
version: 29.7.0
resolution: "jest-mock@npm:29.7.0"
@@ -12592,6 +14742,41 @@ __metadata:
languageName: node
linkType: hard
+"jscodeshift@npm:^0.15.1":
+ version: 0.15.2
+ resolution: "jscodeshift@npm:0.15.2"
+ dependencies:
+ "@babel/core": "npm:^7.23.0"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/plugin-transform-class-properties": "npm:^7.22.5"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.22.11"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.23.0"
+ "@babel/plugin-transform-private-methods": "npm:^7.22.5"
+ "@babel/preset-flow": "npm:^7.22.15"
+ "@babel/preset-typescript": "npm:^7.23.0"
+ "@babel/register": "npm:^7.22.15"
+ babel-core: "npm:^7.0.0-bridge.0"
+ chalk: "npm:^4.1.2"
+ flow-parser: "npm:0.*"
+ graceful-fs: "npm:^4.2.4"
+ micromatch: "npm:^4.0.4"
+ neo-async: "npm:^2.5.0"
+ node-dir: "npm:^0.1.17"
+ recast: "npm:^0.23.3"
+ temp: "npm:^0.8.4"
+ write-file-atomic: "npm:^2.3.0"
+ peerDependencies:
+ "@babel/preset-env": ^7.1.6
+ peerDependenciesMeta:
+ "@babel/preset-env":
+ optional: true
+ bin:
+ jscodeshift: bin/jscodeshift.js
+ checksum: 79afb059b9ca92712af02bdc8d6ff144de7aaf5e2cdcc6f6534e7a86a7347b0a278d9f4884f2c78dac424162a353aafff183a60e868f71132be2c5b5304aeeb8
+ languageName: node
+ linkType: hard
+
"jsdom@npm:^20.0.0":
version: 20.0.3
resolution: "jsdom@npm:20.0.3"
@@ -12739,7 +14924,7 @@ __metadata:
languageName: node
linkType: hard
-"jsonfile@npm:^6.0.1":
+"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0":
version: 6.1.0
resolution: "jsonfile@npm:6.1.0"
dependencies:
@@ -12845,6 +15030,17 @@ __metadata:
languageName: node
linkType: hard
+"lazy-universal-dotenv@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "lazy-universal-dotenv@npm:4.0.0"
+ dependencies:
+ app-root-dir: "npm:^1.0.2"
+ dotenv: "npm:^16.0.0"
+ dotenv-expand: "npm:^10.0.0"
+ checksum: 3bc4fe649c46c4a20561ca1fd10cd1df641d2c6c42c61af6c65a5fe0546cb548f449e13e6c7440be445c9fe5b4973c25f499e7d899b8704b7b9bd0ec85bbfe2d
+ languageName: node
+ linkType: hard
+
"lerna@npm:^8.0.2":
version: 8.1.2
resolution: "lerna@npm:8.1.2"
@@ -13180,6 +15376,15 @@ __metadata:
languageName: node
linkType: hard
+"loupe@npm:^2.3.6, loupe@npm:^2.3.7":
+ version: 2.3.7
+ resolution: "loupe@npm:2.3.7"
+ dependencies:
+ get-func-name: "npm:^2.0.1"
+ checksum: 71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4
+ languageName: node
+ linkType: hard
+
"lower-case@npm:^2.0.2":
version: 2.0.2
resolution: "lower-case@npm:2.0.2"
@@ -13246,6 +15451,24 @@ __metadata:
languageName: node
linkType: hard
+"magic-string@npm:^0.27.0":
+ version: 0.27.0
+ resolution: "magic-string@npm:0.27.0"
+ dependencies:
+ "@jridgewell/sourcemap-codec": "npm:^1.4.13"
+ checksum: cddacfea14441ca57ae8a307bc3cf90bac69efaa4138dd9a80804cffc2759bf06f32da3a293fb13eaa96334b7d45b7768a34f1d226afae25d2f05b05a3bb37d8
+ languageName: node
+ linkType: hard
+
+"magic-string@npm:^0.30.0":
+ version: 0.30.7
+ resolution: "magic-string@npm:0.30.7"
+ dependencies:
+ "@jridgewell/sourcemap-codec": "npm:^1.4.15"
+ checksum: d1d949f7a53c37c6e685f4ea7b2b151c2fe0cc5af8f1f979ecba916f7d60d58f35309aaf4c8b09ce1aef7c160b957be39a38b52b478a91650750931e4ddd5daf
+ languageName: node
+ linkType: hard
+
"make-dir@npm:4.0.0, make-dir@npm:^4.0.0":
version: 4.0.0
resolution: "make-dir@npm:4.0.0"
@@ -13255,7 +15478,7 @@ __metadata:
languageName: node
linkType: hard
-"make-dir@npm:^2.1.0":
+"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0":
version: 2.1.0
resolution: "make-dir@npm:2.1.0"
dependencies:
@@ -13265,6 +15488,15 @@ __metadata:
languageName: node
linkType: hard
+"make-dir@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "make-dir@npm:3.1.0"
+ dependencies:
+ semver: "npm:^6.0.0"
+ checksum: 56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa
+ languageName: node
+ linkType: hard
+
"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.1.1":
version: 11.1.1
resolution: "make-fetch-happen@npm:11.1.1"
@@ -13337,6 +15569,13 @@ __metadata:
languageName: node
linkType: hard
+"map-or-similar@npm:^1.5.0":
+ version: 1.5.0
+ resolution: "map-or-similar@npm:1.5.0"
+ checksum: 33c6ccfdc272992e33e4e99a69541a3e7faed9de3ac5bc732feb2500a9ee71d3f9d098980a70b7746e7eeb7f859ff7dfb8aa9b5ecc4e34170a32ab78cfb18def
+ languageName: node
+ linkType: hard
+
"map-visit@npm:^1.0.0":
version: 1.0.0
resolution: "map-visit@npm:1.0.0"
@@ -13360,6 +15599,15 @@ __metadata:
languageName: node
linkType: hard
+"markdown-to-jsx@npm:7.3.2":
+ version: 7.3.2
+ resolution: "markdown-to-jsx@npm:7.3.2"
+ peerDependencies:
+ react: ">= 0.14.0"
+ checksum: 191b9a9defeed02e12dd340cebf279f577266dac7b34574fa44ce4d64ee8536f9967d455b8303c853f84413feb473118290a6160d8221eeaf3b9e4961b8980e3
+ languageName: node
+ linkType: hard
+
"mdast-util-directive@npm:^3.0.0":
version: 3.0.0
resolution: "mdast-util-directive@npm:3.0.0"
@@ -13650,6 +15898,15 @@ __metadata:
languageName: node
linkType: hard
+"memoizerific@npm:^1.11.3":
+ version: 1.11.3
+ resolution: "memoizerific@npm:1.11.3"
+ dependencies:
+ map-or-similar: "npm:^1.5.0"
+ checksum: 661bf69b7afbfad57f0208f0c63324f4c96087b480708115b78ee3f0237d86c7f91347f6db31528740b2776c2e34c709bcb034e1e910edee2270c9603a0a469e
+ languageName: node
+ linkType: hard
+
"meow@npm:^8.1.2":
version: 8.1.2
resolution: "meow@npm:8.1.2"
@@ -14274,6 +16531,13 @@ __metadata:
languageName: node
linkType: hard
+"mimic-fn@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "mimic-fn@npm:4.0.0"
+ checksum: de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf
+ languageName: node
+ linkType: hard
+
"mimic-response@npm:^3.1.0":
version: 3.1.0
resolution: "mimic-response@npm:3.1.0"
@@ -14288,7 +16552,7 @@ __metadata:
languageName: node
linkType: hard
-"min-indent@npm:^1.0.0":
+"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1":
version: 1.0.1
resolution: "min-indent@npm:1.0.1"
checksum: 7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c
@@ -14323,7 +16587,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
+"minimatch@npm:3.1.2, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -14654,7 +16918,7 @@ __metadata:
languageName: node
linkType: hard
-"neo-async@npm:^2.6.2":
+"neo-async@npm:^2.5.0, neo-async@npm:^2.6.2":
version: 2.6.2
resolution: "neo-async@npm:2.6.2"
checksum: c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d
@@ -14678,6 +16942,15 @@ __metadata:
languageName: node
linkType: hard
+"node-dir@npm:^0.1.17":
+ version: 0.1.17
+ resolution: "node-dir@npm:0.1.17"
+ dependencies:
+ minimatch: "npm:^3.0.2"
+ checksum: 16222e871708c405079ff8122d4a7e1d522c5b90fc8f12b3112140af871cfc70128c376e845dcd0044c625db0d2efebd2d852414599d240564db61d53402b4c1
+ languageName: node
+ linkType: hard
+
"node-emoji@npm:^2.1.0":
version: 2.1.3
resolution: "node-emoji@npm:2.1.3"
@@ -14690,6 +16963,13 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch-native@npm:^1.6.1":
+ version: 1.6.2
+ resolution: "node-fetch-native@npm:1.6.2"
+ checksum: 2c1e94ce6e5b8a8ca85d5cdb837bc098ba2a54dea07e3509250288bebca8147950e1bef10db30120b389263ec0064e0562effdd085bb49d4e2046ebd963ee98d
+ languageName: node
+ linkType: hard
+
"node-fetch@npm:2.6.7":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
@@ -14704,7 +16984,7 @@ __metadata:
languageName: node
linkType: hard
-"node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7":
+"node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7":
version: 2.7.0
resolution: "node-fetch@npm:2.7.0"
dependencies:
@@ -15010,6 +17290,15 @@ __metadata:
languageName: node
linkType: hard
+"npm-run-path@npm:^5.1.0":
+ version: 5.3.0
+ resolution: "npm-run-path@npm:5.3.0"
+ dependencies:
+ path-key: "npm:^4.0.0"
+ checksum: 124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba
+ languageName: node
+ linkType: hard
+
"npmlog@npm:^6.0.2":
version: 6.0.2
resolution: "npmlog@npm:6.0.2"
@@ -15129,6 +17418,20 @@ __metadata:
languageName: node
linkType: hard
+"nypm@npm:^0.3.3":
+ version: 0.3.6
+ resolution: "nypm@npm:0.3.6"
+ dependencies:
+ citty: "npm:^0.1.5"
+ execa: "npm:^8.0.1"
+ pathe: "npm:^1.1.2"
+ ufo: "npm:^1.3.2"
+ bin:
+ nypm: dist/cli.mjs
+ checksum: addc0a0f2eaf33a245972332d2fd8317e8e05051e470138e64398aac15553aff0051cc9424ddb706ec00594cab22b592025a2601d781869f6c98227a0ba32e5d
+ languageName: node
+ linkType: hard
+
"object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
@@ -15264,6 +17567,13 @@ __metadata:
languageName: node
linkType: hard
+"ohash@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "ohash@npm:1.1.3"
+ checksum: 928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540
+ languageName: node
+ linkType: hard
+
"on-finished@npm:2.4.1":
version: 2.4.1
resolution: "on-finished@npm:2.4.1"
@@ -15298,7 +17608,16 @@ __metadata:
languageName: node
linkType: hard
-"open@npm:^8.0.9, open@npm:^8.4.0":
+"onetime@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "onetime@npm:6.0.0"
+ dependencies:
+ mimic-fn: "npm:^4.0.0"
+ checksum: 4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c
+ languageName: node
+ linkType: hard
+
+"open@npm:^8.0.4, open@npm:^8.0.9, open@npm:^8.4.0":
version: 8.4.2
resolution: "open@npm:8.4.2"
dependencies:
@@ -15622,6 +17941,13 @@ __metadata:
languageName: node
linkType: hard
+"pako@npm:~0.2.0":
+ version: 0.2.9
+ resolution: "pako@npm:0.2.9"
+ checksum: 79c1806ebcf325b60ae599e4d7227c2e346d7b829dc20f5cf24cef07c934079dc3a61c5b3c8278a2f7a190c4a613e343ea11e5302dbe252efd11712df4b6b041
+ languageName: node
+ linkType: hard
+
"param-case@npm:^3.0.4":
version: 3.0.4
resolution: "param-case@npm:3.0.4"
@@ -15789,6 +18115,13 @@ __metadata:
languageName: node
linkType: hard
+"path-key@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-key@npm:4.0.0"
+ checksum: 794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3
+ languageName: node
+ linkType: hard
+
"path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
@@ -15859,6 +18192,31 @@ __metadata:
languageName: node
linkType: hard
+"pathe@npm:^1.1.1, pathe@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "pathe@npm:1.1.2"
+ checksum: 64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897
+ languageName: node
+ linkType: hard
+
+"pathval@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "pathval@npm:1.1.1"
+ checksum: f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc
+ languageName: node
+ linkType: hard
+
+"peek-stream@npm:^1.1.0":
+ version: 1.1.3
+ resolution: "peek-stream@npm:1.1.3"
+ dependencies:
+ buffer-from: "npm:^1.0.0"
+ duplexify: "npm:^3.5.0"
+ through2: "npm:^2.0.3"
+ checksum: 3c35d1951b8640036f93b1b5628a90f849e49ca4f2e6aba393ff4978413931d9c491c83f71a92f878d5ea4c670af0bba04dfcfb79b310ead22601db7c1420e36
+ languageName: node
+ linkType: hard
+
"pend@npm:~1.2.0":
version: 1.2.0
resolution: "pend@npm:1.2.0"
@@ -15884,7 +18242,7 @@ __metadata:
languageName: node
linkType: hard
-"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1":
+"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
checksum: 26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be
@@ -15919,14 +18277,23 @@ __metadata:
languageName: node
linkType: hard
-"pirates@npm:^4.0.4":
+"pirates@npm:^4.0.4, pirates@npm:^4.0.6":
version: 4.0.6
resolution: "pirates@npm:4.0.6"
checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36
languageName: node
linkType: hard
-"pkg-dir@npm:^4.2.0":
+"pkg-dir@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "pkg-dir@npm:3.0.0"
+ dependencies:
+ find-up: "npm:^3.0.0"
+ checksum: 902a3d0c1f8ac43b1795fa1ba6ffeb37dfd53c91469e969790f6ed5e29ff2bdc50b63ba6115dc056d2efb4a040aa2446d512b3804bdafdf302f734fb3ec21847
+ languageName: node
+ linkType: hard
+
+"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
version: 4.2.0
resolution: "pkg-dir@npm:4.2.0"
dependencies:
@@ -15935,6 +18302,15 @@ __metadata:
languageName: node
linkType: hard
+"pkg-dir@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "pkg-dir@npm:5.0.0"
+ dependencies:
+ find-up: "npm:^5.0.0"
+ checksum: 793a496d685dc55bbbdbbb22d884535c3b29241e48e3e8d37e448113a71b9e42f5481a61fdc672d7322de12fbb2c584dd3a68bf89b18fffce5c48a390f911bc5
+ languageName: node
+ linkType: hard
+
"pkg-dir@npm:^7.0.0":
version: 7.0.0
resolution: "pkg-dir@npm:7.0.0"
@@ -15953,6 +18329,15 @@ __metadata:
languageName: node
linkType: hard
+"polished@npm:^4.2.2":
+ version: 4.3.1
+ resolution: "polished@npm:4.3.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.17.8"
+ checksum: 45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe
+ languageName: node
+ linkType: hard
+
"posix-character-classes@npm:^0.1.0":
version: 0.1.1
resolution: "posix-character-classes@npm:0.1.1"
@@ -16419,7 +18804,7 @@ __metadata:
languageName: node
linkType: hard
-"prettier@npm:^3.2.4":
+"prettier@npm:^3.1.1, prettier@npm:^3.2.4":
version: 3.2.5
resolution: "prettier@npm:3.2.5"
bin:
@@ -16463,7 +18848,7 @@ __metadata:
languageName: node
linkType: hard
-"pretty-format@npm:^29.7.0":
+"pretty-format@npm:^29.5.0, pretty-format@npm:^29.7.0":
version: 29.7.0
resolution: "pretty-format@npm:29.7.0"
dependencies:
@@ -16474,6 +18859,13 @@ __metadata:
languageName: node
linkType: hard
+"pretty-hrtime@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "pretty-hrtime@npm:1.0.3"
+ checksum: 67cb3fc283a72252b49ac488647e6a01b78b7aa1b8f2061834aa1650691229081518ef3ca940f77f41cc8a8f02ba9eeb74b843481596670209e493062f2e89e0
+ languageName: node
+ linkType: hard
+
"pretty-time@npm:^1.1.0":
version: 1.1.0
resolution: "pretty-time@npm:1.1.0"
@@ -16514,6 +18906,13 @@ __metadata:
languageName: node
linkType: hard
+"process@npm:^0.11.10":
+ version: 0.11.10
+ resolution: "process@npm:0.11.10"
+ checksum: 40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3
+ languageName: node
+ linkType: hard
+
"progress@npm:2.0.3":
version: 2.0.3
resolution: "progress@npm:2.0.3"
@@ -16538,7 +18937,7 @@ __metadata:
languageName: node
linkType: hard
-"prompts@npm:^2.0.1, prompts@npm:^2.4.2":
+"prompts@npm:^2.0.1, prompts@npm:^2.4.0, prompts@npm:^2.4.2":
version: 2.4.2
resolution: "prompts@npm:2.4.2"
dependencies:
@@ -16711,6 +19110,16 @@ __metadata:
languageName: node
linkType: hard
+"pump@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "pump@npm:2.0.1"
+ dependencies:
+ end-of-stream: "npm:^1.1.0"
+ once: "npm:^1.3.1"
+ checksum: f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355
+ languageName: node
+ linkType: hard
+
"pump@npm:^3.0.0":
version: 3.0.0
resolution: "pump@npm:3.0.0"
@@ -16721,6 +19130,17 @@ __metadata:
languageName: node
linkType: hard
+"pumpify@npm:^1.3.3":
+ version: 1.5.1
+ resolution: "pumpify@npm:1.5.1"
+ dependencies:
+ duplexify: "npm:^3.6.0"
+ inherits: "npm:^2.0.3"
+ pump: "npm:^2.0.0"
+ checksum: 0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45
+ languageName: node
+ linkType: hard
+
"punycode@npm:^1.3.2":
version: 1.4.1
resolution: "punycode@npm:1.4.1"
@@ -16774,7 +19194,7 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:^6.11.2":
+"qs@npm:^6.10.0, qs@npm:^6.11.2":
version: 6.11.2
resolution: "qs@npm:6.11.2"
dependencies:
@@ -16827,6 +19247,13 @@ __metadata:
languageName: node
linkType: hard
+"ramda@npm:0.29.0":
+ version: 0.29.0
+ resolution: "ramda@npm:0.29.0"
+ checksum: b00eaaf1c62b06a99affa1d583e256bd65ad27ab9d0ef512f55d7d93b842e7cd244a4a09179f61fdd8548362e409323867a2b0477cbd0626b5644eb6ac7c53da
+ languageName: node
+ linkType: hard
+
"randombytes@npm:^2.1.0":
version: 2.1.0
resolution: "randombytes@npm:2.1.0"
@@ -16876,6 +19303,27 @@ __metadata:
languageName: node
linkType: hard
+"react-colorful@npm:^5.1.2":
+ version: 5.6.1
+ resolution: "react-colorful@npm:5.6.1"
+ peerDependencies:
+ react: ">=16.8.0"
+ react-dom: ">=16.8.0"
+ checksum: 48eb73cf71e10841c2a61b6b06ab81da9fffa9876134c239bfdebcf348ce2a47e56b146338e35dfb03512c85966bfc9a53844fc56bc50154e71f8daee59ff6f0
+ languageName: node
+ linkType: hard
+
+"react-confetti@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "react-confetti@npm:6.1.0"
+ dependencies:
+ tween-functions: "npm:^1.2.0"
+ peerDependencies:
+ react: ^16.3.0 || ^17.0.1 || ^18.0.0
+ checksum: 5b4eb23eef564695f6db1d25b294ed31d5fa21ff4092c6a38e641f85cd10e3e0b50014366e3ac0f7cf772e73faaecd14614e5b11a5531336fa769dda8068ab59
+ languageName: node
+ linkType: hard
+
"react-dev-utils@npm:^12.0.1":
version: 12.0.1
resolution: "react-dev-utils@npm:12.0.1"
@@ -16908,7 +19356,34 @@ __metadata:
languageName: node
linkType: hard
-"react-dom@npm:^18.2.0":
+"react-docgen-typescript@npm:^2.2.2":
+ version: 2.2.2
+ resolution: "react-docgen-typescript@npm:2.2.2"
+ peerDependencies:
+ typescript: ">= 4.3.x"
+ checksum: d31a061a21b5d4b67d4af7bc742541fd9e16254bd32861cd29c52565bc2175f40421a3550d52b6a6b0d0478e7cc408558eb0060a0bdd2957b02cfceeb0ee1e88
+ languageName: node
+ linkType: hard
+
+"react-docgen@npm:^7.0.0":
+ version: 7.0.3
+ resolution: "react-docgen@npm:7.0.3"
+ dependencies:
+ "@babel/core": "npm:^7.18.9"
+ "@babel/traverse": "npm:^7.18.9"
+ "@babel/types": "npm:^7.18.9"
+ "@types/babel__core": "npm:^7.18.0"
+ "@types/babel__traverse": "npm:^7.18.0"
+ "@types/doctrine": "npm:^0.0.9"
+ "@types/resolve": "npm:^1.20.2"
+ doctrine: "npm:^3.0.0"
+ resolve: "npm:^1.22.1"
+ strip-indent: "npm:^4.0.0"
+ checksum: 74622750e60b287d2897a6887a2bd88303fadd84540247e162e9e970430864ae7b49152de043233d873a0aa7cffa406e5cd8fc1e8e2c277b8da73198b570f16b
+ languageName: node
+ linkType: hard
+
+"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react-dom@npm:^18.2.0":
version: 18.2.0
resolution: "react-dom@npm:18.2.0"
dependencies:
@@ -16920,6 +19395,20 @@ __metadata:
languageName: node
linkType: hard
+"react-element-to-jsx-string@npm:^15.0.0":
+ version: 15.0.0
+ resolution: "react-element-to-jsx-string@npm:15.0.0"
+ dependencies:
+ "@base2/pretty-print-object": "npm:1.0.1"
+ is-plain-object: "npm:5.0.0"
+ react-is: "npm:18.1.0"
+ peerDependencies:
+ react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0
+ react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0
+ checksum: 0d60a0ea758529c32a706d0c69d70b69fb94de3c46442fffdee34f08f51ffceddbb5395b41dfd1565895653e9f60f98ca525835be9d5db1f16d6b22be12f4cd4
+ languageName: node
+ linkType: hard
+
"react-error-overlay@npm:^6.0.11":
version: 6.0.11
resolution: "react-error-overlay@npm:6.0.11"
@@ -16973,6 +19462,13 @@ __metadata:
languageName: node
linkType: hard
+"react-is@npm:18.1.0":
+ version: 18.1.0
+ resolution: "react-is@npm:18.1.0"
+ checksum: 558874e4c3bd9805a9294426e090919ee6901be3ab07f80b997c36b5a01a8d691112802e7438d146f6c82fd6495d8c030f276ef05ec3410057f8740a8d723f8c
+ languageName: node
+ linkType: hard
+
"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.2.0":
version: 18.2.0
resolution: "react-is@npm:18.2.0"
@@ -17127,7 +19623,7 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:^18.2.0":
+"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react@npm:^18.2.0":
version: 18.2.0
resolution: "react@npm:18.2.0"
dependencies:
@@ -17230,7 +19726,7 @@ __metadata:
languageName: node
linkType: hard
-"readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6":
+"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6":
version: 2.3.8
resolution: "readable-stream@npm:2.3.8"
dependencies:
@@ -17283,6 +19779,19 @@ __metadata:
languageName: node
linkType: hard
+"recast@npm:^0.23.1, recast@npm:^0.23.3":
+ version: 0.23.4
+ resolution: "recast@npm:0.23.4"
+ dependencies:
+ assert: "npm:^2.0.0"
+ ast-types: "npm:^0.16.1"
+ esprima: "npm:~4.0.0"
+ source-map: "npm:~0.6.1"
+ tslib: "npm:^2.0.1"
+ checksum: d719633be8029e28f23b8191d4a525c5dbdac721792ab3cb5e9dfcf1694fb93f3c147b186916195a9c7fa0711f1e4990ba457cdcee02faed3899d4a80da1bd1f
+ languageName: node
+ linkType: hard
+
"rechoir@npm:^0.6.2":
version: 0.6.2
resolution: "rechoir@npm:0.6.2"
@@ -17450,6 +19959,20 @@ __metadata:
languageName: node
linkType: hard
+"rehype-external-links@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "rehype-external-links@npm:3.0.0"
+ dependencies:
+ "@types/hast": "npm:^3.0.0"
+ "@ungap/structured-clone": "npm:^1.0.0"
+ hast-util-is-element: "npm:^3.0.0"
+ is-absolute-url: "npm:^4.0.0"
+ space-separated-tokens: "npm:^2.0.0"
+ unist-util-visit: "npm:^5.0.0"
+ checksum: 486b5db73d8fe72611d62b4eb0b56ec71025ea32bba764ad54473f714ca627be75e057ac29243763f85a77c3810f31727ce3e03c975b3803c1c98643d038e9ae
+ languageName: node
+ linkType: hard
+
"rehype-raw@npm:^7.0.0":
version: 7.0.0
resolution: "rehype-raw@npm:7.0.0"
@@ -17461,6 +19984,19 @@ __metadata:
languageName: node
linkType: hard
+"rehype-slug@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "rehype-slug@npm:6.0.0"
+ dependencies:
+ "@types/hast": "npm:^3.0.0"
+ github-slugger: "npm:^2.0.0"
+ hast-util-heading-rank: "npm:^3.0.0"
+ hast-util-to-string: "npm:^3.0.0"
+ unist-util-visit: "npm:^5.0.0"
+ checksum: 51303c33d039c271cabe62161b49fa737be488f70ced62f00c165e47a089a99de2060050385e5c00d0df83ed30c7fa1c79a51b78508702836aefa51f7e7a6760
+ languageName: node
+ linkType: hard
+
"relateurl@npm:^0.2.7":
version: 0.2.7
resolution: "relateurl@npm:0.2.7"
@@ -17685,7 +20221,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4":
+"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4":
version: 1.22.8
resolution: "resolve@npm:1.22.8"
dependencies:
@@ -17711,7 +20247,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
+"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
version: 1.22.8
resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"
dependencies:
@@ -17806,6 +20342,17 @@ __metadata:
languageName: node
linkType: hard
+"rimraf@npm:~2.6.2":
+ version: 2.6.3
+ resolution: "rimraf@npm:2.6.3"
+ dependencies:
+ glob: "npm:^7.1.3"
+ bin:
+ rimraf: ./bin.js
+ checksum: f1e646f8c567795f2916aef7aadf685b543da6b9a53e482bb04b07472c7eef2b476045ba1e29f401c301c66b630b22b815ab31fdd60c5e1ae6566ff523debf45
+ languageName: node
+ linkType: hard
+
"rollup-plugin-terser@npm:^7.0.0":
version: 7.0.2
resolution: "rollup-plugin-terser@npm:7.0.2"
@@ -18146,7 +20693,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^6.3.0, semver@npm:^6.3.1":
+"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -18378,7 +20925,7 @@ __metadata:
languageName: node
linkType: hard
-"signal-exit@npm:^4.0.1":
+"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0":
version: 4.1.0
resolution: "signal-exit@npm:4.1.0"
checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
@@ -18655,7 +21202,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-support@npm:~0.5.20":
+"source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
dependencies:
@@ -18899,6 +21446,32 @@ __metadata:
languageName: node
linkType: hard
+"store2@npm:^2.14.2":
+ version: 2.14.3
+ resolution: "store2@npm:2.14.3"
+ checksum: 22e1096e6d69590672ca0b7f891d82b060837ef4c3e5df0d4563e6cbed14c52ddf2589fa94b79f4311b6ec41d95d6142e5d01d194539e0175c3fb4090cca8244
+ languageName: node
+ linkType: hard
+
+"storybook@npm:8.0.0-rc.0":
+ version: 8.0.0-rc.0
+ resolution: "storybook@npm:8.0.0-rc.0"
+ dependencies:
+ "@storybook/cli": "npm:8.0.0-rc.0"
+ bin:
+ sb: ./index.js
+ storybook: ./index.js
+ checksum: 32b73b5b10d5207f6de4b75d6bd424e1269e850b2d8ba81d4af2ce2348a444dcb49d56cf89fa417b33e7081163843dadf7f8f2035665dcaada870b6e4329a140
+ languageName: node
+ linkType: hard
+
+"stream-shift@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "stream-shift@npm:1.0.3"
+ checksum: 939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b
+ languageName: node
+ linkType: hard
+
"streamx@npm:^2.15.0":
version: 2.16.1
resolution: "streamx@npm:2.16.1"
@@ -19087,6 +21660,13 @@ __metadata:
languageName: node
linkType: hard
+"strip-final-newline@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "strip-final-newline@npm:3.0.0"
+ checksum: a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce
+ languageName: node
+ linkType: hard
+
"strip-indent@npm:^3.0.0":
version: 3.0.0
resolution: "strip-indent@npm:3.0.0"
@@ -19096,7 +21676,16 @@ __metadata:
languageName: node
linkType: hard
-"strip-json-comments@npm:^3.1.1":
+"strip-indent@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "strip-indent@npm:4.0.0"
+ dependencies:
+ min-indent: "npm:^1.0.1"
+ checksum: 6b1fb4e22056867f5c9e7a6f3f45922d9a2436cac758607d58aeaac0d3b16ec40b1c43317de7900f1b8dd7a4107352fa47fb960f2c23566538c51e8585c8870e
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:^3.0.1, strip-json-comments@npm:^3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
@@ -19260,18 +21849,19 @@ __metadata:
languageName: node
linkType: hard
-"tar-stream@npm:^3.1.5":
- version: 3.1.7
- resolution: "tar-stream@npm:3.1.7"
+"tar-fs@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "tar-fs@npm:2.1.1"
dependencies:
- b4a: "npm:^1.6.4"
- fast-fifo: "npm:^1.2.0"
- streamx: "npm:^2.15.0"
- checksum: a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718
+ chownr: "npm:^1.1.1"
+ mkdirp-classic: "npm:^0.5.2"
+ pump: "npm:^3.0.0"
+ tar-stream: "npm:^2.1.4"
+ checksum: 871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d
languageName: node
linkType: hard
-"tar-stream@npm:~2.2.0":
+"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0":
version: 2.2.0
resolution: "tar-stream@npm:2.2.0"
dependencies:
@@ -19284,6 +21874,17 @@ __metadata:
languageName: node
linkType: hard
+"tar-stream@npm:^3.1.5":
+ version: 3.1.7
+ resolution: "tar-stream@npm:3.1.7"
+ dependencies:
+ b4a: "npm:^1.6.4"
+ fast-fifo: "npm:^1.2.0"
+ streamx: "npm:^2.15.0"
+ checksum: a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718
+ languageName: node
+ linkType: hard
+
"tar@npm:6.1.11":
version: 6.1.11
resolution: "tar@npm:6.1.11"
@@ -19298,7 +21899,7 @@ __metadata:
languageName: node
linkType: hard
-"tar@npm:^6.1.11, tar@npm:^6.1.2":
+"tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.0":
version: 6.2.0
resolution: "tar@npm:6.2.0"
dependencies:
@@ -19312,6 +21913,15 @@ __metadata:
languageName: node
linkType: hard
+"telejson@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "telejson@npm:7.2.0"
+ dependencies:
+ memoizerific: "npm:^1.11.3"
+ checksum: d26e6cc93e54bfdcdb207b49905508c5db45862e811a2e2193a735409e47b14530e1c19351618a3e03ad2fd4ffc3759364fcd72851aba2df0300fab574b6151c
+ languageName: node
+ linkType: hard
+
"temp-dir@npm:1.0.0":
version: 1.0.0
resolution: "temp-dir@npm:1.0.0"
@@ -19326,6 +21936,15 @@ __metadata:
languageName: node
linkType: hard
+"temp@npm:^0.8.4":
+ version: 0.8.4
+ resolution: "temp@npm:0.8.4"
+ dependencies:
+ rimraf: "npm:~2.6.2"
+ checksum: 7f071c963031bfece37e13c5da11e9bb451e4ddfc4653e23e327a2f91594102dc826ef6a693648e09a6e0eb856f507967ec759ae55635e0878091eccf411db37
+ languageName: node
+ linkType: hard
+
"tempy@npm:^0.6.0":
version: 0.6.0
resolution: "tempy@npm:0.6.0"
@@ -19338,6 +21957,19 @@ __metadata:
languageName: node
linkType: hard
+"tempy@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "tempy@npm:1.0.1"
+ dependencies:
+ del: "npm:^6.0.0"
+ is-stream: "npm:^2.0.0"
+ temp-dir: "npm:^2.0.0"
+ type-fest: "npm:^0.16.0"
+ unique-string: "npm:^2.0.0"
+ checksum: 864a1cf1b5536dc21e84ae45dbbc3ba4dd2c7ec1674d895f99c349cf209df959a53d797ca38d0b2cf69c7684d565fde5cfc67faaa63b7208ffb21d454b957472
+ languageName: node
+ linkType: hard
+
"terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.9":
version: 5.3.10
resolution: "terser-webpack-plugin@npm:5.3.10"
@@ -19399,7 +22031,7 @@ __metadata:
languageName: node
linkType: hard
-"through2@npm:^2.0.0":
+"through2@npm:^2.0.0, through2@npm:^2.0.3":
version: 2.0.5
resolution: "through2@npm:2.0.5"
dependencies:
@@ -19423,7 +22055,7 @@ __metadata:
languageName: node
linkType: hard
-"tiny-invariant@npm:^1.0.2":
+"tiny-invariant@npm:^1.0.2, tiny-invariant@npm:^1.3.1":
version: 1.3.3
resolution: "tiny-invariant@npm:1.3.3"
checksum: 65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a
@@ -19437,6 +22069,13 @@ __metadata:
languageName: node
linkType: hard
+"tinyspy@npm:^2.2.0":
+ version: 2.2.1
+ resolution: "tinyspy@npm:2.2.1"
+ checksum: 0b4cfd07c09871e12c592dfa7b91528124dc49a4766a0b23350638c62e6a483d5a2a667de7e6282246c0d4f09996482ddaacbd01f0c05b7ed7e0f79d32409bdc
+ languageName: node
+ linkType: hard
+
"tmp@npm:^0.0.33":
version: 0.0.33
resolution: "tmp@npm:0.0.33"
@@ -19509,6 +22148,13 @@ __metadata:
languageName: node
linkType: hard
+"tocbot@npm:^4.20.1":
+ version: 4.25.0
+ resolution: "tocbot@npm:4.25.0"
+ checksum: b6ca2ca5a3549e7c4007843e0b41cb113656006a59f5aa2328bcccdc8b780f25b642c1d0d64e02255c97a3ba5072ae5085a403cd2b560fb3ee30bd59924fe273
+ languageName: node
+ linkType: hard
+
"toidentifier@npm:1.0.1":
version: 1.0.1
resolution: "toidentifier@npm:1.0.1"
@@ -19581,6 +22227,13 @@ __metadata:
languageName: node
linkType: hard
+"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "ts-dedent@npm:2.2.0"
+ checksum: 175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303
+ languageName: node
+ linkType: hard
+
"tsconfig-paths@npm:^3.15.0":
version: 3.15.0
resolution: "tsconfig-paths@npm:3.15.0"
@@ -19604,6 +22257,13 @@ __metadata:
languageName: node
linkType: hard
+"tslib@npm:^1.13.0":
+ version: 1.14.1
+ resolution: "tslib@npm:1.14.1"
+ checksum: 69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2
+ languageName: node
+ linkType: hard
+
"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
@@ -19633,6 +22293,13 @@ __metadata:
languageName: node
linkType: hard
+"tween-functions@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "tween-functions@npm:1.2.0"
+ checksum: 7e59295b8b0ee4132ed2fe335f56a9db5c87056dad6b6fd3011be72239fd20398003ddb4403bc98ad9f5c94468890830f64016edbbde35581faf95b32cda8305
+ languageName: node
+ linkType: hard
+
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@@ -19642,7 +22309,7 @@ __metadata:
languageName: node
linkType: hard
-"type-detect@npm:4.0.8":
+"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8":
version: 4.0.8
resolution: "type-detect@npm:4.0.8"
checksum: 8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd
@@ -19705,7 +22372,7 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^2.13.0, type-fest@npm:^2.5.0":
+"type-fest@npm:^2.13.0, type-fest@npm:^2.19.0, type-fest@npm:^2.5.0, type-fest@npm:~2.19":
version: 2.19.0
resolution: "type-fest@npm:2.19.0"
checksum: a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb
@@ -19810,6 +22477,13 @@ __metadata:
languageName: node
linkType: hard
+"ufo@npm:^1.3.2":
+ version: 1.4.0
+ resolution: "ufo@npm:1.4.0"
+ checksum: d9a3cb8c5fd13356e0af661362244fd0a901edcdd08996f42553271007cae01e85dcec29a3303a87ddab6aa705cbd630332aaa8c268d037483536b198fa67a7c
+ languageName: node
+ linkType: hard
+
"uglify-js@npm:^3.1.4":
version: 3.17.4
resolution: "uglify-js@npm:3.17.4"
@@ -20060,6 +22734,18 @@ __metadata:
languageName: node
linkType: hard
+"unplugin@npm:^1.3.1":
+ version: 1.7.1
+ resolution: "unplugin@npm:1.7.1"
+ dependencies:
+ acorn: "npm:^8.11.3"
+ chokidar: "npm:^3.5.3"
+ webpack-sources: "npm:^3.2.3"
+ webpack-virtual-modules: "npm:^0.6.1"
+ checksum: 4e358b4d45aeab6c654943edf63c0f4ad22831386eba414065c4b535c84ec4e295cca145f263f878059ea96e19c904835af25dd5f7f46f3c4a49302e621d3cab
+ languageName: node
+ linkType: hard
+
"unset-value@npm:^1.0.0":
version: 1.0.0
resolution: "unset-value@npm:1.0.0"
@@ -20070,6 +22756,13 @@ __metadata:
languageName: node
linkType: hard
+"untildify@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "untildify@npm:4.0.0"
+ checksum: d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a
+ languageName: node
+ linkType: hard
+
"upath@npm:2.0.1":
version: 2.0.1
resolution: "upath@npm:2.0.1"
@@ -20193,6 +22886,19 @@ __metadata:
languageName: node
linkType: hard
+"util@npm:^0.12.4, util@npm:^0.12.5":
+ version: 0.12.5
+ resolution: "util@npm:0.12.5"
+ dependencies:
+ inherits: "npm:^2.0.3"
+ is-arguments: "npm:^1.0.4"
+ is-generator-function: "npm:^1.0.7"
+ is-typed-array: "npm:^1.1.3"
+ which-typed-array: "npm:^1.1.2"
+ checksum: c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3
+ languageName: node
+ linkType: hard
+
"utila@npm:~0.4":
version: 0.4.0
resolution: "utila@npm:0.4.0"
@@ -20411,7 +23117,7 @@ __metadata:
languageName: node
linkType: hard
-"watchpack@npm:^2.4.0":
+"watchpack@npm:^2.2.0, watchpack@npm:^2.4.0":
version: 2.4.0
resolution: "watchpack@npm:2.4.0"
dependencies:
@@ -20570,6 +23276,13 @@ __metadata:
languageName: node
linkType: hard
+"webpack-virtual-modules@npm:^0.6.1":
+ version: 0.6.1
+ resolution: "webpack-virtual-modules@npm:0.6.1"
+ checksum: 696bdc1acf3806374bdeb4b9b9856b79ee70b31e92f325dfab9b8c8c7e14bb6ddffa9f895a214770c4fb8fea45a21f34ca64310f74e877292a90f4a9966c9c2f
+ languageName: node
+ linkType: hard
+
"webpack@npm:^5.88.1":
version: 5.90.3
resolution: "webpack@npm:5.90.3"
@@ -20731,7 +23444,7 @@ __metadata:
languageName: node
linkType: hard
-"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.9":
+"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9":
version: 1.1.14
resolution: "which-typed-array@npm:1.1.14"
dependencies:
@@ -21049,7 +23762,7 @@ __metadata:
languageName: node
linkType: hard
-"write-file-atomic@npm:^2.4.2":
+"write-file-atomic@npm:^2.3.0, write-file-atomic@npm:^2.4.2":
version: 2.4.3
resolution: "write-file-atomic@npm:2.4.3"
dependencies:
@@ -21137,7 +23850,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:^8.11.0, ws@npm:^8.13.0":
+"ws@npm:^8.11.0, ws@npm:^8.13.0, ws@npm:^8.2.3":
version: 8.16.0
resolution: "ws@npm:8.16.0"
peerDependencies: