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,484 @@
1
+ import { selectAll } from 'vevet-dom';
2
+ import PCancelable from 'p-cancelable';
3
+ import { AnimationFrame } from '../animation-frame/AnimationFrame';
4
+ import { RequiredModuleProp } from '../../utils/types/utility';
5
+ import lerp from '../../utils/math/lerp';
6
+ import { Preloader, NPreloader } from './Preloader';
7
+ import { Timeline } from '../timeline/Timeline';
8
+
9
+
10
+
11
+ export namespace NProgressPreloader {
12
+
13
+ /**
14
+ * Static properties
15
+ */
16
+ export interface StaticProp extends NPreloader.StaticProp {
17
+ /**
18
+ * Default resources quantity
19
+ * @default 0
20
+ */
21
+ resources?: number;
22
+ /**
23
+ * What elements to preload
24
+ */
25
+ loaders?: {
26
+ /**
27
+ * Preload images
28
+ * @default true
29
+ */
30
+ img?: boolean;
31
+ /**
32
+ * Preload videos. Only metadata
33
+ * @default true
34
+ */
35
+ video?: boolean;
36
+ /**
37
+ * Selector for elements to be preloaded.
38
+ * These elements may have such properties as 'isLoaded' or 'isComplete'
39
+ * or attributes like 'data-is-loaded', 'is-loaded'.
40
+ * @default '.js-preload'
41
+ */
42
+ custom?: string | false;
43
+ };
44
+ /**
45
+ * Smooth calculation settings
46
+ */
47
+ calc?: {
48
+ /**
49
+ * Linear interpolation speed. If false, animation will not be used.
50
+ * @default 0.1
51
+ */
52
+ lerp?: number | false;
53
+ /**
54
+ * If true and 'lerp' is less than 1, the animation will be stopped
55
+ * and an animation Timeline will be launched to end the progress calculation.
56
+ * If false, the progress smooth calculation will end through
57
+ * linear interpolation.
58
+ * @default 500
59
+ */
60
+ forceEnd?: number | false;
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Changeable properties
66
+ */
67
+ export interface ChangeableProp extends NPreloader.ChangeableProp { }
68
+
69
+ /**
70
+ * Available callbacks
71
+ */
72
+ export interface CallbacksTypes extends NPreloader.CallbacksTypes {
73
+ 'resourceLoad': false;
74
+ 'progress': {
75
+ progress: number;
76
+ };
77
+ }
78
+
79
+ export interface CustomResource extends Element {
80
+ isLoaded?: boolean;
81
+ isComplete?: boolean;
82
+ }
83
+
84
+ }
85
+
86
+
87
+
88
+ /**
89
+ * A page preloader with smooth progress calculation
90
+ */
91
+ export class ProgressPreloader <
92
+ StaticProp extends NProgressPreloader.StaticProp = NProgressPreloader.StaticProp,
93
+ ChangeableProp extends NProgressPreloader.ChangeableProp = NProgressPreloader.ChangeableProp,
94
+ CallbacksTypes extends NProgressPreloader.CallbacksTypes = NProgressPreloader.CallbacksTypes,
95
+ > extends Preloader <
96
+ StaticProp,
97
+ ChangeableProp,
98
+ CallbacksTypes
99
+ > {
100
+ protected _getDefaultProp <
101
+ T extends RequiredModuleProp<StaticProp & ChangeableProp>
102
+ > (): T {
103
+ return {
104
+ ...super._getDefaultProp(),
105
+ resources: 0,
106
+ loaders: {
107
+ img: true,
108
+ video: true,
109
+ custom: '.js-preload',
110
+ },
111
+ calc: {
112
+ lerp: 0.1,
113
+ forceEnd: 500,
114
+ },
115
+ };
116
+ }
117
+
118
+
119
+
120
+ /**
121
+ * Image resources
122
+ */
123
+ get imgs () {
124
+ return this._imgs;
125
+ }
126
+ protected _imgs: HTMLImageElement[];
127
+
128
+ /**
129
+ * Video resources
130
+ */
131
+ get videos () {
132
+ return this._videos;
133
+ }
134
+ protected _videos: HTMLVideoElement[];
135
+
136
+ /**
137
+ * Custom resources
138
+ */
139
+ get customResources () {
140
+ return this._customResources;
141
+ }
142
+ protected _customResources: NProgressPreloader.CustomResource[];
143
+
144
+
145
+
146
+ /**
147
+ * Quantity of resources to be preloader
148
+ */
149
+ get resourcesTotal () {
150
+ return this._resourcesTotal;
151
+ }
152
+ protected _resourcesTotal: number;
153
+
154
+ /**
155
+ * Quantity of resources been already loaded
156
+ */
157
+ get resourcesLoaded () {
158
+ return this._resourcesLoaded;
159
+ }
160
+ protected _resourcesLoaded: number;
161
+
162
+ /**
163
+ * Progress of resources loaded
164
+ */
165
+ get loadProgress () {
166
+ return this.resourcesLoaded / this.resourcesTotal;
167
+ }
168
+
169
+ /**
170
+ * Preloader progress
171
+ */
172
+ get progress () {
173
+ return this._progress;
174
+ }
175
+ protected set progress (val: number) {
176
+ this._progress = val;
177
+ this._handleProgress();
178
+ }
179
+ protected _progress: number;
180
+
181
+
182
+
183
+ /**
184
+ * Animation progress. For smooth progress calculation
185
+ */
186
+ protected _animationFrame?: AnimationFrame;
187
+
188
+ /**
189
+ * A timeline to finish progress animation
190
+ */
191
+ protected _endTimeline?: Timeline;
192
+
193
+
194
+
195
+ constructor (
196
+ initialProp?: (StaticProp & ChangeableProp),
197
+ init = true,
198
+ ) {
199
+ super(initialProp, false);
200
+
201
+ // set default vars
202
+ this._imgs = [];
203
+ this._videos = [];
204
+ this._customResources = [];
205
+ this._resourcesTotal = 1 + this.prop.resources;
206
+ this._resourcesLoaded = 0;
207
+ this._progress = 0;
208
+
209
+ // initialize the class
210
+ if (init) {
211
+ this.init();
212
+ }
213
+ }
214
+
215
+ protected _constructor () {
216
+ super._constructor();
217
+ this._getResources();
218
+ }
219
+
220
+ protected _setEvents () {
221
+ super._setEvents();
222
+
223
+ const { calc } = this.prop;
224
+ const { lerp: lerpVal } = calc;
225
+
226
+ // create animation frame if needed
227
+ if (typeof lerpVal === 'number') {
228
+ this._animationFrame = new AnimationFrame();
229
+ this._animationFrame.addCallback('frame', () => {
230
+ this.progress = lerp(
231
+ this.progress,
232
+ this.loadProgress,
233
+ lerpVal,
234
+ );
235
+ });
236
+ this._animationFrame.play();
237
+ }
238
+
239
+ // preload resources
240
+ this._preloadResources();
241
+
242
+ // iterate resources on page load
243
+ this._app.onPageLoaded().then(() => {
244
+ this._handleLoadedResource();
245
+ });
246
+ }
247
+
248
+ /**
249
+ * Seek the moment when the page is fully loaded
250
+ */
251
+ protected _onLoaded () {
252
+ return new PCancelable((
253
+ resolve: (...arg: any) => void,
254
+ ) => {
255
+ let callbackLaunched = false;
256
+ this.callbacks.add('progress', (data) => {
257
+ if (data.progress >= 1 && !callbackLaunched) {
258
+ resolve();
259
+ callbackLaunched = true;
260
+ }
261
+ }, {
262
+ protected: true,
263
+ });
264
+ });
265
+ }
266
+
267
+
268
+
269
+ /**
270
+ * Get resources to be preloader
271
+ */
272
+ protected _getResources () {
273
+ const { loaders } = this.prop;
274
+ // get images
275
+ if (loaders.img) {
276
+ const imgs = selectAll('img');
277
+ imgs.forEach((img) => {
278
+ this._imgs.push(img);
279
+ this._resourcesTotal += 1;
280
+ });
281
+ }
282
+
283
+ // get videos
284
+ if (loaders.video) {
285
+ const videos = selectAll('video');
286
+ videos.forEach((video) => {
287
+ this._videos.push(video);
288
+ this._resourcesTotal += 1;
289
+ });
290
+ }
291
+
292
+ // get custom resources
293
+ if (loaders.custom) {
294
+ this._customResources = Array.from(selectAll(loaders.custom));
295
+ this._resourcesTotal += this._customResources.length;
296
+ }
297
+ }
298
+
299
+ /**
300
+ * Preload all resources
301
+ */
302
+ protected _preloadResources () {
303
+ // check if no resources
304
+ if (this._resourcesTotal === 0) {
305
+ this._resourcesTotal = 1;
306
+ this._handleLoadedResource();
307
+ }
308
+
309
+ // preload images
310
+ this._imgs.forEach((img) => {
311
+ if (img.complete) {
312
+ this._handleLoadedResource();
313
+ } else {
314
+ const image = new Image();
315
+ img.addEventListener('load', () => {
316
+ this._handleLoadedResource();
317
+ });
318
+ img.addEventListener('error', () => {
319
+ this._handleLoadedResource();
320
+ });
321
+ image.src = img.src;
322
+ }
323
+ });
324
+
325
+ // preload videos
326
+ this._videos.forEach((video) => {
327
+ if (video.readyState > 0) {
328
+ this._handleLoadedResource();
329
+ } else {
330
+ if (video.preload === 'none') {
331
+ this._handleLoadedResource();
332
+ return;
333
+ }
334
+ video.addEventListener('error', () => {
335
+ this._handleLoadedResource();
336
+ });
337
+ video.addEventListener('loadedmetadata', () => {
338
+ this._handleLoadedResource();
339
+ });
340
+ }
341
+ });
342
+
343
+ // preload custom resources
344
+ this._customResources.forEach((el) => {
345
+ this._seekCustomResourceLoaded(el).then(() => {
346
+ this._handleLoadedResource();
347
+ });
348
+ });
349
+ }
350
+
351
+ /**
352
+ * Seek the moment when a custom resource is loaded
353
+ */
354
+ protected _seekCustomResourceLoaded (
355
+ el: NProgressPreloader.CustomResource,
356
+ ) {
357
+ return new Promise((
358
+ resolve: (...arg: any) => void,
359
+ ) => {
360
+ // check if the element is loaded
361
+ if (el.isComplete || el.isLoaded) {
362
+ resolve();
363
+ return;
364
+ }
365
+ if (
366
+ el.getAttribute('data-is-loaded')
367
+ || el.getAttribute('is-loaded')
368
+ ) {
369
+ resolve();
370
+ return;
371
+ }
372
+ // otherwise, seek the moment when it will be loaded
373
+ setTimeout(() => {
374
+ if (this.destroyed) {
375
+ return;
376
+ }
377
+ this._seekCustomResourceLoaded(el).then(() => {
378
+ resolve();
379
+ });
380
+ }, 50);
381
+ });
382
+ }
383
+
384
+ /**
385
+ * Iterate quantity of loaded resources.
386
+ * @param quantity - Only integers
387
+ */
388
+ public addResourcesLoaded (
389
+ quantity = 1,
390
+ ) {
391
+ for (let index = 0; index < quantity; index += 1) {
392
+ this._handleLoadedResource();
393
+ }
394
+ }
395
+
396
+ /**
397
+ * Iterate quantity of total resources.
398
+ * @param quantity - Only integers
399
+ */
400
+ public addResourcesTotal (
401
+ quantity = 1,
402
+ ) {
403
+ this._resourcesTotal += quantity;
404
+ }
405
+
406
+
407
+
408
+ /**
409
+ * Event on resource loaded
410
+ */
411
+ protected _handleLoadedResource () {
412
+ if (this.loadProgress >= 1) {
413
+ return;
414
+ }
415
+
416
+ this._resourcesLoaded += 1;
417
+ this.callbacks.tbt('resourceLoad', false);
418
+
419
+ // update current preloader progress if no animation set
420
+ if (!this._animationFrame) {
421
+ this.progress = this.loadProgress;
422
+ }
423
+ }
424
+
425
+ /**
426
+ * Event on progress change
427
+ */
428
+ protected _handleProgress () {
429
+ // launch callback
430
+ this.callbacks.tbt('progress', {
431
+ progress: this._progress,
432
+ });
433
+
434
+ // if full progress,
435
+ // we hide the preloader
436
+ if (this.progress >= 1) {
437
+ // destroy animations
438
+ if (this._animationFrame) {
439
+ this._animationFrame.destroy();
440
+ this._animationFrame = undefined;
441
+ }
442
+ return;
443
+ }
444
+
445
+ // otherwise, we check if there's a need to launch a timeline
446
+ // to end the animation
447
+ if (
448
+ typeof this.prop.calc.forceEnd === 'number'
449
+ && this.loadProgress >= 1
450
+ && !this._endTimeline
451
+ ) {
452
+ // destroy animation frame
453
+ if (this._animationFrame) {
454
+ this._animationFrame.destroy();
455
+ this._animationFrame = undefined;
456
+ }
457
+ // create a timeline
458
+ this._endTimeline = new Timeline({
459
+ duration: this.prop.calc.forceEnd,
460
+ });
461
+ const startProgress = this.progress;
462
+ this._endTimeline.addCallback('progress', (data) => {
463
+ const diff = 1 - startProgress;
464
+ this.progress = startProgress + (diff * data.progress);
465
+ });
466
+ this._endTimeline.play();
467
+ }
468
+
469
+ // and since some time the preloader will be hidden automatically.
470
+ // See '_onLoaded' method.
471
+ }
472
+
473
+
474
+
475
+ /**
476
+ * Destroy the component
477
+ */
478
+ protected _destroy () {
479
+ super._destroy();
480
+ if (this._animationFrame) {
481
+ this._animationFrame.destroy();
482
+ }
483
+ }
484
+ }