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