@number10/phaserjsx 0.1.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/LICENSE +667 -0
- package/README.md +238 -0
- package/dist/TransformOriginView-BYPbRH8N.cjs +17045 -0
- package/dist/TransformOriginView-BYPbRH8N.cjs.map +1 -0
- package/dist/TransformOriginView-CO-tJCmV.js +17046 -0
- package/dist/TransformOriginView-CO-tJCmV.js.map +1 -0
- package/dist/animation/animated-signal.d.ts +35 -0
- package/dist/animation/animated-signal.d.ts.map +1 -0
- package/dist/animation/index.d.ts +7 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/spring-physics.d.ts +120 -0
- package/dist/animation/spring-physics.d.ts.map +1 -0
- package/dist/animation/useSpring.d.ts +54 -0
- package/dist/animation/useSpring.d.ts.map +1 -0
- package/dist/colors/color-presets.d.ts +89 -0
- package/dist/colors/color-presets.d.ts.map +1 -0
- package/dist/colors/color-theme-helpers.d.ts +65 -0
- package/dist/colors/color-theme-helpers.d.ts.map +1 -0
- package/dist/colors/color-types.d.ts +100 -0
- package/dist/colors/color-types.d.ts.map +1 -0
- package/dist/colors/color-utils.d.ts +171 -0
- package/dist/colors/color-utils.d.ts.map +1 -0
- package/dist/colors/index.d.ts +17 -0
- package/dist/colors/index.d.ts.map +1 -0
- package/dist/colors/preset-manager.d.ts +35 -0
- package/dist/colors/preset-manager.d.ts.map +1 -0
- package/dist/colors/use-color-mode.d.ts +22 -0
- package/dist/colors/use-color-mode.d.ts.map +1 -0
- package/dist/colors/use-colors.d.ts +40 -0
- package/dist/colors/use-colors.d.ts.map +1 -0
- package/dist/components/appliers/applyBackground.d.ts +13 -0
- package/dist/components/appliers/applyBackground.d.ts.map +1 -0
- package/dist/components/appliers/applyGestures.d.ts +12 -0
- package/dist/components/appliers/applyGestures.d.ts.map +1 -0
- package/dist/components/appliers/applyGraphics.d.ts +10 -0
- package/dist/components/appliers/applyGraphics.d.ts.map +1 -0
- package/dist/components/appliers/applyGraphicsLayout.d.ts +10 -0
- package/dist/components/appliers/applyGraphicsLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyImage.d.ts +10 -0
- package/dist/components/appliers/applyImage.d.ts.map +1 -0
- package/dist/components/appliers/applyImageLayout.d.ts +15 -0
- package/dist/components/appliers/applyImageLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyLayout.d.ts +15 -0
- package/dist/components/appliers/applyLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyNineSlice.d.ts +11 -0
- package/dist/components/appliers/applyNineSlice.d.ts.map +1 -0
- package/dist/components/appliers/applyNineSliceLayout.d.ts +15 -0
- package/dist/components/appliers/applyNineSliceLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyPhaser.d.ts +22 -0
- package/dist/components/appliers/applyPhaser.d.ts.map +1 -0
- package/dist/components/appliers/applySprite.d.ts +10 -0
- package/dist/components/appliers/applySprite.d.ts.map +1 -0
- package/dist/components/appliers/applySpriteLayout.d.ts +14 -0
- package/dist/components/appliers/applySpriteLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyText.d.ts +25 -0
- package/dist/components/appliers/applyText.d.ts.map +1 -0
- package/dist/components/appliers/applyTextLayout.d.ts +15 -0
- package/dist/components/appliers/applyTextLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyTooltip.d.ts +12 -0
- package/dist/components/appliers/applyTooltip.d.ts.map +1 -0
- package/dist/components/appliers/applyTransform.d.ts +21 -0
- package/dist/components/appliers/applyTransform.d.ts.map +1 -0
- package/dist/components/creators/createBackground.d.ts +15 -0
- package/dist/components/creators/createBackground.d.ts.map +1 -0
- package/dist/components/creators/createGestures.d.ts +11 -0
- package/dist/components/creators/createGestures.d.ts.map +1 -0
- package/dist/components/creators/createGraphicsLayout.d.ts +9 -0
- package/dist/components/creators/createGraphicsLayout.d.ts.map +1 -0
- package/dist/components/creators/createImageLayout.d.ts +14 -0
- package/dist/components/creators/createImageLayout.d.ts.map +1 -0
- package/dist/components/creators/createLayout.d.ts +15 -0
- package/dist/components/creators/createLayout.d.ts.map +1 -0
- package/dist/components/creators/createNineSliceLayout.d.ts +14 -0
- package/dist/components/creators/createNineSliceLayout.d.ts.map +1 -0
- package/dist/components/creators/createPhaser.d.ts +14 -0
- package/dist/components/creators/createPhaser.d.ts.map +1 -0
- package/dist/components/creators/createSpriteLayout.d.ts +15 -0
- package/dist/components/creators/createSpriteLayout.d.ts.map +1 -0
- package/dist/components/creators/createTextLayout.d.ts +14 -0
- package/dist/components/creators/createTextLayout.d.ts.map +1 -0
- package/dist/components/creators/createTransform.d.ts +11 -0
- package/dist/components/creators/createTransform.d.ts.map +1 -0
- package/dist/components/custom/Accordion.d.ts +34 -0
- package/dist/components/custom/Accordion.d.ts.map +1 -0
- package/dist/components/custom/AlertDialog.d.ts +63 -0
- package/dist/components/custom/AlertDialog.d.ts.map +1 -0
- package/dist/components/custom/Button.d.ts +44 -0
- package/dist/components/custom/Button.d.ts.map +1 -0
- package/dist/components/custom/CharText/CharText.d.ts +8 -0
- package/dist/components/custom/CharText/CharText.d.ts.map +1 -0
- package/dist/components/custom/CharText/index.d.ts +3 -0
- package/dist/components/custom/CharText/index.d.ts.map +1 -0
- package/dist/components/custom/CharText/types.d.ts +117 -0
- package/dist/components/custom/CharText/types.d.ts.map +1 -0
- package/dist/components/custom/CharText/utils.d.ts +34 -0
- package/dist/components/custom/CharText/utils.d.ts.map +1 -0
- package/dist/components/custom/CharTextInput.d.ts +62 -0
- package/dist/components/custom/CharTextInput.d.ts.map +1 -0
- package/dist/components/custom/Dialog.d.ts +60 -0
- package/dist/components/custom/Dialog.d.ts.map +1 -0
- package/dist/components/custom/Divider.d.ts +21 -0
- package/dist/components/custom/Divider.d.ts.map +1 -0
- package/dist/components/custom/Dropdown.d.ts +91 -0
- package/dist/components/custom/Dropdown.d.ts.map +1 -0
- package/dist/components/custom/Icon.d.ts +75 -0
- package/dist/components/custom/Icon.d.ts.map +1 -0
- package/dist/components/custom/Image.d.ts +50 -0
- package/dist/components/custom/Image.d.ts.map +1 -0
- package/dist/components/custom/Modal.d.ts +37 -0
- package/dist/components/custom/Modal.d.ts.map +1 -0
- package/dist/components/custom/NineSlice.d.ts +81 -0
- package/dist/components/custom/NineSlice.d.ts.map +1 -0
- package/dist/components/custom/NineSliceButton.d.ts +128 -0
- package/dist/components/custom/NineSliceButton.d.ts.map +1 -0
- package/dist/components/custom/Portal.d.ts +43 -0
- package/dist/components/custom/Portal.d.ts.map +1 -0
- package/dist/components/custom/Portal.test.d.ts +2 -0
- package/dist/components/custom/Portal.test.d.ts.map +1 -0
- package/dist/components/custom/RadioButton.d.ts +20 -0
- package/dist/components/custom/RadioButton.d.ts.map +1 -0
- package/dist/components/custom/RadioGroup.d.ts +33 -0
- package/dist/components/custom/RadioGroup.d.ts.map +1 -0
- package/dist/components/custom/RefOriginView.d.ts +45 -0
- package/dist/components/custom/RefOriginView.d.ts.map +1 -0
- package/dist/components/custom/ScrollSlider.d.ts +36 -0
- package/dist/components/custom/ScrollSlider.d.ts.map +1 -0
- package/dist/components/custom/ScrollView.d.ts +48 -0
- package/dist/components/custom/ScrollView.d.ts.map +1 -0
- package/dist/components/custom/Sidebar.d.ts +50 -0
- package/dist/components/custom/Sidebar.d.ts.map +1 -0
- package/dist/components/custom/Slider.d.ts +131 -0
- package/dist/components/custom/Slider.d.ts.map +1 -0
- package/dist/components/custom/Text.d.ts +26 -0
- package/dist/components/custom/Text.d.ts.map +1 -0
- package/dist/components/custom/Toggle.d.ts +51 -0
- package/dist/components/custom/Toggle.d.ts.map +1 -0
- package/dist/components/custom/TransformOriginView.d.ts +34 -0
- package/dist/components/custom/TransformOriginView.d.ts.map +1 -0
- package/dist/components/custom/View.d.ts +33 -0
- package/dist/components/custom/View.d.ts.map +1 -0
- package/dist/components/custom/WrapText.d.ts +60 -0
- package/dist/components/custom/WrapText.d.ts.map +1 -0
- package/dist/components/custom/index.cjs +32 -0
- package/dist/components/custom/index.cjs.map +1 -0
- package/dist/components/custom/index.d.ts +29 -0
- package/dist/components/custom/index.d.ts.map +1 -0
- package/dist/components/custom/index.js +32 -0
- package/dist/components/custom/index.js.map +1 -0
- package/dist/components/index.d.ts +28 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/internal/SceneWrapper.d.ts +20 -0
- package/dist/components/internal/SceneWrapper.d.ts.map +1 -0
- package/dist/components/primitives/graphics.d.ts +40 -0
- package/dist/components/primitives/graphics.d.ts.map +1 -0
- package/dist/components/primitives/image.d.ts +45 -0
- package/dist/components/primitives/image.d.ts.map +1 -0
- package/dist/components/primitives/nineslice.d.ts +111 -0
- package/dist/components/primitives/nineslice.d.ts.map +1 -0
- package/dist/components/primitives/sprite.d.ts +58 -0
- package/dist/components/primitives/sprite.d.ts.map +1 -0
- package/dist/components/primitives/text.d.ts +26 -0
- package/dist/components/primitives/text.d.ts.map +1 -0
- package/dist/components/primitives/tilesprite.d.ts +47 -0
- package/dist/components/primitives/tilesprite.d.ts.map +1 -0
- package/dist/components/primitives/view.d.ts +23 -0
- package/dist/components/primitives/view.d.ts.map +1 -0
- package/dist/core-props.d.ts +605 -0
- package/dist/core-props.d.ts.map +1 -0
- package/dist/core-types.d.ts +59 -0
- package/dist/core-types.d.ts.map +1 -0
- package/dist/design-tokens/design-token-presets.d.ts +26 -0
- package/dist/design-tokens/design-token-presets.d.ts.map +1 -0
- package/dist/design-tokens/design-token-types.d.ts +109 -0
- package/dist/design-tokens/design-token-types.d.ts.map +1 -0
- package/dist/design-tokens/index.d.ts +8 -0
- package/dist/design-tokens/index.d.ts.map +1 -0
- package/dist/design-tokens/use-theme-tokens.d.ts +28 -0
- package/dist/design-tokens/use-theme-tokens.d.ts.map +1 -0
- package/dist/dev-config.d.ts +238 -0
- package/dist/dev-config.d.ts.map +1 -0
- package/dist/effects/effect-registry.d.ts +54 -0
- package/dist/effects/effect-registry.d.ts.map +1 -0
- package/dist/effects/index.d.ts +56 -0
- package/dist/effects/index.d.ts.map +1 -0
- package/dist/effects/use-effect.d.ts +172 -0
- package/dist/effects/use-effect.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/index.d.ts +7 -0
- package/dist/fx/convenience-hooks/index.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-blur.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-blur.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-glow.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-glow.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-shadow.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-shadow.d.ts.map +1 -0
- package/dist/fx/fx-creators/blur.d.ts +37 -0
- package/dist/fx/fx-creators/blur.d.ts.map +1 -0
- package/dist/fx/fx-creators/color-matrix.d.ts +31 -0
- package/dist/fx/fx-creators/color-matrix.d.ts.map +1 -0
- package/dist/fx/fx-creators/glow.d.ts +36 -0
- package/dist/fx/fx-creators/glow.d.ts.map +1 -0
- package/dist/fx/fx-creators/index.d.ts +10 -0
- package/dist/fx/fx-creators/index.d.ts.map +1 -0
- package/dist/fx/fx-creators/pixelate.d.ts +24 -0
- package/dist/fx/fx-creators/pixelate.d.ts.map +1 -0
- package/dist/fx/fx-creators/shadow.d.ts +43 -0
- package/dist/fx/fx-creators/shadow.d.ts.map +1 -0
- package/dist/fx/fx-creators/vignette.d.ts +33 -0
- package/dist/fx/fx-creators/vignette.d.ts.map +1 -0
- package/dist/fx/fx-registry.d.ts +59 -0
- package/dist/fx/fx-registry.d.ts.map +1 -0
- package/dist/fx/index.d.ts +51 -0
- package/dist/fx/index.d.ts.map +1 -0
- package/dist/fx/use-fx.d.ts +53 -0
- package/dist/fx/use-fx.d.ts.map +1 -0
- package/dist/gestures/gesture-manager.d.ts +149 -0
- package/dist/gestures/gesture-manager.d.ts.map +1 -0
- package/dist/gestures/gesture-types.d.ts +229 -0
- package/dist/gestures/gesture-types.d.ts.map +1 -0
- package/dist/hooks-svg.d.ts +104 -0
- package/dist/hooks-svg.d.ts.map +1 -0
- package/dist/hooks.d.ts +135 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/host.d.ts +74 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/index.cjs +584 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +582 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs +10 -0
- package/dist/jsx-dev-runtime.cjs.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +5 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +11 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.cjs +43 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.d.ts +25 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +43 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-types.d.ts +33 -0
- package/dist/jsx-types.d.ts.map +1 -0
- package/dist/layout/appliers/background-applier.d.ts +16 -0
- package/dist/layout/appliers/background-applier.d.ts.map +1 -0
- package/dist/layout/appliers/container-applier.d.ts +9 -0
- package/dist/layout/appliers/container-applier.d.ts.map +1 -0
- package/dist/layout/appliers/position-applier.d.ts +8 -0
- package/dist/layout/appliers/position-applier.d.ts.map +1 -0
- package/dist/layout/index.d.ts +22 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/layout-engine-test-utils.d.ts +19 -0
- package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
- package/dist/layout/layout-engine.d.ts +98 -0
- package/dist/layout/layout-engine.d.ts.map +1 -0
- package/dist/layout/strategies/base-strategy.d.ts +59 -0
- package/dist/layout/strategies/base-strategy.d.ts.map +1 -0
- package/dist/layout/strategies/column-layout.d.ts +38 -0
- package/dist/layout/strategies/column-layout.d.ts.map +1 -0
- package/dist/layout/strategies/row-layout.d.ts +38 -0
- package/dist/layout/strategies/row-layout.d.ts.map +1 -0
- package/dist/layout/strategies/stack-layout.d.ts +30 -0
- package/dist/layout/strategies/stack-layout.d.ts.map +1 -0
- package/dist/layout/types.d.ts +137 -0
- package/dist/layout/types.d.ts.map +1 -0
- package/dist/layout/utils/child-utils.d.ts +74 -0
- package/dist/layout/utils/child-utils.d.ts.map +1 -0
- package/dist/layout/utils/dimension-calculator.d.ts +59 -0
- package/dist/layout/utils/dimension-calculator.d.ts.map +1 -0
- package/dist/layout/utils/flex-distributor.d.ts +18 -0
- package/dist/layout/utils/flex-distributor.d.ts.map +1 -0
- package/dist/layout/utils/size-resolver.d.ts +84 -0
- package/dist/layout/utils/size-resolver.d.ts.map +1 -0
- package/dist/layout/utils/spacing-calculator.d.ts +27 -0
- package/dist/layout/utils/spacing-calculator.d.ts.map +1 -0
- package/dist/memo.d.ts +29 -0
- package/dist/memo.d.ts.map +1 -0
- package/dist/portal/index.d.ts +6 -0
- package/dist/portal/index.d.ts.map +1 -0
- package/dist/portal/portal-registry.d.ts +97 -0
- package/dist/portal/portal-registry.d.ts.map +1 -0
- package/dist/portal/portal-types.d.ts +20 -0
- package/dist/portal/portal-types.d.ts.map +1 -0
- package/dist/render-context.d.ts +118 -0
- package/dist/render-context.d.ts.map +1 -0
- package/dist/scripts/generate-icon-loaders.d.ts +2 -0
- package/dist/scripts/generate-icon-loaders.d.ts.map +1 -0
- package/dist/scripts/generate-icon-loaders.js +195 -0
- package/dist/scripts/generate-icon-types.d.ts +2 -0
- package/dist/scripts/generate-icon-types.d.ts.map +1 -0
- package/dist/scripts/generate-icon-types.js +124 -0
- package/dist/scripts/generate-icons.d.ts +37 -0
- package/dist/scripts/generate-icons.d.ts.map +1 -0
- package/dist/scripts/generate-icons.js +494 -0
- package/dist/scripts/icon-generator-config.d.ts +87 -0
- package/dist/scripts/icon-generator-config.d.ts.map +1 -0
- package/dist/scripts/icon-generator-config.js +6 -0
- package/dist/theme-base.d.ts +116 -0
- package/dist/theme-base.d.ts.map +1 -0
- package/dist/theme-custom.d.ts +262 -0
- package/dist/theme-custom.d.ts.map +1 -0
- package/dist/theme-defaults.d.ts +6 -0
- package/dist/theme-defaults.d.ts.map +1 -0
- package/dist/theme.d.ts +132 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/tooltip/tooltip-types.d.ts +57 -0
- package/dist/tooltip/tooltip-types.d.ts.map +1 -0
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/KeyboardInputManager.d.ts +48 -0
- package/dist/utils/KeyboardInputManager.d.ts.map +1 -0
- package/dist/utils/dom-input-manager.d.ts +109 -0
- package/dist/utils/dom-input-manager.d.ts.map +1 -0
- package/dist/utils/svg-texture.d.ts +30 -0
- package/dist/utils/svg-texture.d.ts.map +1 -0
- package/dist/utils/texture-registry.d.ts +49 -0
- package/dist/utils/texture-registry.d.ts.map +1 -0
- package/dist/vdom.d.ts +60 -0
- package/dist/vdom.d.ts.map +1 -0
- package/dist/viewport-context.d.ts +39 -0
- package/dist/viewport-context.d.ts.map +1 -0
- package/dist/vite-plugin-icons.d.ts +29 -0
- package/dist/vite-plugin-icons.d.ts.map +1 -0
- package/dist/vite-plugin-icons.js +95 -0
- package/package.json +117 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSpriteLayout.d.ts","sourceRoot":"","sources":["../../../src/components/creators/createSpriteLayout.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG;IAClC,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B,eAAe,CAAC,EAAE,MAAM,UAAU,CAAA;CACnC,EACD,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B,IAAI,CAUN"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as Phaser } from 'phaser';
|
|
2
|
+
import { LayoutSize } from '../../layout/index';
|
|
3
|
+
import { TextBaseProps } from '../primitives/text';
|
|
4
|
+
/**
|
|
5
|
+
* Creates layout infrastructure for a text component
|
|
6
|
+
* Attaches layout props and dynamic size provider
|
|
7
|
+
* @param text - Phaser text object
|
|
8
|
+
* @param props - Text props including layout
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTextLayout(text: Phaser.GameObjects.Text & {
|
|
11
|
+
__layoutProps?: TextBaseProps;
|
|
12
|
+
__getLayoutSize?: () => LayoutSize;
|
|
13
|
+
}, props: Partial<TextBaseProps>): void;
|
|
14
|
+
//# sourceMappingURL=createTextLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTextLayout.d.ts","sourceRoot":"","sources":["../../../src/components/creators/createTextLayout.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,UAAU,CAAA;CACnC,EACD,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,IAAI,CAiBN"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TransformProps } from '../../core-props';
|
|
2
|
+
/**
|
|
3
|
+
* Apply transform properties during node creation (geometric transformations only)
|
|
4
|
+
* @param node - Node with transform capabilities
|
|
5
|
+
* @param props - Initial props
|
|
6
|
+
*/
|
|
7
|
+
export declare function createTransform<T extends {
|
|
8
|
+
setScale: (x: number, y: number) => void;
|
|
9
|
+
setRotation: (rotation: number) => void;
|
|
10
|
+
}>(node: T, props: Partial<TransformProps>): void;
|
|
11
|
+
//# sourceMappingURL=createTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransform.d.ts","sourceRoot":"","sources":["../../../src/components/creators/createTransform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,CAAC,SAAS;IACR,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,EACD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAU/C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AnimationConfig } from '../../animation';
|
|
2
|
+
import { EffectDefinition } from '../../effects';
|
|
3
|
+
import { ChildrenType } from '../../types';
|
|
4
|
+
import { ViewProps } from '..';
|
|
5
|
+
/**
|
|
6
|
+
* Props for Accordion component
|
|
7
|
+
*/
|
|
8
|
+
export interface AccordionProps extends ViewProps, EffectDefinition {
|
|
9
|
+
/** Title as string or custom JSX element */
|
|
10
|
+
title?: string | ChildrenType;
|
|
11
|
+
/** Initial open state (default: false) */
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
/** Controlled open state */
|
|
14
|
+
isOpen?: boolean;
|
|
15
|
+
/** Callback when accordion is toggled */
|
|
16
|
+
onToggle?: (isOpen: boolean) => void;
|
|
17
|
+
/** Enable smooth height animation (default: false) */
|
|
18
|
+
animated?: boolean;
|
|
19
|
+
/** Maximum height for animation (default: 200) */
|
|
20
|
+
maxHeight?: number;
|
|
21
|
+
/** Automatically measure content height for animation. Note: Creates a duplicate invisible container for measurement. */
|
|
22
|
+
autoHeight?: boolean;
|
|
23
|
+
/** Spring animation config (preset name or custom config, default: 'gentle') */
|
|
24
|
+
animationConfig?: AnimationConfig;
|
|
25
|
+
/** Callback when accordion animation ends */
|
|
26
|
+
onAnimationEnd?: () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Accordion component - collapsible header with content
|
|
30
|
+
* @param props - Accordion properties
|
|
31
|
+
* @returns Accordion JSX element
|
|
32
|
+
*/
|
|
33
|
+
export declare function Accordion(props: AccordionProps): any;
|
|
34
|
+
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Accordion.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAEnC;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS,EAAE,gBAAgB;IACjE,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yHAAyH;IACzH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gFAAgF;IAChF,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,OAoH9C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ChildrenType } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* AlertDialog component props
|
|
4
|
+
*/
|
|
5
|
+
export interface AlertDialogProps {
|
|
6
|
+
/** Unique key for VDOM identification */
|
|
7
|
+
key?: string;
|
|
8
|
+
/** Whether dialog is visible */
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
/** Callback when dialog should close */
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
/** Dialog title */
|
|
13
|
+
title: string;
|
|
14
|
+
/** Optional description text */
|
|
15
|
+
description?: string;
|
|
16
|
+
/** Optional custom prefix (overrides variant icon from theme) */
|
|
17
|
+
prefix?: ChildrenType;
|
|
18
|
+
/** Visual variant - determines styling and default icons */
|
|
19
|
+
variant?: 'info' | 'warning' | 'destructive' | 'success';
|
|
20
|
+
/** Cancel button text (default: "Cancel") */
|
|
21
|
+
cancelText?: string;
|
|
22
|
+
/** Confirm button text (default: "OK") */
|
|
23
|
+
confirmText?: string;
|
|
24
|
+
/** Show cancel button (default: true) */
|
|
25
|
+
showCancel?: boolean;
|
|
26
|
+
/** Callback when confirm button is clicked */
|
|
27
|
+
onConfirm?: () => void | Promise<void>;
|
|
28
|
+
/** Close dialog after confirm (default: true) */
|
|
29
|
+
closeOnConfirm?: boolean;
|
|
30
|
+
/** Override loading state (for async onConfirm) */
|
|
31
|
+
loading?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* AlertDialog component
|
|
35
|
+
* Simple confirm/alert dialogs with variants and predefined actions
|
|
36
|
+
*
|
|
37
|
+
* @param props - AlertDialog props
|
|
38
|
+
* @returns AlertDialog component
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* // With theme icon (variant)
|
|
43
|
+
* <AlertDialog
|
|
44
|
+
* isOpen={isOpen}
|
|
45
|
+
* variant="destructive"
|
|
46
|
+
* title="Delete Item?"
|
|
47
|
+
* description="This cannot be undone."
|
|
48
|
+
* onConfirm={handleDelete}
|
|
49
|
+
* onClose={onClose}
|
|
50
|
+
* />
|
|
51
|
+
*
|
|
52
|
+
* // With custom icon
|
|
53
|
+
* <AlertDialog
|
|
54
|
+
* isOpen={isOpen}
|
|
55
|
+
* prefix={<Icon type="warning" />}
|
|
56
|
+
* title="Warning"
|
|
57
|
+
* onConfirm={handleAction}
|
|
58
|
+
* onClose={onClose}
|
|
59
|
+
* />
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function AlertDialog(props: AlertDialogProps): any;
|
|
63
|
+
//# sourceMappingURL=AlertDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../../src/components/custom/AlertDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,YAAY,CAAA;IAErB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;IAExD,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,OAyGlD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
import { EffectDefinition } from '../../effects';
|
|
3
|
+
import { ViewTheme } from '../../theme-base';
|
|
4
|
+
import { ChildrenType } from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* Button variant theme
|
|
7
|
+
*/
|
|
8
|
+
export type ButtonVariantTheme = ViewTheme & EffectDefinition;
|
|
9
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'outline';
|
|
10
|
+
export type ButtonSize = 'small' | 'medium' | 'large';
|
|
11
|
+
/**
|
|
12
|
+
* Props for Button component
|
|
13
|
+
*/
|
|
14
|
+
export interface ButtonProps extends ViewProps, EffectDefinition {
|
|
15
|
+
/** Button content - can be text, icons, or any JSX */
|
|
16
|
+
children?: ChildrenType | undefined;
|
|
17
|
+
/** Click handler */
|
|
18
|
+
onClick?: (() => void) | undefined;
|
|
19
|
+
/** Disabled state */
|
|
20
|
+
disabled?: boolean | undefined;
|
|
21
|
+
/** Visual variant */
|
|
22
|
+
variant?: ButtonVariant | undefined;
|
|
23
|
+
/** Size variant */
|
|
24
|
+
size?: ButtonSize | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generic Button component
|
|
28
|
+
* Provides variant, size, and disabled state support
|
|
29
|
+
* Content is fully customizable via children prop
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <Button variant="primary" onClick={() => console.log('clicked')}>
|
|
34
|
+
* Click me
|
|
35
|
+
* </Button>
|
|
36
|
+
*
|
|
37
|
+
* <Button variant="outline" size="small">
|
|
38
|
+
* <Icon type="check" />
|
|
39
|
+
* <Text text="Confirm" />
|
|
40
|
+
* </Button>
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function Button(props: ButtonProps): any;
|
|
44
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +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,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAC7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAC/D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AACrD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS,EAAE,gBAAgB;IAC9D,sDAAsD;IACtD,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACnC,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;CAC9B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,OA0FxC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharTextProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* CharText component - renders text using individual Phaser Text GameObjects per character
|
|
4
|
+
* @param props - CharText properties
|
|
5
|
+
* @returns CharText JSX element
|
|
6
|
+
*/
|
|
7
|
+
export declare function CharText(props: CharTextProps): any;
|
|
8
|
+
//# sourceMappingURL=CharText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CharText.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/CharText/CharText.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAA;AAWnE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,OA6qB5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/CharText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { EffectDefinition } from '../../../effects/effect-registry';
|
|
2
|
+
import { ViewProps } from '../..';
|
|
3
|
+
/**
|
|
4
|
+
* Information about a single rendered character
|
|
5
|
+
*/
|
|
6
|
+
export interface CharInfo {
|
|
7
|
+
/** The character itself */
|
|
8
|
+
char: string;
|
|
9
|
+
/** Phaser Text GameObject for this character */
|
|
10
|
+
textObject: Phaser.GameObjects.Text | null;
|
|
11
|
+
/** X position in container */
|
|
12
|
+
x: number;
|
|
13
|
+
/** Y position in container */
|
|
14
|
+
y: number;
|
|
15
|
+
/** Width of the character */
|
|
16
|
+
width: number;
|
|
17
|
+
/** Height of the character */
|
|
18
|
+
height: number;
|
|
19
|
+
/** Line index (for multi-line support) */
|
|
20
|
+
lineIndex: number;
|
|
21
|
+
/** Character index in the full text */
|
|
22
|
+
charIndex: number;
|
|
23
|
+
/** Character index within the line */
|
|
24
|
+
lineCharIndex: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Information about a text line
|
|
28
|
+
*/
|
|
29
|
+
export interface LineInfo {
|
|
30
|
+
/** Characters in this line */
|
|
31
|
+
chars: CharInfo[];
|
|
32
|
+
/** Starting character index in full text */
|
|
33
|
+
startCharIndex: number;
|
|
34
|
+
/** Ending character index in full text */
|
|
35
|
+
endCharIndex: number;
|
|
36
|
+
/** Y position of this line */
|
|
37
|
+
y: number;
|
|
38
|
+
/** Width of this line */
|
|
39
|
+
width: number;
|
|
40
|
+
/** Height of this line */
|
|
41
|
+
height: number;
|
|
42
|
+
/** Line number (0-based) */
|
|
43
|
+
lineIndex: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Props for CharText component
|
|
47
|
+
*/
|
|
48
|
+
export interface CharTextProps extends Omit<ViewProps, 'children' | 'ref'>, EffectDefinition {
|
|
49
|
+
/** Ref to the container */
|
|
50
|
+
forwardRef?: (ref: Phaser.GameObjects.Container | null) => void;
|
|
51
|
+
/** Text to display */
|
|
52
|
+
text?: string;
|
|
53
|
+
/** Whether input is disabled */
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
/** Text style for characters */
|
|
56
|
+
textStyle?: Phaser.Types.GameObjects.Text.TextStyle | undefined;
|
|
57
|
+
/** Spacing between characters */
|
|
58
|
+
charSpacing?: number;
|
|
59
|
+
/** Enable multi-line text wrapping */
|
|
60
|
+
multiline?: boolean;
|
|
61
|
+
/** Line height multiplier (default: 1.2) */
|
|
62
|
+
lineHeight?: number;
|
|
63
|
+
/** Maximum number of lines (truncate after) */
|
|
64
|
+
maxLines?: number;
|
|
65
|
+
/** How to handle text overflow when maxLines is reached */
|
|
66
|
+
textOverflow?: 'clip' | 'ellipsis';
|
|
67
|
+
/** Word wrap behavior (default: true, break at spaces) */
|
|
68
|
+
wordWrap?: boolean;
|
|
69
|
+
/** Whether to show cursor */
|
|
70
|
+
showCursor?: boolean;
|
|
71
|
+
/** Cursor position (index between characters, 0 to text.length) */
|
|
72
|
+
cursorPosition?: number;
|
|
73
|
+
/** Cursor color */
|
|
74
|
+
cursorColor?: number;
|
|
75
|
+
/** Cursor width in pixels */
|
|
76
|
+
cursorWidth?: number;
|
|
77
|
+
/** Cursor blink speed in milliseconds */
|
|
78
|
+
cursorBlinkSpeed?: number;
|
|
79
|
+
/** Called when text changes (for controlled mode) */
|
|
80
|
+
onChange?: (text: string) => void;
|
|
81
|
+
/** Called when cursor position changes */
|
|
82
|
+
onCursorPositionChange?: (position: number) => void;
|
|
83
|
+
/** Selection start index */
|
|
84
|
+
selectionStart?: number;
|
|
85
|
+
/** Selection end index */
|
|
86
|
+
selectionEnd?: number;
|
|
87
|
+
/** Selection background color */
|
|
88
|
+
selectionColor?: number;
|
|
89
|
+
/** Selection background alpha */
|
|
90
|
+
selectionAlpha?: number;
|
|
91
|
+
/** Called when selection changes */
|
|
92
|
+
onSelectionChange?: (start: number, end: number) => void;
|
|
93
|
+
/** Called when API is ready (provides access to CharTextAPI) */
|
|
94
|
+
onApiReady?: (api: CharTextAPI) => void;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* API for programmatic text manipulation
|
|
98
|
+
*/
|
|
99
|
+
export interface CharTextAPI {
|
|
100
|
+
/** Insert a character at the specified index */
|
|
101
|
+
insertChar(char: string, index: number): void;
|
|
102
|
+
/** Delete a character at the specified index */
|
|
103
|
+
deleteChar(index: number): void;
|
|
104
|
+
/** Replace a character at the specified index */
|
|
105
|
+
replaceChar(index: number, char: string): void;
|
|
106
|
+
/** Set the entire text */
|
|
107
|
+
setText(text: string): void;
|
|
108
|
+
/** Get the current displayed text */
|
|
109
|
+
getText(): string;
|
|
110
|
+
/** Clear all text */
|
|
111
|
+
clear(): void;
|
|
112
|
+
/** Get character index at world position */
|
|
113
|
+
getCharAtPosition(worldX: number, worldY: number): number | null;
|
|
114
|
+
/** Check if a character can fit at the specified position (single-line only) */
|
|
115
|
+
canFitChar(char: string, position: number): boolean;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/CharText/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CharInfo, LineInfo } from './types';
|
|
2
|
+
type MutableRefObject<T> = {
|
|
3
|
+
current: T;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Break text into lines based on width constraints
|
|
7
|
+
*/
|
|
8
|
+
export declare const breakIntoLines: (text: string, scene: Phaser.Scene, effectiveMaxWidth: number, textStyle: Phaser.Types.GameObjects.Text.TextStyle | undefined, charSpacing: number, multiline: boolean, wordWrap: boolean) => LineInfo[];
|
|
9
|
+
/**
|
|
10
|
+
* Create LineInfo from array of CharInfo
|
|
11
|
+
*/
|
|
12
|
+
export declare const createLineInfo: (chars: CharInfo[], lineIndex: number, charSpacing: number) => LineInfo;
|
|
13
|
+
/**
|
|
14
|
+
* Position lines vertically with lineHeight spacing
|
|
15
|
+
*/
|
|
16
|
+
export declare const positionLinesVertically: (lines: LineInfo[], lineHeight: number) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Handle text overflow with maxLines limit
|
|
19
|
+
*/
|
|
20
|
+
export declare const handleOverflow: (lines: LineInfo[], maxLines?: number, textOverflow?: "clip" | "ellipsis") => LineInfo[];
|
|
21
|
+
/**
|
|
22
|
+
* Get cursor position from pointer world coordinates
|
|
23
|
+
*/
|
|
24
|
+
export declare const getPositionFromPointer: (worldX: number, worldY: number, chars: CharInfo[], cursorPosition: number) => number;
|
|
25
|
+
/**
|
|
26
|
+
* Get a text object from pool or create new one
|
|
27
|
+
*/
|
|
28
|
+
export declare const getTextObject: (scene: Phaser.Scene, container: Phaser.GameObjects.Container, textStyle: Phaser.Types.GameObjects.Text.TextStyle | undefined, textObjectPool: MutableRefObject<Phaser.GameObjects.Text[]>, activeTextObjects: MutableRefObject<Phaser.GameObjects.Text[]>) => Phaser.GameObjects.Text;
|
|
29
|
+
/**
|
|
30
|
+
* Return a text object to pool (make invisible)
|
|
31
|
+
*/
|
|
32
|
+
export declare const returnToPool: (textObj: Phaser.GameObjects.Text, textObjectPool: MutableRefObject<Phaser.GameObjects.Text[]>, activeTextObjects: MutableRefObject<Phaser.GameObjects.Text[]>) => void;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/CharText/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEjD,KAAK,gBAAgB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAA;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,OAAO,MAAM,CAAC,KAAK,EACnB,mBAAmB,MAAM,EACzB,WAAW,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,EAC9D,aAAa,MAAM,EACnB,WAAW,OAAO,EAClB,UAAU,OAAO,KAChB,QAAQ,EAsGV,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,QAAQ,EAAE,EACjB,WAAW,MAAM,EACjB,aAAa,MAAM,KAClB,QA4BF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,QAAQ,EAAE,EAAE,YAAY,MAAM,KAAG,IAe/E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,QAAQ,EAAE,EACjB,WAAW,MAAM,EACjB,eAAe,MAAM,GAAG,UAAU,KACjC,QAAQ,EA0BV,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,OAAO,QAAQ,EAAE,EACjB,gBAAgB,MAAM,KACrB,MAoCF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,CAAC,KAAK,EACnB,WAAW,MAAM,CAAC,WAAW,CAAC,SAAS,EACvC,WAAW,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,EAC9D,gBAAgB,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAC3D,mBAAmB,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAC7D,MAAM,CAAC,WAAW,CAAC,IAWrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,MAAM,CAAC,WAAW,CAAC,IAAI,EAChC,gBAAgB,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAC3D,mBAAmB,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAC7D,IAOF,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* Props for CharTextInput component
|
|
4
|
+
*/
|
|
5
|
+
export interface CharTextInputProps extends Omit<ViewProps, 'children'> {
|
|
6
|
+
/** Input value (controlled) */
|
|
7
|
+
value?: string;
|
|
8
|
+
/** Placeholder text when empty */
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
/** Whether input is disabled */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Maximum length of input */
|
|
13
|
+
maxLength?: number;
|
|
14
|
+
/** Enable multi-line text input */
|
|
15
|
+
multiline?: boolean;
|
|
16
|
+
/** Text style for characters */
|
|
17
|
+
textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
18
|
+
/** Spacing between characters */
|
|
19
|
+
charSpacing?: number;
|
|
20
|
+
/** Line height multiplier for multi-line */
|
|
21
|
+
lineHeight?: number;
|
|
22
|
+
/** Maximum number of lines (multi-line only) */
|
|
23
|
+
maxLines?: number;
|
|
24
|
+
/** How to handle text overflow when maxLines is reached */
|
|
25
|
+
textOverflow?: 'clip' | 'ellipsis';
|
|
26
|
+
/** Word wrap behavior (default: true) */
|
|
27
|
+
wordWrap?: boolean;
|
|
28
|
+
/** Cursor color */
|
|
29
|
+
cursorColor?: number;
|
|
30
|
+
/** Cursor width in pixels */
|
|
31
|
+
cursorWidth?: number;
|
|
32
|
+
/** Cursor blink speed in milliseconds */
|
|
33
|
+
cursorBlinkSpeed?: number;
|
|
34
|
+
/** Selection background color */
|
|
35
|
+
selectionColor?: number;
|
|
36
|
+
/** Selection background alpha */
|
|
37
|
+
selectionAlpha?: number;
|
|
38
|
+
/** show html input area */
|
|
39
|
+
debugHtmlInput?: boolean;
|
|
40
|
+
/** Called when input value changes */
|
|
41
|
+
onChange?: (value: string) => void;
|
|
42
|
+
/** Called when input receives focus */
|
|
43
|
+
onFocus?: () => void;
|
|
44
|
+
/** Called when input loses focus */
|
|
45
|
+
onBlur?: () => void;
|
|
46
|
+
/** Called when Enter key is pressed */
|
|
47
|
+
onSubmit?: (value: string) => void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* CharTextInput component - text input using CharText for rendering
|
|
51
|
+
* @param props - CharTextInput properties
|
|
52
|
+
* @returns CharTextInput JSX element
|
|
53
|
+
*
|
|
54
|
+
* TODO: For multiline mode with height constraints, consider wrapping CharText
|
|
55
|
+
* in a ScrollView component. This would provide:
|
|
56
|
+
* - Automatic scrolling when content exceeds available height
|
|
57
|
+
* - Better UX for long text input
|
|
58
|
+
* - No need for maxLines clipping
|
|
59
|
+
* - Scroll-to-cursor behavior on input
|
|
60
|
+
*/
|
|
61
|
+
export declare function CharTextInput(props: CharTextInputProps): any;
|
|
62
|
+
//# sourceMappingURL=CharTextInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CharTextInput.d.ts","sourceRoot":"","sources":["../../../src/components/custom/CharTextInput.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAKnC;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IAEnD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAElC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,OAmZtD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { SizeValue } from '../../core-props';
|
|
2
|
+
import { ChildrenType } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Dialog component props
|
|
5
|
+
*/
|
|
6
|
+
export interface DialogProps {
|
|
7
|
+
/** Unique key for VDOM identification */
|
|
8
|
+
key?: string;
|
|
9
|
+
/** Ref to the container */
|
|
10
|
+
forwardRef?: (ref: Phaser.GameObjects.Container | null) => void;
|
|
11
|
+
/** Whether dialog is visible */
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
/** Callback when dialog should close */
|
|
14
|
+
onClose?: (() => void) | undefined;
|
|
15
|
+
/** Close on backdrop click (default: true) */
|
|
16
|
+
closeOnBackdrop?: boolean | undefined;
|
|
17
|
+
/** Close on Escape key (default: true) */
|
|
18
|
+
closeOnEscape?: boolean | undefined;
|
|
19
|
+
/** Portal depth (default: 1000) */
|
|
20
|
+
depth?: number | undefined;
|
|
21
|
+
/** Dialog title */
|
|
22
|
+
title: string;
|
|
23
|
+
/** Optional prefix content (e.g., Icon) */
|
|
24
|
+
prefix?: ChildrenType;
|
|
25
|
+
/** Show close button in header (default: true) */
|
|
26
|
+
showClose?: boolean;
|
|
27
|
+
/** Maximum width of dialog (default: 600) */
|
|
28
|
+
maxWidth?: SizeValue;
|
|
29
|
+
/** Dialog content */
|
|
30
|
+
children: ChildrenType;
|
|
31
|
+
/** Optional action buttons in footer */
|
|
32
|
+
actions?: ChildrenType;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Dialog component with structured layout
|
|
36
|
+
* Provides header with title/icon, content area, and action footer
|
|
37
|
+
*
|
|
38
|
+
* @param props - Dialog props
|
|
39
|
+
* @returns Dialog component
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* <Dialog
|
|
44
|
+
* isOpen={isOpen}
|
|
45
|
+
* onClose={onClose}
|
|
46
|
+
* title="Settings"
|
|
47
|
+
* prefix={<Icon type="gear" />}
|
|
48
|
+
* actions={
|
|
49
|
+
* <>
|
|
50
|
+
* <Button onClick={onCancel}>Cancel</Button>
|
|
51
|
+
* <Button onClick={onSave}>Save</Button>
|
|
52
|
+
* </>
|
|
53
|
+
* }
|
|
54
|
+
* >
|
|
55
|
+
* <Text>Dialog content...</Text>
|
|
56
|
+
* </Dialog>
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function Dialog(props: DialogProps): any;
|
|
60
|
+
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Dialog.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/D,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAClC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,wCAAwC;IACxC,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,OA0GxC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SizeValue } from '../../core-props';
|
|
2
|
+
/**
|
|
3
|
+
* Props for Divider component
|
|
4
|
+
*/
|
|
5
|
+
export interface DividerProps {
|
|
6
|
+
/** Orientation of the divider */
|
|
7
|
+
orientation?: 'horizontal' | 'vertical';
|
|
8
|
+
/** Thickness of the divider line */
|
|
9
|
+
thickness?: SizeValue | undefined;
|
|
10
|
+
/** Color of the divider */
|
|
11
|
+
color?: number;
|
|
12
|
+
/** Length of the divider (defaults to 100%) */
|
|
13
|
+
length?: SizeValue | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Divider component - renders a simple line separator
|
|
17
|
+
* @param props - Divider properties
|
|
18
|
+
* @returns Divider JSX element
|
|
19
|
+
*/
|
|
20
|
+
export declare function Divider(props: DividerProps): any;
|
|
21
|
+
//# sourceMappingURL=Divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Divider.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,OAY1C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
import { AnimationConfig } from '../../animation';
|
|
3
|
+
import { EffectDefinition } from '../../effects';
|
|
4
|
+
import { ChildrenType } from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* Option type for Dropdown
|
|
7
|
+
*/
|
|
8
|
+
export interface DropdownOption<T = string> {
|
|
9
|
+
/** Unique value */
|
|
10
|
+
value: T;
|
|
11
|
+
/** Display label */
|
|
12
|
+
label: string;
|
|
13
|
+
/** Disabled state */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** Custom prefix content (e.g., Icon) */
|
|
16
|
+
prefix?: ChildrenType;
|
|
17
|
+
/** Custom suffix content */
|
|
18
|
+
suffix?: ChildrenType;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Props for Dropdown component
|
|
22
|
+
*/
|
|
23
|
+
export interface DropdownProps<T = string> extends Omit<ViewProps, 'children'>, EffectDefinition {
|
|
24
|
+
/** Available options */
|
|
25
|
+
options: DropdownOption<T>[];
|
|
26
|
+
/** optional use stack layout, then only the trigger is part of automatic layout, rest as overlay */
|
|
27
|
+
stackLayout?: boolean;
|
|
28
|
+
/** Selected value (controlled) */
|
|
29
|
+
value?: T | T[];
|
|
30
|
+
/** Default selected value (uncontrolled) */
|
|
31
|
+
defaultValue?: T | T[];
|
|
32
|
+
/** Placeholder text when nothing selected */
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
/** Multi-select mode */
|
|
35
|
+
multiple?: boolean;
|
|
36
|
+
/** Enable filter */
|
|
37
|
+
isFilterable?: boolean;
|
|
38
|
+
/** Filtering placeholder */
|
|
39
|
+
filterInputPlaceholder?: string;
|
|
40
|
+
/** Disabled state */
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
/** Maximum height of dropdown list */
|
|
43
|
+
maxHeight?: number;
|
|
44
|
+
/** Position of dropdown (default: 'bottom') */
|
|
45
|
+
placement?: 'top' | 'bottom';
|
|
46
|
+
/** Custom render function for selected value */
|
|
47
|
+
renderValue?: (selected: DropdownOption<T> | DropdownOption<T>[] | null) => ChildrenType;
|
|
48
|
+
/** Custom render function for option */
|
|
49
|
+
renderOption?: (option: DropdownOption<T>, isSelected: boolean) => ChildrenType;
|
|
50
|
+
/** Custom arrow/indicator (default: simple Graphics triangle) */
|
|
51
|
+
arrow?: ChildrenType;
|
|
52
|
+
/** Callback when selection changes */
|
|
53
|
+
onChange?: (value: T | T[]) => void;
|
|
54
|
+
/** Callback when dropdown opens */
|
|
55
|
+
onOpen?: () => void;
|
|
56
|
+
/** Callback when dropdown closes */
|
|
57
|
+
onClose?: () => void;
|
|
58
|
+
/** Animation config for expand/collapse */
|
|
59
|
+
animationConfig?: AnimationConfig;
|
|
60
|
+
/** Close on select (default: true for single, false for multi) */
|
|
61
|
+
closeOnSelect?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Dropdown/Select component
|
|
65
|
+
* Themeable dropdown with single/multi-select, Filtering, and custom rendering
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* // Single select
|
|
70
|
+
* <Dropdown
|
|
71
|
+
* options={[
|
|
72
|
+
* { value: '1', label: 'Option 1' },
|
|
73
|
+
* { value: '2', label: 'Option 2' },
|
|
74
|
+
* ]}
|
|
75
|
+
* value={selected}
|
|
76
|
+
* onChange={setSelected}
|
|
77
|
+
* placeholder="Select an option"
|
|
78
|
+
* />
|
|
79
|
+
*
|
|
80
|
+
* // Multi-select with filtering
|
|
81
|
+
* <Dropdown
|
|
82
|
+
* options={options}
|
|
83
|
+
* multiple={true}
|
|
84
|
+
* isFiltering={true}
|
|
85
|
+
* value={selectedValues}
|
|
86
|
+
* onChange={setSelectedValues}
|
|
87
|
+
* />
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function Dropdown<T = string>(props: DropdownProps<T>): any;
|
|
91
|
+
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Dropdown.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AAItB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACxC,mBAAmB;IACnB,KAAK,EAAE,CAAC,CAAA;IACR,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAC9F,wBAAwB;IACxB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5B,oGAAoG;IACpG,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,kCAAkC;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAEf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAEtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,4BAA4B;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAE5B,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,YAAY,CAAA;IAExF,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,KAAK,YAAY,CAAA;IAE/E,iEAAiE;IACjE,KAAK,CAAC,EAAE,YAAY,CAAA;IAEpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAA;IAEnC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAiY3D"}
|