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,364 @@
1
+ import { addEventListener, createElement, IAddEventListener } from 'vevet-dom';
2
+ import { IRemovable } from '../../../utils/types/general';
3
+ import onScroll from '../../../utils/listeners/onScroll';
4
+ import boundVal from '../../../utils/math/boundVal';
5
+ import { DraggerMove, NDraggerMove } from '../../dragger/DraggerMove';
6
+ import { SmoothScroll } from '../smooth-scroll/SmoothScroll';
7
+
8
+ interface Data {
9
+ container: Window | SmoothScroll | Element;
10
+ domParent: Element;
11
+ dir: 'x' | 'y';
12
+ autoHide: boolean;
13
+ autoSize: boolean;
14
+ minSize: number;
15
+ optimizeCalculations: boolean;
16
+ prefix: string;
17
+ isDraggable: boolean;
18
+ draggableScrollBehavior: 'smooth' | 'auto';
19
+ }
20
+
21
+ export default class Bar {
22
+ // elements
23
+ protected _outer: HTMLElement;
24
+ get outer () {
25
+ return this._outer;
26
+ }
27
+ protected _thumb: HTMLElement;
28
+ get thumb () {
29
+ return this._thumb;
30
+ }
31
+
32
+ // global
33
+ get prefix () {
34
+ return this._prop.prefix;
35
+ }
36
+ get isX () {
37
+ return this.prop.dir === 'x';
38
+ }
39
+ get isY () {
40
+ return !this.isX;
41
+ }
42
+
43
+ // sizes
44
+ protected _outerHeight: number;
45
+ protected _outerWidth: number;
46
+ protected _thumbHeight: number;
47
+ protected _thumbWidth: number;
48
+
49
+ get scrollElement () {
50
+ return this.prop.container instanceof Window
51
+ ? document.documentElement : this.prop.container;
52
+ }
53
+
54
+ get scrollLine () {
55
+ const { scrollElement } = this;
56
+ return this.isX
57
+ ? scrollElement.scrollWidth - scrollElement.clientWidth
58
+ : scrollElement.scrollHeight - scrollElement.clientHeight;
59
+ }
60
+
61
+ get scrollWidth () {
62
+ return this.scrollElement.scrollWidth;
63
+ }
64
+ get scrollHeight () {
65
+ return this.scrollElement.scrollHeight;
66
+ }
67
+
68
+ // states
69
+ protected _scrollVal: number;
70
+ protected _coordsAtDragStart: {
71
+ left: number;
72
+ top: number;
73
+ }
74
+
75
+ // events
76
+ protected _listeners: IAddEventListener[];
77
+ protected _scrollEvent?: IRemovable;
78
+ protected _actionTimeout?: NodeJS.Timeout;
79
+ protected _dragger?: DraggerMove;
80
+
81
+
82
+
83
+ get prop () {
84
+ return this._prop;
85
+ }
86
+
87
+ constructor (
88
+ protected _prop: Data,
89
+ ) {
90
+ const {
91
+ prefix, dir, domParent, container, autoHide,
92
+ } = _prop;
93
+
94
+ // set default vars
95
+ this._outerHeight = 0;
96
+ this._outerWidth = 0;
97
+ this._thumbHeight = 0;
98
+ this._thumbWidth = 0;
99
+ this._scrollVal = 0;
100
+ this._coordsAtDragStart = {
101
+ left: 0,
102
+ top: 0,
103
+ };
104
+
105
+ // create outer
106
+ let outerClassNames = `${prefix} ${prefix}_${dir}`;
107
+ if (container instanceof Window) {
108
+ outerClassNames += ' in-window';
109
+ }
110
+ this._outer = createElement('div', {
111
+ parent: domParent,
112
+ class: outerClassNames,
113
+ });
114
+ // create a thumb
115
+ this._thumb = createElement('div', {
116
+ parent: this._outer,
117
+ class: `${prefix}__thumb ${prefix}__thumb_${dir}`,
118
+ });
119
+
120
+ // set auto hide classes
121
+ if (autoHide) {
122
+ this.outer.classList.add('auto-hide');
123
+ }
124
+
125
+ // set events
126
+ this._listeners = [];
127
+ this._setEvents();
128
+ }
129
+
130
+
131
+
132
+ get scrollValues () {
133
+ const { container } = this.prop;
134
+ let top = 0;
135
+ let left = 0;
136
+ if (container instanceof Window) {
137
+ top = container.pageYOffset;
138
+ left = container.pageXOffset;
139
+ } else if (container instanceof SmoothScroll) {
140
+ top = container.targetTop;
141
+ left = container.targetLeft;
142
+ } else {
143
+ top = container.scrollTop;
144
+ left = container.scrollLeft;
145
+ }
146
+ return {
147
+ left,
148
+ top,
149
+ };
150
+ }
151
+
152
+
153
+
154
+ /**
155
+ * Set scrolblar events
156
+ */
157
+ protected _setEvents () {
158
+ // set hover events
159
+ this._listeners.push(addEventListener(this.outer, 'mouseenter', this._handleHover.bind(this, true)));
160
+ this._listeners.push(addEventListener(this.outer, 'mouseleave', this._handleHover.bind(this, false)));
161
+
162
+ // set scroll events
163
+ this._scrollEvent = onScroll(this.prop.container, (data) => {
164
+ this._handleScroll(data);
165
+ });
166
+
167
+ // set dragger
168
+ if (this.prop.isDraggable) {
169
+ this._dragger = new DraggerMove({
170
+ container: this.thumb,
171
+ });
172
+ this._dragger.addCallback('start', () => {
173
+ this.thumb.classList.add('in-action');
174
+ this._disableScrollBehaviour(true);
175
+ this._coordsAtDragStart = this.scrollValues;
176
+ });
177
+ this._dragger.addCallback('move', (data) => {
178
+ this._handleThumbDrag(data);
179
+ });
180
+ this._dragger.addCallback('end', () => {
181
+ this.thumb.classList.remove('in-action');
182
+ this._disableScrollBehaviour(false);
183
+ });
184
+ }
185
+ }
186
+
187
+ /**
188
+ * Toggle scrollBehavior: disable & reset smooth scrolling
189
+ */
190
+ protected _disableScrollBehaviour (
191
+ bool: boolean,
192
+ ) {
193
+ const val = bool ? 'auto' : 'unset';
194
+ if (this.prop.container instanceof Window) {
195
+ document.documentElement.style.scrollBehavior = val;
196
+ } else if (this.prop.container instanceof HTMLElement) {
197
+ document.documentElement.style.scrollBehavior = val;
198
+ }
199
+ }
200
+
201
+ /**
202
+ * Handle hover state
203
+ */
204
+ protected _handleHover (
205
+ bool: boolean,
206
+ ) {
207
+ this.outer.classList.toggle('is-hovered', bool);
208
+ }
209
+
210
+ /**
211
+ * Handle Scroll Event
212
+ */
213
+ protected _handleScroll (data: {
214
+ scrollTop: number;
215
+ scrollLeft: number;
216
+ }) {
217
+ // resize if needed
218
+ if (!this.prop.optimizeCalculations) {
219
+ this.resize();
220
+ }
221
+ // check if changes happened
222
+ let hasChanged = false;
223
+ if (this.isX) {
224
+ hasChanged = data.scrollLeft !== this._scrollVal;
225
+ this._scrollVal = data.scrollLeft;
226
+ } else {
227
+ hasChanged = data.scrollTop !== this._scrollVal;
228
+ this._scrollVal = data.scrollTop;
229
+ }
230
+ if (!hasChanged) {
231
+ return;
232
+ }
233
+
234
+ // set auto hide
235
+ if (this.prop.autoHide && hasChanged) {
236
+ this.outer.classList.add('in-action');
237
+ if (this._actionTimeout) {
238
+ clearTimeout(this._actionTimeout);
239
+ this._actionTimeout = undefined;
240
+ }
241
+ this._actionTimeout = setTimeout(() => {
242
+ this.outer.classList.remove('in-action');
243
+ }, 500) as unknown as NodeJS.Timeout;
244
+ }
245
+
246
+ // render thumb
247
+ if (this.prop.optimizeCalculations) {
248
+ this._renderThumb();
249
+ }
250
+ }
251
+
252
+ /**
253
+ * Event on dragger move
254
+ */
255
+ protected _handleThumbDrag (
256
+ data: NDraggerMove.CallbacksTypes['move'],
257
+ ) {
258
+ data.evt.preventDefault();
259
+ const { container } = this.prop;
260
+
261
+ // calculate scroll iterators
262
+ const leftIterator = (
263
+ (data.coords.x - data.start.x) / (this._outerWidth - this._thumbWidth)
264
+ ) * this.scrollLine;
265
+ const topIterator = (
266
+ (data.coords.y - data.start.y) / (this._outerHeight - this._thumbHeight)
267
+ ) * this.scrollLine;
268
+
269
+ // calculate new scroll values
270
+ let { left, top } = this._coordsAtDragStart;
271
+ if (this.isX) {
272
+ left += leftIterator;
273
+ } else {
274
+ top += topIterator;
275
+ }
276
+
277
+ // apply the values
278
+ container.scrollTo({
279
+ top,
280
+ left,
281
+ behavior: container instanceof SmoothScroll ? this.prop.draggableScrollBehavior : 'auto',
282
+ });
283
+ }
284
+
285
+ /**
286
+ * Render the thumb
287
+ */
288
+ protected _renderThumb () {
289
+ // calculate progress
290
+ const progress = boundVal(
291
+ this._scrollVal / this.scrollLine,
292
+ [0, 1],
293
+ );
294
+ // calculate transforms
295
+ const x = this.isX ? (this._outerWidth - this._thumbWidth) * progress : 0;
296
+ const y = this.isY ? (this._outerHeight - this._thumbHeight) * progress : 0;
297
+
298
+ // render the thumb
299
+ this._thumb.style.transform = `translate(${x}px, ${y}px)`;
300
+ }
301
+
302
+
303
+
304
+ /**
305
+ * Resize the scene
306
+ */
307
+ public resize () {
308
+ const { outer, thumb, scrollLine } = this;
309
+ const { minSize } = this.prop;
310
+
311
+ // get outer sizes
312
+ this._outerHeight = outer.clientHeight;
313
+ this._outerWidth = outer.clientWidth;
314
+
315
+ // calculate thumb sizes
316
+ if (this.prop.autoSize) {
317
+ if (this.isX) {
318
+ const barSize = boundVal(
319
+ this._outerWidth / (this.scrollWidth / (
320
+ this.scrollWidth - scrollLine
321
+ )),
322
+ [minSize, Infinity],
323
+ );
324
+ thumb.style.width = `${barSize}px`;
325
+ } else {
326
+ const barSize = boundVal(
327
+ this._outerHeight / (this.scrollHeight / (
328
+ this.scrollHeight - scrollLine
329
+ )),
330
+ [minSize, Infinity],
331
+ );
332
+ thumb.style.height = `${barSize}px`;
333
+ }
334
+ }
335
+
336
+ // get thumb sizes
337
+ this._thumbHeight = thumb.clientHeight;
338
+ this._thumbWidth = thumb.clientWidth;
339
+
340
+ // define if empty
341
+ outer.classList.toggle('is-empty', scrollLine === 0);
342
+
343
+ // render the scrollbar thumb
344
+ this._renderThumb();
345
+ }
346
+
347
+
348
+
349
+ public destroy () {
350
+ this._listeners.forEach((listener) => {
351
+ listener.remove();
352
+ });
353
+ if (this._scrollEvent) {
354
+ this._scrollEvent.remove();
355
+ }
356
+ if (this._actionTimeout) {
357
+ clearTimeout(this._actionTimeout);
358
+ }
359
+ if (this._dragger) {
360
+ this._dragger.destroy();
361
+ }
362
+ this._outer.remove();
363
+ }
364
+ }
@@ -0,0 +1,292 @@
1
+ import { createElement, selectOne } from 'vevet-dom';
2
+ import { Component, NComponent } from '../../../base/Component';
3
+ import { RequiredModuleProp } from '../../../utils/types/utility';
4
+ import { SmoothScroll } from '../smooth-scroll/SmoothScroll';
5
+ import Bar from './Bar';
6
+
7
+
8
+
9
+ export namespace NScrollBar {
10
+
11
+ /**
12
+ * Static properties
13
+ */
14
+ export interface StaticProp extends NComponent.StaticProp {
15
+ /**
16
+ * The scrollable element
17
+ * @default window
18
+ */
19
+ container?: Window | SmoothScroll | Element | string;
20
+ /**
21
+ * The element that will contain the scrollbar.
22
+ * If false, the property 'container' will be taken into consideration.
23
+ * @default false
24
+ */
25
+ domParent?: false | Element;
26
+ /**
27
+ * If the scrollbar must be interactive
28
+ * @default true
29
+ */
30
+ draggable?: boolean;
31
+ /**
32
+ * Automatically define the size of the scrollbar thumb
33
+ * @default true
34
+ */
35
+ autoSize?: boolean;
36
+ /**
37
+ * Automatically hide scrollbars
38
+ * @default true
39
+ */
40
+ autoHide?: boolean;
41
+ /**
42
+ * Minimum size of the scrollbar thumb
43
+ * @default 50
44
+ */
45
+ minSize?: number;
46
+ /**
47
+ * Optimize sizes calculation.
48
+ * If true, the sizes are calculated only when calling the "resize" method.
49
+ * Subsequently, if content changes, the scrollbar may be of false sizes.
50
+ * @default false
51
+ */
52
+ optimizeCalculations?: boolean;
53
+ /**
54
+ * If the scroll bar is draggable
55
+ * @default true
56
+ */
57
+ isDraggable?: boolean;
58
+ /**
59
+ * What scroll behavior should be used when dragging the ScrollBar thumb.
60
+ * Only for SmoothScroll
61
+ * @default 'smooth'
62
+ */
63
+ draggableScrollBehavior?: 'smooth' | 'auto';
64
+ }
65
+
66
+ /**
67
+ * Changeable properties
68
+ */
69
+ export interface ChangeableProp extends NComponent.ChangeableProp { }
70
+
71
+ /**
72
+ * Available callbacks
73
+ */
74
+ export interface CallbacksTypes extends NComponent.CallbacksTypes { }
75
+
76
+ }
77
+
78
+
79
+
80
+ /**
81
+ * Create custom scroll bar
82
+ */
83
+ export class ScrollBar <
84
+ StaticProp extends NScrollBar.StaticProp = NScrollBar.StaticProp,
85
+ ChangeableProp extends NScrollBar.ChangeableProp = NScrollBar.ChangeableProp,
86
+ CallbacksTypes extends NScrollBar.CallbacksTypes = NScrollBar.CallbacksTypes,
87
+ > extends Component <
88
+ StaticProp,
89
+ ChangeableProp,
90
+ CallbacksTypes
91
+ > {
92
+ protected _getDefaultProp <
93
+ T extends RequiredModuleProp<StaticProp & ChangeableProp>
94
+ > (): T {
95
+ return {
96
+ ...super._getDefaultProp(),
97
+ container: window,
98
+ domParent: false,
99
+ draggable: true,
100
+ autoSize: true,
101
+ autoHide: true,
102
+ minSize: 50,
103
+ optimizeCalculations: false,
104
+ isDraggable: true,
105
+ draggableScrollBehavior: 'smooth',
106
+ };
107
+ }
108
+
109
+ get prefix () {
110
+ return `${this._app.prefix}scrollbar`;
111
+ }
112
+
113
+ /**
114
+ * Scroll container
115
+ */
116
+ get container () {
117
+ return this._container;
118
+ }
119
+ protected _container: Element | Window | SmoothScroll;
120
+
121
+ /**
122
+ * Get scrollable element
123
+ */
124
+ get scrollableElement () {
125
+ const { container } = this;
126
+ if (container instanceof Window) {
127
+ return this._app.body;
128
+ }
129
+ if (container instanceof Element) {
130
+ return container;
131
+ }
132
+ return container.outer;
133
+ }
134
+
135
+ /**
136
+ * The element into wchich scroll bars will be appended
137
+ */
138
+ get domParent () {
139
+ const { domParent } = this.prop;
140
+ const { container } = this;
141
+ if (!domParent) {
142
+ if (this._scrollWrapper) {
143
+ return this._scrollWrapper;
144
+ }
145
+ if (container instanceof Window) {
146
+ return this._app.body;
147
+ }
148
+ if (container instanceof Element) {
149
+ return container;
150
+ }
151
+ return container.outer;
152
+ }
153
+ return domParent;
154
+ }
155
+
156
+ /**
157
+ * The scroll wrapper.
158
+ * Used for wrapper scroll
159
+ */
160
+ protected _scrollWrapper?: HTMLElement;
161
+
162
+ // scrollbars
163
+ protected _xBar: Bar;
164
+ protected _yBar: Bar;
165
+
166
+
167
+
168
+ constructor (
169
+ initialProp?: (StaticProp & ChangeableProp),
170
+ init = true,
171
+ ) {
172
+ super(initialProp, false);
173
+ const {
174
+ autoHide, autoSize, minSize,
175
+ optimizeCalculations, isDraggable, draggableScrollBehavior,
176
+ } = this.prop;
177
+
178
+ // get container
179
+ if (typeof this.prop.container === 'string') {
180
+ const el = selectOne(this.prop.container);
181
+ if (el) {
182
+ this._container = el;
183
+ } else {
184
+ throw new Error('No scroll container');
185
+ }
186
+ } else {
187
+ this._container = this.prop.container;
188
+ }
189
+
190
+ // create scrollBarsParent if needed
191
+ if (this.container instanceof Element) {
192
+ const { parentElement } = this.container;
193
+ if (parentElement) {
194
+ this._scrollWrapper = createElement('div');
195
+ this._scrollWrapper.style.position = 'relative';
196
+ this._scrollWrapper.style.display = 'inline-block';
197
+ parentElement.insertBefore(this._scrollWrapper, this.container);
198
+ this._scrollWrapper.appendChild(this.container);
199
+ this._scrollWrapper.classList.add(`${this.prefix}-wrapper`);
200
+ }
201
+ }
202
+
203
+ // create bars
204
+ const barMainProp = {
205
+ container: this.container,
206
+ domParent: this.domParent,
207
+ autoHide,
208
+ autoSize,
209
+ minSize,
210
+ optimizeCalculations,
211
+ prefix: this.prefix,
212
+ isDraggable,
213
+ draggableScrollBehavior,
214
+ };
215
+ this._xBar = new Bar({
216
+ dir: 'x',
217
+ ...barMainProp,
218
+ });
219
+ this._yBar = new Bar({
220
+ dir: 'y',
221
+ ...barMainProp,
222
+ });
223
+
224
+ // add styles
225
+ this.scrollableElement.classList.add(`${this.prefix}-parent`);
226
+
227
+ // initialize the class
228
+ if (init) {
229
+ this.init();
230
+ }
231
+ }
232
+
233
+ // Set Module Events
234
+ protected _setEvents () {
235
+ super._setEvents();
236
+ const { container } = this;
237
+
238
+ // set resize event
239
+ if (container instanceof SmoothScroll) {
240
+ container.addCallback('resize', () => {
241
+ this.resize();
242
+ }, {
243
+ name: this.name,
244
+ });
245
+ } else {
246
+ this.addViewportCallback('', () => {
247
+ this.resize();
248
+ });
249
+ }
250
+ this.resize();
251
+ }
252
+
253
+ protected _onPropMutate () {
254
+ super._onPropMutate();
255
+ this.resize();
256
+ }
257
+
258
+
259
+
260
+ /**
261
+ * Resize the canvas
262
+ */
263
+ public resize () {
264
+ this._xBar.resize();
265
+ this._yBar.resize();
266
+ }
267
+
268
+
269
+
270
+ /**
271
+ * Destroy the module
272
+ */
273
+ protected _destroy () {
274
+ super._destroy();
275
+
276
+ // destroy bars
277
+ this._xBar.destroy();
278
+ this._yBar.destroy();
279
+
280
+ // remove scrollbars parent
281
+ if (!!this._scrollWrapper && this.container instanceof Element) {
282
+ const { parentElement } = this._scrollWrapper;
283
+ if (parentElement) {
284
+ parentElement.insertBefore(this.container, this._scrollWrapper);
285
+ }
286
+ this._scrollWrapper.remove();
287
+ }
288
+
289
+ // reset styles
290
+ this.scrollableElement.classList.remove(`${this.prefix}-parent`);
291
+ }
292
+ }