@studiometa/js-toolkit 2.0.0-beta.8 → 2.0.0-rc.2

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 (189) hide show
  1. package/Base/index.cjs +285 -0
  2. package/Base/index.d.ts +11 -2
  3. package/Base/index.js +114 -197
  4. package/Base/managers/ChildrenManager.cjs +146 -0
  5. package/Base/managers/ChildrenManager.d.ts +9 -1
  6. package/Base/managers/ChildrenManager.js +60 -59
  7. package/Base/managers/EventsManager.cjs +183 -0
  8. package/Base/managers/EventsManager.js +72 -112
  9. package/Base/managers/OptionsManager.cjs +174 -0
  10. package/Base/managers/OptionsManager.d.ts +9 -5
  11. package/Base/managers/OptionsManager.js +60 -90
  12. package/Base/managers/RefsManager.cjs +99 -0
  13. package/Base/managers/RefsManager.js +30 -35
  14. package/Base/managers/ServicesManager.cjs +131 -0
  15. package/Base/managers/ServicesManager.js +39 -67
  16. package/Base/utils.cjs +41 -0
  17. package/Base/utils.js +12 -11
  18. package/README.md +13 -70
  19. package/decorators/index.cjs +45 -0
  20. package/decorators/index.d.ts +9 -9
  21. package/decorators/index.js +20 -9
  22. package/decorators/withBreakpointManager.cjs +85 -0
  23. package/decorators/withBreakpointManager.js +18 -39
  24. package/decorators/withBreakpointObserver.cjs +115 -0
  25. package/decorators/withBreakpointObserver.js +44 -86
  26. package/decorators/withDrag.cjs +53 -0
  27. package/decorators/withDrag.js +24 -26
  28. package/decorators/withExtraConfig.cjs +43 -0
  29. package/decorators/withExtraConfig.js +17 -12
  30. package/decorators/withFreezedOptions.cjs +37 -0
  31. package/decorators/withFreezedOptions.d.ts +14 -0
  32. package/decorators/withFreezedOptions.js +15 -0
  33. package/decorators/withIntersectionObserver.cjs +62 -0
  34. package/decorators/withIntersectionObserver.js +29 -32
  35. package/decorators/withMountWhenInView.cjs +69 -0
  36. package/decorators/withMountWhenInView.js +31 -52
  37. package/decorators/withScrolledInView.cjs +114 -0
  38. package/decorators/withScrolledInView.d.ts +2 -1
  39. package/decorators/withScrolledInView.js +35 -39
  40. package/decorators/withVue2.cjs +61 -0
  41. package/decorators/withVue2.js +27 -32
  42. package/helpers/createApp.cjs +52 -0
  43. package/helpers/createApp.d.ts +2 -2
  44. package/helpers/createApp.js +12 -12
  45. package/helpers/importOnInteraction.cjs +52 -0
  46. package/helpers/importOnInteraction.js +17 -18
  47. package/helpers/importWhenIdle.cjs +49 -0
  48. package/helpers/importWhenIdle.js +14 -17
  49. package/helpers/importWhenVisible.cjs +50 -0
  50. package/helpers/importWhenVisible.js +16 -18
  51. package/helpers/index.cjs +35 -0
  52. package/helpers/index.d.ts +4 -5
  53. package/helpers/index.js +10 -5
  54. package/helpers/utils.cjs +35 -0
  55. package/helpers/utils.js +7 -6
  56. package/index.cjs +33 -0
  57. package/index.d.ts +4 -21
  58. package/index.js +7 -5
  59. package/package.json +14 -4
  60. package/services/Service.cjs +76 -0
  61. package/services/Service.js +19 -32
  62. package/services/drag.cjs +213 -0
  63. package/services/drag.d.ts +1 -0
  64. package/services/drag.js +64 -68
  65. package/services/index.cjs +41 -0
  66. package/services/index.d.ts +7 -8
  67. package/services/index.js +16 -8
  68. package/services/key.cjs +104 -0
  69. package/services/key.js +28 -36
  70. package/services/load.cjs +72 -0
  71. package/services/load.js +17 -19
  72. package/services/pointer.cjs +162 -0
  73. package/services/pointer.js +43 -60
  74. package/services/raf.cjs +83 -0
  75. package/services/raf.js +20 -28
  76. package/services/resize.cjs +108 -0
  77. package/services/resize.js +33 -42
  78. package/services/scroll.cjs +131 -0
  79. package/services/scroll.js +26 -35
  80. package/utils/collide/boundingRectToCircle.cjs +34 -0
  81. package/utils/collide/boundingRectToCircle.d.ts +1 -1
  82. package/utils/collide/boundingRectToCircle.js +7 -10
  83. package/utils/collide/collideCircleCircle.cjs +34 -0
  84. package/utils/collide/collideCircleCircle.js +8 -7
  85. package/utils/collide/collideCircleRect.cjs +46 -0
  86. package/utils/collide/collideCircleRect.js +10 -12
  87. package/utils/collide/collidePointCircle.cjs +31 -0
  88. package/utils/collide/collidePointCircle.js +8 -5
  89. package/utils/collide/collidePointRect.cjs +28 -0
  90. package/utils/collide/collidePointRect.js +5 -2
  91. package/utils/collide/collideRectRect.cjs +28 -0
  92. package/utils/collide/collideRectRect.js +5 -2
  93. package/utils/collide/index.cjs +39 -0
  94. package/utils/collide/index.d.ts +6 -7
  95. package/utils/collide/index.js +14 -7
  96. package/utils/css/classes.cjs +47 -0
  97. package/utils/css/classes.d.ts +10 -9
  98. package/utils/css/classes.js +18 -14
  99. package/utils/css/index.cjs +38 -0
  100. package/utils/css/index.d.ts +4 -5
  101. package/utils/css/index.js +13 -5
  102. package/utils/css/matrix.cjs +30 -0
  103. package/utils/css/matrix.js +7 -5
  104. package/utils/css/styles.cjs +44 -0
  105. package/utils/css/styles.d.ts +6 -18
  106. package/utils/css/styles.js +12 -12
  107. package/utils/css/transition.cjs +120 -0
  108. package/utils/css/transition.d.ts +15 -9
  109. package/utils/css/transition.js +70 -119
  110. package/utils/debounce.cjs +34 -0
  111. package/utils/debounce.js +7 -9
  112. package/utils/focusTrap.cjs +82 -0
  113. package/utils/focusTrap.js +30 -21
  114. package/utils/history.cjs +89 -0
  115. package/utils/history.js +28 -57
  116. package/utils/index.cjs +54 -0
  117. package/utils/index.d.ts +14 -35
  118. package/utils/index.js +32 -17
  119. package/utils/keyCodes.cjs +35 -0
  120. package/utils/keyCodes.js +5 -2
  121. package/utils/math/clamp.cjs +28 -0
  122. package/utils/math/clamp.js +5 -2
  123. package/utils/math/clamp01.cjs +32 -0
  124. package/utils/math/clamp01.js +6 -3
  125. package/utils/math/damp.cjs +28 -0
  126. package/utils/math/damp.js +5 -4
  127. package/utils/math/ease.cjs +88 -0
  128. package/utils/math/ease.d.ts +78 -0
  129. package/utils/math/ease.js +66 -0
  130. package/utils/math/index.cjs +43 -0
  131. package/utils/math/index.d.ts +8 -8
  132. package/utils/math/index.js +17 -8
  133. package/utils/math/inertiaFinalValue.cjs +37 -0
  134. package/utils/math/inertiaFinalValue.js +8 -10
  135. package/utils/math/lerp.cjs +28 -0
  136. package/utils/math/lerp.js +5 -2
  137. package/utils/math/map.cjs +28 -0
  138. package/utils/math/map.js +5 -2
  139. package/utils/math/round.cjs +28 -0
  140. package/utils/math/round.js +5 -3
  141. package/utils/memoize.cjs +43 -0
  142. package/utils/memoize.js +10 -19
  143. package/utils/nextFrame.cjs +38 -0
  144. package/utils/nextFrame.d.ts +4 -3
  145. package/utils/nextFrame.js +13 -10
  146. package/utils/nextMicrotask.cjs +28 -0
  147. package/utils/nextMicrotask.d.ts +8 -0
  148. package/utils/nextMicrotask.js +6 -0
  149. package/utils/nextTick.cjs +30 -0
  150. package/utils/nextTick.d.ts +8 -0
  151. package/utils/nextTick.js +8 -0
  152. package/utils/object/autoBind.cjs +49 -0
  153. package/utils/object/autoBind.js +12 -22
  154. package/utils/object/getAllProperties.cjs +37 -0
  155. package/utils/object/getAllProperties.js +10 -13
  156. package/utils/object/index.cjs +33 -0
  157. package/utils/object/index.d.ts +3 -4
  158. package/utils/object/index.js +8 -4
  159. package/utils/object/isObject.cjs +28 -0
  160. package/utils/object/isObject.js +6 -3
  161. package/utils/scrollTo.cjs +80 -0
  162. package/utils/scrollTo.js +20 -40
  163. package/utils/string/index.cjs +47 -0
  164. package/utils/string/index.d.ts +10 -11
  165. package/utils/string/index.js +22 -11
  166. package/utils/string/withLeadingCharacters.cjs +32 -0
  167. package/utils/string/withLeadingCharacters.js +7 -4
  168. package/utils/string/withLeadingSlash.cjs +32 -0
  169. package/utils/string/withLeadingSlash.js +7 -4
  170. package/utils/string/withTrailingCharacters.cjs +32 -0
  171. package/utils/string/withTrailingCharacters.js +7 -4
  172. package/utils/string/withTrailingSlash.cjs +32 -0
  173. package/utils/string/withTrailingSlash.js +7 -4
  174. package/utils/string/withoutLeadingCharacters.cjs +28 -0
  175. package/utils/string/withoutLeadingCharacters.js +6 -3
  176. package/utils/string/withoutLeadingCharactersRecursive.cjs +37 -0
  177. package/utils/string/withoutLeadingCharactersRecursive.js +8 -7
  178. package/utils/string/withoutLeadingSlash.cjs +32 -0
  179. package/utils/string/withoutLeadingSlash.js +7 -4
  180. package/utils/string/withoutTrailingCharacters.cjs +28 -0
  181. package/utils/string/withoutTrailingCharacters.js +6 -3
  182. package/utils/string/withoutTrailingCharactersRecursive.cjs +37 -0
  183. package/utils/string/withoutTrailingCharactersRecursive.js +8 -7
  184. package/utils/string/withoutTrailingSlash.cjs +32 -0
  185. package/utils/string/withoutTrailingSlash.js +7 -4
  186. package/utils/throttle.cjs +36 -0
  187. package/utils/throttle.js +9 -9
  188. package/index.modern.js +0 -1
  189. package/index.umd.js +0 -1
@@ -0,0 +1,162 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var __publicField = (obj, key, value) => {
23
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
+ return value;
25
+ };
26
+
27
+ // packages/js-toolkit/services/pointer.js
28
+ var pointer_exports = {};
29
+ __export(pointer_exports, {
30
+ default: () => usePointer
31
+ });
32
+ module.exports = __toCommonJS(pointer_exports);
33
+ var import_Service = __toESM(require("./Service.cjs"), 1);
34
+ function isTouchEvent(event) {
35
+ return typeof TouchEvent !== "undefined" && event instanceof TouchEvent;
36
+ }
37
+ var Pointer = class extends import_Service.default {
38
+ constructor() {
39
+ super(...arguments);
40
+ __publicField(this, "props", {
41
+ event: null,
42
+ isDown: false,
43
+ x: window.innerWidth / 2,
44
+ y: window.innerHeight / 2,
45
+ changed: {
46
+ x: false,
47
+ y: false
48
+ },
49
+ last: {
50
+ x: window.innerWidth / 2,
51
+ y: window.innerHeight / 2
52
+ },
53
+ delta: {
54
+ x: 0,
55
+ y: 0
56
+ },
57
+ progress: {
58
+ x: 0.5,
59
+ y: 0.5
60
+ },
61
+ max: {
62
+ x: window.innerWidth,
63
+ y: window.innerHeight
64
+ }
65
+ });
66
+ __publicField(this, "hasRaf", false);
67
+ }
68
+ init() {
69
+ document.documentElement.addEventListener("mouseenter", this, {
70
+ once: true,
71
+ capture: true
72
+ });
73
+ const options = { passive: true, capture: true };
74
+ document.addEventListener("mousemove", this, options);
75
+ document.addEventListener("touchmove", this, options);
76
+ document.addEventListener("mousedown", this, options);
77
+ document.addEventListener("touchstart", this, options);
78
+ document.addEventListener("mouseup", this, options);
79
+ document.addEventListener("touchend", this, options);
80
+ return this;
81
+ }
82
+ handleEvent(event) {
83
+ switch (event.type) {
84
+ case "mouseenter":
85
+ case "mousemove":
86
+ case "touchmove":
87
+ this.handler(event);
88
+ break;
89
+ case "mousedown":
90
+ case "touchstart":
91
+ this.downHandler();
92
+ break;
93
+ case "mouseup":
94
+ case "touchend":
95
+ this.upHandler();
96
+ break;
97
+ }
98
+ }
99
+ kill() {
100
+ document.removeEventListener("mousemove", this);
101
+ document.removeEventListener("touchmove", this);
102
+ document.removeEventListener("mousedown", this);
103
+ document.removeEventListener("touchstart", this);
104
+ document.removeEventListener("mouseup", this);
105
+ document.removeEventListener("touchend", this);
106
+ return this;
107
+ }
108
+ handler(event) {
109
+ this.updateProps(event);
110
+ this.trigger(this.props);
111
+ }
112
+ downHandler() {
113
+ this.props.isDown = true;
114
+ this.trigger(this.props);
115
+ }
116
+ upHandler() {
117
+ this.props.isDown = false;
118
+ this.trigger(this.props);
119
+ }
120
+ updateProps(event) {
121
+ var _a, _b;
122
+ this.props.event = event;
123
+ const yLast = this.props.y;
124
+ const xLast = this.props.x;
125
+ const y = isTouchEvent(event) ? (_a = event.touches[0]) == null ? void 0 : _a.clientY : event.clientY;
126
+ if (y !== this.props.y) {
127
+ this.props.y = y;
128
+ }
129
+ const x = isTouchEvent(event) ? (_b = event.touches[0]) == null ? void 0 : _b.clientX : event.clientX;
130
+ if (x !== this.props.x) {
131
+ this.props.x = x;
132
+ }
133
+ this.props.changed.x = this.props.x !== xLast;
134
+ this.props.changed.y = this.props.y !== yLast;
135
+ this.props.last.x = xLast;
136
+ this.props.last.y = yLast;
137
+ this.props.delta.x = this.props.x - xLast;
138
+ this.props.delta.y = this.props.y - yLast;
139
+ this.props.max.x = window.innerWidth;
140
+ this.props.max.y = window.innerHeight;
141
+ this.props.progress.x = this.props.x / this.props.max.x;
142
+ this.props.progress.y = this.props.y / this.props.max.y;
143
+ return this.props;
144
+ }
145
+ };
146
+ var instance;
147
+ var pointer;
148
+ function usePointer() {
149
+ if (!pointer) {
150
+ if (!instance) {
151
+ instance = new Pointer();
152
+ }
153
+ pointer = {
154
+ add: instance.add.bind(instance),
155
+ remove: instance.remove.bind(instance),
156
+ has: instance.has.bind(instance),
157
+ props: instance.updateProps.bind(instance)
158
+ };
159
+ }
160
+ return pointer;
161
+ }
162
+ if (module.exports.default) module.exports = module.exports.default;
@@ -1,15 +1,17 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import Service from './Service.js';
3
-
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import Service from "./Service.js";
4
8
  function isTouchEvent(event) {
5
- return typeof TouchEvent !== 'undefined' && event instanceof TouchEvent;
9
+ return typeof TouchEvent !== "undefined" && event instanceof TouchEvent;
6
10
  }
7
-
8
11
  class Pointer extends Service {
9
12
  constructor() {
10
13
  super(...arguments);
11
-
12
- _defineProperty(this, "props", {
14
+ __publicField(this, "props", {
13
15
  event: null,
14
16
  isDown: false,
15
17
  x: window.innerWidth / 2,
@@ -35,91 +37,73 @@ class Pointer extends Service {
35
37
  y: window.innerHeight
36
38
  }
37
39
  });
38
-
39
- _defineProperty(this, "hasRaf", false);
40
+ __publicField(this, "hasRaf", false);
40
41
  }
41
-
42
42
  init() {
43
- document.documentElement.addEventListener('mouseenter', this, {
43
+ document.documentElement.addEventListener("mouseenter", this, {
44
44
  once: true,
45
45
  capture: true
46
46
  });
47
- var options = {
48
- passive: true,
49
- capture: true
50
- };
51
- document.addEventListener('mousemove', this, options);
52
- document.addEventListener('touchmove', this, options);
53
- document.addEventListener('mousedown', this, options);
54
- document.addEventListener('touchstart', this, options);
55
- document.addEventListener('mouseup', this, options);
56
- document.addEventListener('touchend', this, options);
47
+ const options = { passive: true, capture: true };
48
+ document.addEventListener("mousemove", this, options);
49
+ document.addEventListener("touchmove", this, options);
50
+ document.addEventListener("mousedown", this, options);
51
+ document.addEventListener("touchstart", this, options);
52
+ document.addEventListener("mouseup", this, options);
53
+ document.addEventListener("touchend", this, options);
57
54
  return this;
58
55
  }
59
-
60
56
  handleEvent(event) {
61
57
  switch (event.type) {
62
- case 'mouseenter':
63
- case 'mousemove':
64
- case 'touchmove':
58
+ case "mouseenter":
59
+ case "mousemove":
60
+ case "touchmove":
65
61
  this.handler(event);
66
62
  break;
67
-
68
- case 'mousedown':
69
- case 'touchstart':
63
+ case "mousedown":
64
+ case "touchstart":
70
65
  this.downHandler();
71
66
  break;
72
-
73
- case 'mouseup':
74
- case 'touchend':
67
+ case "mouseup":
68
+ case "touchend":
75
69
  this.upHandler();
76
70
  break;
77
71
  }
78
72
  }
79
-
80
73
  kill() {
81
- document.removeEventListener('mousemove', this);
82
- document.removeEventListener('touchmove', this);
83
- document.removeEventListener('mousedown', this);
84
- document.removeEventListener('touchstart', this);
85
- document.removeEventListener('mouseup', this);
86
- document.removeEventListener('touchend', this);
74
+ document.removeEventListener("mousemove", this);
75
+ document.removeEventListener("touchmove", this);
76
+ document.removeEventListener("mousedown", this);
77
+ document.removeEventListener("touchstart", this);
78
+ document.removeEventListener("mouseup", this);
79
+ document.removeEventListener("touchend", this);
87
80
  return this;
88
81
  }
89
-
90
82
  handler(event) {
91
83
  this.updateProps(event);
92
84
  this.trigger(this.props);
93
85
  }
94
-
95
86
  downHandler() {
96
87
  this.props.isDown = true;
97
88
  this.trigger(this.props);
98
89
  }
99
-
100
90
  upHandler() {
101
91
  this.props.isDown = false;
102
92
  this.trigger(this.props);
103
93
  }
104
-
105
94
  updateProps(event) {
106
- var _event$touches$, _event$touches$2;
107
-
95
+ var _a, _b;
108
96
  this.props.event = event;
109
- var yLast = this.props.y;
110
- var xLast = this.props.x;
111
- var y = isTouchEvent(event) ? (_event$touches$ = event.touches[0]) === null || _event$touches$ === void 0 ? void 0 : _event$touches$.clientY : event.clientY;
112
-
97
+ const yLast = this.props.y;
98
+ const xLast = this.props.x;
99
+ const y = isTouchEvent(event) ? (_a = event.touches[0]) == null ? void 0 : _a.clientY : event.clientY;
113
100
  if (y !== this.props.y) {
114
101
  this.props.y = y;
115
102
  }
116
-
117
- var x = isTouchEvent(event) ? (_event$touches$2 = event.touches[0]) === null || _event$touches$2 === void 0 ? void 0 : _event$touches$2.clientX : event.clientX;
118
-
103
+ const x = isTouchEvent(event) ? (_b = event.touches[0]) == null ? void 0 : _b.clientX : event.clientX;
119
104
  if (x !== this.props.x) {
120
105
  this.props.x = x;
121
106
  }
122
-
123
107
  this.props.changed.x = this.props.x !== xLast;
124
108
  this.props.changed.y = this.props.y !== yLast;
125
109
  this.props.last.x = xLast;
@@ -132,17 +116,14 @@ class Pointer extends Service {
132
116
  this.props.progress.y = this.props.y / this.props.max.y;
133
117
  return this.props;
134
118
  }
135
-
136
119
  }
137
-
138
- var instance;
139
- var pointer;
140
- export default function usePointer() {
120
+ let instance;
121
+ let pointer;
122
+ function usePointer() {
141
123
  if (!pointer) {
142
124
  if (!instance) {
143
125
  instance = new Pointer();
144
126
  }
145
-
146
127
  pointer = {
147
128
  add: instance.add.bind(instance),
148
129
  remove: instance.remove.bind(instance),
@@ -150,6 +131,8 @@ export default function usePointer() {
150
131
  props: instance.updateProps.bind(instance)
151
132
  };
152
133
  }
153
-
154
134
  return pointer;
155
- }
135
+ }
136
+ export {
137
+ usePointer as default
138
+ };
@@ -0,0 +1,83 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var __publicField = (obj, key, value) => {
23
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
+ return value;
25
+ };
26
+
27
+ // packages/js-toolkit/services/raf.js
28
+ var raf_exports = {};
29
+ __export(raf_exports, {
30
+ default: () => useRaf
31
+ });
32
+ module.exports = __toCommonJS(raf_exports);
33
+ var import_Service = __toESM(require("./Service.cjs"), 1);
34
+ var import_nextFrame = require("../utils/nextFrame.cjs");
35
+ var Raf = class extends import_Service.default {
36
+ constructor() {
37
+ super(...arguments);
38
+ __publicField(this, "isTicking", false);
39
+ __publicField(this, "id", 0);
40
+ __publicField(this, "raf", (0, import_nextFrame.getRaf)());
41
+ __publicField(this, "cancelRaf", (0, import_nextFrame.getCancelRaf)());
42
+ __publicField(this, "props", {
43
+ time: performance.now()
44
+ });
45
+ }
46
+ init() {
47
+ this.isTicking = true;
48
+ this.loop();
49
+ }
50
+ loop() {
51
+ this.updateProps();
52
+ this.trigger(this.props);
53
+ if (!this.isTicking) {
54
+ return;
55
+ }
56
+ this.id = this.raf(() => this.loop());
57
+ }
58
+ kill() {
59
+ this.cancelRaf(this.id);
60
+ this.isTicking = false;
61
+ }
62
+ updateProps() {
63
+ this.props.time = window.performance.now();
64
+ return this.props;
65
+ }
66
+ };
67
+ var instance;
68
+ var raf;
69
+ function useRaf() {
70
+ if (!raf) {
71
+ if (!instance) {
72
+ instance = new Raf();
73
+ }
74
+ raf = {
75
+ add: instance.add.bind(instance),
76
+ remove: instance.remove.bind(instance),
77
+ has: instance.has.bind(instance),
78
+ props: instance.updateProps.bind(instance)
79
+ };
80
+ }
81
+ return raf;
82
+ }
83
+ if (module.exports.default) module.exports = module.exports.default;
package/services/raf.js CHANGED
@@ -1,60 +1,50 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import Service from './Service.js';
3
- import { getRaf, getCancelRaf } from '../utils/nextFrame.js';
4
-
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import Service from "./Service.js";
8
+ import { getRaf, getCancelRaf } from "../utils/nextFrame.js";
5
9
  class Raf extends Service {
6
10
  constructor() {
7
11
  super(...arguments);
8
-
9
- _defineProperty(this, "isTicking", false);
10
-
11
- _defineProperty(this, "id", 0);
12
-
13
- _defineProperty(this, "raf", getRaf());
14
-
15
- _defineProperty(this, "cancelRaf", getCancelRaf());
16
-
17
- _defineProperty(this, "props", {
12
+ __publicField(this, "isTicking", false);
13
+ __publicField(this, "id", 0);
14
+ __publicField(this, "raf", getRaf());
15
+ __publicField(this, "cancelRaf", getCancelRaf());
16
+ __publicField(this, "props", {
18
17
  time: performance.now()
19
18
  });
20
19
  }
21
-
22
20
  init() {
23
21
  this.isTicking = true;
24
22
  this.loop();
25
23
  }
26
-
27
24
  loop() {
28
25
  this.updateProps();
29
26
  this.trigger(this.props);
30
-
31
27
  if (!this.isTicking) {
32
28
  return;
33
29
  }
34
-
35
30
  this.id = this.raf(() => this.loop());
36
31
  }
37
-
38
32
  kill() {
39
33
  this.cancelRaf(this.id);
40
34
  this.isTicking = false;
41
35
  }
42
-
43
36
  updateProps() {
44
37
  this.props.time = window.performance.now();
45
38
  return this.props;
46
39
  }
47
-
48
40
  }
49
-
50
- var instance;
51
- var raf;
52
- export default function useRaf() {
41
+ let instance;
42
+ let raf;
43
+ function useRaf() {
53
44
  if (!raf) {
54
45
  if (!instance) {
55
46
  instance = new Raf();
56
47
  }
57
-
58
48
  raf = {
59
49
  add: instance.add.bind(instance),
60
50
  remove: instance.remove.bind(instance),
@@ -62,6 +52,8 @@ export default function useRaf() {
62
52
  props: instance.updateProps.bind(instance)
63
53
  };
64
54
  }
65
-
66
55
  return raf;
67
- }
56
+ }
57
+ export {
58
+ useRaf as default
59
+ };
@@ -0,0 +1,108 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var __publicField = (obj, key, value) => {
23
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
+ return value;
25
+ };
26
+
27
+ // packages/js-toolkit/services/resize.js
28
+ var resize_exports = {};
29
+ __export(resize_exports, {
30
+ default: () => useResize
31
+ });
32
+ module.exports = __toCommonJS(resize_exports);
33
+ var import_Service = __toESM(require("./Service.cjs"), 1);
34
+ var import_debounce = __toESM(require("../utils/debounce.cjs"), 1);
35
+ var Resize = class extends import_Service.default {
36
+ constructor() {
37
+ super(...arguments);
38
+ __publicField(this, "props", {
39
+ width: window.innerWidth,
40
+ height: window.innerHeight,
41
+ ratio: window.innerWidth / window.innerHeight,
42
+ orientation: "square"
43
+ });
44
+ __publicField(this, "handler");
45
+ }
46
+ init() {
47
+ this.handler = (0, import_debounce.default)(() => {
48
+ this.updateProps();
49
+ this.trigger(this.props);
50
+ }).bind(this);
51
+ window.addEventListener("resize", this.handler);
52
+ return this;
53
+ }
54
+ kill() {
55
+ window.removeEventListener("resize", this.handler);
56
+ }
57
+ updateProps() {
58
+ this.props.width = window.innerWidth;
59
+ this.props.height = window.innerHeight;
60
+ this.props.ratio = window.innerWidth / window.innerHeight;
61
+ this.props.orientation = "square";
62
+ if (this.props.ratio > 1) {
63
+ this.props.orientation = "landscape";
64
+ }
65
+ if (this.props.ratio < 1) {
66
+ this.props.orientation = "portrait";
67
+ }
68
+ if (this.breakpointElement) {
69
+ this.props.breakpoint = this.breakpoint;
70
+ this.props.breakpoints = this.breakpoints;
71
+ } else {
72
+ this.props.breakpoint = void 0;
73
+ this.props.breakpoints = void 0;
74
+ }
75
+ return this.props;
76
+ }
77
+ get breakpointElement() {
78
+ return document.querySelector("[data-breakpoint]");
79
+ }
80
+ get breakpoint() {
81
+ return window.getComputedStyle(this.breakpointElement, "::before").getPropertyValue("content").replace(/"/g, "");
82
+ }
83
+ get breakpoints() {
84
+ const breakpoints = window.getComputedStyle(this.breakpointElement, "::after").getPropertyValue("content").replace(/"/g, "");
85
+ return breakpoints.split(",");
86
+ }
87
+ };
88
+ var instance;
89
+ var resize;
90
+ function useResize() {
91
+ if (!resize) {
92
+ if (!instance) {
93
+ instance = new Resize();
94
+ }
95
+ const add = instance.add.bind(instance);
96
+ const remove = instance.remove.bind(instance);
97
+ const has = instance.has.bind(instance);
98
+ const props = instance.updateProps.bind(instance);
99
+ resize = {
100
+ add,
101
+ remove,
102
+ has,
103
+ props
104
+ };
105
+ }
106
+ return resize;
107
+ }
108
+ if (module.exports.default) module.exports = module.exports.default;