@hexpro/qr-code-studio 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/LICENSE +21 -0
- package/README.md +62 -2
- package/dist/app/bulk.d.ts +21 -0
- package/dist/app/bulk.d.ts.map +1 -0
- package/dist/app/bulk.js +564 -0
- package/dist/app/bulk.js.map +1 -0
- package/dist/app/check.d.ts +23 -0
- package/dist/app/check.d.ts.map +1 -0
- package/dist/app/check.js +306 -0
- package/dist/app/check.js.map +1 -0
- package/dist/app/content.d.ts +19 -0
- package/dist/app/content.d.ts.map +1 -0
- package/dist/app/content.js +634 -0
- package/dist/app/content.js.map +1 -0
- package/dist/app/context.d.ts +25 -0
- package/dist/app/context.d.ts.map +1 -0
- package/dist/app/context.js +11 -0
- package/dist/app/context.js.map +1 -0
- package/dist/app/controls.d.ts +95 -0
- package/dist/app/controls.d.ts.map +1 -0
- package/dist/app/controls.js +272 -0
- package/dist/app/controls.js.map +1 -0
- package/dist/app/design-panels.d.ts +27 -0
- package/dist/app/design-panels.d.ts.map +1 -0
- package/dist/app/design-panels.js +1196 -0
- package/dist/app/design-panels.js.map +1 -0
- package/dist/app/dom.d.ts +74 -0
- package/dist/app/dom.d.ts.map +1 -0
- package/dist/app/dom.js +129 -0
- package/dist/app/dom.js.map +1 -0
- package/dist/app/images.d.ts +22 -0
- package/dist/app/images.d.ts.map +1 -0
- package/dist/app/images.js +50 -0
- package/dist/app/images.js.map +1 -0
- package/dist/app/library-view.d.ts +24 -0
- package/dist/app/library-view.d.ts.map +1 -0
- package/dist/app/library-view.js +260 -0
- package/dist/app/library-view.js.map +1 -0
- package/dist/app/main.d.ts +17 -0
- package/dist/app/main.d.ts.map +1 -0
- package/dist/app/main.js +518 -0
- package/dist/app/main.js.map +1 -0
- package/dist/app/measure.d.ts +26 -0
- package/dist/app/measure.d.ts.map +1 -0
- package/dist/app/measure.js +53 -0
- package/dist/app/measure.js.map +1 -0
- package/dist/app/proof.d.ts +30 -0
- package/dist/app/proof.d.ts.map +1 -0
- package/dist/app/proof.js +378 -0
- package/dist/app/proof.js.map +1 -0
- package/dist/app/save.d.ts +27 -0
- package/dist/app/save.d.ts.map +1 -0
- package/dist/app/save.js +331 -0
- package/dist/app/save.js.map +1 -0
- package/dist/app/scan.d.ts +25 -0
- package/dist/app/scan.d.ts.map +1 -0
- package/dist/app/scan.js +421 -0
- package/dist/app/scan.js.map +1 -0
- package/dist/app/shortcuts.d.ts +12 -0
- package/dist/app/shortcuts.d.ts.map +1 -0
- package/dist/app/shortcuts.js +17 -0
- package/dist/app/shortcuts.js.map +1 -0
- package/dist/app/text.d.ts +22 -0
- package/dist/app/text.d.ts.map +1 -0
- package/dist/app/text.js +50 -0
- package/dist/app/text.js.map +1 -0
- package/dist/batch/csv.d.ts +56 -0
- package/dist/batch/csv.d.ts.map +1 -0
- package/dist/batch/csv.js +327 -0
- package/dist/batch/csv.js.map +1 -0
- package/dist/batch/errors.d.ts +60 -0
- package/dist/batch/errors.d.ts.map +1 -0
- package/dist/batch/errors.js +60 -0
- package/dist/batch/errors.js.map +1 -0
- package/dist/batch/filename.d.ts +65 -0
- package/dist/batch/filename.d.ts.map +1 -0
- package/dist/batch/filename.js +205 -0
- package/dist/batch/filename.js.map +1 -0
- package/dist/batch/index.d.ts +17 -0
- package/dist/batch/index.d.ts.map +1 -0
- package/dist/batch/index.js +11 -0
- package/dist/batch/index.js.map +1 -0
- package/dist/batch/issues.d.ts +45 -0
- package/dist/batch/issues.d.ts.map +1 -0
- package/dist/batch/issues.js +47 -0
- package/dist/batch/issues.js.map +1 -0
- package/dist/batch/manifest.d.ts +43 -0
- package/dist/batch/manifest.d.ts.map +1 -0
- package/dist/batch/manifest.js +82 -0
- package/dist/batch/manifest.js.map +1 -0
- package/dist/batch/plan.d.ts +33 -0
- package/dist/batch/plan.d.ts.map +1 -0
- package/dist/batch/plan.js +254 -0
- package/dist/batch/plan.js.map +1 -0
- package/dist/batch/run.d.ts +68 -0
- package/dist/batch/run.d.ts.map +1 -0
- package/dist/batch/run.js +548 -0
- package/dist/batch/run.js.map +1 -0
- package/dist/batch/template.d.ts +54 -0
- package/dist/batch/template.d.ts.map +1 -0
- package/dist/batch/template.js +119 -0
- package/dist/batch/template.js.map +1 -0
- package/dist/batch/text-decoding.d.ts +49 -0
- package/dist/batch/text-decoding.d.ts.map +1 -0
- package/dist/batch/text-decoding.js +160 -0
- package/dist/batch/text-decoding.js.map +1 -0
- package/dist/batch/types.d.ts +240 -0
- package/dist/batch/types.d.ts.map +1 -0
- package/dist/batch/types.js +35 -0
- package/dist/batch/types.js.map +1 -0
- package/dist/batch/verify.d.ts +45 -0
- package/dist/batch/verify.d.ts.map +1 -0
- package/dist/batch/verify.js +72 -0
- package/dist/batch/verify.js.map +1 -0
- package/dist/batch/zip.d.ts +39 -0
- package/dist/batch/zip.d.ts.map +1 -0
- package/dist/batch/zip.js +201 -0
- package/dist/batch/zip.js.map +1 -0
- package/dist/conformance/finder.d.ts +67 -0
- package/dist/conformance/finder.d.ts.map +1 -0
- package/dist/conformance/finder.js +125 -0
- package/dist/conformance/finder.js.map +1 -0
- package/dist/conformance/frame.d.ts +28 -0
- package/dist/conformance/frame.d.ts.map +1 -0
- package/dist/conformance/frame.js +134 -0
- package/dist/conformance/frame.js.map +1 -0
- package/dist/conformance/index.d.ts +15 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +8 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/module-shape.d.ts +35 -0
- package/dist/conformance/module-shape.d.ts.map +1 -0
- package/dist/conformance/module-shape.js +139 -0
- package/dist/conformance/module-shape.js.map +1 -0
- package/dist/conformance/payload-type.d.ts +48 -0
- package/dist/conformance/payload-type.d.ts.map +1 -0
- package/dist/conformance/payload-type.js +113 -0
- package/dist/conformance/payload-type.js.map +1 -0
- package/dist/conformance/preset.d.ts +37 -0
- package/dist/conformance/preset.d.ts.map +1 -0
- package/dist/conformance/preset.js +171 -0
- package/dist/conformance/preset.js.map +1 -0
- package/dist/conformance/region-captures.d.ts +41 -0
- package/dist/conformance/region-captures.d.ts.map +1 -0
- package/dist/conformance/region-captures.js +69 -0
- package/dist/conformance/region-captures.js.map +1 -0
- package/dist/conformance/region-shape.d.ts +43 -0
- package/dist/conformance/region-shape.d.ts.map +1 -0
- package/dist/conformance/region-shape.js +214 -0
- package/dist/conformance/region-shape.js.map +1 -0
- package/dist/conformance/sample.d.ts +13 -0
- package/dist/conformance/sample.d.ts.map +1 -0
- package/dist/conformance/sample.js +75 -0
- package/dist/conformance/sample.js.map +1 -0
- package/dist/conformance/types.d.ts +16 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +10 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/core/bch.d.ts +36 -0
- package/dist/core/bch.d.ts.map +1 -0
- package/dist/core/bch.js +92 -0
- package/dist/core/bch.js.map +1 -0
- package/dist/core/bit-matrix.d.ts +56 -0
- package/dist/core/bit-matrix.d.ts.map +1 -0
- package/dist/core/bit-matrix.js +150 -0
- package/dist/core/bit-matrix.js.map +1 -0
- package/dist/core/bits.d.ts +53 -0
- package/dist/core/bits.d.ts.map +1 -0
- package/dist/core/bits.js +128 -0
- package/dist/core/bits.js.map +1 -0
- package/dist/core/checksums.d.ts +22 -0
- package/dist/core/checksums.d.ts.map +1 -0
- package/dist/core/checksums.js +64 -0
- package/dist/core/checksums.js.map +1 -0
- package/dist/core/deflate.d.ts +51 -0
- package/dist/core/deflate.d.ts.map +1 -0
- package/dist/core/deflate.js +851 -0
- package/dist/core/deflate.js.map +1 -0
- package/dist/core/errors.d.ts +123 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +168 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/field.d.ts +58 -0
- package/dist/core/field.d.ts.map +1 -0
- package/dist/core/field.js +184 -0
- package/dist/core/field.js.map +1 -0
- package/dist/core/huffman.d.ts +31 -0
- package/dist/core/huffman.d.ts.map +1 -0
- package/dist/core/huffman.js +131 -0
- package/dist/core/huffman.js.map +1 -0
- package/dist/core/image.d.ts +18 -0
- package/dist/core/image.d.ts.map +1 -0
- package/dist/core/image.js +2 -0
- package/dist/core/image.js.map +1 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +15 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/issue.d.ts +39 -0
- package/dist/core/issue.d.ts.map +1 -0
- package/dist/core/issue.js +24 -0
- package/dist/core/issue.js.map +1 -0
- package/dist/core/math.d.ts +56 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +609 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/prng.d.ts +27 -0
- package/dist/core/prng.d.ts.map +1 -0
- package/dist/core/prng.js +111 -0
- package/dist/core/prng.js.map +1 -0
- package/dist/core/reed-solomon.d.ts +69 -0
- package/dist/core/reed-solomon.d.ts.map +1 -0
- package/dist/core/reed-solomon.js +308 -0
- package/dist/core/reed-solomon.js.map +1 -0
- package/dist/core/registry.d.ts +45 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +80 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/result.d.ts +33 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +52 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/zip.d.ts +36 -0
- package/dist/core/zip.d.ts.map +1 -0
- package/dist/core/zip.js +234 -0
- package/dist/core/zip.js.map +1 -0
- package/dist/decode/alignment.d.ts +34 -0
- package/dist/decode/alignment.d.ts.map +1 -0
- package/dist/decode/alignment.js +179 -0
- package/dist/decode/alignment.js.map +1 -0
- package/dist/decode/binarise.d.ts +95 -0
- package/dist/decode/binarise.d.ts.map +1 -0
- package/dist/decode/binarise.js +399 -0
- package/dist/decode/binarise.js.map +1 -0
- package/dist/decode/decoder.d.ts +75 -0
- package/dist/decode/decoder.d.ts.map +1 -0
- package/dist/decode/decoder.js +773 -0
- package/dist/decode/decoder.js.map +1 -0
- package/dist/decode/erasures.d.ts +26 -0
- package/dist/decode/erasures.d.ts.map +1 -0
- package/dist/decode/erasures.js +34 -0
- package/dist/decode/erasures.js.map +1 -0
- package/dist/decode/failure.d.ts +15 -0
- package/dist/decode/failure.d.ts.map +1 -0
- package/dist/decode/failure.js +22 -0
- package/dist/decode/failure.js.map +1 -0
- package/dist/decode/finder.d.ts +114 -0
- package/dist/decode/finder.d.ts.map +1 -0
- package/dist/decode/finder.js +441 -0
- package/dist/decode/finder.js.map +1 -0
- package/dist/decode/frame.d.ts +49 -0
- package/dist/decode/frame.d.ts.map +1 -0
- package/dist/decode/frame.js +228 -0
- package/dist/decode/frame.js.map +1 -0
- package/dist/decode/grey.d.ts +87 -0
- package/dist/decode/grey.d.ts.map +1 -0
- package/dist/decode/grey.js +226 -0
- package/dist/decode/grey.js.map +1 -0
- package/dist/decode/index.d.ts +4 -0
- package/dist/decode/index.d.ts.map +1 -0
- package/dist/decode/index.js +3 -0
- package/dist/decode/index.js.map +1 -0
- package/dist/decode/locate-qr.d.ts +80 -0
- package/dist/decode/locate-qr.d.ts.map +1 -0
- package/dist/decode/locate-qr.js +295 -0
- package/dist/decode/locate-qr.js.map +1 -0
- package/dist/decode/locate-single.d.ts +47 -0
- package/dist/decode/locate-single.d.ts.map +1 -0
- package/dist/decode/locate-single.js +169 -0
- package/dist/decode/locate-single.js.map +1 -0
- package/dist/decode/plain.d.ts +70 -0
- package/dist/decode/plain.d.ts.map +1 -0
- package/dist/decode/plain.js +460 -0
- package/dist/decode/plain.js.map +1 -0
- package/dist/decode/sample.d.ts +56 -0
- package/dist/decode/sample.d.ts.map +1 -0
- package/dist/decode/sample.js +154 -0
- package/dist/decode/sample.js.map +1 -0
- package/dist/decode/strict.d.ts +255 -0
- package/dist/decode/strict.d.ts.map +1 -0
- package/dist/decode/strict.js +597 -0
- package/dist/decode/strict.js.map +1 -0
- package/dist/decode/tiled.d.ts +137 -0
- package/dist/decode/tiled.d.ts.map +1 -0
- package/dist/decode/tiled.js +452 -0
- package/dist/decode/tiled.js.map +1 -0
- package/dist/decode/transform.d.ts +48 -0
- package/dist/decode/transform.d.ts.map +1 -0
- package/dist/decode/transform.js +180 -0
- package/dist/decode/transform.js.map +1 -0
- package/dist/decode/types.d.ts +163 -0
- package/dist/decode/types.d.ts.map +1 -0
- package/dist/decode/types.js +10 -0
- package/dist/decode/types.js.map +1 -0
- package/dist/design/base64.d.ts +16 -0
- package/dist/design/base64.d.ts.map +1 -0
- package/dist/design/base64.js +97 -0
- package/dist/design/base64.js.map +1 -0
- package/dist/design/canonical.d.ts +13 -0
- package/dist/design/canonical.d.ts.map +1 -0
- package/dist/design/canonical.js +100 -0
- package/dist/design/canonical.js.map +1 -0
- package/dist/design/caption.d.ts +54 -0
- package/dist/design/caption.d.ts.map +1 -0
- package/dist/design/caption.js +175 -0
- package/dist/design/caption.js.map +1 -0
- package/dist/design/catalogue/draw.d.ts +77 -0
- package/dist/design/catalogue/draw.d.ts.map +1 -0
- package/dist/design/catalogue/draw.js +260 -0
- package/dist/design/catalogue/draw.js.map +1 -0
- package/dist/design/catalogue/fills.d.ts +9 -0
- package/dist/design/catalogue/fills.d.ts.map +1 -0
- package/dist/design/catalogue/fills.js +64 -0
- package/dist/design/catalogue/fills.js.map +1 -0
- package/dist/design/catalogue/frames.d.ts +18 -0
- package/dist/design/catalogue/frames.d.ts.map +1 -0
- package/dist/design/catalogue/frames.js +451 -0
- package/dist/design/catalogue/frames.js.map +1 -0
- package/dist/design/catalogue/icons.d.ts +21 -0
- package/dist/design/catalogue/icons.d.ts.map +1 -0
- package/dist/design/catalogue/icons.js +293 -0
- package/dist/design/catalogue/icons.js.map +1 -0
- package/dist/design/catalogue/module-shapes.d.ts +21 -0
- package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/module-shapes.js +266 -0
- package/dist/design/catalogue/module-shapes.js.map +1 -0
- package/dist/design/catalogue/presets.d.ts +31 -0
- package/dist/design/catalogue/presets.d.ts.map +1 -0
- package/dist/design/catalogue/presets.js +696 -0
- package/dist/design/catalogue/presets.js.map +1 -0
- package/dist/design/catalogue/region-shapes.d.ts +41 -0
- package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/region-shapes.js +399 -0
- package/dist/design/catalogue/region-shapes.js.map +1 -0
- package/dist/design/catalogue/schema.d.ts +14 -0
- package/dist/design/catalogue/schema.d.ts.map +1 -0
- package/dist/design/catalogue/schema.js +58 -0
- package/dist/design/catalogue/schema.js.map +1 -0
- package/dist/design/constraints.d.ts +25 -0
- package/dist/design/constraints.d.ts.map +1 -0
- package/dist/design/constraints.js +194 -0
- package/dist/design/constraints.js.map +1 -0
- package/dist/design/document.d.ts +64 -0
- package/dist/design/document.d.ts.map +1 -0
- package/dist/design/document.js +66 -0
- package/dist/design/document.js.map +1 -0
- package/dist/design/finder.d.ts +79 -0
- package/dist/design/finder.d.ts.map +1 -0
- package/dist/design/finder.js +270 -0
- package/dist/design/finder.js.map +1 -0
- package/dist/design/index.d.ts +18 -0
- package/dist/design/index.d.ts.map +1 -0
- package/dist/design/index.js +15 -0
- package/dist/design/index.js.map +1 -0
- package/dist/design/link.d.ts +41 -0
- package/dist/design/link.d.ts.map +1 -0
- package/dist/design/link.js +131 -0
- package/dist/design/link.js.map +1 -0
- package/dist/design/logo.d.ts +57 -0
- package/dist/design/logo.d.ts.map +1 -0
- package/dist/design/logo.js +376 -0
- package/dist/design/logo.js.map +1 -0
- package/dist/design/migrate.d.ts +31 -0
- package/dist/design/migrate.d.ts.map +1 -0
- package/dist/design/migrate.js +87 -0
- package/dist/design/migrate.js.map +1 -0
- package/dist/design/neighbours.d.ts +24 -0
- package/dist/design/neighbours.d.ts.map +1 -0
- package/dist/design/neighbours.js +50 -0
- package/dist/design/neighbours.js.map +1 -0
- package/dist/design/paint.d.ts +47 -0
- package/dist/design/paint.d.ts.map +1 -0
- package/dist/design/paint.js +115 -0
- package/dist/design/paint.js.map +1 -0
- package/dist/design/params.d.ts +30 -0
- package/dist/design/params.d.ts.map +1 -0
- package/dist/design/params.js +85 -0
- package/dist/design/params.js.map +1 -0
- package/dist/design/preset-size.d.ts +14 -0
- package/dist/design/preset-size.d.ts.map +1 -0
- package/dist/design/preset-size.js +14 -0
- package/dist/design/preset-size.js.map +1 -0
- package/dist/design/registries.d.ts +9 -0
- package/dist/design/registries.d.ts.map +1 -0
- package/dist/design/registries.js +24 -0
- package/dist/design/registries.js.map +1 -0
- package/dist/design/scene.d.ts +38 -0
- package/dist/design/scene.d.ts.map +1 -0
- package/dist/design/scene.js +694 -0
- package/dist/design/scene.js.map +1 -0
- package/dist/design/swiss-cross.d.ts +54 -0
- package/dist/design/swiss-cross.d.ts.map +1 -0
- package/dist/design/swiss-cross.js +95 -0
- package/dist/design/swiss-cross.js.map +1 -0
- package/dist/design/types.d.ts +389 -0
- package/dist/design/types.d.ts.map +1 -0
- package/dist/design/types.js +29 -0
- package/dist/design/types.js.map +1 -0
- package/dist/design/validate.d.ts +48 -0
- package/dist/design/validate.d.ts.map +1 -0
- package/dist/design/validate.js +986 -0
- package/dist/design/validate.js.map +1 -0
- package/dist/dom/camera.d.ts +94 -0
- package/dist/dom/camera.d.ts.map +1 -0
- package/dist/dom/camera.js +288 -0
- package/dist/dom/camera.js.map +1 -0
- package/dist/dom/file-library.d.ts +297 -0
- package/dist/dom/file-library.d.ts.map +1 -0
- package/dist/dom/file-library.js +703 -0
- package/dist/dom/file-library.js.map +1 -0
- package/dist/dom/image.d.ts +77 -0
- package/dist/dom/image.d.ts.map +1 -0
- package/dist/dom/image.js +253 -0
- package/dist/dom/image.js.map +1 -0
- package/dist/dom/index.d.ts +19 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +10 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/dom/library/index.d.ts +4 -0
- package/dist/dom/library/index.d.ts.map +1 -0
- package/dist/dom/library/index.js +2 -0
- package/dist/dom/library/index.js.map +1 -0
- package/dist/dom/library/indexeddb.d.ts +71 -0
- package/dist/dom/library/indexeddb.d.ts.map +1 -0
- package/dist/dom/library/indexeddb.js +365 -0
- package/dist/dom/library/indexeddb.js.map +1 -0
- package/dist/dom/logo.d.ts +36 -0
- package/dist/dom/logo.d.ts.map +1 -0
- package/dist/dom/logo.js +99 -0
- package/dist/dom/logo.js.map +1 -0
- package/dist/dom/orientation.d.ts +32 -0
- package/dist/dom/orientation.d.ts.map +1 -0
- package/dist/dom/orientation.js +152 -0
- package/dist/dom/orientation.js.map +1 -0
- package/dist/dom/output.d.ts +58 -0
- package/dist/dom/output.d.ts.map +1 -0
- package/dist/dom/output.js +93 -0
- package/dist/dom/output.js.map +1 -0
- package/dist/dom/print.d.ts +52 -0
- package/dist/dom/print.d.ts.map +1 -0
- package/dist/dom/print.js +101 -0
- package/dist/dom/print.js.map +1 -0
- package/dist/dom/raster-encoder.d.ts +43 -0
- package/dist/dom/raster-encoder.d.ts.map +1 -0
- package/dist/dom/raster-encoder.js +102 -0
- package/dist/dom/raster-encoder.js.map +1 -0
- package/dist/dom/resample.d.ts +20 -0
- package/dist/dom/resample.d.ts.map +1 -0
- package/dist/dom/resample.js +107 -0
- package/dist/dom/resample.js.map +1 -0
- package/dist/dom/types.d.ts +54 -0
- package/dist/dom/types.d.ts.map +1 -0
- package/dist/dom/types.js +13 -0
- package/dist/dom/types.js.map +1 -0
- package/dist/encode/bitstream.d.ts +14 -0
- package/dist/encode/bitstream.d.ts.map +1 -0
- package/dist/encode/bitstream.js +31 -0
- package/dist/encode/bitstream.js.map +1 -0
- package/dist/encode/encode.d.ts +21 -0
- package/dist/encode/encode.d.ts.map +1 -0
- package/dist/encode/encode.js +65 -0
- package/dist/encode/encode.js.map +1 -0
- package/dist/encode/index.d.ts +5 -0
- package/dist/encode/index.d.ts.map +1 -0
- package/dist/encode/index.js +4 -0
- package/dist/encode/index.js.map +1 -0
- package/dist/encode/plan.d.ts +61 -0
- package/dist/encode/plan.d.ts.map +1 -0
- package/dist/encode/plan.js +177 -0
- package/dist/encode/plan.js.map +1 -0
- package/dist/encode/structured-append.d.ts +35 -0
- package/dist/encode/structured-append.d.ts.map +1 -0
- package/dist/encode/structured-append.js +153 -0
- package/dist/encode/structured-append.js.map +1 -0
- package/dist/fonts/latin.d.ts +118 -0
- package/dist/fonts/latin.d.ts.map +1 -0
- package/dist/fonts/latin.js +137 -0
- package/dist/fonts/latin.js.map +1 -0
- package/dist/geometry/flatten.d.ts +60 -0
- package/dist/geometry/flatten.d.ts.map +1 -0
- package/dist/geometry/flatten.js +177 -0
- package/dist/geometry/flatten.js.map +1 -0
- package/dist/geometry/index.d.ts +10 -0
- package/dist/geometry/index.d.ts.map +1 -0
- package/dist/geometry/index.js +6 -0
- package/dist/geometry/index.js.map +1 -0
- package/dist/geometry/matrix.d.ts +50 -0
- package/dist/geometry/matrix.d.ts.map +1 -0
- package/dist/geometry/matrix.js +113 -0
- package/dist/geometry/matrix.js.map +1 -0
- package/dist/geometry/measure.d.ts +35 -0
- package/dist/geometry/measure.d.ts.map +1 -0
- package/dist/geometry/measure.js +206 -0
- package/dist/geometry/measure.js.map +1 -0
- package/dist/geometry/path.d.ts +137 -0
- package/dist/geometry/path.d.ts.map +1 -0
- package/dist/geometry/path.js +401 -0
- package/dist/geometry/path.js.map +1 -0
- package/dist/geometry/trace.d.ts +29 -0
- package/dist/geometry/trace.d.ts.map +1 -0
- package/dist/geometry/trace.js +166 -0
- package/dist/geometry/trace.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect/explain.d.ts +32 -0
- package/dist/inspect/explain.d.ts.map +1 -0
- package/dist/inspect/explain.js +99 -0
- package/dist/inspect/explain.js.map +1 -0
- package/dist/inspect/gs1.d.ts +38 -0
- package/dist/inspect/gs1.d.ts.map +1 -0
- package/dist/inspect/gs1.js +130 -0
- package/dist/inspect/gs1.js.map +1 -0
- package/dist/inspect/index.d.ts +9 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +6 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/inspect.d.ts +29 -0
- package/dist/inspect/inspect.d.ts.map +1 -0
- package/dist/inspect/inspect.js +98 -0
- package/dist/inspect/inspect.js.map +1 -0
- package/dist/inspect/keys.d.ts +54 -0
- package/dist/inspect/keys.d.ts.map +1 -0
- package/dist/inspect/keys.js +63 -0
- package/dist/inspect/keys.js.map +1 -0
- package/dist/inspect/sets.d.ts +27 -0
- package/dist/inspect/sets.d.ts.map +1 -0
- package/dist/inspect/sets.js +67 -0
- package/dist/inspect/sets.js.map +1 -0
- package/dist/inspect/types.d.ts +81 -0
- package/dist/inspect/types.d.ts.map +1 -0
- package/dist/inspect/types.js +16 -0
- package/dist/inspect/types.js.map +1 -0
- package/dist/messages/en/app.d.ts +11 -0
- package/dist/messages/en/app.d.ts.map +1 -0
- package/dist/messages/en/app.js +395 -0
- package/dist/messages/en/app.js.map +1 -0
- package/dist/messages/en/batch.d.ts +18 -0
- package/dist/messages/en/batch.d.ts.map +1 -0
- package/dist/messages/en/batch.js +42 -0
- package/dist/messages/en/batch.js.map +1 -0
- package/dist/messages/en/decode.d.ts +9 -0
- package/dist/messages/en/decode.d.ts.map +1 -0
- package/dist/messages/en/decode.js +21 -0
- package/dist/messages/en/decode.js.map +1 -0
- package/dist/messages/en/design.d.ts +13 -0
- package/dist/messages/en/design.d.ts.map +1 -0
- package/dist/messages/en/design.js +228 -0
- package/dist/messages/en/design.js.map +1 -0
- package/dist/messages/en/dom.d.ts +11 -0
- package/dist/messages/en/dom.d.ts.map +1 -0
- package/dist/messages/en/dom.js +14 -0
- package/dist/messages/en/dom.js.map +1 -0
- package/dist/messages/en/encode.d.ts +13 -0
- package/dist/messages/en/encode.d.ts.map +1 -0
- package/dist/messages/en/encode.js +20 -0
- package/dist/messages/en/encode.js.map +1 -0
- package/dist/messages/en/index.d.ts +48 -0
- package/dist/messages/en/index.d.ts.map +1 -0
- package/dist/messages/en/index.js +73 -0
- package/dist/messages/en/index.js.map +1 -0
- package/dist/messages/en/inspect.d.ts +13 -0
- package/dist/messages/en/inspect.d.ts.map +1 -0
- package/dist/messages/en/inspect.js +84 -0
- package/dist/messages/en/inspect.js.map +1 -0
- package/dist/messages/en/library.d.ts +12 -0
- package/dist/messages/en/library.d.ts.map +1 -0
- package/dist/messages/en/library.js +27 -0
- package/dist/messages/en/library.js.map +1 -0
- package/dist/messages/en/micro.d.ts +9 -0
- package/dist/messages/en/micro.d.ts.map +1 -0
- package/dist/messages/en/micro.js +13 -0
- package/dist/messages/en/micro.js.map +1 -0
- package/dist/messages/en/own-link.d.ts +7 -0
- package/dist/messages/en/own-link.d.ts.map +1 -0
- package/dist/messages/en/own-link.js +29 -0
- package/dist/messages/en/own-link.js.map +1 -0
- package/dist/messages/en/payload.d.ts +13 -0
- package/dist/messages/en/payload.d.ts.map +1 -0
- package/dist/messages/en/payload.js +427 -0
- package/dist/messages/en/payload.js.map +1 -0
- package/dist/messages/en/rmqr.d.ts +9 -0
- package/dist/messages/en/rmqr.d.ts.map +1 -0
- package/dist/messages/en/rmqr.js +12 -0
- package/dist/messages/en/rmqr.js.map +1 -0
- package/dist/messages/en/studio.d.ts +18 -0
- package/dist/messages/en/studio.d.ts.map +1 -0
- package/dist/messages/en/studio.js +117 -0
- package/dist/messages/en/studio.js.map +1 -0
- package/dist/messages/en/symbology.d.ts +13 -0
- package/dist/messages/en/symbology.d.ts.map +1 -0
- package/dist/messages/en/symbology.js +21 -0
- package/dist/messages/en/symbology.js.map +1 -0
- package/dist/messages/en/text.d.ts +23 -0
- package/dist/messages/en/text.d.ts.map +1 -0
- package/dist/messages/en/text.js +47 -0
- package/dist/messages/en/text.js.map +1 -0
- package/dist/messages/en/verify.d.ts +13 -0
- package/dist/messages/en/verify.d.ts.map +1 -0
- package/dist/messages/en/verify.js +117 -0
- package/dist/messages/en/verify.js.map +1 -0
- package/dist/messages/format.d.ts +30 -0
- package/dist/messages/format.d.ts.map +1 -0
- package/dist/messages/format.js +170 -0
- package/dist/messages/format.js.map +1 -0
- package/dist/own-link/index.d.ts +5 -0
- package/dist/own-link/index.d.ts.map +1 -0
- package/dist/own-link/index.js +3 -0
- package/dist/own-link/index.js.map +1 -0
- package/dist/own-link/query.d.ts +10 -0
- package/dist/own-link/query.d.ts.map +1 -0
- package/dist/own-link/query.js +33 -0
- package/dist/own-link/query.js.map +1 -0
- package/dist/own-link/redirects.d.ts +54 -0
- package/dist/own-link/redirects.d.ts.map +1 -0
- package/dist/own-link/redirects.js +271 -0
- package/dist/own-link/redirects.js.map +1 -0
- package/dist/own-link/utm.d.ts +24 -0
- package/dist/own-link/utm.d.ts.map +1 -0
- package/dist/own-link/utm.js +82 -0
- package/dist/own-link/utm.js.map +1 -0
- package/dist/payload/banking.d.ts +39 -0
- package/dist/payload/banking.d.ts.map +1 -0
- package/dist/payload/banking.js +87 -0
- package/dist/payload/banking.js.map +1 -0
- package/dist/payload/base58.d.ts +21 -0
- package/dist/payload/base58.d.ts.map +1 -0
- package/dist/payload/base58.js +75 -0
- package/dist/payload/base58.js.map +1 -0
- package/dist/payload/bech32.d.ts +59 -0
- package/dist/payload/bech32.d.ts.map +1 -0
- package/dist/payload/bech32.js +137 -0
- package/dist/payload/bech32.js.map +1 -0
- package/dist/payload/check-digits.d.ts +49 -0
- package/dist/payload/check-digits.d.ts.map +1 -0
- package/dist/payload/check-digits.js +101 -0
- package/dist/payload/check-digits.js.map +1 -0
- package/dist/payload/content/bitcoin.d.ts +34 -0
- package/dist/payload/content/bitcoin.d.ts.map +1 -0
- package/dist/payload/content/bitcoin.js +137 -0
- package/dist/payload/content/bitcoin.js.map +1 -0
- package/dist/payload/content/email.d.ts +19 -0
- package/dist/payload/content/email.d.ts.map +1 -0
- package/dist/payload/content/email.js +137 -0
- package/dist/payload/content/email.js.map +1 -0
- package/dist/payload/content/epc.d.ts +32 -0
- package/dist/payload/content/epc.d.ts.map +1 -0
- package/dist/payload/content/epc.js +160 -0
- package/dist/payload/content/epc.js.map +1 -0
- package/dist/payload/content/event.d.ts +35 -0
- package/dist/payload/content/event.d.ts.map +1 -0
- package/dist/payload/content/event.js +242 -0
- package/dist/payload/content/event.js.map +1 -0
- package/dist/payload/content/facetime.d.ts +14 -0
- package/dist/payload/content/facetime.d.ts.map +1 -0
- package/dist/payload/content/facetime.js +56 -0
- package/dist/payload/content/facetime.js.map +1 -0
- package/dist/payload/content/geo.d.ts +24 -0
- package/dist/payload/content/geo.d.ts.map +1 -0
- package/dist/payload/content/geo.js +139 -0
- package/dist/payload/content/geo.js.map +1 -0
- package/dist/payload/content/gs1-digital-link.d.ts +34 -0
- package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/content/gs1-digital-link.js +171 -0
- package/dist/payload/content/gs1-digital-link.js.map +1 -0
- package/dist/payload/content/lightning.d.ts +22 -0
- package/dist/payload/content/lightning.d.ts.map +1 -0
- package/dist/payload/content/lightning.js +90 -0
- package/dist/payload/content/lightning.js.map +1 -0
- package/dist/payload/content/mecard.d.ts +23 -0
- package/dist/payload/content/mecard.d.ts.map +1 -0
- package/dist/payload/content/mecard.js +111 -0
- package/dist/payload/content/mecard.js.map +1 -0
- package/dist/payload/content/phone.d.ts +17 -0
- package/dist/payload/content/phone.d.ts.map +1 -0
- package/dist/payload/content/phone.js +39 -0
- package/dist/payload/content/phone.js.map +1 -0
- package/dist/payload/content/pix.d.ts +36 -0
- package/dist/payload/content/pix.d.ts.map +1 -0
- package/dist/payload/content/pix.js +191 -0
- package/dist/payload/content/pix.js.map +1 -0
- package/dist/payload/content/signal.d.ts +17 -0
- package/dist/payload/content/signal.d.ts.map +1 -0
- package/dist/payload/content/signal.js +43 -0
- package/dist/payload/content/signal.js.map +1 -0
- package/dist/payload/content/sms.d.ts +18 -0
- package/dist/payload/content/sms.d.ts.map +1 -0
- package/dist/payload/content/sms.js +64 -0
- package/dist/payload/content/sms.js.map +1 -0
- package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
- package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/content/swiss-qr-bill.js +325 -0
- package/dist/payload/content/swiss-qr-bill.js.map +1 -0
- package/dist/payload/content/telegram.d.ts +18 -0
- package/dist/payload/content/telegram.d.ts.map +1 -0
- package/dist/payload/content/telegram.js +105 -0
- package/dist/payload/content/telegram.js.map +1 -0
- package/dist/payload/content/text.d.ts +9 -0
- package/dist/payload/content/text.d.ts.map +1 -0
- package/dist/payload/content/text.js +18 -0
- package/dist/payload/content/text.js.map +1 -0
- package/dist/payload/content/upi.d.ts +21 -0
- package/dist/payload/content/upi.d.ts.map +1 -0
- package/dist/payload/content/upi.js +89 -0
- package/dist/payload/content/upi.js.map +1 -0
- package/dist/payload/content/url.d.ts +31 -0
- package/dist/payload/content/url.d.ts.map +1 -0
- package/dist/payload/content/url.js +120 -0
- package/dist/payload/content/url.js.map +1 -0
- package/dist/payload/content/vcard.d.ts +42 -0
- package/dist/payload/content/vcard.d.ts.map +1 -0
- package/dist/payload/content/vcard.js +302 -0
- package/dist/payload/content/vcard.js.map +1 -0
- package/dist/payload/content/whatsapp.d.ts +17 -0
- package/dist/payload/content/whatsapp.d.ts.map +1 -0
- package/dist/payload/content/whatsapp.js +72 -0
- package/dist/payload/content/whatsapp.js.map +1 -0
- package/dist/payload/content/wifi.d.ts +48 -0
- package/dist/payload/content/wifi.d.ts.map +1 -0
- package/dist/payload/content/wifi.js +240 -0
- package/dist/payload/content/wifi.js.map +1 -0
- package/dist/payload/content/zatca.d.ts +35 -0
- package/dist/payload/content/zatca.d.ts.map +1 -0
- package/dist/payload/content/zatca.js +156 -0
- package/dist/payload/content/zatca.js.map +1 -0
- package/dist/payload/data/hosts.d.ts +39 -0
- package/dist/payload/data/hosts.d.ts.map +1 -0
- package/dist/payload/data/hosts.js +74 -0
- package/dist/payload/data/hosts.js.map +1 -0
- package/dist/payload/define.d.ts +57 -0
- package/dist/payload/define.d.ts.map +1 -0
- package/dist/payload/define.js +87 -0
- package/dist/payload/define.js.map +1 -0
- package/dist/payload/detect.d.ts +13 -0
- package/dist/payload/detect.d.ts.map +1 -0
- package/dist/payload/detect.js +32 -0
- package/dist/payload/detect.js.map +1 -0
- package/dist/payload/emv.d.ts +41 -0
- package/dist/payload/emv.d.ts.map +1 -0
- package/dist/payload/emv.js +73 -0
- package/dist/payload/emv.js.map +1 -0
- package/dist/payload/escape.d.ts +66 -0
- package/dist/payload/escape.d.ts.map +1 -0
- package/dist/payload/escape.js +225 -0
- package/dist/payload/escape.js.map +1 -0
- package/dist/payload/fields.d.ts +86 -0
- package/dist/payload/fields.d.ts.map +1 -0
- package/dist/payload/fields.js +368 -0
- package/dist/payload/fields.js.map +1 -0
- package/dist/payload/hash.d.ts +11 -0
- package/dist/payload/hash.d.ts.map +1 -0
- package/dist/payload/hash.js +82 -0
- package/dist/payload/hash.js.map +1 -0
- package/dist/payload/index.d.ts +58 -0
- package/dist/payload/index.d.ts.map +1 -0
- package/dist/payload/index.js +32 -0
- package/dist/payload/index.js.map +1 -0
- package/dist/payload/punycode.d.ts +18 -0
- package/dist/payload/punycode.d.ts.map +1 -0
- package/dist/payload/punycode.js +99 -0
- package/dist/payload/punycode.js.map +1 -0
- package/dist/payload/registry.d.ts +20 -0
- package/dist/payload/registry.d.ts.map +1 -0
- package/dist/payload/registry.js +64 -0
- package/dist/payload/registry.js.map +1 -0
- package/dist/payload/safety.d.ts +13 -0
- package/dist/payload/safety.d.ts.map +1 -0
- package/dist/payload/safety.js +30 -0
- package/dist/payload/safety.js.map +1 -0
- package/dist/payload/scripts.d.ts +25 -0
- package/dist/payload/scripts.d.ts.map +1 -0
- package/dist/payload/scripts.js +90 -0
- package/dist/payload/scripts.js.map +1 -0
- package/dist/payload/types.d.ts +138 -0
- package/dist/payload/types.d.ts.map +1 -0
- package/dist/payload/types.js +28 -0
- package/dist/payload/types.js.map +1 -0
- package/dist/payload/uri.d.ts +24 -0
- package/dist/payload/uri.d.ts.map +1 -0
- package/dist/payload/uri.js +69 -0
- package/dist/payload/uri.js.map +1 -0
- package/dist/payload/url-safety.d.ts +31 -0
- package/dist/payload/url-safety.d.ts.map +1 -0
- package/dist/payload/url-safety.js +221 -0
- package/dist/payload/url-safety.js.map +1 -0
- package/dist/payload/vectors/bitcoin.d.ts +13 -0
- package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
- package/dist/payload/vectors/bitcoin.js +83 -0
- package/dist/payload/vectors/bitcoin.js.map +1 -0
- package/dist/payload/vectors/built-in.d.ts +15 -0
- package/dist/payload/vectors/built-in.d.ts.map +1 -0
- package/dist/payload/vectors/built-in.js +59 -0
- package/dist/payload/vectors/built-in.js.map +1 -0
- package/dist/payload/vectors/email.d.ts +8 -0
- package/dist/payload/vectors/email.d.ts.map +1 -0
- package/dist/payload/vectors/email.js +60 -0
- package/dist/payload/vectors/email.js.map +1 -0
- package/dist/payload/vectors/epc.d.ts +9 -0
- package/dist/payload/vectors/epc.d.ts.map +1 -0
- package/dist/payload/vectors/epc.js +38 -0
- package/dist/payload/vectors/epc.js.map +1 -0
- package/dist/payload/vectors/event.d.ts +9 -0
- package/dist/payload/vectors/event.d.ts.map +1 -0
- package/dist/payload/vectors/event.js +57 -0
- package/dist/payload/vectors/event.js.map +1 -0
- package/dist/payload/vectors/facetime.d.ts +9 -0
- package/dist/payload/vectors/facetime.d.ts.map +1 -0
- package/dist/payload/vectors/facetime.js +19 -0
- package/dist/payload/vectors/facetime.js.map +1 -0
- package/dist/payload/vectors/geo.d.ts +8 -0
- package/dist/payload/vectors/geo.d.ts.map +1 -0
- package/dist/payload/vectors/geo.js +22 -0
- package/dist/payload/vectors/geo.js.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.js +21 -0
- package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
- package/dist/payload/vectors/hosts.d.ts +12 -0
- package/dist/payload/vectors/hosts.d.ts.map +1 -0
- package/dist/payload/vectors/hosts.js +50 -0
- package/dist/payload/vectors/hosts.js.map +1 -0
- package/dist/payload/vectors/index.d.ts +10 -0
- package/dist/payload/vectors/index.d.ts.map +1 -0
- package/dist/payload/vectors/index.js +9 -0
- package/dist/payload/vectors/index.js.map +1 -0
- package/dist/payload/vectors/lightning.d.ts +9 -0
- package/dist/payload/vectors/lightning.d.ts.map +1 -0
- package/dist/payload/vectors/lightning.js +23 -0
- package/dist/payload/vectors/lightning.js.map +1 -0
- package/dist/payload/vectors/mecard.d.ts +9 -0
- package/dist/payload/vectors/mecard.d.ts.map +1 -0
- package/dist/payload/vectors/mecard.js +25 -0
- package/dist/payload/vectors/mecard.js.map +1 -0
- package/dist/payload/vectors/phone.d.ts +9 -0
- package/dist/payload/vectors/phone.d.ts.map +1 -0
- package/dist/payload/vectors/phone.js +13 -0
- package/dist/payload/vectors/phone.js.map +1 -0
- package/dist/payload/vectors/pix.d.ts +9 -0
- package/dist/payload/vectors/pix.d.ts.map +1 -0
- package/dist/payload/vectors/pix.js +21 -0
- package/dist/payload/vectors/pix.js.map +1 -0
- package/dist/payload/vectors/signal.d.ts +9 -0
- package/dist/payload/vectors/signal.d.ts.map +1 -0
- package/dist/payload/vectors/signal.js +14 -0
- package/dist/payload/vectors/signal.js.map +1 -0
- package/dist/payload/vectors/sms.d.ts +9 -0
- package/dist/payload/vectors/sms.d.ts.map +1 -0
- package/dist/payload/vectors/sms.js +18 -0
- package/dist/payload/vectors/sms.js.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.js +72 -0
- package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
- package/dist/payload/vectors/telegram.d.ts +9 -0
- package/dist/payload/vectors/telegram.d.ts.map +1 -0
- package/dist/payload/vectors/telegram.js +19 -0
- package/dist/payload/vectors/telegram.js.map +1 -0
- package/dist/payload/vectors/text.d.ts +9 -0
- package/dist/payload/vectors/text.d.ts.map +1 -0
- package/dist/payload/vectors/text.js +13 -0
- package/dist/payload/vectors/text.js.map +1 -0
- package/dist/payload/vectors/upi.d.ts +9 -0
- package/dist/payload/vectors/upi.d.ts.map +1 -0
- package/dist/payload/vectors/upi.js +14 -0
- package/dist/payload/vectors/upi.js.map +1 -0
- package/dist/payload/vectors/url.d.ts +8 -0
- package/dist/payload/vectors/url.d.ts.map +1 -0
- package/dist/payload/vectors/url.js +30 -0
- package/dist/payload/vectors/url.js.map +1 -0
- package/dist/payload/vectors/vcard.d.ts +9 -0
- package/dist/payload/vectors/vcard.d.ts.map +1 -0
- package/dist/payload/vectors/vcard.js +47 -0
- package/dist/payload/vectors/vcard.js.map +1 -0
- package/dist/payload/vectors/whatsapp.d.ts +9 -0
- package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
- package/dist/payload/vectors/whatsapp.js +19 -0
- package/dist/payload/vectors/whatsapp.js.map +1 -0
- package/dist/payload/vectors/wifi.d.ts +13 -0
- package/dist/payload/vectors/wifi.d.ts.map +1 -0
- package/dist/payload/vectors/wifi.js +40 -0
- package/dist/payload/vectors/wifi.js.map +1 -0
- package/dist/payload/vectors/zatca.d.ts +12 -0
- package/dist/payload/vectors/zatca.d.ts.map +1 -0
- package/dist/payload/vectors/zatca.js +28 -0
- package/dist/payload/vectors/zatca.js.map +1 -0
- package/dist/qr-code-studio.html +190 -0
- package/dist/registries.d.ts +24 -0
- package/dist/registries.d.ts.map +1 -0
- package/dist/registries.js +23 -0
- package/dist/registries.js.map +1 -0
- package/dist/render/base64.d.ts +11 -0
- package/dist/render/base64.d.ts.map +1 -0
- package/dist/render/base64.js +40 -0
- package/dist/render/base64.js.map +1 -0
- package/dist/render/colour.d.ts +28 -0
- package/dist/render/colour.d.ts.map +1 -0
- package/dist/render/colour.js +72 -0
- package/dist/render/colour.js.map +1 -0
- package/dist/render/conic.d.ts +68 -0
- package/dist/render/conic.d.ts.map +1 -0
- package/dist/render/conic.js +205 -0
- package/dist/render/conic.js.map +1 -0
- package/dist/render/coverage.d.ts +154 -0
- package/dist/render/coverage.d.ts.map +1 -0
- package/dist/render/coverage.js +613 -0
- package/dist/render/coverage.js.map +1 -0
- package/dist/render/eps.d.ts +41 -0
- package/dist/render/eps.d.ts.map +1 -0
- package/dist/render/eps.js +377 -0
- package/dist/render/eps.js.map +1 -0
- package/dist/render/impose.d.ts +130 -0
- package/dist/render/impose.d.ts.map +1 -0
- package/dist/render/impose.js +288 -0
- package/dist/render/impose.js.map +1 -0
- package/dist/render/index.d.ts +22 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +13 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/paint.d.ts +62 -0
- package/dist/render/paint.d.ts.map +1 -0
- package/dist/render/paint.js +169 -0
- package/dist/render/paint.js.map +1 -0
- package/dist/render/pdf-colour.d.ts +34 -0
- package/dist/render/pdf-colour.d.ts.map +1 -0
- package/dist/render/pdf-colour.js +64 -0
- package/dist/render/pdf-colour.js.map +1 -0
- package/dist/render/pdf-content.d.ts +90 -0
- package/dist/render/pdf-content.d.ts.map +1 -0
- package/dist/render/pdf-content.js +367 -0
- package/dist/render/pdf-content.js.map +1 -0
- package/dist/render/pdf-document.d.ts +38 -0
- package/dist/render/pdf-document.d.ts.map +1 -0
- package/dist/render/pdf-document.js +110 -0
- package/dist/render/pdf-document.js.map +1 -0
- package/dist/render/pdf-hash.d.ts +14 -0
- package/dist/render/pdf-hash.d.ts.map +1 -0
- package/dist/render/pdf-hash.js +71 -0
- package/dist/render/pdf-hash.js.map +1 -0
- package/dist/render/pdf-syntax.d.ts +45 -0
- package/dist/render/pdf-syntax.d.ts.map +1 -0
- package/dist/render/pdf-syntax.js +100 -0
- package/dist/render/pdf-syntax.js.map +1 -0
- package/dist/render/pdf.d.ts +59 -0
- package/dist/render/pdf.d.ts.map +1 -0
- package/dist/render/pdf.js +267 -0
- package/dist/render/pdf.js.map +1 -0
- package/dist/render/png-decode.d.ts +33 -0
- package/dist/render/png-decode.d.ts.map +1 -0
- package/dist/render/png-decode.js +345 -0
- package/dist/render/png-decode.js.map +1 -0
- package/dist/render/png.d.ts +37 -0
- package/dist/render/png.d.ts.map +1 -0
- package/dist/render/png.js +350 -0
- package/dist/render/png.js.map +1 -0
- package/dist/render/raster.d.ts +40 -0
- package/dist/render/raster.d.ts.map +1 -0
- package/dist/render/raster.js +245 -0
- package/dist/render/raster.js.map +1 -0
- package/dist/render/scene.d.ts +84 -0
- package/dist/render/scene.d.ts.map +1 -0
- package/dist/render/scene.js +216 -0
- package/dist/render/scene.js.map +1 -0
- package/dist/render/sheets.d.ts +26 -0
- package/dist/render/sheets.d.ts.map +1 -0
- package/dist/render/sheets.js +83 -0
- package/dist/render/sheets.js.map +1 -0
- package/dist/render/svg.d.ts +54 -0
- package/dist/render/svg.d.ts.map +1 -0
- package/dist/render/svg.js +324 -0
- package/dist/render/svg.js.map +1 -0
- package/dist/render/types.d.ts +95 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/segment/alphanumeric.d.ts +15 -0
- package/dist/segment/alphanumeric.d.ts.map +1 -0
- package/dist/segment/alphanumeric.js +23 -0
- package/dist/segment/alphanumeric.js.map +1 -0
- package/dist/segment/eci.d.ts +41 -0
- package/dist/segment/eci.d.ts.map +1 -0
- package/dist/segment/eci.js +194 -0
- package/dist/segment/eci.js.map +1 -0
- package/dist/segment/index.d.ts +10 -0
- package/dist/segment/index.d.ts.map +1 -0
- package/dist/segment/index.js +8 -0
- package/dist/segment/index.js.map +1 -0
- package/dist/segment/kanji.d.ts +57 -0
- package/dist/segment/kanji.d.ts.map +1 -0
- package/dist/segment/kanji.js +135 -0
- package/dist/segment/kanji.js.map +1 -0
- package/dist/segment/profile.d.ts +21 -0
- package/dist/segment/profile.d.ts.map +1 -0
- package/dist/segment/profile.js +66 -0
- package/dist/segment/profile.js.map +1 -0
- package/dist/segment/read.d.ts +29 -0
- package/dist/segment/read.d.ts.map +1 -0
- package/dist/segment/read.js +360 -0
- package/dist/segment/read.js.map +1 -0
- package/dist/segment/segment-text.d.ts +88 -0
- package/dist/segment/segment-text.d.ts.map +1 -0
- package/dist/segment/segment-text.js +422 -0
- package/dist/segment/segment-text.js.map +1 -0
- package/dist/segment/types.d.ts +89 -0
- package/dist/segment/types.d.ts.map +1 -0
- package/dist/segment/types.js +13 -0
- package/dist/segment/types.js.map +1 -0
- package/dist/segment/write.d.ts +36 -0
- package/dist/segment/write.d.ts.map +1 -0
- package/dist/segment/write.js +226 -0
- package/dist/segment/write.js.map +1 -0
- package/dist/studio/assets.d.ts +22 -0
- package/dist/studio/assets.d.ts.map +1 -0
- package/dist/studio/assets.js +66 -0
- package/dist/studio/assets.js.map +1 -0
- package/dist/studio/catalogue.d.ts +34 -0
- package/dist/studio/catalogue.d.ts.map +1 -0
- package/dist/studio/catalogue.js +359 -0
- package/dist/studio/catalogue.js.map +1 -0
- package/dist/studio/contrast.d.ts +16 -0
- package/dist/studio/contrast.d.ts.map +1 -0
- package/dist/studio/contrast.js +28 -0
- package/dist/studio/contrast.js.map +1 -0
- package/dist/studio/document.d.ts +61 -0
- package/dist/studio/document.d.ts.map +1 -0
- package/dist/studio/document.js +208 -0
- package/dist/studio/document.js.map +1 -0
- package/dist/studio/export.d.ts +52 -0
- package/dist/studio/export.d.ts.map +1 -0
- package/dist/studio/export.js +269 -0
- package/dist/studio/export.js.map +1 -0
- package/dist/studio/form.d.ts +15 -0
- package/dist/studio/form.d.ts.map +1 -0
- package/dist/studio/form.js +91 -0
- package/dist/studio/form.js.map +1 -0
- package/dist/studio/history.d.ts +66 -0
- package/dist/studio/history.d.ts.map +1 -0
- package/dist/studio/history.js +109 -0
- package/dist/studio/history.js.map +1 -0
- package/dist/studio/index.d.ts +16 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +12 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/keys.d.ts +86 -0
- package/dist/studio/keys.d.ts.map +1 -0
- package/dist/studio/keys.js +165 -0
- package/dist/studio/keys.js.map +1 -0
- package/dist/studio/kit.d.ts +44 -0
- package/dist/studio/kit.d.ts.map +1 -0
- package/dist/studio/kit.js +114 -0
- package/dist/studio/kit.js.map +1 -0
- package/dist/studio/logo.d.ts +25 -0
- package/dist/studio/logo.d.ts.map +1 -0
- package/dist/studio/logo.js +49 -0
- package/dist/studio/logo.js.map +1 -0
- package/dist/studio/names.d.ts +18 -0
- package/dist/studio/names.d.ts.map +1 -0
- package/dist/studio/names.js +36 -0
- package/dist/studio/names.js.map +1 -0
- package/dist/studio/patch.d.ts +17 -0
- package/dist/studio/patch.d.ts.map +1 -0
- package/dist/studio/patch.js +64 -0
- package/dist/studio/patch.js.map +1 -0
- package/dist/studio/seams.d.ts +44 -0
- package/dist/studio/seams.d.ts.map +1 -0
- package/dist/studio/seams.js +36 -0
- package/dist/studio/seams.js.map +1 -0
- package/dist/studio/share.d.ts +16 -0
- package/dist/studio/share.d.ts.map +1 -0
- package/dist/studio/share.js +57 -0
- package/dist/studio/share.js.map +1 -0
- package/dist/studio/shuffle.d.ts +38 -0
- package/dist/studio/shuffle.d.ts.map +1 -0
- package/dist/studio/shuffle.js +181 -0
- package/dist/studio/shuffle.js.map +1 -0
- package/dist/studio/slices.d.ts +29 -0
- package/dist/studio/slices.d.ts.map +1 -0
- package/dist/studio/slices.js +84 -0
- package/dist/studio/slices.js.map +1 -0
- package/dist/studio/studio.d.ts +29 -0
- package/dist/studio/studio.d.ts.map +1 -0
- package/dist/studio/studio.js +1298 -0
- package/dist/studio/studio.js.map +1 -0
- package/dist/studio/symbol.d.ts +47 -0
- package/dist/studio/symbol.d.ts.map +1 -0
- package/dist/studio/symbol.js +159 -0
- package/dist/studio/symbol.js.map +1 -0
- package/dist/studio/timers.d.ts +18 -0
- package/dist/studio/timers.d.ts.map +1 -0
- package/dist/studio/timers.js +36 -0
- package/dist/studio/timers.js.map +1 -0
- package/dist/studio/types.d.ts +693 -0
- package/dist/studio/types.d.ts.map +1 -0
- package/dist/studio/types.js +26 -0
- package/dist/studio/types.js.map +1 -0
- package/dist/studio/verify.d.ts +47 -0
- package/dist/studio/verify.d.ts.map +1 -0
- package/dist/studio/verify.js +63 -0
- package/dist/studio/verify.js.map +1 -0
- package/dist/symbology/index.d.ts +8 -0
- package/dist/symbology/index.d.ts.map +1 -0
- package/dist/symbology/index.js +6 -0
- package/dist/symbology/index.js.map +1 -0
- package/dist/symbology/micro/blocks.d.ts +34 -0
- package/dist/symbology/micro/blocks.d.ts.map +1 -0
- package/dist/symbology/micro/blocks.js +63 -0
- package/dist/symbology/micro/blocks.js.map +1 -0
- package/dist/symbology/micro/entry.d.ts +70 -0
- package/dist/symbology/micro/entry.d.ts.map +1 -0
- package/dist/symbology/micro/entry.js +181 -0
- package/dist/symbology/micro/entry.js.map +1 -0
- package/dist/symbology/micro/format.d.ts +31 -0
- package/dist/symbology/micro/format.d.ts.map +1 -0
- package/dist/symbology/micro/format.js +48 -0
- package/dist/symbology/micro/format.js.map +1 -0
- package/dist/symbology/micro/index.d.ts +7 -0
- package/dist/symbology/micro/index.d.ts.map +1 -0
- package/dist/symbology/micro/index.js +5 -0
- package/dist/symbology/micro/index.js.map +1 -0
- package/dist/symbology/micro/layout.d.ts +40 -0
- package/dist/symbology/micro/layout.d.ts.map +1 -0
- package/dist/symbology/micro/layout.js +106 -0
- package/dist/symbology/micro/layout.js.map +1 -0
- package/dist/symbology/micro/mask.d.ts +25 -0
- package/dist/symbology/micro/mask.d.ts.map +1 -0
- package/dist/symbology/micro/mask.js +41 -0
- package/dist/symbology/micro/mask.js.map +1 -0
- package/dist/symbology/micro/modules.d.ts +76 -0
- package/dist/symbology/micro/modules.d.ts.map +1 -0
- package/dist/symbology/micro/modules.js +156 -0
- package/dist/symbology/micro/modules.js.map +1 -0
- package/dist/symbology/micro/profile.d.ts +16 -0
- package/dist/symbology/micro/profile.d.ts.map +1 -0
- package/dist/symbology/micro/profile.js +45 -0
- package/dist/symbology/micro/profile.js.map +1 -0
- package/dist/symbology/micro/read-helpers.d.ts +31 -0
- package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
- package/dist/symbology/micro/read-helpers.js +66 -0
- package/dist/symbology/micro/read-helpers.js.map +1 -0
- package/dist/symbology/micro/tables.d.ts +63 -0
- package/dist/symbology/micro/tables.d.ts.map +1 -0
- package/dist/symbology/micro/tables.js +163 -0
- package/dist/symbology/micro/tables.js.map +1 -0
- package/dist/symbology/qr/blocks.d.ts +58 -0
- package/dist/symbology/qr/blocks.d.ts.map +1 -0
- package/dist/symbology/qr/blocks.js +176 -0
- package/dist/symbology/qr/blocks.js.map +1 -0
- package/dist/symbology/qr/build.d.ts +20 -0
- package/dist/symbology/qr/build.d.ts.map +1 -0
- package/dist/symbology/qr/build.js +91 -0
- package/dist/symbology/qr/build.js.map +1 -0
- package/dist/symbology/qr/entry.d.ts +13 -0
- package/dist/symbology/qr/entry.d.ts.map +1 -0
- package/dist/symbology/qr/entry.js +56 -0
- package/dist/symbology/qr/entry.js.map +1 -0
- package/dist/symbology/qr/index.d.ts +13 -0
- package/dist/symbology/qr/index.d.ts.map +1 -0
- package/dist/symbology/qr/index.js +9 -0
- package/dist/symbology/qr/index.js.map +1 -0
- package/dist/symbology/qr/info.d.ts +29 -0
- package/dist/symbology/qr/info.d.ts.map +1 -0
- package/dist/symbology/qr/info.js +53 -0
- package/dist/symbology/qr/info.js.map +1 -0
- package/dist/symbology/qr/layout.d.ts +37 -0
- package/dist/symbology/qr/layout.d.ts.map +1 -0
- package/dist/symbology/qr/layout.js +174 -0
- package/dist/symbology/qr/layout.js.map +1 -0
- package/dist/symbology/qr/mask.d.ts +35 -0
- package/dist/symbology/qr/mask.d.ts.map +1 -0
- package/dist/symbology/qr/mask.js +113 -0
- package/dist/symbology/qr/mask.js.map +1 -0
- package/dist/symbology/qr/read.d.ts +43 -0
- package/dist/symbology/qr/read.d.ts.map +1 -0
- package/dist/symbology/qr/read.js +219 -0
- package/dist/symbology/qr/read.js.map +1 -0
- package/dist/symbology/qr/tables.d.ts +62 -0
- package/dist/symbology/qr/tables.d.ts.map +1 -0
- package/dist/symbology/qr/tables.js +337 -0
- package/dist/symbology/qr/tables.js.map +1 -0
- package/dist/symbology/registry.d.ts +11 -0
- package/dist/symbology/registry.d.ts.map +1 -0
- package/dist/symbology/registry.js +19 -0
- package/dist/symbology/registry.js.map +1 -0
- package/dist/symbology/rmqr/entry.d.ts +56 -0
- package/dist/symbology/rmqr/entry.d.ts.map +1 -0
- package/dist/symbology/rmqr/entry.js +165 -0
- package/dist/symbology/rmqr/entry.js.map +1 -0
- package/dist/symbology/rmqr/format.d.ts +45 -0
- package/dist/symbology/rmqr/format.d.ts.map +1 -0
- package/dist/symbology/rmqr/format.js +72 -0
- package/dist/symbology/rmqr/format.js.map +1 -0
- package/dist/symbology/rmqr/index.d.ts +5 -0
- package/dist/symbology/rmqr/index.d.ts.map +1 -0
- package/dist/symbology/rmqr/index.js +5 -0
- package/dist/symbology/rmqr/index.js.map +1 -0
- package/dist/symbology/rmqr/layout.d.ts +46 -0
- package/dist/symbology/rmqr/layout.d.ts.map +1 -0
- package/dist/symbology/rmqr/layout.js +196 -0
- package/dist/symbology/rmqr/layout.js.map +1 -0
- package/dist/symbology/rmqr/profile.d.ts +15 -0
- package/dist/symbology/rmqr/profile.d.ts.map +1 -0
- package/dist/symbology/rmqr/profile.js +52 -0
- package/dist/symbology/rmqr/profile.js.map +1 -0
- package/dist/symbology/rmqr/tables.d.ts +62 -0
- package/dist/symbology/rmqr/tables.d.ts.map +1 -0
- package/dist/symbology/rmqr/tables.js +194 -0
- package/dist/symbology/rmqr/tables.js.map +1 -0
- package/dist/symbology/roles.d.ts +19 -0
- package/dist/symbology/roles.d.ts.map +1 -0
- package/dist/symbology/roles.js +35 -0
- package/dist/symbology/roles.js.map +1 -0
- package/dist/symbology/types.d.ts +126 -0
- package/dist/symbology/types.d.ts.map +1 -0
- package/dist/symbology/types.js +11 -0
- package/dist/symbology/types.js.map +1 -0
- package/dist/text/base64.d.ts +11 -0
- package/dist/text/base64.d.ts.map +1 -0
- package/dist/text/base64.js +49 -0
- package/dist/text/base64.js.map +1 -0
- package/dist/text/cmap.d.ts +17 -0
- package/dist/text/cmap.d.ts.map +1 -0
- package/dist/text/cmap.js +161 -0
- package/dist/text/cmap.js.map +1 -0
- package/dist/text/compiled.d.ts +52 -0
- package/dist/text/compiled.d.ts.map +1 -0
- package/dist/text/compiled.js +220 -0
- package/dist/text/compiled.js.map +1 -0
- package/dist/text/errors.d.ts +34 -0
- package/dist/text/errors.d.ts.map +1 -0
- package/dist/text/errors.js +26 -0
- package/dist/text/errors.js.map +1 -0
- package/dist/text/font.d.ts +29 -0
- package/dist/text/font.d.ts.map +1 -0
- package/dist/text/font.js +67 -0
- package/dist/text/font.js.map +1 -0
- package/dist/text/glyf.d.ts +62 -0
- package/dist/text/glyf.d.ts.map +1 -0
- package/dist/text/glyf.js +276 -0
- package/dist/text/glyf.js.map +1 -0
- package/dist/text/index.d.ts +13 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +9 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/kerning.d.ts +36 -0
- package/dist/text/kerning.d.ts.map +1 -0
- package/dist/text/kerning.js +382 -0
- package/dist/text/kerning.js.map +1 -0
- package/dist/text/layout.d.ts +35 -0
- package/dist/text/layout.d.ts.map +1 -0
- package/dist/text/layout.js +287 -0
- package/dist/text/layout.js.map +1 -0
- package/dist/text/outline.d.ts +22 -0
- package/dist/text/outline.d.ts.map +1 -0
- package/dist/text/outline.js +79 -0
- package/dist/text/outline.js.map +1 -0
- package/dist/text/reader.d.ts +43 -0
- package/dist/text/reader.d.ts.map +1 -0
- package/dist/text/reader.js +83 -0
- package/dist/text/reader.js.map +1 -0
- package/dist/text/registry.d.ts +21 -0
- package/dist/text/registry.d.ts.map +1 -0
- package/dist/text/registry.js +32 -0
- package/dist/text/registry.js.map +1 -0
- package/dist/text/truetype.d.ts +44 -0
- package/dist/text/truetype.d.ts.map +1 -0
- package/dist/text/truetype.js +127 -0
- package/dist/text/truetype.js.map +1 -0
- package/dist/text/types.d.ts +106 -0
- package/dist/text/types.d.ts.map +1 -0
- package/dist/text/types.js +11 -0
- package/dist/text/types.js.map +1 -0
- package/dist/verify/camera.d.ts +59 -0
- package/dist/verify/camera.d.ts.map +1 -0
- package/dist/verify/camera.js +76 -0
- package/dist/verify/camera.js.map +1 -0
- package/dist/verify/capture.d.ts +40 -0
- package/dist/verify/capture.d.ts.map +1 -0
- package/dist/verify/capture.js +118 -0
- package/dist/verify/capture.js.map +1 -0
- package/dist/verify/coverage.d.ts +61 -0
- package/dist/verify/coverage.d.ts.map +1 -0
- package/dist/verify/coverage.js +90 -0
- package/dist/verify/coverage.js.map +1 -0
- package/dist/verify/degrade.d.ts +143 -0
- package/dist/verify/degrade.d.ts.map +1 -0
- package/dist/verify/degrade.js +503 -0
- package/dist/verify/degrade.js.map +1 -0
- package/dist/verify/fixes.d.ts +28 -0
- package/dist/verify/fixes.d.ts.map +1 -0
- package/dist/verify/fixes.js +277 -0
- package/dist/verify/fixes.js.map +1 -0
- package/dist/verify/homography.d.ts +32 -0
- package/dist/verify/homography.d.ts.map +1 -0
- package/dist/verify/homography.js +79 -0
- package/dist/verify/homography.js.map +1 -0
- package/dist/verify/index.d.ts +17 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +11 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/inks.d.ts +39 -0
- package/dist/verify/inks.d.ts.map +1 -0
- package/dist/verify/inks.js +101 -0
- package/dist/verify/inks.js.map +1 -0
- package/dist/verify/job.d.ts +89 -0
- package/dist/verify/job.d.ts.map +1 -0
- package/dist/verify/job.js +314 -0
- package/dist/verify/job.js.map +1 -0
- package/dist/verify/keys.d.ts +92 -0
- package/dist/verify/keys.d.ts.map +1 -0
- package/dist/verify/keys.js +95 -0
- package/dist/verify/keys.js.map +1 -0
- package/dist/verify/ladders.d.ts +68 -0
- package/dist/verify/ladders.d.ts.map +1 -0
- package/dist/verify/ladders.js +154 -0
- package/dist/verify/ladders.js.map +1 -0
- package/dist/verify/prepare.d.ts +78 -0
- package/dist/verify/prepare.d.ts.map +1 -0
- package/dist/verify/prepare.js +307 -0
- package/dist/verify/prepare.js.map +1 -0
- package/dist/verify/preset.d.ts +111 -0
- package/dist/verify/preset.d.ts.map +1 -0
- package/dist/verify/preset.js +200 -0
- package/dist/verify/preset.js.map +1 -0
- package/dist/verify/read.d.ts +23 -0
- package/dist/verify/read.d.ts.map +1 -0
- package/dist/verify/read.js +55 -0
- package/dist/verify/read.js.map +1 -0
- package/dist/verify/region.d.ts +37 -0
- package/dist/verify/region.d.ts.map +1 -0
- package/dist/verify/region.js +80 -0
- package/dist/verify/region.js.map +1 -0
- package/dist/verify/static.d.ts +56 -0
- package/dist/verify/static.d.ts.map +1 -0
- package/dist/verify/static.js +277 -0
- package/dist/verify/static.js.map +1 -0
- package/dist/verify/types.d.ts +173 -0
- package/dist/verify/types.d.ts.map +1 -0
- package/dist/verify/types.js +36 -0
- package/dist/verify/types.js.map +1 -0
- package/package.json +191 -5
package/dist/app/main.js
ADDED
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The offline application: one HTML file that makes, designs, checks and reads
|
|
3
|
+
* QR codes with the network off.
|
|
4
|
+
*
|
|
5
|
+
* A thin view over the headless studio (src/studio). Every change a person
|
|
6
|
+
* makes is an action dispatched to it, every file is a command run on it, and
|
|
7
|
+
* every view draws from the snapshot it hands back; nothing here keeps a copy
|
|
8
|
+
* of the document. The page is built from nodes rather than parsed markup
|
|
9
|
+
* (see dom.ts), and every word on it comes from the English catalogue.
|
|
10
|
+
*
|
|
11
|
+
* The URL fragment can preselect a mode (`#scan`), a content type (`#wifi`)
|
|
12
|
+
* or a design (`#v1.` and a design link), alone or together (`#create/wifi`).
|
|
13
|
+
* The page never writes the fragment back: there is nothing to keep, and a
|
|
14
|
+
* file opened from disk has no history worth adding to.
|
|
15
|
+
*/
|
|
16
|
+
import { decodeDesignLink } from '../design/link.js';
|
|
17
|
+
import { LIBRARY_EXTENSION, createFileLibrary } from '../dom/file-library.js';
|
|
18
|
+
import { copyText } from '../dom/output.js';
|
|
19
|
+
import { canvasRasterEncoder } from '../dom/raster-encoder.js';
|
|
20
|
+
import { FONT_LICENCE } from '../fonts/latin.js';
|
|
21
|
+
import { createRegistries } from '../registries.js';
|
|
22
|
+
import { DEFAULT_CONDITIONS, createStudio } from '../studio/index.js';
|
|
23
|
+
import { createBulk } from './bulk.js';
|
|
24
|
+
import { createCheck, createStrip } from './check.js';
|
|
25
|
+
import { createContent } from './content.js';
|
|
26
|
+
import { button, card } from './controls.js';
|
|
27
|
+
import { createColour, createEyes, createFrame, createGallery, createLogo, createModules, createPrint, matchPreset, } from './design-panels.js';
|
|
28
|
+
import { byId, h, icon, replace, setText } from './dom.js';
|
|
29
|
+
import { createLibrary } from './library-view.js';
|
|
30
|
+
import { createProof } from './proof.js';
|
|
31
|
+
import { createSaver } from './save.js';
|
|
32
|
+
import { createScan } from './scan.js';
|
|
33
|
+
import { hasNativeUndo } from './shortcuts.js';
|
|
34
|
+
import { issueText, t } from './text.js';
|
|
35
|
+
const MODES = ['create', 'scan', 'bulk'];
|
|
36
|
+
function readFragment(hash, isType) {
|
|
37
|
+
let raw = hash.replace(/^#/, '');
|
|
38
|
+
try {
|
|
39
|
+
raw = decodeURIComponent(raw);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// A fragment that is not valid percent-encoding is read as it stands.
|
|
43
|
+
}
|
|
44
|
+
let design = null;
|
|
45
|
+
let mode = null;
|
|
46
|
+
let typeId = null;
|
|
47
|
+
for (const part of raw.split(/[/&]/)) {
|
|
48
|
+
const token = part.replace(/^(?:mode|type|design)=/, '');
|
|
49
|
+
if (token.startsWith('v1.'))
|
|
50
|
+
design = token;
|
|
51
|
+
else if (MODES.includes(token))
|
|
52
|
+
mode = token;
|
|
53
|
+
else if (token !== '' && isType(token))
|
|
54
|
+
typeId = token;
|
|
55
|
+
}
|
|
56
|
+
return { design, mode, typeId };
|
|
57
|
+
}
|
|
58
|
+
// The studio.
|
|
59
|
+
const registries = createRegistries();
|
|
60
|
+
// The library is a file the person saves and opens, checked against the same
|
|
61
|
+
// registries the studio uses so a design it can draw is one the library keeps.
|
|
62
|
+
const library = createFileLibrary({ registries });
|
|
63
|
+
const isType = (id) => {
|
|
64
|
+
const type = registries.payloads.get(id);
|
|
65
|
+
return type !== undefined && type.generate !== false;
|
|
66
|
+
};
|
|
67
|
+
const fragment = readFragment(location.hash, isType);
|
|
68
|
+
let initialNotice = null;
|
|
69
|
+
/** What the studio opens with: a design link alone, or a whole document when the fragment names more. */
|
|
70
|
+
function initial() {
|
|
71
|
+
if (fragment.mode === null && fragment.typeId === null)
|
|
72
|
+
return fragment.design ?? undefined;
|
|
73
|
+
let design;
|
|
74
|
+
if (fragment.design !== null) {
|
|
75
|
+
try {
|
|
76
|
+
design = decodeDesignLink(fragment.design, registries.design);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
initialNotice = t('studio.issue.design-link');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// documentFrom fills what is left out: the type's empty fields, and the
|
|
83
|
+
// standard design when the link gave none.
|
|
84
|
+
return {
|
|
85
|
+
mode: fragment.mode ?? 'create',
|
|
86
|
+
typeId: fragment.typeId ?? 'url',
|
|
87
|
+
fields: {},
|
|
88
|
+
...(design === undefined ? {} : { design }),
|
|
89
|
+
conditions: DEFAULT_CONDITIONS,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const studio = createStudio({
|
|
93
|
+
registries,
|
|
94
|
+
library,
|
|
95
|
+
rasterEncoder: canvasRasterEncoder(),
|
|
96
|
+
initial: initial(),
|
|
97
|
+
// The scan check and the inspector are the studio's defaults: verify's
|
|
98
|
+
// generator in time slices on this thread, and the inspect layer.
|
|
99
|
+
});
|
|
100
|
+
const status = h('p', { className: 'toast', attrs: { role: 'status', 'aria-live': 'polite' } });
|
|
101
|
+
status.dataset.shown = 'false';
|
|
102
|
+
let toastTimer = null;
|
|
103
|
+
const ctx = {
|
|
104
|
+
studio,
|
|
105
|
+
registries,
|
|
106
|
+
library,
|
|
107
|
+
dispatch: (action) => studio.dispatch(action),
|
|
108
|
+
snapshot: () => studio.getSnapshot(),
|
|
109
|
+
announce(text) {
|
|
110
|
+
// Cleared first, so the same sentence twice is still read out twice.
|
|
111
|
+
status.textContent = '';
|
|
112
|
+
status.dataset.shown = 'true';
|
|
113
|
+
requestAnimationFrame(() => {
|
|
114
|
+
status.textContent = text;
|
|
115
|
+
});
|
|
116
|
+
if (toastTimer !== null)
|
|
117
|
+
clearTimeout(toastTimer);
|
|
118
|
+
toastTimer = setTimeout(() => {
|
|
119
|
+
status.dataset.shown = 'false';
|
|
120
|
+
}, 6000);
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
// The footer the template carries, with its words from the catalogue.
|
|
124
|
+
byId('version').textContent = __VERSION__;
|
|
125
|
+
byId('font-licence').textContent = FONT_LICENCE;
|
|
126
|
+
setText(byId('about-title'), t('app.about.title'));
|
|
127
|
+
setText(byId('facts-title'), t('app.about.facts'));
|
|
128
|
+
setText(byId('version-label'), t('app.about.version'));
|
|
129
|
+
setText(byId('source-label'), t('app.about.source'));
|
|
130
|
+
setText(byId('licence-title'), t('app.about.licence'));
|
|
131
|
+
setText(byId('licence-intro'), t('app.about.licence-intro'));
|
|
132
|
+
setText(byId('check-it'), t('app.about.check'));
|
|
133
|
+
byId('about-title').parentElement?.appendChild(icon('chevron', 'card__chevron'));
|
|
134
|
+
const printImg = h('img', { className: 'print-sheet__img', attrs: { alt: '' } });
|
|
135
|
+
document.body.appendChild(h('div', { className: 'print-sheet' }, [printImg]));
|
|
136
|
+
// The proof, and the save buttons under it.
|
|
137
|
+
const stripHost = h('div', { className: 'strip-host' });
|
|
138
|
+
const actionsHost = h('div', { className: 'actions-host' });
|
|
139
|
+
let proofView = null;
|
|
140
|
+
const saver = createSaver(ctx, () => proofView, printImg);
|
|
141
|
+
const proof = createProof(ctx, actionsHost, stripHost);
|
|
142
|
+
proofView = proof;
|
|
143
|
+
const strip = createStrip(ctx, proof);
|
|
144
|
+
stripHost.appendChild(strip.root);
|
|
145
|
+
actionsHost.appendChild(saver.actions);
|
|
146
|
+
// The masthead: the heading, the modes, and the tools that work in every mode.
|
|
147
|
+
function undo() {
|
|
148
|
+
if (!studio.getSnapshot().history.canUndo)
|
|
149
|
+
return;
|
|
150
|
+
studio.dispatch({ type: 'history/undo' });
|
|
151
|
+
ctx.announce(t('app.history.undone'));
|
|
152
|
+
}
|
|
153
|
+
function redo() {
|
|
154
|
+
if (!studio.getSnapshot().history.canRedo)
|
|
155
|
+
return;
|
|
156
|
+
studio.dispatch({ type: 'history/redo' });
|
|
157
|
+
ctx.announce(t('app.history.redone'));
|
|
158
|
+
}
|
|
159
|
+
const undoButton = button(t('app.history.undo'), {
|
|
160
|
+
icon: 'undo',
|
|
161
|
+
small: true,
|
|
162
|
+
attrs: { 'aria-keyshortcuts': 'Control+Z Meta+Z', 'aria-label': t('app.history.undo') },
|
|
163
|
+
onClick: undo,
|
|
164
|
+
});
|
|
165
|
+
const redoButton = button(t('app.history.redo'), {
|
|
166
|
+
icon: 'redo',
|
|
167
|
+
small: true,
|
|
168
|
+
attrs: {
|
|
169
|
+
'aria-keyshortcuts': 'Control+Shift+Z Meta+Shift+Z',
|
|
170
|
+
'aria-label': t('app.history.redo'),
|
|
171
|
+
},
|
|
172
|
+
onClick: redo,
|
|
173
|
+
});
|
|
174
|
+
const linkButton = button(t('app.link.copy'), {
|
|
175
|
+
icon: 'link',
|
|
176
|
+
small: true,
|
|
177
|
+
attrs: { 'aria-label': t('app.link.copy') },
|
|
178
|
+
onClick: async () => {
|
|
179
|
+
const result = await studio.run({ type: 'design-link' });
|
|
180
|
+
if (!result.ok) {
|
|
181
|
+
ctx.announce(t('error.design.invalid'));
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
// The fragment alone: the address of a file opened from disk names the
|
|
185
|
+
// folder it is in, which is nobody else's business.
|
|
186
|
+
const text = `#${result.value.link}`;
|
|
187
|
+
const copied = await copyText(text);
|
|
188
|
+
ctx.announce(copied.ok
|
|
189
|
+
? [t('app.link.copied'), ...result.value.issues.map(issueText)].join(' ')
|
|
190
|
+
: t('app.link.copy-failed'));
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
const MODE_LABELS = {
|
|
194
|
+
create: 'app.mode.create',
|
|
195
|
+
scan: 'app.mode.scan',
|
|
196
|
+
bulk: 'app.mode.bulk',
|
|
197
|
+
};
|
|
198
|
+
const MODE_HINTS = {
|
|
199
|
+
create: 'app.mode.create-hint',
|
|
200
|
+
scan: 'app.mode.scan-hint',
|
|
201
|
+
bulk: 'app.mode.bulk-hint',
|
|
202
|
+
};
|
|
203
|
+
const tabs = MODES.map((mode) => {
|
|
204
|
+
const tab = h('button', {
|
|
205
|
+
className: 'tab',
|
|
206
|
+
id: `tab-${mode}`,
|
|
207
|
+
attrs: { type: 'button', role: 'tab', 'aria-controls': `panel-${mode}` },
|
|
208
|
+
on: {
|
|
209
|
+
click: () => studio.dispatch({ type: 'mode', mode }),
|
|
210
|
+
keydown: (event) => {
|
|
211
|
+
const at = MODES.indexOf(mode);
|
|
212
|
+
let next = -1;
|
|
213
|
+
if (event.key === 'ArrowRight' || event.key === 'ArrowDown')
|
|
214
|
+
next = (at + 1) % MODES.length;
|
|
215
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowUp')
|
|
216
|
+
next = (at + MODES.length - 1) % MODES.length;
|
|
217
|
+
else if (event.key === 'Home')
|
|
218
|
+
next = 0;
|
|
219
|
+
else if (event.key === 'End')
|
|
220
|
+
next = MODES.length - 1;
|
|
221
|
+
if (next === -1)
|
|
222
|
+
return;
|
|
223
|
+
event.preventDefault();
|
|
224
|
+
const target = MODES[next];
|
|
225
|
+
studio.dispatch({ type: 'mode', mode: target });
|
|
226
|
+
document.getElementById(`tab-${target}`)?.focus();
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
}, [
|
|
230
|
+
h('span', { className: 'tab__label', text: t(MODE_LABELS[mode]) }),
|
|
231
|
+
h('span', { className: 'tab__hint', text: t(MODE_HINTS[mode]) }),
|
|
232
|
+
]);
|
|
233
|
+
return { mode, tab };
|
|
234
|
+
});
|
|
235
|
+
const masthead = h('header', { className: 'masthead' }, [
|
|
236
|
+
h('div', { className: 'masthead__words' }, [
|
|
237
|
+
h('p', { className: 'eyebrow', text: t('app.masthead.eyebrow') }),
|
|
238
|
+
h('h1', { className: 'masthead__title', text: t('app.masthead.title') }),
|
|
239
|
+
h('p', { className: 'masthead__lede', text: t('app.masthead.lede') }),
|
|
240
|
+
]),
|
|
241
|
+
h('div', { className: 'masthead__tools' }, [
|
|
242
|
+
h('div', { className: 'tabs', attrs: { role: 'tablist', 'aria-label': t('app.mode.label') } }, tabs.map((entry) => entry.tab)),
|
|
243
|
+
h('div', { className: 'tools', attrs: { role: 'group', 'aria-label': t('app.tools.label') } }, [
|
|
244
|
+
undoButton,
|
|
245
|
+
redoButton,
|
|
246
|
+
linkButton,
|
|
247
|
+
]),
|
|
248
|
+
]),
|
|
249
|
+
]);
|
|
250
|
+
const content = createContent(ctx);
|
|
251
|
+
const contentPanel = { root: content.root, update: content.update, meta: content.meta };
|
|
252
|
+
const styleCard = card(2, t('app.section.style'), true, 'card-style');
|
|
253
|
+
const libraryPanel = createLibrary(ctx, (design) => matchPreset(ctx, design));
|
|
254
|
+
const sections = [
|
|
255
|
+
{ card: card(1, t('app.section.content'), true, 'card-content'), panel: contentPanel },
|
|
256
|
+
{ card: styleCard, panel: createGallery(ctx, styleCard.root) },
|
|
257
|
+
{ card: card(3, t('app.section.modules'), false, 'card-modules'), panel: createModules(ctx) },
|
|
258
|
+
{ card: card(4, t('app.section.eyes'), false, 'card-eyes'), panel: createEyes(ctx) },
|
|
259
|
+
{ card: card(5, t('app.section.colour'), false, 'card-colour'), panel: createColour(ctx) },
|
|
260
|
+
{ card: card(6, t('app.section.logo'), false, 'card-logo'), panel: createLogo(ctx) },
|
|
261
|
+
{ card: card(7, t('app.section.frame'), false, 'card-frame'), panel: createFrame(ctx) },
|
|
262
|
+
{ card: card(8, t('app.section.print'), false, 'card-print'), panel: createPrint(ctx) },
|
|
263
|
+
{ card: card(9, t('app.section.check'), false, 'card-check'), panel: createCheck(ctx) },
|
|
264
|
+
{ card: card(10, t('app.section.export'), false, 'card-export'), panel: saver.panel },
|
|
265
|
+
{ card: card(11, t('app.section.library'), false, 'card-library'), panel: libraryPanel },
|
|
266
|
+
];
|
|
267
|
+
for (const section of sections)
|
|
268
|
+
section.card.body.appendChild(section.panel.root);
|
|
269
|
+
const notice = h('div', { className: 'notice', attrs: { role: 'alert' } });
|
|
270
|
+
notice.hidden = true;
|
|
271
|
+
const sentinel = h('span', { className: 'proof-sentinel', attrs: { 'aria-hidden': 'true' } });
|
|
272
|
+
const proofDock = h('div', { className: 'create__proof' }, [proof.root]);
|
|
273
|
+
proofDock.dataset.compact = 'false';
|
|
274
|
+
const spacer = h('span', { className: 'proof-spacer', attrs: { 'aria-hidden': 'true' } });
|
|
275
|
+
const createPanel = h('section', {
|
|
276
|
+
className: 'mode',
|
|
277
|
+
id: 'panel-create',
|
|
278
|
+
attrs: { role: 'tabpanel', 'aria-labelledby': 'tab-create' },
|
|
279
|
+
}, [
|
|
280
|
+
sentinel,
|
|
281
|
+
// The controls come first in the document, so focus moves through them
|
|
282
|
+
// before the proof beside them; on a phone the stylesheet puts the proof on top.
|
|
283
|
+
h('div', { className: 'create' }, [
|
|
284
|
+
h('div', { className: 'create__controls' }, [
|
|
285
|
+
notice,
|
|
286
|
+
...sections.map((section) => section.card.root),
|
|
287
|
+
]),
|
|
288
|
+
proofDock,
|
|
289
|
+
spacer,
|
|
290
|
+
]),
|
|
291
|
+
]);
|
|
292
|
+
const phone = window.matchMedia('(max-width: 699px)');
|
|
293
|
+
// On a phone the proof is pinned at the top and shrinks once the page scrolls
|
|
294
|
+
// past where it started, so the code stays in view while the fields are
|
|
295
|
+
// filled. The sentinel sits above the proof, so the proof's own change of
|
|
296
|
+
// height never moves it; the spacer takes up exactly the height the proof
|
|
297
|
+
// gave back, so nothing below it jumps.
|
|
298
|
+
if (typeof IntersectionObserver === 'function') {
|
|
299
|
+
new IntersectionObserver(([entry]) => {
|
|
300
|
+
const past = phone.matches &&
|
|
301
|
+
entry !== undefined &&
|
|
302
|
+
!entry.isIntersecting &&
|
|
303
|
+
entry.boundingClientRect.top < 0;
|
|
304
|
+
if (String(past) === proofDock.dataset.compact)
|
|
305
|
+
return;
|
|
306
|
+
const before = proofDock.offsetHeight;
|
|
307
|
+
proofDock.dataset.compact = String(past);
|
|
308
|
+
const after = proofDock.offsetHeight;
|
|
309
|
+
spacer.style.setProperty('height', past ? `${Math.max(0, before - after)}px` : '0px');
|
|
310
|
+
}).observe(sentinel);
|
|
311
|
+
}
|
|
312
|
+
// On a phone the strip and the save buttons move into their cards, so the
|
|
313
|
+
// pinned proof is the code alone; the bar along the bottom carries Download.
|
|
314
|
+
const cardOf = (id) => sections.find((section) => section.card.root.id === id)?.card;
|
|
315
|
+
const toolbarHost = proof.toolbar.parentElement;
|
|
316
|
+
function arrange() {
|
|
317
|
+
if (phone.matches) {
|
|
318
|
+
cardOf('card-check')?.body.prepend(strip.root);
|
|
319
|
+
cardOf('card-export')?.body.appendChild(saver.actions);
|
|
320
|
+
cardOf('card-print')?.body.prepend(proof.toolbar);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
stripHost.appendChild(strip.root);
|
|
324
|
+
actionsHost.appendChild(saver.actions);
|
|
325
|
+
toolbarHost.appendChild(proof.toolbar);
|
|
326
|
+
proofDock.dataset.compact = 'false';
|
|
327
|
+
spacer.style.setProperty('height', '0px');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
arrange();
|
|
331
|
+
phone.addEventListener('change', arrange);
|
|
332
|
+
// Scan and Bulk.
|
|
333
|
+
const scan = createScan(ctx);
|
|
334
|
+
const bulk = createBulk(ctx);
|
|
335
|
+
const scanPanel = h('section', {
|
|
336
|
+
className: 'mode',
|
|
337
|
+
id: 'panel-scan',
|
|
338
|
+
attrs: { role: 'tabpanel', 'aria-labelledby': 'tab-scan' },
|
|
339
|
+
}, [scan.root]);
|
|
340
|
+
const bulkPanel = h('section', {
|
|
341
|
+
className: 'mode',
|
|
342
|
+
id: 'panel-bulk',
|
|
343
|
+
attrs: { role: 'tabpanel', 'aria-labelledby': 'tab-bulk' },
|
|
344
|
+
}, [bulk.root]);
|
|
345
|
+
const panels = {
|
|
346
|
+
create: createPanel,
|
|
347
|
+
scan: scanPanel,
|
|
348
|
+
bulk: bulkPanel,
|
|
349
|
+
};
|
|
350
|
+
const veil = h('div', { className: 'veil', attrs: { 'aria-hidden': 'true' } }, [
|
|
351
|
+
h('div', { className: 'veil__card' }, [
|
|
352
|
+
h('p', { className: 'veil__title', text: t('app.drop.title') }),
|
|
353
|
+
h('p', { className: 'veil__text', text: t('app.drop.text') }),
|
|
354
|
+
]),
|
|
355
|
+
]);
|
|
356
|
+
veil.dataset.shown = 'false';
|
|
357
|
+
replace(byId('app'), [masthead, createPanel, scanPanel, bulkPanel]);
|
|
358
|
+
document.body.appendChild(saver.dock);
|
|
359
|
+
document.body.appendChild(status);
|
|
360
|
+
document.body.appendChild(veil);
|
|
361
|
+
// Dropping a file anywhere: a design, a library, a picture of a code, or a spreadsheet.
|
|
362
|
+
let dragDepth = 0;
|
|
363
|
+
const hasFiles = (event) => [...(event.dataTransfer?.types ?? [])].includes('Files');
|
|
364
|
+
window.addEventListener('dragenter', (event) => {
|
|
365
|
+
if (!hasFiles(event))
|
|
366
|
+
return;
|
|
367
|
+
dragDepth += 1;
|
|
368
|
+
veil.dataset.shown = 'true';
|
|
369
|
+
});
|
|
370
|
+
window.addEventListener('dragleave', () => {
|
|
371
|
+
dragDepth = Math.max(0, dragDepth - 1);
|
|
372
|
+
if (dragDepth === 0)
|
|
373
|
+
veil.dataset.shown = 'false';
|
|
374
|
+
});
|
|
375
|
+
window.addEventListener('dragover', (event) => {
|
|
376
|
+
if (hasFiles(event))
|
|
377
|
+
event.preventDefault();
|
|
378
|
+
});
|
|
379
|
+
// In the capture phase, so a drop that a drop zone keeps for itself still
|
|
380
|
+
// takes the veil away.
|
|
381
|
+
window.addEventListener('drop', () => {
|
|
382
|
+
dragDepth = 0;
|
|
383
|
+
veil.dataset.shown = 'false';
|
|
384
|
+
}, true);
|
|
385
|
+
window.addEventListener('drop', (event) => {
|
|
386
|
+
event.preventDefault();
|
|
387
|
+
const file = event.dataTransfer?.files[0];
|
|
388
|
+
if (file !== undefined)
|
|
389
|
+
void openDropped(file);
|
|
390
|
+
});
|
|
391
|
+
async function openDropped(file) {
|
|
392
|
+
const name = file.name.toLowerCase();
|
|
393
|
+
if (name.endsWith(LIBRARY_EXTENSION)) {
|
|
394
|
+
await libraryPanel.openFile(file);
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (name.endsWith('.json') || file.type === 'application/json') {
|
|
398
|
+
await libraryPanel.openDesign(file);
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
if (file.type.startsWith('image/')) {
|
|
402
|
+
studio.dispatch({ type: 'mode', mode: 'scan' });
|
|
403
|
+
await scan.readBlob(file);
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
if (/\.(csv|tsv|txt)$/.test(name) || file.type === 'text/csv') {
|
|
407
|
+
studio.dispatch({ type: 'mode', mode: 'bulk' });
|
|
408
|
+
await bulk.readFile(file);
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
ctx.announce(t('app.drop.unknown'));
|
|
412
|
+
}
|
|
413
|
+
// Undo and redo from the keyboard, in every mode.
|
|
414
|
+
document.addEventListener('keydown', (event) => {
|
|
415
|
+
if (!(event.metaKey || event.ctrlKey) || event.altKey)
|
|
416
|
+
return;
|
|
417
|
+
if (hasNativeUndo(event.target))
|
|
418
|
+
return;
|
|
419
|
+
const key = event.key.toLowerCase();
|
|
420
|
+
if (key === 'z') {
|
|
421
|
+
event.preventDefault();
|
|
422
|
+
if (event.shiftKey)
|
|
423
|
+
redo();
|
|
424
|
+
else
|
|
425
|
+
undo();
|
|
426
|
+
}
|
|
427
|
+
else if (key === 'y' && event.ctrlKey && !event.metaKey) {
|
|
428
|
+
event.preventDefault();
|
|
429
|
+
redo();
|
|
430
|
+
}
|
|
431
|
+
});
|
|
432
|
+
// A design link opened into a page that is already open.
|
|
433
|
+
window.addEventListener('hashchange', () => {
|
|
434
|
+
const next = readFragment(location.hash, isType);
|
|
435
|
+
if (next.mode !== null)
|
|
436
|
+
studio.dispatch({ type: 'mode', mode: next.mode });
|
|
437
|
+
if (next.typeId !== null)
|
|
438
|
+
studio.dispatch({ type: 'payload/type', typeId: next.typeId });
|
|
439
|
+
if (next.design !== null) {
|
|
440
|
+
try {
|
|
441
|
+
const design = decodeDesignLink(next.design, registries.design);
|
|
442
|
+
studio.dispatch({ type: 'design/replace', design });
|
|
443
|
+
ctx.announce(t('app.design.applied'));
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
ctx.announce(t('studio.issue.design-link'));
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
// Drawing.
|
|
451
|
+
let shownMode = null;
|
|
452
|
+
let shownRefusal = null;
|
|
453
|
+
function render() {
|
|
454
|
+
const snapshot = studio.getSnapshot();
|
|
455
|
+
const mode = snapshot.document.mode;
|
|
456
|
+
if (mode !== shownMode) {
|
|
457
|
+
shownMode = mode;
|
|
458
|
+
document.body.dataset.mode = mode;
|
|
459
|
+
for (const { mode: tabMode, tab } of tabs) {
|
|
460
|
+
const selected = tabMode === mode;
|
|
461
|
+
tab.setAttribute('aria-selected', String(selected));
|
|
462
|
+
tab.tabIndex = selected ? 0 : -1;
|
|
463
|
+
panels[tabMode].hidden = !selected;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
undoButton.disabled = !snapshot.history.canUndo;
|
|
467
|
+
redoButton.disabled = !snapshot.history.canRedo;
|
|
468
|
+
if (snapshot.refusal !== shownRefusal) {
|
|
469
|
+
shownRefusal = snapshot.refusal;
|
|
470
|
+
const refusal = snapshot.refusal;
|
|
471
|
+
if (refusal === null || refusal.issues.length === 0)
|
|
472
|
+
notice.hidden = true;
|
|
473
|
+
else {
|
|
474
|
+
setText(notice, refusal.issues.map(issueText).join(' '));
|
|
475
|
+
notice.hidden = false;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (mode === 'create') {
|
|
479
|
+
proof.update(snapshot);
|
|
480
|
+
strip.update(snapshot);
|
|
481
|
+
for (const section of sections) {
|
|
482
|
+
// A closed card is drawn when it opens; the line beside its title is kept current.
|
|
483
|
+
if (section.card.root.open)
|
|
484
|
+
section.panel.update(snapshot);
|
|
485
|
+
setText(section.card.meta, section.panel.meta(snapshot));
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
saver.panel.update(snapshot);
|
|
489
|
+
const views = [scan, bulk];
|
|
490
|
+
for (const view of views)
|
|
491
|
+
view.update(snapshot);
|
|
492
|
+
}
|
|
493
|
+
for (const section of sections) {
|
|
494
|
+
section.card.root.addEventListener('toggle', () => {
|
|
495
|
+
if (section.card.root.open)
|
|
496
|
+
section.panel.update(studio.getSnapshot());
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
let scheduled = false;
|
|
500
|
+
studio.subscribe(() => {
|
|
501
|
+
if (scheduled)
|
|
502
|
+
return;
|
|
503
|
+
scheduled = true;
|
|
504
|
+
queueMicrotask(() => {
|
|
505
|
+
scheduled = false;
|
|
506
|
+
render();
|
|
507
|
+
});
|
|
508
|
+
});
|
|
509
|
+
render();
|
|
510
|
+
// The scan check runs after every change once it has been asked for. It is
|
|
511
|
+
// asked for at once, so the strip under the proof is never out of date.
|
|
512
|
+
studio.dispatch({ type: 'verify/request' });
|
|
513
|
+
if (initialNotice !== null)
|
|
514
|
+
ctx.announce(initialNotice);
|
|
515
|
+
window.addEventListener('pagehide', () => {
|
|
516
|
+
scan.stopCamera();
|
|
517
|
+
});
|
|
518
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the code measures, and the sample drawn before there is a code.
|
|
3
|
+
*/
|
|
4
|
+
import type { QrDesignV1 } from '../design/types.js';
|
|
5
|
+
import type { Registries } from '../registries.js';
|
|
6
|
+
import type { Scene } from '../render/types.js';
|
|
7
|
+
import type { StudioSnapshot, SymbolView } from '../studio/index.js';
|
|
8
|
+
/** CSS pixels to the millimetre, as the CSS specification fixes them: 96 to the inch. */
|
|
9
|
+
export declare const CSS_PX_PER_MM: number;
|
|
10
|
+
/**
|
|
11
|
+
* How wide the artwork prints, in millimetres: the design's own size when it
|
|
12
|
+
* has one (read from the scene, as an export reads it), otherwise the scan
|
|
13
|
+
* conditions' size, which measures the symbol with its quiet zone.
|
|
14
|
+
*/
|
|
15
|
+
export declare function printedWidthMm(scene: Scene, view: SymbolView | null, snapshot: StudioSnapshot): number;
|
|
16
|
+
export interface Sample {
|
|
17
|
+
readonly svg: string;
|
|
18
|
+
readonly scene: Scene;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The sample code, drawn with the person's design, for the moment before they
|
|
22
|
+
* have typed anything. It holds the address RFC 2606 reserves for examples,
|
|
23
|
+
* and the proof marks it as a sample in words.
|
|
24
|
+
*/
|
|
25
|
+
export declare function drawSample(registries: Registries, design: QrDesignV1): Sample | null;
|
|
26
|
+
//# sourceMappingURL=measure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../src/app/measure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErE,yFAAyF;AACzF,eAAO,MAAM,aAAa,QAAY,CAAC;AAEvC;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GAAG,IAAI,EACvB,QAAQ,EAAE,cAAc,GACtB,MAAM,CAKR;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA6BpF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the code measures, and the sample drawn before there is a code.
|
|
3
|
+
*/
|
|
4
|
+
import { buildScene } from '../design/scene.js';
|
|
5
|
+
import { encode } from '../encode/encode.js';
|
|
6
|
+
import { sceneToSvg } from '../render/svg.js';
|
|
7
|
+
import { DEFAULT_PRINT_MM, SAMPLE_CONTENT } from '../studio/index.js';
|
|
8
|
+
/** CSS pixels to the millimetre, as the CSS specification fixes them: 96 to the inch. */
|
|
9
|
+
export const CSS_PX_PER_MM = 96 / 25.4;
|
|
10
|
+
/**
|
|
11
|
+
* How wide the artwork prints, in millimetres: the design's own size when it
|
|
12
|
+
* has one (read from the scene, as an export reads it), otherwise the scan
|
|
13
|
+
* conditions' size, which measures the symbol with its quiet zone.
|
|
14
|
+
*/
|
|
15
|
+
export function printedWidthMm(scene, view, snapshot) {
|
|
16
|
+
if (scene.unitsPerMm !== undefined && scene.unitsPerMm > 0)
|
|
17
|
+
return scene.width / scene.unitsPerMm;
|
|
18
|
+
const symbolWidth = view === null ? scene.width : view.modules[0] + 2 * view.quietZone;
|
|
19
|
+
const size = snapshot.document.conditions.sizeMm ?? DEFAULT_PRINT_MM;
|
|
20
|
+
return (scene.width * size) / symbolWidth;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The sample code, drawn with the person's design, for the moment before they
|
|
24
|
+
* have typed anything. It holds the address RFC 2606 reserves for examples,
|
|
25
|
+
* and the proof marks it as a sample in words.
|
|
26
|
+
*/
|
|
27
|
+
export function drawSample(registries, design) {
|
|
28
|
+
// A picture logo needs its decoded pixels, which the studio keeps to itself;
|
|
29
|
+
// the sample goes without it rather than draw a gap.
|
|
30
|
+
const drawn = design.logo !== null && design.logo.source.kind === 'asset'
|
|
31
|
+
? { ...design, logo: null }
|
|
32
|
+
: design;
|
|
33
|
+
const attempts = [
|
|
34
|
+
drawn,
|
|
35
|
+
{ ...drawn, symbol: { symbology: 'qr', ecLevel: drawn.symbol.ecLevel ?? 'M' } },
|
|
36
|
+
];
|
|
37
|
+
for (const candidate of attempts) {
|
|
38
|
+
try {
|
|
39
|
+
const symbol = encode(SAMPLE_CONTENT, {
|
|
40
|
+
symbology: candidate.symbol.symbology,
|
|
41
|
+
...(candidate.symbol.ecLevel === undefined ? {} : { ecLevel: candidate.symbol.ecLevel }),
|
|
42
|
+
}, registries.symbologies);
|
|
43
|
+
const scene = buildScene(symbol, candidate, { registries: registries.design, seed: 1 }).scene;
|
|
44
|
+
return { svg: sceneToSvg(scene, { idPrefix: 'sample-' }), scene };
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// A symbology too small for the sample, or a design that cannot draw:
|
|
48
|
+
// try plain QR, then give up and show the empty sheet.
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=measure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure.js","sourceRoot":"","sources":["../../src/app/measure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGtE,yFAAyF;AACzF,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAY,EACZ,IAAuB,EACvB,QAAwB;IAExB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;IAClG,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IACvF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,gBAAgB,CAAC;IACrE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;AAC3C,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAsB,EAAE,MAAkB;IACpE,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,KAAK,GACV,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;QAC1D,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QAC3B,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,QAAQ,GAA0B;QACvC,KAAK;QACL,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE;KAC/E,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,CACpB,cAAc,EACd;gBACC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;gBACrC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aACxF,EACD,UAAU,CAAC,WAAW,CACtB,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;YAC9F,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACR,sEAAsE;YACtE,uDAAuD;QACxD,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|