@studiometa/js-toolkit 2.12.0 → 3.0.0-alpha.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 (341) hide show
  1. package/Base/Base.d.ts +2 -2
  2. package/Base/Base.js +8 -45
  3. package/Base/Base.js.map +2 -2
  4. package/Base/features.d.ts +10 -2
  5. package/Base/features.js +23 -1
  6. package/Base/features.js.map +2 -2
  7. package/Base/managers/AbstractManager.d.ts +3 -3
  8. package/Base/managers/ActionManager.d.ts +4 -0
  9. package/Base/managers/ActionManager.js +10 -0
  10. package/Base/managers/ActionManager.js.map +7 -0
  11. package/Base/managers/ChildrenManager.d.ts +1 -1
  12. package/Base/managers/ServicesManager.d.ts +2 -4
  13. package/Base/managers/ServicesManager.js +2 -3
  14. package/Base/managers/ServicesManager.js.map +2 -2
  15. package/Base/utils.js +1 -1
  16. package/Base/utils.js.map +2 -2
  17. package/decorators/index.d.ts +0 -1
  18. package/decorators/index.js +0 -1
  19. package/decorators/index.js.map +2 -2
  20. package/decorators/withBreakpointObserver.js +1 -1
  21. package/decorators/withBreakpointObserver.js.map +2 -2
  22. package/decorators/withIntersectionObserver.js +1 -1
  23. package/decorators/withIntersectionObserver.js.map +2 -2
  24. package/decorators/withMountOnMediaQuery.js +1 -1
  25. package/decorators/withMountOnMediaQuery.js.map +2 -2
  26. package/decorators/withMountWhenInView.js +1 -1
  27. package/decorators/withMountWhenInView.js.map +2 -2
  28. package/decorators/withScrolledInView/utils.d.ts +12 -1
  29. package/decorators/withScrolledInView/utils.js.map +2 -2
  30. package/decorators/withScrolledInView/withScrolledInView.js +7 -62
  31. package/decorators/withScrolledInView/withScrolledInView.js.map +2 -2
  32. package/helpers/createApp.d.ts +2 -1
  33. package/helpers/createApp.js.map +2 -2
  34. package/package.json +2 -10
  35. package/services/index.d.ts +1 -1
  36. package/services/index.js.map +2 -2
  37. package/services/pointer.d.ts +1 -1
  38. package/services/pointer.js +3 -3
  39. package/services/pointer.js.map +2 -2
  40. package/services/raf.js +2 -4
  41. package/services/raf.js.map +2 -2
  42. package/services/resize.d.ts +7 -6
  43. package/services/resize.js +19 -26
  44. package/services/resize.js.map +2 -2
  45. package/services/scroll.js +8 -8
  46. package/services/scroll.js.map +2 -2
  47. package/utils/SmartQueue.d.ts +1 -1
  48. package/utils/SmartQueue.js +1 -1
  49. package/utils/SmartQueue.js.map +2 -2
  50. package/utils/css/animate.d.ts +33 -15
  51. package/utils/css/animate.js +67 -26
  52. package/utils/css/animate.js.map +2 -2
  53. package/utils/css/getOffsetSizes.js +2 -2
  54. package/utils/css/getOffsetSizes.js.map +1 -1
  55. package/utils/css/index.d.ts +2 -1
  56. package/utils/css/index.js +4 -4
  57. package/utils/css/index.js.map +2 -2
  58. package/utils/css/matrix.d.ts +1 -1
  59. package/utils/css/matrix.js.map +2 -2
  60. package/utils/css/transform.d.ts +1 -1
  61. package/utils/css/transform.js +1 -1
  62. package/utils/css/transform.js.map +2 -2
  63. package/utils/css/utils.d.ts +1 -1
  64. package/utils/css/utils.js +1 -1
  65. package/utils/css/utils.js.map +2 -2
  66. package/utils/index.d.ts +5 -4
  67. package/utils/index.js +16 -16
  68. package/utils/index.js.map +2 -2
  69. package/utils/is.d.ts +12 -0
  70. package/utils/is.js +17 -0
  71. package/utils/is.js.map +2 -2
  72. package/utils/math/ease.d.ts +1 -0
  73. package/utils/math/ease.js +2 -0
  74. package/utils/math/ease.js.map +2 -2
  75. package/utils/math/index.d.ts +4 -3
  76. package/utils/math/index.js +5 -3
  77. package/utils/math/index.js.map +2 -2
  78. package/utils/math/mean.d.ts +1 -0
  79. package/utils/math/mean.js +17 -0
  80. package/utils/math/mean.js.map +7 -0
  81. package/utils/nextFrame.d.ts +4 -22
  82. package/utils/nextFrame.js +3 -10
  83. package/utils/nextFrame.js.map +2 -2
  84. package/utils/nextMicrotask.d.ts +4 -1
  85. package/utils/nextMicrotask.js +3 -3
  86. package/utils/nextMicrotask.js.map +2 -2
  87. package/utils/nextTick.d.ts +4 -1
  88. package/utils/nextTick.js +3 -3
  89. package/utils/nextTick.js.map +2 -2
  90. package/utils/random.d.ts +15 -0
  91. package/utils/random.js +15 -0
  92. package/utils/random.js.map +7 -0
  93. package/utils/scrollTo.d.ts +30 -6
  94. package/utils/scrollTo.js +97 -43
  95. package/utils/scrollTo.js.map +2 -2
  96. package/utils/{focusTrap.d.ts → trapFocus.d.ts} +2 -10
  97. package/utils/{focusTrap.js → trapFocus.js} +5 -9
  98. package/utils/trapFocus.js.map +7 -0
  99. package/utils/tween.d.ts +59 -10
  100. package/utils/tween.js +24 -18
  101. package/utils/tween.js.map +2 -2
  102. package/Base/Base.cjs +0 -420
  103. package/Base/Base.cjs.map +0 -7
  104. package/Base/features.cjs +0 -27
  105. package/Base/features.cjs.map +0 -7
  106. package/Base/index.cjs +0 -21
  107. package/Base/index.cjs.map +0 -7
  108. package/Base/managers/AbstractManager.cjs +0 -78
  109. package/Base/managers/AbstractManager.cjs.map +0 -7
  110. package/Base/managers/ChildrenManager.cjs +0 -156
  111. package/Base/managers/ChildrenManager.cjs.map +0 -7
  112. package/Base/managers/EventsManager.cjs +0 -305
  113. package/Base/managers/EventsManager.cjs.map +0 -7
  114. package/Base/managers/OptionsManager.cjs +0 -198
  115. package/Base/managers/OptionsManager.cjs.map +0 -7
  116. package/Base/managers/RefsManager.cjs +0 -118
  117. package/Base/managers/RefsManager.cjs.map +0 -7
  118. package/Base/managers/ResponsiveOptionsManager.cjs +0 -79
  119. package/Base/managers/ResponsiveOptionsManager.cjs.map +0 -7
  120. package/Base/managers/ServicesManager.cjs +0 -161
  121. package/Base/managers/ServicesManager.cjs.map +0 -7
  122. package/Base/managers/index.cjs +0 -39
  123. package/Base/managers/index.cjs.map +0 -7
  124. package/Base/types.cjs +0 -19
  125. package/Base/types.cjs.map +0 -7
  126. package/Base/utils.cjs +0 -95
  127. package/Base/utils.cjs.map +0 -7
  128. package/decorators/index.cjs +0 -33
  129. package/decorators/index.cjs.map +0 -7
  130. package/decorators/withBreakpointManager.cjs +0 -102
  131. package/decorators/withBreakpointManager.cjs.map +0 -7
  132. package/decorators/withBreakpointObserver.cjs +0 -128
  133. package/decorators/withBreakpointObserver.cjs.map +0 -7
  134. package/decorators/withDrag.cjs +0 -56
  135. package/decorators/withDrag.cjs.map +0 -7
  136. package/decorators/withExtraConfig.cjs +0 -50
  137. package/decorators/withExtraConfig.cjs.map +0 -7
  138. package/decorators/withFreezedOptions.cjs +0 -50
  139. package/decorators/withFreezedOptions.cjs.map +0 -7
  140. package/decorators/withIntersectionObserver.cjs +0 -71
  141. package/decorators/withIntersectionObserver.cjs.map +0 -7
  142. package/decorators/withMountOnMediaQuery.cjs +0 -86
  143. package/decorators/withMountOnMediaQuery.cjs.map +0 -7
  144. package/decorators/withMountWhenInView.cjs +0 -92
  145. package/decorators/withMountWhenInView.cjs.map +0 -7
  146. package/decorators/withMountWhenPrefersMotion.cjs +0 -30
  147. package/decorators/withMountWhenPrefersMotion.cjs.map +0 -7
  148. package/decorators/withRelativePointer.cjs +0 -56
  149. package/decorators/withRelativePointer.cjs.map +0 -7
  150. package/decorators/withResponsiveOptions.cjs +0 -41
  151. package/decorators/withResponsiveOptions.cjs.map +0 -7
  152. package/decorators/withScrolledInView/index.cjs +0 -22
  153. package/decorators/withScrolledInView/index.cjs.map +0 -7
  154. package/decorators/withScrolledInView/types.cjs +0 -19
  155. package/decorators/withScrolledInView/types.cjs.map +0 -7
  156. package/decorators/withScrolledInView/utils.cjs +0 -99
  157. package/decorators/withScrolledInView/utils.cjs.map +0 -7
  158. package/decorators/withScrolledInView/withScrolledInView.cjs +0 -249
  159. package/decorators/withScrolledInView/withScrolledInView.cjs.map +0 -7
  160. package/decorators/withVue2.cjs +0 -68
  161. package/decorators/withVue2.cjs.map +0 -7
  162. package/decorators/withVue2.d.ts +0 -16
  163. package/decorators/withVue2.js +0 -46
  164. package/decorators/withVue2.js.map +0 -7
  165. package/helpers/createApp.cjs +0 -58
  166. package/helpers/createApp.cjs.map +0 -7
  167. package/helpers/getClosestParent.cjs +0 -45
  168. package/helpers/getClosestParent.cjs.map +0 -7
  169. package/helpers/getDirectChildren.cjs +0 -47
  170. package/helpers/getDirectChildren.cjs.map +0 -7
  171. package/helpers/getInstanceFromElement.cjs +0 -32
  172. package/helpers/getInstanceFromElement.cjs.map +0 -7
  173. package/helpers/importOnInteraction.cjs +0 -48
  174. package/helpers/importOnInteraction.cjs.map +0 -7
  175. package/helpers/importOnMediaQuery.cjs +0 -44
  176. package/helpers/importOnMediaQuery.cjs.map +0 -7
  177. package/helpers/importWhenIdle.cjs +0 -46
  178. package/helpers/importWhenIdle.cjs.map +0 -7
  179. package/helpers/importWhenPrefersMotion.cjs +0 -40
  180. package/helpers/importWhenPrefersMotion.cjs.map +0 -7
  181. package/helpers/importWhenVisible.cjs +0 -44
  182. package/helpers/importWhenVisible.cjs.map +0 -7
  183. package/helpers/index.cjs +0 -53
  184. package/helpers/index.cjs.map +0 -7
  185. package/helpers/utils.cjs +0 -37
  186. package/helpers/utils.cjs.map +0 -7
  187. package/index.cjs +0 -31
  188. package/index.cjs.map +0 -7
  189. package/services/drag.cjs +0 -231
  190. package/services/drag.cjs.map +0 -7
  191. package/services/index.cjs +0 -51
  192. package/services/index.cjs.map +0 -7
  193. package/services/key.cjs +0 -97
  194. package/services/key.cjs.map +0 -7
  195. package/services/load.cjs +0 -60
  196. package/services/load.cjs.map +0 -7
  197. package/services/pointer.cjs +0 -145
  198. package/services/pointer.cjs.map +0 -7
  199. package/services/raf.cjs +0 -80
  200. package/services/raf.cjs.map +0 -7
  201. package/services/resize.cjs +0 -107
  202. package/services/resize.cjs.map +0 -7
  203. package/services/scroll.cjs +0 -119
  204. package/services/scroll.cjs.map +0 -7
  205. package/services/service.cjs +0 -69
  206. package/services/service.cjs.map +0 -7
  207. package/utils/Queue.cjs +0 -93
  208. package/utils/Queue.cjs.map +0 -7
  209. package/utils/SmartQueue.cjs +0 -73
  210. package/utils/SmartQueue.cjs.map +0 -7
  211. package/utils/collide/boundingRectToCircle.cjs +0 -36
  212. package/utils/collide/boundingRectToCircle.cjs.map +0 -7
  213. package/utils/collide/collideCircleCircle.cjs +0 -35
  214. package/utils/collide/collideCircleCircle.cjs.map +0 -7
  215. package/utils/collide/collideCircleRect.cjs +0 -47
  216. package/utils/collide/collideCircleRect.cjs.map +0 -7
  217. package/utils/collide/collidePointCircle.cjs +0 -32
  218. package/utils/collide/collidePointCircle.cjs.map +0 -7
  219. package/utils/collide/collidePointRect.cjs +0 -32
  220. package/utils/collide/collidePointRect.cjs.map +0 -7
  221. package/utils/collide/collideRectRect.cjs +0 -32
  222. package/utils/collide/collideRectRect.cjs.map +0 -7
  223. package/utils/collide/index.cjs +0 -47
  224. package/utils/collide/index.cjs.map +0 -7
  225. package/utils/css/animate.cjs +0 -202
  226. package/utils/css/animate.cjs.map +0 -7
  227. package/utils/css/classes.cjs +0 -51
  228. package/utils/css/classes.cjs.map +0 -7
  229. package/utils/css/getOffsetSizes.cjs +0 -48
  230. package/utils/css/getOffsetSizes.cjs.map +0 -7
  231. package/utils/css/index.cjs +0 -52
  232. package/utils/css/index.cjs.map +0 -7
  233. package/utils/css/matrix.cjs +0 -30
  234. package/utils/css/matrix.cjs.map +0 -7
  235. package/utils/css/styles.cjs +0 -45
  236. package/utils/css/styles.cjs.map +0 -7
  237. package/utils/css/transform.cjs +0 -91
  238. package/utils/css/transform.cjs.map +0 -7
  239. package/utils/css/transition.cjs +0 -145
  240. package/utils/css/transition.cjs.map +0 -7
  241. package/utils/css/utils.cjs +0 -32
  242. package/utils/css/utils.cjs.map +0 -7
  243. package/utils/debounce.cjs +0 -35
  244. package/utils/debounce.cjs.map +0 -7
  245. package/utils/dom/ancestors.cjs +0 -37
  246. package/utils/dom/ancestors.cjs.map +0 -7
  247. package/utils/dom/index.cjs +0 -21
  248. package/utils/dom/index.cjs.map +0 -7
  249. package/utils/focusTrap.cjs +0 -93
  250. package/utils/focusTrap.cjs.map +0 -7
  251. package/utils/focusTrap.js.map +0 -7
  252. package/utils/getComponentResolver.cjs +0 -38
  253. package/utils/getComponentResolver.cjs.map +0 -7
  254. package/utils/has.cjs +0 -29
  255. package/utils/has.cjs.map +0 -7
  256. package/utils/history.cjs +0 -92
  257. package/utils/history.cjs.map +0 -7
  258. package/utils/index.cjs +0 -76
  259. package/utils/index.cjs.map +0 -7
  260. package/utils/is.cjs +0 -41
  261. package/utils/is.cjs.map +0 -7
  262. package/utils/keyCodes.cjs +0 -36
  263. package/utils/keyCodes.cjs.map +0 -7
  264. package/utils/math/clamp.cjs +0 -29
  265. package/utils/math/clamp.cjs.map +0 -7
  266. package/utils/math/clamp01.cjs +0 -40
  267. package/utils/math/clamp01.cjs.map +0 -7
  268. package/utils/math/createEases.cjs +0 -33
  269. package/utils/math/createEases.cjs.map +0 -7
  270. package/utils/math/damp.cjs +0 -29
  271. package/utils/math/damp.cjs.map +0 -7
  272. package/utils/math/ease.cjs +0 -82
  273. package/utils/math/ease.cjs.map +0 -7
  274. package/utils/math/index.cjs +0 -54
  275. package/utils/math/index.cjs.map +0 -7
  276. package/utils/math/inertiaFinalValue.cjs +0 -47
  277. package/utils/math/inertiaFinalValue.cjs.map +0 -7
  278. package/utils/math/lerp.cjs +0 -29
  279. package/utils/math/lerp.cjs.map +0 -7
  280. package/utils/math/map.cjs +0 -29
  281. package/utils/math/map.cjs.map +0 -7
  282. package/utils/math/round.cjs +0 -29
  283. package/utils/math/round.cjs.map +0 -7
  284. package/utils/memoize.cjs +0 -48
  285. package/utils/memoize.cjs.map +0 -7
  286. package/utils/nextFrame.cjs +0 -41
  287. package/utils/nextFrame.cjs.map +0 -7
  288. package/utils/nextMicrotask.cjs +0 -30
  289. package/utils/nextMicrotask.cjs.map +0 -7
  290. package/utils/nextTick.cjs +0 -31
  291. package/utils/nextTick.cjs.map +0 -7
  292. package/utils/noop.cjs +0 -32
  293. package/utils/noop.cjs.map +0 -7
  294. package/utils/object/autoBind.cjs +0 -60
  295. package/utils/object/autoBind.cjs.map +0 -7
  296. package/utils/object/autoBind.d.ts +0 -14
  297. package/utils/object/autoBind.js +0 -28
  298. package/utils/object/autoBind.js.map +0 -7
  299. package/utils/object/getAllProperties.cjs +0 -39
  300. package/utils/object/getAllProperties.cjs.map +0 -7
  301. package/utils/object/index.cjs +0 -39
  302. package/utils/object/index.cjs.map +0 -7
  303. package/utils/object/index.d.ts +0 -2
  304. package/utils/object/index.js +0 -7
  305. package/utils/object/index.js.map +0 -7
  306. package/utils/scheduler.cjs +0 -75
  307. package/utils/scheduler.cjs.map +0 -7
  308. package/utils/scrollTo.cjs +0 -88
  309. package/utils/scrollTo.cjs.map +0 -7
  310. package/utils/string/endsWith.cjs +0 -35
  311. package/utils/string/endsWith.cjs.map +0 -7
  312. package/utils/string/index.cjs +0 -58
  313. package/utils/string/index.cjs.map +0 -7
  314. package/utils/string/startsWith.cjs +0 -35
  315. package/utils/string/startsWith.cjs.map +0 -7
  316. package/utils/string/withLeadingCharacters.cjs +0 -40
  317. package/utils/string/withLeadingCharacters.cjs.map +0 -7
  318. package/utils/string/withLeadingSlash.cjs +0 -40
  319. package/utils/string/withLeadingSlash.cjs.map +0 -7
  320. package/utils/string/withTrailingCharacters.cjs +0 -40
  321. package/utils/string/withTrailingCharacters.cjs.map +0 -7
  322. package/utils/string/withTrailingSlash.cjs +0 -40
  323. package/utils/string/withTrailingSlash.cjs.map +0 -7
  324. package/utils/string/withoutLeadingCharacters.cjs +0 -29
  325. package/utils/string/withoutLeadingCharacters.cjs.map +0 -7
  326. package/utils/string/withoutLeadingCharactersRecursive.cjs +0 -45
  327. package/utils/string/withoutLeadingCharactersRecursive.cjs.map +0 -7
  328. package/utils/string/withoutLeadingSlash.cjs +0 -40
  329. package/utils/string/withoutLeadingSlash.cjs.map +0 -7
  330. package/utils/string/withoutTrailingCharacters.cjs +0 -29
  331. package/utils/string/withoutTrailingCharacters.cjs.map +0 -7
  332. package/utils/string/withoutTrailingCharactersRecursive.cjs +0 -45
  333. package/utils/string/withoutTrailingCharactersRecursive.cjs.map +0 -7
  334. package/utils/string/withoutTrailingSlash.cjs +0 -40
  335. package/utils/string/withoutTrailingSlash.cjs.map +0 -7
  336. package/utils/throttle.cjs +0 -37
  337. package/utils/throttle.cjs.map +0 -7
  338. package/utils/tween.cjs +0 -122
  339. package/utils/tween.cjs.map +0 -7
  340. package/utils/wait.cjs +0 -31
  341. package/utils/wait.cjs.map +0 -7
@@ -1,99 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/js-toolkit/decorators/withScrolledInView/utils.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- getEdgeWithOffset: () => getEdgeWithOffset,
23
- getEdges: () => getEdges,
24
- normalizeOffset: () => normalizeOffset,
25
- parseNamedOffset: () => parseNamedOffset
26
- });
27
- module.exports = __toCommonJS(utils_exports);
28
- var import_utils = require("../../utils/index.cjs");
29
- var units = {
30
- px: "px",
31
- vh: "vh",
32
- vw: "vw",
33
- vmin: "vmin",
34
- vmax: "vmax",
35
- percent: "%"
36
- };
37
- var namedOffsets = {
38
- start: 0,
39
- center: 0.5,
40
- end: 1
41
- };
42
- function normalizeOffset(offsets) {
43
- return offsets.split("/").map((offset) => offset.trim().split(" ").slice(0, 2));
44
- }
45
- function parseNamedOffset(offset) {
46
- if ((0, import_utils.isNumber)(offset)) {
47
- return offset;
48
- }
49
- if ((0, import_utils.isNumber)(namedOffsets[offset])) {
50
- return namedOffsets[offset];
51
- }
52
- if ((0, import_utils.isNumber)(Number(offset))) {
53
- return Number(offset);
54
- }
55
- if ((0, import_utils.isString)(offset) && (0, import_utils.endsWith)(offset, units.percent)) {
56
- return Number.parseFloat(offset) / 100;
57
- }
58
- return offset;
59
- }
60
- function getEdgeWithOffset(start, size, offset) {
61
- if ((0, import_utils.isNumber)(offset)) {
62
- return start + size * offset;
63
- }
64
- const parsedNamedOffset = parseNamedOffset(offset);
65
- if ((0, import_utils.isNumber)(parsedNamedOffset)) {
66
- return start + size * parsedNamedOffset;
67
- }
68
- if ((0, import_utils.isString)(parsedNamedOffset)) {
69
- const parsedOffset = Number.parseFloat(parsedNamedOffset);
70
- if ((0, import_utils.endsWith)(parsedNamedOffset, units.px)) {
71
- return start + parsedOffset;
72
- }
73
- if ((0, import_utils.endsWith)(parsedNamedOffset, units.vh)) {
74
- return start + parsedOffset * window.innerHeight / 100;
75
- }
76
- if ((0, import_utils.endsWith)(parsedNamedOffset, units.vw)) {
77
- return start + parsedOffset * window.innerWidth / 100;
78
- }
79
- if ((0, import_utils.endsWith)(parsedNamedOffset, units.vmin)) {
80
- return start + parsedOffset * Math.min(window.innerWidth, window.innerHeight) / 100;
81
- }
82
- if ((0, import_utils.endsWith)(parsedNamedOffset, units.vmax)) {
83
- return start + parsedOffset * Math.max(window.innerWidth, window.innerHeight) / 100;
84
- }
85
- }
86
- return start;
87
- }
88
- function getEdges(axis, targetSizes, containerSizes, offset) {
89
- const sizeKey = axis === "x" ? "width" : "height";
90
- const targetStart = getEdgeWithOffset(targetSizes[axis], targetSizes[sizeKey], offset[0][0]);
91
- const containerStart = getEdgeWithOffset(0, containerSizes[sizeKey], offset[0][1]);
92
- const targetEnd = getEdgeWithOffset(targetSizes[axis], targetSizes[sizeKey], offset[1][0]);
93
- const containerEnd = getEdgeWithOffset(0, containerSizes[sizeKey], offset[1][1]);
94
- const start = targetStart - containerStart;
95
- const end = targetEnd - containerEnd;
96
- return [start, end];
97
- }
98
- if (module.exports.default) module.exports = module.exports.default;
99
- //# sourceMappingURL=utils.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/js-toolkit/decorators/withScrolledInView/utils.ts"],
4
- "sourcesContent": ["import { isNumber, isString, endsWith } from '../../utils/index.js';\nimport type { NormalizedOffset } from './types.js';\n\nconst units = {\n px: 'px',\n vh: 'vh',\n vw: 'vw',\n vmin: 'vmin',\n vmax: 'vmax',\n percent: '%',\n};\n\nconst namedOffsets = {\n start: 0,\n center: 0.5,\n end: 1,\n};\n\n/**\n * Normalize offset input.\n */\nexport function normalizeOffset(offsets: string): NormalizedOffset {\n return offsets\n .split('/')\n .map((offset) => offset.trim().split(' ').slice(0, 2)) as NormalizedOffset;\n}\n\n/**\n * Parse the given offset.\n */\nexport function parseNamedOffset(offset: string | number): string | number {\n if (isNumber(offset)) {\n return offset;\n }\n\n if (isNumber(namedOffsets[offset])) {\n return namedOffsets[offset];\n }\n\n if (isNumber(Number(offset))) {\n return Number(offset);\n }\n\n if (isString(offset) && endsWith(offset, units.percent)) {\n return Number.parseFloat(offset) / 100;\n }\n\n return offset;\n}\n\n/**\n * Get an edge value given a start, size and offset value.\n */\nexport function getEdgeWithOffset(start: number, size: number, offset: string | number): number {\n if (isNumber(offset)) {\n return start + size * offset;\n }\n\n const parsedNamedOffset = parseNamedOffset(offset);\n if (isNumber(parsedNamedOffset)) {\n return start + size * parsedNamedOffset;\n }\n\n if (isString(parsedNamedOffset)) {\n const parsedOffset = Number.parseFloat(parsedNamedOffset);\n\n if (endsWith(parsedNamedOffset, units.px)) {\n return start + parsedOffset;\n }\n\n if (endsWith(parsedNamedOffset, units.vh)) {\n return start + (parsedOffset * window.innerHeight) / 100;\n }\n\n if (endsWith(parsedNamedOffset, units.vw)) {\n return start + (parsedOffset * window.innerWidth) / 100;\n }\n\n if (endsWith(parsedNamedOffset, units.vmin)) {\n return start + (parsedOffset * Math.min(window.innerWidth, window.innerHeight)) / 100;\n }\n\n if (endsWith(parsedNamedOffset, units.vmax)) {\n return start + (parsedOffset * Math.max(window.innerWidth, window.innerHeight)) / 100;\n }\n }\n\n return start;\n}\n\n/**\n * Get starting and ending edges for a given axis, a target sizings, a container sizings and their offset.\n */\nexport function getEdges(axis: 'x' | 'y', targetSizes, containerSizes, offset): [number, number] {\n const sizeKey = axis === 'x' ? 'width' : 'height';\n const targetStart = getEdgeWithOffset(targetSizes[axis], targetSizes[sizeKey], offset[0][0]);\n const containerStart = getEdgeWithOffset(0, containerSizes[sizeKey], offset[0][1]);\n const targetEnd = getEdgeWithOffset(targetSizes[axis], targetSizes[sizeKey], offset[1][0]);\n const containerEnd = getEdgeWithOffset(0, containerSizes[sizeKey], offset[1][1]);\n const start = targetStart - containerStart;\n const end = targetEnd - containerEnd;\n\n return [start, end];\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAG7C,IAAM,QAAQ;AAAA,EACZ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AACX;AAEA,IAAM,eAAe;AAAA,EACnB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACP;AAKO,SAAS,gBAAgB,SAAmC;AACjE,SAAO,QACJ,MAAM,GAAG,EACT,IAAI,CAAC,WAAW,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;AACzD;AAKO,SAAS,iBAAiB,QAA0C;AACzE,UAAI,uBAAS,MAAM,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,UAAI,uBAAS,aAAa,MAAM,CAAC,GAAG;AAClC,WAAO,aAAa,MAAM;AAAA,EAC5B;AAEA,UAAI,uBAAS,OAAO,MAAM,CAAC,GAAG;AAC5B,WAAO,OAAO,MAAM;AAAA,EACtB;AAEA,UAAI,uBAAS,MAAM,SAAK,uBAAS,QAAQ,MAAM,OAAO,GAAG;AACvD,WAAO,OAAO,WAAW,MAAM,IAAI;AAAA,EACrC;AAEA,SAAO;AACT;AAKO,SAAS,kBAAkB,OAAe,MAAc,QAAiC;AAC9F,UAAI,uBAAS,MAAM,GAAG;AACpB,WAAO,QAAQ,OAAO;AAAA,EACxB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM;AACjD,UAAI,uBAAS,iBAAiB,GAAG;AAC/B,WAAO,QAAQ,OAAO;AAAA,EACxB;AAEA,UAAI,uBAAS,iBAAiB,GAAG;AAC/B,UAAM,eAAe,OAAO,WAAW,iBAAiB;AAExD,YAAI,uBAAS,mBAAmB,MAAM,EAAE,GAAG;AACzC,aAAO,QAAQ;AAAA,IACjB;AAEA,YAAI,uBAAS,mBAAmB,MAAM,EAAE,GAAG;AACzC,aAAO,QAAS,eAAe,OAAO,cAAe;AAAA,IACvD;AAEA,YAAI,uBAAS,mBAAmB,MAAM,EAAE,GAAG;AACzC,aAAO,QAAS,eAAe,OAAO,aAAc;AAAA,IACtD;AAEA,YAAI,uBAAS,mBAAmB,MAAM,IAAI,GAAG;AAC3C,aAAO,QAAS,eAAe,KAAK,IAAI,OAAO,YAAY,OAAO,WAAW,IAAK;AAAA,IACpF;AAEA,YAAI,uBAAS,mBAAmB,MAAM,IAAI,GAAG;AAC3C,aAAO,QAAS,eAAe,KAAK,IAAI,OAAO,YAAY,OAAO,WAAW,IAAK;AAAA,IACpF;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAAS,SAAS,MAAiB,aAAa,gBAAgB,QAA0B;AAC/F,QAAM,UAAU,SAAS,MAAM,UAAU;AACzC,QAAM,cAAc,kBAAkB,YAAY,IAAI,GAAG,YAAY,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3F,QAAM,iBAAiB,kBAAkB,GAAG,eAAe,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AACjF,QAAM,YAAY,kBAAkB,YAAY,IAAI,GAAG,YAAY,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AACzF,QAAM,eAAe,kBAAkB,GAAG,eAAe,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC/E,QAAM,QAAQ,cAAc;AAC5B,QAAM,MAAM,YAAY;AAExB,SAAO,CAAC,OAAO,GAAG;AACpB;",
6
- "names": []
7
- }
@@ -1,249 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/js-toolkit/decorators/withScrolledInView/withScrolledInView.ts
20
- var withScrolledInView_exports = {};
21
- __export(withScrolledInView_exports, {
22
- withScrolledInView: () => withScrolledInView
23
- });
24
- module.exports = __toCommonJS(withScrolledInView_exports);
25
- var import_withMountWhenInView = require("../withMountWhenInView.cjs");
26
- var import_utils = require("../../utils/index.cjs");
27
- var import_utils2 = require("./utils.cjs");
28
- var scheduler = (0, import_utils.useScheduler)(["update", "render"]);
29
- function updateProgress(props, axis, progressKey, currentKey) {
30
- props[progressKey][axis] = props.start[axis] === props.end[axis] ? 0 : (0, import_utils.clamp01)(
31
- (props[currentKey][axis] - props.start[axis]) / (props.end[axis] - props.start[axis])
32
- );
33
- }
34
- function updateProps(props, dampFactor, dampPrecision, axis = "x") {
35
- props.current[axis] = (0, import_utils.clamp)(
36
- axis === "x" ? window.pageXOffset : window.pageYOffset,
37
- props.start[axis],
38
- props.end[axis]
39
- );
40
- props.dampedCurrent[axis] = (0, import_utils.damp)(
41
- props.current[axis],
42
- props.dampedCurrent[axis],
43
- dampFactor,
44
- dampPrecision
45
- );
46
- updateProgress(props, axis, "progress", "current");
47
- updateProgress(props, axis, "dampedProgress", "dampedCurrent");
48
- }
49
- function withScrolledInView(BaseClass, options = {}) {
50
- class WithScrolledInView extends (0, import_withMountWhenInView.withMountWhenInView)(
51
- BaseClass,
52
- options
53
- ) {
54
- /**
55
- * Config.
56
- */
57
- static config = {
58
- name: `${BaseClass.config.name}WithMountWhenInView`,
59
- emits: ["scrolledInView"],
60
- options: {
61
- dampFactor: {
62
- type: Number,
63
- default: 0.1
64
- },
65
- dampPrecision: {
66
- type: Number,
67
- default: 1e-3
68
- },
69
- offset: {
70
- type: String,
71
- default: "start end / end start"
72
- }
73
- }
74
- };
75
- __props = {
76
- start: {
77
- x: 0,
78
- y: 0
79
- },
80
- end: {
81
- x: 0,
82
- y: 0
83
- },
84
- current: {
85
- x: 0,
86
- y: 0
87
- },
88
- dampedCurrent: {
89
- x: 0,
90
- y: 0
91
- },
92
- progress: {
93
- x: 0,
94
- y: 0
95
- },
96
- dampedProgress: {
97
- x: 0,
98
- y: 0
99
- }
100
- };
101
- shouldEvaluateProps = true;
102
- get props() {
103
- if (this.shouldEvaluateProps) {
104
- this.shouldEvaluateProps = false;
105
- const targetSizes = options.useOffsetSizes ? (0, import_utils.getOffsetSizes)(this.$el) : this.$el.getBoundingClientRect();
106
- targetSizes.y += window.pageYOffset;
107
- targetSizes.x += window.pageXOffset;
108
- const containerSizes = {
109
- x: 0,
110
- y: 0,
111
- height: window.innerHeight,
112
- width: window.innerWidth
113
- };
114
- const offset = (0, import_utils2.normalizeOffset)(this.$options.offset);
115
- const [yStart, yEnd] = (0, import_utils2.getEdges)("y", targetSizes, containerSizes, offset);
116
- const yCurrent = (0, import_utils.clamp)(window.pageYOffset, yStart, yEnd);
117
- const yProgress = yStart === yEnd ? 0 : (0, import_utils.clamp01)((yCurrent - yStart) / (yEnd - yStart));
118
- const [xStart, xEnd] = (0, import_utils2.getEdges)("x", targetSizes, containerSizes, offset);
119
- const xCurrent = (0, import_utils.clamp)(window.pageXOffset, xStart, xEnd);
120
- const xProgress = xStart === xEnd ? 0 : (0, import_utils.clamp01)((xCurrent - xStart) / (xEnd - xStart));
121
- this.__props.start.x = xStart;
122
- this.__props.start.y = yStart;
123
- this.__props.end.x = xEnd;
124
- this.__props.end.y = yEnd;
125
- this.__props.current.x = xCurrent;
126
- this.__props.current.y = yCurrent;
127
- this.__props.dampedCurrent.x = xCurrent;
128
- this.__props.dampedCurrent.y = yCurrent;
129
- this.__props.progress.x = xProgress;
130
- this.__props.progress.y = yProgress;
131
- this.__props.dampedProgress.x = xProgress;
132
- this.__props.dampedProgress.y = yProgress;
133
- }
134
- return this.__props;
135
- }
136
- /**
137
- * Factor used for the `dampedProgress` props.
138
- *
139
- * @deprecated
140
- * @todo v3 delete in favor of option API
141
- */
142
- dampFactor = null;
143
- /**
144
- * Precision for the `dampedProgress` props.
145
- *
146
- * @deprecated
147
- * @todo v3 delete in favor of option API
148
- */
149
- dampPrecision = null;
150
- /**
151
- * Bind listeners.
152
- */
153
- constructor(element) {
154
- super(element);
155
- const render = () => {
156
- scheduler.update(() => {
157
- const renderFn = this.__callMethod("scrolledInView", this.props);
158
- if ((0, import_utils.isFunction)(renderFn)) {
159
- scheduler.render(() => {
160
- renderFn(this.__props);
161
- });
162
- }
163
- });
164
- };
165
- const delegate = {
166
- handleEvent(event) {
167
- delegate[event.type](event.detail[0]);
168
- },
169
- resized: () => {
170
- this.shouldEvaluateProps = true;
171
- render();
172
- },
173
- scrolled: (props) => {
174
- if (!this.$services.has("ticked") && props.changed.y || props.changed.x) {
175
- this.$services.enable("ticked");
176
- }
177
- },
178
- ticked: () => {
179
- const dampFactor = this.dampFactor ?? this.$options.dampFactor;
180
- const dampPrecision = this.dampPrecision ?? this.$options.dampPrecision;
181
- updateProps(this.__props, dampFactor, dampPrecision, "x");
182
- updateProps(this.__props, dampFactor, dampPrecision, "y");
183
- if (this.__props.dampedCurrent.x === this.__props.current.x && this.__props.dampedCurrent.y === this.__props.current.y) {
184
- this.$services.disable("ticked");
185
- }
186
- render();
187
- }
188
- };
189
- this.$on("before-mounted", () => {
190
- this.$on("resized", delegate);
191
- this.$on("scrolled", delegate);
192
- this.$on("ticked", delegate);
193
- });
194
- this.$on("destroyed", () => {
195
- this.$off("resized", delegate);
196
- this.$off("scrolled", delegate);
197
- this.$off("ticked", delegate);
198
- this.__props.dampedCurrent.x = this.__props.current.x;
199
- this.__props.dampedCurrent.y = this.__props.current.y;
200
- this.__props.dampedProgress.x = this.__props.progress.x;
201
- this.__props.dampedProgress.y = this.__props.progress.y;
202
- render();
203
- });
204
- }
205
- /**
206
- * Mounted hook.
207
- */
208
- mounted() {
209
- if ((0, import_utils.isFunction)(super.mounted)) {
210
- super.mounted();
211
- }
212
- }
213
- /**
214
- * Resized hook.
215
- */
216
- resized(props) {
217
- if ((0, import_utils.isFunction)(super.resized)) {
218
- super.resized(props);
219
- }
220
- }
221
- /**
222
- * Scrolled hook.
223
- */
224
- scrolled(props) {
225
- if ((0, import_utils.isFunction)(super.scrolled)) {
226
- super.scrolled(props);
227
- }
228
- }
229
- /**
230
- * Ticked hook.
231
- */
232
- ticked(props) {
233
- if ((0, import_utils.isFunction)(super.ticked)) {
234
- super.ticked(props);
235
- }
236
- }
237
- /**
238
- * Destroyed hook.
239
- */
240
- destroyed() {
241
- if ((0, import_utils.isFunction)(super.destroyed)) {
242
- super.destroyed();
243
- }
244
- }
245
- }
246
- return WithScrolledInView;
247
- }
248
- if (module.exports.default) module.exports = module.exports.default;
249
- //# sourceMappingURL=withScrolledInView.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/js-toolkit/decorators/withScrolledInView/withScrolledInView.ts"],
4
- "sourcesContent": ["import type { BaseInterface, BaseDecorator } from '../../Base/types.js';\nimport type { Base, BaseProps, BaseConfig } from '../../Base/index.js';\nimport type {\n RafServiceProps,\n ScrollServiceProps,\n ResizeServiceProps,\n} from '../../services/index.js';\nimport { withMountWhenInView } from '../withMountWhenInView.js';\nimport {\n damp,\n clamp,\n clamp01,\n getOffsetSizes,\n isFunction,\n useScheduler,\n} from '../../utils/index.js';\nimport { normalizeOffset, getEdges } from './utils.js';\n\nconst scheduler = useScheduler(['update', 'render']);\n\nexport interface WithScrolledInViewProps extends BaseProps {\n $options: {\n dampFactor: number;\n dampPrecision: number;\n offset: string;\n };\n}\n\nexport type ScrollInViewProps = {\n start: {\n x: number;\n y: number;\n };\n end: {\n x: number;\n y: number;\n };\n current: {\n x: number;\n y: number;\n };\n dampedCurrent: {\n x: number;\n y: number;\n };\n progress: {\n x: number;\n y: number;\n };\n dampedProgress: {\n x: number;\n y: number;\n };\n};\n\nexport type WithScrolledInViewOptions = IntersectionObserverInit & {\n useOffsetSizes?: boolean;\n};\n\nfunction updateProgress(\n props: ScrollInViewProps,\n axis: 'x' | 'y',\n progressKey: 'progress' | 'dampedProgress',\n currentKey: 'current' | 'dampedCurrent',\n) {\n props[progressKey][axis] =\n props.start[axis] === props.end[axis]\n ? 0\n : clamp01(\n (props[currentKey][axis] - props.start[axis]) / (props.end[axis] - props.start[axis]),\n );\n}\n\n/**\n * Update props on tick.\n */\nfunction updateProps(\n props: ScrollInViewProps,\n dampFactor: number,\n dampPrecision: number,\n axis: 'x' | 'y' = 'x',\n): void {\n props.current[axis] = clamp(\n axis === 'x' ? window.pageXOffset : window.pageYOffset,\n props.start[axis],\n props.end[axis],\n );\n props.dampedCurrent[axis] = damp(\n props.current[axis],\n props.dampedCurrent[axis],\n dampFactor,\n dampPrecision,\n );\n updateProgress(props, axis, 'progress', 'current');\n updateProgress(props, axis, 'dampedProgress', 'dampedCurrent');\n}\n\nexport interface WithScrolledInViewInterface extends BaseInterface {\n /**\n * @type {ScrollInViewProps}\n */\n readonly props: ScrollInViewProps;\n dampFactor?: number;\n dampPrecision?: number;\n mounted(): void;\n resized(props: ResizeServiceProps): void;\n scrolled(props: ScrollServiceProps): void;\n ticked(props: RafServiceProps): void;\n destroyed(): void;\n}\n\n/**\n * Add scrolled in view capabilities to a component.\n */\nexport function withScrolledInView<S extends Base = Base>(\n BaseClass: typeof Base,\n options: WithScrolledInViewOptions = {},\n): BaseDecorator<WithScrolledInViewInterface, S, WithScrolledInViewProps> {\n /**\n * Class.\n */\n class WithScrolledInView<T extends BaseProps = BaseProps> extends withMountWhenInView(\n BaseClass,\n options,\n )<T & WithScrolledInViewProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: `${BaseClass.config.name}WithMountWhenInView`,\n emits: ['scrolledInView'],\n options: {\n dampFactor: {\n type: Number,\n default: 0.1,\n },\n dampPrecision: {\n type: Number,\n default: 0.001,\n },\n offset: {\n type: String,\n default: 'start end / end start',\n },\n },\n };\n\n __props: ScrollInViewProps = {\n start: {\n x: 0,\n y: 0,\n },\n end: {\n x: 0,\n y: 0,\n },\n current: {\n x: 0,\n y: 0,\n },\n dampedCurrent: {\n x: 0,\n y: 0,\n },\n progress: {\n x: 0,\n y: 0,\n },\n dampedProgress: {\n x: 0,\n y: 0,\n },\n };\n\n shouldEvaluateProps = true;\n\n get props() {\n if (this.shouldEvaluateProps) {\n this.shouldEvaluateProps = false;\n const targetSizes = options.useOffsetSizes\n ? getOffsetSizes(this.$el)\n : this.$el.getBoundingClientRect();\n\n targetSizes.y += window.pageYOffset;\n targetSizes.x += window.pageXOffset;\n\n const containerSizes = {\n x: 0,\n y: 0,\n height: window.innerHeight,\n width: window.innerWidth,\n };\n\n const offset = normalizeOffset(this.$options.offset);\n\n // Y axis\n const [yStart, yEnd] = getEdges('y', targetSizes, containerSizes, offset);\n const yCurrent = clamp(window.pageYOffset, yStart, yEnd);\n const yProgress = yStart === yEnd ? 0 : clamp01((yCurrent - yStart) / (yEnd - yStart));\n // X axis\n const [xStart, xEnd] = getEdges('x', targetSizes, containerSizes, offset);\n const xCurrent = clamp(window.pageXOffset, xStart, xEnd);\n const xProgress = xStart === xEnd ? 0 : clamp01((xCurrent - xStart) / (xEnd - xStart));\n\n this.__props.start.x = xStart;\n this.__props.start.y = yStart;\n this.__props.end.x = xEnd;\n this.__props.end.y = yEnd;\n this.__props.current.x = xCurrent;\n this.__props.current.y = yCurrent;\n this.__props.dampedCurrent.x = xCurrent;\n this.__props.dampedCurrent.y = yCurrent;\n this.__props.progress.x = xProgress;\n this.__props.progress.y = yProgress;\n this.__props.dampedProgress.x = xProgress;\n this.__props.dampedProgress.y = yProgress;\n }\n\n return this.__props;\n }\n\n /**\n * Factor used for the `dampedProgress` props.\n *\n * @deprecated\n * @todo v3 delete in favor of option API\n */\n dampFactor?: number = null;\n\n /**\n * Precision for the `dampedProgress` props.\n *\n * @deprecated\n * @todo v3 delete in favor of option API\n */\n dampPrecision?: number = null;\n\n /**\n * Bind listeners.\n */\n constructor(element: HTMLElement) {\n super(element);\n\n const render = () => {\n scheduler.update(() => {\n // @ts-ignore\n const renderFn = this.__callMethod('scrolledInView', this.props);\n if (isFunction(renderFn)) {\n scheduler.render(() => {\n renderFn(this.__props);\n });\n }\n });\n };\n\n const delegate = {\n handleEvent(event) {\n delegate[event.type](event.detail[0]);\n },\n resized: () => {\n this.shouldEvaluateProps = true;\n render();\n },\n scrolled: (props) => {\n if ((!this.$services.has('ticked') && props.changed.y) || props.changed.x) {\n this.$services.enable('ticked');\n }\n },\n ticked: () => {\n const dampFactor = this.dampFactor ?? this.$options.dampFactor;\n const dampPrecision = this.dampPrecision ?? this.$options.dampPrecision;\n updateProps(this.__props, dampFactor, dampPrecision, 'x');\n updateProps(this.__props, dampFactor, dampPrecision, 'y');\n\n if (\n this.__props.dampedCurrent.x === this.__props.current.x &&\n this.__props.dampedCurrent.y === this.__props.current.y\n ) {\n this.$services.disable('ticked');\n }\n\n render();\n },\n };\n\n this.$on('before-mounted', () => {\n this.$on('resized', delegate);\n this.$on('scrolled', delegate);\n this.$on('ticked', delegate);\n });\n\n this.$on('destroyed', () => {\n this.$off('resized', delegate);\n this.$off('scrolled', delegate);\n this.$off('ticked', delegate);\n\n // Clamp damped values to their final value and trigger one last render on destroy\n this.__props.dampedCurrent.x = this.__props.current.x;\n this.__props.dampedCurrent.y = this.__props.current.y;\n this.__props.dampedProgress.x = this.__props.progress.x;\n this.__props.dampedProgress.y = this.__props.progress.y;\n render();\n });\n }\n\n /**\n * Mounted hook.\n */\n mounted() {\n // @ts-ignore\n if (isFunction(super.mounted)) {\n // @ts-ignore\n super.mounted();\n }\n }\n\n /**\n * Resized hook.\n */\n resized(props: ResizeServiceProps) {\n // @ts-ignore\n if (isFunction(super.resized)) {\n // @ts-ignore\n super.resized(props);\n }\n }\n\n /**\n * Scrolled hook.\n */\n scrolled(props: ScrollServiceProps) {\n // @ts-ignore\n if (isFunction(super.scrolled)) {\n // @ts-ignore\n super.scrolled(props);\n }\n }\n\n /**\n * Ticked hook.\n */\n ticked(props: RafServiceProps) {\n // @ts-ignore\n if (isFunction(super.ticked)) {\n // @ts-ignore\n super.ticked(props);\n }\n }\n\n /**\n * Destroyed hook.\n */\n destroyed() {\n // @ts-ignore\n if (isFunction(super.destroyed)) {\n // @ts-ignore\n super.destroyed();\n }\n }\n }\n\n // @ts-ignore\n return WithScrolledInView;\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_utils"]
7
- }
@@ -1,68 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/js-toolkit/decorators/withVue2.ts
20
- var withVue2_exports = {};
21
- __export(withVue2_exports, {
22
- withVue2: () => withVue2
23
- });
24
- module.exports = __toCommonJS(withVue2_exports);
25
- var import_utils = require("../utils/index.cjs");
26
- function withVue2(BaseClass, VueCtor) {
27
- class WithVue2 extends BaseClass {
28
- static config = {
29
- ...BaseClass.config,
30
- name: `${BaseClass.config.name}WithVue`,
31
- refs: [...BaseClass.config?.refs ?? [], "vue"]
32
- };
33
- $vue;
34
- /**
35
- * Vue app configuration.
36
- */
37
- static vueConfig;
38
- constructor(element) {
39
- super(element);
40
- const vueConfig = this.vueConfig ?? this.constructor.vueConfig;
41
- if (!vueConfig) {
42
- if (import_utils.isDev) {
43
- throw new Error("[withVue] You must define a `vueConfig` object.");
44
- }
45
- return;
46
- }
47
- if (!(0, import_utils.isFunction)(vueConfig.render)) {
48
- if (import_utils.isDev) {
49
- throw new Error("[withVue] You must define a `render` function in vueConfig.");
50
- }
51
- return;
52
- }
53
- this.$vue = new VueCtor(vueConfig);
54
- this.$on("mounted", () => {
55
- if (!(this.$refs.vue instanceof HTMLElement)) {
56
- throw new Error("[withVue] The `vue` refs must be a single HTMLElement.");
57
- }
58
- this.$vue.$mount(this.$refs.vue);
59
- });
60
- this.$on("destroyed", () => {
61
- this.$vue.$destroy();
62
- });
63
- }
64
- }
65
- return WithVue2;
66
- }
67
- if (module.exports.default) module.exports = module.exports.default;
68
- //# sourceMappingURL=withVue2.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../packages/js-toolkit/decorators/withVue2.ts"],
4
- "sourcesContent": ["import type Vue from 'vue';\nimport type { ComponentOptions, VueConstructor } from 'vue';\nimport type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseConfig, BaseProps } from '../Base/index.js';\nimport { isDev, isFunction } from '../utils/index.js';\n\nexport interface WithVue2Props extends BaseProps {\n $refs: {\n vue: HTMLElement;\n };\n}\n\nexport interface WithVue2Interface extends BaseInterface {\n $vue: Vue;\n}\n\n/**\n * withVue decorator.\n */\nexport function withVue2<S extends Base, T extends Vue = Vue>(\n BaseClass: typeof Base,\n VueCtor: VueConstructor,\n): BaseDecorator<WithVue2Interface, S, WithVue2Props> {\n type VueConfig = ComponentOptions<T> & {\n render: ComponentOptions<T>['render'];\n };\n\n /**\n * Class.\n */\n class WithVue2 extends BaseClass {\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithVue`,\n refs: [...(BaseClass.config?.refs ?? []), 'vue'],\n };\n\n $vue: Vue;\n\n /**\n * Vue app configuration.\n */\n static vueConfig: VueConfig;\n\n constructor(element: HTMLElement) {\n super(element);\n\n // @ts-ignore\n const vueConfig: VueConfig = this.vueConfig ?? this.constructor.vueConfig;\n\n if (!vueConfig) {\n if (isDev) {\n throw new Error('[withVue] You must define a `vueConfig` object.');\n }\n return;\n }\n\n if (!isFunction(vueConfig.render)) {\n if (isDev) {\n throw new Error('[withVue] You must define a `render` function in vueConfig.');\n }\n return;\n }\n\n this.$vue = new VueCtor(vueConfig);\n\n this.$on('mounted', () => {\n if (!(this.$refs.vue instanceof HTMLElement)) {\n throw new Error('[withVue] The `vue` refs must be a single HTMLElement.');\n }\n\n this.$vue.$mount(this.$refs.vue);\n });\n\n this.$on('destroyed', () => {\n this.$vue.$destroy();\n });\n }\n }\n\n // @ts-ignore\n return WithVue2;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,mBAAkC;AAe3B,SAAS,SACd,WACA,SACoD;AAAA,EAQpD,MAAM,iBAAiB,UAAU;AAAA,IAC/B,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO,IAAI;AAAA,MAC9B,MAAM,CAAC,GAAI,UAAU,QAAQ,QAAQ,CAAC,GAAI,KAAK;AAAA,IACjD;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO;AAAA,IAEP,YAAY,SAAsB;AAChC,YAAM,OAAO;AAGb,YAAM,YAAuB,KAAK,aAAa,KAAK,YAAY;AAEhE,UAAI,CAAC,WAAW;AACd,YAAI,oBAAO;AACT,gBAAM,IAAI,MAAM,iDAAiD;AAAA,QACnE;AACA;AAAA,MACF;AAEA,UAAI,KAAC,yBAAW,UAAU,MAAM,GAAG;AACjC,YAAI,oBAAO;AACT,gBAAM,IAAI,MAAM,6DAA6D;AAAA,QAC/E;AACA;AAAA,MACF;AAEA,WAAK,OAAO,IAAI,QAAQ,SAAS;AAEjC,WAAK,IAAI,WAAW,MAAM;AACxB,YAAI,EAAE,KAAK,MAAM,eAAe,cAAc;AAC5C,gBAAM,IAAI,MAAM,wDAAwD;AAAA,QAC1E;AAEA,aAAK,KAAK,OAAO,KAAK,MAAM,GAAG;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,KAAK,SAAS;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
- "names": []
7
- }
@@ -1,16 +0,0 @@
1
- import type Vue from 'vue';
2
- import type { VueConstructor } from 'vue';
3
- import type { BaseDecorator, BaseInterface } from '../Base/types.js';
4
- import type { Base, BaseProps } from '../Base/index.js';
5
- export interface WithVue2Props extends BaseProps {
6
- $refs: {
7
- vue: HTMLElement;
8
- };
9
- }
10
- export interface WithVue2Interface extends BaseInterface {
11
- $vue: Vue;
12
- }
13
- /**
14
- * withVue decorator.
15
- */
16
- export declare function withVue2<S extends Base, T extends Vue = Vue>(BaseClass: typeof Base, VueCtor: VueConstructor): BaseDecorator<WithVue2Interface, S, WithVue2Props>;
@@ -1,46 +0,0 @@
1
- import { isDev, isFunction } from "../utils/index.js";
2
- function withVue2(BaseClass, VueCtor) {
3
- class WithVue2 extends BaseClass {
4
- static config = {
5
- ...BaseClass.config,
6
- name: `${BaseClass.config.name}WithVue`,
7
- refs: [...BaseClass.config?.refs ?? [], "vue"]
8
- };
9
- $vue;
10
- /**
11
- * Vue app configuration.
12
- */
13
- static vueConfig;
14
- constructor(element) {
15
- super(element);
16
- const vueConfig = this.vueConfig ?? this.constructor.vueConfig;
17
- if (!vueConfig) {
18
- if (isDev) {
19
- throw new Error("[withVue] You must define a `vueConfig` object.");
20
- }
21
- return;
22
- }
23
- if (!isFunction(vueConfig.render)) {
24
- if (isDev) {
25
- throw new Error("[withVue] You must define a `render` function in vueConfig.");
26
- }
27
- return;
28
- }
29
- this.$vue = new VueCtor(vueConfig);
30
- this.$on("mounted", () => {
31
- if (!(this.$refs.vue instanceof HTMLElement)) {
32
- throw new Error("[withVue] The `vue` refs must be a single HTMLElement.");
33
- }
34
- this.$vue.$mount(this.$refs.vue);
35
- });
36
- this.$on("destroyed", () => {
37
- this.$vue.$destroy();
38
- });
39
- }
40
- }
41
- return WithVue2;
42
- }
43
- export {
44
- withVue2
45
- };
46
- //# sourceMappingURL=withVue2.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../packages/js-toolkit/decorators/withVue2.ts"],
4
- "sourcesContent": ["import type Vue from 'vue';\nimport type { ComponentOptions, VueConstructor } from 'vue';\nimport type { BaseDecorator, BaseInterface } from '../Base/types.js';\nimport type { Base, BaseConfig, BaseProps } from '../Base/index.js';\nimport { isDev, isFunction } from '../utils/index.js';\n\nexport interface WithVue2Props extends BaseProps {\n $refs: {\n vue: HTMLElement;\n };\n}\n\nexport interface WithVue2Interface extends BaseInterface {\n $vue: Vue;\n}\n\n/**\n * withVue decorator.\n */\nexport function withVue2<S extends Base, T extends Vue = Vue>(\n BaseClass: typeof Base,\n VueCtor: VueConstructor,\n): BaseDecorator<WithVue2Interface, S, WithVue2Props> {\n type VueConfig = ComponentOptions<T> & {\n render: ComponentOptions<T>['render'];\n };\n\n /**\n * Class.\n */\n class WithVue2 extends BaseClass {\n static config: BaseConfig = {\n ...BaseClass.config,\n name: `${BaseClass.config.name}WithVue`,\n refs: [...(BaseClass.config?.refs ?? []), 'vue'],\n };\n\n $vue: Vue;\n\n /**\n * Vue app configuration.\n */\n static vueConfig: VueConfig;\n\n constructor(element: HTMLElement) {\n super(element);\n\n // @ts-ignore\n const vueConfig: VueConfig = this.vueConfig ?? this.constructor.vueConfig;\n\n if (!vueConfig) {\n if (isDev) {\n throw new Error('[withVue] You must define a `vueConfig` object.');\n }\n return;\n }\n\n if (!isFunction(vueConfig.render)) {\n if (isDev) {\n throw new Error('[withVue] You must define a `render` function in vueConfig.');\n }\n return;\n }\n\n this.$vue = new VueCtor(vueConfig);\n\n this.$on('mounted', () => {\n if (!(this.$refs.vue instanceof HTMLElement)) {\n throw new Error('[withVue] The `vue` refs must be a single HTMLElement.');\n }\n\n this.$vue.$mount(this.$refs.vue);\n });\n\n this.$on('destroyed', () => {\n this.$vue.$destroy();\n });\n }\n }\n\n // @ts-ignore\n return WithVue2;\n}\n"],
5
- "mappings": "AAIA,SAAS,OAAO,kBAAkB;AAe3B,SAAS,SACd,WACA,SACoD;AAAA,EAQpD,MAAM,iBAAiB,UAAU;AAAA,IAC/B,OAAO,SAAqB;AAAA,MAC1B,GAAG,UAAU;AAAA,MACb,MAAM,GAAG,UAAU,OAAO,IAAI;AAAA,MAC9B,MAAM,CAAC,GAAI,UAAU,QAAQ,QAAQ,CAAC,GAAI,KAAK;AAAA,IACjD;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO;AAAA,IAEP,YAAY,SAAsB;AAChC,YAAM,OAAO;AAGb,YAAM,YAAuB,KAAK,aAAa,KAAK,YAAY;AAEhE,UAAI,CAAC,WAAW;AACd,YAAI,OAAO;AACT,gBAAM,IAAI,MAAM,iDAAiD;AAAA,QACnE;AACA;AAAA,MACF;AAEA,UAAI,CAAC,WAAW,UAAU,MAAM,GAAG;AACjC,YAAI,OAAO;AACT,gBAAM,IAAI,MAAM,6DAA6D;AAAA,QAC/E;AACA;AAAA,MACF;AAEA,WAAK,OAAO,IAAI,QAAQ,SAAS;AAEjC,WAAK,IAAI,WAAW,MAAM;AACxB,YAAI,EAAE,KAAK,MAAM,eAAe,cAAc;AAC5C,gBAAM,IAAI,MAAM,wDAAwD;AAAA,QAC1E;AAEA,aAAK,KAAK,OAAO,KAAK,MAAM,GAAG;AAAA,MACjC,CAAC;AAED,WAAK,IAAI,aAAa,MAAM;AAC1B,aAAK,KAAK,SAAS;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO;AACT;",
6
- "names": []
7
- }
@@ -1,58 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/js-toolkit/helpers/createApp.ts
20
- var createApp_exports = {};
21
- __export(createApp_exports, {
22
- default: () => createApp
23
- });
24
- module.exports = __toCommonJS(createApp_exports);
25
- var import_features = require("../Base/features.cjs");
26
- var import_utils = require("../utils/index.cjs");
27
- function createApp(App, rootElement = document.body) {
28
- let app;
29
- const options = rootElement instanceof HTMLElement ? { root: rootElement, features: void 0 } : { root: document.body, ...rootElement };
30
- if ((0, import_utils.isDefined)(options.features)) {
31
- for (const [feature, value] of Object.entries(options.features)) {
32
- import_features.features.set(feature, value);
33
- }
34
- }
35
- function init() {
36
- app = new App(options.root).$mount();
37
- return app;
38
- }
39
- let p;
40
- if (import_features.features.get("asyncChildren")) {
41
- p = Promise.resolve(init());
42
- } else {
43
- p = new Promise((resolve) => {
44
- if (document.readyState === "complete") {
45
- resolve(init());
46
- } else {
47
- document.addEventListener("readystatechange", () => {
48
- if (document.readyState === "complete") {
49
- resolve(init());
50
- }
51
- });
52
- }
53
- });
54
- }
55
- return () => p;
56
- }
57
- if (module.exports.default) module.exports = module.exports.default;
58
- //# sourceMappingURL=createApp.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../packages/js-toolkit/helpers/createApp.ts"],
4
- "sourcesContent": ["import type { Base, BaseConstructor, BaseProps } from '../Base/index.js';\nimport type { Features } from '../Base/features.js';\nimport { features } from '../Base/features.js';\nimport { isDefined } from '../utils/index.js';\n\nexport type CreateAppOptions = {\n root: HTMLElement;\n features: Features;\n};\n\n/**\n * Instantiate and mount the given component on the given root element when the page has been loaded\n * and return a function to use the app instance when it is ready.\n */\nexport default function createApp<S extends BaseConstructor<Base>, T extends BaseProps = BaseProps>(\n App: S,\n rootElement: HTMLElement | Partial<CreateAppOptions> = document.body,\n): () => Promise<S & Base<T>> {\n let app: S & Base<T>;\n const options =\n rootElement instanceof HTMLElement\n ? { root: rootElement, features: undefined }\n : { root: document.body, ...rootElement };\n\n if (isDefined(options.features)) {\n for (const [feature, value] of Object.entries(options.features as Features)) {\n features.set(feature as keyof Features, value);\n }\n }\n\n function init() {\n app = (new App(options.root) as S & Base<T>).$mount();\n return app;\n }\n\n let p: Promise<S & Base<T>>;\n\n if (features.get('asyncChildren')) {\n p = Promise.resolve(init());\n } else {\n p = new Promise<S & Base<T>>((resolve) => {\n if (document.readyState === 'complete') {\n resolve(init());\n } else {\n document.addEventListener('readystatechange', () => {\n if (document.readyState === 'complete') {\n resolve(init());\n }\n });\n }\n });\n }\n\n return () => p;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAyB;AACzB,mBAA0B;AAWX,SAAR,UACL,KACA,cAAuD,SAAS,MACpC;AAC5B,MAAI;AACJ,QAAM,UACJ,uBAAuB,cACnB,EAAE,MAAM,aAAa,UAAU,OAAU,IACzC,EAAE,MAAM,SAAS,MAAM,GAAG,YAAY;AAE5C,UAAI,wBAAU,QAAQ,QAAQ,GAAG;AAC/B,eAAW,CAAC,SAAS,KAAK,KAAK,OAAO,QAAQ,QAAQ,QAAoB,GAAG;AAC3E,+BAAS,IAAI,SAA2B,KAAK;AAAA,IAC/C;AAAA,EACF;AAEA,WAAS,OAAO;AACd,UAAO,IAAI,IAAI,QAAQ,IAAI,EAAkB,OAAO;AACpD,WAAO;AAAA,EACT;AAEA,MAAI;AAEJ,MAAI,yBAAS,IAAI,eAAe,GAAG;AACjC,QAAI,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAC5B,OAAO;AACL,QAAI,IAAI,QAAqB,CAAC,YAAY;AACxC,UAAI,SAAS,eAAe,YAAY;AACtC,gBAAQ,KAAK,CAAC;AAAA,MAChB,OAAO;AACL,iBAAS,iBAAiB,oBAAoB,MAAM;AAClD,cAAI,SAAS,eAAe,YAAY;AACtC,oBAAQ,KAAK,CAAC;AAAA,UAChB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO,MAAM;AACf;",
6
- "names": []
7
- }