@number10/phaserjsx 4.4.0 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/dist/colors/color-presets.d.ts +1 -1
- package/dist/colors/color-presets.d.ts.map +1 -1
- package/dist/colors/color-types.d.ts +20 -8
- package/dist/colors/color-types.d.ts.map +1 -1
- package/dist/colors/color-utils.d.ts +29 -27
- package/dist/colors/color-utils.d.ts.map +1 -1
- package/dist/colors/index.d.ts +3 -3
- package/dist/colors/index.d.ts.map +1 -1
- package/dist/colors/preset-manager.d.ts.map +1 -1
- package/dist/colors/use-colors.d.ts +0 -4
- package/dist/colors/use-colors.d.ts.map +1 -1
- package/dist/components/custom/ActivityIndicator.d.ts +43 -0
- package/dist/components/custom/ActivityIndicator.d.ts.map +1 -0
- package/dist/components/custom/BottomSheet.d.ts +86 -0
- package/dist/components/custom/BottomSheet.d.ts.map +1 -0
- package/dist/components/custom/Button.d.ts +2 -0
- package/dist/components/custom/Button.d.ts.map +1 -1
- package/dist/components/custom/ColorPicker.d.ts +72 -0
- package/dist/components/custom/ColorPicker.d.ts.map +1 -0
- package/dist/components/custom/Icon.d.ts.map +1 -1
- package/dist/components/custom/Icon.test.d.ts +2 -0
- package/dist/components/custom/Icon.test.d.ts.map +1 -0
- package/dist/components/custom/ListBox.d.ts +77 -0
- package/dist/components/custom/ListBox.d.ts.map +1 -0
- package/dist/components/custom/MenuButton.d.ts +40 -0
- package/dist/components/custom/MenuButton.d.ts.map +1 -0
- package/dist/components/custom/NumberInput.d.ts +143 -0
- package/dist/components/custom/NumberInput.d.ts.map +1 -0
- package/dist/components/custom/PalettePicker.d.ts +96 -0
- package/dist/components/custom/PalettePicker.d.ts.map +1 -0
- package/dist/components/custom/ProgressView.d.ts +47 -0
- package/dist/components/custom/ProgressView.d.ts.map +1 -0
- package/dist/components/custom/RatingBar.d.ts +48 -0
- package/dist/components/custom/RatingBar.d.ts.map +1 -0
- package/dist/components/custom/ScrollView.d.ts.map +1 -1
- package/dist/components/custom/SegmentedControl.d.ts +99 -0
- package/dist/components/custom/SegmentedControl.d.ts.map +1 -0
- package/dist/components/custom/Toast.d.ts +89 -0
- package/dist/components/custom/Toast.d.ts.map +1 -0
- package/dist/components/custom/Toolbar.d.ts +134 -0
- package/dist/components/custom/Toolbar.d.ts.map +1 -0
- package/dist/components/custom/WheelPicker.d.ts +63 -0
- package/dist/components/custom/WheelPicker.d.ts.map +1 -0
- package/dist/components/custom/index.cjs +39 -1
- package/dist/components/custom/index.d.ts +18 -5
- package/dist/components/custom/index.d.ts.map +1 -1
- package/dist/components/custom/index.js +2 -2
- package/dist/components/index.d.ts +16 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/{custom-BPY0TbuS.js → custom-pRNJ0_kS.js} +16820 -28213
- package/dist/custom-pRNJ0_kS.js.map +1 -0
- package/dist/{custom-Bnit70lx.cjs → custom-rkdLsk0U.cjs} +10167 -21201
- package/dist/custom-rkdLsk0U.cjs.map +1 -0
- package/dist/design-tokens/component-size-presets.d.ts +52 -0
- package/dist/design-tokens/component-size-presets.d.ts.map +1 -0
- package/dist/design-tokens/index.d.ts +2 -0
- package/dist/design-tokens/index.d.ts.map +1 -1
- package/dist/dev-config.d.ts.map +1 -1
- package/dist/index.cjs +61 -256
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -244
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-icon-loaders.js +27 -1
- package/dist/scripts/generate-icons.d.ts.map +1 -1
- package/dist/scripts/generate-icons.js +27 -1
- package/dist/theme-custom.d.ts +238 -0
- package/dist/theme-custom.d.ts.map +1 -1
- package/dist/theme-defaults.d.ts.map +1 -1
- package/dist/theme.d.ts +9 -0
- package/dist/theme.d.ts.map +1 -1
- package/package.json +1 -3
- package/dist/custom-BPY0TbuS.js.map +0 -1
- package/dist/custom-Bnit70lx.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ The 4.x line uses Phaser 4 render steps, filters, and WebGL behavior and is not
|
|
|
22
22
|
- 🎨 **React-like API** - Familiar JSX syntax with hooks (useState, useEffect, useMemo, etc.)
|
|
23
23
|
- 🎯 **Type-Safe** - Full TypeScript support with strict type checking
|
|
24
24
|
- 🎨 **Powerful Theme System** - Global and component-level theming with runtime switching
|
|
25
|
-
- 📦 **Rich Component Library** - Button, Text, Icon, Checkbox, ProgressBar, Badge,
|
|
25
|
+
- 📦 **Rich Component Library** - Button, Text, Icon, Checkbox, ProgressBar, Badge, ListBox, BottomSheet, Toast, WheelPicker, and more
|
|
26
26
|
- 🎭 **Built-in Effects** - 23+ animation effects (pulse, shake, fade, bounce, etc.)
|
|
27
27
|
- 📱 **Responsive Design** - Flexible layout with multiple size value formats (px, %, vw/vh, fill, auto, calc)
|
|
28
28
|
- 🔧 **Custom Components** - Easy to create and integrate custom components
|
|
@@ -33,10 +33,14 @@ The 4.x line uses Phaser 4 render steps, filters, and WebGL behavior and is not
|
|
|
33
33
|
|
|
34
34
|
## Current Release
|
|
35
35
|
|
|
36
|
-
The current package line is `@number10/phaserjsx@4.
|
|
36
|
+
The current package line is `@number10/phaserjsx@4.5.0`, targeting Phaser 4.1+.
|
|
37
37
|
|
|
38
38
|
Recent public API additions include:
|
|
39
39
|
|
|
40
|
+
- `BottomSheet` for portal-backed sheets with backdrop dismissal, drag-to-dismiss behavior, and configurable handle rendering.
|
|
41
|
+
- `NumberInput`, `ColorPicker`, `PalettePicker`, and `SegmentedControl` for settings, editor, and form-style game UIs.
|
|
42
|
+
- `Toolbar`, `MenuButton`, `ListBox`, `WheelPicker`, `ActivityIndicator`, `ProgressView`, `Toast`, and `RatingBar` for richer in-game controls and feedback surfaces.
|
|
43
|
+
- Shared compact component size presets and stronger contrast defaults across presets and color modes.
|
|
40
44
|
- Button `ghost` and `danger` variants, generated `label`/`text` content, nested Text/Icon theme slots, and themed size/variant maps.
|
|
41
45
|
- `Checkbox` for form and settings UIs, including controlled/uncontrolled and tristate state.
|
|
42
46
|
- `ProgressBar` for horizontal or vertical progress indicators with optional labels.
|
|
@@ -44,6 +48,7 @@ Recent public API additions include:
|
|
|
44
48
|
- `Popover` and `ContextMenu` for portal-based overlays with measured placement, viewport clamping, and open/close presence animations.
|
|
45
49
|
- `DebugPanel` for lightweight runtime diagnostics in development and performance demos.
|
|
46
50
|
- Tooltip support as an API-level interaction feature for pointer/hover-capable displays.
|
|
51
|
+
- Removed `lodash` dependency — custom-component chunk size reduced by ~43% (490 kB).
|
|
47
52
|
|
|
48
53
|
## 📦 Installation
|
|
49
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ColorShade, ColorTokens } from './color-types';
|
|
2
2
|
/**
|
|
3
|
-
* Generate a complete color scale from a base color
|
|
3
|
+
* Generate a complete color scale from a base color using HSL-based perceptual scaling
|
|
4
4
|
* Creates shades from lightest to darkest with DEFAULT pointing to medium
|
|
5
5
|
* @param baseColor - The base color in hex format (e.g., '#2196f3')
|
|
6
6
|
* @returns Complete ColorShade with all semantic levels as HexColor objects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../src/colors/color-presets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../src/colors/color-presets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAoG3E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAWhE;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAoB7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,WA4C/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAoB5B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAW/D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAW9D;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;;;;CAIV,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAEvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAGvF"}
|
|
@@ -8,15 +8,27 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export type ShadeLevel = 'lightest' | 'light' | 'medium' | 'dark' | 'darkest';
|
|
10
10
|
/**
|
|
11
|
-
* Hex color
|
|
12
|
-
*
|
|
11
|
+
* Hex color with conversion method for Phaser compatibility
|
|
12
|
+
* Wraps a string value and provides toNumber() for Phaser color integration
|
|
13
13
|
*/
|
|
14
|
-
export declare class HexColor
|
|
14
|
+
export declare class HexColor {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(hex: string);
|
|
15
17
|
/**
|
|
16
18
|
* Convert to Phaser number format
|
|
17
19
|
* @returns Color as number (0xffffff)
|
|
18
20
|
*/
|
|
19
21
|
toNumber(): number;
|
|
22
|
+
/**
|
|
23
|
+
* Return the hex string value
|
|
24
|
+
* @returns Hex color string
|
|
25
|
+
*/
|
|
26
|
+
toString(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Primitive string value for coercion contexts
|
|
29
|
+
* @returns Hex color string
|
|
30
|
+
*/
|
|
31
|
+
valueOf(): string;
|
|
20
32
|
/**
|
|
21
33
|
* Create a HexColor from a hex string
|
|
22
34
|
* @param hex - Hex color string
|
|
@@ -27,7 +39,7 @@ export declare class HexColor extends String {
|
|
|
27
39
|
* Color shade scale with semantic naming
|
|
28
40
|
* Each color token has multiple shades for different use cases
|
|
29
41
|
* Uses HexColor type for VS Code color picker support and .toNumber() method
|
|
30
|
-
* DEFAULT is
|
|
42
|
+
* DEFAULT is an alias for medium
|
|
31
43
|
* @example
|
|
32
44
|
* ```typescript
|
|
33
45
|
* const primaryShade: ColorShade = {
|
|
@@ -36,10 +48,10 @@ export declare class HexColor extends String {
|
|
|
36
48
|
* medium: HexColor.from('#42a5f5'),
|
|
37
49
|
* dark: HexColor.from('#1976d2'),
|
|
38
50
|
* darkest: HexColor.from('#0d47a1'),
|
|
51
|
+
* DEFAULT: HexColor.from('#42a5f5'), // alias to medium
|
|
39
52
|
* }
|
|
40
|
-
* //
|
|
41
|
-
* backgroundColor: colors.primary.DEFAULT.toNumber() //
|
|
42
|
-
* // Direct usage:
|
|
53
|
+
* // Usage:
|
|
54
|
+
* backgroundColor: colors.primary.DEFAULT.toNumber() // same as medium
|
|
43
55
|
* backgroundColor: colors.primary.medium.toNumber()
|
|
44
56
|
* ```
|
|
45
57
|
*/
|
|
@@ -54,7 +66,7 @@ export interface ColorShade {
|
|
|
54
66
|
dark: HexColor;
|
|
55
67
|
/** Darkest shade - text, emphasis */
|
|
56
68
|
darkest: HexColor;
|
|
57
|
-
/** DEFAULT shade -
|
|
69
|
+
/** DEFAULT shade - alias for medium */
|
|
58
70
|
readonly DEFAULT: HexColor;
|
|
59
71
|
}
|
|
60
72
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-types.d.ts","sourceRoot":"","sources":["../../src/colors/color-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7E;;;GAGG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"color-types.d.ts","sourceRoot":"","sources":["../../src/colors/color-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7E;;;GAGG;AACH,qBAAa,QAAQ;;gBAGP,GAAG,EAAE,MAAM;IAIvB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;CAGnC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,QAAQ,EAAE,QAAQ,CAAA;IAClB,uCAAuC;IACvC,KAAK,EAAE,QAAQ,CAAA;IACf,sEAAsE;IACtE,MAAM,EAAE,QAAQ,CAAA;IAChB,qCAAqC;IACrC,IAAI,EAAE,QAAQ,CAAA;IACd,qCAAqC;IACrC,OAAO,EAAE,QAAQ,CAAA;IACjB,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,UAAU,CAAA;IACnB,iDAAiD;IACjD,SAAS,EAAE,UAAU,CAAA;IACrB,qDAAqD;IACrD,MAAM,EAAE,UAAU,CAAA;IAElB,6DAA6D;IAC7D,OAAO,EAAE,UAAU,CAAA;IACnB,6CAA6C;IAC7C,OAAO,EAAE,UAAU,CAAA;IACnB,sDAAsD;IACtD,KAAK,EAAE,UAAU,CAAA;IACjB,gDAAgD;IAChD,IAAI,EAAE,UAAU,CAAA;IAEhB,+CAA+C;IAC/C,UAAU,EAAE,UAAU,CAAA;IACtB,wDAAwD;IACxD,OAAO,EAAE,UAAU,CAAA;IACnB,yCAAyC;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV"}
|
|
@@ -23,6 +23,12 @@ export declare function hexToNumber(hex: string): number;
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
export declare function numberToHex(num: number, withHash?: boolean): string;
|
|
26
|
+
/**
|
|
27
|
+
* Normalize a color number to Phaser's 0x000000-0xffffff RGB range.
|
|
28
|
+
* @param color - Color number to normalize
|
|
29
|
+
* @returns RGB color number in the 24-bit range
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeColorNumber(color: number): number;
|
|
26
32
|
/**
|
|
27
33
|
* Convert RGB values to Phaser number format
|
|
28
34
|
* @param r - Red component (0-255)
|
|
@@ -72,6 +78,28 @@ export interface HSLColor {
|
|
|
72
78
|
* ```
|
|
73
79
|
*/
|
|
74
80
|
export declare function rgbToHsl(r: number, g: number, b: number): HSLColor;
|
|
81
|
+
/**
|
|
82
|
+
* Convert normalized HSL values to RGB components.
|
|
83
|
+
* @param h - Hue in normalized range (0.0 to 1.0)
|
|
84
|
+
* @param s - Saturation in normalized range (0.0 to 1.0)
|
|
85
|
+
* @param l - Lightness in normalized range (0.0 to 1.0)
|
|
86
|
+
* @returns RGB color object
|
|
87
|
+
*/
|
|
88
|
+
export declare function hslToRgb(h: number, s: number, l: number): RGBColor;
|
|
89
|
+
/**
|
|
90
|
+
* Convert normalized HSL values to Phaser number format.
|
|
91
|
+
* @param h - Hue in normalized range (0.0 to 1.0)
|
|
92
|
+
* @param s - Saturation in normalized range (0.0 to 1.0)
|
|
93
|
+
* @param l - Lightness in normalized range (0.0 to 1.0)
|
|
94
|
+
* @returns Phaser color number
|
|
95
|
+
*/
|
|
96
|
+
export declare function hslToNumber(h: number, s: number, l: number): number;
|
|
97
|
+
/**
|
|
98
|
+
* Convert Phaser number format to normalized HSL values.
|
|
99
|
+
* @param color - Phaser color number
|
|
100
|
+
* @returns HSL color values with normalized components
|
|
101
|
+
*/
|
|
102
|
+
export declare function numberToHsl(color: number): HSLColor;
|
|
75
103
|
/**
|
|
76
104
|
* Lighten a color by a given amount
|
|
77
105
|
* @param color - Phaser color number
|
|
@@ -120,33 +148,6 @@ export declare function lightenHex(hex: string, amount: number): HexColor;
|
|
|
120
148
|
* ```
|
|
121
149
|
*/
|
|
122
150
|
export declare function darkenHex(hex: string, amount: number): HexColor;
|
|
123
|
-
/**
|
|
124
|
-
* Hex color wrapper with chainable conversion methods
|
|
125
|
-
* Provides fluent API for color conversions
|
|
126
|
-
*/
|
|
127
|
-
export interface HexColorWrapper {
|
|
128
|
-
/** Original hex string value */
|
|
129
|
-
value: string;
|
|
130
|
-
/** Convert to Phaser number format */
|
|
131
|
-
toNumber: () => number;
|
|
132
|
-
/** Convert to string (returns hex) */
|
|
133
|
-
toString: () => string;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Create a hex color wrapper with chainable methods
|
|
137
|
-
* @param hex - Hex color string
|
|
138
|
-
* @returns Wrapper object with conversion methods
|
|
139
|
-
* @example
|
|
140
|
-
* ```typescript
|
|
141
|
-
* const color = hex('#ff0000')
|
|
142
|
-
* color.toNumber() // 0xff0000
|
|
143
|
-
* color.toString() // '#ff0000'
|
|
144
|
-
*
|
|
145
|
-
* // Direct usage:
|
|
146
|
-
* backgroundColor: hex(colors.primary.DEFAULT).toNumber()
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
export declare function hex(hexColor: string): HexColorWrapper;
|
|
150
151
|
/**
|
|
151
152
|
* Convert color to rgba string for Phaser Text style
|
|
152
153
|
* @param color - Phaser color number
|
|
@@ -174,6 +175,7 @@ export declare function alpha(color: number, alphaValue?: number): string;
|
|
|
174
175
|
export declare function getContrastRatio(foreground: number, background: number): number;
|
|
175
176
|
/**
|
|
176
177
|
* Ensure minimum contrast ratio by adjusting foreground color
|
|
178
|
+
* Uses binary search for efficiency (O(log n) vs O(n))
|
|
177
179
|
* @param foreground - Foreground color to adjust
|
|
178
180
|
* @param background - Background color (fixed)
|
|
179
181
|
* @param minRatio - Minimum contrast ratio (default: 4.5 for WCAG AA)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../src/colors/color-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAGhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../src/colors/color-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAQjD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,CAAC,EAAE,MAAM,CAAA;IACT,kDAAkD;IAClD,CAAC,EAAE,MAAM,CAAA;IACT,iDAAiD;IACjD,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAuBlE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CA6BlE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAGnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAIhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAI/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAM,GAAG,MAAM,CAI7D;AAwBD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CA0B7F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,EAC9C,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GACjC,cAAc,CAShB"}
|
package/dist/colors/index.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { HexColor } from './color-types';
|
|
6
6
|
export type { ColorMode, ColorShade, ColorTokens, RGBColor, ShadeLevel } from './color-types';
|
|
7
|
-
export { hexToNumber, numberToHex, numberToRgb, rgbToHsl, rgbToNumber } from './color-utils';
|
|
8
|
-
export { alpha, darken, darkenHex,
|
|
9
|
-
export type {
|
|
7
|
+
export { hexToNumber, hslToNumber, hslToRgb, normalizeColorNumber, numberToHex, numberToHsl, numberToRgb, rgbToHsl, rgbToNumber, } from './color-utils';
|
|
8
|
+
export { alpha, darken, darkenHex, lighten, lightenHex } from './color-utils';
|
|
9
|
+
export type { HSLColor } from './color-utils';
|
|
10
10
|
export { createTextStyle, ensureContrast, getContrastRatio } from './color-utils';
|
|
11
11
|
export { applyDarkMode, applyLightMode, forestGreenPreset, generateColorScale, getPreset, getPresetWithMode, midnightPreset, oceanBluePreset, presets, } from './color-presets';
|
|
12
12
|
export type { ColorPreset, PresetName } from './color-presets';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/colors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG7F,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/colors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG7F,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGjF,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,OAAO,GACR,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAG9D,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-manager.d.ts","sourceRoot":"","sources":["../../src/colors/preset-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"preset-manager.d.ts","sourceRoot":"","sources":["../../src/colors/preset-manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAoBzF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAElD"}
|
|
@@ -12,10 +12,6 @@ import { ColorTokens } from './color-types';
|
|
|
12
12
|
* // New way:
|
|
13
13
|
* const tokens = useThemeTokens()
|
|
14
14
|
* const colors = tokens?.colors
|
|
15
|
-
*
|
|
16
|
-
* // Access text styles, spacing, etc.:
|
|
17
|
-
* <Text style={tokens.textStyles.DEFAULT} />
|
|
18
|
-
* <View padding={tokens.spacing.lg} />
|
|
19
15
|
* ```
|
|
20
16
|
*/
|
|
21
17
|
export declare function useColors(): ColorTokens | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-colors.d.ts","sourceRoot":"","sources":["../../src/colors/use-colors.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD
|
|
1
|
+
{"version":3,"file":"use-colors.d.ts","sourceRoot":"","sources":["../../src/colors/use-colors.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,SAAS,CAkCnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PartialTheme, ViewTheme } from '../../theme-base';
|
|
2
|
+
import { VNodeLike } from '../../vdom';
|
|
3
|
+
import { ViewProps } from '../index';
|
|
4
|
+
export type ActivityIndicatorVariant = 'spinner' | 'dots' | 'pulse';
|
|
5
|
+
export type ActivityIndicatorSize = 'small' | 'medium' | 'large';
|
|
6
|
+
export interface ActivityIndicatorLabels {
|
|
7
|
+
loading?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ActivityIndicatorThemeSlot extends ViewTheme {
|
|
10
|
+
variant?: ActivityIndicatorVariant;
|
|
11
|
+
size?: ActivityIndicatorSize;
|
|
12
|
+
color?: number;
|
|
13
|
+
trackColor?: number;
|
|
14
|
+
lineWidth?: number;
|
|
15
|
+
gap?: number;
|
|
16
|
+
dotCount?: number;
|
|
17
|
+
dotSize?: number;
|
|
18
|
+
pulseScale?: number;
|
|
19
|
+
animationSpeed?: number;
|
|
20
|
+
labelStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
21
|
+
labels?: ActivityIndicatorLabels;
|
|
22
|
+
}
|
|
23
|
+
export interface ActivityIndicatorProps extends Omit<ViewProps, 'children'> {
|
|
24
|
+
/** Visual variant. */
|
|
25
|
+
variant?: ActivityIndicatorVariant;
|
|
26
|
+
/** Size preset. */
|
|
27
|
+
size?: ActivityIndicatorSize;
|
|
28
|
+
/** Foreground color of the spinner arc / dots / pulse. */
|
|
29
|
+
color?: number;
|
|
30
|
+
/** Track (background) color for the spinner ring. */
|
|
31
|
+
trackColor?: number;
|
|
32
|
+
/** Optional visible label below the indicator. */
|
|
33
|
+
label?: string;
|
|
34
|
+
/** Localized labels. */
|
|
35
|
+
labels?: ActivityIndicatorLabels;
|
|
36
|
+
/** Theme overrides. */
|
|
37
|
+
theme?: PartialTheme;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* ActivityIndicator — indeterminate loading indicator.
|
|
41
|
+
*/
|
|
42
|
+
export declare function ActivityIndicator(props: ActivityIndicatorProps): VNodeLike;
|
|
43
|
+
//# sourceMappingURL=ActivityIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/custom/ActivityIndicator.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE/D,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACnE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEhE,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IACpD,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAED,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE,sBAAsB;IACtB,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,mBAAmB;IACnB,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,uBAAuB;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AA2FD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAuF1E"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { CornerRadiusInsets } from '../../../packages/ui/src/core-props';
|
|
2
|
+
import { PartialTheme, ViewTheme } from '../../theme-base';
|
|
3
|
+
import { ChildrenType } from '../../types';
|
|
4
|
+
import { VNodeLike } from '../../vdom';
|
|
5
|
+
export declare const BottomSheetDepth = 1100;
|
|
6
|
+
export interface BottomSheetLabels {
|
|
7
|
+
close?: string;
|
|
8
|
+
handle?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Props passed to renderHandle function for custom handle rendering. */
|
|
11
|
+
export interface HandleRenderProps {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
color: number;
|
|
15
|
+
cornerRadius: number;
|
|
16
|
+
}
|
|
17
|
+
export interface BottomSheetThemeSlot extends ViewTheme {
|
|
18
|
+
backdropAlpha?: number;
|
|
19
|
+
backdropColor?: number;
|
|
20
|
+
panelCornerRadius?: number | CornerRadiusInsets;
|
|
21
|
+
handleWidth?: number;
|
|
22
|
+
handleHeight?: number;
|
|
23
|
+
handleColor?: number;
|
|
24
|
+
handleCornerRadius?: number;
|
|
25
|
+
handleAreaHeight?: number;
|
|
26
|
+
handleAreaColor?: number;
|
|
27
|
+
dismissThreshold?: number;
|
|
28
|
+
labels?: BottomSheetLabels;
|
|
29
|
+
}
|
|
30
|
+
export interface BottomSheetProps {
|
|
31
|
+
/** Unique key for VDOM identification. */
|
|
32
|
+
key?: string | number | undefined;
|
|
33
|
+
/** Controlled open state. */
|
|
34
|
+
open?: boolean;
|
|
35
|
+
/** Initial open state for uncontrolled usage. */
|
|
36
|
+
defaultOpen?: boolean;
|
|
37
|
+
/** Called when open state changes. */
|
|
38
|
+
onOpenChange?: (open: boolean) => void;
|
|
39
|
+
/** Sheet content. */
|
|
40
|
+
children: ChildrenType;
|
|
41
|
+
/** Height as fraction of viewport (0–1). Default 0.5. */
|
|
42
|
+
height?: number;
|
|
43
|
+
/** Drag distance in pixels to trigger dismiss. Default is half the available drag distance. */
|
|
44
|
+
dismissThreshold?: number;
|
|
45
|
+
/** Show drag handle. Default true. */
|
|
46
|
+
showHandle?: boolean;
|
|
47
|
+
/** Portal depth. */
|
|
48
|
+
depth?: number;
|
|
49
|
+
/** Whether tapping the backdrop closes the sheet. Default false. */
|
|
50
|
+
closeOnBackdrop?: boolean;
|
|
51
|
+
/** Backdrop alpha when closeOnBackdrop is active. Default 0.5. */
|
|
52
|
+
backdropAlpha?: number;
|
|
53
|
+
/** Height of the drag-handle touch area in px. Also used as max-drag cap. Default 32. */
|
|
54
|
+
handleAreaHeight?: number;
|
|
55
|
+
/** Custom handle renderer. Receives themed dimensions. Falls back to default bar. */
|
|
56
|
+
renderHandle?: VNodeLike | ((props: HandleRenderProps) => VNodeLike);
|
|
57
|
+
/** Theme overrides. */
|
|
58
|
+
theme?: PartialTheme;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* BottomSheet — slide-up panel with backdrop and drag-to-dismiss.
|
|
62
|
+
*
|
|
63
|
+
* Portal lifecycle: once opened, the Portal stays mounted to avoid
|
|
64
|
+
* duplicate backdrop issues from mount/unmount races in the VDOM.
|
|
65
|
+
* Visibility is controlled via conditional children, not by returning null.
|
|
66
|
+
*/
|
|
67
|
+
export declare function BottomSheet(props: BottomSheetProps): VNodeLike;
|
|
68
|
+
/**
|
|
69
|
+
* Pre-built handle renderers for use with {@link BottomSheetProps.renderHandle}.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <BottomSheet renderHandle={BottomSheetHandle.Bar} />
|
|
74
|
+
* <BottomSheet renderHandle={BottomSheetHandle.Pill} />
|
|
75
|
+
* <BottomSheet renderHandle={(h) => <View width={h.width} height={h.height} backgroundColor={0xff0000} cornerRadius={4} />} />
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare const BottomSheetHandle: {
|
|
79
|
+
/** Default bar — uses themed width, height, color, cornerRadius. */
|
|
80
|
+
Bar: (props: HandleRenderProps) => VNodeLike;
|
|
81
|
+
/** Pill variant — cornerRadius for a fully rounded look. */
|
|
82
|
+
Pill: (props: HandleRenderProps) => VNodeLike;
|
|
83
|
+
/** Gripper variant*/
|
|
84
|
+
Grip: (props: HandleRenderProps) => VNodeLike;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/components/custom/BottomSheet.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;GAEG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAKxE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,sCAAsC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qFAAqF;IACrF,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAA;IACpE,uBAAuB;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAsK9D;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;IAC5B,oEAAoE;iBACvD,iBAAiB,KAAG,SAAS;IAQ1C,4DAA4D;kBAC9C,iBAAiB,KAAG,SAAS;IAQ3C,qBAAqB;kBACP,iBAAiB,KAAG,SAAS;CAsB5C,CAAA"}
|
|
@@ -10,6 +10,8 @@ export type ButtonVariantTheme = ViewTheme & EffectDefinition & {
|
|
|
10
10
|
textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
11
11
|
iconSize?: number;
|
|
12
12
|
disabledColor?: number;
|
|
13
|
+
disabledTextColor?: string;
|
|
14
|
+
disabledIconTint?: number;
|
|
13
15
|
disabledAlpha?: number;
|
|
14
16
|
};
|
|
15
17
|
export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Button.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GACxC,gBAAgB,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;CACxD,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,GACpD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS,EAAE,gBAAgB;IAC9D,sDAAsD;IACtD,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACnC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACnC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAClC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAClC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,qBAAqB;IACrB,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACnC,mBAAmB;IACnB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Button.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GACxC,gBAAgB,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;CACxD,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,GACpD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS,EAAE,gBAAgB;IAC9D,sDAAsD;IACtD,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACnC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACnC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAClC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAClC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,qBAAqB;IACrB,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACnC,mBAAmB;IACnB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAkED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAkJpD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
import { PartialTheme } from '../../theme-base';
|
|
3
|
+
import { VNodeLike } from '../../vdom';
|
|
4
|
+
export type ColorPickerTone = 'vivid' | 'muted';
|
|
5
|
+
export interface ColorPickerState {
|
|
6
|
+
/** Hue in degrees, 0 to 360 */
|
|
7
|
+
hue: number;
|
|
8
|
+
/** Saturation percentage, 0 to 100 */
|
|
9
|
+
saturation: number;
|
|
10
|
+
/** Lightness percentage, 0 to 100 */
|
|
11
|
+
lightness: number;
|
|
12
|
+
/** Last selected tone preset */
|
|
13
|
+
tone: ColorPickerTone;
|
|
14
|
+
}
|
|
15
|
+
export interface ColorPickerLabels {
|
|
16
|
+
title?: string;
|
|
17
|
+
tone?: string;
|
|
18
|
+
vivid?: string;
|
|
19
|
+
muted?: string;
|
|
20
|
+
hue?: string;
|
|
21
|
+
saturation?: string;
|
|
22
|
+
lightness?: string;
|
|
23
|
+
close?: string;
|
|
24
|
+
formatHue?: (value: number) => string;
|
|
25
|
+
formatSaturation?: (value: number) => string;
|
|
26
|
+
formatLightness?: (value: number) => string;
|
|
27
|
+
formatRgb?: (rgb: {
|
|
28
|
+
r: number;
|
|
29
|
+
g: number;
|
|
30
|
+
b: number;
|
|
31
|
+
}) => string;
|
|
32
|
+
}
|
|
33
|
+
export interface ColorPickerProps extends Omit<ViewProps, 'children'> {
|
|
34
|
+
/** Current color as Phaser color number (controlled mode). */
|
|
35
|
+
value?: number;
|
|
36
|
+
/** Initial color as Phaser color number (uncontrolled mode). */
|
|
37
|
+
defaultValue?: number;
|
|
38
|
+
/** Callback fired when the selected color changes. */
|
|
39
|
+
onChange?: (color: number, state: ColorPickerState) => void;
|
|
40
|
+
/** Current tone preset (controlled mode). */
|
|
41
|
+
tone?: ColorPickerTone;
|
|
42
|
+
/** Initial tone preset. */
|
|
43
|
+
defaultTone?: ColorPickerTone;
|
|
44
|
+
/** Callback fired when the tone preset changes. */
|
|
45
|
+
onToneChange?: (tone: ColorPickerTone) => void;
|
|
46
|
+
/** Callback for the optional close button. */
|
|
47
|
+
onClose?: () => void;
|
|
48
|
+
/** Show close button. Defaults to true when onClose is provided. */
|
|
49
|
+
showCloseButton?: boolean;
|
|
50
|
+
/** Show vivid/muted tone controls. */
|
|
51
|
+
showTone?: boolean;
|
|
52
|
+
/** Show generated shade swatches. */
|
|
53
|
+
showSwatches?: boolean;
|
|
54
|
+
/** Show RGB text below the preview. */
|
|
55
|
+
showRgbLabel?: boolean;
|
|
56
|
+
/** Localized labels and value formatters. */
|
|
57
|
+
labels?: ColorPickerLabels;
|
|
58
|
+
/** Slider track length in pixels. */
|
|
59
|
+
trackLength?: number;
|
|
60
|
+
/** Preview swatch size in pixels. */
|
|
61
|
+
previewSize?: number;
|
|
62
|
+
/** Number of color steps used for gradient tracks. */
|
|
63
|
+
gradientSteps?: number;
|
|
64
|
+
/** Theme overrides. */
|
|
65
|
+
theme?: PartialTheme;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* ColorPicker component
|
|
69
|
+
* Provides an HSL color picker using the existing Slider and RadioGroup controls.
|
|
70
|
+
*/
|
|
71
|
+
export declare function ColorPicker(props: ColorPickerProps): VNodeLike;
|
|
72
|
+
//# sourceMappingURL=ColorPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorPicker.d.ts","sourceRoot":"","sources":["../../../src/components/custom/ColorPicker.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAInC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,IAAI,EAAE,eAAe,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;CACjE;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACnE,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3D,6CAA6C;IAC7C,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAqCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAqV9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Icon.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAEhD;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACrD,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,IAAI,CAChE,UAAU,EACV,SAAS,GAAG,cAAc,GAAG,eAAe,CAC7C;IACC,iCAAiC;IACjC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IACnB,gDAAgD;IAChD,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Icon.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAEhD;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACrD,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,IAAI,CAChE,UAAU,EACV,SAAS,GAAG,cAAc,GAAG,eAAe,CAC7C;IACC,iCAAiC;IACjC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IACnB,gDAAgD;IAChD,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAuC9E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,eAG9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CA0B1F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.test.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Icon.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
import { PartialTheme, ViewTheme } from '../../theme-base';
|
|
3
|
+
import { ChildrenType } from '../../types';
|
|
4
|
+
import { VNodeLike } from '../../vdom';
|
|
5
|
+
import { ScrollViewProps } from './ScrollView';
|
|
6
|
+
export interface ListBoxLabels {
|
|
7
|
+
empty?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ListBoxItem {
|
|
10
|
+
/** Unique item value used for selection. */
|
|
11
|
+
value: string;
|
|
12
|
+
/** Visible label. Falls back to value when no children/renderItem provided. */
|
|
13
|
+
label?: string;
|
|
14
|
+
/** Disabled items cannot be selected. */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ListBoxItemRenderProps {
|
|
18
|
+
item: ListBoxItem;
|
|
19
|
+
selected: boolean;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
hovered: boolean;
|
|
22
|
+
index: number;
|
|
23
|
+
textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
24
|
+
}
|
|
25
|
+
export interface ListBoxThemeSlot extends ViewTheme {
|
|
26
|
+
itemHeight?: number;
|
|
27
|
+
itemGap?: number;
|
|
28
|
+
itemPadding?: ViewTheme['padding'];
|
|
29
|
+
itemCornerRadius?: number;
|
|
30
|
+
itemStyle?: ViewTheme;
|
|
31
|
+
itemHoverStyle?: ViewTheme;
|
|
32
|
+
itemSelectedStyle?: ViewTheme;
|
|
33
|
+
itemDisabledStyle?: ViewTheme;
|
|
34
|
+
textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
35
|
+
selectedTextStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
36
|
+
disabledTextStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
37
|
+
emptyStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
38
|
+
disabledAlpha?: number;
|
|
39
|
+
labels?: ListBoxLabels;
|
|
40
|
+
}
|
|
41
|
+
export interface ListBoxProps extends Omit<ViewProps, 'children'> {
|
|
42
|
+
/** Available items. */
|
|
43
|
+
items: ListBoxItem[];
|
|
44
|
+
/** Selected value in controlled mode. */
|
|
45
|
+
value?: string;
|
|
46
|
+
/** Initial selected value in uncontrolled mode. */
|
|
47
|
+
defaultValue?: string;
|
|
48
|
+
/** Called when a selectable item is selected. */
|
|
49
|
+
onChange?: (value: string) => void;
|
|
50
|
+
/** Render custom item content. */
|
|
51
|
+
renderItem?: (props: ListBoxItemRenderProps) => ChildrenType;
|
|
52
|
+
/** Enable hover state tracking and hover styling. Default true. */
|
|
53
|
+
hoverable?: boolean;
|
|
54
|
+
/** Localized labels. */
|
|
55
|
+
labels?: ListBoxLabels;
|
|
56
|
+
/** Disabled state for the whole control. */
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
/** Maximum visible items before scrolling. If unset, the list grows to fit. */
|
|
59
|
+
maxVisibleItems?: number;
|
|
60
|
+
/** Props forwarded to the underlying ScrollView (sliderSize, momentum, etc.). */
|
|
61
|
+
scrollViewProps?: Pick<ScrollViewProps, 'sliderSize' | 'showVerticalSlider' | 'showHorizontalSlider' | 'momentum' | 'snap' | 'snapAlignment' | 'snapThreshold' | 'onSnap'>;
|
|
62
|
+
/** Theme overrides. */
|
|
63
|
+
theme?: PartialTheme;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Finds an item by its value in the items array.
|
|
67
|
+
*/
|
|
68
|
+
export declare function findListBoxItem(items: ListBoxItem[], value: string | undefined): ListBoxItem | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Resolves the effective value considering controlled/uncontrolled mode and disabled items.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveListBoxValue(items: ListBoxItem[], value?: string, defaultValue?: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* ListBox — scrollable single-selection list.
|
|
75
|
+
*/
|
|
76
|
+
export declare function ListBox(props: ListBoxProps): VNodeLike;
|
|
77
|
+
//# sourceMappingURL=ListBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListBox.d.ts","sourceRoot":"","sources":["../../../src/components/custom/ListBox.tsx"],"names":[],"mappings":"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"}
|