{"_id":"@angadie/chittie-label-react","_rev":"6-242ac15ee17c7fe36b2c2209f2ee3038","name":"@angadie/chittie-label-react","dist-tags":{"latest":"0.5.5"},"versions":{"0.5.0":{"name":"@angadie/chittie-label-react","version":"0.5.0","license":"MIT","_id":"@angadie/chittie-label-react@0.5.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"ff157c5ceb02a1f269576f13da212f1626f4a5dc","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.0.tgz","fileCount":5,"integrity":"sha512-cJKhbp1+h2eM3rENhY2Jg23xrfZRdkjMmu7C6BHl8g+5mIPfua70PUbjM3ntCB3oEWEKP5QSPrUZdH/hvP1V6Q==","signatures":[{"sig":"MEYCIQCCXylVjpyruzRJNx9v0kwLRUPsUQ0D1Y0JQY1ASH1WSwIhALhVuCMImBq/ej3ML8Rr9jw0xZ4X6SyPPcrpnzQo1V6i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10401},"type":"module","_from":"file:angadie-chittie-label-react-0.5.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/jsx.spike.tsx","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/ea6848d1d179d679e121820ff7fd1fc1/angadie-chittie-label-react-0.5.0.tgz","_integrity":"sha512-cJKhbp1+h2eM3rENhY2Jg23xrfZRdkjMmu7C6BHl8g+5mIPfua70PUbjM3ntCB3oEWEKP5QSPrUZdH/hvP1V6Q==","_npmVersion":"10.9.7","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-label":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.1.0","@types/react":"^19.0.0","@canvas/image-data":"^1.1.0"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/chittie-label-react_0.5.0_1782240879149_0.22825760710359155","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@angadie/chittie-label-react","version":"0.5.1","license":"MIT","_id":"@angadie/chittie-label-react@0.5.1","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"ba6e708c15d5b0b9488be48d425bd6f8eff5c80d","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.1.tgz","fileCount":5,"integrity":"sha512-ULzj55G0ql0ELxCg8HUY3BwiE0YRd+XjS2pIUu3/qxXOWLk/X1fqwvK3+bcaJp0ZsRwuDf1J+9QaU0DUrOozeQ==","signatures":[{"sig":"MEQCICXc6oQ49mlt8QPpxVzVc3RYeIAj4zYseQoxDDaeep5bAiAjHDM93qbkz/PuyVL9J8GKWy8sjCcaxS4iL8hJWZX3LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10401},"type":"module","_from":"file:angadie-chittie-label-react-0.5.1.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/jsx.spike.tsx","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/6166f4a98a34df49fcbf8ab750da6da9/angadie-chittie-label-react-0.5.1.tgz","_integrity":"sha512-ULzj55G0ql0ELxCg8HUY3BwiE0YRd+XjS2pIUu3/qxXOWLk/X1fqwvK3+bcaJp0ZsRwuDf1J+9QaU0DUrOozeQ==","_npmVersion":"10.9.7","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-label":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.1.0","@types/react":"^19.0.0","@canvas/image-data":"^1.1.0"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/chittie-label-react_0.5.1_1782302959567_0.9136254417623906","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@angadie/chittie-label-react","version":"0.5.2","license":"MIT","_id":"@angadie/chittie-label-react@0.5.2","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"4edaeca013d79f2d9be499199082ee94336d43b9","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.2.tgz","fileCount":5,"integrity":"sha512-AYNj4XXDlCHoCo9j76GPDDkffUqB8kUIVQm6xd+IKxEQ+rNwIqjrYMXT+B3KbyW7EX0R8sHltG7p9b2WeQA0/Q==","signatures":[{"sig":"MEQCIEWvjD4yUd8pH+FnBQs/ipWCVC40rcoSPa42uen4/9/tAiAuCy/ukekfSx94Faxcp443dTD+BLtuawY9pUejwHL1sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10401},"type":"module","_from":"file:angadie-chittie-label-react-0.5.2.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/jsx.spike.tsx","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/01fb044bfc294138cd89521c20388375/angadie-chittie-label-react-0.5.2.tgz","_integrity":"sha512-AYNj4XXDlCHoCo9j76GPDDkffUqB8kUIVQm6xd+IKxEQ+rNwIqjrYMXT+B3KbyW7EX0R8sHltG7p9b2WeQA0/Q==","_npmVersion":"10.9.7","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-label":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.1.0","@types/react":"^19.0.0","@canvas/image-data":"^1.1.0"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/chittie-label-react_0.5.2_1782323115275_0.3349999702325026","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@angadie/chittie-label-react","version":"0.5.3","license":"MIT","_id":"@angadie/chittie-label-react@0.5.3","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"1e8bde520476036fc9de685f7f45029dd9121920","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.3.tgz","fileCount":5,"integrity":"sha512-3lY6fzS+nBgnZXAl5V5gvDnu9qLm662pojBMJ4fmilVmR18/zbIDuyDC5elIwBtJdfobRkTngqIvzh1HzfBbYg==","signatures":[{"sig":"MEUCIAK55G1o55Du+WzapFdXap8JuOGhRXwUz5DVyYhm9nQDAiEA4jlN+WBPdjB7Z5YH4JOCvvLYN2mNuN7Yh7b3PbvZy8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10401},"type":"module","_from":"file:angadie-chittie-label-react-0.5.3.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/jsx.spike.tsx","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/f1820540375f565ffb34ef98b7559272/angadie-chittie-label-react-0.5.3.tgz","_integrity":"sha512-3lY6fzS+nBgnZXAl5V5gvDnu9qLm662pojBMJ4fmilVmR18/zbIDuyDC5elIwBtJdfobRkTngqIvzh1HzfBbYg==","_npmVersion":"10.9.7","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-label":"0.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.1.0","@types/react":"^19.0.0","@canvas/image-data":"^1.1.0"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/chittie-label-react_0.5.3_1782372111239_0.5652518807077045","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@angadie/chittie-label-react","version":"0.5.4","license":"MIT","_id":"@angadie/chittie-label-react@0.5.4","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"f3b6abe5e2fcc11909ac0281c04cd6ace8bd4486","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.4.tgz","fileCount":5,"integrity":"sha512-gJf/wbZncpgsNtttP9DMqIGLzLp1qAVFqG3ANOLHt0GIRR53/uPEXSwfV/z/8wGn0gZP0vVURkg8WyTab2nItg==","signatures":[{"sig":"MEUCIQCOzl5qdCIf98+j84di04D1uSZ+rPzZd8ANvVnTAbA7XQIgGBy0NYmlvrmr1OJGpT2GraJpokJB+vHv9+oDW5zygvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10438},"type":"module","_from":"file:angadie-chittie-label-react-0.5.4.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/jsx.spike.tsx","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/3cb2421162b1f9f6b7a2c9852bcce1e6/angadie-chittie-label-react-0.5.4.tgz","_integrity":"sha512-gJf/wbZncpgsNtttP9DMqIGLzLp1qAVFqG3ANOLHt0GIRR53/uPEXSwfV/z/8wGn0gZP0vVURkg8WyTab2nItg==","_npmVersion":"10.9.7","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-label":"0.6.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.1.0","@types/react":"^19.0.0","@canvas/image-data":"^1.1.0"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/chittie-label-react_0.5.4_1782463015428_0.7399335429399525","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@angadie/chittie-label-react","version":"0.5.5","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","license":"MIT","type":"module","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"dependencies":{"@angadie/chittie-label":"0.6.4"},"peerDependencies":{"react":"^18 || ^19"},"devDependencies":{"@canvas/image-data":"^1.1.0","react":"^19.1.0","@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsdown","typecheck":"tsc --noEmit","test":"tsx spikes/jsx.spike.tsx"},"_id":"@angadie/chittie-label-react@0.5.5","_integrity":"sha512-V6QVSWZ2xp+VF1XDJuVUBLXoX5JwDDmoWcZdHUUwYtEIDdeM30av5bk6N8wSm1yJ5l6/7xNh1nRwMn0HMW91ug==","_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/2a3114f08aeeb8a19ea07de36f80f2cd/angadie-chittie-label-react-0.5.5.tgz","_from":"file:angadie-chittie-label-react-0.5.5.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-V6QVSWZ2xp+VF1XDJuVUBLXoX5JwDDmoWcZdHUUwYtEIDdeM30av5bk6N8wSm1yJ5l6/7xNh1nRwMn0HMW91ug==","shasum":"0db7b122d6f0e52617af8d81d39ddc000de1f531","tarball":"https://registry.npmjs.org/@angadie/chittie-label-react/-/chittie-label-react-0.5.5.tgz","fileCount":5,"unpackedSize":10438,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBByjB3+hpsPHKsBXH7iF/dHvGi8jzOkx+sIStovsS6cAiAS2DDQ406L2Qa6oObOq5f4DzcVGgnWerHi8RxUdY8kUw=="}]},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"directories":{},"maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chittie-label-react_0.5.5_1787125181223_0.842035858911844"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T18:54:38.956Z","modified":"2026-08-19T07:39:41.561Z","0.5.0":"2026-06-23T18:54:39.302Z","0.5.1":"2026-06-24T12:09:19.703Z","0.5.2":"2026-06-24T17:45:15.416Z","0.5.3":"2026-06-25T07:21:51.371Z","0.5.4":"2026-06-26T08:36:55.572Z","0.5.5":"2026-08-19T07:39:41.397Z"},"license":"MIT","description":"Pure JSX authoring for TSPL labels → bytes. Positioned <LText>/<LBarcode>/<LQR>/<LBox>/<LImage> on a <Label>. RN-safe (no react-dom). Renders onto chittie-label.","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"readme":"# @angadie/chittie-label-react\n\n**Pure JSX authoring for TSPL labels** → bytes. A `<Label>` with coordinate-positioned\n`<LText>` / `<LBarcode>` / `<LQR>` / `<LBox>` / `<LBar>` / `<LImage>`. Mirrors\n`@angadie/chittie-react` (receipts) — RN-safe, no `react-dom`, no HTML host elements.\nRenders onto `@angadie/chittie-label`.\n\n```bash\nnpm i @angadie/chittie-label-react @angadie/chittie-label react\n```\n\n## A price tag in JSX\n\n```tsx\nimport { Label, LText, LBarcode, LQR, LBox, render, LABEL_PROFILES } from '@angadie/chittie-label-react';\n\nconst tag = (\n  <Label profile={{ ...LABEL_PROFILES['40x30'], density: 8 }} print={{ copies: 2 }}>\n    <LBox x={0} y={0} w={320} h={240} thickness={2} />\n    <LText x={16} y={16} font=\"3\">ARTISAN HAUS</LText>\n    <LText x={16} y={72} font=\"4\" xMul={2} yMul={2}>Rs. 4,500</LText>\n    <LBarcode x={16} y={128} data=\"4791234567890\" type=\"ean13\" height={50} />\n    <LQR x={224} y={16} data=\"https://shop.lk/p/SKU123\" cell={4} />\n  </Label>\n);\n\nconst bytes = render(tag); // Uint8Array → any chittie transport (Web Serial / BLE / Tauri / TCP)\n```\n\nAuthor a template once, map your products into the slots:\n\n```tsx\nconst PriceTag = ({ p }: { p: Product }) => (\n  <Label profile={LABEL_PROFILES['40x30']}>\n    <LText x={16} y={16} font=\"3\">{p.name}</LText>\n    <LText x={16} y={64} font=\"4\" xMul={2} yMul={2}>{p.priceLabel}</LText>\n    <LBarcode x={16} y={120} data={p.gtin} type=\"ean13\" />\n  </Label>\n);\n```\n\n## Components\n\n| element | props | → |\n|---|---|---|\n| `<Label profile rasterizer? print?>` | root: `profile` (mm/dpi/gap/density…), optional `rasterizer`, `print={{sets,copies}}` | TSPL job |\n| `<LText x y font? rotation? xMul? yMul?>` | text (children) | `TEXT` (non-Latin → raster) |\n| `<LBarcode x y data type? height? human? narrow? wide?>` | 1D barcode | `BARCODE` |\n| `<LQR x y data ecc? cell?>` | QR | `QRCODE` |\n| `<LBox x y w h thickness?>` | outline | `BOX` |\n| `<LBar x y w h>` | filled bar | `BAR` |\n| `<LImage x y image mode? threshold?>` | `ImageData` | `BITMAP` |\n\nCoordinates are in **dots** (`mmToDots(mm, dpi)` to convert). Non-Latin `<LText>`\nrasterizes via the `<Label rasterizer={…}>` (or throws — never a silent `?`).\nSee `@angadie/chittie-label` for the underlying builder, barcode types, and profiles.\n","readmeFilename":"README.md"}