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.
- package/README.md +214 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js +11 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/cjs/_virtual/index.js +6 -0
- package/dist/cjs/_virtual/index.js.map +1 -0
- package/dist/cjs/_virtual/make-built-in.js +6 -0
- package/dist/cjs/_virtual/make-built-in.js.map +1 -0
- package/dist/cjs/_virtual/new-promise-capability.js +6 -0
- package/dist/cjs/_virtual/new-promise-capability.js.map +1 -0
- package/dist/cjs/_virtual/object-define-properties.js +6 -0
- package/dist/cjs/_virtual/object-define-properties.js.map +1 -0
- package/dist/cjs/_virtual/object-define-property.js +6 -0
- package/dist/cjs/_virtual/object-define-property.js.map +1 -0
- package/dist/cjs/_virtual/object-get-own-property-descriptor.js +6 -0
- package/dist/cjs/_virtual/object-get-own-property-descriptor.js.map +1 -0
- package/dist/cjs/_virtual/object-get-own-property-names.js +6 -0
- package/dist/cjs/_virtual/object-get-own-property-names.js.map +1 -0
- package/dist/cjs/_virtual/object-get-own-property-symbols.js +6 -0
- package/dist/cjs/_virtual/object-get-own-property-symbols.js.map +1 -0
- package/dist/cjs/_virtual/object-property-is-enumerable.js +6 -0
- package/dist/cjs/_virtual/object-property-is-enumerable.js.map +1 -0
- package/dist/cjs/_virtual/performance-now.js +6 -0
- package/dist/cjs/_virtual/performance-now.js.map +1 -0
- package/dist/cjs/_virtual/qrious.js +6 -0
- package/dist/cjs/_virtual/qrious.js.map +1 -0
- package/dist/cjs/_virtual/shared-store.js +6 -0
- package/dist/cjs/_virtual/shared-store.js.map +1 -0
- package/dist/cjs/components/IDCardDesigner.js +283 -0
- package/dist/cjs/components/IDCardDesigner.js.map +1 -0
- package/dist/cjs/components/IDCardGenerator.js +139 -0
- package/dist/cjs/components/IDCardGenerator.js.map +1 -0
- package/dist/cjs/components/IDCardPreview.js +168 -0
- package/dist/cjs/components/IDCardPreview.js.map +1 -0
- package/dist/cjs/core/exportUtils.js +155 -0
- package/dist/cjs/core/exportUtils.js.map +1 -0
- package/dist/cjs/core/qrUtils.js +64 -0
- package/dist/cjs/core/qrUtils.js.map +1 -0
- package/dist/cjs/hooks/useFieldMapping.js +148 -0
- package/dist/cjs/hooks/useFieldMapping.js.map +1 -0
- package/dist/cjs/hooks/useIDCardExport.js +81 -0
- package/dist/cjs/hooks/useIDCardExport.js.map +1 -0
- package/dist/cjs/hooks/useIDCardTemplate.js +155 -0
- package/dist/cjs/hooks/useIDCardTemplate.js.map +1 -0
- package/dist/cjs/index.js +48 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +30 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js.map +1 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js +15 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +17 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +12 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js +14 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
- package/dist/cjs/node_modules/canvg/lib/index.es.js +6645 -0
- package/dist/cjs/node_modules/canvg/lib/index.es.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/a-callable.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/a-callable.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/a-constructor.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/a-constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/a-possible-prototype.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/a-possible-prototype.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/add-to-unscopables.js +30 -0
- package/dist/cjs/node_modules/core-js/internals/add-to-unscopables.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/advance-string-index.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/advance-string-index.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/an-instance.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/an-instance.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/an-object.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/an-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/array-includes.js +39 -0
- package/dist/cjs/node_modules/core-js/internals/array-includes.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/array-method-is-strict.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/array-method-is-strict.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/array-reduce.js +51 -0
- package/dist/cjs/node_modules/core-js/internals/array-reduce.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/array-slice.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/array-slice.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/check-correctness-of-iteration.js +49 -0
- package/dist/cjs/node_modules/core-js/internals/check-correctness-of-iteration.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/classof-raw.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/classof-raw.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/classof.js +39 -0
- package/dist/cjs/node_modules/core-js/internals/classof.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/copy-constructor-properties.js +28 -0
- package/dist/cjs/node_modules/core-js/internals/copy-constructor-properties.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/correct-is-regexp-logic.js +22 -0
- package/dist/cjs/node_modules/core-js/internals/correct-is-regexp-logic.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/correct-prototype-getter.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/correct-prototype-getter.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/create-iter-result-object.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/create-iter-result-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/create-non-enumerable-property.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/create-non-enumerable-property.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/create-property-descriptor.js +13 -0
- package/dist/cjs/node_modules/core-js/internals/create-property-descriptor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/define-built-in-accessor.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/define-built-in-accessor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/define-built-in.js +38 -0
- package/dist/cjs/node_modules/core-js/internals/define-built-in.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/define-global-property.js +19 -0
- package/dist/cjs/node_modules/core-js/internals/define-global-property.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/descriptors.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/descriptors.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/document-create-element.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/document-create-element.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/dom-iterables.js +40 -0
- package/dist/cjs/node_modules/core-js/internals/dom-iterables.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/dom-token-list-prototype.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/dom-token-list-prototype.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/enum-bug-keys.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/enum-bug-keys.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-ios-pebble.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-ios-pebble.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-ios.js +11 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-ios.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-node.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-node.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-webos-webkit.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/environment-is-webos-webkit.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-user-agent.js +13 -0
- package/dist/cjs/node_modules/core-js/internals/environment-user-agent.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment-v8-version.js +35 -0
- package/dist/cjs/node_modules/core-js/internals/environment-v8-version.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/environment.js +29 -0
- package/dist/cjs/node_modules/core-js/internals/environment.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/export.js +68 -0
- package/dist/cjs/node_modules/core-js/internals/export.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/fails.js +12 -0
- package/dist/cjs/node_modules/core-js/internals/fails.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js +90 -0
- package/dist/cjs/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-apply.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/function-apply.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-bind-context.js +22 -0
- package/dist/cjs/node_modules/core-js/internals/function-bind-context.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-bind-native.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/function-bind-native.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-call.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/function-call.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-name.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/function-name.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-accessor.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-accessor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-clause.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this-clause.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this.js +19 -0
- package/dist/cjs/node_modules/core-js/internals/function-uncurry-this.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/get-built-in.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/get-built-in.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/get-iterator-method.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/get-iterator-method.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/get-iterator.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/get-iterator.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/get-method.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/get-method.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/get-substitution.js +53 -0
- package/dist/cjs/node_modules/core-js/internals/get-substitution.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/global-this.js +22 -0
- package/dist/cjs/node_modules/core-js/internals/global-this.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/has-own-property.js +19 -0
- package/dist/cjs/node_modules/core-js/internals/has-own-property.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/hidden-keys.js +6 -0
- package/dist/cjs/node_modules/core-js/internals/hidden-keys.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/host-report-errors.js +11 -0
- package/dist/cjs/node_modules/core-js/internals/host-report-errors.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/html.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/html.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/ie8-dom-define.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/ie8-dom-define.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/indexed-object.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/indexed-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/inspect-source.js +23 -0
- package/dist/cjs/node_modules/core-js/internals/inspect-source.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/internal-state.js +84 -0
- package/dist/cjs/node_modules/core-js/internals/internal-state.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-array-iterator-method.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/is-array-iterator-method.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-array.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/is-array.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-callable.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/is-callable.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-constructor.js +63 -0
- package/dist/cjs/node_modules/core-js/internals/is-constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-forced.js +30 -0
- package/dist/cjs/node_modules/core-js/internals/is-forced.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-null-or-undefined.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/is-null-or-undefined.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-object.js +12 -0
- package/dist/cjs/node_modules/core-js/internals/is-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-possible-prototype.js +12 -0
- package/dist/cjs/node_modules/core-js/internals/is-possible-prototype.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-regexp.js +21 -0
- package/dist/cjs/node_modules/core-js/internals/is-regexp.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/is-symbol.js +23 -0
- package/dist/cjs/node_modules/core-js/internals/is-symbol.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterate.js +84 -0
- package/dist/cjs/node_modules/core-js/internals/iterate.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-close.js +32 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-close.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-create-constructor.js +26 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-create-constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-define.js +118 -0
- package/dist/cjs/node_modules/core-js/internals/iterator-define.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterators-core.js +58 -0
- package/dist/cjs/node_modules/core-js/internals/iterators-core.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/iterators.js +6 -0
- package/dist/cjs/node_modules/core-js/internals/iterators.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/length-of-array-like.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/length-of-array-like.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/make-built-in.js +71 -0
- package/dist/cjs/node_modules/core-js/internals/make-built-in.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/math-trunc.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/math-trunc.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/microtask.js +93 -0
- package/dist/cjs/node_modules/core-js/internals/microtask.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/new-promise-capability.js +28 -0
- package/dist/cjs/node_modules/core-js/internals/new-promise-capability.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/not-a-regexp.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/not-a-regexp.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-create.js +98 -0
- package/dist/cjs/node_modules/core-js/internals/object-create.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-define-properties.js +34 -0
- package/dist/cjs/node_modules/core-js/internals/object-define-properties.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-define-property.js +55 -0
- package/dist/cjs/node_modules/core-js/internals/object-define-property.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +38 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-descriptor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-names.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-names.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-symbols.js +9 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-own-property-symbols.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-prototype-of.js +32 -0
- package/dist/cjs/node_modules/core-js/internals/object-get-prototype-of.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-is-prototype-of.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/object-is-prototype-of.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-keys-internal.js +31 -0
- package/dist/cjs/node_modules/core-js/internals/object-keys-internal.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-keys.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/object-keys.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-property-is-enumerable.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/object-property-is-enumerable.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/object-set-prototype-of.js +38 -0
- package/dist/cjs/node_modules/core-js/internals/object-set-prototype-of.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/ordinary-to-primitive.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/ordinary-to-primitive.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/own-keys.js +27 -0
- package/dist/cjs/node_modules/core-js/internals/own-keys.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/path.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/path.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/perform.js +12 -0
- package/dist/cjs/node_modules/core-js/internals/perform.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/promise-constructor-detection.js +57 -0
- package/dist/cjs/node_modules/core-js/internals/promise-constructor-detection.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/promise-native-constructor.js +10 -0
- package/dist/cjs/node_modules/core-js/internals/promise-native-constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/promise-resolve.js +22 -0
- package/dist/cjs/node_modules/core-js/internals/promise-resolve.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/promise-statics-incorrect-iteration.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/promise-statics-incorrect-iteration.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/queue.js +29 -0
- package/dist/cjs/node_modules/core-js/internals/queue.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-exec-abstract.js +31 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-exec-abstract.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-exec.js +132 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-exec.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-flags-detection.js +54 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-flags-detection.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-flags.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-flags.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-get-flags.js +26 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-sticky-helpers.js +37 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-sticky-helpers.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-dot-all.js +18 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-dot-all.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-ncg.js +19 -0
- package/dist/cjs/node_modules/core-js/internals/regexp-unsupported-ncg.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/require-object-coercible.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/require-object-coercible.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/safe-get-built-in.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/safe-get-built-in.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/set-species.js +27 -0
- package/dist/cjs/node_modules/core-js/internals/set-species.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/set-to-string-tag.js +22 -0
- package/dist/cjs/node_modules/core-js/internals/set-to-string-tag.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/shared-key.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/shared-key.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/shared-store.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/shared-store.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/shared.js +12 -0
- package/dist/cjs/node_modules/core-js/internals/shared.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/species-constructor.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/species-constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/string-multibyte.js +43 -0
- package/dist/cjs/node_modules/core-js/internals/string-multibyte.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/string-trim-forced.js +24 -0
- package/dist/cjs/node_modules/core-js/internals/string-trim-forced.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/string-trim.js +34 -0
- package/dist/cjs/node_modules/core-js/internals/string-trim.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/symbol-constructor-detection.js +27 -0
- package/dist/cjs/node_modules/core-js/internals/symbol-constructor-detection.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/task.js +132 -0
- package/dist/cjs/node_modules/core-js/internals/task.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-absolute-index.js +19 -0
- package/dist/cjs/node_modules/core-js/internals/to-absolute-index.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-indexed-object.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/to-indexed-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-integer-or-infinity.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/to-integer-or-infinity.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-length.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/to-length.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-object.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/to-object.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-primitive.js +37 -0
- package/dist/cjs/node_modules/core-js/internals/to-primitive.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-property-key.js +17 -0
- package/dist/cjs/node_modules/core-js/internals/to-property-key.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-string-tag-support.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/to-string-tag-support.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/to-string.js +15 -0
- package/dist/cjs/node_modules/core-js/internals/to-string.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/try-to-string.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/try-to-string.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/uid.js +16 -0
- package/dist/cjs/node_modules/core-js/internals/uid.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/use-symbol-as-uid.js +13 -0
- package/dist/cjs/node_modules/core-js/internals/use-symbol-as-uid.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/v8-prototype-define-bug.js +20 -0
- package/dist/cjs/node_modules/core-js/internals/v8-prototype-define-bug.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/validate-arguments-length.js +11 -0
- package/dist/cjs/node_modules/core-js/internals/validate-arguments-length.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/weak-map-basic-detection.js +14 -0
- package/dist/cjs/node_modules/core-js/internals/weak-map-basic-detection.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/well-known-symbol.js +30 -0
- package/dist/cjs/node_modules/core-js/internals/well-known-symbol.js.map +1 -0
- package/dist/cjs/node_modules/core-js/internals/whitespaces.js +8 -0
- package/dist/cjs/node_modules/core-js/internals/whitespaces.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.index-of.js +30 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.index-of.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.iterator.js +75 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.iterator.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.reduce.js +28 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.reduce.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.reverse.js +25 -0
- package/dist/cjs/node_modules/core-js/modules/es.array.reverse.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.all.js +50 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.all.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.catch.js +34 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.catch.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.constructor.js +319 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.constructor.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.race.js +37 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.race.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.reject.js +22 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.reject.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.resolve.js +23 -0
- package/dist/cjs/node_modules/core-js/modules/es.promise.resolve.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.regexp.exec.js +14 -0
- package/dist/cjs/node_modules/core-js/modules/es.regexp.exec.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.regexp.to-string.js +35 -0
- package/dist/cjs/node_modules/core-js/modules/es.regexp.to-string.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.ends-with.js +45 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.ends-with.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.includes.js +30 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.includes.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.match.js +69 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.match.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.replace.js +165 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.replace.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.split.js +128 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.split.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.starts-with.js +43 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.starts-with.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.trim.js +18 -0
- package/dist/cjs/node_modules/core-js/modules/es.string.trim.js.map +1 -0
- package/dist/cjs/node_modules/core-js/modules/web.dom-collections.iterator.js +47 -0
- package/dist/cjs/node_modules/core-js/modules/web.dom-collections.iterator.js.map +1 -0
- package/dist/cjs/node_modules/dompurify/dist/purify.es.js +1533 -0
- package/dist/cjs/node_modules/dompurify/dist/purify.es.js.map +1 -0
- package/dist/cjs/node_modules/fflate/esm/browser.js +807 -0
- package/dist/cjs/node_modules/fflate/esm/browser.js.map +1 -0
- package/dist/cjs/node_modules/html2canvas/dist/html2canvas.esm.js +7824 -0
- package/dist/cjs/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
- package/dist/cjs/node_modules/jspdf/dist/jspdf.es.min.js +358 -0
- package/dist/cjs/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -0
- package/dist/cjs/node_modules/performance-now/lib/performance-now.js +46 -0
- package/dist/cjs/node_modules/performance-now/lib/performance-now.js.map +1 -0
- package/dist/cjs/node_modules/qrious/dist/qrious.js +2374 -0
- package/dist/cjs/node_modules/qrious/dist/qrious.js.map +1 -0
- package/dist/cjs/node_modules/raf/index.js +87 -0
- package/dist/cjs/node_modules/raf/index.js.map +1 -0
- package/dist/cjs/node_modules/rgbcolor/index.js +311 -0
- package/dist/cjs/node_modules/rgbcolor/index.js.map +1 -0
- package/dist/cjs/node_modules/stackblur-canvas/dist/stackblur-es.js +384 -0
- package/dist/cjs/node_modules/stackblur-canvas/dist/stackblur-es.js.map +1 -0
- package/dist/cjs/node_modules/svg-pathdata/lib/SVGPathData.module.js +23 -0
- package/dist/cjs/node_modules/svg-pathdata/lib/SVGPathData.module.js.map +1 -0
- package/dist/cjs/storage/templateStorage.js +154 -0
- package/dist/cjs/storage/templateStorage.js.map +1 -0
- package/dist/cjs/styles.css +1 -0
- package/dist/cjs/utils/styleUtils.js +98 -0
- package/dist/cjs/utils/styleUtils.js.map +1 -0
- package/dist/cjs/utils/validators.js +144 -0
- package/dist/cjs/utils/validators.js.map +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +8 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/index.js +4 -0
- package/dist/esm/_virtual/index.js.map +1 -0
- package/dist/esm/_virtual/make-built-in.js +4 -0
- package/dist/esm/_virtual/make-built-in.js.map +1 -0
- package/dist/esm/_virtual/new-promise-capability.js +4 -0
- package/dist/esm/_virtual/new-promise-capability.js.map +1 -0
- package/dist/esm/_virtual/object-define-properties.js +4 -0
- package/dist/esm/_virtual/object-define-properties.js.map +1 -0
- package/dist/esm/_virtual/object-define-property.js +4 -0
- package/dist/esm/_virtual/object-define-property.js.map +1 -0
- package/dist/esm/_virtual/object-get-own-property-descriptor.js +4 -0
- package/dist/esm/_virtual/object-get-own-property-descriptor.js.map +1 -0
- package/dist/esm/_virtual/object-get-own-property-names.js +4 -0
- package/dist/esm/_virtual/object-get-own-property-names.js.map +1 -0
- package/dist/esm/_virtual/object-get-own-property-symbols.js +4 -0
- package/dist/esm/_virtual/object-get-own-property-symbols.js.map +1 -0
- package/dist/esm/_virtual/object-property-is-enumerable.js +4 -0
- package/dist/esm/_virtual/object-property-is-enumerable.js.map +1 -0
- package/dist/esm/_virtual/performance-now.js +4 -0
- package/dist/esm/_virtual/performance-now.js.map +1 -0
- package/dist/esm/_virtual/qrious.js +4 -0
- package/dist/esm/_virtual/qrious.js.map +1 -0
- package/dist/esm/_virtual/shared-store.js +4 -0
- package/dist/esm/_virtual/shared-store.js.map +1 -0
- package/dist/esm/components/IDCardDesigner.js +278 -0
- package/dist/esm/components/IDCardDesigner.js.map +1 -0
- package/dist/esm/components/IDCardGenerator.js +134 -0
- package/dist/esm/components/IDCardGenerator.js.map +1 -0
- package/dist/esm/components/IDCardPreview.js +163 -0
- package/dist/esm/components/IDCardPreview.js.map +1 -0
- package/dist/esm/core/exportUtils.js +151 -0
- package/dist/esm/core/exportUtils.js.map +1 -0
- package/dist/esm/core/qrUtils.js +60 -0
- package/dist/esm/core/qrUtils.js.map +1 -0
- package/dist/esm/hooks/useFieldMapping.js +146 -0
- package/dist/esm/hooks/useFieldMapping.js.map +1 -0
- package/dist/esm/hooks/useIDCardExport.js +79 -0
- package/dist/esm/hooks/useIDCardExport.js.map +1 -0
- package/dist/esm/hooks/useIDCardTemplate.js +153 -0
- package/dist/esm/hooks/useIDCardTemplate.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +28 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js.map +1 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +13 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +15 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +10 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +12 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
- package/dist/esm/node_modules/canvg/lib/index.es.js +6556 -0
- package/dist/esm/node_modules/canvg/lib/index.es.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/a-callable.js +16 -0
- package/dist/esm/node_modules/core-js/internals/a-callable.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/a-constructor.js +16 -0
- package/dist/esm/node_modules/core-js/internals/a-constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/a-possible-prototype.js +14 -0
- package/dist/esm/node_modules/core-js/internals/a-possible-prototype.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/add-to-unscopables.js +28 -0
- package/dist/esm/node_modules/core-js/internals/add-to-unscopables.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/advance-string-index.js +12 -0
- package/dist/esm/node_modules/core-js/internals/advance-string-index.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/an-instance.js +13 -0
- package/dist/esm/node_modules/core-js/internals/an-instance.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/an-object.js +15 -0
- package/dist/esm/node_modules/core-js/internals/an-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/array-includes.js +37 -0
- package/dist/esm/node_modules/core-js/internals/array-includes.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/array-method-is-strict.js +14 -0
- package/dist/esm/node_modules/core-js/internals/array-method-is-strict.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/array-reduce.js +49 -0
- package/dist/esm/node_modules/core-js/internals/array-reduce.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/array-slice.js +8 -0
- package/dist/esm/node_modules/core-js/internals/array-slice.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/check-correctness-of-iteration.js +47 -0
- package/dist/esm/node_modules/core-js/internals/check-correctness-of-iteration.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/classof-raw.js +13 -0
- package/dist/esm/node_modules/core-js/internals/classof-raw.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/classof.js +37 -0
- package/dist/esm/node_modules/core-js/internals/classof.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/copy-constructor-properties.js +26 -0
- package/dist/esm/node_modules/core-js/internals/copy-constructor-properties.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/correct-is-regexp-logic.js +20 -0
- package/dist/esm/node_modules/core-js/internals/correct-is-regexp-logic.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/correct-prototype-getter.js +13 -0
- package/dist/esm/node_modules/core-js/internals/correct-prototype-getter.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/create-iter-result-object.js +8 -0
- package/dist/esm/node_modules/core-js/internals/create-iter-result-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/create-non-enumerable-property.js +18 -0
- package/dist/esm/node_modules/core-js/internals/create-non-enumerable-property.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/create-property-descriptor.js +11 -0
- package/dist/esm/node_modules/core-js/internals/create-property-descriptor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/define-built-in-accessor.js +15 -0
- package/dist/esm/node_modules/core-js/internals/define-built-in-accessor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/define-built-in.js +36 -0
- package/dist/esm/node_modules/core-js/internals/define-built-in.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/define-global-property.js +17 -0
- package/dist/esm/node_modules/core-js/internals/define-global-property.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/descriptors.js +12 -0
- package/dist/esm/node_modules/core-js/internals/descriptors.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/document-create-element.js +16 -0
- package/dist/esm/node_modules/core-js/internals/document-create-element.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/dom-iterables.js +38 -0
- package/dist/esm/node_modules/core-js/internals/dom-iterables.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/dom-token-list-prototype.js +12 -0
- package/dist/esm/node_modules/core-js/internals/dom-token-list-prototype.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/enum-bug-keys.js +13 -0
- package/dist/esm/node_modules/core-js/internals/enum-bug-keys.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js +8 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-ios-pebble.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-ios.js +9 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-ios.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-node.js +8 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-node.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js +8 -0
- package/dist/esm/node_modules/core-js/internals/environment-is-webos-webkit.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-user-agent.js +11 -0
- package/dist/esm/node_modules/core-js/internals/environment-user-agent.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment-v8-version.js +33 -0
- package/dist/esm/node_modules/core-js/internals/environment-v8-version.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/environment.js +27 -0
- package/dist/esm/node_modules/core-js/internals/environment.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/export.js +66 -0
- package/dist/esm/node_modules/core-js/internals/export.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/fails.js +10 -0
- package/dist/esm/node_modules/core-js/internals/fails.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js +88 -0
- package/dist/esm/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-apply.js +15 -0
- package/dist/esm/node_modules/core-js/internals/function-apply.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-bind-context.js +20 -0
- package/dist/esm/node_modules/core-js/internals/function-bind-context.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-bind-native.js +13 -0
- package/dist/esm/node_modules/core-js/internals/function-bind-native.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-call.js +12 -0
- package/dist/esm/node_modules/core-js/internals/function-call.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-name.js +22 -0
- package/dist/esm/node_modules/core-js/internals/function-name.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this-accessor.js +15 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this-accessor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this-clause.js +15 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this-clause.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this.js +17 -0
- package/dist/esm/node_modules/core-js/internals/function-uncurry-this.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/get-built-in.js +16 -0
- package/dist/esm/node_modules/core-js/internals/get-built-in.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/get-iterator-method.js +22 -0
- package/dist/esm/node_modules/core-js/internals/get-iterator-method.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/get-iterator.js +22 -0
- package/dist/esm/node_modules/core-js/internals/get-iterator.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/get-method.js +15 -0
- package/dist/esm/node_modules/core-js/internals/get-method.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/get-substitution.js +51 -0
- package/dist/esm/node_modules/core-js/internals/get-substitution.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/global-this.js +20 -0
- package/dist/esm/node_modules/core-js/internals/global-this.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/has-own-property.js +17 -0
- package/dist/esm/node_modules/core-js/internals/has-own-property.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/hidden-keys.js +4 -0
- package/dist/esm/node_modules/core-js/internals/hidden-keys.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/host-report-errors.js +9 -0
- package/dist/esm/node_modules/core-js/internals/host-report-errors.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/html.js +8 -0
- package/dist/esm/node_modules/core-js/internals/html.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/ie8-dom-define.js +18 -0
- package/dist/esm/node_modules/core-js/internals/ie8-dom-define.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/indexed-object.js +22 -0
- package/dist/esm/node_modules/core-js/internals/indexed-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/inspect-source.js +21 -0
- package/dist/esm/node_modules/core-js/internals/inspect-source.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/internal-state.js +82 -0
- package/dist/esm/node_modules/core-js/internals/internal-state.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-array-iterator-method.js +16 -0
- package/dist/esm/node_modules/core-js/internals/is-array-iterator-method.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-array.js +13 -0
- package/dist/esm/node_modules/core-js/internals/is-array.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-callable.js +14 -0
- package/dist/esm/node_modules/core-js/internals/is-callable.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-constructor.js +61 -0
- package/dist/esm/node_modules/core-js/internals/is-constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-forced.js +28 -0
- package/dist/esm/node_modules/core-js/internals/is-forced.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-null-or-undefined.js +8 -0
- package/dist/esm/node_modules/core-js/internals/is-null-or-undefined.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-object.js +10 -0
- package/dist/esm/node_modules/core-js/internals/is-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-possible-prototype.js +10 -0
- package/dist/esm/node_modules/core-js/internals/is-possible-prototype.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-regexp.js +19 -0
- package/dist/esm/node_modules/core-js/internals/is-regexp.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/is-symbol.js +21 -0
- package/dist/esm/node_modules/core-js/internals/is-symbol.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterate.js +82 -0
- package/dist/esm/node_modules/core-js/internals/iterate.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterator-close.js +30 -0
- package/dist/esm/node_modules/core-js/internals/iterator-close.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterator-create-constructor.js +24 -0
- package/dist/esm/node_modules/core-js/internals/iterator-create-constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterator-define.js +116 -0
- package/dist/esm/node_modules/core-js/internals/iterator-define.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterators-core.js +56 -0
- package/dist/esm/node_modules/core-js/internals/iterators-core.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/iterators.js +4 -0
- package/dist/esm/node_modules/core-js/internals/iterators.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/length-of-array-like.js +12 -0
- package/dist/esm/node_modules/core-js/internals/length-of-array-like.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/make-built-in.js +69 -0
- package/dist/esm/node_modules/core-js/internals/make-built-in.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/math-trunc.js +13 -0
- package/dist/esm/node_modules/core-js/internals/math-trunc.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/microtask.js +91 -0
- package/dist/esm/node_modules/core-js/internals/microtask.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/new-promise-capability.js +26 -0
- package/dist/esm/node_modules/core-js/internals/new-promise-capability.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/not-a-regexp.js +14 -0
- package/dist/esm/node_modules/core-js/internals/not-a-regexp.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-create.js +96 -0
- package/dist/esm/node_modules/core-js/internals/object-create.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-define-properties.js +32 -0
- package/dist/esm/node_modules/core-js/internals/object-define-properties.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-define-property.js +53 -0
- package/dist/esm/node_modules/core-js/internals/object-define-property.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-descriptor.js +36 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-descriptor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-names.js +18 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-names.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-symbols.js +7 -0
- package/dist/esm/node_modules/core-js/internals/object-get-own-property-symbols.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-get-prototype-of.js +30 -0
- package/dist/esm/node_modules/core-js/internals/object-get-prototype-of.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-is-prototype-of.js +8 -0
- package/dist/esm/node_modules/core-js/internals/object-is-prototype-of.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-keys-internal.js +29 -0
- package/dist/esm/node_modules/core-js/internals/object-keys-internal.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-keys.js +15 -0
- package/dist/esm/node_modules/core-js/internals/object-keys.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-property-is-enumerable.js +18 -0
- package/dist/esm/node_modules/core-js/internals/object-property-is-enumerable.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/object-set-prototype-of.js +36 -0
- package/dist/esm/node_modules/core-js/internals/object-set-prototype-of.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/ordinary-to-primitive.js +22 -0
- package/dist/esm/node_modules/core-js/internals/ordinary-to-primitive.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/own-keys.js +25 -0
- package/dist/esm/node_modules/core-js/internals/own-keys.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/path.js +8 -0
- package/dist/esm/node_modules/core-js/internals/path.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/perform.js +10 -0
- package/dist/esm/node_modules/core-js/internals/perform.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js +55 -0
- package/dist/esm/node_modules/core-js/internals/promise-constructor-detection.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js +8 -0
- package/dist/esm/node_modules/core-js/internals/promise-native-constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/promise-resolve.js +20 -0
- package/dist/esm/node_modules/core-js/internals/promise-resolve.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js +14 -0
- package/dist/esm/node_modules/core-js/internals/promise-statics-incorrect-iteration.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/queue.js +27 -0
- package/dist/esm/node_modules/core-js/internals/queue.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-exec-abstract.js +29 -0
- package/dist/esm/node_modules/core-js/internals/regexp-exec-abstract.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-exec.js +130 -0
- package/dist/esm/node_modules/core-js/internals/regexp-exec.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-flags-detection.js +52 -0
- package/dist/esm/node_modules/core-js/internals/regexp-flags-detection.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-flags.js +22 -0
- package/dist/esm/node_modules/core-js/internals/regexp-flags.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-get-flags.js +24 -0
- package/dist/esm/node_modules/core-js/internals/regexp-get-flags.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-sticky-helpers.js +35 -0
- package/dist/esm/node_modules/core-js/internals/regexp-sticky-helpers.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-unsupported-dot-all.js +16 -0
- package/dist/esm/node_modules/core-js/internals/regexp-unsupported-dot-all.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/regexp-unsupported-ncg.js +17 -0
- package/dist/esm/node_modules/core-js/internals/regexp-unsupported-ncg.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/require-object-coercible.js +15 -0
- package/dist/esm/node_modules/core-js/internals/require-object-coercible.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js +18 -0
- package/dist/esm/node_modules/core-js/internals/safe-get-built-in.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/set-species.js +25 -0
- package/dist/esm/node_modules/core-js/internals/set-species.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/set-to-string-tag.js +20 -0
- package/dist/esm/node_modules/core-js/internals/set-to-string-tag.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/shared-key.js +14 -0
- package/dist/esm/node_modules/core-js/internals/shared-key.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/shared-store.js +22 -0
- package/dist/esm/node_modules/core-js/internals/shared-store.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/shared.js +10 -0
- package/dist/esm/node_modules/core-js/internals/shared.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/species-constructor.js +22 -0
- package/dist/esm/node_modules/core-js/internals/species-constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/string-multibyte.js +41 -0
- package/dist/esm/node_modules/core-js/internals/string-multibyte.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/string-trim-forced.js +22 -0
- package/dist/esm/node_modules/core-js/internals/string-trim-forced.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/string-trim.js +32 -0
- package/dist/esm/node_modules/core-js/internals/string-trim.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/symbol-constructor-detection.js +25 -0
- package/dist/esm/node_modules/core-js/internals/symbol-constructor-detection.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/task.js +130 -0
- package/dist/esm/node_modules/core-js/internals/task.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-absolute-index.js +17 -0
- package/dist/esm/node_modules/core-js/internals/to-absolute-index.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-indexed-object.js +13 -0
- package/dist/esm/node_modules/core-js/internals/to-indexed-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-integer-or-infinity.js +14 -0
- package/dist/esm/node_modules/core-js/internals/to-integer-or-infinity.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-length.js +15 -0
- package/dist/esm/node_modules/core-js/internals/to-length.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-object.js +14 -0
- package/dist/esm/node_modules/core-js/internals/to-object.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-primitive.js +35 -0
- package/dist/esm/node_modules/core-js/internals/to-primitive.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-property-key.js +15 -0
- package/dist/esm/node_modules/core-js/internals/to-property-key.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-string-tag-support.js +13 -0
- package/dist/esm/node_modules/core-js/internals/to-string-tag-support.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/to-string.js +13 -0
- package/dist/esm/node_modules/core-js/internals/to-string.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/try-to-string.js +12 -0
- package/dist/esm/node_modules/core-js/internals/try-to-string.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/uid.js +14 -0
- package/dist/esm/node_modules/core-js/internals/uid.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/use-symbol-as-uid.js +11 -0
- package/dist/esm/node_modules/core-js/internals/use-symbol-as-uid.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/v8-prototype-define-bug.js +18 -0
- package/dist/esm/node_modules/core-js/internals/v8-prototype-define-bug.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/validate-arguments-length.js +9 -0
- package/dist/esm/node_modules/core-js/internals/validate-arguments-length.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/weak-map-basic-detection.js +12 -0
- package/dist/esm/node_modules/core-js/internals/weak-map-basic-detection.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/well-known-symbol.js +28 -0
- package/dist/esm/node_modules/core-js/internals/well-known-symbol.js.map +1 -0
- package/dist/esm/node_modules/core-js/internals/whitespaces.js +6 -0
- package/dist/esm/node_modules/core-js/internals/whitespaces.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.array.index-of.js +28 -0
- package/dist/esm/node_modules/core-js/modules/es.array.index-of.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.array.iterator.js +73 -0
- package/dist/esm/node_modules/core-js/modules/es.array.iterator.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.array.reduce.js +26 -0
- package/dist/esm/node_modules/core-js/modules/es.array.reduce.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.array.reverse.js +23 -0
- package/dist/esm/node_modules/core-js/modules/es.array.reverse.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.all.js +48 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.all.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.catch.js +32 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.catch.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js +317 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.constructor.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.race.js +35 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.race.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.reject.js +20 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.reject.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js +21 -0
- package/dist/esm/node_modules/core-js/modules/es.promise.resolve.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.regexp.exec.js +12 -0
- package/dist/esm/node_modules/core-js/modules/es.regexp.exec.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.regexp.to-string.js +33 -0
- package/dist/esm/node_modules/core-js/modules/es.regexp.to-string.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.ends-with.js +43 -0
- package/dist/esm/node_modules/core-js/modules/es.string.ends-with.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.includes.js +28 -0
- package/dist/esm/node_modules/core-js/modules/es.string.includes.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.match.js +67 -0
- package/dist/esm/node_modules/core-js/modules/es.string.match.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.replace.js +163 -0
- package/dist/esm/node_modules/core-js/modules/es.string.replace.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.split.js +126 -0
- package/dist/esm/node_modules/core-js/modules/es.string.split.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.starts-with.js +41 -0
- package/dist/esm/node_modules/core-js/modules/es.string.starts-with.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/es.string.trim.js +16 -0
- package/dist/esm/node_modules/core-js/modules/es.string.trim.js.map +1 -0
- package/dist/esm/node_modules/core-js/modules/web.dom-collections.iterator.js +45 -0
- package/dist/esm/node_modules/core-js/modules/web.dom-collections.iterator.js.map +1 -0
- package/dist/esm/node_modules/dompurify/dist/purify.es.js +1531 -0
- package/dist/esm/node_modules/dompurify/dist/purify.es.js.map +1 -0
- package/dist/esm/node_modules/fflate/esm/browser.js +804 -0
- package/dist/esm/node_modules/fflate/esm/browser.js.map +1 -0
- package/dist/esm/node_modules/html2canvas/dist/html2canvas.esm.js +7822 -0
- package/dist/esm/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
- package/dist/esm/node_modules/jspdf/dist/jspdf.es.min.js +337 -0
- package/dist/esm/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -0
- package/dist/esm/node_modules/performance-now/lib/performance-now.js +44 -0
- package/dist/esm/node_modules/performance-now/lib/performance-now.js.map +1 -0
- package/dist/esm/node_modules/qrious/dist/qrious.js +2372 -0
- package/dist/esm/node_modules/qrious/dist/qrious.js.map +1 -0
- package/dist/esm/node_modules/raf/index.js +85 -0
- package/dist/esm/node_modules/raf/index.js.map +1 -0
- package/dist/esm/node_modules/rgbcolor/index.js +309 -0
- package/dist/esm/node_modules/rgbcolor/index.js.map +1 -0
- package/dist/esm/node_modules/stackblur-canvas/dist/stackblur-es.js +380 -0
- package/dist/esm/node_modules/stackblur-canvas/dist/stackblur-es.js.map +1 -0
- package/dist/esm/node_modules/svg-pathdata/lib/SVGPathData.module.js +18 -0
- package/dist/esm/node_modules/svg-pathdata/lib/SVGPathData.module.js.map +1 -0
- package/dist/esm/storage/templateStorage.js +144 -0
- package/dist/esm/storage/templateStorage.js.map +1 -0
- package/dist/esm/styles.css +1 -0
- package/dist/esm/utils/styleUtils.js +91 -0
- package/dist/esm/utils/styleUtils.js.map +1 -0
- package/dist/esm/utils/validators.js +139 -0
- package/dist/esm/utils/validators.js.map +1 -0
- package/dist/types/components/IDCardDesigner.d.ts +18 -0
- package/dist/types/components/IDCardGenerator.d.ts +19 -0
- package/dist/types/components/IDCardPreview.d.ts +15 -0
- package/dist/types/core/exportUtils.d.ts +34 -0
- package/dist/types/core/qrUtils.d.ts +27 -0
- package/dist/types/hooks/useFieldMapping.d.ts +10 -0
- package/dist/types/hooks/useIDCardExport.d.ts +10 -0
- package/dist/types/hooks/useIDCardTemplate.d.ts +10 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/storage/templateStorage.d.ts +53 -0
- package/dist/types/types/index.d.ts +235 -0
- package/dist/types/utils/styleUtils.d.ts +34 -0
- package/dist/types/utils/validators.d.ts +27 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SVGPathData.module.js","sources":["../../../../../node_modules/svg-pathdata/lib/SVGPathData.module.js"],"sourcesContent":["/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(r,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])})(r,e)};function r(r,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function e(t){var r=\"\";Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e];if(i.type===_.CLOSE_PATH)r+=\"z\";else if(i.type===_.HORIZ_LINE_TO)r+=(i.relative?\"h\":\"H\")+i.x;else if(i.type===_.VERT_LINE_TO)r+=(i.relative?\"v\":\"V\")+i.y;else if(i.type===_.MOVE_TO)r+=(i.relative?\"m\":\"M\")+i.x+\" \"+i.y;else if(i.type===_.LINE_TO)r+=(i.relative?\"l\":\"L\")+i.x+\" \"+i.y;else if(i.type===_.CURVE_TO)r+=(i.relative?\"c\":\"C\")+i.x1+\" \"+i.y1+\" \"+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_CURVE_TO)r+=(i.relative?\"s\":\"S\")+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.QUAD_TO)r+=(i.relative?\"q\":\"Q\")+i.x1+\" \"+i.y1+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_QUAD_TO)r+=(i.relative?\"t\":\"T\")+i.x+\" \"+i.y;else{if(i.type!==_.ARC)throw new Error('Unexpected command type \"'+i.type+'\" at index '+e+\".\");r+=(i.relative?\"a\":\"A\")+i.rX+\" \"+i.rY+\" \"+i.xRot+\" \"+ +i.lArcFlag+\" \"+ +i.sweepFlag+\" \"+i.x+\" \"+i.y}}return r}function i(t,r){var e=t[0],i=t[1];return[e*Math.cos(r)-i*Math.sin(r),e*Math.sin(r)+i*Math.cos(r)]}function a(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];for(var e=0;e<t.length;e++)if(\"number\"!=typeof t[e])throw new Error(\"assertNumbers arguments[\"+e+\"] is not a number. \"+typeof t[e]+\" == typeof \"+t[e]);return!0}var n=Math.PI;function o(t,r,e){t.lArcFlag=0===t.lArcFlag?0:1,t.sweepFlag=0===t.sweepFlag?0:1;var a=t.rX,o=t.rY,s=t.x,u=t.y;a=Math.abs(t.rX),o=Math.abs(t.rY);var h=i([(r-s)/2,(e-u)/2],-t.xRot/180*n),c=h[0],y=h[1],p=Math.pow(c,2)/Math.pow(a,2)+Math.pow(y,2)/Math.pow(o,2);1<p&&(a*=Math.sqrt(p),o*=Math.sqrt(p)),t.rX=a,t.rY=o;var m=Math.pow(a,2)*Math.pow(y,2)+Math.pow(o,2)*Math.pow(c,2),O=(t.lArcFlag!==t.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(a,2)*Math.pow(o,2)-m)/m)),l=a*y/o*O,T=-o*c/a*O,v=i([l,T],t.xRot/180*n);t.cX=v[0]+(r+s)/2,t.cY=v[1]+(e+u)/2,t.phi1=Math.atan2((y-T)/o,(c-l)/a),t.phi2=Math.atan2((-y-T)/o,(-c-l)/a),0===t.sweepFlag&&t.phi2>t.phi1&&(t.phi2-=2*n),1===t.sweepFlag&&t.phi2<t.phi1&&(t.phi2+=2*n),t.phi1*=180/n,t.phi2*=180/n}function s(t,r,e){a(t,r,e);var i=t*t+r*r-e*e;if(0>i)return[];if(0===i)return[[t*e/(t*t+r*r),r*e/(t*t+r*r)]];var n=Math.sqrt(i);return[[(t*e+r*n)/(t*t+r*r),(r*e-t*n)/(t*t+r*r)],[(t*e-r*n)/(t*t+r*r),(r*e+t*n)/(t*t+r*r)]]}var u,h=Math.PI/180;function c(t,r,e){return(1-e)*t+e*r}function y(t,r,e,i){return t+Math.cos(i/180*n)*r+Math.sin(i/180*n)*e}function p(t,r,e,i){var a=1e-6,n=r-t,o=e-r,s=3*n+3*(i-e)-6*o,u=6*(o-n),h=3*n;return Math.abs(s)<a?[-h/u]:function(t,r,e){void 0===e&&(e=1e-6);var i=t*t/4-r;if(i<-e)return[];if(i<=e)return[-t/2];var a=Math.sqrt(i);return[-t/2-a,-t/2+a]}(u/s,h/s,a)}function m(t,r,e,i,a){var n=1-a;return t*(n*n*n)+r*(3*n*n*a)+e*(3*n*a*a)+i*(a*a*a)}!function(t){function r(){return u((function(t,r,e){return t.relative&&(void 0!==t.x1&&(t.x1+=r),void 0!==t.y1&&(t.y1+=e),void 0!==t.x2&&(t.x2+=r),void 0!==t.y2&&(t.y2+=e),void 0!==t.x&&(t.x+=r),void 0!==t.y&&(t.y+=e),t.relative=!1),t}))}function e(){var t=NaN,r=NaN,e=NaN,i=NaN;return u((function(a,n,o){return a.type&_.SMOOTH_CURVE_TO&&(a.type=_.CURVE_TO,t=isNaN(t)?n:t,r=isNaN(r)?o:r,a.x1=a.relative?n-t:2*n-t,a.y1=a.relative?o-r:2*o-r),a.type&_.CURVE_TO?(t=a.relative?n+a.x2:a.x2,r=a.relative?o+a.y2:a.y2):(t=NaN,r=NaN),a.type&_.SMOOTH_QUAD_TO&&(a.type=_.QUAD_TO,e=isNaN(e)?n:e,i=isNaN(i)?o:i,a.x1=a.relative?n-e:2*n-e,a.y1=a.relative?o-i:2*o-i),a.type&_.QUAD_TO?(e=a.relative?n+a.x1:a.x1,i=a.relative?o+a.y1:a.y1):(e=NaN,i=NaN),a}))}function n(){var t=NaN,r=NaN;return u((function(e,i,a){if(e.type&_.SMOOTH_QUAD_TO&&(e.type=_.QUAD_TO,t=isNaN(t)?i:t,r=isNaN(r)?a:r,e.x1=e.relative?i-t:2*i-t,e.y1=e.relative?a-r:2*a-r),e.type&_.QUAD_TO){t=e.relative?i+e.x1:e.x1,r=e.relative?a+e.y1:e.y1;var n=e.x1,o=e.y1;e.type=_.CURVE_TO,e.x1=((e.relative?0:i)+2*n)/3,e.y1=((e.relative?0:a)+2*o)/3,e.x2=(e.x+2*n)/3,e.y2=(e.y+2*o)/3}else t=NaN,r=NaN;return e}))}function u(t){var r=0,e=0,i=NaN,a=NaN;return function(n){if(isNaN(i)&&!(n.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");var o=t(n,r,e,i,a);return n.type&_.CLOSE_PATH&&(r=i,e=a),void 0!==n.x&&(r=n.relative?r+n.x:n.x),void 0!==n.y&&(e=n.relative?e+n.y:n.y),n.type&_.MOVE_TO&&(i=r,a=e),o}}function O(t,r,e,i,n,o){return a(t,r,e,i,n,o),u((function(a,s,u,h){var c=a.x1,y=a.x2,p=a.relative&&!isNaN(h),m=void 0!==a.x?a.x:p?0:s,O=void 0!==a.y?a.y:p?0:u;function l(t){return t*t}a.type&_.HORIZ_LINE_TO&&0!==r&&(a.type=_.LINE_TO,a.y=a.relative?0:u),a.type&_.VERT_LINE_TO&&0!==e&&(a.type=_.LINE_TO,a.x=a.relative?0:s),void 0!==a.x&&(a.x=a.x*t+O*e+(p?0:n)),void 0!==a.y&&(a.y=m*r+a.y*i+(p?0:o)),void 0!==a.x1&&(a.x1=a.x1*t+a.y1*e+(p?0:n)),void 0!==a.y1&&(a.y1=c*r+a.y1*i+(p?0:o)),void 0!==a.x2&&(a.x2=a.x2*t+a.y2*e+(p?0:n)),void 0!==a.y2&&(a.y2=y*r+a.y2*i+(p?0:o));var T=t*i-r*e;if(void 0!==a.xRot&&(1!==t||0!==r||0!==e||1!==i))if(0===T)delete a.rX,delete a.rY,delete a.xRot,delete a.lArcFlag,delete a.sweepFlag,a.type=_.LINE_TO;else{var v=a.xRot*Math.PI/180,f=Math.sin(v),N=Math.cos(v),x=1/l(a.rX),d=1/l(a.rY),E=l(N)*x+l(f)*d,A=2*f*N*(x-d),C=l(f)*x+l(N)*d,M=E*i*i-A*r*i+C*r*r,R=A*(t*i+r*e)-2*(E*e*i+C*t*r),g=E*e*e-A*t*e+C*t*t,I=(Math.atan2(R,M-g)+Math.PI)%Math.PI/2,S=Math.sin(I),L=Math.cos(I);a.rX=Math.abs(T)/Math.sqrt(M*l(L)+R*S*L+g*l(S)),a.rY=Math.abs(T)/Math.sqrt(M*l(S)-R*S*L+g*l(L)),a.xRot=180*I/Math.PI}return void 0!==a.sweepFlag&&0>T&&(a.sweepFlag=+!a.sweepFlag),a}))}function l(){return function(t){var r={};for(var e in t)r[e]=t[e];return r}}t.ROUND=function(t){function r(r){return Math.round(r*t)/t}return void 0===t&&(t=1e13),a(t),function(t){return void 0!==t.x1&&(t.x1=r(t.x1)),void 0!==t.y1&&(t.y1=r(t.y1)),void 0!==t.x2&&(t.x2=r(t.x2)),void 0!==t.y2&&(t.y2=r(t.y2)),void 0!==t.x&&(t.x=r(t.x)),void 0!==t.y&&(t.y=r(t.y)),void 0!==t.rX&&(t.rX=r(t.rX)),void 0!==t.rY&&(t.rY=r(t.rY)),t}},t.TO_ABS=r,t.TO_REL=function(){return u((function(t,r,e){return t.relative||(void 0!==t.x1&&(t.x1-=r),void 0!==t.y1&&(t.y1-=e),void 0!==t.x2&&(t.x2-=r),void 0!==t.y2&&(t.y2-=e),void 0!==t.x&&(t.x-=r),void 0!==t.y&&(t.y-=e),t.relative=!0),t}))},t.NORMALIZE_HVZ=function(t,r,e){return void 0===t&&(t=!0),void 0===r&&(r=!0),void 0===e&&(e=!0),u((function(i,a,n,o,s){if(isNaN(o)&&!(i.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");return r&&i.type&_.HORIZ_LINE_TO&&(i.type=_.LINE_TO,i.y=i.relative?0:n),e&&i.type&_.VERT_LINE_TO&&(i.type=_.LINE_TO,i.x=i.relative?0:a),t&&i.type&_.CLOSE_PATH&&(i.type=_.LINE_TO,i.x=i.relative?o-a:o,i.y=i.relative?s-n:s),i.type&_.ARC&&(0===i.rX||0===i.rY)&&(i.type=_.LINE_TO,delete i.rX,delete i.rY,delete i.xRot,delete i.lArcFlag,delete i.sweepFlag),i}))},t.NORMALIZE_ST=e,t.QT_TO_C=n,t.INFO=u,t.SANITIZE=function(t){void 0===t&&(t=0),a(t);var r=NaN,e=NaN,i=NaN,n=NaN;return u((function(a,o,s,u,h){var c=Math.abs,y=!1,p=0,m=0;if(a.type&_.SMOOTH_CURVE_TO&&(p=isNaN(r)?0:o-r,m=isNaN(e)?0:s-e),a.type&(_.CURVE_TO|_.SMOOTH_CURVE_TO)?(r=a.relative?o+a.x2:a.x2,e=a.relative?s+a.y2:a.y2):(r=NaN,e=NaN),a.type&_.SMOOTH_QUAD_TO?(i=isNaN(i)?o:2*o-i,n=isNaN(n)?s:2*s-n):a.type&_.QUAD_TO?(i=a.relative?o+a.x1:a.x1,n=a.relative?s+a.y1:a.y2):(i=NaN,n=NaN),a.type&_.LINE_COMMANDS||a.type&_.ARC&&(0===a.rX||0===a.rY||!a.lArcFlag)||a.type&_.CURVE_TO||a.type&_.SMOOTH_CURVE_TO||a.type&_.QUAD_TO||a.type&_.SMOOTH_QUAD_TO){var O=void 0===a.x?0:a.relative?a.x:a.x-o,l=void 0===a.y?0:a.relative?a.y:a.y-s;p=isNaN(i)?void 0===a.x1?p:a.relative?a.x:a.x1-o:i-o,m=isNaN(n)?void 0===a.y1?m:a.relative?a.y:a.y1-s:n-s;var T=void 0===a.x2?0:a.relative?a.x:a.x2-o,v=void 0===a.y2?0:a.relative?a.y:a.y2-s;c(O)<=t&&c(l)<=t&&c(p)<=t&&c(m)<=t&&c(T)<=t&&c(v)<=t&&(y=!0)}return a.type&_.CLOSE_PATH&&c(o-u)<=t&&c(s-h)<=t&&(y=!0),y?[]:a}))},t.MATRIX=O,t.ROTATE=function(t,r,e){void 0===r&&(r=0),void 0===e&&(e=0),a(t,r,e);var i=Math.sin(t),n=Math.cos(t);return O(n,i,-i,n,r-r*n+e*i,e-r*i-e*n)},t.TRANSLATE=function(t,r){return void 0===r&&(r=0),a(t,r),O(1,0,0,1,t,r)},t.SCALE=function(t,r){return void 0===r&&(r=t),a(t,r),O(t,0,0,r,0,0)},t.SKEW_X=function(t){return a(t),O(1,0,Math.atan(t),1,0,0)},t.SKEW_Y=function(t){return a(t),O(1,Math.atan(t),0,1,0,0)},t.X_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(-1,0,0,1,t,0)},t.Y_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(1,0,0,-1,0,t)},t.A_TO_C=function(){return u((function(t,r,e){return _.ARC===t.type?function(t,r,e){var a,n,s,u;t.cX||o(t,r,e);for(var y=Math.min(t.phi1,t.phi2),p=Math.max(t.phi1,t.phi2)-y,m=Math.ceil(p/90),O=new Array(m),l=r,T=e,v=0;v<m;v++){var f=c(t.phi1,t.phi2,v/m),N=c(t.phi1,t.phi2,(v+1)/m),x=N-f,d=4/3*Math.tan(x*h/4),E=[Math.cos(f*h)-d*Math.sin(f*h),Math.sin(f*h)+d*Math.cos(f*h)],A=E[0],C=E[1],M=[Math.cos(N*h),Math.sin(N*h)],R=M[0],g=M[1],I=[R+d*Math.sin(N*h),g-d*Math.cos(N*h)],S=I[0],L=I[1];O[v]={relative:t.relative,type:_.CURVE_TO};var H=function(r,e){var a=i([r*t.rX,e*t.rY],t.xRot),n=a[0],o=a[1];return[t.cX+n,t.cY+o]};a=H(A,C),O[v].x1=a[0],O[v].y1=a[1],n=H(S,L),O[v].x2=n[0],O[v].y2=n[1],s=H(R,g),O[v].x=s[0],O[v].y=s[1],t.relative&&(O[v].x1-=l,O[v].y1-=T,O[v].x2-=l,O[v].y2-=T,O[v].x-=l,O[v].y-=T),l=(u=[O[v].x,O[v].y])[0],T=u[1]}return O}(t,t.relative?0:r,t.relative?0:e):t}))},t.ANNOTATE_ARCS=function(){return u((function(t,r,e){return t.relative&&(r=0,e=0),_.ARC===t.type&&o(t,r,e),t}))},t.CLONE=l,t.CALCULATE_BOUNDS=function(){var t=function(t){var r={};for(var e in t)r[e]=t[e];return r},i=r(),a=n(),h=e(),c=u((function(r,e,n){var u=h(a(i(t(r))));function O(t){t>c.maxX&&(c.maxX=t),t<c.minX&&(c.minX=t)}function l(t){t>c.maxY&&(c.maxY=t),t<c.minY&&(c.minY=t)}if(u.type&_.DRAWING_COMMANDS&&(O(e),l(n)),u.type&_.HORIZ_LINE_TO&&O(u.x),u.type&_.VERT_LINE_TO&&l(u.y),u.type&_.LINE_TO&&(O(u.x),l(u.y)),u.type&_.CURVE_TO){O(u.x),l(u.y);for(var T=0,v=p(e,u.x1,u.x2,u.x);T<v.length;T++){0<(w=v[T])&&1>w&&O(m(e,u.x1,u.x2,u.x,w))}for(var f=0,N=p(n,u.y1,u.y2,u.y);f<N.length;f++){0<(w=N[f])&&1>w&&l(m(n,u.y1,u.y2,u.y,w))}}if(u.type&_.ARC){O(u.x),l(u.y),o(u,e,n);for(var x=u.xRot/180*Math.PI,d=Math.cos(x)*u.rX,E=Math.sin(x)*u.rX,A=-Math.sin(x)*u.rY,C=Math.cos(x)*u.rY,M=u.phi1<u.phi2?[u.phi1,u.phi2]:-180>u.phi2?[u.phi2+360,u.phi1+360]:[u.phi2,u.phi1],R=M[0],g=M[1],I=function(t){var r=t[0],e=t[1],i=180*Math.atan2(e,r)/Math.PI;return i<R?i+360:i},S=0,L=s(A,-d,0).map(I);S<L.length;S++){(w=L[S])>R&&w<g&&O(y(u.cX,d,A,w))}for(var H=0,U=s(C,-E,0).map(I);H<U.length;H++){var w;(w=U[H])>R&&w<g&&l(y(u.cY,E,C,w))}}return r}));return c.minX=1/0,c.maxX=-1/0,c.minY=1/0,c.maxY=-1/0,c}}(u||(u={}));var O,l=function(){function t(){}return t.prototype.round=function(t){return this.transform(u.ROUND(t))},t.prototype.toAbs=function(){return this.transform(u.TO_ABS())},t.prototype.toRel=function(){return this.transform(u.TO_REL())},t.prototype.normalizeHVZ=function(t,r,e){return this.transform(u.NORMALIZE_HVZ(t,r,e))},t.prototype.normalizeST=function(){return this.transform(u.NORMALIZE_ST())},t.prototype.qtToC=function(){return this.transform(u.QT_TO_C())},t.prototype.aToC=function(){return this.transform(u.A_TO_C())},t.prototype.sanitize=function(t){return this.transform(u.SANITIZE(t))},t.prototype.translate=function(t,r){return this.transform(u.TRANSLATE(t,r))},t.prototype.scale=function(t,r){return this.transform(u.SCALE(t,r))},t.prototype.rotate=function(t,r,e){return this.transform(u.ROTATE(t,r,e))},t.prototype.matrix=function(t,r,e,i,a,n){return this.transform(u.MATRIX(t,r,e,i,a,n))},t.prototype.skewX=function(t){return this.transform(u.SKEW_X(t))},t.prototype.skewY=function(t){return this.transform(u.SKEW_Y(t))},t.prototype.xSymmetry=function(t){return this.transform(u.X_AXIS_SYMMETRY(t))},t.prototype.ySymmetry=function(t){return this.transform(u.Y_AXIS_SYMMETRY(t))},t.prototype.annotateArcs=function(){return this.transform(u.ANNOTATE_ARCS())},t}(),T=function(t){return\" \"===t||\"\\t\"===t||\"\\r\"===t||\"\\n\"===t},v=function(t){return\"0\".charCodeAt(0)<=t.charCodeAt(0)&&t.charCodeAt(0)<=\"9\".charCodeAt(0)},f=function(t){function e(){var r=t.call(this)||this;return r.curNumber=\"\",r.curCommandType=-1,r.curCommandRelative=!1,r.canParseCommandOrComma=!0,r.curNumberHasExp=!1,r.curNumberHasExpDigits=!1,r.curNumberHasDecimal=!1,r.curArgs=[],r}return r(e,t),e.prototype.finish=function(t){if(void 0===t&&(t=[]),this.parse(\" \",t),0!==this.curArgs.length||!this.canParseCommandOrComma)throw new SyntaxError(\"Unterminated command at the path end.\");return t},e.prototype.parse=function(t,r){var e=this;void 0===r&&(r=[]);for(var i=function(t){r.push(t),e.curArgs.length=0,e.canParseCommandOrComma=!0},a=0;a<t.length;a++){var n=t[a],o=!(this.curCommandType!==_.ARC||3!==this.curArgs.length&&4!==this.curArgs.length||1!==this.curNumber.length||\"0\"!==this.curNumber&&\"1\"!==this.curNumber),s=v(n)&&(\"0\"===this.curNumber&&\"0\"===n||o);if(!v(n)||s)if(\"e\"!==n&&\"E\"!==n)if(\"-\"!==n&&\"+\"!==n||!this.curNumberHasExp||this.curNumberHasExpDigits)if(\".\"!==n||this.curNumberHasExp||this.curNumberHasDecimal||o){if(this.curNumber&&-1!==this.curCommandType){var u=Number(this.curNumber);if(isNaN(u))throw new SyntaxError(\"Invalid number ending at \"+a);if(this.curCommandType===_.ARC)if(0===this.curArgs.length||1===this.curArgs.length){if(0>u)throw new SyntaxError('Expected positive number, got \"'+u+'\" at index \"'+a+'\"')}else if((3===this.curArgs.length||4===this.curArgs.length)&&\"0\"!==this.curNumber&&\"1\"!==this.curNumber)throw new SyntaxError('Expected a flag, got \"'+this.curNumber+'\" at index \"'+a+'\"');this.curArgs.push(u),this.curArgs.length===N[this.curCommandType]&&(_.HORIZ_LINE_TO===this.curCommandType?i({type:_.HORIZ_LINE_TO,relative:this.curCommandRelative,x:u}):_.VERT_LINE_TO===this.curCommandType?i({type:_.VERT_LINE_TO,relative:this.curCommandRelative,y:u}):this.curCommandType===_.MOVE_TO||this.curCommandType===_.LINE_TO||this.curCommandType===_.SMOOTH_QUAD_TO?(i({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),_.MOVE_TO===this.curCommandType&&(this.curCommandType=_.LINE_TO)):this.curCommandType===_.CURVE_TO?i({type:_.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===_.SMOOTH_CURVE_TO?i({type:_.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.QUAD_TO?i({type:_.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.ARC&&i({type:_.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber=\"\",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!T(n))if(\",\"===n&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(\"+\"!==n&&\"-\"!==n&&\".\"!==n)if(s)this.curNumber=n,this.curNumberHasDecimal=!1;else{if(0!==this.curArgs.length)throw new SyntaxError(\"Unterminated command at index \"+a+\".\");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\". Command cannot follow comma\");if(this.canParseCommandOrComma=!1,\"z\"!==n&&\"Z\"!==n)if(\"h\"===n||\"H\"===n)this.curCommandType=_.HORIZ_LINE_TO,this.curCommandRelative=\"h\"===n;else if(\"v\"===n||\"V\"===n)this.curCommandType=_.VERT_LINE_TO,this.curCommandRelative=\"v\"===n;else if(\"m\"===n||\"M\"===n)this.curCommandType=_.MOVE_TO,this.curCommandRelative=\"m\"===n;else if(\"l\"===n||\"L\"===n)this.curCommandType=_.LINE_TO,this.curCommandRelative=\"l\"===n;else if(\"c\"===n||\"C\"===n)this.curCommandType=_.CURVE_TO,this.curCommandRelative=\"c\"===n;else if(\"s\"===n||\"S\"===n)this.curCommandType=_.SMOOTH_CURVE_TO,this.curCommandRelative=\"s\"===n;else if(\"q\"===n||\"Q\"===n)this.curCommandType=_.QUAD_TO,this.curCommandRelative=\"q\"===n;else if(\"t\"===n||\"T\"===n)this.curCommandType=_.SMOOTH_QUAD_TO,this.curCommandRelative=\"t\"===n;else{if(\"a\"!==n&&\"A\"!==n)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\".\");this.curCommandType=_.ARC,this.curCommandRelative=\"a\"===n}else r.push({type:_.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=n,this.curNumberHasDecimal=\".\"===n}else this.curNumber+=n,this.curNumberHasDecimal=!0;else this.curNumber+=n;else this.curNumber+=n,this.curNumberHasExp=!0;else this.curNumber+=n,this.curNumberHasExpDigits=this.curNumberHasExp}return r},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(r,e){void 0===e&&(e=[]);for(var i=0,a=Object.getPrototypeOf(this).parse.call(this,r);i<a.length;i++){var n=a[i],o=t(n);Array.isArray(o)?e.push.apply(e,o):e.push(o)}return e}}})},e}(l),_=function(t){function i(r){var e=t.call(this)||this;return e.commands=\"string\"==typeof r?i.parse(r):r,e}return r(i,t),i.prototype.encode=function(){return i.encode(this.commands)},i.prototype.getBounds=function(){var t=u.CALCULATE_BOUNDS();return this.transform(t),t},i.prototype.transform=function(t){for(var r=[],e=0,i=this.commands;e<i.length;e++){var a=t(i[e]);Array.isArray(a)?r.push.apply(r,a):r.push(a)}return this.commands=r,this},i.encode=function(t){return e(t)},i.parse=function(t){var r=new f,e=[];return r.parse(t,e),r.finish(e),e},i.CLOSE_PATH=1,i.MOVE_TO=2,i.HORIZ_LINE_TO=4,i.VERT_LINE_TO=8,i.LINE_TO=16,i.CURVE_TO=32,i.SMOOTH_CURVE_TO=64,i.QUAD_TO=128,i.SMOOTH_QUAD_TO=256,i.ARC=512,i.LINE_COMMANDS=i.LINE_TO|i.HORIZ_LINE_TO|i.VERT_LINE_TO,i.DRAWING_COMMANDS=i.HORIZ_LINE_TO|i.VERT_LINE_TO|i.LINE_TO|i.CURVE_TO|i.SMOOTH_CURVE_TO|i.QUAD_TO|i.SMOOTH_QUAD_TO|i.ARC,i}(l),N=((O={})[_.MOVE_TO]=2,O[_.LINE_TO]=2,O[_.HORIZ_LINE_TO]=1,O[_.VERT_LINE_TO]=1,O[_.CLOSE_PATH]=0,O[_.QUAD_TO]=4,O[_.SMOOTH_QUAD_TO]=2,O[_.CURVE_TO]=6,O[_.SMOOTH_CURVE_TO]=4,O[_.ARC]=7,O);export{N as COMMAND_ARG_COUNTS,_ as SVGPathData,f as SVGPathDataParser,u as SVGPathDataTransformer,e as encodeSVGPath};\n//# sourceMappingURL=SVGPathData.module.js.map\n"],"names":[],"mappings":"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I,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAI,IAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAsB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CA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CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAE,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,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S,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAA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,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
const STORAGE_PREFIX = 'idcard_template_';
|
|
2
|
+
/**
|
|
3
|
+
* Save a template to browser localStorage
|
|
4
|
+
* @param key - Unique identifier for the template
|
|
5
|
+
* @param template - The template to save
|
|
6
|
+
* @throws Error if localStorage is unavailable or quota exceeded
|
|
7
|
+
*/
|
|
8
|
+
function saveTemplateToLocal(key, template) {
|
|
9
|
+
try {
|
|
10
|
+
const data = JSON.stringify(template);
|
|
11
|
+
localStorage.setItem(`${STORAGE_PREFIX}${key}`, data);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error('Failed to save template:', error);
|
|
15
|
+
throw new Error('Failed to save template to localStorage');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Load a template from browser localStorage
|
|
20
|
+
* @param key - Template identifier
|
|
21
|
+
* @returns The template, or null if not found or invalid
|
|
22
|
+
*/
|
|
23
|
+
function loadTemplateFromLocal(key) {
|
|
24
|
+
try {
|
|
25
|
+
const data = localStorage.getItem(`${STORAGE_PREFIX}${key}`);
|
|
26
|
+
if (!data)
|
|
27
|
+
return null;
|
|
28
|
+
return JSON.parse(data);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Failed to load template:', error);
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all saved template keys from localStorage
|
|
37
|
+
* @returns Array of template keys (without the prefix)
|
|
38
|
+
*/
|
|
39
|
+
function listTemplatesFromLocal() {
|
|
40
|
+
const keys = [];
|
|
41
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
42
|
+
const key = localStorage.key(i);
|
|
43
|
+
if (key?.startsWith(STORAGE_PREFIX)) {
|
|
44
|
+
keys.push(key.replace(STORAGE_PREFIX, ''));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return keys;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Remove a template from localStorage
|
|
51
|
+
* @param key - Template identifier to remove
|
|
52
|
+
*/
|
|
53
|
+
function removeTemplateFromLocal(key) {
|
|
54
|
+
localStorage.removeItem(`${STORAGE_PREFIX}${key}`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Export a template as a downloadable JSON file
|
|
58
|
+
* @param template - The template to export
|
|
59
|
+
* @param filename - Optional custom filename (defaults to template name)
|
|
60
|
+
*/
|
|
61
|
+
function exportTemplateAsJSON(template, filename) {
|
|
62
|
+
const data = JSON.stringify(template, null, 2);
|
|
63
|
+
const blob = new Blob([data], { type: 'application/json' });
|
|
64
|
+
const url = URL.createObjectURL(blob);
|
|
65
|
+
const link = document.createElement('a');
|
|
66
|
+
link.href = url;
|
|
67
|
+
link.download = filename || `${template.name || 'template'}.json`;
|
|
68
|
+
link.click();
|
|
69
|
+
URL.revokeObjectURL(url);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Import a template from a JSON file
|
|
73
|
+
* @param file - The JSON file to read
|
|
74
|
+
* @returns Promise that resolves to the parsed template
|
|
75
|
+
*/
|
|
76
|
+
function importTemplateFromJSON(file) {
|
|
77
|
+
return new Promise((resolve, reject) => {
|
|
78
|
+
const reader = new FileReader();
|
|
79
|
+
reader.onload = (event) => {
|
|
80
|
+
try {
|
|
81
|
+
const data = JSON.parse(event.target?.result);
|
|
82
|
+
resolve(data);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
reject(new Error('Invalid JSON file'));
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
reader.onerror = () => {
|
|
89
|
+
reject(new Error('Failed to read file'));
|
|
90
|
+
};
|
|
91
|
+
reader.readAsText(file);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Convert an image file to a base64 data URL
|
|
96
|
+
* Useful for embedding images in templates
|
|
97
|
+
* @param file - Image file (JPG, PNG, etc.)
|
|
98
|
+
* @returns Promise that resolves to a base64 data URL
|
|
99
|
+
*/
|
|
100
|
+
function imageFileToBase64(file) {
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
const reader = new FileReader();
|
|
103
|
+
reader.onload = (event) => {
|
|
104
|
+
resolve(event.target?.result);
|
|
105
|
+
};
|
|
106
|
+
reader.onerror = () => {
|
|
107
|
+
reject(new Error('Failed to read image file'));
|
|
108
|
+
};
|
|
109
|
+
reader.readAsDataURL(file);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate a unique ID with timestamp and random component
|
|
114
|
+
* @param prefix - Prefix for the ID (e.g., 'field', 'template')
|
|
115
|
+
* @returns Unique string like 'field_1703234567890_abc123def'
|
|
116
|
+
*/
|
|
117
|
+
function generateId(prefix = 'field') {
|
|
118
|
+
return `${prefix}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Create a default template
|
|
122
|
+
*/
|
|
123
|
+
function createDefaultTemplate(name = 'New Template') {
|
|
124
|
+
const now = new Date().toISOString();
|
|
125
|
+
return {
|
|
126
|
+
id: generateId('template'),
|
|
127
|
+
name,
|
|
128
|
+
version: '1.0.0',
|
|
129
|
+
createdAt: now,
|
|
130
|
+
updatedAt: now,
|
|
131
|
+
orientation: 'landscape',
|
|
132
|
+
sides: 'single',
|
|
133
|
+
cardSize: {
|
|
134
|
+
width: 340,
|
|
135
|
+
height: 215,
|
|
136
|
+
unit: 'px',
|
|
137
|
+
},
|
|
138
|
+
backgrounds: {},
|
|
139
|
+
fields: [],
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export { createDefaultTemplate, exportTemplateAsJSON, generateId, imageFileToBase64, importTemplateFromJSON, listTemplatesFromLocal, loadTemplateFromLocal, removeTemplateFromLocal, saveTemplateToLocal };
|
|
144
|
+
//# sourceMappingURL=templateStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateStorage.js","sources":["../../../src/storage/templateStorage.ts"],"sourcesContent":["import type { IDCardTemplate } from '../types';\r\n\r\nconst STORAGE_PREFIX = 'idcard_template_';\r\n\r\n/**\r\n * Save a template to browser localStorage\r\n * @param key - Unique identifier for the template\r\n * @param template - The template to save\r\n * @throws Error if localStorage is unavailable or quota exceeded\r\n */\r\nexport function saveTemplateToLocal(key: string, template: IDCardTemplate): void {\r\n try {\r\n const data = JSON.stringify(template);\r\n localStorage.setItem(`${STORAGE_PREFIX}${key}`, data);\r\n } catch (error) {\r\n console.error('Failed to save template:', error);\r\n throw new Error('Failed to save template to localStorage');\r\n }\r\n}\r\n\r\n/**\r\n * Load a template from browser localStorage\r\n * @param key - Template identifier\r\n * @returns The template, or null if not found or invalid\r\n */\r\nexport function loadTemplateFromLocal(key: string): IDCardTemplate | null {\r\n try {\r\n const data = localStorage.getItem(`${STORAGE_PREFIX}${key}`);\r\n if (!data) return null;\r\n return JSON.parse(data) as IDCardTemplate;\r\n } catch (error) {\r\n console.error('Failed to load template:', error);\r\n return null;\r\n }\r\n}\r\n\r\n/**\r\n * Get all saved template keys from localStorage\r\n * @returns Array of template keys (without the prefix)\r\n */\r\nexport function listTemplatesFromLocal(): string[] {\r\n const keys: string[] = [];\r\n for (let i = 0; i < localStorage.length; i++) {\r\n const key = localStorage.key(i);\r\n if (key?.startsWith(STORAGE_PREFIX)) {\r\n keys.push(key.replace(STORAGE_PREFIX, ''));\r\n }\r\n }\r\n return keys;\r\n}\r\n\r\n/**\r\n * Remove a template from localStorage\r\n * @param key - Template identifier to remove\r\n */\r\nexport function removeTemplateFromLocal(key: string): void {\r\n localStorage.removeItem(`${STORAGE_PREFIX}${key}`);\r\n}\r\n\r\n/**\r\n * Export a template as a downloadable JSON file\r\n * @param template - The template to export\r\n * @param filename - Optional custom filename (defaults to template name)\r\n */\r\nexport function exportTemplateAsJSON(template: IDCardTemplate, filename?: string): void {\r\n const data = JSON.stringify(template, null, 2);\r\n const blob = new Blob([data], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = filename || `${template.name || 'template'}.json`;\r\n link.click();\r\n\r\n URL.revokeObjectURL(url);\r\n}\r\n\r\n/**\r\n * Import a template from a JSON file\r\n * @param file - The JSON file to read\r\n * @returns Promise that resolves to the parsed template\r\n */\r\nexport function importTemplateFromJSON(file: File): Promise<IDCardTemplate> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event) => {\r\n try {\r\n const data = JSON.parse(event.target?.result as string);\r\n resolve(data as IDCardTemplate);\r\n } catch (error) {\r\n reject(new Error('Invalid JSON file'));\r\n }\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(new Error('Failed to read file'));\r\n };\r\n\r\n reader.readAsText(file);\r\n });\r\n}\r\n\r\n/**\r\n * Convert an image file to a base64 data URL\r\n * Useful for embedding images in templates\r\n * @param file - Image file (JPG, PNG, etc.)\r\n * @returns Promise that resolves to a base64 data URL\r\n */\r\nexport function imageFileToBase64(file: File): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event) => {\r\n resolve(event.target?.result as string);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(new Error('Failed to read image file'));\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n });\r\n}\r\n\r\n/**\r\n * Generate a unique ID with timestamp and random component\r\n * @param prefix - Prefix for the ID (e.g., 'field', 'template')\r\n * @returns Unique string like 'field_1703234567890_abc123def'\r\n */\r\nexport function generateId(prefix = 'field'): string {\r\n return `${prefix}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\r\n}\r\n\r\n/**\r\n * Create a default template\r\n */\r\nexport function createDefaultTemplate(\r\n name: string = 'New Template'\r\n): IDCardTemplate {\r\n const now = new Date().toISOString();\r\n return {\r\n id: generateId('template'),\r\n name,\r\n version: '1.0.0',\r\n createdAt: now,\r\n updatedAt: now,\r\n orientation: 'landscape',\r\n sides: 'single',\r\n cardSize: {\r\n width: 340,\r\n height: 215,\r\n unit: 'px',\r\n },\r\n backgrounds: {},\r\n fields: [],\r\n };\r\n}\r\n"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,kBAAkB;AAEzC;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,GAAW,EAAE,QAAwB,EAAA;AACvE,IAAA,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrC,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,cAAc,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,IAAI,CAAC;IACvD;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC;AAChD,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;IAC5D;AACF;AAEA;;;;AAIG;AACG,SAAU,qBAAqB,CAAC,GAAW,EAAA;AAC/C,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,cAAc,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC;AAC5D,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,IAAI;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB;IAC3C;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC;AAChD,QAAA,OAAO,IAAI;IACb;AACF;AAEA;;;AAGG;SACa,sBAAsB,GAAA;IACpC,MAAM,IAAI,GAAa,EAAE;AACzB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5C;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA;;;AAGG;AACG,SAAU,uBAAuB,CAAC,GAAW,EAAA;IACjD,YAAY,CAAC,UAAU,CAAC,CAAA,EAAG,cAAc,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC;AACpD;AAEA;;;;AAIG;AACG,SAAU,oBAAoB,CAAC,QAAwB,EAAE,QAAiB,EAAA;AAC9E,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACxC,IAAA,IAAI,CAAC,IAAI,GAAG,GAAG;AACf,IAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,CAAA,EAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAA,KAAA,CAAO;IACjE,IAAI,CAAC,KAAK,EAAE;AAEZ,IAAA,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;AAC1B;AAEA;;;;AAIG;AACG,SAAU,sBAAsB,CAAC,IAAU,EAAA;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,KAAI;AACxB,YAAA,IAAI;AACF,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAgB,CAAC;gBACvD,OAAO,CAAC,IAAsB,CAAC;YACjC;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACxC;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,OAAO,GAAG,MAAK;AACpB,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC1C,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACzB,IAAA,CAAC,CAAC;AACJ;AAEA;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,IAAU,EAAA;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,KAAI;AACxB,YAAA,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAgB,CAAC;AACzC,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,OAAO,GAAG,MAAK;AACpB,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAChD,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC5B,IAAA,CAAC,CAAC;AACJ;AAEA;;;;AAIG;AACG,SAAU,UAAU,CAAC,MAAM,GAAG,OAAO,EAAA;IACzC,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;AAC7E;AAEA;;AAEG;AACG,SAAU,qBAAqB,CACnC,IAAA,GAAe,cAAc,EAAA;IAE7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IACpC,OAAO;AACL,QAAA,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC;QAC1B,IAAI;AACJ,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,WAAW,EAAE,WAAW;AACxB,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,IAAI,EAAE,IAAI;AACX,SAAA;AACD,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,MAAM,EAAE,EAAE;KACX;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.idcard-designer{background-color:#f5f5f5;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;height:100vh}.designer-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px rgba(0,0,0,.08);display:flex;justify-content:space-between;padding:12px 20px}.template-name-input{background:transparent;border:none;border-radius:6px;font-size:18px;font-weight:600;outline:none;padding:8px 12px;transition:background .2s}.template-name-input:focus,.template-name-input:hover{background:#f0f0f0}.header-actions{display:flex;gap:10px}.designer-body{display:flex;flex:1;overflow:hidden}.designer-sidebar{background:#fff;border-right:1px solid #e0e0e0;overflow-y:auto;padding:16px;width:280px}.designer-sidebar.right-sidebar{border-left:1px solid #e0e0e0;border-right:none}.designer-sidebar h3{border-bottom:1px solid #eee;color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;margin:20px 0 12px;padding-bottom:8px;text-transform:uppercase}.designer-sidebar h3:first-child{margin-top:0}.designer-sidebar h4{color:#888;font-size:12px;font-weight:600;margin:16px 0 8px}.field-types{display:grid;gap:8px;grid-template-columns:1fr 1fr}.field-type-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:12px 8px;transition:all .2s}.field-type-btn:hover{background:#f5f9ff;border-color:#2196f3}.field-icon{font-size:20px;margin-bottom:4px}.field-label{color:#666;font-size:11px}.card-settings .setting-group{margin-bottom:16px}.card-settings label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.btn-group{display:flex;gap:0}.btn-group .btn{border-radius:0;border-right-width:0;flex:1}.btn-group .btn:first-child{border-radius:6px 0 0 6px}.btn-group .btn:last-child{border-radius:0 6px 6px 0;border-right-width:1px}.btn-group .btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.size-inputs{align-items:center;display:flex;gap:8px}.size-inputs input{flex:1;width:100%}.size-inputs span{color:#999}.background-upload{display:flex;flex-direction:column;gap:8px}.file-input{display:none}.designer-preview{background:#e8e8e8;display:flex;flex:1;flex-direction:column;overflow:hidden;padding:20px}.side-tabs{align-items:center;display:flex;gap:8px;margin-bottom:16px}.side-tabs .tab{background:#fff;border:none;border-radius:6px;color:#666;cursor:pointer;font-weight:500;padding:8px 20px;transition:all .2s}.side-tabs .tab.active{background:#2196f3;color:#fff}.grid-toggle{align-items:center;color:#666;cursor:pointer;display:flex;font-size:13px;gap:6px;margin-left:auto}.preview-wrapper{align-items:flex-start;background:#ddd;border-radius:8px;display:flex;flex:1;justify-content:center;overflow:auto;padding:20px}.idcard-preview-container{border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15)}.fields-list{background:#fff;border-radius:8px;margin-top:16px;max-height:150px;overflow-y:auto;padding:12px}.fields-list h4{color:#666;font-size:12px;margin:0 0 8px}.field-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s}.field-item:hover{background:#f5f5f5}.field-item.selected{background:#e3f2fd}.field-type-icon{font-size:14px}.field-key{flex:1;font-family:monospace;font-size:13px}.delete-btn{background:#ff5252;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:20px;line-height:1;opacity:0;transition:opacity .2s;width:20px}.field-item:hover .delete-btn{opacity:1}.field-properties{display:flex;flex-direction:column;gap:4px}.property-group{margin-bottom:12px}.property-group label{color:#888;display:block;font-size:11px;font-weight:500;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.property-group input[type=number],.property-group input[type=text],.property-group select{border:1px solid #e0e0e0;border-radius:6px;font-size:13px;padding:8px 10px;transition:border-color .2s;width:100%}.property-group input:focus,.property-group select:focus{border-color:#2196f3;outline:none}.property-group input[type=color]{border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;height:36px;padding:2px;width:100%}.position-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.property-group.half{margin-bottom:8px}.no-selection{color:#999;font-size:13px;padding:20px;text-align:center}.sample-data{margin-top:8px}.sample-data .hint{color:#888;font-size:12px;margin-bottom:12px}.sample-data .property-group{margin-bottom:8px}.validation-errors{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin-top:20px;padding:12px}.validation-errors h4{color:#e65100;font-size:13px;margin:0 0 8px}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{color:#bf360c;font-size:12px;margin-bottom:4px}.btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn:hover{background:#f5f5f5}.btn-primary{background:#2196f3;border-color:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2}.btn-primary:disabled{background:#90caf9;cursor:not-allowed}.btn-secondary{background:#757575;border-color:#757575;color:#fff}.btn-secondary:hover{background:#616161}.btn-danger{background:#f44336;border-color:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.btn-outline{background:transparent;border:1px dashed #999;color:#666}.btn-outline:hover{border-color:#2196f3;border-style:solid;color:#2196f3}.btn-sm{font-size:12px;padding:4px 10px}.preview-field{background:hsla(0,0%,100%,.1);display:flex;flex-direction:column;justify-content:center;transition:outline .2s}.preview-field:hover{outline:1px dashed #2196f3}.preview-field.selected{outline:2px solid #2196f3!important}.resize-handle{background:#2196f3;border:1px solid #fff;border-radius:2px;height:8px;position:absolute;width:8px;z-index:1000}.resize-handle-n{cursor:n-resize;top:-4px}.resize-handle-n,.resize-handle-s{left:50%;transform:translateX(-50%)}.resize-handle-s{bottom:-4px;cursor:s-resize}.resize-handle-e{cursor:e-resize;right:-4px}.resize-handle-e,.resize-handle-w{top:50%;transform:translateY(-50%)}.resize-handle-w{cursor:w-resize;left:-4px}.resize-handle-ne{cursor:ne-resize;right:-4px;top:-4px}.resize-handle-nw{cursor:nw-resize;left:-4px;top:-4px}.resize-handle-se{bottom:-4px;cursor:se-resize;right:-4px}.resize-handle-sw{bottom:-4px;cursor:sw-resize;left:-4px}@media (max-width:1200px){.designer-sidebar{width:240px}}@media (max-width:900px){.designer-body{flex-direction:column}.designer-sidebar{border-bottom:1px solid #e0e0e0;border-right:none;max-height:200px;width:100%}.designer-sidebar.right-sidebar{border-left:none;border-top:1px solid #e0e0e0}}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a style object with kebab-case keys to React camelCase
|
|
3
|
+
* Useful when importing styles from external sources
|
|
4
|
+
*/
|
|
5
|
+
function toReactStyle(styleObj) {
|
|
6
|
+
if (!styleObj)
|
|
7
|
+
return {};
|
|
8
|
+
const out = {};
|
|
9
|
+
for (const key in styleObj) {
|
|
10
|
+
// Skip non-style properties
|
|
11
|
+
if (key === 'frontOrBack' || key === 'category' || key === 'element') {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
// Convert kebab-case to camelCase (e.g., 'font-size' -> 'fontSize')
|
|
15
|
+
const reactKey = key.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
|
|
16
|
+
out[reactKey] = styleObj[key];
|
|
17
|
+
}
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Convert FieldStyle to React CSS properties
|
|
22
|
+
* @param style - The field style object
|
|
23
|
+
* @returns React-compatible CSS properties object
|
|
24
|
+
*/
|
|
25
|
+
function fieldStyleToCSS(style) {
|
|
26
|
+
if (!style)
|
|
27
|
+
return {};
|
|
28
|
+
return {
|
|
29
|
+
fontSize: style.fontSize,
|
|
30
|
+
fontWeight: style.fontWeight,
|
|
31
|
+
fontFamily: style.fontFamily,
|
|
32
|
+
color: style.color,
|
|
33
|
+
textAlign: style.textAlign,
|
|
34
|
+
textTransform: style.textTransform,
|
|
35
|
+
backgroundColor: style.backgroundColor,
|
|
36
|
+
borderRadius: style.borderRadius,
|
|
37
|
+
padding: style.padding,
|
|
38
|
+
border: style.border,
|
|
39
|
+
lineHeight: style.lineHeight,
|
|
40
|
+
letterSpacing: style.letterSpacing,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Merge multiple style objects
|
|
45
|
+
*/
|
|
46
|
+
function mergeStyles(...styles) {
|
|
47
|
+
return Object.assign({}, ...styles.filter(Boolean));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Generate position styles from field position
|
|
51
|
+
*/
|
|
52
|
+
function positionToStyle(position) {
|
|
53
|
+
return {
|
|
54
|
+
position: 'absolute',
|
|
55
|
+
left: `${position.x}px`,
|
|
56
|
+
top: `${position.y}px`,
|
|
57
|
+
width: `${position.width}px`,
|
|
58
|
+
height: `${position.height}px`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Default styles for different field types
|
|
63
|
+
*/
|
|
64
|
+
const defaultFieldStyles = {
|
|
65
|
+
text: {
|
|
66
|
+
fontSize: '12px',
|
|
67
|
+
fontWeight: 'normal',
|
|
68
|
+
color: '#000000',
|
|
69
|
+
textAlign: 'left',
|
|
70
|
+
},
|
|
71
|
+
label: {
|
|
72
|
+
fontSize: '10px',
|
|
73
|
+
fontWeight: 'bold',
|
|
74
|
+
color: '#333333',
|
|
75
|
+
textAlign: 'left',
|
|
76
|
+
textTransform: 'uppercase',
|
|
77
|
+
},
|
|
78
|
+
image: {},
|
|
79
|
+
qrcode: {
|
|
80
|
+
backgroundColor: '#ffffff',
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* CSS class name generator
|
|
85
|
+
*/
|
|
86
|
+
function cn(...classes) {
|
|
87
|
+
return classes.filter(Boolean).join(' ');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { cn, defaultFieldStyles, fieldStyleToCSS, mergeStyles, positionToStyle, toReactStyle };
|
|
91
|
+
//# sourceMappingURL=styleUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleUtils.js","sources":["../../../src/utils/styleUtils.ts"],"sourcesContent":["import type React from 'react';\r\nimport type { FieldStyle } from '../types';\r\n\r\n/**\r\n * Convert a style object with kebab-case keys to React camelCase\r\n * Useful when importing styles from external sources\r\n */\r\nexport function toReactStyle(\r\n styleObj: Record<string, unknown> | undefined\r\n): React.CSSProperties {\r\n if (!styleObj) return {};\r\n\r\n const out: Record<string, unknown> = {};\r\n for (const key in styleObj) {\r\n // Skip non-style properties\r\n if (key === 'frontOrBack' || key === 'category' || key === 'element') {\r\n continue;\r\n }\r\n // Convert kebab-case to camelCase (e.g., 'font-size' -> 'fontSize')\r\n const reactKey = key.replace(/-([a-z])/g, (g) => g[1].toUpperCase());\r\n out[reactKey] = styleObj[key];\r\n }\r\n return out as React.CSSProperties;\r\n}\r\n\r\n/**\r\n * Convert FieldStyle to React CSS properties\r\n * @param style - The field style object\r\n * @returns React-compatible CSS properties object\r\n */\r\nexport function fieldStyleToCSS(style: FieldStyle | undefined): React.CSSProperties {\r\n if (!style) return {};\r\n return {\r\n fontSize: style.fontSize,\r\n fontWeight: style.fontWeight,\r\n fontFamily: style.fontFamily,\r\n color: style.color,\r\n textAlign: style.textAlign,\r\n textTransform: style.textTransform,\r\n backgroundColor: style.backgroundColor,\r\n borderRadius: style.borderRadius,\r\n padding: style.padding,\r\n border: style.border,\r\n lineHeight: style.lineHeight,\r\n letterSpacing: style.letterSpacing,\r\n };\r\n}\r\n\r\n/**\r\n * Merge multiple style objects\r\n */\r\nexport function mergeStyles(\r\n ...styles: (React.CSSProperties | undefined)[]\r\n): React.CSSProperties {\r\n return Object.assign({}, ...styles.filter(Boolean));\r\n}\r\n\r\n/**\r\n * Generate position styles from field position\r\n */\r\nexport function positionToStyle(position: {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n}): React.CSSProperties {\r\n return {\r\n position: 'absolute',\r\n left: `${position.x}px`,\r\n top: `${position.y}px`,\r\n width: `${position.width}px`,\r\n height: `${position.height}px`,\r\n };\r\n}\r\n\r\n/**\r\n * Default styles for different field types\r\n */\r\nexport const defaultFieldStyles: Record<string, FieldStyle> = {\r\n text: {\r\n fontSize: '12px',\r\n fontWeight: 'normal',\r\n color: '#000000',\r\n textAlign: 'left',\r\n },\r\n label: {\r\n fontSize: '10px',\r\n fontWeight: 'bold',\r\n color: '#333333',\r\n textAlign: 'left',\r\n textTransform: 'uppercase',\r\n },\r\n image: {},\r\n qrcode: {\r\n backgroundColor: '#ffffff',\r\n },\r\n};\r\n\r\n/**\r\n * CSS class name generator\r\n */\r\nexport function cn(...classes: (string | undefined | null | false)[]): string {\r\n return classes.filter(Boolean).join(' ');\r\n}\r\n"],"names":[],"mappings":"AAGA;;;AAGG;AACG,SAAU,YAAY,CAC1B,QAA6C,EAAA;AAE7C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,EAAE;IAExB,MAAM,GAAG,GAA4B,EAAE;AACvC,IAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;;AAE1B,QAAA,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,EAAE;YACpE;QACF;;QAEA,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC/B;AACA,IAAA,OAAO,GAA0B;AACnC;AAEA;;;;AAIG;AACG,SAAU,eAAe,CAAC,KAA6B,EAAA;AAC3D,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,EAAE;IACrB,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC;AACH;AAEA;;AAEG;AACG,SAAU,WAAW,CACzB,GAAG,MAA2C,EAAA;AAE9C,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD;AAEA;;AAEG;AACG,SAAU,eAAe,CAAC,QAK/B,EAAA;IACC,OAAO;AACL,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAA,EAAA,CAAI;AACvB,QAAA,GAAG,EAAE,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAA,EAAA,CAAI;AACtB,QAAA,KAAK,EAAE,CAAA,EAAG,QAAQ,CAAC,KAAK,CAAA,EAAA,CAAI;AAC5B,QAAA,MAAM,EAAE,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAI;KAC/B;AACH;AAEA;;AAEG;AACI,MAAM,kBAAkB,GAA+B;AAC5D,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,aAAa,EAAE,WAAW;AAC3B,KAAA;AACD,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE;AACN,QAAA,eAAe,EAAE,SAAS;AAC3B,KAAA;;AAGH;;AAEG;AACG,SAAU,EAAE,CAAC,GAAG,OAA8C,EAAA;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1C;;;;"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate a complete ID card template
|
|
3
|
+
* Checks for required fields, valid dimensions, and proper field configuration
|
|
4
|
+
* @param template - The template to validate
|
|
5
|
+
* @returns Array of validation errors (empty if valid)
|
|
6
|
+
*/
|
|
7
|
+
function validateTemplate(template) {
|
|
8
|
+
const errors = [];
|
|
9
|
+
// Check required metadata
|
|
10
|
+
if (!template.id) {
|
|
11
|
+
errors.push({ field: 'id', message: 'Template ID is required' });
|
|
12
|
+
}
|
|
13
|
+
if (!template.name) {
|
|
14
|
+
errors.push({ field: 'name', message: 'Template name is required' });
|
|
15
|
+
}
|
|
16
|
+
// Validate card dimensions
|
|
17
|
+
if (!template.cardSize) {
|
|
18
|
+
errors.push({ field: 'cardSize', message: 'Card size is required' });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
if (template.cardSize.width <= 0) {
|
|
22
|
+
errors.push({ field: 'cardSize.width', message: 'Card width must be positive' });
|
|
23
|
+
}
|
|
24
|
+
if (template.cardSize.height <= 0) {
|
|
25
|
+
errors.push({ field: 'cardSize.height', message: 'Card height must be positive' });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Validate backgrounds
|
|
29
|
+
if (!template.backgrounds?.front && template.sides === 'single') {
|
|
30
|
+
errors.push({ field: 'backgrounds.front', message: 'Front background is required' });
|
|
31
|
+
}
|
|
32
|
+
if (template.sides === 'double' && !template.backgrounds?.back) {
|
|
33
|
+
errors.push({
|
|
34
|
+
field: 'backgrounds.back',
|
|
35
|
+
message: 'Back background is required for double-sided cards',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// Validate fields
|
|
39
|
+
if (!template.fields || template.fields.length === 0) {
|
|
40
|
+
errors.push({ field: 'fields', message: 'At least one field is required' });
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
template.fields.forEach((field, index) => {
|
|
44
|
+
const fieldErrors = validateField(field, index);
|
|
45
|
+
errors.push(...fieldErrors);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// Ensure no duplicate field IDs (would cause rendering issues)
|
|
49
|
+
const fieldIds = template.fields?.map((f) => f.id) || [];
|
|
50
|
+
const duplicateIds = fieldIds.filter((id, index) => fieldIds.indexOf(id) !== index);
|
|
51
|
+
if (duplicateIds.length > 0) {
|
|
52
|
+
errors.push({
|
|
53
|
+
field: 'fields',
|
|
54
|
+
message: `Duplicate field IDs: ${[...new Set(duplicateIds)].join(', ')}`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return errors;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate a single field's configuration
|
|
61
|
+
* @param field - The field to validate
|
|
62
|
+
* @param index - Field index (for error messages)
|
|
63
|
+
* @returns Array of validation errors
|
|
64
|
+
*/
|
|
65
|
+
function validateField(field, index) {
|
|
66
|
+
const errors = [];
|
|
67
|
+
const prefix = `fields[${index}]`;
|
|
68
|
+
if (!field.id) {
|
|
69
|
+
errors.push({ field: `${prefix}.id`, message: 'Field ID is required' });
|
|
70
|
+
}
|
|
71
|
+
if (!field.fieldKey) {
|
|
72
|
+
errors.push({ field: `${prefix}.fieldKey`, message: 'Field key is required' });
|
|
73
|
+
}
|
|
74
|
+
if (!field.type) {
|
|
75
|
+
errors.push({ field: `${prefix}.type`, message: 'Field type is required' });
|
|
76
|
+
}
|
|
77
|
+
if (!field.side) {
|
|
78
|
+
errors.push({ field: `${prefix}.side`, message: 'Field side is required' });
|
|
79
|
+
}
|
|
80
|
+
if (!field.position) {
|
|
81
|
+
errors.push({ field: `${prefix}.position`, message: 'Field position is required' });
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if (field.position.x < 0) {
|
|
85
|
+
errors.push({ field: `${prefix}.position.x`, message: 'X position cannot be negative' });
|
|
86
|
+
}
|
|
87
|
+
if (field.position.y < 0) {
|
|
88
|
+
errors.push({ field: `${prefix}.position.y`, message: 'Y position cannot be negative' });
|
|
89
|
+
}
|
|
90
|
+
if (field.position.width <= 0) {
|
|
91
|
+
errors.push({ field: `${prefix}.position.width`, message: 'Width must be positive' });
|
|
92
|
+
}
|
|
93
|
+
if (field.position.height <= 0) {
|
|
94
|
+
errors.push({ field: `${prefix}.position.height`, message: 'Height must be positive' });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (field.type === 'qrcode' && (!field.qrFields || field.qrFields.length === 0)) {
|
|
98
|
+
errors.push({
|
|
99
|
+
field: `${prefix}.qrFields`,
|
|
100
|
+
message: 'QR code fields require at least one data field',
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (field.type === 'label' && !field.staticText && !field.label) {
|
|
104
|
+
errors.push({
|
|
105
|
+
field: `${prefix}.staticText`,
|
|
106
|
+
message: 'Label fields require static text',
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return errors;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate card size against standard dimensions
|
|
113
|
+
*/
|
|
114
|
+
function validateCardSize(size) {
|
|
115
|
+
// Just ensure dimensions are reasonable
|
|
116
|
+
if (size.unit === 'mm') {
|
|
117
|
+
return size.width >= 30 && size.width <= 200 && size.height >= 30 && size.height <= 200;
|
|
118
|
+
}
|
|
119
|
+
if (size.unit === 'px') {
|
|
120
|
+
return size.width >= 100 && size.width <= 2000 && size.height >= 100 && size.height <= 2000;
|
|
121
|
+
}
|
|
122
|
+
if (size.unit === 'in') {
|
|
123
|
+
return size.width >= 1 && size.width <= 10 && size.height >= 1 && size.height <= 10;
|
|
124
|
+
}
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Check if a field is within card bounds
|
|
129
|
+
*/
|
|
130
|
+
function isFieldInBounds(field, cardSize) {
|
|
131
|
+
const { x, y, width, height } = field.position;
|
|
132
|
+
return (x >= 0 &&
|
|
133
|
+
y >= 0 &&
|
|
134
|
+
x + width <= cardSize.width &&
|
|
135
|
+
y + height <= cardSize.height);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { isFieldInBounds, validateCardSize, validateField, validateTemplate };
|
|
139
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../../src/utils/validators.ts"],"sourcesContent":["import type { IDCardTemplate, FieldMapping, CardSize } from '../types';\r\n\r\nexport interface ValidationError {\r\n field: string;\r\n message: string;\r\n}\r\n\r\n/**\r\n * Validate a complete ID card template\r\n * Checks for required fields, valid dimensions, and proper field configuration\r\n * @param template - The template to validate\r\n * @returns Array of validation errors (empty if valid)\r\n */\r\nexport function validateTemplate(template: IDCardTemplate): ValidationError[] {\r\n const errors: ValidationError[] = [];\r\n\r\n // Check required metadata\r\n if (!template.id) {\r\n errors.push({ field: 'id', message: 'Template ID is required' });\r\n }\r\n\r\n if (!template.name) {\r\n errors.push({ field: 'name', message: 'Template name is required' });\r\n }\r\n\r\n // Validate card dimensions\r\n if (!template.cardSize) {\r\n errors.push({ field: 'cardSize', message: 'Card size is required' });\r\n } else {\r\n if (template.cardSize.width <= 0) {\r\n errors.push({ field: 'cardSize.width', message: 'Card width must be positive' });\r\n }\r\n if (template.cardSize.height <= 0) {\r\n errors.push({ field: 'cardSize.height', message: 'Card height must be positive' });\r\n }\r\n }\r\n\r\n // Validate backgrounds\r\n if (!template.backgrounds?.front && template.sides === 'single') {\r\n errors.push({ field: 'backgrounds.front', message: 'Front background is required' });\r\n }\r\n\r\n if (template.sides === 'double' && !template.backgrounds?.back) {\r\n errors.push({\r\n field: 'backgrounds.back',\r\n message: 'Back background is required for double-sided cards',\r\n });\r\n }\r\n\r\n // Validate fields\r\n if (!template.fields || template.fields.length === 0) {\r\n errors.push({ field: 'fields', message: 'At least one field is required' });\r\n } else {\r\n template.fields.forEach((field, index) => {\r\n const fieldErrors = validateField(field, index);\r\n errors.push(...fieldErrors);\r\n });\r\n }\r\n\r\n // Ensure no duplicate field IDs (would cause rendering issues)\r\n const fieldIds = template.fields?.map((f) => f.id) || [];\r\n const duplicateIds = fieldIds.filter((id, index) => fieldIds.indexOf(id) !== index);\r\n if (duplicateIds.length > 0) {\r\n errors.push({\r\n field: 'fields',\r\n message: `Duplicate field IDs: ${[...new Set(duplicateIds)].join(', ')}`,\r\n });\r\n }\r\n\r\n return errors;\r\n}\r\n\r\n/**\r\n * Validate a single field's configuration\r\n * @param field - The field to validate\r\n * @param index - Field index (for error messages)\r\n * @returns Array of validation errors\r\n */\r\nexport function validateField(field: FieldMapping, index: number): ValidationError[] {\r\n const errors: ValidationError[] = [];\r\n const prefix = `fields[${index}]`;\r\n\r\n if (!field.id) {\r\n errors.push({ field: `${prefix}.id`, message: 'Field ID is required' });\r\n }\r\n\r\n if (!field.fieldKey) {\r\n errors.push({ field: `${prefix}.fieldKey`, message: 'Field key is required' });\r\n }\r\n\r\n if (!field.type) {\r\n errors.push({ field: `${prefix}.type`, message: 'Field type is required' });\r\n }\r\n\r\n if (!field.side) {\r\n errors.push({ field: `${prefix}.side`, message: 'Field side is required' });\r\n }\r\n\r\n if (!field.position) {\r\n errors.push({ field: `${prefix}.position`, message: 'Field position is required' });\r\n } else {\r\n if (field.position.x < 0) {\r\n errors.push({ field: `${prefix}.position.x`, message: 'X position cannot be negative' });\r\n }\r\n if (field.position.y < 0) {\r\n errors.push({ field: `${prefix}.position.y`, message: 'Y position cannot be negative' });\r\n }\r\n if (field.position.width <= 0) {\r\n errors.push({ field: `${prefix}.position.width`, message: 'Width must be positive' });\r\n }\r\n if (field.position.height <= 0) {\r\n errors.push({ field: `${prefix}.position.height`, message: 'Height must be positive' });\r\n }\r\n }\r\n\r\n\r\n\r\n if (field.type === 'qrcode' && (!field.qrFields || field.qrFields.length === 0)) {\r\n errors.push({\r\n field: `${prefix}.qrFields`,\r\n message: 'QR code fields require at least one data field',\r\n });\r\n }\r\n\r\n if (field.type === 'label' && !field.staticText && !field.label) {\r\n errors.push({\r\n field: `${prefix}.staticText`,\r\n message: 'Label fields require static text',\r\n });\r\n }\r\n\r\n return errors;\r\n}\r\n\r\n/**\r\n * Validate card size against standard dimensions\r\n */\r\nexport function validateCardSize(size: CardSize): boolean {\r\n const standardSizes = {\r\n 'CR80': { width: 85.6, height: 53.98, unit: 'mm' },\r\n 'CR79': { width: 83.9, height: 51.0, unit: 'mm' },\r\n 'CR100': { width: 98.0, height: 67.0, unit: 'mm' },\r\n };\r\n\r\n // Just ensure dimensions are reasonable\r\n if (size.unit === 'mm') {\r\n return size.width >= 30 && size.width <= 200 && size.height >= 30 && size.height <= 200;\r\n }\r\n if (size.unit === 'px') {\r\n return size.width >= 100 && size.width <= 2000 && size.height >= 100 && size.height <= 2000;\r\n }\r\n if (size.unit === 'in') {\r\n return size.width >= 1 && size.width <= 10 && size.height >= 1 && size.height <= 10;\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Check if a field is within card bounds\r\n */\r\nexport function isFieldInBounds(\r\n field: FieldMapping,\r\n cardSize: CardSize\r\n): boolean {\r\n const { x, y, width, height } = field.position;\r\n return (\r\n x >= 0 &&\r\n y >= 0 &&\r\n x + width <= cardSize.width &&\r\n y + height <= cardSize.height\r\n );\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IDCardDesignerProps } from '../types';
|
|
3
|
+
import './IDCardDesigner.css';
|
|
4
|
+
/**
|
|
5
|
+
* IDCardDesigner - Visual drag-and-drop template builder
|
|
6
|
+
*
|
|
7
|
+
* Allows users to:
|
|
8
|
+
* - Add and position fields on the card
|
|
9
|
+
* - Upload background images
|
|
10
|
+
* - Configure field styles (fonts, colors, etc.)
|
|
11
|
+
* - Choose card orientation and sides
|
|
12
|
+
* - Preview the card with sample data
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* IDCardDesigner - Visual drag-and-drop ID card template builder
|
|
16
|
+
*/
|
|
17
|
+
export declare const IDCardDesigner: React.FC<IDCardDesignerProps>;
|
|
18
|
+
export default IDCardDesigner;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IDCardGeneratorProps } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* IDCardGenerator - Renders a completed ID card
|
|
5
|
+
*
|
|
6
|
+
* Takes a template and user data, then renders the filled card.
|
|
7
|
+
* This is the component used to display actual ID cards for individual users.
|
|
8
|
+
*
|
|
9
|
+
* Example:
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <IDCardGenerator
|
|
12
|
+
* template={myTemplate}
|
|
13
|
+
* data={{ name: 'John Doe', photo: '...' }}
|
|
14
|
+
* side="front"
|
|
15
|
+
* />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const IDCardGenerator: React.FC<IDCardGeneratorProps>;
|
|
19
|
+
export default IDCardGenerator;
|