joel-woodfield commited on
Commit
b22bf98
·
1 Parent(s): b26246b

Use elvis-ui external repository

Browse files
dist/assets/index-B0N2QPGI.css ADDED
@@ -0,0 +1 @@
 
 
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.m-4{margin:calc(var(--spacing)*4)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-16{height:calc(var(--spacing)*16)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.flex-1{flex:1}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_12fr_1fr\]{grid-template-columns:1fr 12fr 1fr}.grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-orange-400{border-color:var(--color-orange-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-t-blue-600{border-top-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-orange-200{background-color:var(--color-orange-200)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-gray-700{color:var(--color-gray-700)}.text-gray-950{color:var(--color-gray-950)}.text-orange-400{color:var(--color-orange-400)}.text-slate-600{color:var(--color-slate-600)}.text-slate-800{color:var(--color-slate-800)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-orange-300:hover{background-color:var(--color-orange-300)}}}.title{background:#fff;font-size:32px;font-weight:700}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}
dist/assets/index-DRGnqM-H.css DELETED
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-50{z-index:50}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.flex{display:flex}.grid{display:grid}.h-16{height:calc(var(--spacing)*16)}.h-dvh{height:100dvh}.h-full{height:100%}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.flex-1{flex:1}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_12fr_1fr\]{grid-template-columns:1fr 12fr 1fr}.grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-gray-300{border-color:var(--color-gray-300)}.border-orange-500{border-color:var(--color-orange-500)}.border-slate-200{border-color:var(--color-slate-200)}.border-t-blue-600{border-top-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-orange-200{background-color:var(--color-orange-200)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-2{padding-block:calc(var(--spacing)*2)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-gray-700{color:var(--color-gray-700)}.text-gray-950{color:var(--color-gray-950)}.text-orange-500{color:var(--color-orange-500)}.text-slate-800{color:var(--color-slate-800)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-orange-300:hover{background-color:var(--color-orange-300)}}}.title{background:#fff;font-size:32px;font-weight:700}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
 
 
dist/assets/{index-CayUw3G7.js → index-p-Fby7kd.js} RENAMED
The diff for this file is too large to render. See raw diff
 
dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>Optimization</title>
8
- <script type="module" crossorigin src="/assets/index-CayUw3G7.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-DRGnqM-H.css">
10
  </head>
11
  <body>
12
  <div id="root"></div>
 
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>Optimization</title>
8
+ <script type="module" crossorigin src="/assets/index-p-Fby7kd.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-B0N2QPGI.css">
10
  </head>
11
  <body>
12
  <div id="root"></div>
frontends/react/package-lock.json CHANGED
@@ -8,10 +8,12 @@
8
  "name": "optimization",
9
  "version": "0.0.0",
10
  "dependencies": {
 
11
  "@tailwindcss/vite": "^4.1.18",
12
  "plotly.js": "^3.3.1",
13
  "react": "^19.2.0",
14
  "react-dom": "^19.2.0",
 
15
  "react-plotly.js": "^2.6.0",
16
  "tailwindcss": "^4.1.18"
17
  },
@@ -326,6 +328,15 @@
326
  "findup": "bin/findup.js"
327
  }
328
  },
 
 
 
 
 
 
 
 
 
329
  "node_modules/@esbuild/aix-ppc64": {
330
  "version": "0.27.2",
331
  "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
@@ -1194,9 +1205,9 @@
1194
  "license": "MIT"
1195
  },
1196
  "node_modules/@rollup/rollup-android-arm-eabi": {
1197
- "version": "4.54.0",
1198
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.54.0.tgz",
1199
- "integrity": "sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==",
1200
  "cpu": [
1201
  "arm"
1202
  ],
@@ -1207,9 +1218,9 @@
1207
  ]
1208
  },
1209
  "node_modules/@rollup/rollup-android-arm64": {
1210
- "version": "4.54.0",
1211
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.54.0.tgz",
1212
- "integrity": "sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==",
1213
  "cpu": [
1214
  "arm64"
1215
  ],
@@ -1220,9 +1231,9 @@
1220
  ]
1221
  },
1222
  "node_modules/@rollup/rollup-darwin-arm64": {
1223
- "version": "4.54.0",
1224
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.54.0.tgz",
1225
- "integrity": "sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==",
1226
  "cpu": [
1227
  "arm64"
1228
  ],
@@ -1233,9 +1244,9 @@
1233
  ]
1234
  },
1235
  "node_modules/@rollup/rollup-darwin-x64": {
1236
- "version": "4.54.0",
1237
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.54.0.tgz",
1238
- "integrity": "sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==",
1239
  "cpu": [
1240
  "x64"
1241
  ],
@@ -1246,9 +1257,9 @@
1246
  ]
1247
  },
1248
  "node_modules/@rollup/rollup-freebsd-arm64": {
1249
- "version": "4.54.0",
1250
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.54.0.tgz",
1251
- "integrity": "sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==",
1252
  "cpu": [
1253
  "arm64"
1254
  ],
@@ -1259,9 +1270,9 @@
1259
  ]
1260
  },
1261
  "node_modules/@rollup/rollup-freebsd-x64": {
1262
- "version": "4.54.0",
1263
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.54.0.tgz",
1264
- "integrity": "sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==",
1265
  "cpu": [
1266
  "x64"
1267
  ],
@@ -1272,9 +1283,9 @@
1272
  ]
1273
  },
1274
  "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1275
- "version": "4.54.0",
1276
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.54.0.tgz",
1277
- "integrity": "sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==",
1278
  "cpu": [
1279
  "arm"
1280
  ],
@@ -1285,9 +1296,9 @@
1285
  ]
1286
  },
1287
  "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1288
- "version": "4.54.0",
1289
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.54.0.tgz",
1290
- "integrity": "sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==",
1291
  "cpu": [
1292
  "arm"
1293
  ],
@@ -1298,9 +1309,9 @@
1298
  ]
1299
  },
1300
  "node_modules/@rollup/rollup-linux-arm64-gnu": {
1301
- "version": "4.54.0",
1302
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.54.0.tgz",
1303
- "integrity": "sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==",
1304
  "cpu": [
1305
  "arm64"
1306
  ],
@@ -1311,9 +1322,9 @@
1311
  ]
1312
  },
1313
  "node_modules/@rollup/rollup-linux-arm64-musl": {
1314
- "version": "4.54.0",
1315
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.54.0.tgz",
1316
- "integrity": "sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==",
1317
  "cpu": [
1318
  "arm64"
1319
  ],
@@ -1324,9 +1335,22 @@
1324
  ]
1325
  },
1326
  "node_modules/@rollup/rollup-linux-loong64-gnu": {
1327
- "version": "4.54.0",
1328
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.54.0.tgz",
1329
- "integrity": "sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==",
 
 
 
 
 
 
 
 
 
 
 
 
 
1330
  "cpu": [
1331
  "loong64"
1332
  ],
@@ -1337,9 +1361,22 @@
1337
  ]
1338
  },
1339
  "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1340
- "version": "4.54.0",
1341
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.54.0.tgz",
1342
- "integrity": "sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==",
 
 
 
 
 
 
 
 
 
 
 
 
 
1343
  "cpu": [
1344
  "ppc64"
1345
  ],
@@ -1350,9 +1387,9 @@
1350
  ]
1351
  },
1352
  "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1353
- "version": "4.54.0",
1354
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.54.0.tgz",
1355
- "integrity": "sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==",
1356
  "cpu": [
1357
  "riscv64"
1358
  ],
@@ -1363,9 +1400,9 @@
1363
  ]
1364
  },
1365
  "node_modules/@rollup/rollup-linux-riscv64-musl": {
1366
- "version": "4.54.0",
1367
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.54.0.tgz",
1368
- "integrity": "sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==",
1369
  "cpu": [
1370
  "riscv64"
1371
  ],
@@ -1376,9 +1413,9 @@
1376
  ]
1377
  },
1378
  "node_modules/@rollup/rollup-linux-s390x-gnu": {
1379
- "version": "4.54.0",
1380
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.54.0.tgz",
1381
- "integrity": "sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==",
1382
  "cpu": [
1383
  "s390x"
1384
  ],
@@ -1389,9 +1426,9 @@
1389
  ]
1390
  },
1391
  "node_modules/@rollup/rollup-linux-x64-gnu": {
1392
- "version": "4.54.0",
1393
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.54.0.tgz",
1394
- "integrity": "sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==",
1395
  "cpu": [
1396
  "x64"
1397
  ],
@@ -1402,9 +1439,9 @@
1402
  ]
1403
  },
1404
  "node_modules/@rollup/rollup-linux-x64-musl": {
1405
- "version": "4.54.0",
1406
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.54.0.tgz",
1407
- "integrity": "sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==",
1408
  "cpu": [
1409
  "x64"
1410
  ],
@@ -1414,10 +1451,23 @@
1414
  "linux"
1415
  ]
1416
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
1417
  "node_modules/@rollup/rollup-openharmony-arm64": {
1418
- "version": "4.54.0",
1419
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.54.0.tgz",
1420
- "integrity": "sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==",
1421
  "cpu": [
1422
  "arm64"
1423
  ],
@@ -1428,9 +1478,9 @@
1428
  ]
1429
  },
1430
  "node_modules/@rollup/rollup-win32-arm64-msvc": {
1431
- "version": "4.54.0",
1432
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.54.0.tgz",
1433
- "integrity": "sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==",
1434
  "cpu": [
1435
  "arm64"
1436
  ],
@@ -1441,9 +1491,9 @@
1441
  ]
1442
  },
1443
  "node_modules/@rollup/rollup-win32-ia32-msvc": {
1444
- "version": "4.54.0",
1445
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.54.0.tgz",
1446
- "integrity": "sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==",
1447
  "cpu": [
1448
  "ia32"
1449
  ],
@@ -1454,9 +1504,9 @@
1454
  ]
1455
  },
1456
  "node_modules/@rollup/rollup-win32-x64-gnu": {
1457
- "version": "4.54.0",
1458
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.54.0.tgz",
1459
- "integrity": "sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==",
1460
  "cpu": [
1461
  "x64"
1462
  ],
@@ -1467,9 +1517,9 @@
1467
  ]
1468
  },
1469
  "node_modules/@rollup/rollup-win32-x64-msvc": {
1470
- "version": "4.54.0",
1471
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.54.0.tgz",
1472
- "integrity": "sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==",
1473
  "cpu": [
1474
  "x64"
1475
  ],
@@ -1852,12 +1902,30 @@
1852
  "@babel/types": "^7.28.2"
1853
  }
1854
  },
 
 
 
 
 
 
 
 
 
1855
  "node_modules/@types/estree": {
1856
  "version": "1.0.8",
1857
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1858
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1859
  "license": "MIT"
1860
  },
 
 
 
 
 
 
 
 
 
1861
  "node_modules/@types/geojson": {
1862
  "version": "7946.0.16",
1863
  "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
@@ -1873,6 +1941,15 @@
1873
  "@types/geojson": "*"
1874
  }
1875
  },
 
 
 
 
 
 
 
 
 
1876
  "node_modules/@types/json-schema": {
1877
  "version": "7.0.15",
1878
  "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -1897,6 +1974,21 @@
1897
  "@types/pbf": "*"
1898
  }
1899
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1900
  "node_modules/@types/node": {
1901
  "version": "24.10.4",
1902
  "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.4.tgz",
@@ -1924,7 +2016,6 @@
1924
  "version": "19.2.7",
1925
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
1926
  "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
1927
- "dev": true,
1928
  "license": "MIT",
1929
  "dependencies": {
1930
  "csstype": "^3.2.2"
@@ -1960,6 +2051,12 @@
1960
  "@types/geojson": "*"
1961
  }
1962
  },
 
 
 
 
 
 
1963
  "node_modules/@typescript-eslint/eslint-plugin": {
1964
  "version": "8.51.0",
1965
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz",
@@ -2242,6 +2339,12 @@
2242
  "url": "https://opencollective.com/typescript-eslint"
2243
  }
2244
  },
 
 
 
 
 
 
2245
  "node_modules/@vitejs/plugin-react": {
2246
  "version": "5.1.2",
2247
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz",
@@ -2368,6 +2471,16 @@
2368
  "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==",
2369
  "license": "MIT"
2370
  },
 
 
 
 
 
 
 
 
 
 
2371
  "node_modules/balanced-match": {
2372
  "version": "1.0.2",
2373
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -2513,6 +2626,16 @@
2513
  "element-size": "^1.1.1"
2514
  }
2515
  },
 
 
 
 
 
 
 
 
 
 
2516
  "node_modules/chalk": {
2517
  "version": "4.1.2",
2518
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -2530,6 +2653,46 @@
2530
  "url": "https://github.com/chalk/chalk?sponsor=1"
2531
  }
2532
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2533
  "node_modules/clamp": {
2534
  "version": "1.0.1",
2535
  "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
@@ -2637,6 +2800,16 @@
2637
  "integrity": "sha512-BcKnbOEsOarCwyoLstcoEztwT0IJxqqQkNwDuA3a65sICvvHL2yoeV13psoDFh5IuiOMnIOKdQDwB4Mk3BypiA==",
2638
  "license": "Unlicense"
2639
  },
 
 
 
 
 
 
 
 
 
 
2640
  "node_modules/commander": {
2641
  "version": "2.20.3",
2642
  "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -2762,7 +2935,6 @@
2762
  "version": "3.2.3",
2763
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
2764
  "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
2765
- "dev": true,
2766
  "license": "MIT"
2767
  },
2768
  "node_modules/d": {
@@ -2915,7 +3087,6 @@
2915
  "version": "4.4.3",
2916
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
2917
  "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
2918
- "dev": true,
2919
  "license": "MIT",
2920
  "dependencies": {
2921
  "ms": "^2.1.3"
@@ -2929,6 +3100,19 @@
2929
  }
2930
  }
2931
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
2932
  "node_modules/deep-is": {
2933
  "version": "0.1.4",
2934
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -2945,6 +3129,15 @@
2945
  "url": "https://github.com/sponsors/ljharb"
2946
  }
2947
  },
 
 
 
 
 
 
 
 
 
2948
  "node_modules/detect-kerning": {
2949
  "version": "2.1.2",
2950
  "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz",
@@ -2960,6 +3153,19 @@
2960
  "node": ">=8"
2961
  }
2962
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
2963
  "node_modules/draw-svg-path": {
2964
  "version": "1.0.0",
2965
  "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz",
@@ -3385,6 +3591,16 @@
3385
  "node": ">=4.0"
3386
  }
3387
  },
 
 
 
 
 
 
 
 
 
 
3388
  "node_modules/esutils": {
3389
  "version": "2.0.3",
3390
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -3422,6 +3638,12 @@
3422
  "type": "^2.7.2"
3423
  }
3424
  },
 
 
 
 
 
 
3425
  "node_modules/falafel": {
3426
  "version": "2.2.5",
3427
  "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz",
@@ -4008,6 +4230,46 @@
4008
  "node": ">= 0.4"
4009
  }
4010
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4011
  "node_modules/hermes-estree": {
4012
  "version": "0.25.1",
4013
  "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
@@ -4025,6 +4287,16 @@
4025
  "hermes-estree": "0.25.1"
4026
  }
4027
  },
 
 
 
 
 
 
 
 
 
 
4028
  "node_modules/iconv-lite": {
4029
  "version": "0.4.24",
4030
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -4109,6 +4381,36 @@
4109
  "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
4110
  }
4111
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4112
  "node_modules/is-browser": {
4113
  "version": "2.1.0",
4114
  "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz",
@@ -4130,6 +4432,16 @@
4130
  "url": "https://github.com/sponsors/ljharb"
4131
  }
4132
  },
 
 
 
 
 
 
 
 
 
 
4133
  "node_modules/is-extglob": {
4134
  "version": "2.1.1",
4135
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -4174,6 +4486,16 @@
4174
  "node": ">=0.10.0"
4175
  }
4176
  },
 
 
 
 
 
 
 
 
 
 
4177
  "node_modules/is-iexplorer": {
4178
  "version": "1.0.0",
4179
  "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz",
@@ -4623,6 +4945,16 @@
4623
  "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
4624
  "license": "MIT"
4625
  },
 
 
 
 
 
 
 
 
 
 
4626
  "node_modules/loose-envify": {
4627
  "version": "1.4.0",
4628
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -4807,61 +5139,656 @@
4807
  "node": ">=0.10.0"
4808
  }
4809
  },
4810
- "node_modules/minimatch": {
4811
- "version": "3.1.4",
4812
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz",
4813
- "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==",
4814
- "dev": true,
4815
- "license": "ISC",
4816
- "dependencies": {
4817
- "brace-expansion": "^1.1.7"
 
 
 
 
 
 
 
 
 
 
4818
  },
4819
- "engines": {
4820
- "node": "*"
 
4821
  }
4822
  },
4823
- "node_modules/minimist": {
4824
- "version": "1.2.8",
4825
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
4826
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
4827
  "license": "MIT",
 
 
 
 
 
 
 
 
4828
  "funding": {
4829
- "url": "https://github.com/sponsors/ljharb"
 
4830
  }
4831
  },
4832
- "node_modules/mouse-change": {
4833
- "version": "1.4.0",
4834
- "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz",
4835
- "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4836
  "license": "MIT",
4837
  "dependencies": {
4838
- "mouse-event": "^1.0.0"
 
 
 
 
 
 
 
 
 
4839
  }
4840
  },
4841
- "node_modules/mouse-event": {
4842
- "version": "1.0.5",
4843
- "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz",
4844
- "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==",
4845
- "license": "MIT"
 
 
 
 
 
 
 
 
4846
  },
4847
- "node_modules/mouse-event-offset": {
4848
- "version": "3.0.2",
4849
- "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz",
4850
- "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==",
4851
- "license": "MIT"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4852
  },
4853
- "node_modules/mouse-wheel": {
4854
- "version": "1.2.0",
4855
- "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz",
4856
- "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==",
4857
  "license": "MIT",
4858
  "dependencies": {
4859
- "right-now": "^1.0.0",
4860
- "signum": "^1.0.0",
4861
- "to-px": "^1.0.1"
 
 
 
 
 
 
 
 
 
 
4862
  }
4863
  },
4864
- "node_modules/ms": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4865
  "version": "2.1.3",
4866
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
4867
  "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
@@ -5048,6 +5975,31 @@
5048
  "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
5049
  "license": "MIT"
5050
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5051
  "node_modules/parse-rect": {
5052
  "version": "1.2.0",
5053
  "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz",
@@ -5379,6 +6331,16 @@
5379
  "react-is": "^16.13.1"
5380
  }
5381
  },
 
 
 
 
 
 
 
 
 
 
5382
  "node_modules/protocol-buffers-schema": {
5383
  "version": "3.6.0",
5384
  "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz",
@@ -5437,6 +6399,33 @@
5437
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
5438
  "license": "MIT"
5439
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5440
  "node_modules/react-plotly.js": {
5441
  "version": "2.6.0",
5442
  "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.6.0.tgz",
@@ -5585,6 +6574,39 @@
5585
  "regl-scatter2d": "^3.2.3"
5586
  }
5587
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5588
  "node_modules/resolve": {
5589
  "version": "1.22.11",
5590
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
@@ -5631,9 +6653,9 @@
5631
  "license": "MIT"
5632
  },
5633
  "node_modules/rollup": {
5634
- "version": "4.54.0",
5635
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz",
5636
- "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==",
5637
  "license": "MIT",
5638
  "dependencies": {
5639
  "@types/estree": "1.0.8"
@@ -5646,28 +6668,31 @@
5646
  "npm": ">=8.0.0"
5647
  },
5648
  "optionalDependencies": {
5649
- "@rollup/rollup-android-arm-eabi": "4.54.0",
5650
- "@rollup/rollup-android-arm64": "4.54.0",
5651
- "@rollup/rollup-darwin-arm64": "4.54.0",
5652
- "@rollup/rollup-darwin-x64": "4.54.0",
5653
- "@rollup/rollup-freebsd-arm64": "4.54.0",
5654
- "@rollup/rollup-freebsd-x64": "4.54.0",
5655
- "@rollup/rollup-linux-arm-gnueabihf": "4.54.0",
5656
- "@rollup/rollup-linux-arm-musleabihf": "4.54.0",
5657
- "@rollup/rollup-linux-arm64-gnu": "4.54.0",
5658
- "@rollup/rollup-linux-arm64-musl": "4.54.0",
5659
- "@rollup/rollup-linux-loong64-gnu": "4.54.0",
5660
- "@rollup/rollup-linux-ppc64-gnu": "4.54.0",
5661
- "@rollup/rollup-linux-riscv64-gnu": "4.54.0",
5662
- "@rollup/rollup-linux-riscv64-musl": "4.54.0",
5663
- "@rollup/rollup-linux-s390x-gnu": "4.54.0",
5664
- "@rollup/rollup-linux-x64-gnu": "4.54.0",
5665
- "@rollup/rollup-linux-x64-musl": "4.54.0",
5666
- "@rollup/rollup-openharmony-arm64": "4.54.0",
5667
- "@rollup/rollup-win32-arm64-msvc": "4.54.0",
5668
- "@rollup/rollup-win32-ia32-msvc": "4.54.0",
5669
- "@rollup/rollup-win32-x64-gnu": "4.54.0",
5670
- "@rollup/rollup-win32-x64-msvc": "4.54.0",
 
 
 
5671
  "fsevents": "~2.3.2"
5672
  }
5673
  },
@@ -5779,6 +6804,16 @@
5779
  "node": ">=0.10.0"
5780
  }
5781
  },
 
 
 
 
 
 
 
 
 
 
5782
  "node_modules/stack-trace": {
5783
  "version": "0.0.9",
5784
  "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
@@ -5850,6 +6885,20 @@
5850
  "parenthesis": "^3.1.5"
5851
  }
5852
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5853
  "node_modules/strip-json-comments": {
5854
  "version": "3.1.1",
5855
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -5869,6 +6918,24 @@
5869
  "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==",
5870
  "license": "MIT"
5871
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5872
  "node_modules/supercluster": {
5873
  "version": "7.1.5",
5874
  "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz",
@@ -6041,6 +7108,26 @@
6041
  "topoquantize": "bin/topoquantize"
6042
  }
6043
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6044
  "node_modules/ts-api-utils": {
6045
  "version": "2.4.0",
6046
  "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
@@ -6140,6 +7227,105 @@
6140
  "devOptional": true,
6141
  "license": "MIT"
6142
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6143
  "node_modules/unquote": {
6144
  "version": "1.1.1",
6145
  "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
@@ -6199,6 +7385,34 @@
6199
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
6200
  "license": "MIT"
6201
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6202
  "node_modules/vite": {
6203
  "version": "7.3.0",
6204
  "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz",
@@ -6391,6 +7605,16 @@
6391
  "peerDependencies": {
6392
  "zod": "^3.25.0 || ^4.0.0"
6393
  }
 
 
 
 
 
 
 
 
 
 
6394
  }
6395
  }
6396
  }
 
8
  "name": "optimization",
9
  "version": "0.0.0",
10
  "dependencies": {
11
+ "@elvis/ui": "github:joel-woodfield/elvis-ui",
12
  "@tailwindcss/vite": "^4.1.18",
13
  "plotly.js": "^3.3.1",
14
  "react": "^19.2.0",
15
  "react-dom": "^19.2.0",
16
+ "react-markdown": "^10.1.0",
17
  "react-plotly.js": "^2.6.0",
18
  "tailwindcss": "^4.1.18"
19
  },
 
328
  "findup": "bin/findup.js"
329
  }
330
  },
331
+ "node_modules/@elvis/ui": {
332
+ "version": "1.0.0",
333
+ "resolved": "git+ssh://git@github.com/joel-woodfield/elvis-ui.git#d37548939e8cb372e5f22dc87dd8e4359ab66fda",
334
+ "license": "ISC",
335
+ "peerDependencies": {
336
+ "react": ">=19",
337
+ "react-dom": ">=19"
338
+ }
339
+ },
340
  "node_modules/@esbuild/aix-ppc64": {
341
  "version": "0.27.2",
342
  "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
 
1205
  "license": "MIT"
1206
  },
1207
  "node_modules/@rollup/rollup-android-arm-eabi": {
1208
+ "version": "4.59.0",
1209
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
1210
+ "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==",
1211
  "cpu": [
1212
  "arm"
1213
  ],
 
1218
  ]
1219
  },
1220
  "node_modules/@rollup/rollup-android-arm64": {
1221
+ "version": "4.59.0",
1222
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz",
1223
+ "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==",
1224
  "cpu": [
1225
  "arm64"
1226
  ],
 
1231
  ]
1232
  },
1233
  "node_modules/@rollup/rollup-darwin-arm64": {
1234
+ "version": "4.59.0",
1235
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz",
1236
+ "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==",
1237
  "cpu": [
1238
  "arm64"
1239
  ],
 
1244
  ]
1245
  },
1246
  "node_modules/@rollup/rollup-darwin-x64": {
1247
+ "version": "4.59.0",
1248
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz",
1249
+ "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==",
1250
  "cpu": [
1251
  "x64"
1252
  ],
 
1257
  ]
1258
  },
1259
  "node_modules/@rollup/rollup-freebsd-arm64": {
1260
+ "version": "4.59.0",
1261
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz",
1262
+ "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==",
1263
  "cpu": [
1264
  "arm64"
1265
  ],
 
1270
  ]
1271
  },
1272
  "node_modules/@rollup/rollup-freebsd-x64": {
1273
+ "version": "4.59.0",
1274
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz",
1275
+ "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==",
1276
  "cpu": [
1277
  "x64"
1278
  ],
 
1283
  ]
1284
  },
1285
  "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1286
+ "version": "4.59.0",
1287
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz",
1288
+ "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==",
1289
  "cpu": [
1290
  "arm"
1291
  ],
 
1296
  ]
1297
  },
1298
  "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1299
+ "version": "4.59.0",
1300
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz",
1301
+ "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==",
1302
  "cpu": [
1303
  "arm"
1304
  ],
 
1309
  ]
1310
  },
1311
  "node_modules/@rollup/rollup-linux-arm64-gnu": {
1312
+ "version": "4.59.0",
1313
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz",
1314
+ "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==",
1315
  "cpu": [
1316
  "arm64"
1317
  ],
 
1322
  ]
1323
  },
1324
  "node_modules/@rollup/rollup-linux-arm64-musl": {
1325
+ "version": "4.59.0",
1326
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz",
1327
+ "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==",
1328
  "cpu": [
1329
  "arm64"
1330
  ],
 
1335
  ]
1336
  },
1337
  "node_modules/@rollup/rollup-linux-loong64-gnu": {
1338
+ "version": "4.59.0",
1339
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz",
1340
+ "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==",
1341
+ "cpu": [
1342
+ "loong64"
1343
+ ],
1344
+ "license": "MIT",
1345
+ "optional": true,
1346
+ "os": [
1347
+ "linux"
1348
+ ]
1349
+ },
1350
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
1351
+ "version": "4.59.0",
1352
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz",
1353
+ "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==",
1354
  "cpu": [
1355
  "loong64"
1356
  ],
 
1361
  ]
1362
  },
1363
  "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1364
+ "version": "4.59.0",
1365
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz",
1366
+ "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==",
1367
+ "cpu": [
1368
+ "ppc64"
1369
+ ],
1370
+ "license": "MIT",
1371
+ "optional": true,
1372
+ "os": [
1373
+ "linux"
1374
+ ]
1375
+ },
1376
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
1377
+ "version": "4.59.0",
1378
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz",
1379
+ "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==",
1380
  "cpu": [
1381
  "ppc64"
1382
  ],
 
1387
  ]
1388
  },
1389
  "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1390
+ "version": "4.59.0",
1391
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz",
1392
+ "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==",
1393
  "cpu": [
1394
  "riscv64"
1395
  ],
 
1400
  ]
1401
  },
1402
  "node_modules/@rollup/rollup-linux-riscv64-musl": {
1403
+ "version": "4.59.0",
1404
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz",
1405
+ "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==",
1406
  "cpu": [
1407
  "riscv64"
1408
  ],
 
1413
  ]
1414
  },
1415
  "node_modules/@rollup/rollup-linux-s390x-gnu": {
1416
+ "version": "4.59.0",
1417
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz",
1418
+ "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==",
1419
  "cpu": [
1420
  "s390x"
1421
  ],
 
1426
  ]
1427
  },
1428
  "node_modules/@rollup/rollup-linux-x64-gnu": {
1429
+ "version": "4.59.0",
1430
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz",
1431
+ "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==",
1432
  "cpu": [
1433
  "x64"
1434
  ],
 
1439
  ]
1440
  },
1441
  "node_modules/@rollup/rollup-linux-x64-musl": {
1442
+ "version": "4.59.0",
1443
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz",
1444
+ "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==",
1445
  "cpu": [
1446
  "x64"
1447
  ],
 
1451
  "linux"
1452
  ]
1453
  },
1454
+ "node_modules/@rollup/rollup-openbsd-x64": {
1455
+ "version": "4.59.0",
1456
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz",
1457
+ "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==",
1458
+ "cpu": [
1459
+ "x64"
1460
+ ],
1461
+ "license": "MIT",
1462
+ "optional": true,
1463
+ "os": [
1464
+ "openbsd"
1465
+ ]
1466
+ },
1467
  "node_modules/@rollup/rollup-openharmony-arm64": {
1468
+ "version": "4.59.0",
1469
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz",
1470
+ "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==",
1471
  "cpu": [
1472
  "arm64"
1473
  ],
 
1478
  ]
1479
  },
1480
  "node_modules/@rollup/rollup-win32-arm64-msvc": {
1481
+ "version": "4.59.0",
1482
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz",
1483
+ "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==",
1484
  "cpu": [
1485
  "arm64"
1486
  ],
 
1491
  ]
1492
  },
1493
  "node_modules/@rollup/rollup-win32-ia32-msvc": {
1494
+ "version": "4.59.0",
1495
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz",
1496
+ "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==",
1497
  "cpu": [
1498
  "ia32"
1499
  ],
 
1504
  ]
1505
  },
1506
  "node_modules/@rollup/rollup-win32-x64-gnu": {
1507
+ "version": "4.59.0",
1508
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz",
1509
+ "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==",
1510
  "cpu": [
1511
  "x64"
1512
  ],
 
1517
  ]
1518
  },
1519
  "node_modules/@rollup/rollup-win32-x64-msvc": {
1520
+ "version": "4.59.0",
1521
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz",
1522
+ "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==",
1523
  "cpu": [
1524
  "x64"
1525
  ],
 
1902
  "@babel/types": "^7.28.2"
1903
  }
1904
  },
1905
+ "node_modules/@types/debug": {
1906
+ "version": "4.1.12",
1907
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
1908
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
1909
+ "license": "MIT",
1910
+ "dependencies": {
1911
+ "@types/ms": "*"
1912
+ }
1913
+ },
1914
  "node_modules/@types/estree": {
1915
  "version": "1.0.8",
1916
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1917
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1918
  "license": "MIT"
1919
  },
1920
+ "node_modules/@types/estree-jsx": {
1921
+ "version": "1.0.5",
1922
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
1923
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
1924
+ "license": "MIT",
1925
+ "dependencies": {
1926
+ "@types/estree": "*"
1927
+ }
1928
+ },
1929
  "node_modules/@types/geojson": {
1930
  "version": "7946.0.16",
1931
  "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
 
1941
  "@types/geojson": "*"
1942
  }
1943
  },
1944
+ "node_modules/@types/hast": {
1945
+ "version": "3.0.4",
1946
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
1947
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
1948
+ "license": "MIT",
1949
+ "dependencies": {
1950
+ "@types/unist": "*"
1951
+ }
1952
+ },
1953
  "node_modules/@types/json-schema": {
1954
  "version": "7.0.15",
1955
  "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
 
1974
  "@types/pbf": "*"
1975
  }
1976
  },
1977
+ "node_modules/@types/mdast": {
1978
+ "version": "4.0.4",
1979
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
1980
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
1981
+ "license": "MIT",
1982
+ "dependencies": {
1983
+ "@types/unist": "*"
1984
+ }
1985
+ },
1986
+ "node_modules/@types/ms": {
1987
+ "version": "2.1.0",
1988
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
1989
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
1990
+ "license": "MIT"
1991
+ },
1992
  "node_modules/@types/node": {
1993
  "version": "24.10.4",
1994
  "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.4.tgz",
 
2016
  "version": "19.2.7",
2017
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
2018
  "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
 
2019
  "license": "MIT",
2020
  "dependencies": {
2021
  "csstype": "^3.2.2"
 
2051
  "@types/geojson": "*"
2052
  }
2053
  },
2054
+ "node_modules/@types/unist": {
2055
+ "version": "3.0.3",
2056
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
2057
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
2058
+ "license": "MIT"
2059
+ },
2060
  "node_modules/@typescript-eslint/eslint-plugin": {
2061
  "version": "8.51.0",
2062
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz",
 
2339
  "url": "https://opencollective.com/typescript-eslint"
2340
  }
2341
  },
2342
+ "node_modules/@ungap/structured-clone": {
2343
+ "version": "1.3.0",
2344
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
2345
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
2346
+ "license": "ISC"
2347
+ },
2348
  "node_modules/@vitejs/plugin-react": {
2349
  "version": "5.1.2",
2350
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz",
 
2471
  "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==",
2472
  "license": "MIT"
2473
  },
2474
+ "node_modules/bail": {
2475
+ "version": "2.0.2",
2476
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
2477
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
2478
+ "license": "MIT",
2479
+ "funding": {
2480
+ "type": "github",
2481
+ "url": "https://github.com/sponsors/wooorm"
2482
+ }
2483
+ },
2484
  "node_modules/balanced-match": {
2485
  "version": "1.0.2",
2486
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 
2626
  "element-size": "^1.1.1"
2627
  }
2628
  },
2629
+ "node_modules/ccount": {
2630
+ "version": "2.0.1",
2631
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
2632
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
2633
+ "license": "MIT",
2634
+ "funding": {
2635
+ "type": "github",
2636
+ "url": "https://github.com/sponsors/wooorm"
2637
+ }
2638
+ },
2639
  "node_modules/chalk": {
2640
  "version": "4.1.2",
2641
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 
2653
  "url": "https://github.com/chalk/chalk?sponsor=1"
2654
  }
2655
  },
2656
+ "node_modules/character-entities": {
2657
+ "version": "2.0.2",
2658
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
2659
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
2660
+ "license": "MIT",
2661
+ "funding": {
2662
+ "type": "github",
2663
+ "url": "https://github.com/sponsors/wooorm"
2664
+ }
2665
+ },
2666
+ "node_modules/character-entities-html4": {
2667
+ "version": "2.1.0",
2668
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
2669
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
2670
+ "license": "MIT",
2671
+ "funding": {
2672
+ "type": "github",
2673
+ "url": "https://github.com/sponsors/wooorm"
2674
+ }
2675
+ },
2676
+ "node_modules/character-entities-legacy": {
2677
+ "version": "3.0.0",
2678
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
2679
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
2680
+ "license": "MIT",
2681
+ "funding": {
2682
+ "type": "github",
2683
+ "url": "https://github.com/sponsors/wooorm"
2684
+ }
2685
+ },
2686
+ "node_modules/character-reference-invalid": {
2687
+ "version": "2.0.1",
2688
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
2689
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
2690
+ "license": "MIT",
2691
+ "funding": {
2692
+ "type": "github",
2693
+ "url": "https://github.com/sponsors/wooorm"
2694
+ }
2695
+ },
2696
  "node_modules/clamp": {
2697
  "version": "1.0.1",
2698
  "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
 
2800
  "integrity": "sha512-BcKnbOEsOarCwyoLstcoEztwT0IJxqqQkNwDuA3a65sICvvHL2yoeV13psoDFh5IuiOMnIOKdQDwB4Mk3BypiA==",
2801
  "license": "Unlicense"
2802
  },
2803
+ "node_modules/comma-separated-tokens": {
2804
+ "version": "2.0.3",
2805
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
2806
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
2807
+ "license": "MIT",
2808
+ "funding": {
2809
+ "type": "github",
2810
+ "url": "https://github.com/sponsors/wooorm"
2811
+ }
2812
+ },
2813
  "node_modules/commander": {
2814
  "version": "2.20.3",
2815
  "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
 
2935
  "version": "3.2.3",
2936
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
2937
  "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
 
2938
  "license": "MIT"
2939
  },
2940
  "node_modules/d": {
 
3087
  "version": "4.4.3",
3088
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
3089
  "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 
3090
  "license": "MIT",
3091
  "dependencies": {
3092
  "ms": "^2.1.3"
 
3100
  }
3101
  }
3102
  },
3103
+ "node_modules/decode-named-character-reference": {
3104
+ "version": "1.3.0",
3105
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
3106
+ "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
3107
+ "license": "MIT",
3108
+ "dependencies": {
3109
+ "character-entities": "^2.0.0"
3110
+ },
3111
+ "funding": {
3112
+ "type": "github",
3113
+ "url": "https://github.com/sponsors/wooorm"
3114
+ }
3115
+ },
3116
  "node_modules/deep-is": {
3117
  "version": "0.1.4",
3118
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
 
3129
  "url": "https://github.com/sponsors/ljharb"
3130
  }
3131
  },
3132
+ "node_modules/dequal": {
3133
+ "version": "2.0.3",
3134
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
3135
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
3136
+ "license": "MIT",
3137
+ "engines": {
3138
+ "node": ">=6"
3139
+ }
3140
+ },
3141
  "node_modules/detect-kerning": {
3142
  "version": "2.1.2",
3143
  "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz",
 
3153
  "node": ">=8"
3154
  }
3155
  },
3156
+ "node_modules/devlop": {
3157
+ "version": "1.1.0",
3158
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
3159
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
3160
+ "license": "MIT",
3161
+ "dependencies": {
3162
+ "dequal": "^2.0.0"
3163
+ },
3164
+ "funding": {
3165
+ "type": "github",
3166
+ "url": "https://github.com/sponsors/wooorm"
3167
+ }
3168
+ },
3169
  "node_modules/draw-svg-path": {
3170
  "version": "1.0.0",
3171
  "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz",
 
3591
  "node": ">=4.0"
3592
  }
3593
  },
3594
+ "node_modules/estree-util-is-identifier-name": {
3595
+ "version": "3.0.0",
3596
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
3597
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
3598
+ "license": "MIT",
3599
+ "funding": {
3600
+ "type": "opencollective",
3601
+ "url": "https://opencollective.com/unified"
3602
+ }
3603
+ },
3604
  "node_modules/esutils": {
3605
  "version": "2.0.3",
3606
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 
3638
  "type": "^2.7.2"
3639
  }
3640
  },
3641
+ "node_modules/extend": {
3642
+ "version": "3.0.2",
3643
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3644
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
3645
+ "license": "MIT"
3646
+ },
3647
  "node_modules/falafel": {
3648
  "version": "2.2.5",
3649
  "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz",
 
4230
  "node": ">= 0.4"
4231
  }
4232
  },
4233
+ "node_modules/hast-util-to-jsx-runtime": {
4234
+ "version": "2.3.6",
4235
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
4236
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
4237
+ "license": "MIT",
4238
+ "dependencies": {
4239
+ "@types/estree": "^1.0.0",
4240
+ "@types/hast": "^3.0.0",
4241
+ "@types/unist": "^3.0.0",
4242
+ "comma-separated-tokens": "^2.0.0",
4243
+ "devlop": "^1.0.0",
4244
+ "estree-util-is-identifier-name": "^3.0.0",
4245
+ "hast-util-whitespace": "^3.0.0",
4246
+ "mdast-util-mdx-expression": "^2.0.0",
4247
+ "mdast-util-mdx-jsx": "^3.0.0",
4248
+ "mdast-util-mdxjs-esm": "^2.0.0",
4249
+ "property-information": "^7.0.0",
4250
+ "space-separated-tokens": "^2.0.0",
4251
+ "style-to-js": "^1.0.0",
4252
+ "unist-util-position": "^5.0.0",
4253
+ "vfile-message": "^4.0.0"
4254
+ },
4255
+ "funding": {
4256
+ "type": "opencollective",
4257
+ "url": "https://opencollective.com/unified"
4258
+ }
4259
+ },
4260
+ "node_modules/hast-util-whitespace": {
4261
+ "version": "3.0.0",
4262
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
4263
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
4264
+ "license": "MIT",
4265
+ "dependencies": {
4266
+ "@types/hast": "^3.0.0"
4267
+ },
4268
+ "funding": {
4269
+ "type": "opencollective",
4270
+ "url": "https://opencollective.com/unified"
4271
+ }
4272
+ },
4273
  "node_modules/hermes-estree": {
4274
  "version": "0.25.1",
4275
  "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
 
4287
  "hermes-estree": "0.25.1"
4288
  }
4289
  },
4290
+ "node_modules/html-url-attributes": {
4291
+ "version": "3.0.1",
4292
+ "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
4293
+ "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==",
4294
+ "license": "MIT",
4295
+ "funding": {
4296
+ "type": "opencollective",
4297
+ "url": "https://opencollective.com/unified"
4298
+ }
4299
+ },
4300
  "node_modules/iconv-lite": {
4301
  "version": "0.4.24",
4302
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 
4381
  "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
4382
  }
4383
  },
4384
+ "node_modules/inline-style-parser": {
4385
+ "version": "0.2.7",
4386
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
4387
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
4388
+ "license": "MIT"
4389
+ },
4390
+ "node_modules/is-alphabetical": {
4391
+ "version": "2.0.1",
4392
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
4393
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
4394
+ "license": "MIT",
4395
+ "funding": {
4396
+ "type": "github",
4397
+ "url": "https://github.com/sponsors/wooorm"
4398
+ }
4399
+ },
4400
+ "node_modules/is-alphanumerical": {
4401
+ "version": "2.0.1",
4402
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
4403
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
4404
+ "license": "MIT",
4405
+ "dependencies": {
4406
+ "is-alphabetical": "^2.0.0",
4407
+ "is-decimal": "^2.0.0"
4408
+ },
4409
+ "funding": {
4410
+ "type": "github",
4411
+ "url": "https://github.com/sponsors/wooorm"
4412
+ }
4413
+ },
4414
  "node_modules/is-browser": {
4415
  "version": "2.1.0",
4416
  "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz",
 
4432
  "url": "https://github.com/sponsors/ljharb"
4433
  }
4434
  },
4435
+ "node_modules/is-decimal": {
4436
+ "version": "2.0.1",
4437
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
4438
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
4439
+ "license": "MIT",
4440
+ "funding": {
4441
+ "type": "github",
4442
+ "url": "https://github.com/sponsors/wooorm"
4443
+ }
4444
+ },
4445
  "node_modules/is-extglob": {
4446
  "version": "2.1.1",
4447
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 
4486
  "node": ">=0.10.0"
4487
  }
4488
  },
4489
+ "node_modules/is-hexadecimal": {
4490
+ "version": "2.0.1",
4491
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
4492
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
4493
+ "license": "MIT",
4494
+ "funding": {
4495
+ "type": "github",
4496
+ "url": "https://github.com/sponsors/wooorm"
4497
+ }
4498
+ },
4499
  "node_modules/is-iexplorer": {
4500
  "version": "1.0.0",
4501
  "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz",
 
4945
  "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
4946
  "license": "MIT"
4947
  },
4948
+ "node_modules/longest-streak": {
4949
+ "version": "3.1.0",
4950
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
4951
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
4952
+ "license": "MIT",
4953
+ "funding": {
4954
+ "type": "github",
4955
+ "url": "https://github.com/sponsors/wooorm"
4956
+ }
4957
+ },
4958
  "node_modules/loose-envify": {
4959
  "version": "1.4.0",
4960
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
 
5139
  "node": ">=0.10.0"
5140
  }
5141
  },
5142
+ "node_modules/mdast-util-from-markdown": {
5143
+ "version": "2.0.3",
5144
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
5145
+ "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==",
5146
+ "license": "MIT",
5147
+ "dependencies": {
5148
+ "@types/mdast": "^4.0.0",
5149
+ "@types/unist": "^3.0.0",
5150
+ "decode-named-character-reference": "^1.0.0",
5151
+ "devlop": "^1.0.0",
5152
+ "mdast-util-to-string": "^4.0.0",
5153
+ "micromark": "^4.0.0",
5154
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
5155
+ "micromark-util-decode-string": "^2.0.0",
5156
+ "micromark-util-normalize-identifier": "^2.0.0",
5157
+ "micromark-util-symbol": "^2.0.0",
5158
+ "micromark-util-types": "^2.0.0",
5159
+ "unist-util-stringify-position": "^4.0.0"
5160
  },
5161
+ "funding": {
5162
+ "type": "opencollective",
5163
+ "url": "https://opencollective.com/unified"
5164
  }
5165
  },
5166
+ "node_modules/mdast-util-mdx-expression": {
5167
+ "version": "2.0.1",
5168
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
5169
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
5170
  "license": "MIT",
5171
+ "dependencies": {
5172
+ "@types/estree-jsx": "^1.0.0",
5173
+ "@types/hast": "^3.0.0",
5174
+ "@types/mdast": "^4.0.0",
5175
+ "devlop": "^1.0.0",
5176
+ "mdast-util-from-markdown": "^2.0.0",
5177
+ "mdast-util-to-markdown": "^2.0.0"
5178
+ },
5179
  "funding": {
5180
+ "type": "opencollective",
5181
+ "url": "https://opencollective.com/unified"
5182
  }
5183
  },
5184
+ "node_modules/mdast-util-mdx-jsx": {
5185
+ "version": "3.2.0",
5186
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
5187
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
5188
+ "license": "MIT",
5189
+ "dependencies": {
5190
+ "@types/estree-jsx": "^1.0.0",
5191
+ "@types/hast": "^3.0.0",
5192
+ "@types/mdast": "^4.0.0",
5193
+ "@types/unist": "^3.0.0",
5194
+ "ccount": "^2.0.0",
5195
+ "devlop": "^1.1.0",
5196
+ "mdast-util-from-markdown": "^2.0.0",
5197
+ "mdast-util-to-markdown": "^2.0.0",
5198
+ "parse-entities": "^4.0.0",
5199
+ "stringify-entities": "^4.0.0",
5200
+ "unist-util-stringify-position": "^4.0.0",
5201
+ "vfile-message": "^4.0.0"
5202
+ },
5203
+ "funding": {
5204
+ "type": "opencollective",
5205
+ "url": "https://opencollective.com/unified"
5206
+ }
5207
+ },
5208
+ "node_modules/mdast-util-mdxjs-esm": {
5209
+ "version": "2.0.1",
5210
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
5211
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
5212
  "license": "MIT",
5213
  "dependencies": {
5214
+ "@types/estree-jsx": "^1.0.0",
5215
+ "@types/hast": "^3.0.0",
5216
+ "@types/mdast": "^4.0.0",
5217
+ "devlop": "^1.0.0",
5218
+ "mdast-util-from-markdown": "^2.0.0",
5219
+ "mdast-util-to-markdown": "^2.0.0"
5220
+ },
5221
+ "funding": {
5222
+ "type": "opencollective",
5223
+ "url": "https://opencollective.com/unified"
5224
  }
5225
  },
5226
+ "node_modules/mdast-util-phrasing": {
5227
+ "version": "4.1.0",
5228
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
5229
+ "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
5230
+ "license": "MIT",
5231
+ "dependencies": {
5232
+ "@types/mdast": "^4.0.0",
5233
+ "unist-util-is": "^6.0.0"
5234
+ },
5235
+ "funding": {
5236
+ "type": "opencollective",
5237
+ "url": "https://opencollective.com/unified"
5238
+ }
5239
  },
5240
+ "node_modules/mdast-util-to-hast": {
5241
+ "version": "13.2.1",
5242
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
5243
+ "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
5244
+ "license": "MIT",
5245
+ "dependencies": {
5246
+ "@types/hast": "^3.0.0",
5247
+ "@types/mdast": "^4.0.0",
5248
+ "@ungap/structured-clone": "^1.0.0",
5249
+ "devlop": "^1.0.0",
5250
+ "micromark-util-sanitize-uri": "^2.0.0",
5251
+ "trim-lines": "^3.0.0",
5252
+ "unist-util-position": "^5.0.0",
5253
+ "unist-util-visit": "^5.0.0",
5254
+ "vfile": "^6.0.0"
5255
+ },
5256
+ "funding": {
5257
+ "type": "opencollective",
5258
+ "url": "https://opencollective.com/unified"
5259
+ }
5260
  },
5261
+ "node_modules/mdast-util-to-markdown": {
5262
+ "version": "2.1.2",
5263
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
5264
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
5265
  "license": "MIT",
5266
  "dependencies": {
5267
+ "@types/mdast": "^4.0.0",
5268
+ "@types/unist": "^3.0.0",
5269
+ "longest-streak": "^3.0.0",
5270
+ "mdast-util-phrasing": "^4.0.0",
5271
+ "mdast-util-to-string": "^4.0.0",
5272
+ "micromark-util-classify-character": "^2.0.0",
5273
+ "micromark-util-decode-string": "^2.0.0",
5274
+ "unist-util-visit": "^5.0.0",
5275
+ "zwitch": "^2.0.0"
5276
+ },
5277
+ "funding": {
5278
+ "type": "opencollective",
5279
+ "url": "https://opencollective.com/unified"
5280
  }
5281
  },
5282
+ "node_modules/mdast-util-to-string": {
5283
+ "version": "4.0.0",
5284
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
5285
+ "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
5286
+ "license": "MIT",
5287
+ "dependencies": {
5288
+ "@types/mdast": "^4.0.0"
5289
+ },
5290
+ "funding": {
5291
+ "type": "opencollective",
5292
+ "url": "https://opencollective.com/unified"
5293
+ }
5294
+ },
5295
+ "node_modules/micromark": {
5296
+ "version": "4.0.2",
5297
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
5298
+ "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
5299
+ "funding": [
5300
+ {
5301
+ "type": "GitHub Sponsors",
5302
+ "url": "https://github.com/sponsors/unifiedjs"
5303
+ },
5304
+ {
5305
+ "type": "OpenCollective",
5306
+ "url": "https://opencollective.com/unified"
5307
+ }
5308
+ ],
5309
+ "license": "MIT",
5310
+ "dependencies": {
5311
+ "@types/debug": "^4.0.0",
5312
+ "debug": "^4.0.0",
5313
+ "decode-named-character-reference": "^1.0.0",
5314
+ "devlop": "^1.0.0",
5315
+ "micromark-core-commonmark": "^2.0.0",
5316
+ "micromark-factory-space": "^2.0.0",
5317
+ "micromark-util-character": "^2.0.0",
5318
+ "micromark-util-chunked": "^2.0.0",
5319
+ "micromark-util-combine-extensions": "^2.0.0",
5320
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
5321
+ "micromark-util-encode": "^2.0.0",
5322
+ "micromark-util-normalize-identifier": "^2.0.0",
5323
+ "micromark-util-resolve-all": "^2.0.0",
5324
+ "micromark-util-sanitize-uri": "^2.0.0",
5325
+ "micromark-util-subtokenize": "^2.0.0",
5326
+ "micromark-util-symbol": "^2.0.0",
5327
+ "micromark-util-types": "^2.0.0"
5328
+ }
5329
+ },
5330
+ "node_modules/micromark-core-commonmark": {
5331
+ "version": "2.0.3",
5332
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
5333
+ "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
5334
+ "funding": [
5335
+ {
5336
+ "type": "GitHub Sponsors",
5337
+ "url": "https://github.com/sponsors/unifiedjs"
5338
+ },
5339
+ {
5340
+ "type": "OpenCollective",
5341
+ "url": "https://opencollective.com/unified"
5342
+ }
5343
+ ],
5344
+ "license": "MIT",
5345
+ "dependencies": {
5346
+ "decode-named-character-reference": "^1.0.0",
5347
+ "devlop": "^1.0.0",
5348
+ "micromark-factory-destination": "^2.0.0",
5349
+ "micromark-factory-label": "^2.0.0",
5350
+ "micromark-factory-space": "^2.0.0",
5351
+ "micromark-factory-title": "^2.0.0",
5352
+ "micromark-factory-whitespace": "^2.0.0",
5353
+ "micromark-util-character": "^2.0.0",
5354
+ "micromark-util-chunked": "^2.0.0",
5355
+ "micromark-util-classify-character": "^2.0.0",
5356
+ "micromark-util-html-tag-name": "^2.0.0",
5357
+ "micromark-util-normalize-identifier": "^2.0.0",
5358
+ "micromark-util-resolve-all": "^2.0.0",
5359
+ "micromark-util-subtokenize": "^2.0.0",
5360
+ "micromark-util-symbol": "^2.0.0",
5361
+ "micromark-util-types": "^2.0.0"
5362
+ }
5363
+ },
5364
+ "node_modules/micromark-factory-destination": {
5365
+ "version": "2.0.1",
5366
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
5367
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
5368
+ "funding": [
5369
+ {
5370
+ "type": "GitHub Sponsors",
5371
+ "url": "https://github.com/sponsors/unifiedjs"
5372
+ },
5373
+ {
5374
+ "type": "OpenCollective",
5375
+ "url": "https://opencollective.com/unified"
5376
+ }
5377
+ ],
5378
+ "license": "MIT",
5379
+ "dependencies": {
5380
+ "micromark-util-character": "^2.0.0",
5381
+ "micromark-util-symbol": "^2.0.0",
5382
+ "micromark-util-types": "^2.0.0"
5383
+ }
5384
+ },
5385
+ "node_modules/micromark-factory-label": {
5386
+ "version": "2.0.1",
5387
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
5388
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
5389
+ "funding": [
5390
+ {
5391
+ "type": "GitHub Sponsors",
5392
+ "url": "https://github.com/sponsors/unifiedjs"
5393
+ },
5394
+ {
5395
+ "type": "OpenCollective",
5396
+ "url": "https://opencollective.com/unified"
5397
+ }
5398
+ ],
5399
+ "license": "MIT",
5400
+ "dependencies": {
5401
+ "devlop": "^1.0.0",
5402
+ "micromark-util-character": "^2.0.0",
5403
+ "micromark-util-symbol": "^2.0.0",
5404
+ "micromark-util-types": "^2.0.0"
5405
+ }
5406
+ },
5407
+ "node_modules/micromark-factory-space": {
5408
+ "version": "2.0.1",
5409
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
5410
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
5411
+ "funding": [
5412
+ {
5413
+ "type": "GitHub Sponsors",
5414
+ "url": "https://github.com/sponsors/unifiedjs"
5415
+ },
5416
+ {
5417
+ "type": "OpenCollective",
5418
+ "url": "https://opencollective.com/unified"
5419
+ }
5420
+ ],
5421
+ "license": "MIT",
5422
+ "dependencies": {
5423
+ "micromark-util-character": "^2.0.0",
5424
+ "micromark-util-types": "^2.0.0"
5425
+ }
5426
+ },
5427
+ "node_modules/micromark-factory-title": {
5428
+ "version": "2.0.1",
5429
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
5430
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
5431
+ "funding": [
5432
+ {
5433
+ "type": "GitHub Sponsors",
5434
+ "url": "https://github.com/sponsors/unifiedjs"
5435
+ },
5436
+ {
5437
+ "type": "OpenCollective",
5438
+ "url": "https://opencollective.com/unified"
5439
+ }
5440
+ ],
5441
+ "license": "MIT",
5442
+ "dependencies": {
5443
+ "micromark-factory-space": "^2.0.0",
5444
+ "micromark-util-character": "^2.0.0",
5445
+ "micromark-util-symbol": "^2.0.0",
5446
+ "micromark-util-types": "^2.0.0"
5447
+ }
5448
+ },
5449
+ "node_modules/micromark-factory-whitespace": {
5450
+ "version": "2.0.1",
5451
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
5452
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
5453
+ "funding": [
5454
+ {
5455
+ "type": "GitHub Sponsors",
5456
+ "url": "https://github.com/sponsors/unifiedjs"
5457
+ },
5458
+ {
5459
+ "type": "OpenCollective",
5460
+ "url": "https://opencollective.com/unified"
5461
+ }
5462
+ ],
5463
+ "license": "MIT",
5464
+ "dependencies": {
5465
+ "micromark-factory-space": "^2.0.0",
5466
+ "micromark-util-character": "^2.0.0",
5467
+ "micromark-util-symbol": "^2.0.0",
5468
+ "micromark-util-types": "^2.0.0"
5469
+ }
5470
+ },
5471
+ "node_modules/micromark-util-character": {
5472
+ "version": "2.1.1",
5473
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
5474
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
5475
+ "funding": [
5476
+ {
5477
+ "type": "GitHub Sponsors",
5478
+ "url": "https://github.com/sponsors/unifiedjs"
5479
+ },
5480
+ {
5481
+ "type": "OpenCollective",
5482
+ "url": "https://opencollective.com/unified"
5483
+ }
5484
+ ],
5485
+ "license": "MIT",
5486
+ "dependencies": {
5487
+ "micromark-util-symbol": "^2.0.0",
5488
+ "micromark-util-types": "^2.0.0"
5489
+ }
5490
+ },
5491
+ "node_modules/micromark-util-chunked": {
5492
+ "version": "2.0.1",
5493
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
5494
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
5495
+ "funding": [
5496
+ {
5497
+ "type": "GitHub Sponsors",
5498
+ "url": "https://github.com/sponsors/unifiedjs"
5499
+ },
5500
+ {
5501
+ "type": "OpenCollective",
5502
+ "url": "https://opencollective.com/unified"
5503
+ }
5504
+ ],
5505
+ "license": "MIT",
5506
+ "dependencies": {
5507
+ "micromark-util-symbol": "^2.0.0"
5508
+ }
5509
+ },
5510
+ "node_modules/micromark-util-classify-character": {
5511
+ "version": "2.0.1",
5512
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
5513
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
5514
+ "funding": [
5515
+ {
5516
+ "type": "GitHub Sponsors",
5517
+ "url": "https://github.com/sponsors/unifiedjs"
5518
+ },
5519
+ {
5520
+ "type": "OpenCollective",
5521
+ "url": "https://opencollective.com/unified"
5522
+ }
5523
+ ],
5524
+ "license": "MIT",
5525
+ "dependencies": {
5526
+ "micromark-util-character": "^2.0.0",
5527
+ "micromark-util-symbol": "^2.0.0",
5528
+ "micromark-util-types": "^2.0.0"
5529
+ }
5530
+ },
5531
+ "node_modules/micromark-util-combine-extensions": {
5532
+ "version": "2.0.1",
5533
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
5534
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
5535
+ "funding": [
5536
+ {
5537
+ "type": "GitHub Sponsors",
5538
+ "url": "https://github.com/sponsors/unifiedjs"
5539
+ },
5540
+ {
5541
+ "type": "OpenCollective",
5542
+ "url": "https://opencollective.com/unified"
5543
+ }
5544
+ ],
5545
+ "license": "MIT",
5546
+ "dependencies": {
5547
+ "micromark-util-chunked": "^2.0.0",
5548
+ "micromark-util-types": "^2.0.0"
5549
+ }
5550
+ },
5551
+ "node_modules/micromark-util-decode-numeric-character-reference": {
5552
+ "version": "2.0.2",
5553
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
5554
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
5555
+ "funding": [
5556
+ {
5557
+ "type": "GitHub Sponsors",
5558
+ "url": "https://github.com/sponsors/unifiedjs"
5559
+ },
5560
+ {
5561
+ "type": "OpenCollective",
5562
+ "url": "https://opencollective.com/unified"
5563
+ }
5564
+ ],
5565
+ "license": "MIT",
5566
+ "dependencies": {
5567
+ "micromark-util-symbol": "^2.0.0"
5568
+ }
5569
+ },
5570
+ "node_modules/micromark-util-decode-string": {
5571
+ "version": "2.0.1",
5572
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
5573
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
5574
+ "funding": [
5575
+ {
5576
+ "type": "GitHub Sponsors",
5577
+ "url": "https://github.com/sponsors/unifiedjs"
5578
+ },
5579
+ {
5580
+ "type": "OpenCollective",
5581
+ "url": "https://opencollective.com/unified"
5582
+ }
5583
+ ],
5584
+ "license": "MIT",
5585
+ "dependencies": {
5586
+ "decode-named-character-reference": "^1.0.0",
5587
+ "micromark-util-character": "^2.0.0",
5588
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
5589
+ "micromark-util-symbol": "^2.0.0"
5590
+ }
5591
+ },
5592
+ "node_modules/micromark-util-encode": {
5593
+ "version": "2.0.1",
5594
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
5595
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
5596
+ "funding": [
5597
+ {
5598
+ "type": "GitHub Sponsors",
5599
+ "url": "https://github.com/sponsors/unifiedjs"
5600
+ },
5601
+ {
5602
+ "type": "OpenCollective",
5603
+ "url": "https://opencollective.com/unified"
5604
+ }
5605
+ ],
5606
+ "license": "MIT"
5607
+ },
5608
+ "node_modules/micromark-util-html-tag-name": {
5609
+ "version": "2.0.1",
5610
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
5611
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
5612
+ "funding": [
5613
+ {
5614
+ "type": "GitHub Sponsors",
5615
+ "url": "https://github.com/sponsors/unifiedjs"
5616
+ },
5617
+ {
5618
+ "type": "OpenCollective",
5619
+ "url": "https://opencollective.com/unified"
5620
+ }
5621
+ ],
5622
+ "license": "MIT"
5623
+ },
5624
+ "node_modules/micromark-util-normalize-identifier": {
5625
+ "version": "2.0.1",
5626
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
5627
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
5628
+ "funding": [
5629
+ {
5630
+ "type": "GitHub Sponsors",
5631
+ "url": "https://github.com/sponsors/unifiedjs"
5632
+ },
5633
+ {
5634
+ "type": "OpenCollective",
5635
+ "url": "https://opencollective.com/unified"
5636
+ }
5637
+ ],
5638
+ "license": "MIT",
5639
+ "dependencies": {
5640
+ "micromark-util-symbol": "^2.0.0"
5641
+ }
5642
+ },
5643
+ "node_modules/micromark-util-resolve-all": {
5644
+ "version": "2.0.1",
5645
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
5646
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
5647
+ "funding": [
5648
+ {
5649
+ "type": "GitHub Sponsors",
5650
+ "url": "https://github.com/sponsors/unifiedjs"
5651
+ },
5652
+ {
5653
+ "type": "OpenCollective",
5654
+ "url": "https://opencollective.com/unified"
5655
+ }
5656
+ ],
5657
+ "license": "MIT",
5658
+ "dependencies": {
5659
+ "micromark-util-types": "^2.0.0"
5660
+ }
5661
+ },
5662
+ "node_modules/micromark-util-sanitize-uri": {
5663
+ "version": "2.0.1",
5664
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
5665
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
5666
+ "funding": [
5667
+ {
5668
+ "type": "GitHub Sponsors",
5669
+ "url": "https://github.com/sponsors/unifiedjs"
5670
+ },
5671
+ {
5672
+ "type": "OpenCollective",
5673
+ "url": "https://opencollective.com/unified"
5674
+ }
5675
+ ],
5676
+ "license": "MIT",
5677
+ "dependencies": {
5678
+ "micromark-util-character": "^2.0.0",
5679
+ "micromark-util-encode": "^2.0.0",
5680
+ "micromark-util-symbol": "^2.0.0"
5681
+ }
5682
+ },
5683
+ "node_modules/micromark-util-subtokenize": {
5684
+ "version": "2.1.0",
5685
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
5686
+ "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
5687
+ "funding": [
5688
+ {
5689
+ "type": "GitHub Sponsors",
5690
+ "url": "https://github.com/sponsors/unifiedjs"
5691
+ },
5692
+ {
5693
+ "type": "OpenCollective",
5694
+ "url": "https://opencollective.com/unified"
5695
+ }
5696
+ ],
5697
+ "license": "MIT",
5698
+ "dependencies": {
5699
+ "devlop": "^1.0.0",
5700
+ "micromark-util-chunked": "^2.0.0",
5701
+ "micromark-util-symbol": "^2.0.0",
5702
+ "micromark-util-types": "^2.0.0"
5703
+ }
5704
+ },
5705
+ "node_modules/micromark-util-symbol": {
5706
+ "version": "2.0.1",
5707
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
5708
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
5709
+ "funding": [
5710
+ {
5711
+ "type": "GitHub Sponsors",
5712
+ "url": "https://github.com/sponsors/unifiedjs"
5713
+ },
5714
+ {
5715
+ "type": "OpenCollective",
5716
+ "url": "https://opencollective.com/unified"
5717
+ }
5718
+ ],
5719
+ "license": "MIT"
5720
+ },
5721
+ "node_modules/micromark-util-types": {
5722
+ "version": "2.0.2",
5723
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
5724
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
5725
+ "funding": [
5726
+ {
5727
+ "type": "GitHub Sponsors",
5728
+ "url": "https://github.com/sponsors/unifiedjs"
5729
+ },
5730
+ {
5731
+ "type": "OpenCollective",
5732
+ "url": "https://opencollective.com/unified"
5733
+ }
5734
+ ],
5735
+ "license": "MIT"
5736
+ },
5737
+ "node_modules/minimatch": {
5738
+ "version": "3.1.4",
5739
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz",
5740
+ "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==",
5741
+ "dev": true,
5742
+ "license": "ISC",
5743
+ "dependencies": {
5744
+ "brace-expansion": "^1.1.7"
5745
+ },
5746
+ "engines": {
5747
+ "node": "*"
5748
+ }
5749
+ },
5750
+ "node_modules/minimist": {
5751
+ "version": "1.2.8",
5752
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
5753
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
5754
+ "license": "MIT",
5755
+ "funding": {
5756
+ "url": "https://github.com/sponsors/ljharb"
5757
+ }
5758
+ },
5759
+ "node_modules/mouse-change": {
5760
+ "version": "1.4.0",
5761
+ "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz",
5762
+ "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==",
5763
+ "license": "MIT",
5764
+ "dependencies": {
5765
+ "mouse-event": "^1.0.0"
5766
+ }
5767
+ },
5768
+ "node_modules/mouse-event": {
5769
+ "version": "1.0.5",
5770
+ "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz",
5771
+ "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==",
5772
+ "license": "MIT"
5773
+ },
5774
+ "node_modules/mouse-event-offset": {
5775
+ "version": "3.0.2",
5776
+ "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz",
5777
+ "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==",
5778
+ "license": "MIT"
5779
+ },
5780
+ "node_modules/mouse-wheel": {
5781
+ "version": "1.2.0",
5782
+ "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz",
5783
+ "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==",
5784
+ "license": "MIT",
5785
+ "dependencies": {
5786
+ "right-now": "^1.0.0",
5787
+ "signum": "^1.0.0",
5788
+ "to-px": "^1.0.1"
5789
+ }
5790
+ },
5791
+ "node_modules/ms": {
5792
  "version": "2.1.3",
5793
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
5794
  "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 
5975
  "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
5976
  "license": "MIT"
5977
  },
5978
+ "node_modules/parse-entities": {
5979
+ "version": "4.0.2",
5980
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
5981
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
5982
+ "license": "MIT",
5983
+ "dependencies": {
5984
+ "@types/unist": "^2.0.0",
5985
+ "character-entities-legacy": "^3.0.0",
5986
+ "character-reference-invalid": "^2.0.0",
5987
+ "decode-named-character-reference": "^1.0.0",
5988
+ "is-alphanumerical": "^2.0.0",
5989
+ "is-decimal": "^2.0.0",
5990
+ "is-hexadecimal": "^2.0.0"
5991
+ },
5992
+ "funding": {
5993
+ "type": "github",
5994
+ "url": "https://github.com/sponsors/wooorm"
5995
+ }
5996
+ },
5997
+ "node_modules/parse-entities/node_modules/@types/unist": {
5998
+ "version": "2.0.11",
5999
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
6000
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
6001
+ "license": "MIT"
6002
+ },
6003
  "node_modules/parse-rect": {
6004
  "version": "1.2.0",
6005
  "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz",
 
6331
  "react-is": "^16.13.1"
6332
  }
6333
  },
6334
+ "node_modules/property-information": {
6335
+ "version": "7.1.0",
6336
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
6337
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
6338
+ "license": "MIT",
6339
+ "funding": {
6340
+ "type": "github",
6341
+ "url": "https://github.com/sponsors/wooorm"
6342
+ }
6343
+ },
6344
  "node_modules/protocol-buffers-schema": {
6345
  "version": "3.6.0",
6346
  "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz",
 
6399
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
6400
  "license": "MIT"
6401
  },
6402
+ "node_modules/react-markdown": {
6403
+ "version": "10.1.0",
6404
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz",
6405
+ "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==",
6406
+ "license": "MIT",
6407
+ "dependencies": {
6408
+ "@types/hast": "^3.0.0",
6409
+ "@types/mdast": "^4.0.0",
6410
+ "devlop": "^1.0.0",
6411
+ "hast-util-to-jsx-runtime": "^2.0.0",
6412
+ "html-url-attributes": "^3.0.0",
6413
+ "mdast-util-to-hast": "^13.0.0",
6414
+ "remark-parse": "^11.0.0",
6415
+ "remark-rehype": "^11.0.0",
6416
+ "unified": "^11.0.0",
6417
+ "unist-util-visit": "^5.0.0",
6418
+ "vfile": "^6.0.0"
6419
+ },
6420
+ "funding": {
6421
+ "type": "opencollective",
6422
+ "url": "https://opencollective.com/unified"
6423
+ },
6424
+ "peerDependencies": {
6425
+ "@types/react": ">=18",
6426
+ "react": ">=18"
6427
+ }
6428
+ },
6429
  "node_modules/react-plotly.js": {
6430
  "version": "2.6.0",
6431
  "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.6.0.tgz",
 
6574
  "regl-scatter2d": "^3.2.3"
6575
  }
6576
  },
6577
+ "node_modules/remark-parse": {
6578
+ "version": "11.0.0",
6579
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
6580
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
6581
+ "license": "MIT",
6582
+ "dependencies": {
6583
+ "@types/mdast": "^4.0.0",
6584
+ "mdast-util-from-markdown": "^2.0.0",
6585
+ "micromark-util-types": "^2.0.0",
6586
+ "unified": "^11.0.0"
6587
+ },
6588
+ "funding": {
6589
+ "type": "opencollective",
6590
+ "url": "https://opencollective.com/unified"
6591
+ }
6592
+ },
6593
+ "node_modules/remark-rehype": {
6594
+ "version": "11.1.2",
6595
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
6596
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
6597
+ "license": "MIT",
6598
+ "dependencies": {
6599
+ "@types/hast": "^3.0.0",
6600
+ "@types/mdast": "^4.0.0",
6601
+ "mdast-util-to-hast": "^13.0.0",
6602
+ "unified": "^11.0.0",
6603
+ "vfile": "^6.0.0"
6604
+ },
6605
+ "funding": {
6606
+ "type": "opencollective",
6607
+ "url": "https://opencollective.com/unified"
6608
+ }
6609
+ },
6610
  "node_modules/resolve": {
6611
  "version": "1.22.11",
6612
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
 
6653
  "license": "MIT"
6654
  },
6655
  "node_modules/rollup": {
6656
+ "version": "4.59.0",
6657
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
6658
+ "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
6659
  "license": "MIT",
6660
  "dependencies": {
6661
  "@types/estree": "1.0.8"
 
6668
  "npm": ">=8.0.0"
6669
  },
6670
  "optionalDependencies": {
6671
+ "@rollup/rollup-android-arm-eabi": "4.59.0",
6672
+ "@rollup/rollup-android-arm64": "4.59.0",
6673
+ "@rollup/rollup-darwin-arm64": "4.59.0",
6674
+ "@rollup/rollup-darwin-x64": "4.59.0",
6675
+ "@rollup/rollup-freebsd-arm64": "4.59.0",
6676
+ "@rollup/rollup-freebsd-x64": "4.59.0",
6677
+ "@rollup/rollup-linux-arm-gnueabihf": "4.59.0",
6678
+ "@rollup/rollup-linux-arm-musleabihf": "4.59.0",
6679
+ "@rollup/rollup-linux-arm64-gnu": "4.59.0",
6680
+ "@rollup/rollup-linux-arm64-musl": "4.59.0",
6681
+ "@rollup/rollup-linux-loong64-gnu": "4.59.0",
6682
+ "@rollup/rollup-linux-loong64-musl": "4.59.0",
6683
+ "@rollup/rollup-linux-ppc64-gnu": "4.59.0",
6684
+ "@rollup/rollup-linux-ppc64-musl": "4.59.0",
6685
+ "@rollup/rollup-linux-riscv64-gnu": "4.59.0",
6686
+ "@rollup/rollup-linux-riscv64-musl": "4.59.0",
6687
+ "@rollup/rollup-linux-s390x-gnu": "4.59.0",
6688
+ "@rollup/rollup-linux-x64-gnu": "4.59.0",
6689
+ "@rollup/rollup-linux-x64-musl": "4.59.0",
6690
+ "@rollup/rollup-openbsd-x64": "4.59.0",
6691
+ "@rollup/rollup-openharmony-arm64": "4.59.0",
6692
+ "@rollup/rollup-win32-arm64-msvc": "4.59.0",
6693
+ "@rollup/rollup-win32-ia32-msvc": "4.59.0",
6694
+ "@rollup/rollup-win32-x64-gnu": "4.59.0",
6695
+ "@rollup/rollup-win32-x64-msvc": "4.59.0",
6696
  "fsevents": "~2.3.2"
6697
  }
6698
  },
 
6804
  "node": ">=0.10.0"
6805
  }
6806
  },
6807
+ "node_modules/space-separated-tokens": {
6808
+ "version": "2.0.2",
6809
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
6810
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
6811
+ "license": "MIT",
6812
+ "funding": {
6813
+ "type": "github",
6814
+ "url": "https://github.com/sponsors/wooorm"
6815
+ }
6816
+ },
6817
  "node_modules/stack-trace": {
6818
  "version": "0.0.9",
6819
  "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
 
6885
  "parenthesis": "^3.1.5"
6886
  }
6887
  },
6888
+ "node_modules/stringify-entities": {
6889
+ "version": "4.0.4",
6890
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
6891
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
6892
+ "license": "MIT",
6893
+ "dependencies": {
6894
+ "character-entities-html4": "^2.0.0",
6895
+ "character-entities-legacy": "^3.0.0"
6896
+ },
6897
+ "funding": {
6898
+ "type": "github",
6899
+ "url": "https://github.com/sponsors/wooorm"
6900
+ }
6901
+ },
6902
  "node_modules/strip-json-comments": {
6903
  "version": "3.1.1",
6904
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
 
6918
  "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==",
6919
  "license": "MIT"
6920
  },
6921
+ "node_modules/style-to-js": {
6922
+ "version": "1.1.21",
6923
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
6924
+ "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
6925
+ "license": "MIT",
6926
+ "dependencies": {
6927
+ "style-to-object": "1.0.14"
6928
+ }
6929
+ },
6930
+ "node_modules/style-to-object": {
6931
+ "version": "1.0.14",
6932
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
6933
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
6934
+ "license": "MIT",
6935
+ "dependencies": {
6936
+ "inline-style-parser": "0.2.7"
6937
+ }
6938
+ },
6939
  "node_modules/supercluster": {
6940
  "version": "7.1.5",
6941
  "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz",
 
7108
  "topoquantize": "bin/topoquantize"
7109
  }
7110
  },
7111
+ "node_modules/trim-lines": {
7112
+ "version": "3.0.1",
7113
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
7114
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
7115
+ "license": "MIT",
7116
+ "funding": {
7117
+ "type": "github",
7118
+ "url": "https://github.com/sponsors/wooorm"
7119
+ }
7120
+ },
7121
+ "node_modules/trough": {
7122
+ "version": "2.2.0",
7123
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
7124
+ "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
7125
+ "license": "MIT",
7126
+ "funding": {
7127
+ "type": "github",
7128
+ "url": "https://github.com/sponsors/wooorm"
7129
+ }
7130
+ },
7131
  "node_modules/ts-api-utils": {
7132
  "version": "2.4.0",
7133
  "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
 
7227
  "devOptional": true,
7228
  "license": "MIT"
7229
  },
7230
+ "node_modules/unified": {
7231
+ "version": "11.0.5",
7232
+ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
7233
+ "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
7234
+ "license": "MIT",
7235
+ "dependencies": {
7236
+ "@types/unist": "^3.0.0",
7237
+ "bail": "^2.0.0",
7238
+ "devlop": "^1.0.0",
7239
+ "extend": "^3.0.0",
7240
+ "is-plain-obj": "^4.0.0",
7241
+ "trough": "^2.0.0",
7242
+ "vfile": "^6.0.0"
7243
+ },
7244
+ "funding": {
7245
+ "type": "opencollective",
7246
+ "url": "https://opencollective.com/unified"
7247
+ }
7248
+ },
7249
+ "node_modules/unified/node_modules/is-plain-obj": {
7250
+ "version": "4.1.0",
7251
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
7252
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
7253
+ "license": "MIT",
7254
+ "engines": {
7255
+ "node": ">=12"
7256
+ },
7257
+ "funding": {
7258
+ "url": "https://github.com/sponsors/sindresorhus"
7259
+ }
7260
+ },
7261
+ "node_modules/unist-util-is": {
7262
+ "version": "6.0.1",
7263
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
7264
+ "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
7265
+ "license": "MIT",
7266
+ "dependencies": {
7267
+ "@types/unist": "^3.0.0"
7268
+ },
7269
+ "funding": {
7270
+ "type": "opencollective",
7271
+ "url": "https://opencollective.com/unified"
7272
+ }
7273
+ },
7274
+ "node_modules/unist-util-position": {
7275
+ "version": "5.0.0",
7276
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
7277
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
7278
+ "license": "MIT",
7279
+ "dependencies": {
7280
+ "@types/unist": "^3.0.0"
7281
+ },
7282
+ "funding": {
7283
+ "type": "opencollective",
7284
+ "url": "https://opencollective.com/unified"
7285
+ }
7286
+ },
7287
+ "node_modules/unist-util-stringify-position": {
7288
+ "version": "4.0.0",
7289
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
7290
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
7291
+ "license": "MIT",
7292
+ "dependencies": {
7293
+ "@types/unist": "^3.0.0"
7294
+ },
7295
+ "funding": {
7296
+ "type": "opencollective",
7297
+ "url": "https://opencollective.com/unified"
7298
+ }
7299
+ },
7300
+ "node_modules/unist-util-visit": {
7301
+ "version": "5.1.0",
7302
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
7303
+ "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
7304
+ "license": "MIT",
7305
+ "dependencies": {
7306
+ "@types/unist": "^3.0.0",
7307
+ "unist-util-is": "^6.0.0",
7308
+ "unist-util-visit-parents": "^6.0.0"
7309
+ },
7310
+ "funding": {
7311
+ "type": "opencollective",
7312
+ "url": "https://opencollective.com/unified"
7313
+ }
7314
+ },
7315
+ "node_modules/unist-util-visit-parents": {
7316
+ "version": "6.0.2",
7317
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
7318
+ "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
7319
+ "license": "MIT",
7320
+ "dependencies": {
7321
+ "@types/unist": "^3.0.0",
7322
+ "unist-util-is": "^6.0.0"
7323
+ },
7324
+ "funding": {
7325
+ "type": "opencollective",
7326
+ "url": "https://opencollective.com/unified"
7327
+ }
7328
+ },
7329
  "node_modules/unquote": {
7330
  "version": "1.1.1",
7331
  "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
 
7385
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
7386
  "license": "MIT"
7387
  },
7388
+ "node_modules/vfile": {
7389
+ "version": "6.0.3",
7390
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
7391
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
7392
+ "license": "MIT",
7393
+ "dependencies": {
7394
+ "@types/unist": "^3.0.0",
7395
+ "vfile-message": "^4.0.0"
7396
+ },
7397
+ "funding": {
7398
+ "type": "opencollective",
7399
+ "url": "https://opencollective.com/unified"
7400
+ }
7401
+ },
7402
+ "node_modules/vfile-message": {
7403
+ "version": "4.0.3",
7404
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
7405
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
7406
+ "license": "MIT",
7407
+ "dependencies": {
7408
+ "@types/unist": "^3.0.0",
7409
+ "unist-util-stringify-position": "^4.0.0"
7410
+ },
7411
+ "funding": {
7412
+ "type": "opencollective",
7413
+ "url": "https://opencollective.com/unified"
7414
+ }
7415
+ },
7416
  "node_modules/vite": {
7417
  "version": "7.3.0",
7418
  "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz",
 
7605
  "peerDependencies": {
7606
  "zod": "^3.25.0 || ^4.0.0"
7607
  }
7608
+ },
7609
+ "node_modules/zwitch": {
7610
+ "version": "2.0.4",
7611
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
7612
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
7613
+ "license": "MIT",
7614
+ "funding": {
7615
+ "type": "github",
7616
+ "url": "https://github.com/sponsors/wooorm"
7617
+ }
7618
  }
7619
  }
7620
  }
frontends/react/package.json CHANGED
@@ -10,10 +10,12 @@
10
  "preview": "vite preview"
11
  },
12
  "dependencies": {
 
13
  "@tailwindcss/vite": "^4.1.18",
14
  "plotly.js": "^3.3.1",
15
  "react": "^19.2.0",
16
  "react-dom": "^19.2.0",
 
17
  "react-plotly.js": "^2.6.0",
18
  "tailwindcss": "^4.1.18"
19
  },
 
10
  "preview": "vite preview"
11
  },
12
  "dependencies": {
13
+ "@elvis/ui": "github:joel-woodfield/elvis-ui",
14
  "@tailwindcss/vite": "^4.1.18",
15
  "plotly.js": "^3.3.1",
16
  "react": "^19.2.0",
17
  "react-dom": "^19.2.0",
18
+ "react-markdown": "^10.1.0",
19
  "react-plotly.js": "^2.6.0",
20
  "tailwindcss": "^4.1.18"
21
  },
frontends/react/src/App.tsx CHANGED
@@ -3,7 +3,7 @@ import OptimizationPlot from "./OptimizationPlot.tsx";
3
  import Sidebar from "./Sidebar.tsx";
4
  import type { SettingsUi } from "./types.ts";
5
  import usePyodide from "./usePyodide.ts";
6
- //import LoadingScreen from "./ui/LoadingScreen.tsx";
7
 
8
  const INITIAL_SETTINGS_UI: SettingsUi = {
9
  mode: "Univariate",
 
3
  import Sidebar from "./Sidebar.tsx";
4
  import type { SettingsUi } from "./types.ts";
5
  import usePyodide from "./usePyodide.ts";
6
+ // import { LoadingScreen } from "@elvis/ui";
7
 
8
  const INITIAL_SETTINGS_UI: SettingsUi = {
9
  mode: "Univariate",
frontends/react/src/OptimizationPlot.tsx CHANGED
@@ -1,7 +1,7 @@
1
  import { useState, useRef, useEffect } from "react";
2
  import Plot from "react-plotly.js";
3
  import type { PlotData } from "./types";
4
- import Button from "./ui/Button";
5
 
6
  interface OptimizationPlotProps {
7
  data: PlotData;
 
1
  import { useState, useRef, useEffect } from "react";
2
  import Plot from "react-plotly.js";
3
  import type { PlotData } from "./types";
4
+ import { Button } from "@elvis/ui";
5
 
6
  interface OptimizationPlotProps {
7
  data: PlotData;
frontends/react/src/Sidebar.tsx CHANGED
@@ -1,10 +1,6 @@
1
  import { useState } from "react";
2
  import ReactMarkdown from "react-markdown";
3
- import InputField from "./ui/InputField.tsx";
4
- import Tabs from "./ui/Tabs.tsx";
5
- import Dropdown from "./ui/Dropdown.tsx";
6
- import Button from "./ui/Button.tsx";
7
- import Radio from "./ui/Radio.tsx";
8
  import { SUPPORTED_MODES, SUPPORTED_ALGORITHMS, type SettingsUi, type TrajectoryValues } from "./types.ts";
9
  import usageMarkdown from "./usage.md?raw";
10
 
 
1
  import { useState } from "react";
2
  import ReactMarkdown from "react-markdown";
3
+ import { InputField, Tabs, Dropdown, Button, Radio } from "@elvis/ui";
 
 
 
 
4
  import { SUPPORTED_MODES, SUPPORTED_ALGORITHMS, type SettingsUi, type TrajectoryValues } from "./types.ts";
5
  import usageMarkdown from "./usage.md?raw";
6
 
frontends/react/src/index.css CHANGED
@@ -1,4 +1,5 @@
1
  @import "tailwindcss";
 
2
 
3
  .title {
4
  font-size: 32px;
 
1
  @import "tailwindcss";
2
+ @source "../node_modules/@elvis/ui/dist";
3
 
4
  .title {
5
  font-size: 32px;
frontends/react/src/ui/Button.tsx DELETED
@@ -1,15 +0,0 @@
1
- interface ButtonProps {
2
- label: string;
3
- onClick?: () => void;
4
- }
5
-
6
- export default function Button({ label, onClick }: ButtonProps) {
7
- return (
8
- <button
9
- onClick={onClick}
10
- className="px-5 py-2 cursor-pointer bg-orange-200 rounded hover:bg-orange-300 border border-gray-300"
11
- >
12
- {label}
13
- </button>
14
- );
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontends/react/src/ui/Dropdown.tsx DELETED
@@ -1,25 +0,0 @@
1
- interface DropdownProps<T extends string> {
2
- label: string;
3
- options: readonly T[];
4
- activeOption: T;
5
- onChange: (option: T) => void;
6
- }
7
-
8
- export default function Dropdown<T extends string>({ label, options, activeOption, onChange }: DropdownProps<T>) {
9
- return (
10
- <div className="flex flex-col gap-1">
11
- <label className="text-gray-700 text-sm">{label}</label>
12
- <select
13
- value={activeOption}
14
- onChange={(e) => onChange(e.target.value as T)}
15
- className="p-2 rounded bg-white border border-gray-300"
16
- >
17
- {options.map((option) => (
18
- <option key={option} value={option}>
19
- {option}
20
- </option>
21
- ))}
22
- </select>
23
- </div>
24
- );
25
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontends/react/src/ui/InputField.tsx DELETED
@@ -1,46 +0,0 @@
1
- interface InputFieldProps {
2
- label: string;
3
- value?: string;
4
- onChange?: (value: string) => void;
5
- readonly?: boolean;
6
- rows?: number;
7
- }
8
-
9
- export default function InputField({
10
- label,
11
- value,
12
- onChange,
13
- readonly = false,
14
- rows,
15
- }: InputFieldProps) {
16
- const commonClasses =
17
- "p-2 rounded border border-gray-300 w-full";
18
-
19
- const bgClass = readonly ? "bg-gray-100" : "bg-white";
20
-
21
- return (
22
- <div className="flex flex-col gap-1">
23
- <label className="text-gray-700 text-sm">
24
- {label}
25
- </label>
26
-
27
- {rows && rows > 1 ? (
28
- <textarea
29
- value={value}
30
- rows={rows}
31
- readOnly={readonly}
32
- onChange={(e) => onChange && onChange(e.target.value)}
33
- className={`${commonClasses} ${bgClass} resize-none`}
34
- />
35
- ) : (
36
- <input
37
- type="text"
38
- value={value}
39
- readOnly={readonly}
40
- onChange={(e) => onChange && onChange(e.target.value)}
41
- className={`${commonClasses} ${bgClass}`}
42
- />
43
- )}
44
- </div>
45
- );
46
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontends/react/src/ui/LoadingScreen.tsx DELETED
@@ -1,19 +0,0 @@
1
- export default function LoadingScreen({ message }: { message: string }) {
2
- return (
3
- <div className="fixed inset-0 flex flex-col items-center justify-center bg-slate-50 z-50">
4
- <div className="flex flex-col items-center space-y-6">
5
- {/* Animated loading spinner */}
6
- <div className="relative flex items-center justify-center">
7
- <div className="w-16 h-16 border-4 border-slate-200 border-t-blue-600 rounded-full animate-spin"></div>
8
- </div>
9
-
10
- {/* Loading message */}
11
- <div className="text-center">
12
- <h2 className="text-xl font-semibold text-slate-800 tracking-tight">
13
- {message}...
14
- </h2>
15
- </div>
16
- </div>
17
- </div>
18
- );
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontends/react/src/ui/Radio.tsx DELETED
@@ -1,27 +0,0 @@
1
- interface RadioProps<T extends string> {
2
- label?: string;
3
- options: readonly T[];
4
- activeOption: T;
5
- onChange: (option: T) => void;
6
- }
7
-
8
- export default function Radio<T extends string>({ label, options, activeOption, onChange }: RadioProps<T>) {
9
- return (
10
- <div className="flex flex-col gap-1">
11
- {label && <label className="text-gray-700 text-sm">{label}</label>}
12
- <div className="flex gap-4">
13
- {options.map((option) => (
14
- <label key={option} className="flex items-center gap-1">
15
- <input
16
- type="radio"
17
- value={option}
18
- checked={activeOption === option}
19
- onChange={() => onChange(option)}
20
- />
21
- {option}
22
- </label>
23
- ))}
24
- </div>
25
- </div>
26
- );
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontends/react/src/ui/Tabs.tsx DELETED
@@ -1,25 +0,0 @@
1
- interface TabsProps<T extends string> {
2
- tabs: readonly T[];
3
- activeTab: T;
4
- onChange: (tab: T) => void;
5
- }
6
-
7
- export default function Tabs<T extends string>({ tabs, activeTab, onChange }: TabsProps<T>) {
8
- return (
9
- <div className="flex mb-4">
10
- {tabs.map((tab) => (
11
- <button
12
- key={tab}
13
- onClick={() => onChange(tab)}
14
- className={`px-5 py-2 cursor-pointer ${
15
- activeTab === tab
16
- ? "text-orange-500 border-b-2 border-orange-500"
17
- : "text-gray-950 hover:bg-gray-200"
18
- }`}
19
- >
20
- {tab}
21
- </button>
22
- ))}
23
- </div>
24
- );
25
- }