mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-05-23 19:38:50 +02:00
chore(prettier): fix prettier
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { FC } from 'react';
|
||||
import { DialogButton, DialogButtonProps } from "./Dialog";
|
||||
|
||||
export interface ButtonProps extends DialogButtonProps {
|
||||
}
|
||||
import { DialogButton, DialogButtonProps } from './Dialog';
|
||||
|
||||
export interface ButtonProps extends DialogButtonProps {}
|
||||
|
||||
// Button isn't exported, so call DialogButton to grab it
|
||||
export const Button = (DialogButton as any)?.render({}).type as FC<ButtonProps>;
|
||||
|
||||
@@ -8,6 +8,8 @@ export interface ButtonItemProps extends ItemProps {
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
export const ButtonItem = Object.values(CommonUIModule).find((mod: any) =>
|
||||
mod?.render?.toString()?.includes('"highlightOnFocus","childrenContainerWidth"') || mod?.render?.toString()?.includes('childrenContainerWidth:"min"'),
|
||||
export const ButtonItem = Object.values(CommonUIModule).find(
|
||||
(mod: any) =>
|
||||
mod?.render?.toString()?.includes('"highlightOnFocus","childrenContainerWidth"') ||
|
||||
mod?.render?.toString()?.includes('childrenContainerWidth:"min"'),
|
||||
) as FC<ButtonItemProps>;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { HTMLAttributes, ReactNode, RefAttributes, VFC } from "react";
|
||||
import { findModuleChild } from "../webpack";
|
||||
import { HTMLAttributes, ReactNode, RefAttributes, VFC } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
|
||||
export interface CarouselProps extends HTMLAttributes<HTMLDivElement> {
|
||||
autoFocus?: boolean;
|
||||
@@ -22,7 +23,6 @@ export interface CarouselProps extends HTMLAttributes<HTMLDivElement> {
|
||||
export const Carousel = findModuleChild((m) => {
|
||||
if (typeof m !== 'object') return undefined;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.render?.toString().includes("setFocusedColumn:"))
|
||||
return m[prop];
|
||||
if (m[prop]?.render?.toString().includes('setFocusedColumn:')) return m[prop];
|
||||
}
|
||||
}) as VFC<CarouselProps & RefAttributes<HTMLDivElement>>;
|
||||
}) as VFC<CarouselProps & RefAttributes<HTMLDivElement>>;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { CommonUIModule } from "../webpack";
|
||||
import { CSSProperties, FC, RefAttributes } from "react";
|
||||
import { CSSProperties, FC, RefAttributes } from 'react';
|
||||
|
||||
import { CommonUIModule } from '../webpack';
|
||||
import { FooterLegendProps } from './FooterLegend';
|
||||
|
||||
export interface DialogCommonProps extends RefAttributes<HTMLDivElement> {
|
||||
@@ -22,35 +23,37 @@ export interface DialogButtonProps extends DialogCommonProps, FooterLegendProps
|
||||
onSubmit?(e: SubmitEvent): void;
|
||||
}
|
||||
|
||||
const CommonDialogDivs = Object.values(CommonUIModule).filter((m: any) => typeof m === "object" && m?.render?.toString().includes('"div",Object.assign({},'));
|
||||
const MappedDialogDivs = new Map(Object.values(CommonDialogDivs).map((m: any) => {
|
||||
const renderedDiv = m.render({});
|
||||
// Take only the first class name segment as it identifies the element we want
|
||||
return [renderedDiv.props.className.split(" ")[0], m]
|
||||
}));
|
||||
const CommonDialogDivs = Object.values(CommonUIModule).filter(
|
||||
(m: any) => typeof m === 'object' && m?.render?.toString().includes('"div",Object.assign({},'),
|
||||
);
|
||||
const MappedDialogDivs = new Map(
|
||||
Object.values(CommonDialogDivs).map((m: any) => {
|
||||
const renderedDiv = m.render({});
|
||||
// Take only the first class name segment as it identifies the element we want
|
||||
return [renderedDiv.props.className.split(' ')[0], m];
|
||||
}),
|
||||
);
|
||||
|
||||
export const DialogHeader = MappedDialogDivs.get("DialogHeader") as FC<DialogCommonProps>;
|
||||
export const DialogSubHeader = MappedDialogDivs.get("DialogSubHeader") as FC<DialogCommonProps>;
|
||||
export const DialogFooter = MappedDialogDivs.get("DialogFooter") as FC<DialogCommonProps>;
|
||||
export const DialogLabel = MappedDialogDivs.get("DialogLabel") as FC<DialogCommonProps>;
|
||||
export const DialogBodyText = MappedDialogDivs.get("DialogBodyText") as FC<DialogCommonProps>;
|
||||
export const DialogBody = MappedDialogDivs.get("DialogBody") as FC<DialogCommonProps>;
|
||||
export const DialogControlsSection = MappedDialogDivs.get("DialogControlsSection") as FC<DialogCommonProps>;
|
||||
export const DialogControlsSectionHeader = MappedDialogDivs.get("DialogControlsSectionHeader") as FC<DialogCommonProps>;
|
||||
export const DialogHeader = MappedDialogDivs.get('DialogHeader') as FC<DialogCommonProps>;
|
||||
export const DialogSubHeader = MappedDialogDivs.get('DialogSubHeader') as FC<DialogCommonProps>;
|
||||
export const DialogFooter = MappedDialogDivs.get('DialogFooter') as FC<DialogCommonProps>;
|
||||
export const DialogLabel = MappedDialogDivs.get('DialogLabel') as FC<DialogCommonProps>;
|
||||
export const DialogBodyText = MappedDialogDivs.get('DialogBodyText') as FC<DialogCommonProps>;
|
||||
export const DialogBody = MappedDialogDivs.get('DialogBody') as FC<DialogCommonProps>;
|
||||
export const DialogControlsSection = MappedDialogDivs.get('DialogControlsSection') as FC<DialogCommonProps>;
|
||||
export const DialogControlsSectionHeader = MappedDialogDivs.get('DialogControlsSectionHeader') as FC<DialogCommonProps>;
|
||||
|
||||
export const DialogButtonPrimary = Object.values(CommonUIModule).find(
|
||||
(mod: any) =>
|
||||
mod?.render?.toString()?.includes('DialogButton') &&
|
||||
mod?.render?.toString()?.includes('Primary')
|
||||
(mod: any) => mod?.render?.toString()?.includes('DialogButton') && mod?.render?.toString()?.includes('Primary'),
|
||||
) as FC<DialogButtonProps>;
|
||||
|
||||
export const DialogButtonSecondary = Object.values(CommonUIModule).find(
|
||||
(mod: any) =>
|
||||
mod?.render?.toString()?.includes('Object.assign({type:"button"') &&
|
||||
mod?.render?.toString()?.includes('DialogButton') &&
|
||||
mod?.render?.toString()?.includes('Secondary')
|
||||
mod?.render?.toString()?.includes('Secondary'),
|
||||
) as FC<DialogButtonProps>;
|
||||
|
||||
// This is the "main" button. The Primary can act as a submit button,
|
||||
// This is the "main" button. The Primary can act as a submit button,
|
||||
// therefore secondary is chosen (also for backwards comp. reasons)
|
||||
export const DialogButton = DialogButtonSecondary;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { FC, HTMLAttributes, ReactNode, RefAttributes } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
import { FooterLegendProps } from './FooterLegend';
|
||||
|
||||
@@ -11,7 +12,7 @@ export interface FieldProps extends HTMLAttributes<HTMLDivElement>, FooterLegend
|
||||
inlineWrap?: 'keep-inline' | 'shift-children-below'; // If label is too long it will move shildren below before starting to wrap label
|
||||
childrenLayout?: 'below' | 'inline';
|
||||
childrenContainerWidth?: 'min' | 'max' | 'fixed'; // Does not work with childrenLayout==='below'
|
||||
spacingBetweenLabelAndChild?: 'none'; // This applies only when childrenLayout==='below'
|
||||
spacingBetweenLabelAndChild?: 'none'; // This applies only when childrenLayout==='below'
|
||||
padding?: 'none' | 'standard' | 'compact';
|
||||
className?: string;
|
||||
highlightOnFocus?: boolean;
|
||||
@@ -20,8 +21,8 @@ export interface FieldProps extends HTMLAttributes<HTMLDivElement>, FooterLegend
|
||||
}
|
||||
|
||||
export const Field = findModuleChild((m) => {
|
||||
if (typeof m !== "object") return undefined;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.render?.toString().includes('"shift-children-below"')) return m[prop]
|
||||
}
|
||||
if (typeof m !== 'object') return undefined;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.render?.toString().includes('"shift-children-below"')) return m[prop];
|
||||
}
|
||||
}) as FC<FieldProps & RefAttributes<HTMLDivElement>>;
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
import { ElementType, FC, ReactNode } from "react";
|
||||
import { findModuleChild } from "../webpack";
|
||||
import { ElementType, FC, ReactNode } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
|
||||
export interface FocusRingProps {
|
||||
className?: string,
|
||||
rootClassName?: string,
|
||||
render?: ElementType,
|
||||
children?: ReactNode,
|
||||
NavigationManager?: any
|
||||
className?: string;
|
||||
rootClassName?: string;
|
||||
render?: ElementType;
|
||||
children?: ReactNode;
|
||||
NavigationManager?: any;
|
||||
}
|
||||
|
||||
export const FocusRing = findModuleChild((m: any) => {
|
||||
if (typeof m !== 'object') return false;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.toString()?.includes('.GetShowDebugFocusRing())')) return m[prop];
|
||||
}
|
||||
return false;
|
||||
}) as FC<FocusRingProps>;
|
||||
if (typeof m !== 'object') return false;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.toString()?.includes('.GetShowDebugFocusRing())')) return m[prop];
|
||||
}
|
||||
return false;
|
||||
}) as FC<FocusRingProps>;
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { HTMLAttributes, ReactNode, RefAttributes, VFC } from "react";
|
||||
import { findModuleChild } from "../webpack";
|
||||
import { FooterLegendProps } from "./FooterLegend";
|
||||
import { HTMLAttributes, ReactNode, RefAttributes, VFC } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
import { FooterLegendProps } from './FooterLegend';
|
||||
|
||||
export interface FocusableProps extends HTMLAttributes<HTMLDivElement>, FooterLegendProps {
|
||||
children: ReactNode;
|
||||
"flow-children"?: string;
|
||||
'flow-children'?: string;
|
||||
focusClassName?: string;
|
||||
focusWithinClassName?: string;
|
||||
onActivate?: (e: CustomEvent) => void;
|
||||
@@ -17,4 +18,4 @@ export const Focusable = findModuleChild((m) => {
|
||||
if (m[prop]?.render?.toString()?.includes('["flow-children","onActivate","onCancel","focusClassName",'))
|
||||
return m[prop];
|
||||
}
|
||||
}) as VFC<FocusableProps & RefAttributes<HTMLDivElement>>;
|
||||
}) as VFC<FocusableProps & RefAttributes<HTMLDivElement>>;
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
export enum GamepadButton {
|
||||
INVALID,
|
||||
OK,
|
||||
CANCEL,
|
||||
SECONDARY,
|
||||
OPTIONS,
|
||||
BUMPER_LEFT,
|
||||
BUMPER_RIGHT,
|
||||
TRIGGER_LEFT,
|
||||
TRIGGER_RIGHT,
|
||||
DIR_UP,
|
||||
DIR_DOWN,
|
||||
DIR_LEFT,
|
||||
DIR_RIGHT,
|
||||
SELECT,
|
||||
START,
|
||||
LSTICK_CLICK,
|
||||
RSTICK_CLICK,
|
||||
LSTICK_TOUCH,
|
||||
RSTICK_TOUCH,
|
||||
LPAD_TOUCH,
|
||||
LPAD_CLICK,
|
||||
RPAD_TOUCH,
|
||||
RPAD_CLICK,
|
||||
REAR_LEFT_UPPER,
|
||||
REAR_LEFT_LOWER,
|
||||
REAR_RIGHT_UPPER,
|
||||
REAR_RIGHT_LOWER,
|
||||
STEAM_GUIDE,
|
||||
STEAM_QUICK_MENU
|
||||
INVALID,
|
||||
OK,
|
||||
CANCEL,
|
||||
SECONDARY,
|
||||
OPTIONS,
|
||||
BUMPER_LEFT,
|
||||
BUMPER_RIGHT,
|
||||
TRIGGER_LEFT,
|
||||
TRIGGER_RIGHT,
|
||||
DIR_UP,
|
||||
DIR_DOWN,
|
||||
DIR_LEFT,
|
||||
DIR_RIGHT,
|
||||
SELECT,
|
||||
START,
|
||||
LSTICK_CLICK,
|
||||
RSTICK_CLICK,
|
||||
LSTICK_TOUCH,
|
||||
RSTICK_TOUCH,
|
||||
LPAD_TOUCH,
|
||||
LPAD_CLICK,
|
||||
RPAD_TOUCH,
|
||||
RPAD_CLICK,
|
||||
REAR_LEFT_UPPER,
|
||||
REAR_LEFT_LOWER,
|
||||
REAR_RIGHT_UPPER,
|
||||
REAR_RIGHT_LOWER,
|
||||
STEAM_GUIDE,
|
||||
STEAM_QUICK_MENU,
|
||||
}
|
||||
|
||||
export enum NavEntryPositionPreferences {
|
||||
FIRST,
|
||||
LAST,
|
||||
MAINTAIN_X,
|
||||
MAINTAIN_Y,
|
||||
PREFERRED_CHILD
|
||||
FIRST,
|
||||
LAST,
|
||||
MAINTAIN_X,
|
||||
MAINTAIN_Y,
|
||||
PREFERRED_CHILD,
|
||||
}
|
||||
|
||||
export interface GamepadEventDetail {
|
||||
button: number;
|
||||
is_repeat?: boolean;
|
||||
source: number;
|
||||
button: number;
|
||||
is_repeat?: boolean;
|
||||
source: number;
|
||||
}
|
||||
|
||||
export type GamepadEvent = CustomEvent<GamepadEventDetail>
|
||||
export type GamepadEvent = CustomEvent<GamepadEventDetail>;
|
||||
|
||||
export interface FooterLegendProps {
|
||||
actionDescriptionMap?: unknown;
|
||||
onOKActionDescription?: string;
|
||||
onCancelActionDescription?: string;
|
||||
onSecondaryActionDescription?: string;
|
||||
onOptionsActionDescription?: string;
|
||||
onMenuActionDescription?: string;
|
||||
onButtonDown?: (evt: GamepadEvent) => void;
|
||||
onButtonUp?: (evt: GamepadEvent) => void;
|
||||
onOKButton?: (evt: GamepadEvent) => void;
|
||||
onCancelButton?: (evt: GamepadEvent) => void;
|
||||
onSecondaryButton?: (evt: GamepadEvent) => void;
|
||||
onOptionsButton?: (evt: GamepadEvent) => void;
|
||||
onGamepadDirection?: (evt: GamepadEvent) => void;
|
||||
onGamepadFocus?: (evt: GamepadEvent) => void;
|
||||
onGamepadBlur?: (evt: GamepadEvent) => void;
|
||||
onMenuButton?: (evt: GamepadEvent) => void;
|
||||
}
|
||||
actionDescriptionMap?: unknown;
|
||||
onOKActionDescription?: string;
|
||||
onCancelActionDescription?: string;
|
||||
onSecondaryActionDescription?: string;
|
||||
onOptionsActionDescription?: string;
|
||||
onMenuActionDescription?: string;
|
||||
onButtonDown?: (evt: GamepadEvent) => void;
|
||||
onButtonUp?: (evt: GamepadEvent) => void;
|
||||
onOKButton?: (evt: GamepadEvent) => void;
|
||||
onCancelButton?: (evt: GamepadEvent) => void;
|
||||
onSecondaryButton?: (evt: GamepadEvent) => void;
|
||||
onOptionsButton?: (evt: GamepadEvent) => void;
|
||||
onGamepadDirection?: (evt: GamepadEvent) => void;
|
||||
onGamepadFocus?: (evt: GamepadEvent) => void;
|
||||
onGamepadBlur?: (evt: GamepadEvent) => void;
|
||||
onMenuButton?: (evt: GamepadEvent) => void;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { FC, ReactNode } from 'react';
|
||||
|
||||
import { findSP } from '../utils';
|
||||
import { findModuleChild } from '../webpack';
|
||||
|
||||
@@ -21,25 +22,26 @@ export interface ShowModalResult {
|
||||
Close: () => void;
|
||||
|
||||
// This method will replace the modal element completely and will not update the callback chains,
|
||||
// meaning that "closeModal" and etc. will not automatically close the modal anymore (also "fnOnClose"
|
||||
// will not be even called upon close anymore)! You have to manually call the "Close" method when, for example,
|
||||
// the "closeModal" is invoked in the newly updated modal:
|
||||
// meaning that "closeModal" and etc. will not automatically close the modal anymore (also "fnOnClose"
|
||||
// will not be even called upon close anymore)! You have to manually call the "Close" method when, for example,
|
||||
// the "closeModal" is invoked in the newly updated modal:
|
||||
// <ModalRoot closeModal={() => { console.log("ABOUT TO CLOSE"); showModalRes.Close(); }} />
|
||||
Update: (modal: ReactNode) => void;
|
||||
}
|
||||
|
||||
const showModalRaw: (modal: ReactNode, parent?: EventTarget, props?: ShowModalProps) => Promise<ShowModalResult> = findModuleChild((m) => {
|
||||
if (typeof m !== 'object') return undefined;
|
||||
for (let prop in m) {
|
||||
if (typeof m[prop] === 'function' && m[prop].toString().includes('bHideMainWindowForPopouts:!0')) {
|
||||
return m[prop];
|
||||
const showModalRaw: (modal: ReactNode, parent?: EventTarget, props?: ShowModalProps) => Promise<ShowModalResult> =
|
||||
findModuleChild((m) => {
|
||||
if (typeof m !== 'object') return undefined;
|
||||
for (let prop in m) {
|
||||
if (typeof m[prop] === 'function' && m[prop].toString().includes('bHideMainWindowForPopouts:!0')) {
|
||||
return m[prop];
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export const showModal = (modal: ReactNode, parent?: EventTarget, props?: ShowModalProps): Promise<ShowModalResult> => {
|
||||
return showModalRaw(modal, parent || findSP(), props)
|
||||
}
|
||||
return showModalRaw(modal, parent || findSP(), props);
|
||||
};
|
||||
|
||||
export interface ModalRootProps {
|
||||
children?: ReactNode;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { VFC, ReactNode } from 'react';
|
||||
import { ReactNode, VFC } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
import { ItemProps } from './Item';
|
||||
|
||||
@@ -57,11 +57,11 @@ export enum DisplayStatus {
|
||||
}
|
||||
|
||||
export type AppOverview = {
|
||||
appid: string
|
||||
display_name: string
|
||||
display_status: DisplayStatus
|
||||
sort_as: string
|
||||
}
|
||||
appid: string;
|
||||
display_name: string;
|
||||
display_status: DisplayStatus;
|
||||
sort_as: string;
|
||||
};
|
||||
|
||||
export interface Router {
|
||||
CloseSideMenus(): void;
|
||||
@@ -69,19 +69,19 @@ export interface Router {
|
||||
GetQuickAccessTab(): QuickAccessTab;
|
||||
Navigate(path: string): void;
|
||||
NavigateBackOrOpenMenu(): void;
|
||||
NavigateToAppProperties(): void
|
||||
NavigateToBugForum(): void
|
||||
NavigateToAppProperties(): void;
|
||||
NavigateToBugForum(): void;
|
||||
NavigateToExternalWeb(url: string): void;
|
||||
NavigateToHelp(): void
|
||||
NavigateToInvites(): void
|
||||
NavigateToHelp(): void;
|
||||
NavigateToInvites(): void;
|
||||
NavigateToRunningApp(replace?: boolean): void;
|
||||
NavigateToStorage(): void
|
||||
NavigateToStore(): void
|
||||
NavigateToStoreApp(appId: number | string): void
|
||||
NavigateToStoreFreeToPlay(): void
|
||||
NavigateToStoreManual(): void
|
||||
NavigateToStoreNewReleases(): void
|
||||
NavigateToStoreOnSale(): void
|
||||
NavigateToStorage(): void;
|
||||
NavigateToStore(): void;
|
||||
NavigateToStoreApp(appId: number | string): void;
|
||||
NavigateToStoreFreeToPlay(): void;
|
||||
NavigateToStoreManual(): void;
|
||||
NavigateToStoreNewReleases(): void;
|
||||
NavigateToStoreOnSale(): void;
|
||||
ToggleSideMenu(sideMenu: SideMenu): void;
|
||||
CloseSideMenus(): void;
|
||||
OpenSideMenu(sideMenu: SideMenu): void;
|
||||
|
||||
@@ -11,7 +11,7 @@ export interface SidebarNavigationPage {
|
||||
identifier?: string;
|
||||
route?: string;
|
||||
link?: string;
|
||||
padding?: "none" | "compact";
|
||||
padding?: 'none' | 'compact';
|
||||
}
|
||||
|
||||
export interface SidebarNavigationProps {
|
||||
|
||||
@@ -3,6 +3,6 @@ import { FC, SVGAttributes } from 'react';
|
||||
import { IconsModule } from '../webpack';
|
||||
|
||||
// TODO type this and other icons?
|
||||
export const Spinner = Object.values(IconsModule).find((mod: any) =>
|
||||
mod?.toString && /Spinner\)}\),.\.createElement\(\"path\",{d:\"M18 /.test(mod.toString())
|
||||
) as FC<SVGAttributes<SVGElement>>;
|
||||
export const Spinner = Object.values(IconsModule).find(
|
||||
(mod: any) => mod?.toString && /Spinner\)}\),.\.createElement\(\"path\",{d:\"M18 /.test(mod.toString()),
|
||||
) as FC<SVGAttributes<SVGElement>>;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import { FC, SVGAttributes } from 'react';
|
||||
|
||||
import { findModuleChild } from '../webpack';
|
||||
|
||||
export const SteamSpinner = findModuleChild((m) => {
|
||||
if (typeof m !== "object") return undefined;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.toString()?.includes("Steam Spinner") && m[prop].toString().includes("PreloadThrobber")) return m[prop]
|
||||
}
|
||||
}) as FC<SVGAttributes<SVGElement>>;
|
||||
if (typeof m !== 'object') return undefined;
|
||||
for (let prop in m) {
|
||||
if (m[prop]?.toString()?.includes('Steam Spinner') && m[prop].toString().includes('PreloadThrobber'))
|
||||
return m[prop];
|
||||
}
|
||||
}) as FC<SVGAttributes<SVGElement>>;
|
||||
|
||||
@@ -63,13 +63,7 @@ type QuickAccessMenuClasses = Record<
|
||||
string
|
||||
>;
|
||||
|
||||
type ScrollPanelClasses = Record<
|
||||
| 'ScrollBoth'
|
||||
| 'ScrollPanel'
|
||||
| 'ScrollX'
|
||||
| 'ScrollY',
|
||||
string
|
||||
>;
|
||||
type ScrollPanelClasses = Record<'ScrollBoth' | 'ScrollPanel' | 'ScrollX' | 'ScrollY', string>;
|
||||
|
||||
type GamepadDialogClasses = Record<
|
||||
| 'duration-app-launch'
|
||||
@@ -166,207 +160,221 @@ type QuickAccessControlsClasses = Record<
|
||||
>;
|
||||
|
||||
type UpdaterFieldClasses = Record<
|
||||
| "duration-app-launch"
|
||||
| "OOBEUpdateStatusContainer"
|
||||
| "UpdateScreen"
|
||||
| "UpdatePanel"
|
||||
| "CurrentStatus"
|
||||
| "TotalUpdateSize"
|
||||
| "ProgressInfoContainer"
|
||||
| "TimeRemaining"
|
||||
| "BatteryLowWarning"
|
||||
| "fadeInAnimation"
|
||||
| "ProgressStatus"
|
||||
| "UpdateStatusContainer"
|
||||
| "UpdaterFieldStatusSuccess"
|
||||
| "UpdaterFieldStatusApplying"
|
||||
| "TextContainer"
|
||||
| "ApplyingText"
|
||||
| "UpdateBytesRemaining"
|
||||
| "Label"
|
||||
| "Numerator"
|
||||
| "Separator"
|
||||
| "Denominator"
|
||||
| "PatchNotes"
|
||||
| "PostedTime"
|
||||
| "EventDetailTitle"
|
||||
| "EventDetailsSubTitle"
|
||||
| "EventDetailsBody"
|
||||
| "InsufficientBatteryText"
|
||||
| "UnsupportedHardwareWarning"
|
||||
| "Title"
|
||||
| "Text"
|
||||
| "Body"
|
||||
| "ItemFocusAnim-darkerGrey-nocolor"
|
||||
| "ItemFocusAnim-darkerGrey"
|
||||
| "ItemFocusAnim-darkGrey"
|
||||
| "ItemFocusAnim-grey"
|
||||
| "ItemFocusAnimBorder-darkGrey"
|
||||
| "ItemFocusAnim-green"
|
||||
| "focusAnimation"
|
||||
| "hoverAnimation",
|
||||
| 'duration-app-launch'
|
||||
| 'OOBEUpdateStatusContainer'
|
||||
| 'UpdateScreen'
|
||||
| 'UpdatePanel'
|
||||
| 'CurrentStatus'
|
||||
| 'TotalUpdateSize'
|
||||
| 'ProgressInfoContainer'
|
||||
| 'TimeRemaining'
|
||||
| 'BatteryLowWarning'
|
||||
| 'fadeInAnimation'
|
||||
| 'ProgressStatus'
|
||||
| 'UpdateStatusContainer'
|
||||
| 'UpdaterFieldStatusSuccess'
|
||||
| 'UpdaterFieldStatusApplying'
|
||||
| 'TextContainer'
|
||||
| 'ApplyingText'
|
||||
| 'UpdateBytesRemaining'
|
||||
| 'Label'
|
||||
| 'Numerator'
|
||||
| 'Separator'
|
||||
| 'Denominator'
|
||||
| 'PatchNotes'
|
||||
| 'PostedTime'
|
||||
| 'EventDetailTitle'
|
||||
| 'EventDetailsSubTitle'
|
||||
| 'EventDetailsBody'
|
||||
| 'InsufficientBatteryText'
|
||||
| 'UnsupportedHardwareWarning'
|
||||
| 'Title'
|
||||
| 'Text'
|
||||
| 'Body'
|
||||
| 'ItemFocusAnim-darkerGrey-nocolor'
|
||||
| 'ItemFocusAnim-darkerGrey'
|
||||
| 'ItemFocusAnim-darkGrey'
|
||||
| 'ItemFocusAnim-grey'
|
||||
| 'ItemFocusAnimBorder-darkGrey'
|
||||
| 'ItemFocusAnim-green'
|
||||
| 'focusAnimation'
|
||||
| 'hoverAnimation',
|
||||
string
|
||||
>;
|
||||
|
||||
type PlaySectionClasses = Record<
|
||||
| "AchievementCountLabel"
|
||||
| "AchievementProgressRow"
|
||||
| "ActionSection"
|
||||
| "AppButtonsContainer"
|
||||
| "Arrow"
|
||||
| "AvatarAndPersona"
|
||||
| "BreakNarrow"
|
||||
| "BreakShort"
|
||||
| "BreakTall"
|
||||
| "BreakUltraWide"
|
||||
| "BreakWide"
|
||||
| "ClickablePlayBarItem"
|
||||
| "CloudStatusIcon"
|
||||
| "CloudStatusLabel"
|
||||
| "CloudStatusRow"
|
||||
| "CloudSyncProblem"
|
||||
| "CloudSynching"
|
||||
| "ComingSoon"
|
||||
| "Container"
|
||||
| "DetailsProgressBar"
|
||||
| "DetailsProgressContainer"
|
||||
| "DetailsSection"
|
||||
| "DetailsSectionExtra"
|
||||
| "DetailsSectionStatus"
|
||||
| "DotDotDot"
|
||||
| "DownloadPaused"
|
||||
| "DownloadProgressBar"
|
||||
| "Downloading"
|
||||
| "FavoriteButton"
|
||||
| "Favorited"
|
||||
| "GameInfoButton"
|
||||
| "GameStat"
|
||||
| "GameStatIcon"
|
||||
| "GameStatIconForced"
|
||||
| "GameStatRight"
|
||||
| "GameStatsSection"
|
||||
| "GamepadUIBreakNarrow"
|
||||
| "GamepadUIBreakShort"
|
||||
| "GamepadUIBreakWide"
|
||||
| "Glassy"
|
||||
| "HideWhenNarrow"
|
||||
| "Icon"
|
||||
| "Icons"
|
||||
| "InPage"
|
||||
| "InnerContainer"
|
||||
| "InvalidPlatform"
|
||||
| "ItemFocusAnim-darkGrey"
|
||||
| "ItemFocusAnim-darkerGrey"
|
||||
| "ItemFocusAnim-darkerGrey-nocolor"
|
||||
| "ItemFocusAnim-green"
|
||||
| "ItemFocusAnim-grey"
|
||||
| "ItemFocusAnimBorder-darkGrey"
|
||||
| "Label"
|
||||
| "LastPlayed"
|
||||
| "LastPlayedInfo"
|
||||
| "MenuActive"
|
||||
| "MenuButton"
|
||||
| "MiniAchievements"
|
||||
| "OfflineMode"
|
||||
| "OnlyDownloadBar"
|
||||
| "PermanentlyUnavailable"
|
||||
| "PlayBar"
|
||||
| "PlayBarCloudStatusContainer"
|
||||
| "PlayBarDetailLabel"
|
||||
| "PlayBarGameIcon"
|
||||
| "PlayBarGameName"
|
||||
| "PlayBarIconAndGame"
|
||||
| "PlayBarLabel"
|
||||
| "Playtime"
|
||||
| "PlaytimeIcon"
|
||||
| "PlaytimeIconForced"
|
||||
| "PortraitBar"
|
||||
| "Presale"
|
||||
| "RecentlyUpdated"
|
||||
| "RecentlyUpdatedIcon"
|
||||
| "RecentlyUpdatedLink"
|
||||
| "RecentlyUpdatedText"
|
||||
| "RightBreakNarrow"
|
||||
| "RightBreakUltraNarrow"
|
||||
| "RightBreakUltraWide"
|
||||
| "RightBreakWide"
|
||||
| "RightControls"
|
||||
| "Row"
|
||||
| "SharedLibrary"
|
||||
| "StatusAndStats"
|
||||
| "StatusNameContainer"
|
||||
| "StickyHeader"
|
||||
| "StickyHeaderShadow"
|
||||
| "SuperimposedGridItems"
|
||||
| "SyncAnim"
|
||||
| "Visible"
|
||||
| "duration-app-launch"
|
||||
| "favorited"
|
||||
| "focusAnimation"
|
||||
| "hoverAnimation",
|
||||
| 'AchievementCountLabel'
|
||||
| 'AchievementProgressRow'
|
||||
| 'ActionSection'
|
||||
| 'AppButtonsContainer'
|
||||
| 'Arrow'
|
||||
| 'AvatarAndPersona'
|
||||
| 'BreakNarrow'
|
||||
| 'BreakShort'
|
||||
| 'BreakTall'
|
||||
| 'BreakUltraWide'
|
||||
| 'BreakWide'
|
||||
| 'ClickablePlayBarItem'
|
||||
| 'CloudStatusIcon'
|
||||
| 'CloudStatusLabel'
|
||||
| 'CloudStatusRow'
|
||||
| 'CloudSyncProblem'
|
||||
| 'CloudSynching'
|
||||
| 'ComingSoon'
|
||||
| 'Container'
|
||||
| 'DetailsProgressBar'
|
||||
| 'DetailsProgressContainer'
|
||||
| 'DetailsSection'
|
||||
| 'DetailsSectionExtra'
|
||||
| 'DetailsSectionStatus'
|
||||
| 'DotDotDot'
|
||||
| 'DownloadPaused'
|
||||
| 'DownloadProgressBar'
|
||||
| 'Downloading'
|
||||
| 'FavoriteButton'
|
||||
| 'Favorited'
|
||||
| 'GameInfoButton'
|
||||
| 'GameStat'
|
||||
| 'GameStatIcon'
|
||||
| 'GameStatIconForced'
|
||||
| 'GameStatRight'
|
||||
| 'GameStatsSection'
|
||||
| 'GamepadUIBreakNarrow'
|
||||
| 'GamepadUIBreakShort'
|
||||
| 'GamepadUIBreakWide'
|
||||
| 'Glassy'
|
||||
| 'HideWhenNarrow'
|
||||
| 'Icon'
|
||||
| 'Icons'
|
||||
| 'InPage'
|
||||
| 'InnerContainer'
|
||||
| 'InvalidPlatform'
|
||||
| 'ItemFocusAnim-darkGrey'
|
||||
| 'ItemFocusAnim-darkerGrey'
|
||||
| 'ItemFocusAnim-darkerGrey-nocolor'
|
||||
| 'ItemFocusAnim-green'
|
||||
| 'ItemFocusAnim-grey'
|
||||
| 'ItemFocusAnimBorder-darkGrey'
|
||||
| 'Label'
|
||||
| 'LastPlayed'
|
||||
| 'LastPlayedInfo'
|
||||
| 'MenuActive'
|
||||
| 'MenuButton'
|
||||
| 'MiniAchievements'
|
||||
| 'OfflineMode'
|
||||
| 'OnlyDownloadBar'
|
||||
| 'PermanentlyUnavailable'
|
||||
| 'PlayBar'
|
||||
| 'PlayBarCloudStatusContainer'
|
||||
| 'PlayBarDetailLabel'
|
||||
| 'PlayBarGameIcon'
|
||||
| 'PlayBarGameName'
|
||||
| 'PlayBarIconAndGame'
|
||||
| 'PlayBarLabel'
|
||||
| 'Playtime'
|
||||
| 'PlaytimeIcon'
|
||||
| 'PlaytimeIconForced'
|
||||
| 'PortraitBar'
|
||||
| 'Presale'
|
||||
| 'RecentlyUpdated'
|
||||
| 'RecentlyUpdatedIcon'
|
||||
| 'RecentlyUpdatedLink'
|
||||
| 'RecentlyUpdatedText'
|
||||
| 'RightBreakNarrow'
|
||||
| 'RightBreakUltraNarrow'
|
||||
| 'RightBreakUltraWide'
|
||||
| 'RightBreakWide'
|
||||
| 'RightControls'
|
||||
| 'Row'
|
||||
| 'SharedLibrary'
|
||||
| 'StatusAndStats'
|
||||
| 'StatusNameContainer'
|
||||
| 'StickyHeader'
|
||||
| 'StickyHeaderShadow'
|
||||
| 'SuperimposedGridItems'
|
||||
| 'SyncAnim'
|
||||
| 'Visible'
|
||||
| 'duration-app-launch'
|
||||
| 'favorited'
|
||||
| 'focusAnimation'
|
||||
| 'hoverAnimation',
|
||||
string
|
||||
>;
|
||||
|
||||
type GamepadSliderClasses = Record<
|
||||
| "error-shake-duration"
|
||||
| "SliderControlPanelGroup"
|
||||
| "SliderControlAndNotches"
|
||||
| "WithDefaultValue"
|
||||
| "SliderControl"
|
||||
| "Disabled"
|
||||
| "SliderTrack"
|
||||
| "SliderHasNotches"
|
||||
| "SliderTrackDark"
|
||||
| "SliderHandleContainer"
|
||||
| "VerticalLineSliderHandleContainer"
|
||||
| "ParenSliderHandleContainer"
|
||||
| "SliderHandle"
|
||||
| "SliderHandleFocusPop"
|
||||
| "VerticalLineSliderHandle"
|
||||
| "ParenSliderHandle"
|
||||
| "Left"
|
||||
| "SliderControlWithIcon"
|
||||
| "Icon"
|
||||
| "SliderNotchContainer"
|
||||
| "SliderNotch"
|
||||
| "AlignToEnds"
|
||||
| "SliderNotchLabel"
|
||||
| "AlignToLeft"
|
||||
| "AlignToRight"
|
||||
| "SliderNotchTick"
|
||||
| "TickActive"
|
||||
| "LabelText"
|
||||
| "DescriptionValue"
|
||||
| "EditableValue"
|
||||
| "FakeEditableValue"
|
||||
| "RedBorder"
|
||||
| "EditableValueSuffix"
|
||||
| "ErrorShake"
|
||||
| "error-shake"
|
||||
| "CompoundSlider"
|
||||
| "CompoundSliderSubSlider"
|
||||
| "Right"
|
||||
| "CompoundSliderSubSliderLabelContainer"
|
||||
| "CompoundSliderSubSliderLabelPositioner"
|
||||
| "CompoundSliderSubSliderLabel"
|
||||
| "CompoundSliderSubSliderLabelInternal"
|
||||
| "DefaultValueTickContainer"
|
||||
| "DefaultValueTick",
|
||||
| 'error-shake-duration'
|
||||
| 'SliderControlPanelGroup'
|
||||
| 'SliderControlAndNotches'
|
||||
| 'WithDefaultValue'
|
||||
| 'SliderControl'
|
||||
| 'Disabled'
|
||||
| 'SliderTrack'
|
||||
| 'SliderHasNotches'
|
||||
| 'SliderTrackDark'
|
||||
| 'SliderHandleContainer'
|
||||
| 'VerticalLineSliderHandleContainer'
|
||||
| 'ParenSliderHandleContainer'
|
||||
| 'SliderHandle'
|
||||
| 'SliderHandleFocusPop'
|
||||
| 'VerticalLineSliderHandle'
|
||||
| 'ParenSliderHandle'
|
||||
| 'Left'
|
||||
| 'SliderControlWithIcon'
|
||||
| 'Icon'
|
||||
| 'SliderNotchContainer'
|
||||
| 'SliderNotch'
|
||||
| 'AlignToEnds'
|
||||
| 'SliderNotchLabel'
|
||||
| 'AlignToLeft'
|
||||
| 'AlignToRight'
|
||||
| 'SliderNotchTick'
|
||||
| 'TickActive'
|
||||
| 'LabelText'
|
||||
| 'DescriptionValue'
|
||||
| 'EditableValue'
|
||||
| 'FakeEditableValue'
|
||||
| 'RedBorder'
|
||||
| 'EditableValueSuffix'
|
||||
| 'ErrorShake'
|
||||
| 'error-shake'
|
||||
| 'CompoundSlider'
|
||||
| 'CompoundSliderSubSlider'
|
||||
| 'Right'
|
||||
| 'CompoundSliderSubSliderLabelContainer'
|
||||
| 'CompoundSliderSubSliderLabelPositioner'
|
||||
| 'CompoundSliderSubSliderLabel'
|
||||
| 'CompoundSliderSubSliderLabelInternal'
|
||||
| 'DefaultValueTickContainer'
|
||||
| 'DefaultValueTick',
|
||||
string
|
||||
>;
|
||||
|
||||
export const quickAccessMenuClasses: QuickAccessMenuClasses = findModule((mod) => typeof mod === 'object' && mod?.Title?.includes('quickaccessmenu'));
|
||||
export const quickAccessMenuClasses: QuickAccessMenuClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.Title?.includes('quickaccessmenu'),
|
||||
);
|
||||
/**
|
||||
* @depreciated please use quickAccessMenuClasses instead
|
||||
*/
|
||||
export const staticClasses = quickAccessMenuClasses;
|
||||
export const scrollPanelClasses: ScrollPanelClasses = findModule((mod) => typeof mod === 'object' && mod?.ScrollPanel?.includes('scrollpanel'));
|
||||
export const scrollPanelClasses: ScrollPanelClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.ScrollPanel?.includes('scrollpanel'),
|
||||
);
|
||||
/**
|
||||
* @depreciated please use scrollPanelClasses instead
|
||||
*/
|
||||
export const scrollClasses = scrollPanelClasses;
|
||||
export const gamepadDialogClasses: GamepadDialogClasses = findModule((mod) => typeof mod === 'object' && mod?.GamepadDialogContent?.includes('gamepaddialog'));
|
||||
export const quickAccessControlsClasses: QuickAccessControlsClasses = findModule((mod) => typeof mod === 'object' && mod?.PanelSection?.includes('quickaccesscontrols'));
|
||||
export const updaterFieldClasses: UpdaterFieldClasses = findModule((mod) => typeof mod === 'object' && mod?.OOBEUpdateStatusContainer?.includes('updaterfield'));
|
||||
export const playSectionClasses: PlaySectionClasses = findModule((mod) => typeof mod === 'object' && mod?.Container?.includes('appdetailsplaysection'));
|
||||
export const gamepadSliderClasses: GamepadSliderClasses = findModule((mod) => typeof mod === 'object' && mod?.SliderControlPanelGroup?.includes('gamepadslider'));
|
||||
export const gamepadDialogClasses: GamepadDialogClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.GamepadDialogContent?.includes('gamepaddialog'),
|
||||
);
|
||||
export const quickAccessControlsClasses: QuickAccessControlsClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.PanelSection?.includes('quickaccesscontrols'),
|
||||
);
|
||||
export const updaterFieldClasses: UpdaterFieldClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.OOBEUpdateStatusContainer?.includes('updaterfield'),
|
||||
);
|
||||
export const playSectionClasses: PlaySectionClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.Container?.includes('appdetailsplaysection'),
|
||||
);
|
||||
export const gamepadSliderClasses: GamepadSliderClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.SliderControlPanelGroup?.includes('gamepadslider'),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user