vevet 1.4.27 → 2.0.1-dev.3

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 (360) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -71
  3. package/build/cdn/index.js +12 -0
  4. package/build/cdn/index.js.LICENSE.txt +14 -0
  5. package/build/cjs/app/Application.js +297 -0
  6. package/build/cjs/app/events/PageLoad.js +74 -0
  7. package/build/cjs/app/events/Viewport.js +303 -0
  8. package/build/cjs/base/Callbacks.js +232 -0
  9. package/build/cjs/base/Component.js +56 -0
  10. package/build/cjs/base/Module.js +262 -0
  11. package/build/cjs/base/MutableProp.js +165 -0
  12. package/build/cjs/base/Plugin.js +56 -0
  13. package/build/cjs/components/animation-frame/AnimationFrame.js +183 -0
  14. package/build/cjs/components/canvas/Ctx2D.js +200 -0
  15. package/build/cjs/components/canvas/Ctx2DPrerender.js +72 -0
  16. package/build/cjs/components/cursor/CustomCursor.js +344 -0
  17. package/build/cjs/components/dragger/Dragger.js +229 -0
  18. package/build/cjs/components/dragger/DraggerDirection.js +77 -0
  19. package/build/cjs/components/dragger/DraggerMove.js +84 -0
  20. package/build/cjs/components/loading/Preloader.js +229 -0
  21. package/build/cjs/components/loading/ProgressPreloader.js +377 -0
  22. package/build/cjs/components/page/Page.js +353 -0
  23. package/build/cjs/components/scroll/custom-scroll/CustomScroll.js +517 -0
  24. package/build/cjs/components/scroll/plugins/SmoothScrollDragPlugin.js +178 -0
  25. package/build/cjs/components/scroll/plugins/SmoothScrollKeyboardPlugin.js +138 -0
  26. package/build/cjs/components/scroll/scrollable/ScrollEventsBase.js +133 -0
  27. package/build/cjs/components/scroll/scrollable/ScrollView.js +315 -0
  28. package/build/cjs/components/scroll/scrollbar/Bar.js +315 -0
  29. package/build/cjs/components/scroll/scrollbar/ScrollBar.js +206 -0
  30. package/build/cjs/components/scroll/smooth-scroll/SmoothScroll.js +625 -0
  31. package/build/cjs/components/scroll/types.js +2 -0
  32. package/build/cjs/components/split-text/SplitText.js +233 -0
  33. package/build/cjs/components/text/SplitText.js +329 -0
  34. package/build/cjs/components/timeline/StaticTimeline.js +137 -0
  35. package/build/cjs/components/timeline/Timeline.js +190 -0
  36. package/build/cjs/index.js +87 -0
  37. package/build/cjs/utils/common/index.js +12 -0
  38. package/build/cjs/utils/common/mergeWithoutArrays.js +19 -0
  39. package/build/cjs/utils/common/randID.js +11 -0
  40. package/build/cjs/utils/common/timeoutCallback.js +17 -0
  41. package/build/cjs/utils/errors.js +8 -0
  42. package/build/cjs/utils/listeners/index.js +10 -0
  43. package/build/cjs/utils/listeners/intersectionObserverSupported.js +11 -0
  44. package/build/cjs/utils/listeners/onScroll.js +47 -0
  45. package/build/cjs/utils/math/boundVal.js +16 -0
  46. package/build/cjs/utils/math/index.js +12 -0
  47. package/build/cjs/utils/math/lerp.js +15 -0
  48. package/build/cjs/utils/math/scopeProgress.js +25 -0
  49. package/build/cjs/utils/types/general.js +2 -0
  50. package/build/cjs/utils/types/utility.js +2 -0
  51. package/build/es/app/Application.js +210 -0
  52. package/build/es/app/events/PageLoad.js +47 -0
  53. package/build/es/app/events/Viewport.js +232 -0
  54. package/build/es/base/Callbacks.js +205 -0
  55. package/build/es/base/Component.js +32 -0
  56. package/build/es/base/Module.js +225 -0
  57. package/build/es/base/MutableProp.js +152 -0
  58. package/build/es/base/Plugin.js +31 -0
  59. package/build/es/components/animation-frame/AnimationFrame.js +145 -0
  60. package/build/es/components/canvas/Ctx2D.js +133 -0
  61. package/build/es/components/canvas/Ctx2DPrerender.js +37 -0
  62. package/build/es/components/cursor/CustomCursor.js +274 -0
  63. package/build/es/components/dragger/Dragger.js +175 -0
  64. package/build/es/components/dragger/DraggerDirection.js +42 -0
  65. package/build/es/components/dragger/DraggerMove.js +56 -0
  66. package/build/es/components/loading/Preloader.js +164 -0
  67. package/build/es/components/loading/ProgressPreloader.js +304 -0
  68. package/build/es/components/page/Page.js +283 -0
  69. package/build/es/components/scroll/custom-scroll/CustomScroll.js +486 -0
  70. package/build/es/components/scroll/plugins/SmoothScrollDragPlugin.js +140 -0
  71. package/build/es/components/scroll/plugins/SmoothScrollKeyboardPlugin.js +109 -0
  72. package/build/es/components/scroll/scrollable/ScrollEventsBase.js +79 -0
  73. package/build/es/components/scroll/scrollable/ScrollView.js +264 -0
  74. package/build/es/components/scroll/scrollbar/Bar.js +262 -0
  75. package/build/es/components/scroll/scrollbar/ScrollBar.js +152 -0
  76. package/build/es/components/scroll/smooth-scroll/SmoothScroll.js +519 -0
  77. package/build/es/components/scroll/types.js +1 -0
  78. package/build/es/components/split-text/SplitText.js +199 -0
  79. package/build/es/components/text/SplitText.js +270 -0
  80. package/build/es/components/timeline/StaticTimeline.js +92 -0
  81. package/build/es/components/timeline/Timeline.js +141 -0
  82. package/build/es/index.js +37 -0
  83. package/build/es/utils/common/index.js +4 -0
  84. package/build/es/utils/common/mergeWithoutArrays.js +13 -0
  85. package/build/es/utils/common/randID.js +7 -0
  86. package/build/es/utils/common/timeoutCallback.js +14 -0
  87. package/build/es/utils/errors.js +5 -0
  88. package/build/es/utils/listeners/index.js +3 -0
  89. package/build/es/utils/listeners/intersectionObserverSupported.js +8 -0
  90. package/build/es/utils/listeners/onScroll.js +44 -0
  91. package/build/es/utils/math/boundVal.js +12 -0
  92. package/build/es/utils/math/index.js +4 -0
  93. package/build/es/utils/math/lerp.js +11 -0
  94. package/build/es/utils/math/scopeProgress.js +22 -0
  95. package/build/es/utils/types/general.js +1 -0
  96. package/build/es/utils/types/utility.js +1 -0
  97. package/build/types/app/Application.d.ts +161 -0
  98. package/build/types/app/Application.d.ts.map +1 -0
  99. package/build/types/app/events/PageLoad.d.ts +28 -0
  100. package/build/types/app/events/PageLoad.d.ts.map +1 -0
  101. package/build/types/app/events/Viewport.d.ts +137 -0
  102. package/build/types/app/events/Viewport.d.ts.map +1 -0
  103. package/build/types/base/Callbacks.d.ts +174 -0
  104. package/build/types/base/Callbacks.d.ts.map +1 -0
  105. package/build/types/base/Component.d.ts +48 -0
  106. package/build/types/base/Component.d.ts.map +1 -0
  107. package/build/types/base/Module.d.ts +179 -0
  108. package/build/types/base/Module.d.ts.map +1 -0
  109. package/build/types/base/MutableProp.d.ts +142 -0
  110. package/build/types/base/MutableProp.d.ts.map +1 -0
  111. package/build/types/base/Plugin.d.ts +35 -0
  112. package/build/types/base/Plugin.d.ts.map +1 -0
  113. package/build/types/components/animation-frame/AnimationFrame.d.ts +96 -0
  114. package/build/types/components/animation-frame/AnimationFrame.d.ts.map +1 -0
  115. package/build/types/components/canvas/Ctx2D.d.ts +111 -0
  116. package/build/types/components/canvas/Ctx2D.d.ts.map +1 -0
  117. package/build/types/components/canvas/Ctx2DPrerender.d.ts +41 -0
  118. package/build/types/components/canvas/Ctx2DPrerender.d.ts.map +1 -0
  119. package/build/types/components/cursor/CustomCursor.d.ts +181 -0
  120. package/build/types/components/cursor/CustomCursor.d.ts.map +1 -0
  121. package/build/types/components/dragger/Dragger.d.ts +120 -0
  122. package/build/types/components/dragger/Dragger.d.ts.map +1 -0
  123. package/build/types/components/dragger/DraggerDirection.d.ts +39 -0
  124. package/build/types/components/dragger/DraggerDirection.d.ts.map +1 -0
  125. package/build/types/components/dragger/DraggerMove.d.ts +49 -0
  126. package/build/types/components/dragger/DraggerMove.d.ts.map +1 -0
  127. package/build/types/components/loading/Preloader.d.ts +107 -0
  128. package/build/types/components/loading/Preloader.d.ts.map +1 -0
  129. package/build/types/components/loading/ProgressPreloader.d.ts +166 -0
  130. package/build/types/components/loading/ProgressPreloader.d.ts.map +1 -0
  131. package/build/types/components/page/Page.d.ts +126 -0
  132. package/build/types/components/page/Page.d.ts.map +1 -0
  133. package/build/types/components/scroll/custom-scroll/CustomScroll.d.ts +322 -0
  134. package/build/types/components/scroll/custom-scroll/CustomScroll.d.ts.map +1 -0
  135. package/build/types/components/scroll/plugins/SmoothScrollDragPlugin.d.ts +97 -0
  136. package/build/types/components/scroll/plugins/SmoothScrollDragPlugin.d.ts.map +1 -0
  137. package/build/types/components/scroll/plugins/SmoothScrollKeyboardPlugin.d.ts +34 -0
  138. package/build/types/components/scroll/plugins/SmoothScrollKeyboardPlugin.d.ts.map +1 -0
  139. package/build/types/components/scroll/scrollable/ScrollEventsBase.d.ts +60 -0
  140. package/build/types/components/scroll/scrollable/ScrollEventsBase.d.ts.map +1 -0
  141. package/build/types/components/scroll/scrollable/ScrollView.d.ts +140 -0
  142. package/build/types/components/scroll/scrollable/ScrollView.d.ts.map +1 -0
  143. package/build/types/components/scroll/scrollbar/Bar.d.ts +84 -0
  144. package/build/types/components/scroll/scrollbar/Bar.d.ts.map +1 -0
  145. package/build/types/components/scroll/scrollbar/ScrollBar.d.ts +109 -0
  146. package/build/types/components/scroll/scrollbar/ScrollBar.d.ts.map +1 -0
  147. package/build/types/components/scroll/smooth-scroll/SmoothScroll.d.ts +307 -0
  148. package/build/types/components/scroll/smooth-scroll/SmoothScroll.d.ts.map +1 -0
  149. package/build/types/components/scroll/types.d.ts +11 -0
  150. package/build/types/components/scroll/types.d.ts.map +1 -0
  151. package/build/types/components/split-text/SplitText.d.ts +118 -0
  152. package/build/types/components/split-text/SplitText.d.ts.map +1 -0
  153. package/build/types/components/text/SplitText.d.ts +118 -0
  154. package/build/types/components/text/SplitText.d.ts.map +1 -0
  155. package/build/types/components/timeline/StaticTimeline.d.ts +92 -0
  156. package/build/types/components/timeline/StaticTimeline.d.ts.map +1 -0
  157. package/build/types/components/timeline/Timeline.d.ts +101 -0
  158. package/build/types/components/timeline/Timeline.d.ts.map +1 -0
  159. package/build/types/index.d.ts +38 -0
  160. package/build/types/index.d.ts.map +1 -0
  161. package/build/types/utils/common/index.d.ts +5 -0
  162. package/build/types/utils/common/index.d.ts.map +1 -0
  163. package/build/types/utils/common/mergeWithoutArrays.d.ts +6 -0
  164. package/build/types/utils/common/mergeWithoutArrays.d.ts.map +1 -0
  165. package/build/types/utils/common/randID.d.ts +5 -0
  166. package/build/types/utils/common/randID.d.ts.map +1 -0
  167. package/build/types/utils/common/timeoutCallback.d.ts +6 -0
  168. package/build/types/utils/common/timeoutCallback.d.ts.map +1 -0
  169. package/build/types/utils/errors.d.ts +3 -0
  170. package/build/types/utils/errors.d.ts.map +1 -0
  171. package/build/types/utils/listeners/index.d.ts +4 -0
  172. package/build/types/utils/listeners/index.d.ts.map +1 -0
  173. package/build/types/utils/listeners/intersectionObserverSupported.d.ts +2 -0
  174. package/build/types/utils/listeners/intersectionObserverSupported.d.ts.map +1 -0
  175. package/build/types/utils/listeners/onScroll.d.ts +10 -0
  176. package/build/types/utils/listeners/onScroll.d.ts.map +1 -0
  177. package/build/types/utils/math/boundVal.d.ts +5 -0
  178. package/build/types/utils/math/boundVal.d.ts.map +1 -0
  179. package/build/types/utils/math/index.d.ts +5 -0
  180. package/build/types/utils/math/index.d.ts.map +1 -0
  181. package/build/types/utils/math/lerp.d.ts +5 -0
  182. package/build/types/utils/math/lerp.d.ts.map +1 -0
  183. package/build/types/utils/math/scopeProgress.d.ts +20 -0
  184. package/build/types/utils/math/scopeProgress.d.ts.map +1 -0
  185. package/build/types/utils/types/general.d.ts +7 -0
  186. package/build/types/utils/types/general.d.ts.map +1 -0
  187. package/build/types/utils/types/utility.d.ts +14 -0
  188. package/build/types/utils/types/utility.d.ts.map +1 -0
  189. package/package.json +88 -82
  190. package/src/cdn/index.js +3 -0
  191. package/src/sass/base.scss +3 -0
  192. package/src/sass/components/cursor/_custom-cursor.scss +63 -0
  193. package/src/sass/components/index.scss +6 -0
  194. package/src/sass/components/loading/_preloader.scss +15 -0
  195. package/src/sass/components/scroll/_scrollbar.scss +73 -0
  196. package/src/sass/components/scroll/_smooth-scroll.scss +17 -0
  197. package/src/sass/index.scss +3 -0
  198. package/src/sass/mixins/_scroll.scss +7 -0
  199. package/{dist/scss → src/sass}/mixins/_transition.scss +8 -4
  200. package/src/sass/mixins/_viewport.scss +69 -0
  201. package/src/sass/mixins/index.scss +3 -0
  202. package/src/ts/app/Application.ts +350 -0
  203. package/src/ts/app/events/PageLoad.ts +79 -0
  204. package/src/ts/app/events/Viewport.ts +365 -0
  205. package/src/ts/base/Callbacks.ts +380 -0
  206. package/src/ts/base/Component.ts +83 -0
  207. package/src/ts/base/Module.ts +385 -0
  208. package/src/ts/base/MutableProp.ts +242 -0
  209. package/src/ts/base/Plugin.ts +76 -0
  210. package/src/ts/components/animation-frame/AnimationFrame.ts +264 -0
  211. package/src/ts/components/canvas/Ctx2D.ts +260 -0
  212. package/src/ts/components/canvas/Ctx2DPrerender.ts +96 -0
  213. package/src/ts/components/cursor/CustomCursor.ts +462 -0
  214. package/src/ts/components/dragger/Dragger.ts +313 -0
  215. package/src/ts/components/dragger/DraggerDirection.ts +106 -0
  216. package/src/ts/components/dragger/DraggerMove.ts +114 -0
  217. package/src/ts/components/loading/Preloader.ts +279 -0
  218. package/src/ts/components/loading/ProgressPreloader.ts +484 -0
  219. package/src/ts/components/page/Page.ts +421 -0
  220. package/src/ts/components/scroll/plugins/SmoothScrollDragPlugin.ts +251 -0
  221. package/src/ts/components/scroll/plugins/SmoothScrollKeyboardPlugin.ts +166 -0
  222. package/src/ts/components/scroll/scrollable/ScrollEventsBase.ts +151 -0
  223. package/src/ts/components/scroll/scrollable/ScrollView.ts +435 -0
  224. package/src/ts/components/scroll/scrollbar/Bar.ts +364 -0
  225. package/src/ts/components/scroll/scrollbar/ScrollBar.ts +292 -0
  226. package/src/ts/components/scroll/smooth-scroll/SmoothScroll.ts +861 -0
  227. package/src/ts/components/scroll/types.ts +10 -0
  228. package/src/ts/components/text/SplitText.ts +418 -0
  229. package/src/ts/components/timeline/StaticTimeline.ts +197 -0
  230. package/src/ts/components/timeline/Timeline.ts +256 -0
  231. package/src/ts/index.ts +94 -0
  232. package/src/ts/utils/common/index.ts +9 -0
  233. package/src/ts/utils/common/mergeWithoutArrays.ts +20 -0
  234. package/src/ts/utils/common/randID.ts +9 -0
  235. package/src/ts/utils/common/timeoutCallback.ts +16 -0
  236. package/src/ts/utils/errors.ts +6 -0
  237. package/src/ts/utils/listeners/index.ts +7 -0
  238. package/src/ts/utils/listeners/intersectionObserverSupported.ts +10 -0
  239. package/src/ts/utils/listeners/onScroll.ts +56 -0
  240. package/src/ts/utils/math/boundVal.ts +15 -0
  241. package/src/ts/utils/math/index.ts +9 -0
  242. package/src/ts/utils/math/lerp.ts +16 -0
  243. package/src/ts/utils/math/scopeProgress.ts +23 -0
  244. package/src/ts/utils/types/general.ts +7 -0
  245. package/src/ts/utils/types/utility.ts +34 -0
  246. package/dist/js/AJAXEvent.js +0 -355
  247. package/dist/js/Application.js +0 -345
  248. package/dist/js/ColumnsModule.js +0 -392
  249. package/dist/js/CursorModule.js +0 -390
  250. package/dist/js/DraggerModule.js +0 -792
  251. package/dist/js/Event.js +0 -538
  252. package/dist/js/FilterModule.js +0 -943
  253. package/dist/js/FormModule.js +0 -706
  254. package/dist/js/FrameModule.js +0 -229
  255. package/dist/js/IntervalModule.js +0 -270
  256. package/dist/js/KeydownModule.js +0 -293
  257. package/dist/js/LoadEvent.js +0 -106
  258. package/dist/js/MenuBaseModule.js +0 -292
  259. package/dist/js/MenuModule.js +0 -265
  260. package/dist/js/MenuTimelineModule.js +0 -321
  261. package/dist/js/Module.js +0 -478
  262. package/dist/js/PageAjaxModule.js +0 -1010
  263. package/dist/js/PageLoadMediaPlugin.js +0 -285
  264. package/dist/js/PageModule.js +0 -440
  265. package/dist/js/PaginationModule.js +0 -961
  266. package/dist/js/PaginationScrollPlugin.js +0 -209
  267. package/dist/js/Plugin.js +0 -114
  268. package/dist/js/PopupModule.js +0 -942
  269. package/dist/js/PreloaderModule.js +0 -724
  270. package/dist/js/ResponsiveProp.js +0 -301
  271. package/dist/js/ScrollAnchorModule.js +0 -554
  272. package/dist/js/ScrollAnimateModule.js +0 -419
  273. package/dist/js/ScrollBarPlugin.js +0 -594
  274. package/dist/js/ScrollDragPlugin.js +0 -396
  275. package/dist/js/ScrollModule.js +0 -1071
  276. package/dist/js/ScrollViewModule.js +0 -388
  277. package/dist/js/SelectModule.js +0 -860
  278. package/dist/js/SliderCanvasModule.js +0 -733
  279. package/dist/js/SliderControlsPlugin.js +0 -247
  280. package/dist/js/SliderCounterPlugin.js +0 -278
  281. package/dist/js/SliderDotsPlugin.js +0 -270
  282. package/dist/js/SliderDragSwipePlugin.js +0 -245
  283. package/dist/js/SliderIntervalPlugin.js +0 -192
  284. package/dist/js/SliderKeydownPlugin.js +0 -185
  285. package/dist/js/SliderModule.js +0 -1062
  286. package/dist/js/SliderWheelPlugin.js +0 -194
  287. package/dist/js/TextAnimateModule.js +0 -663
  288. package/dist/js/TextSplitModule.js +0 -785
  289. package/dist/js/TimelineBaseModule.js +0 -405
  290. package/dist/js/TimelineModule.js +0 -494
  291. package/dist/js/URLEvent.js +0 -239
  292. package/dist/js/ViewportEvent.js +0 -465
  293. package/dist/js/WheelEventModule.js +0 -295
  294. package/dist/js/domChildOf.js +0 -46
  295. package/dist/js/domChildren.js +0 -47
  296. package/dist/js/domInsertAfter.js +0 -32
  297. package/dist/js/domRemoveChildren.js +0 -26
  298. package/dist/js/easing.js +0 -363
  299. package/dist/js/eventListenerAdd.js +0 -87
  300. package/dist/js/eventListenerGet.js +0 -49
  301. package/dist/js/eventListenerRemove.js +0 -36
  302. package/dist/js/generateId.js +0 -29
  303. package/dist/js/getBrowserName.js +0 -60
  304. package/dist/js/getOsName.js +0 -39
  305. package/dist/js/getVevetProperties.js +0 -22
  306. package/dist/js/index.js +0 -519
  307. package/dist/js/mathScopeProgress.js +0 -32
  308. package/dist/js/mathSpreadScopeProgress.js +0 -35
  309. package/dist/js/merge.js +0 -33
  310. package/dist/js/normalizeWheel.js +0 -97
  311. package/dist/js/text_animate_module_addons/_composite_elementary.js +0 -196
  312. package/dist/js/text_animate_module_addons/_elementary.js +0 -88
  313. package/dist/js/timeoutCallback.js +0 -26
  314. package/dist/js/vevet.js +0 -10
  315. package/dist/scss/_prefix.scss +0 -1
  316. package/dist/scss/classes/_clear.scss +0 -5
  317. package/dist/scss/classes/_col-row.scss +0 -48
  318. package/dist/scss/classes/_display.scss +0 -65
  319. package/dist/scss/classes/_document-reset.scss +0 -28
  320. package/dist/scss/classes/_document.scss +0 -7
  321. package/dist/scss/classes/_overflow.scss +0 -39
  322. package/dist/scss/classes/_position.scss +0 -55
  323. package/dist/scss/classes/_text.scss +0 -24
  324. package/dist/scss/classes/_transition.scss +0 -22
  325. package/dist/scss/classes/_wrap.scss +0 -31
  326. package/dist/scss/classes/index.scss +0 -14
  327. package/dist/scss/index.scss +0 -3
  328. package/dist/scss/mixins/_clear.scss +0 -6
  329. package/dist/scss/mixins/_display.scss +0 -6
  330. package/dist/scss/mixins/_form.scss +0 -14
  331. package/dist/scss/mixins/_position.scss +0 -42
  332. package/dist/scss/mixins/_reset.scss +0 -17
  333. package/dist/scss/mixins/_responsive.scss +0 -88
  334. package/dist/scss/mixins/index.scss +0 -7
  335. package/dist/scss/modules/columns/_settings.scss +0 -1
  336. package/dist/scss/modules/columns/index.scss +0 -19
  337. package/dist/scss/modules/cursor/_settings.scss +0 -7
  338. package/dist/scss/modules/cursor/index.scss +0 -15
  339. package/dist/scss/modules/form/_settings.scss +0 -15
  340. package/dist/scss/modules/form/index.scss +0 -57
  341. package/dist/scss/modules/index.scss +0 -11
  342. package/dist/scss/modules/menu/_button.scss +0 -58
  343. package/dist/scss/modules/menu/_menu.scss +0 -25
  344. package/dist/scss/modules/menu/_settings.scss +0 -23
  345. package/dist/scss/modules/menu/index.scss +0 -3
  346. package/dist/scss/modules/pagination/_settings.scss +0 -6
  347. package/dist/scss/modules/pagination/index.scss +0 -24
  348. package/dist/scss/modules/popup/_settings.scss +0 -26
  349. package/dist/scss/modules/popup/index.scss +0 -294
  350. package/dist/scss/modules/preloader/_settings.scss +0 -3
  351. package/dist/scss/modules/preloader/index.scss +0 -19
  352. package/dist/scss/modules/scroll/_settings.scss +0 -22
  353. package/dist/scss/modules/scroll/index.scss +0 -94
  354. package/dist/scss/modules/select/_settings.scss +0 -28
  355. package/dist/scss/modules/select/index.scss +0 -142
  356. package/dist/scss/modules/slider/_settings.scss +0 -35
  357. package/dist/scss/modules/slider/index.scss +0 -153
  358. package/dist/scss/modules/text/_settings.scss +0 -1
  359. package/dist/scss/modules/text/index.scss +0 -19
  360. package/dist/types/types.d.ts +0 -18763
@@ -0,0 +1,462 @@
1
+ import { createElement, selectOne } from 'vevet-dom';
2
+ import { AnimationFrame } from '../animation-frame/AnimationFrame';
3
+ import { Component, NComponent } from '../../base/Component';
4
+ import { RequiredModuleProp } from '../../utils/types/utility';
5
+ import lerp from '../../utils/math/lerp';
6
+
7
+
8
+
9
+ export namespace NCustomCursor {
10
+
11
+ /**
12
+ * Static properties
13
+ */
14
+ export interface StaticProp extends NComponent.StaticProp {
15
+ /**
16
+ * Cursor parent element
17
+ * @default window
18
+ */
19
+ container?: Window | Element | string;
20
+ /**
21
+ * If need to launch cursor animation after anitialization
22
+ * @default true
23
+ */
24
+ run?: boolean;
25
+ /**
26
+ * If need to hide the native cursor
27
+ * @default false
28
+ */
29
+ hideNativeCursor?: boolean;
30
+ }
31
+
32
+ /**
33
+ * Changeable properties
34
+ */
35
+ export interface ChangeableProp extends NComponent.ChangeableProp {
36
+ render?: {
37
+ /**
38
+ * Linear interpolation of coordinates. Speed
39
+ * @default 0.2
40
+ */
41
+ lerp?: number;
42
+ /**
43
+ * Sometimes animation may be choppy because of large decimal values in transforms.
44
+ * In such cases you may want to use this property.
45
+ * It works on the basis of "toFixed()" method. Only integers
46
+ * @default 2
47
+ */
48
+ lerpToFixed?: false | number;
49
+ /**
50
+ * On different screens with different FPS, scrolling may be faster or slower.
51
+ * This property is to normalize scrolling speed across different FPS.
52
+ * @default false
53
+ */
54
+ normalizeLerp?: boolean;
55
+ }
56
+ /**
57
+ * Automatically stop rendering after the target and current values are approximated.
58
+ * @default true
59
+ */
60
+ autoStop?: boolean;
61
+ }
62
+
63
+ /**
64
+ * Available callbacks
65
+ */
66
+ export interface CallbacksTypes extends NComponent.CallbacksTypes {
67
+ 'create': {
68
+ outerCursor: HTMLElement;
69
+ innerCursor: HTMLElement;
70
+ };
71
+ 'render': {
72
+ x: number;
73
+ y: number;
74
+ };
75
+ }
76
+
77
+ }
78
+
79
+
80
+
81
+ /**
82
+ * Creates a smooth custom cursor
83
+ */
84
+ export class CustomCursor <
85
+ StaticProp extends NCustomCursor.StaticProp = NCustomCursor.StaticProp,
86
+ ChangeableProp extends NCustomCursor.ChangeableProp = NCustomCursor.ChangeableProp,
87
+ CallbacksTypes extends NCustomCursor.CallbacksTypes = NCustomCursor.CallbacksTypes,
88
+ > extends Component <
89
+ StaticProp,
90
+ ChangeableProp,
91
+ CallbacksTypes
92
+ > {
93
+ protected _getDefaultProp <
94
+ T extends RequiredModuleProp<StaticProp & ChangeableProp>
95
+ > (): T {
96
+ return {
97
+ ...super._getDefaultProp(),
98
+ container: window,
99
+ run: true,
100
+ hideNativeCursor: false,
101
+ render: {
102
+ lerp: 0.2,
103
+ lerpToFixed: 2,
104
+ normalizeLerp: false,
105
+ },
106
+ autoStop: true,
107
+ };
108
+ }
109
+
110
+ get prefix () {
111
+ return `${this._app.prefix}custom-cursor`;
112
+ }
113
+
114
+
115
+
116
+ /**
117
+ * Cursor container
118
+ */
119
+ get container () {
120
+ return this._container;
121
+ }
122
+ protected _container: Element | Window;
123
+ protected _containerIsWindow: boolean;
124
+
125
+ /**
126
+ * The element for events
127
+ */
128
+ get eventsContainer () {
129
+ return this._container;
130
+ }
131
+
132
+ /**
133
+ * The DOM parent for the cursor element
134
+ */
135
+ get domContainer (): HTMLElement {
136
+ if (this.container instanceof Window) {
137
+ return this._app.html;
138
+ }
139
+ return this.container as HTMLElement;
140
+ }
141
+
142
+
143
+
144
+ /**
145
+ * Cursor element (outer element)
146
+ */
147
+ get outerCursor () {
148
+ return this._outerCursor;
149
+ }
150
+ protected _outerCursor!: HTMLElement;
151
+
152
+ /**
153
+ * Cursor element (inner element)
154
+ */
155
+ get innerCursor () {
156
+ return this._innerCursor;
157
+ }
158
+ protected _innerCursor!: HTMLElement;
159
+
160
+
161
+
162
+ /**
163
+ * Animation frame
164
+ */
165
+ protected _animationFrame!: AnimationFrame;
166
+ /**
167
+ * Current FPS. Used to normalize LERP ease
168
+ */
169
+ protected _currentFPS: number;
170
+ /**
171
+ * If can play animation
172
+ */
173
+ protected _canPlay: boolean;
174
+
175
+ /**
176
+ * Current X coordinate relative to Window
177
+ */
178
+ get x () {
179
+ return this._x;
180
+ }
181
+ protected _x: number;
182
+ /**
183
+ * Target coordinate
184
+ */
185
+ protected _xTarget: number;
186
+
187
+ /**
188
+ * Current Y coordinate relative to Window
189
+ */
190
+ get y () {
191
+ return this._y;
192
+ }
193
+ protected _y: number;
194
+ /**
195
+ * Target coordinate
196
+ */
197
+ protected _yTarget: number;
198
+
199
+
200
+
201
+ constructor (
202
+ initialProp?: (StaticProp & ChangeableProp),
203
+ init = true,
204
+ ) {
205
+ super(initialProp, false);
206
+
207
+ // get cursor container
208
+ const container = selectOne(this.prop.container);
209
+ if (container) {
210
+ this._container = container;
211
+ } else {
212
+ throw new Error(`No cursor container for ${this.prop.container}`);
213
+ }
214
+ this._containerIsWindow = container instanceof Window;
215
+
216
+ // set default vars
217
+ this._x = 0;
218
+ this._xTarget = 0;
219
+ this._y = 0;
220
+ this._yTarget = 0;
221
+ this._currentFPS = 60;
222
+ this._canPlay = this.prop.run;
223
+
224
+ // initialize the class
225
+ if (init) {
226
+ this.init();
227
+ }
228
+ }
229
+
230
+ // Extra constructor
231
+ protected _constructor () {
232
+ super._constructor();
233
+ this._createCursor();
234
+ }
235
+
236
+ // Set Module Events
237
+ protected _setEvents () {
238
+ super._setEvents();
239
+
240
+ const { domContainer } = this;
241
+
242
+ // create animation frame
243
+ this._animationFrame = new AnimationFrame();
244
+ this._animationFrame.addCallback('frame', (data) => {
245
+ this._currentFPS = data.realFPS;
246
+ this.render();
247
+ });
248
+ if (this._canPlay) {
249
+ this.enable();
250
+ }
251
+
252
+ // set mouse hover events
253
+ this.addEventListeners(domContainer, 'mouseenter', this._handleMouseEnter.bind(this));
254
+ this.addEventListeners(domContainer, 'mouseleave', this._handleMouseLeave.bind(this));
255
+ // set move events
256
+ this.addEventListeners(domContainer, 'mousemove', this._handleMouseMove.bind(this));
257
+ // set click events events
258
+ this.addEventListeners(domContainer, 'mousedown', this._handleMouseDown.bind(this));
259
+ this.addEventListeners(domContainer, 'mouseup', this._handleMouseUp.bind(this));
260
+ this.addEventListeners(window, 'blur', this._handleWindowBlur.bind(this));
261
+ }
262
+
263
+
264
+
265
+ /**
266
+ * Create custom cursor
267
+ */
268
+ protected _createCursor () {
269
+ const { prefix, container, domContainer } = this;
270
+
271
+ // hide native cursor
272
+ if (this.prop.hideNativeCursor) {
273
+ domContainer.style.cursor = 'none';
274
+ domContainer.classList.add('hide-defaut-cursor');
275
+ }
276
+ // set classes
277
+ domContainer.classList.add(`${prefix}-container`);
278
+
279
+ // create cursor elements
280
+ this._outerCursor = createElement('div', {
281
+ class: `${prefix} ${container instanceof Window ? 'in-window' : 'in-element'} disabled`,
282
+ parent: domContainer,
283
+ });
284
+ this._innerCursor = createElement('div', {
285
+ class: `${prefix}__inner disabled`,
286
+ parent: this._outerCursor,
287
+ });
288
+
289
+ // launch events
290
+ this.callbacks.tbt('create', {
291
+ outerCursor: this.outerCursor,
292
+ innerCursor: this.innerCursor,
293
+ });
294
+ }
295
+
296
+ /**
297
+ * Destroy the cursor
298
+ */
299
+ protected _destroyCursor () {
300
+ const { prefix, domContainer } = this;
301
+
302
+ domContainer.style.cursor = '';
303
+ domContainer.classList.remove('hide-defaut-cursor');
304
+ domContainer.classList.remove(`${prefix}-container`);
305
+
306
+ this._outerCursor.remove();
307
+ this._innerCursor.remove();
308
+ }
309
+
310
+
311
+
312
+ /**
313
+ * Event on mouse enter
314
+ */
315
+ protected _handleMouseEnter (
316
+ evt: MouseEvent,
317
+ ) {
318
+ // update coordinates
319
+ this._xTarget = evt.clientX;
320
+ this._x = this._xTarget;
321
+ this._yTarget = evt.clientY;
322
+ this._y = this._yTarget;
323
+ // set classes
324
+ this.outerCursor.classList.add('in-action');
325
+ }
326
+
327
+ /**
328
+ * Event on mouse leave
329
+ */
330
+ protected _handleMouseLeave () {
331
+ this.outerCursor.classList.remove('in-action');
332
+ }
333
+
334
+ /**
335
+ * Event on mouse move
336
+ */
337
+ protected _handleMouseMove (
338
+ evt: MouseEvent,
339
+ ) {
340
+ this._xTarget = evt.clientX;
341
+ this._yTarget = evt.clientY;
342
+ // set classes
343
+ this.outerCursor.classList.add('in-action');
344
+ // launch animation
345
+ if (this._canPlay) {
346
+ this._animationFrame.play();
347
+ }
348
+ }
349
+
350
+ /**
351
+ * Event on mouse down
352
+ */
353
+ protected _handleMouseDown (
354
+ evt: MouseEvent,
355
+ ) {
356
+ if (evt.which === 1) {
357
+ this.outerCursor.classList.add('click');
358
+ this.innerCursor.classList.add('click');
359
+ }
360
+ }
361
+
362
+ /**
363
+ * Event on mouse up
364
+ */
365
+ protected _handleMouseUp () {
366
+ this.outerCursor.classList.remove('click');
367
+ this.innerCursor.classList.remove('click');
368
+ }
369
+
370
+ /**
371
+ * Event on mouse down
372
+ */
373
+ protected _handleWindowBlur () {
374
+ this._handleMouseUp();
375
+ }
376
+
377
+
378
+
379
+ /**
380
+ * Render the scene
381
+ */
382
+ public render () {
383
+ // props
384
+ const { prop } = this;
385
+ const { domContainer } = this;
386
+ const { normalizeLerp, lerp: ease, lerpToFixed } = prop.render;
387
+ const fpsMultiplier = normalizeLerp ? 60 / this._currentFPS : 1;
388
+
389
+ // interpolate coordinates
390
+ this._x = lerp(this._x, this._xTarget, ease * fpsMultiplier, 0.02);
391
+ this._y = lerp(this._y, this._yTarget, ease * fpsMultiplier, 0.02);
392
+ // round the values
393
+ if (typeof lerpToFixed === 'number') {
394
+ const fixed = Math.round(Math.abs(lerpToFixed));
395
+ this._x = parseFloat(this._x.toFixed(fixed));
396
+ this._y = parseFloat(this._y.toFixed(fixed));
397
+ }
398
+
399
+ // calcu;ate real coordinates
400
+ let x = this._x;
401
+ let y = this._y;
402
+ if (!this._containerIsWindow) {
403
+ const bounding = domContainer.getBoundingClientRect();
404
+ x -= bounding.left;
405
+ y -= bounding.top;
406
+ }
407
+
408
+ // update dom coordinates
409
+ this.outerCursor.style.transform = `translate(${x}px, ${y}px)`;
410
+
411
+ // auto stop
412
+ if (
413
+ prop.autoStop
414
+ && this._x === this._xTarget && this._y === this._yTarget
415
+ ) {
416
+ this._animationFrame.pause();
417
+ }
418
+
419
+ // launch render events
420
+ this._callbacks.tbt('render', { x, y });
421
+ }
422
+
423
+
424
+
425
+ /**
426
+ * Enable cursor
427
+ */
428
+ public enable () {
429
+ this._canPlay = true;
430
+ if (this._animationFrame.isPlaying) {
431
+ return;
432
+ }
433
+ this.outerCursor.classList.remove('disabled');
434
+ this.innerCursor.classList.remove('disabled');
435
+ this._animationFrame.play();
436
+ }
437
+
438
+
439
+ /**
440
+ * Disable cursor
441
+ */
442
+ public disable () {
443
+ this._canPlay = false;
444
+ if (!this._animationFrame.isPlaying) {
445
+ return;
446
+ }
447
+ this.outerCursor.classList.add('disabled');
448
+ this.innerCursor.classList.add('disabled');
449
+ this._animationFrame.pause();
450
+ }
451
+
452
+
453
+
454
+ /**
455
+ * Destroy the module
456
+ */
457
+ protected _destroy () {
458
+ super._destroy();
459
+ this._destroyCursor();
460
+ this._animationFrame.destroy();
461
+ }
462
+ }