Compare commits

..

9 Commits

Author SHA1 Message Date
semantic-release-bot
210b0389f7 chore(release): 0.5.1 [CI SKIP] 2022-06-06 21:33:48 +00:00
AAGaming
198f96abb5 Merge branch 'main' of github.com:steamdeckhomebrew/decky-frontend-lib 2022-06-06 17:33:08 -04:00
AAGaming
244ae128da fix(classes): switch static-classes to findModule 2022-06-06 17:33:05 -04:00
semantic-release-bot
377d7adde8 chore(release): 0.5.0 [CI SKIP] 2022-06-06 21:28:39 +00:00
AAGaming
f34b9de97f feat(utils): add joinClassNames util 2022-06-06 17:27:56 -04:00
semantic-release-bot
b5192cf590 chore(release): 0.4.2 [CI SKIP] 2022-06-06 21:21:44 +00:00
AAGaming
2e7b4b664a fix(classes): add gamepadDialogClasses and quickAccessControlsClasses 2022-06-06 17:20:55 -04:00
semantic-release-bot
b92e6a5b9d chore(release): 0.4.1 [CI SKIP] 2022-06-05 13:11:12 +00:00
Jonas Dellinger
32c355f2a7 fix(textfield): correct type for onChange callback 2022-06-05 15:10:23 +02:00
5 changed files with 153 additions and 5 deletions

View File

@@ -1,3 +1,31 @@
## [0.5.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v0.5.0...v0.5.1) (2022-06-06)
### Bug Fixes
* **classes:** switch static-classes to findModule ([244ae12](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/244ae128da03e0687f1ba0b0e5b5b548b581277a))
# [0.5.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v0.4.2...v0.5.0) (2022-06-06)
### Features
* **utils:** add joinClassNames util ([f34b9de](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/f34b9de97f61eb5b075d6adedfcacfa5e097943b))
## [0.4.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v0.4.1...v0.4.2) (2022-06-06)
### Bug Fixes
* **classes:** add gamepadDialogClasses and quickAccessControlsClasses ([2e7b4b6](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/2e7b4b664a673b46b402b995fb58f0ce8ffbafac))
## [0.4.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v0.4.0...v0.4.1) (2022-06-05)
### Bug Fixes
* **textfield:** correct type for onChange callback ([32c355f](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/32c355f2a7e0b6ca6592b956e8174d217766bc5c))
# [0.4.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v0.3.0...v0.4.0) (2022-06-05)

View File

@@ -1,6 +1,6 @@
{
"name": "decky-frontend-lib",
"version": "0.4.0",
"version": "0.5.1",
"description": "A library for building decky plugins",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -18,7 +18,7 @@ export interface TextFieldProps {
focusOnMount?: boolean;
tooltip?: string;
inlineControls?: ReactNode;
onChange?(event: ChangeEventHandler<HTMLInputElement>): void;
onChange?: ChangeEventHandler<HTMLInputElement>;
value?: string;
}

View File

@@ -1,4 +1,4 @@
import { findModuleChild } from '../webpack';
import { findModule } from '../webpack';
type StaticClasses = Record<
| 'ActiveTab'
@@ -63,10 +63,126 @@ type StaticClasses = Record<
string
>;
export const staticClasses: StaticClasses = findModuleChild((mod) => {
type GamepadDialogClasses = Record<
| 'duration-app-launch'
| 'GamepadDialogContent'
| 'GamepadDialogContent_InnerWidth'
| 'Field'
| 'Button'
| 'NoMinWidth'
| 'ActiveAndUnfocused'
| 'StandaloneFieldSeparator'
| 'StandardPadding'
| 'CompactPadding'
| 'WithDescription'
| 'WithBottomSeparatorStandard'
| 'WithBottomSeparatorThick'
| 'HighlightOnFocus'
| 'ItemFocusAnim-darkerGrey'
| 'ItemFocusAnim-darkGrey'
| 'WithBottomSeparator'
| 'Disabled'
| 'Clickable'
| 'FieldClickTarget'
| 'FieldChildren'
| 'FieldLeadIcon'
| 'FieldLabelRow'
| 'VerticalAlignCenter'
| 'InlineWrapShiftsChildrenBelow'
| 'ExtraPaddingOnChildrenBelow'
| 'ChildrenWidthFixed'
| 'ChildrenWidthGrow'
| 'WithFirstRow'
| 'WithChildrenBelow'
| 'FieldLabel'
| 'FieldLabelValue'
| 'FieldDescription'
| 'ModalPosition'
| 'WithStandardPadding'
| 'slideInAnimation'
| 'BasicTextInput'
| 'Toggle'
| 'ToggleRail'
| 'On'
| 'ToggleSwitch'
| 'LabelFieldValue'
| 'DropDownControlButtonContents'
| 'Spacer'
| 'ControlsListOuterPanel'
| 'StandardSpacing'
| 'ExtraSpacing'
| 'AlignRight'
| 'AlignLeft'
| 'AlignCenter'
| 'ControlsListChild'
| 'QuickAccess-Menu'
| 'BigButtons'
| 'BottomButtons'
| 'ItemFocusAnim-darkerGrey-nocolor'
| 'ItemFocusAnim-grey'
| 'ItemFocusAnimBorder-darkGrey'
| 'ItemFocusAnim-green'
| 'focusAnimation'
| 'hoverAnimation',
string
>;
type QuickAccessControlsClasses = Record<
| 'duration-app-launch'
| 'PanelSection'
| 'PanelSectionTitle'
| 'Text'
| 'PanelSectionRow'
| 'Label'
| 'ComingSoon'
| 'LowBattery'
| 'ReallyLow'
| 'LowBatteryGauge'
| 'Remaining'
| 'EmptyNotifications'
| 'BatterySectionContainer'
| 'BatteryIcon'
| 'BatteryPercentageLabel'
| 'BatteryDetailsLabels'
| 'BatteryProjectedValue'
| 'BatteryProjectedLabel'
| 'ItemFocusAnim-darkerGrey-nocolor'
| 'ItemFocusAnim-darkerGrey'
| 'ItemFocusAnim-darkGrey'
| 'ItemFocusAnim-grey'
| 'ItemFocusAnimBorder-darkGrey'
| 'ItemFocusAnim-green'
| 'focusAnimation'
| 'hoverAnimation',
string
>;
export const staticClasses: StaticClasses = findModule((mod) => {
if (typeof mod !== 'object') return false;
if (mod.TransitionMenuDelay) {
return mod;
return true;
}
return false;
});
export const gamepadDialogClasses: GamepadDialogClasses = findModule((mod) => {
if (typeof mod !== 'object') return false;
if (mod.WithFirstRow) {
return true;
}
return false;
});
export const quickAccessControlsClasses: QuickAccessControlsClasses = findModule((mod) => {
if (typeof mod !== 'object') return false;
if (mod.PanelSectionRow) {
return true;
}
return false;
});

View File

@@ -85,3 +85,7 @@ export function unpatch(obj: any, name: any): void {
export function getReactInstance(o: HTMLElement | Element | Node) {
return o[Object.keys(o).find(k => k.startsWith('__reactInternalInstance')) as string]
}
export function joinClassNames(...classes: string[]): string {
return classes.join(" ");
}