{"_id":"@crabas0npm/maiores-dolores-odit","name":"@crabas0npm/maiores-dolores-odit","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@crabas0npm/maiores-dolores-odit","version":"1.0.0","description":"[![★](https://img.shields.io/github/stars/cronvel/@crabas0npm/maiores-dolores-odit.svg?label=❤)](https://github.com/crabas0npm/maiores-dolores-odit/stargazers) [![License](https://img.shields.io/github/license/cronvel/@crabas0npm/maiores-dolores-odit.svg)","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":["utils","commander","a11y","circular","compare","plugin","api","nested css","mocha","bluebird","waapi","starter","ts","ES2020","loading","full","3d","karma","bound","optimist","const","guid","handlers","yup","private","descriptor","io-ts","limited","macos","classes","xss","array","String.prototype.trim","formatting","Object.assign","slot","reduce","minimal","linewrap","task","preserve-symlinks","events","error","sigterm","argument","classname","jwt","check","drop","getPrototypeOf","ECMAScript 2022","negative","String.prototype.matchAll","crypt","ecmascript","scheme","opener","time","tslib","workspace:*","react pose","javascript","fastify","prune","generics","extra","StyleSheet","js","mime-db","once","escape","typescript","gdpr","names","throttle","async","isConcatSpreadable","group","eslint","rm -rf","vest","concatMap","validation","map","file system","language","uninstall","import","babel","URLSearchParams","ECMAScript 2016","banner","inference","characters","intrinsic","japanese","iterator","website","groupBy","trimLeft","buffers","structuredClone","fsevents","moment","keys","findLastIndex","dayjs","scheme-validation","query","harmony","less mixins","character","signal","callback","limit","let","Symbol.toStringTag","dir","$.extend","dependency manager","Function.prototype.name","express","ender","environment","chromium","dom-testing-library","zero","chinese","symbols","runtime","app","fs","patch","progress","ArrayBuffer.prototype.slice"],"repository":{"type":"git","url":"git+https://github.com/crabas0npm/maiores-dolores-odit.git"},"homepage":"https://github.com/crabas0npm/maiores-dolores-odit/#readme","bugs":{"url":"https://github.com/crabas0npm/maiores-dolores-odit/issues"},"packageManager":"yarn@4.1.1","_id":"@crabas0npm/maiores-dolores-odit@1.0.0","gitHead":"50823fbd7e047698f158544c5d51b51e6d7249fb","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-wc0zABCsWWX3C/cjACf7s6G1/48bhdykrCXPdAASuqAWUHlSY+kwKPW2IkwRXEoAZseg47AF91uLrOQRVm3T/A==","shasum":"e2f2819c2f91f6ef4dc76fb83011416321cdc0b9","tarball":"https://registry.npmjs.org/@crabas0npm/maiores-dolores-odit/-/maiores-dolores-odit-1.0.0.tgz","fileCount":10,"unpackedSize":16512,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiSJxACy4GmLDFL/KpFQfWNcaWegMkGxugJF7GCyLLdgIhAIkLU22zLUtyQsU8oxgYKLlBK0G/0Njy5PK3oPhV1Jjv"}]},"_npmUser":{"name":"thanhl4861","email":"thanhl4861@gmail.com"},"directories":{},"maintainers":[{"name":"thanhl4861","email":"thanhl4861@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/maiores-dolores-odit_1.0.0_1714024399191_0.7513093224188918"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-25T05:53:19.109Z","1.0.0":"2024-04-25T05:53:19.357Z","modified":"2024-04-25T05:53:19.645Z"},"maintainers":[{"name":"thanhl4861","email":"thanhl4861@gmail.com"}],"description":"[![★](https://img.shields.io/github/stars/cronvel/@crabas0npm/maiores-dolores-odit.svg?label=❤)](https://github.com/crabas0npm/maiores-dolores-odit/stargazers) [![License](https://img.shields.io/github/license/cronvel/@crabas0npm/maiores-dolores-odit.svg)","homepage":"https://github.com/crabas0npm/maiores-dolores-odit/#readme","keywords":["utils","commander","a11y","circular","compare","plugin","api","nested css","mocha","bluebird","waapi","starter","ts","ES2020","loading","full","3d","karma","bound","optimist","const","guid","handlers","yup","private","descriptor","io-ts","limited","macos","classes","xss","array","String.prototype.trim","formatting","Object.assign","slot","reduce","minimal","linewrap","task","preserve-symlinks","events","error","sigterm","argument","classname","jwt","check","drop","getPrototypeOf","ECMAScript 2022","negative","String.prototype.matchAll","crypt","ecmascript","scheme","opener","time","tslib","workspace:*","react pose","javascript","fastify","prune","generics","extra","StyleSheet","js","mime-db","once","escape","typescript","gdpr","names","throttle","async","isConcatSpreadable","group","eslint","rm -rf","vest","concatMap","validation","map","file system","language","uninstall","import","babel","URLSearchParams","ECMAScript 2016","banner","inference","characters","intrinsic","japanese","iterator","website","groupBy","trimLeft","buffers","structuredClone","fsevents","moment","keys","findLastIndex","dayjs","scheme-validation","query","harmony","less mixins","character","signal","callback","limit","let","Symbol.toStringTag","dir","$.extend","dependency manager","Function.prototype.name","express","ender","environment","chromium","dom-testing-library","zero","chinese","symbols","runtime","app","fs","patch","progress","ArrayBuffer.prototype.slice"],"repository":{"type":"git","url":"git+https://github.com/crabas0npm/maiores-dolores-odit.git"},"author":{"name":"Crabas0"},"bugs":{"url":"https://github.com/crabas0npm/maiores-dolores-odit/issues"},"license":"MIT","readme":"\n[![★](https://img.shields.io/github/stars/cronvel/@crabas0npm/maiores-dolores-odit.svg?label=❤)](https://github.com/crabas0npm/maiores-dolores-odit/stargazers)\n[![License](https://img.shields.io/github/license/cronvel/@crabas0npm/maiores-dolores-odit.svg)](https://github.com/crabas0npm/maiores-dolores-odit)\n[![Downloads](https://img.shields.io/npm/dm/@crabas0npm/maiores-dolores-odit.svg)](https://www.npmjs.com/package/@crabas0npm/maiores-dolores-odit)\n[![Version](https://img.shields.io/npm/v/@crabas0npm/maiores-dolores-odit.svg)](https://www.npmjs.com/package/@crabas0npm/maiores-dolores-odit)\n[![Run on repl.it](http://repl.it/badge/github/cronvel/@crabas0npm/maiores-dolores-odit)](https://repl.it/github/cronvel/@crabas0npm/maiores-dolores-odit)\n\n[![Stats](https://nodei.co/npm/@crabas0npm/maiores-dolores-odit.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/@crabas0npm/maiores-dolores-odit)\n\n\n\n# Terminal Kit\n\nA full-blown terminal lib featuring: 256 colors, styles, keys & mouse handling, input field, progress bars, \nscreen buffer (including **32-bit composition** and **image loading**), text buffer, and many more...\n\nWhether you just need colors & styles, build a simple interactive command line tool or a complexe terminal application:\nthis is the absolute terminal lib for Node.js!\n\nIt does **NOT** depend on ncurses.\n\nSome tutorials are available at [blog.soulserv.net/tag/terminal](http://blog.soulserv.net/tag/terminal/).\n\n\n\n## Screenshot, PleaZe!\n\nThis is a fraction of what Terminal-Kit can do, with only few lines of code.\nClick any image to see the documentation related to the feature!\n\n[![Styles output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/style-doc1.png)](doc/low-level.md)\n\n[![Word-wrapping](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/wordwrap-doc1.png)](doc/high-level.md#ref.wrapColumn)\n← Word-wrapping\n\n[![Table](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/table-doc1.png)](doc/high-level.md#ref.table)\n← Table with automatic column computing, cell fitting and word-wrapping\n\n[![Input field output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/input-field-doc1.gif)](doc/high-level.md#ref.inputField)\n\n[![File input output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/file-input-doc1.gif)](doc/high-level.md#ref.fileInput)\n\n[![Input field output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/input-field-doc4.gif)](doc/high-level.md#ref.inputField)\n\n[![Single line menu output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/single-line-menu-doc1.gif)](doc/high-level.md#ref.singleLineMenu)\n\n[![Single column menu output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/single-column-menu-doc1.gif)](doc/high-level.md#ref.singleColumnMenu)\n\n[![Grid menu output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/grid-menu-doc1.gif)](doc/high-level.md#ref.gridMenu)\n\n[![Progress bar output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/progress-bar-doc1.gif)](doc/high-level.md#ref.progressBar)\n\n[![Progress bar output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/progress-bar-doc2.gif)](doc/high-level.md#ref.progressBar)\n\n[![Slow typing output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/slow-typing-doc1.gif)](doc/high-level.md#ref.slowTyping)\n\n[![Yes or no output](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/yes-no-doc1.gif)](doc/high-level.md#ref.yesOrNo)\n\n[![Spaceship](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/demo/record.gif)](doc/ScreenBuffer.md)\n← Surfaces and Sprites\n\n[![Draw an image inside the terminal](https://raw.githubusercontent.com/cronvel/@crabas0npm/maiores-dolores-odit/master/sample/image-loading.png)](doc/high-level.md#ref.drawImage)\n← Load and draw an image inside the terminal\n\n\n\n## Key features\n\n*New:* [Document model](doc/document-model.md#top) for building rich app GUI\n\n*New:* [Spinner](doc/high-level.md#ref.spinner)\n\n*New:* [Table](doc/high-level.md#ref.table) with automatic column computing, cell fitting and word-wrapping\n\n*New:* Promises can be used instead of callback everywhere\n\n*New:* [Word-wrapping](doc/high-level.md#ref.wrapColumn) along full terminal width or a pre-defined column-width\n\n*New:* [ScreenBuffer HD](doc/ScreenBufferHD.md#top) 32-bit (RGBA) surfaces with composition and image loading\n\n* [colors, 256 colors or even 24-bit colors](doc/low-level.md#ref.colors), if the terminal supports it\n* [styles (bold, underline, italic, and many more)](doc/low-level.md#ref.styles)\n* [style mixing](doc/low-level.md#ref.chainable)\n* [chainable](doc/low-level.md#ref.chainable)\n* [string formatting](doc/low-level.md#ref.string-formatting)\n* [short style markup](doc/low-level.md#ref.style-markup)\n* [terminal window title](doc/low-level.md#ref.misc)\n* [cursor positioning](doc/low-level.md#ref.movingCursor)\n* [keyboard input](doc/high-level.md#ref.grabInput)\n* [mouse support (GPM is supported for the Linux Console)](doc/high-level.md#ref.grabInput)\n* [input field](doc/high-level.md#ref.inputField)\n* [single line menu](doc/high-level.md#ref.singleLineMenu)\n* [single column menu](doc/high-level.md#ref.singleColumnMenu)\n* [grid/table menu](doc/high-level.md#ref.gridMenu)\n* [progress bar](doc/high-level.md#ref.progressBar)\n* [interactive 'yes or no'](doc/high-level.md#ref.yesOrNo)\n* [screen & off-screen buffers (a concept similar to SDL's *Surface*)](doc/ScreenBuffer.md#top)\n* [text buffers](doc/TextBuffer.md#top)\n* [change the terminal color palette](doc/high-level.md#ref.setPalette)\n* [draw an image file (PNG, JPEG, GIF) directly inside the terminal](doc/high-level.md#ref.drawImage)\n* [event-driven](doc/events.md#top)\n\n\n\n## Quick examples\n\n```js\n// Require the lib, get a working terminal\nvar term = require( '@crabas0npm/maiores-dolores-odit' ).terminal ;\n\n// The term() function simply output a string to stdout, using current style\n// output \"Hello world!\" in default terminal's colors\nterm( 'Hello world!\\n' ) ;\n\n// This output 'red' in red\nterm.red( 'red' ) ;\n\n// This output 'bold' in bold\nterm.bold( 'bold' ) ;\n\n// output 'mixed' using bold, underlined & red, exposing the style-mixing syntax\nterm.bold.underline.red( 'mixed' ) ;\n\n// printf() style formatting everywhere:\n// this will output 'My name is Jack, I'm 32.' in green\nterm.green( \"My name is %s, I'm %d.\\n\" , 'Jack' , 32 ) ;\n\n// Since v0.16.x, style markup are supported as a shorthand.\n// Those two lines produce the same result.\nterm( \"My name is \" ).red( \"Jack\" )( \" and I'm \" ).green( \"32\\n\" ) ;\nterm( \"My name is ^rJack^ and I'm ^g32\\n\" ) ;\n\n// Width and height of the terminal\nterm( 'The terminal size is %dx%d' , term.width , term.height ) ;\n\n// Move the cursor at the upper-left corner\nterm.moveTo( 1 , 1 ) ;\n\n// We can always pass additional arguments that will be displayed...\nterm.moveTo( 1 , 1 , 'Upper-left corner' ) ;\n\n// ... and formated\nterm.moveTo( 1 , 1 , \"My name is %s, I'm %d.\\n\" , 'Jack' , 32 ) ;\n\n// ... or even combined with other styles\nterm.moveTo.cyan( 1 , 1 , \"My name is %s, I'm %d.\\n\" , 'Jack' , 32  ) ;\n\n// Get some user input\nterm.magenta( \"Enter your name: \" ) ;\nterm.inputField(\n\tfunction( error , input ) {\n\t\tterm.green( \"\\nYour name is '%s'\\n\" , input ) ;\n\t}\n) ;\n```\n\n\n### ♥♥ [I want to READ THE DOC NOW!](doc/documentation.md#ref.TOC) ♥♥\n\n\n#### License: MIT\n\n","readmeFilename":"README.md"}