react-id-card-generator 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (825) hide show
  1. package/README.md +214 -0
  2. package/dist/cjs/_virtual/_commonjsHelpers.js +11 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/cjs/_virtual/index.js +6 -0
  5. package/dist/cjs/_virtual/index.js.map +1 -0
  6. package/dist/cjs/_virtual/make-built-in.js +6 -0
  7. package/dist/cjs/_virtual/make-built-in.js.map +1 -0
  8. package/dist/cjs/_virtual/new-promise-capability.js +6 -0
  9. package/dist/cjs/_virtual/new-promise-capability.js.map +1 -0
  10. package/dist/cjs/_virtual/object-define-properties.js +6 -0
  11. package/dist/cjs/_virtual/object-define-properties.js.map +1 -0
  12. package/dist/cjs/_virtual/object-define-property.js +6 -0
  13. package/dist/cjs/_virtual/object-define-property.js.map +1 -0
  14. package/dist/cjs/_virtual/object-get-own-property-descriptor.js +6 -0
  15. package/dist/cjs/_virtual/object-get-own-property-descriptor.js.map +1 -0
  16. package/dist/cjs/_virtual/object-get-own-property-names.js +6 -0
  17. package/dist/cjs/_virtual/object-get-own-property-names.js.map +1 -0
  18. package/dist/cjs/_virtual/object-get-own-property-symbols.js +6 -0
  19. package/dist/cjs/_virtual/object-get-own-property-symbols.js.map +1 -0
  20. package/dist/cjs/_virtual/object-property-is-enumerable.js +6 -0
  21. package/dist/cjs/_virtual/object-property-is-enumerable.js.map +1 -0
  22. package/dist/cjs/_virtual/performance-now.js +6 -0
  23. package/dist/cjs/_virtual/performance-now.js.map +1 -0
  24. package/dist/cjs/_virtual/qrious.js +6 -0
  25. package/dist/cjs/_virtual/qrious.js.map +1 -0
  26. package/dist/cjs/_virtual/shared-store.js +6 -0
  27. package/dist/cjs/_virtual/shared-store.js.map +1 -0
  28. package/dist/cjs/components/IDCardDesigner.js +283 -0
  29. package/dist/cjs/components/IDCardDesigner.js.map +1 -0
  30. package/dist/cjs/components/IDCardGenerator.js +139 -0
  31. package/dist/cjs/components/IDCardGenerator.js.map +1 -0
  32. package/dist/cjs/components/IDCardPreview.js +168 -0
  33. package/dist/cjs/components/IDCardPreview.js.map +1 -0
  34. package/dist/cjs/core/exportUtils.js +155 -0
  35. package/dist/cjs/core/exportUtils.js.map +1 -0
  36. package/dist/cjs/core/qrUtils.js +64 -0
  37. package/dist/cjs/core/qrUtils.js.map +1 -0
  38. package/dist/cjs/hooks/useFieldMapping.js +148 -0
  39. package/dist/cjs/hooks/useFieldMapping.js.map +1 -0
  40. package/dist/cjs/hooks/useIDCardExport.js +81 -0
  41. package/dist/cjs/hooks/useIDCardExport.js.map +1 -0
  42. package/dist/cjs/hooks/useIDCardTemplate.js +155 -0
  43. package/dist/cjs/hooks/useIDCardTemplate.js.map +1 -0
  44. package/dist/cjs/index.js +48 -0
  45. package/dist/cjs/index.js.map +1 -0
  46. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +30 -0
  47. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js.map +1 -0
  48. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js +15 -0
  49. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  50. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +17 -0
  51. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  52. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +12 -0
  53. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  54. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js +14 -0
  55. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  56. package/dist/cjs/node_modules/canvg/lib/index.es.js +6645 -0
  57. package/dist/cjs/node_modules/canvg/lib/index.es.js.map +1 -0
  58. package/dist/cjs/node_modules/core-js/internals/a-callable.js +18 -0
  59. package/dist/cjs/node_modules/core-js/internals/a-callable.js.map +1 -0
  60. package/dist/cjs/node_modules/core-js/internals/a-constructor.js +18 -0
  61. package/dist/cjs/node_modules/core-js/internals/a-constructor.js.map +1 -0
  62. package/dist/cjs/node_modules/core-js/internals/a-possible-prototype.js +16 -0
  63. package/dist/cjs/node_modules/core-js/internals/a-possible-prototype.js.map +1 -0
  64. package/dist/cjs/node_modules/core-js/internals/add-to-unscopables.js +30 -0
  65. package/dist/cjs/node_modules/core-js/internals/add-to-unscopables.js.map +1 -0
  66. package/dist/cjs/node_modules/core-js/internals/advance-string-index.js +14 -0
  67. package/dist/cjs/node_modules/core-js/internals/advance-string-index.js.map +1 -0
  68. package/dist/cjs/node_modules/core-js/internals/an-instance.js +15 -0
  69. package/dist/cjs/node_modules/core-js/internals/an-instance.js.map +1 -0
  70. package/dist/cjs/node_modules/core-js/internals/an-object.js +17 -0
  71. package/dist/cjs/node_modules/core-js/internals/an-object.js.map +1 -0
  72. package/dist/cjs/node_modules/core-js/internals/array-includes.js +39 -0
  73. package/dist/cjs/node_modules/core-js/internals/array-includes.js.map +1 -0
  74. package/dist/cjs/node_modules/core-js/internals/array-method-is-strict.js +16 -0
  75. package/dist/cjs/node_modules/core-js/internals/array-method-is-strict.js.map +1 -0
  76. package/dist/cjs/node_modules/core-js/internals/array-reduce.js +51 -0
  77. package/dist/cjs/node_modules/core-js/internals/array-reduce.js.map +1 -0
  78. package/dist/cjs/node_modules/core-js/internals/array-slice.js +10 -0
  79. package/dist/cjs/node_modules/core-js/internals/array-slice.js.map +1 -0
  80. package/dist/cjs/node_modules/core-js/internals/check-correctness-of-iteration.js +49 -0
  81. package/dist/cjs/node_modules/core-js/internals/check-correctness-of-iteration.js.map +1 -0
  82. package/dist/cjs/node_modules/core-js/internals/classof-raw.js +15 -0
  83. package/dist/cjs/node_modules/core-js/internals/classof-raw.js.map +1 -0
  84. package/dist/cjs/node_modules/core-js/internals/classof.js +39 -0
  85. package/dist/cjs/node_modules/core-js/internals/classof.js.map +1 -0
  86. package/dist/cjs/node_modules/core-js/internals/copy-constructor-properties.js +28 -0
  87. package/dist/cjs/node_modules/core-js/internals/copy-constructor-properties.js.map +1 -0
  88. package/dist/cjs/node_modules/core-js/internals/correct-is-regexp-logic.js +22 -0
  89. package/dist/cjs/node_modules/core-js/internals/correct-is-regexp-logic.js.map +1 -0
  90. package/dist/cjs/node_modules/core-js/internals/correct-prototype-getter.js +15 -0
  91. package/dist/cjs/node_modules/core-js/internals/correct-prototype-getter.js.map +1 -0
  92. package/dist/cjs/node_modules/core-js/internals/create-iter-result-object.js +10 -0
  93. package/dist/cjs/node_modules/core-js/internals/create-iter-result-object.js.map +1 -0
  94. package/dist/cjs/node_modules/core-js/internals/create-non-enumerable-property.js +20 -0
  95. package/dist/cjs/node_modules/core-js/internals/create-non-enumerable-property.js.map +1 -0
  96. package/dist/cjs/node_modules/core-js/internals/create-property-descriptor.js +13 -0
  97. package/dist/cjs/node_modules/core-js/internals/create-property-descriptor.js.map +1 -0
  98. package/dist/cjs/node_modules/core-js/internals/define-built-in-accessor.js +17 -0
  99. package/dist/cjs/node_modules/core-js/internals/define-built-in-accessor.js.map +1 -0
  100. package/dist/cjs/node_modules/core-js/internals/define-built-in.js +38 -0
  101. package/dist/cjs/node_modules/core-js/internals/define-built-in.js.map +1 -0
  102. package/dist/cjs/node_modules/core-js/internals/define-global-property.js +19 -0
  103. package/dist/cjs/node_modules/core-js/internals/define-global-property.js.map +1 -0
  104. package/dist/cjs/node_modules/core-js/internals/descriptors.js +14 -0
  105. package/dist/cjs/node_modules/core-js/internals/descriptors.js.map +1 -0
  106. package/dist/cjs/node_modules/core-js/internals/document-create-element.js +18 -0
  107. package/dist/cjs/node_modules/core-js/internals/document-create-element.js.map +1 -0
  108. package/dist/cjs/node_modules/core-js/internals/dom-iterables.js +40 -0
  109. package/dist/cjs/node_modules/core-js/internals/dom-iterables.js.map +1 -0
  110. package/dist/cjs/node_modules/core-js/internals/dom-token-list-prototype.js +14 -0
  111. package/dist/cjs/node_modules/core-js/internals/dom-token-list-prototype.js.map +1 -0
  112. package/dist/cjs/node_modules/core-js/internals/enum-bug-keys.js +15 -0
  113. package/dist/cjs/node_modules/core-js/internals/enum-bug-keys.js.map +1 -0
  114. package/dist/cjs/node_modules/core-js/internals/environment-is-ios-pebble.js +10 -0
  115. package/dist/cjs/node_modules/core-js/internals/environment-is-ios-pebble.js.map +1 -0
  116. package/dist/cjs/node_modules/core-js/internals/environment-is-ios.js +11 -0
  117. package/dist/cjs/node_modules/core-js/internals/environment-is-ios.js.map +1 -0
  118. package/dist/cjs/node_modules/core-js/internals/environment-is-node.js +10 -0
  119. package/dist/cjs/node_modules/core-js/internals/environment-is-node.js.map +1 -0
  120. package/dist/cjs/node_modules/core-js/internals/environment-is-webos-webkit.js +10 -0
  121. package/dist/cjs/node_modules/core-js/internals/environment-is-webos-webkit.js.map +1 -0
  122. package/dist/cjs/node_modules/core-js/internals/environment-user-agent.js +13 -0
  123. package/dist/cjs/node_modules/core-js/internals/environment-user-agent.js.map +1 -0
  124. package/dist/cjs/node_modules/core-js/internals/environment-v8-version.js +35 -0
  125. package/dist/cjs/node_modules/core-js/internals/environment-v8-version.js.map +1 -0
  126. package/dist/cjs/node_modules/core-js/internals/environment.js +29 -0
  127. package/dist/cjs/node_modules/core-js/internals/environment.js.map +1 -0
  128. package/dist/cjs/node_modules/core-js/internals/export.js +68 -0
  129. package/dist/cjs/node_modules/core-js/internals/export.js.map +1 -0
  130. package/dist/cjs/node_modules/core-js/internals/fails.js +12 -0
  131. package/dist/cjs/node_modules/core-js/internals/fails.js.map +1 -0
  132. package/dist/cjs/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js +90 -0
  133. package/dist/cjs/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js.map +1 -0
  134. package/dist/cjs/node_modules/core-js/internals/function-apply.js +17 -0
  135. package/dist/cjs/node_modules/core-js/internals/function-apply.js.map +1 -0
  136. package/dist/cjs/node_modules/core-js/internals/function-bind-context.js +22 -0
  137. package/dist/cjs/node_modules/core-js/internals/function-bind-context.js.map +1 -0
  138. package/dist/cjs/node_modules/core-js/internals/function-bind-native.js +15 -0
  139. package/dist/cjs/node_modules/core-js/internals/function-bind-native.js.map +1 -0
  140. package/dist/cjs/node_modules/core-js/internals/function-call.js +14 -0
  141. package/dist/cjs/node_modules/core-js/internals/function-call.js.map +1 -0
  142. package/dist/cjs/node_modules/core-js/internals/function-name.js +24 -0
  143. package/dist/cjs/node_modules/core-js/internals/function-name.js.map +1 -0
  144. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-accessor.js +17 -0
  145. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-accessor.js.map +1 -0
  146. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-clause.js +17 -0
  147. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-clause.js.map +1 -0
  148. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this.js +19 -0
  149. package/dist/cjs/node_modules/core-js/internals/function-uncurry-this.js.map +1 -0
  150. package/dist/cjs/node_modules/core-js/internals/get-built-in.js +18 -0
  151. package/dist/cjs/node_modules/core-js/internals/get-built-in.js.map +1 -0
  152. package/dist/cjs/node_modules/core-js/internals/get-iterator-method.js +24 -0
  153. package/dist/cjs/node_modules/core-js/internals/get-iterator-method.js.map +1 -0
  154. package/dist/cjs/node_modules/core-js/internals/get-iterator.js +24 -0
  155. package/dist/cjs/node_modules/core-js/internals/get-iterator.js.map +1 -0
  156. package/dist/cjs/node_modules/core-js/internals/get-method.js +17 -0
  157. package/dist/cjs/node_modules/core-js/internals/get-method.js.map +1 -0
  158. package/dist/cjs/node_modules/core-js/internals/get-substitution.js +53 -0
  159. package/dist/cjs/node_modules/core-js/internals/get-substitution.js.map +1 -0
  160. package/dist/cjs/node_modules/core-js/internals/global-this.js +22 -0
  161. package/dist/cjs/node_modules/core-js/internals/global-this.js.map +1 -0
  162. package/dist/cjs/node_modules/core-js/internals/has-own-property.js +19 -0
  163. package/dist/cjs/node_modules/core-js/internals/has-own-property.js.map +1 -0
  164. package/dist/cjs/node_modules/core-js/internals/hidden-keys.js +6 -0
  165. package/dist/cjs/node_modules/core-js/internals/hidden-keys.js.map +1 -0
  166. package/dist/cjs/node_modules/core-js/internals/host-report-errors.js +11 -0
  167. package/dist/cjs/node_modules/core-js/internals/host-report-errors.js.map +1 -0
  168. package/dist/cjs/node_modules/core-js/internals/html.js +10 -0
  169. package/dist/cjs/node_modules/core-js/internals/html.js.map +1 -0
  170. package/dist/cjs/node_modules/core-js/internals/ie8-dom-define.js +20 -0
  171. package/dist/cjs/node_modules/core-js/internals/ie8-dom-define.js.map +1 -0
  172. package/dist/cjs/node_modules/core-js/internals/indexed-object.js +24 -0
  173. package/dist/cjs/node_modules/core-js/internals/indexed-object.js.map +1 -0
  174. package/dist/cjs/node_modules/core-js/internals/inspect-source.js +23 -0
  175. package/dist/cjs/node_modules/core-js/internals/inspect-source.js.map +1 -0
  176. package/dist/cjs/node_modules/core-js/internals/internal-state.js +84 -0
  177. package/dist/cjs/node_modules/core-js/internals/internal-state.js.map +1 -0
  178. package/dist/cjs/node_modules/core-js/internals/is-array-iterator-method.js +18 -0
  179. package/dist/cjs/node_modules/core-js/internals/is-array-iterator-method.js.map +1 -0
  180. package/dist/cjs/node_modules/core-js/internals/is-array.js +15 -0
  181. package/dist/cjs/node_modules/core-js/internals/is-array.js.map +1 -0
  182. package/dist/cjs/node_modules/core-js/internals/is-callable.js +16 -0
  183. package/dist/cjs/node_modules/core-js/internals/is-callable.js.map +1 -0
  184. package/dist/cjs/node_modules/core-js/internals/is-constructor.js +63 -0
  185. package/dist/cjs/node_modules/core-js/internals/is-constructor.js.map +1 -0
  186. package/dist/cjs/node_modules/core-js/internals/is-forced.js +30 -0
  187. package/dist/cjs/node_modules/core-js/internals/is-forced.js.map +1 -0
  188. package/dist/cjs/node_modules/core-js/internals/is-null-or-undefined.js +10 -0
  189. package/dist/cjs/node_modules/core-js/internals/is-null-or-undefined.js.map +1 -0
  190. package/dist/cjs/node_modules/core-js/internals/is-object.js +12 -0
  191. package/dist/cjs/node_modules/core-js/internals/is-object.js.map +1 -0
  192. package/dist/cjs/node_modules/core-js/internals/is-possible-prototype.js +12 -0
  193. package/dist/cjs/node_modules/core-js/internals/is-possible-prototype.js.map +1 -0
  194. package/dist/cjs/node_modules/core-js/internals/is-regexp.js +21 -0
  195. package/dist/cjs/node_modules/core-js/internals/is-regexp.js.map +1 -0
  196. package/dist/cjs/node_modules/core-js/internals/is-symbol.js +23 -0
  197. package/dist/cjs/node_modules/core-js/internals/is-symbol.js.map +1 -0
  198. package/dist/cjs/node_modules/core-js/internals/iterate.js +84 -0
  199. package/dist/cjs/node_modules/core-js/internals/iterate.js.map +1 -0
  200. package/dist/cjs/node_modules/core-js/internals/iterator-close.js +32 -0
  201. package/dist/cjs/node_modules/core-js/internals/iterator-close.js.map +1 -0
  202. package/dist/cjs/node_modules/core-js/internals/iterator-create-constructor.js +26 -0
  203. package/dist/cjs/node_modules/core-js/internals/iterator-create-constructor.js.map +1 -0
  204. package/dist/cjs/node_modules/core-js/internals/iterator-define.js +118 -0
  205. package/dist/cjs/node_modules/core-js/internals/iterator-define.js.map +1 -0
  206. package/dist/cjs/node_modules/core-js/internals/iterators-core.js +58 -0
  207. package/dist/cjs/node_modules/core-js/internals/iterators-core.js.map +1 -0
  208. package/dist/cjs/node_modules/core-js/internals/iterators.js +6 -0
  209. package/dist/cjs/node_modules/core-js/internals/iterators.js.map +1 -0
  210. package/dist/cjs/node_modules/core-js/internals/length-of-array-like.js +14 -0
  211. package/dist/cjs/node_modules/core-js/internals/length-of-array-like.js.map +1 -0
  212. package/dist/cjs/node_modules/core-js/internals/make-built-in.js +71 -0
  213. package/dist/cjs/node_modules/core-js/internals/make-built-in.js.map +1 -0
  214. package/dist/cjs/node_modules/core-js/internals/math-trunc.js +15 -0
  215. package/dist/cjs/node_modules/core-js/internals/math-trunc.js.map +1 -0
  216. package/dist/cjs/node_modules/core-js/internals/microtask.js +93 -0
  217. package/dist/cjs/node_modules/core-js/internals/microtask.js.map +1 -0
  218. package/dist/cjs/node_modules/core-js/internals/new-promise-capability.js +28 -0
  219. package/dist/cjs/node_modules/core-js/internals/new-promise-capability.js.map +1 -0
  220. package/dist/cjs/node_modules/core-js/internals/not-a-regexp.js +16 -0
  221. package/dist/cjs/node_modules/core-js/internals/not-a-regexp.js.map +1 -0
  222. package/dist/cjs/node_modules/core-js/internals/object-create.js +98 -0
  223. package/dist/cjs/node_modules/core-js/internals/object-create.js.map +1 -0
  224. package/dist/cjs/node_modules/core-js/internals/object-define-properties.js +34 -0
  225. package/dist/cjs/node_modules/core-js/internals/object-define-properties.js.map +1 -0
  226. package/dist/cjs/node_modules/core-js/internals/object-define-property.js +55 -0
  227. package/dist/cjs/node_modules/core-js/internals/object-define-property.js.map +1 -0
  228. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +38 -0
  229. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-descriptor.js.map +1 -0
  230. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-names.js +20 -0
  231. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-names.js.map +1 -0
  232. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-symbols.js +9 -0
  233. package/dist/cjs/node_modules/core-js/internals/object-get-own-property-symbols.js.map +1 -0
  234. package/dist/cjs/node_modules/core-js/internals/object-get-prototype-of.js +32 -0
  235. package/dist/cjs/node_modules/core-js/internals/object-get-prototype-of.js.map +1 -0
  236. package/dist/cjs/node_modules/core-js/internals/object-is-prototype-of.js +10 -0
  237. package/dist/cjs/node_modules/core-js/internals/object-is-prototype-of.js.map +1 -0
  238. package/dist/cjs/node_modules/core-js/internals/object-keys-internal.js +31 -0
  239. package/dist/cjs/node_modules/core-js/internals/object-keys-internal.js.map +1 -0
  240. package/dist/cjs/node_modules/core-js/internals/object-keys.js +17 -0
  241. package/dist/cjs/node_modules/core-js/internals/object-keys.js.map +1 -0
  242. package/dist/cjs/node_modules/core-js/internals/object-property-is-enumerable.js +20 -0
  243. package/dist/cjs/node_modules/core-js/internals/object-property-is-enumerable.js.map +1 -0
  244. package/dist/cjs/node_modules/core-js/internals/object-set-prototype-of.js +38 -0
  245. package/dist/cjs/node_modules/core-js/internals/object-set-prototype-of.js.map +1 -0
  246. package/dist/cjs/node_modules/core-js/internals/ordinary-to-primitive.js +24 -0
  247. package/dist/cjs/node_modules/core-js/internals/ordinary-to-primitive.js.map +1 -0
  248. package/dist/cjs/node_modules/core-js/internals/own-keys.js +27 -0
  249. package/dist/cjs/node_modules/core-js/internals/own-keys.js.map +1 -0
  250. package/dist/cjs/node_modules/core-js/internals/path.js +10 -0
  251. package/dist/cjs/node_modules/core-js/internals/path.js.map +1 -0
  252. package/dist/cjs/node_modules/core-js/internals/perform.js +12 -0
  253. package/dist/cjs/node_modules/core-js/internals/perform.js.map +1 -0
  254. package/dist/cjs/node_modules/core-js/internals/promise-constructor-detection.js +57 -0
  255. package/dist/cjs/node_modules/core-js/internals/promise-constructor-detection.js.map +1 -0
  256. package/dist/cjs/node_modules/core-js/internals/promise-native-constructor.js +10 -0
  257. package/dist/cjs/node_modules/core-js/internals/promise-native-constructor.js.map +1 -0
  258. package/dist/cjs/node_modules/core-js/internals/promise-resolve.js +22 -0
  259. package/dist/cjs/node_modules/core-js/internals/promise-resolve.js.map +1 -0
  260. package/dist/cjs/node_modules/core-js/internals/promise-statics-incorrect-iteration.js +16 -0
  261. package/dist/cjs/node_modules/core-js/internals/promise-statics-incorrect-iteration.js.map +1 -0
  262. package/dist/cjs/node_modules/core-js/internals/queue.js +29 -0
  263. package/dist/cjs/node_modules/core-js/internals/queue.js.map +1 -0
  264. package/dist/cjs/node_modules/core-js/internals/regexp-exec-abstract.js +31 -0
  265. package/dist/cjs/node_modules/core-js/internals/regexp-exec-abstract.js.map +1 -0
  266. package/dist/cjs/node_modules/core-js/internals/regexp-exec.js +132 -0
  267. package/dist/cjs/node_modules/core-js/internals/regexp-exec.js.map +1 -0
  268. package/dist/cjs/node_modules/core-js/internals/regexp-flags-detection.js +54 -0
  269. package/dist/cjs/node_modules/core-js/internals/regexp-flags-detection.js.map +1 -0
  270. package/dist/cjs/node_modules/core-js/internals/regexp-flags.js +24 -0
  271. package/dist/cjs/node_modules/core-js/internals/regexp-flags.js.map +1 -0
  272. package/dist/cjs/node_modules/core-js/internals/regexp-get-flags.js +26 -0
  273. package/dist/cjs/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
  274. package/dist/cjs/node_modules/core-js/internals/regexp-sticky-helpers.js +37 -0
  275. package/dist/cjs/node_modules/core-js/internals/regexp-sticky-helpers.js.map +1 -0
  276. package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-dot-all.js +18 -0
  277. package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-dot-all.js.map +1 -0
  278. package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-ncg.js +19 -0
  279. package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-ncg.js.map +1 -0
  280. package/dist/cjs/node_modules/core-js/internals/require-object-coercible.js +17 -0
  281. package/dist/cjs/node_modules/core-js/internals/require-object-coercible.js.map +1 -0
  282. package/dist/cjs/node_modules/core-js/internals/safe-get-built-in.js +20 -0
  283. package/dist/cjs/node_modules/core-js/internals/safe-get-built-in.js.map +1 -0
  284. package/dist/cjs/node_modules/core-js/internals/set-species.js +27 -0
  285. package/dist/cjs/node_modules/core-js/internals/set-species.js.map +1 -0
  286. package/dist/cjs/node_modules/core-js/internals/set-to-string-tag.js +22 -0
  287. package/dist/cjs/node_modules/core-js/internals/set-to-string-tag.js.map +1 -0
  288. package/dist/cjs/node_modules/core-js/internals/shared-key.js +16 -0
  289. package/dist/cjs/node_modules/core-js/internals/shared-key.js.map +1 -0
  290. package/dist/cjs/node_modules/core-js/internals/shared-store.js +24 -0
  291. package/dist/cjs/node_modules/core-js/internals/shared-store.js.map +1 -0
  292. package/dist/cjs/node_modules/core-js/internals/shared.js +12 -0
  293. package/dist/cjs/node_modules/core-js/internals/shared.js.map +1 -0
  294. package/dist/cjs/node_modules/core-js/internals/species-constructor.js +24 -0
  295. package/dist/cjs/node_modules/core-js/internals/species-constructor.js.map +1 -0
  296. package/dist/cjs/node_modules/core-js/internals/string-multibyte.js +43 -0
  297. package/dist/cjs/node_modules/core-js/internals/string-multibyte.js.map +1 -0
  298. package/dist/cjs/node_modules/core-js/internals/string-trim-forced.js +24 -0
  299. package/dist/cjs/node_modules/core-js/internals/string-trim-forced.js.map +1 -0
  300. package/dist/cjs/node_modules/core-js/internals/string-trim.js +34 -0
  301. package/dist/cjs/node_modules/core-js/internals/string-trim.js.map +1 -0
  302. package/dist/cjs/node_modules/core-js/internals/symbol-constructor-detection.js +27 -0
  303. package/dist/cjs/node_modules/core-js/internals/symbol-constructor-detection.js.map +1 -0
  304. package/dist/cjs/node_modules/core-js/internals/task.js +132 -0
  305. package/dist/cjs/node_modules/core-js/internals/task.js.map +1 -0
  306. package/dist/cjs/node_modules/core-js/internals/to-absolute-index.js +19 -0
  307. package/dist/cjs/node_modules/core-js/internals/to-absolute-index.js.map +1 -0
  308. package/dist/cjs/node_modules/core-js/internals/to-indexed-object.js +15 -0
  309. package/dist/cjs/node_modules/core-js/internals/to-indexed-object.js.map +1 -0
  310. package/dist/cjs/node_modules/core-js/internals/to-integer-or-infinity.js +16 -0
  311. package/dist/cjs/node_modules/core-js/internals/to-integer-or-infinity.js.map +1 -0
  312. package/dist/cjs/node_modules/core-js/internals/to-length.js +17 -0
  313. package/dist/cjs/node_modules/core-js/internals/to-length.js.map +1 -0
  314. package/dist/cjs/node_modules/core-js/internals/to-object.js +16 -0
  315. package/dist/cjs/node_modules/core-js/internals/to-object.js.map +1 -0
  316. package/dist/cjs/node_modules/core-js/internals/to-primitive.js +37 -0
  317. package/dist/cjs/node_modules/core-js/internals/to-primitive.js.map +1 -0
  318. package/dist/cjs/node_modules/core-js/internals/to-property-key.js +17 -0
  319. package/dist/cjs/node_modules/core-js/internals/to-property-key.js.map +1 -0
  320. package/dist/cjs/node_modules/core-js/internals/to-string-tag-support.js +15 -0
  321. package/dist/cjs/node_modules/core-js/internals/to-string-tag-support.js.map +1 -0
  322. package/dist/cjs/node_modules/core-js/internals/to-string.js +15 -0
  323. package/dist/cjs/node_modules/core-js/internals/to-string.js.map +1 -0
  324. package/dist/cjs/node_modules/core-js/internals/try-to-string.js +14 -0
  325. package/dist/cjs/node_modules/core-js/internals/try-to-string.js.map +1 -0
  326. package/dist/cjs/node_modules/core-js/internals/uid.js +16 -0
  327. package/dist/cjs/node_modules/core-js/internals/uid.js.map +1 -0
  328. package/dist/cjs/node_modules/core-js/internals/use-symbol-as-uid.js +13 -0
  329. package/dist/cjs/node_modules/core-js/internals/use-symbol-as-uid.js.map +1 -0
  330. package/dist/cjs/node_modules/core-js/internals/v8-prototype-define-bug.js +20 -0
  331. package/dist/cjs/node_modules/core-js/internals/v8-prototype-define-bug.js.map +1 -0
  332. package/dist/cjs/node_modules/core-js/internals/validate-arguments-length.js +11 -0
  333. package/dist/cjs/node_modules/core-js/internals/validate-arguments-length.js.map +1 -0
  334. package/dist/cjs/node_modules/core-js/internals/weak-map-basic-detection.js +14 -0
  335. package/dist/cjs/node_modules/core-js/internals/weak-map-basic-detection.js.map +1 -0
  336. package/dist/cjs/node_modules/core-js/internals/well-known-symbol.js +30 -0
  337. package/dist/cjs/node_modules/core-js/internals/well-known-symbol.js.map +1 -0
  338. package/dist/cjs/node_modules/core-js/internals/whitespaces.js +8 -0
  339. package/dist/cjs/node_modules/core-js/internals/whitespaces.js.map +1 -0
  340. package/dist/cjs/node_modules/core-js/modules/es.array.index-of.js +30 -0
  341. package/dist/cjs/node_modules/core-js/modules/es.array.index-of.js.map +1 -0
  342. package/dist/cjs/node_modules/core-js/modules/es.array.iterator.js +75 -0
  343. package/dist/cjs/node_modules/core-js/modules/es.array.iterator.js.map +1 -0
  344. package/dist/cjs/node_modules/core-js/modules/es.array.reduce.js +28 -0
  345. package/dist/cjs/node_modules/core-js/modules/es.array.reduce.js.map +1 -0
  346. package/dist/cjs/node_modules/core-js/modules/es.array.reverse.js +25 -0
  347. package/dist/cjs/node_modules/core-js/modules/es.array.reverse.js.map +1 -0
  348. package/dist/cjs/node_modules/core-js/modules/es.promise.all.js +50 -0
  349. package/dist/cjs/node_modules/core-js/modules/es.promise.all.js.map +1 -0
  350. package/dist/cjs/node_modules/core-js/modules/es.promise.catch.js +34 -0
  351. package/dist/cjs/node_modules/core-js/modules/es.promise.catch.js.map +1 -0
  352. package/dist/cjs/node_modules/core-js/modules/es.promise.constructor.js +319 -0
  353. package/dist/cjs/node_modules/core-js/modules/es.promise.constructor.js.map +1 -0
  354. package/dist/cjs/node_modules/core-js/modules/es.promise.race.js +37 -0
  355. package/dist/cjs/node_modules/core-js/modules/es.promise.race.js.map +1 -0
  356. package/dist/cjs/node_modules/core-js/modules/es.promise.reject.js +22 -0
  357. package/dist/cjs/node_modules/core-js/modules/es.promise.reject.js.map +1 -0
  358. package/dist/cjs/node_modules/core-js/modules/es.promise.resolve.js +23 -0
  359. package/dist/cjs/node_modules/core-js/modules/es.promise.resolve.js.map +1 -0
  360. package/dist/cjs/node_modules/core-js/modules/es.regexp.exec.js +14 -0
  361. package/dist/cjs/node_modules/core-js/modules/es.regexp.exec.js.map +1 -0
  362. package/dist/cjs/node_modules/core-js/modules/es.regexp.to-string.js +35 -0
  363. package/dist/cjs/node_modules/core-js/modules/es.regexp.to-string.js.map +1 -0
  364. package/dist/cjs/node_modules/core-js/modules/es.string.ends-with.js +45 -0
  365. package/dist/cjs/node_modules/core-js/modules/es.string.ends-with.js.map +1 -0
  366. package/dist/cjs/node_modules/core-js/modules/es.string.includes.js +30 -0
  367. package/dist/cjs/node_modules/core-js/modules/es.string.includes.js.map +1 -0
  368. package/dist/cjs/node_modules/core-js/modules/es.string.match.js +69 -0
  369. package/dist/cjs/node_modules/core-js/modules/es.string.match.js.map +1 -0
  370. package/dist/cjs/node_modules/core-js/modules/es.string.replace.js +165 -0
  371. package/dist/cjs/node_modules/core-js/modules/es.string.replace.js.map +1 -0
  372. package/dist/cjs/node_modules/core-js/modules/es.string.split.js +128 -0
  373. package/dist/cjs/node_modules/core-js/modules/es.string.split.js.map +1 -0
  374. package/dist/cjs/node_modules/core-js/modules/es.string.starts-with.js +43 -0
  375. package/dist/cjs/node_modules/core-js/modules/es.string.starts-with.js.map +1 -0
  376. package/dist/cjs/node_modules/core-js/modules/es.string.trim.js +18 -0
  377. package/dist/cjs/node_modules/core-js/modules/es.string.trim.js.map +1 -0
  378. package/dist/cjs/node_modules/core-js/modules/web.dom-collections.iterator.js +47 -0
  379. package/dist/cjs/node_modules/core-js/modules/web.dom-collections.iterator.js.map +1 -0
  380. package/dist/cjs/node_modules/dompurify/dist/purify.es.js +1533 -0
  381. package/dist/cjs/node_modules/dompurify/dist/purify.es.js.map +1 -0
  382. package/dist/cjs/node_modules/fflate/esm/browser.js +807 -0
  383. package/dist/cjs/node_modules/fflate/esm/browser.js.map +1 -0
  384. package/dist/cjs/node_modules/html2canvas/dist/html2canvas.esm.js +7824 -0
  385. package/dist/cjs/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
  386. package/dist/cjs/node_modules/jspdf/dist/jspdf.es.min.js +358 -0
  387. package/dist/cjs/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -0
  388. package/dist/cjs/node_modules/performance-now/lib/performance-now.js +46 -0
  389. package/dist/cjs/node_modules/performance-now/lib/performance-now.js.map +1 -0
  390. package/dist/cjs/node_modules/qrious/dist/qrious.js +2374 -0
  391. package/dist/cjs/node_modules/qrious/dist/qrious.js.map +1 -0
  392. package/dist/cjs/node_modules/raf/index.js +87 -0
  393. package/dist/cjs/node_modules/raf/index.js.map +1 -0
  394. package/dist/cjs/node_modules/rgbcolor/index.js +311 -0
  395. package/dist/cjs/node_modules/rgbcolor/index.js.map +1 -0
  396. package/dist/cjs/node_modules/stackblur-canvas/dist/stackblur-es.js +384 -0
  397. package/dist/cjs/node_modules/stackblur-canvas/dist/stackblur-es.js.map +1 -0
  398. package/dist/cjs/node_modules/svg-pathdata/lib/SVGPathData.module.js +23 -0
  399. package/dist/cjs/node_modules/svg-pathdata/lib/SVGPathData.module.js.map +1 -0
  400. package/dist/cjs/storage/templateStorage.js +154 -0
  401. package/dist/cjs/storage/templateStorage.js.map +1 -0
  402. package/dist/cjs/styles.css +1 -0
  403. package/dist/cjs/utils/styleUtils.js +98 -0
  404. package/dist/cjs/utils/styleUtils.js.map +1 -0
  405. package/dist/cjs/utils/validators.js +144 -0
  406. package/dist/cjs/utils/validators.js.map +1 -0
  407. package/dist/esm/_virtual/_commonjsHelpers.js +8 -0
  408. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
  409. package/dist/esm/_virtual/index.js +4 -0
  410. package/dist/esm/_virtual/index.js.map +1 -0
  411. package/dist/esm/_virtual/make-built-in.js +4 -0
  412. package/dist/esm/_virtual/make-built-in.js.map +1 -0
  413. package/dist/esm/_virtual/new-promise-capability.js +4 -0
  414. package/dist/esm/_virtual/new-promise-capability.js.map +1 -0
  415. package/dist/esm/_virtual/object-define-properties.js +4 -0
  416. package/dist/esm/_virtual/object-define-properties.js.map +1 -0
  417. package/dist/esm/_virtual/object-define-property.js +4 -0
  418. package/dist/esm/_virtual/object-define-property.js.map +1 -0
  419. package/dist/esm/_virtual/object-get-own-property-descriptor.js +4 -0
  420. package/dist/esm/_virtual/object-get-own-property-descriptor.js.map +1 -0
  421. package/dist/esm/_virtual/object-get-own-property-names.js +4 -0
  422. package/dist/esm/_virtual/object-get-own-property-names.js.map +1 -0
  423. package/dist/esm/_virtual/object-get-own-property-symbols.js +4 -0
  424. package/dist/esm/_virtual/object-get-own-property-symbols.js.map +1 -0
  425. package/dist/esm/_virtual/object-property-is-enumerable.js +4 -0
  426. package/dist/esm/_virtual/object-property-is-enumerable.js.map +1 -0
  427. package/dist/esm/_virtual/performance-now.js +4 -0
  428. package/dist/esm/_virtual/performance-now.js.map +1 -0
  429. package/dist/esm/_virtual/qrious.js +4 -0
  430. package/dist/esm/_virtual/qrious.js.map +1 -0
  431. package/dist/esm/_virtual/shared-store.js +4 -0
  432. package/dist/esm/_virtual/shared-store.js.map +1 -0
  433. package/dist/esm/components/IDCardDesigner.js +278 -0
  434. package/dist/esm/components/IDCardDesigner.js.map +1 -0
  435. package/dist/esm/components/IDCardGenerator.js +134 -0
  436. package/dist/esm/components/IDCardGenerator.js.map +1 -0
  437. package/dist/esm/components/IDCardPreview.js +163 -0
  438. package/dist/esm/components/IDCardPreview.js.map +1 -0
  439. package/dist/esm/core/exportUtils.js +151 -0
  440. package/dist/esm/core/exportUtils.js.map +1 -0
  441. package/dist/esm/core/qrUtils.js +60 -0
  442. package/dist/esm/core/qrUtils.js.map +1 -0
  443. package/dist/esm/hooks/useFieldMapping.js +146 -0
  444. package/dist/esm/hooks/useFieldMapping.js.map +1 -0
  445. package/dist/esm/hooks/useIDCardExport.js +79 -0
  446. package/dist/esm/hooks/useIDCardExport.js.map +1 -0
  447. package/dist/esm/hooks/useIDCardTemplate.js +153 -0
  448. package/dist/esm/hooks/useIDCardTemplate.js.map +1 -0
  449. package/dist/esm/index.js +12 -0
  450. package/dist/esm/index.js.map +1 -0
  451. package/dist/esm/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +28 -0
  452. package/dist/esm/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js.map +1 -0
  453. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +13 -0
  454. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  455. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +15 -0
  456. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  457. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +10 -0
  458. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  459. package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +12 -0
  460. package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  461. package/dist/esm/node_modules/canvg/lib/index.es.js +6556 -0
  462. package/dist/esm/node_modules/canvg/lib/index.es.js.map +1 -0
  463. package/dist/esm/node_modules/core-js/internals/a-callable.js +16 -0
  464. package/dist/esm/node_modules/core-js/internals/a-callable.js.map +1 -0
  465. package/dist/esm/node_modules/core-js/internals/a-constructor.js +16 -0
  466. package/dist/esm/node_modules/core-js/internals/a-constructor.js.map +1 -0
  467. package/dist/esm/node_modules/core-js/internals/a-possible-prototype.js +14 -0
  468. package/dist/esm/node_modules/core-js/internals/a-possible-prototype.js.map +1 -0
  469. package/dist/esm/node_modules/core-js/internals/add-to-unscopables.js +28 -0
  470. package/dist/esm/node_modules/core-js/internals/add-to-unscopables.js.map +1 -0
  471. package/dist/esm/node_modules/core-js/internals/advance-string-index.js +12 -0
  472. package/dist/esm/node_modules/core-js/internals/advance-string-index.js.map +1 -0
  473. package/dist/esm/node_modules/core-js/internals/an-instance.js +13 -0
  474. package/dist/esm/node_modules/core-js/internals/an-instance.js.map +1 -0
  475. package/dist/esm/node_modules/core-js/internals/an-object.js +15 -0
  476. package/dist/esm/node_modules/core-js/internals/an-object.js.map +1 -0
  477. package/dist/esm/node_modules/core-js/internals/array-includes.js +37 -0
  478. package/dist/esm/node_modules/core-js/internals/array-includes.js.map +1 -0
  479. package/dist/esm/node_modules/core-js/internals/array-method-is-strict.js +14 -0
  480. package/dist/esm/node_modules/core-js/internals/array-method-is-strict.js.map +1 -0
  481. package/dist/esm/node_modules/core-js/internals/array-reduce.js +49 -0
  482. package/dist/esm/node_modules/core-js/internals/array-reduce.js.map +1 -0
  483. package/dist/esm/node_modules/core-js/internals/array-slice.js +8 -0
  484. package/dist/esm/node_modules/core-js/internals/array-slice.js.map +1 -0
  485. package/dist/esm/node_modules/core-js/internals/check-correctness-of-iteration.js +47 -0
  486. package/dist/esm/node_modules/core-js/internals/check-correctness-of-iteration.js.map +1 -0
  487. package/dist/esm/node_modules/core-js/internals/classof-raw.js +13 -0
  488. package/dist/esm/node_modules/core-js/internals/classof-raw.js.map +1 -0
  489. package/dist/esm/node_modules/core-js/internals/classof.js +37 -0
  490. package/dist/esm/node_modules/core-js/internals/classof.js.map +1 -0
  491. package/dist/esm/node_modules/core-js/internals/copy-constructor-properties.js +26 -0
  492. package/dist/esm/node_modules/core-js/internals/copy-constructor-properties.js.map +1 -0
  493. package/dist/esm/node_modules/core-js/internals/correct-is-regexp-logic.js +20 -0
  494. package/dist/esm/node_modules/core-js/internals/correct-is-regexp-logic.js.map +1 -0
  495. package/dist/esm/node_modules/core-js/internals/correct-prototype-getter.js +13 -0
  496. package/dist/esm/node_modules/core-js/internals/correct-prototype-getter.js.map +1 -0
  497. package/dist/esm/node_modules/core-js/internals/create-iter-result-object.js +8 -0
  498. package/dist/esm/node_modules/core-js/internals/create-iter-result-object.js.map +1 -0
  499. package/dist/esm/node_modules/core-js/internals/create-non-enumerable-property.js +18 -0
  500. package/dist/esm/node_modules/core-js/internals/create-non-enumerable-property.js.map +1 -0
  501. package/dist/esm/node_modules/core-js/internals/create-property-descriptor.js +11 -0
  502. package/dist/esm/node_modules/core-js/internals/create-property-descriptor.js.map +1 -0
  503. package/dist/esm/node_modules/core-js/internals/define-built-in-accessor.js +15 -0
  504. package/dist/esm/node_modules/core-js/internals/define-built-in-accessor.js.map +1 -0
  505. package/dist/esm/node_modules/core-js/internals/define-built-in.js +36 -0
  506. package/dist/esm/node_modules/core-js/internals/define-built-in.js.map +1 -0
  507. package/dist/esm/node_modules/core-js/internals/define-global-property.js +17 -0
  508. package/dist/esm/node_modules/core-js/internals/define-global-property.js.map +1 -0
  509. package/dist/esm/node_modules/core-js/internals/descriptors.js +12 -0
  510. package/dist/esm/node_modules/core-js/internals/descriptors.js.map +1 -0
  511. package/dist/esm/node_modules/core-js/internals/document-create-element.js +16 -0
  512. package/dist/esm/node_modules/core-js/internals/document-create-element.js.map +1 -0
  513. package/dist/esm/node_modules/core-js/internals/dom-iterables.js +38 -0
  514. package/dist/esm/node_modules/core-js/internals/dom-iterables.js.map +1 -0
  515. package/dist/esm/node_modules/core-js/internals/dom-token-list-prototype.js +12 -0
  516. package/dist/esm/node_modules/core-js/internals/dom-token-list-prototype.js.map +1 -0
  517. package/dist/esm/node_modules/core-js/internals/enum-bug-keys.js +13 -0
  518. package/dist/esm/node_modules/core-js/internals/enum-bug-keys.js.map +1 -0
  519. package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js +8 -0
  520. package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js.map +1 -0
  521. package/dist/esm/node_modules/core-js/internals/environment-is-ios.js +9 -0
  522. package/dist/esm/node_modules/core-js/internals/environment-is-ios.js.map +1 -0
  523. package/dist/esm/node_modules/core-js/internals/environment-is-node.js +8 -0
  524. package/dist/esm/node_modules/core-js/internals/environment-is-node.js.map +1 -0
  525. package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js +8 -0
  526. package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js.map +1 -0
  527. package/dist/esm/node_modules/core-js/internals/environment-user-agent.js +11 -0
  528. package/dist/esm/node_modules/core-js/internals/environment-user-agent.js.map +1 -0
  529. package/dist/esm/node_modules/core-js/internals/environment-v8-version.js +33 -0
  530. package/dist/esm/node_modules/core-js/internals/environment-v8-version.js.map +1 -0
  531. package/dist/esm/node_modules/core-js/internals/environment.js +27 -0
  532. package/dist/esm/node_modules/core-js/internals/environment.js.map +1 -0
  533. package/dist/esm/node_modules/core-js/internals/export.js +66 -0
  534. package/dist/esm/node_modules/core-js/internals/export.js.map +1 -0
  535. package/dist/esm/node_modules/core-js/internals/fails.js +10 -0
  536. package/dist/esm/node_modules/core-js/internals/fails.js.map +1 -0
  537. package/dist/esm/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js +88 -0
  538. package/dist/esm/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js.map +1 -0
  539. package/dist/esm/node_modules/core-js/internals/function-apply.js +15 -0
  540. package/dist/esm/node_modules/core-js/internals/function-apply.js.map +1 -0
  541. package/dist/esm/node_modules/core-js/internals/function-bind-context.js +20 -0
  542. package/dist/esm/node_modules/core-js/internals/function-bind-context.js.map +1 -0
  543. package/dist/esm/node_modules/core-js/internals/function-bind-native.js +13 -0
  544. package/dist/esm/node_modules/core-js/internals/function-bind-native.js.map +1 -0
  545. package/dist/esm/node_modules/core-js/internals/function-call.js +12 -0
  546. package/dist/esm/node_modules/core-js/internals/function-call.js.map +1 -0
  547. package/dist/esm/node_modules/core-js/internals/function-name.js +22 -0
  548. package/dist/esm/node_modules/core-js/internals/function-name.js.map +1 -0
  549. package/dist/esm/node_modules/core-js/internals/function-uncurry-this-accessor.js +15 -0
  550. package/dist/esm/node_modules/core-js/internals/function-uncurry-this-accessor.js.map +1 -0
  551. package/dist/esm/node_modules/core-js/internals/function-uncurry-this-clause.js +15 -0
  552. package/dist/esm/node_modules/core-js/internals/function-uncurry-this-clause.js.map +1 -0
  553. package/dist/esm/node_modules/core-js/internals/function-uncurry-this.js +17 -0
  554. package/dist/esm/node_modules/core-js/internals/function-uncurry-this.js.map +1 -0
  555. package/dist/esm/node_modules/core-js/internals/get-built-in.js +16 -0
  556. package/dist/esm/node_modules/core-js/internals/get-built-in.js.map +1 -0
  557. package/dist/esm/node_modules/core-js/internals/get-iterator-method.js +22 -0
  558. package/dist/esm/node_modules/core-js/internals/get-iterator-method.js.map +1 -0
  559. package/dist/esm/node_modules/core-js/internals/get-iterator.js +22 -0
  560. package/dist/esm/node_modules/core-js/internals/get-iterator.js.map +1 -0
  561. package/dist/esm/node_modules/core-js/internals/get-method.js +15 -0
  562. package/dist/esm/node_modules/core-js/internals/get-method.js.map +1 -0
  563. package/dist/esm/node_modules/core-js/internals/get-substitution.js +51 -0
  564. package/dist/esm/node_modules/core-js/internals/get-substitution.js.map +1 -0
  565. package/dist/esm/node_modules/core-js/internals/global-this.js +20 -0
  566. package/dist/esm/node_modules/core-js/internals/global-this.js.map +1 -0
  567. package/dist/esm/node_modules/core-js/internals/has-own-property.js +17 -0
  568. package/dist/esm/node_modules/core-js/internals/has-own-property.js.map +1 -0
  569. package/dist/esm/node_modules/core-js/internals/hidden-keys.js +4 -0
  570. package/dist/esm/node_modules/core-js/internals/hidden-keys.js.map +1 -0
  571. package/dist/esm/node_modules/core-js/internals/host-report-errors.js +9 -0
  572. package/dist/esm/node_modules/core-js/internals/host-report-errors.js.map +1 -0
  573. package/dist/esm/node_modules/core-js/internals/html.js +8 -0
  574. package/dist/esm/node_modules/core-js/internals/html.js.map +1 -0
  575. package/dist/esm/node_modules/core-js/internals/ie8-dom-define.js +18 -0
  576. package/dist/esm/node_modules/core-js/internals/ie8-dom-define.js.map +1 -0
  577. package/dist/esm/node_modules/core-js/internals/indexed-object.js +22 -0
  578. package/dist/esm/node_modules/core-js/internals/indexed-object.js.map +1 -0
  579. package/dist/esm/node_modules/core-js/internals/inspect-source.js +21 -0
  580. package/dist/esm/node_modules/core-js/internals/inspect-source.js.map +1 -0
  581. package/dist/esm/node_modules/core-js/internals/internal-state.js +82 -0
  582. package/dist/esm/node_modules/core-js/internals/internal-state.js.map +1 -0
  583. package/dist/esm/node_modules/core-js/internals/is-array-iterator-method.js +16 -0
  584. package/dist/esm/node_modules/core-js/internals/is-array-iterator-method.js.map +1 -0
  585. package/dist/esm/node_modules/core-js/internals/is-array.js +13 -0
  586. package/dist/esm/node_modules/core-js/internals/is-array.js.map +1 -0
  587. package/dist/esm/node_modules/core-js/internals/is-callable.js +14 -0
  588. package/dist/esm/node_modules/core-js/internals/is-callable.js.map +1 -0
  589. package/dist/esm/node_modules/core-js/internals/is-constructor.js +61 -0
  590. package/dist/esm/node_modules/core-js/internals/is-constructor.js.map +1 -0
  591. package/dist/esm/node_modules/core-js/internals/is-forced.js +28 -0
  592. package/dist/esm/node_modules/core-js/internals/is-forced.js.map +1 -0
  593. package/dist/esm/node_modules/core-js/internals/is-null-or-undefined.js +8 -0
  594. package/dist/esm/node_modules/core-js/internals/is-null-or-undefined.js.map +1 -0
  595. package/dist/esm/node_modules/core-js/internals/is-object.js +10 -0
  596. package/dist/esm/node_modules/core-js/internals/is-object.js.map +1 -0
  597. package/dist/esm/node_modules/core-js/internals/is-possible-prototype.js +10 -0
  598. package/dist/esm/node_modules/core-js/internals/is-possible-prototype.js.map +1 -0
  599. package/dist/esm/node_modules/core-js/internals/is-regexp.js +19 -0
  600. package/dist/esm/node_modules/core-js/internals/is-regexp.js.map +1 -0
  601. package/dist/esm/node_modules/core-js/internals/is-symbol.js +21 -0
  602. package/dist/esm/node_modules/core-js/internals/is-symbol.js.map +1 -0
  603. package/dist/esm/node_modules/core-js/internals/iterate.js +82 -0
  604. package/dist/esm/node_modules/core-js/internals/iterate.js.map +1 -0
  605. package/dist/esm/node_modules/core-js/internals/iterator-close.js +30 -0
  606. package/dist/esm/node_modules/core-js/internals/iterator-close.js.map +1 -0
  607. package/dist/esm/node_modules/core-js/internals/iterator-create-constructor.js +24 -0
  608. package/dist/esm/node_modules/core-js/internals/iterator-create-constructor.js.map +1 -0
  609. package/dist/esm/node_modules/core-js/internals/iterator-define.js +116 -0
  610. package/dist/esm/node_modules/core-js/internals/iterator-define.js.map +1 -0
  611. package/dist/esm/node_modules/core-js/internals/iterators-core.js +56 -0
  612. package/dist/esm/node_modules/core-js/internals/iterators-core.js.map +1 -0
  613. package/dist/esm/node_modules/core-js/internals/iterators.js +4 -0
  614. package/dist/esm/node_modules/core-js/internals/iterators.js.map +1 -0
  615. package/dist/esm/node_modules/core-js/internals/length-of-array-like.js +12 -0
  616. package/dist/esm/node_modules/core-js/internals/length-of-array-like.js.map +1 -0
  617. package/dist/esm/node_modules/core-js/internals/make-built-in.js +69 -0
  618. package/dist/esm/node_modules/core-js/internals/make-built-in.js.map +1 -0
  619. package/dist/esm/node_modules/core-js/internals/math-trunc.js +13 -0
  620. package/dist/esm/node_modules/core-js/internals/math-trunc.js.map +1 -0
  621. package/dist/esm/node_modules/core-js/internals/microtask.js +91 -0
  622. package/dist/esm/node_modules/core-js/internals/microtask.js.map +1 -0
  623. package/dist/esm/node_modules/core-js/internals/new-promise-capability.js +26 -0
  624. package/dist/esm/node_modules/core-js/internals/new-promise-capability.js.map +1 -0
  625. package/dist/esm/node_modules/core-js/internals/not-a-regexp.js +14 -0
  626. package/dist/esm/node_modules/core-js/internals/not-a-regexp.js.map +1 -0
  627. package/dist/esm/node_modules/core-js/internals/object-create.js +96 -0
  628. package/dist/esm/node_modules/core-js/internals/object-create.js.map +1 -0
  629. package/dist/esm/node_modules/core-js/internals/object-define-properties.js +32 -0
  630. package/dist/esm/node_modules/core-js/internals/object-define-properties.js.map +1 -0
  631. package/dist/esm/node_modules/core-js/internals/object-define-property.js +53 -0
  632. package/dist/esm/node_modules/core-js/internals/object-define-property.js.map +1 -0
  633. package/dist/esm/node_modules/core-js/internals/object-get-own-property-descriptor.js +36 -0
  634. package/dist/esm/node_modules/core-js/internals/object-get-own-property-descriptor.js.map +1 -0
  635. package/dist/esm/node_modules/core-js/internals/object-get-own-property-names.js +18 -0
  636. package/dist/esm/node_modules/core-js/internals/object-get-own-property-names.js.map +1 -0
  637. package/dist/esm/node_modules/core-js/internals/object-get-own-property-symbols.js +7 -0
  638. package/dist/esm/node_modules/core-js/internals/object-get-own-property-symbols.js.map +1 -0
  639. package/dist/esm/node_modules/core-js/internals/object-get-prototype-of.js +30 -0
  640. package/dist/esm/node_modules/core-js/internals/object-get-prototype-of.js.map +1 -0
  641. package/dist/esm/node_modules/core-js/internals/object-is-prototype-of.js +8 -0
  642. package/dist/esm/node_modules/core-js/internals/object-is-prototype-of.js.map +1 -0
  643. package/dist/esm/node_modules/core-js/internals/object-keys-internal.js +29 -0
  644. package/dist/esm/node_modules/core-js/internals/object-keys-internal.js.map +1 -0
  645. package/dist/esm/node_modules/core-js/internals/object-keys.js +15 -0
  646. package/dist/esm/node_modules/core-js/internals/object-keys.js.map +1 -0
  647. package/dist/esm/node_modules/core-js/internals/object-property-is-enumerable.js +18 -0
  648. package/dist/esm/node_modules/core-js/internals/object-property-is-enumerable.js.map +1 -0
  649. package/dist/esm/node_modules/core-js/internals/object-set-prototype-of.js +36 -0
  650. package/dist/esm/node_modules/core-js/internals/object-set-prototype-of.js.map +1 -0
  651. package/dist/esm/node_modules/core-js/internals/ordinary-to-primitive.js +22 -0
  652. package/dist/esm/node_modules/core-js/internals/ordinary-to-primitive.js.map +1 -0
  653. package/dist/esm/node_modules/core-js/internals/own-keys.js +25 -0
  654. package/dist/esm/node_modules/core-js/internals/own-keys.js.map +1 -0
  655. package/dist/esm/node_modules/core-js/internals/path.js +8 -0
  656. package/dist/esm/node_modules/core-js/internals/path.js.map +1 -0
  657. package/dist/esm/node_modules/core-js/internals/perform.js +10 -0
  658. package/dist/esm/node_modules/core-js/internals/perform.js.map +1 -0
  659. package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js +55 -0
  660. package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js.map +1 -0
  661. package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js +8 -0
  662. package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js.map +1 -0
  663. package/dist/esm/node_modules/core-js/internals/promise-resolve.js +20 -0
  664. package/dist/esm/node_modules/core-js/internals/promise-resolve.js.map +1 -0
  665. package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js +14 -0
  666. package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js.map +1 -0
  667. package/dist/esm/node_modules/core-js/internals/queue.js +27 -0
  668. package/dist/esm/node_modules/core-js/internals/queue.js.map +1 -0
  669. package/dist/esm/node_modules/core-js/internals/regexp-exec-abstract.js +29 -0
  670. package/dist/esm/node_modules/core-js/internals/regexp-exec-abstract.js.map +1 -0
  671. package/dist/esm/node_modules/core-js/internals/regexp-exec.js +130 -0
  672. package/dist/esm/node_modules/core-js/internals/regexp-exec.js.map +1 -0
  673. package/dist/esm/node_modules/core-js/internals/regexp-flags-detection.js +52 -0
  674. package/dist/esm/node_modules/core-js/internals/regexp-flags-detection.js.map +1 -0
  675. package/dist/esm/node_modules/core-js/internals/regexp-flags.js +22 -0
  676. package/dist/esm/node_modules/core-js/internals/regexp-flags.js.map +1 -0
  677. package/dist/esm/node_modules/core-js/internals/regexp-get-flags.js +24 -0
  678. package/dist/esm/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
  679. package/dist/esm/node_modules/core-js/internals/regexp-sticky-helpers.js +35 -0
  680. package/dist/esm/node_modules/core-js/internals/regexp-sticky-helpers.js.map +1 -0
  681. package/dist/esm/node_modules/core-js/internals/regexp-unsupported-dot-all.js +16 -0
  682. package/dist/esm/node_modules/core-js/internals/regexp-unsupported-dot-all.js.map +1 -0
  683. package/dist/esm/node_modules/core-js/internals/regexp-unsupported-ncg.js +17 -0
  684. package/dist/esm/node_modules/core-js/internals/regexp-unsupported-ncg.js.map +1 -0
  685. package/dist/esm/node_modules/core-js/internals/require-object-coercible.js +15 -0
  686. package/dist/esm/node_modules/core-js/internals/require-object-coercible.js.map +1 -0
  687. package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js +18 -0
  688. package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js.map +1 -0
  689. package/dist/esm/node_modules/core-js/internals/set-species.js +25 -0
  690. package/dist/esm/node_modules/core-js/internals/set-species.js.map +1 -0
  691. package/dist/esm/node_modules/core-js/internals/set-to-string-tag.js +20 -0
  692. package/dist/esm/node_modules/core-js/internals/set-to-string-tag.js.map +1 -0
  693. package/dist/esm/node_modules/core-js/internals/shared-key.js +14 -0
  694. package/dist/esm/node_modules/core-js/internals/shared-key.js.map +1 -0
  695. package/dist/esm/node_modules/core-js/internals/shared-store.js +22 -0
  696. package/dist/esm/node_modules/core-js/internals/shared-store.js.map +1 -0
  697. package/dist/esm/node_modules/core-js/internals/shared.js +10 -0
  698. package/dist/esm/node_modules/core-js/internals/shared.js.map +1 -0
  699. package/dist/esm/node_modules/core-js/internals/species-constructor.js +22 -0
  700. package/dist/esm/node_modules/core-js/internals/species-constructor.js.map +1 -0
  701. package/dist/esm/node_modules/core-js/internals/string-multibyte.js +41 -0
  702. package/dist/esm/node_modules/core-js/internals/string-multibyte.js.map +1 -0
  703. package/dist/esm/node_modules/core-js/internals/string-trim-forced.js +22 -0
  704. package/dist/esm/node_modules/core-js/internals/string-trim-forced.js.map +1 -0
  705. package/dist/esm/node_modules/core-js/internals/string-trim.js +32 -0
  706. package/dist/esm/node_modules/core-js/internals/string-trim.js.map +1 -0
  707. package/dist/esm/node_modules/core-js/internals/symbol-constructor-detection.js +25 -0
  708. package/dist/esm/node_modules/core-js/internals/symbol-constructor-detection.js.map +1 -0
  709. package/dist/esm/node_modules/core-js/internals/task.js +130 -0
  710. package/dist/esm/node_modules/core-js/internals/task.js.map +1 -0
  711. package/dist/esm/node_modules/core-js/internals/to-absolute-index.js +17 -0
  712. package/dist/esm/node_modules/core-js/internals/to-absolute-index.js.map +1 -0
  713. package/dist/esm/node_modules/core-js/internals/to-indexed-object.js +13 -0
  714. package/dist/esm/node_modules/core-js/internals/to-indexed-object.js.map +1 -0
  715. package/dist/esm/node_modules/core-js/internals/to-integer-or-infinity.js +14 -0
  716. package/dist/esm/node_modules/core-js/internals/to-integer-or-infinity.js.map +1 -0
  717. package/dist/esm/node_modules/core-js/internals/to-length.js +15 -0
  718. package/dist/esm/node_modules/core-js/internals/to-length.js.map +1 -0
  719. package/dist/esm/node_modules/core-js/internals/to-object.js +14 -0
  720. package/dist/esm/node_modules/core-js/internals/to-object.js.map +1 -0
  721. package/dist/esm/node_modules/core-js/internals/to-primitive.js +35 -0
  722. package/dist/esm/node_modules/core-js/internals/to-primitive.js.map +1 -0
  723. package/dist/esm/node_modules/core-js/internals/to-property-key.js +15 -0
  724. package/dist/esm/node_modules/core-js/internals/to-property-key.js.map +1 -0
  725. package/dist/esm/node_modules/core-js/internals/to-string-tag-support.js +13 -0
  726. package/dist/esm/node_modules/core-js/internals/to-string-tag-support.js.map +1 -0
  727. package/dist/esm/node_modules/core-js/internals/to-string.js +13 -0
  728. package/dist/esm/node_modules/core-js/internals/to-string.js.map +1 -0
  729. package/dist/esm/node_modules/core-js/internals/try-to-string.js +12 -0
  730. package/dist/esm/node_modules/core-js/internals/try-to-string.js.map +1 -0
  731. package/dist/esm/node_modules/core-js/internals/uid.js +14 -0
  732. package/dist/esm/node_modules/core-js/internals/uid.js.map +1 -0
  733. package/dist/esm/node_modules/core-js/internals/use-symbol-as-uid.js +11 -0
  734. package/dist/esm/node_modules/core-js/internals/use-symbol-as-uid.js.map +1 -0
  735. package/dist/esm/node_modules/core-js/internals/v8-prototype-define-bug.js +18 -0
  736. package/dist/esm/node_modules/core-js/internals/v8-prototype-define-bug.js.map +1 -0
  737. package/dist/esm/node_modules/core-js/internals/validate-arguments-length.js +9 -0
  738. package/dist/esm/node_modules/core-js/internals/validate-arguments-length.js.map +1 -0
  739. package/dist/esm/node_modules/core-js/internals/weak-map-basic-detection.js +12 -0
  740. package/dist/esm/node_modules/core-js/internals/weak-map-basic-detection.js.map +1 -0
  741. package/dist/esm/node_modules/core-js/internals/well-known-symbol.js +28 -0
  742. package/dist/esm/node_modules/core-js/internals/well-known-symbol.js.map +1 -0
  743. package/dist/esm/node_modules/core-js/internals/whitespaces.js +6 -0
  744. package/dist/esm/node_modules/core-js/internals/whitespaces.js.map +1 -0
  745. package/dist/esm/node_modules/core-js/modules/es.array.index-of.js +28 -0
  746. package/dist/esm/node_modules/core-js/modules/es.array.index-of.js.map +1 -0
  747. package/dist/esm/node_modules/core-js/modules/es.array.iterator.js +73 -0
  748. package/dist/esm/node_modules/core-js/modules/es.array.iterator.js.map +1 -0
  749. package/dist/esm/node_modules/core-js/modules/es.array.reduce.js +26 -0
  750. package/dist/esm/node_modules/core-js/modules/es.array.reduce.js.map +1 -0
  751. package/dist/esm/node_modules/core-js/modules/es.array.reverse.js +23 -0
  752. package/dist/esm/node_modules/core-js/modules/es.array.reverse.js.map +1 -0
  753. package/dist/esm/node_modules/core-js/modules/es.promise.all.js +48 -0
  754. package/dist/esm/node_modules/core-js/modules/es.promise.all.js.map +1 -0
  755. package/dist/esm/node_modules/core-js/modules/es.promise.catch.js +32 -0
  756. package/dist/esm/node_modules/core-js/modules/es.promise.catch.js.map +1 -0
  757. package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js +317 -0
  758. package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js.map +1 -0
  759. package/dist/esm/node_modules/core-js/modules/es.promise.race.js +35 -0
  760. package/dist/esm/node_modules/core-js/modules/es.promise.race.js.map +1 -0
  761. package/dist/esm/node_modules/core-js/modules/es.promise.reject.js +20 -0
  762. package/dist/esm/node_modules/core-js/modules/es.promise.reject.js.map +1 -0
  763. package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js +21 -0
  764. package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js.map +1 -0
  765. package/dist/esm/node_modules/core-js/modules/es.regexp.exec.js +12 -0
  766. package/dist/esm/node_modules/core-js/modules/es.regexp.exec.js.map +1 -0
  767. package/dist/esm/node_modules/core-js/modules/es.regexp.to-string.js +33 -0
  768. package/dist/esm/node_modules/core-js/modules/es.regexp.to-string.js.map +1 -0
  769. package/dist/esm/node_modules/core-js/modules/es.string.ends-with.js +43 -0
  770. package/dist/esm/node_modules/core-js/modules/es.string.ends-with.js.map +1 -0
  771. package/dist/esm/node_modules/core-js/modules/es.string.includes.js +28 -0
  772. package/dist/esm/node_modules/core-js/modules/es.string.includes.js.map +1 -0
  773. package/dist/esm/node_modules/core-js/modules/es.string.match.js +67 -0
  774. package/dist/esm/node_modules/core-js/modules/es.string.match.js.map +1 -0
  775. package/dist/esm/node_modules/core-js/modules/es.string.replace.js +163 -0
  776. package/dist/esm/node_modules/core-js/modules/es.string.replace.js.map +1 -0
  777. package/dist/esm/node_modules/core-js/modules/es.string.split.js +126 -0
  778. package/dist/esm/node_modules/core-js/modules/es.string.split.js.map +1 -0
  779. package/dist/esm/node_modules/core-js/modules/es.string.starts-with.js +41 -0
  780. package/dist/esm/node_modules/core-js/modules/es.string.starts-with.js.map +1 -0
  781. package/dist/esm/node_modules/core-js/modules/es.string.trim.js +16 -0
  782. package/dist/esm/node_modules/core-js/modules/es.string.trim.js.map +1 -0
  783. package/dist/esm/node_modules/core-js/modules/web.dom-collections.iterator.js +45 -0
  784. package/dist/esm/node_modules/core-js/modules/web.dom-collections.iterator.js.map +1 -0
  785. package/dist/esm/node_modules/dompurify/dist/purify.es.js +1531 -0
  786. package/dist/esm/node_modules/dompurify/dist/purify.es.js.map +1 -0
  787. package/dist/esm/node_modules/fflate/esm/browser.js +804 -0
  788. package/dist/esm/node_modules/fflate/esm/browser.js.map +1 -0
  789. package/dist/esm/node_modules/html2canvas/dist/html2canvas.esm.js +7822 -0
  790. package/dist/esm/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
  791. package/dist/esm/node_modules/jspdf/dist/jspdf.es.min.js +337 -0
  792. package/dist/esm/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -0
  793. package/dist/esm/node_modules/performance-now/lib/performance-now.js +44 -0
  794. package/dist/esm/node_modules/performance-now/lib/performance-now.js.map +1 -0
  795. package/dist/esm/node_modules/qrious/dist/qrious.js +2372 -0
  796. package/dist/esm/node_modules/qrious/dist/qrious.js.map +1 -0
  797. package/dist/esm/node_modules/raf/index.js +85 -0
  798. package/dist/esm/node_modules/raf/index.js.map +1 -0
  799. package/dist/esm/node_modules/rgbcolor/index.js +309 -0
  800. package/dist/esm/node_modules/rgbcolor/index.js.map +1 -0
  801. package/dist/esm/node_modules/stackblur-canvas/dist/stackblur-es.js +380 -0
  802. package/dist/esm/node_modules/stackblur-canvas/dist/stackblur-es.js.map +1 -0
  803. package/dist/esm/node_modules/svg-pathdata/lib/SVGPathData.module.js +18 -0
  804. package/dist/esm/node_modules/svg-pathdata/lib/SVGPathData.module.js.map +1 -0
  805. package/dist/esm/storage/templateStorage.js +144 -0
  806. package/dist/esm/storage/templateStorage.js.map +1 -0
  807. package/dist/esm/styles.css +1 -0
  808. package/dist/esm/utils/styleUtils.js +91 -0
  809. package/dist/esm/utils/styleUtils.js.map +1 -0
  810. package/dist/esm/utils/validators.js +139 -0
  811. package/dist/esm/utils/validators.js.map +1 -0
  812. package/dist/types/components/IDCardDesigner.d.ts +18 -0
  813. package/dist/types/components/IDCardGenerator.d.ts +19 -0
  814. package/dist/types/components/IDCardPreview.d.ts +15 -0
  815. package/dist/types/core/exportUtils.d.ts +34 -0
  816. package/dist/types/core/qrUtils.d.ts +27 -0
  817. package/dist/types/hooks/useFieldMapping.d.ts +10 -0
  818. package/dist/types/hooks/useIDCardExport.d.ts +10 -0
  819. package/dist/types/hooks/useIDCardTemplate.d.ts +10 -0
  820. package/dist/types/index.d.ts +33 -0
  821. package/dist/types/storage/templateStorage.d.ts +53 -0
  822. package/dist/types/types/index.d.ts +235 -0
  823. package/dist/types/utils/styleUtils.d.ts +34 -0
  824. package/dist/types/utils/validators.d.ts +27 -0
  825. package/package.json +65 -0
@@ -0,0 +1,168 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var styleUtils = require('../utils/styleUtils.js');
8
+ var qrUtils = require('../core/qrUtils.js');
9
+
10
+ /**
11
+ * IDCardPreview - Interactive card preview component
12
+ *
13
+ * Renders an ID card with:
14
+ * - Field selection and highlighting
15
+ * - Resize handles for selected fields
16
+ * - Grid overlay for alignment
17
+ * - Dynamic field rendering based on type
18
+ *
19
+ * Used inside the designer for visual editing
20
+ */
21
+ const IDCardPreview = ({ template, data, side, scale = 1, showGrid = false, onFieldSelect, selectedFieldId, editable = true, onFieldUpdate, }) => {
22
+ // Get only fields that belong to the current side
23
+ const fieldsToRender = react.useMemo(() => {
24
+ return template.fields.filter((field) => field.side === side);
25
+ }, [template.fields, side]);
26
+ // Get background for current side
27
+ const backgroundImage = side === 'front' ? template.backgrounds.front : template.backgrounds.back;
28
+ // Render resize handles for selected field
29
+ const renderResizeHandles = (field) => {
30
+ if (field.id !== selectedFieldId || !editable)
31
+ return null;
32
+ const handles = ['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw'];
33
+ const handleStyle = {
34
+ position: 'absolute',
35
+ width: '8px',
36
+ height: '8px',
37
+ backgroundColor: '#2196F3',
38
+ border: '1px solid #fff',
39
+ borderRadius: '2px',
40
+ zIndex: 1000,
41
+ };
42
+ const positions = {
43
+ n: { top: '-4px', left: '50%', transform: 'translateX(-50%)', cursor: 'n-resize' },
44
+ s: { bottom: '-4px', left: '50%', transform: 'translateX(-50%)', cursor: 's-resize' },
45
+ e: { right: '-4px', top: '50%', transform: 'translateY(-50%)', cursor: 'e-resize' },
46
+ w: { left: '-4px', top: '50%', transform: 'translateY(-50%)', cursor: 'w-resize' },
47
+ ne: { top: '-4px', right: '-4px', cursor: 'ne-resize' },
48
+ nw: { top: '-4px', left: '-4px', cursor: 'nw-resize' },
49
+ se: { bottom: '-4px', right: '-4px', cursor: 'se-resize' },
50
+ sw: { bottom: '-4px', left: '-4px', cursor: 'sw-resize' },
51
+ };
52
+ return handles.map((handle) => (jsxRuntime.jsx("div", { className: `resize-handle resize-handle-${handle}`, style: { ...handleStyle, ...positions[handle] }, "data-handle": handle }, handle)));
53
+ };
54
+ // Render a single field
55
+ const renderField = (field) => {
56
+ const posStyle = styleUtils.positionToStyle(field.position);
57
+ const fieldStyle = styleUtils.fieldStyleToCSS(field.style);
58
+ const isSelected = field.id === selectedFieldId;
59
+ const combinedStyle = {
60
+ ...posStyle,
61
+ ...fieldStyle,
62
+ zIndex: field.zIndex || 1,
63
+ boxSizing: 'border-box',
64
+ overflow: 'hidden',
65
+ cursor: editable ? 'move' : 'default',
66
+ outline: isSelected ? '2px solid #2196F3' : 'none',
67
+ outlineOffset: '1px',
68
+ };
69
+ const handleClick = (e) => {
70
+ e.stopPropagation();
71
+ onFieldSelect?.(field);
72
+ };
73
+ const value = data[field.fieldKey];
74
+ const content = (() => {
75
+ switch (field.type) {
76
+ case 'text':
77
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [field.label && (jsxRuntime.jsx("span", { style: { fontSize: '0.75em', display: 'block', opacity: 0.7 }, children: field.label })), jsxRuntime.jsx("span", { children: String(value || field.placeholder || field.fieldKey) })] }));
78
+ case 'label':
79
+ return jsxRuntime.jsx("span", { children: field.staticText || field.label || 'Label' });
80
+ case 'image':
81
+ return value ? (jsxRuntime.jsx("img", { src: String(value), alt: field.label || 'Image', style: {
82
+ width: '100%',
83
+ height: '100%',
84
+ objectFit: 'cover',
85
+ objectPosition: 'center top',
86
+ } })) : (jsxRuntime.jsxs("div", { style: {
87
+ width: '100%',
88
+ height: '100%',
89
+ backgroundColor: '#e0e0e0',
90
+ display: 'flex',
91
+ alignItems: 'center',
92
+ justifyContent: 'center',
93
+ fontSize: '10px',
94
+ color: '#666',
95
+ flexDirection: 'column',
96
+ }, children: [jsxRuntime.jsx("span", { children: "\uD83D\uDCF7" }), jsxRuntime.jsx("span", { children: field.label || 'Photo' })] }));
97
+ case 'qrcode':
98
+ const qrDataUrl = field.qrFields
99
+ ? qrUtils.generateQrCodeFromFields(data, field.qrFields, 200)
100
+ : '';
101
+ return qrDataUrl ? (jsxRuntime.jsx("img", { src: qrDataUrl, alt: "QR Code", style: { width: '100%', height: '100%', objectFit: 'contain' } })) : (jsxRuntime.jsx("div", { style: {
102
+ width: '100%',
103
+ height: '100%',
104
+ backgroundColor: '#f0f0f0',
105
+ display: 'flex',
106
+ alignItems: 'center',
107
+ justifyContent: 'center',
108
+ fontSize: '10px',
109
+ color: '#666',
110
+ border: '1px dashed #ccc',
111
+ }, children: "QR Code" }));
112
+ default:
113
+ return null;
114
+ }
115
+ })();
116
+ return (jsxRuntime.jsxs("div", { id: `preview-${field.id}`, style: combinedStyle, onClick: handleClick, className: `preview-field preview-field-${field.type} ${isSelected ? 'selected' : ''}`, children: [content, renderResizeHandles(field)] }, field.id));
117
+ };
118
+ // Card container style
119
+ const cardStyle = {
120
+ width: template.cardSize.width,
121
+ height: template.cardSize.height,
122
+ position: 'relative',
123
+ overflow: 'hidden',
124
+ backgroundColor: backgroundImage ? 'transparent' : '#f5f5f5',
125
+ border: '1px solid #ddd',
126
+ transform: `scale(${scale})`,
127
+ transformOrigin: 'top left',
128
+ };
129
+ // Grid overlay style
130
+ const gridStyle = {
131
+ position: 'absolute',
132
+ top: 0,
133
+ left: 0,
134
+ width: '100%',
135
+ height: '100%',
136
+ backgroundImage: showGrid
137
+ ? 'linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px)'
138
+ : 'none',
139
+ backgroundSize: '10px 10px',
140
+ pointerEvents: 'none',
141
+ zIndex: 999,
142
+ };
143
+ const handleContainerClick = () => {
144
+ onFieldSelect?.(null);
145
+ };
146
+ return (jsxRuntime.jsxs("div", { className: "idcard-preview-container", style: cardStyle, onClick: handleContainerClick, children: [backgroundImage && (jsxRuntime.jsx("img", { src: backgroundImage, alt: `${side} background`, style: {
147
+ position: 'absolute',
148
+ top: 0,
149
+ left: 0,
150
+ width: '100%',
151
+ height: '100%',
152
+ objectFit: 'cover',
153
+ zIndex: 0,
154
+ pointerEvents: 'none',
155
+ } })), fieldsToRender.map(renderField), showGrid && jsxRuntime.jsx("div", { style: gridStyle }), !backgroundImage && fieldsToRender.length === 0 && (jsxRuntime.jsxs("div", { style: {
156
+ position: 'absolute',
157
+ top: '50%',
158
+ left: '50%',
159
+ transform: 'translate(-50%, -50%)',
160
+ textAlign: 'center',
161
+ color: '#999',
162
+ fontSize: '14px',
163
+ }, children: [jsxRuntime.jsx("p", { children: "Upload a background image" }), jsxRuntime.jsx("p", { children: "and add fields to get started" })] }))] }));
164
+ };
165
+
166
+ exports.IDCardPreview = IDCardPreview;
167
+ exports.default = IDCardPreview;
168
+ //# sourceMappingURL=IDCardPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDCardPreview.js","sources":["../../../src/components/IDCardPreview.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\r\nimport type { IDCardPreviewProps, FieldMapping } from '../types';\r\nimport { fieldStyleToCSS, positionToStyle } from '../utils/styleUtils';\r\nimport { generateQrCodeFromFields } from '../core/qrUtils';\r\n\r\n/**\r\n * IDCardPreview - Interactive card preview component\r\n * \r\n * Renders an ID card with:\r\n * - Field selection and highlighting\r\n * - Resize handles for selected fields\r\n * - Grid overlay for alignment\r\n * - Dynamic field rendering based on type\r\n * \r\n * Used inside the designer for visual editing\r\n */\r\nexport const IDCardPreview: React.FC<IDCardPreviewProps> = ({\r\n template,\r\n data,\r\n side,\r\n scale = 1,\r\n showGrid = false,\r\n onFieldSelect,\r\n selectedFieldId,\r\n editable = true,\r\n onFieldUpdate,\r\n}: IDCardPreviewProps) => {\r\n // Get only fields that belong to the current side\r\n const fieldsToRender = useMemo(() => {\r\n return template.fields.filter((field: FieldMapping) => field.side === side);\r\n }, [template.fields, side]);\r\n\r\n // Get background for current side\r\n const backgroundImage = side === 'front' ? template.backgrounds.front : template.backgrounds.back;\r\n\r\n // Render resize handles for selected field\r\n const renderResizeHandles = (field: FieldMapping) => {\r\n if (field.id !== selectedFieldId || !editable) return null;\r\n\r\n const handles = ['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw'];\r\n const handleStyle: React.CSSProperties = {\r\n position: 'absolute',\r\n width: '8px',\r\n height: '8px',\r\n backgroundColor: '#2196F3',\r\n border: '1px solid #fff',\r\n borderRadius: '2px',\r\n zIndex: 1000,\r\n };\r\n\r\n const positions: Record<string, React.CSSProperties> = {\r\n n: { top: '-4px', left: '50%', transform: 'translateX(-50%)', cursor: 'n-resize' },\r\n s: { bottom: '-4px', left: '50%', transform: 'translateX(-50%)', cursor: 's-resize' },\r\n e: { right: '-4px', top: '50%', transform: 'translateY(-50%)', cursor: 'e-resize' },\r\n w: { left: '-4px', top: '50%', transform: 'translateY(-50%)', cursor: 'w-resize' },\r\n ne: { top: '-4px', right: '-4px', cursor: 'ne-resize' },\r\n nw: { top: '-4px', left: '-4px', cursor: 'nw-resize' },\r\n se: { bottom: '-4px', right: '-4px', cursor: 'se-resize' },\r\n sw: { bottom: '-4px', left: '-4px', cursor: 'sw-resize' },\r\n };\r\n\r\n return handles.map((handle) => (\r\n <div\r\n key={handle}\r\n className={`resize-handle resize-handle-${handle}`}\r\n style={{ ...handleStyle, ...positions[handle] }}\r\n data-handle={handle}\r\n />\r\n ));\r\n };\r\n\r\n // Render a single field\r\n const renderField = (field: FieldMapping) => {\r\n const posStyle = positionToStyle(field.position);\r\n const fieldStyle = fieldStyleToCSS(field.style);\r\n const isSelected = field.id === selectedFieldId;\r\n\r\n const combinedStyle: React.CSSProperties = {\r\n ...posStyle,\r\n ...fieldStyle,\r\n zIndex: field.zIndex || 1,\r\n boxSizing: 'border-box',\r\n overflow: 'hidden',\r\n cursor: editable ? 'move' : 'default',\r\n outline: isSelected ? '2px solid #2196F3' : 'none',\r\n outlineOffset: '1px',\r\n };\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n onFieldSelect?.(field);\r\n };\r\n\r\n const value = data[field.fieldKey];\r\n\r\n const content = (() => {\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n <>\r\n {field.label && (\r\n <span style={{ fontSize: '0.75em', display: 'block', opacity: 0.7 }}>\r\n {field.label}\r\n </span>\r\n )}\r\n <span>{String(value || field.placeholder || field.fieldKey)}</span>\r\n </>\r\n );\r\n\r\n case 'label':\r\n return <span>{field.staticText || field.label || 'Label'}</span>;\r\n\r\n case 'image':\r\n return value ? (\r\n <img\r\n src={String(value)}\r\n alt={field.label || 'Image'}\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n objectFit: 'cover',\r\n objectPosition: 'center top',\r\n }}\r\n />\r\n ) : (\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: '#e0e0e0',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n color: '#666',\r\n flexDirection: 'column',\r\n }}\r\n >\r\n <span>📷</span>\r\n <span>{field.label || 'Photo'}</span>\r\n </div>\r\n );\r\n\r\n case 'qrcode':\r\n const qrDataUrl = field.qrFields\r\n ? generateQrCodeFromFields(data, field.qrFields, 200)\r\n : '';\r\n\r\n return qrDataUrl ? (\r\n <img\r\n src={qrDataUrl}\r\n alt=\"QR Code\"\r\n style={{ width: '100%', height: '100%', objectFit: 'contain' }}\r\n />\r\n ) : (\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: '#f0f0f0',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n fontSize: '10px',\r\n color: '#666',\r\n border: '1px dashed #ccc',\r\n }}\r\n >\r\n QR Code\r\n </div>\r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })();\r\n\r\n return (\r\n <div\r\n key={field.id}\r\n id={`preview-${field.id}`}\r\n style={combinedStyle}\r\n onClick={handleClick}\r\n className={`preview-field preview-field-${field.type} ${isSelected ? 'selected' : ''}`}\r\n >\r\n {content}\r\n {renderResizeHandles(field)}\r\n </div>\r\n );\r\n };\r\n\r\n // Card container style\r\n const cardStyle: React.CSSProperties = {\r\n width: template.cardSize.width,\r\n height: template.cardSize.height,\r\n position: 'relative',\r\n overflow: 'hidden',\r\n backgroundColor: backgroundImage ? 'transparent' : '#f5f5f5',\r\n border: '1px solid #ddd',\r\n transform: `scale(${scale})`,\r\n transformOrigin: 'top left',\r\n };\r\n\r\n // Grid overlay style\r\n const gridStyle: React.CSSProperties = {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n backgroundImage: showGrid\r\n ? 'linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px)'\r\n : 'none',\r\n backgroundSize: '10px 10px',\r\n pointerEvents: 'none',\r\n zIndex: 999,\r\n };\r\n\r\n const handleContainerClick = () => {\r\n onFieldSelect?.(null);\r\n };\r\n\r\n return (\r\n <div\r\n className=\"idcard-preview-container\"\r\n style={cardStyle}\r\n onClick={handleContainerClick}\r\n >\r\n {/* Background */}\r\n {backgroundImage && (\r\n <img\r\n src={backgroundImage}\r\n alt={`${side} background`}\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n objectFit: 'cover',\r\n zIndex: 0,\r\n pointerEvents: 'none',\r\n }}\r\n />\r\n )}\r\n\r\n {/* Fields */}\r\n {fieldsToRender.map(renderField)}\r\n\r\n {/* Grid overlay */}\r\n {showGrid && <div style={gridStyle} />}\r\n\r\n {/* Empty state */}\r\n {!backgroundImage && fieldsToRender.length === 0 && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n textAlign: 'center',\r\n color: '#999',\r\n fontSize: '14px',\r\n }}\r\n >\r\n <p>Upload a background image</p>\r\n <p>and add fields to get started</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default IDCardPreview;\r\n"],"names":["useMemo","_jsx","positionToStyle","fieldStyleToCSS","_jsxs","generateQrCodeFromFields"],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ 'use strict';
2
+
3
+ var html2canvas_esm = require('../node_modules/html2canvas/dist/html2canvas.esm.js');
4
+ var jspdf_es_min = require('../node_modules/jspdf/dist/jspdf.es.min.js');
5
+ var qrUtils = require('./qrUtils.js');
6
+
7
+ // High-quality canvas rendering defaults
8
+ const defaultCanvasOptions = {
9
+ scale: 10, // 10x resolution for crisp output
10
+ dpi: 1200,
11
+ imageTimeout: 15000,
12
+ letterRendering: true,
13
+ logging: false,
14
+ useCORS: true, // Allow cross-origin images
15
+ backgroundColor: null,
16
+ };
17
+ /**
18
+ * Capture a DOM element as a high-resolution canvas
19
+ * Uses html2canvas to convert the element to an image
20
+ * @returns Canvas and the original element, or null if not found
21
+ */
22
+ async function captureElement(elementId, scale = 10) {
23
+ const element = document.getElementById(elementId);
24
+ if (!element)
25
+ return null;
26
+ const canvas = await html2canvas_esm(element, {
27
+ ...defaultCanvasOptions,
28
+ scale,
29
+ });
30
+ return { canvas, element };
31
+ }
32
+ /**
33
+ * Download ID card(s) as a PDF file
34
+ * Captures DOM elements and converts them to a multi-page PDF
35
+ * @param options - Configuration for PDF export
36
+ * @returns Export result with success status and any errors
37
+ */
38
+ async function downloadIDCardAsPDF(options) {
39
+ try {
40
+ const { frontElementId = 'idcardfront', backElementId, filename = 'ID_Card', data, qrElementId, qrFields, scale = 10, } = options;
41
+ // Generate QR code if configured
42
+ if (qrElementId && data && qrFields && qrFields.length > 0) {
43
+ const qrData = {};
44
+ for (const field of qrFields) {
45
+ if (data[field] !== undefined) {
46
+ qrData[field] = data[field];
47
+ }
48
+ }
49
+ qrUtils.setQrCodeOnElement(qrElementId, qrData, 200);
50
+ }
51
+ // Wait for QR code and any images to fully render
52
+ await new Promise((resolve) => setTimeout(resolve, 100));
53
+ const pages = [];
54
+ // Capture front
55
+ const frontCapture = await captureElement(frontElementId, scale);
56
+ if (frontCapture)
57
+ pages.push(frontCapture);
58
+ // Capture back if exists
59
+ if (backElementId) {
60
+ const backCapture = await captureElement(backElementId, scale);
61
+ if (backCapture)
62
+ pages.push(backCapture);
63
+ }
64
+ if (pages.length === 0) {
65
+ return { success: false, error: 'No elements found to capture' };
66
+ }
67
+ let pdf;
68
+ for (let i = 0; i < pages.length; i++) {
69
+ const { canvas, element } = pages[i];
70
+ const imgData = canvas.toDataURL('image/jpeg', 1.0);
71
+ // Calculate PDF dimensions
72
+ const pdfWidth = parseInt(element.style.width) * 0.264583 || 85;
73
+ const aspectRatio = canvas.height / canvas.width;
74
+ const pdfHeight = pdfWidth * aspectRatio;
75
+ const orientation = pdfWidth >= pdfHeight ? 'landscape' : 'portrait';
76
+ if (i === 0) {
77
+ pdf = new jspdf_es_min.default({
78
+ unit: 'mm',
79
+ format: [pdfWidth, pdfHeight],
80
+ orientation,
81
+ });
82
+ }
83
+ else {
84
+ pdf.addPage([pdfWidth, pdfHeight], orientation);
85
+ }
86
+ pdf.addImage(imgData, 'JPEG', 0, 0, pdfWidth, pdfHeight);
87
+ }
88
+ if (pdf) {
89
+ const blob = pdf.output('blob');
90
+ pdf.save(`${filename}.pdf`);
91
+ return { success: true, blob };
92
+ }
93
+ return { success: false, error: 'Failed to generate PDF' };
94
+ }
95
+ catch (error) {
96
+ return {
97
+ success: false,
98
+ error: error instanceof Error ? error.message : 'Unknown error',
99
+ };
100
+ }
101
+ }
102
+ /**
103
+ * Download ID card as image (PNG or JPEG)
104
+ */
105
+ async function downloadIDCardAsImage(options) {
106
+ try {
107
+ const { frontElementId = 'idcardfront', filename = 'ID_Card', data, qrElementId, qrFields, format = 'png', scale = 10, quality = 1.0, } = options;
108
+ // Generate QR code if needed
109
+ if (qrElementId && data && qrFields && qrFields.length > 0) {
110
+ const qrData = {};
111
+ for (const field of qrFields) {
112
+ if (data[field] !== undefined) {
113
+ qrData[field] = data[field];
114
+ }
115
+ }
116
+ qrUtils.setQrCodeOnElement(qrElementId, qrData, 200);
117
+ }
118
+ await new Promise((resolve) => setTimeout(resolve, 100));
119
+ const capture = await captureElement(frontElementId, scale);
120
+ if (!capture) {
121
+ return { success: false, error: 'Element not found' };
122
+ }
123
+ const mimeType = format === 'jpeg' ? 'image/jpeg' : 'image/png';
124
+ const dataUrl = capture.canvas.toDataURL(mimeType, quality);
125
+ // Trigger download
126
+ const link = document.createElement('a');
127
+ link.download = `${filename}.${format}`;
128
+ link.href = dataUrl;
129
+ link.click();
130
+ return { success: true, dataUrl };
131
+ }
132
+ catch (error) {
133
+ return {
134
+ success: false,
135
+ error: error instanceof Error ? error.message : 'Unknown error',
136
+ };
137
+ }
138
+ }
139
+ /**
140
+ * Export ID card with unified options
141
+ */
142
+ async function exportIDCard(options) {
143
+ const { format, ...rest } = options;
144
+ if (format === 'pdf') {
145
+ return downloadIDCardAsPDF(rest);
146
+ }
147
+ else {
148
+ return downloadIDCardAsImage({ ...rest, format });
149
+ }
150
+ }
151
+
152
+ exports.downloadIDCardAsImage = downloadIDCardAsImage;
153
+ exports.downloadIDCardAsPDF = downloadIDCardAsPDF;
154
+ exports.exportIDCard = exportIDCard;
155
+ //# sourceMappingURL=exportUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportUtils.js","sources":["../../../src/core/exportUtils.ts"],"sourcesContent":["import html2canvas from 'html2canvas';\r\nimport jsPDF from 'jspdf';\r\nimport type { ExportOptions, ExportResult, IDCardData } from '../types';\r\nimport { setQrCodeOnElement } from './qrUtils';\r\n\r\ninterface DownloadIDCardOptions {\r\n frontElementId?: string;\r\n backElementId?: string;\r\n filename?: string;\r\n data?: IDCardData;\r\n qrElementId?: string;\r\n qrFields?: string[];\r\n format?: 'pdf' | 'png' | 'jpeg';\r\n scale?: number; // Canvas scale for quality (higher = better, but slower)\r\n quality?: number; // JPEG quality (0-1)\r\n}\r\n\r\n// High-quality canvas rendering defaults\r\nconst defaultCanvasOptions = {\r\n scale: 10, // 10x resolution for crisp output\r\n dpi: 1200,\r\n imageTimeout: 15000,\r\n letterRendering: true,\r\n logging: false,\r\n useCORS: true, // Allow cross-origin images\r\n backgroundColor: null,\r\n};\r\n\r\n/**\r\n * Capture a DOM element as a high-resolution canvas\r\n * Uses html2canvas to convert the element to an image\r\n * @returns Canvas and the original element, or null if not found\r\n */\r\nasync function captureElement(\r\n elementId: string,\r\n scale = 10\r\n): Promise<{ canvas: HTMLCanvasElement; element: HTMLElement } | null> {\r\n const element = document.getElementById(elementId);\r\n if (!element) return null;\r\n\r\n const canvas = await html2canvas(element, {\r\n ...defaultCanvasOptions,\r\n scale,\r\n });\r\n\r\n return { canvas, element };\r\n}\r\n\r\n/**\r\n * Download ID card(s) as a PDF file\r\n * Captures DOM elements and converts them to a multi-page PDF\r\n * @param options - Configuration for PDF export\r\n * @returns Export result with success status and any errors\r\n */\r\nexport async function downloadIDCardAsPDF(\r\n options: DownloadIDCardOptions\r\n): Promise<ExportResult> {\r\n try {\r\n const {\r\n frontElementId = 'idcardfront',\r\n backElementId,\r\n filename = 'ID_Card',\r\n data,\r\n qrElementId,\r\n qrFields,\r\n scale = 10,\r\n } = options;\r\n\r\n // Generate QR code if configured\r\n if (qrElementId && data && qrFields && qrFields.length > 0) {\r\n const qrData: Record<string, unknown> = {};\r\n for (const field of qrFields) {\r\n if (data[field] !== undefined) {\r\n qrData[field] = data[field];\r\n }\r\n }\r\n setQrCodeOnElement(qrElementId, qrData, 200);\r\n }\r\n\r\n // Wait for QR code and any images to fully render\r\n await new Promise((resolve) => setTimeout(resolve, 100));\r\n\r\n const pages: { canvas: HTMLCanvasElement; element: HTMLElement }[] = [];\r\n\r\n // Capture front\r\n const frontCapture = await captureElement(frontElementId, scale);\r\n if (frontCapture) pages.push(frontCapture);\r\n\r\n // Capture back if exists\r\n if (backElementId) {\r\n const backCapture = await captureElement(backElementId, scale);\r\n if (backCapture) pages.push(backCapture);\r\n }\r\n\r\n if (pages.length === 0) {\r\n return { success: false, error: 'No elements found to capture' };\r\n }\r\n\r\n let pdf: jsPDF | undefined;\r\n\r\n for (let i = 0; i < pages.length; i++) {\r\n const { canvas, element } = pages[i];\r\n const imgData = canvas.toDataURL('image/jpeg', 1.0);\r\n\r\n // Calculate PDF dimensions\r\n const pdfWidth = parseInt(element.style.width) * 0.264583 || 85;\r\n const aspectRatio = canvas.height / canvas.width;\r\n const pdfHeight = pdfWidth * aspectRatio;\r\n\r\n const orientation = pdfWidth >= pdfHeight ? 'landscape' : 'portrait';\r\n\r\n if (i === 0) {\r\n pdf = new jsPDF({\r\n unit: 'mm',\r\n format: [pdfWidth, pdfHeight],\r\n orientation,\r\n });\r\n } else {\r\n pdf!.addPage([pdfWidth, pdfHeight], orientation);\r\n }\r\n\r\n pdf!.addImage(imgData, 'JPEG', 0, 0, pdfWidth, pdfHeight);\r\n }\r\n\r\n if (pdf) {\r\n const blob = pdf.output('blob');\r\n pdf.save(`${filename}.pdf`);\r\n return { success: true, blob };\r\n }\r\n\r\n return { success: false, error: 'Failed to generate PDF' };\r\n } catch (error) {\r\n return {\r\n success: false,\r\n error: error instanceof Error ? error.message : 'Unknown error',\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Download ID card as image (PNG or JPEG)\r\n */\r\nexport async function downloadIDCardAsImage(\r\n options: DownloadIDCardOptions\r\n): Promise<ExportResult> {\r\n try {\r\n const {\r\n frontElementId = 'idcardfront',\r\n filename = 'ID_Card',\r\n data,\r\n qrElementId,\r\n qrFields,\r\n format = 'png',\r\n scale = 10,\r\n quality = 1.0,\r\n } = options;\r\n\r\n // Generate QR code if needed\r\n if (qrElementId && data && qrFields && qrFields.length > 0) {\r\n const qrData: Record<string, unknown> = {};\r\n for (const field of qrFields) {\r\n if (data[field] !== undefined) {\r\n qrData[field] = data[field];\r\n }\r\n }\r\n setQrCodeOnElement(qrElementId, qrData, 200);\r\n }\r\n\r\n await new Promise((resolve) => setTimeout(resolve, 100));\r\n\r\n const capture = await captureElement(frontElementId, scale);\r\n if (!capture) {\r\n return { success: false, error: 'Element not found' };\r\n }\r\n\r\n const mimeType = format === 'jpeg' ? 'image/jpeg' : 'image/png';\r\n const dataUrl = capture.canvas.toDataURL(mimeType, quality);\r\n\r\n // Trigger download\r\n const link = document.createElement('a');\r\n link.download = `${filename}.${format}`;\r\n link.href = dataUrl;\r\n link.click();\r\n\r\n return { success: true, dataUrl };\r\n } catch (error) {\r\n return {\r\n success: false,\r\n error: error instanceof Error ? error.message : 'Unknown error',\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Export ID card with unified options\r\n */\r\nexport async function exportIDCard(\r\n options: ExportOptions & {\r\n frontElementId?: string;\r\n backElementId?: string;\r\n data?: IDCardData;\r\n qrElementId?: string;\r\n qrFields?: string[];\r\n }\r\n): Promise<ExportResult> {\r\n const { format, ...rest } = options;\r\n\r\n if (format === 'pdf') {\r\n return downloadIDCardAsPDF(rest);\r\n } else {\r\n return downloadIDCardAsImage({ ...rest, format });\r\n }\r\n}\r\n"],"names":["html2canvas","setQrCodeOnElement","jsPDF"],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var qrious = require('../node_modules/qrious/dist/qrious.js');
4
+
5
+ /**
6
+ * Generate a QR code as a base64 data URL
7
+ * @param data - Data to encode in the QR code (will be JSON stringified)
8
+ * @param size - QR code size in pixels
9
+ * @param options - Customization options (error correction level, colors, etc.)
10
+ * @returns Base64 PNG data URL
11
+ */
12
+ function generateQrCodeDataURL(data, size = 200, options) {
13
+ const qr = new qrious({
14
+ value: JSON.stringify(data),
15
+ size,
16
+ level: options?.level || 'H', // High error correction by default
17
+ padding: options?.padding ?? 0,
18
+ background: options?.background || 'white',
19
+ backgroundAlpha: 1,
20
+ foreground: options?.foreground || 'black',
21
+ foregroundAlpha: 1,
22
+ });
23
+ return qr.toDataURL('image/png');
24
+ }
25
+ /**
26
+ * Generate QR code from specific fields in the card data
27
+ * Only includes fields that exist in the data object
28
+ * @param data - Full card data object
29
+ * @param fields - Array of field keys to include in QR code
30
+ * @param size - QR code size in pixels
31
+ * @returns Base64 PNG data URL
32
+ */
33
+ function generateQrCodeFromFields(data, fields, size = 200) {
34
+ // Build object with only the specified fields
35
+ const qrData = {};
36
+ for (const field of fields) {
37
+ if (data[field] !== undefined) {
38
+ qrData[field] = data[field];
39
+ }
40
+ }
41
+ return generateQrCodeDataURL(qrData, size);
42
+ }
43
+ /**
44
+ * Set QR code image src on a DOM element
45
+ */
46
+ function setQrCodeOnElement(elementId, data, size = 200, container = document) {
47
+ const qrDataURL = generateQrCodeDataURL(data, size);
48
+ const imgTag = (container === document
49
+ ? document.getElementById(elementId)
50
+ : container.querySelector(`#${elementId}`));
51
+ if (imgTag) {
52
+ imgTag.setAttribute('src', qrDataURL);
53
+ imgTag.style.display = 'block';
54
+ imgTag.style.opacity = '1';
55
+ imgTag.style.visibility = 'visible';
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+
61
+ exports.generateQrCodeDataURL = generateQrCodeDataURL;
62
+ exports.generateQrCodeFromFields = generateQrCodeFromFields;
63
+ exports.setQrCodeOnElement = setQrCodeOnElement;
64
+ //# sourceMappingURL=qrUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrUtils.js","sources":["../../../src/core/qrUtils.ts"],"sourcesContent":["import QRious from 'qrious';\r\nimport type { IDCardData } from '../types';\r\n\r\n/**\r\n * Generate a QR code as a base64 data URL\r\n * @param data - Data to encode in the QR code (will be JSON stringified)\r\n * @param size - QR code size in pixels\r\n * @param options - Customization options (error correction level, colors, etc.)\r\n * @returns Base64 PNG data URL\r\n */\r\nexport function generateQrCodeDataURL(\r\n data: Record<string, unknown>,\r\n size = 200,\r\n options?: {\r\n level?: 'L' | 'M' | 'Q' | 'H'; // Error correction level\r\n padding?: number;\r\n background?: string;\r\n foreground?: string;\r\n }\r\n): string {\r\n const qr = new (QRious as any)({\r\n value: JSON.stringify(data),\r\n size,\r\n level: options?.level || 'H', // High error correction by default\r\n padding: options?.padding ?? 0,\r\n background: options?.background || 'white',\r\n backgroundAlpha: 1,\r\n foreground: options?.foreground || 'black',\r\n foregroundAlpha: 1,\r\n });\r\n return qr.toDataURL('image/png');\r\n}\r\n\r\n/**\r\n * Generate QR code from specific fields in the card data\r\n * Only includes fields that exist in the data object\r\n * @param data - Full card data object\r\n * @param fields - Array of field keys to include in QR code\r\n * @param size - QR code size in pixels\r\n * @returns Base64 PNG data URL\r\n */\r\nexport function generateQrCodeFromFields(\r\n data: IDCardData,\r\n fields: string[],\r\n size = 200\r\n): string {\r\n // Build object with only the specified fields\r\n const qrData: Record<string, unknown> = {};\r\n for (const field of fields) {\r\n if (data[field] !== undefined) {\r\n qrData[field] = data[field];\r\n }\r\n }\r\n return generateQrCodeDataURL(qrData, size);\r\n}\r\n\r\n/**\r\n * Set QR code image src on a DOM element\r\n */\r\nexport function setQrCodeOnElement(\r\n elementId: string,\r\n data: Record<string, unknown>,\r\n size = 200,\r\n container: Document | HTMLElement = document\r\n): boolean {\r\n const qrDataURL = generateQrCodeDataURL(data, size);\r\n const imgTag = (\r\n container === document\r\n ? document.getElementById(elementId)\r\n : (container as HTMLElement).querySelector(`#${elementId}`)\r\n ) as HTMLImageElement | null;\r\n\r\n if (imgTag) {\r\n imgTag.setAttribute('src', qrDataURL);\r\n imgTag.style.display = 'block';\r\n imgTag.style.opacity = '1';\r\n imgTag.style.visibility = 'visible';\r\n return true;\r\n }\r\n return false;\r\n}\r\n"],"names":["QRious"],"mappings":";;;;AAGA;;;;;;AAMG;AACG,SAAU,qBAAqB,CACnC,IAA6B,EAC7B,IAAI,GAAG,GAAG,EACV,OAKC,EAAA;AAED,IAAA,MAAM,EAAE,GAAG,IAAKA,MAAc,CAAC;AAC7B,QAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI;AACJ,QAAA,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG;AAC5B,QAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC;AAC9B,QAAA,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,OAAO;AAC1C,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,OAAO;AAC1C,QAAA,eAAe,EAAE,CAAC;AACnB,KAAA,CAAC;AACF,IAAA,OAAO,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;AAClC;AAEA;;;;;;;AAOG;AACG,SAAU,wBAAwB,CACtC,IAAgB,EAChB,MAAgB,EAChB,IAAI,GAAG,GAAG,EAAA;;IAGV,MAAM,MAAM,GAA4B,EAAE;AAC1C,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B;IACF;AACA,IAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC5C;AAEA;;AAEG;AACG,SAAU,kBAAkB,CAChC,SAAiB,EACjB,IAA6B,EAC7B,IAAI,GAAG,GAAG,EACV,SAAA,GAAoC,QAAQ,EAAA;IAE5C,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC;AACnD,IAAA,MAAM,MAAM,IACV,SAAS,KAAK;AACZ,UAAE,QAAQ,CAAC,cAAc,CAAC,SAAS;UAChC,SAAyB,CAAC,aAAa,CAAC,IAAI,SAAS,CAAA,CAAE,CAAC,CACnC;IAE5B,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACrC,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;AAC9B,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;AAC1B,QAAA,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS;AACnC,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,KAAK;AACd;;;;;;"}
@@ -0,0 +1,148 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ function useFieldMapping(options) {
6
+ const { onFieldUpdate, containerRef, gridSize = 5, snapToGrid = false } = options || {};
7
+ const [selectedField, setSelectedField] = react.useState(null);
8
+ const [isDragging, setIsDragging] = react.useState(false);
9
+ const [isResizing, setIsResizing] = react.useState(false);
10
+ const dragStartRef = react.useRef({ x: 0, y: 0, fieldX: 0, fieldY: 0 });
11
+ const resizeStartRef = react.useRef({
12
+ x: 0,
13
+ y: 0,
14
+ width: 0,
15
+ height: 0,
16
+ fieldX: 0,
17
+ fieldY: 0,
18
+ handle: '',
19
+ });
20
+ const snapValue = react.useCallback((value) => {
21
+ if (!snapToGrid)
22
+ return value;
23
+ return Math.round(value / gridSize) * gridSize;
24
+ }, [snapToGrid, gridSize]);
25
+ const selectField = react.useCallback((field) => {
26
+ setSelectedField(field);
27
+ }, []);
28
+ const updatePosition = react.useCallback((position) => {
29
+ if (!selectedField)
30
+ return;
31
+ const updatedField = {
32
+ ...selectedField,
33
+ position: {
34
+ ...selectedField.position,
35
+ ...position,
36
+ },
37
+ };
38
+ setSelectedField(updatedField);
39
+ onFieldUpdate?.(updatedField);
40
+ }, [selectedField, onFieldUpdate]);
41
+ const updateStyle = react.useCallback((style) => {
42
+ if (!selectedField)
43
+ return;
44
+ const updatedField = {
45
+ ...selectedField,
46
+ style: {
47
+ ...selectedField.style,
48
+ ...style,
49
+ },
50
+ };
51
+ setSelectedField(updatedField);
52
+ onFieldUpdate?.(updatedField);
53
+ }, [selectedField, onFieldUpdate]);
54
+ const startDrag = react.useCallback((e) => {
55
+ if (!selectedField)
56
+ return;
57
+ e.preventDefault();
58
+ setIsDragging(true);
59
+ dragStartRef.current = {
60
+ x: e.clientX,
61
+ y: e.clientY,
62
+ fieldX: selectedField.position.x,
63
+ fieldY: selectedField.position.y,
64
+ };
65
+ }, [selectedField]);
66
+ const startResize = react.useCallback((e, handle) => {
67
+ if (!selectedField)
68
+ return;
69
+ e.preventDefault();
70
+ e.stopPropagation();
71
+ setIsResizing(true);
72
+ resizeStartRef.current = {
73
+ x: e.clientX,
74
+ y: e.clientY,
75
+ width: selectedField.position.width,
76
+ height: selectedField.position.height,
77
+ fieldX: selectedField.position.x,
78
+ fieldY: selectedField.position.y,
79
+ handle,
80
+ };
81
+ }, [selectedField]);
82
+ // Handle mouse move for dragging and resizing
83
+ react.useEffect(() => {
84
+ const handleMouseMove = (e) => {
85
+ if (isDragging && selectedField) {
86
+ const deltaX = e.clientX - dragStartRef.current.x;
87
+ const deltaY = e.clientY - dragStartRef.current.y;
88
+ const newX = snapValue(dragStartRef.current.fieldX + deltaX);
89
+ const newY = snapValue(dragStartRef.current.fieldY + deltaY);
90
+ updatePosition({ x: Math.max(0, newX), y: Math.max(0, newY) });
91
+ }
92
+ if (isResizing && selectedField) {
93
+ const { handle, x, y, width, height, fieldX, fieldY } = resizeStartRef.current;
94
+ const deltaX = e.clientX - x;
95
+ const deltaY = e.clientY - y;
96
+ let newWidth = width;
97
+ let newHeight = height;
98
+ let newX = fieldX;
99
+ let newY = fieldY;
100
+ if (handle.includes('e')) {
101
+ newWidth = snapValue(Math.max(20, width + deltaX));
102
+ }
103
+ if (handle.includes('w')) {
104
+ newWidth = snapValue(Math.max(20, width - deltaX));
105
+ newX = snapValue(fieldX + deltaX);
106
+ }
107
+ if (handle.includes('s')) {
108
+ newHeight = snapValue(Math.max(20, height + deltaY));
109
+ }
110
+ if (handle.includes('n')) {
111
+ newHeight = snapValue(Math.max(20, height - deltaY));
112
+ newY = snapValue(fieldY + deltaY);
113
+ }
114
+ updatePosition({
115
+ x: Math.max(0, newX),
116
+ y: Math.max(0, newY),
117
+ width: newWidth,
118
+ height: newHeight,
119
+ });
120
+ }
121
+ };
122
+ const handleMouseUp = () => {
123
+ setIsDragging(false);
124
+ setIsResizing(false);
125
+ };
126
+ if (isDragging || isResizing) {
127
+ document.addEventListener('mousemove', handleMouseMove);
128
+ document.addEventListener('mouseup', handleMouseUp);
129
+ }
130
+ return () => {
131
+ document.removeEventListener('mousemove', handleMouseMove);
132
+ document.removeEventListener('mouseup', handleMouseUp);
133
+ };
134
+ }, [isDragging, isResizing, selectedField, updatePosition, snapValue]);
135
+ return {
136
+ selectedField,
137
+ selectField,
138
+ updatePosition,
139
+ updateStyle,
140
+ isDragging,
141
+ isResizing,
142
+ startDrag,
143
+ startResize,
144
+ };
145
+ }
146
+
147
+ exports.useFieldMapping = useFieldMapping;
148
+ //# sourceMappingURL=useFieldMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFieldMapping.js","sources":["../../../src/hooks/useFieldMapping.ts"],"sourcesContent":["import type React from 'react';\r\nimport { useState, useCallback, useRef, useEffect } from 'react';\r\nimport type { FieldMapping, FieldPosition, FieldStyle, UseFieldMappingReturn } from '../types';\r\n\r\ninterface UseFieldMappingOptions {\r\n onFieldUpdate?: (field: FieldMapping) => void;\r\n containerRef?: React.RefObject<HTMLElement>;\r\n gridSize?: number;\r\n snapToGrid?: boolean;\r\n}\r\n\r\nexport function useFieldMapping(options?: UseFieldMappingOptions): UseFieldMappingReturn {\r\n const { onFieldUpdate, containerRef, gridSize = 5, snapToGrid = false } = options || {};\r\n\r\n const [selectedField, setSelectedField] = useState<FieldMapping | null>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [isResizing, setIsResizing] = useState(false);\r\n\r\n const dragStartRef = useRef({ x: 0, y: 0, fieldX: 0, fieldY: 0 });\r\n const resizeStartRef = useRef({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0,\r\n fieldX: 0,\r\n fieldY: 0,\r\n handle: '',\r\n });\r\n\r\n const snapValue = useCallback(\r\n (value: number): number => {\r\n if (!snapToGrid) return value;\r\n return Math.round(value / gridSize) * gridSize;\r\n },\r\n [snapToGrid, gridSize]\r\n );\r\n\r\n const selectField = useCallback((field: FieldMapping | null) => {\r\n setSelectedField(field);\r\n }, []);\r\n\r\n const updatePosition = useCallback(\r\n (position: Partial<FieldPosition>) => {\r\n if (!selectedField) return;\r\n\r\n const updatedField: FieldMapping = {\r\n ...selectedField,\r\n position: {\r\n ...selectedField.position,\r\n ...position,\r\n },\r\n };\r\n\r\n setSelectedField(updatedField);\r\n onFieldUpdate?.(updatedField);\r\n },\r\n [selectedField, onFieldUpdate]\r\n );\r\n\r\n const updateStyle = useCallback(\r\n (style: Partial<FieldStyle>) => {\r\n if (!selectedField) return;\r\n\r\n const updatedField: FieldMapping = {\r\n ...selectedField,\r\n style: {\r\n ...selectedField.style,\r\n ...style,\r\n },\r\n };\r\n\r\n setSelectedField(updatedField);\r\n onFieldUpdate?.(updatedField);\r\n },\r\n [selectedField, onFieldUpdate]\r\n );\r\n\r\n const startDrag = useCallback(\r\n (e: React.MouseEvent) => {\r\n if (!selectedField) return;\r\n\r\n e.preventDefault();\r\n setIsDragging(true);\r\n\r\n dragStartRef.current = {\r\n x: e.clientX,\r\n y: e.clientY,\r\n fieldX: selectedField.position.x,\r\n fieldY: selectedField.position.y,\r\n };\r\n },\r\n [selectedField]\r\n );\r\n\r\n const startResize = useCallback(\r\n (e: React.MouseEvent, handle: string) => {\r\n if (!selectedField) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setIsResizing(true);\r\n\r\n resizeStartRef.current = {\r\n x: e.clientX,\r\n y: e.clientY,\r\n width: selectedField.position.width,\r\n height: selectedField.position.height,\r\n fieldX: selectedField.position.x,\r\n fieldY: selectedField.position.y,\r\n handle,\r\n };\r\n },\r\n [selectedField]\r\n );\r\n\r\n // Handle mouse move for dragging and resizing\r\n useEffect(() => {\r\n const handleMouseMove = (e: MouseEvent) => {\r\n if (isDragging && selectedField) {\r\n const deltaX = e.clientX - dragStartRef.current.x;\r\n const deltaY = e.clientY - dragStartRef.current.y;\r\n\r\n const newX = snapValue(dragStartRef.current.fieldX + deltaX);\r\n const newY = snapValue(dragStartRef.current.fieldY + deltaY);\r\n\r\n updatePosition({ x: Math.max(0, newX), y: Math.max(0, newY) });\r\n }\r\n\r\n if (isResizing && selectedField) {\r\n const { handle, x, y, width, height, fieldX, fieldY } = resizeStartRef.current;\r\n const deltaX = e.clientX - x;\r\n const deltaY = e.clientY - y;\r\n\r\n let newWidth = width;\r\n let newHeight = height;\r\n let newX = fieldX;\r\n let newY = fieldY;\r\n\r\n if (handle.includes('e')) {\r\n newWidth = snapValue(Math.max(20, width + deltaX));\r\n }\r\n if (handle.includes('w')) {\r\n newWidth = snapValue(Math.max(20, width - deltaX));\r\n newX = snapValue(fieldX + deltaX);\r\n }\r\n if (handle.includes('s')) {\r\n newHeight = snapValue(Math.max(20, height + deltaY));\r\n }\r\n if (handle.includes('n')) {\r\n newHeight = snapValue(Math.max(20, height - deltaY));\r\n newY = snapValue(fieldY + deltaY);\r\n }\r\n\r\n updatePosition({\r\n x: Math.max(0, newX),\r\n y: Math.max(0, newY),\r\n width: newWidth,\r\n height: newHeight,\r\n });\r\n }\r\n };\r\n\r\n const handleMouseUp = () => {\r\n setIsDragging(false);\r\n setIsResizing(false);\r\n };\r\n\r\n if (isDragging || isResizing) {\r\n document.addEventListener('mousemove', handleMouseMove);\r\n document.addEventListener('mouseup', handleMouseUp);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener('mousemove', handleMouseMove);\r\n document.removeEventListener('mouseup', handleMouseUp);\r\n };\r\n }, [isDragging, isResizing, selectedField, updatePosition, snapValue]);\r\n\r\n return {\r\n selectedField,\r\n selectField,\r\n updatePosition,\r\n updateStyle,\r\n isDragging,\r\n isResizing,\r\n startDrag,\r\n startResize,\r\n };\r\n}\r\n"],"names":["useState","useRef","useCallback","useEffect"],"mappings":"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"}