Compare commits

...

12 Commits

Author SHA1 Message Date
semantic-release-bot
14c5210931 chore(release): 3.15.0 [CI SKIP] 2022-12-11 14:18:49 +00:00
Jozen Blue Martinez
cc29ddaf57 feat(Focusable): add noFocusRing prop type (#65) 2022-12-11 15:18:07 +01:00
semantic-release-bot
1e8979b641 chore(release): 3.14.0 [CI SKIP] 2022-12-10 00:14:13 +00:00
jurassicplayer
7ba1229a4e feat(toast): add showToast/playSound to ToastData (#64) 2022-12-09 19:13:37 -05:00
semantic-release-bot
4c2a715324 chore(release): 3.13.0 [CI SKIP] 2022-11-29 20:01:20 +00:00
Jozen Blue Martinez
678ba216f1 feat(Menu): add more missing props (#60) [CI SKIP]
* feat(Menu): extend FooterLegendProps

* feat(MenuItem): add more missing props
2022-11-29 21:00:45 +01:00
semantic-release-bot
07d15f5dca chore(release): 3.12.0 [CI SKIP] 2022-11-28 12:03:43 +00:00
Jozen Blue Martinez
c84a091469 feat(MenuItem): add missing props (#59) 2022-11-28 07:03:07 -05:00
semantic-release-bot
47fd13692f chore(release): 3.11.1 [CI SKIP] 2022-11-20 01:13:29 +00:00
AAGaming
2ec9519b7d fix(Footer): add types for ActionDescriptionMap 2022-11-19 20:12:45 -05:00
semantic-release-bot
24606190e0 chore(release): 3.11.0 [CI SKIP] 2022-11-18 18:00:30 +00:00
Lukas Senionis
ed98d14b37 feat(classes): add "appDetailsClasses" (#55) 2022-11-18 12:59:57 -05:00
7 changed files with 105 additions and 12 deletions

View File

@@ -1,3 +1,45 @@
# [3.15.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.14.0...v3.15.0) (2022-12-11)
### Features
* **Focusable:** add noFocusRing prop type ([#65](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/65)) ([cc29dda](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/cc29ddaf578e21ab2abe1cd266f1d15debee0637))
# [3.14.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.13.0...v3.14.0) (2022-12-10)
### Features
* **toast:** add showToast/playSound to ToastData ([#64](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/64)) ([7ba1229](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/7ba1229a4e24fea587b96dc8b078200faf45ddee))
# [3.13.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.12.0...v3.13.0) (2022-11-29)
### Features
* **Menu:** add more missing props ([#60](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/60)) [CI SKIP] ([678ba21](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/678ba216f1e194986b0c391398e6f73536cd0102))
# [3.12.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.11.1...v3.12.0) (2022-11-28)
### Features
* **MenuItem:** add missing props ([#59](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/59)) ([c84a091](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/c84a09146935f0942265b7a1e4aadc40e8cf22dc))
## [3.11.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.11.0...v3.11.1) (2022-11-20)
### Bug Fixes
* **Footer:** add types for ActionDescriptionMap ([2ec9519](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/2ec9519b7d6d1cc0d232853ce05a773953b37c5a))
# [3.11.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.10.0...v3.11.0) (2022-11-18)
### Features
* **classes:** add "appDetailsClasses" ([#55](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/55)) ([ed98d14](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/ed98d14b37cf09500afd88e7c8e9c03749119b38))
# [3.10.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.9.0...v3.10.0) (2022-11-18)

View File

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

View File

@@ -8,6 +8,7 @@ export interface FocusableProps extends HTMLAttributes<HTMLDivElement>, FooterLe
'flow-children'?: string;
focusClassName?: string;
focusWithinClassName?: string;
noFocusRing?: boolean;
onActivate?: (e: CustomEvent) => void;
onCancel?: (e: CustomEvent) => void;
}

View File

@@ -29,25 +29,24 @@ export enum GamepadButton {
STEAM_GUIDE,
STEAM_QUICK_MENU,
}
export enum NavEntryPositionPreferences {
export declare enum NavEntryPositionPreferences {
FIRST,
LAST,
MAINTAIN_X,
MAINTAIN_Y,
PREFERRED_CHILD,
PREFERRED_CHILD
}
export interface GamepadEventDetail {
button: number;
is_repeat?: boolean;
source: number;
}
export type GamepadEvent = CustomEvent<GamepadEventDetail>;
export declare type ActionDescriptionMap = {
[key in GamepadButton]?: string
}
export declare type GamepadEvent = CustomEvent<GamepadEventDetail>;
export interface FooterLegendProps {
actionDescriptionMap?: unknown;
actionDescriptionMap?: ActionDescriptionMap;
onOKActionDescription?: string;
onCancelActionDescription?: string;
onSecondaryActionDescription?: string;

View File

@@ -2,6 +2,7 @@ import { FC, ReactNode } from 'react';
import { fakeRenderComponent } from '../utils';
import { findModuleChild } from '../webpack';
import { FooterLegendProps } from './FooterLegend';
export const showContextMenu: (children: ReactNode, parent?: EventTarget) => void = findModuleChild((m) => {
if (typeof m !== 'object') return undefined;
@@ -12,7 +13,7 @@ export const showContextMenu: (children: ReactNode, parent?: EventTarget) => voi
}
});
export interface MenuProps {
export interface MenuProps extends FooterLegendProps {
label: string;
onCancel?(): void;
cancelText?: string;
@@ -49,9 +50,16 @@ export const MenuGroup: FC<MenuGroupProps> = findModuleChild((m) => {
}
});
export interface MenuItemProps {
onSelected?(): void;
export interface MenuItemProps extends FooterLegendProps {
bInteractableItem?: boolean;
onClick?(evt: Event): void;
onSelected?(evt: Event): void;
onMouseEnter?(evt: MouseEvent): void;
onMoveRight?(): void;
selected?: boolean;
disabled?: boolean;
bPlayAudio?: boolean;
tone?: 'positive' | 'emphasis' | 'destructive';
children?: ReactNode;
}

View File

@@ -405,6 +405,42 @@ type AppDetailsHeaderClasses = Record<
string
>;
type AppDetailsClasses = Record<
| 'BreakNarrow'
| 'BreakShort'
| 'BreakTall'
| 'BreakUltraWide'
| 'BreakWide'
| 'Container'
| 'GamepadUIBreakNarrow'
| 'GamepadUIBreakShort'
| 'GamepadUIBreakWide'
| 'Glassy'
| 'Header'
| 'HeaderLoaded'
| 'InnerContainer'
| 'ItemFocusAnim-darkGrey'
| 'ItemFocusAnim-darkerGrey'
| 'ItemFocusAnim-darkerGrey-nocolor'
| 'ItemFocusAnim-green'
| 'ItemFocusAnim-grey'
| 'ItemFocusAnimBorder-darkGrey'
| 'PlayBar'
| 'PreventScrolling'
| 'RightBreakNarrow'
| 'RightBreakUltraNarrow'
| 'RightBreakUltraWide'
| 'RightBreakWide'
| 'ScrollContainer'
| 'ShowPlayBar'
| 'Throbber'
| 'duration-app-launch'
| 'fadein'
| 'focusAnimation'
| 'hoverAnimation',
string
>;
export const quickAccessMenuClasses: QuickAccessMenuClasses = findModule(
(mod) => typeof mod === 'object' && mod?.Title?.includes('quickaccessmenu'),
);
@@ -437,3 +473,6 @@ export const gamepadSliderClasses: GamepadSliderClasses = findModule(
export const appDetailsHeaderClasses: AppDetailsHeaderClasses = findModule(
(mod) => typeof mod === 'object' && mod?.TopCapsule?.includes('sharedappdetailsheader'),
);
export const appDetailsClasses: AppDetailsClasses = findModule(
(mod) => typeof mod === 'object' && mod?.HeaderLoaded?.includes('appdetails_'),
);

View File

@@ -42,6 +42,10 @@ export interface ToastData {
contentClassName?: string;
duration?: number;
critical?: boolean;
eType?: number;
sound?: number;
playSound?: boolean;
showToast?: boolean;
}
export interface Toaster {