@number10/phaserjsx 4.1.0 → 4.3.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 +14 -1
- package/dist/clip/index.cjs +7 -695
- package/dist/clip/index.js +1 -687
- package/dist/clip/stencil-clip-depth.d.ts +10 -0
- package/dist/clip/stencil-clip-depth.d.ts.map +1 -0
- package/dist/clip/stencil-clip-fbo-bridge.d.ts +7 -0
- package/dist/clip/stencil-clip-fbo-bridge.d.ts.map +1 -0
- package/dist/clip/stencil-clip-renderer.d.ts +7 -0
- package/dist/clip/stencil-clip-renderer.d.ts.map +1 -0
- package/dist/clip/stencil-clip-state.d.ts +28 -0
- package/dist/clip/stencil-clip-state.d.ts.map +1 -0
- package/dist/clip/stencil-clip-types.d.ts +67 -0
- package/dist/clip/stencil-clip-types.d.ts.map +1 -0
- package/dist/clip/stencil-clip.d.ts +3 -84
- package/dist/clip/stencil-clip.d.ts.map +1 -1
- package/dist/clip-CHmjztBQ.cjs +705 -0
- package/dist/clip-CHmjztBQ.cjs.map +1 -0
- package/dist/clip-CPufWCSD.js +668 -0
- package/dist/clip-CPufWCSD.js.map +1 -0
- package/dist/components/appliers/applyParticles.d.ts.map +1 -1
- package/dist/components/custom/Badge.d.ts +73 -0
- package/dist/components/custom/Badge.d.ts.map +1 -0
- package/dist/components/custom/Checkbox.d.ts +41 -0
- package/dist/components/custom/Checkbox.d.ts.map +1 -0
- package/dist/components/custom/DebugPanel.d.ts +30 -0
- package/dist/components/custom/DebugPanel.d.ts.map +1 -0
- package/dist/components/custom/Particles.d.ts +14 -3
- package/dist/components/custom/Particles.d.ts.map +1 -1
- package/dist/components/custom/Popover.d.ts +89 -0
- package/dist/components/custom/Popover.d.ts.map +1 -0
- package/dist/components/custom/ProgressBar.d.ts +52 -0
- package/dist/components/custom/ProgressBar.d.ts.map +1 -0
- package/dist/components/custom/Toggle.d.ts.map +1 -1
- package/dist/components/custom/index.cjs +15 -1
- package/dist/components/custom/index.d.ts +5 -0
- package/dist/components/custom/index.d.ts.map +1 -1
- package/dist/components/custom/index.js +2 -2
- package/dist/components/index.d.ts +5 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/primitives/graphics.d.ts +2 -2
- package/dist/components/primitives/particles.d.ts +14 -4
- package/dist/components/primitives/particles.d.ts.map +1 -1
- package/dist/components/primitives/tilesprite.d.ts +15 -19
- package/dist/components/primitives/tilesprite.d.ts.map +1 -1
- package/dist/{custom-Dp3yAJdU.cjs → custom-37gL0VZG.cjs} +1578 -264
- package/dist/custom-37gL0VZG.cjs.map +1 -0
- package/dist/{custom-C_w8D39m.js → custom-DMZASXll.js} +1455 -231
- package/dist/custom-DMZASXll.js.map +1 -0
- package/dist/gestures/gesture-manager.d.ts +1 -1
- package/dist/index.cjs +49 -111
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +29 -105
- package/dist/index.js.map +1 -1
- package/dist/particles/emit-zone.d.ts +34 -12
- package/dist/particles/emit-zone.d.ts.map +1 -1
- package/dist/particles/index.d.ts +1 -1
- package/dist/particles/index.d.ts.map +1 -1
- package/dist/particles/use-particles.d.ts +6 -2
- package/dist/particles/use-particles.d.ts.map +1 -1
- package/dist/theme-custom.d.ts +68 -0
- package/dist/theme-custom.d.ts.map +1 -1
- package/dist/theme-defaults.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/clip/index.cjs.map +0 -1
- package/dist/clip/index.js.map +0 -1
- package/dist/custom-C_w8D39m.js.map +0 -1
- package/dist/custom-Dp3yAJdU.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clip-CPufWCSD.js","names":[],"sources":["../src/clip/stencil-clip-depth.ts","../src/clip/stencil-clip-fbo-bridge.ts","../src/clip/stencil-clip-renderer.ts","../src/clip/stencil-clip-state.ts","../src/clip/stencil-clip.ts","../src/clip/stencil-clip-extension.ts","../src/clip/index.ts"],"sourcesContent":["import type * as Phaser from 'phaser'\n\n/**\n * Shared depth counter per GL context.\n * Incremented before each clip's INCR pass, decremented after the DECR pass.\n */\nconst _depthByGl = new WeakMap<WebGLRenderingContext, { value: number }>()\n\nconst _prerenderHooked = new WeakSet<Phaser.Game>()\n\nexport function getDepth(gl: WebGLRenderingContext): { value: number } {\n let d = _depthByGl.get(gl)\n if (!d) {\n d = { value: 0 }\n _depthByGl.set(gl, d)\n }\n return d\n}\n\n/**\n * Registers a per-frame prerender listener that resets stencil clip state.\n * Registered at most once per Phaser.Game instance.\n */\nexport function ensurePrerenderReset(\n gl: WebGLRenderingContext,\n game: Phaser.Game,\n resetFboState: (gl: WebGLRenderingContext) => void\n): void {\n if (_prerenderHooked.has(game)) return\n _prerenderHooked.add(game)\n game.events.on('prerender', () => {\n const d = _depthByGl.get(gl)\n if (d) d.value = 0\n resetFboState(gl)\n })\n}\n","/**\n * Saved stencil state captured just before entering an off-screen FBO.\n * All fields are raw GL enum values / integers from gl.getParameter.\n */\ninterface SavedStencil {\n func: number\n ref: number\n valueMask: number\n fail: number\n zfail: number\n zpass: number\n writeMask: number\n}\n\ninterface FboPatchState {\n /** Last framebuffer bound through the patched bindFramebuffer call. */\n current: WebGLFramebuffer | null\n /** Stencil state saved when transitioning from main framebuffer to an FBO. */\n saved: SavedStencil | null\n}\n\nconst _fboPatchByGl = new WeakMap<WebGLRenderingContext, FboPatchState>()\n\nexport function resetFboPatchState(gl: WebGLRenderingContext): void {\n const fbo = _fboPatchByGl.get(gl)\n if (fbo) {\n fbo.current = null\n fbo.saved = null\n }\n}\n\n/**\n * Patches gl.bindFramebuffer once per GL context so that the stencil test is\n * disabled while Phaser renders PostFX / RenderTextures into off-screen FBOs.\n */\nexport function ensureFboPatch(gl: WebGLRenderingContext): void {\n if (_fboPatchByGl.has(gl)) return\n\n const state: FboPatchState = { current: null, saved: null }\n _fboPatchByGl.set(gl, state)\n\n const origBind = gl.bindFramebuffer.bind(gl)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(gl as any).bindFramebuffer = (target: number, fb: WebGLFramebuffer | null) => {\n const wasMain = state.current === null\n const willBeMain = fb === null\n const enteringOffscreen = wasMain && !willBeMain\n const leavingOffscreen = !wasMain && willBeMain\n\n if (enteringOffscreen && (gl.getParameter(gl.STENCIL_TEST) as boolean)) {\n state.saved = {\n func: gl.getParameter(gl.STENCIL_FUNC) as number,\n ref: gl.getParameter(gl.STENCIL_REF) as number,\n valueMask: gl.getParameter(gl.STENCIL_VALUE_MASK) as number,\n fail: gl.getParameter(gl.STENCIL_FAIL) as number,\n zfail: gl.getParameter(gl.STENCIL_PASS_DEPTH_FAIL) as number,\n zpass: gl.getParameter(gl.STENCIL_PASS_DEPTH_PASS) as number,\n writeMask: gl.getParameter(gl.STENCIL_WRITEMASK) as number,\n }\n gl.disable(gl.STENCIL_TEST)\n }\n\n origBind(target, fb)\n state.current = fb\n\n if (leavingOffscreen && state.saved) {\n gl.enable(gl.STENCIL_TEST)\n gl.stencilFunc(state.saved.func, state.saved.ref, state.saved.valueMask)\n gl.stencilOp(state.saved.fail, state.saved.zfail, state.saved.zpass)\n gl.stencilMask(state.saved.writeMask)\n state.saved = null\n }\n }\n}\n","import type * as Phaser from 'phaser'\nimport type { BitmapMaskState, MaskState } from './stencil-clip-state'\nimport type { StencilBitmapTexture } from './stencil-clip-types'\n\nexport type GLPolyfilled = WebGLRenderingContext & {\n bindVertexArray(vao: WebGLVertexArrayObject | null): void\n}\n\ntype GLWrapperLike = {\n state?: {\n bindings?: {\n activeTexture?: number\n arrayBuffer?: unknown\n program?: unknown\n }\n vao?: unknown\n }\n update?(state: unknown, force?: boolean, vaoLast?: boolean): void\n updateBindingsActiveTexture?(state: unknown, force?: boolean): void\n}\n\ntype SavedPhaserGLState = {\n activeTexture: number | undefined\n arrayBuffer: unknown\n program: unknown\n vao: unknown\n}\n\nfunction savePhaserGLState(renderer: Phaser.Renderer.WebGL.WebGLRenderer): SavedPhaserGLState {\n const glWrapper = renderer.glWrapper as unknown as GLWrapperLike\n\n // Phaser 4 caches GL bindings; raw gl.* restoration is not enough.\n return {\n activeTexture: glWrapper.state?.bindings?.activeTexture,\n arrayBuffer: glWrapper.state?.bindings?.arrayBuffer ?? null,\n program: glWrapper.state?.bindings?.program ?? null,\n vao: glWrapper.state?.vao ?? null,\n }\n}\n\nfunction restorePhaserGLState(\n renderer: Phaser.Renderer.WebGL.WebGLRenderer,\n saved: SavedPhaserGLState,\n fallbackActiveTexture: number\n): void {\n const glWrapper = renderer.glWrapper as unknown as GLWrapperLike\n\n if (glWrapper.update) {\n // Keep Phaser's cached state aligned after this custom stencil shader pass.\n glWrapper.update(\n {\n bindings: {\n activeTexture: saved.activeTexture ?? fallbackActiveTexture,\n arrayBuffer: saved.arrayBuffer,\n program: saved.program,\n },\n vao: saved.vao,\n },\n true\n )\n return\n }\n\n glWrapper.updateBindingsActiveTexture?.(\n {\n bindings: {\n activeTexture: saved.activeTexture ?? fallbackActiveTexture,\n },\n },\n true\n )\n}\n\nconst ROUND_RECT_VERT_SRC = `\nattribute vec2 a_ndc;\nattribute vec2 a_loc;\nvarying vec2 v_loc;\nvoid main(){gl_Position=vec4(a_ndc,0.,1.);v_loc=a_loc;}\n`\n\nconst ROUND_RECT_FRAG_SRC = `\nprecision mediump float;\nvarying vec2 v_loc;\nuniform vec2 u_halfSize;\nuniform vec4 u_radii;\nfloat sdRoundedBox(vec2 p,vec2 b,vec4 r){\n r.xy=p.x>0.?r.yz:r.xw;\n r.x =p.y>0.?r.y :r.x;\n vec2 q=abs(p)-b+r.x;\n return length(max(q,0.))+min(max(q.x,q.y),0.)-r.x;\n}\nvoid main(){\n if(sdRoundedBox(v_loc,u_halfSize,u_radii)>0.)discard;\n gl_FragColor=vec4(0.);\n}\n`\n\nconst BITMAP_VERT_SRC = `\nattribute vec2 a_ndc;\nattribute vec2 a_uv;\nvarying vec2 v_uv;\nvoid main(){gl_Position=vec4(a_ndc,0.,1.);v_uv=a_uv;}\n`\n\nconst BITMAP_FRAG_SRC = `\nprecision mediump float;\nvarying vec2 v_uv;\nuniform sampler2D u_texture;\nuniform float u_alphaThreshold;\nuniform float u_invertAlpha;\nvoid main(){\n float a=texture2D(u_texture,v_uv).a;\n bool keep=u_invertAlpha>0.5 ? a<u_alphaThreshold : a>=u_alphaThreshold;\n if(!keep)discard;\n gl_FragColor=vec4(0.);\n}\n`\n\nconst _roundRectProgByGl = new WeakMap<WebGLRenderingContext, WebGLProgram>()\nconst _bitmapProgByGl = new WeakMap<WebGLRenderingContext, WebGLProgram>()\n\nfunction createProgram(gl: WebGLRenderingContext, vertSrc: string, fragSrc: string): WebGLProgram {\n const vs = gl.createShader(gl.VERTEX_SHADER) as WebGLShader\n gl.shaderSource(vs, vertSrc)\n gl.compileShader(vs)\n\n const fs = gl.createShader(gl.FRAGMENT_SHADER) as WebGLShader\n gl.shaderSource(fs, fragSrc)\n gl.compileShader(fs)\n\n const prog = gl.createProgram() as WebGLProgram\n gl.attachShader(prog, vs)\n gl.attachShader(prog, fs)\n gl.linkProgram(prog)\n\n return prog\n}\n\nfunction getRoundRectProg(gl: WebGLRenderingContext): WebGLProgram {\n let prog = _roundRectProgByGl.get(gl)\n if (prog) return prog\n\n prog = createProgram(gl, ROUND_RECT_VERT_SRC, ROUND_RECT_FRAG_SRC)\n _roundRectProgByGl.set(gl, prog)\n return prog\n}\n\nfunction getBitmapProg(gl: WebGLRenderingContext): WebGLProgram {\n let prog = _bitmapProgByGl.get(gl)\n if (prog) return prog\n\n prog = createProgram(gl, BITMAP_VERT_SRC, BITMAP_FRAG_SRC)\n _bitmapProgByGl.set(gl, prog)\n return prog\n}\n\ninterface RoundRectShaderLocs {\n ndc: number\n loc: number\n halfSize: WebGLUniformLocation | null\n radii: WebGLUniformLocation | null\n}\n\ninterface BitmapShaderLocs {\n ndc: number\n uv: number\n texture: WebGLUniformLocation | null\n alphaThreshold: WebGLUniformLocation | null\n invertAlpha: WebGLUniformLocation | null\n}\n\nconst _roundRectLocsByProg = new WeakMap<WebGLProgram, RoundRectShaderLocs>()\nconst _bitmapLocsByProg = new WeakMap<WebGLProgram, BitmapShaderLocs>()\n\nfunction getRoundRectShaderLocs(\n gl: WebGLRenderingContext,\n prog: WebGLProgram\n): RoundRectShaderLocs {\n let l = _roundRectLocsByProg.get(prog)\n if (!l) {\n l = {\n ndc: gl.getAttribLocation(prog, 'a_ndc'),\n loc: gl.getAttribLocation(prog, 'a_loc'),\n halfSize: gl.getUniformLocation(prog, 'u_halfSize'),\n radii: gl.getUniformLocation(prog, 'u_radii'),\n }\n _roundRectLocsByProg.set(prog, l)\n }\n return l\n}\n\nfunction getBitmapShaderLocs(gl: WebGLRenderingContext, prog: WebGLProgram): BitmapShaderLocs {\n let l = _bitmapLocsByProg.get(prog)\n if (!l) {\n l = {\n ndc: gl.getAttribLocation(prog, 'a_ndc'),\n uv: gl.getAttribLocation(prog, 'a_uv'),\n texture: gl.getUniformLocation(prog, 'u_texture'),\n alphaThreshold: gl.getUniformLocation(prog, 'u_alphaThreshold'),\n invertAlpha: gl.getUniformLocation(prog, 'u_invertAlpha'),\n }\n _bitmapLocsByProg.set(prog, l)\n }\n return l\n}\n\nconst STRIDE = 16\n\nfunction drawRoundRectMaskShape(\n gl: GLPolyfilled,\n scene: Phaser.Scene,\n matrix: Phaser.GameObjects.Components.TransformMatrix,\n cameraMatrix: Phaser.GameObjects.Components.TransformMatrix | undefined,\n offsetX: number,\n offsetY: number,\n w: number,\n h: number,\n logW: number,\n logH: number,\n radii: [number, number, number, number],\n vertBuf: WebGLBuffer,\n verts: Float32Array\n): void {\n const { a, b, c, d, tx, ty } = matrix\n const hw = w / 2\n const hh = h / 2\n const cx = offsetX + hw\n const cy = offsetY + hh\n\n const corners = [\n [cx - hw, cy - hh],\n [cx + hw, cy - hh],\n [cx + hw, cy + hh],\n [cx - hw, cy + hh],\n ] as const\n\n for (let i = 0; i < 4; i++) {\n const corner = corners[i] as [number, number]\n const lx = corner[0]\n const ly = corner[1]\n const wx = a * lx + c * ly + tx\n const wy = b * lx + d * ly + ty\n const sx = cameraMatrix ? cameraMatrix.getX(wx, wy) : wx\n const sy = cameraMatrix ? cameraMatrix.getY(wx, wy) : wy\n verts[i * 4 + 0] = (sx / logW) * 2 - 1\n verts[i * 4 + 1] = 1 - (sy / logH) * 2\n verts[i * 4 + 2] = lx - cx\n verts[i * 4 + 3] = ly - cy\n }\n\n const prevProg = gl.getParameter(gl.CURRENT_PROGRAM) as WebGLProgram | null\n const prevBuf = gl.getParameter(gl.ARRAY_BUFFER_BINDING) as WebGLBuffer | null\n const prevVAO = gl.getParameter(0x85b5) as WebGLVertexArrayObject | null\n const prevActiveTextureUnit = (gl.getParameter(gl.ACTIVE_TEXTURE) as number) - gl.TEXTURE0\n const renderer = scene.renderer as Phaser.Renderer.WebGL.WebGLRenderer\n const savedPhaserState = savePhaserGLState(renderer)\n\n gl.bindVertexArray(null)\n gl.bindBuffer(gl.ARRAY_BUFFER, vertBuf)\n gl.bufferSubData(gl.ARRAY_BUFFER, 0, verts)\n\n const prog = getRoundRectProg(gl)\n gl.useProgram(prog)\n\n const locs = getRoundRectShaderLocs(gl, prog)\n gl.enableVertexAttribArray(locs.ndc)\n gl.vertexAttribPointer(locs.ndc, 2, gl.FLOAT, false, STRIDE, 0)\n gl.enableVertexAttribArray(locs.loc)\n gl.vertexAttribPointer(locs.loc, 2, gl.FLOAT, false, STRIDE, 8)\n\n gl.uniform2f(locs.halfSize, hw, hh)\n gl.uniform4f(locs.radii, radii[0], radii[1], radii[2], radii[3])\n\n gl.drawArrays(gl.TRIANGLE_FAN, 0, 4)\n\n gl.disableVertexAttribArray(locs.ndc)\n gl.disableVertexAttribArray(locs.loc)\n\n gl.bindBuffer(gl.ARRAY_BUFFER, prevBuf)\n gl.useProgram(prevProg)\n gl.bindVertexArray(prevVAO)\n restorePhaserGLState(renderer, savedPhaserState, prevActiveTextureUnit)\n}\n\ntype BitmapFrameInfo = {\n glTexture: Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper\n width: number\n height: number\n u0: number\n v0: number\n u1: number\n v1: number\n}\n\nfunction isTextureFrame(value: StencilBitmapTexture): value is Phaser.Textures.Frame {\n return typeof value === 'object' && value !== null && 'glTexture' in value && 'u0' in value\n}\n\nfunction resolveBitmapFrame(scene: Phaser.Scene, source: BitmapMaskState): BitmapFrameInfo | null {\n const frame = isTextureFrame(source.texture)\n ? source.texture\n : typeof source.texture === 'string'\n ? scene.textures.getFrame(source.texture, source.frame)\n : source.texture.get(source.frame)\n\n if (!frame?.glTexture?.webGLTexture) return null\n\n return {\n glTexture: frame.glTexture,\n width: source.width ?? frame.cutWidth ?? frame.realWidth,\n height: source.height ?? frame.cutHeight ?? frame.realHeight,\n u0: frame.u0,\n v0: frame.v0,\n u1: frame.u1,\n v1: frame.v1,\n }\n}\n\nfunction drawBitmapMaskShape(\n gl: GLPolyfilled,\n scene: Phaser.Scene,\n matrix: Phaser.GameObjects.Components.TransformMatrix,\n cameraMatrix: Phaser.GameObjects.Components.TransformMatrix | undefined,\n source: BitmapMaskState,\n frameInfo: BitmapFrameInfo,\n logW: number,\n logH: number,\n vertBuf: WebGLBuffer,\n verts: Float32Array\n): void {\n const { a, b, c, d, tx, ty } = matrix\n const x0 = source.offsetX\n const y0 = source.offsetY\n const x1 = x0 + frameInfo.width\n const y1 = y0 + frameInfo.height\n\n const corners = [\n [x0, y0, frameInfo.u0, frameInfo.v0],\n [x1, y0, frameInfo.u1, frameInfo.v0],\n [x1, y1, frameInfo.u1, frameInfo.v1],\n [x0, y1, frameInfo.u0, frameInfo.v1],\n ] as const\n\n for (let i = 0; i < 4; i++) {\n const corner = corners[i] as (typeof corners)[number]\n const lx = corner[0]\n const ly = corner[1]\n const wx = a * lx + c * ly + tx\n const wy = b * lx + d * ly + ty\n const sx = cameraMatrix ? cameraMatrix.getX(wx, wy) : wx\n const sy = cameraMatrix ? cameraMatrix.getY(wx, wy) : wy\n verts[i * 4 + 0] = (sx / logW) * 2 - 1\n verts[i * 4 + 1] = 1 - (sy / logH) * 2\n verts[i * 4 + 2] = corner[2]\n verts[i * 4 + 3] = corner[3]\n }\n\n const prevProg = gl.getParameter(gl.CURRENT_PROGRAM) as WebGLProgram | null\n const prevBuf = gl.getParameter(gl.ARRAY_BUFFER_BINDING) as WebGLBuffer | null\n const prevVAO = gl.getParameter(0x85b5) as WebGLVertexArrayObject | null\n const prevActiveTextureUnit = (gl.getParameter(gl.ACTIVE_TEXTURE) as number) - gl.TEXTURE0\n const renderer = scene.renderer as Phaser.Renderer.WebGL.WebGLRenderer\n const savedPhaserState = savePhaserGLState(renderer)\n\n gl.bindVertexArray(null)\n gl.bindBuffer(gl.ARRAY_BUFFER, vertBuf)\n gl.bufferSubData(gl.ARRAY_BUFFER, 0, verts)\n\n const prog = getBitmapProg(gl)\n gl.useProgram(prog)\n\n const locs = getBitmapShaderLocs(gl, prog)\n gl.enableVertexAttribArray(locs.ndc)\n gl.vertexAttribPointer(locs.ndc, 2, gl.FLOAT, false, STRIDE, 0)\n gl.enableVertexAttribArray(locs.uv)\n gl.vertexAttribPointer(locs.uv, 2, gl.FLOAT, false, STRIDE, 8)\n\n const textureUnits = renderer.glTextureUnits\n const prevTexture = textureUnits.units[0] ?? null\n\n textureUnits.bind(frameInfo.glTexture, 0)\n gl.uniform1i(locs.texture, 0)\n gl.uniform1f(locs.alphaThreshold, source.alphaThreshold)\n gl.uniform1f(locs.invertAlpha, source.invertAlpha ? 1 : 0)\n\n gl.drawArrays(gl.TRIANGLE_FAN, 0, 4)\n\n gl.disableVertexAttribArray(locs.ndc)\n gl.disableVertexAttribArray(locs.uv)\n\n textureUnits.bind(prevTexture, 0)\n renderer.glWrapper.updateBindingsActiveTexture({\n bindings: {\n activeTexture: prevActiveTextureUnit,\n },\n })\n gl.bindBuffer(gl.ARRAY_BUFFER, prevBuf)\n gl.useProgram(prevProg)\n gl.bindVertexArray(prevVAO)\n restorePhaserGLState(renderer, savedPhaserState, prevActiveTextureUnit)\n}\n\nexport function drawMaskShape(\n gl: GLPolyfilled,\n scene: Phaser.Scene,\n matrix: Phaser.GameObjects.Components.TransformMatrix,\n cameraMatrix: Phaser.GameObjects.Components.TransformMatrix | undefined,\n source: MaskState,\n logW: number,\n logH: number,\n vertBuf: WebGLBuffer,\n verts: Float32Array\n): void {\n if (source.kind === 'bitmap') {\n const frameInfo = resolveBitmapFrame(scene, source)\n if (!frameInfo) return\n drawBitmapMaskShape(\n gl,\n scene,\n matrix,\n cameraMatrix,\n source,\n frameInfo,\n logW,\n logH,\n vertBuf,\n verts\n )\n return\n }\n\n drawRoundRectMaskShape(\n gl,\n scene,\n matrix,\n cameraMatrix,\n source.offsetX,\n source.offsetY,\n source.width,\n source.height,\n logW,\n logH,\n source.radii,\n vertBuf,\n verts\n )\n}\n","import type {\n StencilBitmapClipSource,\n StencilBitmapTexture,\n StencilClipSource,\n StencilClipUpdate,\n StencilCornerRadius,\n StencilRoundRectClipSource,\n} from './stencil-clip-types'\n\nexport type RoundRectMaskState = {\n kind: 'roundRect'\n width: number\n height: number\n offsetX: number\n offsetY: number\n radii: [number, number, number, number]\n}\n\nexport type BitmapMaskState = {\n kind: 'bitmap'\n texture: StencilBitmapTexture\n frame: string | number | undefined\n width: number | undefined\n height: number | undefined\n offsetX: number\n offsetY: number\n alphaThreshold: number\n invertAlpha: boolean\n}\n\nexport type MaskState = RoundRectMaskState | BitmapMaskState\n\nfunction resolveRadii(\n r: number | StencilCornerRadius | undefined\n): [number, number, number, number] {\n if (!r) return [0, 0, 0, 0]\n if (typeof r === 'number') return [r, r, r, r]\n return [r.tl ?? 0, r.tr ?? 0, r.br ?? 0, r.bl ?? 0]\n}\n\n/** Returns true when a source/update selects the bitmap mask renderer. */\nexport function isBitmapStencilClipSource(\n source: StencilClipUpdate\n): source is Partial<StencilBitmapClipSource> & { kind: 'bitmap' } {\n return source.kind === 'bitmap'\n}\n\nfunction toRoundRectState(source: StencilRoundRectClipSource): RoundRectMaskState {\n return {\n kind: 'roundRect',\n width: source.width,\n height: source.height,\n offsetX: source.offsetX ?? 0,\n offsetY: source.offsetY ?? 0,\n radii: source.kind === 'rect' ? [0, 0, 0, 0] : resolveRadii(source.cornerRadius),\n }\n}\n\nfunction toBitmapState(source: StencilBitmapClipSource): BitmapMaskState {\n return {\n kind: 'bitmap',\n texture: source.texture,\n frame: source.frame,\n width: source.width,\n height: source.height,\n offsetX: source.offsetX ?? 0,\n offsetY: source.offsetY ?? 0,\n alphaThreshold: source.alphaThreshold ?? 0.5,\n invertAlpha: source.invertAlpha ?? false,\n }\n}\n\nexport function toMaskState(source: StencilClipSource): MaskState {\n return isBitmapStencilClipSource(source) ? toBitmapState(source) : toRoundRectState(source)\n}\n\nexport function mergeMaskState(current: MaskState, update: StencilClipUpdate): MaskState {\n if (isBitmapStencilClipSource(update)) {\n if (current.kind !== 'bitmap' || update.texture !== undefined) {\n return toBitmapState(update as StencilBitmapClipSource)\n }\n\n return {\n kind: 'bitmap',\n texture: current.texture,\n frame: update.frame !== undefined ? update.frame : current.frame,\n width: update.width !== undefined ? update.width : current.width,\n height: update.height !== undefined ? update.height : current.height,\n offsetX: update.offsetX !== undefined ? update.offsetX : current.offsetX,\n offsetY: update.offsetY !== undefined ? update.offsetY : current.offsetY,\n alphaThreshold:\n update.alphaThreshold !== undefined ? update.alphaThreshold : current.alphaThreshold,\n invertAlpha: update.invertAlpha !== undefined ? update.invertAlpha : current.invertAlpha,\n }\n }\n\n if (current.kind === 'bitmap' && update.kind === undefined) {\n const bitmapUpdate = update as Partial<StencilBitmapClipSource>\n return {\n kind: 'bitmap',\n texture: current.texture,\n frame: bitmapUpdate.frame !== undefined ? bitmapUpdate.frame : current.frame,\n width: bitmapUpdate.width !== undefined ? bitmapUpdate.width : current.width,\n height: bitmapUpdate.height !== undefined ? bitmapUpdate.height : current.height,\n offsetX: bitmapUpdate.offsetX !== undefined ? bitmapUpdate.offsetX : current.offsetX,\n offsetY: bitmapUpdate.offsetY !== undefined ? bitmapUpdate.offsetY : current.offsetY,\n alphaThreshold:\n bitmapUpdate.alphaThreshold !== undefined\n ? bitmapUpdate.alphaThreshold\n : current.alphaThreshold,\n invertAlpha:\n bitmapUpdate.invertAlpha !== undefined ? bitmapUpdate.invertAlpha : current.invertAlpha,\n }\n }\n\n if (current.kind === 'bitmap') {\n return toRoundRectState(update as StencilRoundRectClipSource)\n }\n\n const roundUpdate = update as Partial<StencilRoundRectClipSource>\n return {\n kind: 'roundRect',\n width: roundUpdate.width !== undefined ? roundUpdate.width : current.width,\n height: roundUpdate.height !== undefined ? roundUpdate.height : current.height,\n offsetX: roundUpdate.offsetX !== undefined ? roundUpdate.offsetX : current.offsetX,\n offsetY: roundUpdate.offsetY !== undefined ? roundUpdate.offsetY : current.offsetY,\n radii:\n roundUpdate.kind === 'rect'\n ? [0, 0, 0, 0]\n : 'cornerRadius' in roundUpdate\n ? resolveRadii(roundUpdate.cornerRadius)\n : current.radii,\n }\n}\n","/**\n * WebGL stencil-buffer clip for Phaser 4 Containers.\n *\n * Supports arbitrary nesting via the INCR/DECR model: each clip level\n * increments the stencil on enter and decrements on exit, so child clips are\n * automatically intersected with their parent clips at the hardware level.\n *\n * Shape variants:\n * - Plain rectangle (cornerRadius omitted or 0)\n * - Rounded rectangle (uniform radius or per-corner object)\n *\n * A single SDF-based shader handles both variants. For plain rectangles\n * u_radii is vec4(0) and the `discard` branch never fires — no overhead\n * compared to a rectangle-only shader.\n *\n * Transforms (translate, scale, rotation) are fully supported: the quad\n * corners are transformed through `container.getWorldTransformMatrix()` at\n * render time, so no per-layout world-position tracking is needed.\n */\nimport * as Phaser from 'phaser'\nimport { ensurePrerenderReset, getDepth } from './stencil-clip-depth'\nimport { ensureFboPatch, resetFboPatchState } from './stencil-clip-fbo-bridge'\nimport { drawMaskShape, type GLPolyfilled } from './stencil-clip-renderer'\nimport { mergeMaskState, toMaskState } from './stencil-clip-state'\nimport type { StencilClipHandle, StencilClipSource } from './stencil-clip-types'\n\nexport { isBitmapStencilClipSource } from './stencil-clip-state'\nexport type {\n StencilBitmapClipSource,\n StencilBitmapTexture,\n StencilClipHandle,\n StencilClipShape,\n StencilClipSource,\n StencilClipUpdate,\n StencilCornerRadius,\n StencilRoundRectClipSource,\n} from './stencil-clip-types'\n\n// ── Internal Phaser type helpers ──────────────────────────────────────────────\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ContainerRenderFn = (renderer: any, go: any, ...rest: any[]) => void\n\ntype RNManager = { finishBatch(): void }\ntype CameraLike = {\n getViewMatrix(forceComposite?: boolean): Phaser.GameObjects.Components.TransformMatrix\n}\n\ntype DrawingContextLike = {\n camera?: CameraLike\n useCanvas?: boolean\n}\n\ntype GLWrapperLike = {\n state?: {\n bindings?: {\n arrayBuffer?: unknown\n }\n }\n updateBindingsArrayBuffer?(state: unknown, force?: boolean): void\n}\n\n// ── Attachment symbol ─────────────────────────────────────────────────────────\n\nconst STENCIL_HANDLE = Symbol('stencilClipHandle')\n\n/** Returns the active stencil clip handle attached to a container, if any. */\nexport function getStencilClipHandle(\n container: Phaser.GameObjects.Container\n): StencilClipHandle | undefined {\n return (container as unknown as { [STENCIL_HANDLE]?: StencilClipHandle })[STENCIL_HANDLE]\n}\n\n/** Removes any active stencil clip from a container. */\nexport function clearStencilClip(container: Phaser.GameObjects.Container): void {\n getStencilClipHandle(container)?.destroy()\n}\n\n// ── Public API ────────────────────────────────────────────────────────────────\n\n/**\n * Applies a WebGL stencil-buffer clip to a Phaser 4 Container.\n *\n * The clip rectangle is expressed in the container's **local coordinate\n * space**. `offsetX`/`offsetY` mark the top-left corner (default 0/0), so\n * a container whose visual area starts at its local origin can be clipped with\n * `applyStencilClip(container, { width, height })`.\n *\n * **Nesting** is handled transparently: each clip level occupies one stencil\n * value (0 = no clip, 1 = depth 0, 2 = depth 1, …). Child clips are always\n * the intersection of their own shape and all ancestor shapes.\n *\n * **Transforms** (translate, scale, rotation) are re-evaluated from\n * `container.getWorldTransformMatrix()` on every frame, so animated or\n * scroll-driven containers clip correctly without any manual update call.\n *\n * If a stencil clip is already attached to the container, calling this\n * function again calls `handle.update(shape)` on the existing handle and\n * returns it.\n *\n * @param container - The container to clip.\n * @param source - Clip source in the container's local coordinate space.\n * @returns A handle to modify dimensions / corner radii or remove the clip.\n */\nexport function applyStencilClip(\n container: Phaser.GameObjects.Container,\n source: StencilClipSource\n): StencilClipHandle {\n const obj = container as unknown as {\n _renderSteps: Array<ContainerRenderFn | undefined>\n addRenderStep(fn: ContainerRenderFn, index?: number): Phaser.GameObjects.Container\n [STENCIL_HANDLE]?: StencilClipHandle\n }\n\n // Re-use existing handle if already attached.\n if (obj[STENCIL_HANDLE]) {\n obj[STENCIL_HANDLE].update(source)\n return obj[STENCIL_HANDLE]\n }\n\n // No-op for non-WebGL renderers.\n if (container.scene.renderer.type !== Phaser.WEBGL) {\n return { update() {}, destroy() {} }\n }\n\n const renderer = container.scene.renderer as Phaser.Renderer.WebGL.WebGLRenderer\n const gl = renderer.gl as GLPolyfilled\n const glWrapper = renderer.glWrapper as unknown as GLWrapperLike\n\n ensurePrerenderReset(gl, container.scene.game, resetFboPatchState)\n ensureFboPatch(gl)\n\n // Persistent vertex buffer: 4 vertices × 4 floats × 4 bytes = 64 bytes.\n const previousArrayBuffer = glWrapper.state?.bindings?.arrayBuffer ?? null\n const vertBuf = gl.createBuffer() as WebGLBuffer\n gl.bindBuffer(gl.ARRAY_BUFFER, vertBuf)\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(16), gl.DYNAMIC_DRAW)\n gl.bindBuffer(gl.ARRAY_BUFFER, null)\n // Creating the buffer mutates raw GL state; restore Phaser's cached binding too.\n glWrapper.updateBindingsArrayBuffer?.(\n {\n bindings: {\n arrayBuffer: previousArrayBuffer,\n },\n },\n true\n )\n\n const verts = new Float32Array(16)\n\n let maskSource = toMaskState(source)\n let destroyed = false\n\n const wrapper: ContainerRenderFn = (\n webglRenderer,\n go,\n drawingContext,\n parentMatrix,\n renderStep = 0,\n displayList,\n displayListIndex\n ) => {\n const renderNext = () => {\n go.renderWebGLStep(\n webglRenderer,\n go,\n drawingContext,\n parentMatrix,\n renderStep + 1,\n displayList,\n displayListIndex\n )\n }\n\n if (destroyed) {\n renderNext()\n return\n }\n\n const matrix = container.getWorldTransformMatrix()\n const context = drawingContext as DrawingContextLike\n const cameraMatrix = context.camera?.getViewMatrix(!context.useCanvas)\n const rn = (webglRenderer as unknown as { renderNodes: RNManager }).renderNodes\n const depth = getDepth(gl)\n const myDepth = depth.value++\n\n const logW = webglRenderer.width as number\n const logH = webglRenderer.height as number\n\n // ── Push: write clip shape into stencil buffer ────────────────────────\n rn.finishBatch()\n\n if (myDepth === 0) gl.enable(gl.STENCIL_TEST)\n\n gl.colorMask(false, false, false, false)\n gl.stencilMask(0xff)\n // Write only where the stencil already equals myDepth (parent's level).\n gl.stencilFunc(gl.EQUAL, myDepth, 0xff)\n gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR)\n\n drawMaskShape(gl, container.scene, matrix, cameraMatrix, maskSource, logW, logH, vertBuf, verts)\n\n // ── Content render: test for myDepth+1, protect stencil ──────────────\n gl.colorMask(true, true, true, true)\n gl.stencilFunc(gl.EQUAL, myDepth + 1, 0xff)\n gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP)\n gl.stencilMask(0x00)\n\n renderNext()\n\n // ── Pop: restore parent depth via DECR ────────────────────────────────\n rn.finishBatch()\n\n gl.colorMask(false, false, false, false)\n gl.stencilMask(0xff)\n gl.stencilFunc(gl.EQUAL, myDepth + 1, 0xff)\n gl.stencilOp(gl.KEEP, gl.KEEP, gl.DECR)\n\n drawMaskShape(gl, container.scene, matrix, cameraMatrix, maskSource, logW, logH, vertBuf, verts)\n\n gl.colorMask(true, true, true, true)\n depth.value--\n\n if (myDepth === 0) {\n // Outermost clip: disable stencil test and lift write protection.\n gl.disable(gl.STENCIL_TEST)\n gl.stencilMask(0xff)\n } else {\n // Nested clip: restore the parent's content-render stencil state so\n // remaining siblings of this container are still clipped correctly.\n gl.stencilFunc(gl.EQUAL, myDepth, 0xff)\n gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP)\n gl.stencilMask(0x00)\n }\n }\n\n const handle: StencilClipHandle = {\n update(s) {\n maskSource = mergeMaskState(maskSource, s)\n },\n destroy() {\n if (destroyed) return\n destroyed = true\n gl.deleteBuffer(vertBuf)\n const index = obj._renderSteps.indexOf(wrapper)\n if (index !== -1) obj._renderSteps.splice(index, 1)\n delete obj[STENCIL_HANDLE]\n },\n }\n\n obj.addRenderStep(wrapper, 0)\n obj[STENCIL_HANDLE] = handle\n\n return handle\n}\n","/* eslint-disable @typescript-eslint/no-namespace */\nimport * as Phaser from 'phaser'\nimport {\n applyStencilClip,\n clearStencilClip,\n getStencilClipHandle,\n type StencilClipHandle,\n type StencilClipSource,\n type StencilClipUpdate,\n} from './stencil-clip'\n\ntype AnyFn = (...args: unknown[]) => unknown\n\ninterface ExtensionHandle {\n restore(): void\n}\n\nfunction addMethod<T extends object, K extends PropertyKey>(\n proto: T,\n methodName: K,\n fn: unknown\n): ExtensionHandle {\n const hadOwn = Object.prototype.hasOwnProperty.call(proto, methodName)\n const previous = (proto as Record<PropertyKey, unknown>)[methodName]\n\n if (!hadOwn) {\n ;(proto as Record<PropertyKey, unknown>)[methodName] = fn\n }\n\n return {\n restore: () => {\n if (!hadOwn) {\n delete (proto as Record<PropertyKey, unknown>)[methodName]\n } else {\n ;(proto as Record<PropertyKey, unknown>)[methodName] = previous\n }\n },\n }\n}\n\nfunction wrapMethod<T extends object, K extends keyof T & string>(\n proto: T,\n methodName: K,\n wrapper: (original: AnyFn, self: unknown, ...args: unknown[]) => unknown\n): ExtensionHandle {\n const original = proto[methodName] as unknown as AnyFn\n\n if (typeof original !== 'function') {\n return { restore() {} }\n }\n\n const wrapped: AnyFn = function (this: unknown, ...args: unknown[]) {\n return wrapper(original, this, ...args)\n }\n\n ;(proto as Record<string, unknown>)[methodName] = wrapped\n\n return {\n restore: () => {\n ;(proto as Record<string, unknown>)[methodName] = original\n },\n }\n}\n\nlet installed = false\nlet restoreHandles: ExtensionHandle[] = []\n\nfunction canCreateStencilClipSource(source: StencilClipUpdate): source is StencilClipSource {\n if (source.kind === 'bitmap') {\n return source.texture !== undefined\n }\n\n return source.width !== undefined && source.height !== undefined\n}\n\n/** Installs stencil clip helpers on Phaser.GameObjects.Container.prototype. */\nexport function installStencilClipExtension(): void {\n if (installed) return\n installed = true\n\n const proto = Phaser.GameObjects.Container.prototype as Phaser.GameObjects.Container &\n Record<string, unknown>\n\n restoreHandles.push(\n addMethod(\n proto,\n 'setStencilClip',\n function (this: Phaser.GameObjects.Container, source: StencilClipSource) {\n applyStencilClip(this, source)\n return this\n }\n )\n )\n\n restoreHandles.push(\n addMethod(\n proto,\n 'updateStencilClip',\n function (this: Phaser.GameObjects.Container, source: StencilClipUpdate) {\n const handle = getStencilClipHandle(this)\n if (handle) handle.update(source)\n else if (canCreateStencilClipSource(source)) applyStencilClip(this, source)\n return this\n }\n )\n )\n\n restoreHandles.push(\n addMethod(proto, 'clearStencilClip', function (this: Phaser.GameObjects.Container) {\n clearStencilClip(this)\n return this\n })\n )\n\n restoreHandles.push(\n addMethod(proto, 'getStencilClipHandle', function (this: Phaser.GameObjects.Container) {\n return getStencilClipHandle(this)\n })\n )\n\n restoreHandles.push(\n wrapMethod(proto, 'destroy', (original, self, ...args) => {\n clearStencilClip(self as Phaser.GameObjects.Container)\n return original.apply(self, args)\n })\n )\n}\n\n/** Restores Phaser prototypes to their previous state. Intended for tests/HMR. */\nexport function uninstallStencilClipExtension(): void {\n for (const handle of [...restoreHandles].reverse()) handle.restore()\n restoreHandles = []\n installed = false\n}\n\ndeclare global {\n namespace Phaser {\n namespace GameObjects {\n interface Container {\n setStencilClip(source: StencilClipSource): this\n updateStencilClip(source: StencilClipUpdate): this\n clearStencilClip(): this\n getStencilClipHandle(): StencilClipHandle | undefined\n }\n }\n }\n}\n","export * from './stencil-clip'\nexport * from './stencil-clip-extension'\n\nimport { installStencilClipExtension } from './stencil-clip-extension'\n\ninstallStencilClipExtension()\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyParticles.d.ts","sourceRoot":"","sources":["../../../src/components/appliers/applyParticles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,gCAAgC,CAAA;AAUvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACjC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAChC,IAAI,
|
|
1
|
+
{"version":3,"file":"applyParticles.d.ts","sourceRoot":"","sources":["../../../src/components/appliers/applyParticles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,gCAAgC,CAAA;AAUvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACjC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAChC,IAAI,CAuDN"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { PartialTheme } from '../../theme-base';
|
|
2
|
+
import { ChildrenType } from '../../types';
|
|
3
|
+
import { VNodeLike } from '../../vdom';
|
|
4
|
+
import { ViewProps } from '../index';
|
|
5
|
+
export type BadgeTone = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
|
6
|
+
export type BadgeVariant = 'solid' | 'soft' | 'outline';
|
|
7
|
+
export type BadgeSize = 'small' | 'medium' | 'large';
|
|
8
|
+
export interface BadgeToneColors {
|
|
9
|
+
backgroundColor: number;
|
|
10
|
+
softBackgroundColor: number;
|
|
11
|
+
borderColor: number;
|
|
12
|
+
textColor: string;
|
|
13
|
+
outlineTextColor: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BadgeSizeConfig {
|
|
16
|
+
height: number;
|
|
17
|
+
padding: ViewProps['padding'];
|
|
18
|
+
fontSize: number;
|
|
19
|
+
cornerRadius: number;
|
|
20
|
+
gap: number;
|
|
21
|
+
dotSize: number;
|
|
22
|
+
}
|
|
23
|
+
export interface BadgeFormatOptions {
|
|
24
|
+
count?: number;
|
|
25
|
+
maxCount?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface BadgeProps extends Omit<ViewProps, 'children'> {
|
|
28
|
+
/** Badge content. Use children for custom content, or label/count for text content. */
|
|
29
|
+
children?: ChildrenType;
|
|
30
|
+
/** Text or number shown inside the badge. */
|
|
31
|
+
label?: string | number;
|
|
32
|
+
/** Numeric count. Values above maxCount render as maxCount+. */
|
|
33
|
+
count?: number;
|
|
34
|
+
/** Maximum count before compact overflow formatting is used. */
|
|
35
|
+
maxCount?: number;
|
|
36
|
+
/** Render as a compact status dot without text. */
|
|
37
|
+
dot?: boolean;
|
|
38
|
+
/** Semantic color tone. */
|
|
39
|
+
tone?: BadgeTone;
|
|
40
|
+
/** Visual style variant. */
|
|
41
|
+
variant?: BadgeVariant;
|
|
42
|
+
/** Size preset. */
|
|
43
|
+
size?: BadgeSize;
|
|
44
|
+
/** Text style override for generated label/count content. */
|
|
45
|
+
textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
46
|
+
/** Disabled state. */
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
/** Alpha applied while disabled. */
|
|
49
|
+
disabledAlpha?: number;
|
|
50
|
+
/** Theme overrides. */
|
|
51
|
+
theme?: PartialTheme;
|
|
52
|
+
}
|
|
53
|
+
export interface TagProps extends Omit<BadgeProps, 'count' | 'maxCount' | 'dot'> {
|
|
54
|
+
/** Selected/active tag state. */
|
|
55
|
+
selected?: boolean;
|
|
56
|
+
/** Optional close/remove action. */
|
|
57
|
+
onRemove?: () => void;
|
|
58
|
+
/** Text used for the close affordance. */
|
|
59
|
+
closeLabel?: string;
|
|
60
|
+
}
|
|
61
|
+
export declare function formatBadgeCount({ count, maxCount }: BadgeFormatOptions): string;
|
|
62
|
+
export declare function getBadgeText(props: Pick<BadgeProps, 'label' | 'count' | 'maxCount'>): string;
|
|
63
|
+
export interface BadgeTextStyleOptions {
|
|
64
|
+
size: BadgeSize;
|
|
65
|
+
textColor: string;
|
|
66
|
+
themedTextStyle?: Phaser.Types.GameObjects.Text.TextStyle | undefined;
|
|
67
|
+
explicitTextStyle?: Phaser.Types.GameObjects.Text.TextStyle | undefined;
|
|
68
|
+
}
|
|
69
|
+
export declare function getBadgeSizeConfig(size: BadgeSize): BadgeSizeConfig;
|
|
70
|
+
export declare function resolveBadgeTextStyle(options: BadgeTextStyleOptions): Phaser.Types.GameObjects.Text.TextStyle;
|
|
71
|
+
export declare function Badge(props: BadgeProps): VNodeLike;
|
|
72
|
+
export declare function Tag(props: TagProps): VNodeLike;
|
|
73
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Badge.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AACzF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC7D,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,2BAA2B;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAC9E,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AA0ED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAa,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAOrF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,MAAM,CAI5F;AA2CD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;CACxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAEnE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CASzC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAyFlD;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAsD9C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { PartialTheme } from '../../theme-base';
|
|
2
|
+
import { ChildrenType } from '../../types';
|
|
3
|
+
import { VNodeLike } from '../../vdom';
|
|
4
|
+
export type CheckboxState = boolean | 'indeterminate';
|
|
5
|
+
export type CheckboxLabelPosition = 'left' | 'right' | 'none';
|
|
6
|
+
export interface CheckboxIndicatorRenderProps {
|
|
7
|
+
checked: CheckboxState;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
size: number;
|
|
10
|
+
color: number;
|
|
11
|
+
checkedColor: number;
|
|
12
|
+
indeterminateColor: number;
|
|
13
|
+
}
|
|
14
|
+
export interface CheckboxProps {
|
|
15
|
+
/** Unique key for VDOM identification */
|
|
16
|
+
key?: string | number | undefined;
|
|
17
|
+
/** Label text rendered next to the indicator */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Controlled checked state */
|
|
20
|
+
checked?: CheckboxState;
|
|
21
|
+
/** Initial state for uncontrolled checkboxes */
|
|
22
|
+
defaultChecked?: CheckboxState;
|
|
23
|
+
/** Enables unchecked -> checked -> indeterminate cycling */
|
|
24
|
+
tristate?: boolean;
|
|
25
|
+
/** Disabled state */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** Label position relative to the indicator */
|
|
28
|
+
labelPosition?: CheckboxLabelPosition;
|
|
29
|
+
/** Optional custom indicator content */
|
|
30
|
+
indicator?: ChildrenType;
|
|
31
|
+
/** Render function for custom indicators */
|
|
32
|
+
renderIndicator?: (props: CheckboxIndicatorRenderProps) => ChildrenType;
|
|
33
|
+
/** Optional theme overrides */
|
|
34
|
+
theme?: PartialTheme;
|
|
35
|
+
/** Callback when checked state changes */
|
|
36
|
+
onChange?: (checked: CheckboxState) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare function getNextCheckedState(checked: CheckboxState, tristate: boolean): CheckboxState;
|
|
39
|
+
export declare function normalizeCheckedState(checked: CheckboxState, tristate: boolean): CheckboxState;
|
|
40
|
+
export declare function Checkbox(props: CheckboxProps): VNodeLike;
|
|
41
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Checkbox.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,eAAe,CAAA;AACrD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,wCAAwC;IACxC,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,YAAY,CAAA;IACvE,+BAA+B;IAC/B,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CAC5C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAK5F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAE9F;AAwCD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CA4ExD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ViewProps } from '..';
|
|
2
|
+
import { VNodeLike } from '../../vdom';
|
|
3
|
+
export type DebugPanelPreset = 'fps' | 'perf' | 'vdom' | 'textures' | 'full';
|
|
4
|
+
export type DebugMetricKey = 'fps' | 'frameMs' | 'phaserVersion' | 'renderer' | 'viewport' | 'textureCount' | 'mountsTotal' | 'mountsByType' | 'mountsByParent' | 'mountsByKey' | 'debugFlags';
|
|
5
|
+
type DebugValue = string | number;
|
|
6
|
+
export interface DebugPanelProps extends Omit<ViewProps, 'children'> {
|
|
7
|
+
/** Optional ready-made metric set. Ignored when `metrics` is set. */
|
|
8
|
+
preset?: DebugPanelPreset;
|
|
9
|
+
/** Explicit metric selection (takes precedence over `preset`). */
|
|
10
|
+
metrics?: DebugMetricKey[];
|
|
11
|
+
/** Refresh interval in milliseconds. */
|
|
12
|
+
intervalMs?: number;
|
|
13
|
+
/** Render all metrics in one line (instead of key/value rows). */
|
|
14
|
+
compact?: boolean;
|
|
15
|
+
/** Maximum rows to render in non-compact mode. */
|
|
16
|
+
maxRows?: number;
|
|
17
|
+
/** Optional metric label overrides. */
|
|
18
|
+
labels?: Partial<Record<DebugMetricKey, string>>;
|
|
19
|
+
/** Optional formatter overrides per metric. */
|
|
20
|
+
formatters?: Partial<Record<DebugMetricKey, (value: DebugValue) => string>>;
|
|
21
|
+
/** Optional props forwarded to each inner row View (column mode only). */
|
|
22
|
+
innerProps?: Omit<ViewProps, 'children'>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* DebugPanel component
|
|
26
|
+
* Shows selected diagnostics from Phaser + PhaserJSX as overlay-ready content.
|
|
27
|
+
*/
|
|
28
|
+
export declare function DebugPanel(props: DebugPanelProps): VNodeLike;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=DebugPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../src/components/custom/DebugPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAInC,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAG1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAE5E,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,SAAS,GACT,eAAe,GACf,UAAU,GACV,UAAU,GACV,cAAc,GACd,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,YAAY,CAAA;AAEhB,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAIjC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAClE,qEAAqE;IACrE,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,kEAAkE;IAClE,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAA;IAC3E,0EAA0E;IAC1E,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;CACzC;AAkID;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAqE5D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VNodeLike } from '../../../packages/ui/src/vdom';
|
|
2
2
|
import { LayoutProps, PhaserProps, TransformProps } from '../../core-props';
|
|
3
|
-
import {
|
|
3
|
+
import { ParticleDeathZoneConfig, ParticleZoneConfig } from '../../particles/emit-zone';
|
|
4
4
|
import { ParticlesHandle } from '../../particles/particle-types';
|
|
5
5
|
import { ParticleEmitterConfig, ParticlePresetName } from '../../particles/preset-registry';
|
|
6
6
|
import { PropsDefaultExtension } from '../../types';
|
|
@@ -9,9 +9,20 @@ export interface ParticlesProps extends TransformProps, PhaserProps, Omit<Layout
|
|
|
9
9
|
frame?: string | number;
|
|
10
10
|
preset?: ParticlePresetName;
|
|
11
11
|
config?: ParticleEmitterConfig;
|
|
12
|
+
/** Where particles are born */
|
|
13
|
+
emitZone?: ParticleZoneConfig;
|
|
14
|
+
/**
|
|
15
|
+
* Where particles are born.
|
|
16
|
+
* @deprecated Use emitZone.
|
|
17
|
+
*/
|
|
12
18
|
zone?: ParticleZoneConfig;
|
|
13
|
-
/**
|
|
14
|
-
|
|
19
|
+
/** Where particles are removed */
|
|
20
|
+
deathZones?: ParticleDeathZoneConfig | ParticleDeathZoneConfig[] | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Where particles are removed.
|
|
23
|
+
* @deprecated Use deathZones.
|
|
24
|
+
*/
|
|
25
|
+
excludeZones?: ParticleDeathZoneConfig | ParticleDeathZoneConfig[] | undefined;
|
|
15
26
|
}
|
|
16
27
|
export declare function Particles(props: ParticlesProps): VNodeLike;
|
|
17
28
|
//# sourceMappingURL=Particles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Particles.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Particles.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Particles.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Particles.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,WAAW,cACf,SACE,cAAc,EACd,WAAW,EACX,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC,EACrF,qBAAqB,CAAC,eAAe,CAAC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,SAAS,CAAA;IAC5E;;;OAGG;IACH,YAAY,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,SAAS,CAAA;CAC/E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAE1D"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { PartialTheme } from '../../theme-base';
|
|
2
|
+
import { ChildrenType } from '../../types';
|
|
3
|
+
import { VNodeLike } from '../../vdom';
|
|
4
|
+
import { ViewProps } from '../index';
|
|
5
|
+
export type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
6
|
+
export interface OverlayAnchorRect {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
export interface OverlayContentSize {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}
|
|
16
|
+
export interface OverlayPositionOptions {
|
|
17
|
+
anchor: OverlayAnchorRect;
|
|
18
|
+
content: OverlayContentSize;
|
|
19
|
+
placement: PopoverPlacement;
|
|
20
|
+
offset: number;
|
|
21
|
+
viewport?: OverlayContentSize | undefined;
|
|
22
|
+
viewportPadding?: number | undefined;
|
|
23
|
+
}
|
|
24
|
+
export interface OverlayPosition {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
placement: PopoverPlacement;
|
|
28
|
+
}
|
|
29
|
+
export interface PopoverProps {
|
|
30
|
+
/** Unique key for VDOM identification. */
|
|
31
|
+
key?: string | number | undefined;
|
|
32
|
+
/** Trigger content rendered in normal layout. */
|
|
33
|
+
trigger: ChildrenType;
|
|
34
|
+
/** Overlay content rendered through Portal. */
|
|
35
|
+
children: ChildrenType;
|
|
36
|
+
/** Controlled open state. */
|
|
37
|
+
isOpen?: boolean;
|
|
38
|
+
/** Initial open state for uncontrolled usage. */
|
|
39
|
+
defaultOpen?: boolean;
|
|
40
|
+
/** Called when open state should change. */
|
|
41
|
+
onOpenChange?: (open: boolean) => void;
|
|
42
|
+
/** Placement relative to the trigger. */
|
|
43
|
+
placement?: PopoverPlacement;
|
|
44
|
+
/** Distance between trigger and content. */
|
|
45
|
+
offset?: number;
|
|
46
|
+
/** Portal depth. */
|
|
47
|
+
depth?: number;
|
|
48
|
+
/** Close when clicking outside. */
|
|
49
|
+
closeOnOutside?: boolean;
|
|
50
|
+
/** Close on Escape key. */
|
|
51
|
+
closeOnEscape?: boolean;
|
|
52
|
+
/** Disable trigger interaction. */
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
/** Optional fixed width override. By default Popover measures its content after layout. */
|
|
55
|
+
contentWidth?: number;
|
|
56
|
+
/** Optional fixed height override. By default Popover measures its content after layout. */
|
|
57
|
+
contentHeight?: number;
|
|
58
|
+
/** Use trigger width for content width. */
|
|
59
|
+
matchTriggerWidth?: boolean;
|
|
60
|
+
/** Padding inside the viewport clamp. */
|
|
61
|
+
viewportPadding?: number;
|
|
62
|
+
/** Props applied to the trigger wrapper. */
|
|
63
|
+
triggerProps?: Omit<ViewProps, 'children'>;
|
|
64
|
+
/** Props applied to the content wrapper. */
|
|
65
|
+
contentProps?: Omit<ViewProps, 'children'>;
|
|
66
|
+
/** Theme overrides. */
|
|
67
|
+
theme?: PartialTheme;
|
|
68
|
+
}
|
|
69
|
+
export interface ContextMenuItem {
|
|
70
|
+
id: string;
|
|
71
|
+
label: string;
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
danger?: boolean;
|
|
74
|
+
prefix?: ChildrenType;
|
|
75
|
+
suffix?: ChildrenType;
|
|
76
|
+
onSelect?: () => void;
|
|
77
|
+
}
|
|
78
|
+
export interface ContextMenuProps extends Omit<PopoverProps, 'children' | 'contentWidth' | 'contentHeight' | 'contentProps' | 'matchTriggerWidth'> {
|
|
79
|
+
/** Menu items shown in the context menu. */
|
|
80
|
+
items: ContextMenuItem[];
|
|
81
|
+
/** Menu width. */
|
|
82
|
+
width?: number;
|
|
83
|
+
/** Called when an item is selected. */
|
|
84
|
+
onSelect?: (item: ContextMenuItem) => void;
|
|
85
|
+
}
|
|
86
|
+
export declare function calculateOverlayPosition(options: OverlayPositionOptions): OverlayPosition;
|
|
87
|
+
export declare function Popover(props: PopoverProps): VNodeLike;
|
|
88
|
+
export declare function ContextMenu(props: ContextMenuProps): VNodeLike;
|
|
89
|
+
//# sourceMappingURL=Popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PartialTheme } from '../../theme-base';
|
|
2
|
+
import { VNodeLike } from '../../vdom';
|
|
3
|
+
import { ViewProps } from '../index';
|
|
4
|
+
export type ProgressBarOrientation = 'horizontal' | 'vertical';
|
|
5
|
+
export type ProgressBarLabelPosition = 'none' | 'inside' | 'top' | 'bottom' | 'left' | 'right';
|
|
6
|
+
export interface ProgressBarFormatProps {
|
|
7
|
+
value: number;
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
ratio: number;
|
|
11
|
+
percent: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ProgressBarProps extends Omit<ViewProps, 'children'> {
|
|
14
|
+
/** Current progress value */
|
|
15
|
+
value: number;
|
|
16
|
+
/** Minimum value used for normalization */
|
|
17
|
+
min?: number;
|
|
18
|
+
/** Maximum value used for normalization */
|
|
19
|
+
max?: number;
|
|
20
|
+
/** Progress direction */
|
|
21
|
+
orientation?: ProgressBarOrientation;
|
|
22
|
+
/** Optional static label prefix */
|
|
23
|
+
label?: string;
|
|
24
|
+
/** Show formatted value text */
|
|
25
|
+
showValue?: boolean;
|
|
26
|
+
/** Position of the label/value text */
|
|
27
|
+
labelPosition?: ProgressBarLabelPosition;
|
|
28
|
+
/** Custom formatter for value text */
|
|
29
|
+
formatValue?: (props: ProgressBarFormatProps) => string;
|
|
30
|
+
/** Track/background color */
|
|
31
|
+
trackColor?: number;
|
|
32
|
+
/** Filled progress color */
|
|
33
|
+
fillColor?: number;
|
|
34
|
+
/** Border color around the track */
|
|
35
|
+
borderColor?: number;
|
|
36
|
+
/** Border width around the track */
|
|
37
|
+
borderWidth?: number;
|
|
38
|
+
/** Track corner radius */
|
|
39
|
+
cornerRadius?: number;
|
|
40
|
+
/** Text style for label/value */
|
|
41
|
+
labelStyle?: Phaser.Types.GameObjects.Text.TextStyle;
|
|
42
|
+
/** Disabled state */
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
/** Alpha applied while disabled */
|
|
45
|
+
disabledAlpha?: number;
|
|
46
|
+
/** Theme overrides */
|
|
47
|
+
theme?: PartialTheme;
|
|
48
|
+
}
|
|
49
|
+
export declare function clampProgressValue(value: number, min: number, max: number): number;
|
|
50
|
+
export declare function getProgressRatio(value: number, min: number, max: number): number;
|
|
51
|
+
export declare function ProgressBar(props: ProgressBarProps): VNodeLike;
|
|
52
|
+
//# sourceMappingURL=ProgressBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/custom/ProgressBar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAA;AAC9D,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE9F,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACnE,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,WAAW,CAAC,EAAE,sBAAsB,CAAA;IACpC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACxC,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,MAAM,CAAA;IACvD,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAA;IACpD,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sBAAsB;IACtB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhF;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAkH9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Toggle.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAqB3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACzC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/custom/Toggle.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAqB3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACzC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAkMpD"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_custom = require("../../custom-
|
|
2
|
+
const require_custom = require("../../custom-37gL0VZG.cjs");
|
|
3
3
|
exports.Accordion = require_custom.Accordion;
|
|
4
4
|
exports.AlertDialog = require_custom.AlertDialog;
|
|
5
|
+
exports.Badge = require_custom.Badge;
|
|
5
6
|
exports.Button = require_custom.Button;
|
|
6
7
|
exports.CharText = require_custom.CharText;
|
|
7
8
|
exports.CharTextInput = require_custom.CharTextInput;
|
|
9
|
+
exports.Checkbox = require_custom.Checkbox;
|
|
10
|
+
exports.ContextMenu = require_custom.ContextMenu;
|
|
11
|
+
exports.DebugPanel = require_custom.DebugPanel;
|
|
8
12
|
exports.Dialog = require_custom.Dialog;
|
|
9
13
|
exports.Divider = require_custom.Divider;
|
|
10
14
|
exports.Dropdown = require_custom.Dropdown;
|
|
@@ -15,7 +19,9 @@ exports.Modal = require_custom.Modal;
|
|
|
15
19
|
exports.NineSlice = require_custom.NineSlice;
|
|
16
20
|
exports.NineSliceButton = require_custom.NineSliceButton;
|
|
17
21
|
exports.Particles = require_custom.Particles;
|
|
22
|
+
exports.Popover = require_custom.Popover;
|
|
18
23
|
exports.Portal = require_custom.Portal;
|
|
24
|
+
exports.ProgressBar = require_custom.ProgressBar;
|
|
19
25
|
exports.RadioButton = require_custom.RadioButton;
|
|
20
26
|
exports.RadioGroup = require_custom.RadioGroup;
|
|
21
27
|
exports.RangeSlider = require_custom.RangeSlider;
|
|
@@ -27,9 +33,17 @@ exports.Slider = require_custom.Slider;
|
|
|
27
33
|
exports.Tab = require_custom.Tab;
|
|
28
34
|
exports.TabPanel = require_custom.TabPanel;
|
|
29
35
|
exports.Tabs = require_custom.Tabs;
|
|
36
|
+
exports.Tag = require_custom.Tag;
|
|
30
37
|
exports.Toggle = require_custom.Toggle;
|
|
31
38
|
exports.TransformOriginView = require_custom.TransformOriginView;
|
|
32
39
|
exports.WrapText = require_custom.WrapText;
|
|
40
|
+
exports.calculateOverlayPosition = require_custom.calculateOverlayPosition;
|
|
33
41
|
exports.calculateSliderSize = require_custom.calculateSliderSize;
|
|
42
|
+
exports.clampProgressValue = require_custom.clampProgressValue;
|
|
34
43
|
exports.createIconComponent = require_custom.createIconComponent;
|
|
44
|
+
exports.formatBadgeCount = require_custom.formatBadgeCount;
|
|
45
|
+
exports.getBadgeSizeConfig = require_custom.getBadgeSizeConfig;
|
|
46
|
+
exports.getBadgeText = require_custom.getBadgeText;
|
|
47
|
+
exports.getProgressRatio = require_custom.getProgressRatio;
|
|
48
|
+
exports.resolveBadgeTextStyle = require_custom.resolveBadgeTextStyle;
|
|
35
49
|
exports.useIconPreload = require_custom.useIconPreload;
|
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { Accordion, type AccordionProps } from './Accordion';
|
|
6
6
|
export { AlertDialog, type AlertDialogProps } from './AlertDialog';
|
|
7
|
+
export { Badge, Tag, formatBadgeCount, getBadgeSizeConfig, getBadgeText, resolveBadgeTextStyle, type BadgeFormatOptions, type BadgeProps, type BadgeSize, type BadgeSizeConfig, type BadgeTextStyleOptions, type BadgeTone, type BadgeToneColors, type BadgeVariant, type TagProps, } from './Badge';
|
|
7
8
|
export { Button, type ButtonProps } from './Button';
|
|
8
9
|
export { CharText, type CharTextAPI, type CharTextProps } from './CharText';
|
|
9
10
|
export { CharTextInput, type CharTextInputProps } from './CharTextInput';
|
|
11
|
+
export { Checkbox, type CheckboxIndicatorRenderProps, type CheckboxLabelPosition, type CheckboxProps, type CheckboxState, } from './Checkbox';
|
|
12
|
+
export { DebugPanel, type DebugMetricKey, type DebugPanelPreset, type DebugPanelProps, } from './DebugPanel';
|
|
10
13
|
export { Dialog, type DialogProps } from './Dialog';
|
|
11
14
|
export { Divider, type DividerProps } from './Divider';
|
|
12
15
|
export { Dropdown, type DropdownOption, type DropdownProps } from './Dropdown';
|
|
@@ -18,6 +21,8 @@ export { NineSlice, type NineSliceProps } from './NineSlice';
|
|
|
18
21
|
export { NineSliceButton, type NineSliceButtonProps } from './NineSliceButton';
|
|
19
22
|
export { Particles, type ParticlesProps } from './Particles';
|
|
20
23
|
export { Portal, type PortalProps } from './Portal';
|
|
24
|
+
export { ContextMenu, Popover, calculateOverlayPosition, type ContextMenuItem, type ContextMenuProps, type OverlayAnchorRect, type OverlayContentSize, type OverlayPosition, type OverlayPositionOptions, type PopoverPlacement, type PopoverProps, } from './Popover';
|
|
25
|
+
export { ProgressBar, clampProgressValue, getProgressRatio, type ProgressBarFormatProps, type ProgressBarLabelPosition, type ProgressBarOrientation, type ProgressBarProps, } from './ProgressBar';
|
|
21
26
|
export { RadioButton, type RadioButtonProps } from './RadioButton';
|
|
22
27
|
export { RadioGroup, type RadioGroupProps } from './RadioGroup';
|
|
23
28
|
export { RefOriginView, type RefOriginViewProps } from './RefOriginView';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EACL,IAAI,EACJ,mBAAmB,EACnB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EACL,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,WAAW,EACX,MAAM,EACN,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC/F,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { Accordion, AlertDialog, Button, CharText, CharTextInput, Dialog, Divider, Dropdown, Icon, Image, Joystick, Modal, NineSlice, NineSliceButton, Particles, Portal, RadioButton, RadioGroup, RangeSlider, RefOriginView, ScrollSlider, ScrollView, Sidebar, Slider, Tab, TabPanel, Tabs, Toggle, TransformOriginView, WrapText, calculateSliderSize, createIconComponent, useIconPreload };
|
|
1
|
+
import { $ as Portal, Bt as getBadgeSizeConfig, C as CharText, D as Modal, E as Dialog, Ht as resolveBadgeTextStyle, J as clampProgressValue, Lt as Badge, O as Accordion, Q as calculateOverlayPosition, Rt as Tag, S as CharTextInput, T as WrapText, Vt as getBadgeText, X as ContextMenu, Y as getProgressRatio, Z as Popover, _ as Dropdown, a as Tabs, at as RadioButton, b as calculateSliderSize, c as Sidebar, d as NineSlice, et as Particles, f as Joystick, g as Image, h as useIconPreload, i as TabPanel, it as RadioGroup, l as RefOriginView, lt as Checkbox, m as createIconComponent, n as Toggle, o as RangeSlider, p as Icon, q as ProgressBar, r as Tab, s as Slider, st as DebugPanel, t as TransformOriginView, u as NineSliceButton, ut as Button, v as ScrollView, w as AlertDialog, x as Divider, y as ScrollSlider, zt as formatBadgeCount } from "../../custom-DMZASXll.js";
|
|
2
|
+
export { Accordion, AlertDialog, Badge, Button, CharText, CharTextInput, Checkbox, ContextMenu, DebugPanel, Dialog, Divider, Dropdown, Icon, Image, Joystick, Modal, NineSlice, NineSliceButton, Particles, Popover, Portal, ProgressBar, RadioButton, RadioGroup, RangeSlider, RefOriginView, ScrollSlider, ScrollView, Sidebar, Slider, Tab, TabPanel, Tabs, Tag, Toggle, TransformOriginView, WrapText, calculateOverlayPosition, calculateSliderSize, clampProgressValue, createIconComponent, formatBadgeCount, getBadgeSizeConfig, getBadgeText, getProgressRatio, resolveBadgeTextStyle, useIconPreload };
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Registers all built-in components with the host
|
|
8
8
|
* This should be called during library initialization
|
|
9
|
-
* Note: TileSprite is currently dummy (throws on use)
|
|
10
9
|
*/
|
|
11
10
|
export declare function registerBuiltins(): void;
|
|
12
11
|
export { type LayoutSize } from './../layout/types';
|
|
12
|
+
export { Badge, Tag, formatBadgeCount, getBadgeSizeConfig, getBadgeText, resolveBadgeTextStyle, type BadgeFormatOptions, type BadgeProps, type BadgeSize, type BadgeSizeConfig, type BadgeTextStyleOptions, type BadgeTone, type BadgeToneColors, type BadgeVariant, type TagProps, } from './custom/Badge';
|
|
13
13
|
export { Button, type ButtonProps } from './custom/Button';
|
|
14
|
+
export { Checkbox, type CheckboxIndicatorRenderProps, type CheckboxLabelPosition, type CheckboxProps, type CheckboxState, } from './custom/Checkbox';
|
|
15
|
+
export { DebugPanel, type DebugMetricKey, type DebugPanelPreset, type DebugPanelProps, } from './custom/DebugPanel';
|
|
14
16
|
export { Graphics, type GraphicsProps } from './custom/Graphics';
|
|
15
17
|
export { RadioButton, type RadioButtonProps } from './custom/RadioButton';
|
|
16
18
|
export { RadioGroup, type RadioGroupOption, type RadioGroupProps } from './custom/RadioGroup';
|
|
@@ -19,6 +21,8 @@ export { Text, type TextProps } from './custom/Text';
|
|
|
19
21
|
export { TileSprite, type TileSpriteProps } from './custom/TileSprite';
|
|
20
22
|
export { View, type ViewProps } from './custom/View';
|
|
21
23
|
export { Particles, type ParticlesProps } from './custom/Particles';
|
|
24
|
+
export { ContextMenu, Popover, calculateOverlayPosition, type ContextMenuItem, type ContextMenuProps, type OverlayAnchorRect, type OverlayContentSize, type OverlayPosition, type OverlayPositionOptions, type PopoverPlacement, type PopoverProps, } from './custom/Popover';
|
|
25
|
+
export { ProgressBar, clampProgressValue, getProgressRatio, type ProgressBarFormatProps, type ProgressBarLabelPosition, type ProgressBarOrientation, type ProgressBarProps, } from './custom/ProgressBar';
|
|
22
26
|
export { textCreator, textPatcher, type TextBaseProps } from './primitives/text';
|
|
23
27
|
export { viewCreator, viewPatcher, type ViewBaseProps } from './primitives/view';
|
|
24
28
|
export { nineSliceCreator, nineSlicePatcher, type NineSliceBaseProps, type NineSliceInnerBounds, type NineSlicePrimitiveProps, type NineSliceRef, } from './primitives/nineslice';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|