@hexpro/qr-code-studio 0.0.0-stage → 0.1.1

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.
Files changed (1341) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +21 -0
  3. package/README.md +62 -2
  4. package/dist/app/bulk.d.ts +21 -0
  5. package/dist/app/bulk.d.ts.map +1 -0
  6. package/dist/app/bulk.js +564 -0
  7. package/dist/app/bulk.js.map +1 -0
  8. package/dist/app/check.d.ts +23 -0
  9. package/dist/app/check.d.ts.map +1 -0
  10. package/dist/app/check.js +306 -0
  11. package/dist/app/check.js.map +1 -0
  12. package/dist/app/content.d.ts +19 -0
  13. package/dist/app/content.d.ts.map +1 -0
  14. package/dist/app/content.js +634 -0
  15. package/dist/app/content.js.map +1 -0
  16. package/dist/app/context.d.ts +25 -0
  17. package/dist/app/context.d.ts.map +1 -0
  18. package/dist/app/context.js +11 -0
  19. package/dist/app/context.js.map +1 -0
  20. package/dist/app/controls.d.ts +95 -0
  21. package/dist/app/controls.d.ts.map +1 -0
  22. package/dist/app/controls.js +278 -0
  23. package/dist/app/controls.js.map +1 -0
  24. package/dist/app/design-panels.d.ts +27 -0
  25. package/dist/app/design-panels.d.ts.map +1 -0
  26. package/dist/app/design-panels.js +1196 -0
  27. package/dist/app/design-panels.js.map +1 -0
  28. package/dist/app/dom.d.ts +74 -0
  29. package/dist/app/dom.d.ts.map +1 -0
  30. package/dist/app/dom.js +129 -0
  31. package/dist/app/dom.js.map +1 -0
  32. package/dist/app/images.d.ts +22 -0
  33. package/dist/app/images.d.ts.map +1 -0
  34. package/dist/app/images.js +50 -0
  35. package/dist/app/images.js.map +1 -0
  36. package/dist/app/library-view.d.ts +24 -0
  37. package/dist/app/library-view.d.ts.map +1 -0
  38. package/dist/app/library-view.js +260 -0
  39. package/dist/app/library-view.js.map +1 -0
  40. package/dist/app/main.d.ts +17 -0
  41. package/dist/app/main.d.ts.map +1 -0
  42. package/dist/app/main.js +518 -0
  43. package/dist/app/main.js.map +1 -0
  44. package/dist/app/measure.d.ts +26 -0
  45. package/dist/app/measure.d.ts.map +1 -0
  46. package/dist/app/measure.js +53 -0
  47. package/dist/app/measure.js.map +1 -0
  48. package/dist/app/proof.d.ts +30 -0
  49. package/dist/app/proof.d.ts.map +1 -0
  50. package/dist/app/proof.js +378 -0
  51. package/dist/app/proof.js.map +1 -0
  52. package/dist/app/save.d.ts +27 -0
  53. package/dist/app/save.d.ts.map +1 -0
  54. package/dist/app/save.js +331 -0
  55. package/dist/app/save.js.map +1 -0
  56. package/dist/app/scan.d.ts +25 -0
  57. package/dist/app/scan.d.ts.map +1 -0
  58. package/dist/app/scan.js +421 -0
  59. package/dist/app/scan.js.map +1 -0
  60. package/dist/app/shortcuts.d.ts +12 -0
  61. package/dist/app/shortcuts.d.ts.map +1 -0
  62. package/dist/app/shortcuts.js +17 -0
  63. package/dist/app/shortcuts.js.map +1 -0
  64. package/dist/app/text.d.ts +22 -0
  65. package/dist/app/text.d.ts.map +1 -0
  66. package/dist/app/text.js +50 -0
  67. package/dist/app/text.js.map +1 -0
  68. package/dist/batch/csv.d.ts +56 -0
  69. package/dist/batch/csv.d.ts.map +1 -0
  70. package/dist/batch/csv.js +327 -0
  71. package/dist/batch/csv.js.map +1 -0
  72. package/dist/batch/errors.d.ts +60 -0
  73. package/dist/batch/errors.d.ts.map +1 -0
  74. package/dist/batch/errors.js +60 -0
  75. package/dist/batch/errors.js.map +1 -0
  76. package/dist/batch/filename.d.ts +65 -0
  77. package/dist/batch/filename.d.ts.map +1 -0
  78. package/dist/batch/filename.js +205 -0
  79. package/dist/batch/filename.js.map +1 -0
  80. package/dist/batch/index.d.ts +17 -0
  81. package/dist/batch/index.d.ts.map +1 -0
  82. package/dist/batch/index.js +11 -0
  83. package/dist/batch/index.js.map +1 -0
  84. package/dist/batch/issues.d.ts +45 -0
  85. package/dist/batch/issues.d.ts.map +1 -0
  86. package/dist/batch/issues.js +47 -0
  87. package/dist/batch/issues.js.map +1 -0
  88. package/dist/batch/manifest.d.ts +43 -0
  89. package/dist/batch/manifest.d.ts.map +1 -0
  90. package/dist/batch/manifest.js +82 -0
  91. package/dist/batch/manifest.js.map +1 -0
  92. package/dist/batch/plan.d.ts +33 -0
  93. package/dist/batch/plan.d.ts.map +1 -0
  94. package/dist/batch/plan.js +254 -0
  95. package/dist/batch/plan.js.map +1 -0
  96. package/dist/batch/run.d.ts +68 -0
  97. package/dist/batch/run.d.ts.map +1 -0
  98. package/dist/batch/run.js +548 -0
  99. package/dist/batch/run.js.map +1 -0
  100. package/dist/batch/template.d.ts +54 -0
  101. package/dist/batch/template.d.ts.map +1 -0
  102. package/dist/batch/template.js +119 -0
  103. package/dist/batch/template.js.map +1 -0
  104. package/dist/batch/text-decoding.d.ts +49 -0
  105. package/dist/batch/text-decoding.d.ts.map +1 -0
  106. package/dist/batch/text-decoding.js +160 -0
  107. package/dist/batch/text-decoding.js.map +1 -0
  108. package/dist/batch/types.d.ts +240 -0
  109. package/dist/batch/types.d.ts.map +1 -0
  110. package/dist/batch/types.js +35 -0
  111. package/dist/batch/types.js.map +1 -0
  112. package/dist/batch/verify.d.ts +45 -0
  113. package/dist/batch/verify.d.ts.map +1 -0
  114. package/dist/batch/verify.js +72 -0
  115. package/dist/batch/verify.js.map +1 -0
  116. package/dist/batch/zip.d.ts +39 -0
  117. package/dist/batch/zip.d.ts.map +1 -0
  118. package/dist/batch/zip.js +201 -0
  119. package/dist/batch/zip.js.map +1 -0
  120. package/dist/conformance/finder.d.ts +67 -0
  121. package/dist/conformance/finder.d.ts.map +1 -0
  122. package/dist/conformance/finder.js +125 -0
  123. package/dist/conformance/finder.js.map +1 -0
  124. package/dist/conformance/frame.d.ts +28 -0
  125. package/dist/conformance/frame.d.ts.map +1 -0
  126. package/dist/conformance/frame.js +134 -0
  127. package/dist/conformance/frame.js.map +1 -0
  128. package/dist/conformance/index.d.ts +15 -0
  129. package/dist/conformance/index.d.ts.map +1 -0
  130. package/dist/conformance/index.js +8 -0
  131. package/dist/conformance/index.js.map +1 -0
  132. package/dist/conformance/module-shape.d.ts +35 -0
  133. package/dist/conformance/module-shape.d.ts.map +1 -0
  134. package/dist/conformance/module-shape.js +139 -0
  135. package/dist/conformance/module-shape.js.map +1 -0
  136. package/dist/conformance/payload-type.d.ts +48 -0
  137. package/dist/conformance/payload-type.d.ts.map +1 -0
  138. package/dist/conformance/payload-type.js +113 -0
  139. package/dist/conformance/payload-type.js.map +1 -0
  140. package/dist/conformance/preset.d.ts +37 -0
  141. package/dist/conformance/preset.d.ts.map +1 -0
  142. package/dist/conformance/preset.js +171 -0
  143. package/dist/conformance/preset.js.map +1 -0
  144. package/dist/conformance/region-captures.d.ts +41 -0
  145. package/dist/conformance/region-captures.d.ts.map +1 -0
  146. package/dist/conformance/region-captures.js +69 -0
  147. package/dist/conformance/region-captures.js.map +1 -0
  148. package/dist/conformance/region-shape.d.ts +43 -0
  149. package/dist/conformance/region-shape.d.ts.map +1 -0
  150. package/dist/conformance/region-shape.js +214 -0
  151. package/dist/conformance/region-shape.js.map +1 -0
  152. package/dist/conformance/sample.d.ts +13 -0
  153. package/dist/conformance/sample.d.ts.map +1 -0
  154. package/dist/conformance/sample.js +75 -0
  155. package/dist/conformance/sample.js.map +1 -0
  156. package/dist/conformance/types.d.ts +16 -0
  157. package/dist/conformance/types.d.ts.map +1 -0
  158. package/dist/conformance/types.js +10 -0
  159. package/dist/conformance/types.js.map +1 -0
  160. package/dist/core/bch.d.ts +36 -0
  161. package/dist/core/bch.d.ts.map +1 -0
  162. package/dist/core/bch.js +92 -0
  163. package/dist/core/bch.js.map +1 -0
  164. package/dist/core/bit-matrix.d.ts +56 -0
  165. package/dist/core/bit-matrix.d.ts.map +1 -0
  166. package/dist/core/bit-matrix.js +150 -0
  167. package/dist/core/bit-matrix.js.map +1 -0
  168. package/dist/core/bits.d.ts +53 -0
  169. package/dist/core/bits.d.ts.map +1 -0
  170. package/dist/core/bits.js +128 -0
  171. package/dist/core/bits.js.map +1 -0
  172. package/dist/core/checksums.d.ts +22 -0
  173. package/dist/core/checksums.d.ts.map +1 -0
  174. package/dist/core/checksums.js +64 -0
  175. package/dist/core/checksums.js.map +1 -0
  176. package/dist/core/deflate.d.ts +51 -0
  177. package/dist/core/deflate.d.ts.map +1 -0
  178. package/dist/core/deflate.js +851 -0
  179. package/dist/core/deflate.js.map +1 -0
  180. package/dist/core/errors.d.ts +123 -0
  181. package/dist/core/errors.d.ts.map +1 -0
  182. package/dist/core/errors.js +168 -0
  183. package/dist/core/errors.js.map +1 -0
  184. package/dist/core/field.d.ts +58 -0
  185. package/dist/core/field.d.ts.map +1 -0
  186. package/dist/core/field.js +184 -0
  187. package/dist/core/field.js.map +1 -0
  188. package/dist/core/huffman.d.ts +31 -0
  189. package/dist/core/huffman.d.ts.map +1 -0
  190. package/dist/core/huffman.js +131 -0
  191. package/dist/core/huffman.js.map +1 -0
  192. package/dist/core/image.d.ts +18 -0
  193. package/dist/core/image.d.ts.map +1 -0
  194. package/dist/core/image.js +2 -0
  195. package/dist/core/image.js.map +1 -0
  196. package/dist/core/index.d.ts +25 -0
  197. package/dist/core/index.d.ts.map +1 -0
  198. package/dist/core/index.js +15 -0
  199. package/dist/core/index.js.map +1 -0
  200. package/dist/core/issue.d.ts +39 -0
  201. package/dist/core/issue.d.ts.map +1 -0
  202. package/dist/core/issue.js +24 -0
  203. package/dist/core/issue.js.map +1 -0
  204. package/dist/core/math.d.ts +56 -0
  205. package/dist/core/math.d.ts.map +1 -0
  206. package/dist/core/math.js +609 -0
  207. package/dist/core/math.js.map +1 -0
  208. package/dist/core/prng.d.ts +27 -0
  209. package/dist/core/prng.d.ts.map +1 -0
  210. package/dist/core/prng.js +111 -0
  211. package/dist/core/prng.js.map +1 -0
  212. package/dist/core/reed-solomon.d.ts +69 -0
  213. package/dist/core/reed-solomon.d.ts.map +1 -0
  214. package/dist/core/reed-solomon.js +308 -0
  215. package/dist/core/reed-solomon.js.map +1 -0
  216. package/dist/core/registry.d.ts +45 -0
  217. package/dist/core/registry.d.ts.map +1 -0
  218. package/dist/core/registry.js +80 -0
  219. package/dist/core/registry.js.map +1 -0
  220. package/dist/core/result.d.ts +33 -0
  221. package/dist/core/result.d.ts.map +1 -0
  222. package/dist/core/result.js +52 -0
  223. package/dist/core/result.js.map +1 -0
  224. package/dist/core/zip.d.ts +36 -0
  225. package/dist/core/zip.d.ts.map +1 -0
  226. package/dist/core/zip.js +234 -0
  227. package/dist/core/zip.js.map +1 -0
  228. package/dist/decode/alignment.d.ts +34 -0
  229. package/dist/decode/alignment.d.ts.map +1 -0
  230. package/dist/decode/alignment.js +179 -0
  231. package/dist/decode/alignment.js.map +1 -0
  232. package/dist/decode/binarise.d.ts +95 -0
  233. package/dist/decode/binarise.d.ts.map +1 -0
  234. package/dist/decode/binarise.js +399 -0
  235. package/dist/decode/binarise.js.map +1 -0
  236. package/dist/decode/decoder.d.ts +75 -0
  237. package/dist/decode/decoder.d.ts.map +1 -0
  238. package/dist/decode/decoder.js +773 -0
  239. package/dist/decode/decoder.js.map +1 -0
  240. package/dist/decode/erasures.d.ts +26 -0
  241. package/dist/decode/erasures.d.ts.map +1 -0
  242. package/dist/decode/erasures.js +34 -0
  243. package/dist/decode/erasures.js.map +1 -0
  244. package/dist/decode/failure.d.ts +15 -0
  245. package/dist/decode/failure.d.ts.map +1 -0
  246. package/dist/decode/failure.js +22 -0
  247. package/dist/decode/failure.js.map +1 -0
  248. package/dist/decode/finder.d.ts +114 -0
  249. package/dist/decode/finder.d.ts.map +1 -0
  250. package/dist/decode/finder.js +441 -0
  251. package/dist/decode/finder.js.map +1 -0
  252. package/dist/decode/frame.d.ts +49 -0
  253. package/dist/decode/frame.d.ts.map +1 -0
  254. package/dist/decode/frame.js +228 -0
  255. package/dist/decode/frame.js.map +1 -0
  256. package/dist/decode/grey.d.ts +87 -0
  257. package/dist/decode/grey.d.ts.map +1 -0
  258. package/dist/decode/grey.js +226 -0
  259. package/dist/decode/grey.js.map +1 -0
  260. package/dist/decode/index.d.ts +4 -0
  261. package/dist/decode/index.d.ts.map +1 -0
  262. package/dist/decode/index.js +3 -0
  263. package/dist/decode/index.js.map +1 -0
  264. package/dist/decode/locate-qr.d.ts +80 -0
  265. package/dist/decode/locate-qr.d.ts.map +1 -0
  266. package/dist/decode/locate-qr.js +295 -0
  267. package/dist/decode/locate-qr.js.map +1 -0
  268. package/dist/decode/locate-single.d.ts +47 -0
  269. package/dist/decode/locate-single.d.ts.map +1 -0
  270. package/dist/decode/locate-single.js +169 -0
  271. package/dist/decode/locate-single.js.map +1 -0
  272. package/dist/decode/plain.d.ts +70 -0
  273. package/dist/decode/plain.d.ts.map +1 -0
  274. package/dist/decode/plain.js +460 -0
  275. package/dist/decode/plain.js.map +1 -0
  276. package/dist/decode/sample.d.ts +56 -0
  277. package/dist/decode/sample.d.ts.map +1 -0
  278. package/dist/decode/sample.js +154 -0
  279. package/dist/decode/sample.js.map +1 -0
  280. package/dist/decode/strict.d.ts +255 -0
  281. package/dist/decode/strict.d.ts.map +1 -0
  282. package/dist/decode/strict.js +597 -0
  283. package/dist/decode/strict.js.map +1 -0
  284. package/dist/decode/tiled.d.ts +137 -0
  285. package/dist/decode/tiled.d.ts.map +1 -0
  286. package/dist/decode/tiled.js +452 -0
  287. package/dist/decode/tiled.js.map +1 -0
  288. package/dist/decode/transform.d.ts +48 -0
  289. package/dist/decode/transform.d.ts.map +1 -0
  290. package/dist/decode/transform.js +180 -0
  291. package/dist/decode/transform.js.map +1 -0
  292. package/dist/decode/types.d.ts +163 -0
  293. package/dist/decode/types.d.ts.map +1 -0
  294. package/dist/decode/types.js +10 -0
  295. package/dist/decode/types.js.map +1 -0
  296. package/dist/design/base64.d.ts +16 -0
  297. package/dist/design/base64.d.ts.map +1 -0
  298. package/dist/design/base64.js +97 -0
  299. package/dist/design/base64.js.map +1 -0
  300. package/dist/design/canonical.d.ts +13 -0
  301. package/dist/design/canonical.d.ts.map +1 -0
  302. package/dist/design/canonical.js +100 -0
  303. package/dist/design/canonical.js.map +1 -0
  304. package/dist/design/caption.d.ts +54 -0
  305. package/dist/design/caption.d.ts.map +1 -0
  306. package/dist/design/caption.js +175 -0
  307. package/dist/design/caption.js.map +1 -0
  308. package/dist/design/catalogue/draw.d.ts +77 -0
  309. package/dist/design/catalogue/draw.d.ts.map +1 -0
  310. package/dist/design/catalogue/draw.js +260 -0
  311. package/dist/design/catalogue/draw.js.map +1 -0
  312. package/dist/design/catalogue/fills.d.ts +9 -0
  313. package/dist/design/catalogue/fills.d.ts.map +1 -0
  314. package/dist/design/catalogue/fills.js +64 -0
  315. package/dist/design/catalogue/fills.js.map +1 -0
  316. package/dist/design/catalogue/frames.d.ts +18 -0
  317. package/dist/design/catalogue/frames.d.ts.map +1 -0
  318. package/dist/design/catalogue/frames.js +451 -0
  319. package/dist/design/catalogue/frames.js.map +1 -0
  320. package/dist/design/catalogue/icons.d.ts +21 -0
  321. package/dist/design/catalogue/icons.d.ts.map +1 -0
  322. package/dist/design/catalogue/icons.js +293 -0
  323. package/dist/design/catalogue/icons.js.map +1 -0
  324. package/dist/design/catalogue/module-shapes.d.ts +21 -0
  325. package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
  326. package/dist/design/catalogue/module-shapes.js +266 -0
  327. package/dist/design/catalogue/module-shapes.js.map +1 -0
  328. package/dist/design/catalogue/presets.d.ts +31 -0
  329. package/dist/design/catalogue/presets.d.ts.map +1 -0
  330. package/dist/design/catalogue/presets.js +696 -0
  331. package/dist/design/catalogue/presets.js.map +1 -0
  332. package/dist/design/catalogue/region-shapes.d.ts +41 -0
  333. package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
  334. package/dist/design/catalogue/region-shapes.js +399 -0
  335. package/dist/design/catalogue/region-shapes.js.map +1 -0
  336. package/dist/design/catalogue/schema.d.ts +14 -0
  337. package/dist/design/catalogue/schema.d.ts.map +1 -0
  338. package/dist/design/catalogue/schema.js +58 -0
  339. package/dist/design/catalogue/schema.js.map +1 -0
  340. package/dist/design/constraints.d.ts +25 -0
  341. package/dist/design/constraints.d.ts.map +1 -0
  342. package/dist/design/constraints.js +194 -0
  343. package/dist/design/constraints.js.map +1 -0
  344. package/dist/design/document.d.ts +64 -0
  345. package/dist/design/document.d.ts.map +1 -0
  346. package/dist/design/document.js +66 -0
  347. package/dist/design/document.js.map +1 -0
  348. package/dist/design/finder.d.ts +79 -0
  349. package/dist/design/finder.d.ts.map +1 -0
  350. package/dist/design/finder.js +270 -0
  351. package/dist/design/finder.js.map +1 -0
  352. package/dist/design/index.d.ts +18 -0
  353. package/dist/design/index.d.ts.map +1 -0
  354. package/dist/design/index.js +15 -0
  355. package/dist/design/index.js.map +1 -0
  356. package/dist/design/link.d.ts +41 -0
  357. package/dist/design/link.d.ts.map +1 -0
  358. package/dist/design/link.js +131 -0
  359. package/dist/design/link.js.map +1 -0
  360. package/dist/design/logo.d.ts +57 -0
  361. package/dist/design/logo.d.ts.map +1 -0
  362. package/dist/design/logo.js +376 -0
  363. package/dist/design/logo.js.map +1 -0
  364. package/dist/design/migrate.d.ts +31 -0
  365. package/dist/design/migrate.d.ts.map +1 -0
  366. package/dist/design/migrate.js +87 -0
  367. package/dist/design/migrate.js.map +1 -0
  368. package/dist/design/neighbours.d.ts +24 -0
  369. package/dist/design/neighbours.d.ts.map +1 -0
  370. package/dist/design/neighbours.js +50 -0
  371. package/dist/design/neighbours.js.map +1 -0
  372. package/dist/design/paint.d.ts +47 -0
  373. package/dist/design/paint.d.ts.map +1 -0
  374. package/dist/design/paint.js +115 -0
  375. package/dist/design/paint.js.map +1 -0
  376. package/dist/design/params.d.ts +30 -0
  377. package/dist/design/params.d.ts.map +1 -0
  378. package/dist/design/params.js +85 -0
  379. package/dist/design/params.js.map +1 -0
  380. package/dist/design/preset-size.d.ts +14 -0
  381. package/dist/design/preset-size.d.ts.map +1 -0
  382. package/dist/design/preset-size.js +14 -0
  383. package/dist/design/preset-size.js.map +1 -0
  384. package/dist/design/registries.d.ts +9 -0
  385. package/dist/design/registries.d.ts.map +1 -0
  386. package/dist/design/registries.js +24 -0
  387. package/dist/design/registries.js.map +1 -0
  388. package/dist/design/scene.d.ts +38 -0
  389. package/dist/design/scene.d.ts.map +1 -0
  390. package/dist/design/scene.js +694 -0
  391. package/dist/design/scene.js.map +1 -0
  392. package/dist/design/swiss-cross.d.ts +54 -0
  393. package/dist/design/swiss-cross.d.ts.map +1 -0
  394. package/dist/design/swiss-cross.js +95 -0
  395. package/dist/design/swiss-cross.js.map +1 -0
  396. package/dist/design/types.d.ts +389 -0
  397. package/dist/design/types.d.ts.map +1 -0
  398. package/dist/design/types.js +29 -0
  399. package/dist/design/types.js.map +1 -0
  400. package/dist/design/validate.d.ts +48 -0
  401. package/dist/design/validate.d.ts.map +1 -0
  402. package/dist/design/validate.js +986 -0
  403. package/dist/design/validate.js.map +1 -0
  404. package/dist/dom/camera.d.ts +94 -0
  405. package/dist/dom/camera.d.ts.map +1 -0
  406. package/dist/dom/camera.js +288 -0
  407. package/dist/dom/camera.js.map +1 -0
  408. package/dist/dom/file-library.d.ts +297 -0
  409. package/dist/dom/file-library.d.ts.map +1 -0
  410. package/dist/dom/file-library.js +703 -0
  411. package/dist/dom/file-library.js.map +1 -0
  412. package/dist/dom/image.d.ts +77 -0
  413. package/dist/dom/image.d.ts.map +1 -0
  414. package/dist/dom/image.js +253 -0
  415. package/dist/dom/image.js.map +1 -0
  416. package/dist/dom/index.d.ts +19 -0
  417. package/dist/dom/index.d.ts.map +1 -0
  418. package/dist/dom/index.js +10 -0
  419. package/dist/dom/index.js.map +1 -0
  420. package/dist/dom/library/index.d.ts +4 -0
  421. package/dist/dom/library/index.d.ts.map +1 -0
  422. package/dist/dom/library/index.js +2 -0
  423. package/dist/dom/library/index.js.map +1 -0
  424. package/dist/dom/library/indexeddb.d.ts +71 -0
  425. package/dist/dom/library/indexeddb.d.ts.map +1 -0
  426. package/dist/dom/library/indexeddb.js +365 -0
  427. package/dist/dom/library/indexeddb.js.map +1 -0
  428. package/dist/dom/logo.d.ts +36 -0
  429. package/dist/dom/logo.d.ts.map +1 -0
  430. package/dist/dom/logo.js +99 -0
  431. package/dist/dom/logo.js.map +1 -0
  432. package/dist/dom/orientation.d.ts +32 -0
  433. package/dist/dom/orientation.d.ts.map +1 -0
  434. package/dist/dom/orientation.js +152 -0
  435. package/dist/dom/orientation.js.map +1 -0
  436. package/dist/dom/output.d.ts +58 -0
  437. package/dist/dom/output.d.ts.map +1 -0
  438. package/dist/dom/output.js +93 -0
  439. package/dist/dom/output.js.map +1 -0
  440. package/dist/dom/print.d.ts +52 -0
  441. package/dist/dom/print.d.ts.map +1 -0
  442. package/dist/dom/print.js +101 -0
  443. package/dist/dom/print.js.map +1 -0
  444. package/dist/dom/raster-encoder.d.ts +43 -0
  445. package/dist/dom/raster-encoder.d.ts.map +1 -0
  446. package/dist/dom/raster-encoder.js +102 -0
  447. package/dist/dom/raster-encoder.js.map +1 -0
  448. package/dist/dom/resample.d.ts +20 -0
  449. package/dist/dom/resample.d.ts.map +1 -0
  450. package/dist/dom/resample.js +107 -0
  451. package/dist/dom/resample.js.map +1 -0
  452. package/dist/dom/types.d.ts +54 -0
  453. package/dist/dom/types.d.ts.map +1 -0
  454. package/dist/dom/types.js +13 -0
  455. package/dist/dom/types.js.map +1 -0
  456. package/dist/encode/bitstream.d.ts +14 -0
  457. package/dist/encode/bitstream.d.ts.map +1 -0
  458. package/dist/encode/bitstream.js +31 -0
  459. package/dist/encode/bitstream.js.map +1 -0
  460. package/dist/encode/encode.d.ts +21 -0
  461. package/dist/encode/encode.d.ts.map +1 -0
  462. package/dist/encode/encode.js +65 -0
  463. package/dist/encode/encode.js.map +1 -0
  464. package/dist/encode/index.d.ts +5 -0
  465. package/dist/encode/index.d.ts.map +1 -0
  466. package/dist/encode/index.js +4 -0
  467. package/dist/encode/index.js.map +1 -0
  468. package/dist/encode/plan.d.ts +61 -0
  469. package/dist/encode/plan.d.ts.map +1 -0
  470. package/dist/encode/plan.js +177 -0
  471. package/dist/encode/plan.js.map +1 -0
  472. package/dist/encode/structured-append.d.ts +35 -0
  473. package/dist/encode/structured-append.d.ts.map +1 -0
  474. package/dist/encode/structured-append.js +153 -0
  475. package/dist/encode/structured-append.js.map +1 -0
  476. package/dist/fonts/latin.d.ts +118 -0
  477. package/dist/fonts/latin.d.ts.map +1 -0
  478. package/dist/fonts/latin.js +137 -0
  479. package/dist/fonts/latin.js.map +1 -0
  480. package/dist/geometry/flatten.d.ts +60 -0
  481. package/dist/geometry/flatten.d.ts.map +1 -0
  482. package/dist/geometry/flatten.js +177 -0
  483. package/dist/geometry/flatten.js.map +1 -0
  484. package/dist/geometry/index.d.ts +10 -0
  485. package/dist/geometry/index.d.ts.map +1 -0
  486. package/dist/geometry/index.js +6 -0
  487. package/dist/geometry/index.js.map +1 -0
  488. package/dist/geometry/matrix.d.ts +50 -0
  489. package/dist/geometry/matrix.d.ts.map +1 -0
  490. package/dist/geometry/matrix.js +113 -0
  491. package/dist/geometry/matrix.js.map +1 -0
  492. package/dist/geometry/measure.d.ts +35 -0
  493. package/dist/geometry/measure.d.ts.map +1 -0
  494. package/dist/geometry/measure.js +206 -0
  495. package/dist/geometry/measure.js.map +1 -0
  496. package/dist/geometry/path.d.ts +137 -0
  497. package/dist/geometry/path.d.ts.map +1 -0
  498. package/dist/geometry/path.js +401 -0
  499. package/dist/geometry/path.js.map +1 -0
  500. package/dist/geometry/trace.d.ts +29 -0
  501. package/dist/geometry/trace.d.ts.map +1 -0
  502. package/dist/geometry/trace.js +166 -0
  503. package/dist/geometry/trace.js.map +1 -0
  504. package/dist/index.d.ts +20 -0
  505. package/dist/index.d.ts.map +1 -0
  506. package/dist/index.js +15 -0
  507. package/dist/index.js.map +1 -0
  508. package/dist/inspect/explain.d.ts +32 -0
  509. package/dist/inspect/explain.d.ts.map +1 -0
  510. package/dist/inspect/explain.js +99 -0
  511. package/dist/inspect/explain.js.map +1 -0
  512. package/dist/inspect/gs1.d.ts +38 -0
  513. package/dist/inspect/gs1.d.ts.map +1 -0
  514. package/dist/inspect/gs1.js +130 -0
  515. package/dist/inspect/gs1.js.map +1 -0
  516. package/dist/inspect/index.d.ts +9 -0
  517. package/dist/inspect/index.d.ts.map +1 -0
  518. package/dist/inspect/index.js +6 -0
  519. package/dist/inspect/index.js.map +1 -0
  520. package/dist/inspect/inspect.d.ts +29 -0
  521. package/dist/inspect/inspect.d.ts.map +1 -0
  522. package/dist/inspect/inspect.js +98 -0
  523. package/dist/inspect/inspect.js.map +1 -0
  524. package/dist/inspect/keys.d.ts +54 -0
  525. package/dist/inspect/keys.d.ts.map +1 -0
  526. package/dist/inspect/keys.js +63 -0
  527. package/dist/inspect/keys.js.map +1 -0
  528. package/dist/inspect/sets.d.ts +27 -0
  529. package/dist/inspect/sets.d.ts.map +1 -0
  530. package/dist/inspect/sets.js +67 -0
  531. package/dist/inspect/sets.js.map +1 -0
  532. package/dist/inspect/types.d.ts +81 -0
  533. package/dist/inspect/types.d.ts.map +1 -0
  534. package/dist/inspect/types.js +16 -0
  535. package/dist/inspect/types.js.map +1 -0
  536. package/dist/messages/en/app.d.ts +11 -0
  537. package/dist/messages/en/app.d.ts.map +1 -0
  538. package/dist/messages/en/app.js +395 -0
  539. package/dist/messages/en/app.js.map +1 -0
  540. package/dist/messages/en/batch.d.ts +18 -0
  541. package/dist/messages/en/batch.d.ts.map +1 -0
  542. package/dist/messages/en/batch.js +42 -0
  543. package/dist/messages/en/batch.js.map +1 -0
  544. package/dist/messages/en/decode.d.ts +9 -0
  545. package/dist/messages/en/decode.d.ts.map +1 -0
  546. package/dist/messages/en/decode.js +21 -0
  547. package/dist/messages/en/decode.js.map +1 -0
  548. package/dist/messages/en/design.d.ts +13 -0
  549. package/dist/messages/en/design.d.ts.map +1 -0
  550. package/dist/messages/en/design.js +228 -0
  551. package/dist/messages/en/design.js.map +1 -0
  552. package/dist/messages/en/dom.d.ts +11 -0
  553. package/dist/messages/en/dom.d.ts.map +1 -0
  554. package/dist/messages/en/dom.js +14 -0
  555. package/dist/messages/en/dom.js.map +1 -0
  556. package/dist/messages/en/encode.d.ts +13 -0
  557. package/dist/messages/en/encode.d.ts.map +1 -0
  558. package/dist/messages/en/encode.js +20 -0
  559. package/dist/messages/en/encode.js.map +1 -0
  560. package/dist/messages/en/index.d.ts +48 -0
  561. package/dist/messages/en/index.d.ts.map +1 -0
  562. package/dist/messages/en/index.js +73 -0
  563. package/dist/messages/en/index.js.map +1 -0
  564. package/dist/messages/en/inspect.d.ts +13 -0
  565. package/dist/messages/en/inspect.d.ts.map +1 -0
  566. package/dist/messages/en/inspect.js +84 -0
  567. package/dist/messages/en/inspect.js.map +1 -0
  568. package/dist/messages/en/library.d.ts +12 -0
  569. package/dist/messages/en/library.d.ts.map +1 -0
  570. package/dist/messages/en/library.js +27 -0
  571. package/dist/messages/en/library.js.map +1 -0
  572. package/dist/messages/en/micro.d.ts +9 -0
  573. package/dist/messages/en/micro.d.ts.map +1 -0
  574. package/dist/messages/en/micro.js +13 -0
  575. package/dist/messages/en/micro.js.map +1 -0
  576. package/dist/messages/en/own-link.d.ts +7 -0
  577. package/dist/messages/en/own-link.d.ts.map +1 -0
  578. package/dist/messages/en/own-link.js +29 -0
  579. package/dist/messages/en/own-link.js.map +1 -0
  580. package/dist/messages/en/payload.d.ts +13 -0
  581. package/dist/messages/en/payload.d.ts.map +1 -0
  582. package/dist/messages/en/payload.js +427 -0
  583. package/dist/messages/en/payload.js.map +1 -0
  584. package/dist/messages/en/rmqr.d.ts +9 -0
  585. package/dist/messages/en/rmqr.d.ts.map +1 -0
  586. package/dist/messages/en/rmqr.js +12 -0
  587. package/dist/messages/en/rmqr.js.map +1 -0
  588. package/dist/messages/en/studio.d.ts +18 -0
  589. package/dist/messages/en/studio.d.ts.map +1 -0
  590. package/dist/messages/en/studio.js +117 -0
  591. package/dist/messages/en/studio.js.map +1 -0
  592. package/dist/messages/en/symbology.d.ts +13 -0
  593. package/dist/messages/en/symbology.d.ts.map +1 -0
  594. package/dist/messages/en/symbology.js +21 -0
  595. package/dist/messages/en/symbology.js.map +1 -0
  596. package/dist/messages/en/text.d.ts +23 -0
  597. package/dist/messages/en/text.d.ts.map +1 -0
  598. package/dist/messages/en/text.js +47 -0
  599. package/dist/messages/en/text.js.map +1 -0
  600. package/dist/messages/en/verify.d.ts +13 -0
  601. package/dist/messages/en/verify.d.ts.map +1 -0
  602. package/dist/messages/en/verify.js +117 -0
  603. package/dist/messages/en/verify.js.map +1 -0
  604. package/dist/messages/format.d.ts +30 -0
  605. package/dist/messages/format.d.ts.map +1 -0
  606. package/dist/messages/format.js +170 -0
  607. package/dist/messages/format.js.map +1 -0
  608. package/dist/own-link/index.d.ts +5 -0
  609. package/dist/own-link/index.d.ts.map +1 -0
  610. package/dist/own-link/index.js +3 -0
  611. package/dist/own-link/index.js.map +1 -0
  612. package/dist/own-link/query.d.ts +10 -0
  613. package/dist/own-link/query.d.ts.map +1 -0
  614. package/dist/own-link/query.js +33 -0
  615. package/dist/own-link/query.js.map +1 -0
  616. package/dist/own-link/redirects.d.ts +54 -0
  617. package/dist/own-link/redirects.d.ts.map +1 -0
  618. package/dist/own-link/redirects.js +271 -0
  619. package/dist/own-link/redirects.js.map +1 -0
  620. package/dist/own-link/utm.d.ts +24 -0
  621. package/dist/own-link/utm.d.ts.map +1 -0
  622. package/dist/own-link/utm.js +82 -0
  623. package/dist/own-link/utm.js.map +1 -0
  624. package/dist/payload/banking.d.ts +39 -0
  625. package/dist/payload/banking.d.ts.map +1 -0
  626. package/dist/payload/banking.js +87 -0
  627. package/dist/payload/banking.js.map +1 -0
  628. package/dist/payload/base58.d.ts +21 -0
  629. package/dist/payload/base58.d.ts.map +1 -0
  630. package/dist/payload/base58.js +75 -0
  631. package/dist/payload/base58.js.map +1 -0
  632. package/dist/payload/bech32.d.ts +59 -0
  633. package/dist/payload/bech32.d.ts.map +1 -0
  634. package/dist/payload/bech32.js +137 -0
  635. package/dist/payload/bech32.js.map +1 -0
  636. package/dist/payload/check-digits.d.ts +49 -0
  637. package/dist/payload/check-digits.d.ts.map +1 -0
  638. package/dist/payload/check-digits.js +101 -0
  639. package/dist/payload/check-digits.js.map +1 -0
  640. package/dist/payload/content/bitcoin.d.ts +34 -0
  641. package/dist/payload/content/bitcoin.d.ts.map +1 -0
  642. package/dist/payload/content/bitcoin.js +137 -0
  643. package/dist/payload/content/bitcoin.js.map +1 -0
  644. package/dist/payload/content/email.d.ts +19 -0
  645. package/dist/payload/content/email.d.ts.map +1 -0
  646. package/dist/payload/content/email.js +137 -0
  647. package/dist/payload/content/email.js.map +1 -0
  648. package/dist/payload/content/epc.d.ts +32 -0
  649. package/dist/payload/content/epc.d.ts.map +1 -0
  650. package/dist/payload/content/epc.js +160 -0
  651. package/dist/payload/content/epc.js.map +1 -0
  652. package/dist/payload/content/event.d.ts +35 -0
  653. package/dist/payload/content/event.d.ts.map +1 -0
  654. package/dist/payload/content/event.js +242 -0
  655. package/dist/payload/content/event.js.map +1 -0
  656. package/dist/payload/content/facetime.d.ts +14 -0
  657. package/dist/payload/content/facetime.d.ts.map +1 -0
  658. package/dist/payload/content/facetime.js +56 -0
  659. package/dist/payload/content/facetime.js.map +1 -0
  660. package/dist/payload/content/geo.d.ts +24 -0
  661. package/dist/payload/content/geo.d.ts.map +1 -0
  662. package/dist/payload/content/geo.js +139 -0
  663. package/dist/payload/content/geo.js.map +1 -0
  664. package/dist/payload/content/gs1-digital-link.d.ts +34 -0
  665. package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
  666. package/dist/payload/content/gs1-digital-link.js +171 -0
  667. package/dist/payload/content/gs1-digital-link.js.map +1 -0
  668. package/dist/payload/content/lightning.d.ts +22 -0
  669. package/dist/payload/content/lightning.d.ts.map +1 -0
  670. package/dist/payload/content/lightning.js +90 -0
  671. package/dist/payload/content/lightning.js.map +1 -0
  672. package/dist/payload/content/mecard.d.ts +23 -0
  673. package/dist/payload/content/mecard.d.ts.map +1 -0
  674. package/dist/payload/content/mecard.js +111 -0
  675. package/dist/payload/content/mecard.js.map +1 -0
  676. package/dist/payload/content/phone.d.ts +17 -0
  677. package/dist/payload/content/phone.d.ts.map +1 -0
  678. package/dist/payload/content/phone.js +39 -0
  679. package/dist/payload/content/phone.js.map +1 -0
  680. package/dist/payload/content/pix.d.ts +36 -0
  681. package/dist/payload/content/pix.d.ts.map +1 -0
  682. package/dist/payload/content/pix.js +191 -0
  683. package/dist/payload/content/pix.js.map +1 -0
  684. package/dist/payload/content/signal.d.ts +17 -0
  685. package/dist/payload/content/signal.d.ts.map +1 -0
  686. package/dist/payload/content/signal.js +43 -0
  687. package/dist/payload/content/signal.js.map +1 -0
  688. package/dist/payload/content/sms.d.ts +18 -0
  689. package/dist/payload/content/sms.d.ts.map +1 -0
  690. package/dist/payload/content/sms.js +64 -0
  691. package/dist/payload/content/sms.js.map +1 -0
  692. package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
  693. package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
  694. package/dist/payload/content/swiss-qr-bill.js +325 -0
  695. package/dist/payload/content/swiss-qr-bill.js.map +1 -0
  696. package/dist/payload/content/telegram.d.ts +18 -0
  697. package/dist/payload/content/telegram.d.ts.map +1 -0
  698. package/dist/payload/content/telegram.js +105 -0
  699. package/dist/payload/content/telegram.js.map +1 -0
  700. package/dist/payload/content/text.d.ts +9 -0
  701. package/dist/payload/content/text.d.ts.map +1 -0
  702. package/dist/payload/content/text.js +18 -0
  703. package/dist/payload/content/text.js.map +1 -0
  704. package/dist/payload/content/upi.d.ts +21 -0
  705. package/dist/payload/content/upi.d.ts.map +1 -0
  706. package/dist/payload/content/upi.js +89 -0
  707. package/dist/payload/content/upi.js.map +1 -0
  708. package/dist/payload/content/url.d.ts +31 -0
  709. package/dist/payload/content/url.d.ts.map +1 -0
  710. package/dist/payload/content/url.js +120 -0
  711. package/dist/payload/content/url.js.map +1 -0
  712. package/dist/payload/content/vcard.d.ts +42 -0
  713. package/dist/payload/content/vcard.d.ts.map +1 -0
  714. package/dist/payload/content/vcard.js +302 -0
  715. package/dist/payload/content/vcard.js.map +1 -0
  716. package/dist/payload/content/whatsapp.d.ts +17 -0
  717. package/dist/payload/content/whatsapp.d.ts.map +1 -0
  718. package/dist/payload/content/whatsapp.js +72 -0
  719. package/dist/payload/content/whatsapp.js.map +1 -0
  720. package/dist/payload/content/wifi.d.ts +48 -0
  721. package/dist/payload/content/wifi.d.ts.map +1 -0
  722. package/dist/payload/content/wifi.js +240 -0
  723. package/dist/payload/content/wifi.js.map +1 -0
  724. package/dist/payload/content/zatca.d.ts +35 -0
  725. package/dist/payload/content/zatca.d.ts.map +1 -0
  726. package/dist/payload/content/zatca.js +156 -0
  727. package/dist/payload/content/zatca.js.map +1 -0
  728. package/dist/payload/data/hosts.d.ts +39 -0
  729. package/dist/payload/data/hosts.d.ts.map +1 -0
  730. package/dist/payload/data/hosts.js +74 -0
  731. package/dist/payload/data/hosts.js.map +1 -0
  732. package/dist/payload/define.d.ts +57 -0
  733. package/dist/payload/define.d.ts.map +1 -0
  734. package/dist/payload/define.js +87 -0
  735. package/dist/payload/define.js.map +1 -0
  736. package/dist/payload/detect.d.ts +13 -0
  737. package/dist/payload/detect.d.ts.map +1 -0
  738. package/dist/payload/detect.js +32 -0
  739. package/dist/payload/detect.js.map +1 -0
  740. package/dist/payload/emv.d.ts +41 -0
  741. package/dist/payload/emv.d.ts.map +1 -0
  742. package/dist/payload/emv.js +73 -0
  743. package/dist/payload/emv.js.map +1 -0
  744. package/dist/payload/escape.d.ts +66 -0
  745. package/dist/payload/escape.d.ts.map +1 -0
  746. package/dist/payload/escape.js +225 -0
  747. package/dist/payload/escape.js.map +1 -0
  748. package/dist/payload/fields.d.ts +86 -0
  749. package/dist/payload/fields.d.ts.map +1 -0
  750. package/dist/payload/fields.js +368 -0
  751. package/dist/payload/fields.js.map +1 -0
  752. package/dist/payload/hash.d.ts +11 -0
  753. package/dist/payload/hash.d.ts.map +1 -0
  754. package/dist/payload/hash.js +82 -0
  755. package/dist/payload/hash.js.map +1 -0
  756. package/dist/payload/index.d.ts +58 -0
  757. package/dist/payload/index.d.ts.map +1 -0
  758. package/dist/payload/index.js +32 -0
  759. package/dist/payload/index.js.map +1 -0
  760. package/dist/payload/punycode.d.ts +18 -0
  761. package/dist/payload/punycode.d.ts.map +1 -0
  762. package/dist/payload/punycode.js +99 -0
  763. package/dist/payload/punycode.js.map +1 -0
  764. package/dist/payload/registry.d.ts +20 -0
  765. package/dist/payload/registry.d.ts.map +1 -0
  766. package/dist/payload/registry.js +64 -0
  767. package/dist/payload/registry.js.map +1 -0
  768. package/dist/payload/safety.d.ts +13 -0
  769. package/dist/payload/safety.d.ts.map +1 -0
  770. package/dist/payload/safety.js +30 -0
  771. package/dist/payload/safety.js.map +1 -0
  772. package/dist/payload/scripts.d.ts +25 -0
  773. package/dist/payload/scripts.d.ts.map +1 -0
  774. package/dist/payload/scripts.js +90 -0
  775. package/dist/payload/scripts.js.map +1 -0
  776. package/dist/payload/types.d.ts +138 -0
  777. package/dist/payload/types.d.ts.map +1 -0
  778. package/dist/payload/types.js +28 -0
  779. package/dist/payload/types.js.map +1 -0
  780. package/dist/payload/uri.d.ts +24 -0
  781. package/dist/payload/uri.d.ts.map +1 -0
  782. package/dist/payload/uri.js +69 -0
  783. package/dist/payload/uri.js.map +1 -0
  784. package/dist/payload/url-safety.d.ts +31 -0
  785. package/dist/payload/url-safety.d.ts.map +1 -0
  786. package/dist/payload/url-safety.js +221 -0
  787. package/dist/payload/url-safety.js.map +1 -0
  788. package/dist/payload/vectors/bitcoin.d.ts +13 -0
  789. package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
  790. package/dist/payload/vectors/bitcoin.js +83 -0
  791. package/dist/payload/vectors/bitcoin.js.map +1 -0
  792. package/dist/payload/vectors/built-in.d.ts +15 -0
  793. package/dist/payload/vectors/built-in.d.ts.map +1 -0
  794. package/dist/payload/vectors/built-in.js +59 -0
  795. package/dist/payload/vectors/built-in.js.map +1 -0
  796. package/dist/payload/vectors/email.d.ts +8 -0
  797. package/dist/payload/vectors/email.d.ts.map +1 -0
  798. package/dist/payload/vectors/email.js +60 -0
  799. package/dist/payload/vectors/email.js.map +1 -0
  800. package/dist/payload/vectors/epc.d.ts +9 -0
  801. package/dist/payload/vectors/epc.d.ts.map +1 -0
  802. package/dist/payload/vectors/epc.js +38 -0
  803. package/dist/payload/vectors/epc.js.map +1 -0
  804. package/dist/payload/vectors/event.d.ts +9 -0
  805. package/dist/payload/vectors/event.d.ts.map +1 -0
  806. package/dist/payload/vectors/event.js +57 -0
  807. package/dist/payload/vectors/event.js.map +1 -0
  808. package/dist/payload/vectors/facetime.d.ts +9 -0
  809. package/dist/payload/vectors/facetime.d.ts.map +1 -0
  810. package/dist/payload/vectors/facetime.js +19 -0
  811. package/dist/payload/vectors/facetime.js.map +1 -0
  812. package/dist/payload/vectors/geo.d.ts +8 -0
  813. package/dist/payload/vectors/geo.d.ts.map +1 -0
  814. package/dist/payload/vectors/geo.js +22 -0
  815. package/dist/payload/vectors/geo.js.map +1 -0
  816. package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
  817. package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
  818. package/dist/payload/vectors/gs1-digital-link.js +21 -0
  819. package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
  820. package/dist/payload/vectors/hosts.d.ts +12 -0
  821. package/dist/payload/vectors/hosts.d.ts.map +1 -0
  822. package/dist/payload/vectors/hosts.js +50 -0
  823. package/dist/payload/vectors/hosts.js.map +1 -0
  824. package/dist/payload/vectors/index.d.ts +10 -0
  825. package/dist/payload/vectors/index.d.ts.map +1 -0
  826. package/dist/payload/vectors/index.js +9 -0
  827. package/dist/payload/vectors/index.js.map +1 -0
  828. package/dist/payload/vectors/lightning.d.ts +9 -0
  829. package/dist/payload/vectors/lightning.d.ts.map +1 -0
  830. package/dist/payload/vectors/lightning.js +23 -0
  831. package/dist/payload/vectors/lightning.js.map +1 -0
  832. package/dist/payload/vectors/mecard.d.ts +9 -0
  833. package/dist/payload/vectors/mecard.d.ts.map +1 -0
  834. package/dist/payload/vectors/mecard.js +25 -0
  835. package/dist/payload/vectors/mecard.js.map +1 -0
  836. package/dist/payload/vectors/phone.d.ts +9 -0
  837. package/dist/payload/vectors/phone.d.ts.map +1 -0
  838. package/dist/payload/vectors/phone.js +13 -0
  839. package/dist/payload/vectors/phone.js.map +1 -0
  840. package/dist/payload/vectors/pix.d.ts +9 -0
  841. package/dist/payload/vectors/pix.d.ts.map +1 -0
  842. package/dist/payload/vectors/pix.js +21 -0
  843. package/dist/payload/vectors/pix.js.map +1 -0
  844. package/dist/payload/vectors/signal.d.ts +9 -0
  845. package/dist/payload/vectors/signal.d.ts.map +1 -0
  846. package/dist/payload/vectors/signal.js +14 -0
  847. package/dist/payload/vectors/signal.js.map +1 -0
  848. package/dist/payload/vectors/sms.d.ts +9 -0
  849. package/dist/payload/vectors/sms.d.ts.map +1 -0
  850. package/dist/payload/vectors/sms.js +18 -0
  851. package/dist/payload/vectors/sms.js.map +1 -0
  852. package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
  853. package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
  854. package/dist/payload/vectors/swiss-qr-bill.js +72 -0
  855. package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
  856. package/dist/payload/vectors/telegram.d.ts +9 -0
  857. package/dist/payload/vectors/telegram.d.ts.map +1 -0
  858. package/dist/payload/vectors/telegram.js +19 -0
  859. package/dist/payload/vectors/telegram.js.map +1 -0
  860. package/dist/payload/vectors/text.d.ts +9 -0
  861. package/dist/payload/vectors/text.d.ts.map +1 -0
  862. package/dist/payload/vectors/text.js +13 -0
  863. package/dist/payload/vectors/text.js.map +1 -0
  864. package/dist/payload/vectors/upi.d.ts +9 -0
  865. package/dist/payload/vectors/upi.d.ts.map +1 -0
  866. package/dist/payload/vectors/upi.js +14 -0
  867. package/dist/payload/vectors/upi.js.map +1 -0
  868. package/dist/payload/vectors/url.d.ts +8 -0
  869. package/dist/payload/vectors/url.d.ts.map +1 -0
  870. package/dist/payload/vectors/url.js +30 -0
  871. package/dist/payload/vectors/url.js.map +1 -0
  872. package/dist/payload/vectors/vcard.d.ts +9 -0
  873. package/dist/payload/vectors/vcard.d.ts.map +1 -0
  874. package/dist/payload/vectors/vcard.js +47 -0
  875. package/dist/payload/vectors/vcard.js.map +1 -0
  876. package/dist/payload/vectors/whatsapp.d.ts +9 -0
  877. package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
  878. package/dist/payload/vectors/whatsapp.js +19 -0
  879. package/dist/payload/vectors/whatsapp.js.map +1 -0
  880. package/dist/payload/vectors/wifi.d.ts +13 -0
  881. package/dist/payload/vectors/wifi.d.ts.map +1 -0
  882. package/dist/payload/vectors/wifi.js +40 -0
  883. package/dist/payload/vectors/wifi.js.map +1 -0
  884. package/dist/payload/vectors/zatca.d.ts +12 -0
  885. package/dist/payload/vectors/zatca.d.ts.map +1 -0
  886. package/dist/payload/vectors/zatca.js +28 -0
  887. package/dist/payload/vectors/zatca.js.map +1 -0
  888. package/dist/qr-code-studio.html +190 -0
  889. package/dist/registries.d.ts +24 -0
  890. package/dist/registries.d.ts.map +1 -0
  891. package/dist/registries.js +23 -0
  892. package/dist/registries.js.map +1 -0
  893. package/dist/render/base64.d.ts +11 -0
  894. package/dist/render/base64.d.ts.map +1 -0
  895. package/dist/render/base64.js +40 -0
  896. package/dist/render/base64.js.map +1 -0
  897. package/dist/render/colour.d.ts +28 -0
  898. package/dist/render/colour.d.ts.map +1 -0
  899. package/dist/render/colour.js +72 -0
  900. package/dist/render/colour.js.map +1 -0
  901. package/dist/render/conic.d.ts +68 -0
  902. package/dist/render/conic.d.ts.map +1 -0
  903. package/dist/render/conic.js +205 -0
  904. package/dist/render/conic.js.map +1 -0
  905. package/dist/render/coverage.d.ts +154 -0
  906. package/dist/render/coverage.d.ts.map +1 -0
  907. package/dist/render/coverage.js +613 -0
  908. package/dist/render/coverage.js.map +1 -0
  909. package/dist/render/eps.d.ts +41 -0
  910. package/dist/render/eps.d.ts.map +1 -0
  911. package/dist/render/eps.js +377 -0
  912. package/dist/render/eps.js.map +1 -0
  913. package/dist/render/impose.d.ts +130 -0
  914. package/dist/render/impose.d.ts.map +1 -0
  915. package/dist/render/impose.js +288 -0
  916. package/dist/render/impose.js.map +1 -0
  917. package/dist/render/index.d.ts +22 -0
  918. package/dist/render/index.d.ts.map +1 -0
  919. package/dist/render/index.js +13 -0
  920. package/dist/render/index.js.map +1 -0
  921. package/dist/render/paint.d.ts +62 -0
  922. package/dist/render/paint.d.ts.map +1 -0
  923. package/dist/render/paint.js +169 -0
  924. package/dist/render/paint.js.map +1 -0
  925. package/dist/render/pdf-colour.d.ts +34 -0
  926. package/dist/render/pdf-colour.d.ts.map +1 -0
  927. package/dist/render/pdf-colour.js +64 -0
  928. package/dist/render/pdf-colour.js.map +1 -0
  929. package/dist/render/pdf-content.d.ts +90 -0
  930. package/dist/render/pdf-content.d.ts.map +1 -0
  931. package/dist/render/pdf-content.js +367 -0
  932. package/dist/render/pdf-content.js.map +1 -0
  933. package/dist/render/pdf-document.d.ts +38 -0
  934. package/dist/render/pdf-document.d.ts.map +1 -0
  935. package/dist/render/pdf-document.js +110 -0
  936. package/dist/render/pdf-document.js.map +1 -0
  937. package/dist/render/pdf-hash.d.ts +14 -0
  938. package/dist/render/pdf-hash.d.ts.map +1 -0
  939. package/dist/render/pdf-hash.js +71 -0
  940. package/dist/render/pdf-hash.js.map +1 -0
  941. package/dist/render/pdf-syntax.d.ts +45 -0
  942. package/dist/render/pdf-syntax.d.ts.map +1 -0
  943. package/dist/render/pdf-syntax.js +100 -0
  944. package/dist/render/pdf-syntax.js.map +1 -0
  945. package/dist/render/pdf.d.ts +59 -0
  946. package/dist/render/pdf.d.ts.map +1 -0
  947. package/dist/render/pdf.js +267 -0
  948. package/dist/render/pdf.js.map +1 -0
  949. package/dist/render/png-decode.d.ts +33 -0
  950. package/dist/render/png-decode.d.ts.map +1 -0
  951. package/dist/render/png-decode.js +345 -0
  952. package/dist/render/png-decode.js.map +1 -0
  953. package/dist/render/png.d.ts +37 -0
  954. package/dist/render/png.d.ts.map +1 -0
  955. package/dist/render/png.js +350 -0
  956. package/dist/render/png.js.map +1 -0
  957. package/dist/render/raster.d.ts +40 -0
  958. package/dist/render/raster.d.ts.map +1 -0
  959. package/dist/render/raster.js +245 -0
  960. package/dist/render/raster.js.map +1 -0
  961. package/dist/render/scene.d.ts +84 -0
  962. package/dist/render/scene.d.ts.map +1 -0
  963. package/dist/render/scene.js +216 -0
  964. package/dist/render/scene.js.map +1 -0
  965. package/dist/render/sheets.d.ts +26 -0
  966. package/dist/render/sheets.d.ts.map +1 -0
  967. package/dist/render/sheets.js +83 -0
  968. package/dist/render/sheets.js.map +1 -0
  969. package/dist/render/svg.d.ts +54 -0
  970. package/dist/render/svg.d.ts.map +1 -0
  971. package/dist/render/svg.js +324 -0
  972. package/dist/render/svg.js.map +1 -0
  973. package/dist/render/types.d.ts +95 -0
  974. package/dist/render/types.d.ts.map +1 -0
  975. package/dist/render/types.js +9 -0
  976. package/dist/render/types.js.map +1 -0
  977. package/dist/segment/alphanumeric.d.ts +15 -0
  978. package/dist/segment/alphanumeric.d.ts.map +1 -0
  979. package/dist/segment/alphanumeric.js +23 -0
  980. package/dist/segment/alphanumeric.js.map +1 -0
  981. package/dist/segment/eci.d.ts +41 -0
  982. package/dist/segment/eci.d.ts.map +1 -0
  983. package/dist/segment/eci.js +194 -0
  984. package/dist/segment/eci.js.map +1 -0
  985. package/dist/segment/index.d.ts +10 -0
  986. package/dist/segment/index.d.ts.map +1 -0
  987. package/dist/segment/index.js +8 -0
  988. package/dist/segment/index.js.map +1 -0
  989. package/dist/segment/kanji.d.ts +57 -0
  990. package/dist/segment/kanji.d.ts.map +1 -0
  991. package/dist/segment/kanji.js +135 -0
  992. package/dist/segment/kanji.js.map +1 -0
  993. package/dist/segment/profile.d.ts +21 -0
  994. package/dist/segment/profile.d.ts.map +1 -0
  995. package/dist/segment/profile.js +66 -0
  996. package/dist/segment/profile.js.map +1 -0
  997. package/dist/segment/read.d.ts +29 -0
  998. package/dist/segment/read.d.ts.map +1 -0
  999. package/dist/segment/read.js +360 -0
  1000. package/dist/segment/read.js.map +1 -0
  1001. package/dist/segment/segment-text.d.ts +88 -0
  1002. package/dist/segment/segment-text.d.ts.map +1 -0
  1003. package/dist/segment/segment-text.js +422 -0
  1004. package/dist/segment/segment-text.js.map +1 -0
  1005. package/dist/segment/types.d.ts +89 -0
  1006. package/dist/segment/types.d.ts.map +1 -0
  1007. package/dist/segment/types.js +13 -0
  1008. package/dist/segment/types.js.map +1 -0
  1009. package/dist/segment/write.d.ts +36 -0
  1010. package/dist/segment/write.d.ts.map +1 -0
  1011. package/dist/segment/write.js +226 -0
  1012. package/dist/segment/write.js.map +1 -0
  1013. package/dist/studio/assets.d.ts +22 -0
  1014. package/dist/studio/assets.d.ts.map +1 -0
  1015. package/dist/studio/assets.js +66 -0
  1016. package/dist/studio/assets.js.map +1 -0
  1017. package/dist/studio/catalogue.d.ts +34 -0
  1018. package/dist/studio/catalogue.d.ts.map +1 -0
  1019. package/dist/studio/catalogue.js +359 -0
  1020. package/dist/studio/catalogue.js.map +1 -0
  1021. package/dist/studio/contrast.d.ts +16 -0
  1022. package/dist/studio/contrast.d.ts.map +1 -0
  1023. package/dist/studio/contrast.js +28 -0
  1024. package/dist/studio/contrast.js.map +1 -0
  1025. package/dist/studio/document.d.ts +61 -0
  1026. package/dist/studio/document.d.ts.map +1 -0
  1027. package/dist/studio/document.js +208 -0
  1028. package/dist/studio/document.js.map +1 -0
  1029. package/dist/studio/export.d.ts +52 -0
  1030. package/dist/studio/export.d.ts.map +1 -0
  1031. package/dist/studio/export.js +269 -0
  1032. package/dist/studio/export.js.map +1 -0
  1033. package/dist/studio/form.d.ts +15 -0
  1034. package/dist/studio/form.d.ts.map +1 -0
  1035. package/dist/studio/form.js +91 -0
  1036. package/dist/studio/form.js.map +1 -0
  1037. package/dist/studio/history.d.ts +66 -0
  1038. package/dist/studio/history.d.ts.map +1 -0
  1039. package/dist/studio/history.js +109 -0
  1040. package/dist/studio/history.js.map +1 -0
  1041. package/dist/studio/index.d.ts +16 -0
  1042. package/dist/studio/index.d.ts.map +1 -0
  1043. package/dist/studio/index.js +12 -0
  1044. package/dist/studio/index.js.map +1 -0
  1045. package/dist/studio/keys.d.ts +86 -0
  1046. package/dist/studio/keys.d.ts.map +1 -0
  1047. package/dist/studio/keys.js +165 -0
  1048. package/dist/studio/keys.js.map +1 -0
  1049. package/dist/studio/kit.d.ts +44 -0
  1050. package/dist/studio/kit.d.ts.map +1 -0
  1051. package/dist/studio/kit.js +114 -0
  1052. package/dist/studio/kit.js.map +1 -0
  1053. package/dist/studio/logo.d.ts +25 -0
  1054. package/dist/studio/logo.d.ts.map +1 -0
  1055. package/dist/studio/logo.js +49 -0
  1056. package/dist/studio/logo.js.map +1 -0
  1057. package/dist/studio/names.d.ts +18 -0
  1058. package/dist/studio/names.d.ts.map +1 -0
  1059. package/dist/studio/names.js +36 -0
  1060. package/dist/studio/names.js.map +1 -0
  1061. package/dist/studio/patch.d.ts +17 -0
  1062. package/dist/studio/patch.d.ts.map +1 -0
  1063. package/dist/studio/patch.js +64 -0
  1064. package/dist/studio/patch.js.map +1 -0
  1065. package/dist/studio/seams.d.ts +44 -0
  1066. package/dist/studio/seams.d.ts.map +1 -0
  1067. package/dist/studio/seams.js +36 -0
  1068. package/dist/studio/seams.js.map +1 -0
  1069. package/dist/studio/share.d.ts +16 -0
  1070. package/dist/studio/share.d.ts.map +1 -0
  1071. package/dist/studio/share.js +57 -0
  1072. package/dist/studio/share.js.map +1 -0
  1073. package/dist/studio/shuffle.d.ts +38 -0
  1074. package/dist/studio/shuffle.d.ts.map +1 -0
  1075. package/dist/studio/shuffle.js +181 -0
  1076. package/dist/studio/shuffle.js.map +1 -0
  1077. package/dist/studio/slices.d.ts +29 -0
  1078. package/dist/studio/slices.d.ts.map +1 -0
  1079. package/dist/studio/slices.js +84 -0
  1080. package/dist/studio/slices.js.map +1 -0
  1081. package/dist/studio/studio.d.ts +29 -0
  1082. package/dist/studio/studio.d.ts.map +1 -0
  1083. package/dist/studio/studio.js +1298 -0
  1084. package/dist/studio/studio.js.map +1 -0
  1085. package/dist/studio/symbol.d.ts +47 -0
  1086. package/dist/studio/symbol.d.ts.map +1 -0
  1087. package/dist/studio/symbol.js +159 -0
  1088. package/dist/studio/symbol.js.map +1 -0
  1089. package/dist/studio/timers.d.ts +18 -0
  1090. package/dist/studio/timers.d.ts.map +1 -0
  1091. package/dist/studio/timers.js +36 -0
  1092. package/dist/studio/timers.js.map +1 -0
  1093. package/dist/studio/types.d.ts +693 -0
  1094. package/dist/studio/types.d.ts.map +1 -0
  1095. package/dist/studio/types.js +26 -0
  1096. package/dist/studio/types.js.map +1 -0
  1097. package/dist/studio/verify.d.ts +47 -0
  1098. package/dist/studio/verify.d.ts.map +1 -0
  1099. package/dist/studio/verify.js +63 -0
  1100. package/dist/studio/verify.js.map +1 -0
  1101. package/dist/symbology/index.d.ts +8 -0
  1102. package/dist/symbology/index.d.ts.map +1 -0
  1103. package/dist/symbology/index.js +6 -0
  1104. package/dist/symbology/index.js.map +1 -0
  1105. package/dist/symbology/micro/blocks.d.ts +34 -0
  1106. package/dist/symbology/micro/blocks.d.ts.map +1 -0
  1107. package/dist/symbology/micro/blocks.js +63 -0
  1108. package/dist/symbology/micro/blocks.js.map +1 -0
  1109. package/dist/symbology/micro/entry.d.ts +70 -0
  1110. package/dist/symbology/micro/entry.d.ts.map +1 -0
  1111. package/dist/symbology/micro/entry.js +181 -0
  1112. package/dist/symbology/micro/entry.js.map +1 -0
  1113. package/dist/symbology/micro/format.d.ts +31 -0
  1114. package/dist/symbology/micro/format.d.ts.map +1 -0
  1115. package/dist/symbology/micro/format.js +48 -0
  1116. package/dist/symbology/micro/format.js.map +1 -0
  1117. package/dist/symbology/micro/index.d.ts +7 -0
  1118. package/dist/symbology/micro/index.d.ts.map +1 -0
  1119. package/dist/symbology/micro/index.js +5 -0
  1120. package/dist/symbology/micro/index.js.map +1 -0
  1121. package/dist/symbology/micro/layout.d.ts +40 -0
  1122. package/dist/symbology/micro/layout.d.ts.map +1 -0
  1123. package/dist/symbology/micro/layout.js +106 -0
  1124. package/dist/symbology/micro/layout.js.map +1 -0
  1125. package/dist/symbology/micro/mask.d.ts +25 -0
  1126. package/dist/symbology/micro/mask.d.ts.map +1 -0
  1127. package/dist/symbology/micro/mask.js +41 -0
  1128. package/dist/symbology/micro/mask.js.map +1 -0
  1129. package/dist/symbology/micro/modules.d.ts +76 -0
  1130. package/dist/symbology/micro/modules.d.ts.map +1 -0
  1131. package/dist/symbology/micro/modules.js +156 -0
  1132. package/dist/symbology/micro/modules.js.map +1 -0
  1133. package/dist/symbology/micro/profile.d.ts +16 -0
  1134. package/dist/symbology/micro/profile.d.ts.map +1 -0
  1135. package/dist/symbology/micro/profile.js +45 -0
  1136. package/dist/symbology/micro/profile.js.map +1 -0
  1137. package/dist/symbology/micro/read-helpers.d.ts +31 -0
  1138. package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
  1139. package/dist/symbology/micro/read-helpers.js +66 -0
  1140. package/dist/symbology/micro/read-helpers.js.map +1 -0
  1141. package/dist/symbology/micro/tables.d.ts +63 -0
  1142. package/dist/symbology/micro/tables.d.ts.map +1 -0
  1143. package/dist/symbology/micro/tables.js +163 -0
  1144. package/dist/symbology/micro/tables.js.map +1 -0
  1145. package/dist/symbology/qr/blocks.d.ts +58 -0
  1146. package/dist/symbology/qr/blocks.d.ts.map +1 -0
  1147. package/dist/symbology/qr/blocks.js +176 -0
  1148. package/dist/symbology/qr/blocks.js.map +1 -0
  1149. package/dist/symbology/qr/build.d.ts +20 -0
  1150. package/dist/symbology/qr/build.d.ts.map +1 -0
  1151. package/dist/symbology/qr/build.js +91 -0
  1152. package/dist/symbology/qr/build.js.map +1 -0
  1153. package/dist/symbology/qr/entry.d.ts +13 -0
  1154. package/dist/symbology/qr/entry.d.ts.map +1 -0
  1155. package/dist/symbology/qr/entry.js +56 -0
  1156. package/dist/symbology/qr/entry.js.map +1 -0
  1157. package/dist/symbology/qr/index.d.ts +13 -0
  1158. package/dist/symbology/qr/index.d.ts.map +1 -0
  1159. package/dist/symbology/qr/index.js +9 -0
  1160. package/dist/symbology/qr/index.js.map +1 -0
  1161. package/dist/symbology/qr/info.d.ts +29 -0
  1162. package/dist/symbology/qr/info.d.ts.map +1 -0
  1163. package/dist/symbology/qr/info.js +53 -0
  1164. package/dist/symbology/qr/info.js.map +1 -0
  1165. package/dist/symbology/qr/layout.d.ts +37 -0
  1166. package/dist/symbology/qr/layout.d.ts.map +1 -0
  1167. package/dist/symbology/qr/layout.js +174 -0
  1168. package/dist/symbology/qr/layout.js.map +1 -0
  1169. package/dist/symbology/qr/mask.d.ts +35 -0
  1170. package/dist/symbology/qr/mask.d.ts.map +1 -0
  1171. package/dist/symbology/qr/mask.js +113 -0
  1172. package/dist/symbology/qr/mask.js.map +1 -0
  1173. package/dist/symbology/qr/read.d.ts +43 -0
  1174. package/dist/symbology/qr/read.d.ts.map +1 -0
  1175. package/dist/symbology/qr/read.js +219 -0
  1176. package/dist/symbology/qr/read.js.map +1 -0
  1177. package/dist/symbology/qr/tables.d.ts +62 -0
  1178. package/dist/symbology/qr/tables.d.ts.map +1 -0
  1179. package/dist/symbology/qr/tables.js +337 -0
  1180. package/dist/symbology/qr/tables.js.map +1 -0
  1181. package/dist/symbology/registry.d.ts +11 -0
  1182. package/dist/symbology/registry.d.ts.map +1 -0
  1183. package/dist/symbology/registry.js +19 -0
  1184. package/dist/symbology/registry.js.map +1 -0
  1185. package/dist/symbology/rmqr/entry.d.ts +56 -0
  1186. package/dist/symbology/rmqr/entry.d.ts.map +1 -0
  1187. package/dist/symbology/rmqr/entry.js +165 -0
  1188. package/dist/symbology/rmqr/entry.js.map +1 -0
  1189. package/dist/symbology/rmqr/format.d.ts +45 -0
  1190. package/dist/symbology/rmqr/format.d.ts.map +1 -0
  1191. package/dist/symbology/rmqr/format.js +72 -0
  1192. package/dist/symbology/rmqr/format.js.map +1 -0
  1193. package/dist/symbology/rmqr/index.d.ts +5 -0
  1194. package/dist/symbology/rmqr/index.d.ts.map +1 -0
  1195. package/dist/symbology/rmqr/index.js +5 -0
  1196. package/dist/symbology/rmqr/index.js.map +1 -0
  1197. package/dist/symbology/rmqr/layout.d.ts +46 -0
  1198. package/dist/symbology/rmqr/layout.d.ts.map +1 -0
  1199. package/dist/symbology/rmqr/layout.js +196 -0
  1200. package/dist/symbology/rmqr/layout.js.map +1 -0
  1201. package/dist/symbology/rmqr/profile.d.ts +15 -0
  1202. package/dist/symbology/rmqr/profile.d.ts.map +1 -0
  1203. package/dist/symbology/rmqr/profile.js +52 -0
  1204. package/dist/symbology/rmqr/profile.js.map +1 -0
  1205. package/dist/symbology/rmqr/tables.d.ts +62 -0
  1206. package/dist/symbology/rmqr/tables.d.ts.map +1 -0
  1207. package/dist/symbology/rmqr/tables.js +194 -0
  1208. package/dist/symbology/rmqr/tables.js.map +1 -0
  1209. package/dist/symbology/roles.d.ts +19 -0
  1210. package/dist/symbology/roles.d.ts.map +1 -0
  1211. package/dist/symbology/roles.js +35 -0
  1212. package/dist/symbology/roles.js.map +1 -0
  1213. package/dist/symbology/types.d.ts +126 -0
  1214. package/dist/symbology/types.d.ts.map +1 -0
  1215. package/dist/symbology/types.js +11 -0
  1216. package/dist/symbology/types.js.map +1 -0
  1217. package/dist/text/base64.d.ts +11 -0
  1218. package/dist/text/base64.d.ts.map +1 -0
  1219. package/dist/text/base64.js +49 -0
  1220. package/dist/text/base64.js.map +1 -0
  1221. package/dist/text/cmap.d.ts +17 -0
  1222. package/dist/text/cmap.d.ts.map +1 -0
  1223. package/dist/text/cmap.js +161 -0
  1224. package/dist/text/cmap.js.map +1 -0
  1225. package/dist/text/compiled.d.ts +52 -0
  1226. package/dist/text/compiled.d.ts.map +1 -0
  1227. package/dist/text/compiled.js +220 -0
  1228. package/dist/text/compiled.js.map +1 -0
  1229. package/dist/text/errors.d.ts +34 -0
  1230. package/dist/text/errors.d.ts.map +1 -0
  1231. package/dist/text/errors.js +26 -0
  1232. package/dist/text/errors.js.map +1 -0
  1233. package/dist/text/font.d.ts +29 -0
  1234. package/dist/text/font.d.ts.map +1 -0
  1235. package/dist/text/font.js +67 -0
  1236. package/dist/text/font.js.map +1 -0
  1237. package/dist/text/glyf.d.ts +62 -0
  1238. package/dist/text/glyf.d.ts.map +1 -0
  1239. package/dist/text/glyf.js +276 -0
  1240. package/dist/text/glyf.js.map +1 -0
  1241. package/dist/text/index.d.ts +13 -0
  1242. package/dist/text/index.d.ts.map +1 -0
  1243. package/dist/text/index.js +9 -0
  1244. package/dist/text/index.js.map +1 -0
  1245. package/dist/text/kerning.d.ts +36 -0
  1246. package/dist/text/kerning.d.ts.map +1 -0
  1247. package/dist/text/kerning.js +382 -0
  1248. package/dist/text/kerning.js.map +1 -0
  1249. package/dist/text/layout.d.ts +35 -0
  1250. package/dist/text/layout.d.ts.map +1 -0
  1251. package/dist/text/layout.js +287 -0
  1252. package/dist/text/layout.js.map +1 -0
  1253. package/dist/text/outline.d.ts +22 -0
  1254. package/dist/text/outline.d.ts.map +1 -0
  1255. package/dist/text/outline.js +79 -0
  1256. package/dist/text/outline.js.map +1 -0
  1257. package/dist/text/reader.d.ts +43 -0
  1258. package/dist/text/reader.d.ts.map +1 -0
  1259. package/dist/text/reader.js +83 -0
  1260. package/dist/text/reader.js.map +1 -0
  1261. package/dist/text/registry.d.ts +21 -0
  1262. package/dist/text/registry.d.ts.map +1 -0
  1263. package/dist/text/registry.js +32 -0
  1264. package/dist/text/registry.js.map +1 -0
  1265. package/dist/text/truetype.d.ts +44 -0
  1266. package/dist/text/truetype.d.ts.map +1 -0
  1267. package/dist/text/truetype.js +127 -0
  1268. package/dist/text/truetype.js.map +1 -0
  1269. package/dist/text/types.d.ts +106 -0
  1270. package/dist/text/types.d.ts.map +1 -0
  1271. package/dist/text/types.js +11 -0
  1272. package/dist/text/types.js.map +1 -0
  1273. package/dist/verify/camera.d.ts +59 -0
  1274. package/dist/verify/camera.d.ts.map +1 -0
  1275. package/dist/verify/camera.js +76 -0
  1276. package/dist/verify/camera.js.map +1 -0
  1277. package/dist/verify/capture.d.ts +40 -0
  1278. package/dist/verify/capture.d.ts.map +1 -0
  1279. package/dist/verify/capture.js +118 -0
  1280. package/dist/verify/capture.js.map +1 -0
  1281. package/dist/verify/coverage.d.ts +61 -0
  1282. package/dist/verify/coverage.d.ts.map +1 -0
  1283. package/dist/verify/coverage.js +90 -0
  1284. package/dist/verify/coverage.js.map +1 -0
  1285. package/dist/verify/degrade.d.ts +143 -0
  1286. package/dist/verify/degrade.d.ts.map +1 -0
  1287. package/dist/verify/degrade.js +503 -0
  1288. package/dist/verify/degrade.js.map +1 -0
  1289. package/dist/verify/fixes.d.ts +28 -0
  1290. package/dist/verify/fixes.d.ts.map +1 -0
  1291. package/dist/verify/fixes.js +277 -0
  1292. package/dist/verify/fixes.js.map +1 -0
  1293. package/dist/verify/homography.d.ts +32 -0
  1294. package/dist/verify/homography.d.ts.map +1 -0
  1295. package/dist/verify/homography.js +79 -0
  1296. package/dist/verify/homography.js.map +1 -0
  1297. package/dist/verify/index.d.ts +17 -0
  1298. package/dist/verify/index.d.ts.map +1 -0
  1299. package/dist/verify/index.js +11 -0
  1300. package/dist/verify/index.js.map +1 -0
  1301. package/dist/verify/inks.d.ts +39 -0
  1302. package/dist/verify/inks.d.ts.map +1 -0
  1303. package/dist/verify/inks.js +101 -0
  1304. package/dist/verify/inks.js.map +1 -0
  1305. package/dist/verify/job.d.ts +89 -0
  1306. package/dist/verify/job.d.ts.map +1 -0
  1307. package/dist/verify/job.js +314 -0
  1308. package/dist/verify/job.js.map +1 -0
  1309. package/dist/verify/keys.d.ts +92 -0
  1310. package/dist/verify/keys.d.ts.map +1 -0
  1311. package/dist/verify/keys.js +95 -0
  1312. package/dist/verify/keys.js.map +1 -0
  1313. package/dist/verify/ladders.d.ts +68 -0
  1314. package/dist/verify/ladders.d.ts.map +1 -0
  1315. package/dist/verify/ladders.js +154 -0
  1316. package/dist/verify/ladders.js.map +1 -0
  1317. package/dist/verify/prepare.d.ts +78 -0
  1318. package/dist/verify/prepare.d.ts.map +1 -0
  1319. package/dist/verify/prepare.js +307 -0
  1320. package/dist/verify/prepare.js.map +1 -0
  1321. package/dist/verify/preset.d.ts +111 -0
  1322. package/dist/verify/preset.d.ts.map +1 -0
  1323. package/dist/verify/preset.js +200 -0
  1324. package/dist/verify/preset.js.map +1 -0
  1325. package/dist/verify/read.d.ts +23 -0
  1326. package/dist/verify/read.d.ts.map +1 -0
  1327. package/dist/verify/read.js +55 -0
  1328. package/dist/verify/read.js.map +1 -0
  1329. package/dist/verify/region.d.ts +37 -0
  1330. package/dist/verify/region.d.ts.map +1 -0
  1331. package/dist/verify/region.js +80 -0
  1332. package/dist/verify/region.js.map +1 -0
  1333. package/dist/verify/static.d.ts +56 -0
  1334. package/dist/verify/static.d.ts.map +1 -0
  1335. package/dist/verify/static.js +277 -0
  1336. package/dist/verify/static.js.map +1 -0
  1337. package/dist/verify/types.d.ts +173 -0
  1338. package/dist/verify/types.d.ts.map +1 -0
  1339. package/dist/verify/types.js +36 -0
  1340. package/dist/verify/types.js.map +1 -0
  1341. package/package.json +191 -5
@@ -0,0 +1,1196 @@
1
+ /**
2
+ * The design panels: presets, module shape, corner squares, colour, logo,
3
+ * frame and printed size.
4
+ *
5
+ * Each turns a choice into a `design/patch` (or a preset, or a shuffle) and
6
+ * reads back what the studio made of it, so a change the content type does
7
+ * not allow simply does not stick, and the refusal says why. A slider opens a
8
+ * history group on its first movement and closes it when it is let go, so a
9
+ * whole drag is one step of undo.
10
+ */
11
+ import { defaultDesign } from '../design/document.js';
12
+ import { importLogo } from '../dom/logo.js';
13
+ import { BUILT_IN_FONTS } from '../text/registry.js';
14
+ import { contrastRatio, logoPatches, luminance, removeLogoPatches } from '../studio/index.js';
15
+ import { button, choiceGroup, field, grouped, issueList, paramControl, slider, } from './controls.js';
16
+ import { h, replace, setText, uid } from './dom.js';
17
+ import { showSvg, staticUrl } from './images.js';
18
+ import { degrees, fine, num, percent, t } from './text.js';
19
+ /** JSON with its keys sorted, so two designs built in a different order still compare equal. */
20
+ function stable(value) {
21
+ if (Array.isArray(value))
22
+ return `[${value.map(stable).join(',')}]`;
23
+ if (typeof value === 'object' && value !== null) {
24
+ const entries = Object.entries(value)
25
+ .filter(([, inner]) => inner !== undefined)
26
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
27
+ return `{${entries.map(([key, inner]) => `${JSON.stringify(key)}:${stable(inner)}`).join(',')}}`;
28
+ }
29
+ return JSON.stringify(value) ?? 'null';
30
+ }
31
+ function patch(ctx, path, value, coalesce) {
32
+ const action = coalesce === undefined
33
+ ? { type: 'design/patch', patch: { path, value } }
34
+ : { type: 'design/patch', patch: { path, value }, coalesce };
35
+ ctx.dispatch(action);
36
+ }
37
+ /** A grouped dispatcher for a slider whose value lands at `path`. */
38
+ function sliderPatch(ctx, key, value) {
39
+ return grouped(key, (k) => ctx.dispatch({ type: 'history/begin', key: k }), (input) => {
40
+ const next = value(input);
41
+ patch(ctx, next.path, next.value);
42
+ }, (k) => ctx.dispatch({ type: 'history/commit', key: k }));
43
+ }
44
+ function thumbnailUrl(kind, entry) {
45
+ return staticUrl(`${kind}:${entry.id}`, () => entry.thumbnail());
46
+ }
47
+ /** Param controls for an entry, rebuilt when the entry changes and updated in place otherwise. */
48
+ function paramPanel(ctx, host, keyPrefix, read, write) {
49
+ let drawnId = null;
50
+ let controls = new Map();
51
+ return {
52
+ draw(entry, ref) {
53
+ const id = entry?.id ?? null;
54
+ if (id !== drawnId) {
55
+ drawnId = id;
56
+ controls = new Map();
57
+ const children = [];
58
+ for (const schema of entry?.params ?? []) {
59
+ let open = false;
60
+ const send = (value, phase) => {
61
+ const current = read();
62
+ if (current === undefined)
63
+ return;
64
+ const next = write({
65
+ id: current.id,
66
+ params: { ...current.params, [schema.key]: value },
67
+ });
68
+ const key = `${keyPrefix}:${schema.key}`;
69
+ if (phase === 'move' && !open) {
70
+ ctx.dispatch({ type: 'history/begin', key });
71
+ open = true;
72
+ }
73
+ patch(ctx, next.path, next.value);
74
+ if (phase === 'end' && open) {
75
+ ctx.dispatch({ type: 'history/commit', key });
76
+ open = false;
77
+ }
78
+ };
79
+ const control = paramControl(schema, send);
80
+ controls.set(schema.key, control);
81
+ children.push(control.root);
82
+ }
83
+ replace(host, children);
84
+ host.hidden = children.length === 0;
85
+ }
86
+ for (const schema of entry?.params ?? []) {
87
+ controls.get(schema.key)?.set(ref?.params?.[schema.key] ?? schema.default);
88
+ }
89
+ },
90
+ };
91
+ }
92
+ // Presets.
93
+ export function createGallery(ctx, card) {
94
+ const grid = h('div', { className: 'gallery__grid' });
95
+ const name = uid('preset');
96
+ const shuffle = button(t('app.style.shuffle'), {
97
+ icon: 'shuffle',
98
+ onClick: () => {
99
+ const seed = crypto.getRandomValues(new Uint32Array(1))[0] ?? 1;
100
+ ctx.dispatch({ type: 'design/shuffle', seed });
101
+ },
102
+ });
103
+ const root = h('div', { className: 'gallery' }, [
104
+ h('fieldset', { className: 'gallery__set' }, [
105
+ h('legend', { className: 'sr-only', text: t('app.style.presets') }),
106
+ grid,
107
+ ]),
108
+ h('div', { className: 'gallery__actions' }, [
109
+ shuffle,
110
+ h('p', { className: 'field__hint', text: t('app.style.shuffle-hint') }),
111
+ ]),
112
+ ]);
113
+ // A preset can appear twice, under the brand kit and in its own category,
114
+ // so each id keeps every picture and every input that shows it.
115
+ const images = [];
116
+ const inputs = [];
117
+ let shownKit = '';
118
+ let shownCatalogue = null;
119
+ let thumbs = null;
120
+ let drawnThumbs = null;
121
+ let timer = null;
122
+ /** The presets of the brand kit last applied, offered first. */
123
+ function kitPresets(snapshot) {
124
+ const library = snapshot.library;
125
+ if (library.status !== 'on' && library.status !== 'file')
126
+ return [];
127
+ return library.kit?.kit.presets ?? [];
128
+ }
129
+ function build(snapshot) {
130
+ images.length = 0;
131
+ inputs.length = 0;
132
+ const children = [];
133
+ const all = snapshot.catalogue.presets.flatMap((group) => group.presets);
134
+ const kit = kitPresets(snapshot)
135
+ .map((id) => all.find((preset) => preset.id === id))
136
+ .filter((preset) => preset !== undefined);
137
+ const groups = [
138
+ ...(kit.length === 0 ? [] : [{ labelKey: 'app.style.from-kit', presets: kit }]),
139
+ ...snapshot.catalogue.presets,
140
+ ];
141
+ for (const group of groups) {
142
+ children.push(h('p', { className: 'gallery__category', text: t(group.labelKey) }));
143
+ for (const preset of group.presets) {
144
+ const img = h('img', {
145
+ className: 'choice__img',
146
+ attrs: { alt: '', width: 72, height: 72, decoding: 'async' },
147
+ });
148
+ const input = h('input', {
149
+ className: 'choice__input',
150
+ attrs: { type: 'radio', name, value: preset.id },
151
+ on: {
152
+ change: () => {
153
+ if (input.checked)
154
+ ctx.dispatch({ type: 'design/preset', id: preset.id });
155
+ },
156
+ },
157
+ });
158
+ images.push([preset.id, img]);
159
+ inputs.push([preset.id, input]);
160
+ children.push(h('label', { className: 'choice choice--preset' }, [
161
+ input,
162
+ h('span', { className: 'choice__box' }, [
163
+ img,
164
+ h('span', { className: 'choice__label', text: t(preset.labelKey) }),
165
+ ]),
166
+ ]));
167
+ }
168
+ }
169
+ replace(grid, children);
170
+ }
171
+ /** Draw the pictures a few at a time, so typing stays smooth while the gallery catches up. */
172
+ function drawThumbs() {
173
+ timer = null;
174
+ if (!card.open || thumbs === null || thumbs === drawnThumbs)
175
+ return;
176
+ const set = thumbs;
177
+ drawnThumbs = set;
178
+ const queue = [...images];
179
+ const step = () => {
180
+ if (set !== thumbs)
181
+ return;
182
+ const started = performance.now();
183
+ while (queue.length > 0 && performance.now() - started < 12) {
184
+ const [id, img] = queue.shift();
185
+ const svg = set.get(id);
186
+ if (svg !== null)
187
+ showSvg(img, svg);
188
+ }
189
+ if (queue.length > 0)
190
+ setTimeout(step, 0);
191
+ };
192
+ step();
193
+ }
194
+ card.addEventListener('toggle', () => {
195
+ if (card.open && timer === null)
196
+ timer = setTimeout(drawThumbs, 0);
197
+ });
198
+ return {
199
+ root,
200
+ update(snapshot) {
201
+ const kit = kitPresets(snapshot).join(',');
202
+ if (shownCatalogue !== snapshot.catalogue || kit !== shownKit) {
203
+ shownCatalogue = snapshot.catalogue;
204
+ shownKit = kit;
205
+ build(snapshot);
206
+ drawnThumbs = null;
207
+ }
208
+ if (snapshot.presetThumbnails !== thumbs) {
209
+ thumbs = snapshot.presetThumbnails;
210
+ if (timer !== null)
211
+ clearTimeout(timer);
212
+ // The first drawing at once; after that, only once typing pauses.
213
+ timer = setTimeout(drawThumbs, drawnThumbs === null ? 0 : 350);
214
+ }
215
+ const current = matchPreset(ctx, snapshot.document.design);
216
+ for (const [id, input] of inputs) {
217
+ const checked = id === current;
218
+ if (input.checked !== checked)
219
+ input.checked = checked;
220
+ input.disabled = snapshot.design.locked;
221
+ }
222
+ shuffle.disabled = snapshot.design.locked;
223
+ },
224
+ meta(snapshot) {
225
+ const design = snapshot.document.design;
226
+ const id = matchPreset(ctx, design);
227
+ const preset = id === null ? undefined : ctx.registries.design.presets.get(id);
228
+ if (preset !== undefined)
229
+ return t(preset.labelKey);
230
+ return isStandard(design) ? t('app.style.standard') : t('app.style.custom');
231
+ },
232
+ };
233
+ }
234
+ const STANDARD = stable(lookOf(defaultDesign()));
235
+ /** The parts of a design that make its look, without its size or name. */
236
+ function lookOf(design) {
237
+ return {
238
+ modules: design.modules,
239
+ regions: design.regions,
240
+ background: design.background,
241
+ frame: design.frame,
242
+ logo: design.logo,
243
+ };
244
+ }
245
+ /** True for the design the studio starts with: square modules, black on white. */
246
+ function isStandard(design) {
247
+ return stable(lookOf(design)) === STANDARD;
248
+ }
249
+ const matchCache = new WeakMap();
250
+ /** The preset this design is, if it is one: its look, leaving out what a preset never sets. */
251
+ export function matchPreset(ctx, design) {
252
+ const cached = matchCache.get(design);
253
+ if (cached !== undefined)
254
+ return cached;
255
+ const look = (d, withLogo) => stable({
256
+ modules: d.modules,
257
+ regions: d.regions,
258
+ background: d.background,
259
+ frame: d.frame,
260
+ quietZone: d.quietZone,
261
+ logo: withLogo ? d.logo : null,
262
+ });
263
+ let found = null;
264
+ for (const preset of ctx.registries.design.presets.list()) {
265
+ const withLogo = preset.design.logo !== null;
266
+ if (look(design, withLogo) === look(preset.design, withLogo)) {
267
+ found = preset.id;
268
+ break;
269
+ }
270
+ }
271
+ matchCache.set(design, found);
272
+ return found;
273
+ }
274
+ // Module shape.
275
+ export function createModules(ctx) {
276
+ const params = h('div', { className: 'params' });
277
+ const shapes = choiceGroup(t('app.modules.shape'), [], (value) => patch(ctx, ['modules', 'shape'], { id: value }), 'swatches');
278
+ const panel = paramPanel(ctx, params, 'modules', () => ctx.snapshot().document.design.modules.shape, (ref) => ({ path: ['modules', 'shape'], value: ref }));
279
+ const root = h('div', { className: 'panel' }, [shapes.root, params]);
280
+ let shownCatalogue = null;
281
+ return {
282
+ root,
283
+ update(snapshot) {
284
+ const catalogue = snapshot.catalogue;
285
+ if (shownCatalogue !== catalogue) {
286
+ shownCatalogue = catalogue;
287
+ shapes.setChoices(catalogue.moduleShapes.map((entry) => ({
288
+ value: entry.id,
289
+ label: t(entry.labelKey),
290
+ picture: thumbnailUrl('module', entry),
291
+ })));
292
+ }
293
+ const ref = snapshot.document.design.modules.shape;
294
+ shapes.set(ref.id);
295
+ panel.draw(catalogue.moduleShapes.find((entry) => entry.id === ref.id), ref);
296
+ for (const input of shapes.inputs())
297
+ input.disabled = snapshot.design.locked;
298
+ },
299
+ meta(snapshot) {
300
+ const entry = snapshot.catalogue.moduleShapes.find((found) => found.id === snapshot.document.design.modules.shape.id);
301
+ return entry === undefined ? '' : t(entry.labelKey);
302
+ },
303
+ };
304
+ }
305
+ // Corner squares.
306
+ const ROLE_KINDS = {
307
+ finder: 'concentric-7',
308
+ 'sub-finder': 'concentric-5',
309
+ 'corner-finder': 'corner-l',
310
+ };
311
+ const ROLES = ['finder', 'sub-finder', 'corner-finder'];
312
+ /** The regions for a ring and centre: every role both can draw, keeping the colours already set. */
313
+ function regionsFor(outer, inner, snapshot) {
314
+ const current = snapshot.document.design.regions;
315
+ const ring = snapshot.catalogue.rings.find((entry) => entry.id === outer.id);
316
+ const centre = snapshot.catalogue.centres.find((entry) => entry.id === inner.id);
317
+ const out = {};
318
+ for (const role of ROLES) {
319
+ const kind = ROLE_KINDS[role];
320
+ const before = current[role] ?? current.finder;
321
+ const style = {
322
+ outer,
323
+ inner,
324
+ ...(before?.outerPaint === undefined ? {} : { outerPaint: before.outerPaint }),
325
+ ...(before?.innerPaint === undefined ? {} : { innerPaint: before.innerPaint }),
326
+ };
327
+ const drawable = ring !== undefined &&
328
+ centre !== undefined &&
329
+ ring.kinds.includes(kind) &&
330
+ centre.kinds.includes(kind);
331
+ // A role neither can draw keeps what it had (rMQR's corner pattern), or
332
+ // falls back to the symbology's own when it had nothing.
333
+ if (drawable)
334
+ out[role] = style;
335
+ else if (current[role] !== undefined && role !== 'finder')
336
+ out[role] = current[role];
337
+ }
338
+ return out;
339
+ }
340
+ /** The family of finder pairs the design's module shape is drawn with. */
341
+ function moduleFamily(snapshot) {
342
+ const id = snapshot.document.design.modules.shape.id;
343
+ return snapshot.catalogue.moduleShapes.find((entry) => entry.id === id)?.family ?? 'square';
344
+ }
345
+ /** The centres a ring is offered with among the design's modules. */
346
+ function ringPairs(ring, snapshot) {
347
+ return ring === undefined ? [] : ring.pairsByFamily[moduleFamily(snapshot)];
348
+ }
349
+ function currentEyes(snapshot) {
350
+ const finder = snapshot.document.design.regions.finder;
351
+ return {
352
+ outer: finder?.outer ?? { id: 'square' },
353
+ inner: finder?.inner ?? { id: 'square-centre' },
354
+ };
355
+ }
356
+ export function createEyes(ctx) {
357
+ const ringParams = h('div', { className: 'params' });
358
+ const centreParams = h('div', { className: 'params' });
359
+ const setEyes = (outer, inner) => {
360
+ patch(ctx, ['regions'], regionsFor(outer, inner, ctx.snapshot()));
361
+ };
362
+ const rings = choiceGroup(t('app.eyes.ring'), [], (value) => {
363
+ const snapshot = ctx.snapshot();
364
+ const ring = snapshot.catalogue.rings.find((entry) => entry.id === value);
365
+ const { inner } = currentEyes(snapshot);
366
+ // Keep the centre if it pairs with the new ring; otherwise the first that does.
367
+ const pairs = ringPairs(ring, snapshot);
368
+ const centre = pairs.includes(inner.id) ? inner : { id: pairs[0] ?? 'square-centre' };
369
+ setEyes({ id: value }, centre);
370
+ }, 'swatches');
371
+ const centres = choiceGroup(t('app.eyes.centre'), [], (value) => setEyes(currentEyes(ctx.snapshot()).outer, { id: value }), 'swatches');
372
+ const ringPanel = paramPanel(ctx, ringParams, 'ring', () => currentEyes(ctx.snapshot()).outer, (ref) => ({
373
+ path: ['regions'],
374
+ value: regionsFor(ref, currentEyes(ctx.snapshot()).inner, ctx.snapshot()),
375
+ }));
376
+ const centrePanel = paramPanel(ctx, centreParams, 'centre', () => currentEyes(ctx.snapshot()).inner, (ref) => ({
377
+ path: ['regions'],
378
+ value: regionsFor(currentEyes(ctx.snapshot()).outer, ref, ctx.snapshot()),
379
+ }));
380
+ const root = h('div', { className: 'panel' }, [
381
+ rings.root,
382
+ ringParams,
383
+ centres.root,
384
+ h('p', { className: 'field__hint', text: t('app.eyes.pairs-note') }),
385
+ centreParams,
386
+ ]);
387
+ let shownCatalogue = null;
388
+ let shownFamily = null;
389
+ let shownPairs = '';
390
+ return {
391
+ root,
392
+ update(snapshot) {
393
+ const catalogue = snapshot.catalogue;
394
+ const { outer, inner } = currentEyes(snapshot);
395
+ const family = moduleFamily(snapshot);
396
+ if (shownCatalogue !== catalogue || shownFamily !== family) {
397
+ shownCatalogue = catalogue;
398
+ shownFamily = family;
399
+ // A ring no centre makes a readable finder with among these modules
400
+ // (the dotted ring, for a QR code) is left out rather than offered
401
+ // with nothing to pair it.
402
+ rings.setChoices(catalogue.rings
403
+ .filter((entry) => entry.pairsByFamily[family].length > 0 || entry.id === outer.id)
404
+ .map((entry) => ({
405
+ value: entry.id,
406
+ label: t(entry.labelKey),
407
+ picture: thumbnailUrl('ring', entry),
408
+ })));
409
+ shownPairs = '';
410
+ }
411
+ const ring = catalogue.rings.find((entry) => entry.id === outer.id);
412
+ const pairs = ring === undefined ? catalogue.centres.map((entry) => entry.id) : ringPairs(ring, snapshot);
413
+ const key = `${outer.id}:${pairs.join(',')}`;
414
+ if (key !== shownPairs) {
415
+ shownPairs = key;
416
+ const choices = catalogue.centres
417
+ .filter((entry) => pairs.includes(entry.id) || entry.id === inner.id)
418
+ .map((entry) => ({
419
+ value: entry.id,
420
+ label: t(entry.labelKey),
421
+ picture: thumbnailUrl('centre', entry),
422
+ }));
423
+ centres.setChoices(choices);
424
+ }
425
+ rings.set(outer.id);
426
+ centres.set(inner.id);
427
+ ringPanel.draw(ring, outer);
428
+ centrePanel.draw(catalogue.centres.find((entry) => entry.id === inner.id), inner);
429
+ for (const input of [...rings.inputs(), ...centres.inputs()])
430
+ input.disabled = snapshot.design.locked;
431
+ },
432
+ meta(snapshot) {
433
+ const { outer } = currentEyes(snapshot);
434
+ const ring = snapshot.catalogue.rings.find((entry) => entry.id === outer.id);
435
+ return ring === undefined ? '' : t(ring.labelKey);
436
+ },
437
+ };
438
+ }
439
+ // Colour.
440
+ function inkHex(ink) {
441
+ const value = typeof ink === 'string' ? ink : ink.srgb;
442
+ if (/^#[0-9a-f]{6}$/i.test(value))
443
+ return value.toLowerCase();
444
+ const short = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(value);
445
+ if (short !== null)
446
+ return `#${short[1]}${short[1]}${short[2]}${short[2]}${short[3]}${short[3]}`.toLowerCase();
447
+ if (/^#[0-9a-f]{8}$/i.test(value))
448
+ return value.slice(0, 7).toLowerCase();
449
+ return '#000000';
450
+ }
451
+ function inksOf(ctx, paint) {
452
+ if (paint === null || paint === undefined)
453
+ return [];
454
+ switch (paint.kind) {
455
+ case 'solid':
456
+ return [paint.ink];
457
+ case 'entry': {
458
+ const fill = ctx.registries.design.fills.get(paint.ref.id);
459
+ const out = [];
460
+ for (const schema of fill?.params ?? []) {
461
+ if (schema.kind !== 'colour')
462
+ continue;
463
+ const value = paint.ref.params?.[schema.key] ?? schema.default;
464
+ if (typeof value === 'string')
465
+ out.push(value);
466
+ }
467
+ return out;
468
+ }
469
+ default:
470
+ return paint.stops.map((stop) => stop.ink);
471
+ }
472
+ }
473
+ function paintEditor(ctx, options) {
474
+ const body = h('div', { className: 'paint__body' });
475
+ const send = (paint, coalesce) => {
476
+ const patches = options.write(paint);
477
+ const action = coalesce === undefined
478
+ ? { type: 'design/patch', patch: patches }
479
+ : { type: 'design/patch', patch: patches, coalesce };
480
+ ctx.dispatch(action);
481
+ };
482
+ const kinds = [];
483
+ if (options.extra.includes('same'))
484
+ kinds.push({ value: 'same', label: t('app.colour.same') });
485
+ if (options.extra.includes('none'))
486
+ kinds.push({ value: 'none', label: t('app.colour.transparent') });
487
+ kinds.push({ value: 'solid', label: t('app.colour.kind-solid') }, { value: 'linear', label: t('app.colour.kind-linear') }, { value: 'radial', label: t('app.colour.kind-radial') });
488
+ if (options.extra.includes('entry'))
489
+ kinds.push({ value: 'entry', label: t('app.colour.kind-pattern') });
490
+ const kindOf = (paint) => paint === undefined
491
+ ? 'same'
492
+ : paint === null
493
+ ? 'none'
494
+ : paint.kind === 'conic'
495
+ ? 'radial'
496
+ : paint.kind;
497
+ const firstInk = (paint) => {
498
+ const inks = inksOf(ctx, paint);
499
+ return inks[0] ?? '#000000';
500
+ };
501
+ const kindGroup = choiceGroup(options.label, kinds, (value) => {
502
+ const current = options.read(ctx.snapshot());
503
+ const ink = inkHex(firstInk(current ?? options.read(ctx.snapshot())));
504
+ const second = '#1d4ed8';
505
+ const stops = current !== null && current !== undefined && 'stops' in current && current.stops.length >= 2
506
+ ? [...current.stops]
507
+ : [
508
+ { offset: 0, ink },
509
+ { offset: 1, ink: ink === second ? '#000000' : second },
510
+ ];
511
+ switch (value) {
512
+ case 'same':
513
+ send(undefined);
514
+ return;
515
+ case 'none':
516
+ send(null);
517
+ return;
518
+ case 'solid':
519
+ send({ kind: 'solid', ink });
520
+ return;
521
+ case 'linear':
522
+ send({ kind: 'linear', angle: 45, stops, space: 'symbol' });
523
+ return;
524
+ case 'radial':
525
+ send({ kind: 'radial', cx: 0.5, cy: 0.5, radius: 0.75, stops, space: 'symbol' });
526
+ return;
527
+ case 'entry': {
528
+ const fill = ctx.snapshot().catalogue.fills[0];
529
+ if (fill !== undefined)
530
+ send({ kind: 'entry', ref: { id: fill.id } });
531
+ return;
532
+ }
533
+ }
534
+ });
535
+ let drawnShape = '';
536
+ let updaters = [];
537
+ /** A colour well and its hex value, which say the same thing two ways. */
538
+ const inkRow = (labelText, read, write, key) => {
539
+ const well = h('input', {
540
+ className: 'colour-well',
541
+ attrs: { type: 'color', 'aria-label': labelText },
542
+ });
543
+ const hexId = uid('hex');
544
+ const hex = h('input', {
545
+ className: 'input input--hex',
546
+ id: hexId,
547
+ attrs: {
548
+ type: 'text',
549
+ spellcheck: 'false',
550
+ autocomplete: 'off',
551
+ maxlength: 7,
552
+ 'aria-label': `${labelText}, ${t('app.colour.hex')}`,
553
+ },
554
+ });
555
+ const problem = h('p', {
556
+ className: 'field__hint field__hint--error',
557
+ text: t('app.colour.hex-invalid'),
558
+ });
559
+ problem.hidden = true;
560
+ let open = false;
561
+ const apply = (value, phase) => {
562
+ const paint = options.read(ctx.snapshot());
563
+ if (paint === null || paint === undefined)
564
+ return;
565
+ if (phase === 'move' && !open) {
566
+ ctx.dispatch({ type: 'history/begin', key });
567
+ open = true;
568
+ }
569
+ send(write(paint, value));
570
+ if (phase === 'end' && open) {
571
+ ctx.dispatch({ type: 'history/commit', key });
572
+ open = false;
573
+ }
574
+ };
575
+ well.addEventListener('input', () => apply(well.value, 'move'));
576
+ well.addEventListener('change', () => apply(well.value, 'end'));
577
+ hex.addEventListener('change', () => {
578
+ const text = hex.value.trim();
579
+ const value = text.startsWith('#') ? text : `#${text}`;
580
+ const valid = /^#[0-9a-f]{6}$/i.test(value);
581
+ problem.hidden = valid;
582
+ hex.setAttribute('aria-invalid', String(!valid));
583
+ if (valid)
584
+ apply(value.toLowerCase(), 'end');
585
+ });
586
+ updaters.push((paint) => {
587
+ if (paint === null || paint === undefined)
588
+ return;
589
+ const ink = read(paint);
590
+ if (ink === undefined)
591
+ return;
592
+ const value = inkHex(ink);
593
+ if (well.value !== value)
594
+ well.value = value;
595
+ if (document.activeElement !== hex && hex.value !== value)
596
+ hex.value = value;
597
+ });
598
+ return h('div', { className: 'ink' }, [
599
+ h('span', { className: 'ink__label', text: labelText }),
600
+ well,
601
+ hex,
602
+ problem,
603
+ ]);
604
+ };
605
+ function draw(paint) {
606
+ updaters = [];
607
+ const children = [];
608
+ if (paint === null || paint === undefined) {
609
+ replace(body, children);
610
+ return;
611
+ }
612
+ if (paint.kind === 'solid') {
613
+ children.push(inkRow(t('app.colour.ink'), (p) => (p.kind === 'solid' ? p.ink : undefined), (_, ink) => ({ kind: 'solid', ink }), `${options.key}:solid`));
614
+ }
615
+ else if (paint.kind === 'entry') {
616
+ const fills = choiceGroup(t('app.colour.pattern'), ctx.snapshot().catalogue.fills.map((entry) => ({
617
+ value: entry.id,
618
+ label: t(entry.labelKey),
619
+ picture: thumbnailUrl('fill', entry),
620
+ })), (value) => send({ kind: 'entry', ref: { id: value } }), 'swatches');
621
+ fills.set(paint.ref.id);
622
+ const params = h('div', { className: 'params' });
623
+ const panel = paramPanel(ctx, params, `${options.key}:fill`, () => {
624
+ const current = options.read(ctx.snapshot());
625
+ return current?.kind === 'entry' ? current.ref : undefined;
626
+ }, (ref) => {
627
+ const [first] = options.write({ kind: 'entry', ref });
628
+ return first ?? { path: [], value: undefined };
629
+ });
630
+ updaters.push((current) => {
631
+ if (current?.kind !== 'entry')
632
+ return;
633
+ fills.set(current.ref.id);
634
+ panel.draw(ctx.snapshot().catalogue.fills.find((entry) => entry.id === current.ref.id), current.ref);
635
+ });
636
+ children.push(fills.root, params);
637
+ }
638
+ else {
639
+ const gradient = paint;
640
+ if (gradient.kind === 'linear') {
641
+ const angle = slider(t('app.colour.angle'), { min: 0, max: 360, step: 1 }, (value) => degrees(value), sliderPatch(ctx, `${options.key}:angle`, (value) => {
642
+ const current = options.read(ctx.snapshot());
643
+ const next = current?.kind === 'linear' ? { ...current, angle: value } : current;
644
+ const [first] = options.write(next);
645
+ return first ?? { path: [], value: undefined };
646
+ }));
647
+ updaters.push((current) => {
648
+ if (current?.kind === 'linear')
649
+ angle.set(current.angle);
650
+ });
651
+ children.push(angle.root);
652
+ }
653
+ else {
654
+ const radius = slider(t('app.colour.radius'), { min: 0.1, max: 2, step: 0.01 }, fine, sliderPatch(ctx, `${options.key}:radius`, (value) => {
655
+ const current = options.read(ctx.snapshot());
656
+ const next = current?.kind === 'radial' ? { ...current, radius: value } : current;
657
+ const [first] = options.write(next);
658
+ return first ?? { path: [], value: undefined };
659
+ }));
660
+ updaters.push((current) => {
661
+ if (current?.kind === 'radial')
662
+ radius.set(current.radius);
663
+ });
664
+ children.push(radius.root);
665
+ }
666
+ const stops = h('ol', { className: 'stops' });
667
+ gradient.stops.forEach((_, index) => {
668
+ const position = slider(t('app.colour.stop-position', { n: index + 1 }), { min: 0, max: 100, step: 1 }, (value) => percent(value / 100), sliderPatch(ctx, `${options.key}:stop-${index}`, (value) => {
669
+ const current = options.read(ctx.snapshot());
670
+ if (current === null || current === undefined || !('stops' in current))
671
+ return { path: [], value: undefined };
672
+ const next = {
673
+ ...current,
674
+ stops: current.stops.map((stop, at) => at === index ? { ...stop, offset: value / 100 } : stop),
675
+ };
676
+ const [first] = options.write(next);
677
+ return first ?? { path: [], value: undefined };
678
+ }));
679
+ updaters.push((current) => {
680
+ if (current !== null && current !== undefined && 'stops' in current) {
681
+ const stop = current.stops[index];
682
+ if (stop !== undefined)
683
+ position.set(Math.round(stop.offset * 100));
684
+ }
685
+ });
686
+ const ink = inkRow(t('app.colour.stop', { n: index + 1 }), (p) => ('stops' in p ? p.stops[index]?.ink : undefined), (p, value) => 'stops' in p
687
+ ? {
688
+ ...p,
689
+ stops: p.stops.map((stop, at) => (at === index ? { ...stop, ink: value } : stop)),
690
+ }
691
+ : p, `${options.key}:stop-ink-${index}`);
692
+ const remove = gradient.stops.length > 2
693
+ ? button(t('app.colour.remove-stop'), {
694
+ small: true,
695
+ icon: 'minus',
696
+ attrs: { 'aria-label': t('app.colour.remove-stop-numbered', { n: index + 1 }) },
697
+ onClick: () => {
698
+ const current = options.read(ctx.snapshot());
699
+ if (current !== null && current !== undefined && 'stops' in current) {
700
+ send({ ...current, stops: current.stops.filter((_, at) => at !== index) });
701
+ }
702
+ },
703
+ })
704
+ : null;
705
+ stops.appendChild(h('li', { className: 'stops__row' }, [ink, position.root, remove]));
706
+ });
707
+ const add = gradient.stops.length < 16
708
+ ? button(t('app.colour.add-stop'), {
709
+ small: true,
710
+ icon: 'plus',
711
+ onClick: () => {
712
+ const current = options.read(ctx.snapshot());
713
+ if (current === null || current === undefined || !('stops' in current))
714
+ return;
715
+ const last = current.stops[current.stops.length - 1];
716
+ const added = {
717
+ offset: 1,
718
+ ink: last === undefined ? '#000000' : last.ink,
719
+ };
720
+ const respaced = [...current.stops, added].map((stop, at, all) => ({
721
+ ...stop,
722
+ offset: all.length === 1 ? 0 : at / (all.length - 1),
723
+ }));
724
+ send({ ...current, stops: respaced });
725
+ },
726
+ })
727
+ : null;
728
+ const space = choiceGroup(t('app.colour.space'), [
729
+ { value: 'symbol', label: t('app.colour.space-symbol') },
730
+ { value: 'module', label: t('app.colour.space-module') },
731
+ ], (value) => {
732
+ const current = options.read(ctx.snapshot());
733
+ if (current !== null && current !== undefined && 'space' in current) {
734
+ send({ ...current, space: value });
735
+ }
736
+ });
737
+ updaters.push((current) => {
738
+ if (current !== null && current !== undefined && 'space' in current)
739
+ space.set(current.space);
740
+ });
741
+ children.push(stops, ...(add === null ? [] : [add]), space.root);
742
+ }
743
+ replace(body, children);
744
+ }
745
+ const root = h('div', { className: 'paint' }, [kindGroup.root, body]);
746
+ return {
747
+ root,
748
+ update(snapshot) {
749
+ const paint = options.read(snapshot);
750
+ const kind = kindOf(paint);
751
+ kindGroup.set(kind);
752
+ const shape = paint === null || paint === undefined
753
+ ? kind
754
+ : paint.kind === 'entry'
755
+ ? 'entry'
756
+ : paint.kind === 'solid'
757
+ ? 'solid'
758
+ : `${paint.kind}:${paint.stops.length}`;
759
+ if (shape !== drawnShape) {
760
+ drawnShape = shape;
761
+ draw(paint);
762
+ }
763
+ for (const update of updaters)
764
+ update(paint);
765
+ for (const input of kindGroup.inputs())
766
+ input.disabled = snapshot.design.locked;
767
+ },
768
+ };
769
+ }
770
+ export function createColour(ctx) {
771
+ const modules = paintEditor(ctx, {
772
+ label: t('app.colour.modules'),
773
+ read: (snapshot) => snapshot.document.design.modules.paint,
774
+ write: (paint) => [
775
+ { path: ['modules', 'paint'], value: paint ?? { kind: 'solid', ink: '#000000' } },
776
+ ],
777
+ extra: ['entry'],
778
+ key: 'colour:modules',
779
+ });
780
+ const eyes = paintEditor(ctx, {
781
+ label: t('app.colour.eyes'),
782
+ read: (snapshot) => snapshot.document.design.regions.finder?.outerPaint,
783
+ write: (paint) => {
784
+ // The corners take one paint for ring and centre together, in every
785
+ // role that has a style; a role with none gets the plain pair.
786
+ const snapshot = ctx.snapshot();
787
+ const regions = snapshot.document.design.regions;
788
+ const base = regions.finder ?? { outer: { id: 'square' }, inner: { id: 'square-centre' } };
789
+ const out = {};
790
+ for (const role of ROLES) {
791
+ const style = role === 'finder' ? base : regions[role];
792
+ if (style === undefined)
793
+ continue;
794
+ const { outerPaint: _o, innerPaint: _i, ...rest } = style;
795
+ out[role] =
796
+ paint === undefined || paint === null
797
+ ? rest
798
+ : { ...rest, outerPaint: paint, innerPaint: paint };
799
+ }
800
+ return [{ path: ['regions'], value: out }];
801
+ },
802
+ extra: ['same'],
803
+ key: 'colour:eyes',
804
+ });
805
+ const ground = paintEditor(ctx, {
806
+ label: t('app.colour.background'),
807
+ read: (snapshot) => snapshot.document.design.background,
808
+ write: (paint) => [{ path: ['background'], value: paint === undefined ? null : paint }],
809
+ extra: ['none'],
810
+ key: 'colour:background',
811
+ });
812
+ const ratio = h('p', { className: 'contrast__ratio' });
813
+ const verdict = h('p', { className: 'contrast__verdict' });
814
+ const notes = h('ul', { className: 'field__issues' });
815
+ const swatch = h('span', { className: 'contrast__swatch', attrs: { 'aria-hidden': 'true' } }, [
816
+ h('span', { className: 'contrast__fg' }),
817
+ ]);
818
+ const contrast = h('div', { className: 'contrast', attrs: { role: 'group', 'aria-label': t('app.colour.contrast') } }, [
819
+ h('p', { className: 'legend', text: t('app.colour.contrast') }),
820
+ h('div', { className: 'contrast__row' }, [swatch, h('div', {}, [ratio, verdict])]),
821
+ notes,
822
+ ]);
823
+ const root = h('div', { className: 'panel' }, [
824
+ h('section', { className: 'panel__part' }, [modules.root]),
825
+ h('section', { className: 'panel__part' }, [eyes.root]),
826
+ h('section', { className: 'panel__part' }, [ground.root]),
827
+ contrast,
828
+ ]);
829
+ return {
830
+ root,
831
+ update(snapshot) {
832
+ modules.update(snapshot);
833
+ eyes.update(snapshot);
834
+ ground.update(snapshot);
835
+ const design = snapshot.design.effective;
836
+ const fg = [
837
+ ...inksOf(ctx, design.modules.paint),
838
+ ...inksOf(ctx, design.regions.finder?.outerPaint),
839
+ ];
840
+ const bg = design.background === null ? ['#ffffff'] : inksOf(ctx, design.background);
841
+ let worst = 21;
842
+ let inverted = false;
843
+ for (const a of fg) {
844
+ for (const b of bg) {
845
+ try {
846
+ const value = contrastRatio(a, b);
847
+ if (value < worst) {
848
+ worst = value;
849
+ inverted = luminance(a) > luminance(b);
850
+ }
851
+ }
852
+ catch {
853
+ // An ink the page cannot read is the validator's to report.
854
+ }
855
+ }
856
+ }
857
+ swatch.style.setProperty('--fg', inkHex(fg[0] ?? '#000000'));
858
+ swatch.style.setProperty('--bg', inkHex(bg[0] ?? '#ffffff'));
859
+ setText(ratio, t('app.colour.contrast-value', { ratio: num(worst) }));
860
+ const level = worst >= 7 ? 'good' : worst >= 4.5 ? 'fair' : 'poor';
861
+ contrast.dataset.level = inverted ? 'poor' : level;
862
+ setText(verdict, inverted
863
+ ? t('app.colour.contrast-inverted')
864
+ : level === 'good'
865
+ ? t('app.colour.contrast-good')
866
+ : level === 'fair'
867
+ ? t('app.colour.contrast-fair')
868
+ : t('app.colour.contrast-poor'));
869
+ const extra = [];
870
+ if (design.background === null)
871
+ extra.push(t('app.colour.contrast-transparent'));
872
+ if (snapshot.form.designLocked)
873
+ extra.push(t('studio.issue.design-locked'));
874
+ replace(notes, extra.map((text) => h('li', { className: 'note note--info', text })));
875
+ notes.hidden = extra.length === 0;
876
+ },
877
+ meta(snapshot) {
878
+ const paint = snapshot.document.design.modules.paint;
879
+ const background = snapshot.document.design.background;
880
+ const fg = paint.kind === 'solid' ? inkHex(paint.ink) : t('app.colour.kind-short-gradient');
881
+ const bg = background === null
882
+ ? t('app.colour.transparent')
883
+ : background.kind === 'solid'
884
+ ? inkHex(background.ink)
885
+ : t('app.colour.kind-short-gradient');
886
+ return t('app.colour.meta', { fg, bg });
887
+ },
888
+ };
889
+ }
890
+ // Logo.
891
+ export function createLogo(ctx) {
892
+ // Hidden, and opened by the button beside it, so there is one control to
893
+ // reach rather than a native file button styled to look like ours.
894
+ const fileInput = h('input', {
895
+ attrs: { type: 'file', accept: 'image/png,image/jpeg,image/webp,image/gif,image/svg+xml' },
896
+ });
897
+ fileInput.hidden = true;
898
+ const problems = h('ul', { className: 'field__issues' });
899
+ problems.hidden = true;
900
+ const sources = choiceGroup(t('app.logo.choose'), [], (value) => {
901
+ const design = ctx.snapshot().document.design;
902
+ if (value === 'none') {
903
+ ctx.dispatch({ type: 'design/patch', patch: removeLogoPatches(design) });
904
+ return;
905
+ }
906
+ if (value === 'asset')
907
+ return;
908
+ const current = design.logo;
909
+ ctx.dispatch({
910
+ type: 'design/patch',
911
+ patch: [
912
+ {
913
+ path: ['logo'],
914
+ value: {
915
+ source: { kind: 'icon', id: value },
916
+ size: current?.size ?? 0.2,
917
+ clear: current?.clear ?? 'box',
918
+ padding: current?.padding ?? 1,
919
+ plate: current?.plate ?? null,
920
+ },
921
+ },
922
+ ...(current?.source.kind === 'asset' ? [{ path: ['assets'], value: undefined }] : []),
923
+ ],
924
+ });
925
+ }, 'swatches');
926
+ const upload = button(t('app.logo.upload'), {
927
+ icon: 'image',
928
+ onClick: () => fileInput.click(),
929
+ });
930
+ const take = async (file) => {
931
+ const result = await importLogo(file);
932
+ if (!result.ok) {
933
+ issueList(problems, [result.error]);
934
+ ctx.announce(t(result.error.code, result.error.params ?? {}));
935
+ return;
936
+ }
937
+ issueList(problems, result.value.issues);
938
+ ctx.dispatch({
939
+ type: 'design/patch',
940
+ patch: logoPatches(ctx.snapshot().document.design, result.value.asset),
941
+ });
942
+ ctx.announce(t('app.logo.added'));
943
+ };
944
+ fileInput.addEventListener('change', () => {
945
+ const file = fileInput.files?.[0];
946
+ fileInput.value = '';
947
+ if (file !== undefined)
948
+ void take(file);
949
+ });
950
+ const size = slider(t('app.logo.size'), { min: 0.05, max: 0.4, step: 0.01 }, (value) => percent(value), sliderPatch(ctx, 'logo:size', (value) => ({ path: ['logo', 'size'], value })));
951
+ const padding = slider(t('app.logo.padding'), { min: 0, max: 4, step: 0.5 }, (value) => t('app.logo.padding-value', { value: num(value) }), sliderPatch(ctx, 'logo:padding', (value) => ({ path: ['logo', 'padding'], value })));
952
+ const clear = choiceGroup(t('app.logo.clear'), [
953
+ { value: 'none', label: t('app.logo.clear-none') },
954
+ { value: 'box', label: t('app.logo.clear-box') },
955
+ { value: 'shape', label: t('app.logo.clear-shape') },
956
+ ], (value) => patch(ctx, ['logo', 'clear'], value));
957
+ const plate = choiceGroup(t('app.logo.plate'), [
958
+ { value: 'none', label: t('app.logo.plate-none') },
959
+ { value: 'square', label: t('app.logo.plate-square') },
960
+ { value: 'rounded', label: t('app.logo.plate-rounded') },
961
+ { value: 'circle', label: t('app.logo.plate-circle') },
962
+ ], (value) => {
963
+ const background = ctx.snapshot().document.design.background;
964
+ const paint = background?.kind === 'solid' ? background : { kind: 'solid', ink: '#ffffff' };
965
+ patch(ctx, ['logo', 'plate'], value === 'none' ? null : { paint, shape: value });
966
+ });
967
+ const levelHint = h('div', { className: 'note note--warning logo__level' }, [
968
+ h('span', { text: t('app.logo.level-hint') }),
969
+ button(t('app.logo.use-h'), {
970
+ small: true,
971
+ onClick: () => patch(ctx, ['symbol', 'ecLevel'], 'H'),
972
+ }),
973
+ ]);
974
+ const settings = h('div', { className: 'logo__settings' }, [
975
+ size.root,
976
+ clear.root,
977
+ padding.root,
978
+ plate.root,
979
+ levelHint,
980
+ ]);
981
+ const root = h('div', { className: 'panel' }, [
982
+ sources.root,
983
+ h('div', { className: 'logo__upload' }, [
984
+ upload,
985
+ h('p', { className: 'field__hint', text: t('app.logo.upload-hint') }),
986
+ fileInput,
987
+ ]),
988
+ problems,
989
+ settings,
990
+ ]);
991
+ let shownKey = '';
992
+ return {
993
+ root,
994
+ update(snapshot) {
995
+ const design = snapshot.document.design;
996
+ const logo = design.logo;
997
+ const hasAsset = logo?.source.kind === 'asset';
998
+ const key = `${snapshot.catalogue.icons.length}:${hasAsset}`;
999
+ if (key !== shownKey) {
1000
+ shownKey = key;
1001
+ const choices = [{ value: 'none', label: t('app.logo.none') }];
1002
+ if (hasAsset)
1003
+ choices.push({ value: 'asset', label: t('app.logo.picture') });
1004
+ for (const entry of snapshot.catalogue.icons) {
1005
+ choices.push({
1006
+ value: entry.id,
1007
+ label: t(entry.labelKey),
1008
+ picture: thumbnailUrl('icon', entry),
1009
+ });
1010
+ }
1011
+ sources.setChoices(choices);
1012
+ }
1013
+ sources.set(logo === null ? 'none' : logo.source.kind === 'asset' ? 'asset' : logo.source.id);
1014
+ settings.hidden = logo === null;
1015
+ if (logo !== null) {
1016
+ size.set(logo.size);
1017
+ padding.set(logo.padding);
1018
+ clear.set(logo.clear);
1019
+ plate.set(logo.plate?.shape ?? 'none');
1020
+ }
1021
+ const level = snapshot.symbol.status === 'empty' ? design.symbol.ecLevel : snapshot.symbol.view.ecLevel;
1022
+ levelHint.hidden = logo === null || level === 'H';
1023
+ const locked = snapshot.design.locked;
1024
+ for (const input of [...sources.inputs(), ...clear.inputs(), ...plate.inputs()])
1025
+ input.disabled = locked;
1026
+ upload.disabled = locked;
1027
+ },
1028
+ meta(snapshot) {
1029
+ const logo = snapshot.document.design.logo;
1030
+ if (logo === null)
1031
+ return t('app.logo.none');
1032
+ if (logo.source.kind === 'asset')
1033
+ return t('app.logo.picture');
1034
+ const source = logo.source;
1035
+ const entry = snapshot.catalogue.icons.find((found) => found.id === source.id);
1036
+ return entry === undefined ? '' : t(entry.labelKey);
1037
+ },
1038
+ };
1039
+ }
1040
+ // Frame.
1041
+ export function createFrame(ctx) {
1042
+ const params = h('div', { className: 'params' });
1043
+ const frames = choiceGroup(t('app.frame.choose'), [], (value) => {
1044
+ if (value === 'none') {
1045
+ patch(ctx, ['frame'], null);
1046
+ return;
1047
+ }
1048
+ const entry = ctx.snapshot().catalogue.frames.find((found) => found.id === value);
1049
+ const current = ctx.snapshot().document.design.frame;
1050
+ const content = current?.text?.content ?? t('app.frame.default-caption');
1051
+ patch(ctx, ['frame'], {
1052
+ ref: { id: value },
1053
+ ...(entry?.text === null || entry === undefined
1054
+ ? {}
1055
+ : {
1056
+ text: {
1057
+ content: content.slice(0, entry.text.maxChars),
1058
+ fontId: current?.text?.fontId ?? BUILT_IN_FONTS[1],
1059
+ },
1060
+ }),
1061
+ });
1062
+ }, 'swatches');
1063
+ const captionInput = h('input', {
1064
+ className: 'input',
1065
+ attrs: { type: 'text', autocomplete: 'off' },
1066
+ on: {
1067
+ input: () => {
1068
+ const frame = ctx.snapshot().document.design.frame;
1069
+ if (frame === null)
1070
+ return;
1071
+ patch(ctx, ['frame', 'text'], { content: captionInput.value, fontId: frame.text?.fontId ?? BUILT_IN_FONTS[1] }, 'caption');
1072
+ },
1073
+ },
1074
+ });
1075
+ const caption = field(t('app.frame.caption'), captionInput);
1076
+ const fonts = choiceGroup(t('app.frame.font'), [
1077
+ { value: BUILT_IN_FONTS[0], label: t('text.font.plex-sans-regular') },
1078
+ { value: BUILT_IN_FONTS[1], label: t('text.font.plex-sans-bold') },
1079
+ ], (value) => {
1080
+ const frame = ctx.snapshot().document.design.frame;
1081
+ if (frame === null)
1082
+ return;
1083
+ patch(ctx, ['frame', 'text'], { content: frame.text?.content ?? '', fontId: value });
1084
+ });
1085
+ const text = h('div', { className: 'frame__text' }, [caption.root, fonts.root]);
1086
+ const panel = paramPanel(ctx, params, 'frame', () => ctx.snapshot().document.design.frame?.ref, (ref) => ({ path: ['frame', 'ref'], value: ref }));
1087
+ const root = h('div', { className: 'panel' }, [frames.root, text, params]);
1088
+ let shownCatalogue = null;
1089
+ return {
1090
+ root,
1091
+ update(snapshot) {
1092
+ const catalogue = snapshot.catalogue;
1093
+ if (shownCatalogue !== catalogue) {
1094
+ shownCatalogue = catalogue;
1095
+ frames.setChoices(catalogue.frames.map((entry) => ({
1096
+ value: entry.id,
1097
+ label: t(entry.labelKey),
1098
+ picture: thumbnailUrl('frame', entry),
1099
+ })));
1100
+ }
1101
+ const frame = snapshot.document.design.frame;
1102
+ const id = frame?.ref.id ?? 'none';
1103
+ frames.set(id);
1104
+ const entry = catalogue.frames.find((found) => found.id === id);
1105
+ const limits = entry?.text ?? null;
1106
+ text.hidden = frame === null || limits === null;
1107
+ if (limits !== null && frame !== null) {
1108
+ captionInput.maxLength = limits.maxChars;
1109
+ const value = frame.text?.content ?? '';
1110
+ if (captionInput.value !== value)
1111
+ captionInput.value = value;
1112
+ setText(caption.hint, t('app.frame.caption-hint', { chars: limits.maxChars }));
1113
+ caption.hint.hidden = false;
1114
+ fonts.set(frame.text?.fontId ?? BUILT_IN_FONTS[1]);
1115
+ }
1116
+ panel.draw(id === 'none' ? undefined : entry, frame?.ref);
1117
+ const locked = snapshot.design.locked;
1118
+ for (const input of [...frames.inputs(), ...fonts.inputs()])
1119
+ input.disabled = locked;
1120
+ captionInput.disabled = locked;
1121
+ },
1122
+ meta(snapshot) {
1123
+ const id = snapshot.document.design.frame?.ref.id ?? 'none';
1124
+ const entry = snapshot.catalogue.frames.find((found) => found.id === id);
1125
+ return entry === undefined ? '' : t(entry.labelKey);
1126
+ },
1127
+ };
1128
+ }
1129
+ // Printed size.
1130
+ function numberInput(onCommit, attrs) {
1131
+ const input = h('input', {
1132
+ className: 'input input--number',
1133
+ attrs: { type: 'number', inputmode: 'decimal', ...attrs },
1134
+ });
1135
+ input.addEventListener('change', () => {
1136
+ const text = input.value.trim();
1137
+ onCommit(text === '' ? null : Number(text));
1138
+ });
1139
+ return input;
1140
+ }
1141
+ export function createPrint(ctx) {
1142
+ const sizeInput = numberInput((value) => patch(ctx, ['output', 'sizeMm'], value === null ? undefined : value), { min: 5, max: 2000, step: 0.5 });
1143
+ const size = field(t('app.print.size'), sizeInput, t('app.print.size-hint'));
1144
+ const basis = choiceGroup(t('app.print.basis'), [
1145
+ { value: 'artwork', label: t('app.print.basis-artwork') },
1146
+ { value: 'symbol', label: t('app.print.basis-symbol') },
1147
+ ], (value) => patch(ctx, ['output', 'sizeBasis'], value));
1148
+ const dpiInput = numberInput((value) => patch(ctx, ['output', 'dpi'], value === null ? undefined : value), { min: 72, max: 2400, step: 1 });
1149
+ const dpi = field(t('app.print.dpi'), dpiInput, t('app.print.dpi-hint'));
1150
+ const distanceInput = numberInput((value) => ctx.dispatch({
1151
+ type: 'conditions',
1152
+ conditions: { distanceMm: value === null ? null : value * 10 },
1153
+ }), { min: 1, max: 10000, step: 1 });
1154
+ const distance = field(t('app.print.distance'), distanceInput, t('app.print.distance-hint'));
1155
+ const problems = h('ul', { className: 'field__issues' });
1156
+ const root = h('div', { className: 'panel' }, [
1157
+ size.root,
1158
+ basis.root,
1159
+ dpi.root,
1160
+ distance.root,
1161
+ problems,
1162
+ ]);
1163
+ return {
1164
+ root,
1165
+ update(snapshot) {
1166
+ const output = snapshot.document.design.output;
1167
+ const set = (input, value) => {
1168
+ const text = value === null || value === undefined ? '' : String(value);
1169
+ if (document.activeElement !== input && input.value !== text)
1170
+ input.value = text;
1171
+ };
1172
+ set(sizeInput, output.sizeMm);
1173
+ set(dpiInput, output.dpi);
1174
+ const mm = snapshot.document.conditions.distanceMm;
1175
+ set(distanceInput, mm === null ? null : mm / 10);
1176
+ basis.set(output.sizeBasis ?? 'artwork');
1177
+ const refusal = snapshot.refusal;
1178
+ issueList(problems, refusal !== null &&
1179
+ refusal.issues.some((found) => found.path[0] === 'output' || found.path[0] === 'conditions')
1180
+ ? refusal.issues
1181
+ : []);
1182
+ const locked = snapshot.design.locked;
1183
+ sizeInput.disabled = locked;
1184
+ dpiInput.disabled = locked;
1185
+ for (const input of basis.inputs())
1186
+ input.disabled = locked;
1187
+ },
1188
+ meta(snapshot) {
1189
+ const sizeMm = snapshot.document.design.output.sizeMm;
1190
+ return sizeMm === undefined
1191
+ ? t('app.print.not-set')
1192
+ : t('app.print.meta', { size: num(sizeMm) });
1193
+ },
1194
+ };
1195
+ }
1196
+ //# sourceMappingURL=design-panels.js.map