@yoozsoft/yoozsoft-ng 3.1.4 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/assets/js/UTIF.js-master/LICENSE +21 -0
- package/assets/js/UTIF.js-master/README.md +72 -0
- package/assets/js/UTIF.js-master/UTIF.js +1763 -0
- package/assets/js/UTIF.js-master/package-lock.json +13 -0
- package/assets/styles/ys-layout.scss +21 -47
- package/assets/styles/ys-preloader-9.scss +254 -0
- package/assets/styles/ys-preloader.scss +12 -12
- package/datepicker/src/models/date-time-format.d.ts +0 -1
- package/datepicker/src/ys-datepicker/ys-datepicker.component.d.ts +7 -1
- package/directives/src/password-match/ys-password-match.directive.d.ts +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs +172 -162
- package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs +6 -10
- package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs +145 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs.map +1 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs +8 -15
- package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs +16 -9
- package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs +36 -31
- package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs +6 -8
- package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs +90 -62
- package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs +17 -17
- package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs +64 -23
- package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs +50 -57
- package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs +150 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs.map +1 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs +106 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs.map +1 -0
- package/{toasts → file-upload}/index.d.ts +1 -1
- package/file-upload/public-api.d.ts +1 -0
- package/file-upload/src/ys-file-upload/ys-file-upload.component.d.ts +51 -0
- package/loading/src/ys-loading-mask/ys-loading-mask.component.d.ts +5 -2
- package/navbar/src/models/navbar-brand.d.ts +2 -0
- package/navbar/src/models/navbar-item.d.ts +1 -0
- package/navbar/src/ys-navbar/ys-navbar.component.d.ts +13 -12
- package/overlay/src/ys-overlay/ys-overlay.component.d.ts +1 -1
- package/package.json +23 -43
- package/password-strength/public-api.d.ts +1 -0
- package/password-strength/src/directives/index.d.ts +1 -0
- package/password-strength/src/directives/ys-password-strength.directive.d.ts +18 -0
- package/password-strength/src/models/strength-validation-feedback.d.ts +2 -0
- package/password-strength/src/ys-password-strength/ys-password-strength.component.d.ts +4 -5
- package/select/src/ys-select/ys-select.component.d.ts +14 -4
- package/sidebar/src/models/index.d.ts +0 -1
- package/sidebar/src/models/sidebar-item-active.d.ts +1 -0
- package/sidebar/src/models/sidebar-item.d.ts +1 -1
- package/sidebar/src/services/sidebar.service.d.ts +7 -10
- package/sidebar/src/ys-sidebar/ys-sidebar.component.d.ts +13 -15
- package/tiff-viewer/index.d.ts +5 -0
- package/tiff-viewer/public-api.d.ts +1 -0
- package/tiff-viewer/src/ys-tiff-viewer/ys-tiff-viewer.component.d.ts +48 -0
- package/{layout → toast}/index.d.ts +1 -1
- package/toast/public-api.d.ts +3 -0
- package/{toasts/src/ys-toasts/ys-toasts.component.d.ts → toast/src/ys-toast/ys-toast.component.d.ts} +4 -4
- package/assets/images/user.jpg +0 -0
- package/assets/styles/ys-layout-pin.scss +0 -153
- package/esm2022/datepicker/public-api.mjs +0 -12
- package/esm2022/datepicker/src/models/date-range.mjs +0 -2
- package/esm2022/datepicker/src/models/date-time-format.mjs +0 -4
- package/esm2022/datepicker/src/models/index.mjs +0 -4
- package/esm2022/datepicker/src/models/jalali-date.mjs +0 -74
- package/esm2022/datepicker/src/services/index.mjs +0 -3
- package/esm2022/datepicker/src/services/ys-date-parser-formatter.service.mjs +0 -32
- package/esm2022/datepicker/src/services/ys-datepicker-i18n.service.mjs +0 -66
- package/esm2022/datepicker/src/ys-datepicker/ys-datepicker.component.mjs +0 -108
- package/esm2022/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.mjs +0 -127
- package/esm2022/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.mjs +0 -130
- package/esm2022/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.mjs +0 -136
- package/esm2022/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.mjs +0 -157
- package/esm2022/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.mjs +0 -167
- package/esm2022/datepicker/yoozsoft-yoozsoft-ng-datepicker.mjs +0 -5
- package/esm2022/directives/public-api.mjs +0 -6
- package/esm2022/directives/src/password-match/ys-password-match.directive.mjs +0 -49
- package/esm2022/directives/yoozsoft-yoozsoft-ng-directives.mjs +0 -5
- package/esm2022/footer/public-api.mjs +0 -6
- package/esm2022/footer/src/models/footer-brand.mjs +0 -2
- package/esm2022/footer/src/models/index.mjs +0 -3
- package/esm2022/footer/src/models/social-network.mjs +0 -2
- package/esm2022/footer/src/ys-footer/ys-footer.component.mjs +0 -32
- package/esm2022/footer/yoozsoft-yoozsoft-ng-footer.mjs +0 -5
- package/esm2022/layout/public-api.mjs +0 -5
- package/esm2022/layout/src/ys-layout/ys-layout.component.mjs +0 -72
- package/esm2022/layout/yoozsoft-yoozsoft-ng-layout.mjs +0 -5
- package/esm2022/loading/public-api.mjs +0 -5
- package/esm2022/loading/src/ys-loading-mask/ys-loading-mask.component.mjs +0 -20
- package/esm2022/loading/yoozsoft-yoozsoft-ng-loading.mjs +0 -5
- package/esm2022/navbar/public-api.mjs +0 -6
- package/esm2022/navbar/src/models/index.mjs +0 -3
- package/esm2022/navbar/src/models/navbar-brand.mjs +0 -2
- package/esm2022/navbar/src/models/navbar-item.mjs +0 -2
- package/esm2022/navbar/src/ys-navbar/ys-navbar.component.mjs +0 -86
- package/esm2022/navbar/yoozsoft-yoozsoft-ng-navbar.mjs +0 -5
- package/esm2022/overlay/public-api.mjs +0 -5
- package/esm2022/overlay/src/ys-overlay/ys-overlay.component.mjs +0 -20
- package/esm2022/overlay/yoozsoft-yoozsoft-ng-overlay.mjs +0 -5
- package/esm2022/password-strength/public-api.mjs +0 -6
- package/esm2022/password-strength/src/models/index.mjs +0 -5
- package/esm2022/password-strength/src/models/regx.mjs +0 -7
- package/esm2022/password-strength/src/models/strength-validation-control.mjs +0 -2
- package/esm2022/password-strength/src/models/strength-validation-feedback.mjs +0 -25
- package/esm2022/password-strength/src/models/strength-validation-option.mjs +0 -25
- package/esm2022/password-strength/src/ys-password-strength/ys-password-strength.component.mjs +0 -69
- package/esm2022/password-strength/yoozsoft-yoozsoft-ng-password-strength.mjs +0 -5
- package/esm2022/progress/public-api.mjs +0 -6
- package/esm2022/progress/src/services/index.mjs +0 -2
- package/esm2022/progress/src/services/progress.service.mjs +0 -18
- package/esm2022/progress/src/ys-progress/ys-progress.component.mjs +0 -32
- package/esm2022/progress/yoozsoft-yoozsoft-ng-progress.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -5
- package/esm2022/select/src/ys-select/ys-select.component.mjs +0 -63
- package/esm2022/select/yoozsoft-yoozsoft-ng-select.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -8
- package/esm2022/sidebar/src/models/index.mjs +0 -6
- package/esm2022/sidebar/src/models/sidebar-item-active.mjs +0 -2
- package/esm2022/sidebar/src/models/sidebar-item.mjs +0 -2
- package/esm2022/sidebar/src/models/sidebar-state.mjs +0 -2
- package/esm2022/sidebar/src/models/user-image.mjs +0 -2
- package/esm2022/sidebar/src/models/user-profile.mjs +0 -2
- package/esm2022/sidebar/src/services/index.mjs +0 -2
- package/esm2022/sidebar/src/services/sidebar.service.mjs +0 -39
- package/esm2022/sidebar/src/ys-sidebar/ys-sidebar.component.mjs +0 -68
- package/esm2022/sidebar/yoozsoft-yoozsoft-ng-sidebar.mjs +0 -5
- package/esm2022/toasts/public-api.mjs +0 -7
- package/esm2022/toasts/src/models/index.mjs +0 -3
- package/esm2022/toasts/src/models/toast-info.mjs +0 -2
- package/esm2022/toasts/src/models/toast-type.mjs +0 -8
- package/esm2022/toasts/src/services/index.mjs +0 -2
- package/esm2022/toasts/src/services/toast.service.mjs +0 -44
- package/esm2022/toasts/src/ys-toasts/ys-toasts.component.mjs +0 -53
- package/esm2022/toasts/yoozsoft-yoozsoft-ng-toasts.mjs +0 -5
- package/esm2022/yoozsoft-yoozsoft-ng.mjs +0 -5
- package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs +0 -83
- package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs.map +0 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs +0 -111
- package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs.map +0 -1
- package/layout/public-api.d.ts +0 -1
- package/layout/src/ys-layout/ys-layout.component.d.ts +0 -24
- package/sidebar/src/models/sidebar-state.d.ts +0 -4
- package/toasts/public-api.d.ts +0 -3
- /package/{toasts → toast}/src/models/index.d.ts +0 -0
- /package/{toasts → toast}/src/models/toast-info.d.ts +0 -0
- /package/{toasts → toast}/src/models/toast-type.d.ts +0 -0
- /package/{toasts → toast}/src/services/index.d.ts +0 -0
- /package/{toasts → toast}/src/services/toast.service.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Yoozsoft Ng
|
|
2
2
|
|
|
3
|
-
Angular widgets built up using Bootstrap 5 CSS and NG Bootstrap
|
|
4
|
-
We are using TypeScript and targeting the Ng Bootstrap
|
|
3
|
+
Angular widgets built up using Bootstrap 5 CSS and NG Bootstrap 18 widgets with APIs designed for the Angular ecosystem, that are in standalone style.
|
|
4
|
+
We are using TypeScript and targeting the Ng Bootstrap 18 widgets and Bootstrap 5 CSS framework.
|
|
5
5
|
As with Bootstrap 5 and Angular 2, this library is a work in progress.
|
|
6
6
|
|
|
7
|
-
The dependencies are [Angular](https://angular.io/), [Ng Bootstrap](https://ng-bootstrap.github.io/)
|
|
7
|
+
The dependencies are [Angular](https://angular.io/), [Ng Bootstrap](https://ng-bootstrap.github.io/) 18 widgets, [Bootstrap](https://getbootstrap.com/) 5 CSS, [Popper](https://popper.js.org/).
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
@@ -25,7 +25,7 @@ Visit the [Yoozsoft Website](https://www.yoozsoft.com/ys-ng) for general informa
|
|
|
25
25
|
|
|
26
26
|
## Dependencies
|
|
27
27
|
|
|
28
|
-
The only dependencies are Angular, Ng Bootstrap
|
|
28
|
+
The only dependencies are Angular, Ng Bootstrap 18 widgets, Bootstrap 5 CSS, and Popper. The supported versions are:
|
|
29
29
|
|
|
30
30
|
<table>
|
|
31
31
|
<thead>
|
|
@@ -59,6 +59,13 @@ The only dependencies are Angular, Ng Bootstrap 17 widgets, Bootstrap 5 CSS, and
|
|
|
59
59
|
<td>5.3.2</td>
|
|
60
60
|
<td>2.11.8</td>
|
|
61
61
|
</tr>
|
|
62
|
+
<tr>
|
|
63
|
+
<th scope="row">4.x.x</th>
|
|
64
|
+
<td>^19.0.0</td>
|
|
65
|
+
<td>18.0.0</td>
|
|
66
|
+
<td>5.3.3</td>
|
|
67
|
+
<td>2.11.8</td>
|
|
68
|
+
</tr>
|
|
62
69
|
</tbody>
|
|
63
70
|
</table>
|
|
64
71
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017 Photopea
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# UTIF.js
|
|
2
|
+
A small, fast and advanced TIFF / EXIF (+ DNG, CR2, NEF and other TIFF-ish files) decoder and encoder. It is the main TIFF library for [Photopea image editor](https://www.photopea.com). Try to open your TIFF file with Photopea to see, if UTIF.js can parse it.
|
|
3
|
+
|
|
4
|
+
* Supports Black & White, Grayscale, RGB and Paletted images
|
|
5
|
+
* Supports Fax 3 and Fax 4 (CCITT), JPEG, LZW, PackBits and other compressions (1,3,4,5,6,7,8,32773,32809)
|
|
6
|
+
* E.g. [this 8 MPix image](//www.photopea.com/api/img2/G4.TIF) with Fax 4 compression is just 56 kB ( [Open in Photopea](https://www.photopea.com?p=%7B%22files%22:%5B%22//www.photopea.com/api/img2/G4.TIF%22%5D%7D) )
|
|
7
|
+
|
|
8
|
+
For RAW files, UTIF.js only decodes raw sensor data (and JPG previews, if there are any). It does not convert the raw data into a displayable image (RGBA). Such conversion is complex and out of scope of this library.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
Download and include the `UTIF.js` file in your code.
|
|
13
|
+
|
|
14
|
+
#### `UTIF.decode(buffer)`
|
|
15
|
+
* `buffer`: ArrayBuffer containing TIFF or EXIF data
|
|
16
|
+
* returns an array of "IFDs" (image file directories). Each IFD is an object, keys are "tXYZ" (XYZ is a TIFF tag number), values are values of these tags. You can get the the dimension (and other properties, "metadata") of the image without decompressing pixel data.
|
|
17
|
+
|
|
18
|
+
#### `UTIF.decodeImage(buffer, ifd)`
|
|
19
|
+
* `buffer`: ArrayBuffer containing TIFF or EXIF data
|
|
20
|
+
* `ifd`: the element of the output of UTIF.decode()
|
|
21
|
+
* If there is an image inside the IFD, it is decoded and three new properties are added to the IFD:
|
|
22
|
+
* * `width`: the width of the image
|
|
23
|
+
* * `height`: the height of the image
|
|
24
|
+
* * `data`: decompressed pixel data of the image
|
|
25
|
+
|
|
26
|
+
TIFF files may have various number of channels and various color depth. The interpretation of `data` depends on many tags (see the [TIFF 6 specification](http://www.npes.org/pdf/TIFF-v6.pdf)). The following function converts any TIFF image into a 8-bit RGBA image.
|
|
27
|
+
|
|
28
|
+
#### `UTIF.toRGBA8(ifd)`
|
|
29
|
+
* `ifd`: image file directory (element of "ifds" returned by UTIF.decode(), processed by UTIF.decodeImage())
|
|
30
|
+
* returns Uint8Array of the image in RGBA format, 8 bits per channel (ready to use in context2d.putImageData() etc.)
|
|
31
|
+
|
|
32
|
+
### Example
|
|
33
|
+
|
|
34
|
+
```javascript
|
|
35
|
+
function imgLoaded(e) {
|
|
36
|
+
var ifds = UTIF.decode(e.target.response);
|
|
37
|
+
UTIF.decodeImage(e.target.response, ifds[0])
|
|
38
|
+
var rgba = UTIF.toRGBA8(ifds[0]); // Uint8Array with RGBA pixels
|
|
39
|
+
console.log(ifds[0].width, ifds[0].height, ifds[0]);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var xhr = new XMLHttpRequest();
|
|
43
|
+
xhr.open("GET", "my_image.tif");
|
|
44
|
+
xhr.responseType = "arraybuffer";
|
|
45
|
+
xhr.onload = imgLoaded; xhr.send();
|
|
46
|
+
```
|
|
47
|
+
## Use TIFF images in HTML
|
|
48
|
+
|
|
49
|
+
If you are not a programmer, you can use TIFF images directly inside the `<img>` element of HTML. Then, it is enough to call `UTIF.replaceIMG()` once at some point.
|
|
50
|
+
|
|
51
|
+
#### `UTIF.replaceIMG()`
|
|
52
|
+
```html
|
|
53
|
+
<body onload="UTIF.replaceIMG()">
|
|
54
|
+
...
|
|
55
|
+
<img src="image.tif" /> <img src="dog.tif" /> ...
|
|
56
|
+
```
|
|
57
|
+
And UTIF.js will do the rest. Internally, the "src" attribute of the image will be replaced with a new URI of the image (base64-encoded PNG). Note, that you can also insert DNG, CR2, NEF and other raw images into HTML this way.
|
|
58
|
+
|
|
59
|
+
## Encoding TIFF images
|
|
60
|
+
|
|
61
|
+
You should not save images into TIFF format in the 21st century. Save them as PNG instead (e.g. using [UPNG.js](https://github.com/photopea/UPNG.js)). If you still want to use TIFF format for some reason, here it is.
|
|
62
|
+
|
|
63
|
+
#### `UTIF.encodeImage(rgba, w, h, metadata)`
|
|
64
|
+
* `rgba`: ArrayBuffer containing RGBA pixel data
|
|
65
|
+
* `w`: image width
|
|
66
|
+
* `h`: image height
|
|
67
|
+
* `metadata` [optional]: IFD object (see below)
|
|
68
|
+
* returns ArrayBuffer of the binary TIFF file. No compression right now.
|
|
69
|
+
|
|
70
|
+
#### `UTIF.encode(ifds)`
|
|
71
|
+
* `ifds`: array of IFDs (image file directories). An IFD is a JS object with properties "tXYZ" (where XYZ are TIFF tags)
|
|
72
|
+
* returns ArrayBuffer of binary data. You can use it to encode EXIF data.
|