@nativescript/canvas-svg 2.0.0-beta.19 → 2.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/Elements/Circle.js +1 -1
  2. package/Elements/Circle.js.map +1 -1
  3. package/Elements/ClipPath.js +1 -1
  4. package/Elements/ClipPath.js.map +1 -1
  5. package/Elements/Defs.js +1 -1
  6. package/Elements/Defs.js.map +1 -1
  7. package/Elements/Ellipse.js +5 -5
  8. package/Elements/Ellipse.js.map +1 -1
  9. package/Elements/G.d.ts +4 -0
  10. package/Elements/G.js +22 -1
  11. package/Elements/G.js.map +1 -1
  12. package/Elements/Image.js +2 -2
  13. package/Elements/Image.js.map +1 -1
  14. package/Elements/Line.js +5 -5
  15. package/Elements/Line.js.map +1 -1
  16. package/Elements/LinearGradient.js +1 -1
  17. package/Elements/LinearGradient.js.map +1 -1
  18. package/Elements/Path.js +2 -2
  19. package/Elements/Path.js.map +1 -1
  20. package/Elements/Pattern.js +1 -1
  21. package/Elements/Pattern.js.map +1 -1
  22. package/Elements/Polygon.js +2 -2
  23. package/Elements/Polygon.js.map +1 -1
  24. package/Elements/Polyline.js +2 -2
  25. package/Elements/Polyline.js.map +1 -1
  26. package/Elements/RadialGradient.d.ts +11 -0
  27. package/Elements/RadialGradient.js +14 -0
  28. package/Elements/RadialGradient.js.map +1 -0
  29. package/Elements/Rect.js +1 -1
  30. package/Elements/Rect.js.map +1 -1
  31. package/Elements/SVGItem.d.ts +1 -1
  32. package/Elements/SVGItem.js +2 -2
  33. package/Elements/SVGItem.js.map +1 -1
  34. package/Elements/Stop.js +1 -1
  35. package/Elements/Stop.js.map +1 -1
  36. package/Elements/Symbol.js +1 -1
  37. package/Elements/Symbol.js.map +1 -1
  38. package/Elements/Text.js +5 -5
  39. package/Elements/Text.js.map +1 -1
  40. package/Elements/Use.js +1 -1
  41. package/Elements/Use.js.map +1 -1
  42. package/Elements/index.d.ts +1 -1
  43. package/Elements/index.js +1 -1
  44. package/Elements/index.js.map +1 -1
  45. package/common.d.ts +3 -2
  46. package/common.js +13 -13
  47. package/common.js.map +1 -1
  48. package/index.android.d.ts +3 -1
  49. package/index.android.js +156 -16
  50. package/index.android.js.map +1 -1
  51. package/index.d.ts +2 -0
  52. package/index.ios.d.ts +2 -0
  53. package/index.ios.js +148 -11
  54. package/index.ios.js.map +1 -1
  55. package/package.json +1 -1
  56. package/platforms/android/canvassvg-release.aar +0 -0
  57. package/platforms/ios/CanvasSVG.xcframework/Info.plist +5 -5
  58. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG +0 -0
  59. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/CanvasSVG-Swift.h +340 -0
  60. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Headers/canvas_svg.h +2 -0
  61. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  62. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.abi.json +457 -6
  63. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.private.swiftinterface +15 -0
  64. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios.swiftinterface +15 -0
  65. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/Modules/module.modulemap +5 -0
  66. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG +0 -0
  67. package/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +217 -194
  68. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG +0 -0
  69. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/CanvasSVG-Swift.h +676 -0
  70. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Headers/canvas_svg.h +2 -0
  71. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  72. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  73. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.abi.json +457 -6
  74. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +15 -0
  75. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/arm64-apple-ios-simulator.swiftinterface +15 -0
  76. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.abi.json +457 -6
  77. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +15 -0
  78. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/CanvasSVG.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +15 -0
  79. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/Modules/module.modulemap +5 -0
  80. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/_CodeSignature/CodeResources +35 -24
  81. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG +0 -0
  82. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +217 -195
  83. package/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml +286 -257
  84. package/platforms/ios/build.xcconfig +1 -0
  85. package/Elements/SVG.d.ts +0 -32
  86. package/Elements/SVG.js +0 -205
  87. package/Elements/SVG.js.map +0 -1
@@ -1,14 +1,16 @@
1
1
  import { SVGBase } from './common';
2
2
  import { SVGItem } from './Elements/SVGItem';
3
+ export * from './Elements';
3
4
  export declare class Svg extends SVGBase {
4
5
  _svg: any;
5
6
  constructor();
6
7
  createNativeView(): any;
7
8
  get native(): any;
8
- onLayout(left: number, top: number, right: number, bottom: number): void;
9
9
  __redraw(): void;
10
10
  onLoaded(): void;
11
11
  onUnloaded(): void;
12
12
  addChild(view: SVGItem): void;
13
13
  removeChild(view: SVGItem): void;
14
+ static fromSrcSync(value: string): Svg | null;
15
+ static fromSrc(value: string): Promise<Svg>;
14
16
  }
package/index.android.js CHANGED
@@ -1,11 +1,60 @@
1
1
  import { initialSVG, SVGBase, srcProperty, syncProperty } from './common';
2
- import { Application, Http, knownFolders, path, Utils } from '@nativescript/core';
2
+ import { Application, Http, knownFolders, path, Screen, Utils } from '@nativescript/core';
3
+ export * from './Elements';
4
+ function parseSVGDimensions(svgString) {
5
+ const svgRegex = /<svg([^>]*)>/i;
6
+ const match = svgString.match(svgRegex);
7
+ if (!match) {
8
+ return { width: 0, height: 0 };
9
+ }
10
+ const svgAttributes = match[1];
11
+ const regex = /\b(?:width|height|viewBox)\s*=\s*"([^"]*(?:"[^"]*")*[^"]*)"/g;
12
+ const matches = svgAttributes.match(regex);
13
+ let width, height, viewBox;
14
+ if (matches) {
15
+ matches.forEach((match) => {
16
+ const parts = match.split('=');
17
+ const attributeName = parts[0].trim();
18
+ const attributeValue = parts[1].trim().replace(/"/g, '');
19
+ if (attributeName === 'width') {
20
+ if (width === undefined) {
21
+ width = parseFloat(attributeValue) ?? 0;
22
+ }
23
+ }
24
+ else if (attributeName === 'height') {
25
+ if (height === undefined) {
26
+ height = parseFloat(attributeValue) ?? 0;
27
+ }
28
+ }
29
+ else if (attributeName === 'viewBox') {
30
+ if (viewBox === undefined) {
31
+ viewBox = attributeValue.split(' ').map(parseFloat).splice(0, 4);
32
+ }
33
+ }
34
+ });
35
+ }
36
+ if (!width && viewBox && viewBox.length === 4) {
37
+ const viewBoxWidth = viewBox[2];
38
+ const viewBoxHeight = viewBox[3];
39
+ const aspectRatio = viewBoxWidth / viewBoxHeight;
40
+ width = (height ?? Screen.mainScreen.widthDIPs) * aspectRatio;
41
+ }
42
+ if (!height && viewBox && viewBox.length === 4) {
43
+ const viewBoxWidth = viewBox[2];
44
+ const viewBoxHeight = viewBox[3];
45
+ const aspectRatio = viewBoxWidth / viewBoxHeight;
46
+ height = (width ?? Screen.mainScreen.heightDIPs) / aspectRatio;
47
+ }
48
+ return { width: width ?? 0, height: height ?? 0 };
49
+ }
3
50
  export class Svg extends SVGBase {
4
51
  constructor() {
5
52
  super();
6
53
  const context = Application.android.foregroundActivity || Application.android.startActivity || Utils.android.getApplicationContext();
7
54
  this._svg = new org.nativescript.canvas.svg.NSCSVG(context);
8
- this._svg.setSync(true);
55
+ this.on('layoutChanged', (args) => {
56
+ this.__redraw();
57
+ });
9
58
  }
10
59
  createNativeView() {
11
60
  return this._svg;
@@ -40,23 +89,22 @@ export class Svg extends SVGBase {
40
89
  [syncProperty.setNative](value) {
41
90
  this._svg.setSync(value);
42
91
  }
43
- onLayout(left, top, right, bottom) {
44
- super.onLayout(left, top, right, bottom);
45
- this.__redraw();
46
- }
47
- // this.__internalElement._dom.documentElement.setAttribute('id', value);
48
92
  __redraw() {
49
93
  if (this._attachedToDom) {
50
- const domCopy = this._dom.valueOf();
51
- const serialized = this._serializer.serializeToString(domCopy);
52
- const width = domCopy.documentElement.getAttribute('width');
53
- const height = domCopy.documentElement.getAttribute('height');
54
- if (width === 'auto') {
55
- domCopy.documentElement.setAttribute('width', `${this.getMeasuredWidth()}px`);
56
- }
57
- if (height === 'auto') {
58
- domCopy.documentElement.setAttribute('height', `${this.getMeasuredHeight()}px`);
94
+ const domCopy = this.__domElement.valueOf();
95
+ // const width = domCopy.documentElement.getAttribute('width');
96
+ // const height = domCopy.documentElement.getAttribute('height');
97
+ const viewBox = domCopy.getAttribute('viewBox');
98
+ // if (!width) {
99
+ // domCopy.documentElement.setAttribute('width', `${this.getMeasuredWidth()}`);
100
+ // }
101
+ // if (!height) {
102
+ // domCopy.documentElement.setAttribute('height', `${this.getMeasuredHeight()}`);
103
+ // }
104
+ if (!viewBox) {
105
+ domCopy.setAttribute('viewBox', '0 0 0 0');
59
106
  }
107
+ const serialized = this._serializer.serializeToString(domCopy);
60
108
  if (serialized !== initialSVG) {
61
109
  this.src = serialized;
62
110
  }
@@ -82,5 +130,97 @@ export class Svg extends SVGBase {
82
130
  this.__children = this.__children.filter((item) => item !== view);
83
131
  }
84
132
  }
133
+ static fromSrcSync(value) {
134
+ if (typeof value === 'string') {
135
+ const context = Utils.android.getApplicationContext();
136
+ if (value.indexOf('<svg') > -1) {
137
+ const { width, height } = parseSVGDimensions(value);
138
+ if (width > 0 && height > 0) {
139
+ const svg = org.nativescript.canvas.svg.NSCSVG.fromStringSync(context, width * Screen.mainScreen.scale, height * Screen.mainScreen.scale, value);
140
+ const view = new Svg();
141
+ view._svg = svg;
142
+ view.width = width;
143
+ view.height = height;
144
+ return view;
145
+ }
146
+ }
147
+ else {
148
+ let nativeSvg;
149
+ try {
150
+ if (value.startsWith('~')) {
151
+ nativeSvg = org.nativescript.canvas.svg.NSCSVG.fromPathSync(context, path.join(knownFolders.currentApp().path, value.replace('~', '')));
152
+ }
153
+ else if (value.startsWith('/')) {
154
+ nativeSvg = org.nativescript.canvas.svg.NSCSVG.fromPathSync(context, value);
155
+ }
156
+ else if (value.startsWith('http')) {
157
+ nativeSvg = org.nativescript.canvas.svg.NSCSVG.fromRemoteSync(context, value);
158
+ }
159
+ }
160
+ catch (error) { }
161
+ if (nativeSvg) {
162
+ const view = new Svg();
163
+ view._svg = nativeSvg;
164
+ const lp = nativeSvg.getLayoutParams();
165
+ view.width = lp.width / Screen.mainScreen.scale;
166
+ view.height = lp.height / Screen.mainScreen.scale;
167
+ return view;
168
+ }
169
+ }
170
+ }
171
+ return null;
172
+ }
173
+ static fromSrc(value) {
174
+ return new Promise((resolve, reject) => {
175
+ if (typeof value === 'string') {
176
+ const context = Utils.android.getApplicationContext();
177
+ if (value.indexOf('<svg') > -1) {
178
+ const { width, height } = parseSVGDimensions(value);
179
+ if (width > 0 && height > 0) {
180
+ org.nativescript.canvas.svg.NSCSVG.fromString(context, width * Screen.mainScreen.scale, height * Screen.mainScreen.scale, value, new org.nativescript.canvas.svg.NSCSVG.Callback({
181
+ onSuccess(svg) {
182
+ const view = new Svg();
183
+ view._svg = svg;
184
+ view.width = width;
185
+ view.height = height;
186
+ resolve(view);
187
+ },
188
+ }));
189
+ return;
190
+ }
191
+ }
192
+ else {
193
+ const cb = new org.nativescript.canvas.svg.NSCSVG.Callback({
194
+ onSuccess(nativeSvg) {
195
+ if (nativeSvg) {
196
+ const view = new Svg();
197
+ const lp = nativeSvg.getLayoutParams();
198
+ view._svg = nativeSvg;
199
+ view.width = lp.width / Screen.mainScreen.scale;
200
+ view.height = lp.height / Screen.mainScreen.scale;
201
+ resolve(view);
202
+ }
203
+ else {
204
+ reject(new Error('Failed to parse SVG'));
205
+ }
206
+ },
207
+ });
208
+ if (value.startsWith('~')) {
209
+ org.nativescript.canvas.svg.NSCSVG.fromPath(context, path.join(knownFolders.currentApp().path, value.replace('~', '')), cb);
210
+ return;
211
+ }
212
+ else if (value.startsWith('/')) {
213
+ org.nativescript.canvas.svg.NSCSVG.fromPath(context, value, cb);
214
+ return;
215
+ }
216
+ else if (value.startsWith('http')) {
217
+ org.nativescript.canvas.svg.NSCSVG.fromRemote(context, value, cb);
218
+ return;
219
+ }
220
+ }
221
+ }
222
+ reject(new Error('Source is not valid'));
223
+ });
224
+ }
85
225
  }
86
226
  //# sourceMappingURL=index.android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKlF,MAAM,OAAO,GAAI,SAAQ,OAAO;IAG/B;QACC,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACrI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAGD,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAa;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACxB;iBAAM;gBACN,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxF;qBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;yBACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;iBACJ;aACD;SACD;IACF,CAAC;IAED,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAc;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc;QACvE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAEF,yEAAyE;IACxE,QAAQ;QACP,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,MAAM,OAAO,GAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAW,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,KAAK,KAAK,MAAM,EAAE;gBACrB,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;aAC9E;YACD,IAAI,MAAM,KAAK,MAAM,EAAE;gBACtB,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;aAChF;YACD,IAAI,UAAU,KAAK,UAAU,EAAE;gBAC9B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;aACtB;SACD;IACF,CAAC;IAED,QAAQ;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,UAAU;QACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,KAAK,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAGD,QAAQ,CAAC,IAAa;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,IAAa;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SAClE;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.android.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -2,4 +2,6 @@ export * from './Elements';
2
2
  import { SVGBase } from './common';
3
3
 
4
4
  export class Svg extends SVGBase {
5
+ static fromSrcSync(value: string): Svg | null;
6
+ static fromSrc(value: string): Promise<Svg>;
5
7
  }
package/index.ios.d.ts CHANGED
@@ -13,4 +13,6 @@ export declare class Svg extends SVGBase {
13
13
  onUnloaded(): void;
14
14
  addChild(view: SVGItem): void;
15
15
  removeChild(view: SVGItem): void;
16
+ static fromSrcSync(value: string): Svg | null;
17
+ static fromSrc(value: string): Promise<Svg>;
16
18
  }
package/index.ios.js CHANGED
@@ -1,10 +1,56 @@
1
1
  import { SVGBase, srcProperty, syncProperty, initialSVG } from './common';
2
- import { Http, knownFolders, path, Utils } from '@nativescript/core';
2
+ import { Http, knownFolders, path, Screen, Utils } from '@nativescript/core';
3
3
  export * from './Elements';
4
+ function parseSVGDimensions(svgString) {
5
+ const svgRegex = /<svg([^>]*)>/i;
6
+ const match = svgString.match(svgRegex);
7
+ if (!match) {
8
+ return { width: 0, height: 0 };
9
+ }
10
+ const svgAttributes = match[1];
11
+ const regex = /\b(?:width|height|viewBox)\s*=\s*"([^"]*(?:"[^"]*")*[^"]*)"/g;
12
+ const matches = svgAttributes.match(regex);
13
+ let width, height, viewBox;
14
+ if (matches) {
15
+ matches.forEach((match) => {
16
+ const parts = match.split('=');
17
+ const attributeName = parts[0].trim();
18
+ const attributeValue = parts[1].trim().replace(/"/g, '');
19
+ if (attributeName === 'width') {
20
+ if (width === undefined) {
21
+ width = parseFloat(attributeValue) ?? 0;
22
+ }
23
+ }
24
+ else if (attributeName === 'height') {
25
+ if (height === undefined) {
26
+ height = parseFloat(attributeValue) ?? 0;
27
+ }
28
+ }
29
+ else if (attributeName === 'viewBox') {
30
+ if (viewBox === undefined) {
31
+ viewBox = attributeValue.split(' ').map(parseFloat).splice(0, 4);
32
+ }
33
+ }
34
+ });
35
+ }
36
+ if (!width && viewBox && viewBox.length === 4) {
37
+ const viewBoxWidth = viewBox[2];
38
+ const viewBoxHeight = viewBox[3];
39
+ const aspectRatio = viewBoxWidth / viewBoxHeight;
40
+ width = (height ?? Screen.mainScreen.widthDIPs) * aspectRatio;
41
+ }
42
+ if (!height && viewBox && viewBox.length === 4) {
43
+ const viewBoxWidth = viewBox[2];
44
+ const viewBoxHeight = viewBox[3];
45
+ const aspectRatio = viewBoxWidth / viewBoxHeight;
46
+ height = (width ?? Screen.mainScreen.heightDIPs) / aspectRatio;
47
+ }
48
+ return { width: width ?? 0, height: height ?? 0 };
49
+ }
4
50
  export class Svg extends SVGBase {
5
51
  constructor() {
6
52
  super();
7
- this._svg = TNSSVG.alloc().initWithFrame(CGRectZero);
53
+ this._svg = NSCSVG.alloc().initWithFrame(CGRectZero);
8
54
  this._svg.backgroundColor = UIColor.clearColor;
9
55
  }
10
56
  createNativeView() {
@@ -31,7 +77,7 @@ export class Svg extends SVGBase {
31
77
  this._svg.srcPath = res.path;
32
78
  })
33
79
  .catch((e) => {
34
- console.log(e);
80
+ console.error(e);
35
81
  });
36
82
  }
37
83
  }
@@ -54,16 +100,20 @@ export class Svg extends SVGBase {
54
100
  }
55
101
  __redraw() {
56
102
  if (this._attachedToDom) {
57
- const domCopy = this._dom.valueOf();
58
- const serialized = this._serializer.serializeToString(domCopy);
59
- const width = domCopy.documentElement.getAttribute('width');
60
- const height = domCopy.documentElement.getAttribute('height');
61
- if (width === 'auto') {
62
- domCopy.documentElement.setAttribute('width', `${this.getMeasuredWidth()}px`);
103
+ const domCopy = this.__domElement.valueOf();
104
+ const width = domCopy.getAttribute('width');
105
+ const height = domCopy.getAttribute('height');
106
+ const viewBox = domCopy.getAttribute('viewBox');
107
+ if (!width) {
108
+ domCopy.setAttribute('width', `${this.getMeasuredWidth() / Screen.mainScreen.scale}`);
109
+ }
110
+ if (!height) {
111
+ domCopy.setAttribute('height', `${this.getMeasuredHeight() / Screen.mainScreen.scale}`);
63
112
  }
64
- if (height === 'auto') {
65
- domCopy.documentElement.setAttribute('height', `${this.getMeasuredHeight()}px`);
113
+ if (!viewBox) {
114
+ domCopy.setAttribute('viewBox', '0 0 100 100');
66
115
  }
116
+ const serialized = this._serializer.serializeToString(domCopy);
67
117
  if (serialized !== initialSVG) {
68
118
  this.src = serialized;
69
119
  }
@@ -89,5 +139,92 @@ export class Svg extends SVGBase {
89
139
  this.__children = this.__children.filter((item) => item !== view);
90
140
  }
91
141
  }
142
+ static fromSrcSync(value) {
143
+ if (typeof value === 'string') {
144
+ if (value.indexOf('<svg') > -1) {
145
+ const { width, height } = parseSVGDimensions(value);
146
+ if (width > 0 && height > 0) {
147
+ const svg = NSCSVG.fromStringSync(value);
148
+ svg.backgroundColor = UIColor.redColor;
149
+ const view = new Svg();
150
+ view._svg = svg;
151
+ view.width = svg.frame.size.width;
152
+ view.height = svg.frame.size.height;
153
+ return view;
154
+ }
155
+ }
156
+ else {
157
+ let nativeSvg;
158
+ try {
159
+ if (value.startsWith('~')) {
160
+ nativeSvg = NSCSVG.fromPathSync(path.join(knownFolders.currentApp().path, value.replace('~', '')));
161
+ }
162
+ else if (value.startsWith('/')) {
163
+ nativeSvg = NSCSVG.fromPathSync(value);
164
+ }
165
+ else if (value.startsWith('http')) {
166
+ nativeSvg = NSCSVG.fromRemoteSync(value);
167
+ }
168
+ }
169
+ catch (error) { }
170
+ if (nativeSvg) {
171
+ const view = new Svg();
172
+ view._svg = nativeSvg;
173
+ const frame = nativeSvg.frame.size;
174
+ view.width = frame.width;
175
+ view.height = frame.height;
176
+ return view;
177
+ }
178
+ }
179
+ }
180
+ return null;
181
+ }
182
+ static fromSrc(value) {
183
+ return new Promise((resolve, reject) => {
184
+ if (typeof value === 'string') {
185
+ if (value.indexOf('<svg') > -1) {
186
+ const { width, height } = parseSVGDimensions(value);
187
+ if (width > 0 && height > 0) {
188
+ NSCSVG.fromString(value, (svg) => {
189
+ const view = new Svg();
190
+ view._svg = svg;
191
+ view.width = width;
192
+ view.height = height;
193
+ resolve(view);
194
+ });
195
+ return;
196
+ }
197
+ }
198
+ else {
199
+ const cb = (nativeSvg) => {
200
+ if (nativeSvg) {
201
+ const view = new Svg();
202
+ const lp = nativeSvg.frame.size;
203
+ view._svg = nativeSvg;
204
+ view.width = lp.width;
205
+ view.height = lp.height;
206
+ resolve(view);
207
+ }
208
+ else {
209
+ reject(new Error('Failed to parse SVG'));
210
+ }
211
+ };
212
+ if (value.startsWith('~')) {
213
+ NSCSVG.fromPath(path.join(knownFolders.currentApp().path, value.replace('~', '')), cb);
214
+ return;
215
+ }
216
+ else if (value.startsWith('/')) {
217
+ NSCSVG.fromPath(value, cb);
218
+ return;
219
+ }
220
+ else if (value.startsWith('http')) {
221
+ NSCSVG.fromRemote(value, cb);
222
+ return;
223
+ }
224
+ }
225
+ }
226
+ reject(new Error('Source is not valid'));
227
+ });
228
+ }
92
229
  }
93
230
  //# sourceMappingURL=index.ios.js.map
package/index.ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/canvas-svg/index.ios.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript/canvas-svg",
3
- "version": "2.0.0-beta.19",
3
+ "version": "2.0.0-beta.21",
4
4
  "description": "Add a plugin description",
5
5
  "main": "index",
6
6
  "typings": "index.d.ts",
@@ -10,18 +10,15 @@
10
10
  <key>DebugSymbolsPath</key>
11
11
  <string>dSYMs</string>
12
12
  <key>LibraryIdentifier</key>
13
- <string>ios-arm64_x86_64-simulator</string>
13
+ <string>ios-arm64</string>
14
14
  <key>LibraryPath</key>
15
15
  <string>CanvasSVG.framework</string>
16
16
  <key>SupportedArchitectures</key>
17
17
  <array>
18
18
  <string>arm64</string>
19
- <string>x86_64</string>
20
19
  </array>
21
20
  <key>SupportedPlatform</key>
22
21
  <string>ios</string>
23
- <key>SupportedPlatformVariant</key>
24
- <string>simulator</string>
25
22
  </dict>
26
23
  <dict>
27
24
  <key>BinaryPath</key>
@@ -29,15 +26,18 @@
29
26
  <key>DebugSymbolsPath</key>
30
27
  <string>dSYMs</string>
31
28
  <key>LibraryIdentifier</key>
32
- <string>ios-arm64</string>
29
+ <string>ios-arm64_x86_64-simulator</string>
33
30
  <key>LibraryPath</key>
34
31
  <string>CanvasSVG.framework</string>
35
32
  <key>SupportedArchitectures</key>
36
33
  <array>
37
34
  <string>arm64</string>
35
+ <string>x86_64</string>
38
36
  </array>
39
37
  <key>SupportedPlatform</key>
40
38
  <string>ios</string>
39
+ <key>SupportedPlatformVariant</key>
40
+ <string>simulator</string>
41
41
  </dict>
42
42
  </array>
43
43
  <key>CFBundlePackageType</key>