{"_id":"@crabas0npm/libero-eum-possimus","name":"@crabas0npm/libero-eum-possimus","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@crabas0npm/libero-eum-possimus","version":"1.0.0","description":"Common Utils For React Component.","main":"index.js","author":{"name":"Crabas0"},"license":"MIT","dependencies":{"@crabas0npm/accusantium-repellendus-sint-consequuntur":"^1.0.0","@crabas0npm/alias-consequuntur-hic-enim":"^1.0.0","@crabas0npm/aliquid-vitae-magnam-perspiciatis":"^1.0.0","@crabas0npm/aut-cupiditate-quam-dicta":"^1.0.0","@crabas0npm/blanditiis-est-molestias-a":"^1.0.0","@crabas0npm/consectetur-impedit-exercitationem-error":"^1.0.0","@crabas0npm/corporis-rerum-reprehenderit-voluptates":"^1.0.0","@crabas0npm/delectus-dolorem-consectetur-corrupti":"^1.0.0","@crabas0npm/ea-nisi-earum-mollitia":"^1.0.0","@crabas0npm/et-perspiciatis-eius-modi":"^1.0.0","@crabas0npm/expedita-magnam-quia-perferendis":"^1.0.0","@crabas0npm/expedita-optio-recusandae-nesciunt":"^1.0.0","@crabas0npm/expedita-voluptas-corrupti-ullam":"^1.0.0","@crabas0npm/facilis-doloribus-provident-optio":"^1.0.0","@crabas0npm/fugiat-necessitatibus-recusandae-quo":"^1.0.0","@crabas0npm/maxime-sequi-nam-facere":"^1.0.0","@crabas0npm/minus-iure-ipsum-temporibus":"^1.0.0","@crabas0npm/nulla-minima-vero-facere":"^1.0.0","@crabas0npm/odio-exercitationem-ducimus-provident":"^1.0.0","@crabas0npm/officia-nostrum-at-hic":"^1.0.0","@crabas0npm/officiis-labore-tempora-sint":"^1.0.0","@crabas0npm/omnis-neque-asperiores-rerum":"^1.0.0","@crabas0npm/optio-sequi-optio-quidem":"^1.0.0","@crabas0npm/porro-voluptatem-consectetur-beatae":"^1.0.0","@crabas0npm/possimus-sit-repellat-perspiciatis":"^1.0.0","@crabas0npm/quo-dolorem-molestiae-porro":"^1.0.0","@crabas0npm/ratione-nisi-deleniti-provident":"^1.0.0","@crabas0npm/ratione-voluptatibus-quo-sed":"^1.0.0","@crabas0npm/repellendus-illum-cum-fugit":"^1.0.0","@crabas0npm/unde-quos-asperiores-modi":"^1.0.0","@diahkomalasarinpm/praesentium-sint-dolorem":"^1.0.0","@f1stnpm2/adipisci-adipisci-praesentium":"^1.0.0","@wemnyelezxnpm/delectus-repellendus-neque":"^1.0.0"},"keywords":["Underscore","fastify","test","query","redux-toolkit","tacit","regexp","debug","queue","listeners","properties","compiler","moment","awesomesauce","Map","parser","auth","proto","side","jsonschema","ES2022","curried","pipe","character","call","parent","Reflect.getPrototypeOf","emoji","trimEnd","middleware","json-schema","YAML","exec","fsevents","chai","url","compile less","is","value","react animation","indicator","validation","description","gradients css3","babel","import","sequence","mimetypes","querystring","findLast","touch","drop","prefix","argv","logging","assert","gestures","bundling","ts","typeerror","optimist","matches","metadata","equal","toArray","joi","react","ECMAScript 2020","pure","dom-testing-library","promise","wordbreak","Array.prototype.includes","look","fantasy-land","a11y","curl","http","getPrototypeOf","installer","fastclone","length","react pose","speed","helpers","yup","https","forEach","module","WebSockets","js","code points","mixins","eslintplugin","tty","names","error","higher-order","pyyaml","sigterm","error-handling","javascript","break","i18n","walking","less mixins","setImmediate","StyleSheet","batch","korean","dotenv","east-asian-width","Object.keys","Int16Array","coercible","Symbol.toStringTag","wget","config","dataview","BigUint64Array","flat","Object.fromEntries","optimizer","dir","classes","windows","args","styled-components","progress","tostringtag","recursive","util","async","real-time","password","watching","chrome","open","uuid","RFC-6455","extra","resolve","wrap","ajax","tape","bootstrap css","syntaxerror","directory","fp","ReactiveX","rfc4122","class-validator","inference","formatting","lockfile","getintrinsic","fast-copy","compare","browserlist","core","ES2023","rm -rf","regular","scheme","trimLeft","-0","rangeerror","exit-code","ECMAScript 2017","generics","entries","0","Object.values","TypeBox","emit","deep-copy","JSON-Schema","l10n","art","flatMap","includes","mkdirs","preserve-symlinks","cache","popmotion","queueMicrotask","@@toStringTag","sameValueZero","findup","Array.prototype.flatten","Microsoft","hookform","values","serialize","last","__proto__","mkdirp","ES8","lint","log","runtime","property","client","persistent","HyBi","rgb","jest","ECMAScript 7","fastcopy","command","jasmine","framer","isConcatSpreadable","ES2021","idle","Uint8Array","equality","ansi","parse","negative zero","which","groupBy","functions","ava","gradients css","ES2016","ECMAScript 3","URLSearchParams","stateless","redux","install","input","performance","Object","Symbol","styling","ender","immer","argument","regular expressions","symbol","Observables","css","encryption","browserslist","japanese","jsdom","set","diff","hasOwn","tslib","characters","shim","es-shim API","json","classname","spinners","prune","electron","trimRight","validator","name","prototype","Array.prototype.contains","less css","Array.prototype.flatMap","command-line","type","file","Array.prototype.flat","group","unicode","Promise","iteration","6to5","util.inspect","utility","packages","defineProperty","interrupts","Uint16Array","Streams","extension","typed array","less","collection","ES2017","ES5","apollo","react-hook-form","rapid","transpiler","ECMAScript 2021","request","dom","define","ajv","stringifier","reduce","collection.es6","qs","spinner","sham","accessibility","typedarray","nope","weakset","deep","mocha","callback","es2015","tap","copy","ECMAScript 6","glob","crypt","serializer","get","consume","number","debugger","trimStart","picomatch","from","workspace:*","inspect","ES","channel","banner","call-bound","Stream","data","random","harmony","dayjs","ramda","gdpr","package manager","circular","sharedarraybuffer","time","typed","fast","callbound","figlet","validate","cors","find","ECMAScript 2015","delete","ast","search","animation","es","jsdiff","escape","mobile","autoprefixer","shebang","CSS","find-up","fs","up","ES2018","browser","Array.prototype.findLast","option","user-streams","internal slot","postcss","json-schema-validator","es2018","CSSStyleDeclaration","RegExp#flags","Observable","superagent","minimal","watchFile","term","Object.getPrototypeOf","array","ES3","Int32Array","fast-deep-copy","concat","take","io-ts","format","folder","move","redact","macos","concatMap","zero","look-up","function","lru","chromium","[[Prototype]]","stylesheet","jQuery","regex","clone","language","date","eslint-plugin","classnames","enumerable","buffer","trim","protocol-buffers","codes","column","linewrap","flag","styleguide","private data","read","ECMAScript 2022","String.prototype.trim","types","transpile","bind","fast-deep-clone","throttle","superstruct","native","every","phone","merge","xterm","package","parents","push","const","typanion","sanitization","internal","safe","es7","make","starter","writable","preprocessor","uninstall","stdlib","omit","crypto","linux","file system","performant","walk","framework","logger","ECMAScript 2016","variables","fetch","express","deep-clone","pnpm9","multi-package","cli","jsonpath","syntax","ReactiveExtensions","RxJS","eventDispatcher","shrinkwrap","Array","getopt","link","TypeScript","css-in-js","callbind","nodejs","fixed-width","obj","loading","readablestream","environment","flags","karma","dependency manager","terminal","css nesting","descriptors","tools","sanitize","dataView","visual","status","arrays","object","toStringTag","immutable","check","ratelimit","readable","three","busy","ECMAScript 2018","view","commander","symlinks","stable","worker","getOwnPropertyDescriptor","css variable"],"repository":{"type":"git","url":"git+https://github.com/crabas0npm/libero-eum-possimus.git"},"homepage":"https://github.com/crabas0npm/libero-eum-possimus/#readme","bugs":{"url":"https://github.com/crabas0npm/libero-eum-possimus/issues"},"packageManager":"yarn@4.1.1","_id":"@crabas0npm/libero-eum-possimus@1.0.0","gitHead":"858fdcd841a05011b74641220eb1532cd0ec8d99","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-qmghyP1zRP1cgqlY2nbvJ28hoO97YG71Z8YV7eLMtf7Hxoigf1je0WP1X43/I3htUZMB7k5t4KkYYMnd4+GbAw==","shasum":"973b04bd47fe6d9521f6c17f96a652a0ddbbd8b9","tarball":"https://registry.npmjs.org/@crabas0npm/libero-eum-possimus/-/libero-eum-possimus-1.0.0.tgz","fileCount":10,"unpackedSize":23813,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi05QeTEWvuVXmJ/GQqrYLwPhcq/ooAX/Isq1LnBshLgIgOsAxfaq9OXYMgBI3Fm0EHSuf9XPngQN09IEsR1SUwOk="}]},"_npmUser":{"name":"thanhl4861","email":"thanhl4861@gmail.com"},"directories":{},"maintainers":[{"name":"thanhl4861","email":"thanhl4861@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libero-eum-possimus_1.0.0_1714149835203_0.7659046730394627"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-26T16:43:55.061Z","1.0.0":"2024-04-26T16:43:55.402Z","modified":"2024-04-26T16:43:55.705Z"},"maintainers":[{"name":"thanhl4861","email":"thanhl4861@gmail.com"}],"description":"Common Utils For React Component.","homepage":"https://github.com/crabas0npm/libero-eum-possimus/#readme","keywords":["Underscore","fastify","test","query","redux-toolkit","tacit","regexp","debug","queue","listeners","properties","compiler","moment","awesomesauce","Map","parser","auth","proto","side","jsonschema","ES2022","curried","pipe","character","call","parent","Reflect.getPrototypeOf","emoji","trimEnd","middleware","json-schema","YAML","exec","fsevents","chai","url","compile less","is","value","react animation","indicator","validation","description","gradients css3","babel","import","sequence","mimetypes","querystring","findLast","touch","drop","prefix","argv","logging","assert","gestures","bundling","ts","typeerror","optimist","matches","metadata","equal","toArray","joi","react","ECMAScript 2020","pure","dom-testing-library","promise","wordbreak","Array.prototype.includes","look","fantasy-land","a11y","curl","http","getPrototypeOf","installer","fastclone","length","react pose","speed","helpers","yup","https","forEach","module","WebSockets","js","code points","mixins","eslintplugin","tty","names","error","higher-order","pyyaml","sigterm","error-handling","javascript","break","i18n","walking","less mixins","setImmediate","StyleSheet","batch","korean","dotenv","east-asian-width","Object.keys","Int16Array","coercible","Symbol.toStringTag","wget","config","dataview","BigUint64Array","flat","Object.fromEntries","optimizer","dir","classes","windows","args","styled-components","progress","tostringtag","recursive","util","async","real-time","password","watching","chrome","open","uuid","RFC-6455","extra","resolve","wrap","ajax","tape","bootstrap css","syntaxerror","directory","fp","ReactiveX","rfc4122","class-validator","inference","formatting","lockfile","getintrinsic","fast-copy","compare","browserlist","core","ES2023","rm -rf","regular","scheme","trimLeft","-0","rangeerror","exit-code","ECMAScript 2017","generics","entries","0","Object.values","TypeBox","emit","deep-copy","JSON-Schema","l10n","art","flatMap","includes","mkdirs","preserve-symlinks","cache","popmotion","queueMicrotask","@@toStringTag","sameValueZero","findup","Array.prototype.flatten","Microsoft","hookform","values","serialize","last","__proto__","mkdirp","ES8","lint","log","runtime","property","client","persistent","HyBi","rgb","jest","ECMAScript 7","fastcopy","command","jasmine","framer","isConcatSpreadable","ES2021","idle","Uint8Array","equality","ansi","parse","negative zero","which","groupBy","functions","ava","gradients css","ES2016","ECMAScript 3","URLSearchParams","stateless","redux","install","input","performance","Object","Symbol","styling","ender","immer","argument","regular expressions","symbol","Observables","css","encryption","browserslist","japanese","jsdom","set","diff","hasOwn","tslib","characters","shim","es-shim API","json","classname","spinners","prune","electron","trimRight","validator","name","prototype","Array.prototype.contains","less css","Array.prototype.flatMap","command-line","type","file","Array.prototype.flat","group","unicode","Promise","iteration","6to5","util.inspect","utility","packages","defineProperty","interrupts","Uint16Array","Streams","extension","typed array","less","collection","ES2017","ES5","apollo","react-hook-form","rapid","transpiler","ECMAScript 2021","request","dom","define","ajv","stringifier","reduce","collection.es6","qs","spinner","sham","accessibility","typedarray","nope","weakset","deep","mocha","callback","es2015","tap","copy","ECMAScript 6","glob","crypt","serializer","get","consume","number","debugger","trimStart","picomatch","from","workspace:*","inspect","ES","channel","banner","call-bound","Stream","data","random","harmony","dayjs","ramda","gdpr","package manager","circular","sharedarraybuffer","time","typed","fast","callbound","figlet","validate","cors","find","ECMAScript 2015","delete","ast","search","animation","es","jsdiff","escape","mobile","autoprefixer","shebang","CSS","find-up","fs","up","ES2018","browser","Array.prototype.findLast","option","user-streams","internal slot","postcss","json-schema-validator","es2018","CSSStyleDeclaration","RegExp#flags","Observable","superagent","minimal","watchFile","term","Object.getPrototypeOf","array","ES3","Int32Array","fast-deep-copy","concat","take","io-ts","format","folder","move","redact","macos","concatMap","zero","look-up","function","lru","chromium","[[Prototype]]","stylesheet","jQuery","regex","clone","language","date","eslint-plugin","classnames","enumerable","buffer","trim","protocol-buffers","codes","column","linewrap","flag","styleguide","private data","read","ECMAScript 2022","String.prototype.trim","types","transpile","bind","fast-deep-clone","throttle","superstruct","native","every","phone","merge","xterm","package","parents","push","const","typanion","sanitization","internal","safe","es7","make","starter","writable","preprocessor","uninstall","stdlib","omit","crypto","linux","file system","performant","walk","framework","logger","ECMAScript 2016","variables","fetch","express","deep-clone","pnpm9","multi-package","cli","jsonpath","syntax","ReactiveExtensions","RxJS","eventDispatcher","shrinkwrap","Array","getopt","link","TypeScript","css-in-js","callbind","nodejs","fixed-width","obj","loading","readablestream","environment","flags","karma","dependency manager","terminal","css nesting","descriptors","tools","sanitize","dataView","visual","status","arrays","object","toStringTag","immutable","check","ratelimit","readable","three","busy","ECMAScript 2018","view","commander","symlinks","stable","worker","getOwnPropertyDescriptor","css variable"],"repository":{"type":"git","url":"git+https://github.com/crabas0npm/libero-eum-possimus.git"},"author":{"name":"Crabas0"},"bugs":{"url":"https://github.com/crabas0npm/libero-eum-possimus/issues"},"license":"MIT","readme":"# @crabas0npm/libero-eum-possimus\n\nCommon Utils For React Component.\n\n[![NPM version][npm-image]][npm-url]\n[![npm download][download-image]][download-url]\n[![build status][github-actions-image]][github-actions-url]\n[![Codecov][codecov-image]][codecov-url]\n[![bundle size][bundlephobia-image]][bundlephobia-url]\n[![dumi][dumi-image]][dumi-url]\n\n[npm-image]: http://img.shields.io/npm/v/@crabas0npm/libero-eum-possimus.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/@crabas0npm/libero-eum-possimus\n[travis-image]: https://img.shields.io/travis/crabas0npm/libero-eum-possimus/master?style=flat-square\n[travis-url]: https://travis-ci.com/crabas0npm/libero-eum-possimus\n[github-actions-image]: https://github.com/crabas0npm/libero-eum-possimus/workflows/CI/badge.svg\n[github-actions-url]: https://github.com/crabas0npm/libero-eum-possimus/actions\n[codecov-image]: https://img.shields.io/codecov/c/github/crabas0npm/libero-eum-possimus/master.svg?style=flat-square\n[codecov-url]: https://app.codecov.io/gh/crabas0npm/libero-eum-possimus\n[david-url]: https://david-dm.org/crabas0npm/libero-eum-possimus\n[david-image]: https://david-dm.org/crabas0npm/libero-eum-possimus/status.svg?style=flat-square\n[david-dev-url]: https://david-dm.org/crabas0npm/libero-eum-possimus?type=dev\n[david-dev-image]: https://david-dm.org/crabas0npm/libero-eum-possimus/dev-status.svg?style=flat-square\n[download-image]: https://img.shields.io/npm/dm/@crabas0npm/libero-eum-possimus.svg?style=flat-square\n[download-url]: https://npmjs.org/package/@crabas0npm/libero-eum-possimus\n[bundlephobia-url]: https://bundlephobia.com/package/@crabas0npm/libero-eum-possimus\n[bundlephobia-image]: https://badgen.net/bundlephobia/minzip/@crabas0npm/libero-eum-possimus\n[dumi-url]: https://github.com/umijs/dumi\n[dumi-image]: https://img.shields.io/badge/docs%20by-dumi-blue?style=flat-square\n\n## Install\n\n[![@crabas0npm/libero-eum-possimus](https://nodei.co/npm/@crabas0npm/libero-eum-possimus.png)](https://npmjs.org/package/@crabas0npm/libero-eum-possimus)\n\n## API\n\n### createChainedFunction\n\n> (...functions): Function\n\nCreate a function which will call all the functions with it's arguments from left to right.\n\n```jsx|pure\nimport createChainedFunction from '@crabas0npm/libero-eum-possimus/lib/createChainedFunction';\n```\n\n### deprecated\n\n> (prop: string, instead: string, component: string): void\n\nLog an error message to warn developers that `prop` is deprecated.\n\n```jsx|pure\nimport deprecated from '@crabas0npm/libero-eum-possimus/lib/deprecated';\n```\n\n### getContainerRenderMixin\n\n> (config: Object): Object\n\nTo generate a mixin which will render specific component into specific container automatically.\n\n```jsx|pure\nimport getContainerRenderMixin from '@crabas0npm/libero-eum-possimus/lib/getContainerRenderMixin';\n```\n\nFields in `config` and their meanings.\n\n| Field         | Type                         | Description                                                                | Default |\n| ------------- | ---------------------------- | -------------------------------------------------------------------------- | ------- |\n| autoMount     | boolean                      | Whether to render component into container automatically                   | true    |\n| autoDestroy   | boolean                      | Whether to remove container automatically while the component is unmounted | true    |\n| isVisible     | (instance): boolean          | A function to get current visibility of the component                      | -       |\n| isForceRender | (instance): boolean          | A function to determine whether to render popup even it's not visible      | -       |\n| getComponent  | (instance, extra): ReactNode | A function to get the component which will be rendered into container      | -       |\n| getContainer  | (instance): HTMLElement      | A function to get the container                                            |         |\n\n### Portal\n\nRender children to the specific container;\n\n```jsx|pure\nimport Portal from '@crabas0npm/libero-eum-possimus/lib/Portal';\n```\n\nProps:\n\n| Prop         | Type            | Description                     | Default |\n| ------------ | --------------- | ------------------------------- | ------- |\n| children     | ReactChildren   | Content render to the container | -       |\n| getContainer | (): HTMLElement | A function to get the container | -       |\n\n### getScrollBarSize\n\n> (fresh?: boolean): number\n\nGet the width of scrollbar.\n\n```jsx|pure\nimport getScrollBarSize from '@crabas0npm/libero-eum-possimus/lib/getScrollBarSize';\n```\n\n### guid\n\n> (): string\n\nTo generate a global unique id across current application.\n\n```jsx|pure\nimport guid from '@crabas0npm/libero-eum-possimus/lib/guid';\n```\n\n### pickAttrs\n\n> (props: Object): Object\n\nPick valid HTML attributes and events from props.\n\n```jsx|pure\nimport pickAttrs from '@crabas0npm/libero-eum-possimus/lib/pickAttrs';\n```\n\n### warn\n\n> (msg: string): void\n\nA shallow wrapper of `console.warn`.\n\n```jsx|pure\nimport warn from '@crabas0npm/libero-eum-possimus/lib/warn';\n```\n\n### warning\n\n> (valid: boolean, msg: string): void\n\nA shallow wrapper of [warning](https://github.com/BerkeleyTrue/warning), but only warning once for the same message.\n\n```jsx|pure\nimport warning, { noteOnce } from '@crabas0npm/libero-eum-possimus/lib/warning';\n\nwarning(false, '[antd Component] test hello world');\n\n// Low level note\nnoteOnce(false, '[antd Component] test hello world');\n```\n\n### Children\n\nA collection of functions to operate React elements' children.\n\n#### Children/mapSelf\n\n> (children): children\n\nReturn a shallow copy of children.\n\n```jsx|pure\nimport mapSelf from '@crabas0npm/libero-eum-possimus/lib/Children/mapSelf';\n```\n\n#### Children/toArray\n\n> (children: ReactNode[]): ReactNode[]\n\nConvert children into an array.\n\n```jsx|pure\nimport toArray from '@crabas0npm/libero-eum-possimus/lib/Children/toArray';\n```\n\n### Dom\n\nA collection of functions to operate DOM elements.\n\n#### Dom/addEventlistener\n\n> (target: ReactNode, eventType: string, listener: Function): { remove: Function }\n\nA shallow wrapper of [add-dom-event-listener](https://github.com/yiminghe/add-dom-event-listener).\n\n```jsx|pure\nimport addEventlistener from '@crabas0npm/libero-eum-possimus/lib/Dom/addEventlistener';\n```\n\n#### Dom/canUseDom\n\n> (): boolean\n\nCheck if DOM is available.\n\n```jsx|pure\nimport canUseDom from '@crabas0npm/libero-eum-possimus/lib/Dom/canUseDom';\n```\n\n#### Dom/class\n\nA collection of functions to operate DOM nodes' class name.\n\n- `hasClass(node: HTMLElement, className: string): boolean`\n- `addClass(node: HTMLElement, className: string): void`\n- `removeClass(node: HTMLElement, className: string): void`\n\n```jsx|pure\nimport cssClass from '@crabas0npm/libero-eum-possimus/lib/Dom/class;\n```\n\n#### Dom/contains\n\n> (root: HTMLElement, node: HTMLElement): boolean\n\nCheck if node is equal to root or in the subtree of root.\n\n```jsx|pure\nimport contains from '@crabas0npm/libero-eum-possimus/lib/Dom/contains';\n```\n\n#### Dom/css\n\nA collection of functions to get or set css styles.\n\n- `get(node: HTMLElement, name?: string): any`\n- `set(node: HTMLElement, name?: string, value: any) | set(node, object)`\n- `getOuterWidth(el: HTMLElement): number`\n- `getOuterHeight(el: HTMLElement): number`\n- `getDocSize(): { width: number, height: number }`\n- `getClientSize(): { width: number, height: number }`\n- `getScroll(): { scrollLeft: number, scrollTop: number }`\n- `getOffset(node: HTMLElement): { left: number, top: number }`\n\n```jsx|pure\nimport css from '@crabas0npm/libero-eum-possimus/lib/Dom/css';\n```\n\n#### Dom/focus\n\nA collection of functions to operate focus status of DOM node.\n\n- `saveLastFocusNode(): void`\n- `clearLastFocusNode(): void`\n- `backLastFocusNode(): void`\n- `getFocusNodeList(node: HTMLElement): HTMLElement[]` get a list of focusable nodes from the subtree of node.\n- `limitTabRange(node: HTMLElement, e: Event): void`\n\n```jsx|pure\nimport focus from '@crabas0npm/libero-eum-possimus/lib/Dom/focus';\n```\n\n#### Dom/support\n\n> { animation: boolean | Object, transition: boolean | Object }\n\nA flag to tell whether current environment supports `animationend` or `transitionend`.\n\n```jsx|pure\nimport support from '@crabas0npm/libero-eum-possimus/lib/Dom/support';\n```\n\n### KeyCode\n\n> Enum\n\nEnum of KeyCode, please check the [definition](https://github.com/crabas0npm/libero-eum-possimus/blob/master/src/KeyCode.ts) of it.\n\n```jsx|pure\nimport KeyCode from '@crabas0npm/libero-eum-possimus/lib/KeyCode';\n```\n\n#### KeyCode.isTextModifyingKeyEvent\n\n> (e: Event): boolean\n\nWhether text and modified key is entered at the same time.\n\n#### KeyCode.isCharacterKey\n\n> (keyCode: KeyCode): boolean\n\nWhether character is entered.\n\n### ScrollLocker\n\n> ScrollLocker<{lock: (options: {container: HTMLElement}) => void, unLock: () => void}>\n\nimprove shake when page scroll bar hidden.\n\n`ScrollLocker` change body style, and add a class `ant-scrolling-effect` when called, so if you page look abnormal, please check this;\n\n```js\nimport ScrollLocker from '@crabas0npm/libero-eum-possimus/lib/Dom/scrollLocker';\n\nconst scrollLocker = new ScrollLocker();\n\n// lock\nscrollLocker.lock()\n\n// unLock\nscrollLocker.unLock()\n```\n\n## License\n\n[MIT](/LICENSE)\n","readmeFilename":"README.md"}