@studiometa/js-toolkit 2.6.0 → 2.6.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 (387) hide show
  1. package/Base/index.cjs +41 -41
  2. package/Base/index.cjs.map +7 -0
  3. package/Base/index.js +58 -64
  4. package/Base/index.js.map +7 -0
  5. package/Base/managers/AbstractManager.cjs +6 -10
  6. package/Base/managers/AbstractManager.cjs.map +7 -0
  7. package/Base/managers/AbstractManager.js +6 -11
  8. package/Base/managers/AbstractManager.js.map +7 -0
  9. package/Base/managers/ChildrenManager.cjs +3 -11
  10. package/Base/managers/ChildrenManager.cjs.map +7 -0
  11. package/Base/managers/ChildrenManager.js +3 -12
  12. package/Base/managers/ChildrenManager.js.map +7 -0
  13. package/Base/managers/EventsManager.cjs +57 -61
  14. package/Base/managers/EventsManager.cjs.map +7 -0
  15. package/Base/managers/EventsManager.js +57 -62
  16. package/Base/managers/EventsManager.js.map +7 -0
  17. package/Base/managers/OptionsManager.cjs +8 -14
  18. package/Base/managers/OptionsManager.cjs.map +7 -0
  19. package/Base/managers/OptionsManager.js +8 -15
  20. package/Base/managers/OptionsManager.js.map +7 -0
  21. package/Base/managers/RefsManager.cjs +2 -2
  22. package/Base/managers/RefsManager.cjs.map +7 -0
  23. package/Base/managers/RefsManager.js +2 -2
  24. package/Base/managers/RefsManager.js.map +7 -0
  25. package/Base/managers/ResponsiveOptionsManager.cjs +1 -0
  26. package/Base/managers/ResponsiveOptionsManager.cjs.map +7 -0
  27. package/Base/managers/ResponsiveOptionsManager.js +1 -0
  28. package/Base/managers/ResponsiveOptionsManager.js.map +7 -0
  29. package/Base/managers/ServicesManager.cjs +3 -12
  30. package/Base/managers/ServicesManager.cjs.map +7 -0
  31. package/Base/managers/ServicesManager.js +3 -13
  32. package/Base/managers/ServicesManager.js.map +7 -0
  33. package/Base/types.cjs +1 -0
  34. package/Base/types.cjs.map +7 -0
  35. package/Base/types.js +1 -0
  36. package/Base/types.js.map +7 -0
  37. package/Base/utils.cjs +1 -0
  38. package/Base/utils.cjs.map +7 -0
  39. package/Base/utils.js +1 -0
  40. package/Base/utils.js.map +7 -0
  41. package/decorators/index.cjs +1 -0
  42. package/decorators/index.cjs.map +7 -0
  43. package/decorators/index.js +1 -0
  44. package/decorators/index.js.map +7 -0
  45. package/decorators/withBreakpointManager.cjs +1 -0
  46. package/decorators/withBreakpointManager.cjs.map +7 -0
  47. package/decorators/withBreakpointManager.js +1 -0
  48. package/decorators/withBreakpointManager.js.map +7 -0
  49. package/decorators/withBreakpointObserver.cjs +10 -15
  50. package/decorators/withBreakpointObserver.cjs.map +7 -0
  51. package/decorators/withBreakpointObserver.js +10 -16
  52. package/decorators/withBreakpointObserver.js.map +7 -0
  53. package/decorators/withDrag.cjs +5 -9
  54. package/decorators/withDrag.cjs.map +7 -0
  55. package/decorators/withDrag.js +5 -10
  56. package/decorators/withDrag.js.map +7 -0
  57. package/decorators/withExtraConfig.cjs +2 -6
  58. package/decorators/withExtraConfig.cjs.map +7 -0
  59. package/decorators/withExtraConfig.js +2 -7
  60. package/decorators/withExtraConfig.js.map +7 -0
  61. package/decorators/withFreezedOptions.cjs +2 -9
  62. package/decorators/withFreezedOptions.cjs.map +7 -0
  63. package/decorators/withFreezedOptions.js +2 -10
  64. package/decorators/withFreezedOptions.js.map +7 -0
  65. package/decorators/withIntersectionObserver.cjs +11 -16
  66. package/decorators/withIntersectionObserver.cjs.map +7 -0
  67. package/decorators/withIntersectionObserver.js +11 -17
  68. package/decorators/withIntersectionObserver.js.map +7 -0
  69. package/decorators/withMountWhenInView.cjs +11 -16
  70. package/decorators/withMountWhenInView.cjs.map +7 -0
  71. package/decorators/withMountWhenInView.js +11 -17
  72. package/decorators/withMountWhenInView.js.map +7 -0
  73. package/decorators/withResponsiveOptions.cjs +1 -0
  74. package/decorators/withResponsiveOptions.cjs.map +7 -0
  75. package/decorators/withResponsiveOptions.js +1 -0
  76. package/decorators/withResponsiveOptions.js.map +7 -0
  77. package/decorators/withScrolledInView.cjs +45 -50
  78. package/decorators/withScrolledInView.cjs.map +7 -0
  79. package/decorators/withScrolledInView.js +45 -51
  80. package/decorators/withScrolledInView.js.map +7 -0
  81. package/decorators/withVue2.cjs +9 -15
  82. package/decorators/withVue2.cjs.map +7 -0
  83. package/decorators/withVue2.js +9 -16
  84. package/decorators/withVue2.js.map +7 -0
  85. package/helpers/createApp.cjs +1 -0
  86. package/helpers/createApp.cjs.map +7 -0
  87. package/helpers/createApp.js +1 -0
  88. package/helpers/createApp.js.map +7 -0
  89. package/helpers/getClosestParent.cjs +1 -0
  90. package/helpers/getClosestParent.cjs.map +7 -0
  91. package/helpers/getClosestParent.js +1 -0
  92. package/helpers/getClosestParent.js.map +7 -0
  93. package/helpers/getDirectChildren.cjs +1 -0
  94. package/helpers/getDirectChildren.cjs.map +7 -0
  95. package/helpers/getDirectChildren.js +1 -0
  96. package/helpers/getDirectChildren.js.map +7 -0
  97. package/helpers/getInstanceFromElement.cjs +1 -0
  98. package/helpers/getInstanceFromElement.cjs.map +7 -0
  99. package/helpers/getInstanceFromElement.js +1 -0
  100. package/helpers/getInstanceFromElement.js.map +7 -0
  101. package/helpers/importOnInteraction.cjs +2 -1
  102. package/helpers/importOnInteraction.cjs.map +7 -0
  103. package/helpers/importOnInteraction.js +2 -1
  104. package/helpers/importOnInteraction.js.map +7 -0
  105. package/helpers/importWhenIdle.cjs +1 -0
  106. package/helpers/importWhenIdle.cjs.map +7 -0
  107. package/helpers/importWhenIdle.js +1 -0
  108. package/helpers/importWhenIdle.js.map +7 -0
  109. package/helpers/importWhenVisible.cjs +2 -1
  110. package/helpers/importWhenVisible.cjs.map +7 -0
  111. package/helpers/importWhenVisible.js +2 -1
  112. package/helpers/importWhenVisible.js.map +7 -0
  113. package/helpers/index.cjs +1 -0
  114. package/helpers/index.cjs.map +7 -0
  115. package/helpers/index.js +1 -0
  116. package/helpers/index.js.map +7 -0
  117. package/helpers/utils.cjs +1 -0
  118. package/helpers/utils.cjs.map +7 -0
  119. package/helpers/utils.js +1 -0
  120. package/helpers/utils.js.map +7 -0
  121. package/index.cjs +1 -0
  122. package/index.cjs.map +7 -0
  123. package/index.js +1 -0
  124. package/index.js.map +7 -0
  125. package/package.json +1 -1
  126. package/services/drag.cjs +1 -0
  127. package/services/drag.cjs.map +7 -0
  128. package/services/drag.js +1 -0
  129. package/services/drag.js.map +7 -0
  130. package/services/index.cjs +1 -0
  131. package/services/index.cjs.map +7 -0
  132. package/services/index.js +1 -0
  133. package/services/index.js.map +7 -0
  134. package/services/key.cjs +2 -1
  135. package/services/key.cjs.map +7 -0
  136. package/services/key.js +2 -1
  137. package/services/key.js.map +7 -0
  138. package/services/load.cjs +1 -0
  139. package/services/load.cjs.map +7 -0
  140. package/services/load.js +1 -0
  141. package/services/load.js.map +7 -0
  142. package/services/pointer.cjs +3 -3
  143. package/services/pointer.cjs.map +7 -0
  144. package/services/pointer.js +3 -3
  145. package/services/pointer.js.map +7 -0
  146. package/services/raf.cjs +1 -0
  147. package/services/raf.cjs.map +7 -0
  148. package/services/raf.js +1 -0
  149. package/services/raf.js.map +7 -0
  150. package/services/resize.cjs +1 -0
  151. package/services/resize.cjs.map +7 -0
  152. package/services/resize.js +1 -0
  153. package/services/resize.js.map +7 -0
  154. package/services/scroll.cjs +1 -0
  155. package/services/scroll.cjs.map +7 -0
  156. package/services/scroll.js +1 -0
  157. package/services/scroll.js.map +7 -0
  158. package/services/service.cjs +1 -0
  159. package/services/service.cjs.map +7 -0
  160. package/services/service.js +1 -0
  161. package/services/service.js.map +7 -0
  162. package/utils/collide/boundingRectToCircle.cjs +1 -0
  163. package/utils/collide/boundingRectToCircle.cjs.map +7 -0
  164. package/utils/collide/boundingRectToCircle.js +1 -0
  165. package/utils/collide/boundingRectToCircle.js.map +7 -0
  166. package/utils/collide/collideCircleCircle.cjs +1 -0
  167. package/utils/collide/collideCircleCircle.cjs.map +7 -0
  168. package/utils/collide/collideCircleCircle.js +1 -0
  169. package/utils/collide/collideCircleCircle.js.map +7 -0
  170. package/utils/collide/collideCircleRect.cjs +1 -0
  171. package/utils/collide/collideCircleRect.cjs.map +7 -0
  172. package/utils/collide/collideCircleRect.js +1 -0
  173. package/utils/collide/collideCircleRect.js.map +7 -0
  174. package/utils/collide/collidePointCircle.cjs +1 -0
  175. package/utils/collide/collidePointCircle.cjs.map +7 -0
  176. package/utils/collide/collidePointCircle.js +1 -0
  177. package/utils/collide/collidePointCircle.js.map +7 -0
  178. package/utils/collide/collidePointRect.cjs +1 -0
  179. package/utils/collide/collidePointRect.cjs.map +7 -0
  180. package/utils/collide/collidePointRect.js +1 -0
  181. package/utils/collide/collidePointRect.js.map +7 -0
  182. package/utils/collide/collideRectRect.cjs +1 -0
  183. package/utils/collide/collideRectRect.cjs.map +7 -0
  184. package/utils/collide/collideRectRect.js +1 -0
  185. package/utils/collide/collideRectRect.js.map +7 -0
  186. package/utils/collide/index.cjs +1 -0
  187. package/utils/collide/index.cjs.map +7 -0
  188. package/utils/collide/index.js +1 -0
  189. package/utils/collide/index.js.map +7 -0
  190. package/utils/css/animate.cjs +10 -13
  191. package/utils/css/animate.cjs.map +7 -0
  192. package/utils/css/animate.js +10 -13
  193. package/utils/css/animate.js.map +7 -0
  194. package/utils/css/classes.cjs +2 -1
  195. package/utils/css/classes.cjs.map +7 -0
  196. package/utils/css/classes.js +2 -1
  197. package/utils/css/classes.js.map +7 -0
  198. package/utils/css/getOffsetSizes.cjs +1 -0
  199. package/utils/css/getOffsetSizes.cjs.map +7 -0
  200. package/utils/css/getOffsetSizes.js +1 -0
  201. package/utils/css/getOffsetSizes.js.map +7 -0
  202. package/utils/css/index.cjs +1 -0
  203. package/utils/css/index.cjs.map +7 -0
  204. package/utils/css/index.js +1 -0
  205. package/utils/css/index.js.map +7 -0
  206. package/utils/css/matrix.cjs +2 -2
  207. package/utils/css/matrix.cjs.map +7 -0
  208. package/utils/css/matrix.js +2 -2
  209. package/utils/css/matrix.js.map +7 -0
  210. package/utils/css/styles.cjs +1 -0
  211. package/utils/css/styles.cjs.map +7 -0
  212. package/utils/css/styles.js +1 -0
  213. package/utils/css/styles.js.map +7 -0
  214. package/utils/css/transform.cjs +2 -2
  215. package/utils/css/transform.cjs.map +7 -0
  216. package/utils/css/transform.js +2 -2
  217. package/utils/css/transform.js.map +7 -0
  218. package/utils/css/transition.cjs +3 -7
  219. package/utils/css/transition.cjs.map +7 -0
  220. package/utils/css/transition.js +3 -8
  221. package/utils/css/transition.js.map +7 -0
  222. package/utils/css/utils.cjs +1 -0
  223. package/utils/css/utils.cjs.map +7 -0
  224. package/utils/css/utils.js +1 -0
  225. package/utils/css/utils.js.map +7 -0
  226. package/utils/debounce.cjs +1 -0
  227. package/utils/debounce.cjs.map +7 -0
  228. package/utils/debounce.js +1 -0
  229. package/utils/debounce.js.map +7 -0
  230. package/utils/focusTrap.cjs +1 -0
  231. package/utils/focusTrap.cjs.map +7 -0
  232. package/utils/focusTrap.js +1 -0
  233. package/utils/focusTrap.js.map +7 -0
  234. package/utils/has.cjs +1 -0
  235. package/utils/has.cjs.map +7 -0
  236. package/utils/has.js +1 -0
  237. package/utils/has.js.map +7 -0
  238. package/utils/history.cjs +1 -0
  239. package/utils/history.cjs.map +7 -0
  240. package/utils/history.js +1 -0
  241. package/utils/history.js.map +7 -0
  242. package/utils/index.cjs +1 -0
  243. package/utils/index.cjs.map +7 -0
  244. package/utils/index.js +1 -0
  245. package/utils/index.js.map +7 -0
  246. package/utils/is.cjs +1 -0
  247. package/utils/is.cjs.map +7 -0
  248. package/utils/is.js +1 -0
  249. package/utils/is.js.map +7 -0
  250. package/utils/keyCodes.cjs +1 -0
  251. package/utils/keyCodes.cjs.map +7 -0
  252. package/utils/keyCodes.js +1 -0
  253. package/utils/keyCodes.js.map +7 -0
  254. package/utils/math/clamp.cjs +1 -0
  255. package/utils/math/clamp.cjs.map +7 -0
  256. package/utils/math/clamp.js +1 -0
  257. package/utils/math/clamp.js.map +7 -0
  258. package/utils/math/clamp01.cjs +1 -0
  259. package/utils/math/clamp01.cjs.map +7 -0
  260. package/utils/math/clamp01.js +1 -0
  261. package/utils/math/clamp01.js.map +7 -0
  262. package/utils/math/createEases.cjs +1 -0
  263. package/utils/math/createEases.cjs.map +7 -0
  264. package/utils/math/createEases.js +1 -0
  265. package/utils/math/createEases.js.map +7 -0
  266. package/utils/math/damp.cjs +1 -0
  267. package/utils/math/damp.cjs.map +7 -0
  268. package/utils/math/damp.js +1 -0
  269. package/utils/math/damp.js.map +7 -0
  270. package/utils/math/ease.cjs +1 -0
  271. package/utils/math/ease.cjs.map +7 -0
  272. package/utils/math/ease.js +1 -0
  273. package/utils/math/ease.js.map +7 -0
  274. package/utils/math/index.cjs +1 -0
  275. package/utils/math/index.cjs.map +7 -0
  276. package/utils/math/index.js +1 -0
  277. package/utils/math/index.js.map +7 -0
  278. package/utils/math/inertiaFinalValue.cjs +1 -0
  279. package/utils/math/inertiaFinalValue.cjs.map +7 -0
  280. package/utils/math/inertiaFinalValue.js +1 -0
  281. package/utils/math/inertiaFinalValue.js.map +7 -0
  282. package/utils/math/lerp.cjs +1 -0
  283. package/utils/math/lerp.cjs.map +7 -0
  284. package/utils/math/lerp.js +1 -0
  285. package/utils/math/lerp.js.map +7 -0
  286. package/utils/math/map.cjs +1 -0
  287. package/utils/math/map.cjs.map +7 -0
  288. package/utils/math/map.js +1 -0
  289. package/utils/math/map.js.map +7 -0
  290. package/utils/math/round.cjs +1 -0
  291. package/utils/math/round.cjs.map +7 -0
  292. package/utils/math/round.js +1 -0
  293. package/utils/math/round.js.map +7 -0
  294. package/utils/memoize.cjs +1 -0
  295. package/utils/memoize.cjs.map +7 -0
  296. package/utils/memoize.js +1 -0
  297. package/utils/memoize.js.map +7 -0
  298. package/utils/nextFrame.cjs +1 -0
  299. package/utils/nextFrame.cjs.map +7 -0
  300. package/utils/nextFrame.js +1 -0
  301. package/utils/nextFrame.js.map +7 -0
  302. package/utils/nextMicrotask.cjs +1 -0
  303. package/utils/nextMicrotask.cjs.map +7 -0
  304. package/utils/nextMicrotask.js +1 -0
  305. package/utils/nextMicrotask.js.map +7 -0
  306. package/utils/nextTick.cjs +1 -0
  307. package/utils/nextTick.cjs.map +7 -0
  308. package/utils/nextTick.js +1 -0
  309. package/utils/nextTick.js.map +7 -0
  310. package/utils/noop.cjs +1 -0
  311. package/utils/noop.cjs.map +7 -0
  312. package/utils/noop.js +1 -0
  313. package/utils/noop.js.map +7 -0
  314. package/utils/object/autoBind.cjs +1 -0
  315. package/utils/object/autoBind.cjs.map +7 -0
  316. package/utils/object/autoBind.js +1 -0
  317. package/utils/object/autoBind.js.map +7 -0
  318. package/utils/object/getAllProperties.cjs +1 -0
  319. package/utils/object/getAllProperties.cjs.map +7 -0
  320. package/utils/object/getAllProperties.js +1 -0
  321. package/utils/object/getAllProperties.js.map +7 -0
  322. package/utils/object/index.cjs +1 -0
  323. package/utils/object/index.cjs.map +7 -0
  324. package/utils/object/index.js +1 -0
  325. package/utils/object/index.js.map +7 -0
  326. package/utils/scheduler.cjs +1 -0
  327. package/utils/scheduler.cjs.map +7 -0
  328. package/utils/scheduler.js +1 -0
  329. package/utils/scheduler.js.map +7 -0
  330. package/utils/scrollTo.cjs +1 -0
  331. package/utils/scrollTo.cjs.map +7 -0
  332. package/utils/scrollTo.d.ts +1 -1
  333. package/utils/scrollTo.js +1 -0
  334. package/utils/scrollTo.js.map +7 -0
  335. package/utils/string/index.cjs +1 -0
  336. package/utils/string/index.cjs.map +7 -0
  337. package/utils/string/index.js +1 -0
  338. package/utils/string/index.js.map +7 -0
  339. package/utils/string/withLeadingCharacters.cjs +1 -0
  340. package/utils/string/withLeadingCharacters.cjs.map +7 -0
  341. package/utils/string/withLeadingCharacters.js +1 -0
  342. package/utils/string/withLeadingCharacters.js.map +7 -0
  343. package/utils/string/withLeadingSlash.cjs +1 -0
  344. package/utils/string/withLeadingSlash.cjs.map +7 -0
  345. package/utils/string/withLeadingSlash.js +1 -0
  346. package/utils/string/withLeadingSlash.js.map +7 -0
  347. package/utils/string/withTrailingCharacters.cjs +1 -0
  348. package/utils/string/withTrailingCharacters.cjs.map +7 -0
  349. package/utils/string/withTrailingCharacters.js +1 -0
  350. package/utils/string/withTrailingCharacters.js.map +7 -0
  351. package/utils/string/withTrailingSlash.cjs +1 -0
  352. package/utils/string/withTrailingSlash.cjs.map +7 -0
  353. package/utils/string/withTrailingSlash.js +1 -0
  354. package/utils/string/withTrailingSlash.js.map +7 -0
  355. package/utils/string/withoutLeadingCharacters.cjs +1 -0
  356. package/utils/string/withoutLeadingCharacters.cjs.map +7 -0
  357. package/utils/string/withoutLeadingCharacters.js +1 -0
  358. package/utils/string/withoutLeadingCharacters.js.map +7 -0
  359. package/utils/string/withoutLeadingCharactersRecursive.cjs +1 -0
  360. package/utils/string/withoutLeadingCharactersRecursive.cjs.map +7 -0
  361. package/utils/string/withoutLeadingCharactersRecursive.js +1 -0
  362. package/utils/string/withoutLeadingCharactersRecursive.js.map +7 -0
  363. package/utils/string/withoutLeadingSlash.cjs +1 -0
  364. package/utils/string/withoutLeadingSlash.cjs.map +7 -0
  365. package/utils/string/withoutLeadingSlash.js +1 -0
  366. package/utils/string/withoutLeadingSlash.js.map +7 -0
  367. package/utils/string/withoutTrailingCharacters.cjs +1 -0
  368. package/utils/string/withoutTrailingCharacters.cjs.map +7 -0
  369. package/utils/string/withoutTrailingCharacters.js +1 -0
  370. package/utils/string/withoutTrailingCharacters.js.map +7 -0
  371. package/utils/string/withoutTrailingCharactersRecursive.cjs +1 -0
  372. package/utils/string/withoutTrailingCharactersRecursive.cjs.map +7 -0
  373. package/utils/string/withoutTrailingCharactersRecursive.js +1 -0
  374. package/utils/string/withoutTrailingCharactersRecursive.js.map +7 -0
  375. package/utils/string/withoutTrailingSlash.cjs +1 -0
  376. package/utils/string/withoutTrailingSlash.cjs.map +7 -0
  377. package/utils/string/withoutTrailingSlash.js +1 -0
  378. package/utils/string/withoutTrailingSlash.js.map +7 -0
  379. package/utils/throttle.cjs +1 -0
  380. package/utils/throttle.cjs.map +7 -0
  381. package/utils/throttle.js +1 -0
  382. package/utils/throttle.js.map +7 -0
  383. package/utils/tween.cjs +2 -2
  384. package/utils/tween.cjs.map +7 -0
  385. package/utils/tween.d.ts +7 -1
  386. package/utils/tween.js +2 -2
  387. package/utils/tween.js.map +7 -0
@@ -10,3 +10,4 @@ function boundingRectToCircle({ x, y, width, height }, force = false) {
10
10
  export {
11
11
  boundingRectToCircle as default
12
12
  };
13
+ //# sourceMappingURL=boundingRectToCircle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/boundingRectToCircle.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Convert clientRect to a formatted circle object\n *\n * @param {Partial<DOMRect>} domRect DOMRect of a square DOMElement\n * @param {boolean} force Force usage of non-square DOMElements\n * @returns {Circle} Circle object that can be used in collides functions\n */\nexport default function boundingRectToCircle({ x, y, width, height }, force = false) {\n if (width !== height && !force)\n throw new Error('Initial DOMElement is not a square. Please use the force mode.');\n return {\n x: x + width / 2,\n y: y + height / 2,\n radius: (width + height) / 4,\n };\n}\n"],
5
+ "mappings": "AAce,SAAR,qBAAsC,EAAE,GAAG,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO;AACnF,MAAI,UAAU,UAAU,CAAC;AACvB,UAAM,IAAI,MAAM,gEAAgE;AAClF,SAAO;AAAA,IACL,GAAG,IAAI,QAAQ;AAAA,IACf,GAAG,IAAI,SAAS;AAAA,IAChB,SAAS,QAAQ,UAAU;AAAA,EAC7B;AACF;",
6
+ "names": []
7
+ }
@@ -32,3 +32,4 @@ function collideCircleCircle(circle1, circle2) {
32
32
  return false;
33
33
  }
34
34
  if (module.exports.default) module.exports = module.exports.default;
35
+ //# sourceMappingURL=collideCircleCircle.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with another.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-circle.php\n *\n * @param {Circle} circle1 Circle 1\n * @param {Circle} circle2 Circle 2\n * @returns {boolean} Are the sides of one circle touching the other ?\n */\nexport default function collideCircleCircle(circle1, circle2) {\n // get distance between the circle's centers\n // use the Pythagorean Theorem to compute the distance\n const distX = circle1.x - circle2.x;\n const distY = circle1.y - circle2.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the sum of the circle's\n // radii, the circles are touching!\n if (distance <= circle1.radius + circle2.radius) {\n return true;\n }\n return false;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAee,SAAR,oBAAqC,SAAS,SAAS;AAG5D,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,MAAI,YAAY,QAAQ,SAAS,QAAQ,QAAQ;AAC/C,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -10,3 +10,4 @@ function collideCircleCircle(circle1, circle2) {
10
10
  export {
11
11
  collideCircleCircle as default
12
12
  };
13
+ //# sourceMappingURL=collideCircleCircle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with another.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-circle.php\n *\n * @param {Circle} circle1 Circle 1\n * @param {Circle} circle2 Circle 2\n * @returns {boolean} Are the sides of one circle touching the other ?\n */\nexport default function collideCircleCircle(circle1, circle2) {\n // get distance between the circle's centers\n // use the Pythagorean Theorem to compute the distance\n const distX = circle1.x - circle2.x;\n const distY = circle1.y - circle2.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the sum of the circle's\n // radii, the circles are touching!\n if (distance <= circle1.radius + circle2.radius) {\n return true;\n }\n return false;\n}\n"],
5
+ "mappings": "AAee,SAAR,oBAAqC,SAAS,SAAS;AAG5D,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,MAAI,YAAY,QAAQ,SAAS,QAAQ,QAAQ;AAC/C,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -44,3 +44,4 @@ function collideCircleRect(circle, rect) {
44
44
  return false;
45
45
  }
46
46
  if (module.exports.default) module.exports = module.exports.default;
47
+ //# sourceMappingURL=collideCircleRect.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-rect.php\n *\n * @param {Circle} circle Circle\n * @param {Rect} rect Rectangle\n * @returns {boolean} Are the sides of the circle touching the rectangle ?\n */\nexport default function collideCircleRect(circle, rect) {\n // temporary variables to set edges for testing\n let testX = circle.x;\n let testY = circle.y;\n\n // which edge is closest?\n if (circle.x < rect.x) {\n testX = rect.x; // test left edge\n } else if (circle.x > rect.x + rect.width) {\n testX = rect.x + rect.width; // right edge\n }\n\n if (circle.y < rect.y) {\n testY = rect.y; // top edge\n } else if (circle.y > rect.y + rect.height) {\n testY = rect.y + rect.height; // bottom edge\n }\n\n // get distance from closest edges\n const distX = circle.x - testX;\n const distY = circle.y - testY;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the radius, collision!\n if (distance <= circle.radius) {\n return true;\n }\n return false;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBe,SAAR,kBAAmC,QAAQ,MAAM;AAEtD,MAAI,QAAQ,OAAO;AACnB,MAAI,QAAQ,OAAO;AAGnB,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,OAAO;AACzC,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,QAAQ;AAC1C,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAGA,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAGxD,MAAI,YAAY,OAAO,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -22,3 +22,4 @@ function collideCircleRect(circle, rect) {
22
22
  export {
23
23
  collideCircleRect as default
24
24
  };
25
+ //# sourceMappingURL=collideCircleRect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-rect.php\n *\n * @param {Circle} circle Circle\n * @param {Rect} rect Rectangle\n * @returns {boolean} Are the sides of the circle touching the rectangle ?\n */\nexport default function collideCircleRect(circle, rect) {\n // temporary variables to set edges for testing\n let testX = circle.x;\n let testY = circle.y;\n\n // which edge is closest?\n if (circle.x < rect.x) {\n testX = rect.x; // test left edge\n } else if (circle.x > rect.x + rect.width) {\n testX = rect.x + rect.width; // right edge\n }\n\n if (circle.y < rect.y) {\n testY = rect.y; // top edge\n } else if (circle.y > rect.y + rect.height) {\n testY = rect.y + rect.height; // bottom edge\n }\n\n // get distance from closest edges\n const distX = circle.x - testX;\n const distY = circle.y - testY;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the radius, collision!\n if (distance <= circle.radius) {\n return true;\n }\n return false;\n}\n"],
5
+ "mappings": "AAuBe,SAAR,kBAAmC,QAAQ,MAAM;AAEtD,MAAI,QAAQ,OAAO;AACnB,MAAI,QAAQ,OAAO;AAGnB,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,OAAO;AACzC,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,QAAQ;AAC1C,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAGA,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAGxD,MAAI,YAAY,OAAO,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -29,3 +29,4 @@ function collidePointCircle(point, circle) {
29
29
  return distance <= circle.radius;
30
30
  }
31
31
  if (module.exports.default) module.exports = module.exports.default;
32
+ //# sourceMappingURL=collidePointCircle.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a point is inside a circle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-circle.php\n *\n * @param {Point} point Point\n * @param {Circle} circle Circle\n * @returns {boolean} Is the point inside the circle's bounds ?\n */\nexport default function collidePointCircle(point, circle) {\n // get distance between the point and circle's center\n // using the Pythagorean Theorem\n const distX = point.x - circle.x;\n const distY = point.y - circle.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the circle's\n // radius the point is inside!\n return distance <= circle.radius;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBe,SAAR,mBAAoC,OAAO,QAAQ;AAGxD,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,SAAO,YAAY,OAAO;AAC5B;",
6
+ "names": []
7
+ }
@@ -7,3 +7,4 @@ function collidePointCircle(point, circle) {
7
7
  export {
8
8
  collidePointCircle as default
9
9
  };
10
+ //# sourceMappingURL=collidePointCircle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a point is inside a circle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-circle.php\n *\n * @param {Point} point Point\n * @param {Circle} circle Circle\n * @returns {boolean} Is the point inside the circle's bounds ?\n */\nexport default function collidePointCircle(point, circle) {\n // get distance between the point and circle's center\n // using the Pythagorean Theorem\n const distX = point.x - circle.x;\n const distY = point.y - circle.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the circle's\n // radius the point is inside!\n return distance <= circle.radius;\n}\n"],
5
+ "mappings": "AAqBe,SAAR,mBAAoC,OAAO,QAAQ;AAGxD,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,SAAO,YAAY,OAAO;AAC5B;",
6
+ "names": []
7
+ }
@@ -26,3 +26,4 @@ function collidePointRect(point, rect) {
26
26
  return point.x >= rect.x && point.x <= rect.x + rect.width && point.y >= rect.y && point.y <= rect.y + rect.height;
27
27
  }
28
28
  if (module.exports.default) module.exports = module.exports.default;
29
+ //# sourceMappingURL=collidePointRect.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a point collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-rect.php\n *\n * @param {Point} point Point\n * @param {Rect} rect Rectangle\n * @returns {boolean} Is the point inside the rectangle's bounds ?\n */\nexport default function collidePointRect(point, rect) {\n return (\n point.x >= rect.x && // right of the left edge AND\n point.x <= rect.x + rect.width && // left of the right edge AND\n point.y >= rect.y && // below the top AND\n point.y <= rect.y + rect.height // above the bottom\n );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBe,SAAR,iBAAkC,OAAO,MAAM;AACpD,SACE,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK,SACzB,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK;AAE7B;",
6
+ "names": []
7
+ }
@@ -4,3 +4,4 @@ function collidePointRect(point, rect) {
4
4
  export {
5
5
  collidePointRect as default
6
6
  };
7
+ //# sourceMappingURL=collidePointRect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a point collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-rect.php\n *\n * @param {Point} point Point\n * @param {Rect} rect Rectangle\n * @returns {boolean} Is the point inside the rectangle's bounds ?\n */\nexport default function collidePointRect(point, rect) {\n return (\n point.x >= rect.x && // right of the left edge AND\n point.x <= rect.x + rect.width && // left of the right edge AND\n point.y >= rect.y && // below the top AND\n point.y <= rect.y + rect.height // above the bottom\n );\n}\n"],
5
+ "mappings": "AAsBe,SAAR,iBAAkC,OAAO,MAAM;AACpD,SACE,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK,SACzB,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK;AAE7B;",
6
+ "names": []
7
+ }
@@ -26,3 +26,4 @@ function collideRectRect(rect1, rect2) {
26
26
  return rect1.x + rect1.width >= rect2.x && rect1.x <= rect2.x + rect2.width && rect1.y + rect1.height >= rect2.y && rect1.y <= rect2.y + rect2.height;
27
27
  }
28
28
  if (module.exports.default) module.exports = module.exports.default;
29
+ //# sourceMappingURL=collideRectRect.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideRectRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a rectangle collides with another rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/rect-rect.php\n *\n * @param {Rect} rect1 Rectangle 1\n * @param {Rect} rect2 Rectangle 2\n * @returns {boolean} Are the sides of one rectangle touching the other ?\n */\nexport default function collideRectRect(rect1, rect2) {\n return (\n rect1.x + rect1.width >= rect2.x && // rect1 right edge past rect2 left AND\n rect1.x <= rect2.x + rect2.width && // rect1 left edge past rect2 right AND\n rect1.y + rect1.height >= rect2.y && // rect1 top edge past rect2 bottom AND\n rect1.y <= rect2.y + rect2.height // rect1 bottom edge past rect2 top\n );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBe,SAAR,gBAAiC,OAAO,OAAO;AACpD,SACE,MAAM,IAAI,MAAM,SAAS,MAAM,KAC/B,MAAM,KAAK,MAAM,IAAI,MAAM,SAC3B,MAAM,IAAI,MAAM,UAAU,MAAM,KAChC,MAAM,KAAK,MAAM,IAAI,MAAM;AAE/B;",
6
+ "names": []
7
+ }
@@ -4,3 +4,4 @@ function collideRectRect(rect1, rect2) {
4
4
  export {
5
5
  collideRectRect as default
6
6
  };
7
+ //# sourceMappingURL=collideRectRect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideRectRect.js"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a rectangle collides with another rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/rect-rect.php\n *\n * @param {Rect} rect1 Rectangle 1\n * @param {Rect} rect2 Rectangle 2\n * @returns {boolean} Are the sides of one rectangle touching the other ?\n */\nexport default function collideRectRect(rect1, rect2) {\n return (\n rect1.x + rect1.width >= rect2.x && // rect1 right edge past rect2 left AND\n rect1.x <= rect2.x + rect2.width && // rect1 left edge past rect2 right AND\n rect1.y + rect1.height >= rect2.y && // rect1 top edge past rect2 bottom AND\n rect1.y <= rect2.y + rect2.height // rect1 bottom edge past rect2 top\n );\n}\n"],
5
+ "mappings": "AAgBe,SAAR,gBAAiC,OAAO,OAAO;AACpD,SACE,MAAM,IAAI,MAAM,SAAS,MAAM,KAC/B,MAAM,KAAK,MAAM,IAAI,MAAM,SAC3B,MAAM,IAAI,MAAM,UAAU,MAAM,KAChC,MAAM,KAAK,MAAM,IAAI,MAAM;AAE/B;",
6
+ "names": []
7
+ }
@@ -40,3 +40,4 @@ var import_collidePointCircle = __toESM(require("./collidePointCircle.cjs"), 1);
40
40
  var import_collidePointRect = __toESM(require("./collidePointRect.cjs"), 1);
41
41
  var import_collideRectRect = __toESM(require("./collideRectRect.cjs"), 1);
42
42
  if (module.exports.default) module.exports = module.exports.default;
43
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/index.js"],
4
+ "sourcesContent": ["/**\n * Inspired by http://www.jeffreythompson.org/collision-detection/\n */\nexport { default as boundingRectToCircle } from './boundingRectToCircle.js';\nexport { default as collideCircleCircle } from './collideCircleCircle.js';\nexport { default as collideCircleRect } from './collideCircleRect.js';\nexport { default as collidePointCircle } from './collidePointCircle.js';\nexport { default as collidePointRect } from './collidePointRect.js';\nexport { default as collideRectRect } from './collideRectRect.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kCAAgD;AAChD,iCAA+C;AAC/C,+BAA6C;AAC7C,gCAA8C;AAC9C,8BAA4C;AAC5C,6BAA2C;",
6
+ "names": []
7
+ }
@@ -12,3 +12,4 @@ export {
12
12
  default6 as collidePointRect,
13
13
  default7 as collideRectRect
14
14
  };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/index.js"],
4
+ "sourcesContent": ["/**\n * Inspired by http://www.jeffreythompson.org/collision-detection/\n */\nexport { default as boundingRectToCircle } from './boundingRectToCircle.js';\nexport { default as collideCircleCircle } from './collideCircleCircle.js';\nexport { default as collideCircleRect } from './collideCircleRect.js';\nexport { default as collidePointCircle } from './collidePointCircle.js';\nexport { default as collidePointRect } from './collidePointRect.js';\nexport { default as collideRectRect } from './collideRectRect.js';\n"],
5
+ "mappings": "AAGA,SAAoB,WAAXA,gBAAuC;AAChD,SAAoB,WAAXA,gBAAsC;AAC/C,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAAmC;AAC5C,SAAoB,WAAXA,gBAAkC;",
6
+ "names": ["default"]
7
+ }
@@ -54,15 +54,15 @@ function getAnimationStepValue(val, getSizeRef) {
54
54
  }
55
55
  var generateTranslateRenderStrategy = (sizeRef) => (element, fromValue, toValue, progress) => (0, import_math.lerp)(
56
56
  getAnimationStepValue(
57
- fromValue != null ? fromValue : 0,
57
+ fromValue ?? 0,
58
58
  () => element[sizeRef]
59
59
  ),
60
- getAnimationStepValue(toValue != null ? toValue : 0, () => element[sizeRef]),
60
+ getAnimationStepValue(toValue ?? 0, () => element[sizeRef]),
61
61
  progress
62
62
  );
63
63
  var widthBasedTranslateRenderStrategy = generateTranslateRenderStrategy("offsetWidth");
64
64
  var heightBasedTranslateRenderStrategy = generateTranslateRenderStrategy("offsetHeight");
65
- var generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) => (0, import_math.lerp)(fromValue != null ? fromValue : defaultValue, toValue != null ? toValue : defaultValue, progress);
65
+ var generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) => (0, import_math.lerp)(fromValue ?? defaultValue, toValue ?? defaultValue, progress);
66
66
  var scaleRenderStrategy = generateLerpRenderStrategy(1);
67
67
  var degreesRenderStrategy = generateLerpRenderStrategy(0);
68
68
  var transformRenderStrategies = {
@@ -84,10 +84,9 @@ var transformRenderStrategies = {
84
84
  function render(element, from, to, progress) {
85
85
  const stepProgress = to.easing((0, import_math.map)(progress, from.offset, to.offset, 0, 1));
86
86
  import_scheduler.domScheduler.read(function renderRead() {
87
- var _a, _b;
88
87
  let opacity = false;
89
88
  if ((0, import_is.isDefined)(from.opacity) || (0, import_is.isDefined)(to.opacity)) {
90
- opacity = (0, import_math.map)(stepProgress, 0, 1, (_a = from.opacity) != null ? _a : 1, (_b = to.opacity) != null ? _b : 1);
89
+ opacity = (0, import_math.map)(stepProgress, 0, 1, from.opacity ?? 1, to.opacity ?? 1);
91
90
  } else if (element.style.opacity) {
92
91
  opacity = "";
93
92
  }
@@ -116,14 +115,11 @@ function render(element, from, to, progress) {
116
115
  function singleAnimate(element, keyframes, options = {}) {
117
116
  const keyframesCount = keyframes.length - 1;
118
117
  const normalizedKeyframes = keyframes.map(
119
- (keyframe, index) => {
120
- var _a;
121
- return {
122
- ...keyframe,
123
- offset: (_a = keyframe.offset) != null ? _a : index / keyframesCount,
124
- easing: (0, import_tween.normalizeEase)(keyframe.easing)
125
- };
126
- }
118
+ (keyframe, index) => ({
119
+ ...keyframe,
120
+ offset: keyframe.offset ?? index / keyframesCount,
121
+ easing: (0, import_tween.normalizeEase)(keyframe.easing)
122
+ })
127
123
  );
128
124
  if (!running.has(element)) {
129
125
  running.set(element, /* @__PURE__ */ new Map());
@@ -178,3 +174,4 @@ function animate(elementOrElements, keyframes, options = {}) {
178
174
  };
179
175
  }
180
176
  if (module.exports.default) module.exports = module.exports.default;
177
+ //# sourceMappingURL=animate.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/animate.js"],
4
+ "sourcesContent": ["import { lerp, map } from '../math/index.js';\nimport { isDefined, isFunction, isNumber } from '../is.js';\nimport transform, { TRANSFORM_PROPS } from './transform.js';\nimport { domScheduler as scheduler } from '../scheduler.js';\nimport { tween, normalizeEase } from '../tween.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\nlet id = 0;\nconst running = new WeakMap();\n\nconst CSSUnitConverter = {\n '%': (value, getSizeRef) => (value * getSizeRef()) / 100,\n vh: (value) => (value * window.innerHeight) / 100,\n vw: (value) => (value * window.innerWidth) / 100,\n vmin: (value) => (value * Math.min(window.innerWidth, window.innerHeight)) / 100,\n vmax: (value) => (value * Math.max(window.innerWidth, window.innerHeight)) / 100,\n};\n\n/**\n * Get the value from a step property.\n * @param {number|[number, string]} val\n * @param {() => number} getSizeRef\n * @returns {number}\n */\nfunction getAnimationStepValue(val, getSizeRef) {\n if (isNumber(val)) {\n return val;\n }\n\n if (!val[1] || !CSSUnitConverter[val[1]]) {\n return val[0];\n }\n\n return CSSUnitConverter[val[1]](val[0], getSizeRef);\n}\n\nconst generateTranslateRenderStrategy = (sizeRef) => (element, fromValue, toValue, progress) =>\n lerp(\n getAnimationStepValue(\n fromValue ?? 0,\n /* istanbul ignore next */\n () => element[sizeRef],\n ),\n getAnimationStepValue(toValue ?? 0, () => element[sizeRef]),\n progress,\n );\nconst widthBasedTranslateRenderStrategy = generateTranslateRenderStrategy('offsetWidth');\nconst heightBasedTranslateRenderStrategy = generateTranslateRenderStrategy('offsetHeight');\n\nconst generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) =>\n lerp(fromValue ?? defaultValue, toValue ?? defaultValue, progress);\nconst scaleRenderStrategy = generateLerpRenderStrategy(1);\nconst degreesRenderStrategy = generateLerpRenderStrategy(0);\n\nconst transformRenderStrategies = {\n x: widthBasedTranslateRenderStrategy,\n y: heightBasedTranslateRenderStrategy,\n z: widthBasedTranslateRenderStrategy,\n scale: scaleRenderStrategy,\n scaleX: scaleRenderStrategy,\n scaleY: scaleRenderStrategy,\n scaleZ: scaleRenderStrategy,\n skew: degreesRenderStrategy,\n skewX: degreesRenderStrategy,\n skewY: degreesRenderStrategy,\n rotate: degreesRenderStrategy,\n rotateX: degreesRenderStrategy,\n rotateY: degreesRenderStrategy,\n rotateZ: degreesRenderStrategy,\n};\n\n/**\n * Render an element style based on 2 keyframes and a progress value.\n *\n * @param {HTMLElement} element\n * @param {NormalizedKeyframe} from\n * @param {NormalizedKeyframe} to\n * @param {number} progress\n * @returns {void}\n */\nfunction render(element, from, to, progress) {\n const stepProgress = to.easing(map(progress, from.offset, to.offset, 0, 1));\n\n scheduler.read(function renderRead() {\n /** @type {false|number|string} */\n let opacity = false;\n if (isDefined(from.opacity) || isDefined(to.opacity)) {\n opacity = map(stepProgress, 0, 1, from.opacity ?? 1, to.opacity ?? 1);\n } else if (element.style.opacity) {\n opacity = '';\n }\n\n /** @type {false|string} */\n let transformOrigin = false;\n if (isDefined(to.transformOrigin)) {\n transformOrigin = to.transformOrigin;\n } else if (element.style.transformOrigin) {\n transformOrigin = '';\n }\n\n const props = Object.fromEntries(\n TRANSFORM_PROPS.filter((name) => isDefined(from[name]) || isDefined(to[name])).map((name) => {\n return [name, transformRenderStrategies[name](element, from[name], to[name], stepProgress)];\n }),\n );\n scheduler.write(function renderWrite() {\n if (opacity !== false) {\n // @ts-ignore\n element.style.opacity = opacity;\n }\n if (transformOrigin !== false) {\n element.style.transformOrigin = transformOrigin;\n }\n transform(element, props);\n });\n });\n}\n\n/**\n * @typedef {import('./transform.js').TransformProps} TransformProps\n * @typedef {TransformProps & {\n * opacity?: number;\n * transformOrigin?: string;\n * easing?: import('../math/createEases.js').EasingFunction|import('../tween.js').BezierCurve;\n * offset?: number;\n * }} Keyframe\n * @typedef {Keyframe & {\n * easing: import('../math/createEases.js').EasingFunction;\n * offset: number;\n * }} NormalizedKeyframe\n * @typedef {{\n * start: () => void;\n * pause: () => void;\n * play: () => void;\n * finish: () => void;\n * progress: (value?: number) => number\n * }} Animate\n */\n\n/**\n * Animate an element.\n * @param {HTMLElement} element\n * @param {Keyframe[]} keyframes\n * @param {import('../tween.js').TweenOptions} [options]\n * @returns {Animate}\n */\nfunction singleAnimate(element, keyframes, options = {}) {\n const keyframesCount = keyframes.length - 1;\n const normalizedKeyframes = keyframes.map(\n (keyframe, index) =>\n /** @type {NormalizedKeyframe} */ ({\n ...keyframe,\n offset: keyframe.offset ?? index / keyframesCount,\n easing: normalizeEase(keyframe.easing),\n }),\n );\n\n if (!running.has(element)) {\n running.set(element, new Map());\n }\n\n const key = `animate-${id}`;\n id += 1;\n\n /**\n * Set the progress value.\n *\n * @param {number} progress The progress value.\n */\n function callback(progress) {\n let toIndex = 0;\n while (\n normalizedKeyframes[toIndex] &&\n normalizedKeyframes[toIndex].offset <= progress &&\n normalizedKeyframes[toIndex].offset !== 1\n ) {\n toIndex += 1;\n }\n\n render(element, normalizedKeyframes[toIndex - 1], normalizedKeyframes[toIndex], progress);\n }\n\n const controls = tween(callback, {\n ...options,\n onStart() {\n if (isFunction(options.onStart)) {\n options.onStart();\n }\n // Stop running instances\n const runningKeys = running.get(element);\n runningKeys.forEach((runningPause, runningKey) => {\n runningPause();\n runningKeys.delete(runningKey);\n });\n runningKeys.set(key, controls.pause);\n running.set(element, runningKeys);\n },\n });\n\n return controls;\n}\n\n/**\n * Animate one or more elements.\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements\n * @param {Keyframe[]} keyframes\n * @param {import('../tween.js').TweenOptions} [options]\n * @returns {Animate}\n */\nexport function animate(elementOrElements, keyframes, options = {}) {\n const controls = eachElements(elementOrElements, (element) =>\n singleAnimate(element, keyframes, options),\n );\n\n const delegate = (key) => {\n // eslint-disable-next-line consistent-return\n return (...args) => {\n if (key === 'progress' && args.length === 0) {\n return controls[0][key]();\n }\n\n controls.forEach((control) => {\n control[key](...args);\n });\n };\n };\n\n return {\n start: delegate('start'),\n pause: delegate('pause'),\n finish: delegate('finish'),\n play: delegate('play'),\n progress: delegate('progress'),\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["scheduler", "transform"]
7
+ }
@@ -24,15 +24,15 @@ function getAnimationStepValue(val, getSizeRef) {
24
24
  }
25
25
  const generateTranslateRenderStrategy = (sizeRef) => (element, fromValue, toValue, progress) => lerp(
26
26
  getAnimationStepValue(
27
- fromValue != null ? fromValue : 0,
27
+ fromValue ?? 0,
28
28
  () => element[sizeRef]
29
29
  ),
30
- getAnimationStepValue(toValue != null ? toValue : 0, () => element[sizeRef]),
30
+ getAnimationStepValue(toValue ?? 0, () => element[sizeRef]),
31
31
  progress
32
32
  );
33
33
  const widthBasedTranslateRenderStrategy = generateTranslateRenderStrategy("offsetWidth");
34
34
  const heightBasedTranslateRenderStrategy = generateTranslateRenderStrategy("offsetHeight");
35
- const generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) => lerp(fromValue != null ? fromValue : defaultValue, toValue != null ? toValue : defaultValue, progress);
35
+ const generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) => lerp(fromValue ?? defaultValue, toValue ?? defaultValue, progress);
36
36
  const scaleRenderStrategy = generateLerpRenderStrategy(1);
37
37
  const degreesRenderStrategy = generateLerpRenderStrategy(0);
38
38
  const transformRenderStrategies = {
@@ -54,10 +54,9 @@ const transformRenderStrategies = {
54
54
  function render(element, from, to, progress) {
55
55
  const stepProgress = to.easing(map(progress, from.offset, to.offset, 0, 1));
56
56
  scheduler.read(function renderRead() {
57
- var _a, _b;
58
57
  let opacity = false;
59
58
  if (isDefined(from.opacity) || isDefined(to.opacity)) {
60
- opacity = map(stepProgress, 0, 1, (_a = from.opacity) != null ? _a : 1, (_b = to.opacity) != null ? _b : 1);
59
+ opacity = map(stepProgress, 0, 1, from.opacity ?? 1, to.opacity ?? 1);
61
60
  } else if (element.style.opacity) {
62
61
  opacity = "";
63
62
  }
@@ -86,14 +85,11 @@ function render(element, from, to, progress) {
86
85
  function singleAnimate(element, keyframes, options = {}) {
87
86
  const keyframesCount = keyframes.length - 1;
88
87
  const normalizedKeyframes = keyframes.map(
89
- (keyframe, index) => {
90
- var _a;
91
- return {
92
- ...keyframe,
93
- offset: (_a = keyframe.offset) != null ? _a : index / keyframesCount,
94
- easing: normalizeEase(keyframe.easing)
95
- };
96
- }
88
+ (keyframe, index) => ({
89
+ ...keyframe,
90
+ offset: keyframe.offset ?? index / keyframesCount,
91
+ easing: normalizeEase(keyframe.easing)
92
+ })
97
93
  );
98
94
  if (!running.has(element)) {
99
95
  running.set(element, /* @__PURE__ */ new Map());
@@ -150,3 +146,4 @@ function animate(elementOrElements, keyframes, options = {}) {
150
146
  export {
151
147
  animate
152
148
  };
149
+ //# sourceMappingURL=animate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/animate.js"],
4
+ "sourcesContent": ["import { lerp, map } from '../math/index.js';\nimport { isDefined, isFunction, isNumber } from '../is.js';\nimport transform, { TRANSFORM_PROPS } from './transform.js';\nimport { domScheduler as scheduler } from '../scheduler.js';\nimport { tween, normalizeEase } from '../tween.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\nlet id = 0;\nconst running = new WeakMap();\n\nconst CSSUnitConverter = {\n '%': (value, getSizeRef) => (value * getSizeRef()) / 100,\n vh: (value) => (value * window.innerHeight) / 100,\n vw: (value) => (value * window.innerWidth) / 100,\n vmin: (value) => (value * Math.min(window.innerWidth, window.innerHeight)) / 100,\n vmax: (value) => (value * Math.max(window.innerWidth, window.innerHeight)) / 100,\n};\n\n/**\n * Get the value from a step property.\n * @param {number|[number, string]} val\n * @param {() => number} getSizeRef\n * @returns {number}\n */\nfunction getAnimationStepValue(val, getSizeRef) {\n if (isNumber(val)) {\n return val;\n }\n\n if (!val[1] || !CSSUnitConverter[val[1]]) {\n return val[0];\n }\n\n return CSSUnitConverter[val[1]](val[0], getSizeRef);\n}\n\nconst generateTranslateRenderStrategy = (sizeRef) => (element, fromValue, toValue, progress) =>\n lerp(\n getAnimationStepValue(\n fromValue ?? 0,\n /* istanbul ignore next */\n () => element[sizeRef],\n ),\n getAnimationStepValue(toValue ?? 0, () => element[sizeRef]),\n progress,\n );\nconst widthBasedTranslateRenderStrategy = generateTranslateRenderStrategy('offsetWidth');\nconst heightBasedTranslateRenderStrategy = generateTranslateRenderStrategy('offsetHeight');\n\nconst generateLerpRenderStrategy = (defaultValue) => (element, fromValue, toValue, progress) =>\n lerp(fromValue ?? defaultValue, toValue ?? defaultValue, progress);\nconst scaleRenderStrategy = generateLerpRenderStrategy(1);\nconst degreesRenderStrategy = generateLerpRenderStrategy(0);\n\nconst transformRenderStrategies = {\n x: widthBasedTranslateRenderStrategy,\n y: heightBasedTranslateRenderStrategy,\n z: widthBasedTranslateRenderStrategy,\n scale: scaleRenderStrategy,\n scaleX: scaleRenderStrategy,\n scaleY: scaleRenderStrategy,\n scaleZ: scaleRenderStrategy,\n skew: degreesRenderStrategy,\n skewX: degreesRenderStrategy,\n skewY: degreesRenderStrategy,\n rotate: degreesRenderStrategy,\n rotateX: degreesRenderStrategy,\n rotateY: degreesRenderStrategy,\n rotateZ: degreesRenderStrategy,\n};\n\n/**\n * Render an element style based on 2 keyframes and a progress value.\n *\n * @param {HTMLElement} element\n * @param {NormalizedKeyframe} from\n * @param {NormalizedKeyframe} to\n * @param {number} progress\n * @returns {void}\n */\nfunction render(element, from, to, progress) {\n const stepProgress = to.easing(map(progress, from.offset, to.offset, 0, 1));\n\n scheduler.read(function renderRead() {\n /** @type {false|number|string} */\n let opacity = false;\n if (isDefined(from.opacity) || isDefined(to.opacity)) {\n opacity = map(stepProgress, 0, 1, from.opacity ?? 1, to.opacity ?? 1);\n } else if (element.style.opacity) {\n opacity = '';\n }\n\n /** @type {false|string} */\n let transformOrigin = false;\n if (isDefined(to.transformOrigin)) {\n transformOrigin = to.transformOrigin;\n } else if (element.style.transformOrigin) {\n transformOrigin = '';\n }\n\n const props = Object.fromEntries(\n TRANSFORM_PROPS.filter((name) => isDefined(from[name]) || isDefined(to[name])).map((name) => {\n return [name, transformRenderStrategies[name](element, from[name], to[name], stepProgress)];\n }),\n );\n scheduler.write(function renderWrite() {\n if (opacity !== false) {\n // @ts-ignore\n element.style.opacity = opacity;\n }\n if (transformOrigin !== false) {\n element.style.transformOrigin = transformOrigin;\n }\n transform(element, props);\n });\n });\n}\n\n/**\n * @typedef {import('./transform.js').TransformProps} TransformProps\n * @typedef {TransformProps & {\n * opacity?: number;\n * transformOrigin?: string;\n * easing?: import('../math/createEases.js').EasingFunction|import('../tween.js').BezierCurve;\n * offset?: number;\n * }} Keyframe\n * @typedef {Keyframe & {\n * easing: import('../math/createEases.js').EasingFunction;\n * offset: number;\n * }} NormalizedKeyframe\n * @typedef {{\n * start: () => void;\n * pause: () => void;\n * play: () => void;\n * finish: () => void;\n * progress: (value?: number) => number\n * }} Animate\n */\n\n/**\n * Animate an element.\n * @param {HTMLElement} element\n * @param {Keyframe[]} keyframes\n * @param {import('../tween.js').TweenOptions} [options]\n * @returns {Animate}\n */\nfunction singleAnimate(element, keyframes, options = {}) {\n const keyframesCount = keyframes.length - 1;\n const normalizedKeyframes = keyframes.map(\n (keyframe, index) =>\n /** @type {NormalizedKeyframe} */ ({\n ...keyframe,\n offset: keyframe.offset ?? index / keyframesCount,\n easing: normalizeEase(keyframe.easing),\n }),\n );\n\n if (!running.has(element)) {\n running.set(element, new Map());\n }\n\n const key = `animate-${id}`;\n id += 1;\n\n /**\n * Set the progress value.\n *\n * @param {number} progress The progress value.\n */\n function callback(progress) {\n let toIndex = 0;\n while (\n normalizedKeyframes[toIndex] &&\n normalizedKeyframes[toIndex].offset <= progress &&\n normalizedKeyframes[toIndex].offset !== 1\n ) {\n toIndex += 1;\n }\n\n render(element, normalizedKeyframes[toIndex - 1], normalizedKeyframes[toIndex], progress);\n }\n\n const controls = tween(callback, {\n ...options,\n onStart() {\n if (isFunction(options.onStart)) {\n options.onStart();\n }\n // Stop running instances\n const runningKeys = running.get(element);\n runningKeys.forEach((runningPause, runningKey) => {\n runningPause();\n runningKeys.delete(runningKey);\n });\n runningKeys.set(key, controls.pause);\n running.set(element, runningKeys);\n },\n });\n\n return controls;\n}\n\n/**\n * Animate one or more elements.\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements\n * @param {Keyframe[]} keyframes\n * @param {import('../tween.js').TweenOptions} [options]\n * @returns {Animate}\n */\nexport function animate(elementOrElements, keyframes, options = {}) {\n const controls = eachElements(elementOrElements, (element) =>\n singleAnimate(element, keyframes, options),\n );\n\n const delegate = (key) => {\n // eslint-disable-next-line consistent-return\n return (...args) => {\n if (key === 'progress' && args.length === 0) {\n return controls[0][key]();\n }\n\n controls.forEach((control) => {\n control[key](...args);\n });\n };\n };\n\n return {\n start: delegate('start'),\n pause: delegate('pause'),\n finish: delegate('finish'),\n play: delegate('play'),\n progress: delegate('progress'),\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -30,7 +30,7 @@ function setClasses(element, classNames, method, forceToggle) {
30
30
  if (!element || !classNames) {
31
31
  return;
32
32
  }
33
- const normalizedClassNames = (0, import_is.isArray)(classNames) ? classNames : classNames.split(" ");
33
+ const normalizedClassNames = (0, import_is.isArray)(classNames) ? classNames : classNames.split(" ").filter((className) => className);
34
34
  if (method !== "toggle") {
35
35
  (0, import_utils.eachElements)(element, (el) => el.classList[method](...normalizedClassNames));
36
36
  } else {
@@ -49,3 +49,4 @@ function toggle(element, classNames, force) {
49
49
  setClasses(element, classNames, "toggle", force);
50
50
  }
51
51
  if (module.exports.default) module.exports = module.exports.default;
52
+ //# sourceMappingURL=classes.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/classes.js"],
4
+ "sourcesContent": ["import { isArray } from '../is.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\n/**\n * Manage a list of classes as string on an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @param {'add'|'remove'|'toggle'} [method] The method to use: add, remove or toggle.\n * @param {boolean} [forceToggle] Force toggle?\n */\nfunction setClasses(element, classNames, method, forceToggle) {\n if (!element || !classNames) {\n return;\n }\n\n const normalizedClassNames = isArray(classNames)\n ? classNames\n : classNames.split(' ').filter((className) => className);\n\n if (method !== 'toggle') {\n eachElements(element, (el) => el.classList[method](...normalizedClassNames));\n } else {\n normalizedClassNames.forEach((className) =>\n eachElements(element, (el) => el.classList[method](className, forceToggle)),\n );\n }\n}\n\n/**\n * Add class names to an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @returns {void}\n */\nexport function add(element, classNames) {\n setClasses(element, classNames, 'add');\n}\n\n/**\n * Remove class names from an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @returns {void}\n */\nexport function remove(element, classNames) {\n setClasses(element, classNames, 'remove');\n}\n\n/**\n * Toggle class names from an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @param {boolean} [force] Force toggle?\n * @returns {void}\n */\nexport function toggle(element, classNames, force) {\n setClasses(element, classNames, 'toggle', force);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAwB;AAExB,mBAA6B;AAU7B,SAAS,WAAW,SAAS,YAAY,QAAQ,aAAa;AAC5D,MAAI,CAAC,WAAW,CAAC,YAAY;AAC3B;AAAA,EACF;AAEA,QAAM,2BAAuB,mBAAQ,UAAU,IAC3C,aACA,WAAW,MAAM,GAAG,EAAE,OAAO,CAAC,cAAc,SAAS;AAEzD,MAAI,WAAW,UAAU;AACvB,mCAAa,SAAS,CAAC,OAAO,GAAG,UAAU,QAAQ,GAAG,oBAAoB,CAAC;AAAA,EAC7E,OAAO;AACL,yBAAqB;AAAA,MAAQ,CAAC,kBAC5B,2BAAa,SAAS,CAAC,OAAO,GAAG,UAAU,QAAQ,WAAW,WAAW,CAAC;AAAA,IAC5E;AAAA,EACF;AACF;AASO,SAAS,IAAI,SAAS,YAAY;AACvC,aAAW,SAAS,YAAY,KAAK;AACvC;AASO,SAAS,OAAO,SAAS,YAAY;AAC1C,aAAW,SAAS,YAAY,QAAQ;AAC1C;AAUO,SAAS,OAAO,SAAS,YAAY,OAAO;AACjD,aAAW,SAAS,YAAY,UAAU,KAAK;AACjD;",
6
+ "names": []
7
+ }
@@ -4,7 +4,7 @@ function setClasses(element, classNames, method, forceToggle) {
4
4
  if (!element || !classNames) {
5
5
  return;
6
6
  }
7
- const normalizedClassNames = isArray(classNames) ? classNames : classNames.split(" ");
7
+ const normalizedClassNames = isArray(classNames) ? classNames : classNames.split(" ").filter((className) => className);
8
8
  if (method !== "toggle") {
9
9
  eachElements(element, (el) => el.classList[method](...normalizedClassNames));
10
10
  } else {
@@ -27,3 +27,4 @@ export {
27
27
  remove,
28
28
  toggle
29
29
  };
30
+ //# sourceMappingURL=classes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/classes.js"],
4
+ "sourcesContent": ["import { isArray } from '../is.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\n/**\n * Manage a list of classes as string on an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @param {'add'|'remove'|'toggle'} [method] The method to use: add, remove or toggle.\n * @param {boolean} [forceToggle] Force toggle?\n */\nfunction setClasses(element, classNames, method, forceToggle) {\n if (!element || !classNames) {\n return;\n }\n\n const normalizedClassNames = isArray(classNames)\n ? classNames\n : classNames.split(' ').filter((className) => className);\n\n if (method !== 'toggle') {\n eachElements(element, (el) => el.classList[method](...normalizedClassNames));\n } else {\n normalizedClassNames.forEach((className) =>\n eachElements(element, (el) => el.classList[method](className, forceToggle)),\n );\n }\n}\n\n/**\n * Add class names to an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @returns {void}\n */\nexport function add(element, classNames) {\n setClasses(element, classNames, 'add');\n}\n\n/**\n * Remove class names from an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @returns {void}\n */\nexport function remove(element, classNames) {\n setClasses(element, classNames, 'remove');\n}\n\n/**\n * Toggle class names from an element.\n *\n * @param {Element|Element[]|NodeListOf<Element>} element The element to update.\n * @param {string|string[]} classNames A string of class names.\n * @param {boolean} [force] Force toggle?\n * @returns {void}\n */\nexport function toggle(element, classNames, force) {\n setClasses(element, classNames, 'toggle', force);\n}\n"],
5
+ "mappings": "AAAA,SAAS,eAAe;AAExB,SAAS,oBAAoB;AAU7B,SAAS,WAAW,SAAS,YAAY,QAAQ,aAAa;AAC5D,MAAI,CAAC,WAAW,CAAC,YAAY;AAC3B;AAAA,EACF;AAEA,QAAM,uBAAuB,QAAQ,UAAU,IAC3C,aACA,WAAW,MAAM,GAAG,EAAE,OAAO,CAAC,cAAc,SAAS;AAEzD,MAAI,WAAW,UAAU;AACvB,iBAAa,SAAS,CAAC,OAAO,GAAG,UAAU,QAAQ,GAAG,oBAAoB,CAAC;AAAA,EAC7E,OAAO;AACL,yBAAqB;AAAA,MAAQ,CAAC,cAC5B,aAAa,SAAS,CAAC,OAAO,GAAG,UAAU,QAAQ,WAAW,WAAW,CAAC;AAAA,IAC5E;AAAA,EACF;AACF;AASO,SAAS,IAAI,SAAS,YAAY;AACvC,aAAW,SAAS,YAAY,KAAK;AACvC;AASO,SAAS,OAAO,SAAS,YAAY;AAC1C,aAAW,SAAS,YAAY,QAAQ;AAC1C;AAUO,SAAS,OAAO,SAAS,YAAY,OAAO;AACjD,aAAW,SAAS,YAAY,UAAU,KAAK;AACjD;",
6
+ "names": []
7
+ }
@@ -45,3 +45,4 @@ function getOffsetSizes(element) {
45
45
  };
46
46
  }
47
47
  if (module.exports.default) module.exports = module.exports.default;
48
+ //# sourceMappingURL=getOffsetSizes.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/getOffsetSizes.js"],
4
+ "sourcesContent": ["/**\n * Get a `DOMRect` like `Object` for an element, without its transforms.\n * @param {HTMLElement} element\n * @returns {{ x: number, y: number, width: number, height: number, top: number, right: number, bottom: number, left: number }}\n */\nexport default function getOffsetSizes(element) {\n let parent = element;\n let x = -window.pageXOffset;\n let y = -window.pageYOffset;\n\n while (parent) {\n x += parent.offsetLeft;\n y += parent.offsetTop;\n // @ts-ignore\n parent = parent.offsetParent;\n }\n\n const width = element.offsetWidth;\n const height = element.offsetWidth;\n\n return {\n x,\n y,\n width,\n height,\n top: y,\n right: width + x,\n bottom: height + y,\n left: x,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKe,SAAR,eAAgC,SAAS;AAC9C,MAAI,SAAS;AACb,MAAI,IAAI,CAAC,OAAO;AAChB,MAAI,IAAI,CAAC,OAAO;AAEhB,SAAO,QAAQ;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AAEZ,aAAS,OAAO;AAAA,EAClB;AAEA,QAAM,QAAQ,QAAQ;AACtB,QAAM,SAAS,QAAQ;AAEvB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,OAAO,QAAQ;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB,MAAM;AAAA,EACR;AACF;",
6
+ "names": []
7
+ }
@@ -23,3 +23,4 @@ function getOffsetSizes(element) {
23
23
  export {
24
24
  getOffsetSizes as default
25
25
  };
26
+ //# sourceMappingURL=getOffsetSizes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/getOffsetSizes.js"],
4
+ "sourcesContent": ["/**\n * Get a `DOMRect` like `Object` for an element, without its transforms.\n * @param {HTMLElement} element\n * @returns {{ x: number, y: number, width: number, height: number, top: number, right: number, bottom: number, left: number }}\n */\nexport default function getOffsetSizes(element) {\n let parent = element;\n let x = -window.pageXOffset;\n let y = -window.pageYOffset;\n\n while (parent) {\n x += parent.offsetLeft;\n y += parent.offsetTop;\n // @ts-ignore\n parent = parent.offsetParent;\n }\n\n const width = element.offsetWidth;\n const height = element.offsetWidth;\n\n return {\n x,\n y,\n width,\n height,\n top: y,\n right: width + x,\n bottom: height + y,\n left: x,\n };\n}\n"],
5
+ "mappings": "AAKe,SAAR,eAAgC,SAAS;AAC9C,MAAI,SAAS;AACb,MAAI,IAAI,CAAC,OAAO;AAChB,MAAI,IAAI,CAAC,OAAO;AAEhB,SAAO,QAAQ;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AAEZ,aAAS,OAAO;AAAA,EAClB;AAEA,QAAM,QAAQ,QAAQ;AACtB,QAAM,SAAS,QAAQ;AAEvB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,OAAO,QAAQ;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB,MAAM;AAAA,EACR;AACF;",
6
+ "names": []
7
+ }
@@ -45,3 +45,4 @@ var import_matrix = __toESM(require("./matrix.cjs"), 1);
45
45
  var import_transform = __toESM(require("./transform.cjs"), 1);
46
46
  var import_transition = __toESM(require("./transition.cjs"), 1);
47
47
  if (module.exports.default) module.exports = module.exports.default;
48
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/index.ts"],
4
+ "sourcesContent": ["export * from './animate.js';\nexport { add as addClass, remove as removeClass, toggle as toggleClass } from './classes.js';\nexport { add as addStyle, remove as removeStyle } from './styles.js';\nexport { default as getOffsetSizes } from './getOffsetSizes.js';\nexport { default as matrix } from './matrix.js';\nexport { default as transform } from './transform.js';\nexport { default as transition } from './transition.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,0BAAd;AACA,qBAA8E;AAC9E,oBAAuD;AACvD,4BAA0C;AAC1C,oBAAkC;AAClC,uBAAqC;AACrC,wBAAsC;",
6
+ "names": []
7
+ }
@@ -16,3 +16,4 @@ export {
16
16
  default4 as transform,
17
17
  default5 as transition
18
18
  };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/index.ts"],
4
+ "sourcesContent": ["export * from './animate.js';\nexport { add as addClass, remove as removeClass, toggle as toggleClass } from './classes.js';\nexport { add as addStyle, remove as removeStyle } from './styles.js';\nexport { default as getOffsetSizes } from './getOffsetSizes.js';\nexport { default as matrix } from './matrix.js';\nexport { default as transform } from './transform.js';\nexport { default as transition } from './transition.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,SAAgB,KAAoB,QAAuB,cAAmB;AAC9E,SAAgB,OAAPA,MAA2B,UAAVC,eAA6B;AACvD,SAAoB,WAAXC,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA4B;AACrC,SAAoB,WAAXA,gBAA6B;",
6
+ "names": ["add", "remove", "default"]
7
+ }
@@ -23,8 +23,8 @@ __export(matrix_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(matrix_exports);
25
25
  function matrix(transform) {
26
- var _a, _b, _c, _d, _e, _f;
27
26
  transform = transform || {};
28
- return `matrix(${(_a = transform.scaleX) != null ? _a : 1}, ${(_b = transform.skewY) != null ? _b : 0}, ${(_c = transform.skewX) != null ? _c : 0}, ${(_d = transform.scaleY) != null ? _d : 1}, ${(_e = transform.translateX) != null ? _e : 0}, ${(_f = transform.translateY) != null ? _f : 0})`;
27
+ return `matrix(${transform.scaleX ?? 1}, ${transform.skewY ?? 0}, ${transform.skewX ?? 0}, ${transform.scaleY ?? 1}, ${transform.translateX ?? 0}, ${transform.translateY ?? 0})`;
29
28
  }
30
29
  if (module.exports.default) module.exports = module.exports.default;
30
+ //# sourceMappingURL=matrix.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/matrix.js"],
4
+ "sourcesContent": ["/**\n * Format a CSS transform matrix with the given values.\n *\n * @param {Object} transform\n * @param {number} [transform.scaleX=1] The scale on the x axis.\n * @param {number} [transform.scaleY=1] The scale on the y axis.\n * @param {number} [transform.skewX=0] The skew on the x axis.\n * @param {number} [transform.skewY=0] The skew on the y axis.\n * @param {number} [transform.translateX=0] The translate on the x axis.\n * @param {number} [transform.translateY=0] The translate on the y axis.\n * @returns {string} A formatted CSS matrix transform.\n * @example\n * ```js\n * matrix({ scaleX: 0.5, scaleY: 0.5 });\n * // matrix(0.5, 0, 0, 0.5, 0, 0)\n * ```\n */\nexport default function matrix(transform) {\n // eslint-disable-next-line no-param-reassign\n transform = transform || {};\n return `matrix(${transform.scaleX ?? 1}, ${transform.skewY ?? 0}, ${transform.skewX ?? 0}, ${\n transform.scaleY ?? 1\n }, ${transform.translateX ?? 0}, ${transform.translateY ?? 0})`;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBe,SAAR,OAAwB,WAAW;AAExC,cAAY,aAAa,CAAC;AAC1B,SAAO,UAAU,UAAU,UAAU,MAAM,UAAU,SAAS,MAAM,UAAU,SAAS,MACrF,UAAU,UAAU,MACjB,UAAU,cAAc,MAAM,UAAU,cAAc;AAC7D;",
6
+ "names": []
7
+ }
@@ -1,8 +1,8 @@
1
1
  function matrix(transform) {
2
- var _a, _b, _c, _d, _e, _f;
3
2
  transform = transform || {};
4
- return `matrix(${(_a = transform.scaleX) != null ? _a : 1}, ${(_b = transform.skewY) != null ? _b : 0}, ${(_c = transform.skewX) != null ? _c : 0}, ${(_d = transform.scaleY) != null ? _d : 1}, ${(_e = transform.translateX) != null ? _e : 0}, ${(_f = transform.translateY) != null ? _f : 0})`;
3
+ return `matrix(${transform.scaleX ?? 1}, ${transform.skewY ?? 0}, ${transform.skewX ?? 0}, ${transform.scaleY ?? 1}, ${transform.translateX ?? 0}, ${transform.translateY ?? 0})`;
5
4
  }
6
5
  export {
7
6
  matrix as default
8
7
  };
8
+ //# sourceMappingURL=matrix.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/matrix.js"],
4
+ "sourcesContent": ["/**\n * Format a CSS transform matrix with the given values.\n *\n * @param {Object} transform\n * @param {number} [transform.scaleX=1] The scale on the x axis.\n * @param {number} [transform.scaleY=1] The scale on the y axis.\n * @param {number} [transform.skewX=0] The skew on the x axis.\n * @param {number} [transform.skewY=0] The skew on the y axis.\n * @param {number} [transform.translateX=0] The translate on the x axis.\n * @param {number} [transform.translateY=0] The translate on the y axis.\n * @returns {string} A formatted CSS matrix transform.\n * @example\n * ```js\n * matrix({ scaleX: 0.5, scaleY: 0.5 });\n * // matrix(0.5, 0, 0, 0.5, 0, 0)\n * ```\n */\nexport default function matrix(transform) {\n // eslint-disable-next-line no-param-reassign\n transform = transform || {};\n return `matrix(${transform.scaleX ?? 1}, ${transform.skewY ?? 0}, ${transform.skewX ?? 0}, ${\n transform.scaleY ?? 1\n }, ${transform.translateX ?? 0}, ${transform.translateY ?? 0})`;\n}\n"],
5
+ "mappings": "AAiBe,SAAR,OAAwB,WAAW;AAExC,cAAY,aAAa,CAAC;AAC1B,SAAO,UAAU,UAAU,UAAU,MAAM,UAAU,SAAS,MAAM,UAAU,SAAS,MACrF,UAAU,UAAU,MACjB,UAAU,cAAc,MAAM,UAAU,cAAc;AAC7D;",
6
+ "names": []
7
+ }
@@ -42,3 +42,4 @@ function remove(elementOrElements, styles) {
42
42
  setStyles(elementOrElements, styles, "remove");
43
43
  }
44
44
  if (module.exports.default) module.exports = module.exports.default;
45
+ //# sourceMappingURL=styles.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/css/styles.js"],
4
+ "sourcesContent": ["import { isObject } from '../is.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\n/**\n * Manage a list of style properties on an element.\n *\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements The element to update.\n * @param {Partial<CSSStyleDeclaration>} styles An object of styles properties and values.\n * @param {string} method The method to use: add or remove.\n */\nfunction setStyles(elementOrElements, styles, method = 'add') {\n if (!elementOrElements || !styles || !isObject(styles)) {\n return;\n }\n\n eachElements(elementOrElements, (el) => {\n Object.entries(styles).forEach(([prop, value]) => {\n el.style[prop] = method === 'add' ? value : '';\n });\n });\n}\n\n/**\n * Add styles to an element.\n *\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements The element to update.\n * @param {Partial<CSSStyleDeclaration>} styles A string of class names.\n * @returns {void}\n */\nexport function add(elementOrElements, styles) {\n setStyles(elementOrElements, styles);\n}\n\n/**\n * Remove class names from an element.\n *\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements The element to update.\n * @param {Partial<CSSStyleDeclaration>} styles A string of class names.\n * @returns {void}\n */\nexport function remove(elementOrElements, styles) {\n setStyles(elementOrElements, styles, 'remove');\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAyB;AAEzB,mBAA6B;AAS7B,SAAS,UAAU,mBAAmB,QAAQ,SAAS,OAAO;AAC5D,MAAI,CAAC,qBAAqB,CAAC,UAAU,KAAC,oBAAS,MAAM,GAAG;AACtD;AAAA,EACF;AAEA,iCAAa,mBAAmB,CAAC,OAAO;AACtC,WAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAChD,SAAG,MAAM,QAAQ,WAAW,QAAQ,QAAQ;AAAA,IAC9C,CAAC;AAAA,EACH,CAAC;AACH;AASO,SAAS,IAAI,mBAAmB,QAAQ;AAC7C,YAAU,mBAAmB,MAAM;AACrC;AASO,SAAS,OAAO,mBAAmB,QAAQ;AAChD,YAAU,mBAAmB,QAAQ,QAAQ;AAC/C;",
6
+ "names": []
7
+ }
@@ -20,3 +20,4 @@ export {
20
20
  add,
21
21
  remove
22
22
  };
23
+ //# sourceMappingURL=styles.js.map