@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.
Files changed (74) hide show
  1. package/README.md +7 -2
  2. package/dist/colors/color-presets.d.ts +1 -1
  3. package/dist/colors/color-presets.d.ts.map +1 -1
  4. package/dist/colors/color-types.d.ts +20 -8
  5. package/dist/colors/color-types.d.ts.map +1 -1
  6. package/dist/colors/color-utils.d.ts +29 -27
  7. package/dist/colors/color-utils.d.ts.map +1 -1
  8. package/dist/colors/index.d.ts +3 -3
  9. package/dist/colors/index.d.ts.map +1 -1
  10. package/dist/colors/preset-manager.d.ts.map +1 -1
  11. package/dist/colors/use-colors.d.ts +0 -4
  12. package/dist/colors/use-colors.d.ts.map +1 -1
  13. package/dist/components/custom/ActivityIndicator.d.ts +43 -0
  14. package/dist/components/custom/ActivityIndicator.d.ts.map +1 -0
  15. package/dist/components/custom/BottomSheet.d.ts +86 -0
  16. package/dist/components/custom/BottomSheet.d.ts.map +1 -0
  17. package/dist/components/custom/Button.d.ts +2 -0
  18. package/dist/components/custom/Button.d.ts.map +1 -1
  19. package/dist/components/custom/ColorPicker.d.ts +72 -0
  20. package/dist/components/custom/ColorPicker.d.ts.map +1 -0
  21. package/dist/components/custom/Icon.d.ts.map +1 -1
  22. package/dist/components/custom/Icon.test.d.ts +2 -0
  23. package/dist/components/custom/Icon.test.d.ts.map +1 -0
  24. package/dist/components/custom/ListBox.d.ts +77 -0
  25. package/dist/components/custom/ListBox.d.ts.map +1 -0
  26. package/dist/components/custom/MenuButton.d.ts +40 -0
  27. package/dist/components/custom/MenuButton.d.ts.map +1 -0
  28. package/dist/components/custom/NumberInput.d.ts +143 -0
  29. package/dist/components/custom/NumberInput.d.ts.map +1 -0
  30. package/dist/components/custom/PalettePicker.d.ts +96 -0
  31. package/dist/components/custom/PalettePicker.d.ts.map +1 -0
  32. package/dist/components/custom/ProgressView.d.ts +47 -0
  33. package/dist/components/custom/ProgressView.d.ts.map +1 -0
  34. package/dist/components/custom/RatingBar.d.ts +48 -0
  35. package/dist/components/custom/RatingBar.d.ts.map +1 -0
  36. package/dist/components/custom/ScrollView.d.ts.map +1 -1
  37. package/dist/components/custom/SegmentedControl.d.ts +99 -0
  38. package/dist/components/custom/SegmentedControl.d.ts.map +1 -0
  39. package/dist/components/custom/Toast.d.ts +89 -0
  40. package/dist/components/custom/Toast.d.ts.map +1 -0
  41. package/dist/components/custom/Toolbar.d.ts +134 -0
  42. package/dist/components/custom/Toolbar.d.ts.map +1 -0
  43. package/dist/components/custom/WheelPicker.d.ts +63 -0
  44. package/dist/components/custom/WheelPicker.d.ts.map +1 -0
  45. package/dist/components/custom/index.cjs +39 -1
  46. package/dist/components/custom/index.d.ts +18 -5
  47. package/dist/components/custom/index.d.ts.map +1 -1
  48. package/dist/components/custom/index.js +2 -2
  49. package/dist/components/index.d.ts +16 -5
  50. package/dist/components/index.d.ts.map +1 -1
  51. package/dist/{custom-BPY0TbuS.js → custom-pRNJ0_kS.js} +16820 -28213
  52. package/dist/custom-pRNJ0_kS.js.map +1 -0
  53. package/dist/{custom-Bnit70lx.cjs → custom-rkdLsk0U.cjs} +10167 -21201
  54. package/dist/custom-rkdLsk0U.cjs.map +1 -0
  55. package/dist/design-tokens/component-size-presets.d.ts +52 -0
  56. package/dist/design-tokens/component-size-presets.d.ts.map +1 -0
  57. package/dist/design-tokens/index.d.ts +2 -0
  58. package/dist/design-tokens/index.d.ts.map +1 -1
  59. package/dist/dev-config.d.ts.map +1 -1
  60. package/dist/index.cjs +61 -256
  61. package/dist/index.cjs.map +1 -1
  62. package/dist/index.js +2 -244
  63. package/dist/index.js.map +1 -1
  64. package/dist/scripts/generate-icon-loaders.js +27 -1
  65. package/dist/scripts/generate-icons.d.ts.map +1 -1
  66. package/dist/scripts/generate-icons.js +27 -1
  67. package/dist/theme-custom.d.ts +238 -0
  68. package/dist/theme-custom.d.ts.map +1 -1
  69. package/dist/theme-defaults.d.ts.map +1 -1
  70. package/dist/theme.d.ts +9 -0
  71. package/dist/theme.d.ts.map +1 -1
  72. package/package.json +1 -3
  73. package/dist/custom-BPY0TbuS.js.map +0 -1
  74. package/dist/custom-Bnit70lx.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as Portal, $n as getContrastRatio, $t as normalizeVNodeLike, A as useSpring, An as withHooks, Ar as resolveParticlePreset, At as createSwingEffect, B as releaseAllSVGTextures, Bn as applyLightMode, Br as host, Bt as getBadgeSizeConfig, C as CharText, Cn as useRedraw, Cr as particlesPatcher, Ct as createNoneEffect, D as Modal, Dn as useTheme, Dr as getFirstEmitter, Dt as createSlideInEffect, E as Dialog, En as useState, Er as applyEmitterConfig, Et as createShakeEffect, F as animatedSignal, Fn as defaultRadiusTokens, Fr as nineSlicePatcher, Ft as createZoomOutEffect, G as svgToTexture, Gn as midnightPreset, Gt as createTheme, H as releaseSVGTextures, Hn as generateColorScale, Hr as register, Ht as resolveBadgeTextStyle, I as isAnimatedSignal, In as defaultSizeTokens, Ir as imageCreator, It as useGameObjectEffect, J as clampProgressValue, Jn as alpha, Jt as themeRegistry, K as registerBuiltins, Kn as oceanBluePreset, Kt as getThemedProps, L as unwrapSignal, Ln as defaultSpacingTokens, Lr as imagePatcher, Lt as Badge, M as DEFAULT_SPRING_CONFIG, Mn as createDefaultTheme, Mr as buildEmitZone, Mt as createWiggleEffect, N as SPRING_PRESETS, Nn as defaultTheme, Nr as buildEmitZoneFromLayout, Nt as createWobbleEffect, O as Accordion, On as useViewportSize, Or as isParticleEmitter, Ot as createSlideOutEffect, P as SpringPhysics, Pn as createTextStyleTokens, Pr as nineSliceCreator, Pt as createZoomInEffect, Q as calculateOverlayPosition, Qn as ensureContrast, Qt as mountJSX, R as KeyboardInputManager, Rn as defaultTextStyleTokens, Rr as graphicsCreator, Rt as Tag, S as CharTextInput, Sn as useMemo, Sr as particlesCreator, St as createJelloEffect, T as WrapText, Tn as useScene, Tr as applyEmitZone, Tt as createPulseEffect, U as useSVGTexture, Un as getPreset, Ut as viewCreator, V as releaseSVGTexture, Vn as forestGreenPreset, Vr as nodeRegistry, Vt as getBadgeText, W as useSVGTextures, Wn as getPresetWithMode, Wt as viewPatcher, X as ContextMenu, Xn as darken, Xt as getMountStats, Y as getProgressRatio, Yn as createTextStyle, Yt as createElement, Z as Popover, Zn as darkenHex, Zt as mount, _ as TransformOriginView, _n as useEffect, _r as DebugLogger, _t as createFadeEffect, a as RangeSlider, an as View, ar as numberToRgb, at as RadioButton, b as calculateSliderSize, bn as useLayoutRect, br as spriteCreator, bt as createFlipOutEffect, c as RefOriginView, cn as getCurrent, cr as HexColor, ct as useThemeTokens, d as Joystick, dn as getLayoutSize, dr as normalizeGap, dt as DEFAULT_EFFECT, en as patchVNode, er as hex, et as Particles, f as Icon, fn as getWorldLayoutRect, fr as tileSpriteCreator, ft as EFFECT_REGISTRY, g as Dropdown, gn as useCallback, gr as viewportRegistry, gt as createBreatheEffect, h as Image, hn as useBackgroundGraphics, hr as textPatcher, ht as createBounceEffect, i as Tabs, in as portalRegistry, ir as numberToHex, it as RadioGroup, j as useSprings, jn as getRenderContext, jr as buildDeathZonesFromLayout, jt as createTadaEffect, k as computed, kn as useWorldLayoutRect, kr as PARTICLE_PRESET_REGISTRY, kt as createSpinEffect, l as NineSliceButton, ln as getLayoutProps, lr as normalizeCornerRadius, lt as Checkbox, m as useIconPreload, mn as shouldComponentUpdate, mr as textCreator, mt as resolveEffect, n as Tab, nn as unmount, nr as lighten, nt as Text, o as Slider, on as disposeCtx, or as rgbToHsl, ot as Graphics, p as createIconComponent, pn as shallowEqual, pr as tileSpritePatcher, pt as applyEffectByName, q as ProgressBar, qn as presets, qt as mergeThemes, r as TabPanel, rn as unmountJSX, rr as lightenHex, rt as Sprite, s as Sidebar, sn as getBackgroundGraphics, sr as rgbToNumber, st as DebugPanel, t as Toggle, tn as remountAll, tr as hexToNumber, tt as TileSprite, u as NineSlice, un as getLayoutRect, ur as normalizeEdgeInsets, ut as Button, v as ScrollView, vn as useForceRedraw, vr as DevConfig, vt as createFlashEffect, w as AlertDialog, wn as useRef, wr as applyDeathZone, wt as createPressEffect, x as Divider, xn as useLayoutSize, xr as spritePatcher, xt as createFloatEffect, y as ScrollSlider, yn as useLayoutEffect, yr as DevPresets, yt as createFlipInEffect, z as DOMInputElement, zn as applyDarkMode, zr as graphicsPatcher, zt as formatBadgeCount } from "./custom-BPY0TbuS.js";
1
+ import { $ as getToastAutoDismissDuration, $n as unmountJSX, $r as darkenHex, $t as getSurfaceColor, A as SpringPhysics, Ai as applyEmitZone, An as createZoomOutEffect, Ar as createTextStyleTokens, At as Popover, B as useSVGTextures, Bi as nineSlicePatcher, Bn as viewPatcher, Br as toolbarSizePresets, Bt as DebugPanel, C as Modal, Ci as DevConfig, Cn as createSlideOutEffect, Cr as useTheme, Ct as NumberInput, D as useSprings, Di as particlesCreator, Dn as createWiggleEffect, Dr as getRenderContext, Dt as normalizeNumberInputValue, E as useSpring, Ei as spritePatcher, En as createTadaEffect, Er as withHooks, Et as getNumberInputPrecision, F as DOMInputElement, Fi as resolveParticlePreset, Fn as getBadgeSizeConfig, Fr as compactControlSizePresets, Ft as resolveListBoxValue, G as getToolbarItemId, Gi as host, Gn as createElement, Gr as getPreset, Gt as RefOriginView, H as registerBuiltins, Hi as imagePatcher, Hn as getThemedProps, Hr as applyLightMode, Ht as ColorPicker, I as releaseAllSVGTextures, Ii as buildDeathZonesFromLayout, In as getBadgeText, Ir as controlMinWidthPresets, It as ScrollView, J as isToolbarToggleItem, Jn as mountJSX, Jr as oceanBluePreset, Jt as setColorMode, K as isToolbarMenuItem, Ki as nodeRegistry, Kn as getMountStats, Kr as getPresetWithMode, Kt as getAvailablePresets, L as releaseSVGTexture, Li as buildEmitZone, Ln as resolveBadgeTextStyle, Lr as controlPadding, Lt as ScrollSlider, M as isAnimatedSignal, Mi as getFirstEmitter, Mn as Badge, Mr as defaultSizeTokens, Mt as Portal, N as unwrapSignal, Ni as isParticleEmitter, Nn as Tag, Nr as defaultSpacingTokens, Nt as ListBox, O as DEFAULT_SPRING_CONFIG, Oi as particlesPatcher, On as createWobbleEffect, Or as createDefaultTheme, Ot as MenuButton, P as KeyboardInputManager, Pi as PARTICLE_PRESET_REGISTRY, Pn as formatBadgeCount, Pr as defaultTextStyleTokens, Pt as findListBoxItem, Q as Toast, Qn as unmount, Qr as darken, Qt as getBorderColor, R as releaseSVGTextures, Ri as buildEmitZoneFromLayout, Rn as ActivityIndicator, Rr as controlSizePresets, Rt as calculateSliderSize, S as Dialog, Si as DebugLogger, Sn as createSlideInEffect, Sr as useState, St as resolvePalettePickerValue, T as computed, Ti as spriteCreator, Tn as createSwingEffect, Tr as useWorldLayoutRect, Tt as getNextNumberInputValue, U as ToolButtonGroup, Ui as graphicsCreator, Un as mergeThemes, Ur as forestGreenPreset, Ut as RangeSlider, V as svgToTexture, Vi as imageCreator, Vn as createTheme, Vr as applyDarkMode, Vt as useThemeTokens, W as Toolbar, Wi as graphicsPatcher, Wn as themeRegistry, Wr as generateColorScale, Wt as Slider, X as Divider, Xn as patchVNode, Xr as alpha, Xt as colorsToTheme, Y as resolveToolbarActiveId, Yn as normalizeVNodeLike, Yr as presets, Yt as setColorPreset, Z as NotificationStack, Zn as remountAll, Zr as createTextStyle, Zt as getBackgroundColor, _ as CharText, _i as tileSpriteCreator, _n as createJelloEffect, _r as useLayoutSize, _t as PalettePicker, a as Tabs, ai as lighten, an as Button, ar as getLayoutProps, at as SegmentedControl, b as BottomSheetHandle, bi as textPatcher, bn as createPulseEffect, br as useRef, bt as normalizePalettePickerColor, c as NineSlice, ci as numberToHex, cn as applyEffectByName, cr as getWorldLayoutRect, ct as resolveSegmentedControlValue, d as createIconComponent, di as rgbToHsl, dn as createBreatheEffect, dr as useBackgroundGraphics, dt as RadioButton, ei as ensureContrast, en as getTextColor, er as portalRegistry, et as resolveNotificationStackAlignment, f as useIconPreload, fi as rgbToNumber, fn as createFadeEffect, fr as useCallback, ft as ProgressView, g as CharTextInput, gi as normalizeGap, gn as createFloatEffect, gr as useLayoutRect, gt as Particles, h as TransformOriginView, hi as normalizeEdgeInsets, hn as createFlipOutEffect, hr as useLayoutEffect, ht as getProgressRatio, i as TabPanel, ii as hslToRgb, in as Checkbox, ir as getCurrent, it as Sprite, j as animatedSignal, ji as applyEmitterConfig, jn as useGameObjectEffect, jr as defaultRadiusTokens, jt as calculateOverlayPosition, k as SPRING_PRESETS, ki as applyDeathZone, kn as createZoomInEffect, kr as defaultTheme, kt as ContextMenu, l as Joystick, li as numberToHsl, ln as resolveEffect, lr as shallowEqual, lt as RatingBar, m as Dropdown, mi as normalizeCornerRadius, mn as createFlipInEffect, mr as useForceRedraw, mt as clampProgressValue, n as Toggle, ni as hexToNumber, nn as useThemeSubscription, nr as disposeCtx, nt as TileSprite, o as Sidebar, oi as lightenHex, on as DEFAULT_EFFECT, or as getLayoutRect, ot as findSegmentedControlOption, p as Image, pi as HexColor, pn as createFlashEffect, pr as useEffect, pt as ProgressBar, q as isToolbarSeparatorItem, qi as register, qn as mount, qr as midnightPreset, qt as getCurrentPreset, r as Tab, ri as hslToNumber, rn as useColorMode, rr as getBackgroundGraphics, rt as Text, s as NineSliceButton, si as normalizeColorNumber, sn as EFFECT_REGISTRY, sr as getLayoutSize, st as isSegmentedControlOptionSelectable, t as WheelPicker, ti as getContrastRatio, tn as useColors, tr as View, tt as WrapText, u as Icon, ui as numberToRgb, un as createBounceEffect, ur as shouldComponentUpdate, ut as RadioGroup, v as BottomSheet, vi as tileSpritePatcher, vn as createNoneEffect, vr as useMemo, vt as chunkPalettePickerColors, w as Accordion, wi as DevPresets, wn as createSpinEffect, wr as useViewportSize, wt as NumberInputIndicator, x as AlertDialog, xi as viewportRegistry, xn as createShakeEffect, xr as useScene, xt as normalizePalettePickerColors, y as BottomSheetDepth, yi as textCreator, yn as createPressEffect, yr as useRedraw, yt as getPalettePickerContrastColor, z as useSVGTexture, zi as nineSliceCreator, zn as viewCreator, zr as indicatorSizePresets, zt as Graphics } from "./custom-pRNJ0_kS.js";
2
2
  import { Fragment, jsx, jsxs } from "./jsx-runtime.js";
3
3
  import { a as getStencilClipHandle, i as clearStencilClip, n as uninstallStencilClipExtension, o as isBitmapStencilClipSource, r as applyStencilClip, t as installStencilClipExtension } from "./clip-CPufWCSD.js";
4
4
  import * as Phaser from "phaser";
@@ -1167,248 +1167,6 @@ var PhaserJSXPlugin = class extends Phaser.Plugins.BasePlugin {
1167
1167
  }
1168
1168
  };
1169
1169
  //#endregion
1170
- //#region src/colors/use-color-mode.ts
1171
- /**
1172
- * Color mode management for dynamic theme switching
1173
- */
1174
- /**
1175
- * Hook to manage color mode (light/dark) dynamically
1176
- * @returns Object with current mode, toggle function, and setter
1177
- * @example
1178
- * ```typescript
1179
- * function ThemeToggle() {
1180
- * const { colorMode, toggleColorMode } = useColorMode()
1181
- *
1182
- * return (
1183
- * <Button onClick={toggleColorMode}>
1184
- * {colorMode === 'light' ? 'Dark' : 'Light'} Mode
1185
- * </Button>
1186
- * )
1187
- * }
1188
- * ```
1189
- */
1190
- function useColorMode() {
1191
- const [colorMode, setColorModeState] = useState(themeRegistry.getColorMode());
1192
- useEffect(() => {
1193
- return themeRegistry.subscribe(() => {
1194
- setColorModeState(themeRegistry.getColorMode());
1195
- });
1196
- }, []);
1197
- const setColorMode = (mode) => {
1198
- themeRegistry.setColorMode(mode);
1199
- };
1200
- const toggleColorMode = () => {
1201
- setColorMode(colorMode === "light" ? "dark" : "light");
1202
- };
1203
- return {
1204
- colorMode,
1205
- setColorMode,
1206
- toggleColorMode
1207
- };
1208
- }
1209
- //#endregion
1210
- //#region src/colors/use-colors.ts
1211
- /**
1212
- * Color system hooks for component usage
1213
- */
1214
- /**
1215
- * Hook to access color tokens from theme context
1216
- * Automatically updates when color mode or preset changes
1217
- * @returns Current ColorTokens or undefined
1218
- * @deprecated Use `useThemeTokens()` instead for access to colors, text styles, spacing, and more
1219
- * @example
1220
- * ```typescript
1221
- * // Old way (deprecated):
1222
- * const colors = useColors()
1223
- *
1224
- * // New way:
1225
- * const tokens = useThemeTokens()
1226
- * const colors = tokens?.colors
1227
- *
1228
- * // Access text styles, spacing, etc.:
1229
- * <Text style={tokens.textStyles.DEFAULT} />
1230
- * <View padding={tokens.spacing.lg} />
1231
- * ```
1232
- */
1233
- function useColors() {
1234
- const localTheme = useTheme();
1235
- const getInitialColors = () => {
1236
- if (localTheme?.__colorPreset) return getPresetWithMode(localTheme.__colorPreset.name, localTheme.__colorPreset.mode ?? "light").colors;
1237
- return themeRegistry.getColorTokens();
1238
- };
1239
- const [colors, setColors] = useState(getInitialColors());
1240
- const [, forceUpdate] = useState(0);
1241
- useEffect(() => {
1242
- return themeRegistry.subscribe(() => {
1243
- if (localTheme?.__colorPreset) {
1244
- const currentMode = themeRegistry.getColorMode();
1245
- setColors(getPresetWithMode(localTheme.__colorPreset.name, currentMode).colors);
1246
- } else setColors(themeRegistry.getColorTokens());
1247
- forceUpdate((n) => n + 1);
1248
- });
1249
- }, [localTheme]);
1250
- return colors;
1251
- }
1252
- /**
1253
- * Hook to subscribe to theme changes without accessing colors
1254
- * Use this in parent components that don't need colors themselves
1255
- * but want to ensure children re-render when theme changes
1256
- *
1257
- * Note: Since useColors() now triggers re-renders automatically,
1258
- * this hook is mainly useful if you don't need the colors themselves
1259
- * but still want to react to theme changes.
1260
- *
1261
- * @example
1262
- * ```typescript
1263
- * function ParentComponent() {
1264
- * useThemeSubscription() // Children will re-render on theme changes
1265
- * return <ChildThatUsesColors />
1266
- * }
1267
- * ```
1268
- */
1269
- function useThemeSubscription() {
1270
- const [, forceUpdate] = useState(0);
1271
- useEffect(() => {
1272
- return themeRegistry.subscribe(() => {
1273
- forceUpdate((n) => n + 1);
1274
- });
1275
- }, []);
1276
- }
1277
- //#endregion
1278
- //#region src/colors/color-theme-helpers.ts
1279
- /**
1280
- * Convert ColorTokens to a theme-compatible object
1281
- * Maps semantic color names to Phaser number format for View/Button components
1282
- * @param colors - ColorTokens to convert
1283
- * @returns Object with backgroundColor, borderColor, etc.
1284
- * @example
1285
- * ```typescript
1286
- * const colors = getPreset('oceanBlue').colors
1287
- * const buttonTheme = {
1288
- * ...colorsToTheme(colors, 'primary'),
1289
- * padding: 8,
1290
- * }
1291
- * // Returns: { backgroundColor: 0x2196f3, borderColor: 0x... }
1292
- * ```
1293
- */
1294
- function colorsToTheme(colors, colorKey, options = {}) {
1295
- const { backgroundShade = "DEFAULT", borderShade = "dark", includeBorder = true } = options;
1296
- const result = { backgroundColor: colors[colorKey][backgroundShade].toNumber() };
1297
- if (includeBorder) result.borderColor = colors[colorKey][borderShade].toNumber();
1298
- return result;
1299
- }
1300
- /**
1301
- * Get text color from ColorTokens as hex string for Phaser Text style
1302
- * @param colors - ColorTokens to use
1303
- * @param shade - Which text shade to use (default: 'DEFAULT')
1304
- * @param alphaValue - Optional alpha value (0-1)
1305
- * @returns Hex string or rgba string for Text style
1306
- * @example
1307
- * ```typescript
1308
- * const colors = getPreset('oceanBlue').colors
1309
- * const textStyle = {
1310
- * color: getTextColor(colors),
1311
- * fontSize: '18px'
1312
- * }
1313
- * ```
1314
- */
1315
- function getTextColor(colors, shade = "DEFAULT", alphaValue) {
1316
- const color = colors.text[shade];
1317
- return alphaValue !== void 0 ? alpha(color.toNumber(), alphaValue) : color.toString();
1318
- }
1319
- /**
1320
- * Get background color from ColorTokens
1321
- * @param colors - ColorTokens to use
1322
- * @param shade - Which shade to use (default: 'DEFAULT')
1323
- * @returns Phaser color number
1324
- */
1325
- function getBackgroundColor(colors, shade = "DEFAULT") {
1326
- return colors.background[shade].toNumber();
1327
- }
1328
- /**
1329
- * Get surface color from ColorTokens
1330
- * @param colors - ColorTokens to use
1331
- * @param shade - Which shade to use (default: 'DEFAULT')
1332
- * @returns Phaser color number
1333
- */
1334
- function getSurfaceColor(colors, shade = "DEFAULT") {
1335
- return colors.surface[shade].toNumber();
1336
- }
1337
- /**
1338
- * Get border color from ColorTokens
1339
- * @param colors - ColorTokens to use
1340
- * @param shade - Which shade to use (default: 'DEFAULT')
1341
- * @returns Phaser color number
1342
- */
1343
- function getBorderColor(colors, shade = "DEFAULT") {
1344
- return colors.border[shade].toNumber();
1345
- }
1346
- //#endregion
1347
- //#region src/colors/preset-manager.ts
1348
- /**
1349
- * Dynamic color preset management
1350
- */
1351
- /**
1352
- * Set the active color preset globally
1353
- * Applies the preset with the current color mode and updates all components
1354
- * Triggers complete remount of all active mountJSX instances
1355
- * @param presetName - Name of the preset to apply
1356
- * @param colorMode - Optional color mode to apply together with the preset
1357
- * @example
1358
- * ```typescript
1359
- * // Switch to forest green theme
1360
- * setColorPreset('forestGreen')
1361
- *
1362
- * // Apply preset and force dark mode in one go
1363
- * setColorPreset('midnight', 'dark')
1364
- *
1365
- * // Current mode (light/dark) is preserved
1366
- * ```
1367
- */
1368
- function setColorPreset(presetName, colorMode) {
1369
- const targetMode = colorMode ?? themeRegistry.getColorMode();
1370
- const preset = getPresetWithMode(presetName, targetMode);
1371
- themeRegistry.setColorTokens(preset.colors);
1372
- themeRegistry.setGlobalTheme(createDefaultTheme(presetName, targetMode));
1373
- themeRegistry.setCurrentPresetName(presetName, true);
1374
- if (colorMode && themeRegistry.getColorMode() !== colorMode) {
1375
- themeRegistry.setColorMode(colorMode);
1376
- return;
1377
- }
1378
- setTimeout(() => {
1379
- remountAll();
1380
- }, 0);
1381
- }
1382
- /**
1383
- * Get the currently active preset name
1384
- * @returns Current preset name or undefined
1385
- */
1386
- function getCurrentPreset() {
1387
- return themeRegistry.getCurrentPresetName();
1388
- }
1389
- /**
1390
- * Set the active color mode globally (without changing the preset)
1391
- * @param mode - Color mode to apply
1392
- */
1393
- function setColorMode(mode) {
1394
- themeRegistry.setColorMode(mode);
1395
- }
1396
- /**
1397
- * Get all available preset names
1398
- * @returns Array of preset names
1399
- * @example
1400
- * ```typescript
1401
- * const presets = getAvailablePresets() // ['oceanBlue', 'forestGreen', 'midnight']
1402
- * ```
1403
- */
1404
- function getAvailablePresets() {
1405
- return [
1406
- "oceanBlue",
1407
- "forestGreen",
1408
- "midnight"
1409
- ];
1410
- }
1411
- //#endregion
1412
1170
  //#region src/index.ts
1413
1171
  /**
1414
1172
  * PhaserJSX UI Library
@@ -1416,6 +1174,6 @@ function getAvailablePresets() {
1416
1174
  */
1417
1175
  registerBuiltins();
1418
1176
  //#endregion
1419
- export { Accordion, AlertDialog, Badge, Button, CAMERA_FX_REGISTRY, CharText, CharTextInput, Checkbox, ContextMenu, DEFAULT_BACKGROUND, DEFAULT_CAMERA_FX, DEFAULT_EFFECT, DEFAULT_FX, DEFAULT_SPRING_CONFIG, DOMInputElement, DebugLogger, DebugPanel, DevConfig, DevPresets, Dialog, Divider, Dropdown, EFFECT_REGISTRY, FX_REGISTRY, Fragment, Graphics, HexColor, Icon, Image, Joystick, KeyboardInputManager, Modal, NineSlice, NineSliceButton, PARTICLE_PRESET_REGISTRY, Particles, PhaserJSXPlugin, Popover, Portal, ProgressBar, RadioButton, RadioGroup, RangeSlider, RefOriginView, SPRING_PRESETS, ScrollSlider, ScrollView, Sidebar, Slider, SpringPhysics, Sprite, Tab, TabPanel, Tabs, Tag, Text, TileSprite, Toggle, TransformOriginView, View, WrapText, addSceneBackground, alpha, animatedSignal, applyCameraFXByName, applyDarkMode, applyEffectByName, applyFXByName, applyLightMode, applyStencilClip, buildDeathZonesFromLayout, buildEmitZone, buildEmitZoneFromLayout, calculateOverlayPosition, calculateSliderSize, clampProgressValue, clearStencilClip, colorsToTheme, computed, createBlurFX, createBounceEffect, createBreatheEffect, createCameraFadeInFX, createCameraFadeOutFX, createCameraFlashFX, createCameraShakeFX, createCameraZoomFX, createColorMatrixFX, createDefaultTheme, createElement, createFadeEffect, createFlashEffect, createFlipInEffect, createFlipOutEffect, createFloatEffect, createGlowFX, createIconComponent, createJelloEffect, createNoneEffect, createPhaserJSXPlugin, createPixelateFX, createPressEffect, createPulseEffect, createShadowFX, createShakeEffect, createSlideInEffect, createSlideOutEffect, createSpinEffect, createSwingEffect, createTadaEffect, createTextStyle, createTextStyleTokens, createTheme, createVignetteFX, createWiggleEffect, createWobbleEffect, createZoomInEffect, createZoomOutEffect, darken, darkenHex, defaultRadiusTokens, defaultSizeTokens, defaultSpacingTokens, defaultTextStyleTokens, defaultTheme, disposeCtx, ensureContrast, forestGreenPreset, formatBadgeCount, generateColorScale, getAvailablePresets, getBackgroundColor, getBackgroundGraphics, getBadgeSizeConfig, getBadgeText, getBorderColor, getContrastRatio, getCurrent, getCurrentPreset, getLayoutProps, getLayoutRect, getLayoutSize, getMountStats, getPreset, getPresetWithMode, getProgressRatio, getRenderContext, getStencilClipHandle, getSurfaceColor, getTextColor, getThemedProps, getWorldLayoutRect, graphicsCreator, graphicsPatcher, hex, hexToNumber, host, imageCreator, imagePatcher, installStencilClipExtension, isAnimatedSignal, isBitmapStencilClipSource, jsx, jsxs, lighten, lightenHex, memo, mergeThemes, midnightPreset, mount, mountJSX as mountComponent, mountJSX, nineSliceCreator, nineSlicePatcher, noMemo, nodeRegistry, normalizeCornerRadius, normalizeEdgeInsets, normalizeGap, normalizeVNodeLike, numberToHex, numberToRgb, oceanBluePreset, particlesCreator, particlesPatcher, patchVNode, portalRegistry, presets, register, registerBuiltins, releaseAllSVGTextures, releaseSVGTexture, releaseSVGTextures, remountAll, resolveBadgeTextStyle, resolveCameraFX, resolveEffect, resolveFX, resolveParticlePreset, rgbToHsl, rgbToNumber, setColorMode, setColorPreset, shallowEqual, shouldComponentUpdate, spriteCreator, spritePatcher, svgToTexture, textCreator, textPatcher, themeRegistry, tileSpriteCreator, tileSpritePatcher, uninstallStencilClipExtension, unmount, unmountJSX, unwrapSignal, useBackgroundGraphics, useBlur, useCallback, useCameraFX, useCameraFade, useCameraFlash, useCameraZoom, useColorMode, useColors, useEffect, useFX, useForceRedraw, useGameObjectEffect, useGlow, useIconPreload, useLayoutEffect, useLayoutRect, useLayoutSize, useMemo, useParticles, useRedraw, useRef, useSVGTexture, useSVGTextures, useScene, useScreenShake, useShadow, useSpring, useSprings, useState, useTheme, useThemeSubscription, useThemeTokens, useViewportSize, useWorldLayoutRect, viewCreator, viewPatcher, viewportRegistry, withHooks };
1177
+ export { Accordion, ActivityIndicator, AlertDialog, Badge, BottomSheet, BottomSheetDepth, BottomSheetHandle, Button, CAMERA_FX_REGISTRY, CharText, CharTextInput, Checkbox, ColorPicker, ContextMenu, DEFAULT_BACKGROUND, DEFAULT_CAMERA_FX, DEFAULT_EFFECT, DEFAULT_FX, DEFAULT_SPRING_CONFIG, DOMInputElement, DebugLogger, DebugPanel, DevConfig, DevPresets, Dialog, Divider, Dropdown, EFFECT_REGISTRY, FX_REGISTRY, Fragment, Graphics, HexColor, Icon, Image, Joystick, KeyboardInputManager, ListBox, MenuButton, Modal, NineSlice, NineSliceButton, NotificationStack, NumberInput, NumberInputIndicator, PARTICLE_PRESET_REGISTRY, PalettePicker, Particles, PhaserJSXPlugin, Popover, Portal, ProgressBar, ProgressView, RadioButton, RadioGroup, RangeSlider, RatingBar, RefOriginView, SPRING_PRESETS, ScrollSlider, ScrollView, SegmentedControl, Sidebar, Slider, SpringPhysics, Sprite, Tab, TabPanel, Tabs, Tag, Text, TileSprite, Toast, Toggle, ToolButtonGroup, Toolbar, TransformOriginView, View, WheelPicker, WrapText, addSceneBackground, alpha, animatedSignal, applyCameraFXByName, applyDarkMode, applyEffectByName, applyFXByName, applyLightMode, applyStencilClip, buildDeathZonesFromLayout, buildEmitZone, buildEmitZoneFromLayout, calculateOverlayPosition, calculateSliderSize, chunkPalettePickerColors, clampProgressValue, clearStencilClip, colorsToTheme, compactControlSizePresets, computed, controlMinWidthPresets, controlPadding, controlSizePresets, createBlurFX, createBounceEffect, createBreatheEffect, createCameraFadeInFX, createCameraFadeOutFX, createCameraFlashFX, createCameraShakeFX, createCameraZoomFX, createColorMatrixFX, createDefaultTheme, createElement, createFadeEffect, createFlashEffect, createFlipInEffect, createFlipOutEffect, createFloatEffect, createGlowFX, createIconComponent, createJelloEffect, createNoneEffect, createPhaserJSXPlugin, createPixelateFX, createPressEffect, createPulseEffect, createShadowFX, createShakeEffect, createSlideInEffect, createSlideOutEffect, createSpinEffect, createSwingEffect, createTadaEffect, createTextStyle, createTextStyleTokens, createTheme, createVignetteFX, createWiggleEffect, createWobbleEffect, createZoomInEffect, createZoomOutEffect, darken, darkenHex, defaultRadiusTokens, defaultSizeTokens, defaultSpacingTokens, defaultTextStyleTokens, defaultTheme, disposeCtx, ensureContrast, findListBoxItem, findSegmentedControlOption, forestGreenPreset, formatBadgeCount, generateColorScale, getAvailablePresets, getBackgroundColor, getBackgroundGraphics, getBadgeSizeConfig, getBadgeText, getBorderColor, getContrastRatio, getCurrent, getCurrentPreset, getLayoutProps, getLayoutRect, getLayoutSize, getMountStats, getNextNumberInputValue, getNumberInputPrecision, getPalettePickerContrastColor, getPreset, getPresetWithMode, getProgressRatio, getRenderContext, getStencilClipHandle, getSurfaceColor, getTextColor, getThemedProps, getToastAutoDismissDuration, getToolbarItemId, getWorldLayoutRect, graphicsCreator, graphicsPatcher, hexToNumber, host, hslToNumber, hslToRgb, imageCreator, imagePatcher, indicatorSizePresets, installStencilClipExtension, isAnimatedSignal, isBitmapStencilClipSource, isSegmentedControlOptionSelectable, isToolbarMenuItem, isToolbarSeparatorItem, isToolbarToggleItem, jsx, jsxs, lighten, lightenHex, memo, mergeThemes, midnightPreset, mount, mountJSX as mountComponent, mountJSX, nineSliceCreator, nineSlicePatcher, noMemo, nodeRegistry, normalizeColorNumber, normalizeCornerRadius, normalizeEdgeInsets, normalizeGap, normalizeNumberInputValue, normalizePalettePickerColor, normalizePalettePickerColors, normalizeVNodeLike, numberToHex, numberToHsl, numberToRgb, oceanBluePreset, particlesCreator, particlesPatcher, patchVNode, portalRegistry, presets, register, registerBuiltins, releaseAllSVGTextures, releaseSVGTexture, releaseSVGTextures, remountAll, resolveBadgeTextStyle, resolveCameraFX, resolveEffect, resolveFX, resolveListBoxValue, resolveNotificationStackAlignment, resolvePalettePickerValue, resolveParticlePreset, resolveSegmentedControlValue, resolveToolbarActiveId, rgbToHsl, rgbToNumber, setColorMode, setColorPreset, shallowEqual, shouldComponentUpdate, spriteCreator, spritePatcher, svgToTexture, textCreator, textPatcher, themeRegistry, tileSpriteCreator, tileSpritePatcher, toolbarSizePresets, uninstallStencilClipExtension, unmount, unmountJSX, unwrapSignal, useBackgroundGraphics, useBlur, useCallback, useCameraFX, useCameraFade, useCameraFlash, useCameraZoom, useColorMode, useColors, useEffect, useFX, useForceRedraw, useGameObjectEffect, useGlow, useIconPreload, useLayoutEffect, useLayoutRect, useLayoutSize, useMemo, useParticles, useRedraw, useRef, useSVGTexture, useSVGTextures, useScene, useScreenShake, useShadow, useSpring, useSprings, useState, useTheme, useThemeSubscription, useThemeTokens, useViewportSize, useWorldLayoutRect, viewCreator, viewPatcher, viewportRegistry, withHooks };
1420
1178
 
1421
1179
  //# sourceMappingURL=index.js.map