@studiometa/js-toolkit 2.0.0-beta.9 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) 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 +28 -38
  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/decorators/index.cjs +45 -0
  19. package/decorators/index.d.ts +1 -0
  20. package/decorators/index.js +20 -8
  21. package/decorators/withBreakpointManager.cjs +85 -0
  22. package/decorators/withBreakpointManager.js +18 -39
  23. package/decorators/withBreakpointObserver.cjs +115 -0
  24. package/decorators/withBreakpointObserver.js +44 -86
  25. package/decorators/withDrag.cjs +53 -0
  26. package/decorators/withDrag.js +24 -26
  27. package/decorators/withExtraConfig.cjs +43 -0
  28. package/decorators/withExtraConfig.js +17 -12
  29. package/decorators/withFreezedOptions.cjs +36 -0
  30. package/decorators/withFreezedOptions.d.ts +14 -0
  31. package/decorators/withFreezedOptions.js +14 -0
  32. package/decorators/withIntersectionObserver.cjs +62 -0
  33. package/decorators/withIntersectionObserver.js +29 -32
  34. package/decorators/withMountWhenInView.cjs +69 -0
  35. package/decorators/withMountWhenInView.js +31 -52
  36. package/decorators/withScrolledInView.cjs +114 -0
  37. package/decorators/withScrolledInView.js +35 -39
  38. package/decorators/withVue2.cjs +60 -0
  39. package/decorators/withVue2.js +26 -32
  40. package/helpers/createApp.cjs +52 -0
  41. package/helpers/createApp.d.ts +2 -2
  42. package/helpers/createApp.js +12 -12
  43. package/helpers/importOnInteraction.cjs +52 -0
  44. package/helpers/importOnInteraction.js +17 -18
  45. package/helpers/importWhenIdle.cjs +49 -0
  46. package/helpers/importWhenIdle.js +14 -17
  47. package/helpers/importWhenVisible.cjs +50 -0
  48. package/helpers/importWhenVisible.js +16 -18
  49. package/helpers/index.cjs +35 -0
  50. package/helpers/index.js +10 -4
  51. package/helpers/utils.cjs +35 -0
  52. package/helpers/utils.js +7 -6
  53. package/index.cjs +33 -0
  54. package/index.js +7 -4
  55. package/package.json +14 -4
  56. package/services/Service.cjs +76 -0
  57. package/services/Service.js +19 -32
  58. package/services/drag.cjs +213 -0
  59. package/services/drag.d.ts +1 -0
  60. package/services/drag.js +64 -68
  61. package/services/index.cjs +41 -0
  62. package/services/index.js +16 -7
  63. package/services/key.cjs +104 -0
  64. package/services/key.js +28 -36
  65. package/services/load.cjs +72 -0
  66. package/services/load.js +17 -19
  67. package/services/pointer.cjs +162 -0
  68. package/services/pointer.js +43 -60
  69. package/services/raf.cjs +83 -0
  70. package/services/raf.js +20 -28
  71. package/services/resize.cjs +108 -0
  72. package/services/resize.js +33 -42
  73. package/services/scroll.cjs +131 -0
  74. package/services/scroll.js +26 -35
  75. package/utils/collide/boundingRectToCircle.cjs +34 -0
  76. package/utils/collide/boundingRectToCircle.d.ts +1 -1
  77. package/utils/collide/boundingRectToCircle.js +7 -10
  78. package/utils/collide/collideCircleCircle.cjs +34 -0
  79. package/utils/collide/collideCircleCircle.js +8 -7
  80. package/utils/collide/collideCircleRect.cjs +46 -0
  81. package/utils/collide/collideCircleRect.js +10 -12
  82. package/utils/collide/collidePointCircle.cjs +31 -0
  83. package/utils/collide/collidePointCircle.js +8 -5
  84. package/utils/collide/collidePointRect.cjs +28 -0
  85. package/utils/collide/collidePointRect.js +5 -2
  86. package/utils/collide/collideRectRect.cjs +28 -0
  87. package/utils/collide/collideRectRect.js +5 -2
  88. package/utils/collide/index.cjs +39 -0
  89. package/utils/collide/index.js +14 -6
  90. package/utils/css/classes.cjs +47 -0
  91. package/utils/css/classes.d.ts +10 -9
  92. package/utils/css/classes.js +18 -14
  93. package/utils/css/index.cjs +38 -0
  94. package/utils/css/index.d.ts +2 -2
  95. package/utils/css/index.js +13 -6
  96. package/utils/css/matrix.cjs +30 -0
  97. package/utils/css/matrix.js +7 -5
  98. package/utils/css/styles.cjs +44 -0
  99. package/utils/css/styles.d.ts +6 -18
  100. package/utils/css/styles.js +12 -12
  101. package/utils/css/transition.cjs +120 -0
  102. package/utils/css/transition.d.ts +15 -9
  103. package/utils/css/transition.js +70 -119
  104. package/utils/debounce.cjs +34 -0
  105. package/utils/debounce.js +7 -9
  106. package/utils/focusTrap.cjs +82 -0
  107. package/utils/focusTrap.js +30 -21
  108. package/utils/history.cjs +89 -0
  109. package/utils/history.js +28 -57
  110. package/utils/index.cjs +54 -0
  111. package/utils/index.d.ts +4 -1
  112. package/utils/index.js +32 -11
  113. package/utils/keyCodes.cjs +35 -0
  114. package/utils/keyCodes.js +5 -2
  115. package/utils/math/clamp.cjs +28 -0
  116. package/utils/math/clamp.js +5 -2
  117. package/utils/math/clamp01.cjs +32 -0
  118. package/utils/math/clamp01.js +6 -3
  119. package/utils/math/damp.cjs +28 -0
  120. package/utils/math/damp.js +5 -4
  121. package/utils/math/ease.cjs +88 -0
  122. package/utils/math/ease.js +50 -25
  123. package/utils/math/index.cjs +43 -0
  124. package/utils/math/index.js +17 -8
  125. package/utils/math/inertiaFinalValue.cjs +37 -0
  126. package/utils/math/inertiaFinalValue.js +8 -10
  127. package/utils/math/lerp.cjs +28 -0
  128. package/utils/math/lerp.js +5 -2
  129. package/utils/math/map.cjs +28 -0
  130. package/utils/math/map.js +5 -2
  131. package/utils/math/round.cjs +28 -0
  132. package/utils/math/round.js +5 -3
  133. package/utils/memoize.cjs +43 -0
  134. package/utils/memoize.js +10 -19
  135. package/utils/nextFrame.cjs +38 -0
  136. package/utils/nextFrame.d.ts +4 -3
  137. package/utils/nextFrame.js +13 -10
  138. package/utils/nextMicrotask.cjs +28 -0
  139. package/utils/nextMicrotask.d.ts +8 -0
  140. package/utils/nextMicrotask.js +6 -0
  141. package/utils/nextTick.cjs +30 -0
  142. package/utils/nextTick.d.ts +8 -0
  143. package/utils/nextTick.js +8 -0
  144. package/utils/object/autoBind.cjs +49 -0
  145. package/utils/object/autoBind.js +12 -22
  146. package/utils/object/getAllProperties.cjs +37 -0
  147. package/utils/object/getAllProperties.js +10 -13
  148. package/utils/object/index.cjs +33 -0
  149. package/utils/object/index.js +8 -3
  150. package/utils/object/isObject.cjs +28 -0
  151. package/utils/object/isObject.js +6 -3
  152. package/utils/scrollTo.cjs +80 -0
  153. package/utils/scrollTo.js +20 -40
  154. package/utils/string/index.cjs +47 -0
  155. package/utils/string/index.js +22 -10
  156. package/utils/string/withLeadingCharacters.cjs +32 -0
  157. package/utils/string/withLeadingCharacters.js +7 -4
  158. package/utils/string/withLeadingSlash.cjs +32 -0
  159. package/utils/string/withLeadingSlash.js +7 -4
  160. package/utils/string/withTrailingCharacters.cjs +32 -0
  161. package/utils/string/withTrailingCharacters.js +7 -4
  162. package/utils/string/withTrailingSlash.cjs +32 -0
  163. package/utils/string/withTrailingSlash.js +7 -4
  164. package/utils/string/withoutLeadingCharacters.cjs +28 -0
  165. package/utils/string/withoutLeadingCharacters.js +6 -3
  166. package/utils/string/withoutLeadingCharactersRecursive.cjs +37 -0
  167. package/utils/string/withoutLeadingCharactersRecursive.js +8 -7
  168. package/utils/string/withoutLeadingSlash.cjs +32 -0
  169. package/utils/string/withoutLeadingSlash.js +7 -4
  170. package/utils/string/withoutTrailingCharacters.cjs +28 -0
  171. package/utils/string/withoutTrailingCharacters.js +6 -3
  172. package/utils/string/withoutTrailingCharactersRecursive.cjs +37 -0
  173. package/utils/string/withoutTrailingCharactersRecursive.js +8 -7
  174. package/utils/string/withoutTrailingSlash.cjs +32 -0
  175. package/utils/string/withoutTrailingSlash.js +7 -4
  176. package/utils/throttle.cjs +36 -0
  177. package/utils/throttle.js +9 -9
  178. package/index.modern.js +0 -1
  179. package/index.umd.js +0 -1
@@ -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;
@@ -1,86 +1,75 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import Service from './Service.js';
3
- import debounce from '../utils/debounce.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 debounce from "../utils/debounce.js";
5
9
  class Resize extends Service {
6
10
  constructor() {
7
11
  super(...arguments);
8
-
9
- _defineProperty(this, "props", {
12
+ __publicField(this, "props", {
10
13
  width: window.innerWidth,
11
14
  height: window.innerHeight,
12
15
  ratio: window.innerWidth / window.innerHeight,
13
- orientation: 'square'
16
+ orientation: "square"
14
17
  });
15
-
16
- _defineProperty(this, "handler", void 0);
18
+ __publicField(this, "handler");
17
19
  }
18
-
19
20
  init() {
20
21
  this.handler = debounce(() => {
21
22
  this.updateProps();
22
23
  this.trigger(this.props);
23
24
  }).bind(this);
24
- window.addEventListener('resize', this.handler);
25
+ window.addEventListener("resize", this.handler);
25
26
  return this;
26
27
  }
27
-
28
28
  kill() {
29
- window.removeEventListener('resize', this.handler);
29
+ window.removeEventListener("resize", this.handler);
30
30
  }
31
-
32
31
  updateProps() {
33
32
  this.props.width = window.innerWidth;
34
33
  this.props.height = window.innerHeight;
35
34
  this.props.ratio = window.innerWidth / window.innerHeight;
36
- this.props.orientation = 'square';
37
-
35
+ this.props.orientation = "square";
38
36
  if (this.props.ratio > 1) {
39
- this.props.orientation = 'landscape';
37
+ this.props.orientation = "landscape";
40
38
  }
41
-
42
39
  if (this.props.ratio < 1) {
43
- this.props.orientation = 'portrait';
40
+ this.props.orientation = "portrait";
44
41
  }
45
-
46
42
  if (this.breakpointElement) {
47
43
  this.props.breakpoint = this.breakpoint;
48
44
  this.props.breakpoints = this.breakpoints;
49
45
  } else {
50
- this.props.breakpoint = undefined;
51
- this.props.breakpoints = undefined;
46
+ this.props.breakpoint = void 0;
47
+ this.props.breakpoints = void 0;
52
48
  }
53
-
54
49
  return this.props;
55
50
  }
56
-
57
51
  get breakpointElement() {
58
- return document.querySelector('[data-breakpoint]');
52
+ return document.querySelector("[data-breakpoint]");
59
53
  }
60
-
61
54
  get breakpoint() {
62
- return window.getComputedStyle(this.breakpointElement, '::before').getPropertyValue('content').replace(/"/g, '');
55
+ return window.getComputedStyle(this.breakpointElement, "::before").getPropertyValue("content").replace(/"/g, "");
63
56
  }
64
-
65
57
  get breakpoints() {
66
- var breakpoints = window.getComputedStyle(this.breakpointElement, '::after').getPropertyValue('content').replace(/"/g, '');
67
- return breakpoints.split(',');
58
+ const breakpoints = window.getComputedStyle(this.breakpointElement, "::after").getPropertyValue("content").replace(/"/g, "");
59
+ return breakpoints.split(",");
68
60
  }
69
-
70
61
  }
71
-
72
- var instance;
73
- var resize;
74
- export default function useResize() {
62
+ let instance;
63
+ let resize;
64
+ function useResize() {
75
65
  if (!resize) {
76
66
  if (!instance) {
77
67
  instance = new Resize();
78
68
  }
79
-
80
- var add = instance.add.bind(instance);
81
- var remove = instance.remove.bind(instance);
82
- var has = instance.has.bind(instance);
83
- var props = instance.updateProps.bind(instance);
69
+ const add = instance.add.bind(instance);
70
+ const remove = instance.remove.bind(instance);
71
+ const has = instance.has.bind(instance);
72
+ const props = instance.updateProps.bind(instance);
84
73
  resize = {
85
74
  add,
86
75
  remove,
@@ -88,6 +77,8 @@ export default function useResize() {
88
77
  props
89
78
  };
90
79
  }
91
-
92
80
  return resize;
93
- }
81
+ }
82
+ export {
83
+ useResize as default
84
+ };
@@ -0,0 +1,131 @@
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/scroll.js
28
+ var scroll_exports = {};
29
+ __export(scroll_exports, {
30
+ default: () => useScroll
31
+ });
32
+ module.exports = __toCommonJS(scroll_exports);
33
+ var import_Service = __toESM(require("./Service.cjs"), 1);
34
+ var import_debounce = __toESM(require("../utils/debounce.cjs"), 1);
35
+ var Scroll = class extends import_Service.default {
36
+ constructor() {
37
+ super(...arguments);
38
+ __publicField(this, "props", {
39
+ x: window.pageXOffset,
40
+ y: window.pageYOffset,
41
+ changed: {
42
+ x: false,
43
+ y: false
44
+ },
45
+ last: {
46
+ x: window.pageXOffset,
47
+ y: window.pageYOffset
48
+ },
49
+ delta: {
50
+ x: 0,
51
+ y: 0
52
+ },
53
+ max: {
54
+ x: (document.scrollingElement || document.body).scrollWidth - window.innerWidth,
55
+ y: (document.scrollingElement || document.body).scrollHeight - window.innerHeight
56
+ },
57
+ progress: {
58
+ x: 0,
59
+ y: 0
60
+ },
61
+ direction: {
62
+ x: "NONE",
63
+ y: "NONE"
64
+ }
65
+ });
66
+ }
67
+ init() {
68
+ this.updateProps();
69
+ document.addEventListener("scroll", this, { passive: true, capture: true });
70
+ return this;
71
+ }
72
+ get debouncedHandler() {
73
+ const debounced = (0, import_debounce.default)(() => {
74
+ this.updateProps();
75
+ this.trigger(this.props);
76
+ }, 100);
77
+ Object.defineProperty(this, "debouncedHandler", {
78
+ value: debounced
79
+ });
80
+ return debounced;
81
+ }
82
+ handleEvent() {
83
+ this.updateProps();
84
+ this.trigger(this.props);
85
+ this.debouncedHandler();
86
+ }
87
+ kill() {
88
+ document.removeEventListener("scroll", this);
89
+ return this;
90
+ }
91
+ updateProps() {
92
+ const yLast = this.props.y;
93
+ const xLast = this.props.x;
94
+ if (window.pageYOffset !== this.props.y) {
95
+ this.props.y = window.pageYOffset;
96
+ }
97
+ if (window.pageXOffset !== this.props.x) {
98
+ this.props.x = window.pageXOffset;
99
+ }
100
+ this.props.changed.x = this.props.x !== xLast;
101
+ this.props.changed.y = this.props.y !== yLast;
102
+ this.props.last.x = xLast;
103
+ this.props.last.y = yLast;
104
+ this.props.delta.x = this.props.x - xLast;
105
+ this.props.delta.y = this.props.y - yLast;
106
+ this.props.max.x = (document.scrollingElement || document.body).scrollWidth - window.innerWidth;
107
+ this.props.max.y = (document.scrollingElement || document.body).scrollHeight - window.innerHeight;
108
+ this.props.progress.x = this.props.max.x === 0 ? 1 : this.props.x / this.props.max.x;
109
+ this.props.progress.y = this.props.max.y === 0 ? 1 : this.props.y / this.props.max.y;
110
+ this.props.direction.x = this.props.x > xLast ? "RIGHT" : this.props.x < xLast ? "LEFT" : "NONE";
111
+ this.props.direction.y = this.props.y > yLast ? "DOWN" : this.props.y < yLast ? "UP" : "NONE";
112
+ return this.props;
113
+ }
114
+ };
115
+ var instance;
116
+ var scroll;
117
+ function useScroll() {
118
+ if (!scroll) {
119
+ if (!instance) {
120
+ instance = new Scroll();
121
+ }
122
+ scroll = {
123
+ add: instance.add.bind(instance),
124
+ remove: instance.remove.bind(instance),
125
+ has: instance.has.bind(instance),
126
+ props: instance.updateProps.bind(instance)
127
+ };
128
+ }
129
+ return scroll;
130
+ }
131
+ if (module.exports.default) module.exports = module.exports.default;
@@ -1,12 +1,15 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import Service from './Service.js';
3
- import debounce from '../utils/debounce.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 debounce from "../utils/debounce.js";
5
9
  class Scroll extends Service {
6
10
  constructor() {
7
11
  super(...arguments);
8
-
9
- _defineProperty(this, "props", {
12
+ __publicField(this, "props", {
10
13
  x: window.pageXOffset,
11
14
  y: window.pageYOffset,
12
15
  changed: {
@@ -30,55 +33,44 @@ class Scroll extends Service {
30
33
  y: 0
31
34
  },
32
35
  direction: {
33
- x: 'NONE',
34
- y: 'NONE'
36
+ x: "NONE",
37
+ y: "NONE"
35
38
  }
36
39
  });
37
40
  }
38
-
39
41
  init() {
40
42
  this.updateProps();
41
- document.addEventListener('scroll', this, {
42
- passive: true,
43
- capture: true
44
- });
43
+ document.addEventListener("scroll", this, { passive: true, capture: true });
45
44
  return this;
46
45
  }
47
-
48
46
  get debouncedHandler() {
49
- var debounced = debounce(() => {
47
+ const debounced = debounce(() => {
50
48
  this.updateProps();
51
49
  this.trigger(this.props);
52
50
  }, 100);
53
- Object.defineProperty(this, 'debouncedHandler', {
51
+ Object.defineProperty(this, "debouncedHandler", {
54
52
  value: debounced
55
53
  });
56
54
  return debounced;
57
55
  }
58
-
59
56
  handleEvent() {
60
57
  this.updateProps();
61
58
  this.trigger(this.props);
62
59
  this.debouncedHandler();
63
60
  }
64
-
65
61
  kill() {
66
- document.removeEventListener('scroll', this);
62
+ document.removeEventListener("scroll", this);
67
63
  return this;
68
64
  }
69
-
70
65
  updateProps() {
71
- var yLast = this.props.y;
72
- var xLast = this.props.x;
73
-
66
+ const yLast = this.props.y;
67
+ const xLast = this.props.x;
74
68
  if (window.pageYOffset !== this.props.y) {
75
69
  this.props.y = window.pageYOffset;
76
70
  }
77
-
78
71
  if (window.pageXOffset !== this.props.x) {
79
72
  this.props.x = window.pageXOffset;
80
73
  }
81
-
82
74
  this.props.changed.x = this.props.x !== xLast;
83
75
  this.props.changed.y = this.props.y !== yLast;
84
76
  this.props.last.x = xLast;
@@ -89,21 +81,18 @@ class Scroll extends Service {
89
81
  this.props.max.y = (document.scrollingElement || document.body).scrollHeight - window.innerHeight;
90
82
  this.props.progress.x = this.props.max.x === 0 ? 1 : this.props.x / this.props.max.x;
91
83
  this.props.progress.y = this.props.max.y === 0 ? 1 : this.props.y / this.props.max.y;
92
- this.props.direction.x = this.props.x > xLast ? 'RIGHT' : this.props.x < xLast ? 'LEFT' : 'NONE';
93
- this.props.direction.y = this.props.y > yLast ? 'DOWN' : this.props.y < yLast ? 'UP' : 'NONE';
84
+ this.props.direction.x = this.props.x > xLast ? "RIGHT" : this.props.x < xLast ? "LEFT" : "NONE";
85
+ this.props.direction.y = this.props.y > yLast ? "DOWN" : this.props.y < yLast ? "UP" : "NONE";
94
86
  return this.props;
95
87
  }
96
-
97
88
  }
98
-
99
- var instance;
100
- var scroll;
101
- export default function useScroll() {
89
+ let instance;
90
+ let scroll;
91
+ function useScroll() {
102
92
  if (!scroll) {
103
93
  if (!instance) {
104
94
  instance = new Scroll();
105
95
  }
106
-
107
96
  scroll = {
108
97
  add: instance.add.bind(instance),
109
98
  remove: instance.remove.bind(instance),
@@ -111,6 +100,8 @@ export default function useScroll() {
111
100
  props: instance.updateProps.bind(instance)
112
101
  };
113
102
  }
114
-
115
103
  return scroll;
116
- }
104
+ }
105
+ export {
106
+ useScroll as default
107
+ };