{"_id":"@cartridge-engine/confirm-dialog","_rev":"4-324673452f320371b75fa3b4adf59a7f","name":"@cartridge-engine/confirm-dialog","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.1":{"name":"@cartridge-engine/confirm-dialog","version":"1.0.1","keywords":["ink","react","tui","cli","terminal"],"author":{"name":"BAIGAO"},"license":"MIT","_id":"@cartridge-engine/confirm-dialog@1.0.1","maintainers":[{"name":"aigao","email":"3416238595@qq.com"}],"homepage":"https://github.com/BAIGAOa/ink-cartridge#readme","bugs":{"url":"https://github.com/BAIGAOa/ink-cartridge/issues"},"dist":{"shasum":"0c61c6f2fb2ab308aa54653f60c7c92d7b17c4f1","tarball":"https://registry.npmjs.org/@cartridge-engine/confirm-dialog/-/confirm-dialog-1.0.1.tgz","fileCount":8,"integrity":"sha512-Er6AKzQDCMUPXI2t+6U7HidvLXRzxZdUzNFdaVf9Xzv2OsnqFxm3hCXWpXUNsqDKSltj5BdBhm9xxyP24fpeJQ==","signatures":[{"sig":"MEUCIQCwVNuxSPvGmvkqZuD3GS41ZIa8XNB3sTieTNQ2NZKNqQIgcxwwyGUv7xn2lG/Q2UZe/f3bg9UNDwdkCtxJVLuq/io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7342},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e03365aa4e613615fb41921353a7ad2c216b4bfb","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"aigao","email":"3416238595@qq.com"},"repository":{"url":"git+https://github.com/BAIGAOa/ink-cartridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Text input with focus management","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","react":"^19.2.4","vitest":"^4.1.5","typescript":"^5.9.3","@types/node":"^20.19.39","@types/react":"^19.2.14","ink-cartridge":"*","ink-testing-library":"^4.0.0"},"peerDependencies":{"ink":">=5","react":">=18","ink-cartridge":"*"},"_npmOperationalInternal":{"tmp":"tmp/confirm-dialog_1.0.1_1785838765849_0.7499037940141182","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cartridge-engine/confirm-dialog","version":"1.0.2","keywords":["ink","react","tui","cli","terminal"],"author":{"name":"BAIGAO"},"license":"MIT","_id":"@cartridge-engine/confirm-dialog@1.0.2","maintainers":[{"name":"aigao","email":"3416238595@qq.com"}],"homepage":"https://github.com/BAIGAOa/ink-cartridge#readme","bugs":{"url":"https://github.com/BAIGAOa/ink-cartridge/issues"},"dist":{"shasum":"663adfe0bf9d26a40f2097eff398f0d071c60ea6","tarball":"https://registry.npmjs.org/@cartridge-engine/confirm-dialog/-/confirm-dialog-1.0.2.tgz","fileCount":8,"integrity":"sha512-YlNZIsOVDKwZKFE/A8+2mYETKJEi+VwvOYHc+H2Qji0JPVWpkjQoImBJiywC6iFAPbkxOpRWwOP85+tUfnnwcg==","signatures":[{"sig":"MEQCIAirAcEOTyIp8fqiMBZGHmni9X4jmsjVlDJUPcQVyZiVAiAIfklv5kO8rmnZUWg/sw5NsWZviXWDVTB33vVGyCysYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7342},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ec08d383348c45268edffc22779198282f03ce67","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"aigao","email":"3416238595@qq.com"},"repository":{"url":"git+https://github.com/BAIGAOa/ink-cartridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Text input with focus management","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","react":"^19.2.4","vitest":"^4.1.5","typescript":"^5.9.3","@types/node":"^20.19.39","@types/react":"^19.2.14","ink-cartridge":"*","ink-testing-library":"^4.0.0"},"peerDependencies":{"ink":">=5","react":">=18","ink-cartridge":"*"},"_npmOperationalInternal":{"tmp":"tmp/confirm-dialog_1.0.2_1786289319139_0.9394679113854902","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cartridge-engine/confirm-dialog","version":"2.0.0","keywords":["ink","react","tui","cli","terminal"],"author":{"name":"BAIGAO"},"license":"MIT","_id":"@cartridge-engine/confirm-dialog@2.0.0","maintainers":[{"name":"aigao","email":"3416238595@qq.com"}],"homepage":"https://github.com/BAIGAOa/ink-cartridge#readme","bugs":{"url":"https://github.com/BAIGAOa/ink-cartridge/issues"},"dist":{"shasum":"259684a3868f124bb4084af767bb60f46fefa35e","tarball":"https://registry.npmjs.org/@cartridge-engine/confirm-dialog/-/confirm-dialog-2.0.0.tgz","fileCount":8,"integrity":"sha512-zlcQzhVGC8CORxjD+NGXftTWe0AHLR+DLzYHh8XUhIDD0Vw6FIFEjjLQ5VnXB2LJThaXeUC5kDZ4fLhNwyMWPw==","signatures":[{"sig":"MEUCIQD3N07GbMPYXJXJH0YobeKlqcBm4saCLcy/KlFWILWYYwIgQIWrCTdKdQq4iTI9LkBOwhG1RPg/ky82RtRVg9zNZdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7342},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"255fde664de85742a58a04a3a817f82731951729","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:watch":"vitest"},"_npmUser":{"name":"aigao","email":"3416238595@qq.com"},"repository":{"url":"git+https://github.com/BAIGAOa/ink-cartridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Text input with focus management","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"ink":"^7.1.1","react":"^19.2.4","vitest":"^4.1.5","typescript":"^5.9.3","@types/node":"^20.19.39","@types/react":"^19.2.14","ink-cartridge":"*","ink-testing-library":"^4.0.0"},"peerDependencies":{"ink":">=5","react":">=18","ink-cartridge":"*"},"_npmOperationalInternal":{"tmp":"tmp/confirm-dialog_2.0.0_1787125093750_0.59625923392244","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@cartridge-engine/confirm-dialog","version":"3.0.0","description":"Text input with focus management","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/BAIGAOa/ink-cartridge.git"},"keywords":["ink","react","tui","cli","terminal"],"author":{"name":"BAIGAO"},"license":"MIT","engines":{"node":">=22"},"peerDependencies":{"ink-cartridge":"*","ink":">=5","react":">=18"},"devDependencies":{"@types/node":"^20.19.39","@types/react":"^19.2.14","ink":"^7.1.1","ink-cartridge":"*","ink-testing-library":"^4.0.0","react":"^19.2.4","typescript":"^5.9.3","vitest":"^4.1.5"},"scripts":{"build":"tsc","watch":"tsc --watch","clean":"rm -rf dist","test":"vitest run","test:watch":"vitest"},"bugs":{"url":"https://github.com/BAIGAOa/ink-cartridge/issues"},"homepage":"https://github.com/BAIGAOa/ink-cartridge#readme","_id":"@cartridge-engine/confirm-dialog@3.0.0","gitHead":"2ea845b1b6d9fc1d65b12cd21c6e08ba25570893","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-53b5j3u6XOEsxYkNJX9KQyiyG/4ma44xhd+D0jhw47OJ01Q/ZNfzQN3EeYb5/NBP5thElaPWDzIL3WTfUvJyJw==","shasum":"b0475af272a014fc4b2b231f2cb3a3371cb6de21","tarball":"https://registry.npmjs.org/@cartridge-engine/confirm-dialog/-/confirm-dialog-3.0.0.tgz","fileCount":2,"unpackedSize":2560,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEfY2PneAlqJsQ6/PRqKv0uH4Smd9ZPlwJJdMKZd3i+9AiBhk2i8wYe0B5kNSarW0TblhYzxyOeZKMxjlJ4ZQeQ4EQ=="}]},"_npmUser":{"name":"aigao","email":"3416238595@qq.com"},"directories":{},"maintainers":[{"name":"aigao","email":"3416238595@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/confirm-dialog_3.0.0_1787479896955_0.19480861635334978"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T10:19:25.697Z","modified":"2026-08-23T10:11:37.336Z","1.0.1":"2026-08-04T10:19:26.011Z","1.0.2":"2026-08-09T15:28:39.282Z","2.0.0":"2026-08-19T07:38:13.896Z","3.0.0":"2026-08-23T10:11:37.100Z"},"bugs":{"url":"https://github.com/BAIGAOa/ink-cartridge/issues"},"author":{"name":"BAIGAO"},"license":"MIT","homepage":"https://github.com/BAIGAOa/ink-cartridge#readme","keywords":["ink","react","tui","cli","terminal"],"repository":{"type":"git","url":"git+https://github.com/BAIGAOa/ink-cartridge.git"},"description":"Text input with focus management","maintainers":[{"name":"aigao","email":"3416238595@qq.com"}],"readme":"# ConfirmDialog\n\nConfirmation dialog with two focusable buttons. Escape cancels from anywhere (screen-level).\n\n## Props\n\n| Prop | Type | Required | Default | Description |\n|------|------|----------|---------|-------------|\n| `title` | `string` | yes | — | Dialog title. |\n| `message` | `string` | yes | — | Body text. |\n| `onConfirm` | `() => void` | yes | — | Called on confirm. |\n| `onCancel` | `() => void` | yes | — | Called on cancel/Escape. |\n| `confirmLabel` | `string` | no | `'确认'` | Confirm button text. |\n| `cancelLabel` | `string` | no | `'取消'` | Cancel button text. |\n\n## Keyboard\n\n| Key | Scope | Action |\n|-----|-------|--------|\n| `Enter` | `focusId: 'dialog-confirm'` | Confirm |\n| `Enter` | `focusId: 'dialog-cancel'` | Cancel |\n| `Escape` | Screen-level | Cancel |\n\n## Best Practice\n\nDesigned for the modal-layer system:\n\n```tsx\nconst { openModalLayer, applyElementToModalLayer, closeModalLayer } = useScreenSystem();\n\nopenModalLayer('confirm', 100);\napplyElementToModalLayer('confirm', {\n  elementId: 'confirm-dialog',\n  element: () => (\n    <ConfirmDialog\n      title=\"Delete file?\"\n      message=\"This cannot be undone.\"\n      onConfirm={() => { deleteFile(); closeModalLayer('confirm'); }}\n      onCancel={() => closeModalLayer('confirm')}\n    />\n  ),\n});\n```\n","readmeFilename":"README.md"}