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,519 @@
1
+ import { selectAll, selectOne, isElement, createElement, } from 'vevet-dom';
2
+ import normalizeWheel from 'normalize-wheel';
3
+ import { Component } from '../../../base/Component';
4
+ import { AnimationFrame } from '../../animation-frame/AnimationFrame';
5
+ import boundVal from '../../../utils/math/boundVal';
6
+ import { lerp } from '../../../utils/math';
7
+ /**
8
+ * Create smooth scrolling.
9
+ */
10
+ export class SmoothScroll extends Component {
11
+ constructor(initialProp, init = true) {
12
+ super(initialProp, false);
13
+ const { selectors } = this.prop;
14
+ // set default variables
15
+ this._targetLeft = 0;
16
+ this._targetTop = 0;
17
+ this._scrollLeft = 0;
18
+ this._scrollTop = 0;
19
+ this._scrollWidth = 0;
20
+ this._scrollHeight = 0;
21
+ this._clientWidth = 0;
22
+ this._clientHeight = 0;
23
+ this._instant = false;
24
+ this._currentFPS = 60;
25
+ // get outer elements
26
+ this._outer = selectOne(selectors.outer);
27
+ if (!(this._outer instanceof HTMLElement)) {
28
+ throw new Error(`${selectors.outer} is not a HTMLElement`);
29
+ }
30
+ this._outer.classList.add(this.prefix);
31
+ // get or create container
32
+ const existingContainer = selectOne(`.${this.prefix}__container`, this.outer);
33
+ if (isElement(existingContainer)) {
34
+ this._container = existingContainer;
35
+ this._containerExists = true;
36
+ }
37
+ else {
38
+ this._container = createElement('div', {
39
+ class: `${this.prefix}__container`,
40
+ parent: this.outer,
41
+ children: Array.from(this.outer.children),
42
+ });
43
+ this._containerExists = false;
44
+ }
45
+ // get scrollable elements
46
+ if (selectors.elements) {
47
+ this._elements = Array.from(selectAll(selectors.elements, this._outer));
48
+ }
49
+ else {
50
+ this._elements = [this._container];
51
+ }
52
+ this._elementsLength = this._elements.length;
53
+ // add will-change
54
+ this._elements.forEach((el) => {
55
+ el.style.willChange = 'transform';
56
+ });
57
+ // initialize the class
58
+ if (init) {
59
+ this.init();
60
+ }
61
+ }
62
+ get prefix() {
63
+ return `${this._app.prefix}smooth-scroll`;
64
+ }
65
+ get outer() {
66
+ return this._outer;
67
+ }
68
+ get container() {
69
+ return this._container;
70
+ }
71
+ get elements() {
72
+ return this._elements;
73
+ }
74
+ get targetLeft() {
75
+ return this._targetLeft;
76
+ }
77
+ set targetLeft(val) {
78
+ this.targetLeftBound = val;
79
+ this._enable();
80
+ }
81
+ /**
82
+ * Set value without animation request
83
+ */
84
+ set targetLeftBound(val) {
85
+ const min = !!this.prop.overscroll && this.prop.isHorizontal
86
+ ? -this.prop.overscroll.max : 0;
87
+ const max = this.maxScrollableWidth
88
+ + (!!this.prop.overscroll && this.prop.isHorizontal ? this.prop.overscroll.max : 0);
89
+ this._targetLeft = boundVal(val, [min, max]);
90
+ }
91
+ get targetLeftBound() {
92
+ return this._targetLeft;
93
+ }
94
+ get targetTop() {
95
+ return this._targetTop;
96
+ }
97
+ set targetTop(val) {
98
+ this.targetTopBound = val;
99
+ this._enable();
100
+ }
101
+ /**
102
+ * Set value without animation request
103
+ */
104
+ set targetTopBound(val) {
105
+ const min = !!this.prop.overscroll && !this.prop.isHorizontal
106
+ ? -this.prop.overscroll.max : 0;
107
+ const max = this.maxScrollableHeight
108
+ + (!!this.prop.overscroll && !this.prop.isHorizontal ? this.prop.overscroll.max : 0);
109
+ this._targetTop = boundVal(val, [min, max]);
110
+ }
111
+ get targetTopBound() {
112
+ return this._targetTop;
113
+ }
114
+ get scrollLeft() {
115
+ return this._scrollLeft;
116
+ }
117
+ set scrollLeft(val) {
118
+ this.targetLeftBound = val;
119
+ this._scrollLeft = this._targetLeft;
120
+ this._enable();
121
+ }
122
+ get scrollTop() {
123
+ return this._scrollTop;
124
+ }
125
+ set scrollTop(val) {
126
+ this.targetTopBound = val;
127
+ this._scrollTop = this._targetTop;
128
+ this._enable();
129
+ }
130
+ get scrollWidth() {
131
+ return this._scrollWidth;
132
+ }
133
+ get scrollHeight() {
134
+ return this._scrollHeight;
135
+ }
136
+ get clientWidth() {
137
+ return this._clientWidth;
138
+ }
139
+ get clientHeight() {
140
+ return this._clientHeight;
141
+ }
142
+ /**
143
+ * Maximum scrollable area of the X axis
144
+ */
145
+ get maxScrollableWidth() {
146
+ return this.scrollWidth - this.clientWidth;
147
+ }
148
+ /**
149
+ * Maximum scrollable area of the Y axis
150
+ */
151
+ get maxScrollableHeight() {
152
+ return this.scrollHeight - this.clientHeight;
153
+ }
154
+ _getDefaultProp() {
155
+ return Object.assign(Object.assign({}, super._getDefaultProp()), { selectors: {
156
+ outer: `#${this.prefix}`,
157
+ elements: false,
158
+ }, enabled: true, animationFrame: false, recalculateSizes: true, useWheel: true, autoStop: true, isHorizontal: false, stopPropagation: true, useWillChange: true, render: {
159
+ lerp: 0.1,
160
+ lerpToFixed: 2,
161
+ approximation: 0.1,
162
+ normalizeLerp: false,
163
+ }, overscroll: {
164
+ friction: 0.5,
165
+ max: 250,
166
+ } });
167
+ }
168
+ // Extra constructor
169
+ _constructor() {
170
+ super._constructor();
171
+ this._toggle();
172
+ }
173
+ // Set Events
174
+ _setEvents() {
175
+ // update sizes
176
+ this.resize();
177
+ this.addViewportCallback('', () => {
178
+ this.resize(true);
179
+ });
180
+ // wheel
181
+ this.addEventListeners(this.outer, 'wheel', (e) => {
182
+ this._handleWheel(e);
183
+ });
184
+ // on scroll
185
+ this.addEventListeners(this.outer, 'scroll', () => {
186
+ this.outer.scrollTop = 0;
187
+ this.outer.scrollLeft = 0;
188
+ });
189
+ }
190
+ _onPropMutate() {
191
+ super._onPropMutate();
192
+ this.resize();
193
+ this._toggle();
194
+ }
195
+ /**
196
+ * Recalculate scroll sizes
197
+ */
198
+ resize(
199
+ /**
200
+ * If the method was called natively on window resize
201
+ */
202
+ native = false) {
203
+ // get elements
204
+ const { container, outer } = this;
205
+ // get sizes
206
+ this._clientWidth = outer.clientWidth;
207
+ this._clientHeight = outer.clientHeight;
208
+ this._scrollWidth = boundVal(container.clientWidth, [this.clientWidth, Infinity]);
209
+ this._scrollHeight = boundVal(container.clientHeight, [this.clientHeight, Infinity]);
210
+ // force instant change
211
+ // it means that after resizing, scrolling will be instantaneous for a while
212
+ if (native) {
213
+ this._instant = true;
214
+ }
215
+ // sometimes after resizing it may happen that targets are less or more
216
+ // than maximum values of scrolling
217
+ // that's why fix it here
218
+ if (native) {
219
+ this.targetLeft = parseInt(this.targetLeft.toFixed(0), 10);
220
+ this.targetTop = parseInt(this.targetTop.toFixed(0), 10);
221
+ }
222
+ // render elements
223
+ this._updateElementsProp();
224
+ // this.render();
225
+ // launch callbacks
226
+ this.callbacks.tbt('resize', false);
227
+ }
228
+ /**
229
+ * Recalculate scroll sizes
230
+ */
231
+ _recalculateSizes() {
232
+ const { container } = this;
233
+ const height = container.clientHeight;
234
+ const width = container.clientWidth;
235
+ if ((height !== this.scrollHeight) || (width !== this.scrollWidth)) {
236
+ this.resize();
237
+ }
238
+ }
239
+ /**
240
+ * Update elements' properties
241
+ */
242
+ _updateElementsProp() {
243
+ for (let index = 0; index < this._elementsLength; index += 1) {
244
+ const el = this._elements[index];
245
+ // update scroll values
246
+ el.smoothScrollLeft = this.scrollLeft;
247
+ el.smoothScrollTop = this.scrollTop;
248
+ // update easing
249
+ const easingAttr = el.getAttribute(`${this.prefix}-ease`);
250
+ if (easingAttr) {
251
+ try {
252
+ el.smoothScrollLerpEase = parseFloat(easingAttr);
253
+ }
254
+ catch (e) {
255
+ //
256
+ }
257
+ }
258
+ }
259
+ }
260
+ /**
261
+ * Event on wheel
262
+ */
263
+ _handleWheel(evt) {
264
+ const { prop } = this;
265
+ if (!prop.enabled || !prop.useWheel) {
266
+ return;
267
+ }
268
+ // stop propagation if needed
269
+ if (prop.stopPropagation
270
+ || (!prop.stopPropagation
271
+ && ((this.scrollLeft > 0
272
+ && this.scrollLeft < this.maxScrollableWidth)
273
+ || (this.scrollTop > 0
274
+ && this.scrollTop < this.maxScrollableHeight)))) {
275
+ evt.stopImmediatePropagation();
276
+ evt.stopPropagation();
277
+ evt.preventDefault();
278
+ }
279
+ // get normalized delta
280
+ const delta = normalizeWheel(evt);
281
+ // set new scroll targets
282
+ this.targetLeftBound += prop.isHorizontal ? delta.pixelY : delta.pixelX;
283
+ this.targetTopBound += prop.isHorizontal ? delta.pixelX : delta.pixelY;
284
+ // play scroll
285
+ this._enable();
286
+ // launch events
287
+ this.callbacks.tbt('wheel', evt);
288
+ }
289
+ /**
290
+ * Toggle animation: Enable / Disable scrolling
291
+ */
292
+ _toggle() {
293
+ if (this.prop.enabled) {
294
+ this._enable();
295
+ }
296
+ else {
297
+ this._disable();
298
+ }
299
+ }
300
+ /**
301
+ * Enable scrolling
302
+ */
303
+ _enable() {
304
+ if (!this.prop.enabled) {
305
+ return;
306
+ }
307
+ // set animation callback for the outer AnimationFrame
308
+ if (!!this.prop.animationFrame && !this._outerAnimationFrameEvent) {
309
+ this._outerAnimationFrameEvent = this.prop.animationFrame.addCallback('frame', (data) => {
310
+ this._currentFPS = data.realFPS;
311
+ this.render();
312
+ });
313
+ }
314
+ else {
315
+ // otherwise, check if inner AnimationFrame is created
316
+ if (!this._animationFrame) {
317
+ this._animationFrame = new AnimationFrame();
318
+ this._animationFrame.addCallback('frame', (data) => {
319
+ this._currentFPS = data.realFPS;
320
+ this.render();
321
+ });
322
+ }
323
+ this._animationFrame.play();
324
+ }
325
+ }
326
+ /**
327
+ * Disable scrolling
328
+ */
329
+ _disable() {
330
+ if (!!this._outerAnimationFrameEvent && !!this.prop.animationFrame) {
331
+ this._outerAnimationFrameEvent.remove();
332
+ }
333
+ if (this._animationFrame) {
334
+ this._animationFrame.pause();
335
+ }
336
+ }
337
+ /**
338
+ * Render elements
339
+ */
340
+ render() {
341
+ // vars
342
+ const { prop } = this;
343
+ // recalculate sizes
344
+ if (prop.recalculateSizes) {
345
+ this._recalculateSizes();
346
+ }
347
+ // calculate scroll values
348
+ this._calcScroll();
349
+ // change elements' values
350
+ this._calcElements();
351
+ // render
352
+ this._renderElements();
353
+ // disable instant scrolling
354
+ if (this._instant) {
355
+ this._instant = false;
356
+ }
357
+ // launch events
358
+ this.callbacks.tbt('scroll', false);
359
+ // stop animation frame if values are approximated
360
+ const yDiff = Math.abs(this.targetTop - this.scrollTop);
361
+ const xDiff = Math.abs(this.targetLeft - this.scrollLeft);
362
+ if (xDiff === 0 && yDiff === 0 && prop.autoStop) {
363
+ this._disable();
364
+ this.callbacks.tbt('approximate', false);
365
+ }
366
+ }
367
+ /**
368
+ * Calculate scroll value
369
+ */
370
+ _calcScroll() {
371
+ const { overscroll } = this.prop;
372
+ // use overscroll
373
+ if (overscroll) {
374
+ // left
375
+ if (this.targetLeft < 0) {
376
+ this.targetLeftBound = this._lerp(this.targetLeftBound, 0, overscroll.friction);
377
+ }
378
+ else if (this.targetLeft > this.maxScrollableWidth) {
379
+ this.targetLeftBound = this._lerp(this.targetLeftBound, this.maxScrollableWidth, overscroll.friction);
380
+ }
381
+ // top
382
+ if (this.targetTop < 0) {
383
+ this.targetTopBound = this._lerp(this.targetTopBound, 0, overscroll.friction);
384
+ }
385
+ else if (this.targetTop > this.maxScrollableHeight) {
386
+ this.targetTopBound = this._lerp(this.targetTopBound, this.maxScrollableHeight, overscroll.friction);
387
+ }
388
+ }
389
+ // update values
390
+ this._scrollLeft = this._lerp(this.scrollLeft, this.targetLeft);
391
+ this._scrollTop = this._lerp(this.scrollTop, this.targetTop);
392
+ }
393
+ /**
394
+ * Calculate elements' values.
395
+ */
396
+ _calcElements() {
397
+ const globalEase = this._getLerpEase();
398
+ for (let index = 0; index < this._elementsLength; index += 1) {
399
+ const el = this._elements[index];
400
+ // get element ease
401
+ const elEase = this._getLerpEase(el);
402
+ // change values
403
+ if (elEase === globalEase) {
404
+ el.smoothScrollLeft = this._scrollLeft;
405
+ el.smoothScrollTop = this._scrollTop;
406
+ }
407
+ else {
408
+ el.smoothScrollLeft = this._lerp(el.smoothScrollLeft, this._targetLeft, elEase);
409
+ el.smoothScrollTop = this._lerp(el.smoothScrollTop, this._targetTop, elEase);
410
+ }
411
+ }
412
+ }
413
+ /**
414
+ * Interpolate values
415
+ */
416
+ _lerp(current, target, ease = this._getLerpEase()) {
417
+ const { lerpToFixed, approximation } = this.prop.render;
418
+ const currentEase = this._instant ? 1 : ease;
419
+ const val = lerp(current, target, currentEase, approximation);
420
+ // round the values
421
+ if (typeof lerpToFixed === 'number') {
422
+ const fixed = Math.round(Math.abs(lerpToFixed));
423
+ return parseFloat(val.toFixed(fixed));
424
+ }
425
+ return val;
426
+ }
427
+ /**
428
+ * Get element ease
429
+ */
430
+ _getLerpEase(el = false) {
431
+ const { lerp: lerpEase, normalizeLerp } = this.prop.render;
432
+ const fpsMultiplier = normalizeLerp ? 60 / this._currentFPS : 1;
433
+ if (el) {
434
+ return el.smoothScrollLerpEase || lerpEase * fpsMultiplier;
435
+ }
436
+ return lerpEase * fpsMultiplier;
437
+ }
438
+ /**
439
+ * Render elements
440
+ */
441
+ _renderElements() {
442
+ for (let index = 0; index < this._elementsLength; index += 1) {
443
+ const el = this._elements[index];
444
+ // coords
445
+ const x = -el.smoothScrollLeft;
446
+ const y = -el.smoothScrollTop;
447
+ // set styles
448
+ el.style.transform = `matrix3d(1,0,0.00,0,0.00,1,0.00,0,0,0,1,0, ${x}, ${y}, 0,1)`;
449
+ }
450
+ }
451
+ // LIKE NATIVE SCROLL
452
+ /**
453
+ * Scroll to
454
+ */
455
+ scrollTo() {
456
+ // eslint-disable-next-line prefer-rest-params
457
+ const arg = arguments;
458
+ // if object
459
+ if (arg.length === 1 && typeof arg[0] === 'object') {
460
+ const options = arg[0];
461
+ const { top, left, behavior } = options;
462
+ if (typeof left !== 'undefined') {
463
+ if (behavior === 'smooth') {
464
+ this.targetLeftBound = left;
465
+ }
466
+ else {
467
+ this.scrollLeft = left;
468
+ }
469
+ }
470
+ if (typeof top !== 'undefined') {
471
+ if (behavior === 'smooth') {
472
+ this.targetTopBound = top;
473
+ }
474
+ else {
475
+ this.scrollTop = top;
476
+ }
477
+ }
478
+ if (behavior === 'smooth') {
479
+ this._enable();
480
+ }
481
+ }
482
+ // if numbers
483
+ if (typeof arg[0] === 'number' || typeof arg[1] === 'number') {
484
+ if (typeof arg[0] === 'number') {
485
+ // eslint-disable-next-line prefer-destructuring
486
+ this.scrollLeft = arg[0];
487
+ }
488
+ if (typeof arg[1] === 'number') {
489
+ // eslint-disable-next-line prefer-destructuring
490
+ this.scrollTop = arg[1];
491
+ }
492
+ }
493
+ }
494
+ /**
495
+ * Destroy the scroll
496
+ */
497
+ _destroy() {
498
+ super._destroy();
499
+ // disable animation
500
+ this._disable();
501
+ if (this._animationFrame) {
502
+ this._animationFrame.destroy();
503
+ }
504
+ // destroy container
505
+ if (!this._containerExists) {
506
+ while (this._container.firstChild) {
507
+ this._outer.appendChild(this._container.firstChild);
508
+ }
509
+ this._container.remove();
510
+ }
511
+ // remove classes
512
+ this._outer.classList.remove(this.prefix);
513
+ // reset styles
514
+ this._elements.forEach((el) => {
515
+ el.style.transform = '';
516
+ el.style.willChange = '';
517
+ });
518
+ }
519
+ }
@@ -0,0 +1 @@
1
+ export {};