diff --git a/gui/eslint.config.js b/gui/eslint.config.js index c4d534218..e22e678f1 100644 --- a/gui/eslint.config.js +++ b/gui/eslint.config.js @@ -2,6 +2,7 @@ import { FlatCompat } from '@eslint/eslintrc'; import eslint from '@eslint/js'; import globals from 'globals'; import tseslint from 'typescript-eslint'; +import stylistic from '@stylistic/eslint-plugin'; const compat = new FlatCompat(); @@ -41,6 +42,7 @@ export const gui = [ files: ['src/**/*.{js,jsx,ts,tsx,json}'], plugins: { '@typescript-eslint': tseslint.plugin, + '@stylistic': stylistic, }, rules: { 'react/react-in-jsx-scope': 'off', @@ -60,6 +62,7 @@ export const gui = [ ignoreRestSiblings: true, }, ], + '@stylistic/jsx-self-closing-comp': 'error', }, settings: { 'import/resolver': { diff --git a/gui/package.json b/gui/package.json index 50f28709b..6bbfe32a5 100644 --- a/gui/package.json +++ b/gui/package.json @@ -72,6 +72,7 @@ "@dword-design/eslint-plugin-import-alias": "^4.0.9", "@openapi-codegen/cli": "^2.0.2", "@openapi-codegen/typescript": "^8.0.2", + "@stylistic/eslint-plugin": "^5.5.0", "@tailwindcss/forms": "^0.5.9", "@tauri-apps/cli": "~2", "@types/file-saver": "^2.0.7", @@ -88,12 +89,12 @@ "autoprefixer": "^10.4.20", "cross-env": "^7.0.3", "dotenv": "^16.4.5", - "eslint": "^8.57.1", + "eslint": "^9.39.0", "eslint-config-airbnb": "^19.0.4", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.1", + "eslint-import-resolver-typescript": "^3.10.1", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^4.6.2", "globals": "^15.10.0", "prettier": "^3.3.3", @@ -102,7 +103,7 @@ "spdx-satisfies": "^5.0.1", "tailwind-gradient-mask-image": "^1.2.0", "tailwindcss": "^3.4.13", - "typescript-eslint": "^8.8.0", + "typescript-eslint": "^8.46.2", "vite": "^5.4.8" } } diff --git a/gui/src/App.tsx b/gui/src/App.tsx index 7dff2e69b..d9335f538 100644 --- a/gui/src/App.tsx +++ b/gui/src/App.tsx @@ -75,9 +75,9 @@ function Layout() { return ( <> - - - + + + }> } /> } /> - }> + } /> } /> } /> } /> @@ -177,7 +177,7 @@ function Layout() { } /> } /> - }> + } /> @@ -301,10 +301,8 @@ export default function App() {
- {!websocketAPI.isConnected && ( - - )} - {websocketAPI.isConnected && } + {!websocketAPI.isConnected && } + {websocketAPI.isConnected && }
diff --git a/gui/src/components/BVHButton.tsx b/gui/src/components/BVHButton.tsx index a23afe8ec..24e90b32d 100644 --- a/gui/src/components/BVHButton.tsx +++ b/gui/src/components/BVHButton.tsx @@ -64,7 +64,7 @@ export function BVHButton(props: React.HTMLAttributes) { 'border', recording ? 'border-status-critical' : 'border-transparent' )} - > + /> ); } diff --git a/gui/src/components/EmptyLayout.tsx b/gui/src/components/EmptyLayout.tsx index 443ea60a8..1b3de9483 100644 --- a/gui/src/components/EmptyLayout.tsx +++ b/gui/src/components/EmptyLayout.tsx @@ -6,7 +6,7 @@ export function EmptyLayout({ children }: { children: ReactNode }) { return (
- +
{children} diff --git a/gui/src/components/ErrorConsentModal.tsx b/gui/src/components/ErrorConsentModal.tsx index f0b7b0bf7..358a80e16 100644 --- a/gui/src/components/ErrorConsentModal.tsx +++ b/gui/src/components/ErrorConsentModal.tsx @@ -35,8 +35,8 @@ export function ErrorConsentModal({ , - h1: , + b: , + h1: , }} >
- +
- +
- +
)}
diff --git a/gui/src/components/Navbar.tsx b/gui/src/components/Navbar.tsx index 50a5b0d43..cfaf81d00 100644 --- a/gui/src/components/Navbar.tsx +++ b/gui/src/components/Navbar.tsx @@ -70,13 +70,13 @@ export function MainLinks() { return ( <> - }> + }> {l10n.getString('navbar-home')} } + icon={} > {l10n.getString('navbar-trackers_assign')} @@ -84,7 +84,7 @@ export function MainLinks() { to="/onboarding/mounting/choose" match="/onboarding/mounting/*" state={{ alonePage: true }} - icon={} + icon={} > {l10n.getString('navbar-mounting')} @@ -92,12 +92,12 @@ export function MainLinks() { to="/onboarding/body-proportions/scaled" match="/onboarding/body-proportions/*" state={{ alonePage: true }} - icon={} + icon={} > {l10n.getString('navbar-body_proportions')} {config?.showNavbarOnboarding && ( - }> + }> {l10n.getString('navbar-onboarding')} )} @@ -111,18 +111,18 @@ export function Navbar() { return isMobile ? (
- +
) : (
- +
} + icon={} > {l10n.getString('navbar-settings')} diff --git a/gui/src/components/SerialDetectionModal.tsx b/gui/src/components/SerialDetectionModal.tsx index 68653650d..599935cf1 100644 --- a/gui/src/components/SerialDetectionModal.tsx +++ b/gui/src/components/SerialDetectionModal.tsx @@ -69,7 +69,7 @@ export function SerialDetectionModal() { {!showWifiForm && ( <>
- +
{l10n.getString('serial_detection-new_device-p0')} @@ -101,7 +101,7 @@ export function SerialDetectionModal() { >
- +
{l10n.getString('serial_detection-new_device-p0')} diff --git a/gui/src/components/TopBar.tsx b/gui/src/components/TopBar.tsx index 8f739e939..94f24c398 100644 --- a/gui/src/components/TopBar.tsx +++ b/gui/src/components/TopBar.tsx @@ -155,7 +155,7 @@ export function TopBar({ return ( <>
-
+
- + )} {(isTauri || !isMobile) && !config?.decorations && ( @@ -181,7 +181,7 @@ export function TopBar({ )} {(!(isMobile && !config?.decorations) || showVersionMobile) && ( <> - + {doesMatchSettings && (
window.open(url, '_blank')); }} > - +
)}
@@ -222,11 +222,7 @@ export function TopBar({ data-tauri-drag-region > {progress !== undefined && ( - + )}
@@ -256,7 +252,7 @@ export function TopBar({ data-tauri-drag-region state={{ scrollTo: 'steamvr' }} > - + {!isMobile && ( @@ -271,7 +267,7 @@ export function TopBar({ ) } > - +
)} @@ -281,19 +277,19 @@ export function TopBar({ className="flex items-center justify-center hover:bg-background-60 rounded-full w-7 h-7" onClick={() => getCurrentWindow().minimize()} > - +
getCurrentWindow().toggleMaximize()} > - +
tryCloseApp()} > - +
)} @@ -301,7 +297,7 @@ export function TopBar({
{isMobile && progress !== undefined && (
- +
)}
@@ -335,7 +331,7 @@ export function TopBar({ setConnectedTrackerWarning(false); getCurrentWindow().requestUserAttention(null); }} - > + /> setConfig({ errorTracking: true })} diff --git a/gui/src/components/TrackingPauseButton.tsx b/gui/src/components/TrackingPauseButton.tsx index aa5578d29..26e4390e3 100644 --- a/gui/src/components/TrackingPauseButton.tsx +++ b/gui/src/components/TrackingPauseButton.tsx @@ -45,7 +45,7 @@ export function TrackingPauseButton( } onClick={toggleTracking} className={classNames(props.className, 'min-h-24')} - > + /> ); } diff --git a/gui/src/components/TrayOrExitModal.tsx b/gui/src/components/TrayOrExitModal.tsx index 445725c71..7556628d4 100644 --- a/gui/src/components/TrayOrExitModal.tsx +++ b/gui/src/components/TrayOrExitModal.tsx @@ -57,13 +57,13 @@ export function TrayOrExitModal({ name="exitType" label={l10n.getString('tray_or_exit_modal-radio-exit')} value="0" - > + /> + />
+ /> {trackers?.map(({ tracker }, index) => ( - + {slotsButtonsPos.map((dotData) => ( + />
{leftControls} @@ -210,7 +210,7 @@ export function BodyInteractions({ variant === 'tracker-select' && 'mobile:mx-0 xs:mx-10' )} > - + {slotsButtonsPos.map( ({ top, left, height, width, id, hidden, buttonOffset }) => (
+ /> )}
+ />
) diff --git a/gui/src/components/commons/BodyPartIcon.tsx b/gui/src/components/commons/BodyPartIcon.tsx index ae539b0c2..c0ca71005 100644 --- a/gui/src/components/commons/BodyPartIcon.tsx +++ b/gui/src/components/commons/BodyPartIcon.tsx @@ -28,155 +28,103 @@ export const mapPart: Record< currentLocales: string[]; }) => JSX.Element > = { - [BodyPart.UPPER_CHEST]: ({ width }) => ( - - ), - [BodyPart.CHEST]: ({ width }) => , - [BodyPart.HEAD]: ({ width }) => , - [BodyPart.HIP]: ({ width }) => , - [BodyPart.LEFT_HIP]: ({ width }) => , // Unused - [BodyPart.RIGHT_HIP]: ({ width }) => , // Unused + [BodyPart.UPPER_CHEST]: ({ width }) => , + [BodyPart.CHEST]: ({ width }) => , + [BodyPart.HEAD]: ({ width }) => , + [BodyPart.HIP]: ({ width }) => , + [BodyPart.LEFT_HIP]: ({ width }) => , // Unused + [BodyPart.RIGHT_HIP]: ({ width }) => , // Unused [BodyPart.LEFT_FOOT]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( - + ) : ( - + ), - [BodyPart.LEFT_HAND]: ({ width }) => ( - - ), - [BodyPart.LEFT_LOWER_ARM]: ({ width }) => ( - - ), - [BodyPart.LEFT_LOWER_LEG]: ({ width }) => ( - - ), - [BodyPart.LEFT_SHOULDER]: ({ width }) => ( - - ), - [BodyPart.LEFT_UPPER_ARM]: ({ width }) => ( - - ), - [BodyPart.LEFT_UPPER_LEG]: ({ width }) => ( - - ), - [BodyPart.NECK]: ({ width }) => , - [BodyPart.NONE]: ({ width }) => , + [BodyPart.LEFT_HAND]: ({ width }) => , + [BodyPart.LEFT_LOWER_ARM]: ({ width }) => , + [BodyPart.LEFT_LOWER_LEG]: ({ width }) => , + [BodyPart.LEFT_SHOULDER]: ({ width }) => , + [BodyPart.LEFT_UPPER_ARM]: ({ width }) => , + [BodyPart.LEFT_UPPER_LEG]: ({ width }) => , + [BodyPart.NECK]: ({ width }) => , + [BodyPart.NONE]: ({ width }) => , [BodyPart.RIGHT_FOOT]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( - + ) : ( - + ), [BodyPart.RIGHT_HAND]: ({ width }) => ( - + ), [BodyPart.RIGHT_LOWER_ARM]: ({ width }) => ( - + ), [BodyPart.RIGHT_LOWER_LEG]: ({ width }) => ( - - ), - [BodyPart.RIGHT_SHOULDER]: ({ width }) => ( - + ), + [BodyPart.RIGHT_SHOULDER]: ({ width }) => , [BodyPart.RIGHT_UPPER_ARM]: ({ width }) => ( - + ), [BodyPart.RIGHT_UPPER_LEG]: ({ width }) => ( - + ), - [BodyPart.WAIST]: ({ width }) => , + [BodyPart.WAIST]: ({ width }) => , [BodyPart.LEFT_THUMB_METACARPAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => , + [BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => , + [BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_INDEX_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => , + [BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_MIDDLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => , + [BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_RING_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_RING_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_RING_DISTAL]: ({ width }) => , + [BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_LITTLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => , [BodyPart.RIGHT_THUMB_METACARPAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => , + [BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => , + [BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => , [BodyPart.RIGHT_INDEX_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => , [BodyPart.RIGHT_MIDDLE_PROXIMAL]: ({ width }) => ( - + ), [BodyPart.RIGHT_MIDDLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => , + [BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => , [BodyPart.RIGHT_RING_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_RING_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_RING_DISTAL]: ({ width }) => , [BodyPart.RIGHT_LITTLE_PROXIMAL]: ({ width }) => ( - + ), [BodyPart.RIGHT_LITTLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => , }; export function BodyPartIcon({ diff --git a/gui/src/components/commons/Button.tsx b/gui/src/components/commons/Button.tsx index c85b579f8..d87832388 100644 --- a/gui/src/components/commons/Button.tsx +++ b/gui/src/components/commons/Button.tsx @@ -29,7 +29,7 @@ function ButtonContent({
{loading && (
- +
)} diff --git a/gui/src/components/commons/Checkbox.tsx b/gui/src/components/commons/Checkbox.tsx index 152cd8623..35d238115 100644 --- a/gui/src/components/commons/Checkbox.tsx +++ b/gui/src/components/commons/Checkbox.tsx @@ -101,7 +101,7 @@ export const CheckboxInternal = forwardRef< 'right-0': checked && !loading, 'bg-background-30': disabled, })} - >
+ /> )} {label} @@ -144,7 +144,7 @@ export function CheckBox({ checked={value} onChange={onChange} ref={ref} - > + /> )} /> ); diff --git a/gui/src/components/commons/Dropdown.tsx b/gui/src/components/commons/Dropdown.tsx index 65dabbb7c..b550375d0 100644 --- a/gui/src/components/commons/Dropdown.tsx +++ b/gui/src/components/commons/Dropdown.tsx @@ -72,7 +72,7 @@ export function DropdownItems({
+ />
- +
{error?.message && ( @@ -238,7 +238,7 @@ export function DropdownInside({ onBackdropClick={() => { setOpen(false); }} - >, + />, document.body )} @@ -265,7 +265,7 @@ export function Dropdown({ name={name} onChange={onChange} value={value} - > + /> )} /> ); diff --git a/gui/src/components/commons/FileInput.tsx b/gui/src/components/commons/FileInput.tsx index f2a341754..205973aeb 100644 --- a/gui/src/components/commons/FileInput.tsx +++ b/gui/src/components/commons/FileInput.tsx @@ -49,7 +49,7 @@ export const FileInputContentBlank = ({ , + u: , }} > @@ -85,7 +85,7 @@ export const FileInputContentFile = ({ {directory ? : } {importedFileName} - +
+ /> ); }); @@ -233,7 +233,7 @@ export const FileInput = ({ capture={capture} multiple={multiple} importedFileName={importedFileName} - > + /> )} /> ); diff --git a/gui/src/components/commons/Input.tsx b/gui/src/components/commons/Input.tsx index 00637f064..3cbf9b691 100644 --- a/gui/src/components/commons/Input.tsx +++ b/gui/src/components/commons/Input.tsx @@ -98,13 +98,13 @@ export const InputInside = forwardRef< value={computedValue} // Do we want that behaviour ? disabled={disabled} ref={ref} - > + /> {type === 'password' && (
- +
)} {error?.message && ( @@ -154,7 +154,7 @@ export const Input = ({ onChange={onChange} ref={ref} name={name} - > + /> )} /> ); diff --git a/gui/src/components/commons/LangSelector.tsx b/gui/src/components/commons/LangSelector.tsx index aaf6cfa8b..338daeecd 100644 --- a/gui/src/components/commons/LangSelector.tsx +++ b/gui/src/components/commons/LangSelector.tsx @@ -59,6 +59,6 @@ export function LangSelector({ items={languagesItems} direction={direction} alignment={alignment} - > + /> ); } diff --git a/gui/src/components/commons/PersonFrontIcon.tsx b/gui/src/components/commons/PersonFrontIcon.tsx index 78849998e..d47871e59 100644 --- a/gui/src/components/commons/PersonFrontIcon.tsx +++ b/gui/src/components/commons/PersonFrontIcon.tsx @@ -38,11 +38,7 @@ export function PersonFrontIcon({ viewBox="0 0 165 392" xmlns="http://www.w3.org/2000/svg" > - + {/* */} + /> ))} ); @@ -74,7 +74,7 @@ export function Bar({ width: `${value * 100}%`, height: `${height}px`, }} - > + /> ); } diff --git a/gui/src/components/commons/TipBox.tsx b/gui/src/components/commons/TipBox.tsx index 967b1bb73..e92e897b3 100644 --- a/gui/src/components/commons/TipBox.tsx +++ b/gui/src/components/commons/TipBox.tsx @@ -28,7 +28,7 @@ export function TipBox({ hideIcon && 'hidden' )} > - +
- +
+ />
close()} > - +
{isPrevious ? ( - + ) : ( {index + 1} )} @@ -141,7 +141,7 @@ export default function VerticalStepper({ prevStep={prevStep} goTo={goTo} isActive={currStep === index} - > + /> ))} diff --git a/gui/src/components/commons/icon/ChestIcon.tsx b/gui/src/components/commons/icon/ChestIcon.tsx index aca7de67c..722ead53c 100644 --- a/gui/src/components/commons/icon/ChestIcon.tsx +++ b/gui/src/components/commons/icon/ChestIcon.tsx @@ -7,7 +7,7 @@ export function ChestIcon({ width = 24 }: { width?: number }) { width={width} viewBox="0 0 50 50" > - + ); } diff --git a/gui/src/components/commons/icon/ControllerIcon.tsx b/gui/src/components/commons/icon/ControllerIcon.tsx index 372ea4035..64fcccacd 100644 --- a/gui/src/components/commons/icon/ControllerIcon.tsx +++ b/gui/src/components/commons/icon/ControllerIcon.tsx @@ -23,23 +23,23 @@ export function ControllerIcon({ + /> + /> + /> + /> + /> diff --git a/gui/src/components/commons/icon/CrossIcon.tsx b/gui/src/components/commons/icon/CrossIcon.tsx index 7e63b8153..e3fabe687 100644 --- a/gui/src/components/commons/icon/CrossIcon.tsx +++ b/gui/src/components/commons/icon/CrossIcon.tsx @@ -17,7 +17,7 @@ export function CrossIcon({ fillRule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clipRule="evenodd" - > + /> ); } diff --git a/gui/src/components/commons/icon/FootIcon.tsx b/gui/src/components/commons/icon/FootIcon.tsx index 1098367eb..76c1c3112 100644 --- a/gui/src/components/commons/icon/FootIcon.tsx +++ b/gui/src/components/commons/icon/FootIcon.tsx @@ -16,7 +16,7 @@ export function FootIcon({ + /> ); } diff --git a/gui/src/components/commons/icon/HeadsetIcon.tsx b/gui/src/components/commons/icon/HeadsetIcon.tsx index 22d1eca47..f868612e0 100644 --- a/gui/src/components/commons/icon/HeadsetIcon.tsx +++ b/gui/src/components/commons/icon/HeadsetIcon.tsx @@ -4,7 +4,7 @@ export function HeadsetIcon({ width = 24 }: { width?: number }) { + /> ); } diff --git a/gui/src/components/commons/icon/HumanIcon.tsx b/gui/src/components/commons/icon/HumanIcon.tsx index 83517c736..813a9e86a 100644 --- a/gui/src/components/commons/icon/HumanIcon.tsx +++ b/gui/src/components/commons/icon/HumanIcon.tsx @@ -1,8 +1,8 @@ export function HumanIcon({ width = 20 }: { width?: number }) { return ( - - + + ); } diff --git a/gui/src/components/commons/icon/LoaderIcon.tsx b/gui/src/components/commons/icon/LoaderIcon.tsx index 345f58770..4862d9f66 100644 --- a/gui/src/components/commons/icon/LoaderIcon.tsx +++ b/gui/src/components/commons/icon/LoaderIcon.tsx @@ -20,28 +20,28 @@ export function LoaderIcon({ alt="Slime jumping" width={size} // className="crisp-edges" - > + /> + /> + /> + /> ); } diff --git a/gui/src/components/commons/icon/LowerArmIcon.tsx b/gui/src/components/commons/icon/LowerArmIcon.tsx index 20b7cb2c3..bcc4645eb 100644 --- a/gui/src/components/commons/icon/LowerArmIcon.tsx +++ b/gui/src/components/commons/icon/LowerArmIcon.tsx @@ -16,7 +16,7 @@ export function LowerArmIcon({ + /> ); } diff --git a/gui/src/components/commons/icon/PawIcon.tsx b/gui/src/components/commons/icon/PawIcon.tsx index 47eef1132..b90c87ff2 100644 --- a/gui/src/components/commons/icon/PawIcon.tsx +++ b/gui/src/components/commons/icon/PawIcon.tsx @@ -15,7 +15,7 @@ export function PawIcon({ + /> ); } diff --git a/gui/src/components/commons/icon/SlimeUpIcon.tsx b/gui/src/components/commons/icon/SlimeUpIcon.tsx index b6cdfc06c..49c788b21 100644 --- a/gui/src/components/commons/icon/SlimeUpIcon.tsx +++ b/gui/src/components/commons/icon/SlimeUpIcon.tsx @@ -15,11 +15,11 @@ export function SlimeUpIcon({ width = 60 }: { width?: number }) { strokeWidth="0.265" rx="6.963" ry="3.423" - > + /> + /> ); diff --git a/gui/src/components/commons/icon/SlimeVRIcon.tsx b/gui/src/components/commons/icon/SlimeVRIcon.tsx index e2a845a72..57bbc9fc0 100644 --- a/gui/src/components/commons/icon/SlimeVRIcon.tsx +++ b/gui/src/components/commons/icon/SlimeVRIcon.tsx @@ -9,13 +9,13 @@ export function SlimeVRIcon({ width = 28 }: { width?: number }) { viewBox="0 0 380 380" > - - + + + /> ); diff --git a/gui/src/components/commons/icon/TaybolIcon.tsx b/gui/src/components/commons/icon/TaybolIcon.tsx index 0650e8924..77cc6a0a2 100644 --- a/gui/src/components/commons/icon/TaybolIcon.tsx +++ b/gui/src/components/commons/icon/TaybolIcon.tsx @@ -11,11 +11,11 @@ export function TaybolIcon({ width = 784 }: { width?: string | number }) { + /> + /> ); diff --git a/gui/src/components/commons/icon/UpperArmIcon.tsx b/gui/src/components/commons/icon/UpperArmIcon.tsx index 0c9911731..b8b26563c 100644 --- a/gui/src/components/commons/icon/UpperArmIcon.tsx +++ b/gui/src/components/commons/icon/UpperArmIcon.tsx @@ -16,7 +16,7 @@ export function UpperArmIcon({ + /> ); } diff --git a/gui/src/components/commons/icon/UpperChestIcon.tsx b/gui/src/components/commons/icon/UpperChestIcon.tsx index 92737fcfd..29530522f 100644 --- a/gui/src/components/commons/icon/UpperChestIcon.tsx +++ b/gui/src/components/commons/icon/UpperChestIcon.tsx @@ -7,7 +7,7 @@ export function UpperChestIcon({ width = 24 }: { width?: number }) { width={width} viewBox="0 0 50 50" > - + ); } diff --git a/gui/src/components/commons/icon/UpperLegIcon.tsx b/gui/src/components/commons/icon/UpperLegIcon.tsx index 11a531a49..3e4bdce5d 100644 --- a/gui/src/components/commons/icon/UpperLegIcon.tsx +++ b/gui/src/components/commons/icon/UpperLegIcon.tsx @@ -16,7 +16,7 @@ export function UpperLegIcon({ + /> ); } diff --git a/gui/src/components/commons/icon/WaistIcon.tsx b/gui/src/components/commons/icon/WaistIcon.tsx index a7a6aba37..778b449cd 100644 --- a/gui/src/components/commons/icon/WaistIcon.tsx +++ b/gui/src/components/commons/icon/WaistIcon.tsx @@ -7,7 +7,7 @@ export function WaistIcon({ width = 24 }: { width?: number }) { width={width} viewBox="0 0 72 72" > - + ); } diff --git a/gui/src/components/firmware-tool/DeviceCard.tsx b/gui/src/components/firmware-tool/DeviceCard.tsx index 36429acbe..eead4834a 100644 --- a/gui/src/components/firmware-tool/DeviceCard.tsx +++ b/gui/src/components/firmware-tool/DeviceCard.tsx @@ -101,18 +101,18 @@ export function DeviceCardControl({ checked={value || false} type="checkbox" disabled={disabled} - > + />
- +
)} - > + /> ) : (
- +
)}
+ />
{online !== null && (
@@ -137,7 +137,7 @@ export function DeviceCardControl({ status={ online ? TrackerStatusEnum.OK : TrackerStatusEnum.DISCONNECTED } - > + />
)} diff --git a/gui/src/components/firmware-tool/FirmwareTool.tsx b/gui/src/components/firmware-tool/FirmwareTool.tsx index c8786c73a..37e682c83 100644 --- a/gui/src/components/firmware-tool/FirmwareTool.tsx +++ b/gui/src/components/firmware-tool/FirmwareTool.tsx @@ -103,26 +103,26 @@ function FirmwareToolContent() {
{isError && (
- + {!isCompatible ? ( - + ) : ( - + )} - +
)} {isLoading && (
- + - +
)} diff --git a/gui/src/components/firmware-tool/steps/BoardDefaultsStep.tsx b/gui/src/components/firmware-tool/steps/BoardDefaultsStep.tsx index 5bd510641..4825dc390 100644 --- a/gui/src/components/firmware-tool/steps/BoardDefaultsStep.tsx +++ b/gui/src/components/firmware-tool/steps/BoardDefaultsStep.tsx @@ -39,7 +39,7 @@ function BoardDefaultsGraph({ graph }: { graph: ComponentNode[] }) { className="p-2 rounded-full fill-background-10 hover:bg-background-50 hover:fill-status-critical cursor-pointer" onClick={() => onDelete && onDelete()} > - +
)} @@ -65,7 +65,7 @@ function BoardDefaultsGraph({ graph }: { graph: ComponentNode[] }) { checked={c.value} variant="toggle" outlined - > + /> ); } @@ -86,7 +86,7 @@ function BoardDefaultsGraph({ graph }: { graph: ComponentNode[] }) { } variant="primary" onChange={(e) => c.onMutate(e.currentTarget.value)} - > + /> ); } @@ -109,7 +109,7 @@ function BoardDefaultsGraph({ graph }: { graph: ComponentNode[] }) { value={c.value} variant="secondary" maxHeight={200} - > + /> ); } @@ -140,7 +140,7 @@ function BoardDefaultsGraph({ graph }: { graph: ComponentNode[] }) {
- +
@@ -205,21 +205,17 @@ export function BoardDefaultsStep({ {l10n.getString('firmware_tool-board_defaults-description')} - +
- + + +
diff --git a/gui/src/components/firmware-tool/steps/BuildStep.tsx b/gui/src/components/firmware-tool/steps/BuildStep.tsx index c2cb1283b..1667999a9 100644 --- a/gui/src/components/firmware-tool/steps/BuildStep.tsx +++ b/gui/src/components/firmware-tool/steps/BuildStep.tsx @@ -92,7 +92,7 @@ export function BuildStep({ ? SlimeState.JUMPY : SlimeState.SAD } - > + /> {l10n.getString('firmware_tool-build-' + buildStatus.status)} @@ -110,14 +110,14 @@ export function BuildStep({ prevStep(); } }} - > + /> + /> diff --git a/gui/src/components/firmware-tool/steps/FlashBtnStep.tsx b/gui/src/components/firmware-tool/steps/FlashBtnStep.tsx index 846344f84..fdbe33be7 100644 --- a/gui/src/components/firmware-tool/steps/FlashBtnStep.tsx +++ b/gui/src/components/firmware-tool/steps/FlashBtnStep.tsx @@ -32,7 +32,7 @@ export function FlashBtnStep({ 'firmware_tool-flashbtn_step-board_SLIMEVR-r11' )} - +
R12 @@ -41,7 +41,7 @@ export function FlashBtnStep({ 'firmware_tool-flashbtn_step-board_SLIMEVR-r12' )} - +
@@ -51,7 +51,7 @@ export function FlashBtnStep({ 'firmware_tool-flashbtn_step-board_SLIMEVR-r14' )} - +
@@ -69,7 +69,7 @@ export function FlashBtnStep({ onClick={() => { prevStep(); }} - > + /> + /> diff --git a/gui/src/components/firmware-tool/steps/FlashingMethodStep.tsx b/gui/src/components/firmware-tool/steps/FlashingMethodStep.tsx index 0112a2b88..1f2fef8f1 100644 --- a/gui/src/components/firmware-tool/steps/FlashingMethodStep.tsx +++ b/gui/src/components/firmware-tool/steps/FlashingMethodStep.tsx @@ -148,18 +148,18 @@ function SerialDevicesList({ return (
); @@ -291,16 +291,16 @@ function OTADevicesList({ return (
- + - + {devices.length === 0 && (
- + - +
)} @@ -312,7 +312,7 @@ function OTADevicesList({ name={`ota.selectedDevices.id-${device.id?.id ?? 0}`} deviceNames={deviceNames(device)} color="bg-background-70" - > + /> ))}
@@ -402,7 +402,7 @@ export function FlashingMethodStep({ name="flashingMethod" value={FirmwareUpdateMethod.OTAFirmwareUpdate.toString()} label="" - > + /> + />
@@ -424,7 +424,7 @@ export function FlashingMethodStep({ control={control} watch={watch} reset={reset} - > + /> )} {flashingMethod === FirmwareUpdateMethod.OTAFirmwareUpdate.toString() && ( @@ -433,7 +433,7 @@ export function FlashingMethodStep({ control={control} watch={watch} reset={reset} - > + /> )}
@@ -448,7 +448,7 @@ export function FlashingMethodStep({ goTo('Defaults'); } }} - > + /> + /> diff --git a/gui/src/components/firmware-tool/steps/FlashingStep.tsx b/gui/src/components/firmware-tool/steps/FlashingStep.tsx index 9b28bf2dd..1a19f517b 100644 --- a/gui/src/components/firmware-tool/steps/FlashingStep.tsx +++ b/gui/src/components/firmware-tool/steps/FlashingStep.tsx @@ -185,7 +185,7 @@ export function FlashingStep({ progress={val.progress} key={id} deviceNames={val.deviceNames} - > + /> ); })}
@@ -194,14 +194,14 @@ export function FlashingStep({ variant="secondary" disabled={trackerWithErrors.length === 0} onClick={retryError} - > + /> + /> + />
diff --git a/gui/src/components/firmware-tool/steps/SelectSourceStep.tsx b/gui/src/components/firmware-tool/steps/SelectSourceStep.tsx index ae8b69804..cbf1120cd 100644 --- a/gui/src/components/firmware-tool/steps/SelectSourceStep.tsx +++ b/gui/src/components/firmware-tool/steps/SelectSourceStep.tsx @@ -47,7 +47,7 @@ function Selector({ )} > - + )} @@ -59,7 +59,7 @@ function Selector({ )} > - + )} @@ -195,7 +195,7 @@ export function SelectSourceSetep({
- +
{possibleBoards?.map((board) => ( @@ -217,13 +217,13 @@ export function SelectSourceSetep({ `board_type-${board.replace('BOARD_', '')}` ) ?? board.replace('BOARD_', '').replaceAll('_', ' ') } - > + /> ))}
- +
{sourcesGroupped?.map(({ name, official, disabled }) => ( @@ -239,13 +239,13 @@ export function SelectSourceSetep({ })); }} text={formatSource(name, official)} - > + /> ))}
- +
{possibleVersions?.map(({ name, disabled }) => ( @@ -266,7 +266,7 @@ export function SelectSourceSetep({ })); }} text={name} - > + /> ))}
@@ -281,7 +281,7 @@ export function SelectSourceSetep({ goTo('Build'); else nextStep(); }} - > + />
@@ -289,20 +289,20 @@ export function SelectSourceSetep({ {isFetching && (
- + - +
)} {isError && (
- + - + - +
)} diff --git a/gui/src/components/firmware-update/FirmwareUpdate.tsx b/gui/src/components/firmware-update/FirmwareUpdate.tsx index 85f9a19b1..42fb7e7d6 100644 --- a/gui/src/components/firmware-update/FirmwareUpdate.tsx +++ b/gui/src/components/firmware-update/FirmwareUpdate.tsx @@ -93,7 +93,7 @@ const StatusList = ({ status }: { status: Record }) => { online={device?.trackers.some( ({ status }) => status === TrackerStatus.OK )} - > + /> ); }); }; @@ -336,15 +336,15 @@ export function FirmwareUpdate() {
- +
- + - +
{devices.length === 0 && @@ -361,9 +361,9 @@ export function FirmwareUpdate() { )}
{statusKeys.length > 0 ? ( - + ) : ( - + )} {devices.length === 0 && statusKeys.length === 0 && (
- + - +
)} @@ -385,7 +385,7 @@ export function FirmwareUpdate() { id="firmware_update-changelog-title" vars={{ version: currentFirmwareRelease?.name ?? 'unknown' }} > - +
- + + /> + />
diff --git a/gui/src/components/home/Home.tsx b/gui/src/components/home/Home.tsx index 8685c2725..b5a9898c3 100644 --- a/gui/src/components/home/Home.tsx +++ b/gui/src/components/home/Home.tsx @@ -49,7 +49,7 @@ export function Home() { to="/vr-mode" className="xs:hidden absolute z-50 h-12 w-12 rounded-full bg-accent-background-30 bottom-3 right-3 flex justify-center items-center fill-background-10" > - +
- +
- +
@@ -119,7 +119,7 @@ export function Home() { sendToSettings(tracker)} - > + />
)}
diff --git a/gui/src/components/onboarding/BodyAssignment.tsx b/gui/src/components/onboarding/BodyAssignment.tsx index c6380ca8e..80769a4dc 100644 --- a/gui/src/components/onboarding/BodyAssignment.tsx +++ b/gui/src/components/onboarding/BodyAssignment.tsx @@ -395,7 +395,7 @@ export function BodyAssignment({
} - > + /> ); } diff --git a/gui/src/components/onboarding/NeckWarningModal.tsx b/gui/src/components/onboarding/NeckWarningModal.tsx index eff9ec326..bc0cb718b 100644 --- a/gui/src/components/onboarding/NeckWarningModal.tsx +++ b/gui/src/components/onboarding/NeckWarningModal.tsx @@ -40,7 +40,7 @@ export function NeckWarningModal({
}} + elems={{ b: }} > Warning: A neck tracker can be deadly if adjusted too diff --git a/gui/src/components/onboarding/OnboardingLayout.tsx b/gui/src/components/onboarding/OnboardingLayout.tsx index 671ada5e6..64501ac9c 100644 --- a/gui/src/components/onboarding/OnboardingLayout.tsx +++ b/gui/src/components/onboarding/OnboardingLayout.tsx @@ -15,7 +15,7 @@ export function OnboardingLayout({ children }: { children: ReactNode }) { return !state.alonePage ? (
- +
@@ -23,14 +23,14 @@ export function OnboardingLayout({ children }: { children: ReactNode }) { visible={true} modalVisible={showWarning} onClick={() => setShowWarning(true)} - > + />
{children}
setShowWarning(false)} isOpen={showWarning} - > + />
) : ( diff --git a/gui/src/components/onboarding/SkipSetupButton.tsx b/gui/src/components/onboarding/SkipSetupButton.tsx index 6a57c1d2f..a38d7da1f 100644 --- a/gui/src/components/onboarding/SkipSetupButton.tsx +++ b/gui/src/components/onboarding/SkipSetupButton.tsx @@ -35,7 +35,7 @@ export function SkipSetupButton({ onClick={onClick} >
- +

ESC

diff --git a/gui/src/components/onboarding/SkipSetupWarningModal.tsx b/gui/src/components/onboarding/SkipSetupWarningModal.tsx index 3926649b8..6a76ed660 100644 --- a/gui/src/components/onboarding/SkipSetupWarningModal.tsx +++ b/gui/src/components/onboarding/SkipSetupWarningModal.tsx @@ -40,7 +40,7 @@ export function SkipSetupWarningModal({ >
- }}> + }}> Warning: The setup is needed for good tracking, this is required if this is your first time using SlimeVR. diff --git a/gui/src/components/onboarding/StepperSlider.tsx b/gui/src/components/onboarding/StepperSlider.tsx index 3f5815af8..e203991d1 100644 --- a/gui/src/components/onboarding/StepperSlider.tsx +++ b/gui/src/components/onboarding/StepperSlider.tsx @@ -83,9 +83,7 @@ export function StepDot({ )} onClick={onClick} > - {active && ( -
- )} + {active &&
} {done && }
); @@ -183,7 +181,7 @@ export function StepperSlider({ {Array.from({ length: steps.length }).map((_, index) => (
{index !== 0 && ( -
+
)} }} + elems={{ b: }} > Description on calibration of IMU
- +
- +
+ />
{progressText} @@ -204,7 +204,7 @@ export function CalibrationTutorialPage() {
- +
diff --git a/gui/src/components/onboarding/pages/ConnectTracker.tsx b/gui/src/components/onboarding/pages/ConnectTracker.tsx index 2366b0902..9933454f1 100644 --- a/gui/src/components/onboarding/pages/ConnectTracker.tsx +++ b/gui/src/components/onboarding/pages/ConnectTracker.tsx @@ -189,21 +189,21 @@ export function ConnectTrackersPage() { >
- + + /> + />
@@ -291,7 +291,7 @@ export function ConnectTrackersPage() { height={14} animated={true} colorClass={progressBarClass} - > + />
@@ -339,14 +339,14 @@ export function ConnectTrackersPage() { 'rounded-xl h-16 animate-pulse', state.alonePage ? 'bg-background-80' : 'bg-background-70' )} - >
+ /> )} {tracker && ( + /> )}
))} diff --git a/gui/src/components/onboarding/pages/ConnectionLost.tsx b/gui/src/components/onboarding/pages/ConnectionLost.tsx index 03be72218..2e9e7f253 100644 --- a/gui/src/components/onboarding/pages/ConnectionLost.tsx +++ b/gui/src/components/onboarding/pages/ConnectionLost.tsx @@ -30,21 +30,21 @@ function Error({ title, desc }: { title: string; desc: string }) { return ( <> - +
- + - + {isTauri && (
- + +
)} @@ -65,10 +65,10 @@ export function ConnectionLost() {
{isLoading && ( <> - +
- +
@@ -77,13 +77,10 @@ export function ConnectionLost() { + /> )} {isTimedOut && ( - + )}
diff --git a/gui/src/components/onboarding/pages/Done.tsx b/gui/src/components/onboarding/pages/Done.tsx index 151818d84..6f7f4bcf8 100644 --- a/gui/src/components/onboarding/pages/Done.tsx +++ b/gui/src/components/onboarding/pages/Done.tsx @@ -15,7 +15,7 @@ export function DonePage() { return (
- + {l10n.getString('onboarding-done-title')} diff --git a/gui/src/components/onboarding/pages/Home.tsx b/gui/src/components/onboarding/pages/Home.tsx index 3c33c21d3..019943a0e 100644 --- a/gui/src/components/onboarding/pages/Home.tsx +++ b/gui/src/components/onboarding/pages/Home.tsx @@ -15,7 +15,7 @@ export function HomePage() { <>
- + {l10n.getString('onboarding-home')} @@ -33,7 +33,7 @@ export function HomePage() { height: '300vw', width: '300vw', }} - >
+ /> - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion TORSO_PARTS.indexOf(a.tracker.info!.bodyPart)! - - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion TORSO_PARTS.indexOf(b.tracker.info!.bodyPart)! ), [assignedTrackers] @@ -55,9 +53,7 @@ export function ResetTutorialPage() { ) .sort( (a, b) => - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion RIGHT_LEG_PARTS.indexOf(a.tracker.info!.bodyPart)! - - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion RIGHT_LEG_PARTS.indexOf(b.tracker.info!.bodyPart)! ), [assignedTrackers] @@ -71,9 +67,7 @@ export function ResetTutorialPage() { ) .sort( (a, b) => - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion LEFT_LEG_PARTS.indexOf(a.tracker.info!.bodyPart)! - - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion LEFT_LEG_PARTS.indexOf(b.tracker.info!.bodyPart)! ), [assignedTrackers] @@ -177,7 +171,7 @@ export function ResetTutorialPage() { width={isMobile ? 160 : undefined} trackers={[order[curIndex]]} hideUnassigned={true} - > + />
- +
@@ -49,7 +49,7 @@ export function AssignmentTutorialPage() {
- +
@@ -59,7 +59,7 @@ export function AssignmentTutorialPage() {
- +
diff --git a/gui/src/components/onboarding/pages/assignment-preparation/ExtensionArrow.tsx b/gui/src/components/onboarding/pages/assignment-preparation/ExtensionArrow.tsx index a27215e1f..dda1c29c0 100644 --- a/gui/src/components/onboarding/pages/assignment-preparation/ExtensionArrow.tsx +++ b/gui/src/components/onboarding/pages/assignment-preparation/ExtensionArrow.tsx @@ -11,13 +11,13 @@ export function ExtensionArrow({ width = 731 }: { width?: number | string }) { + /> + /> + /> diff --git a/gui/src/components/onboarding/pages/assignment-preparation/StickerSlime.tsx b/gui/src/components/onboarding/pages/assignment-preparation/StickerSlime.tsx index abeb81a0b..d72b1f705 100644 --- a/gui/src/components/onboarding/pages/assignment-preparation/StickerSlime.tsx +++ b/gui/src/components/onboarding/pages/assignment-preparation/StickerSlime.tsx @@ -14,7 +14,7 @@ export function StickerSlime({ width = 820 }: { width?: number | string }) { + /> + /> + /> + /> + /> diff --git a/gui/src/components/onboarding/pages/body-proportions/AutomaticProportions.tsx b/gui/src/components/onboarding/pages/body-proportions/AutomaticProportions.tsx index 47071326a..23ed65f14 100644 --- a/gui/src/components/onboarding/pages/body-proportions/AutomaticProportions.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/AutomaticProportions.tsx @@ -53,7 +53,7 @@ export function AutomaticProportionsPage() { { type: 'numbered', component: VerifyResultsStep }, { type: 'fullsize', component: DoneStep }, ]} - > + />
diff --git a/gui/src/components/onboarding/pages/body-proportions/BodyProportions.tsx b/gui/src/components/onboarding/pages/body-proportions/BodyProportions.tsx index 675a924aa..ada785359 100644 --- a/gui/src/components/onboarding/pages/body-proportions/BodyProportions.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/BodyProportions.tsx @@ -141,7 +141,7 @@ function ProportionItem({ + /> } preferedDirection="bottom" @@ -228,11 +228,7 @@ function ProportionItem({ )} onClick={toggleOpen} > - {open ? ( - - ) : ( - - )} + {open ? : }
)}
@@ -252,7 +248,7 @@ function ProportionItem({ precise={precise} part={part} onBoneChange={onBoneChange} - > + /> ))}
@@ -285,7 +281,7 @@ export function BodyProportions({ part={part} precise={precise} onBoneChange={changeBoneValue} - > + /> ))}
diff --git a/gui/src/components/onboarding/pages/body-proportions/ManualProportions.tsx b/gui/src/components/onboarding/pages/body-proportions/ManualProportions.tsx index a464526aa..c7726e0d7 100644 --- a/gui/src/components/onboarding/pages/body-proportions/ManualProportions.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/ManualProportions.tsx @@ -216,7 +216,7 @@ function ImportExportButtons() { <>
} + icon={} onClick={onImport} className={classNames( 'transition-colors', @@ -225,13 +225,13 @@ function ImportExportButtons() { )} > - +
} + icon={} onClick={() => { exporting.current = true; @@ -242,7 +242,7 @@ function ImportExportButtons() { }} > - +
@@ -264,26 +264,26 @@ function LinearRatioToggle({ control }: { control: ManualProportionControls }) { <> {value ? ( } + icon={} onClick={() => onChange(!value)} > - + ) : ( } + icon={} onClick={() => onChange(!value)} > - + )} )} - > + /> ); } @@ -300,7 +300,7 @@ function PreciseToggle({ control }: { control: ManualProportionControls }) { onClick={() => onChange(!value)} > - + ) : ( @@ -309,13 +309,13 @@ function PreciseToggle({ control }: { control: ManualProportionControls }) { onClick={() => onChange(!value)} > - + )} )} - > + /> ); } @@ -347,18 +347,18 @@ function ButtonsControl({ control }: { control: ManualProportionControls }) { return (
- +
- +
} + icon={} onClick={() => setShowWarning(true)} > - +
@@ -373,11 +373,11 @@ function ButtonsControl({ control }: { control: ManualProportionControls }) { : 'onboarding-manual_proportions-fine_tuning_button' } > - + } disabled={!canUseFineTuning} - icon={} + icon={} onClick={() => nav('/onboarding/body-proportions/auto', { state: { alonePage: state.alonePage }, @@ -385,12 +385,12 @@ function ButtonsControl({ control }: { control: ManualProportionControls }) { } > - +
-
- +
+ { resetAll(); @@ -398,7 +398,7 @@ function ButtonsControl({ control }: { control: ManualProportionControls }) { }} onClose={() => setShowWarning(false)} isOpen={showWarning} - > + />
); } @@ -445,13 +445,13 @@ export function ManualProportionsPage() { <>
- +
+ />
@@ -479,13 +479,13 @@ export function ManualProportionsPage() { type={ResetType.Full} size="small" className="w-full h-full bg-background-50 hover:bg-background-40 text-background-10" - > + />
- + } > diff --git a/gui/src/components/onboarding/pages/body-proportions/ProportionsResetModal.tsx b/gui/src/components/onboarding/pages/body-proportions/ProportionsResetModal.tsx index b60861b50..4097e4f39 100644 --- a/gui/src/components/onboarding/pages/body-proportions/ProportionsResetModal.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/ProportionsResetModal.tsx @@ -58,7 +58,7 @@ export function ProportionsResetModal({ ? 'reset-reset_all_warning_default-v2' : 'reset-reset_all_warning-v2' } - elems={{ b: }} + elems={{ b: }} > Warning: This will reset your proportions to being just diff --git a/gui/src/components/onboarding/pages/body-proportions/ScaledProportions.tsx b/gui/src/components/onboarding/pages/body-proportions/ScaledProportions.tsx index 4be691698..ffc5355a2 100644 --- a/gui/src/components/onboarding/pages/body-proportions/ScaledProportions.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/ScaledProportions.tsx @@ -62,22 +62,22 @@ export function ScaledProportionsPage() { }} + elems={{ b: }} > + />
    {!hasHmd && ( -
  • +
  • )} {!hasHandControllers && ( -
  • +
  • )}
@@ -101,7 +101,7 @@ export function ScaledProportionsPage() { ] } back={() => navigate('/onboarding/reset-tutorial', { state })} - > + />
{state.alonePage && (
@@ -110,7 +110,7 @@ export function ScaledProportionsPage() { to="/onboarding/body-proportions/manual" variant="secondary" state={{ alonePage: state.alonePage }} - > + />
)} diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/AutoboneErrorModal.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/AutoboneErrorModal.tsx index caee7db6e..e4c6deb78 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/AutoboneErrorModal.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/AutoboneErrorModal.tsx @@ -36,13 +36,13 @@ export function AutoboneErrorModal({
, + b: , docs: (
+ /> ), - discord: , + discord: , }} > diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckFloorHeight.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckFloorHeight.tsx index 86c5a0496..5a794a8bd 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckFloorHeight.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckFloorHeight.tsx @@ -79,7 +79,7 @@ export function CheckFloorHeightStep({ }} + elems={{ u: }} > Press the button to get your height! diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckHeight.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckHeight.tsx index 7af1e4fa2..967be0dac 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckHeight.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/CheckHeight.tsx @@ -67,7 +67,7 @@ export function CheckHeightStep({ }} + elems={{ u: }} > Press the button to get your height! diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Preparation.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Preparation.tsx index 8a23b2cb2..5d7c58d06 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Preparation.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Preparation.tsx @@ -26,19 +26,19 @@ export function PreparationStep({
- + - + - +
- +
- +
- + + />
diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Recording.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Recording.tsx index 01bb44386..b1ede5c17 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Recording.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/Recording.tsx @@ -81,11 +81,11 @@ export function Recording({ setModalOpen(false); resetSteps(); }} - > + />
-
+
{l10n.getString( 'onboarding-automatic_proportions-recording-title' @@ -136,7 +136,7 @@ export function Recording({ () => 'bg-status-success' ) .otherwise(() => undefined)} - > + /> {match([hasCalibration, hasRecording]) .returnType() @@ -160,7 +160,7 @@ export function Recording({ className="absolute w-[100px] h-[100px] top-0 bottom-0 left-0 right-0 m-auto fill-background-20" hidden={!paused} > - +
+ />
); diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/StartRecording.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/StartRecording.tsx index 3a27596f7..bd5bcce2a 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/StartRecording.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/StartRecording.tsx @@ -93,7 +93,7 @@ export function StartRecording({ className="absolute w-[100px] h-[100px] top-0 bottom-0 left-0 right-0 m-auto fill-background-20" hidden={!paused} > - +
+ />
diff --git a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/TooSmolModal.tsx b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/TooSmolModal.tsx index a7023a26a..98495db82 100644 --- a/gui/src/components/onboarding/pages/body-proportions/autobone-steps/TooSmolModal.tsx +++ b/gui/src/components/onboarding/pages/body-proportions/autobone-steps/TooSmolModal.tsx @@ -48,7 +48,7 @@ export function TooSmolModal({
diff --git a/gui/src/components/onboarding/pages/mounting/ManualMounting.tsx b/gui/src/components/onboarding/pages/mounting/ManualMounting.tsx index 70a289827..c56cb5032 100644 --- a/gui/src/components/onboarding/pages/mounting/ManualMounting.tsx +++ b/gui/src/components/onboarding/pages/mounting/ManualMounting.tsx @@ -92,7 +92,7 @@ export function ManualMountingPage() { isOpen={selectedRole !== BodyPart.NONE} onClose={() => setSelectRole(BodyPart.NONE)} onDirectionSelected={onDirectionSelected} - > + />
@@ -125,7 +125,7 @@ export function ManualMountingPage() { onlyAssigned={true} assignMode={AssignMode.All} onRoleSelected={setSelectRole} - > + />
diff --git a/gui/src/components/onboarding/pages/mounting/MountingChoose.tsx b/gui/src/components/onboarding/pages/mounting/MountingChoose.tsx index 8ac7e4329..846943519 100644 --- a/gui/src/components/onboarding/pages/mounting/MountingChoose.tsx +++ b/gui/src/components/onboarding/pages/mounting/MountingChoose.tsx @@ -90,7 +90,7 @@ export function MountingChoose() { 'absolute w-[100px] -right-2 -top-10', animated && 'animate-[bounce_1s_1]' )} - > + /> {l10n.getString( 'onboarding-choose_mounting-manual_mounting' @@ -134,7 +134,7 @@ export function MountingChoose() { accept={skipSetup} onClose={() => setShowWarning(false)} isOpen={showWarning} - > + /> ); } diff --git a/gui/src/components/onboarding/pages/mounting/MountingSelectionMenu.tsx b/gui/src/components/onboarding/pages/mounting/MountingSelectionMenu.tsx index 1addcc830..0c722be4a 100644 --- a/gui/src/components/onboarding/pages/mounting/MountingSelectionMenu.tsx +++ b/gui/src/components/onboarding/pages/mounting/MountingSelectionMenu.tsx @@ -23,171 +23,131 @@ export const mapPart: Record< currentLocales: string[]; }) => JSX.Element > = { - [BodyPart.UPPER_CHEST]: ({ width }) => , - [BodyPart.CHEST]: ({ width }) => , - [BodyPart.HEAD]: ({ width }) => , - [BodyPart.HIP]: ({ width }) => , - [BodyPart.LEFT_HIP]: ({ width }) => , // Unused - [BodyPart.RIGHT_HIP]: ({ width }) => , // Unused + [BodyPart.UPPER_CHEST]: ({ width }) => , + [BodyPart.CHEST]: ({ width }) => , + [BodyPart.HEAD]: ({ width }) => , + [BodyPart.HIP]: ({ width }) => , + [BodyPart.LEFT_HIP]: ({ width }) => , // Unused + [BodyPart.RIGHT_HIP]: ({ width }) => , // Unused [BodyPart.LEFT_FOOT]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.LEFT_HAND]: ({ width }) => , - [BodyPart.LEFT_LOWER_ARM]: ({ width }) => , + [BodyPart.LEFT_HAND]: ({ width }) => , + [BodyPart.LEFT_LOWER_ARM]: ({ width }) => , [BodyPart.LEFT_LOWER_LEG]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.LEFT_SHOULDER]: ({ width }) => , - [BodyPart.LEFT_UPPER_ARM]: ({ width }) => , + [BodyPart.LEFT_SHOULDER]: ({ width }) => , + [BodyPart.LEFT_UPPER_ARM]: ({ width }) => , [BodyPart.LEFT_UPPER_LEG]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.NECK]: ({ width }) => , - [BodyPart.NONE]: ({ width }) => , + [BodyPart.NECK]: ({ width }) => , + [BodyPart.NONE]: ({ width }) => , [BodyPart.RIGHT_FOOT]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.RIGHT_HAND]: ({ width }) => , - [BodyPart.RIGHT_LOWER_ARM]: ({ width }) => ( - - ), + [BodyPart.RIGHT_HAND]: ({ width }) => , + [BodyPart.RIGHT_LOWER_ARM]: ({ width }) => , [BodyPart.RIGHT_LOWER_LEG]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.RIGHT_SHOULDER]: ({ width }) => , - [BodyPart.RIGHT_UPPER_ARM]: ({ width }) => ( - - ), + [BodyPart.RIGHT_SHOULDER]: ({ width }) => , + [BodyPart.RIGHT_UPPER_ARM]: ({ width }) => , [BodyPart.RIGHT_UPPER_LEG]: ({ width, currentLocales }) => currentLocales.includes('en-x-owo') ? ( + /> ) : ( - + ), - [BodyPart.WAIST]: ({ width }) => , + [BodyPart.WAIST]: ({ width }) => , [BodyPart.LEFT_THUMB_METACARPAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_THUMB_PROXIMAL]: ({ width }) => , + [BodyPart.LEFT_THUMB_DISTAL]: ({ width }) => , + [BodyPart.LEFT_INDEX_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_INDEX_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_INDEX_DISTAL]: ({ width }) => , + [BodyPart.LEFT_MIDDLE_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_MIDDLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_MIDDLE_DISTAL]: ({ width }) => , + [BodyPart.LEFT_RING_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_RING_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_RING_DISTAL]: ({ width }) => ( - - ), - [BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_RING_DISTAL]: ({ width }) => , + [BodyPart.LEFT_LITTLE_PROXIMAL]: ({ width }) => , [BodyPart.LEFT_LITTLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => ( - + ), + [BodyPart.LEFT_LITTLE_DISTAL]: ({ width }) => , [BodyPart.RIGHT_THUMB_METACARPAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_THUMB_PROXIMAL]: ({ width }) => , + [BodyPart.RIGHT_THUMB_DISTAL]: ({ width }) => , + [BodyPart.RIGHT_INDEX_PROXIMAL]: ({ width }) => , [BodyPart.RIGHT_INDEX_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_INDEX_DISTAL]: ({ width }) => , [BodyPart.RIGHT_MIDDLE_PROXIMAL]: ({ width }) => ( - + ), [BodyPart.RIGHT_MIDDLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => ( - - ), - [BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_MIDDLE_DISTAL]: ({ width }) => , + [BodyPart.RIGHT_RING_PROXIMAL]: ({ width }) => , [BodyPart.RIGHT_RING_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_RING_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_RING_DISTAL]: ({ width }) => , [BodyPart.RIGHT_LITTLE_PROXIMAL]: ({ width }) => ( - + ), [BodyPart.RIGHT_LITTLE_INTERMEDIATE]: ({ width }) => ( - - ), - [BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => ( - + ), + [BodyPart.RIGHT_LITTLE_DISTAL]: ({ width }) => , }; export function MountingBodyPartIcon({ @@ -235,7 +195,7 @@ function PieSliceOfFeet({ )} transform="translate(125 125)" id={id} - > + /> {!noText ? l10n.getString(id) : ''} @@ -250,7 +210,7 @@ function PieSliceOfFeet({ : 'fill-none' )} > - + ); @@ -301,7 +261,7 @@ export function MountingSelectionMenu({ currRotation={currRotation} id="tracker-rotation-left" trackerTransform="translate(75, 0) scale(-1, 1)" - > + /> + /> + /> + /> + /> + /> + /> + /> diff --git a/gui/src/components/onboarding/pages/mounting/mounting-steps/MountingReset.tsx b/gui/src/components/onboarding/pages/mounting/mounting-steps/MountingReset.tsx index bdedd3238..5edcb13c6 100644 --- a/gui/src/components/onboarding/pages/mounting/mounting-steps/MountingReset.tsx +++ b/gui/src/components/onboarding/pages/mounting/mounting-steps/MountingReset.tsx @@ -61,7 +61,7 @@ export function MountingResetStep({ size="small" type={ResetType.Mounting} onReseted={nextStep} - > + /> {!isMobile && ( diff --git a/gui/src/components/onboarding/pages/mounting/mounting-steps/Preparation.tsx b/gui/src/components/onboarding/pages/mounting/mounting-steps/Preparation.tsx index ba5a145e7..b4689779e 100644 --- a/gui/src/components/onboarding/pages/mounting/mounting-steps/Preparation.tsx +++ b/gui/src/components/onboarding/pages/mounting/mounting-steps/Preparation.tsx @@ -26,19 +26,19 @@ export function PreparationStep({
- + - + - +
- +
- +
- + + />
diff --git a/gui/src/components/onboarding/pages/stay-aligned/StayAlignedSetup.tsx b/gui/src/components/onboarding/pages/stay-aligned/StayAlignedSetup.tsx index 52cb015ad..c2b1c763a 100644 --- a/gui/src/components/onboarding/pages/stay-aligned/StayAlignedSetup.tsx +++ b/gui/src/components/onboarding/pages/stay-aligned/StayAlignedSetup.tsx @@ -189,7 +189,7 @@ export function StayAlignedSetup() { component: DoneStep, }, ]} - > + />
@@ -222,7 +222,7 @@ export function StayAlignedSetup() { }, }); }} - > + />
); diff --git a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/Done.tsx b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/Done.tsx index 3cfc4d0de..1c1d68cf3 100644 --- a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/Done.tsx +++ b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/Done.tsx @@ -8,22 +8,22 @@ export function DoneStep({ goTo }: VerticalStepComponentProps) {
- + - +
- + + />
diff --git a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PreparationStep.tsx b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PreparationStep.tsx index 940bfbc2e..06097a7f8 100644 --- a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PreparationStep.tsx +++ b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PreparationStep.tsx @@ -16,13 +16,13 @@ export function PreparationStep({
- + - + - +
@@ -30,18 +30,18 @@ export function PreparationStep({
- + Reset position
- + Reset position side
- + Reset position wrong
- +
); diff --git a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PutTrackersOnStep.tsx b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PutTrackersOnStep.tsx index 347ba45a7..603ab6bb9 100644 --- a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PutTrackersOnStep.tsx +++ b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/PutTrackersOnStep.tsx @@ -19,7 +19,7 @@ export function PutTrackersOnStep({ nextStep }: VerticalStepComponentProps) {
- +
@@ -51,7 +51,7 @@ export function PutTrackersOnStep({ nextStep }: VerticalStepComponentProps) { variant="primary" onClick={nextStep} disabled={!canContinue} - > + />
diff --git a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/VerifyMounting.tsx b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/VerifyMounting.tsx index 7a08c24dc..ef39796ed 100644 --- a/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/VerifyMounting.tsx +++ b/gui/src/components/onboarding/pages/stay-aligned/stay-aligned-steps/VerifyMounting.tsx @@ -25,7 +25,7 @@ export function VerifyMountingStep({
- + + /> - +
diff --git a/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignOptions.tsx b/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignOptions.tsx index f7a5bde58..b2d934108 100644 --- a/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignOptions.tsx +++ b/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignOptions.tsx @@ -99,16 +99,13 @@ export function TrackerAssignOptions({ ([mode, trackersCount]) => ({ component: (
- +
), value: mode, }) )} - > + /> ); return Object.entries(ASSIGN_MODE_OPTIONS).map(([mode, trackersCount]) => ( @@ -123,7 +120,7 @@ export function TrackerAssignOptions({ className="hidden" >
- +
)); diff --git a/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignment.tsx b/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignment.tsx index 0c1ce3971..b84ecece5 100644 --- a/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignment.tsx +++ b/gui/src/components/onboarding/pages/trackers-assign/TrackerAssignment.tsx @@ -268,7 +268,7 @@ export function TrackersAssignPage() { isOpen={selectedRole !== BodyPart.NONE} onClose={() => setSelectRole(BodyPart.NONE)} onTrackerSelected={onTrackerSelected} - > + /> closeChokerWarning(true)} accept={() => closeChokerWarning(false)} - > + />
@@ -314,7 +314,7 @@ export function TrackersAssignPage() { )} name="mirrorView" variant="toggle" - > + />
{!state.alonePage && ( @@ -349,7 +349,7 @@ export function TrackersAssignPage() { assignMode={config?.assignMode ?? defaultConfig.assignMode} mirror={mirrorView} onRoleSelected={tryOpenChokerWarning} - > + />
diff --git a/gui/src/components/onboarding/pages/trackers-assign/TrackerSelectionMenu.tsx b/gui/src/components/onboarding/pages/trackers-assign/TrackerSelectionMenu.tsx index 2a26e7c66..48064de6e 100644 --- a/gui/src/components/onboarding/pages/trackers-assign/TrackerSelectionMenu.tsx +++ b/gui/src/components/onboarding/pages/trackers-assign/TrackerSelectionMenu.tsx @@ -70,7 +70,7 @@ export function TrackerSelectionMenu({ bodyPart === (fd.tracker.info?.bodyPart || BodyPart.NONE) } - > + /> ))} @@ -90,7 +90,7 @@ export function TrackerSelectionMenu({ outlined={ bodyPart === (fd.tracker.info?.bodyPart || BodyPart.NONE) } - > + /> ))} diff --git a/gui/src/components/settings/HandsWarningModal.tsx b/gui/src/components/settings/HandsWarningModal.tsx index 4d4e6d63c..d9ab9c7b5 100644 --- a/gui/src/components/settings/HandsWarningModal.tsx +++ b/gui/src/components/settings/HandsWarningModal.tsx @@ -38,7 +38,7 @@ export function HandsWarningModal({
}} + elems={{ b: }} > Warning: Please don't use hands if you have controllers! diff --git a/gui/src/components/settings/SettingsLayout.tsx b/gui/src/components/settings/SettingsLayout.tsx index b32541721..292ade9de 100644 --- a/gui/src/components/settings/SettingsLayout.tsx +++ b/gui/src/components/settings/SettingsLayout.tsx @@ -97,7 +97,7 @@ export function SettingSelectorMobile() { // There is always an option selected placholder is not used placeholder="" name="link" - > + />
); } @@ -108,19 +108,19 @@ export function SettingsLayout({ children }: { children: ReactNode }) { <>
- +
- +
- +
- {isMobile && } + {isMobile && } {children}
diff --git a/gui/src/components/settings/SettingsResetModal.tsx b/gui/src/components/settings/SettingsResetModal.tsx index 34d3e2d5a..32a712898 100644 --- a/gui/src/components/settings/SettingsResetModal.tsx +++ b/gui/src/components/settings/SettingsResetModal.tsx @@ -42,7 +42,7 @@ export function SettingsResetModal({
}} + elems={{ b: }} vars={{ type: variant }} > diff --git a/gui/src/components/settings/pages/AdvancedSettings.tsx b/gui/src/components/settings/pages/AdvancedSettings.tsx index b0f71393b..3f871e847 100644 --- a/gui/src/components/settings/pages/AdvancedSettings.tsx +++ b/gui/src/components/settings/pages/AdvancedSettings.tsx @@ -18,7 +18,7 @@ import { invoke } from '@tauri-apps/api/core'; function guiDefaults() { // Destructure the properties to exclude "lang" - // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { lang, ...guiDefaults } = defaultGUIConfig; guiDefaults.devSettings = defaultDevConfig; @@ -54,7 +54,7 @@ export function AdvancedSettings() { return (
- } id="advanced"> + } id="advanced"> <> {l10n.getString('settings-utils-advanced')} @@ -89,7 +89,7 @@ export function AdvancedSettings() { onClose={() => setShowWarningGUI(false)} isOpen={showWarningGUI} variant="gui" - > + />
@@ -126,7 +126,7 @@ export function AdvancedSettings() { onClose={() => setShowWarningServer(false)} isOpen={showWarningServer} variant="server" - > + /> @@ -162,7 +162,7 @@ export function AdvancedSettings() { onClose={() => setShowWarningAll(false)} isOpen={showWarningAll} variant="all" - > + /> diff --git a/gui/src/components/settings/pages/GeneralSettings.tsx b/gui/src/components/settings/pages/GeneralSettings.tsx index fb868315c..4d4f5694c 100644 --- a/gui/src/components/settings/pages/GeneralSettings.tsx +++ b/gui/src/components/settings/pages/GeneralSettings.tsx @@ -454,7 +454,7 @@ export function GeneralSettings() { }} /> - } id="steamvr"> + } id="steamvr"> <> {l10n.getString('settings-general-steamvr')} @@ -470,7 +470,7 @@ export function GeneralSettings() { {line} ))} -
+
{l10n.getString( 'settings-general-steamvr-trackers-tracker_toggling' @@ -495,7 +495,7 @@ export function GeneralSettings() { 'settings-general-steamvr-trackers-tracker_toggling-label' )} /> -
+
- } id="mechanics"> + } id="mechanics"> <> {l10n.getString('settings-general-tracker_mechanics')} @@ -633,7 +633,7 @@ export function GeneralSettings() { 'settings-general-tracker_mechanics-filtering-type-none-description' )} value={FilteringType.NONE.toString()} - > + /> + /> + />
}} + elems={{ b: }} > - +
- } - id="fksettings" - > + } id="fksettings"> <> {l10n.getString('settings-general-fk_settings')} @@ -895,7 +892,7 @@ export function GeneralSettings() { 'settings-general-fk_settings-arm_fk-back-description' )} value={'0'} - > + /> + /> + /> + />
@@ -1159,10 +1156,7 @@ export function GeneralSettings() { - } - id="gestureControl" - > + } id="gestureControl"> <> {l10n.getString('settings-general-gesture_control')} diff --git a/gui/src/components/settings/pages/InterfaceSettings.tsx b/gui/src/components/settings/pages/InterfaceSettings.tsx index 62ce63cea..dc57954fe 100644 --- a/gui/src/components/settings/pages/InterfaceSettings.tsx +++ b/gui/src/components/settings/pages/InterfaceSettings.tsx @@ -124,7 +124,7 @@ export function InterfaceSettings() { } as React.CSSProperties } > - } id="notifications"> + } id="notifications"> <> {l10n.getString('settings-interface-notifications')} @@ -216,10 +216,7 @@ export function InterfaceSettings() { - } - id="behavior" - > + } id="behavior"> <> {l10n.getString('settings-interface-behavior')} @@ -304,10 +301,10 @@ export function InterfaceSettings() { 'settings-interface-behavior-error_tracking-description_v2' } elems={{ - b: , + b: , }} > - +
@@ -335,7 +332,7 @@ export function InterfaceSettings() { 'settings-interface-behavior-bvh_directory-description' } > - +
@@ -355,10 +352,7 @@ export function InterfaceSettings() { - } - id="appearance" - > + } id="appearance"> <> {l10n.getString('settings-interface-appearance')} @@ -397,55 +391,55 @@ export function InterfaceSettings() { name="appearance.theme" value={'slime'} colors="!bg-slime" - > + /> + /> + /> + /> + /> + /> + /> + /> + />
diff --git a/gui/src/components/settings/pages/MagnetometerToggleSetting.tsx b/gui/src/components/settings/pages/MagnetometerToggleSetting.tsx index 7c374a9f9..710664c47 100644 --- a/gui/src/components/settings/pages/MagnetometerToggleSetting.tsx +++ b/gui/src/components/settings/pages/MagnetometerToggleSetting.tsx @@ -102,9 +102,9 @@ export function MagnetometerToggleSetting({
}} + elems={{ b: }} > - + , + b: , magSetting: ( + /> ), }} > - +
- } id="router"> + } id="router"> <> {l10n.getString('settings-osc-router')} @@ -166,7 +166,7 @@ export function OSCRouterSettings() { name="router.oscSettings.portIn" placeholder="9002" label="" - > + /> + />
@@ -200,7 +200,7 @@ export function OSCRouterSettings() { 'settings-osc-router-network-address-placeholder' )} label="" - > + />
diff --git a/gui/src/components/settings/pages/Serial.tsx b/gui/src/components/settings/pages/Serial.tsx index 0f93bf9fc..32fbb5405 100644 --- a/gui/src/components/settings/pages/Serial.tsx +++ b/gui/src/components/settings/pages/Serial.tsx @@ -249,7 +249,7 @@ export function Serial() { > }} + elems={{ b: }} > Warning: This will reset the tracker to factory settings. @@ -324,7 +324,7 @@ export function Serial() { ) } - > + />
+ />
diff --git a/gui/src/components/settings/pages/VMCSettings.tsx b/gui/src/components/settings/pages/VMCSettings.tsx index 98dbbbaa1..0551ef969 100644 --- a/gui/src/components/settings/pages/VMCSettings.tsx +++ b/gui/src/components/settings/pages/VMCSettings.tsx @@ -139,7 +139,7 @@ export function VMCSettings() { return ( - } id="vmc"> + } id="vmc"> <> {l10n.getString('settings-osc-vmc')} @@ -195,7 +195,7 @@ export function VMCSettings() { name="vmc.oscSettings.portIn" placeholder="9002" label="" - > + /> + /> @@ -227,7 +227,7 @@ export function VMCSettings() { 'settings-osc-vmc-network-address-placeholder' )} label="" - > + /> {l10n.getString('settings-osc-vmc-vrm')} @@ -253,7 +253,7 @@ export function VMCSettings() { } label="settings-osc-vmc-vrm-file_select" accept="model/gltf-binary, model/gltf+json, model/vrml, .vrm, .glb, .gltf" - > + /> {/* For some reason, linux (GNOME) is detecting the VRM file is a VRML */} diff --git a/gui/src/components/settings/pages/VRCOSCSettings.tsx b/gui/src/components/settings/pages/VRCOSCSettings.tsx index 43632f504..3dbac7b23 100644 --- a/gui/src/components/settings/pages/VRCOSCSettings.tsx +++ b/gui/src/components/settings/pages/VRCOSCSettings.tsx @@ -150,7 +150,7 @@ export function VRCOSCSettings() { return ( - } id="vrchat"> + } id="vrchat"> <> {l10n.getString('settings-osc-vrchat')} @@ -227,7 +227,7 @@ export function VRCOSCSettings() { name="vrchat.oscSettings.portIn" placeholder="9001" label="" - > + /> + /> @@ -261,7 +261,7 @@ export function VRCOSCSettings() { 'settings-osc-vrchat-network-address-placeholder' )} label="" - > + /> {l10n.getString('settings-osc-vrchat-network-trackers')} diff --git a/gui/src/components/settings/pages/components/StayAlignedSettings.tsx b/gui/src/components/settings/pages/components/StayAlignedSettings.tsx index 3b8fbd72a..686738390 100644 --- a/gui/src/components/settings/pages/components/StayAlignedSettings.tsx +++ b/gui/src/components/settings/pages/components/StayAlignedSettings.tsx @@ -246,16 +246,14 @@ export function StayAlignedSettings({ )} disabled={!config.setupComplete || !hasStandingPose} /> - + + />
@@ -269,16 +267,14 @@ export function StayAlignedSettings({ )} disabled={!config.setupComplete || !hasSittingPose} /> - + + />
@@ -292,14 +288,14 @@ export function StayAlignedSettings({ )} disabled={!config.setupComplete || !hasFlatPose} /> - + + />
diff --git a/gui/src/components/tracker/SingleTrackerBodyAssignmentMenu.tsx b/gui/src/components/tracker/SingleTrackerBodyAssignmentMenu.tsx index 2cd256a5e..84d5ce05d 100644 --- a/gui/src/components/tracker/SingleTrackerBodyAssignmentMenu.tsx +++ b/gui/src/components/tracker/SingleTrackerBodyAssignmentMenu.tsx @@ -70,7 +70,7 @@ export function SingleTrackerBodyAssignmentMenu({ onlyAssigned={false} assignMode={config?.assignMode ?? defaultConfig.assignMode} onRoleSelected={tryOpenChokerWarning} - > + />
)) || (
-
+
)}
diff --git a/gui/src/components/tracker/TrackerCard.tsx b/gui/src/components/tracker/TrackerCard.tsx index 3bf142548..9fd3bd0c7 100644 --- a/gui/src/components/tracker/TrackerCard.tsx +++ b/gui/src/components/tracker/TrackerCard.tsx @@ -36,7 +36,7 @@ function UpdateIcon({ 'absolute rounded-full h-6 w-6 left-1 top-1 bg-accent-background-10 animate-[ping_2s_linear_infinite]', showUpdate !== 'can-update' && 'hidden' )} - > + />
- +
); @@ -55,7 +55,7 @@ function UpdateIcon({ preferedDirection="top" content={ - + } > @@ -84,7 +84,7 @@ function TrackerBig({ return (
- +
@@ -92,7 +92,7 @@ function TrackerBig({
- +
{device && device.hardwareStatus && ( @@ -112,7 +112,7 @@ function TrackerBig({ rssiShowNumeric={config?.debug} ping={device.hardwareStatus.ping} disabled={tracker.status === TrackerStatusEnum.DISCONNECTED} - > + /> )}
@@ -136,13 +136,13 @@ function TrackerSmol({ return (
- +
{trackerName} - +
{device && device.hardwareStatus && ( <> @@ -162,7 +162,7 @@ function TrackerSmol({ rssi={device.hardwareStatus.rssi} ping={device.hardwareStatus.ping} disabled={tracker.status === TrackerStatusEnum.DISCONNECTED} - > + /> )}
@@ -226,14 +226,12 @@ export function TrackerCard({ : {} } > - {smol && } - {!smol && } + {smol && } + {!smol && }
{showUpdate && showUpdate !== 'unavailable' && - showUpdate !== 'updated' && ( - - )} + showUpdate !== 'updated' && } ); } diff --git a/gui/src/components/tracker/TrackerPartCard.tsx b/gui/src/components/tracker/TrackerPartCard.tsx index 8702232f8..e839dd5bd 100644 --- a/gui/src/components/tracker/TrackerPartCard.tsx +++ b/gui/src/components/tracker/TrackerPartCard.tsx @@ -96,7 +96,7 @@ export function TrackerPartCard({ direction === 'right' ? '-right-6' : '-left-6' )} > - + )} diff --git a/gui/src/components/tracker/TrackerSettings.tsx b/gui/src/components/tracker/TrackerSettings.tsx index 44c2ec511..c9ead9a7f 100644 --- a/gui/src/components/tracker/TrackerSettings.tsx +++ b/gui/src/components/tracker/TrackerSettings.tsx @@ -180,14 +180,14 @@ export function TrackerSettingsPage() { isOpen={selectBodypart} onClose={() => setSelectBodypart(false)} onRoleSelected={onRoleSelected} - > + /> setSelectRotation(false)} onDirectionSelected={onDirectionSelected} - > + />
{tracker && ( @@ -196,7 +196,7 @@ export function TrackerSettingsPage() { device={tracker?.device} tracker={tracker?.tracker} shakeHighlight={false} - > + /> )} {
@@ -252,7 +252,7 @@ export function TrackerSettingsPage() { id="tracker-settings-update-low-battery" vars={{ versionName: currentFirmwareRelease.name }} > - + )} @@ -359,9 +359,7 @@ export function TrackerSettingsPage() {
{tracker?.tracker && ( - + )}
@@ -383,9 +381,7 @@ export function TrackerSettingsPage() {
{tracker?.tracker.info?.bodyPart !== BodyPart.NONE && ( - + )} {tracker?.tracker.info?.bodyPart === BodyPart.NONE && ( @@ -424,7 +420,7 @@ export function TrackerSettingsPage() {
- + {l10n.getString( (rotationsLabels.find((q) => @@ -479,7 +475,7 @@ export function TrackerSettingsPage() { autocomplete="off" rules={undefined} label={l10n.getString('tracker-settings-name_section-label')} - > + />
{macAddress && (
diff --git a/gui/src/components/tracker/TrackerStatus.tsx b/gui/src/components/tracker/TrackerStatus.tsx index 609322716..87485ae50 100644 --- a/gui/src/components/tracker/TrackerStatus.tsx +++ b/gui/src/components/tracker/TrackerStatus.tsx @@ -33,7 +33,7 @@ export function TrackerStatus({ status }: { status: number }) { return (
-
+
{l10n.getString(statusLabel)} diff --git a/gui/src/components/tracker/TrackerWifi.tsx b/gui/src/components/tracker/TrackerWifi.tsx index d7a10c6ed..10cde1bcd 100644 --- a/gui/src/components/tracker/TrackerWifi.tsx +++ b/gui/src/components/tracker/TrackerWifi.tsx @@ -34,7 +34,7 @@ export function TrackerWifi({
)) || (
-
+
)}
diff --git a/gui/src/components/tracker/TrackersTable.tsx b/gui/src/components/tracker/TrackersTable.tsx index 87e949bf8..dc5ff3923 100644 --- a/gui/src/components/tracker/TrackersTable.tsx +++ b/gui/src/components/tracker/TrackersTable.tsx @@ -65,13 +65,13 @@ export function TrackerNameCell({ tracker }: { tracker: TrackerDataT }) { return (
- +
{name} - +
); @@ -258,9 +258,7 @@ export function TrackersTable({ {column({ id: DisplayColumn.NAME, label: l10n.getString('tracker-table-column-name'), - row: ({ tracker }) => ( - - ), + row: ({ tracker }) => , })} {column({ @@ -299,7 +297,7 @@ export function TrackersTable({ ping={device?.hardwareStatus?.ping} disabled={tracker.status === TrackerStatusEnum.DISCONNECTED} textColor={fontColor} - > + /> ), })} diff --git a/gui/src/components/vr-mode/VRModePage.tsx b/gui/src/components/vr-mode/VRModePage.tsx index 093384cd9..d2e42dc6f 100644 --- a/gui/src/components/vr-mode/VRModePage.tsx +++ b/gui/src/components/vr-mode/VRModePage.tsx @@ -13,7 +13,7 @@ export function VRModePage() { return (
- +
); } diff --git a/gui/src/components/vrc/VRCWarningsPage.tsx b/gui/src/components/vrc/VRCWarningsPage.tsx index 7c048b0cf..1b4df42fd 100644 --- a/gui/src/components/vrc/VRCWarningsPage.tsx +++ b/gui/src/components/vrc/VRCWarningsPage.tsx @@ -55,11 +55,7 @@ function SettingRow({ className={classNames('px-6 py-4 text-end items-end justify-end flex')} > - +
@@ -262,9 +252,9 @@ export function VRCWarningsPage() { value={ + /> } - > + /> + /> } value={ + /> } - > + />
@@ -301,7 +291,7 @@ export function VRCWarningsPage() { , + a: , }} > diff --git a/gui/src/components/widgets/DeveloperModeWidget.tsx b/gui/src/components/widgets/DeveloperModeWidget.tsx index 860c5fec2..d26896cc4 100644 --- a/gui/src/components/widgets/DeveloperModeWidget.tsx +++ b/gui/src/components/widgets/DeveloperModeWidget.tsx @@ -59,7 +59,7 @@ export function DeveloperModeWidget() { variant="toggle" name={name} label={l10n.getString(`widget-developer_mode-${label}`)} - > + /> ); const toggles = { diff --git a/gui/src/components/widgets/IMUVisualizerWidget.tsx b/gui/src/components/widgets/IMUVisualizerWidget.tsx index 05a39b075..6d22ba9fa 100644 --- a/gui/src/components/widgets/IMUVisualizerWidget.tsx +++ b/gui/src/components/widgets/IMUVisualizerWidget.tsx @@ -58,7 +58,7 @@ function SceneRenderer({ intensity={4000} /> - + @@ -214,7 +214,7 @@ export function IMUVisualizerWidget({ tracker }: { tracker: TrackerDataT }) { model={ isExtension ? '/models/extension.gltf' : '/models/tracker.gltf' } - > + /> )} diff --git a/gui/src/components/widgets/OverlayWidget.tsx b/gui/src/components/widgets/OverlayWidget.tsx index e0be1ecf1..6890277db 100644 --- a/gui/src/components/widgets/OverlayWidget.tsx +++ b/gui/src/components/widgets/OverlayWidget.tsx @@ -75,13 +75,13 @@ export function OverlayWidget() { name="isVisible" variant="toggle" label={l10n.getString('widget-overlay-is_visible_label')} - > + /> + /> ) : ( <> diff --git a/gui/src/components/widgets/SkeletonVisualizerWidget.tsx b/gui/src/components/widgets/SkeletonVisualizerWidget.tsx index 1a8cef4bd..078d743bf 100644 --- a/gui/src/components/widgets/SkeletonVisualizerWidget.tsx +++ b/gui/src/components/widgets/SkeletonVisualizerWidget.tsx @@ -424,7 +424,7 @@ function SkeletonVisualizer({ return (
- +
); } @@ -457,7 +457,7 @@ export function SkeletonVisualizerWidget({
} > - + ); } diff --git a/gui/src/hooks/timeout.ts b/gui/src/hooks/timeout.ts index bb1c74302..68bbb6e97 100644 --- a/gui/src/hooks/timeout.ts +++ b/gui/src/hooks/timeout.ts @@ -33,7 +33,6 @@ export const useDebouncedEffect = (effect: () => void, deps: any[], delay: numbe const handler = setTimeout(() => effect(), delay); return () => clearTimeout(handler); - // eslint-disable-next-line react-hooks/exhaustive-deps }, [...(deps || []), delay]); }; diff --git a/gui/src/i18n/config.tsx b/gui/src/i18n/config.tsx index 9df3993c1..4c9c5278b 100644 --- a/gui/src/i18n/config.tsx +++ b/gui/src/i18n/config.tsx @@ -121,7 +121,6 @@ export function AppLocalizationProvider(props: AppLocalizationProviderProps) { }); const promise = invoke('update_translations', { newI18n }); return () => { - // eslint-disable-next-line @typescript-eslint/no-empty-function promise.then(() => {}); }; }, [l10n]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db64368fc..7d5a2763b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -171,6 +171,9 @@ importers: '@openapi-codegen/typescript': specifier: ^8.0.2 version: 8.1.1 + '@stylistic/eslint-plugin': + specifier: ^5.5.0 + version: 5.5.0(eslint@9.39.0(jiti@1.21.6)) '@tailwindcss/forms': specifier: ^0.5.9 version: 0.5.10(tailwindcss@3.4.17(ts-node@9.1.1(typescript@5.9.2))) @@ -203,10 +206,10 @@ importers: version: 0.163.0 '@typescript-eslint/eslint-plugin': specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.9.2) + version: 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) '@vitejs/plugin-react': specifier: ^4.3.2 version: 4.7.0(vite@5.4.19(@types/node@24.3.1)(sass@1.92.0)(terser@5.31.1)) @@ -220,26 +223,26 @@ importers: specifier: ^16.4.5 version: 16.6.1 eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.39.0 + version: 9.39.0(jiti@1.21.6) eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.32.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1) + version: 19.0.4(eslint-plugin-import@2.32.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.0(jiti@1.21.6)))(eslint-plugin-react-hooks@4.6.2(eslint@9.39.0(jiti@1.21.6)))(eslint-plugin-react@7.37.5(eslint@9.39.0(jiti@1.21.6)))(eslint@9.39.0(jiti@1.21.6)) eslint-import-resolver-typescript: - specifier: ^3.6.3 - version: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1) + specifier: ^3.10.1 + version: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.0(jiti@1.21.6)) eslint-plugin-import: - specifier: ^2.31.0 - version: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + specifier: ^2.32.0 + version: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: - specifier: ^6.10.0 - version: 6.10.2(eslint@8.57.1) + specifier: ^6.10.2 + version: 6.10.2(eslint@9.39.0(jiti@1.21.6)) eslint-plugin-react: - specifier: ^7.37.1 - version: 7.37.5(eslint@8.57.1) + specifier: ^7.37.5 + version: 7.37.5(eslint@9.39.0(jiti@1.21.6)) eslint-plugin-react-hooks: specifier: ^4.6.2 - version: 4.6.2(eslint@8.57.1) + version: 4.6.2(eslint@9.39.0(jiti@1.21.6)) globals: specifier: ^15.10.0 version: 15.15.0 @@ -262,8 +265,8 @@ importers: specifier: ^3.4.13 version: 3.4.17(ts-node@9.1.1(typescript@5.9.2)) typescript-eslint: - specifier: ^8.8.0 - version: 8.42.0(eslint@8.57.1)(typescript@5.9.2) + specifier: ^8.46.2 + version: 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) vite: specifier: ^5.4.8 version: 5.4.19(@types/node@24.3.1)(sass@1.92.0)(terser@5.31.1) @@ -558,23 +561,43 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.8.0': - resolution: {integrity: sha512-MJQFqrZgcW0UNYLGOuQpey/oTN59vyWwplvCGZztn1cKz9agZPPYpJB7h2OMmuu7VLqkvEjN8feFZJmxNF9D+Q==} + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.0': + resolution: {integrity: sha512-BIhe0sW91JGPiaF1mOuPy5v8NflqfjIcDNpC+LbW9f609WVRX1rArrhi6Z2ymvrAry9jw+5POTj4t2t62o8Bmw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@exodus/schemasafe@1.3.0': resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} @@ -612,18 +635,21 @@ packages: peerDependencies: react-hook-form: ^7.0.0 - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -648,6 +674,9 @@ packages: '@jridgewell/trace-mapping@0.3.30': resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@mediapipe/tasks-vision@0.10.17': resolution: {integrity: sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==} @@ -1041,6 +1070,12 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} + '@stylistic/eslint-plugin@5.5.0': + resolution: {integrity: sha512-IeZF+8H0ns6prg4VrkhgL+yrvDXWDH2cKchrbh80ejG9dQgZWp10epHMbgRuQvgchLII/lfh6Xn3lu6+6L86Hw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=9.0.0' + '@swc/core-darwin-arm64@1.13.5': resolution: {integrity: sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==} engines: {node: '>=10'} @@ -1281,6 +1316,9 @@ packages: '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -1350,11 +1388,11 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.42.0': - resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==} + '@typescript-eslint/eslint-plugin@8.46.2': + resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.42.0 + '@typescript-eslint/parser': ^8.46.2 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' @@ -1368,15 +1406,15 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.42.0': - resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==} + '@typescript-eslint/parser@8.46.2': + resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.42.0': - resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==} + '@typescript-eslint/project-service@8.46.2': + resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1385,12 +1423,12 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.42.0': - resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==} + '@typescript-eslint/scope-manager@8.46.2': + resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.42.0': - resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==} + '@typescript-eslint/tsconfig-utils@8.46.2': + resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1405,8 +1443,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.42.0': - resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==} + '@typescript-eslint/type-utils@8.46.2': + resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1416,8 +1454,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.42.0': - resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==} + '@typescript-eslint/types@8.46.2': + resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -1429,8 +1467,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.42.0': - resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==} + '@typescript-eslint/typescript-estree@8.46.2': + resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1441,8 +1479,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.42.0': - resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==} + '@typescript-eslint/utils@8.46.2': + resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1452,8 +1490,8 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.42.0': - resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==} + '@typescript-eslint/visitor-keys@8.46.2': + resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -2009,6 +2047,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -2083,10 +2130,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} @@ -2298,9 +2341,9 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -2310,15 +2353,19 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint@9.39.0: + resolution: {integrity: sha512-iy2GE3MHrYTL5lrCtMZ0X1KLEKKUjmK0kzwcnefhR66txcEmXZD2YWgR5GNdcEwkNx3a0siYkSvl0vIC+Svjmg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} @@ -2396,9 +2443,9 @@ packages: fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -2415,9 +2462,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatbuffers@1.12.0: resolution: {integrity: sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==} @@ -2531,17 +2578,13 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - glob@9.3.5: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.15.0: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} @@ -2714,13 +2757,6 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ink@5.2.1: resolution: {integrity: sha512-BqcUyWrG9zq5HIwW6JcfFHsIYebJkWWb4fczNah1goUO0vv5vneIlfwuS85twyJ5hYR/y18FlAYUxrO9ChIWVg==} engines: {node: '>=18'} @@ -2883,10 +2919,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -3582,10 +3614,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3946,11 +3974,6 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rollup-plugin-visualizer@5.14.0: resolution: {integrity: sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==} engines: {node: '>=18'} @@ -4281,9 +4304,6 @@ packages: engines: {node: '>=10'} hasBin: true - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -4398,10 +4418,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} @@ -4442,8 +4458,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.42.0: - resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==} + typescript-eslint@8.46.2: + resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -4883,7 +4899,7 @@ snapshots: '@babel/parser': 7.28.4 '@babel/template': 7.27.2 '@babel/types': 7.28.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -5004,19 +5020,35 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.8.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.0(jiti@1.21.6))': dependencies: - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.2': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1 - espree: 9.6.1 - globals: 13.24.0 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.0 @@ -5025,7 +5057,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.39.0': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 '@exodus/schemasafe@1.3.0': {} @@ -5056,17 +5095,16 @@ snapshots: dependencies: react-hook-form: 7.62.0(react@18.3.1) - '@humanwhocodes/config-array@0.13.0': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.1 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.4.3': {} '@isaacs/cliui@8.0.2': dependencies: @@ -5092,7 +5130,7 @@ snapshots: '@jridgewell/source-map@0.3.11': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 optional: true '@jridgewell/sourcemap-codec@1.5.5': {} @@ -5102,6 +5140,12 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + optional: true + '@mediapipe/tasks-vision@0.10.17': {} '@mgit-at/typescript-flatbuffers-codegen@0.1.3': @@ -5506,6 +5550,16 @@ snapshots: '@sindresorhus/is@5.6.0': {} + '@stylistic/eslint-plugin@5.5.0(eslint@9.39.0(jiti@1.21.6))': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.6)) + '@typescript-eslint/types': 8.46.2 + eslint: 9.39.0(jiti@1.21.6) + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + estraverse: 5.3.0 + picomatch: 4.0.3 + '@swc/core-darwin-arm64@1.13.5': optional: true @@ -5715,6 +5769,8 @@ snapshots: '@types/http-cache-semantics@4.0.4': {} + '@types/json-schema@7.0.15': {} + '@types/json5@0.0.29': {} '@types/mdast@4.0.4': @@ -5774,15 +5830,15 @@ snapshots: '@types/webxr@0.5.23': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.2) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.2) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -5792,15 +5848,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.42.0 - eslint: 8.57.1 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/type-utils': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.46.2 + eslint: 9.39.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -5809,36 +5865,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.1 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.42.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.42.0 - debug: 4.4.1 - eslint: 8.57.1 + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 + eslint: 9.39.0(jiti@1.21.6) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.46.2(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - debug: 4.4.1 + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.2) + '@typescript-eslint/types': 8.46.2 + debug: 4.4.3 typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -5848,34 +5904,34 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.42.0': + '@typescript-eslint/scope-manager@8.46.2': dependencies: - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/visitor-keys': 8.42.0 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 - '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.2)': dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.2) - debug: 4.4.1 - eslint: 8.57.1 + '@typescript-eslint/utils': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + debug: 4.4.3 + eslint: 9.39.0(jiti@1.21.6) ts-api-utils: 1.4.3(typescript@5.9.2) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.42.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - debug: 4.4.1 - eslint: 8.57.1 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + debug: 4.4.3 + eslint: 9.39.0(jiti@1.21.6) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -5883,13 +5939,13 @@ snapshots: '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.42.0': {} + '@typescript-eslint/types@8.46.2': {} '@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.1 + debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -5900,13 +5956,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/visitor-keys': 8.42.0 - debug: 4.4.1 + '@typescript-eslint/project-service': 8.46.2(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.2) + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -5916,24 +5972,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/utils@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.8.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.6)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.42.0(eslint@8.57.1)(typescript@5.9.2)': + '@typescript-eslint/utils@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.8.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.2) + eslint: 9.39.0(jiti@1.21.6) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -5943,9 +5999,9 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.42.0': + '@typescript-eslint/visitor-keys@8.46.2': dependencies: - '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/types': 8.46.2 eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} @@ -6052,7 +6108,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -6510,6 +6566,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 @@ -6592,10 +6652,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dotenv@16.6.1: {} draco3d@1.5.7: {} @@ -6852,23 +6908,23 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0)(eslint@8.57.1): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0)(eslint@9.39.0(jiti@1.21.6)): dependencies: confusing-browser-globals: 1.0.11 - eslint: 8.57.1 - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + eslint: 9.39.0(jiti@1.21.6) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.32.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1): + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.32.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.0(jiti@1.21.6)))(eslint-plugin-react-hooks@4.6.2(eslint@9.39.0(jiti@1.21.6)))(eslint-plugin-react@7.37.5(eslint@9.39.0(jiti@1.21.6)))(eslint@9.39.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0)(eslint@8.57.1) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) - eslint-plugin-react: 7.37.5(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + eslint: 9.39.0(jiti@1.21.6) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0)(eslint@9.39.0(jiti@1.21.6)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.0(jiti@1.21.6)) + eslint-plugin-react: 7.37.5(eslint@9.39.0(jiti@1.21.6)) + eslint-plugin-react-hooks: 4.6.2(eslint@9.39.0(jiti@1.21.6)) object.assign: 4.1.5 object.entries: 1.1.8 @@ -6880,33 +6936,33 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.0(jiti@1.21.6)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.1 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.2) - eslint: 8.57.1 + '@typescript-eslint/parser': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + eslint: 9.39.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -6915,9 +6971,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.0(jiti@1.21.6)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -6929,13 +6985,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.0(jiti@1.21.6)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -6945,7 +7001,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -6954,11 +7010,11 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@4.6.2(eslint@9.39.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) - eslint-plugin-react@7.37.5(eslint@8.57.1): + eslint-plugin-react@7.37.5(eslint@9.39.0(jiti@1.21.6)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -6966,7 +7022,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 8.57.1 + eslint: 9.39.0(jiti@1.21.6) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6980,7 +7036,7 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-scope@7.2.2: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -6989,54 +7045,52 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@8.57.1: + eslint@9.39.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.8.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.0 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.3.0 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 - doctrine: 3.0.0 + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.4.0: dependencies: acorn: 8.15.0 acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.2.1 esquery@1.6.0: dependencies: @@ -7114,9 +7168,9 @@ snapshots: fflate@0.8.2: {} - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -7135,11 +7189,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.3 keyv: 4.5.4 - rimraf: 3.0.2 flatbuffers@1.12.0: {} @@ -7268,15 +7321,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - glob@9.3.5: dependencies: fs.realpath: 1.0.0 @@ -7284,9 +7328,7 @@ snapshots: minipass: 4.2.8 path-scurry: 1.11.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.15.0: {} @@ -7419,7 +7461,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -7453,13 +7495,6 @@ snapshots: indent-string@5.0.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - ink@5.2.1(@types/react@18.3.24)(react@18.3.1): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 @@ -7641,8 +7676,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-plain-obj@4.1.0: {} is-promise@2.2.2: {} @@ -8248,7 +8281,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1 + debug: 4.4.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -8554,8 +8587,6 @@ snapshots: path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -8912,10 +8943,6 @@ snapshots: rfdc@1.4.1: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup-plugin-visualizer@5.14.0(rollup@4.50.0): dependencies: open: 8.4.2 @@ -9364,8 +9391,6 @@ snapshots: source-map-support: 0.5.21 optional: true - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -9492,8 +9517,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@2.19.0: {} type-fest@4.41.0: {} @@ -9563,13 +9586,13 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.42.0(eslint@8.57.1)(typescript@5.9.2): + typescript-eslint@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/parser': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@8.57.1)(typescript@5.9.2) - eslint: 8.57.1 + '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/parser': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.6))(typescript@5.9.2) + eslint: 9.39.0(jiti@1.21.6) typescript: 5.9.2 transitivePeerDependencies: - supports-color
}} + elems={{ b: }} vars={{ height: mFormat.format((hmdHeight ?? 0) - (floorHeight ?? 0)), minHeight: mFormat.format(MIN_HEIGHT), diff --git a/gui/src/components/onboarding/pages/mounting/AutomaticMounting.tsx b/gui/src/components/onboarding/pages/mounting/AutomaticMounting.tsx index b7c06af0c..32e16a80e 100644 --- a/gui/src/components/onboarding/pages/mounting/AutomaticMounting.tsx +++ b/gui/src/components/onboarding/pages/mounting/AutomaticMounting.tsx @@ -41,7 +41,7 @@ export function AutomaticMountingPage() { + />
- + - +
}} + elems={{ b: }} > - +
- + {Object.keys(devices).length === 0 && !loading ? (
- + - +
) : ( @@ -209,7 +209,7 @@ function SerialDevicesList({ display="block" direction="down" variant="secondary" - > + /> )}