├── .editorconfig
├── .eslintrc.json
├── .gitignore
├── .npmignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── angular.json
├── docs
├── 3rdpartylicenses.txt
├── assets
│ ├── cat-sig.png
│ └── sign-here.png
├── favicon.ico
├── index.html
├── main-LI64OOJW.js
├── polyfills-FFHMD2TL.js
└── styles-5INURTSO.css
├── package-lock.json
├── package.json
├── projects
├── angular-signature-pad
│ ├── .eslintrc.json
│ ├── karma.conf.js
│ ├── ng-package.json
│ ├── package.json
│ ├── src
│ │ ├── lib
│ │ │ ├── angular-signature-pad.component.scss
│ │ │ ├── angular-signature-pad.component.spec.ts
│ │ │ ├── angular-signature-pad.component.ts
│ │ │ └── angular-signature-pad.module.ts
│ │ ├── public-api.ts
│ │ └── test.ts
│ ├── tsconfig.lib.json
│ ├── tsconfig.lib.prod.json
│ └── tsconfig.spec.json
└── demo
│ ├── .eslintrc.json
│ ├── public
│ ├── assets
│ │ ├── cat-sig.png
│ │ └── sign-here.png
│ └── favicon.ico
│ ├── src
│ ├── app
│ │ ├── app.component.html
│ │ ├── app.component.scss
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── signature-field
│ │ │ ├── signature-field.component.html
│ │ │ ├── signature-field.component.scss
│ │ │ └── signature-field.component.ts
│ │ └── signature-view
│ │ │ ├── signature-view.component.html
│ │ │ ├── signature-view.component.scss
│ │ │ └── signature-view.component.ts
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── index.html
│ ├── main.ts
│ └── styles.scss
│ ├── tsconfig.app.json
│ └── tsconfig.spec.json
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "ignorePatterns": [
4 | "projects/**/*"
5 | ],
6 | "overrides": [
7 | {
8 | "files": [
9 | "*.ts"
10 | ],
11 | "parserOptions": {
12 | "project": [
13 | "tsconfig.json"
14 | ],
15 | "createDefaultProgram": true
16 | },
17 | "extends": [
18 | "plugin:@angular-eslint/recommended",
19 | "plugin:@angular-eslint/template/process-inline-templates"
20 | ],
21 | "rules": {
22 | "no-underscore-dangle": "off",
23 | "semi": [
24 | "error",
25 | "always"
26 | ],
27 | "no-console": [
28 | "error",
29 | {
30 | "allow": [
31 | "log",
32 | "warn",
33 | "error"
34 | ]
35 | }
36 | ],
37 | "@typescript-eslint/explicit-member-accessibility": [
38 | "off",
39 | {
40 | "accessibility": "explicit"
41 | }
42 | ],
43 | "@angular-eslint/component-selector": "off",
44 | "@angular-eslint/directive-selector": "off",
45 | "@angular-eslint/use-lifecycle-interface": [
46 | "error"
47 | ],
48 | "arrow-parens": [
49 | "off",
50 | "always"
51 | ],
52 | "max-len": [
53 | "error",
54 | {
55 | "code": 180
56 | }
57 | ]
58 | }
59 | },
60 | {
61 | "files": [
62 | "*.html"
63 | ],
64 | "extends": [
65 | "plugin:@angular-eslint/template/recommended"
66 | ],
67 | "rules": {}
68 | }
69 | ]
70 | }
71 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | # Only exists if Bazel was run
8 | /bazel-out
9 |
10 | # dependencies
11 | /node_modules
12 |
13 | # profiling files
14 | chrome-profiler-events*.json
15 | speed-measure-plugin*.json
16 |
17 | # IDEs and editors
18 | /.idea
19 | .project
20 | .classpath
21 | .c9/
22 | *.launch
23 | .settings/
24 | *.sublime-workspace
25 |
26 | # IDE - VSCode
27 | .vscode/*
28 | !.vscode/settings.json
29 | !.vscode/tasks.json
30 | !.vscode/launch.json
31 | !.vscode/extensions.json
32 | .history/*
33 |
34 | # misc
35 | /.angular/cache
36 | /.sass-cache
37 | /connect.lock
38 | /coverage
39 | /libpeerconnection.log
40 | npm-debug.log
41 | yarn-error.log
42 | testem.log
43 | /typings
44 |
45 | # System Files
46 | .DS_Store
47 | Thumbs.db
48 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # Node generated files
2 | node_modules
3 | npm-debug.log
4 |
5 | # OS generated files
6 | Thumbs.db
7 | .DS_Store
8 |
9 | # Ignored files
10 | *.ts
11 | !*.d.ts
12 |
13 | # ngc generated files
14 | ngfactory
15 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 |
3 | ## 6.0.0
4 |
5 | - **BREAKING** `redrawCanvas()` does not auto-clear data anymore; clear will be called internally, but still preserving data. You can return to the previous behavior by calling `clear()` after `redrawCanvas()` if you want it.
6 | - **BREAKING** `clear()` will call `redrawCanvas()` first. If you just want to clear data without redrawing, then call `clear(false)`. This behavior is to fix issues where the pad loses the style after clearing data.
7 | - **BREAKING** `clear()` will trigger `drawEnd` with the value of `null`, this can help with knowing when the pad got cleared.
8 | - Adding new `changeBackgroundColor(color: string)` function to change the background color dynamically.
9 | - New Demo UI and fixing broken showcase.
10 | - Upgrade `signature_pad` to the latest version (5.0.4) See ([Changelog](https://github.com/szimek/signature_pad/blob/master/CHANGELOG.md#504-2024-10-17))
11 | - Support Angular 18 (Now it supports Angular >= 16; if any issues occur in the future, please report).
12 | - Update dependencies for the project
13 |
14 | ## 5.0.1
15 |
16 | - Upgrade `signature_pad` to the latest version (4.0.7) See ([Changelog](https://github.com/szimek/signature_pad/blob/master/CHANGELOG.md#407-2022-07-21))
17 | - Support Angular 14 (Now it is supporting Angular >= 12, if any issues happened in the future, please report).
18 | - Drop support from Angular 10 & 11 as they are no more active nor LTS ([Support policy and schedule](https://angular.io/guide/releases#support-policy-and-schedule))
19 |
20 | ## 4.0.1
21 |
22 | - Upgrade `signature_pad` to the final version 4.0.0 See ([Changelog](https://github.com/szimek/signature_pad/blob/master/CHANGELOG.md#400))
23 | - Support Angular 13.
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2020 Al-Mothafar Al-Hasan
4 |
5 | Copyright (c) 2016 Wulf Sölter
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Angular Signature Pad
2 |
3 | [](https://www.npmjs.com/package/@almothafar/angular-signature-pad)
4 | [](https://www.npmjs.com/package/@almothafar/angular-signature-pad)
5 | [](https://www.npmjs.com/package/@almothafar/angular-signature-pad)
6 | [](https://github.com/almothafar/angular-signature-pad/issues)
7 |
8 |
9 | Angular component for [szimek/signature_pad](https://www.npmjs.com/package/signature_pad).
10 |
11 | ## Install
12 |
13 | ```shell
14 | npm install @almothafar/angular-signature-pad --save
15 | ```
16 |
17 | ## Reference Implementation
18 |
19 | * [Live Demo](https://almothafar.github.io/angular-signature-pad/)
20 | * [Source](https://github.com/almothafar/angular-signature-pad/tree/master/projects/demo)
21 |
22 | ## Usage example
23 |
24 | API is identical to [szimek/signature_pad](https://www.npmjs.com/package/signature_pad).
25 |
26 | Options are as per [szimek/signature_pad](https://www.npmjs.com/package/signature_pad) with the following additions:
27 |
28 | * canvasWidth: width of the canvas (px)
29 | * canvasHeight: height of the canvas (px)
30 |
31 | The above options are provided to avoid accessing the DOM directly from your component to adjust the canvas size.
32 |
33 | ```typescript
34 |
35 | // import into app module
36 |
37 | import { AngularSignaturePadModule } from '@almothafar/angular-signature-pad';
38 |
39 | ...
40 |
41 | @NgModule({
42 | declarations: [ ],
43 | imports: [ AngularSignaturePadModule ],
44 | providers: [ ],
45 | bootstrap: [ AppComponent ]
46 | })
47 |
48 | // then import for use in a component
49 |
50 | import { Component, ViewChild } from '@angular/core';
51 | import { SignaturePadComponent } from '@almothafar/angular-signature-pad';
52 |
53 | @Component({
54 | template: ''
55 | })
56 |
57 | export class SignaturePadPage {
58 |
59 | @ViewChild('signature')
60 | public signaturePad: SignaturePadComponent;
61 |
62 | private signaturePadOptions: NgSignaturePadOptions = { // passed through to szimek/signature_pad constructor
63 | minWidth: 5,
64 | canvasWidth: 500,
65 | canvasHeight: 300
66 | };
67 |
68 | constructor() {
69 | // no-op
70 | }
71 |
72 | ngAfterViewInit() {
73 | // this.signaturePad is now available
74 | this.signaturePad.set('minWidth', 5); // set szimek/signature_pad options at runtime
75 | this.signaturePad.clear(); // invoke functions from szimek/signature_pad API
76 | }
77 |
78 | drawComplete(event: MouseEvent | Touch) {
79 | // will be notified of szimek/signature_pad's onEnd event
80 | console.log('Completed drawing', event);
81 | console.log(this.signaturePad.toDataURL());
82 | }
83 |
84 | drawStart(event: MouseEvent | Touch) {
85 | // will be notified of szimek/signature_pad's onBegin event
86 | console.log('Start drawing', event);
87 | }
88 | }
89 | ```
90 |
--------------------------------------------------------------------------------
/angular.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 | "version": 1,
4 | "newProjectRoot": "projects",
5 | "projects": {
6 | "angular-signature-pad": {
7 | "projectType": "library",
8 | "root": "projects/angular-signature-pad",
9 | "sourceRoot": "projects/angular-signature-pad/src",
10 | "prefix": "lib",
11 | "architect": {
12 | "build": {
13 | "builder": "@angular-devkit/build-angular:ng-packagr",
14 | "options": {
15 | "tsConfig": "projects/angular-signature-pad/tsconfig.lib.json",
16 | "project": "projects/angular-signature-pad/ng-package.json"
17 | },
18 | "configurations": {
19 | "production": {
20 | "tsConfig": "projects/angular-signature-pad/tsconfig.lib.prod.json"
21 | }
22 | }
23 | },
24 | "test": {
25 | "builder": "@angular-devkit/build-angular:karma",
26 | "options": {
27 | "main": "projects/angular-signature-pad/src/test.ts",
28 | "tsConfig": "projects/angular-signature-pad/tsconfig.spec.json",
29 | "karmaConfig": "projects/angular-signature-pad/karma.conf.js"
30 | }
31 | },
32 | "lint": {
33 | "builder": "@angular-eslint/builder:lint",
34 | "options": {
35 | "lintFilePatterns": [
36 | "projects/angular-signature-pad/**/*.ts",
37 | "projects/angular-signature-pad/**/*.html"
38 | ]
39 | }
40 | }
41 | }
42 | },
43 | "demo": {
44 | "projectType": "application",
45 | "schematics": {
46 | "@schematics/angular:component": {
47 | "style": "scss"
48 | }
49 | },
50 | "root": "projects/demo",
51 | "sourceRoot": "projects/demo/src",
52 | "prefix": "app",
53 | "architect": {
54 | "build": {
55 | "builder": "@angular-devkit/build-angular:application",
56 | "options": {
57 | "outputPath": {
58 | "base": "docs",
59 | "browser": ""
60 | },
61 | "baseHref": "/angular-signature-pad/",
62 | "index": "projects/demo/src/index.html",
63 | "browser": "projects/demo/src/main.ts",
64 | "polyfills": [
65 | "zone.js"
66 | ],
67 | "tsConfig": "projects/demo/tsconfig.app.json",
68 | "inlineStyleLanguage": "scss",
69 | "assets": [
70 | {
71 | "glob": "**/*",
72 | "input": "projects/demo/public"
73 | }
74 | ],
75 | "styles": [
76 | "projects/demo/src/styles.scss"
77 | ],
78 | "scripts": []
79 | },
80 | "configurations": {
81 | "production": {
82 | "budgets": [
83 | {
84 | "type": "initial",
85 | "maximumWarning": "500kB",
86 | "maximumError": "1MB"
87 | },
88 | {
89 | "type": "anyComponentStyle",
90 | "maximumWarning": "2kB",
91 | "maximumError": "4kB"
92 | }
93 | ],
94 | "outputHashing": "all"
95 | },
96 | "development": {
97 | "optimization": false,
98 | "extractLicenses": false,
99 | "sourceMap": true
100 | }
101 | },
102 | "defaultConfiguration": "production"
103 | },
104 | "serve": {
105 | "builder": "@angular-devkit/build-angular:dev-server",
106 | "configurations": {
107 | "production": {
108 | "buildTarget": "demo:build:production"
109 | },
110 | "development": {
111 | "buildTarget": "demo:build:development"
112 | }
113 | },
114 | "defaultConfiguration": "development"
115 | },
116 | "extract-i18n": {
117 | "builder": "@angular-devkit/build-angular:extract-i18n"
118 | },
119 | "test": {
120 | "builder": "@angular-devkit/build-angular:karma",
121 | "options": {
122 | "polyfills": [
123 | "zone.js",
124 | "zone.js/testing"
125 | ],
126 | "tsConfig": "projects/demo/tsconfig.spec.json",
127 | "inlineStyleLanguage": "scss",
128 | "assets": [
129 | {
130 | "glob": "**/*",
131 | "input": "projects/demo/public"
132 | }
133 | ],
134 | "styles": [
135 | "projects/demo/src/styles.scss"
136 | ],
137 | "scripts": []
138 | }
139 | },
140 | "lint": {
141 | "builder": "@angular-eslint/builder:lint",
142 | "options": {
143 | "lintFilePatterns": [
144 | "projects/demo/**/*.ts",
145 | "projects/demo/**/*.html"
146 | ]
147 | }
148 | }
149 | }
150 | }
151 | },
152 | "cli": {
153 | "analytics": "6e1c7da0-5e0a-4d7a-a68c-bcf04ef3cc04",
154 | "schematicCollections": [
155 | "@angular-eslint/schematics"
156 | ]
157 | },
158 | "schematics": {
159 | "@angular-eslint/schematics:application": {
160 | "setParserOptionsProject": true
161 | },
162 | "@angular-eslint/schematics:library": {
163 | "setParserOptionsProject": true
164 | }
165 | }
166 | }
167 |
--------------------------------------------------------------------------------
/docs/3rdpartylicenses.txt:
--------------------------------------------------------------------------------
1 |
2 | --------------------------------------------------------------------------------
3 | Package: @angular/core
4 | License: "MIT"
5 |
6 | The MIT License
7 |
8 | Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in
18 | all copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26 | THE SOFTWARE.
27 |
28 | --------------------------------------------------------------------------------
29 | Package: rxjs
30 | License: "Apache-2.0"
31 |
32 | Apache License
33 | Version 2.0, January 2004
34 | http://www.apache.org/licenses/
35 |
36 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
37 |
38 | 1. Definitions.
39 |
40 | "License" shall mean the terms and conditions for use, reproduction,
41 | and distribution as defined by Sections 1 through 9 of this document.
42 |
43 | "Licensor" shall mean the copyright owner or entity authorized by
44 | the copyright owner that is granting the License.
45 |
46 | "Legal Entity" shall mean the union of the acting entity and all
47 | other entities that control, are controlled by, or are under common
48 | control with that entity. For the purposes of this definition,
49 | "control" means (i) the power, direct or indirect, to cause the
50 | direction or management of such entity, whether by contract or
51 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
52 | outstanding shares, or (iii) beneficial ownership of such entity.
53 |
54 | "You" (or "Your") shall mean an individual or Legal Entity
55 | exercising permissions granted by this License.
56 |
57 | "Source" form shall mean the preferred form for making modifications,
58 | including but not limited to software source code, documentation
59 | source, and configuration files.
60 |
61 | "Object" form shall mean any form resulting from mechanical
62 | transformation or translation of a Source form, including but
63 | not limited to compiled object code, generated documentation,
64 | and conversions to other media types.
65 |
66 | "Work" shall mean the work of authorship, whether in Source or
67 | Object form, made available under the License, as indicated by a
68 | copyright notice that is included in or attached to the work
69 | (an example is provided in the Appendix below).
70 |
71 | "Derivative Works" shall mean any work, whether in Source or Object
72 | form, that is based on (or derived from) the Work and for which the
73 | editorial revisions, annotations, elaborations, or other modifications
74 | represent, as a whole, an original work of authorship. For the purposes
75 | of this License, Derivative Works shall not include works that remain
76 | separable from, or merely link (or bind by name) to the interfaces of,
77 | the Work and Derivative Works thereof.
78 |
79 | "Contribution" shall mean any work of authorship, including
80 | the original version of the Work and any modifications or additions
81 | to that Work or Derivative Works thereof, that is intentionally
82 | submitted to Licensor for inclusion in the Work by the copyright owner
83 | or by an individual or Legal Entity authorized to submit on behalf of
84 | the copyright owner. For the purposes of this definition, "submitted"
85 | means any form of electronic, verbal, or written communication sent
86 | to the Licensor or its representatives, including but not limited to
87 | communication on electronic mailing lists, source code control systems,
88 | and issue tracking systems that are managed by, or on behalf of, the
89 | Licensor for the purpose of discussing and improving the Work, but
90 | excluding communication that is conspicuously marked or otherwise
91 | designated in writing by the copyright owner as "Not a Contribution."
92 |
93 | "Contributor" shall mean Licensor and any individual or Legal Entity
94 | on behalf of whom a Contribution has been received by Licensor and
95 | subsequently incorporated within the Work.
96 |
97 | 2. Grant of Copyright License. Subject to the terms and conditions of
98 | this License, each Contributor hereby grants to You a perpetual,
99 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
100 | copyright license to reproduce, prepare Derivative Works of,
101 | publicly display, publicly perform, sublicense, and distribute the
102 | Work and such Derivative Works in Source or Object form.
103 |
104 | 3. Grant of Patent License. Subject to the terms and conditions of
105 | this License, each Contributor hereby grants to You a perpetual,
106 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
107 | (except as stated in this section) patent license to make, have made,
108 | use, offer to sell, sell, import, and otherwise transfer the Work,
109 | where such license applies only to those patent claims licensable
110 | by such Contributor that are necessarily infringed by their
111 | Contribution(s) alone or by combination of their Contribution(s)
112 | with the Work to which such Contribution(s) was submitted. If You
113 | institute patent litigation against any entity (including a
114 | cross-claim or counterclaim in a lawsuit) alleging that the Work
115 | or a Contribution incorporated within the Work constitutes direct
116 | or contributory patent infringement, then any patent licenses
117 | granted to You under this License for that Work shall terminate
118 | as of the date such litigation is filed.
119 |
120 | 4. Redistribution. You may reproduce and distribute copies of the
121 | Work or Derivative Works thereof in any medium, with or without
122 | modifications, and in Source or Object form, provided that You
123 | meet the following conditions:
124 |
125 | (a) You must give any other recipients of the Work or
126 | Derivative Works a copy of this License; and
127 |
128 | (b) You must cause any modified files to carry prominent notices
129 | stating that You changed the files; and
130 |
131 | (c) You must retain, in the Source form of any Derivative Works
132 | that You distribute, all copyright, patent, trademark, and
133 | attribution notices from the Source form of the Work,
134 | excluding those notices that do not pertain to any part of
135 | the Derivative Works; and
136 |
137 | (d) If the Work includes a "NOTICE" text file as part of its
138 | distribution, then any Derivative Works that You distribute must
139 | include a readable copy of the attribution notices contained
140 | within such NOTICE file, excluding those notices that do not
141 | pertain to any part of the Derivative Works, in at least one
142 | of the following places: within a NOTICE text file distributed
143 | as part of the Derivative Works; within the Source form or
144 | documentation, if provided along with the Derivative Works; or,
145 | within a display generated by the Derivative Works, if and
146 | wherever such third-party notices normally appear. The contents
147 | of the NOTICE file are for informational purposes only and
148 | do not modify the License. You may add Your own attribution
149 | notices within Derivative Works that You distribute, alongside
150 | or as an addendum to the NOTICE text from the Work, provided
151 | that such additional attribution notices cannot be construed
152 | as modifying the License.
153 |
154 | You may add Your own copyright statement to Your modifications and
155 | may provide additional or different license terms and conditions
156 | for use, reproduction, or distribution of Your modifications, or
157 | for any such Derivative Works as a whole, provided Your use,
158 | reproduction, and distribution of the Work otherwise complies with
159 | the conditions stated in this License.
160 |
161 | 5. Submission of Contributions. Unless You explicitly state otherwise,
162 | any Contribution intentionally submitted for inclusion in the Work
163 | by You to the Licensor shall be under the terms and conditions of
164 | this License, without any additional terms or conditions.
165 | Notwithstanding the above, nothing herein shall supersede or modify
166 | the terms of any separate license agreement you may have executed
167 | with Licensor regarding such Contributions.
168 |
169 | 6. Trademarks. This License does not grant permission to use the trade
170 | names, trademarks, service marks, or product names of the Licensor,
171 | except as required for reasonable and customary use in describing the
172 | origin of the Work and reproducing the content of the NOTICE file.
173 |
174 | 7. Disclaimer of Warranty. Unless required by applicable law or
175 | agreed to in writing, Licensor provides the Work (and each
176 | Contributor provides its Contributions) on an "AS IS" BASIS,
177 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
178 | implied, including, without limitation, any warranties or conditions
179 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
180 | PARTICULAR PURPOSE. You are solely responsible for determining the
181 | appropriateness of using or redistributing the Work and assume any
182 | risks associated with Your exercise of permissions under this License.
183 |
184 | 8. Limitation of Liability. In no event and under no legal theory,
185 | whether in tort (including negligence), contract, or otherwise,
186 | unless required by applicable law (such as deliberate and grossly
187 | negligent acts) or agreed to in writing, shall any Contributor be
188 | liable to You for damages, including any direct, indirect, special,
189 | incidental, or consequential damages of any character arising as a
190 | result of this License or out of the use or inability to use the
191 | Work (including but not limited to damages for loss of goodwill,
192 | work stoppage, computer failure or malfunction, or any and all
193 | other commercial damages or losses), even if such Contributor
194 | has been advised of the possibility of such damages.
195 |
196 | 9. Accepting Warranty or Additional Liability. While redistributing
197 | the Work or Derivative Works thereof, You may choose to offer,
198 | and charge a fee for, acceptance of support, warranty, indemnity,
199 | or other liability obligations and/or rights consistent with this
200 | License. However, in accepting such obligations, You may act only
201 | on Your own behalf and on Your sole responsibility, not on behalf
202 | of any other Contributor, and only if You agree to indemnify,
203 | defend, and hold each Contributor harmless for any liability
204 | incurred by, or claims asserted against, such Contributor by reason
205 | of your accepting any such warranty or additional liability.
206 |
207 | END OF TERMS AND CONDITIONS
208 |
209 | APPENDIX: How to apply the Apache License to your work.
210 |
211 | To apply the Apache License to your work, attach the following
212 | boilerplate notice, with the fields enclosed by brackets "[]"
213 | replaced with your own identifying information. (Don't include
214 | the brackets!) The text should be enclosed in the appropriate
215 | comment syntax for the file format. We also recommend that a
216 | file or class name and description of purpose be included on the
217 | same "printed page" as the copyright notice for easier
218 | identification within third-party archives.
219 |
220 | Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
221 |
222 | Licensed under the Apache License, Version 2.0 (the "License");
223 | you may not use this file except in compliance with the License.
224 | You may obtain a copy of the License at
225 |
226 | http://www.apache.org/licenses/LICENSE-2.0
227 |
228 | Unless required by applicable law or agreed to in writing, software
229 | distributed under the License is distributed on an "AS IS" BASIS,
230 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
231 | See the License for the specific language governing permissions and
232 | limitations under the License.
233 |
234 |
235 | --------------------------------------------------------------------------------
236 | Package: tslib
237 | License: "0BSD"
238 |
239 | Copyright (c) Microsoft Corporation.
240 |
241 | Permission to use, copy, modify, and/or distribute this software for any
242 | purpose with or without fee is hereby granted.
243 |
244 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
245 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
246 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
247 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
248 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
249 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
250 | PERFORMANCE OF THIS SOFTWARE.
251 | --------------------------------------------------------------------------------
252 | Package: @angular/common
253 | License: "MIT"
254 |
255 | The MIT License
256 |
257 | Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
258 |
259 | Permission is hereby granted, free of charge, to any person obtaining a copy
260 | of this software and associated documentation files (the "Software"), to deal
261 | in the Software without restriction, including without limitation the rights
262 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
263 | copies of the Software, and to permit persons to whom the Software is
264 | furnished to do so, subject to the following conditions:
265 |
266 | The above copyright notice and this permission notice shall be included in
267 | all copies or substantial portions of the Software.
268 |
269 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
270 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
271 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
272 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
273 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
274 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
275 | THE SOFTWARE.
276 |
277 | --------------------------------------------------------------------------------
278 | Package: @angular/platform-browser
279 | License: "MIT"
280 |
281 | The MIT License
282 |
283 | Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
284 |
285 | Permission is hereby granted, free of charge, to any person obtaining a copy
286 | of this software and associated documentation files (the "Software"), to deal
287 | in the Software without restriction, including without limitation the rights
288 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
289 | copies of the Software, and to permit persons to whom the Software is
290 | furnished to do so, subject to the following conditions:
291 |
292 | The above copyright notice and this permission notice shall be included in
293 | all copies or substantial portions of the Software.
294 |
295 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
296 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
297 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
298 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
299 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
300 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
301 | THE SOFTWARE.
302 |
303 | --------------------------------------------------------------------------------
304 | Package: @angular/animations
305 | License: "MIT"
306 |
307 | The MIT License
308 |
309 | Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
310 |
311 | Permission is hereby granted, free of charge, to any person obtaining a copy
312 | of this software and associated documentation files (the "Software"), to deal
313 | in the Software without restriction, including without limitation the rights
314 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
315 | copies of the Software, and to permit persons to whom the Software is
316 | furnished to do so, subject to the following conditions:
317 |
318 | The above copyright notice and this permission notice shall be included in
319 | all copies or substantial portions of the Software.
320 |
321 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
322 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
323 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
324 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
325 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
326 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
327 | THE SOFTWARE.
328 |
329 | --------------------------------------------------------------------------------
330 | Package: @angular/forms
331 | License: "MIT"
332 |
333 | The MIT License
334 |
335 | Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
336 |
337 | Permission is hereby granted, free of charge, to any person obtaining a copy
338 | of this software and associated documentation files (the "Software"), to deal
339 | in the Software without restriction, including without limitation the rights
340 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
341 | copies of the Software, and to permit persons to whom the Software is
342 | furnished to do so, subject to the following conditions:
343 |
344 | The above copyright notice and this permission notice shall be included in
345 | all copies or substantial portions of the Software.
346 |
347 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
348 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
349 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
350 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
351 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
352 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
353 | THE SOFTWARE.
354 |
355 | --------------------------------------------------------------------------------
356 | Package: signature_pad
357 | License: "MIT"
358 |
359 | MIT License
360 |
361 | Copyright (c) 2018 Szymon Nowak
362 |
363 | Permission is hereby granted, free of charge, to any person obtaining a copy
364 | of this software and associated documentation files (the "Software"), to deal
365 | in the Software without restriction, including without limitation the rights
366 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
367 | copies of the Software, and to permit persons to whom the Software is
368 | furnished to do so, subject to the following conditions:
369 |
370 | The above copyright notice and this permission notice shall be included in all
371 | copies or substantial portions of the Software.
372 |
373 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
374 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
375 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
376 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
377 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
378 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
379 | SOFTWARE.
380 |
381 | --------------------------------------------------------------------------------
382 | Package: zone.js
383 | License: "MIT"
384 |
385 | The MIT License
386 |
387 | Copyright (c) 2010-2024 Google LLC. https://angular.io/license
388 |
389 | Permission is hereby granted, free of charge, to any person obtaining a copy
390 | of this software and associated documentation files (the "Software"), to deal
391 | in the Software without restriction, including without limitation the rights
392 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
393 | copies of the Software, and to permit persons to whom the Software is
394 | furnished to do so, subject to the following conditions:
395 |
396 | The above copyright notice and this permission notice shall be included in
397 | all copies or substantial portions of the Software.
398 |
399 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
400 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
401 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
402 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
403 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
404 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
405 | THE SOFTWARE.
406 |
407 | --------------------------------------------------------------------------------
408 |
--------------------------------------------------------------------------------
/docs/assets/cat-sig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/almothafar/angular-signature-pad/b0b76f3ac8ab5107ec243a688031a7394c8dab62/docs/assets/cat-sig.png
--------------------------------------------------------------------------------
/docs/assets/sign-here.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/almothafar/angular-signature-pad/b0b76f3ac8ab5107ec243a688031a7394c8dab62/docs/assets/sign-here.png
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/almothafar/angular-signature-pad/b0b76f3ac8ab5107ec243a688031a7394c8dab62/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |