{"_id":"@dreamkidd/univer-plugin-rtl-tools","_rev":"3-370b13d424b57038ac1234972d6b0ce4","name":"@dreamkidd/univer-plugin-rtl-tools","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@dreamkidd/univer-plugin-rtl-tools","version":"0.1.0","keywords":["univer","plugin","rtl","bidi","spreadsheet","arabic","hebrew"],"author":{"name":"Dream Kidd"},"license":"MIT","_id":"@dreamkidd/univer-plugin-rtl-tools@0.1.0","maintainers":[{"name":"dreamkidd","email":"zhangyang911120@gmail.com"}],"homepage":"https://github.com/dreamkidd/univer-plugin-rtl-tools#readme","bugs":{"url":"https://github.com/dreamkidd/univer-plugin-rtl-tools/issues"},"dist":{"shasum":"69d0f18834a91b8342504d9d8ce458f77acb8ba1","tarball":"https://registry.npmjs.org/@dreamkidd/univer-plugin-rtl-tools/-/univer-plugin-rtl-tools-0.1.0.tgz","fileCount":9,"integrity":"sha512-L3pFK8nT4ozylAu90Aavt3KG5hYwcPO+HFf5mczuwmJPUwS+9BgbdEV5y//b9e3GwKcCK07oUS1/xl61bpLfig==","signatures":[{"sig":"MEQCIEDLaz3ybJhSzJxvAf6yZ9I4bmQBkCYp3XywvY1Rot9yAiA6yDRPH4mu4opqSOhAGzcbBlvkX6f56F/dpS6XrMzuvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204201},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"57d6321b597326bb016672de3258375e4acc5be5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsup","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dreamkidd","email":"zhangyang911120@gmail.com"},"repository":{"url":"git+https://github.com/dreamkidd/univer-plugin-rtl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A Univer plugin to provide UI tools and smart detection for Right-To-Left (RTL) text layout.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.3","dependencies":{"bidi-js":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^28.1.0","vitest":"^4.0.18","typescript":"^5.0.0","@types/node":"^20.19.34","@univerjs/ui":"^0.4.0","@univerjs/core":"^0.4.0"},"peerDependencies":{"@univerjs/ui":">=0.4.0","@univerjs/core":">=0.4.0","@univerjs/engine-render":">=0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/univer-plugin-rtl-tools_0.1.0_1772179993633_0.250912612813621","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dreamkidd/univer-plugin-rtl-tools","version":"0.2.0","keywords":["univer","plugin","rtl","bidi","spreadsheet","arabic","hebrew"],"author":{"name":"Dream Kidd"},"license":"MIT","_id":"@dreamkidd/univer-plugin-rtl-tools@0.2.0","maintainers":[{"name":"dreamkidd","email":"zhangyang911120@gmail.com"}],"homepage":"https://github.com/dreamkidd/univer-plugin-rtl-tools#readme","bugs":{"url":"https://github.com/dreamkidd/univer-plugin-rtl-tools/issues"},"dist":{"shasum":"28ac749a4d3240ba9d8b7c4b35b35f618a8d99fe","tarball":"https://registry.npmjs.org/@dreamkidd/univer-plugin-rtl-tools/-/univer-plugin-rtl-tools-0.2.0.tgz","fileCount":9,"integrity":"sha512-JTtcU/fuX0zEKHVQpleKtXA1kXsM9d0brUj6yA7dvEZc9VM6xH4Jm7aqiozqqNFyCgyLhXSXR9yKA53nVQlwug==","signatures":[{"sig":"MEYCIQCjT8KJRsJq4d7+TuGJo0AwVsNcNVEvdys45Rtczip1PwIhAKWU1L4Qgir4SdS3J6Obs6/LGd412CUsR5iVk4NtL22k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233757},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"199200154afc91fac7c56f430da48ad81f5285c0","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsup","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dreamkidd","email":"zhangyang911120@gmail.com"},"repository":{"url":"git+https://github.com/dreamkidd/univer-plugin-rtl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A Univer plugin to provide UI tools and smart detection for Right-To-Left (RTL) text layout.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.3","dependencies":{"bidi-js":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","jsdom":"^28.1.0","vitest":"^4.0.18","typescript":"^5.0.0","@types/node":"^20.19.34","@univerjs/ui":"^0.4.0","@univerjs/core":"^0.4.0"},"peerDependencies":{"@univerjs/ui":">=0.4.0","@univerjs/core":">=0.4.0","@univerjs/engine-render":">=0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/univer-plugin-rtl-tools_0.2.0_1772194945892_0.5111577684672794","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dreamkidd/univer-plugin-rtl-tools","version":"0.3.0","description":"A Univer plugin to provide UI tools and smart detection for Right-To-Left (RTL) text layout.","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"sideEffects":false,"scripts":{"dev":"tsup --watch","build":"tsup","lint":"tsc --noEmit","test":"vitest run","test:watch":"vitest","prepublishOnly":"npm run build"},"keywords":["univer","plugin","rtl","bidi","spreadsheet","arabic","hebrew"],"author":{"name":"Dream Kidd"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dreamkidd/univer-plugin-rtl-tools.git"},"peerDependencies":{"@univerjs/core":">=0.4.0","@univerjs/engine-render":">=0.4.0","@univerjs/ui":">=0.4.0"},"devDependencies":{"@types/node":"^20.19.34","@univerjs/core":"^0.4.0","@univerjs/ui":"^0.4.0","jsdom":"^28.1.0","tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^4.0.18"},"dependencies":{},"_id":"@dreamkidd/univer-plugin-rtl-tools@0.3.0","gitHead":"57c83c046fe1a42d2a29f5c1c0be27fcafdc7e61","bugs":{"url":"https://github.com/dreamkidd/univer-plugin-rtl-tools/issues"},"homepage":"https://github.com/dreamkidd/univer-plugin-rtl-tools#readme","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-DkCRBRdnGiSsasmdfHEvcvRLTG69zsTBJxZRBSBY78ypTIAyX5BVqGNz+5yJRsLjsXT7Eoj0x/eN95626TDoNQ==","shasum":"cd6555a58fe2b65002a1fb694859cf2f15029553","tarball":"https://registry.npmjs.org/@dreamkidd/univer-plugin-rtl-tools/-/univer-plugin-rtl-tools-0.3.0.tgz","fileCount":9,"unpackedSize":179934,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHxg7a1riP2N5Et9MSWCrKWHfi1oKiMhBTu2fYIZDsG1AiBA1sPh4WxnXLC0ttN8WFdxihKhIOsK4nl+B6vyp8/beQ=="}]},"_npmUser":{"name":"dreamkidd","email":"zhangyang911120@gmail.com"},"directories":{},"maintainers":[{"name":"dreamkidd","email":"zhangyang911120@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/univer-plugin-rtl-tools_0.3.0_1772251557477_0.2881446558305072"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-27T08:13:13.553Z","modified":"2026-02-28T04:05:57.846Z","0.1.0":"2026-02-27T08:13:13.785Z","0.2.0":"2026-02-27T12:22:26.053Z","0.3.0":"2026-02-28T04:05:57.728Z"},"bugs":{"url":"https://github.com/dreamkidd/univer-plugin-rtl-tools/issues"},"author":{"name":"Dream Kidd"},"license":"MIT","homepage":"https://github.com/dreamkidd/univer-plugin-rtl-tools#readme","keywords":["univer","plugin","rtl","bidi","spreadsheet","arabic","hebrew"],"repository":{"type":"git","url":"git+https://github.com/dreamkidd/univer-plugin-rtl-tools.git"},"description":"A Univer plugin to provide UI tools and smart detection for Right-To-Left (RTL) text layout.","maintainers":[{"name":"dreamkidd","email":"zhangyang911120@gmail.com"}],"readme":"# Univer RTL Tools Plugin\n\n`univer-plugin-rtl-tools` is an extension for the [Univer](https://univer.ai) spreadsheet and document platform. It provides a set of UI tools and utilities specifically designed to improve the experience of handling Right-To-Left (RTL) languages such as Arabic, Persian, and Hebrew within Univer.\n\n> **Status:** 🚧 Work in Progress (WIP). This plugin is currently a scaffold and serves as a bridging tool while waiting for deeper RTL layout support in the core Univer rendering engine.\n\n## Features (Planned)\n\n- 🎛 **Toolbar Integration**: Adds a quick-toggle button to the Univer toolbar for switching RTL contexts.\n- 🧠 **Smart Detection**: Automatically detects RTL language input (e.g., Arabic/Persian Unicode blocks) in cells and prompts the user to adjust the layout/direction.\n- 🌐 **Seamless UI Hooking**: Built on top of Univer's Plugin and Dependency Injection (DI) architecture.\n\n## Installation\n\n```bash\nnpm install univer-plugin-rtl-tools\n```\n\n## Usage\n\nRegister the plugin when initializing your Univer instance:\n\n```typescript\nimport { Univer } from '@univerjs/core';\nimport { UniverRtlToolsPlugin } from 'univer-plugin-rtl-tools';\n\nconst univer = new Univer();\n\n// Register core plugins first...\n// univer.registerPlugin(UniverSheetsUIPlugin);\n\n// Register the RTL Tools plugin\nuniver.registerPlugin(UniverRtlToolsPlugin);\n```\n\n## Development\n\nThis project uses `tsup` for extremely fast, zero-config bundling.\n\n1. **Install dependencies:**\n   ```bash\n   npm install\n   ```\n2. **Start development watch mode:**\n   ```bash\n   npm run dev\n   ```\n3. **Build for production:**\n   ```bash\n   npm run build\n   ```\n\n## Architecture\n\nThis plugin follows the standard Univer architecture:\n- `UniverRtlToolsPlugin`: The main entry point that registers the lifecycle hooks.\n- `RtlUIController`: Handles the injection of UI elements (like the toolbar button) using `IMenuManagerService`.\n- `ToggleRtlCommand`: The command that executes the state mutation when the UI is interacted with.\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/dreamkidd/univer-plugin-rtl-tools/issues).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}