{"_id":"@avalon-dota-libs/ui_utils","_rev":"3-a6637e4ef5336aceaa0a64fa000438c4","name":"@avalon-dota-libs/ui_utils","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@avalon-dota-libs/ui_utils","version":"0.0.1","description":"UI 中的通用库","keywords":["dota2","avalon-dota"],"author":{"name":"AvalonStudio","email":"avalonstudio@163.com"},"homepage":"https://github.com/AvalonStudio/avalon-dota2-library","repository":{"type":"git","url":"git+https://github.com/AvalonStudio/avalon-dota2-library.git"},"license":"MIT","main":"index.js","_id":"@avalon-dota-libs/ui_utils@0.0.1","dist":{"shasum":"52f3e1f54c64e216d7081d70b4c3009b1dfc5985","integrity":"sha512-CkzLUtuRTpcnwiUWQyKkJfnPRtdxQOKf7Ex2xPVvu/oRDhtiRwo1bCjZCxgJi0ZZn1AwbFWgn92V2Kbq7BDY2Q==","tarball":"https://registry.npmjs.org/@avalon-dota-libs/ui_utils/-/ui_utils-0.0.1.tgz","fileCount":5,"unpackedSize":4108,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHfiYnMN7/k0QDZsD1rbXdbaxwyitMEPinHG6p4ZKdrQIgfKhrcb7OvHqQX1MOjzDHflgBO+dZJVsauH95a8lEEGE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9Iv+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQoQ//aQMkItHAVBQjSJf5RYplfy3C6QNBcrn0Vp54dvRrLNRmClx/\r\nQpdxLX0uCZOfTyx3JZEM0dOdBhD+rdUZoyMYvWXJeK5AqvZIq2rPzDhoVRJO\r\n9uo6pR90PWM7+S8WZwJFcu9qB/b2l58Zb6/+P5EzfpbrziFFpPbLqhcotKrw\r\nTWgHLSIw3Df4WWBthIThDmwkJcl92JX5f8Rer7Xj1j2bCGeu4SFovF3DqvIC\r\nySJduL1v+kXKcZbvEgKMRP9yOyvZkpTz5wV9cnicoLmWiFmItzWOrEI5rAq1\r\nPfkXWQgSckvcUJEozeEXqMF8i1DD21+LOq0DTmxXcWgkz797e1hBE8h7Ks7c\r\nkFnNOZheltpBDhl01RhMb1GYM+B8EKK5nxTOQHeaCLiRYLJCGlFTaOANfw+3\r\ntCxtSWVj10fmtlBtE+zvTF6aNph4MLyW4IAkcjPedpu0LOPqXacQGzSJy+Eh\r\nDVXkp0FHLwQksBqBjjH7B5TzZuEppT/8oxex+IzDhRY0bWolN7sP9hGjwAdQ\r\n+hU3vmsbbK3QUgm28+luWipeCdYRgaP0B7l+Ynq96Y1YI6iffAz4TIMoKDgg\r\nXEpwiRe1N5/Yq47RBvnsdQEEDjfrraNzj9I9g4fWP6xbaDyLhRqZbUP32pn0\r\n9S+2Z0AOLHKiqcdoSKRFqts/OGe99Gt7jxA=\r\n=cUlY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"robincode","email":"xv.robincode@gmail.com"},"directories":{},"maintainers":[{"name":"robincode","email":"xv.robincode@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui_utils_0.0.1_1676971006357_0.6925789158141791"},"_hasShrinkwrap":false},"0.0.2":{"name":"@avalon-dota-libs/ui_utils","version":"0.0.2","description":"UI 中的通用库","keywords":["dota2","avalon-dota"],"author":{"name":"AvalonStudio","email":"avalonstudio@163.com"},"homepage":"https://github.com/AvalonStudio/avalon-dota2-library","repository":{"type":"git","url":"git+https://github.com/AvalonStudio/avalon-dota2-library.git"},"license":"MIT","main":"index.js","_id":"@avalon-dota-libs/ui_utils@0.0.2","dist":{"shasum":"6f1c42858936698d7764d1a80419f2fe717b4dda","integrity":"sha512-50PZUrJwNwJWEp4uiHAuWchW+pEPQQdUUtfRzoyqgt65typ3Pslb6riJiFPkbnzCWGsSs3v86R3TgtK1IP3Jmg==","tarball":"https://registry.npmjs.org/@avalon-dota-libs/ui_utils/-/ui_utils-0.0.2.tgz","fileCount":5,"unpackedSize":4675,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESYvYvZGTHkK2mlg2sNkbMVspJG22zrarlChFXsLlA3AiBZdxWvu/dT+x1CntJhUwVpOAjPkoF7/GAgVhV1BoxzTg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9dHbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphCQ//brxfR/pClEf8SjVbjTng5UNOGlaqB4EFtLDJeYKcFH0fkjau\r\n68Qt8fiCVJ3GfzNWxBxpPROG+CCjF34XhExVgwBejyatyc+CiFOy7aoHHTeJ\r\nmMRVFItFnceRq9Jam9X8MkexZq6nu+t26BBLo8PknWp8ro3RLhQBf6RAaxQq\r\nkaZIEfoLaTH/TDWzu//uh3W31VcZdq9SHu6W9xufLMitn4dv0n01s0JikQ8n\r\nSOFSdcWRXTu599fDIATvwMEMpfSAEon/shhDLNggVbREErlvavAZ5G//lF3m\r\nEFM6+9hpcY3tZssr1/h88QcIrYkR7XfN24onWVHBP0SNKHbDzoZ12g9V0AOY\r\nyKf3tfzNGqVqOnDbce3/2e/G2wtoYYLvVgaWWyu88+izZZx9rxrd+gF7F4IK\r\n1qVlkcbeoOB1idnJ0duEMmj6/+9I/TmIYQd6MhCYPyDYEypXaz+yo4jVrXe4\r\nZEIkhhJDFoMxI8pBzTsRt6oIfMX+ycH5iYIANDlqrIAInLFhCcBc7dCqLEHX\r\n9V2LF6q17atko82bkgoELbkyUDqKnGM9sCNrLzTEuRxnyw3LyR4eBAshAB1R\r\n5zD+NHEh4cd7NttN32hAYn470mczCGB5NZ29+2a01pXBJMdiFpideaxVmR3E\r\n25I/fM3lyS7OVSqrS24iUnD3yrYKNNRgp8o=\r\n=RkSs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"robincode","email":"xv.robincode@gmail.com"},"directories":{},"maintainers":[{"name":"robincode","email":"xv.robincode@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui_utils_0.0.2_1677054427173_0.6245735568520767"},"_hasShrinkwrap":false},"0.0.3":{"name":"@avalon-dota-libs/ui_utils","version":"0.0.3","description":"UI 中的通用库","keywords":["dota2","avalon-dota"],"author":{"name":"AvalonStudio","email":"avalonstudio@163.com"},"homepage":"https://github.com/AvalonStudio/avalon-dota2-library","repository":{"type":"git","url":"git+https://github.com/AvalonStudio/avalon-dota2-library.git"},"license":"MIT","main":"index.js","_id":"@avalon-dota-libs/ui_utils@0.0.3","dist":{"shasum":"a1cb6e7ae3341ec8e800c34aaba6138d30bf382d","integrity":"sha512-S3M1rZIIKNyjwsRfrkxrSeQf3S527s3TnDku96ZZZHcvFb3DEpwfsCKvQCDXAmTqMKEjFamVVimZOtzFdFuhbQ==","tarball":"https://registry.npmjs.org/@avalon-dota-libs/ui_utils/-/ui_utils-0.0.3.tgz","fileCount":5,"unpackedSize":5446,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaseNKnWe7vNMtY+mlTMus+YXvfLnqu70Ntc1WHzf5QwIgI+Jz9aYrZkP/emsmpQHq4KRFuKRHBOiATuJh2QHJfnk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/MA6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroKRAAjmAnIww1RJ+k/DsC77VVNvDFCh7twXzsGSJ9G/TZbAEQRweZ\r\n5NDrMsXoZdHuNCxvz9tp8YmGJnmbr+p6i3fgoThQVVZJCaOCl+X4SlXvnxQ2\r\nr3yfdmoPySBApOrS/Jc+Ej5F8Lv9dZH3xnPDTaKxIDljNCR7+XQTMSzTCeQA\r\nu4v2uONdLjZbK34/WAF/B3rdPHxWnuyd5pp1tN4YCmpwzJWVNpg2r1sdmbTD\r\nmk3SS86It/hzALhin0I0tVtmqd88arOeGrgW59U+9yYOGQdlzD+bBlaj0Sb3\r\ntgdy3J1DXr1V6TEFpkD///DkteoPnvMpZUevBJnfTAS/SNxLnJnQDpc4HQoi\r\n9qeRcGH41Sz3klXvofTGlYSHB1eDhkAAtmzpij+llp822Swlh3gFr6OVtyUH\r\nOm1LBL3DuzldDjaM0OPCEwQUbQ3siDn53lqBcCCnms0NH6CDVZPCr7/Xb15I\r\nU4Ciok6P+Az6wOJWg6xYii1Z/U4ezi1sESeGzE42jbzbm4jCGEA/urXcKPOV\r\nAtcy44V9nSx+b5uWNjOI6caq6LgVdUzeOsmxjr4ZzQiIpZdoFiN12OVLoASV\r\nIpdW7B0WAgWclqGP+Rx/yYJRNJnXT8eeHSSIIKDDTDH7MochU3YBTVgbSZcg\r\npI2rJAqCX28go4VANjdpDx3eBuf7zQR2qNo=\r\n=8Tj6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"robincode","email":"xv.robincode@gmail.com"},"directories":{},"maintainers":[{"name":"robincode","email":"xv.robincode@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui_utils_0.0.3_1677508666770_0.6289630535894246"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-21T09:16:46.304Z","0.0.1":"2023-02-21T09:16:46.508Z","modified":"2023-02-28T07:12:01.476Z","0.0.2":"2023-02-22T08:27:07.367Z","0.0.3":"2023-02-27T14:37:46.949Z"},"maintainers":[{"email":"npm@npmjs.com","name":"npm"}],"description":"UI 中的通用库","homepage":"https://github.com/AvalonStudio/avalon-dota2-library","keywords":["dota2","avalon-dota"],"repository":{"type":"git","url":"git+https://github.com/AvalonStudio/avalon-dota2-library.git"},"author":{"name":"AvalonStudio","email":"avalonstudio@163.com"},"license":"MIT","readme":"# @avalon-dota-libs/ui_utils\n\nUI 中的通用库\n\n# hex\n\n`hex(buf: string | Uint8Array): string`\n\n转换字符串为 HEX 字符串\n\n```ts\nimport { hex } from '@avalon-dota-libs/ui_utils';\n$.Msg(hex('test'));\n```\n\n# EventEmitter\n\n类似 NodeJS 的\n[EventEmitter](https://nodejs.org/dist/latest-v18.x/docs/api/events.html#class-eventemitter)\n\n```ts\nimport { EventEmitter } from '@avalon-dota-libs/ui_utils';\n\ninterface MyEventTable {\n    down: [key: string, ctrl: boolean];\n    up: [key: string, ctrl: boolean];\n}\n\n// 创建\nconst emitter = new EventEmitter<MyEventTable>();\nemitter.on('down', $('#MyButton'), function (key, ctrl) {\n    $.Msg(key, ' ', ctrl);\n});\n\n// 发送事件\nemitter.emit('down', 'Q', false);\n\n// 继承\nclass MyEmitter extends EventEmitter<MyEventTable> {}\n```\n\n<!-- prettier-ignore -->\n> on 和 once 的第二个参数是绑定的 Panel，如果 Panel 被删除则不会触发并且自动移除掉，这对于重载非常有用\n","readmeFilename":"README.md"}