@eva/plugin-a11y 1.2.7-fix.1 → 1.2.7-fix.4
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/dist/EVA.plugin.a11y.js +691 -3677
- package/dist/EVA.plugin.a11y.min.js +1 -1
- package/dist/miniprogram.js +526 -0
- package/dist/plugin-a11y.cjs.prod.js +1 -1
- package/dist/plugin-a11y.d.ts +7 -4
- package/package.json +3 -3
- package/dist/EVA.plugin.a11y.js.map +0 -1
- package/dist/plugin-a11y.cjs.js.map +0 -1
- package/dist/plugin-a11y.esm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-a11y.cjs.js","sources":["../../renderer-adapter/lib/Application.ts","../../renderer-adapter/lib/Container.ts","../../plugin-renderer/lib/manager/RendererManager.ts","../../plugin-renderer/lib/manager/ContainerManager.ts","../../plugin-renderer/lib/Transform.ts","../../plugin-renderer/lib/System.ts","../lib/utils.ts","../lib/A11y.ts","../lib/constant.ts","../lib/A11ySystem.ts"],"sourcesContent":["import { Application as PIXIApplication } from 'pixi.js';\nexport default class Application extends PIXIApplication {\n constructor(params?: any) {\n params.autoStart = false;\n super(params);\n }\n [propName: string]: any;\n}\n","import { Container as PIXIContainer } from 'pixi.js';\n\nexport default class Container extends PIXIContainer {\n [propName: string]: any;\n}\n","import isEqual from 'lodash-es/isEqual';\nimport { GameObject, Game, ComponentChanged, OBSERVER_TYPE } from '@eva/eva.js';\nimport Renderer from '../Renderer';\nimport RendererSystem from '../System';\n\nclass RendererManager {\n game: Game;\n rendererSystem: RendererSystem;\n constructor({ game, rendererSystem }) {\n this.game = game;\n this.rendererSystem = rendererSystem;\n }\n renderers: Renderer[] = [];\n register(...renderers: Renderer[]) {\n for (const renderer of renderers) {\n renderer.game = this.game;\n renderer.rendererManager = this.rendererSystem.rendererManager;\n renderer.containerManager = this.rendererSystem.containerManager;\n this.renderers.push(renderer);\n }\n }\n componentChanged(changes: ComponentChanged[]) {\n for (const changed of changes) {\n for (const renderer of this.renderers) {\n const props = renderer.observerInfo[changed.componentName];\n if (props) {\n if ([OBSERVER_TYPE.ADD, OBSERVER_TYPE.REMOVE].indexOf(changed.type) > -1) {\n try {\n renderer.componentChanged && renderer.componentChanged(changed);\n } catch (e) {\n console.error(`gameObject: ${changed.gameObject.name}, ${changed.componentName} is error.`, changed, e);\n }\n continue;\n }\n\n const index = props.findIndex(prop => {\n return isEqual(prop, changed.prop);\n });\n\n if (index > -1) {\n try {\n renderer.componentChanged && renderer.componentChanged(changed);\n } catch (e) {\n console.error(\n `gameObject: ${changed.gameObject && changed.gameObject.name}, ${\n changed.componentName\n } is componentChanged error.`,\n changed,\n e,\n );\n }\n }\n }\n }\n }\n }\n update(gameObject: GameObject) {\n for (const component of gameObject.components) {\n for (const renderer of this.renderers) {\n const cache = [];\n const props = renderer.observerInfo[component.name];\n if (props && cache.indexOf(gameObject) === -1) {\n cache.push(gameObject);\n try {\n renderer.rendererUpdate && renderer.rendererUpdate(gameObject);\n } catch (e) {\n console.info(`gameObject: ${gameObject.name}, ${component.name} is update error`, e);\n }\n }\n }\n }\n }\n}\nexport default RendererManager;\n","import { Transform } from '@eva/eva.js';\nimport { Point, ObservablePoint } from 'pixi.js';\nimport { Container } from '@eva/renderer-adapter';\n\nexport default class ContainerManager {\n containerMap: { [propName: number]: Container } = {};\n addContainer({ name, container }: { name: number; container: Container }) {\n this.containerMap[name] = container;\n }\n getContainer(name: number) {\n return this.containerMap[name];\n }\n removeContainer(name: number) {\n this.containerMap[name]?.destroy({ children: true });\n delete this.containerMap[name];\n }\n updateTransform({ name, transform }: { name: number; transform: Transform }) {\n const container = this.containerMap[name];\n if (!container) return;\n const { anchor, origin, position, rotation, scale, size, skew } = transform;\n container.rotation = rotation;\n container.scale = scale as Point;\n container.pivot.x = size.width * origin.x;\n container.pivot.y = size.height * origin.y;\n container.skew = skew as ObservablePoint;\n let x = position.x;\n let y = position.y;\n if (transform.parent) {\n const parent = transform.parent;\n x = x + parent.size.width * anchor.x;\n y = y + parent.size.height * anchor.y;\n }\n\n container.position = { x, y } as Point;\n }\n}\n","import { Transform as Trans, decorators, ComponentChanged, OBSERVER_TYPE, Scene, LOAD_SCENE_MODE } from '@eva/eva.js';\nimport EventEmitter from 'eventemitter3';\nimport { Application, Container } from '@eva/renderer-adapter';\nimport Render from './System';\nimport ContainerManager from './manager/ContainerManager';\n\n@decorators.componentObserver({\n Transform: ['_parent'],\n})\nexport default class Transform extends EventEmitter {\n name: string = 'Transform';\n waitRemoveIds: number[] = [];\n waitSceneId: number;\n system: Render;\n containerManager: ContainerManager;\n waitChangeScenes: {\n scene: Scene;\n mode: LOAD_SCENE_MODE;\n application: Application;\n }[] = [];\n constructor({ system, containerManager }) {\n super();\n this.containerManager = containerManager;\n this.init(system);\n }\n init(system: Render) {\n this.system = system;\n this.on('changeScene', ({ scene, mode, application }) => {\n // switch (mode) {\n // case LOAD_SCENE_MODE.SINGLE:\n this.waitChangeScenes.push({ scene, mode, application });\n // break;\n // case LOAD_SCENE_MODE.MULTI_CANVAS:\n\n // }\n });\n }\n update() {\n for (const id of this.waitRemoveIds) {\n this.containerManager.removeContainer(id);\n }\n this.waitRemoveIds = [];\n\n for (const sceneInfo of this.waitChangeScenes) {\n // set scene\n const container = this.containerManager.getContainer(sceneInfo.scene.id);\n if (container) {\n sceneInfo.application.stage.removeChildren();\n sceneInfo.application.stage.addChild(container);\n }\n }\n this.waitChangeScenes = [];\n }\n componentChanged(changed: ComponentChanged) {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.addContainer(changed);\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n this.change(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.waitRemoveIds.push(changed.gameObject.id);\n }\n }\n addContainer(changed: ComponentChanged) {\n const container = new Container();\n container.name = changed.gameObject.name;\n this.containerManager.addContainer({\n name: changed.gameObject.id,\n container,\n });\n const transform = changed.component as Trans;\n transform.worldTransform = container.transform.worldTransform;\n }\n change(changed: ComponentChanged) {\n const transform = changed.component as Trans;\n if (transform.parent) {\n const parentContainer = this.containerManager.getContainer(transform.parent.gameObject.id);\n parentContainer.addChild(this.containerManager.getContainer(changed.gameObject.id));\n\n const render =\n changed.gameObject.transform.parent &&\n (changed.gameObject.transform.parent.gameObject.getComponent('Render') as any);\n if (render) {\n render.sortDirty = true;\n }\n } else {\n const container = this.containerManager.getContainer(changed.gameObject.id);\n delete transform.worldTransform;\n container.parent && container.parent.removeChild(container);\n }\n }\n destroy() {\n this.removeAllListeners();\n this.waitRemoveIds = null;\n this.waitChangeScenes = null;\n this.system = null;\n this.containerManager = null;\n }\n}\n","import { System, decorators, Game, LOAD_SCENE_MODE } from '@eva/eva.js';\nimport { Application } from '@eva/renderer-adapter';\nimport RendererManager from './manager/RendererManager';\nimport ContainerManager from './manager/ContainerManager';\nimport Transform from './Transform';\nimport { ticker } from 'pixi.js';\n\nexport enum RENDERER_TYPE {\n UNKNOWN = 0,\n WEBGL = 1,\n CANVAS = 2,\n}\n\nconst disableScroll = renderer => {\n renderer.plugins.interaction.autoPreventDefault = true;\n renderer.view.style.touchAction = 'none';\n};\n\nconst enableScroll = renderer => {\n renderer.plugins.interaction.autoPreventDefault = false;\n renderer.view.style.touchAction = 'auto';\n};\n\n@decorators.componentObserver({\n Transform: ['_parent'],\n})\nexport default class Renderer extends System {\n static systemName: string = 'Renderer';\n params: any;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n application: Application;\n game: Game;\n transform: Transform;\n multiApps: Application[] = [];\n init(params: any) {\n this.params = params;\n this.application = this.createApplication(params);\n\n this.containerManager = new ContainerManager();\n this.rendererManager = new RendererManager({\n game: this.game,\n rendererSystem: this,\n });\n this.game.canvas = this.application.view;\n this.transform = new Transform({\n system: this,\n containerManager: this.containerManager,\n });\n\n this.game.on('sceneChanged', ({ scene, mode, params }) => {\n let application;\n switch (mode) {\n case LOAD_SCENE_MODE.SINGLE:\n application = this.application;\n break;\n case LOAD_SCENE_MODE.MULTI_CANVAS:\n application = this.createMultiApplication({ params });\n break;\n }\n scene.canvas = application.view;\n this.transform.emit('changeScene', {\n scene,\n mode,\n application,\n });\n });\n }\n\n registerObserver(observerInfo) {\n // @ts-ignore\n const thisObserverInfo = this.constructor.observerInfo;\n for (const key in observerInfo) {\n if (!thisObserverInfo[key]) {\n thisObserverInfo[key] = [];\n }\n thisObserverInfo[key].push(...observerInfo[key]);\n }\n }\n\n createMultiApplication({ params }) {\n const app = this.createApplication(params);\n this.multiApps.push(app);\n return app;\n }\n\n createApplication(params) {\n params.view = params.canvas;\n if (params.renderType === RENDERER_TYPE.CANVAS) {\n params.forceCanvas = true;\n }\n ticker.shared.autoStart = false;\n ticker.shared.stop();\n const app = new Application({ sharedTicker: true, ...params });\n /**\n * Fix https://github.com/eva-engine/eva.js/issues/30\n * PreventScroll is legacy, because it has bug.\n */\n if (params.preventScroll !== undefined) {\n console.warn(\n 'PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game',\n );\n params.preventScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);\n }\n\n if (params.enableScroll !== undefined) {\n params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);\n }\n\n if (params.preventScroll === undefined && params.enableScroll === undefined) {\n enableScroll(app.renderer);\n }\n return app;\n }\n\n update() {\n const changes = this.componentObserver.clear();\n for (const changed of changes) {\n this.transform.componentChanged(changed);\n }\n\n for (const gameObject of this.game.gameObjects) {\n this.containerManager.updateTransform({\n name: gameObject.id,\n transform: gameObject.transform,\n });\n this.rendererManager.update(gameObject);\n }\n }\n lateUpdate(e) {\n this.transform.update();\n this.application.ticker.update(e.time);\n }\n onDestroy() {\n this.application.destroy();\n for (const app of this.multiApps) {\n app && app.destroy();\n }\n this.transform.destroy();\n this.transform = null;\n this.params = null;\n this.rendererManager = null;\n this.containerManager = null;\n this.application = null;\n this.game = null;\n this.multiApps = null;\n }\n resize(width, height) {\n this.params.width = width;\n this.params.height = height;\n this.application.renderer.resize(width, height);\n }\n}\n","import { A11yMaskStyle } from './constant';\n\n/**\n * 生成唯一的标识符\n * @param len 长度\n * @param radix 基\n */\nfunction uuid(len: number) {\n let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\n let uuid = [];\n let radix = chars.length;\n for (let i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)];\n return uuid.join('');\n}\n\n/**\n * 设置 dom 样式\n * @param div 需要设置样式的dom元素\n * @param style 样式属性\n */\nconst setStyle = (element: HTMLElement, style: A11yMaskStyle) => {\n const { width, height, position, left = 0, top = 0, zIndex, pointerEvents, background } = style;\n element.style.width = `${width}px`;\n element.style.height = `${height}px`;\n element.style.position = position;\n element.style.left = `${left}`;\n element.style.top = `${top}`;\n element.style.zIndex = `${zIndex}`;\n element.style.pointerEvents = pointerEvents;\n element.style.background = background;\n element.style.border = 'none';\n element.style.overflow = 'hidden';\n};\n\nconst setTransform = (element: HTMLElement, transform, ratioX, ratioY) => {\n const { worldTransform } = transform;\n const { a, b, c, d, tx, ty } = worldTransform;\n const matrix = `matrix(${a}, ${b}, ${c}, ${d}, ${tx * ratioX}, ${ty * ratioY})`;\n element.style.transform = `${matrix}`;\n element.style.webkitTransform = `${matrix}`;\n element.style.transformOrigin = 'left top';\n element.style.webkitTransformOrigin = 'left top';\n};\n\nexport { setStyle, setTransform, uuid };\n","import { Component, decorators } from '@eva/eva.js';\nimport { uuid } from './utils';\n\nexport interface A11yParams {\n hint: string;\n event?: Component;\n delay?: number;\n role?: string;\n props?: object;\n state?: object;\n attr?: object;\n a11yId?: string;\n [propName: string]: string | object | number;\n}\n\nexport default class A11y extends Component<A11yParams> {\n static componentName: string = 'A11y';\n\n /**\n * 是否可交互\n */\n @decorators.IDEProp interactive: boolean;\n /**\n * 无障碍标签朗读内容\n */\n @decorators.IDEProp hint: string;\n /**\n * 弃用,将根据Event组件自动添加\n * 事件对象\n */\n @decorators.IDEProp event: Component;\n /**\n * 延时加载时间(millisecond)\n */\n @decorators.IDEProp delay: number;\n\n /**\n * role 属性\n */\n @decorators.IDEProp role: string;\n\n /**\n * 弃用,将属性写在component上\n * aria-value 属性\n * @example\n * aria-valuemin = \"0\"\n */\n @decorators.IDEProp props: object;\n\n /**\n * 弃用,将属性写在component上\n * aria state 属性\n * @example\n * aria-hidden = \"true\"\n */\n @decorators.IDEProp state: object;\n\n /**\n * 弃用,将属性写在component上\n * 传入自定义属性\n */\n @decorators.IDEProp attr: object;\n\n /**\n * 辅助Dom id 自动生成\n */\n @decorators.IDEProp a11yId: string;\n\n /**\n * 无障碍组件构造函数\n * @param param interactive 默认为 false,如果游戏对象可交互,传入 true\n * @example\n * // 为游戏对象提供朗读能力\n * new A11y({hint: '这是一个div'})\n * // 游戏对象有事件,传入 event 对象\n * new A11y({hint: '点击事件对象', event: event})\n * // 无障碍属性\n * new A11y({hint:'按钮', role: 'button', state: {aria-hidden=\"true\"}})\n * // 自定义属性\n * new A11y({hint: '自定义属性', attr: {key: '1'}})\n */\n constructor(param: A11yParams) {\n super();\n Object.assign(this, param);\n const { hint = '', event, delay = 0, attr = {}, role = '', props = {}, state = {} } = param;\n this.hint = hint;\n this.event = event;\n this.delay = delay;\n this.attr = attr;\n this.role = role;\n this.props = props;\n this.state = state;\n this.a11yId = `_${uuid(6)}`;\n }\n}\n","export const POSITION = 'absolute';\nexport const ZINDEX = 3;\n\nexport enum A11yActivate {\n ENABLE = 0,\n DISABLE = 1,\n CHECK = 2,\n}\n\n/**\n * 无障碍 DOM 的指针事件\n */\nexport enum PointerEvents {\n NONE = 'none', // 元素不会成为鼠标事件的target,会被穿透\n AUTO = 'auto', // 默认值正常\n}\n\n/**\n * 无障碍 DOM 层的样式\n */\nexport enum MaskBackground {\n DEBUG = 'rgba(255,0,0,0.5)',\n NONE = 'transparent',\n}\n\n/**\n * 无障碍 DOM 的类型\n */\nexport enum ElementType {\n BUTTON = 'button',\n DIV = 'div',\n}\n\n/**\n * 无障碍遮罩层样式\n */\nexport interface A11yMaskStyle {\n width: number;\n height: number;\n background: string;\n position: string;\n left?: string;\n top?: string;\n zIndex: number;\n pointerEvents: PointerEvents;\n}\n\n/**\n * 点击事件位置\n */\nexport interface EventPosition {\n x: number;\n y: number;\n}\n","import { System, decorators, ComponentChanged, Transform, GameObject, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererSystem } from '@eva/plugin-renderer';\nimport EE from 'eventemitter3';\n\nimport A11y from './A11y';\nimport { setStyle, setTransform } from './utils';\nimport {\n POSITION,\n ZINDEX,\n PointerEvents,\n MaskBackground,\n EventPosition,\n A11yMaskStyle,\n A11yActivate,\n} from './constant';\n\ninterface SystemParam {\n debug?: boolean;\n activate?: A11yActivate;\n delay?: number;\n checkA11yOpen?: () => Promise<boolean>;\n}\n\nconst notAttr = ['hint', 'event', 'delay', 'attr', 'role', 'props', 'state', 'a11yId', 'name'];\n\nconst getEventFunc = function (event, gameObject, e) {\n ['touchstart', 'touchend', 'tap'].forEach(name => {\n event.emit(name, {\n stopPropagation: () => e.stopPropagation(),\n data: {\n position: this.eventPosition,\n },\n gameObject,\n });\n });\n};\n\n@decorators.componentObserver({\n A11y: [],\n Transform: ['inScene'],\n Event: [],\n})\nexport default class A11ySystem extends System {\n static systemName = 'A11ySystem';\n\n /**\n * 无障碍覆盖层\n */\n div: HTMLDivElement;\n /**\n * 是否开启调试\n */\n debug: boolean;\n /**\n * 横向的比例\n */\n _ratioX: number;\n /**\n * 纵向的比例\n */\n _ratioY: number;\n /**\n * 事件坐标\n */\n eventPosition: EventPosition;\n /**\n * 是否开启无障碍能力\n */\n activate: boolean;\n /**\n * dom 延迟放置\n */\n delay: number;\n cache: Map<string, HTMLElement> = new Map();\n eventCache: Map<string, Function> = new Map();\n /**\n *\n * @param opt\n */\n\n /**\n * 无障碍插件初始化函数\n * @param opt 无障碍插件选项\n * @param opt.activate 是否开启无障碍能力,默认为自动根据系统读屏能力进行开启 AUTO | ENABLE | DISABLE\n * @example\n * // 开启调试,无障碍区域会显示红色透明背景\n * new A11ySystem({debug: true})\n * // 禁用无障碍\n * new A11ySystem({activate: A11yActivate.DISABLE})\n */\n constructor(opt?: SystemParam) {\n super(opt);\n }\n\n get ratioX() {\n if (this._ratioX) {\n return this._ratioX;\n } else {\n const success = this.setRatio();\n if (success) {\n return this._ratioX;\n } else {\n return 0;\n }\n }\n }\n get ratioY() {\n if (this._ratioY) {\n return this._ratioY;\n } else {\n const success = this.setRatio();\n if (success) {\n return this._ratioY;\n } else {\n return 0;\n }\n }\n }\n\n async init(opt: SystemParam = {}) {\n const { activate = A11yActivate.CHECK, delay = 100, checkA11yOpen = () => Promise.resolve(false) } = opt;\n this.delay = delay;\n switch (activate) {\n case A11yActivate.CHECK:\n try {\n this.activate = await checkA11yOpen();\n } catch (error) {\n this.activate = false;\n }\n break;\n case A11yActivate.DISABLE:\n this.activate = false;\n break;\n case A11yActivate.ENABLE:\n this.activate = true;\n break;\n }\n this.debug = opt.debug || false;\n if (this.debug) {\n this.activate = true;\n }\n\n if (!this.activate) return;\n // 渲染出父容器\n const div = document.createElement('div');\n this.div = div;\n // 如果存在父容器,则渲染这个 div,子元素则会相对这个 div 进行定位,否则直接相对于 body 进行定位\n if (this.game.canvas.parentNode) {\n this.game.canvas.parentNode.appendChild(this.div);\n }\n }\n setRatio() {\n const { width, height } = this.getCanvasBoundingClientRect();\n const { renderWidth, renderHeight } = this.getRenderRect();\n this._ratioX = width / renderWidth;\n this._ratioY = height / renderHeight;\n if (width || height) {\n this.initDiv();\n return true;\n } else {\n return false;\n }\n }\n getRenderRect() {\n // @ts-ignore\n const { params } = this.game.getSystem(RendererSystem) || ({ width: 300, height: 300 } as any);\n const { height: renderHeight, width: renderWidth } = params;\n return { renderWidth, renderHeight };\n }\n getCanvasBoundingClientRect() {\n // 渲染画布相对于视口的实际宽高以及位置,实际的像素\n const { width, height, left, top } = this.game.canvas.getBoundingClientRect();\n return { width, height, left, top };\n }\n initDiv() {\n const { pageXOffset, pageYOffset } = window;\n\n const { width, height, left, top } = this.getCanvasBoundingClientRect();\n // 父容器位置\n const style: A11yMaskStyle = {\n width,\n height,\n left: `${left + pageXOffset}px`,\n top: `${top + pageYOffset}px`,\n position: POSITION,\n zIndex: ZINDEX,\n pointerEvents: PointerEvents.NONE,\n background: MaskBackground.NONE,\n };\n setStyle(this.div, style);\n // 给父容器设置捕获事件,用于监听事件坐标\n this.div.addEventListener(\n 'click',\n e => {\n const currentTarget = e.currentTarget as HTMLDivElement;\n const { left, top } = currentTarget.getBoundingClientRect();\n const x = (e.pageX - left) / this.ratioX;\n const y = (e.pageY - top) / this.ratioY;\n this.eventPosition = { x, y };\n },\n true,\n );\n }\n\n /**\n * 监听插件更新\n */\n async update() {\n const changes = this.componentObserver.clear();\n if (!this.activate) {\n return;\n }\n for (const changed of changes) {\n switch (changed.type) {\n case OBSERVER_TYPE.ADD:\n changed.componentName === 'Event' && this.addEvent(changed.gameObject);\n changed.componentName === 'A11y' && this.add(changed);\n break;\n case OBSERVER_TYPE.CHANGE:\n changed.componentName === 'Transform' && this.transformChange(changed);\n break;\n case OBSERVER_TYPE.REMOVE:\n changed.componentName === 'Event' && this.removeEvent(changed);\n changed.componentName === 'A11y' && this.remove(changed);\n }\n }\n }\n\n remove(changed: ComponentChanged) {\n const component = changed.component as A11y;\n if (!component) return;\n const { a11yId } = component;\n const element = this.div.querySelector(`#${a11yId}`);\n element && this.div.removeChild(element);\n this.cache.delete(a11yId);\n }\n\n /**\n * 监听组件被添加至游戏对象\n * @param changed 改变的组件\n */\n add(changed: ComponentChanged) {\n if (!this.activate) return;\n const component = changed.component as A11y;\n const { gameObject } = changed;\n const { delay, a11yId: id } = component;\n let { event } = component;\n if (!gameObject) return;\n const { transform } = gameObject;\n if (!transform) return;\n const element = document.createElement('div');\n this.cache.set(id, element);\n if (!event) {\n event = gameObject.getComponent('Event');\n }\n setTimeout(() => {\n this.setPosition(element, transform);\n this.setA11yAttr(element, component);\n if (event) {\n this.addEvent(gameObject);\n }\n if (gameObject.scene) {\n this.div.appendChild(element);\n }\n }, delay || this.delay);\n }\n\n // 监听 scene 改变\n transformChange(changed: ComponentChanged) {\n const component = changed.component as Transform;\n const { gameObject } = changed;\n const a11yComponent = gameObject.getComponent(A11y) as A11y;\n if (!a11yComponent) return;\n const { a11yId } = a11yComponent;\n if (!component.inScene) {\n // 监听 scene 删除游戏对象\n const dom = this.div.querySelector(`#${a11yId}`);\n dom && this.div.removeChild(dom);\n // this.cache.delete(a11yId)\n } else {\n // 监听 scene add\n // this.div.appendChild(this.cache)\n if (this.cache.has(a11yId)) {\n const addDom = this.cache.get(a11yId);\n addDom && this.div.appendChild(addDom);\n }\n }\n }\n\n /**\n * 为无障碍组件设置监听事件\n * @param element DOM 元素\n * @param event 事件组件对象\n * @param gameObject 游戏对象\n */\n setEvent(element: HTMLElement, event: EE, gameObject: GameObject, id) {\n if (!event) {\n return;\n }\n const func = getEventFunc.bind(this, event, gameObject);\n this.eventCache.set(id, func);\n element.addEventListener('click', func);\n }\n\n addEvent(gameObject: GameObject) {\n const a11y = gameObject.getComponent(A11y) as A11y;\n if (!a11y) return;\n const event = gameObject.getComponent('Event');\n if (!event) return;\n const element = this.cache.get(a11y.a11yId);\n element && this.setEvent(element, event, gameObject, a11y.a11yId);\n }\n\n removeEvent(changed: ComponentChanged) {\n const { gameObject } = changed;\n const a11y = gameObject.getComponent(A11y) as A11y;\n if (!a11y) return;\n const event = changed.component;\n if (!event) return;\n const { a11yId } = a11y;\n const func = this.eventCache.get(a11yId) as any;\n const element = this.cache.get(a11yId);\n element && element.removeEventListener('click', func);\n }\n\n /**\n * 设置无障碍属性标签\n * @param element DOM 元素\n * @param hint 无障碍朗读文字\n * @param interactive 是否可交互\n */\n setA11yAttr(element: HTMLElement, component: A11y) {\n const { hint, props = {}, state = {}, role, a11yId: id } = component;\n const realRole = role || 'text';\n element.setAttribute('role', realRole);\n element.setAttribute('aria-label', hint);\n element.id = id;\n\n // 这里兼容\n const ariaProps = Object.keys(props);\n for (const key of ariaProps) {\n element.setAttribute(key, props[key]);\n }\n const ariaState = Object.keys(state);\n for (const key of ariaState) {\n element.setAttribute(key, state[key]);\n }\n\n for (const key of Object.keys(component)) {\n if (typeof component[key] === 'string' && notAttr.indexOf(key) === -1 && key.indexOf('_') !== 1) {\n element.setAttribute(key, component[key]);\n }\n }\n }\n\n /**\n * 将无障碍元素设置到对应的位置\n * @param element DOM 元素\n * @param transform 位置属性\n */\n setPosition(element: HTMLElement, transform: Transform) {\n // 相对画布定位\n // const { x: anchorX, y: anchorY } = transform.anchor\n // 游戏对象的宽高\n const { width, height } = transform.size;\n // position\n // const { x: positionX, y: positionY } = transform.position\n // 设置无障碍 DOM 的样式,龙骨动画默认 2px\n const style: A11yMaskStyle = {\n width: width === 0 ? 1 : width * this.ratioX,\n height: height === 0 ? 1 : height * this.ratioY,\n position: POSITION,\n zIndex: ZINDEX,\n pointerEvents: PointerEvents.AUTO,\n background: this.debug ? MaskBackground.DEBUG : MaskBackground.NONE,\n };\n const transformProps = {\n ...transform,\n };\n setStyle(element, style);\n // 调整 DOM 的位置\n setTransform(element, transformProps, this.ratioX, this.ratioY);\n }\n onDestroy() {\n this.div.parentElement.removeChild(this.div);\n this.cache = null;\n this.eventCache = null;\n }\n}\n"],"names":["PIXIApplication","PIXIContainer","OBSERVER_TYPE","isEqual","Container","decorators","EventEmitter","ContainerManager","RendererManager","Transform","LOAD_SCENE_MODE","ticker","Application","System","Component","A11yActivate","A11y"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;IAAyC,+BAAe;IACtD,qBAAY,MAAY;QAAxB,iBAGC;QAFC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,QAAA,kBAAM,MAAM,CAAC,SAAC;;KACf;IAEH,kBAAC;AAAD,CANA,CAAyCA,mBAAe,GAMvD;;;ACLD;IAAuC,6BAAa;IAApD;;KAEC;IAAD,gBAAC;AAAD,CAFA,CAAuCC,iBAAa,GAEnD;;;ACCD;IAGE,yBAAY,EAAwB;YAAtB,IAAI,UAAA,EAAE,cAAc,oBAAA;QAIlC,cAAS,GAAe,EAAE,CAAC;QAHzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;IAED,kCAAQ,GAAR;;QAAS,mBAAwB;aAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;YAAxB,8BAAwB;;;YAC/B,KAAuB,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA,2DAAE;gBAA7B,IAAM,QAAQ,sBAAA;gBACjB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1B,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;gBAC/D,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACjE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;;;;;;;;;KACF;IACD,0CAAgB,GAAhB,UAAiB,OAA2B;;gCAC/B,OAAO;;;gBAChB,KAAuB,IAAA,oBAAA,SAAA,OAAK,SAAS,CAAA,CAAA,gBAAA,4BAAE;oBAAlC,IAAM,QAAQ,WAAA;oBACjB,IAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC3D,IAAI,KAAK,EAAE;wBACT,IAAI,CAACC,oBAAa,CAAC,GAAG,EAAEA,oBAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;4BACxE,IAAI;gCACF,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;6BACjE;4BAAC,OAAO,CAAC,EAAE;gCACV,OAAO,CAAC,KAAK,CAAC,iBAAe,OAAO,CAAC,UAAU,CAAC,IAAI,UAAK,OAAO,CAAC,aAAa,eAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;6BACzG;4BACD,SAAS;yBACV;wBAED,IAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI;4BAChC,OAAOC,gBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;yBACpC,CAAC,CAAC;wBAEH,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;4BACd,IAAI;gCACF,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;6BACjE;4BAAC,OAAO,CAAC,EAAE;gCACV,OAAO,CAAC,KAAK,CACX,kBAAe,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,WAC1D,OAAO,CAAC,aAAa,gCACM,EAC7B,OAAO,EACP,CAAC,CACF,CAAC;6BACH;yBACF;qBACF;iBACF;;;;;;;;;;;;YA/BH,KAAsB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;gBAAxB,IAAM,OAAO,oBAAA;wBAAP,OAAO;aAgCjB;;;;;;;;;KACF;IACD,gCAAM,GAAN,UAAO,UAAsB;;;YAC3B,KAAwB,IAAA,KAAA,SAAA,UAAU,CAAC,UAAU,CAAA,gBAAA,4BAAE;gBAA1C,IAAM,SAAS,WAAA;;oBAClB,KAAuB,IAAA,oBAAA,SAAA,IAAI,CAAC,SAAS,CAAA,CAAA,gBAAA,4BAAE;wBAAlC,IAAM,QAAQ,WAAA;wBACjB,IAAM,KAAK,GAAG,EAAE,CAAC;wBACjB,IAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACpD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;4BAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACvB,IAAI;gCACF,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;6BAChE;4BAAC,OAAO,CAAC,EAAE;gCACV,OAAO,CAAC,IAAI,CAAC,iBAAe,UAAU,CAAC,IAAI,UAAK,SAAS,CAAC,IAAI,qBAAkB,EAAE,CAAC,CAAC,CAAC;6BACtF;yBACF;qBACF;;;;;;;;;aACF;;;;;;;;;KACF;IACH,sBAAC;AAAD,CAAC,IAAA;AACD,wBAAe,eAAe;;ACrE9B;IAAA;QACE,iBAAY,GAAsC,EAAE,CAAC;KA8BtD;IA7BC,uCAAY,GAAZ,UAAa,EAA2D;YAAzD,IAAI,UAAA,EAAE,SAAS,eAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;KACrC;IACD,uCAAY,GAAZ,UAAa,IAAY;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,0CAAe,GAAf,UAAgB,IAAY;;QAC1B,MAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QACrD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,0CAAe,GAAf,UAAgB,EAA2D;YAAzD,IAAI,UAAA,EAAE,SAAS,eAAA;QAC/B,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO;QACf,IAAA,MAAM,GAAoD,SAAS,OAA7D,EAAE,MAAM,GAA4C,SAAS,OAArD,EAAE,QAAQ,GAAkC,SAAS,SAA3C,EAAE,QAAQ,GAAwB,SAAS,SAAjC,EAAE,KAAK,GAAiB,SAAS,MAA1B,EAAE,IAAI,GAAW,SAAS,KAApB,EAAE,IAAI,GAAK,SAAS,KAAd,CAAe;QAC5E,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,SAAS,CAAC,KAAK,GAAG,KAAc,CAAC;QACjC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1C,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAC3C,SAAS,CAAC,IAAI,GAAG,IAAuB,CAAC;QACzC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACnB,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,IAAM,QAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAChC,CAAC,GAAG,CAAC,GAAG,QAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;YACrC,CAAC,GAAG,CAAC,GAAG,QAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;SACvC;QAED,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAW,CAAC;KACxC;IACH,uBAAC;AAAD,CAAC,IAAA;;;AC1BD;IAAuC,6BAAY;IAWjD,mBAAY,EAA4B;YAA1B,MAAM,YAAA,EAAE,gBAAgB,sBAAA;QAAtC,YACE,iBAAO,SAGR;QAdD,UAAI,GAAW,WAAW,CAAC;QAC3B,mBAAa,GAAa,EAAE,CAAC;QAI7B,sBAAgB,GAIV,EAAE,CAAC;QAGP,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;KACnB;IACD,wBAAI,GAAJ,UAAK,MAAc;QAAnB,iBAWC;QAVC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,UAAC,EAA4B;gBAA1B,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;YAGhD,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;SAK1D,CAAC,CAAC;KACJ;IACD,0BAAM,GAAN;;;YACE,KAAiB,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAA,gBAAA,4BAAE;gBAAhC,IAAM,EAAE,WAAA;gBACX,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aAC3C;;;;;;;;;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;;YAExB,KAAwB,IAAA,KAAA,SAAA,IAAI,CAAC,gBAAgB,CAAA,gBAAA,4BAAE;gBAA1C,IAAM,SAAS,WAAA;gBAElB,IAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,SAAS,EAAE;oBACb,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC7C,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACjD;aACF;;;;;;;;;QACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;IACD,oCAAgB,GAAhB,UAAiB,OAAyB;QACxC,IAAI,OAAO,CAAC,IAAI,KAAKD,oBAAa,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC5B;aAAM,IAAI,OAAO,CAAC,IAAI,KAAKA,oBAAa,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACtB;aAAM,IAAI,OAAO,CAAC,IAAI,KAAKA,oBAAa,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAChD;KACF;IACD,gCAAY,GAAZ,UAAa,OAAyB;QACpC,IAAM,SAAS,GAAG,IAAIE,WAAS,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;YAC3B,SAAS,WAAA;SACV,CAAC,CAAC;QACH,IAAM,SAAS,GAAG,OAAO,CAAC,SAAkB,CAAC;QAC7C,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;KAC/D;IACD,0BAAM,GAAN,UAAO,OAAyB;QAC9B,IAAM,SAAS,GAAG,OAAO,CAAC,SAAkB,CAAC;QAC7C,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,IAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3F,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpF,IAAM,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM;gBAClC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAS,CAAC;YACjF,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;SACF;aAAM;YACL,IAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC,cAAc,CAAC;YAChC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7D;KACF;IACD,2BAAO,GAAP;QACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAC9B;IAvFkB,SAAS;QAH7BC,iBAAU,CAAC,iBAAiB,CAAC;YAC5B,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC;OACmB,SAAS,CAwF7B;IAAD,gBAAC;CAAA,CAxFsCC,qBAAY,GAwFlD;kBAxFoB,SAAS;;ACF9B,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,qDAAU,CAAA;AACZ,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,IAAM,aAAa,GAAG,UAAA,QAAQ;IAC5B,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;AAC3C,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAA,QAAQ;IAC3B,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;AAC3C,CAAC,CAAC;AAKF;IAAsC,4BAAM;IAA5C;QAAA,qEA8HC;QAtHC,eAAS,GAAkB,EAAE,CAAC;;KAsH/B;IArHC,uBAAI,GAAJ,UAAK,MAAW;QAAhB,iBAgCC;QA/BC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,gBAAgB,GAAG,IAAIC,kBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAIC,iBAAe,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAIC,WAAS,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,UAAC,EAAuB;gBAArB,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA;YACjD,IAAI,WAAW,CAAC;YAChB,QAAQ,IAAI;gBACV,KAAKC,sBAAe,CAAC,MAAM;oBACzB,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC/B,MAAM;gBACR,KAAKA,sBAAe,CAAC,YAAY;oBAC/B,WAAW,GAAG,KAAI,CAAC,sBAAsB,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;oBACtD,MAAM;aACT;YACD,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;YAChC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;gBACjC,KAAK,OAAA;gBACL,IAAI,MAAA;gBACJ,WAAW,aAAA;aACZ,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAED,mCAAgB,GAAhB,UAAiB,YAAY;;QAE3B,IAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACvD,KAAK,IAAM,GAAG,IAAI,YAAY,EAAE;YAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC1B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;aAC5B;YACD,CAAA,KAAA,gBAAgB,CAAC,GAAG,CAAC,EAAC,IAAI,oBAAI,YAAY,CAAC,GAAG,CAAC,GAAE;SAClD;KACF;IAED,yCAAsB,GAAtB,UAAuB,EAAU;YAAR,MAAM,YAAA;QAC7B,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;KACZ;IAED,oCAAiB,GAAjB,UAAkB,MAAM;QACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC,MAAM,EAAE;YAC9C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;QACDC,cAAM,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QAChCA,cAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,IAAM,GAAG,GAAG,IAAIC,aAAW,YAAG,YAAY,EAAE,IAAI,IAAK,MAAM,EAAG,CAAC;QAK/D,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE;YACtC,OAAO,CAAC,IAAI,CACV,mIAAmI,CACpI,CAAC;YACF,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACjF;QAED,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChF;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;YAC3E,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;KACZ;IAED,yBAAM,GAAN;;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;;YAC/C,KAAsB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE;gBAA1B,IAAM,OAAO,oBAAA;gBAChB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAC1C;;;;;;;;;;YAED,KAAyB,IAAA,KAAA,SAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA,gBAAA,4BAAE;gBAA3C,IAAM,UAAU,WAAA;gBACnB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;oBACpC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACnB,SAAS,EAAE,UAAU,CAAC,SAAS;iBAChC,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACzC;;;;;;;;;KACF;IACD,6BAAU,GAAV,UAAW,CAAC;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KACxC;IACD,4BAAS,GAAT;;QACE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;;YAC3B,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA,4BAAE;gBAA7B,IAAM,GAAG,WAAA;gBACZ,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;aACtB;;;;;;;;;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;IACD,yBAAM,GAAN,UAAO,KAAK,EAAE,MAAM;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjD;IA5HM,mBAAU,GAAW,UAAU,CAAC;IADpB,QAAQ;QAH5BP,iBAAU,CAAC,iBAAiB,CAAC;YAC5B,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC;OACmB,QAAQ,CA8H5B;IAAD,eAAC;CAAA,CA9HqCQ,aAAM,GA8H3C;qBA9HoB,QAAQ;;ACnB7B,SAAS,IAAI,CAAC,GAAW;IACvB,IAAI,KAAK,GAAG,gEAAgE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAOD,IAAM,QAAQ,GAAG,UAAC,OAAoB,EAAE,KAAoB;IAClD,IAAA,KAAK,GAA6E,KAAK,MAAlF,EAAE,MAAM,GAAqE,KAAK,OAA1E,EAAE,QAAQ,GAA2D,KAAK,SAAhE,EAAE,KAAyD,KAAK,KAAtD,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,KAA+C,KAAK,IAA7C,EAAP,GAAG,mBAAG,CAAC,KAAA,EAAE,MAAM,GAAgC,KAAK,OAArC,EAAE,aAAa,GAAiB,KAAK,cAAtB,EAAE,UAAU,GAAK,KAAK,WAAV,CAAW;IAChG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAM,KAAK,OAAI,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAM,MAAM,OAAI,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAG,IAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,KAAG,GAAK,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,KAAG,MAAQ,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACpC,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,OAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAC3D,IAAA,cAAc,GAAK,SAAS,eAAd,CAAe;IAC7B,IAAA,CAAC,GAAsB,cAAc,EAApC,EAAE,CAAC,GAAmB,cAAc,EAAjC,EAAE,CAAC,GAAgB,cAAc,EAA9B,EAAE,CAAC,GAAa,cAAc,EAA3B,EAAE,EAAE,GAAS,cAAc,GAAvB,EAAE,EAAE,GAAK,cAAc,GAAnB,CAAoB;IAC9C,IAAM,MAAM,GAAG,YAAU,CAAC,UAAK,CAAC,UAAK,CAAC,UAAK,CAAC,UAAK,EAAE,GAAG,MAAM,UAAK,EAAE,GAAG,MAAM,MAAG,CAAC;IAChF,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAG,MAAQ,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,KAAG,MAAQ,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,UAAU,CAAC;AACnD,CAAC;;AC3BD;IAAkC,wBAAqB;IAkErD,cAAY,KAAiB;QAA7B,YACE,iBAAO,SAWR;QAVC,MAAM,CAAC,MAAM,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;QACnB,IAAA,KAA8E,KAAK,KAA1E,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,KAAK,GAA8D,KAAK,MAAnE,EAAE,KAA4D,KAAK,MAAxD,EAAT,KAAK,mBAAG,CAAC,KAAA,EAAE,KAAiD,KAAK,KAA7C,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,KAAsC,KAAK,KAAlC,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,KAA2B,KAAK,MAAtB,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,KAAe,KAAK,MAAV,EAAV,KAAK,mBAAG,EAAE,KAAA,CAAW;QAC5F,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,MAAM,GAAG,MAAI,IAAI,CAAC,CAAC,CAAG,CAAC;;KAC7B;IA7EM,kBAAa,GAAW,MAAM,CAAC;IAKlB;QAAnBR,iBAAU,CAAC,OAAO;6CAAsB;IAIrB;QAAnBA,iBAAU,CAAC,OAAO;sCAAc;IAKb;QAAnBA,iBAAU,CAAC,OAAO;uCAAkB;IAIjB;QAAnBA,iBAAU,CAAC,OAAO;uCAAe;IAKd;QAAnBA,iBAAU,CAAC,OAAO;sCAAc;IAQb;QAAnBA,iBAAU,CAAC,OAAO;uCAAe;IAQd;QAAnBA,iBAAU,CAAC,OAAO;uCAAe;IAMd;QAAnBA,iBAAU,CAAC,OAAO;sCAAc;IAKb;QAAnBA,iBAAU,CAAC,OAAO;wCAAgB;IA4BrC,WAAC;CAAA,CA/EiCS,gBAAS,GA+E1C;aA/EoB,IAAI;;ACflB,IAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,IAAM,MAAM,GAAG,CAAC,CAAC;AAEZC;AAAZ,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,qDAAW,CAAA;IACX,iDAAS,CAAA;AACX,CAAC,EAJWA,oBAAY,KAAZA,oBAAY,QAIvB;AAKD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAKD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6CAA2B,CAAA;IAC3B,sCAAoB,CAAA;AACtB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAKD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,0BAAW,CAAA;AACb,CAAC,EAHW,WAAW,KAAX,WAAW;;ACLvB,IAAM,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE/F,IAAM,YAAY,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,CAAC;IAA9B,iBAUpB;IATC,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;QAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACf,eAAe,EAAE,cAAM,OAAA,CAAC,CAAC,eAAe,EAAE,GAAA;YAC1C,IAAI,EAAE;gBACJ,QAAQ,EAAE,KAAI,CAAC,aAAa;aAC7B;YACD,UAAU,YAAA;SACX,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAOF;IAAwC,8BAAM;IAgD5C,oBAAY,GAAiB;QAA7B,YACE,kBAAM,GAAG,CAAC,SACX;QAnBD,WAAK,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC5C,gBAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;;KAkB7C;IAED,sBAAI,8BAAM;aAAV;YACE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;iBAAM;gBACL,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,OAAO,EAAE;oBACX,OAAO,IAAI,CAAC,OAAO,CAAC;iBACrB;qBAAM;oBACL,OAAO,CAAC,CAAC;iBACV;aACF;SACF;;;OAAA;IACD,sBAAI,8BAAM;aAAV;YACE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;iBAAM;gBACL,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,OAAO,EAAE;oBACX,OAAO,IAAI,CAAC,OAAO,CAAC;iBACrB;qBAAM;oBACL,OAAO,CAAC,CAAC;iBACV;aACF;SACF;;;OAAA;IAEK,yBAAI,GAAV,UAAW,GAAqB;QAArB,oBAAA,EAAA,QAAqB;;;;;;wBACtB,KAA6F,GAAG,SAAnE,EAA7B,QAAQ,mBAAGA,oBAAY,CAAC,KAAK,KAAA,EAAE,KAA8D,GAAG,MAAtD,EAAX,KAAK,mBAAG,GAAG,KAAA,EAAE,KAAiD,GAAG,cAAR,EAA5C,aAAa,mBAAG,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAA,KAAA,CAAS;wBACzG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACX,KAAA,QAAQ,CAAA;;iCACTA,oBAAY,CAAC,KAAK,EAAlB,cAAkB;iCAOlBA,oBAAY,CAAC,OAAO,EAApB,cAAoB;iCAGpBA,oBAAY,CAAC,MAAM,EAAnB,cAAmB;;;;;wBARpB,KAAA,IAAI,CAAA;wBAAY,WAAM,aAAa,EAAE,EAAA;;wBAArC,GAAK,QAAQ,GAAG,SAAqB,CAAC;;;;wBAEtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;;4BAExB,cAAM;;wBAEN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACtB,cAAM;;wBAEN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,cAAM;;wBAEV,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;wBAChC,IAAI,IAAI,CAAC,KAAK,EAAE;4BACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;yBACtB;wBAED,IAAI,CAAC,IAAI,CAAC,QAAQ;4BAAE,WAAO;wBAErB,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;wBAEf,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;4BAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACnD;;;;;KACF;IACD,6BAAQ,GAAR;QACQ,IAAA,KAAoB,IAAI,CAAC,2BAA2B,EAAE,EAApD,KAAK,WAAA,EAAE,MAAM,YAAuC,CAAC;QACvD,IAAA,KAAgC,IAAI,CAAC,aAAa,EAAE,EAAlD,WAAW,iBAAA,EAAE,YAAY,kBAAyB,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;QACrC,IAAI,KAAK,IAAI,MAAM,EAAE;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IACD,kCAAa,GAAb;QAEU,IAAA,MAAM,GAAK,CAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAU,QAAhF,CAAiF;QACvF,IAAQ,YAAY,GAAyB,MAAM,OAA/B,EAAS,WAAW,GAAK,MAAM,MAAX,CAAY;QAC5D,OAAO,EAAE,WAAW,aAAA,EAAE,YAAY,cAAA,EAAE,CAAC;KACtC;IACD,gDAA2B,GAA3B;QAEQ,IAAA,KAA+B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAArE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,GAAG,SAA6C,CAAC;QAC9E,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,CAAC;KACrC;IACD,4BAAO,GAAP;QAAA,iBA4BC;QA3BS,IAAA,WAAW,GAAkB,MAAM,YAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;QAEtC,IAAA,KAA+B,IAAI,CAAC,2BAA2B,EAAE,EAA/D,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,GAAG,SAAuC,CAAC;QAExE,IAAM,KAAK,GAAkB;YAC3B,KAAK,OAAA;YACL,MAAM,QAAA;YACN,IAAI,EAAK,IAAI,GAAG,WAAW,OAAI;YAC/B,GAAG,EAAK,GAAG,GAAG,WAAW,OAAI;YAC7B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa,CAAC,IAAI;YACjC,UAAU,EAAE,cAAc,CAAC,IAAI;SAChC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE1B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CACvB,OAAO,EACP,UAAA,CAAC;YACC,IAAM,aAAa,GAAG,CAAC,CAAC,aAA+B,CAAC;YAClD,IAAA,KAAgB,aAAa,CAAC,qBAAqB,EAAE,EAAnD,IAAI,UAAA,EAAE,GAAG,SAA0C,CAAC;YAC5D,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,KAAI,CAAC,MAAM,CAAC;YACzC,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,KAAI,CAAC,MAAM,CAAC;YACxC,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC;SAC/B,EACD,IAAI,CACL,CAAC;KACH;IAKK,2BAAM,GAAZ;;;;;gBACQ,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,WAAO;iBACR;;oBACD,KAAsB,YAAA,SAAA,OAAO,CAAA,qFAAE;wBAApB,OAAO;wBAChB,QAAQ,OAAO,CAAC,IAAI;4BAClB,KAAKb,oBAAa,CAAC,GAAG;gCACpB,OAAO,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gCACvE,OAAO,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gCACtD,MAAM;4BACR,KAAKA,oBAAa,CAAC,MAAM;gCACvB,OAAO,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gCACvE,MAAM;4BACR,KAAKA,oBAAa,CAAC,MAAM;gCACvB,OAAO,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gCAC/D,OAAO,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;yBAC5D;qBACF;;;;;;;;;;;;KACF;IAED,2BAAM,GAAN,UAAO,OAAyB;QAC9B,IAAM,SAAS,GAAG,OAAO,CAAC,SAAiB,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO;QACf,IAAA,MAAM,GAAK,SAAS,OAAd,CAAe;QAC7B,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAI,MAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;IAMD,wBAAG,GAAH,UAAI,OAAyB;QAA7B,iBAwBC;QAvBC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAM,SAAS,GAAG,OAAO,CAAC,SAAiB,CAAC;QACpC,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QACvB,IAAA,KAAK,GAAiB,SAAS,MAA1B,EAAU,EAAE,GAAK,SAAS,OAAd,CAAe;QAClC,IAAA,KAAK,GAAK,SAAS,MAAd,CAAe;QAC1B,IAAI,CAAC,UAAU;YAAE,OAAO;QAChB,IAAA,SAAS,GAAK,UAAU,UAAf,CAAgB;QACjC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACrC,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACT,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC3B;YACD,IAAI,UAAU,CAAC,KAAK,EAAE;gBACpB,KAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC/B;SACF,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;IAGD,oCAAe,GAAf,UAAgB,OAAyB;QACvC,IAAM,SAAS,GAAG,OAAO,CAAC,SAAsB,CAAC;QACzC,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC/B,IAAM,aAAa,GAAG,UAAU,CAAC,YAAY,CAACc,MAAI,CAAS,CAAC;QAC5D,IAAI,CAAC,aAAa;YAAE,OAAO;QACnB,IAAA,MAAM,GAAK,aAAa,OAAlB,CAAmB;QACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAEtB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAI,MAAQ,CAAC,CAAC;YACjD,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAElC;aAAM;YAGL,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACxC;SACF;KACF;IAQD,6BAAQ,GAAR,UAAS,OAAoB,EAAE,KAAS,EAAE,UAAsB,EAAE,EAAE;QAClE,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,IAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACzC;IAED,6BAAQ,GAAR,UAAS,UAAsB;QAC7B,IAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAACA,MAAI,CAAS,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KACnE;IAED,gCAAW,GAAX,UAAY,OAAyB;QAC3B,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC/B,IAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAACA,MAAI,CAAS,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO;QACX,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;QACxB,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAQ,CAAC;QAChD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACvD;IAQD,gCAAW,GAAX,UAAY,OAAoB,EAAE,SAAe;;QACvC,IAAA,IAAI,GAA+C,SAAS,KAAxD,EAAE,KAA6C,SAAS,MAA5C,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,KAAiC,SAAS,MAAhC,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,IAAI,GAAiB,SAAS,KAA1B,EAAU,EAAE,GAAK,SAAS,OAAd,CAAe;QACrE,IAAM,QAAQ,GAAG,IAAI,IAAI,MAAM,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAGhB,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YACrC,KAAkB,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA,2DAAE;gBAAxB,IAAM,GAAG,sBAAA;gBACZ,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACvC;;;;;;;;;QACD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YACrC,KAAkB,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA,2DAAE;gBAAxB,IAAM,GAAG,sBAAA;gBACZ,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACvC;;;;;;;;;;YAED,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,gBAAA,4BAAE;gBAArC,IAAM,GAAG,WAAA;gBACZ,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC/F,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC3C;aACF;;;;;;;;;KACF;IAOD,gCAAW,GAAX,UAAY,OAAoB,EAAE,SAAoB;QAI9C,IAAA,KAAoB,SAAS,CAAC,IAAI,EAAhC,KAAK,WAAA,EAAE,MAAM,YAAmB,CAAC;QAIzC,IAAM,KAAK,GAAkB;YAC3B,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM;YAC5C,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;YAC/C,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa,CAAC,IAAI;YACjC,UAAU,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI;SACpE,CAAC;QACF,IAAM,cAAc,gBACf,SAAS,CACb,CAAC;QACF,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEzB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KACjE;IACD,8BAAS,GAAT;QACE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;IAxVM,qBAAU,GAAG,YAAY,CAAC;IADd,UAAU;QAL9BX,iBAAU,CAAC,iBAAiB,CAAC;YAC5B,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,CAAC,SAAS,CAAC;YACtB,KAAK,EAAE,EAAE;SACV,CAAC;OACmB,UAAU,CA0V9B;IAAD,iBAAC;CAAA,CA1VuCQ,aAAM,GA0V7C;mBA1VoB,UAAU;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-a11y.esm.js","sources":["../../renderer-adapter/lib/Application.ts","../../renderer-adapter/lib/Container.ts","../../plugin-renderer/lib/manager/RendererManager.ts","../../plugin-renderer/lib/manager/ContainerManager.ts","../../plugin-renderer/lib/Transform.ts","../../plugin-renderer/lib/System.ts","../lib/utils.ts","../lib/A11y.ts","../lib/constant.ts","../lib/A11ySystem.ts"],"sourcesContent":["import { Application as PIXIApplication } from 'pixi.js';\nexport default class Application extends PIXIApplication {\n constructor(params?: any) {\n params.autoStart = false;\n super(params);\n }\n [propName: string]: any;\n}\n","import { Container as PIXIContainer } from 'pixi.js';\n\nexport default class Container extends PIXIContainer {\n [propName: string]: any;\n}\n","import isEqual from 'lodash-es/isEqual';\nimport { GameObject, Game, ComponentChanged, OBSERVER_TYPE } from '@eva/eva.js';\nimport Renderer from '../Renderer';\nimport RendererSystem from '../System';\n\nclass RendererManager {\n game: Game;\n rendererSystem: RendererSystem;\n constructor({ game, rendererSystem }) {\n this.game = game;\n this.rendererSystem = rendererSystem;\n }\n renderers: Renderer[] = [];\n register(...renderers: Renderer[]) {\n for (const renderer of renderers) {\n renderer.game = this.game;\n renderer.rendererManager = this.rendererSystem.rendererManager;\n renderer.containerManager = this.rendererSystem.containerManager;\n this.renderers.push(renderer);\n }\n }\n componentChanged(changes: ComponentChanged[]) {\n for (const changed of changes) {\n for (const renderer of this.renderers) {\n const props = renderer.observerInfo[changed.componentName];\n if (props) {\n if ([OBSERVER_TYPE.ADD, OBSERVER_TYPE.REMOVE].indexOf(changed.type) > -1) {\n try {\n renderer.componentChanged && renderer.componentChanged(changed);\n } catch (e) {\n console.error(`gameObject: ${changed.gameObject.name}, ${changed.componentName} is error.`, changed, e);\n }\n continue;\n }\n\n const index = props.findIndex(prop => {\n return isEqual(prop, changed.prop);\n });\n\n if (index > -1) {\n try {\n renderer.componentChanged && renderer.componentChanged(changed);\n } catch (e) {\n console.error(\n `gameObject: ${changed.gameObject && changed.gameObject.name}, ${\n changed.componentName\n } is componentChanged error.`,\n changed,\n e,\n );\n }\n }\n }\n }\n }\n }\n update(gameObject: GameObject) {\n for (const component of gameObject.components) {\n for (const renderer of this.renderers) {\n const cache = [];\n const props = renderer.observerInfo[component.name];\n if (props && cache.indexOf(gameObject) === -1) {\n cache.push(gameObject);\n try {\n renderer.rendererUpdate && renderer.rendererUpdate(gameObject);\n } catch (e) {\n console.info(`gameObject: ${gameObject.name}, ${component.name} is update error`, e);\n }\n }\n }\n }\n }\n}\nexport default RendererManager;\n","import { Transform } from '@eva/eva.js';\nimport { Point, ObservablePoint } from 'pixi.js';\nimport { Container } from '@eva/renderer-adapter';\n\nexport default class ContainerManager {\n containerMap: { [propName: number]: Container } = {};\n addContainer({ name, container }: { name: number; container: Container }) {\n this.containerMap[name] = container;\n }\n getContainer(name: number) {\n return this.containerMap[name];\n }\n removeContainer(name: number) {\n this.containerMap[name]?.destroy({ children: true });\n delete this.containerMap[name];\n }\n updateTransform({ name, transform }: { name: number; transform: Transform }) {\n const container = this.containerMap[name];\n if (!container) return;\n const { anchor, origin, position, rotation, scale, size, skew } = transform;\n container.rotation = rotation;\n container.scale = scale as Point;\n container.pivot.x = size.width * origin.x;\n container.pivot.y = size.height * origin.y;\n container.skew = skew as ObservablePoint;\n let x = position.x;\n let y = position.y;\n if (transform.parent) {\n const parent = transform.parent;\n x = x + parent.size.width * anchor.x;\n y = y + parent.size.height * anchor.y;\n }\n\n container.position = { x, y } as Point;\n }\n}\n","import { Transform as Trans, decorators, ComponentChanged, OBSERVER_TYPE, Scene, LOAD_SCENE_MODE } from '@eva/eva.js';\nimport EventEmitter from 'eventemitter3';\nimport { Application, Container } from '@eva/renderer-adapter';\nimport Render from './System';\nimport ContainerManager from './manager/ContainerManager';\n\n@decorators.componentObserver({\n Transform: ['_parent'],\n})\nexport default class Transform extends EventEmitter {\n name: string = 'Transform';\n waitRemoveIds: number[] = [];\n waitSceneId: number;\n system: Render;\n containerManager: ContainerManager;\n waitChangeScenes: {\n scene: Scene;\n mode: LOAD_SCENE_MODE;\n application: Application;\n }[] = [];\n constructor({ system, containerManager }) {\n super();\n this.containerManager = containerManager;\n this.init(system);\n }\n init(system: Render) {\n this.system = system;\n this.on('changeScene', ({ scene, mode, application }) => {\n // switch (mode) {\n // case LOAD_SCENE_MODE.SINGLE:\n this.waitChangeScenes.push({ scene, mode, application });\n // break;\n // case LOAD_SCENE_MODE.MULTI_CANVAS:\n\n // }\n });\n }\n update() {\n for (const id of this.waitRemoveIds) {\n this.containerManager.removeContainer(id);\n }\n this.waitRemoveIds = [];\n\n for (const sceneInfo of this.waitChangeScenes) {\n // set scene\n const container = this.containerManager.getContainer(sceneInfo.scene.id);\n if (container) {\n sceneInfo.application.stage.removeChildren();\n sceneInfo.application.stage.addChild(container);\n }\n }\n this.waitChangeScenes = [];\n }\n componentChanged(changed: ComponentChanged) {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.addContainer(changed);\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n this.change(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.waitRemoveIds.push(changed.gameObject.id);\n }\n }\n addContainer(changed: ComponentChanged) {\n const container = new Container();\n container.name = changed.gameObject.name;\n this.containerManager.addContainer({\n name: changed.gameObject.id,\n container,\n });\n const transform = changed.component as Trans;\n transform.worldTransform = container.transform.worldTransform;\n }\n change(changed: ComponentChanged) {\n const transform = changed.component as Trans;\n if (transform.parent) {\n const parentContainer = this.containerManager.getContainer(transform.parent.gameObject.id);\n parentContainer.addChild(this.containerManager.getContainer(changed.gameObject.id));\n\n const render =\n changed.gameObject.transform.parent &&\n (changed.gameObject.transform.parent.gameObject.getComponent('Render') as any);\n if (render) {\n render.sortDirty = true;\n }\n } else {\n const container = this.containerManager.getContainer(changed.gameObject.id);\n delete transform.worldTransform;\n container.parent && container.parent.removeChild(container);\n }\n }\n destroy() {\n this.removeAllListeners();\n this.waitRemoveIds = null;\n this.waitChangeScenes = null;\n this.system = null;\n this.containerManager = null;\n }\n}\n","import { System, decorators, Game, LOAD_SCENE_MODE } from '@eva/eva.js';\nimport { Application } from '@eva/renderer-adapter';\nimport RendererManager from './manager/RendererManager';\nimport ContainerManager from './manager/ContainerManager';\nimport Transform from './Transform';\nimport { ticker } from 'pixi.js';\n\nexport enum RENDERER_TYPE {\n UNKNOWN = 0,\n WEBGL = 1,\n CANVAS = 2,\n}\n\nconst disableScroll = renderer => {\n renderer.plugins.interaction.autoPreventDefault = true;\n renderer.view.style.touchAction = 'none';\n};\n\nconst enableScroll = renderer => {\n renderer.plugins.interaction.autoPreventDefault = false;\n renderer.view.style.touchAction = 'auto';\n};\n\n@decorators.componentObserver({\n Transform: ['_parent'],\n})\nexport default class Renderer extends System {\n static systemName: string = 'Renderer';\n params: any;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n application: Application;\n game: Game;\n transform: Transform;\n multiApps: Application[] = [];\n init(params: any) {\n this.params = params;\n this.application = this.createApplication(params);\n\n this.containerManager = new ContainerManager();\n this.rendererManager = new RendererManager({\n game: this.game,\n rendererSystem: this,\n });\n this.game.canvas = this.application.view;\n this.transform = new Transform({\n system: this,\n containerManager: this.containerManager,\n });\n\n this.game.on('sceneChanged', ({ scene, mode, params }) => {\n let application;\n switch (mode) {\n case LOAD_SCENE_MODE.SINGLE:\n application = this.application;\n break;\n case LOAD_SCENE_MODE.MULTI_CANVAS:\n application = this.createMultiApplication({ params });\n break;\n }\n scene.canvas = application.view;\n this.transform.emit('changeScene', {\n scene,\n mode,\n application,\n });\n });\n }\n\n registerObserver(observerInfo) {\n // @ts-ignore\n const thisObserverInfo = this.constructor.observerInfo;\n for (const key in observerInfo) {\n if (!thisObserverInfo[key]) {\n thisObserverInfo[key] = [];\n }\n thisObserverInfo[key].push(...observerInfo[key]);\n }\n }\n\n createMultiApplication({ params }) {\n const app = this.createApplication(params);\n this.multiApps.push(app);\n return app;\n }\n\n createApplication(params) {\n params.view = params.canvas;\n if (params.renderType === RENDERER_TYPE.CANVAS) {\n params.forceCanvas = true;\n }\n ticker.shared.autoStart = false;\n ticker.shared.stop();\n const app = new Application({ sharedTicker: true, ...params });\n /**\n * Fix https://github.com/eva-engine/eva.js/issues/30\n * PreventScroll is legacy, because it has bug.\n */\n if (params.preventScroll !== undefined) {\n console.warn(\n 'PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game',\n );\n params.preventScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);\n }\n\n if (params.enableScroll !== undefined) {\n params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);\n }\n\n if (params.preventScroll === undefined && params.enableScroll === undefined) {\n enableScroll(app.renderer);\n }\n return app;\n }\n\n update() {\n const changes = this.componentObserver.clear();\n for (const changed of changes) {\n this.transform.componentChanged(changed);\n }\n\n for (const gameObject of this.game.gameObjects) {\n this.containerManager.updateTransform({\n name: gameObject.id,\n transform: gameObject.transform,\n });\n this.rendererManager.update(gameObject);\n }\n }\n lateUpdate(e) {\n this.transform.update();\n this.application.ticker.update(e.time);\n }\n onDestroy() {\n this.application.destroy();\n for (const app of this.multiApps) {\n app && app.destroy();\n }\n this.transform.destroy();\n this.transform = null;\n this.params = null;\n this.rendererManager = null;\n this.containerManager = null;\n this.application = null;\n this.game = null;\n this.multiApps = null;\n }\n resize(width, height) {\n this.params.width = width;\n this.params.height = height;\n this.application.renderer.resize(width, height);\n }\n}\n","import { A11yMaskStyle } from './constant';\n\n/**\n * 生成唯一的标识符\n * @param len 长度\n * @param radix 基\n */\nfunction uuid(len: number) {\n let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\n let uuid = [];\n let radix = chars.length;\n for (let i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)];\n return uuid.join('');\n}\n\n/**\n * 设置 dom 样式\n * @param div 需要设置样式的dom元素\n * @param style 样式属性\n */\nconst setStyle = (element: HTMLElement, style: A11yMaskStyle) => {\n const { width, height, position, left = 0, top = 0, zIndex, pointerEvents, background } = style;\n element.style.width = `${width}px`;\n element.style.height = `${height}px`;\n element.style.position = position;\n element.style.left = `${left}`;\n element.style.top = `${top}`;\n element.style.zIndex = `${zIndex}`;\n element.style.pointerEvents = pointerEvents;\n element.style.background = background;\n element.style.border = 'none';\n element.style.overflow = 'hidden';\n};\n\nconst setTransform = (element: HTMLElement, transform, ratioX, ratioY) => {\n const { worldTransform } = transform;\n const { a, b, c, d, tx, ty } = worldTransform;\n const matrix = `matrix(${a}, ${b}, ${c}, ${d}, ${tx * ratioX}, ${ty * ratioY})`;\n element.style.transform = `${matrix}`;\n element.style.webkitTransform = `${matrix}`;\n element.style.transformOrigin = 'left top';\n element.style.webkitTransformOrigin = 'left top';\n};\n\nexport { setStyle, setTransform, uuid };\n","import { Component, decorators } from '@eva/eva.js';\nimport { uuid } from './utils';\n\nexport interface A11yParams {\n hint: string;\n event?: Component;\n delay?: number;\n role?: string;\n props?: object;\n state?: object;\n attr?: object;\n a11yId?: string;\n [propName: string]: string | object | number;\n}\n\nexport default class A11y extends Component<A11yParams> {\n static componentName: string = 'A11y';\n\n /**\n * 是否可交互\n */\n @decorators.IDEProp interactive: boolean;\n /**\n * 无障碍标签朗读内容\n */\n @decorators.IDEProp hint: string;\n /**\n * 弃用,将根据Event组件自动添加\n * 事件对象\n */\n @decorators.IDEProp event: Component;\n /**\n * 延时加载时间(millisecond)\n */\n @decorators.IDEProp delay: number;\n\n /**\n * role 属性\n */\n @decorators.IDEProp role: string;\n\n /**\n * 弃用,将属性写在component上\n * aria-value 属性\n * @example\n * aria-valuemin = \"0\"\n */\n @decorators.IDEProp props: object;\n\n /**\n * 弃用,将属性写在component上\n * aria state 属性\n * @example\n * aria-hidden = \"true\"\n */\n @decorators.IDEProp state: object;\n\n /**\n * 弃用,将属性写在component上\n * 传入自定义属性\n */\n @decorators.IDEProp attr: object;\n\n /**\n * 辅助Dom id 自动生成\n */\n @decorators.IDEProp a11yId: string;\n\n /**\n * 无障碍组件构造函数\n * @param param interactive 默认为 false,如果游戏对象可交互,传入 true\n * @example\n * // 为游戏对象提供朗读能力\n * new A11y({hint: '这是一个div'})\n * // 游戏对象有事件,传入 event 对象\n * new A11y({hint: '点击事件对象', event: event})\n * // 无障碍属性\n * new A11y({hint:'按钮', role: 'button', state: {aria-hidden=\"true\"}})\n * // 自定义属性\n * new A11y({hint: '自定义属性', attr: {key: '1'}})\n */\n constructor(param: A11yParams) {\n super();\n Object.assign(this, param);\n const { hint = '', event, delay = 0, attr = {}, role = '', props = {}, state = {} } = param;\n this.hint = hint;\n this.event = event;\n this.delay = delay;\n this.attr = attr;\n this.role = role;\n this.props = props;\n this.state = state;\n this.a11yId = `_${uuid(6)}`;\n }\n}\n","export const POSITION = 'absolute';\nexport const ZINDEX = 3;\n\nexport enum A11yActivate {\n ENABLE = 0,\n DISABLE = 1,\n CHECK = 2,\n}\n\n/**\n * 无障碍 DOM 的指针事件\n */\nexport enum PointerEvents {\n NONE = 'none', // 元素不会成为鼠标事件的target,会被穿透\n AUTO = 'auto', // 默认值正常\n}\n\n/**\n * 无障碍 DOM 层的样式\n */\nexport enum MaskBackground {\n DEBUG = 'rgba(255,0,0,0.5)',\n NONE = 'transparent',\n}\n\n/**\n * 无障碍 DOM 的类型\n */\nexport enum ElementType {\n BUTTON = 'button',\n DIV = 'div',\n}\n\n/**\n * 无障碍遮罩层样式\n */\nexport interface A11yMaskStyle {\n width: number;\n height: number;\n background: string;\n position: string;\n left?: string;\n top?: string;\n zIndex: number;\n pointerEvents: PointerEvents;\n}\n\n/**\n * 点击事件位置\n */\nexport interface EventPosition {\n x: number;\n y: number;\n}\n","import { System, decorators, ComponentChanged, Transform, GameObject, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererSystem } from '@eva/plugin-renderer';\nimport EE from 'eventemitter3';\n\nimport A11y from './A11y';\nimport { setStyle, setTransform } from './utils';\nimport {\n POSITION,\n ZINDEX,\n PointerEvents,\n MaskBackground,\n EventPosition,\n A11yMaskStyle,\n A11yActivate,\n} from './constant';\n\ninterface SystemParam {\n debug?: boolean;\n activate?: A11yActivate;\n delay?: number;\n checkA11yOpen?: () => Promise<boolean>;\n}\n\nconst notAttr = ['hint', 'event', 'delay', 'attr', 'role', 'props', 'state', 'a11yId', 'name'];\n\nconst getEventFunc = function (event, gameObject, e) {\n ['touchstart', 'touchend', 'tap'].forEach(name => {\n event.emit(name, {\n stopPropagation: () => e.stopPropagation(),\n data: {\n position: this.eventPosition,\n },\n gameObject,\n });\n });\n};\n\n@decorators.componentObserver({\n A11y: [],\n Transform: ['inScene'],\n Event: [],\n})\nexport default class A11ySystem extends System {\n static systemName = 'A11ySystem';\n\n /**\n * 无障碍覆盖层\n */\n div: HTMLDivElement;\n /**\n * 是否开启调试\n */\n debug: boolean;\n /**\n * 横向的比例\n */\n _ratioX: number;\n /**\n * 纵向的比例\n */\n _ratioY: number;\n /**\n * 事件坐标\n */\n eventPosition: EventPosition;\n /**\n * 是否开启无障碍能力\n */\n activate: boolean;\n /**\n * dom 延迟放置\n */\n delay: number;\n cache: Map<string, HTMLElement> = new Map();\n eventCache: Map<string, Function> = new Map();\n /**\n *\n * @param opt\n */\n\n /**\n * 无障碍插件初始化函数\n * @param opt 无障碍插件选项\n * @param opt.activate 是否开启无障碍能力,默认为自动根据系统读屏能力进行开启 AUTO | ENABLE | DISABLE\n * @example\n * // 开启调试,无障碍区域会显示红色透明背景\n * new A11ySystem({debug: true})\n * // 禁用无障碍\n * new A11ySystem({activate: A11yActivate.DISABLE})\n */\n constructor(opt?: SystemParam) {\n super(opt);\n }\n\n get ratioX() {\n if (this._ratioX) {\n return this._ratioX;\n } else {\n const success = this.setRatio();\n if (success) {\n return this._ratioX;\n } else {\n return 0;\n }\n }\n }\n get ratioY() {\n if (this._ratioY) {\n return this._ratioY;\n } else {\n const success = this.setRatio();\n if (success) {\n return this._ratioY;\n } else {\n return 0;\n }\n }\n }\n\n async init(opt: SystemParam = {}) {\n const { activate = A11yActivate.CHECK, delay = 100, checkA11yOpen = () => Promise.resolve(false) } = opt;\n this.delay = delay;\n switch (activate) {\n case A11yActivate.CHECK:\n try {\n this.activate = await checkA11yOpen();\n } catch (error) {\n this.activate = false;\n }\n break;\n case A11yActivate.DISABLE:\n this.activate = false;\n break;\n case A11yActivate.ENABLE:\n this.activate = true;\n break;\n }\n this.debug = opt.debug || false;\n if (this.debug) {\n this.activate = true;\n }\n\n if (!this.activate) return;\n // 渲染出父容器\n const div = document.createElement('div');\n this.div = div;\n // 如果存在父容器,则渲染这个 div,子元素则会相对这个 div 进行定位,否则直接相对于 body 进行定位\n if (this.game.canvas.parentNode) {\n this.game.canvas.parentNode.appendChild(this.div);\n }\n }\n setRatio() {\n const { width, height } = this.getCanvasBoundingClientRect();\n const { renderWidth, renderHeight } = this.getRenderRect();\n this._ratioX = width / renderWidth;\n this._ratioY = height / renderHeight;\n if (width || height) {\n this.initDiv();\n return true;\n } else {\n return false;\n }\n }\n getRenderRect() {\n // @ts-ignore\n const { params } = this.game.getSystem(RendererSystem) || ({ width: 300, height: 300 } as any);\n const { height: renderHeight, width: renderWidth } = params;\n return { renderWidth, renderHeight };\n }\n getCanvasBoundingClientRect() {\n // 渲染画布相对于视口的实际宽高以及位置,实际的像素\n const { width, height, left, top } = this.game.canvas.getBoundingClientRect();\n return { width, height, left, top };\n }\n initDiv() {\n const { pageXOffset, pageYOffset } = window;\n\n const { width, height, left, top } = this.getCanvasBoundingClientRect();\n // 父容器位置\n const style: A11yMaskStyle = {\n width,\n height,\n left: `${left + pageXOffset}px`,\n top: `${top + pageYOffset}px`,\n position: POSITION,\n zIndex: ZINDEX,\n pointerEvents: PointerEvents.NONE,\n background: MaskBackground.NONE,\n };\n setStyle(this.div, style);\n // 给父容器设置捕获事件,用于监听事件坐标\n this.div.addEventListener(\n 'click',\n e => {\n const currentTarget = e.currentTarget as HTMLDivElement;\n const { left, top } = currentTarget.getBoundingClientRect();\n const x = (e.pageX - left) / this.ratioX;\n const y = (e.pageY - top) / this.ratioY;\n this.eventPosition = { x, y };\n },\n true,\n );\n }\n\n /**\n * 监听插件更新\n */\n async update() {\n const changes = this.componentObserver.clear();\n if (!this.activate) {\n return;\n }\n for (const changed of changes) {\n switch (changed.type) {\n case OBSERVER_TYPE.ADD:\n changed.componentName === 'Event' && this.addEvent(changed.gameObject);\n changed.componentName === 'A11y' && this.add(changed);\n break;\n case OBSERVER_TYPE.CHANGE:\n changed.componentName === 'Transform' && this.transformChange(changed);\n break;\n case OBSERVER_TYPE.REMOVE:\n changed.componentName === 'Event' && this.removeEvent(changed);\n changed.componentName === 'A11y' && this.remove(changed);\n }\n }\n }\n\n remove(changed: ComponentChanged) {\n const component = changed.component as A11y;\n if (!component) return;\n const { a11yId } = component;\n const element = this.div.querySelector(`#${a11yId}`);\n element && this.div.removeChild(element);\n this.cache.delete(a11yId);\n }\n\n /**\n * 监听组件被添加至游戏对象\n * @param changed 改变的组件\n */\n add(changed: ComponentChanged) {\n if (!this.activate) return;\n const component = changed.component as A11y;\n const { gameObject } = changed;\n const { delay, a11yId: id } = component;\n let { event } = component;\n if (!gameObject) return;\n const { transform } = gameObject;\n if (!transform) return;\n const element = document.createElement('div');\n this.cache.set(id, element);\n if (!event) {\n event = gameObject.getComponent('Event');\n }\n setTimeout(() => {\n this.setPosition(element, transform);\n this.setA11yAttr(element, component);\n if (event) {\n this.addEvent(gameObject);\n }\n if (gameObject.scene) {\n this.div.appendChild(element);\n }\n }, delay || this.delay);\n }\n\n // 监听 scene 改变\n transformChange(changed: ComponentChanged) {\n const component = changed.component as Transform;\n const { gameObject } = changed;\n const a11yComponent = gameObject.getComponent(A11y) as A11y;\n if (!a11yComponent) return;\n const { a11yId } = a11yComponent;\n if (!component.inScene) {\n // 监听 scene 删除游戏对象\n const dom = this.div.querySelector(`#${a11yId}`);\n dom && this.div.removeChild(dom);\n // this.cache.delete(a11yId)\n } else {\n // 监听 scene add\n // this.div.appendChild(this.cache)\n if (this.cache.has(a11yId)) {\n const addDom = this.cache.get(a11yId);\n addDom && this.div.appendChild(addDom);\n }\n }\n }\n\n /**\n * 为无障碍组件设置监听事件\n * @param element DOM 元素\n * @param event 事件组件对象\n * @param gameObject 游戏对象\n */\n setEvent(element: HTMLElement, event: EE, gameObject: GameObject, id) {\n if (!event) {\n return;\n }\n const func = getEventFunc.bind(this, event, gameObject);\n this.eventCache.set(id, func);\n element.addEventListener('click', func);\n }\n\n addEvent(gameObject: GameObject) {\n const a11y = gameObject.getComponent(A11y) as A11y;\n if (!a11y) return;\n const event = gameObject.getComponent('Event');\n if (!event) return;\n const element = this.cache.get(a11y.a11yId);\n element && this.setEvent(element, event, gameObject, a11y.a11yId);\n }\n\n removeEvent(changed: ComponentChanged) {\n const { gameObject } = changed;\n const a11y = gameObject.getComponent(A11y) as A11y;\n if (!a11y) return;\n const event = changed.component;\n if (!event) return;\n const { a11yId } = a11y;\n const func = this.eventCache.get(a11yId) as any;\n const element = this.cache.get(a11yId);\n element && element.removeEventListener('click', func);\n }\n\n /**\n * 设置无障碍属性标签\n * @param element DOM 元素\n * @param hint 无障碍朗读文字\n * @param interactive 是否可交互\n */\n setA11yAttr(element: HTMLElement, component: A11y) {\n const { hint, props = {}, state = {}, role, a11yId: id } = component;\n const realRole = role || 'text';\n element.setAttribute('role', realRole);\n element.setAttribute('aria-label', hint);\n element.id = id;\n\n // 这里兼容\n const ariaProps = Object.keys(props);\n for (const key of ariaProps) {\n element.setAttribute(key, props[key]);\n }\n const ariaState = Object.keys(state);\n for (const key of ariaState) {\n element.setAttribute(key, state[key]);\n }\n\n for (const key of Object.keys(component)) {\n if (typeof component[key] === 'string' && notAttr.indexOf(key) === -1 && key.indexOf('_') !== 1) {\n element.setAttribute(key, component[key]);\n }\n }\n }\n\n /**\n * 将无障碍元素设置到对应的位置\n * @param element DOM 元素\n * @param transform 位置属性\n */\n setPosition(element: HTMLElement, transform: Transform) {\n // 相对画布定位\n // const { x: anchorX, y: anchorY } = transform.anchor\n // 游戏对象的宽高\n const { width, height } = transform.size;\n // position\n // const { x: positionX, y: positionY } = transform.position\n // 设置无障碍 DOM 的样式,龙骨动画默认 2px\n const style: A11yMaskStyle = {\n width: width === 0 ? 1 : width * this.ratioX,\n height: height === 0 ? 1 : height * this.ratioY,\n position: POSITION,\n zIndex: ZINDEX,\n pointerEvents: PointerEvents.AUTO,\n background: this.debug ? MaskBackground.DEBUG : MaskBackground.NONE,\n };\n const transformProps = {\n ...transform,\n };\n setStyle(element, style);\n // 调整 DOM 的位置\n setTransform(element, transformProps, this.ratioX, this.ratioY);\n }\n onDestroy() {\n this.div.parentElement.removeChild(this.div);\n this.cache = null;\n this.eventCache = null;\n }\n}\n"],"names":["PIXIApplication","PIXIContainer","Container","ContainerManager","RendererManager","Transform","Application","A11y"],"mappings":"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"}
|