@nativescript-community/ui-image 4.3.6 → 4.3.8

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/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.3.8](https://github.com/nativescript-community/ui-image/compare/v4.3.7...v4.3.8) (2023-05-24)
7
+
8
+ **Note:** Version bump only for package @nativescript-community/ui-image
9
+
10
+
11
+
12
+
13
+
14
+ ## [4.3.7](https://github.com/nativescript-community/ui-image/compare/v4.3.6...v4.3.7) (2023-05-23)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **android:** better native-api-usage ([be61cc8](https://github.com/nativescript-community/ui-image/commit/be61cc8b4963baf91c743eee465d7ddba2233e84))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [4.3.6](https://github.com/nativescript-community/ui-image/compare/v4.3.5...v4.3.6) (2022-12-01)
7
26
 
8
27
  **Note:** Version bump only for package @nativescript-community/ui-image
package/README.md CHANGED
@@ -56,9 +56,15 @@
56
56
  * [Flavors](#flavors)
57
57
  * [Demos](#demos)
58
58
  * [Demos and Development](#demos-and-development)
59
- * [Setup](#setup)
59
+ * [Repo Setup](#repo-setup)
60
60
  * [Build](#build)
61
61
  * [Demos](#demos-1)
62
+ * [Contributing](#contributing)
63
+ * [Update repo ](#update-repo-)
64
+ * [Update readme ](#update-readme-)
65
+ * [Update doc ](#update-doc-)
66
+ * [Publish](#publish)
67
+ * [modifying submodules](#modifying-submodules)
62
68
  * [Questions](#questions)
63
69
 
64
70
 
@@ -630,18 +636,18 @@ $ ns run ios|android
630
636
  ## Demos and Development
631
637
 
632
638
 
633
- ### Setup
634
-
635
- To run the demos, you must clone this repo **recursively**.
639
+ ### Repo Setup
636
640
 
641
+ The repo uses submodules. If you did not clone with ` --recursive` then you need to call
637
642
  ```
638
- git clone https://github.com/@nativescript-community/ui-image.git --recursive
643
+ git submodule update --init
639
644
  ```
640
645
 
641
- **Install Dependencies:**
642
- ```bash
643
- npm i # or 'yarn install' or 'pnpm install'
644
- ```
646
+ The package manager used to install and link dependencies must be `pnpm` or `yarn`. `npm` wont work.
647
+
648
+ To develop and test:
649
+ if you use `yarn` then run `yarn`
650
+ if you use `pnpm` then run `pnpm i`
645
651
 
646
652
  **Interactive Menu:**
647
653
 
@@ -650,10 +656,9 @@ To start the interactive menu, run `npm start` (or `yarn start` or `pnpm start`)
650
656
  ### Build
651
657
 
652
658
  ```bash
653
- npm run build
654
-
655
- npm run build.angular # or for Angular
659
+ npm run build.all
656
660
  ```
661
+ WARNING: it seems `yarn build.all` wont always work (not finding binaries in `node_modules/.bin`) which is why the doc explicitly uses `npm run`
657
662
 
658
663
  ### Demos
659
664
 
@@ -662,6 +667,61 @@ npm run demo.[ng|react|svelte|vue].[ios|android]
662
667
 
663
668
  npm run demo.svelte.ios # Example
664
669
  ```
670
+
671
+ Demo setup is a bit special in the sense that if you want to modify/add demos you dont work directly in `demo-[ng|react|svelte|vue]`
672
+ Instead you work in `demo-snippets/[ng|react|svelte|vue]`
673
+ You can start from the `install.ts` of each flavor to see how to register new demos
674
+
675
+
676
+ [](#contributing)
677
+
678
+ ## Contributing
679
+
680
+ ### Update repo
681
+
682
+ You can update the repo files quite easily
683
+
684
+ First update the submodules
685
+
686
+ ```bash
687
+ npm run update
688
+ ```
689
+
690
+ Then commit the changes
691
+ Then update common files
692
+
693
+ ```bash
694
+ npm run sync
695
+ ```
696
+ Then you can run `yarn|pnpm`, commit changed files if any
697
+
698
+ ### Update readme
699
+ ```bash
700
+ npm run readme
701
+ ```
702
+
703
+ ### Update doc
704
+ ```bash
705
+ npm run doc
706
+ ```
707
+
708
+ ### Publish
709
+
710
+ The publishing is completely handled by `lerna` (you can add `-- --bump major` to force a major release)
711
+ Simply run
712
+ ```shell
713
+ npm run publish
714
+ ```
715
+
716
+ ### modifying submodules
717
+
718
+ The repo uses https:// for submodules which means you won't be able to push directly into the submodules.
719
+ One easy solution is t modify `~/.gitconfig` and add
720
+ ```
721
+ [url "ssh://git@github.com/"]
722
+ pushInsteadOf = https://github.com/
723
+ ```
724
+
665
725
 
666
726
  [](#questions)
667
727
 
@@ -2,6 +2,6 @@ import * as i0 from "@angular/core";
2
2
  export declare class ImgDirective {
3
3
  constructor();
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<ImgDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<ImgDirective, "NSImg", never, {}, {}, never, never, false>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ImgDirective, "NSImg", never, {}, {}, never, never, false, never>;
6
6
  }
7
7
  export declare const NSIMG_DIRECTIVES: (typeof ImgDirective)[];
@@ -4,7 +4,7 @@ export class ImgDirective {
4
4
  constructor() { }
5
5
  }
6
6
  ImgDirective.ɵfac = function ImgDirective_Factory(t) { return new (t || ImgDirective)(); };
7
- ImgDirective.ɵdir = i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
7
+ ImgDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
8
8
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImgDirective, [{
9
9
  type: Directive,
10
10
  args: [{
@@ -12,4 +12,4 @@ ImgDirective.ɵdir = i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["
12
12
  }]
13
13
  }], function () { return []; }, null); })();
14
14
  export const NSIMG_DIRECTIVES = [ImgDirective];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbWFnZS9hbmd1bGFyL2RpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLFlBQVk7SUFDckIsZ0JBQWUsQ0FBQzs7d0VBRFAsWUFBWTtpREFBWixZQUFZO3VGQUFaLFlBQVk7Y0FIeEIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxPQUFPO2FBQ3BCOztBQUlELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdOU0ltZydcbn0pXG5leHBvcnQgY2xhc3MgSW1nRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG5leHBvcnQgY29uc3QgTlNJTUdfRElSRUNUSVZFUyA9IFtJbWdEaXJlY3RpdmVdO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbWFnZS9hbmd1bGFyL2RpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLFlBQVk7SUFDckIsZ0JBQWUsQ0FBQzs7d0VBRFAsWUFBWTsrREFBWixZQUFZO3VGQUFaLFlBQVk7Y0FIeEIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxPQUFPO2FBQ3BCOztBQUlELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdOU0ltZydcbn0pXG5leHBvcnQgY2xhc3MgSW1nRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG5leHBvcnQgY29uc3QgTlNJTUdfRElSRUNUSVZFUyA9IFtJbWdEaXJlY3RpdmVdO1xuIl19
@@ -8,8 +8,8 @@ export { ImgDirective };
8
8
  export class TNSImageModule {
9
9
  }
10
10
  TNSImageModule.ɵfac = function TNSImageModule_Factory(t) { return new (t || TNSImageModule)(); };
11
- TNSImageModule.ɵmod = i0.ɵɵdefineNgModule({ type: TNSImageModule });
12
- TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
11
+ TNSImageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TNSImageModule });
12
+ TNSImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
13
13
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TNSImageModule, [{
14
14
  type: NgModule,
15
15
  args: [{
@@ -19,4 +19,4 @@ TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
19
19
  }], null, null); })();
20
20
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TNSImageModule, { declarations: [i1.ImgDirective], exports: [i1.ImgDirective] }); })();
21
21
  registerElement('NSImg', () => Img);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltYWdlL2FuZ3VsYXIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBS3hCLE1BQU0sT0FBTyxjQUFjOzs0RUFBZCxjQUFjO2tEQUFkLGNBQWM7O3VGQUFkLGNBQWM7Y0FKMUIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5Qjs7d0ZBQ1ksY0FBYztBQUUzQixlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVnaXN0ZXJFbGVtZW50IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcblxuaW1wb3J0IHsgSW1nRGlyZWN0aXZlLCBOU0lNR19ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEltZyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLWltYWdlJztcbmV4cG9ydCB7IEltZ0RpcmVjdGl2ZSB9O1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOU0lNR19ESVJFQ1RJVkVTXSxcbiAgICBleHBvcnRzOiBbTlNJTUdfRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIFROU0ltYWdlTW9kdWxlIHt9XG5cbnJlZ2lzdGVyRWxlbWVudCgnTlNJbWcnLCAoKSA9PiBJbWcpO1xuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltYWdlL2FuZ3VsYXIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBS3hCLE1BQU0sT0FBTyxjQUFjOzs0RUFBZCxjQUFjO2dFQUFkLGNBQWM7O3VGQUFkLGNBQWM7Y0FKMUIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5Qjs7d0ZBQ1ksY0FBYztBQUUzQixlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVnaXN0ZXJFbGVtZW50IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcblxuaW1wb3J0IHsgSW1nRGlyZWN0aXZlLCBOU0lNR19ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEltZyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLWltYWdlJztcbmV4cG9ydCB7IEltZ0RpcmVjdGl2ZSB9O1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOU0lNR19ESVJFQ1RJVkVTXSxcbiAgICBleHBvcnRzOiBbTlNJTUdfRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIFROU0ltYWdlTW9kdWxlIHt9XG5cbnJlZ2lzdGVyRWxlbWVudCgnTlNJbWcnLCAoKSA9PiBJbWcpO1xuIl19
@@ -1,2 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
1
4
  export * from './index';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1pbWFnZS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltYWdlL2FuZ3VsYXIvbmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1pbWFnZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1pbWFnZS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltYWdlL2FuZ3VsYXIvbmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1pbWFnZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -7,7 +7,7 @@ class ImgDirective {
7
7
  constructor() { }
8
8
  }
9
9
  ImgDirective.ɵfac = function ImgDirective_Factory(t) { return new (t || ImgDirective)(); };
10
- ImgDirective.ɵdir = i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
10
+ ImgDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
11
11
  (function () {
12
12
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImgDirective, [{
13
13
  type: Directive,
@@ -21,8 +21,8 @@ const NSIMG_DIRECTIVES = [ImgDirective];
21
21
  class TNSImageModule {
22
22
  }
23
23
  TNSImageModule.ɵfac = function TNSImageModule_Factory(t) { return new (t || TNSImageModule)(); };
24
- TNSImageModule.ɵmod = i0.ɵɵdefineNgModule({ type: TNSImageModule });
25
- TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
24
+ TNSImageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TNSImageModule });
25
+ TNSImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
26
26
  (function () {
27
27
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TNSImageModule, [{
28
28
  type: NgModule,
@@ -35,5 +35,9 @@ TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
35
35
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TNSImageModule, { declarations: [ImgDirective], exports: [ImgDirective] }); })();
36
36
  registerElement('NSImg', () => Img);
37
37
 
38
+ /**
39
+ * Generated bundle index. Do not edit.
40
+ */
41
+
38
42
  export { ImgDirective, TNSImageModule };
39
43
  //# sourceMappingURL=nativescript-community-ui-image-angular.mjs.map
@@ -7,7 +7,7 @@ class ImgDirective {
7
7
  constructor() { }
8
8
  }
9
9
  ImgDirective.ɵfac = function ImgDirective_Factory(t) { return new (t || ImgDirective)(); };
10
- ImgDirective.ɵdir = i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
10
+ ImgDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImgDirective, selectors: [["NSImg"]] });
11
11
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImgDirective, [{
12
12
  type: Directive,
13
13
  args: [{
@@ -19,8 +19,8 @@ const NSIMG_DIRECTIVES = [ImgDirective];
19
19
  class TNSImageModule {
20
20
  }
21
21
  TNSImageModule.ɵfac = function TNSImageModule_Factory(t) { return new (t || TNSImageModule)(); };
22
- TNSImageModule.ɵmod = i0.ɵɵdefineNgModule({ type: TNSImageModule });
23
- TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
22
+ TNSImageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TNSImageModule });
23
+ TNSImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
24
24
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TNSImageModule, [{
25
25
  type: NgModule,
26
26
  args: [{
@@ -31,5 +31,9 @@ TNSImageModule.ɵinj = i0.ɵɵdefineInjector({});
31
31
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TNSImageModule, { declarations: [ImgDirective], exports: [ImgDirective] }); })();
32
32
  registerElement('NSImg', () => Img);
33
33
 
34
+ /**
35
+ * Generated bundle index. Do not edit.
36
+ */
37
+
34
38
  export { ImgDirective, TNSImageModule };
35
39
  //# sourceMappingURL=nativescript-community-ui-image-angular.mjs.map
package/index-common.js CHANGED
@@ -46,6 +46,7 @@ export class EventData {
46
46
  }
47
47
  }
48
48
  export class ImageBase extends View {
49
+ // public static blendingModeProperty = new Property<ImageBase, string>({ name: 'blendingMode' });
49
50
  get nativeImageViewProtected() {
50
51
  return this.nativeViewProtected;
51
52
  }
@@ -98,6 +99,7 @@ export class ImageBase extends View {
98
99
  scaleH = measureScale / nativeScale;
99
100
  }
100
101
  else {
102
+ // No infinite dimensions.
101
103
  switch (this.stretch) {
102
104
  case ScaleType.FitXY:
103
105
  case ScaleType.FocusCrop:
@@ -203,4 +205,5 @@ ImageBase.noCacheProperty.register(ImageBase);
203
205
  ImageBase.clipToBoundsProperty.register(ImageBase);
204
206
  ImageBase.animatedImageViewProperty.register(ImageBase);
205
207
  ImageBase.loadModeProperty.register(ImageBase);
208
+ // ImageBase.blendingModeProperty.register(ImageBase);
206
209
  //# sourceMappingURL=index-common.js.map
package/index.android.js CHANGED
@@ -17,10 +17,13 @@ export function initialize(config) {
17
17
  let builder;
18
18
  const useOkhttp = config?.useOkhttp;
19
19
  if (useOkhttp) {
20
+ //@ts-ignore
20
21
  if (useOkhttp instanceof okhttp3.OkHttpClient) {
22
+ //@ts-ignore
21
23
  builder = com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory.newBuilder(context, useOkhttp);
22
24
  }
23
25
  else {
26
+ //@ts-ignore
24
27
  builder = com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory.newBuilder(context, new okhttp3.OkHttpClient());
25
28
  }
26
29
  }
@@ -33,6 +36,7 @@ export function initialize(config) {
33
36
  if (config?.leakTracker) {
34
37
  builder.setCloseableReferenceLeakTracker(config.leakTracker);
35
38
  }
39
+ // builder.experiment().setNativeCodeDisabled(true);
36
40
  const imagePipelineConfig = builder.build();
37
41
  com.facebook.drawee.backends.pipeline.Fresco.initialize(context, imagePipelineConfig);
38
42
  initialized = true;
@@ -134,6 +138,7 @@ export class ImagePipeline {
134
138
  else {
135
139
  datasource = this._android.prefetchToBitmapCache(request, uri);
136
140
  }
141
+ // initializeBaseDataSubscriber();
137
142
  datasource.subscribe(new com.nativescript.image.BaseDataSubscriber(new com.nativescript.image.BaseDataSubscriberListener({
138
143
  onFailure: reject,
139
144
  onNewResult: resolve
@@ -151,6 +156,42 @@ export class ImagePipeline {
151
156
  this._android = value;
152
157
  }
153
158
  fetchImage() {
159
+ // ImagePipeline imagePipeline = Fresco.getImagePipeline();
160
+ // ImageRequest imageRequest = ImageRequestBuilder
161
+ // .newBuilderWithSource(imageUri)
162
+ // .setRequestPriority(Priority.HIGH)
163
+ // .setLowestPermittedRequestLevel(ImageRequest.RequestLevel.FULL_FETCH)
164
+ // .build();
165
+ // DataSource<CloseableReference<CloseableImage>> dataSource =
166
+ // imagePipeline.fetchDecodedImage(imageRequest, mContext);
167
+ // try {
168
+ // dataSource.subscribe(new BaseBitmapDataSubscriber() {
169
+ // @Override
170
+ // public void onNewResultImpl(Bitmap bitmap) {
171
+ // if (bitmap == null) {
172
+ // Log.d(TAG, "Bitmap data source returned success, but bitmap null.");
173
+ // return;
174
+ // }
175
+ // // The bitmap provided to this method is only guaranteed to be around
176
+ // // for the lifespan of this method. The image pipeline frees the
177
+ // // bitmap's memory after this method has completed.
178
+ // //
179
+ // // This is fine when passing the bitmap to a system process as
180
+ // // Android automatically creates a copy.
181
+ // //
182
+ // // If you need to keep the bitmap around, look into using a
183
+ // // BaseDataSubscriber instead of a BaseBitmapDataSubscriber.
184
+ // }
185
+ // @Override
186
+ // public void onFailureImpl(DataSource dataSource) {
187
+ // // No cleanup required here
188
+ // }
189
+ // }, CallerThreadExecutor.getInstance());
190
+ // } finally {
191
+ // if (dataSource != null) {
192
+ // dataSource.close();
193
+ // }
194
+ // }
154
195
  }
155
196
  }
156
197
  export class ImageError {
@@ -221,6 +262,8 @@ export const needRequestImage = function (target, propertyKey, descriptor) {
221
262
  descriptor.value = function (...args) {
222
263
  if (!this._canRequestImage) {
223
264
  this._needRequestImage = true;
265
+ // we need to ensure a hierarchy is set or the default aspect ratio wont be set
266
+ // because aspectFit is the default (wanted) but then we wont go into stretchProperty.setNative
224
267
  this._needUpdateHierarchy = true;
225
268
  return;
226
269
  }
@@ -247,6 +290,7 @@ export class Img extends ImageBase {
247
290
  this._needRequestImage = false;
248
291
  }
249
292
  onResumeNativeUpdates() {
293
+ // {N} suspends properties update on `_suspendNativeUpdates`. So we only need to do this in onResumeNativeUpdates
250
294
  this._canRequestImage = false;
251
295
  this._canUpdateHierarchy = false;
252
296
  super.onResumeNativeUpdates();
@@ -266,6 +310,7 @@ export class Img extends ImageBase {
266
310
  initialize(initializeConfig);
267
311
  }
268
312
  const view = new com.nativescript.image.DraweeView(this._context);
313
+ // (view as any).setClipToBounds(false);
269
314
  return view;
270
315
  }
271
316
  updateViewSize(imageInfo) {
@@ -288,6 +333,13 @@ export class Img extends ImageBase {
288
333
  draweeView.setAspectRatio(0);
289
334
  }
290
335
  }
336
+ // public initNativeView(): void {
337
+ // this.initDrawee();
338
+ // this.updateHierarchy();
339
+ // }
340
+ // public disposeNativeView() {
341
+ // this.nativeImageViewProtected.setImageURI(null, null);
342
+ // }
291
343
  updateImageUri() {
292
344
  const imagePipeLine = getImagePipeline();
293
345
  const src = this.src;
@@ -360,8 +412,23 @@ export class Img extends ImageBase {
360
412
  [_t = ImageBase.aspectRatioProperty.setNative]() {
361
413
  this.initImage();
362
414
  }
415
+ // [ImageBase.blendingModeProperty.setNative](value: string) {
416
+ // console.log('blendingModeProperty', value);
417
+ // switch (value) {
418
+ // case 'multiply':
419
+ // (this.nativeImageViewProtected as any).setXfermode(android.graphics.PorterDuff.Mode.MULTIPLY);
420
+ // break;
421
+ // case 'lighten':
422
+ // (this.nativeImageViewProtected as any).setXfermode(android.graphics.PorterDuff.Mode.LIGHTEN);
423
+ // break;
424
+ // }
425
+ // }
426
+ // private initDrawee() {
427
+ // this.initImage();
428
+ // }
363
429
  async initImage() {
364
430
  if (this.nativeImageViewProtected) {
431
+ // this.nativeImageViewProtected.setImageURI(null);
365
432
  const src = this.src;
366
433
  if (src instanceof Promise) {
367
434
  this.src = await src;
@@ -376,6 +443,7 @@ export class Img extends ImageBase {
376
443
  else if (Utils.isFontIconURI(src)) {
377
444
  const fontIconCode = src.split('//')[1];
378
445
  if (fontIconCode !== undefined) {
446
+ // support sync mode only
379
447
  const font = this.style.fontInternal;
380
448
  const color = this.style.color;
381
449
  drawable = new android.graphics.drawable.BitmapDrawable(Utils.ad.getApplicationContext().getResources(), ImageSource.fromFontIconCodeSync(fontIconCode, font, color).android);
@@ -393,12 +461,13 @@ export class Img extends ImageBase {
393
461
  }
394
462
  if (this.noCache) {
395
463
  const imagePipeLine = getImagePipeline();
396
- const isInCache = imagePipeLine.isInBitmapMemoryCache(uri);
464
+ const isInCache = imagePipeLine.isInBitmapMemoryCache(uri) || imagePipeLine.isInDiskCache(uri);
397
465
  if (isInCache) {
398
466
  imagePipeLine.evictFromCache(uri);
399
467
  }
400
468
  }
401
469
  this.isLoading = true;
470
+ // const progressiveRenderingEnabledValue = this.progressiveRenderingEnabled !== undefined ? this.progressiveRenderingEnabled : false;
402
471
  let requestBuilder = com.facebook.imagepipeline.request.ImageRequestBuilder.newBuilderWithSource(uri).setRotationOptions(com.facebook.imagepipeline.common.RotationOptions.autoRotate());
403
472
  if (this.progressiveRenderingEnabled === true) {
404
473
  requestBuilder = requestBuilder.setProgressiveRenderingEnabled(this.progressiveRenderingEnabled);
@@ -443,6 +512,7 @@ export class Img extends ImageBase {
443
512
  }
444
513
  const nativeView = that && that.get();
445
514
  if (nativeView) {
515
+ // const nView = nativeView.nativeViewProtected;
446
516
  nativeView.isLoading = false;
447
517
  const imageError = new ImageError(throwable);
448
518
  const args = {
@@ -526,6 +596,8 @@ export class Img extends ImageBase {
526
596
  }
527
597
  }
528
598
  });
599
+ // const async = this.loadMode === 'async';
600
+ // if (async) {
529
601
  const builder = com.facebook.drawee.backends.pipeline.Fresco.newDraweeControllerBuilder();
530
602
  builder.setImageRequest(request);
531
603
  builder.setCallerContext(src);
@@ -552,6 +624,13 @@ export class Img extends ImageBase {
552
624
  }
553
625
  const controller = builder.build();
554
626
  this.nativeImageViewProtected.setController(controller);
627
+ // } else {
628
+ // const dataSource = com.facebook.drawee.backends.pipeline.Fresco.getImagePipeline().fetchDecodedImage(request, src);
629
+ // const result = com.facebook.datasource.DataSources.waitForFinalResult(dataSource);
630
+ // const bitmap = result.get().underlyingBitmap;
631
+ // CloseableReference.closeSafely(result);
632
+ // dataSource.close();
633
+ // }
555
634
  }
556
635
  else {
557
636
  this.nativeImageViewProtected.setController(null);
@@ -622,6 +701,7 @@ export class Img extends ImageBase {
622
701
  if (Utils.isFontIconURI(path)) {
623
702
  const fontIconCode = path.split('//')[1];
624
703
  if (fontIconCode !== undefined) {
704
+ // support sync mode only
625
705
  const font = this.style.fontInternal;
626
706
  const color = this.style.color;
627
707
  drawable = new android.graphics.drawable.BitmapDrawable(Utils.ad.getApplicationContext().getResources(), ImageSource.fromFontIconCodeSync(fontIconCode, font, color).android);
@@ -629,7 +709,7 @@ export class Img extends ImageBase {
629
709
  }
630
710
  else if (Utils.isFileOrResourcePath(path)) {
631
711
  if (path.indexOf(Utils.RESOURCE_PREFIX) === 0) {
632
- return this.getDrawableFromResource(path);
712
+ return this.getDrawableFromResource(path); // number!
633
713
  }
634
714
  else {
635
715
  drawable = this.getDrawableFromLocalFile(path);
@@ -651,6 +731,7 @@ export class Img extends ImageBase {
651
731
  }
652
732
  getDrawableFromResource(resourceName) {
653
733
  const identifier = Utils.ad.getApplication().getResources().getIdentifier(resourceName.substr(Utils.RESOURCE_PREFIX.length), 'drawable', Utils.ad.getApplication().getPackageName());
734
+ // we return the identifier to allow Fresco to handle memory / caching
654
735
  return identifier;
655
736
  }
656
737
  startAnimating() {
@@ -830,23 +911,31 @@ function getScaleType(scaleType) {
830
911
  if (isString(scaleType)) {
831
912
  switch (scaleType) {
832
913
  case ScaleType.Center:
914
+ //@ts-ignore
833
915
  return new com.nativescript.image.ScalingUtils.ScaleTypeCenter();
834
916
  case ScaleType.AspectFill:
835
917
  case ScaleType.CenterCrop:
918
+ //@ts-ignore
836
919
  return new com.nativescript.image.ScalingUtils.ScaleTypeCenterCrop();
837
920
  case ScaleType.CenterInside:
921
+ //@ts-ignore
838
922
  return new com.nativescript.image.ScalingUtils.ScaleTypeCenterInside();
839
923
  case ScaleType.FitCenter:
840
924
  case ScaleType.AspectFit:
925
+ //@ts-ignore
841
926
  return new com.nativescript.image.ScalingUtils.ScaleTypeFitCenter();
842
927
  case ScaleType.FitEnd:
928
+ //@ts-ignore
843
929
  return new com.nativescript.image.ScalingUtils.ScaleTypeFitEnd();
844
930
  case ScaleType.FitStart:
931
+ //@ts-ignore
845
932
  return new com.nativescript.image.ScalingUtils.ScaleTypeFitStart();
846
933
  case ScaleType.Fill:
847
934
  case ScaleType.FitXY:
935
+ //@ts-ignore
848
936
  return new com.nativescript.image.ScalingUtils.ScaleTypeFitXY();
849
937
  case ScaleType.FocusCrop:
938
+ //@ts-ignore
850
939
  return new com.nativescript.image.ScalingUtils.ScaleTypeFocusCrop();
851
940
  default:
852
941
  break;
package/index.ios.js CHANGED
@@ -23,17 +23,17 @@ function getScaleType(scaleType) {
23
23
  case ScaleType.Center:
24
24
  case ScaleType.CenterCrop:
25
25
  case ScaleType.AspectFill:
26
- return 2;
26
+ return 2 /* SDImageScaleMode.AspectFill */;
27
27
  case ScaleType.CenterInside:
28
28
  case ScaleType.FitCenter:
29
29
  case ScaleType.FitEnd:
30
30
  case ScaleType.FitStart:
31
31
  case ScaleType.AspectFit:
32
- return 1;
32
+ return 1 /* SDImageScaleMode.AspectFit */;
33
33
  case ScaleType.FitXY:
34
34
  case ScaleType.FocusCrop:
35
35
  case ScaleType.Fill:
36
- return 0;
36
+ return 0 /* SDImageScaleMode.Fill */;
37
37
  default:
38
38
  break;
39
39
  }
@@ -44,24 +44,24 @@ function getUIImageScaleType(scaleType) {
44
44
  if (isString(scaleType)) {
45
45
  switch (scaleType) {
46
46
  case ScaleType.Center:
47
- return 4;
47
+ return 4 /* UIViewContentMode.Center */;
48
48
  case ScaleType.FocusCrop:
49
49
  case ScaleType.CenterCrop:
50
50
  case ScaleType.AspectFill:
51
- return 2;
51
+ return 2 /* UIViewContentMode.ScaleAspectFill */;
52
52
  case ScaleType.AspectFit:
53
53
  case ScaleType.CenterInside:
54
54
  case ScaleType.FitCenter:
55
- return 1;
55
+ return 1 /* UIViewContentMode.ScaleAspectFit */;
56
56
  case ScaleType.FitEnd:
57
- return 8;
57
+ return 8 /* UIViewContentMode.Right */;
58
58
  case ScaleType.FitStart:
59
- return 7;
59
+ return 7 /* UIViewContentMode.Left */;
60
60
  case ScaleType.Fill:
61
61
  case ScaleType.FitXY:
62
- return 0;
62
+ return 0 /* UIViewContentMode.ScaleToFill */;
63
63
  case ScaleType.None:
64
- return 9;
64
+ return 9 /* UIViewContentMode.TopLeft */;
65
65
  default:
66
66
  break;
67
67
  }
@@ -102,10 +102,10 @@ export class ImagePipeline {
102
102
  this._ios.clearDiskOnCompletion(null);
103
103
  }
104
104
  prefetchToDiskCache(uri) {
105
- return this.prefetchToCacheType(uri, 1);
105
+ return this.prefetchToCacheType(uri, 1 /* SDImageCacheType.Disk */);
106
106
  }
107
107
  prefetchToMemoryCache(uri) {
108
- return this.prefetchToCacheType(uri, 2);
108
+ return this.prefetchToCacheType(uri, 2 /* SDImageCacheType.Memory */);
109
109
  }
110
110
  prefetchToCacheType(uri, cacheType) {
111
111
  return new Promise((resolve, reject) => {
@@ -171,7 +171,7 @@ export class Img extends ImageBase {
171
171
  if (!this.nativeViewProtected) {
172
172
  return;
173
173
  }
174
- const animate = (this.alwaysFade || cacheType !== 2) && this.fadeDuration > 0;
174
+ const animate = (this.alwaysFade || cacheType !== 2 /* SDImageCacheType.Memory */) && this.fadeDuration > 0;
175
175
  if (image) {
176
176
  this._setNativeImage(image, animate);
177
177
  }
@@ -207,16 +207,18 @@ export class Img extends ImageBase {
207
207
  }
208
208
  createNativeView() {
209
209
  const result = this.animatedImageView ? SDAnimatedImageView.new() : UIImageView.new();
210
- result.contentMode = 1;
210
+ result.contentMode = 1 /* UIViewContentMode.ScaleAspectFit */;
211
211
  result.clipsToBounds = true;
212
- result.userInteractionEnabled = true;
212
+ result.userInteractionEnabled = true; // needed for gestures to work
213
213
  result.tintColor = null;
214
214
  return result;
215
215
  }
216
216
  _setNativeClipToBounds() {
217
+ // Always set clipsToBounds for images
217
218
  this.nativeViewProtected.clipsToBounds = true;
218
219
  }
219
220
  onMeasure(widthMeasureSpec, heightMeasureSpec) {
221
+ // We don't call super because we measure native view with specific size.
220
222
  const width = layout.getMeasureSpecSize(widthMeasureSpec);
221
223
  const widthMode = layout.getMeasureSpecMode(widthMeasureSpec);
222
224
  const height = layout.getMeasureSpecSize(heightMeasureSpec);
@@ -233,6 +235,7 @@ export class Img extends ImageBase {
233
235
  const nativeHeight = image ? layout.toDevicePixels(image.size.height) : 0;
234
236
  const imgRatio = nativeWidth / nativeHeight;
235
237
  const ratio = this.aspectRatio || imgRatio;
238
+ // const scale = this.computeScaleFactor(width, height, finiteWidth, finiteHeight, nativeWidth, nativeHeight, this.aspectRatio || imgRatio );
236
239
  if (!finiteWidth) {
237
240
  widthMeasureSpec = layout.makeMeasureSpec(height * ratio, layout.EXACTLY);
238
241
  }
@@ -260,11 +263,28 @@ export class Img extends ImageBase {
260
263
  }
261
264
  _setNativeImage(nativeImage, animated = true) {
262
265
  if (animated) {
266
+ // switch (this.transition) {
267
+ // case 'fade':
263
268
  this.nativeImageViewProtected.alpha = 0.0;
264
269
  this.nativeImageViewProtected.image = nativeImage;
265
270
  UIView.animateWithDurationAnimations(this.fadeDuration / 1000, () => {
266
271
  this.nativeImageViewProtected.alpha = this.opacity;
267
272
  });
273
+ // break;
274
+ // case 'curlUp':
275
+ // UIView.transitionWithViewDurationOptionsAnimationsCompletion(
276
+ // this.nativeImageViewProtected,
277
+ // 0.3,
278
+ // UIViewAnimationOptions.TransitionCrossDissolve,
279
+ // () => {
280
+ // this._setNativeImage(image);
281
+ // },
282
+ // null
283
+ // );
284
+ // break;
285
+ // default:
286
+ // this._setNativeImage(image);
287
+ // }
268
288
  }
269
289
  else {
270
290
  this.nativeImageViewProtected.image = nativeImage;
@@ -283,6 +303,7 @@ export class Img extends ImageBase {
283
303
  if (Utils.isFontIconURI(imagePath)) {
284
304
  const fontIconCode = imagePath.split('//')[1];
285
305
  if (fontIconCode !== undefined) {
306
+ // support sync mode only
286
307
  const font = this.style.fontInternal;
287
308
  const color = this.style.color;
288
309
  image = ImageSource.fromFontIconCodeSync(fontIconCode, font, color).ios;
@@ -317,6 +338,7 @@ export class Img extends ImageBase {
317
338
  if (Utils.isFontIconURI(src)) {
318
339
  const fontIconCode = src.split('//')[1];
319
340
  if (fontIconCode !== undefined) {
341
+ // support sync mode only
320
342
  const font = this.style.fontInternal;
321
343
  const color = this.style.color;
322
344
  this._setNativeImage(ImageSource.fromFontIconCodeSync(fontIconCode, font, color).ios, animate);
@@ -334,16 +356,17 @@ export class Img extends ImageBase {
334
356
  }
335
357
  }
336
358
  this.isLoading = true;
337
- let options = 2048 | 1024;
359
+ let options = 2048 /* SDWebImageOptions.ScaleDownLargeImages */ | 1024 /* SDWebImageOptions.AvoidAutoSetImage */;
338
360
  if (this.alwaysFade === true) {
339
- options |= 131072;
361
+ options |= 131072 /* SDWebImageOptions.ForceTransition */;
340
362
  }
341
363
  const context = NSMutableDictionary.dictionary();
342
364
  const transformers = [];
343
365
  if (this.progressiveRenderingEnabled === true) {
344
- options = options | 4;
366
+ options = options | 4 /* SDWebImageOptions.ProgressiveLoad */;
345
367
  }
346
368
  if (this.decodeWidth && this.decodeHeight) {
369
+ //@ts-ignore
347
370
  transformers.push(NSImageDecodeSizeTransformer.transformerWithDecodeWidthDecodeHeight(this.decodeWidth, this.decodeHeight));
348
371
  }
349
372
  if (this.tintColor) {
@@ -353,14 +376,18 @@ export class Img extends ImageBase {
353
376
  transformers.push(SDImageBlurTransformer.transformerWithRadius(this.blurRadius));
354
377
  }
355
378
  if (this.roundAsCircle === true) {
379
+ //@ts-ignore
356
380
  transformers.push(NSImageRoundAsCircleTransformer.transformer());
357
381
  }
358
382
  if (this.roundBottomLeftRadius || this.roundBottomRightRadius || this.roundTopLeftRadius || this.roundTopRightRadius) {
359
- transformers.push(NSImageRoundCornerTransformer.transformerWithTopLefRadiusTopRightRadiusBottomRightRadiusBottomLeftRadius(layout.toDeviceIndependentPixels(this.roundTopLeftRadius), layout.toDeviceIndependentPixels(this.roundTopRightRadius), layout.toDeviceIndependentPixels(this.roundBottomRightRadius), layout.toDeviceIndependentPixels(this.roundBottomLeftRadius)));
383
+ transformers.push(
384
+ //@ts-ignore
385
+ NSImageRoundCornerTransformer.transformerWithTopLefRadiusTopRightRadiusBottomRightRadiusBottomLeftRadius(layout.toDeviceIndependentPixels(this.roundTopLeftRadius), layout.toDeviceIndependentPixels(this.roundTopRightRadius), layout.toDeviceIndependentPixels(this.roundBottomRightRadius), layout.toDeviceIndependentPixels(this.roundBottomLeftRadius)));
360
386
  }
361
387
  if (transformers.length > 0) {
362
388
  if (this.animatedImageView) {
363
- options |= 512;
389
+ // as we use SDAnimatedImageView all images are loaded as SDAnimatedImage;
390
+ options |= 512 /* SDWebImageOptions.TransformAnimatedImage */;
364
391
  }
365
392
  context.setValueForKey(SDImagePipelineTransformer.transformerWithTransformers(transformers), SDWebImageContextImageTransformer);
366
393
  }
@@ -382,6 +409,7 @@ export class Img extends ImageBase {
382
409
  this.initImage();
383
410
  }
384
411
  [ImageBase.failureImageUriProperty.setNative]() {
412
+ // this.updateHierarchy();
385
413
  }
386
414
  [ImageBase.stretchProperty.setNative](value) {
387
415
  if (!this.nativeView) {
@@ -389,6 +417,20 @@ export class Img extends ImageBase {
389
417
  }
390
418
  this.nativeImageViewProtected.contentMode = getUIImageScaleType(value);
391
419
  }
420
+ // [ImageBase.blendingModeProperty.setNative](value: string) {
421
+ // console.log('blendingModeProperty', value);
422
+ // switch (value) {
423
+ // case 'multiply':
424
+ // this.nativeImageViewProtected.layer.compositingFilter = 'multiply';
425
+ // break;
426
+ // case 'lighten':
427
+ // this.nativeImageViewProtected.layer.compositingFilter = 'lighten';
428
+ // break;
429
+ // case 'screen':
430
+ // this.nativeImageViewProtected.layer.compositingFilter = 'screen';
431
+ // break;
432
+ // }
433
+ // }
392
434
  startAnimating() {
393
435
  this.nativeImageViewProtected.startAnimating();
394
436
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-image",
3
- "version": "4.3.6",
3
+ "version": "4.3.8",
4
4
  "description": "Advanced and efficient image display plugin which uses Fresco (Android) and SDWebImage (iOS) to implement caching, placeholders, image effects, and much more.",
5
5
  "main": "./index",
6
6
  "sideEffects": false,
@@ -8,10 +8,10 @@
8
8
  "scripts": {
9
9
  "build": "npm run tsc && npm run readme",
10
10
  "build.all": "npm run build && npm run build.angular",
11
- "build.angular": "../../node_modules/.bin/ng-packagr -p ../../src/image/angular/ng-package.json -c ../../src/image/angular/tsconfig.json",
12
- "readme": "../../node_modules/.bin/readme generate -c ../../tools/readme/blueprint.json",
13
- "tsc": "../../node_modules/.bin/cpy '**/*.d.ts' '../../packages/image' --parents --cwd=../../src/image && ../../node_modules/.bin/tsc -skipLibCheck -d",
14
- "clean": "../../node_modules/.bin/rimraf ./*.d.ts ./*.js ./*.js.map"
11
+ "build.angular": "ng-packagr -p ../../src/image/angular/ng-package.json -c ../../src/image/angular/tsconfig.json",
12
+ "readme": "readme generate -c ../../tools/readme/blueprint.json",
13
+ "tsc": "cpy '**/*.d.ts' '../../packages/image' --parents --cwd=../../src/image && tsc -skipLibCheck -d",
14
+ "clean": "rimraf ./*.d.ts ./*.js ./*.js.map"
15
15
  },
16
16
  "nativescript": {
17
17
  "platforms": {
@@ -44,5 +44,5 @@
44
44
  },
45
45
  "license": "Apache-2.0",
46
46
  "readmeFilename": "README.md",
47
- "gitHead": "b15694e34058498f37ead9ddc5e2362cc1f2e18c"
47
+ "gitHead": "5f56e2e92f95199ceb3407cb6b41c8e54247bb72"
48
48
  }
@@ -1,35 +1,36 @@
1
1
  {
2
2
  "uses": [
3
- "com.facebook.drawee.drawable:ScalingUtils*",
4
- "com.facebook.drawee.drawable.ScalingUtils:ScaleType*",
5
- "com.facebook.drawee.generic:RoundingParams*",
6
- "com.facebook.drawee.drawable:ProgressBarDrawable*",
7
- "com.facebook.drawee.view:DraweeView*",
8
- "com.facebook.drawee.interfaces:DraweeHierarchy*",
9
- "com.facebook.drawee.interfaces:SettableDraweeHierarchy*",
10
- "com.facebook.drawee.interfaces:SimpleDraweeControllerBuilder*",
11
- "com.facebook.drawee.interfaces:DraweeController*",
12
- "com.facebook.drawee.generic:GenericDraweeHierarchyBuilder*",
13
- "com.facebook.drawee.generic:GenericDraweeHierarchy*",
14
- "com.facebook.imagepipeline.request:ImageRequestBuilder*",
15
- "com.facebook.imagepipeline.request:ImageRequest*",
16
- "com.facebook.imagepipeline.core:ImagePipelineConfig*",
17
- "com.facebook.imagepipeline.common:RotationOptions*",
18
- "com.facebook.imagepipeline.common:ResizeOptions*",
19
- "com.facebook.drawee.backends.pipeline:Fresco*",
20
- "com.facebook.drawee.backends.pipeline:PipelineDraweeControllerBuilder*",
21
- "com.facebook.drawee.backends.pipeline:PipelineDraweeController*",
22
- "com.facebook.drawee.controller:AbstractDraweeControllerBuilder*",
23
- "com.facebook.drawee.controller:AbstractDraweeController*",
24
- "com.facebook.drawee.backends.pipeline.info:ImagePerfDataListener*",
25
- "com.facebook.drawee.backends.pipeline.info:ImagePerfData*",
26
- "com.facebook.drawee.controller:ControllerListener*",
27
- "com.nativescript.image:DraweeView*",
28
- "com.nativescript.image:ScalingBlurPostprocessor*",
3
+ "com.facebook.drawee.drawable:ScalingUtils",
4
+ "com.facebook.drawee.drawable:ScalingUtils.ScaleType",
5
+ "com.facebook.drawee.generic:RoundingParams",
6
+ "com.facebook.drawee.drawable:ProgressBarDrawable",
7
+ "com.facebook.drawee.view:DraweeView",
8
+ "com.facebook.drawee.interfaces:DraweeHierarchy",
9
+ "com.facebook.drawee.interfaces:SettableDraweeHierarchy",
10
+ "com.facebook.drawee.interfaces:SimpleDraweeControllerBuilder",
11
+ "com.facebook.drawee.interfaces:DraweeController",
12
+ "com.facebook.drawee.generic:GenericDraweeHierarchyBuilder",
13
+ "com.facebook.drawee.generic:GenericDraweeHierarchy",
14
+ "com.facebook.imagepipeline.request:ImageRequestBuilder",
15
+ "com.facebook.imagepipeline.request:ImageRequest",
16
+ "com.facebook.imagepipeline.core:ImagePipelineConfig",
17
+ "com.facebook.imagepipeline.core:ImagePipeline",
18
+ "com.facebook.imagepipeline.common:RotationOptions",
19
+ "com.facebook.imagepipeline.common:ResizeOptions",
20
+ "com.facebook.drawee.backends.pipeline:Fresco",
21
+ "com.facebook.drawee.backends.pipeline:PipelineDraweeControllerBuilder",
22
+ "com.facebook.drawee.backends.pipeline:PipelineDraweeController",
23
+ "com.facebook.drawee.controller:AbstractDraweeControllerBuilder",
24
+ "com.facebook.drawee.controller:AbstractDraweeController",
25
+ "com.facebook.drawee.backends.pipeline.info:ImagePerfDataListener",
26
+ "com.facebook.drawee.backends.pipeline.info:ImagePerfData",
27
+ "com.facebook.drawee.controller:ControllerListener",
28
+ "com.nativescript.image:DraweeView",
29
+ "com.nativescript.image:ScalingBlurPostprocessor",
29
30
  "android.graphics.drawable:Animatable",
30
- "com.facebook.imagepipeline.image:ImageInfo*",
31
- "com.facebook.common.util:UriUtil*",
32
- "android.net:Uri*",
33
- "android.net.Uri:Builder*"
31
+ "com.facebook.imagepipeline.image:ImageInfo",
32
+ "com.facebook.common.util:UriUtil",
33
+ "android.net:Uri",
34
+ "android.net.Uri:Builder"
34
35
  ]
35
36
  }
Binary file
package/vue/index.mjs DELETED
@@ -1,8 +0,0 @@
1
- import { Img } from '../image';
2
- const ImagePlugin = {
3
- install(Vue) {
4
- Vue.registerElement('NSImg', () => Img);
5
- }
6
- };
7
- export default ImagePlugin;
8
- //# sourceMappingURL=index.mjs.map