@anov/3d-ability 0.0.25 → 0.0.27

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 (50) hide show
  1. package/dist/common/IconStyle.d.ts +17 -0
  2. package/dist/common/IconStyle.js +41 -0
  3. package/dist/common/IconStyle.js.map +1 -0
  4. package/dist/common/ImageStyle.d.ts +15 -0
  5. package/dist/common/ImageStyle.js +37 -0
  6. package/dist/common/ImageStyle.js.map +1 -0
  7. package/dist/common/LabelStyle.d.ts +24 -0
  8. package/dist/common/LabelStyle.js +71 -0
  9. package/dist/common/LabelStyle.js.map +1 -0
  10. package/dist/common/component.d.ts +15 -0
  11. package/dist/common/component.js +70 -0
  12. package/dist/common/component.js.map +1 -0
  13. package/dist/common/constant.d.ts +5 -0
  14. package/dist/common/constant.js +7 -0
  15. package/dist/common/constant.js.map +1 -0
  16. package/dist/index.d.ts +3 -2
  17. package/dist/index.js +3 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/poi/2D/index.d.ts +1 -1
  20. package/dist/poi/2D/index.js +1 -1
  21. package/dist/poi/2D/index.js.map +1 -1
  22. package/dist/poi/3D/index.d.ts +1 -1
  23. package/dist/poi/3D/index.js +1 -1
  24. package/dist/poi/3D/index.js.map +1 -1
  25. package/dist/poi/Base.d.ts +12 -0
  26. package/dist/poi/Base.js +55 -0
  27. package/dist/poi/Base.js.map +1 -0
  28. package/dist/poi/Poi.d.ts +11 -10
  29. package/dist/poi/Poi.js +88 -26
  30. package/dist/poi/Poi.js.map +1 -1
  31. package/dist/poi/Sprite/index.d.ts +1 -1
  32. package/dist/poi/Sprite/index.js +1 -1
  33. package/dist/poi/Sprite/index.js.map +1 -1
  34. package/dist/poi/Sprite/index2.js.map +1 -1
  35. package/dist/poi/index.d.ts +2 -1
  36. package/dist/poi/index.js +2 -1
  37. package/dist/poi/index.js.map +1 -1
  38. package/dist/widget/icon.d.ts +14 -0
  39. package/dist/widget/icon.js +64 -0
  40. package/dist/widget/icon.js.map +1 -0
  41. package/dist/widget/image.d.ts +14 -0
  42. package/dist/widget/image.js +65 -0
  43. package/dist/widget/image.js.map +1 -0
  44. package/dist/widget/label.d.ts +14 -0
  45. package/dist/widget/label.js +70 -0
  46. package/dist/widget/label.js.map +1 -0
  47. package/dist/widget/poi.d.ts +0 -0
  48. package/dist/widget/poi.js +2 -0
  49. package/dist/widget/poi.js.map +1 -0
  50. package/package.json +3 -3
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ICON样式基础类
3
+ */
4
+ declare class IconStyle {
5
+ source: string;
6
+ color: string;
7
+ width: number;
8
+ height: number;
9
+ constructor({ source, color, width, height }?: {
10
+ source?: string | undefined;
11
+ color?: string | undefined;
12
+ width?: number | undefined;
13
+ height?: number | undefined;
14
+ });
15
+ set(key: keyof this, value: any): void;
16
+ }
17
+ export default IconStyle;
@@ -0,0 +1,41 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ /**
9
+ * ICON样式基础类
10
+ */
11
+ var IconStyle = /*#__PURE__*/function () {
12
+ function IconStyle() {
13
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
14
+ _ref$source = _ref.source,
15
+ source = _ref$source === void 0 ? '' : _ref$source,
16
+ _ref$color = _ref.color,
17
+ color = _ref$color === void 0 ? '#ffffff' : _ref$color,
18
+ _ref$width = _ref.width,
19
+ width = _ref$width === void 0 ? 200 : _ref$width,
20
+ _ref$height = _ref.height,
21
+ height = _ref$height === void 0 ? 100 : _ref$height;
22
+ _classCallCheck(this, IconStyle);
23
+ _defineProperty(this, "source", void 0);
24
+ _defineProperty(this, "color", void 0);
25
+ _defineProperty(this, "width", void 0);
26
+ _defineProperty(this, "height", void 0);
27
+ this.source = source;
28
+ this.color = color;
29
+ this.width = width;
30
+ this.height = height;
31
+ }
32
+ _createClass(IconStyle, [{
33
+ key: "set",
34
+ value: function set(key, value) {
35
+ if (key in this) this[key] = value;else console.warn("Property ".concat(String(key), " does not exist on ImageProperty"));
36
+ }
37
+ }]);
38
+ return IconStyle;
39
+ }();
40
+ export default IconStyle;
41
+ //# sourceMappingURL=IconStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IconStyle","source","color","width","height","key","value","console","warn","String"],"sources":["../../src/common/IconStyle.ts"],"sourcesContent":["/**\n * ICON样式基础类\n */\n\nclass IconStyle {\n source: string\n color: string\n width: number\n height: number\n\n constructor({ source = '', color = '#ffffff', width = 200, height = 100 } = {}) {\n this.source = source\n this.color = color\n this.width = width\n this.height = height\n }\n\n set(key: keyof this, value: any) {\n if (key in this)\n this[key] = value\n else\n console.warn(`Property ${String(key)} does not exist on ImageProperty`)\n }\n}\n\nexport default IconStyle\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAIMA,SAAS;EAMb,qBAAgF;IAAA,+EAAJ,CAAC,CAAC;MAAA,mBAAhEC,MAAM;MAANA,MAAM,4BAAG,EAAE;MAAA,kBAAEC,KAAK;MAALA,KAAK,2BAAG,SAAS;MAAA,kBAAEC,KAAK;MAALA,KAAK,2BAAG,GAAG;MAAA,mBAAEC,MAAM;MAANA,MAAM,4BAAG,GAAG;IAAA;IAAA;IAAA;IAAA;IAAA;IACrE,IAAI,CAACH,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAAC;IAAA;IAAA,OAED,aAAIC,GAAe,EAAEC,KAAU,EAAE;MAC/B,IAAID,GAAG,IAAI,IAAI,EACb,IAAI,CAACA,GAAG,CAAC,GAAGC,KAAK,MAEjBC,OAAO,CAACC,IAAI,oBAAaC,MAAM,CAACJ,GAAG,CAAC,sCAAmC;IAC3E;EAAC;EAAA;AAAA;AAGH,eAAeL,SAAS"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 图片样式基础类
3
+ */
4
+ declare class ImageStyle {
5
+ source: string;
6
+ width: number;
7
+ height: number;
8
+ constructor({ source, width, height }?: {
9
+ source?: string | undefined;
10
+ width?: number | undefined;
11
+ height?: number | undefined;
12
+ });
13
+ set(key: keyof this, value: any): void;
14
+ }
15
+ export default ImageStyle;
@@ -0,0 +1,37 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ /**
9
+ * 图片样式基础类
10
+ */
11
+ var ImageStyle = /*#__PURE__*/function () {
12
+ function ImageStyle() {
13
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
14
+ _ref$source = _ref.source,
15
+ source = _ref$source === void 0 ? '' : _ref$source,
16
+ _ref$width = _ref.width,
17
+ width = _ref$width === void 0 ? 200 : _ref$width,
18
+ _ref$height = _ref.height,
19
+ height = _ref$height === void 0 ? 100 : _ref$height;
20
+ _classCallCheck(this, ImageStyle);
21
+ _defineProperty(this, "source", void 0);
22
+ _defineProperty(this, "width", void 0);
23
+ _defineProperty(this, "height", void 0);
24
+ this.source = source;
25
+ this.width = width;
26
+ this.height = height;
27
+ }
28
+ _createClass(ImageStyle, [{
29
+ key: "set",
30
+ value: function set(key, value) {
31
+ if (key in this) this[key] = value;else console.warn("Property ".concat(String(key), " does not exist on ImageProperty"));
32
+ }
33
+ }]);
34
+ return ImageStyle;
35
+ }();
36
+ export default ImageStyle;
37
+ //# sourceMappingURL=ImageStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ImageStyle","source","width","height","key","value","console","warn","String"],"sources":["../../src/common/ImageStyle.ts"],"sourcesContent":["/**\n * 图片样式基础类\n */\n\nclass ImageStyle {\n source: string\n width: number\n height: number\n\n constructor({ source = '', width = 200, height = 100 } = {}) {\n this.source = source\n this.width = width\n this.height = height\n }\n\n set(key: keyof this, value: any) {\n if (key in this)\n this[key] = value\n else\n console.warn(`Property ${String(key)} does not exist on ImageProperty`)\n }\n}\n\nexport default ImageStyle\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAIMA,UAAU;EAKd,sBAA6D;IAAA,+EAAJ,CAAC,CAAC;MAAA,mBAA7CC,MAAM;MAANA,MAAM,4BAAG,EAAE;MAAA,kBAAEC,KAAK;MAALA,KAAK,2BAAG,GAAG;MAAA,mBAAEC,MAAM;MAANA,MAAM,4BAAG,GAAG;IAAA;IAAA;IAAA;IAAA;IAClD,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAAC;IAAA;IAAA,OAED,aAAIC,GAAe,EAAEC,KAAU,EAAE;MAC/B,IAAID,GAAG,IAAI,IAAI,EACb,IAAI,CAACA,GAAG,CAAC,GAAGC,KAAK,MAEjBC,OAAO,CAACC,IAAI,oBAAaC,MAAM,CAACJ,GAAG,CAAC,sCAAmC;IAC3E;EAAC;EAAA;AAAA;AAGH,eAAeJ,UAAU"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 文字样式基础类
3
+ */
4
+ declare class LabelStyle {
5
+ text: string;
6
+ fontSize: number;
7
+ fontColor: string;
8
+ fontWeight: string | number;
9
+ fontFamily: string;
10
+ constructor({ text, fontSize, fontColor, fontWeight, fontFamily }?: {
11
+ text?: string | undefined;
12
+ fontSize?: number | undefined;
13
+ fontColor?: string | undefined;
14
+ fontWeight?: string | undefined;
15
+ fontFamily?: string | undefined;
16
+ });
17
+ setText(text: string): void;
18
+ setFontSize(size: number): void;
19
+ setFontColor(color: string): void;
20
+ setFontWeight(weight: string | number): void;
21
+ setFontFamily(family: string): void;
22
+ set(key: keyof this, value: any): void;
23
+ }
24
+ export default LabelStyle;
@@ -0,0 +1,71 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ /**
9
+ * 文字样式基础类
10
+ */
11
+ var LabelStyle = /*#__PURE__*/function () {
12
+ function LabelStyle() {
13
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
14
+ _ref$text = _ref.text,
15
+ text = _ref$text === void 0 ? '' : _ref$text,
16
+ _ref$fontSize = _ref.fontSize,
17
+ fontSize = _ref$fontSize === void 0 ? 16 : _ref$fontSize,
18
+ _ref$fontColor = _ref.fontColor,
19
+ fontColor = _ref$fontColor === void 0 ? '#ffffff' : _ref$fontColor,
20
+ _ref$fontWeight = _ref.fontWeight,
21
+ fontWeight = _ref$fontWeight === void 0 ? 'normal' : _ref$fontWeight,
22
+ _ref$fontFamily = _ref.fontFamily,
23
+ fontFamily = _ref$fontFamily === void 0 ? '' : _ref$fontFamily;
24
+ _classCallCheck(this, LabelStyle);
25
+ _defineProperty(this, "text", void 0);
26
+ _defineProperty(this, "fontSize", void 0);
27
+ _defineProperty(this, "fontColor", void 0);
28
+ _defineProperty(this, "fontWeight", void 0);
29
+ _defineProperty(this, "fontFamily", void 0);
30
+ this.text = text;
31
+ this.fontSize = fontSize;
32
+ this.fontColor = fontColor;
33
+ this.fontWeight = fontWeight;
34
+ this.fontFamily = fontFamily;
35
+ }
36
+ _createClass(LabelStyle, [{
37
+ key: "setText",
38
+ value: function setText(text) {
39
+ this.text = text;
40
+ }
41
+ }, {
42
+ key: "setFontSize",
43
+ value: function setFontSize(size) {
44
+ this.fontSize = size;
45
+ }
46
+ }, {
47
+ key: "setFontColor",
48
+ value: function setFontColor(color) {
49
+ this.fontColor = color;
50
+ }
51
+ }, {
52
+ key: "setFontWeight",
53
+ value: function setFontWeight(weight) {
54
+ this.fontWeight = weight;
55
+ }
56
+ }, {
57
+ key: "setFontFamily",
58
+ value: function setFontFamily(family) {
59
+ this.fontFamily = family;
60
+ }
61
+ }, {
62
+ key: "set",
63
+ value: function set(key, value) {
64
+ // eslint-disable-next-line no-prototype-builtins
65
+ if (this.hasOwnProperty(key)) this[key] = value;else console.warn("Property ".concat(String(key), " does not exist on Text"));
66
+ }
67
+ }]);
68
+ return LabelStyle;
69
+ }();
70
+ export default LabelStyle;
71
+ //# sourceMappingURL=LabelStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LabelStyle","text","fontSize","fontColor","fontWeight","fontFamily","size","color","weight","family","key","value","hasOwnProperty","console","warn","String"],"sources":["../../src/common/LabelStyle.ts"],"sourcesContent":["/**\n * 文字样式基础类\n */\n\nclass LabelStyle {\n text: string\n fontSize: number\n fontColor: string\n fontWeight: string | number\n fontFamily: string\n\n constructor({ text = '', fontSize = 16, fontColor = '#ffffff', fontWeight = 'normal', fontFamily = '' } = {}) {\n this.text = text\n this.fontSize = fontSize\n this.fontColor = fontColor\n this.fontWeight = fontWeight\n this.fontFamily = fontFamily\n }\n\n setText(text: string) {\n this.text = text\n }\n\n setFontSize(size: number) {\n this.fontSize = size\n }\n\n setFontColor(color: string) {\n this.fontColor = color\n }\n\n setFontWeight(weight: string | number) {\n this.fontWeight = weight\n }\n\n setFontFamily(family: string) {\n this.fontFamily = family\n }\n\n set(key: keyof this, value: any) {\n // eslint-disable-next-line no-prototype-builtins\n if (this.hasOwnProperty(key))\n this[key] = value\n else\n console.warn(`Property ${String(key)} does not exist on Text`)\n }\n}\n\nexport default LabelStyle\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAIMA,UAAU;EAOd,sBAA8G;IAAA,+EAAJ,CAAC,CAAC;MAAA,iBAA9FC,IAAI;MAAJA,IAAI,0BAAG,EAAE;MAAA,qBAAEC,QAAQ;MAARA,QAAQ,8BAAG,EAAE;MAAA,sBAAEC,SAAS;MAATA,SAAS,+BAAG,SAAS;MAAA,uBAAEC,UAAU;MAAVA,UAAU,gCAAG,QAAQ;MAAA,uBAAEC,UAAU;MAAVA,UAAU,gCAAG,EAAE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IACnG,IAAI,CAACJ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAAC;IAAA;IAAA,OAED,iBAAQJ,IAAY,EAAE;MACpB,IAAI,CAACA,IAAI,GAAGA,IAAI;IAClB;EAAC;IAAA;IAAA,OAED,qBAAYK,IAAY,EAAE;MACxB,IAAI,CAACJ,QAAQ,GAAGI,IAAI;IACtB;EAAC;IAAA;IAAA,OAED,sBAAaC,KAAa,EAAE;MAC1B,IAAI,CAACJ,SAAS,GAAGI,KAAK;IACxB;EAAC;IAAA;IAAA,OAED,uBAAcC,MAAuB,EAAE;MACrC,IAAI,CAACJ,UAAU,GAAGI,MAAM;IAC1B;EAAC;IAAA;IAAA,OAED,uBAAcC,MAAc,EAAE;MAC5B,IAAI,CAACJ,UAAU,GAAGI,MAAM;IAC1B;EAAC;IAAA;IAAA,OAED,aAAIC,GAAe,EAAEC,KAAU,EAAE;MAC/B;MACA,IAAI,IAAI,CAACC,cAAc,CAACF,GAAG,CAAC,EAC1B,IAAI,CAACA,GAAG,CAAC,GAAGC,KAAK,MAEjBE,OAAO,CAACC,IAAI,oBAAaC,MAAM,CAACL,GAAG,CAAC,6BAA0B;IAClE;EAAC;EAAA;AAAA;AAGH,eAAeV,UAAU"}
@@ -0,0 +1,15 @@
1
+ import { Object3D } from '@anov/3d-core';
2
+ declare class Component extends Object3D {
3
+ id: number;
4
+ name: string;
5
+ children: [];
6
+ isComponent: boolean;
7
+ constructor();
8
+ onUpdate(): void;
9
+ onDestroy(): void;
10
+ create(): void;
11
+ delete(): void;
12
+ update(): void;
13
+ get(): void;
14
+ }
15
+ export default Component;
@@ -0,0 +1,70 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
10
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ import { Object3D } from '@anov/3d-core';
16
+ var Component = /*#__PURE__*/function (_Object3D) {
17
+ _inherits(Component, _Object3D);
18
+ var _super = _createSuper(Component);
19
+ function Component() {
20
+ var _this;
21
+ _classCallCheck(this, Component);
22
+ _this = _super.call(this);
23
+ _defineProperty(_assertThisInitialized(_this), "id", void 0);
24
+ _defineProperty(_assertThisInitialized(_this), "name", void 0);
25
+ _defineProperty(_assertThisInitialized(_this), "children", void 0);
26
+ _defineProperty(_assertThisInitialized(_this), "isComponent", void 0);
27
+ _this.isComponent = true;
28
+ return _this;
29
+ }
30
+
31
+ // 生命周期
32
+ // // 在对象渲染之前直接执行
33
+ // onBeforeRender() {}
34
+ // // 在对象渲染之后直接执行
35
+ // onAfterRender() {}
36
+ // 每帧调用进入
37
+ _createClass(Component, [{
38
+ key: "onUpdate",
39
+ value: function onUpdate() {}
40
+ // 销毁
41
+ }, {
42
+ key: "onDestroy",
43
+ value: function onDestroy() {}
44
+
45
+ // 新增
46
+ }, {
47
+ key: "create",
48
+ value: function create() {}
49
+ // 删除
50
+ }, {
51
+ key: "delete",
52
+ value: function _delete() {
53
+ var _this$parent;
54
+ this.onDestroy();
55
+ (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.remove(this);
56
+ }
57
+
58
+ // 修改
59
+ }, {
60
+ key: "update",
61
+ value: function update() {}
62
+ // 获取
63
+ }, {
64
+ key: "get",
65
+ value: function get() {}
66
+ }]);
67
+ return Component;
68
+ }(Object3D);
69
+ export default Component;
70
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object3D","Component","isComponent","onDestroy","parent","remove"],"sources":["../../src/common/component.ts"],"sourcesContent":["import { Object3D } from '@anov/3d-core'\n\nclass Component extends Object3D {\n id!: number\n name!: string\n children!: []\n isComponent: boolean\n\n constructor() {\n super()\n this.isComponent = true\n }\n\n // 生命周期\n // // 在对象渲染之前直接执行\n // onBeforeRender() {}\n // // 在对象渲染之后直接执行\n // onAfterRender() {}\n // 每帧调用进入\n onUpdate() {}\n // 销毁\n onDestroy() {}\n\n // 新增\n create() { }\n // 删除\n delete() {\n this.onDestroy()\n this.parent?.remove(this)\n }\n\n // 修改\n update() { }\n // 获取\n get() { }\n}\n\nexport default Component"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,QAAQ,QAAQ,eAAe;AAAA,IAElCC,SAAS;EAAA;EAAA;EAMb,qBAAc;IAAA;IAAA;IACZ;IAAO;IAAA;IAAA;IAAA;IACP,MAAKC,WAAW,GAAG,IAAI;IAAA;EACzB;;EAEA;EACA;EACA;EACA;EACA;EACA;EAAA;IAAA;IAAA,OACA,oBAAW,CAAC;IACZ;EAAA;IAAA;IAAA,OACA,qBAAY,CAAC;;IAEb;EAAA;IAAA;IAAA,OACA,kBAAS,CAAE;IACX;EAAA;IAAA;IAAA,OACA,mBAAS;MAAA;MACP,IAAI,CAACC,SAAS,EAAE;MAChB,oBAAI,CAACC,MAAM,iDAAX,aAAaC,MAAM,CAAC,IAAI,CAAC;IAC3B;;IAEA;EAAA;IAAA;IAAA,OACA,kBAAS,CAAE;IACX;EAAA;IAAA;IAAA,OACA,eAAM,CAAE;EAAC;EAAA;AAAA,EAhCaL,QAAQ;AAmChC,eAAeC,SAAS"}
@@ -0,0 +1,5 @@
1
+ export declare enum RenderType {
2
+ Sprite = "Sprite",
3
+ Plane = "Plane",
4
+ Fixed = "Fixed"
5
+ }
@@ -0,0 +1,7 @@
1
+ export var RenderType; // 2D绘制,不支持缩放,始终面向镜头
2
+ (function (RenderType) {
3
+ RenderType["Sprite"] = "Sprite";
4
+ RenderType["Plane"] = "Plane";
5
+ RenderType["Fixed"] = "Fixed";
6
+ })(RenderType || (RenderType = {}));
7
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RenderType"],"sources":["../../src/common/constant.ts"],"sourcesContent":["export enum RenderType {\n Sprite = 'Sprite', // 2D精灵图,始终面向镜头,跟随场景缩放\n Plane = 'Plane', // 3D绘制,跟随场景旋转、缩放\n Fixed = 'Fixed', // 2D绘制,不支持缩放,始终面向镜头\n}\n"],"mappings":"AAAA,WAAYA,UAAU,EAGH;AAClB,WAJWA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ import createVolumetricCloud from './environment/volumetricCloud/inex';
11
11
  import createSkyCloud from './environment/shaderCloud/index';
12
12
  import Snow from './environment/showShader';
13
13
  import Rain from './environment/rainShader';
14
- import { Css2DPoi, Css3DPoi, EAnimationType, SpritePoi } from './poi';
14
+ import { Css2DPoi, Css3DPoi, EAnimationType, Poi, SpritePoi } from './poi';
15
15
  import HeatMap from './heatmap/index';
16
16
  import SkyBox from './environment/skyBox';
17
17
  import Camera from './camera/index';
@@ -26,7 +26,8 @@ import FakeGlowMaterial from './material/fakeGlowMaterial';
26
26
  import Sky from './environment/skyv2';
27
27
  import Weather from './weather';
28
28
  import { FirstViewControl } from './controls/index';
29
+ import { RenderType } from './common/constant';
29
30
  export * from './scene';
30
31
  export { SceneControl, // todo remove
31
- createRain, createSnow, createSun, createSkySystem, createVolumetricCloud, createSkyCloud, Snow, Rain, SkyBox, Fog2DMesh, Sky, Weather, Css2DPoi, Css3DPoi, SpritePoi, EAnimationType, HeatMap, FakeGlowMaterial, GridMaterial, initPostEffects, // effect
32
+ createRain, createSnow, createSun, createSkySystem, createVolumetricCloud, createSkyCloud, Snow, Rain, SkyBox, Fog2DMesh, Sky, Weather, Css2DPoi, Css3DPoi, SpritePoi, Poi, EAnimationType, RenderType, HeatMap, FakeGlowMaterial, GridMaterial, initPostEffects, // effect
32
33
  createHighSelectedTool, addColorifyPass, addBloom, addBrightnessContrastPass, addMappingExposurePass, createBloomSelectedTool, ViewHelper, Camera, RoundLineGeometry, createRoundLineWallMesh, FirstViewControl, };
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import createVolumetricCloud from "./environment/volumetricCloud/inex";
11
11
  import createSkyCloud from "./environment/shaderCloud/index";
12
12
  import Snow from "./environment/showShader";
13
13
  import Rain from "./environment/rainShader";
14
- import { Css2DPoi, Css3DPoi, EAnimationType, SpritePoi } from "./poi";
14
+ import { Css2DPoi, Css3DPoi, EAnimationType, Poi, SpritePoi } from "./poi";
15
15
  import HeatMap from "./heatmap/index";
16
16
  import SkyBox from "./environment/skyBox";
17
17
  import Camera from "./camera/index";
@@ -26,10 +26,11 @@ import FakeGlowMaterial from "./material/fakeGlowMaterial";
26
26
  import Sky from "./environment/skyv2";
27
27
  import Weather from "./weather";
28
28
  import { FirstViewControl } from "./controls/index";
29
+ import { RenderType } from "./common/constant";
29
30
  export * from "./scene";
30
31
  export { SceneControl,
31
32
  // todo remove
32
- createRain, createSnow, createSun, createSkySystem, createVolumetricCloud, createSkyCloud, Snow, Rain, SkyBox, Fog2DMesh, Sky, Weather, Css2DPoi, Css3DPoi, SpritePoi, EAnimationType, HeatMap, FakeGlowMaterial, GridMaterial, initPostEffects,
33
+ createRain, createSnow, createSun, createSkySystem, createVolumetricCloud, createSkyCloud, Snow, Rain, SkyBox, Fog2DMesh, Sky, Weather, Css2DPoi, Css3DPoi, SpritePoi, Poi, EAnimationType, RenderType, HeatMap, FakeGlowMaterial, GridMaterial, initPostEffects,
33
34
  // effect
34
35
  createHighSelectedTool, addColorifyPass, addBloom, addBrightnessContrastPass, addMappingExposurePass, createBloomSelectedTool, ViewHelper, Camera, RoundLineGeometry, createRoundLineWallMesh, FirstViewControl };
35
36
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["SceneControl","createSnow","createRain","initPostEffects","createHighSelectedTool","createSun","GridMaterial","ViewHelper","createSkySystem","createVolumetricCloud","createSkyCloud","Snow","Rain","Css2DPoi","Css3DPoi","EAnimationType","SpritePoi","HeatMap","SkyBox","Camera","RoundLineGeometry","createRoundLineWallMesh","Fog2DMesh","addColorifyPass","addBloom","addBrightnessContrastPass","addMappingExposurePass","createBloomSelectedTool","FakeGlowMaterial","Sky","Weather","FirstViewControl"],"sources":["../src/index.ts"],"sourcesContent":["import { SceneControl } from '@anov/3d-core'\nimport { createSnow } from './environment/snow'\nimport { createRain } from './environment/rain'\nimport { initPostEffects } from './postEffects'\nimport createHighSelectedTool from './postEffects/outlinePass'\nimport { createSun } from './environment/sun'\nimport GridMaterial from './material/pristineGridMaterial'\nimport ViewHelper from './helper/view'\nimport createSkySystem from './environment/sky'\nimport createVolumetricCloud from './environment/volumetricCloud/inex'\nimport createSkyCloud from './environment/shaderCloud/index'\nimport Snow from './environment/showShader'\nimport Rain from './environment/rainShader'\nimport { Css2DPoi, Css3DPoi, EAnimationType, SpritePoi } from './poi'\nimport HeatMap from './heatmap/index'\nimport SkyBox from './environment/skyBox'\nimport Camera from './camera/index'\nimport { RoundLineGeometry, createRoundLineWallMesh } from './line/round-curve'\nimport Fog2DMesh from './weather/objects/Fog2DMesh'\nimport addColorifyPass from './postEffects/colorifyPass'\nimport addBloom from './postEffects/bloomPass'\nimport addBrightnessContrastPass from './postEffects/addBrightnessContrastPass'\nimport addMappingExposurePass from './postEffects/addACESFilmicToneMappingPass'\nimport createBloomSelectedTool from './postEffects/bloomSelect'\nimport FakeGlowMaterial from './material/fakeGlowMaterial'\nimport Sky from './environment/skyv2'\nimport Weather from './weather'\nimport { FirstViewControl } from './controls/index'\n\nexport * from './scene'\n\nexport {\n SceneControl, // todo remove\n createRain,\n createSnow,\n createSun,\n createSkySystem,\n createVolumetricCloud,\n createSkyCloud,\n Snow,\n Rain,\n SkyBox,\n Fog2DMesh,\n Sky,\n Weather,\n\n Css2DPoi,\n Css3DPoi,\n SpritePoi,\n EAnimationType,\n\n HeatMap,\n\n FakeGlowMaterial,\n GridMaterial,\n\n initPostEffects, // effect\n createHighSelectedTool,\n addColorifyPass,\n addBloom,\n addBrightnessContrastPass,\n addMappingExposurePass,\n createBloomSelectedTool,\n\n ViewHelper,\n Camera,\n\n RoundLineGeometry,\n createRoundLineWallMesh,\n\n FirstViewControl,\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SAASC,UAAU;AACnB,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,OAAOC,sBAAsB;AAC7B,SAASC,SAAS;AAClB,OAAOC,YAAY;AACnB,OAAOC,UAAU;AACjB,OAAOC,eAAe;AACtB,OAAOC,qBAAqB;AAC5B,OAAOC,cAAc;AACrB,OAAOC,IAAI;AACX,OAAOC,IAAI;AACX,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,SAAS;AACtD,OAAOC,OAAO;AACd,OAAOC,MAAM;AACb,OAAOC,MAAM;AACb,SAASC,iBAAiB,EAAEC,uBAAuB;AACnD,OAAOC,SAAS;AAChB,OAAOC,eAAe;AACtB,OAAOC,QAAQ;AACf,OAAOC,yBAAyB;AAChC,OAAOC,sBAAsB;AAC7B,OAAOC,uBAAuB;AAC9B,OAAOC,gBAAgB;AACvB,OAAOC,GAAG;AACV,OAAOC,OAAO;AACd,SAASC,gBAAgB;AAEzB;AAEA,SACE/B,YAAY;AAAE;AACdE,UAAU,EACVD,UAAU,EACVI,SAAS,EACTG,eAAe,EACfC,qBAAqB,EACrBC,cAAc,EACdC,IAAI,EACJC,IAAI,EACJM,MAAM,EACNI,SAAS,EACTO,GAAG,EACHC,OAAO,EAEPjB,QAAQ,EACRC,QAAQ,EACRE,SAAS,EACTD,cAAc,EAEdE,OAAO,EAEPW,gBAAgB,EAChBtB,YAAY,EAEZH,eAAe;AAAE;AACjBC,sBAAsB,EACtBmB,eAAe,EACfC,QAAQ,EACRC,yBAAyB,EACzBC,sBAAsB,EACtBC,uBAAuB,EAEvBpB,UAAU,EACVY,MAAM,EAENC,iBAAiB,EACjBC,uBAAuB,EAEvBU,gBAAgB"}
1
+ {"version":3,"names":["SceneControl","createSnow","createRain","initPostEffects","createHighSelectedTool","createSun","GridMaterial","ViewHelper","createSkySystem","createVolumetricCloud","createSkyCloud","Snow","Rain","Css2DPoi","Css3DPoi","EAnimationType","Poi","SpritePoi","HeatMap","SkyBox","Camera","RoundLineGeometry","createRoundLineWallMesh","Fog2DMesh","addColorifyPass","addBloom","addBrightnessContrastPass","addMappingExposurePass","createBloomSelectedTool","FakeGlowMaterial","Sky","Weather","FirstViewControl","RenderType"],"sources":["../src/index.ts"],"sourcesContent":["import { SceneControl } from '@anov/3d-core'\nimport { createSnow } from './environment/snow'\nimport { createRain } from './environment/rain'\nimport { initPostEffects } from './postEffects'\nimport createHighSelectedTool from './postEffects/outlinePass'\nimport { createSun } from './environment/sun'\nimport GridMaterial from './material/pristineGridMaterial'\nimport ViewHelper from './helper/view'\nimport createSkySystem from './environment/sky'\nimport createVolumetricCloud from './environment/volumetricCloud/inex'\nimport createSkyCloud from './environment/shaderCloud/index'\nimport Snow from './environment/showShader'\nimport Rain from './environment/rainShader'\nimport { Css2DPoi, Css3DPoi, EAnimationType, Poi, SpritePoi } from './poi'\nimport HeatMap from './heatmap/index'\nimport SkyBox from './environment/skyBox'\nimport Camera from './camera/index'\nimport { RoundLineGeometry, createRoundLineWallMesh } from './line/round-curve'\nimport Fog2DMesh from './weather/objects/Fog2DMesh'\nimport addColorifyPass from './postEffects/colorifyPass'\nimport addBloom from './postEffects/bloomPass'\nimport addBrightnessContrastPass from './postEffects/addBrightnessContrastPass'\nimport addMappingExposurePass from './postEffects/addACESFilmicToneMappingPass'\nimport createBloomSelectedTool from './postEffects/bloomSelect'\nimport FakeGlowMaterial from './material/fakeGlowMaterial'\nimport Sky from './environment/skyv2'\nimport Weather from './weather'\nimport { FirstViewControl } from './controls/index'\nimport { RenderType } from './common/constant'\n\nexport * from './scene'\n\nexport {\n SceneControl, // todo remove\n createRain,\n createSnow,\n createSun,\n createSkySystem,\n createVolumetricCloud,\n createSkyCloud,\n Snow,\n Rain,\n SkyBox,\n Fog2DMesh,\n Sky,\n Weather,\n\n Css2DPoi,\n Css3DPoi,\n SpritePoi,\n Poi,\n EAnimationType,\n RenderType,\n\n HeatMap,\n\n FakeGlowMaterial,\n GridMaterial,\n\n initPostEffects, // effect\n createHighSelectedTool,\n addColorifyPass,\n addBloom,\n addBrightnessContrastPass,\n addMappingExposurePass,\n createBloomSelectedTool,\n\n ViewHelper,\n Camera,\n\n RoundLineGeometry,\n createRoundLineWallMesh,\n\n FirstViewControl,\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SAASC,UAAU;AACnB,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,OAAOC,sBAAsB;AAC7B,SAASC,SAAS;AAClB,OAAOC,YAAY;AACnB,OAAOC,UAAU;AACjB,OAAOC,eAAe;AACtB,OAAOC,qBAAqB;AAC5B,OAAOC,cAAc;AACrB,OAAOC,IAAI;AACX,OAAOC,IAAI;AACX,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,GAAG,EAAEC,SAAS;AAC3D,OAAOC,OAAO;AACd,OAAOC,MAAM;AACb,OAAOC,MAAM;AACb,SAASC,iBAAiB,EAAEC,uBAAuB;AACnD,OAAOC,SAAS;AAChB,OAAOC,eAAe;AACtB,OAAOC,QAAQ;AACf,OAAOC,yBAAyB;AAChC,OAAOC,sBAAsB;AAC7B,OAAOC,uBAAuB;AAC9B,OAAOC,gBAAgB;AACvB,OAAOC,GAAG;AACV,OAAOC,OAAO;AACd,SAASC,gBAAgB;AACzB,SAASC,UAAU;AAEnB;AAEA,SACEjC,YAAY;AAAE;AACdE,UAAU,EACVD,UAAU,EACVI,SAAS,EACTG,eAAe,EACfC,qBAAqB,EACrBC,cAAc,EACdC,IAAI,EACJC,IAAI,EACJO,MAAM,EACNI,SAAS,EACTO,GAAG,EACHC,OAAO,EAEPlB,QAAQ,EACRC,QAAQ,EACRG,SAAS,EACTD,GAAG,EACHD,cAAc,EACdkB,UAAU,EAEVf,OAAO,EAEPW,gBAAgB,EAChBvB,YAAY,EAEZH,eAAe;AAAE;AACjBC,sBAAsB,EACtBoB,eAAe,EACfC,QAAQ,EACRC,yBAAyB,EACzBC,sBAAsB,EACtBC,uBAAuB,EAEvBrB,UAAU,EACVa,MAAM,EAENC,iBAAiB,EACjBC,uBAAuB,EAEvBU,gBAAgB"}
@@ -1,6 +1,6 @@
1
1
  import { Vector2 } from '@anov/3d-core';
2
2
  import type { IOption } from '../utils/type';
3
- import Poi from '../Poi';
3
+ import Poi from '../Base';
4
4
  declare class Css2DPoi extends Poi {
5
5
  element: HTMLElement;
6
6
  isCSS2DObject: boolean;
@@ -21,7 +21,7 @@ import { Vector2 } from '@anov/3d-core';
21
21
  import gsap from 'gsap';
22
22
  import { EAnimationType, EventType } from "../utils/type";
23
23
  import { createContentElement, createTitleElement } from "../utils/element";
24
- import Poi from "../Poi";
24
+ import Poi from "../Base";
25
25
  var _default = {
26
26
  animation: {
27
27
  type: EAnimationType.fadeIn,
@@ -1 +1 @@
1
- {"version":3,"names":["Vector2","gsap","EAnimationType","EventType","createContentElement","createTitleElement","Poi","_default","animation","type","fadeIn","duration","Css2DPoi","data","option","element","getElement","Error","style","position","userSelect","setAttribute","isCSS2DObject","center","setAnimation","play","addEventListener","traverse","object","Element","parentNode","removeChild","HTMLElement","title","content","forEach","name","event","_listeners","cb","item","opacity","grow","scale","print","contentElement","querySelector","innerHTML","hasExecuted","onAfterRender","fromTo","repeat","ease","text","index","charAt","to","onComplete","length","source","recursive","cloneNode"],"sources":["../../../src/poi/2D/index.ts"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport { Vector2 } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType, EventType } from '../utils/type'\nimport type { IEventType, IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../Poi'\n\nconst _default = {\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n },\n}\n\nclass Css2DPoi extends Poi {\n element!: HTMLElement\n isCSS2DObject!: boolean\n center!: Vector2\n\n constructor(data: any, option: IOption = {}) {\n super(data, option)\n\n this.option = { ..._default, ...option }\n\n // 创建容器\n this.element = this.getElement()\n\n if (!this.element)\n throw new Error('Cannot generate HTMLElement element')\n\n // 保留Css2D 初始设置\n this.element.style.position = 'absolute'\n this.element.style.userSelect = 'none'\n this.element.setAttribute('draggable', 'false')\n\n this.isCSS2DObject = true\n this.center = new Vector2(0.5, 0.5) // ( 0, 0 ) is the lower left; ( 1, 1 ) is the top right\n\n this.option.animation && this.setAnimation(this.option.animation)\n // 执行动画\n this.play()\n\n // 保留Css2D 事件监听\n this.addEventListener('removed', () => {\n this.traverse((object) => {\n // @ts-ignore\n if (object.element instanceof Element && object.element.parentNode !== null)\n // @ts-ignore\n object.element.parentNode.removeChild(object.element)\n })\n })\n }\n\n // 创建2D容器\n getElement() {\n let element!: HTMLElement\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n element = this.data\n }\n else {\n if (typeof this.data === 'string') {\n element = createTitleElement(this.data, this.option)\n }\n else if (typeof this.data === 'object') {\n const { title, content } = this.data\n if (title && content)\n element = createContentElement(this.data, this.option)\n else if (title)\n element = createTitleElement(title, this.option)\n }\n }\n\n EventType.forEach((type: IEventType) => {\n element && element.addEventListener(type.name, (event) => {\n // @ts-ignore\n (this._listeners[type.name] || []).forEach((cb: Function) => {\n cb(event)\n })\n })\n })\n return element\n }\n\n // 播放动画\n play() {\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n this.element.style.opacity = '0'\n break\n case EAnimationType.grow:\n this.element.style.scale = '.2'\n break\n case EAnimationType.print:\n const contentElement = this.element.querySelector('[tag=\"content\"]')\n if (contentElement)\n contentElement.innerHTML = ''\n else\n this.element.innerHTML = ''\n break\n }\n })\n\n let hasExecuted = false\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.fromTo(this.element, { opacity: 0 }, {\n opacity: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n gsap.fromTo(this.element, { scale: 0.2 }, {\n scale: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n case EAnimationType.print:\n\n let element = this.element.querySelector('[tag=\"content\"]') as HTMLElement\n let text: string\n if (element) {\n text = this.data.content\n }\n else {\n element = this.element\n text = this.data.title || this.data\n }\n\n let index = 0\n const print = () => {\n // 添加当前字符到文本元素\n element.innerHTML += text.charAt(index)\n index++\n // 使用GSAP创建动画\n gsap.to(element, {\n duration: item.duration, // 每个字符的持续时间\n ease: 'power1.inOut', // 缓动函数\n onComplete: () => index < text.length ? print() : null, // 如果还有字符,则继续打印,否则完成动画\n })\n }\n print()\n break\n }\n })\n hasExecuted = true\n }\n }\n\n copy(source: any, recursive: boolean) {\n super.copy(source, recursive)\n\n this.element = source.element.cloneNode(true)\n\n this.center = source.center\n\n return this\n }\n}\n\nexport default Css2DPoi"],"mappings":"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"}
1
+ {"version":3,"names":["Vector2","gsap","EAnimationType","EventType","createContentElement","createTitleElement","Poi","_default","animation","type","fadeIn","duration","Css2DPoi","data","option","element","getElement","Error","style","position","userSelect","setAttribute","isCSS2DObject","center","setAnimation","play","addEventListener","traverse","object","Element","parentNode","removeChild","HTMLElement","title","content","forEach","name","event","_listeners","cb","item","opacity","grow","scale","print","contentElement","querySelector","innerHTML","hasExecuted","onAfterRender","fromTo","repeat","ease","text","index","charAt","to","onComplete","length","source","recursive","cloneNode"],"sources":["../../../src/poi/2D/index.ts"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport { Vector2 } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType, EventType } from '../utils/type'\nimport type { IEventType, IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../Base'\n\nconst _default = {\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n },\n}\n\nclass Css2DPoi extends Poi {\n element!: HTMLElement\n isCSS2DObject!: boolean\n center!: Vector2\n\n constructor(data: any, option: IOption = {}) {\n super(data, option)\n\n this.option = { ..._default, ...option }\n\n // 创建容器\n this.element = this.getElement()\n\n if (!this.element)\n throw new Error('Cannot generate HTMLElement element')\n\n // 保留Css2D 初始设置\n this.element.style.position = 'absolute'\n this.element.style.userSelect = 'none'\n this.element.setAttribute('draggable', 'false')\n\n this.isCSS2DObject = true\n this.center = new Vector2(0.5, 0.5) // ( 0, 0 ) is the lower left; ( 1, 1 ) is the top right\n\n this.option.animation && this.setAnimation(this.option.animation)\n // 执行动画\n this.play()\n\n // 保留Css2D 事件监听\n this.addEventListener('removed', () => {\n this.traverse((object) => {\n // @ts-ignore\n if (object.element instanceof Element && object.element.parentNode !== null)\n // @ts-ignore\n object.element.parentNode.removeChild(object.element)\n })\n })\n }\n\n // 创建2D容器\n getElement() {\n let element!: HTMLElement\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n element = this.data\n }\n else {\n if (typeof this.data === 'string') {\n element = createTitleElement(this.data, this.option)\n }\n else if (typeof this.data === 'object') {\n const { title, content } = this.data\n if (title && content)\n element = createContentElement(this.data, this.option)\n else if (title)\n element = createTitleElement(title, this.option)\n }\n }\n\n EventType.forEach((type: IEventType) => {\n element && element.addEventListener(type.name, (event) => {\n // @ts-ignore\n (this._listeners[type.name] || []).forEach((cb: Function) => {\n cb(event)\n })\n })\n })\n return element\n }\n\n // 播放动画\n play() {\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n this.element.style.opacity = '0'\n break\n case EAnimationType.grow:\n this.element.style.scale = '.2'\n break\n case EAnimationType.print:\n const contentElement = this.element.querySelector('[tag=\"content\"]')\n if (contentElement)\n contentElement.innerHTML = ''\n else\n this.element.innerHTML = ''\n break\n }\n })\n\n let hasExecuted = false\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.fromTo(this.element, { opacity: 0 }, {\n opacity: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n gsap.fromTo(this.element, { scale: 0.2 }, {\n scale: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n case EAnimationType.print:\n\n let element = this.element.querySelector('[tag=\"content\"]') as HTMLElement\n let text: string\n if (element) {\n text = this.data.content\n }\n else {\n element = this.element\n text = this.data.title || this.data\n }\n\n let index = 0\n const print = () => {\n // 添加当前字符到文本元素\n element.innerHTML += text.charAt(index)\n index++\n // 使用GSAP创建动画\n gsap.to(element, {\n duration: item.duration, // 每个字符的持续时间\n ease: 'power1.inOut', // 缓动函数\n onComplete: () => index < text.length ? print() : null, // 如果还有字符,则继续打印,否则完成动画\n })\n }\n print()\n break\n }\n })\n hasExecuted = true\n }\n }\n\n copy(source: any, recursive: boolean) {\n super.copy(source, recursive)\n\n this.element = source.element.cloneNode(true)\n\n this.center = source.center\n\n return this\n }\n}\n\nexport default Css2DPoi"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,cAAc,EAAEC,SAAS;AAElC,SAASC,oBAAoB,EAAEC,kBAAkB;AACjD,OAAOC,GAAG;AAEV,IAAMC,QAAQ,GAAG;EACfC,SAAS,EAAE;IACTC,IAAI,EAAEP,cAAc,CAACQ,MAAM;IAC3BC,QAAQ,EAAE;EACZ;AACF,CAAC;AAAA,IAEKC,QAAQ;EAAA;EAAA;EAKZ,kBAAYC,IAAS,EAAwB;IAAA;IAAA,IAAtBC,MAAe,uEAAG,CAAC,CAAC;IAAA;IACzC,0BAAMD,IAAI,EAAEC,MAAM;IAAC;IAAA;IAAA;IAEnB,MAAKA,MAAM,mCAAQP,QAAQ,GAAKO,MAAM,CAAE;;IAExC;IACA,MAAKC,OAAO,GAAG,MAAKC,UAAU,EAAE;IAEhC,IAAI,CAAC,MAAKD,OAAO,EACf,MAAM,IAAIE,KAAK,CAAC,qCAAqC,CAAC;;IAExD;IACA,MAAKF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,UAAU;IACxC,MAAKJ,OAAO,CAACG,KAAK,CAACE,UAAU,GAAG,MAAM;IACtC,MAAKL,OAAO,CAACM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/C,MAAKC,aAAa,GAAG,IAAI;IACzB,MAAKC,MAAM,GAAG,IAAIvB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC;;IAEpC,MAAKc,MAAM,CAACN,SAAS,IAAI,MAAKgB,YAAY,CAAC,MAAKV,MAAM,CAACN,SAAS,CAAC;IACjE;IACA,MAAKiB,IAAI,EAAE;;IAEX;IACA,MAAKC,gBAAgB,CAAC,SAAS,EAAE,YAAM;MACrC,MAAKC,QAAQ,CAAC,UAACC,MAAM,EAAK;QACxB;QACA,IAAIA,MAAM,CAACb,OAAO,YAAYc,OAAO,IAAID,MAAM,CAACb,OAAO,CAACe,UAAU,KAAK,IAAI;UACzE;UACAF,MAAM,CAACb,OAAO,CAACe,UAAU,CAACC,WAAW,CAACH,MAAM,CAACb,OAAO,CAAC;MACzD,CAAC,CAAC;IACJ,CAAC,CAAC;IAAA;EACJ;;EAEA;EAAA;IAAA;IAAA,OACA,sBAAa;MAAA;MACX,IAAIA,OAAqB;MACzB;MACA,IAAI,IAAI,CAACF,IAAI,YAAYmB,WAAW,EAAE;QACpCjB,OAAO,GAAG,IAAI,CAACF,IAAI;MACrB,CAAC,MACI;QACH,IAAI,OAAO,IAAI,CAACA,IAAI,KAAK,QAAQ,EAAE;UACjCE,OAAO,GAAGV,kBAAkB,CAAC,IAAI,CAACQ,IAAI,EAAE,IAAI,CAACC,MAAM,CAAC;QACtD,CAAC,MACI,IAAI,QAAO,IAAI,CAACD,IAAI,MAAK,QAAQ,EAAE;UACtC,iBAA2B,IAAI,CAACA,IAAI;YAA5BoB,KAAK,cAALA,KAAK;YAAEC,OAAO,cAAPA,OAAO;UACtB,IAAID,KAAK,IAAIC,OAAO,EAClBnB,OAAO,GAAGX,oBAAoB,CAAC,IAAI,CAACS,IAAI,EAAE,IAAI,CAACC,MAAM,CAAC,MACnD,IAAImB,KAAK,EACZlB,OAAO,GAAGV,kBAAkB,CAAC4B,KAAK,EAAE,IAAI,CAACnB,MAAM,CAAC;QACpD;MACF;MAEAX,SAAS,CAACgC,OAAO,CAAC,UAAC1B,IAAgB,EAAK;QACtCM,OAAO,IAAIA,OAAO,CAACW,gBAAgB,CAACjB,IAAI,CAAC2B,IAAI,EAAE,UAACC,KAAK,EAAK;UACxD;UACA,CAAC,MAAI,CAACC,UAAU,CAAC7B,IAAI,CAAC2B,IAAI,CAAC,IAAI,EAAE,EAAED,OAAO,CAAC,UAACI,EAAY,EAAK;YAC3DA,EAAE,CAACF,KAAK,CAAC;UACX,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOtB,OAAO;IAChB;;IAEA;EAAA;IAAA;IAAA,OACA,gBAAO;MAAA;MACL,IAAI,CAACP,SAAS,CAAC2B,OAAO,CAAC,UAACK,IAAI,EAAK;QAC/B,QAAQA,IAAI,CAAC/B,IAAI;UACf,KAAKP,cAAc,CAACQ,MAAM;YACxB,MAAI,CAACK,OAAO,CAACG,KAAK,CAACuB,OAAO,GAAG,GAAG;YAChC;UACF,KAAKvC,cAAc,CAACwC,IAAI;YACtB,MAAI,CAAC3B,OAAO,CAACG,KAAK,CAACyB,KAAK,GAAG,IAAI;YAC/B;UACF,KAAKzC,cAAc,CAAC0C,KAAK;YACvB,IAAMC,cAAc,GAAG,MAAI,CAAC9B,OAAO,CAAC+B,aAAa,CAAC,iBAAiB,CAAC;YACpE,IAAID,cAAc,EAChBA,cAAc,CAACE,SAAS,GAAG,EAAE,MAE7B,MAAI,CAAChC,OAAO,CAACgC,SAAS,GAAG,EAAE;YAC7B;QAAK;MAEX,CAAC,CAAC;MAEF,IAAIC,WAAW,GAAG,KAAK;MACvB,IAAI,CAACC,aAAa,GAAG,YAAM;QACzB,IAAID,WAAW,EACb;QACF,MAAI,CAACxC,SAAS,CAAC2B,OAAO,CAAC,UAACK,IAAI,EAAK;UAC/B,QAAQA,IAAI,CAAC/B,IAAI;YACf,KAAKP,cAAc,CAACQ,MAAM;cACxBT,IAAI,CAACiD,MAAM,CAAC,MAAI,CAACnC,OAAO,EAAE;gBAAE0B,OAAO,EAAE;cAAE,CAAC,EAAE;gBACxCA,OAAO,EAAE,CAAC;gBACV9B,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;gBACvBwC,MAAM,EAAE,CAAC;gBACTC,IAAI,EAAE;cACR,CAAC,CAAC;cACF;YACF,KAAKlD,cAAc,CAACwC,IAAI;cACtBzC,IAAI,CAACiD,MAAM,CAAC,MAAI,CAACnC,OAAO,EAAE;gBAAE4B,KAAK,EAAE;cAAI,CAAC,EAAE;gBACxCA,KAAK,EAAE,CAAC;gBACRhC,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;gBACvBwC,MAAM,EAAE,CAAC;gBACTC,IAAI,EAAE;cACR,CAAC,CAAC;cACF;YACF,KAAKlD,cAAc,CAAC0C,KAAK;cAEvB,IAAI7B,OAAO,GAAG,MAAI,CAACA,OAAO,CAAC+B,aAAa,CAAC,iBAAiB,CAAgB;cAC1E,IAAIO,IAAY;cAChB,IAAItC,OAAO,EAAE;gBACXsC,IAAI,GAAG,MAAI,CAACxC,IAAI,CAACqB,OAAO;cAC1B,CAAC,MACI;gBACHnB,OAAO,GAAG,MAAI,CAACA,OAAO;gBACtBsC,IAAI,GAAG,MAAI,CAACxC,IAAI,CAACoB,KAAK,IAAI,MAAI,CAACpB,IAAI;cACrC;cAEA,IAAIyC,KAAK,GAAG,CAAC;cACb,IAAMV,KAAK,GAAG,SAARA,KAAK,GAAS;gBAClB;gBACA7B,OAAO,CAACgC,SAAS,IAAIM,IAAI,CAACE,MAAM,CAACD,KAAK,CAAC;gBACvCA,KAAK,EAAE;gBACP;gBACArD,IAAI,CAACuD,EAAE,CAACzC,OAAO,EAAE;kBACfJ,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;kBAAE;kBACzByC,IAAI,EAAE,cAAc;kBAAE;kBACtBK,UAAU,EAAE;oBAAA,OAAMH,KAAK,GAAGD,IAAI,CAACK,MAAM,GAAGd,KAAK,EAAE,GAAG,IAAI;kBAAA,EAAE;gBAC1D,CAAC,CAAC;cACJ,CAAC;;cACDA,KAAK,EAAE;cACP;UAAK;QAEX,CAAC,CAAC;QACFI,WAAW,GAAG,IAAI;MACpB,CAAC;IACH;EAAC;IAAA;IAAA,OAED,cAAKW,MAAW,EAAEC,SAAkB,EAAE;MACpC,mEAAWD,MAAM,EAAEC,SAAS;MAE5B,IAAI,CAAC7C,OAAO,GAAG4C,MAAM,CAAC5C,OAAO,CAAC8C,SAAS,CAAC,IAAI,CAAC;MAE7C,IAAI,CAACtC,MAAM,GAAGoC,MAAM,CAACpC,MAAM;MAE3B,OAAO,IAAI;IACb;EAAC;EAAA;AAAA,EAxJoBjB,GAAG;AA2J1B,eAAeM,QAAQ"}
@@ -1,6 +1,6 @@
1
1
  import type { Vector2 } from '@anov/3d-core';
2
2
  import type { IOption } from '../utils/type';
3
- import Poi from '../Poi';
3
+ import Poi from '../Base';
4
4
  declare class Css3DPoi extends Poi {
5
5
  element: HTMLElement;
6
6
  isCSS3DObject: boolean;
@@ -21,7 +21,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
21
21
  import gsap from 'gsap';
22
22
  import { EAnimationType, EventType } from "../utils/type";
23
23
  import { createContentElement, createTitleElement } from "../utils/element";
24
- import Poi from "../Poi";
24
+ import Poi from "../Base";
25
25
  var _default = {
26
26
  animation: {
27
27
  type: EAnimationType.fadeIn,
@@ -1 +1 @@
1
- {"version":3,"names":["gsap","EAnimationType","EventType","createContentElement","createTitleElement","Poi","_default","animation","type","fadeIn","duration","Css3DPoi","data","option","element","getElement","Error","setAnimation","play","isCSS3DObject","style","position","pointerEvents","userSelect","setAttribute","addEventListener","traverse","object","Element","parentNode","removeChild","HTMLElement","title","content","forEach","name","event","_listeners","cb","item","opacity","grow","scale","print","contentElement","querySelector","innerHTML","hasExecuted","onAfterRender","fromTo","repeat","ease","text","index","charAt","to","onComplete","length","source","recursive","cloneNode"],"sources":["../../../src/poi/3D/index.ts"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport type { Vector2 } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType, EventType } from '../utils/type'\nimport type { IEventType, IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../Poi'\n\nconst _default = {\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n },\n}\n\nclass Css3DPoi extends Poi {\n element!: HTMLElement\n isCSS3DObject!: boolean\n center!: Vector2\n\n constructor(data: any, option: IOption = {}) {\n super(data, option)\n\n this.option = { ..._default, ...option }\n\n // 创建容器\n this.element = this.getElement()\n\n if (!this.element)\n throw new Error('Cannot generate HTMLElement element')\n\n this.option.animation && this.setAnimation(this.option.animation)\n // 执行动画\n this.play()\n\n this.isCSS3DObject = true\n\n this.element.style.position = 'absolute'\n this.element.style.pointerEvents = 'auto'\n this.element.style.userSelect = 'none'\n\n this.element.setAttribute('draggable', 'false')\n\n this.addEventListener('removed', function () {\n this.traverse((object) => {\n if (object.element instanceof Element && object.element.parentNode !== null)\n\n object.element.parentNode.removeChild(object.element)\n })\n })\n }\n\n // 创建2D容器\n getElement() {\n let element!: HTMLElement\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n element = this.data\n }\n else {\n if (typeof this.data === 'string') {\n element = createTitleElement(this.data, this.option)\n }\n else if (typeof this.data === 'object') {\n const { title, content } = this.data\n if (title && content)\n element = createContentElement(this.data, this.option)\n else if (title)\n element = createTitleElement(title, this.option)\n }\n }\n\n EventType.forEach((type: IEventType) => {\n element && element.addEventListener(type.name, (event) => {\n (this._listeners[type.name] || []).forEach((cb: Function) => {\n cb(event)\n })\n })\n })\n return element\n }\n\n // 播放动画\n play() {\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n this.element.style.opacity = '0'\n break\n case EAnimationType.grow:\n this.element.style.scale = '.2'\n break\n case EAnimationType.print:\n const contentElement = this.element.querySelector('[tag=\"content\"]')\n if (contentElement)\n contentElement.innerHTML = ''\n else\n this.element.innerHTML = ''\n break\n }\n })\n\n let hasExecuted = false\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.fromTo(this.element, { opacity: 0 }, {\n opacity: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n gsap.fromTo(this.element, { scale: 0.2 }, {\n scale: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n case EAnimationType.print:\n\n let element = this.element.querySelector('[tag=\"content\"]') as HTMLElement\n let text: string\n if (element) {\n text = this.data.content\n }\n else {\n element = this.element\n text = this.data.title || this.data\n }\n\n let index = 0\n const print = () => {\n // 添加当前字符到文本元素\n element.innerHTML += text.charAt(index)\n index++\n // 使用GSAP创建动画\n gsap.to(element, {\n duration: item.duration, // 每个字符的持续时间\n ease: 'power1.inOut', // 缓动函数\n onComplete: () => index < text.length ? print() : null, // 如果还有字符,则继续打印,否则完成动画\n })\n }\n print()\n break\n }\n })\n hasExecuted = true\n }\n }\n\n copy(source: any, recursive: boolean) {\n super.copy(source, recursive)\n\n this.element = source.element.cloneNode(true)\n\n return this\n }\n}\n\nexport default Css3DPoi"],"mappings":"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"}
1
+ {"version":3,"names":["gsap","EAnimationType","EventType","createContentElement","createTitleElement","Poi","_default","animation","type","fadeIn","duration","Css3DPoi","data","option","element","getElement","Error","setAnimation","play","isCSS3DObject","style","position","pointerEvents","userSelect","setAttribute","addEventListener","traverse","object","Element","parentNode","removeChild","HTMLElement","title","content","forEach","name","event","_listeners","cb","item","opacity","grow","scale","print","contentElement","querySelector","innerHTML","hasExecuted","onAfterRender","fromTo","repeat","ease","text","index","charAt","to","onComplete","length","source","recursive","cloneNode"],"sources":["../../../src/poi/3D/index.ts"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport type { Vector2 } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType, EventType } from '../utils/type'\nimport type { IEventType, IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../Base'\n\nconst _default = {\n animation: {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n },\n}\n\nclass Css3DPoi extends Poi {\n element!: HTMLElement\n isCSS3DObject!: boolean\n center!: Vector2\n\n constructor(data: any, option: IOption = {}) {\n super(data, option)\n\n this.option = { ..._default, ...option }\n\n // 创建容器\n this.element = this.getElement()\n\n if (!this.element)\n throw new Error('Cannot generate HTMLElement element')\n\n this.option.animation && this.setAnimation(this.option.animation)\n // 执行动画\n this.play()\n\n this.isCSS3DObject = true\n\n this.element.style.position = 'absolute'\n this.element.style.pointerEvents = 'auto'\n this.element.style.userSelect = 'none'\n\n this.element.setAttribute('draggable', 'false')\n\n this.addEventListener('removed', function () {\n this.traverse((object) => {\n if (object.element instanceof Element && object.element.parentNode !== null)\n\n object.element.parentNode.removeChild(object.element)\n })\n })\n }\n\n // 创建2D容器\n getElement() {\n let element!: HTMLElement\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n element = this.data\n }\n else {\n if (typeof this.data === 'string') {\n element = createTitleElement(this.data, this.option)\n }\n else if (typeof this.data === 'object') {\n const { title, content } = this.data\n if (title && content)\n element = createContentElement(this.data, this.option)\n else if (title)\n element = createTitleElement(title, this.option)\n }\n }\n\n EventType.forEach((type: IEventType) => {\n element && element.addEventListener(type.name, (event) => {\n (this._listeners[type.name] || []).forEach((cb: Function) => {\n cb(event)\n })\n })\n })\n return element\n }\n\n // 播放动画\n play() {\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n this.element.style.opacity = '0'\n break\n case EAnimationType.grow:\n this.element.style.scale = '.2'\n break\n case EAnimationType.print:\n const contentElement = this.element.querySelector('[tag=\"content\"]')\n if (contentElement)\n contentElement.innerHTML = ''\n else\n this.element.innerHTML = ''\n break\n }\n })\n\n let hasExecuted = false\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.fromTo(this.element, { opacity: 0 }, {\n opacity: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n gsap.fromTo(this.element, { scale: 0.2 }, {\n scale: 1,\n duration: item.duration,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n case EAnimationType.print:\n\n let element = this.element.querySelector('[tag=\"content\"]') as HTMLElement\n let text: string\n if (element) {\n text = this.data.content\n }\n else {\n element = this.element\n text = this.data.title || this.data\n }\n\n let index = 0\n const print = () => {\n // 添加当前字符到文本元素\n element.innerHTML += text.charAt(index)\n index++\n // 使用GSAP创建动画\n gsap.to(element, {\n duration: item.duration, // 每个字符的持续时间\n ease: 'power1.inOut', // 缓动函数\n onComplete: () => index < text.length ? print() : null, // 如果还有字符,则继续打印,否则完成动画\n })\n }\n print()\n break\n }\n })\n hasExecuted = true\n }\n }\n\n copy(source: any, recursive: boolean) {\n super.copy(source, recursive)\n\n this.element = source.element.cloneNode(true)\n\n return this\n }\n}\n\nexport default Css3DPoi"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,cAAc,EAAEC,SAAS;AAElC,SAASC,oBAAoB,EAAEC,kBAAkB;AACjD,OAAOC,GAAG;AAEV,IAAMC,QAAQ,GAAG;EACfC,SAAS,EAAE;IACTC,IAAI,EAAEP,cAAc,CAACQ,MAAM;IAC3BC,QAAQ,EAAE;EACZ;AACF,CAAC;AAAA,IAEKC,QAAQ;EAAA;EAAA;EAKZ,kBAAYC,IAAS,EAAwB;IAAA;IAAA,IAAtBC,MAAe,uEAAG,CAAC,CAAC;IAAA;IACzC,0BAAMD,IAAI,EAAEC,MAAM;IAAC;IAAA;IAAA;IAEnB,MAAKA,MAAM,mCAAQP,QAAQ,GAAKO,MAAM,CAAE;;IAExC;IACA,MAAKC,OAAO,GAAG,MAAKC,UAAU,EAAE;IAEhC,IAAI,CAAC,MAAKD,OAAO,EACf,MAAM,IAAIE,KAAK,CAAC,qCAAqC,CAAC;IAExD,MAAKH,MAAM,CAACN,SAAS,IAAI,MAAKU,YAAY,CAAC,MAAKJ,MAAM,CAACN,SAAS,CAAC;IACjE;IACA,MAAKW,IAAI,EAAE;IAEX,MAAKC,aAAa,GAAG,IAAI;IAEzB,MAAKL,OAAO,CAACM,KAAK,CAACC,QAAQ,GAAG,UAAU;IACxC,MAAKP,OAAO,CAACM,KAAK,CAACE,aAAa,GAAG,MAAM;IACzC,MAAKR,OAAO,CAACM,KAAK,CAACG,UAAU,GAAG,MAAM;IAEtC,MAAKT,OAAO,CAACU,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/C,MAAKC,gBAAgB,CAAC,SAAS,EAAE,YAAY;MAC3C,IAAI,CAACC,QAAQ,CAAC,UAACC,MAAM,EAAK;QACxB,IAAIA,MAAM,CAACb,OAAO,YAAYc,OAAO,IAAID,MAAM,CAACb,OAAO,CAACe,UAAU,KAAK,IAAI,EAEzEF,MAAM,CAACb,OAAO,CAACe,UAAU,CAACC,WAAW,CAACH,MAAM,CAACb,OAAO,CAAC;MACzD,CAAC,CAAC;IACJ,CAAC,CAAC;IAAA;EACJ;;EAEA;EAAA;IAAA;IAAA,OACA,sBAAa;MAAA;MACX,IAAIA,OAAqB;MACzB;MACA,IAAI,IAAI,CAACF,IAAI,YAAYmB,WAAW,EAAE;QACpCjB,OAAO,GAAG,IAAI,CAACF,IAAI;MACrB,CAAC,MACI;QACH,IAAI,OAAO,IAAI,CAACA,IAAI,KAAK,QAAQ,EAAE;UACjCE,OAAO,GAAGV,kBAAkB,CAAC,IAAI,CAACQ,IAAI,EAAE,IAAI,CAACC,MAAM,CAAC;QACtD,CAAC,MACI,IAAI,QAAO,IAAI,CAACD,IAAI,MAAK,QAAQ,EAAE;UACtC,iBAA2B,IAAI,CAACA,IAAI;YAA5BoB,KAAK,cAALA,KAAK;YAAEC,OAAO,cAAPA,OAAO;UACtB,IAAID,KAAK,IAAIC,OAAO,EAClBnB,OAAO,GAAGX,oBAAoB,CAAC,IAAI,CAACS,IAAI,EAAE,IAAI,CAACC,MAAM,CAAC,MACnD,IAAImB,KAAK,EACZlB,OAAO,GAAGV,kBAAkB,CAAC4B,KAAK,EAAE,IAAI,CAACnB,MAAM,CAAC;QACpD;MACF;MAEAX,SAAS,CAACgC,OAAO,CAAC,UAAC1B,IAAgB,EAAK;QACtCM,OAAO,IAAIA,OAAO,CAACW,gBAAgB,CAACjB,IAAI,CAAC2B,IAAI,EAAE,UAACC,KAAK,EAAK;UACxD,CAAC,MAAI,CAACC,UAAU,CAAC7B,IAAI,CAAC2B,IAAI,CAAC,IAAI,EAAE,EAAED,OAAO,CAAC,UAACI,EAAY,EAAK;YAC3DA,EAAE,CAACF,KAAK,CAAC;UACX,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOtB,OAAO;IAChB;;IAEA;EAAA;IAAA;IAAA,OACA,gBAAO;MAAA;MACL,IAAI,CAACP,SAAS,CAAC2B,OAAO,CAAC,UAACK,IAAI,EAAK;QAC/B,QAAQA,IAAI,CAAC/B,IAAI;UACf,KAAKP,cAAc,CAACQ,MAAM;YACxB,MAAI,CAACK,OAAO,CAACM,KAAK,CAACoB,OAAO,GAAG,GAAG;YAChC;UACF,KAAKvC,cAAc,CAACwC,IAAI;YACtB,MAAI,CAAC3B,OAAO,CAACM,KAAK,CAACsB,KAAK,GAAG,IAAI;YAC/B;UACF,KAAKzC,cAAc,CAAC0C,KAAK;YACvB,IAAMC,cAAc,GAAG,MAAI,CAAC9B,OAAO,CAAC+B,aAAa,CAAC,iBAAiB,CAAC;YACpE,IAAID,cAAc,EAChBA,cAAc,CAACE,SAAS,GAAG,EAAE,MAE7B,MAAI,CAAChC,OAAO,CAACgC,SAAS,GAAG,EAAE;YAC7B;QAAK;MAEX,CAAC,CAAC;MAEF,IAAIC,WAAW,GAAG,KAAK;MACvB,IAAI,CAACC,aAAa,GAAG,YAAM;QACzB,IAAID,WAAW,EACb;QACF,MAAI,CAACxC,SAAS,CAAC2B,OAAO,CAAC,UAACK,IAAI,EAAK;UAC/B,QAAQA,IAAI,CAAC/B,IAAI;YACf,KAAKP,cAAc,CAACQ,MAAM;cACxBT,IAAI,CAACiD,MAAM,CAAC,MAAI,CAACnC,OAAO,EAAE;gBAAE0B,OAAO,EAAE;cAAE,CAAC,EAAE;gBACxCA,OAAO,EAAE,CAAC;gBACV9B,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;gBACvBwC,MAAM,EAAE,CAAC;gBACTC,IAAI,EAAE;cACR,CAAC,CAAC;cACF;YACF,KAAKlD,cAAc,CAACwC,IAAI;cACtBzC,IAAI,CAACiD,MAAM,CAAC,MAAI,CAACnC,OAAO,EAAE;gBAAE4B,KAAK,EAAE;cAAI,CAAC,EAAE;gBACxCA,KAAK,EAAE,CAAC;gBACRhC,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;gBACvBwC,MAAM,EAAE,CAAC;gBACTC,IAAI,EAAE;cACR,CAAC,CAAC;cACF;YACF,KAAKlD,cAAc,CAAC0C,KAAK;cAEvB,IAAI7B,OAAO,GAAG,MAAI,CAACA,OAAO,CAAC+B,aAAa,CAAC,iBAAiB,CAAgB;cAC1E,IAAIO,IAAY;cAChB,IAAItC,OAAO,EAAE;gBACXsC,IAAI,GAAG,MAAI,CAACxC,IAAI,CAACqB,OAAO;cAC1B,CAAC,MACI;gBACHnB,OAAO,GAAG,MAAI,CAACA,OAAO;gBACtBsC,IAAI,GAAG,MAAI,CAACxC,IAAI,CAACoB,KAAK,IAAI,MAAI,CAACpB,IAAI;cACrC;cAEA,IAAIyC,KAAK,GAAG,CAAC;cACb,IAAMV,KAAK,GAAG,SAARA,KAAK,GAAS;gBAClB;gBACA7B,OAAO,CAACgC,SAAS,IAAIM,IAAI,CAACE,MAAM,CAACD,KAAK,CAAC;gBACvCA,KAAK,EAAE;gBACP;gBACArD,IAAI,CAACuD,EAAE,CAACzC,OAAO,EAAE;kBACfJ,QAAQ,EAAE6B,IAAI,CAAC7B,QAAQ;kBAAE;kBACzByC,IAAI,EAAE,cAAc;kBAAE;kBACtBK,UAAU,EAAE;oBAAA,OAAMH,KAAK,GAAGD,IAAI,CAACK,MAAM,GAAGd,KAAK,EAAE,GAAG,IAAI;kBAAA,EAAE;gBAC1D,CAAC,CAAC;cACJ,CAAC;;cACDA,KAAK,EAAE;cACP;UAAK;QAEX,CAAC,CAAC;QACFI,WAAW,GAAG,IAAI;MACpB,CAAC;IACH;EAAC;IAAA;IAAA,OAED,cAAKW,MAAW,EAAEC,SAAkB,EAAE;MACpC,mEAAWD,MAAM,EAAEC,SAAS;MAE5B,IAAI,CAAC7C,OAAO,GAAG4C,MAAM,CAAC5C,OAAO,CAAC8C,SAAS,CAAC,IAAI,CAAC;MAE7C,OAAO,IAAI;IACb;EAAC;EAAA;AAAA,EAnJoBvD,GAAG;AAsJ1B,eAAeM,QAAQ"}
@@ -0,0 +1,12 @@
1
+ import { Object3D } from '@anov/3d-core';
2
+ import type { IOption } from './utils/type';
3
+ declare class Poi extends Object3D {
4
+ data: any;
5
+ option: IOption;
6
+ animation: Array<any>;
7
+ constructor(data: any, option: IOption);
8
+ setAnimation(animation: object | Array<any>): void;
9
+ play(): void;
10
+ destroy(): void;
11
+ }
12
+ export default Poi;