{"_id":"@azarudeen-ahamed/neo-pms-printer","_rev":"14-29b7967de96ace099768d7a771b34ba1","name":"@azarudeen-ahamed/neo-pms-printer","dist-tags":{"latest":"0.2.4"},"versions":{"0.1.0":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.0","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.0","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"a99b1a94e09ce2abaaacd9a6836cf2d2682b0f74","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.0.tgz","fileCount":36,"integrity":"sha512-368q1Su+8MyRDKeNgchK/8e1SINIVg627Be/6Y+f85aE8p9YEtrbUu7H5Ejpwc/ADGmigDF7eZiBTHdhDrM4uQ==","signatures":[{"sig":"MEUCIQCl+1Jb0UqbDUV3mRv7WU32UwLHCDf+4nw0Dv5RIKX41wIgAIOQCC4e+K2k0eVNP0fgCA1e19nvcZiMKtO43ytcVZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110039},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.0_1778849745334_0.005542903887728823","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.2","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.2","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"b79ce60e7f233d0e0f02f1b8775d9278266845dc","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.2.tgz","fileCount":37,"integrity":"sha512-RbJ6CWG+3qRadZTavfjjV09jvBRtOAHJ8Dzm25gbb//5AVi925RI7H61ngGWYtjyzMvxCp9u4plqpG/4bK4vfQ==","signatures":[{"sig":"MEQCIDqQVyymSdfPXWKCbqAewyE+53578y5HpfYmihQizcyDAiBBiG/nz6GbiSE7poIAUGUusynlWkVZ9dkoZXn+n2vWSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130736},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.2_1778850171547_0.7403520860793753","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.3","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.3","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"5cabf33c9e5a94848ea57d461e14888d39dab0b2","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.3.tgz","fileCount":37,"integrity":"sha512-tnDD+Kw+1VEuFNpT8rlyKNRWR67Oe4cTNNzQbVXWxB+PwR4rtrkfrl5ADXG5YqdCABI+dE8TKMCrkV3RgBDoYw==","signatures":[{"sig":"MEUCIQD2LaJ8NPUyAc2FyXQBfcH9yBZY/924HnPDuYVT/dwsCgIgcw+SVNU362AxyEcdoHwT49vRdEkmp6Iyz7TscbBL/wY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130730},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.3_1779091038392_0.46719979698789027","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.4","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.4","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"ff3edbe8aec4a3c6315a3b6a579479abd72b6938","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.4.tgz","fileCount":37,"integrity":"sha512-tNhnR1Mg8uWUIEKSR6u+10marQpTq+Lq3wVXDfHTQC0uu5J/IwyYSjMb1T2wphshiN3cq9YOxBnCviwfMhwYvQ==","signatures":[{"sig":"MEUCIQCdwT3F/IkBZNmMGk+vNfaNwLBj10dEL132JPfHBJN+4wIgCXGigCsmkXpClwWaCNq4zEq3waQBfzgGJpEweZ0gEnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130834},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.4_1779101678816_0.23200580010454175","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.5","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.5","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"b691b2812aebdcdfcfe5a2d391a10edf20bb731d","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.5.tgz","fileCount":75,"integrity":"sha512-c3zwSzdf+ZAQWYmc1sx1s80V8lloIapbUKe1VNw8WlPrlRJ55106BKbYniW6E+lUZSo2V2NKphxd4RiEElCibg==","signatures":[{"sig":"MEYCIQC7aiFigsmi2E7R4bVl4vKgjZShrVNUtyXnfqJ4nfLi2wIhAPlT2aMHIbeYprLH4P+CyHHEz+XKA3qU3yRkDNRnqhMl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1992973},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.5_1779264373017_0.3608071431533768","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.6","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.6","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"da9c54e25d40f112f81d19fb7158924a9042b54d","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.6.tgz","fileCount":172,"integrity":"sha512-8vXvH3oE9jNFJOoL7AnleOx9/rIPJZzfHV90pTgFpT4PR9hdV90NswSFUn/S+W256KVnBUMJdBp4Vy4Iwn0Heg==","signatures":[{"sig":"MEQCIHAKKm1gnnxcblH2SgLC6iHylX7K/KOG8HwDeDKxpTkkAiBFYuHjbPxiLzu8kgvHWwMPWOONnulw7IpFBwvOG0hVdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2736257},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.6_1779273269732_0.24332239015523394","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.7","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.7","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"fe3a067bdab86dbe3fbe793239ac5fb6cbcb30e5","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.7.tgz","fileCount":208,"integrity":"sha512-Rbyafk4SeoDJpuR+08PQ46oIzhMoixkFt1oJCP5CpjPPGA4yCMCeXygbpQlsUZ5YHePOlh1HUNbxnZEU7I9mTg==","signatures":[{"sig":"MEQCIGk+HG2IwbkalPH/gReHVscGyaOgV3aA67AU2IS5E/lgAiAz8Kv+EB/SJiifz8jnLXmJrUMBve+ebFBMOpQ92RS2qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3000052},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.7_1779276432716_0.998914233351921","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.8","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.8","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"817a48bcc166e49eda1541453c1bda6d51b8906b","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.8.tgz","fileCount":208,"integrity":"sha512-4+l6YbVsBJI2DtPifvPuoIi9RNOQy+JOlN0ZjugO2GpUY3CwcwN8eYQUdz6/GyeYKiqBQnWWM0KesI1BLSEv3A==","signatures":[{"sig":"MEUCIFAoJQ7th5Q8gWSGSt4RFIzvblOBZngcbvFbUsf0sNh7AiEAxyeNDDgM5vCd/0g6Qv+wywhsbqGFzQ7Z5b/NAvXoBDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3024211},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.8_1779428636391_0.43777662271735807","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.1.9","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.1.9","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"b979ec80da4fbf8fa9a7ee5c773c96909bbeb8b8","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.1.9.tgz","fileCount":199,"integrity":"sha512-6ES/IFqCT6YJZC+i4SOwrLMrQ6Kiao75wAfAHybVXLZdYDFa8y8Mi20NNg3BRHJVMCb0dVhZD0H4tiDnQCRT0w==","signatures":[{"sig":"MEUCIQClP4DoqA2wzaunNyqFcutty0qjBkIe3tnBbp9y3D52mwIgJ8ZmIPiEiglpoR2eizr7hhipeqTUGsUM8PhLb4h71AE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4256144},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.1.9_1785494153518_0.7564804766649713","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.2.0","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.2.0","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"bf51b8f8b2aa3b07aef1c7a47e6f10c82057f365","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.2.0.tgz","fileCount":42,"integrity":"sha512-3GQ8FPMBNNzZkDMSwc/bYLG480hsP3j/U8N+i/qvfGcG4LxEIftvalaaXCSBFHyE1qVLlgxe4oDEQzO2SKWnkg==","signatures":[{"sig":"MEYCIQDNfjaqlT16PochsW3B6cw58/eyCszBef3JAJyEihWolAIhAOzbVQRlXeCiscYKhWu0iv8tZxwXj10n/ohQqMZ5155/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDBpjLonFhjPPGuOpVtkV9ROnE8hZ7H0hIB1N1tuefJ/AiEAsre2WzWbPqceQ+gHEPOvBDPfvyZ2lpS1Fjs+FbTilBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172627},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.2.0_1788242068777_0.5527448387918508","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.2.1","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.2.1","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"d5f778bd32b4963dd2e4a7c540bd29141f404ba3","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.2.1.tgz","fileCount":42,"integrity":"sha512-gwXfEeTi3tO0HykhVI+qcZtUDQCghvSnnjYvL7/ThFqG7T7C3GRbb3GKQIiMgkh9i/7RGQO2fFG1sjWIhiLySw==","signatures":[{"sig":"MEQCICABcSiH2AwJ7ovxDJR/DJru//JZiyA4QyDKeKMCMNOUAiBZEkmhm0V7zoLHiyWgRqxvi2aY2UcwOSgPoEI+qzGIVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDAKQsE5ydJCXjn0Zj6dYbAaImf+ie7xfBfRFK/oQJx6AiB5Km4tUJQcDsIyKM6zIznxDkR44XqfVAprGXpwIQ/y4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175092},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.2.1_1788246259006_0.8552660286137397","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.2.2","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.2.2","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"108b9f8134b346ef9d1ab8f03fcb4d95fb5a4a21","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.2.2.tgz","fileCount":42,"integrity":"sha512-o2WHJqjWIoPT1bdKJN5vR4PPSdbJGMVaZKeXZ4ENZcoWl9a40yg3HlpYQEQnH1Zsui9fPnZ0bx3TekQjS24Cug==","signatures":[{"sig":"MEYCIQDYkBCRdbHsG47WMsN+NPRfJ9b9DzH20017NnEV/pSI9gIhAKZqvbtfxl94HnacEmBjQo3/nLMB1etjORs8mMAKR4jD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBhGTSPcR3BtejXyW1HrLbAhthurWz0tZ6giax2Gr9lQIgfxPt44p6wuzGGfY7jlj/IS6py7tQXUb3kVSnjQx2U20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176144},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.2.2_1788250414910_0.576377874837636","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@azarudeen-ahamed/neo-pms-printer","version":"0.2.3","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"license":"MIT","_id":"@azarudeen-ahamed/neo-pms-printer@0.2.3","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"3dbbb3ae6dd8b81421b271cfec52f381c31bbc33","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.2.3.tgz","fileCount":42,"integrity":"sha512-N8i8zxPLgq7OBcmS7zfb5Mig3oxzyC7yXaJ9ZhSo5mlp7e6FJJKb+Bv35AnyBNQXcOAwCrIxmv+R3eqL3FLzRQ==","signatures":[{"sig":"MEQCIFvxYvTaNFQj9w83WwScvu7v4qVuUlCvK5YMYZ8DyDaKAiBS7nJqPsBQawU5CJXA0t4IuEPmQJRWknuZIiKsPJohgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDLfePZ/YNE/cpIltjfPXAgiWlY8OQVNOomkNditc2jiAiEAvsdG2vl9+II2A6e0ByIT225ZF0ANGdIzMX/Uh2YJyjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176297},"main":"dist/plugin.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/neo-pms-printer_0.2.3_1788256571950_0.7503587268057532","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"_id":"@azarudeen-ahamed/neo-pms-printer@0.2.4","bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"dist":{"shasum":"d5be18a75de8c4632e30c9d294aa8845ed4cef63","tarball":"https://registry.npmjs.org/@azarudeen-ahamed/neo-pms-printer/-/neo-pms-printer-0.2.4.tgz","fileCount":56,"integrity":"sha512-7OlkfNFF03neekTAorr2/qfY0EvbJgUMvMFGgWLSj+ZJKT9P7fNK5DWABMUAChVNJucp3sfmLOM/4ijayhFs6A==","signatures":[{"sig":"MEUCIB19beDiZdlxDO69zyBHGJYf2llFSKlACXiXBHcIFIImAiEAo2/8MrG2beaEbYBVJAoqjCjZEVcvP/4I2wLn+fXWV3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFVKEak7DVwNLA9xAIDbGShaSbdUo0PUNgflHkuwwGQ2AiB/Hp3+AG2Fayj6Nn0KlC4ow++E5ofko1+s6sdLwdEBTw=="}],"unpackedSize":2052229},"main":"dist/plugin.cjs.js","name":"@azarudeen-ahamed/neo-pms-printer","type":"module","types":"dist/types/src/index.d.ts","module":"dist/plugin.js","license":"MIT","scripts":{"lint":"eslint \"src/**/*.ts\"","build":"npm run clean && rollup -c rollup.config.js","clean":"rimraf dist","watch":"rollup -c rollup.config.js -w","verify":"npm run build","prepublishOnly":"npm run build"},"version":"0.2.4","_npmUser":{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"},"homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"_npmVersion":"11.14.1","description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","directories":{},"maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","rollup":"^4.34.0","typescript":"^5.7.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-typescript":"^12.1.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0 || ^8.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/neo-pms-printer_0.2.4_1788337821901_0.7654494552000459"}}},"time":{"created":"2026-05-15T12:55:45.182Z","modified":"2026-09-02T08:30:22.203Z","0.1.0":"2026-05-15T12:55:45.472Z","0.1.2":"2026-05-15T13:02:51.770Z","0.1.3":"2026-05-18T07:57:18.528Z","0.1.4":"2026-05-18T10:54:38.972Z","0.1.5":"2026-05-20T08:06:13.254Z","0.1.6":"2026-05-20T10:34:29.980Z","0.1.7":"2026-05-20T11:27:12.952Z","0.1.8":"2026-05-22T05:43:56.552Z","0.1.9":"2026-07-31T10:35:53.765Z","0.2.0":"2026-09-01T05:54:28.872Z","0.2.1":"2026-09-01T07:04:19.091Z","0.2.2":"2026-09-01T08:13:35.037Z","0.2.3":"2026-09-01T09:56:12.048Z","0.2.4":"2026-09-02T08:30:22.033Z"},"bugs":{"url":"https://github.com/azarudeen-ahamed/neo-pms-printer/issues"},"license":"MIT","homepage":"https://github.com/azarudeen-ahamed/neo-pms-printer#readme","keywords":["capacitor","plugin","native","printer","pos","thermal","bluetooth","escpos","sunmi","pax"],"repository":{"url":"git+https://github.com/azarudeen-ahamed/neo-pms-printer.git","type":"git"},"description":"Capacitor plugin for POS printing supporting Bluetooth, USB, WiFi, and built-in printers (Sunmi/PAX/Newland/iMin)","maintainers":[{"name":"azarudeen-ahamed","email":"azarudeen20@gmail.com"}],"readme":"# @azarudeen-ahamed/neo-pms-printer\n\nCapacitor plugin for POS (Point of Sale) printing. Supports **Bluetooth Classic**, **Bluetooth LE**, **USB OTG**, **WiFi/Network**, **System Print Dialog**, and **Built-in POS printers** (Sunmi, PAX, Newland, iMin).\n\n## Features\n\n- 🖨️ **Built-in POS Printers** — Auto-detect Sunmi, PAX, Newland, iMin handheld devices\n- 📶 **Bluetooth Classic** — SPP profile for thermal printers (Android)\n- 🔵 **Bluetooth LE** — BLE thermal printers (Android & iOS)\n- 🔌 **USB Printers** — USB Host API for direct USB connection (Android)\n- 🌐 **WiFi / Network Printers** — TCP socket printing to IP-based printers\n- 🖨️ **System Print Dialog** — AirPrint (iOS), PrintManager (Android)\n- 📄 **ESC/POS Protocol** — Full receipt builder (text, QR, barcode, images, paper cut, cash drawer)\n- 🌍 **Web Fallback** — `window.print()` for PWA/browser usage\n\n---\n\n## Installation\n\n```bash\nnpm install @azarudeen-ahamed/neo-pms-printer\nnpx cap sync\n```\n\n---\n\n## Platform Support\n\n| Feature | Android | iOS |\n|---------|---------|-----|\n| Built-in POS (Sunmi/PAX/Newland/iMin) | ✅ | ❌ (Android hardware) |\n| Bluetooth Classic (SPP) | ✅ | ❌ (MFi required) |\n| Bluetooth LE (BLE) | ✅ | ✅ |\n| USB OTG | ✅ | ❌ |\n| WiFi / Network (TCP) | ✅ | ✅ |\n| System Print Dialog | ✅ PrintManager | ✅ AirPrint |\n| Web (PWA) | ✅ window.print() | ✅ window.print() |\n\n---\n\n## Quick Start\n\n```typescript\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\n\n// 1. Discover all available printers\nconst { printers } = await PMSPrinter.discoverPrinters();\nconsole.log('Found printers:', printers);\n\n// 2. Connect to a printer\nawait PMSPrinter.connect({ printerId: printers[0].id });\n\n// 3. Print a receipt\nawait PMSPrinter.printReceipt({\n  printerId: printers[0].id,\n  header: 'My Store',\n  items: [\n    { name: 'Pizza', qty: 2, price: 12.99 },\n    { name: 'Coke', qty: 1, price: 2.50 },\n  ],\n  footer: 'Thank you! Visit again!',\n  paperWidth: 80,\n  cutPaper: true,\n});\n```\n\n---\n\n## Full API Reference\n\n### `discoverPrinters()`\n\nLists all available printers across all connection types.\n\n```typescript\nconst { printers } = await PMSPrinter.discoverPrinters();\n// printers: PrinterInfo[]\n```\n\n### `startDiscovery(options?)`\n\nScans for BLE printers in range. Emits `printerDiscovered` events for each found device.\n\n```typescript\nPMSPrinter.addListener('printerDiscovered', (event) => {\n  console.log('Found:', event.printer);\n});\n\nawait PMSPrinter.startDiscovery({\n  timeout: 10000, // ms, default 10000\n});\n```\n\n### `stopDiscovery()`\n\nStops an active BLE scan.\n\n```typescript\nawait PMSPrinter.stopDiscovery();\n```\n\n### `connect(options)`\n\nConnects to a printer by ID.\n\n```typescript\nawait PMSPrinter.connect({ printerId: '00:11:22:33:44:55' });  // Bluetooth MAC\nawait PMSPrinter.connect({ printerId: 'built-in' });            // Built-in POS\nawait PMSPrinter.connect({ printerId: '192.168.1.100:9100' });  // Network TCP\n```\n\n### `disconnect(options)`\n\nDisconnects from a printer.\n\n```typescript\nawait PMSPrinter.disconnect({ printerId: '00:11:22:33:44:55' });\n```\n\n### `printReceipt(options)`\n\nPrints a formatted thermal receipt using ESC/POS commands.\n\n```typescript\nawait PMSPrinter.printReceipt({\n  printerId: 'built-in',\n  header: 'My Store',                          // Store name / header text\n  items: [\n    { name: 'Product A', qty: 2, price: 9.99 },\n    { name: 'Product B', qty: 1, price: 19.99 },\n  ],\n  footer: 'Thank you!',                        // Footer message\n  qrCode: 'https://example.com',               // Auto-printed QR code\n  barcode: '123456789012',                     // Auto-printed barcode\n  paperWidth: 80,                              // 58 or 80 mm\n  showLogo: true,                              // Print logo image\n  logoBase64: 'data:image/png;base64,...',     // Logo image (base64)\n  logoWidth: 300,                              // Logo width in pixels\n  logoHeight: 100,                             // Logo height in pixels\n  copies: 2,                                   // Number of copies\n  cutPaper: true,                               // Auto-cut after print\n  qrCodeSize: 8,                               // QR module size\n  qrCodeAlign: 'center',                       // left, center, right\n  style: { bold: true },                       // Default body style\n  headerStyle: { font: 'font_b', align: 'center' }, // Header style\n  footerStyle: { bold: false },                // Footer style\n  watermark: {                                 // Optional watermark\n    type: 'text',\n    content: 'PAID',\n    density: 30,\n    position: 'body',\n  },\n});\n```\n\n### `printRaw(options)`\n\nSends raw ESC/POS byte commands (hex-encoded).\n\n```typescript\n// ESC/POS: Initialize printer + print text + cut paper\nawait PMSPrinter.printRaw({\n  printerId: '00:11:22:33:44:55',\n  data: '1B40' +                              // Initialize\n        '1B6131' +                            // Center align\n        '48656C6C6F' +                        // \"Hello\" in hex\n        '1B6403' +                            // Feed 3 lines\n        '1D5600',                             // Cut paper\n  encoding: 'cp437',\n  feedLines: 3,\n  cutPaper: true,\n});\n```\n\n### `printHtml(options)`\n\nRenders and prints HTML content.\n\n```typescript\nawait PMSPrinter.printHtml({\n  printerId: '00:11:22:33:44:55',              // Omit for system dialog\n  html: '<h1>Invoice</h1><p>Hello World</p>',\n  orientation: 'portrait',                      // or 'landscape'\n  paperSize: { width: 80, height: 297, unit: 'mm' },\n  copies: 1,\n});\n```\n\n### `printImage(options)`\n\nPrints an image to a thermal printer using ESC/POS raster format.\n\n```typescript\nawait PMSPrinter.printImage({\n  printerId: 'built-in',\n  imageBase64: 'data:image/png;base64,iVBOR...',\n  width: 384,                                  // Pixel width\n  align: 'center',                             // left, center, right\n  paperWidth: 80,\n});\n```\n\n### `printViaSystemDialog(options)`\n\nOpens the system print dialog (AirPrint on iOS, PrintManager on Android).\n\n```typescript\nawait PMSPrinter.printViaSystemDialog({\n  html: '<h1>Document</h1><p>Content here</p>',\n  name: 'Invoice #1234',\n  orientation: 'portrait',\n  copies: 2,\n  monochrome: false,\n});\n```\n\n### `getPrinterStatus(options)`\n\nGets the connection status of a specific printer.\n\n```typescript\nconst status = await PMSPrinter.getPrinterStatus({\n  printerId: 'built-in',\n});\n// status: PrinterStatus\n```\n\n### `getBuiltInPrinterStatus()`\n\nGets detailed status of built-in POS printer (Sunmi/PAX/Newland/iMin).\n\n```typescript\nconst status = await PMSPrinter.getBuiltInPrinterStatus();\n// status: BuiltInPrinterStatus\n// { hasBuiltInPrinter: true, manufacturer: 'sunmi', model: 'S2', isReady: true, paperStatus: 'ok' }\n```\n\n### `printParkingReceipt(options)`\n\nPrints a formatted parking receipt with exception, refund, and adjustment handling support.\n\n```typescript\nawait PMSPrinter.printParkingReceipt({\n  printerId: 'built-in',\n  logoBase64: 'iVBORw0KGgo...',            // Logo image as base64 string\n  logoPath: '/storage/emulated/0/logo.jpeg',  // OR local file path\n  // logoPath: 'https://example.com/logo.png', // OR server URL\n  logoWidth: 300,                            // Logo width in pixels\n  logoHeight: 150,                           // Logo height in pixels\n  header: 'NEOLYSI PARKING',\n  date: 'May 20, 2026',\n  ticketNo: 'TKT-001234',\n  vehicleType: 'Car',\n  vehicleNo: 'TN 01 AB 1234',\n  driverName: 'John Doe',\n  mobileNo: '9876543210',\n  inTime: '10:30 AM',\n  outTime: '2:45 PM',\n  parkingType: 'PREPAID',                    // PREPAID or POSTPAID\n  duration: '4h 15m',\n  amount: '50.00',\n  footer: 'Thank You - Drive Safe',\n  additionalFareDetails: 'Overnight surcharge applied',\n  paperWidth: 58,                            // 58 or 80 mm\n  copies: 1,\n  cutPaper: true,\n  qrCode: JSON.stringify({ ticketId: 1234, vehicleNo: 'TN 01 AB 1234' }),\n  qrCodeSize: 8,                             // QR module size\n  qrCodeAlign: 'center',                     // left, center, right\n  isException: false,                        // Mark as exception ticket\n  exceptionType: '',                         // e.g. 'Lost Ticket', 'Damaged Vehicle'\n  refundReason: '',                          // e.g. 'Duplicate Entry', 'User Cancellation'\n  isAdjustment: false,                       // Mark as adjustment (prints Yes/No)\n  watermark: {                               // Optional watermark\n    type: 'text',\n    content: 'PAID',\n    density: 30,\n    position: 'body',\n  },\n});\n```\n\n> **Parking receipt layout:** The header, divider lines, and footer are **centered**. Date, Ticket No, and the detail rows (V.Type / V.No / Driver Name / Mobile No / In Time / Out Time / Exception / Refund / Adjustment / Type / Duration) are printed **left-aligned** in a fixed label column at the **default 1x font**, with the field labels + values in **bold**. The **Paid Amount** line is printed **centered + bold**. To print the body larger, pass `style: { size: { width: 2, height: 2 } }`. When `isException` is set, an **Exception** row prints `exceptionType`; when `refundReason` is set, a **Refund** row prints it; and an **Adjustment** row prints `Yes`/`No` from `isAdjustment`. These fields appear as rows after **Out Time**.\n\n### `getConnectedPrinters()`\n\nLists all currently connected printers.\n\n```typescript\nconst { printers } = await PMSPrinter.getConnectedPrinters();\n```\n\n### Events\n\n```typescript\n// Fired when a BLE printer is discovered during scan\nPMSPrinter.addListener('printerDiscovered', (event: PrinterDiscoveredEvent) => {\n  console.log('Printer:', event.printer);\n});\n\n// Fired when a printer connects or disconnects\nPMSPrinter.addListener('connectionStateChanged', (event: ConnectionStateChange) => {\n  console.log('State:', event.printerId, event.state);\n});\n\n// Fired when print job progress changes\nPMSPrinter.addListener('printJobStatus', (event: PrintJobStatus) => {\n  console.log('Job:', event.jobId, event.status, event.progress);\n});\n\n// Clean up when leaving page\nPMSPrinter.removeAllListeners();\n```\n\n---\n\n## Type Definitions\n\n```typescript\ntype ConnectionType = 'bluetooth_classic' | 'bluetooth_le' | 'wifi' | 'usb' | 'airprint' | 'built_in';\ntype PrinterType = 'thermal' | 'laser' | 'inkjet' | 'label' | 'unknown';\ntype BuiltInManufacturer = 'sunmi' | 'pax' | 'newland' | 'imin' | 'unknown';\ntype PaperWidth = 58 | 80;\ntype PrintOrientation = 'portrait' | 'landscape';\ntype PrintJobState = 'queued' | 'printing' | 'completed' | 'failed';\ntype ConnectionState = 'connected' | 'disconnected' | 'connecting' | 'error';\ntype PaperStatus = 'ok' | 'low' | 'empty' | 'cover_open' | 'overheated' | 'disconnected';\n\ninterface PrinterInfo {\n  id: string;\n  name: string;\n  address?: string;\n  connectionType: ConnectionType;\n  printerType: PrinterType;\n  manufacturer?: string;\n  model?: string;\n  isConnected: boolean;\n}\n\ninterface PrinterStatus {\n  printerId: string;\n  isConnected: boolean;\n  connectionType: ConnectionType;\n  isReady: boolean;\n  paperStatus?: PaperStatus;\n  batteryLevel?: number;\n  error?: string;\n}\n\ninterface BuiltInPrinterStatus {\n  hasBuiltInPrinter: boolean;\n  manufacturer: BuiltInManufacturer;\n  model: string;\n  sdkVersion?: string;\n  isReady: boolean;\n  paperStatus?: PaperStatus;\n}\n\ntype TextAlign = 'left' | 'center' | 'right';\n\ntype FontType = 'font_a' | 'font_b' | 'font_c' | 'font_d' | 'font_e';\n\ninterface FontStyle {\n  font?: FontType;\n  size?: {\n    width: number;\n    height: number;\n  };\n  bold?: boolean;\n  underline?: boolean;\n  align?: TextAlign;\n}\n\ninterface WatermarkOptions {\n  type: 'text' | 'image';\n  content: string;\n  density?: number;\n  position?: 'header' | 'body' | 'footer' | 'all';\n}\n\ninterface ReceiptItem {\n  name: string;\n  qty?: number;\n  price?: number;\n}\n\ninterface ReceiptOptions {\n  printerId: string;\n  header?: string;\n  items?: ReceiptItem[];\n  footer?: string;\n  qrCode?: string;\n  barcode?: string;\n  paperWidth: PaperWidth;\n  showLogo?: boolean;\n  logoBase64?: string;\n  logoWidth?: number;\n  logoHeight?: number;\n  copies?: number;\n  cutPaper?: boolean;\n  style?: FontStyle;\n  headerStyle?: FontStyle;\n  footerStyle?: FontStyle;\n  qrCodeSize?: number;\n  qrCodeAlign?: TextAlign;\n  watermark?: WatermarkOptions;\n}\n\ninterface PrintRawOptions {\n  printerId: string;\n  data: string;           // Hex-encoded ESC/POS bytes\n  encoding?: 'cp437' | 'cp850' | 'utf8';\n  feedLines?: number;\n  cutPaper?: boolean;\n}\n\ninterface PrintHtmlOptions {\n  printerId?: string;     // Omit to use system print dialog\n  html: string;\n  paperSize?: { width: number; height: number; unit: 'mm' | 'inch' | 'pt' };\n  orientation?: PrintOrientation;\n  copies?: number;\n}\n\ninterface PrintImageOptions {\n  printerId: string;\n  imageBase64: string;\n  width?: number;\n  height?: number;\n  align?: 'left' | 'center' | 'right';\n  paperWidth?: PaperWidth;\n}\n\ninterface SystemPrintOptions {\n  html?: string;\n  filePath?: string;\n  name?: string;\n  orientation?: PrintOrientation;\n  copies?: number;\n  monochrome?: boolean;\n}\n\ninterface ParkingReceiptOptions {\n  printerId: string;\n  logoBase64?: string;     // Logo image as base64 string\n  logoPath?: string;       // OR local file path or HTTP(S) URL (auto-converted to base64)\n  logoWidth?: number;\n  logoHeight?: number;\n  header?: string;\n  date?: string;\n  ticketNo?: string;\n  vehicleType?: string;\n  vehicleNo?: string;\n  driverName?: string;\n  mobileNo?: string;\n  inTime?: string;\n  outTime?: string;\n  parkingType?: string;\n  duration?: string;\n  amount?: string;\n  footer?: string;\n  additionalFareDetails?: string;\n  paperWidth: PaperWidth;\n  copies?: number;\n  cutPaper?: boolean;\n  qrCode?: string;\n  qrCodeSize?: number;\n  qrCodeAlign?: TextAlign;\n  isException?: boolean;\n  exceptionType?: string;\n  refundReason?: string;\n  isAdjustment?: boolean;\n  style?: FontStyle;\n  headerStyle?: FontStyle;\n  footerStyle?: FontStyle;\n  watermark?: WatermarkOptions;\n}\n\ninterface DiscoveryOptions {\n  timeout?: number;\n  connectionTypes?: ConnectionType[];\n}\n```\n\n---\n\n## Platform-Specific Setup\n\n### Android Permissions\n\nAdd to `android/app/src/main/AndroidManifest.xml` (auto-added by the plugin):\n\n```xml\n<!-- Bluetooth -->\n<uses-permission android:name=\"android.permission.BLUETOOTH\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_SCAN\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_CONNECT\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_ADVERTISE\" />\n<!-- USB -->\n<uses-feature android:name=\"android.hardware.usb.host\" android:required=\"false\" />\n<!-- Network -->\n<uses-permission android:name=\"android.permission.INTERNET\" />\n<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />\n<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />\n<!-- Location (required for BT scan on Android 10-11) -->\n<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" android:maxSdkVersion=\"30\" />\n```\n\n### iOS Permissions\n\nAdd to `ios/App/App/Info.plist`:\n\n```xml\n<key>NSBluetoothAlwaysUsageDescription</key>\n<string>This app uses Bluetooth to connect and print to thermal printers</string>\n<key>NSBluetoothPeripheralUsageDescription</key>\n<string>This app uses Bluetooth to communicate with thermal printers</string>\n<key>NSLocalNetworkUsageDescription</key>\n<string>This app needs local network access to discover and print to WiFi printers</string>\n<key>NSBonjourServices</key>\n<array>\n  <string>_pdl-datastream._tcp</string>\n  <string>_printer._tcp</string>\n  <string>_ipp._tcp</string>\n</array>\n```\n\n---\n\n## Real-World Usage Examples\n\n### 1. Built-in POS Printer (Sunmi/PAX/Newland/iMin)\n\n```typescript\n// No need to connect — built-in printers are auto-detected\nconst status = await PMSPrinter.getBuiltInPrinterStatus();\n\nif (status.hasBuiltInPrinter) {\n  console.log(`Detected: ${status.manufacturer} ${status.model}`);\n\n  await PMSPrinter.printReceipt({\n    printerId: 'built-in',\n    header: 'My Restaurant',\n    items: [\n      { name: 'Fried Rice', qty: 2, price: 8.99 },\n      { name: 'Chicken Wings', qty: 1, price: 12.50 },\n    ],\n    footer: 'Table 5 · Server: John',\n    paperWidth: 80,\n    cutPaper: true,\n  });\n}\n```\n\n### 2. Bluetooth Printer Discovery + Connect + Print\n\n```typescript\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\n\n// Step 1: Get paired BT devices\nconst { printers } = await PMSPrinter.discoverPrinters();\n\n// Filter for Bluetooth printers\nconst btPrinters = printers.filter(p =>\n  p.connectionType === 'bluetooth_classic' || p.connectionType === 'bluetooth_le'\n);\n\nif (btPrinters.length > 0) {\n  // Step 2: Connect\n  await PMSPrinter.connect({ printerId: btPrinters[0].id });\n\n  // Step 3: Print raw ESC/POS\n  await PMSPrinter.printRaw({\n    printerId: btPrinters[0].id,\n    data: '1B40' +                           // Initialize\n          '1D2100' +                         // Normal size\n          '1B6100' +                         // Left align\n          '48656C6C6F20576F726C64' +        // \"Hello World\" in hex\n          '1B6405' +                         // Feed 5 lines\n          '1D5600',                          // Cut paper\n    cutPaper: true,\n  });\n\n  // Step 4: Disconnect\n  await PMSPrinter.disconnect({ printerId: btPrinters[0].id });\n}\n```\n\n### 3. BLE Scanning with Real-Time Discovery\n\n```typescript\nPMSPrinter.addListener('printerDiscovered', (event) => {\n  const printer = event.printer;\n  console.log(`Discovered: ${printer.name} [${printer.address}]`);\n});\n\nawait PMSPrinter.startDiscovery({ timeout: 15000 });\n\n// 15 seconds later, scan stops automatically\n```\n\n### 4. Network/WiFi Printer\n\n```typescript\n// Connect to a printer on the local network\nawait PMSPrinter.connect({ printerId: '192.168.1.200' });  // Port 9100 default\nawait PMSPrinter.connect({ printerId: '192.168.1.200:9100' });  // Explicit port\n\nawait PMSPrinter.printReceipt({\n  printerId: '192.168.1.200',\n  header: 'Office Receipt',\n  items: [{ name: 'Service', qty: 1, price: 100 }],\n  paperWidth: 80,\n  cutPaper: true,\n});\n```\n\n### 5. USB Printer (Android)\n\n```typescript\nconst { printers } = await PMSPrinter.discoverPrinters();\nconst usbPrinters = printers.filter(p => p.connectionType === 'usb');\n\nif (usbPrinters.length > 0) {\n  await PMSPrinter.connect({ printerId: usbPrinters[0].id });\n  await PMSPrinter.printRaw({\n    printerId: usbPrinters[0].id,\n    data: '1B40',\n  });\n}\n```\n\n### 6. System Print Dialog (for documents)\n\n```typescript\nconst receiptHtml = `\n  <html>\n  <body style=\"font-family: monospace;\">\n    <h1 style=\"text-align: center;\">Invoice #1234</h1>\n    <hr/>\n    <p><strong>Date:</strong> ${new Date().toLocaleDateString()}</p>\n    <p><strong>Customer:</strong> John Doe</p>\n    <table style=\"width: 100%;\">\n      <tr><th>Item</th><th>Qty</th><th>Price</th></tr>\n      <tr><td>Widget A</td><td>2</td><td>$19.99</td></tr>\n    </table>\n    <hr/>\n    <p style=\"text-align: right;\"><strong>Total: $39.98</strong></p>\n  </body>\n  </html>\n`;\n\nawait PMSPrinter.printViaSystemDialog({\n  html: receiptHtml,\n  name: 'Invoice #1234',\n  orientation: 'portrait',\n});\n```\n\n### 7. Angular Service Example\n\n```typescript\n// print.service.ts\nimport { Injectable } from '@angular/core';\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\nimport type { PrinterInfo, ReceiptItem } from '@azarudeen-ahamed/neo-pms-printer';\n\n@Injectable({ providedIn: 'root' })\nexport class PrintService {\n  async getBuiltInPrinter() {\n    return PMSPrinter.getBuiltInPrinterStatus();\n  }\n\n  async printReceipt(\n    printerId: string,\n    header: string,\n    items: ReceiptItem[],\n    footer: string,\n  ) {\n    return PMSPrinter.printReceipt({\n      printerId,\n      header,\n      items,\n      footer,\n      paperWidth: 80,\n      cutPaper: true,\n    });\n  }\n\n  async getStatus() {\n    return PMSPrinter.getConnectedPrinters();\n  }\n}\n```\n\n### 8. React Hook Example\n\n```typescript\n// usePrinter.ts\nimport { useState, useEffect } from 'react';\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\nimport type { PrinterInfo } from '@azarudeen-ahamed/neo-pms-printer';\n\nexport function usePrinterDiscovery() {\n  const [printers, setPrinters] = useState<PrinterInfo[]>([]);\n  const [scanning, setScanning] = useState(false);\n\n  useEffect(() => {\n    PMSPrinter.addListener('printerDiscovered', (event) => {\n      setPrinters(prev => {\n        if (prev.find(p => p.id === event.printer.id)) return prev;\n        return [...prev, event.printer];\n      });\n    });\n    return () => { PMSPrinter.removeAllListeners(); };\n  }, []);\n\n  return {\n    printers,\n    scanning,\n    discover: async () => {\n      const result = await PMSPrinter.discoverPrinters();\n      setPrinters(result.printers);\n    },\n    scan: async () => {\n      setScanning(true);\n      await PMSPrinter.startDiscovery({ timeout: 10000 });\n      setTimeout(() => setScanning(false), 10000);\n    },\n  };\n}\n```\n\n---\n\n## ESC/POS Command Reference\n\nThe plugin supports these ESC/POS commands (used internally by `printReceipt` and available via `printRaw`):\n\n| Command | Hex | Description |\n|---------|-----|-------------|\n| Initialize | `1B 40` | Reset printer |\n| Align Left | `1B 61 00` | Set alignment to left |\n| Align Center | `1B 61 01` | Set alignment to center |\n| Align Right | `1B 61 02` | Set alignment to right |\n| Bold On | `1B 45 01` | Enable bold text |\n| Bold Off | `1B 45 00` | Disable bold text |\n| Underline On | `1B 2D 01` | Enable underline |\n| Underline Off | `1B 2D 00` | Disable underline |\n| Font Size | `1D 21 n` | Set character size |\n| Feed Lines | `1B 64 n` | Feed n lines |\n| Cut Paper | `1D 56 00` | Full cut |\n| Partial Cut | `1D 56 01` | Partial cut (tear) |\n| QR Code | `1D 28 6B ...` | Print QR code |\n| Barcode | `1D 6B 41 ...` | Print barcode (UPC-A) |\n| Image | `1D 76 30 ...` | Print raster image |\n| Cash Drawer | `1B 70 00 19 FA` | Open cash drawer |\n\n---\n\n## Troubleshooting\n\n### Printer not discovered\n- Ensure Bluetooth is enabled and location permission granted (Android 10+)\n- For USB: ensure USB OTG is supported and cable connected\n- For network: verify printer IP and port (default 9100)\n\n### Connection fails\n- Verify printer is powered on and in range\n- For Bluetooth: unpair and re-pair the device\n- For USB: accept the USB permission prompt on Android\n\n### iOS limitations\n- Bluetooth Classic (SPP) is NOT supported on iOS (Apple requires MFi certification)\n- USB printing is NOT supported on iOS\n- Use BLE-capable thermal printers or AirPrint for iOS\n\n### Print quality issues\n- Use `paperWidth: 80` for 80mm printers, `paperWidth: 58` for 58mm\n- Images should be high-contrast for best thermal print results\n- For logo printing, use simple black-and-white PNG images\n\n---\n\n## Complete Ionic Angular Integration\n\n### app.module.ts\n```typescript\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { AppComponent } from './app.component';\n\n@NgModule({\n  declarations: [AppComponent],\n  imports: [BrowserModule, FormsModule],\n  bootstrap: [AppComponent],\n})\nexport class AppModule {}\n```\n\n### app.component.ts\n```typescript\nimport { Component } from '@angular/core';\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\n\n@Component({\n  selector: 'app-root',\n  template: `\n    <button (click)=\"print()\">Print Receipt</button>\n    <div *ngIf=\"status\">{{ status | json }}</div>\n  `,\n})\nexport class AppComponent {\n  status: any;\n\n  async print() {\n    const { printers } = await PMSPrinter.discoverPrinters();\n    const builtIn = await PMSPrinter.getBuiltInPrinterStatus();\n\n    if (builtIn.hasBuiltInPrinter) {\n      await PMSPrinter.printReceipt({\n        printerId: 'built-in',\n        header: 'My Store',\n        items: [{ name: 'Item 1', qty: 1, price: 9.99 }],\n        paperWidth: 80,\n        cutPaper: true,\n      });\n    } else if (printers.length > 0) {\n      await PMSPrinter.connect({ printerId: printers[0].id });\n      await PMSPrinter.printReceipt({\n        printerId: printers[0].id,\n        header: 'My Store',\n        items: [{ name: 'Item 1', qty: 1, price: 9.99 }],\n        paperWidth: 80,\n        cutPaper: true,\n      });\n    }\n  }\n}\n```\n\n### Complete Ionic React Integration\n\n```tsx\nimport React, { useState } from 'react';\nimport { PMSPrinter } from '@azarudeen-ahamed/neo-pms-printer';\n\nfunction PrintButton() {\n  const [status, setStatus] = useState('');\n\n  const handlePrint = async () => {\n    try {\n      setStatus('Discovering printers...');\n      const { printers } = await PMSPrinter.discoverPrinters();\n\n      const builtIn = await PMSPrinter.getBuiltInPrinterStatus();\n      const printerId = builtIn.hasBuiltInPrinter\n        ? 'built-in'\n        : printers[0]?.id;\n\n      if (!printerId) {\n        setStatus('No printer found');\n        return;\n      }\n\n      setStatus('Printing...');\n      await PMSPrinter.printReceipt({\n        printerId,\n        header: 'My Store',\n        items: [{ name: 'Product', qty: 1, price: 19.99 }],\n        paperWidth: 80,\n        cutPaper: true,\n      });\n\n      setStatus('Printed successfully!');\n    } catch (err: any) {\n      setStatus(`Error: ${err.message}`);\n    }\n  };\n\n  return (\n    <div>\n      <button onClick={handlePrint}>Print Receipt</button>\n      <p>{status}</p>\n    </div>\n  );\n}\n```\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}