@studiometa/js-toolkit 3.0.0-beta.1 → 3.0.0-beta.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 (217) hide show
  1. package/Base/Base.d.ts +19 -10
  2. package/Base/Base.js +46 -36
  3. package/Base/Base.js.map +2 -2
  4. package/Base/managers/AbstractManager.d.ts +3 -8
  5. package/Base/managers/AbstractManager.js +4 -22
  6. package/Base/managers/AbstractManager.js.map +2 -2
  7. package/Base/managers/ChildrenManager.d.ts +25 -2
  8. package/Base/managers/ChildrenManager.js +79 -63
  9. package/Base/managers/ChildrenManager.js.map +2 -2
  10. package/Base/managers/EventsManager.js +4 -12
  11. package/Base/managers/EventsManager.js.map +2 -2
  12. package/Base/managers/OptionsManager.d.ts +16 -11
  13. package/Base/managers/OptionsManager.js +38 -40
  14. package/Base/managers/OptionsManager.js.map +2 -2
  15. package/Base/managers/RefsManager.d.ts +11 -1
  16. package/Base/managers/RefsManager.js +48 -36
  17. package/Base/managers/RefsManager.js.map +2 -2
  18. package/Base/managers/ResponsiveOptionsManager.d.ts +9 -1
  19. package/Base/managers/ResponsiveOptionsManager.js +30 -23
  20. package/Base/managers/ResponsiveOptionsManager.js.map +2 -2
  21. package/Base/managers/ServicesManager.d.ts +12 -13
  22. package/Base/managers/ServicesManager.js +16 -22
  23. package/Base/managers/ServicesManager.js.map +2 -2
  24. package/Base/utils.js.map +2 -2
  25. package/decorators/index.d.ts +1 -0
  26. package/decorators/index.js +1 -0
  27. package/decorators/index.js.map +2 -2
  28. package/decorators/withBreakpointObserver.js +0 -2
  29. package/decorators/withBreakpointObserver.js.map +2 -2
  30. package/decorators/withDrag.js +1 -1
  31. package/decorators/withDrag.js.map +2 -2
  32. package/decorators/withIntersectionObserver.js +0 -2
  33. package/decorators/withIntersectionObserver.js.map +2 -2
  34. package/decorators/withMountOnMediaQuery.js +0 -2
  35. package/decorators/withMountOnMediaQuery.js.map +2 -2
  36. package/decorators/withMountWhenInView.js +0 -2
  37. package/decorators/withMountWhenInView.js.map +2 -2
  38. package/decorators/withMutation.d.ts +13 -0
  39. package/decorators/withMutation.js +34 -0
  40. package/decorators/withMutation.js.map +7 -0
  41. package/decorators/withRelativePointer.js +1 -1
  42. package/decorators/withRelativePointer.js.map +2 -2
  43. package/decorators/withScrolledInView/withScrolledInView.js +1 -1
  44. package/decorators/withScrolledInView/withScrolledInView.js.map +2 -2
  45. package/helpers/createApp.d.ts +1 -1
  46. package/helpers/createApp.js +20 -1
  47. package/helpers/createApp.js.map +2 -2
  48. package/helpers/getClosestParent.d.ts +1 -1
  49. package/helpers/getClosestParent.js +2 -2
  50. package/helpers/getClosestParent.js.map +2 -2
  51. package/helpers/getInstanceFromElement.d.ts +1 -1
  52. package/helpers/getInstanceFromElement.js +1 -1
  53. package/helpers/getInstanceFromElement.js.map +2 -2
  54. package/helpers/importOnInteraction.d.ts +1 -1
  55. package/helpers/importOnInteraction.js +1 -1
  56. package/helpers/importOnInteraction.js.map +2 -2
  57. package/helpers/importOnMediaQuery.d.ts +1 -1
  58. package/helpers/importOnMediaQuery.js +1 -1
  59. package/helpers/importOnMediaQuery.js.map +2 -2
  60. package/helpers/importWhenIdle.d.ts +1 -1
  61. package/helpers/importWhenIdle.js +1 -1
  62. package/helpers/importWhenIdle.js.map +2 -2
  63. package/helpers/importWhenPrefersMotion.d.ts +1 -1
  64. package/helpers/importWhenPrefersMotion.js +2 -2
  65. package/helpers/importWhenPrefersMotion.js.map +2 -2
  66. package/helpers/importWhenVisible.d.ts +1 -1
  67. package/helpers/importWhenVisible.js +1 -1
  68. package/helpers/importWhenVisible.js.map +2 -2
  69. package/helpers/index.d.ts +8 -8
  70. package/helpers/index.js +8 -18
  71. package/helpers/index.js.map +3 -3
  72. package/package.json +1 -1
  73. package/services/AbstractService.d.ts +10 -10
  74. package/services/AbstractService.js +10 -10
  75. package/services/AbstractService.js.map +3 -3
  76. package/services/DragService.js +5 -1
  77. package/services/DragService.js.map +2 -2
  78. package/services/KeyService.js +1 -1
  79. package/services/KeyService.js.map +2 -2
  80. package/services/MutationService.d.ts +20 -0
  81. package/services/MutationService.js +34 -0
  82. package/services/MutationService.js.map +7 -0
  83. package/services/PointerService.js +1 -1
  84. package/services/PointerService.js.map +2 -2
  85. package/services/ResizeService.js +2 -2
  86. package/services/ResizeService.js.map +2 -2
  87. package/services/ScrollService.js +1 -1
  88. package/services/ScrollService.js.map +2 -2
  89. package/services/index.d.ts +1 -0
  90. package/services/index.js +1 -0
  91. package/services/index.js.map +2 -2
  92. package/tsconfig.build.tsbuildinfo +1 -1
  93. package/utils/cache.d.ts +4 -0
  94. package/utils/cache.js +18 -0
  95. package/utils/cache.js.map +7 -0
  96. package/utils/collide/boundingRectToCircle.d.ts +1 -1
  97. package/utils/collide/boundingRectToCircle.js +1 -1
  98. package/utils/collide/boundingRectToCircle.js.map +2 -2
  99. package/utils/collide/collideCircleCircle.d.ts +1 -1
  100. package/utils/collide/collideCircleCircle.js +1 -1
  101. package/utils/collide/collideCircleCircle.js.map +2 -2
  102. package/utils/collide/collideCircleRect.d.ts +1 -1
  103. package/utils/collide/collideCircleRect.js +1 -1
  104. package/utils/collide/collideCircleRect.js.map +2 -2
  105. package/utils/collide/collidePointCircle.d.ts +1 -1
  106. package/utils/collide/collidePointCircle.js +1 -1
  107. package/utils/collide/collidePointCircle.js.map +2 -2
  108. package/utils/collide/collidePointRect.d.ts +1 -1
  109. package/utils/collide/collidePointRect.js +1 -1
  110. package/utils/collide/collidePointRect.js.map +2 -2
  111. package/utils/collide/collideRectRect.d.ts +1 -1
  112. package/utils/collide/collideRectRect.js +1 -1
  113. package/utils/collide/collideRectRect.js.map +2 -2
  114. package/utils/collide/index.d.ts +6 -6
  115. package/utils/collide/index.js +12 -12
  116. package/utils/collide/index.js.map +3 -3
  117. package/utils/css/animate.js.map +2 -2
  118. package/utils/css/getOffsetSizes.d.ts +1 -1
  119. package/utils/css/getOffsetSizes.js +1 -1
  120. package/utils/css/getOffsetSizes.js.map +2 -2
  121. package/utils/css/index.d.ts +3 -3
  122. package/utils/css/index.js +6 -6
  123. package/utils/css/index.js.map +3 -3
  124. package/utils/css/matrix.d.ts +1 -1
  125. package/utils/css/matrix.js +1 -1
  126. package/utils/css/matrix.js.map +2 -2
  127. package/utils/css/transition.d.ts +1 -1
  128. package/utils/css/transition.js +2 -2
  129. package/utils/css/transition.js.map +2 -2
  130. package/utils/debounce.d.ts +1 -1
  131. package/utils/debounce.js +1 -1
  132. package/utils/debounce.js.map +2 -2
  133. package/utils/dom/createElement.d.ts +10 -0
  134. package/utils/dom/createElement.js +21 -0
  135. package/utils/dom/createElement.js.map +7 -0
  136. package/utils/dom/index.d.ts +1 -0
  137. package/utils/dom/index.js +1 -0
  138. package/utils/dom/index.js.map +2 -2
  139. package/utils/getComponentResolver.d.ts +1 -1
  140. package/utils/getComponentResolver.js +1 -1
  141. package/utils/getComponentResolver.js.map +2 -2
  142. package/utils/index.d.ts +6 -5
  143. package/utils/index.js +11 -10
  144. package/utils/index.js.map +3 -3
  145. package/utils/keyCodes.d.ts +1 -2
  146. package/utils/keyCodes.js +2 -2
  147. package/utils/keyCodes.js.map +2 -2
  148. package/utils/math/clamp.d.ts +1 -1
  149. package/utils/math/clamp.js +1 -1
  150. package/utils/math/clamp.js.map +2 -2
  151. package/utils/math/clamp01.d.ts +1 -1
  152. package/utils/math/clamp01.js +2 -2
  153. package/utils/math/clamp01.js.map +2 -2
  154. package/utils/math/createEases.js.map +2 -2
  155. package/utils/math/damp.d.ts +1 -1
  156. package/utils/math/damp.js +1 -1
  157. package/utils/math/damp.js.map +2 -2
  158. package/utils/math/index.d.ts +7 -7
  159. package/utils/math/index.js +14 -14
  160. package/utils/math/index.js.map +3 -3
  161. package/utils/math/inertiaFinalValue.d.ts +1 -1
  162. package/utils/math/inertiaFinalValue.js +2 -2
  163. package/utils/math/inertiaFinalValue.js.map +2 -2
  164. package/utils/math/lerp.d.ts +1 -1
  165. package/utils/math/lerp.js +1 -1
  166. package/utils/math/lerp.js.map +2 -2
  167. package/utils/math/map.d.ts +1 -1
  168. package/utils/math/map.js +1 -1
  169. package/utils/math/map.js.map +2 -2
  170. package/utils/math/round.d.ts +1 -1
  171. package/utils/math/round.js +1 -1
  172. package/utils/math/round.js.map +2 -2
  173. package/utils/memoize.d.ts +1 -1
  174. package/utils/memoize.js +1 -1
  175. package/utils/memoize.js.map +2 -2
  176. package/utils/nextFrame.js.map +2 -2
  177. package/utils/object/getAllProperties.d.ts +1 -1
  178. package/utils/object/getAllProperties.js +1 -1
  179. package/utils/object/getAllProperties.js.map +2 -2
  180. package/utils/string/index.d.ts +10 -10
  181. package/utils/string/index.js +10 -22
  182. package/utils/string/index.js.map +3 -3
  183. package/utils/string/withLeadingCharacters.d.ts +1 -1
  184. package/utils/string/withLeadingCharacters.js +2 -2
  185. package/utils/string/withLeadingCharacters.js.map +2 -2
  186. package/utils/string/withLeadingSlash.d.ts +1 -1
  187. package/utils/string/withLeadingSlash.js +2 -2
  188. package/utils/string/withLeadingSlash.js.map +2 -2
  189. package/utils/string/withTrailingCharacters.d.ts +1 -1
  190. package/utils/string/withTrailingCharacters.js +2 -2
  191. package/utils/string/withTrailingCharacters.js.map +2 -2
  192. package/utils/string/withTrailingSlash.d.ts +1 -1
  193. package/utils/string/withTrailingSlash.js +2 -2
  194. package/utils/string/withTrailingSlash.js.map +2 -2
  195. package/utils/string/withoutLeadingCharacters.d.ts +1 -1
  196. package/utils/string/withoutLeadingCharacters.js +1 -1
  197. package/utils/string/withoutLeadingCharacters.js.map +2 -2
  198. package/utils/string/withoutLeadingCharactersRecursive.d.ts +1 -1
  199. package/utils/string/withoutLeadingCharactersRecursive.js +2 -2
  200. package/utils/string/withoutLeadingCharactersRecursive.js.map +2 -2
  201. package/utils/string/withoutLeadingSlash.d.ts +1 -1
  202. package/utils/string/withoutLeadingSlash.js +2 -2
  203. package/utils/string/withoutLeadingSlash.js.map +2 -2
  204. package/utils/string/withoutTrailingCharacters.d.ts +1 -1
  205. package/utils/string/withoutTrailingCharacters.js +1 -1
  206. package/utils/string/withoutTrailingCharacters.js.map +2 -2
  207. package/utils/string/withoutTrailingCharactersRecursive.d.ts +1 -1
  208. package/utils/string/withoutTrailingCharactersRecursive.js +2 -2
  209. package/utils/string/withoutTrailingCharactersRecursive.js.map +2 -2
  210. package/utils/string/withoutTrailingSlash.d.ts +1 -1
  211. package/utils/string/withoutTrailingSlash.js +2 -2
  212. package/utils/string/withoutTrailingSlash.js.map +2 -2
  213. package/utils/throttle.d.ts +1 -1
  214. package/utils/throttle.js +1 -1
  215. package/utils/throttle.js.map +2 -2
  216. package/utils/trapFocus.js +1 -1
  217. package/utils/trapFocus.js.map +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/css/transition.ts"],
4
- "sourcesContent": ["import { nextFrame } from '../nextFrame.js';\nimport * as classes from './classes.js';\nimport * as styles from './styles.js';\nimport { isArray, isString } from '../is.js';\nimport { hasWindow } from '../has.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\n/** WeakMap to hold the transition instances. */\nconst cache = new WeakMap();\n\nexport type ClassesOrStyles = string | string[] | Partial<CSSStyleDeclaration>;\n\nexport type TransitionStyles = {\n from?: ClassesOrStyles;\n active?: ClassesOrStyles;\n to?: ClassesOrStyles;\n};\n\n/**\n * Transition class.\n */\nclass Transition {\n /**\n * Is a transition currently running?\n */\n isTransitioning = false;\n\n /**\n * A callback to execute when the transition ends.\n */\n transitionEndHandler: EventListenerOrEventListenerObject | null = null;\n\n /**\n * Instantiate and save the instance to the cache.\n */\n constructor(element: HTMLElement) {\n cache.set(element, this);\n }\n\n /**\n * Get the transition class attached to the given element.\n *\n * @param {HTMLElement} element The HTML element concerned by the transition.\n * @returns {Transition} The transition instance tied to the given element.\n */\n static getInstance(element: HTMLElement): Transition {\n let instance = cache.get(element);\n\n if (!instance) {\n instance = new this(element);\n }\n\n return instance;\n }\n}\n\n/**\n * Update either the classes or the styles of an element with the given method.\n */\nexport function setClassesOrStyles(\n element: HTMLElement,\n classesOrStyles: ClassesOrStyles,\n method: 'add' | 'remove' = 'add',\n) {\n if (isString(classesOrStyles) || isArray(classesOrStyles)) {\n classes[method](element, classesOrStyles);\n } else {\n styles[method](element, classesOrStyles);\n }\n}\n\n/**\n * Test if the given element has a transition duration.\n */\nfunction testTransition(element: HTMLElement) {\n if (!hasWindow()) {\n return false;\n }\n\n const { transitionDuration } = window.getComputedStyle(element);\n return !!transitionDuration && transitionDuration !== '0s';\n}\n\n/**\n * Apply the from state.\n */\nasync function start(element: HTMLElement, classesOrStyles: TransitionStyles) {\n const trs = Transition.getInstance(element);\n trs.isTransitioning = true;\n setClassesOrStyles(element, classesOrStyles.from);\n await nextFrame();\n setClassesOrStyles(element, classesOrStyles.active);\n}\n\n/**\n * Apply the active state.\n */\nasync function next(element: HTMLElement, classesOrStyles: TransitionStyles): Promise<void> {\n const hasTransition = testTransition(element);\n\n /* eslint-disable-next-line */\n return new Promise(async (resolve) => {\n if (hasTransition) {\n const trs = Transition.getInstance(element);\n trs.transitionEndHandler = () => resolve();\n element.addEventListener('transitionend', trs.transitionEndHandler, false);\n }\n setClassesOrStyles(element, classesOrStyles.from, 'remove');\n setClassesOrStyles(element, classesOrStyles.to);\n await nextFrame();\n if (!hasTransition) {\n resolve();\n }\n });\n}\n\n/**\n * Apply the final state.\n */\nfunction end(\n element: HTMLElement,\n classesOrStyles: TransitionStyles,\n mode: 'keep' | 'remove' = 'remove',\n) {\n const trs = Transition.getInstance(element);\n element.removeEventListener('transitionend', trs.transitionEndHandler, false);\n if (mode === 'remove') {\n setClassesOrStyles(element, classesOrStyles.to, 'remove');\n }\n setClassesOrStyles(element, classesOrStyles.active, 'remove');\n trs.isTransitioning = false;\n trs.transitionEndHandler = null;\n}\n\n/**\n * Manage CSS transition with class.\n *\n * This is inspired by the Vue `<transition>` component\n * and the `@barba/css` package, many thanks to them!\n *\n * @param {HTMLElement} element The target element.\n * @param {string|TransitionStyles} name The name of the transition or an object with the hooks classesOrStyles.\n * @param {string} endMode Whether to remove or keep the `to` classes/styles\n * @returns {Promise<void>} A promise resolving at the end of the transition.\n */\nasync function singleTransition(\n element: HTMLElement,\n name: string | TransitionStyles,\n endMode: 'keep' | 'remove' = 'remove',\n): Promise<void> {\n /** @type {TransitionStyles} */\n const classesOrStyles = isString(name)\n ? {\n from: `${name}-from`,\n active: `${name}-active`,\n to: `${name}-to`,\n }\n : {\n from: '',\n active: '',\n to: '',\n ...name,\n };\n\n const trs = Transition.getInstance(element);\n // End any previous transition running on the element.\n if (trs.isTransitioning) {\n end(element, classesOrStyles);\n }\n\n await start(element, classesOrStyles);\n await next(element, classesOrStyles);\n end(element, classesOrStyles, endMode);\n return Promise.resolve();\n}\n\n/**\n * Manage CSS transition with class.\n *\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements The target element or elements.\n * @param {string|TransitionStyles} name The name of the transition or an object with the hooks classesOrStyles.\n * @param {string} endMode Whether to remove or keep the `to` classes/styles\n * @returns {Promise<void>} A promise resolving at the end of the transition.\n */\nexport default async function transition(\n elementOrElements: HTMLElement | HTMLElement[] | NodeListOf<HTMLElement>,\n name: string | TransitionStyles,\n endMode: 'keep' | 'remove' = 'remove',\n) {\n await Promise.all(\n eachElements(elementOrElements, (element) => singleTransition(element, name, endMode)),\n );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { nextFrame } from '../nextFrame.js';\nimport * as classes from './classes.js';\nimport * as styles from './styles.js';\nimport { isArray, isString } from '../is.js';\nimport { hasWindow } from '../has.js';\n// eslint-disable-next-line import/extensions\nimport { eachElements } from './utils.js';\n\n/** WeakMap to hold the transition instances. */\nconst cache = new WeakMap();\n\nexport type ClassesOrStyles = string | string[] | Partial<CSSStyleDeclaration>;\n\nexport type TransitionStyles = {\n from?: ClassesOrStyles;\n active?: ClassesOrStyles;\n to?: ClassesOrStyles;\n};\n\n/**\n * Transition class.\n */\nclass Transition {\n /**\n * Is a transition currently running?\n */\n isTransitioning = false;\n\n /**\n * A callback to execute when the transition ends.\n */\n transitionEndHandler: EventListenerOrEventListenerObject | null = null;\n\n /**\n * Instantiate and save the instance to the cache.\n */\n constructor(element: HTMLElement) {\n cache.set(element, this);\n }\n\n /**\n * Get the transition class attached to the given element.\n *\n * @param {HTMLElement} element The HTML element concerned by the transition.\n * @returns {Transition} The transition instance tied to the given element.\n */\n static getInstance(element: HTMLElement): Transition {\n let instance = cache.get(element);\n\n if (!instance) {\n instance = new this(element);\n }\n\n return instance;\n }\n}\n\n/**\n * Update either the classes or the styles of an element with the given method.\n */\nexport function setClassesOrStyles(\n element: HTMLElement,\n classesOrStyles: ClassesOrStyles,\n method: 'add' | 'remove' = 'add',\n) {\n if (isString(classesOrStyles) || isArray(classesOrStyles)) {\n classes[method](element, classesOrStyles);\n } else {\n styles[method](element, classesOrStyles);\n }\n}\n\n/**\n * Test if the given element has a transition duration.\n */\nfunction testTransition(element: HTMLElement) {\n if (!hasWindow()) {\n return false;\n }\n\n const { transitionDuration } = window.getComputedStyle(element);\n return !!transitionDuration && transitionDuration !== '0s';\n}\n\n/**\n * Apply the from state.\n */\nasync function start(element: HTMLElement, classesOrStyles: TransitionStyles) {\n const trs = Transition.getInstance(element);\n trs.isTransitioning = true;\n setClassesOrStyles(element, classesOrStyles.from);\n await nextFrame();\n setClassesOrStyles(element, classesOrStyles.active);\n}\n\n/**\n * Apply the active state.\n */\nasync function next(element: HTMLElement, classesOrStyles: TransitionStyles): Promise<void> {\n const hasTransition = testTransition(element);\n\n /* eslint-disable-next-line */\n return new Promise(async (resolve) => {\n if (hasTransition) {\n const trs = Transition.getInstance(element);\n trs.transitionEndHandler = () => resolve();\n element.addEventListener('transitionend', trs.transitionEndHandler, false);\n }\n setClassesOrStyles(element, classesOrStyles.from, 'remove');\n setClassesOrStyles(element, classesOrStyles.to);\n await nextFrame();\n if (!hasTransition) {\n resolve();\n }\n });\n}\n\n/**\n * Apply the final state.\n */\nfunction end(\n element: HTMLElement,\n classesOrStyles: TransitionStyles,\n mode: 'keep' | 'remove' = 'remove',\n) {\n const trs = Transition.getInstance(element);\n element.removeEventListener('transitionend', trs.transitionEndHandler, false);\n if (mode === 'remove') {\n setClassesOrStyles(element, classesOrStyles.to, 'remove');\n }\n setClassesOrStyles(element, classesOrStyles.active, 'remove');\n trs.isTransitioning = false;\n trs.transitionEndHandler = null;\n}\n\n/**\n * Manage CSS transition with class.\n *\n * This is inspired by the Vue `<transition>` component\n * and the `@barba/css` package, many thanks to them!\n *\n * @param {HTMLElement} element The target element.\n * @param {string|TransitionStyles} name The name of the transition or an object with the hooks classesOrStyles.\n * @param {string} endMode Whether to remove or keep the `to` classes/styles\n * @returns {Promise<void>} A promise resolving at the end of the transition.\n */\nasync function singleTransition(\n element: HTMLElement,\n name: string | TransitionStyles,\n endMode: 'keep' | 'remove' = 'remove',\n): Promise<void> {\n /** @type {TransitionStyles} */\n const classesOrStyles = isString(name)\n ? {\n from: `${name}-from`,\n active: `${name}-active`,\n to: `${name}-to`,\n }\n : {\n from: '',\n active: '',\n to: '',\n ...name,\n };\n\n const trs = Transition.getInstance(element);\n // End any previous transition running on the element.\n if (trs.isTransitioning) {\n end(element, classesOrStyles);\n }\n\n await start(element, classesOrStyles);\n await next(element, classesOrStyles);\n end(element, classesOrStyles, endMode);\n return Promise.resolve();\n}\n\n/**\n * Manage CSS transition with class.\n *\n * @param {HTMLElement|HTMLElement[]|NodeListOf<HTMLElement>} elementOrElements The target element or elements.\n * @param {string|TransitionStyles} name The name of the transition or an object with the hooks classesOrStyles.\n * @param {string} endMode Whether to remove or keep the `to` classes/styles\n * @returns {Promise<void>} A promise resolving at the end of the transition.\n */\nexport async function transition(\n elementOrElements: HTMLElement | HTMLElement[] | NodeListOf<HTMLElement>,\n name: string | TransitionStyles,\n endMode: 'keep' | 'remove' = 'remove',\n) {\n await Promise.all(\n eachElements(elementOrElements, (element) => singleTransition(element, name, endMode)),\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -7,4 +7,4 @@
7
7
  * @param {number} [delay=300] The delay in ms to wait before calling the function.
8
8
  * @returns {(...args:unknown[]) => void} The debounced function.
9
9
  */
10
- export default function debounce(fn: (...args: unknown[]) => void, delay?: number): (...args: unknown[]) => void;
10
+ export declare function debounce(fn: (...args: unknown[]) => void, delay?: number): (...args: unknown[]) => void;
package/utils/debounce.js CHANGED
@@ -8,6 +8,6 @@ function debounce(fn, delay = 300) {
8
8
  };
9
9
  }
10
10
  export {
11
- debounce as default
11
+ debounce
12
12
  };
13
13
  //# sourceMappingURL=debounce.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/js-toolkit/utils/debounce.ts"],
4
- "sourcesContent": ["/**\n * Returns a function, that, as long as it continues to be invoked,\n * will not be triggered. The function will be called after it stops\n * being called for N milliseconds.\n *\n * @param {(...args:unknown[]) => void} fn The function to call.\n * @param {number} [delay=300] The delay in ms to wait before calling the function.\n * @returns {(...args:unknown[]) => void} The debounced function.\n */\nexport default function debounce(\n fn: (...args: unknown[]) => void,\n delay = 300,\n): (...args: unknown[]) => void {\n let timeout;\n return function debounced(...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n"],
5
- "mappings": "AASe,SAAR,SACL,IACA,QAAQ,KACsB;AAC9B,MAAI;AACJ,SAAO,SAAS,aAAa,MAAM;AACjC,iBAAa,OAAO;AACpB,cAAU,WAAW,MAAM;AACzB,SAAG,GAAG,IAAI;AAAA,IACZ,GAAG,KAAK;AAAA,EACV;AACF;",
4
+ "sourcesContent": ["/**\n * Returns a function, that, as long as it continues to be invoked,\n * will not be triggered. The function will be called after it stops\n * being called for N milliseconds.\n *\n * @param {(...args:unknown[]) => void} fn The function to call.\n * @param {number} [delay=300] The delay in ms to wait before calling the function.\n * @returns {(...args:unknown[]) => void} The debounced function.\n */\nexport function debounce(\n fn: (...args: unknown[]) => void,\n delay = 300,\n): (...args: unknown[]) => void {\n let timeout;\n return function debounced(...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n"],
5
+ "mappings": "AASO,SAAS,SACd,IACA,QAAQ,KACsB;AAC9B,MAAI;AACJ,SAAO,SAAS,aAAa,MAAM;AACjC,iBAAa,OAAO;AACpB,cAAU,WAAW,MAAM;AACzB,SAAG,GAAG,IAAI;AAAA,IACZ,GAAG,KAAK;AAAA,EACV;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,10 @@
1
+ interface AnyHTMLElementTagNameMap extends HTMLElementTagNameMap {
2
+ [key: string]: HTMLElement;
3
+ }
4
+ type CreateElementChildren = string | Node | Array<string | Node>;
5
+ /**
6
+ * Functional DOM Element creation.
7
+ */
8
+ export declare function createElement<T extends keyof AnyHTMLElementTagNameMap = 'div'>(tag?: T, children?: CreateElementChildren): AnyHTMLElementTagNameMap[T];
9
+ export declare function createElement<T extends keyof AnyHTMLElementTagNameMap = 'div'>(tag?: T, attributes?: Record<string, string>, children?: CreateElementChildren): AnyHTMLElementTagNameMap[T];
10
+ export {};
@@ -0,0 +1,21 @@
1
+ import { isArray, isString } from "../is.js";
2
+ import { dashCase } from "../string/changeCase.js";
3
+ function createElement(tag, attributes = {}, children = null) {
4
+ const el = document.createElement(tag ?? "div");
5
+ if (children === null && (isArray(attributes) || isString(attributes) || attributes instanceof Node)) {
6
+ children = attributes;
7
+ attributes = {};
8
+ }
9
+ for (const [name, value] of Object.entries(attributes)) {
10
+ el.setAttribute(dashCase(name), value);
11
+ }
12
+ if (children) {
13
+ children = isArray(children) ? children : [children];
14
+ el.append(...children);
15
+ }
16
+ return el;
17
+ }
18
+ export {
19
+ createElement
20
+ };
21
+ //# sourceMappingURL=createElement.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/js-toolkit/utils/dom/createElement.ts"],
4
+ "sourcesContent": ["import { isArray, isString } from '../is.js';\nimport { dashCase } from '../string/changeCase.js';\n\ninterface AnyHTMLElementTagNameMap extends HTMLElementTagNameMap {\n [key: string]: HTMLElement;\n}\n\ntype CreateElementChildren = string | Node | Array<string | Node>;\n\n/**\n * Functional DOM Element creation.\n */\nexport function createElement<T extends keyof AnyHTMLElementTagNameMap = 'div'>(\n tag?: T,\n children?: CreateElementChildren,\n): AnyHTMLElementTagNameMap[T];\nexport function createElement<T extends keyof AnyHTMLElementTagNameMap = 'div'>(\n tag?: T,\n attributes?: Record<string, string>,\n children?: CreateElementChildren,\n): AnyHTMLElementTagNameMap[T];\nexport function createElement<T extends keyof AnyHTMLElementTagNameMap = 'div'>(\n tag?: T,\n attributes: CreateElementChildren | Record<string, string> = {},\n children: CreateElementChildren = null,\n): AnyHTMLElementTagNameMap[T] {\n const el = document.createElement((tag as string) ?? 'div');\n\n if (\n children === null &&\n (isArray(attributes) || isString(attributes) || attributes instanceof Node)\n ) {\n children = attributes;\n attributes = {};\n }\n\n for (const [name, value] of Object.entries(attributes as Record<string, string>)) {\n el.setAttribute(dashCase(name), value);\n }\n\n if (children) {\n children = isArray(children) ? children : [children];\n el.append(...children);\n }\n\n return el;\n}\n"],
5
+ "mappings": "AAAA,SAAS,SAAS,gBAAgB;AAClC,SAAS,gBAAgB;AAoBlB,SAAS,cACd,KACA,aAA6D,CAAC,GAC9D,WAAkC,MACL;AAC7B,QAAM,KAAK,SAAS,cAAe,OAAkB,KAAK;AAE1D,MACE,aAAa,SACZ,QAAQ,UAAU,KAAK,SAAS,UAAU,KAAK,sBAAsB,OACtE;AACA,eAAW;AACX,iBAAa,CAAC;AAAA,EAChB;AAEA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,UAAoC,GAAG;AAChF,OAAG,aAAa,SAAS,IAAI,GAAG,KAAK;AAAA,EACvC;AAEA,MAAI,UAAU;AACZ,eAAW,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AACnD,OAAG,OAAO,GAAG,QAAQ;AAAA,EACvB;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1 +1,2 @@
1
1
  export * from './ancestors.js';
2
+ export * from './createElement.js';
@@ -1,2 +1,3 @@
1
1
  export * from "./ancestors.js";
2
+ export * from "./createElement.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/dom/index.ts"],
4
- "sourcesContent": ["export * from './ancestors.js';\n"],
5
- "mappings": "AAAA,cAAc;",
4
+ "sourcesContent": ["export * from './ancestors.js';\nexport * from './createElement.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -4,4 +4,4 @@
4
4
  * @param {Function} fn
5
5
  * @returns {Function}
6
6
  */
7
- export default function getComponentResolver(fn: any): (resolve: any, cb?: () => unknown) => void;
7
+ export declare function getComponentResolver(fn: any): (resolve: any, cb?: () => unknown) => void;
@@ -11,6 +11,6 @@ function getComponentResolver(fn) {
11
11
  };
12
12
  }
13
13
  export {
14
- getComponentResolver as default
14
+ getComponentResolver
15
15
  };
16
16
  //# sourceMappingURL=getComponentResolver.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/js-toolkit/utils/getComponentResolver.ts"],
4
- "sourcesContent": ["import { isFunction } from './is.js';\n\n/**\n * Default component resolver\n *\n * @param {Function} fn\n * @returns {Function}\n */\nexport default function getComponentResolver(fn) {\n return (resolve, cb?: () => unknown) => {\n fn().then((module) => {\n const ResolvedClass = module.default ?? module;\n resolve(ResolvedClass);\n\n if (isFunction(cb)) {\n cb();\n }\n });\n };\n}\n"],
5
- "mappings": "AAAA,SAAS,kBAAkB;AAQZ,SAAR,qBAAsC,IAAI;AAC/C,SAAO,CAAC,SAAS,OAAuB;AACtC,OAAG,EAAE,KAAK,CAAC,WAAW;AACpB,YAAM,gBAAgB,OAAO,WAAW;AACxC,cAAQ,aAAa;AAErB,UAAI,WAAW,EAAE,GAAG;AAClB,WAAG;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
4
+ "sourcesContent": ["import { isFunction } from './is.js';\n\n/**\n * Default component resolver\n *\n * @param {Function} fn\n * @returns {Function}\n */\nexport function getComponentResolver(fn) {\n return (resolve, cb?: () => unknown) => {\n fn().then((module) => {\n const ResolvedClass = module.default ?? module;\n resolve(ResolvedClass);\n\n if (isFunction(cb)) {\n cb();\n }\n });\n };\n}\n"],
5
+ "mappings": "AAAA,SAAS,kBAAkB;AAQpB,SAAS,qBAAqB,IAAI;AACvC,SAAO,CAAC,SAAS,OAAuB;AACtC,OAAG,EAAE,KAAK,CAAC,WAAW;AACpB,YAAM,gBAAgB,OAAO,WAAW;AACxC,cAAQ,aAAa;AAErB,UAAI,WAAW,EAAE,GAAG;AAClB,WAAG;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
6
  "names": []
7
7
  }
package/utils/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- export { default as debounce } from './debounce.js';
1
+ export { debounce } from './debounce.js';
2
2
  export * from './trapFocus.js';
3
- export { default as keyCodes } from './keyCodes.js';
4
- export { default as memoize } from './memoize.js';
3
+ export { keyCodes } from './keyCodes.js';
4
+ export { memoize } from './memoize.js';
5
5
  export { nextFrame } from './nextFrame.js';
6
6
  export { nextTick } from './nextTick.js';
7
7
  export { nextMicrotask } from './nextMicrotask.js';
8
- export { default as throttle } from './throttle.js';
8
+ export { throttle } from './throttle.js';
9
9
  export { scrollTo } from './scrollTo.js';
10
- export { default as getComponentResolver } from './getComponentResolver.js';
10
+ export { getComponentResolver } from './getComponentResolver.js';
11
11
  export * from './is.js';
12
12
  export * from './has.js';
13
13
  export * from './css/index.js';
@@ -25,3 +25,4 @@ export * from './wait.js';
25
25
  export * from './random.js';
26
26
  export * from './memo.js';
27
27
  export * from './loadElement.js';
28
+ export * from './cache.js';
package/utils/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import { default as default2 } from "./debounce.js";
1
+ import { debounce } from "./debounce.js";
2
2
  export * from "./trapFocus.js";
3
- import { default as default3 } from "./keyCodes.js";
4
- import { default as default4 } from "./memoize.js";
3
+ import { keyCodes } from "./keyCodes.js";
4
+ import { memoize } from "./memoize.js";
5
5
  import { nextFrame } from "./nextFrame.js";
6
6
  import { nextTick } from "./nextTick.js";
7
7
  import { nextMicrotask } from "./nextMicrotask.js";
8
- import { default as default5 } from "./throttle.js";
8
+ import { throttle } from "./throttle.js";
9
9
  import { scrollTo } from "./scrollTo.js";
10
- import { default as default6 } from "./getComponentResolver.js";
10
+ import { getComponentResolver } from "./getComponentResolver.js";
11
11
  export * from "./is.js";
12
12
  export * from "./has.js";
13
13
  export * from "./css/index.js";
@@ -29,21 +29,22 @@ export * from "./wait.js";
29
29
  export * from "./random.js";
30
30
  export * from "./memo.js";
31
31
  export * from "./loadElement.js";
32
+ export * from "./cache.js";
32
33
  export {
33
34
  Queue,
34
35
  SmartQueue,
35
- default2 as debounce,
36
- default6 as getComponentResolver,
36
+ debounce,
37
+ getComponentResolver,
37
38
  push as historyPush,
38
39
  replace as historyReplace,
39
- default3 as keyCodes,
40
- default4 as memoize,
40
+ keyCodes,
41
+ memoize,
41
42
  nextFrame,
42
43
  nextMicrotask,
43
44
  nextTick,
44
45
  objectToURLSearchParams,
45
46
  scrollTo,
46
- default5 as throttle,
47
+ throttle,
47
48
  tween
48
49
  };
49
50
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/js-toolkit/utils/index.ts"],
4
- "sourcesContent": ["export { default as debounce } from './debounce.js';\nexport * from './trapFocus.js';\nexport { default as keyCodes } from './keyCodes.js';\nexport { default as memoize } from './memoize.js';\nexport { nextFrame } from './nextFrame.js';\nexport { nextTick } from './nextTick.js';\nexport { nextMicrotask } from './nextMicrotask.js';\nexport { default as throttle } from './throttle.js';\nexport { scrollTo } from './scrollTo.js';\nexport { default as getComponentResolver } from './getComponentResolver.js';\nexport * from './is.js';\nexport * from './has.js';\nexport * from './css/index.js';\nexport {\n objectToURLSearchParams,\n push as historyPush,\n replace as historyReplace,\n} from './history.js';\nexport * from './collide/index.js';\nexport * from './math/index.js';\nexport * from './string/index.js';\nexport * from './scheduler.js';\nexport * from './noop.js';\nexport { tween } from './tween.js';\nexport { Queue } from './Queue.js';\nexport { SmartQueue } from './SmartQueue.js';\nexport * from './dom/index.js';\nexport * from './wait.js';\nexport * from './random.js';\nexport * from './memo.js';\nexport * from './loadElement.js';\n"],
5
- "mappings": "AAAA,SAAoB,WAAXA,gBAA2B;AACpC,cAAc;AACd,SAAoB,WAAXA,gBAA2B;AACpC,SAAoB,WAAXA,gBAA0B;AACnC,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAoB,WAAXA,gBAA2B;AACpC,SAAS,gBAAgB;AACzB,SAAoB,WAAXA,gBAAuC;AAChD,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EACE;AAAA,EACQ;AAAA,EACG;AAAA,OACN;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,aAAa;AACtB,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAC3B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
- "names": ["default"]
4
+ "sourcesContent": ["export { debounce } from './debounce.js';\nexport * from './trapFocus.js';\nexport { keyCodes } from './keyCodes.js';\nexport { memoize } from './memoize.js';\nexport { nextFrame } from './nextFrame.js';\nexport { nextTick } from './nextTick.js';\nexport { nextMicrotask } from './nextMicrotask.js';\nexport { throttle } from './throttle.js';\nexport { scrollTo } from './scrollTo.js';\nexport { getComponentResolver } from './getComponentResolver.js';\nexport * from './is.js';\nexport * from './has.js';\nexport * from './css/index.js';\nexport {\n objectToURLSearchParams,\n push as historyPush,\n replace as historyReplace,\n} from './history.js';\nexport * from './collide/index.js';\nexport * from './math/index.js';\nexport * from './string/index.js';\nexport * from './scheduler.js';\nexport * from './noop.js';\nexport { tween } from './tween.js';\nexport { Queue } from './Queue.js';\nexport { SmartQueue } from './SmartQueue.js';\nexport * from './dom/index.js';\nexport * from './wait.js';\nexport * from './random.js';\nexport * from './memo.js';\nexport * from './loadElement.js';\nexport * from './cache.js';\n"],
5
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,cAAc;AACd,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AACrC,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EACE;AAAA,EACQ;AAAA,EACG;AAAA,OACN;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,aAAa;AACtB,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAC3B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- declare const _default: {
1
+ export declare const keyCodes: {
2
2
  readonly ENTER: 13;
3
3
  readonly SPACE: 32;
4
4
  readonly TAB: 9;
@@ -8,4 +8,3 @@ declare const _default: {
8
8
  readonly RIGHT: 39;
9
9
  readonly DOWN: 40;
10
10
  };
11
- export default _default;
package/utils/keyCodes.js CHANGED
@@ -1,4 +1,4 @@
1
- var keyCodes_default = {
1
+ const keyCodes = {
2
2
  ENTER: 13,
3
3
  SPACE: 32,
4
4
  TAB: 9,
@@ -9,6 +9,6 @@ var keyCodes_default = {
9
9
  DOWN: 40
10
10
  };
11
11
  export {
12
- keyCodes_default as default
12
+ keyCodes
13
13
  };
14
14
  //# sourceMappingURL=keyCodes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../packages/js-toolkit/utils/keyCodes.ts"],
4
- "sourcesContent": ["export default {\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n} as const;\n"],
5
- "mappings": "AAAA,IAAO,mBAAQ;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AACR;",
4
+ "sourcesContent": ["export const keyCodes = {\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n} as const;\n"],
5
+ "mappings": "AAAO,MAAM,WAAW;AAAA,EACtB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AACR;",
6
6
  "names": []
7
7
  }
@@ -6,4 +6,4 @@
6
6
  * @param {number} max
7
7
  * @returns {number}
8
8
  */
9
- export default function clamp(value: number, min: number, max: number): number;
9
+ export declare function clamp(value: number, min: number, max: number): number;
@@ -2,6 +2,6 @@ function clamp(value, min, max) {
2
2
  return min < max ? value < min ? min : value > max ? max : value : value < max ? max : value > min ? min : value;
3
3
  }
4
4
  export {
5
- clamp as default
5
+ clamp
6
6
  };
7
7
  //# sourceMappingURL=clamp.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/clamp.ts"],
4
- "sourcesContent": ["/**\n * Clamp a value in a given range.\n *\n * @param {number} value\n * @param {number} min\n * @param {number} max\n * @returns {number}\n */\nexport default function clamp(value: number, min: number, max: number) {\n /* eslint-disable no-nested-ternary */\n return min < max\n ? value < min\n ? min\n : value > max\n ? max\n : value\n : value < max\n ? max\n : value > min\n ? min\n : value;\n /* eslint-enable no-nested-ternary */\n}\n"],
5
- "mappings": "AAQe,SAAR,MAAuB,OAAe,KAAa,KAAa;AAErE,SAAO,MAAM,MACT,QAAQ,MACN,MACA,QAAQ,MACR,MACA,QACF,QAAQ,MACR,MACA,QAAQ,MACR,MACA;AAEN;",
4
+ "sourcesContent": ["/**\n * Clamp a value in a given range.\n *\n * @param {number} value\n * @param {number} min\n * @param {number} max\n * @returns {number}\n */\nexport function clamp(value: number, min: number, max: number) {\n /* eslint-disable no-nested-ternary */\n return min < max\n ? value < min\n ? min\n : value > max\n ? max\n : value\n : value < max\n ? max\n : value > min\n ? min\n : value;\n /* eslint-enable no-nested-ternary */\n}\n"],
5
+ "mappings": "AAQO,SAAS,MAAM,OAAe,KAAa,KAAa;AAE7D,SAAO,MAAM,MACT,QAAQ,MACN,MACA,QAAQ,MACN,MACA,QACJ,QAAQ,MACN,MACA,QAAQ,MACN,MACA;AAEV;",
6
6
  "names": []
7
7
  }
@@ -4,4 +4,4 @@
4
4
  * @param {number} value
5
5
  * @returns {number}
6
6
  */
7
- export default function clamp01(value: number): number;
7
+ export declare function clamp01(value: number): number;
@@ -1,8 +1,8 @@
1
- import clamp from "./clamp.js";
1
+ import { clamp } from "./clamp.js";
2
2
  function clamp01(value) {
3
3
  return clamp(value, 0, 1);
4
4
  }
5
5
  export {
6
- clamp01 as default
6
+ clamp01
7
7
  };
8
8
  //# sourceMappingURL=clamp01.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/clamp01.ts"],
4
- "sourcesContent": ["import clamp from './clamp.js';\n\n/**\n * Clamp a value in the 0\u20131 range.\n *\n * @param {number} value\n * @returns {number}\n */\nexport default function clamp01(value: number) {\n return clamp(value, 0, 1);\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAQH,SAAR,QAAyB,OAAe;AAC7C,SAAO,MAAM,OAAO,GAAG,CAAC;AAC1B;",
4
+ "sourcesContent": ["import { clamp } from './clamp.js';\n\n/**\n * Clamp a value in the 0\u20131 range.\n *\n * @param {number} value\n * @returns {number}\n */\nexport function clamp01(value: number) {\n return clamp(value, 0, 1);\n}\n"],
5
+ "mappings": "AAAA,SAAS,aAAa;AAQf,SAAS,QAAQ,OAAe;AACrC,SAAO,MAAM,OAAO,GAAG,CAAC;AAC1B;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/createEases.ts"],
4
- "sourcesContent": ["export type EasingFunction = (progress: number) => number;\n\n/**\n * Create an out easing function.\n *\n * @param {EasingFunction} easeIn The ease in function.\n * @returns {EasingFunction} The out function.\n */\nexport function createEaseOut(easeIn: EasingFunction): EasingFunction {\n return (progress) => 1 - easeIn(1 - progress);\n}\n\n/**\n * Create an in-out easing function.\n *\n * @param {EasingFunction} easeIn The ease in function.\n * @returns {EasingFunction} The in-out function.\n */\nexport function createEaseInOut(easeIn: EasingFunction): EasingFunction {\n /* eslint-disable no-nested-ternary */\n // eslint-disable-next-line no-confusing-arrow\n return (progress) =>\n progress === 0\n ? 0\n : progress === 1\n ? 1\n : progress < 0.5\n ? easeIn(progress * 2) / 2\n : 1 - easeIn((1 - progress) * 2) / 2;\n}\n"],
5
- "mappings": "AAQO,SAAS,cAAc,QAAwC;AACpE,SAAO,CAAC,aAAa,IAAI,OAAO,IAAI,QAAQ;AAC9C;AAQO,SAAS,gBAAgB,QAAwC;AAGtE,SAAO,CAAC,aACN,aAAa,IACT,IACA,aAAa,IACb,IACA,WAAW,MACX,OAAO,WAAW,CAAC,IAAI,IACvB,IAAI,QAAQ,IAAI,YAAY,CAAC,IAAI;AACzC;",
4
+ "sourcesContent": ["export type EasingFunction = (progress: number) => number;\n\n/**\n * Create an out easing function.\n *\n * @param {EasingFunction} easeIn The ease in function.\n * @returns {EasingFunction} The out function.\n */\nexport function createEaseOut(easeIn: EasingFunction): EasingFunction {\n return (progress) => 1 - easeIn(1 - progress);\n}\n\n/**\n * Create an in-out easing function.\n *\n * @param {EasingFunction} easeIn The ease in function.\n * @returns {EasingFunction} The in-out function.\n */\nexport function createEaseInOut(easeIn: EasingFunction): EasingFunction {\n /* eslint-disable no-nested-ternary */\n // eslint-disable-next-line no-confusing-arrow\n return (progress) =>\n progress === 0\n ? 0\n : progress === 1\n ? 1\n : progress < 0.5\n ? easeIn(progress * 2) / 2\n : 1 - easeIn((1 - progress) * 2) / 2;\n}\n"],
5
+ "mappings": "AAQO,SAAS,cAAc,QAAwC;AACpE,SAAO,CAAC,aAAa,IAAI,OAAO,IAAI,QAAQ;AAC9C;AAQO,SAAS,gBAAgB,QAAwC;AAGtE,SAAO,CAAC,aACN,aAAa,IACT,IACA,aAAa,IACX,IACA,WAAW,MACT,OAAO,WAAW,CAAC,IAAI,IACvB,IAAI,QAAQ,IAAI,YAAY,CAAC,IAAI;AAC7C;",
6
6
  "names": []
7
7
  }
@@ -7,4 +7,4 @@
7
7
  * @param {number} [precision=0.01] The precision used to calculate the latest value.
8
8
  * @returns {number} The next value.
9
9
  */
10
- export default function damp(targetValue: number, currentValue: number, factor?: number, precision?: number): number;
10
+ export declare function damp(targetValue: number, currentValue: number, factor?: number, precision?: number): number;
@@ -2,6 +2,6 @@ function damp(targetValue, currentValue, factor = 0.5, precision = 0.01) {
2
2
  return Math.abs(targetValue - currentValue) < precision ? targetValue : currentValue + (targetValue - currentValue) * factor;
3
3
  }
4
4
  export {
5
- damp as default
5
+ damp
6
6
  };
7
7
  //# sourceMappingURL=damp.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/damp.ts"],
4
- "sourcesContent": ["/**\n * Get the next damped value for a given factor.\n *\n * @param {number} targetValue The final value.\n * @param {number} currentValue The current value.\n * @param {number} [factor=0.5] The factor used to reach the target value.\n * @param {number} [precision=0.01] The precision used to calculate the latest value.\n * @returns {number} The next value.\n */\nexport default function damp(\n targetValue: number,\n currentValue: number,\n factor = 0.5,\n precision = 0.01,\n) {\n return Math.abs(targetValue - currentValue) < precision\n ? targetValue\n : currentValue + (targetValue - currentValue) * factor;\n}\n"],
5
- "mappings": "AASe,SAAR,KACL,aACA,cACA,SAAS,KACT,YAAY,MACZ;AACA,SAAO,KAAK,IAAI,cAAc,YAAY,IAAI,YAC1C,cACA,gBAAgB,cAAc,gBAAgB;AACpD;",
4
+ "sourcesContent": ["/**\n * Get the next damped value for a given factor.\n *\n * @param {number} targetValue The final value.\n * @param {number} currentValue The current value.\n * @param {number} [factor=0.5] The factor used to reach the target value.\n * @param {number} [precision=0.01] The precision used to calculate the latest value.\n * @returns {number} The next value.\n */\nexport function damp(\n targetValue: number,\n currentValue: number,\n factor = 0.5,\n precision = 0.01,\n) {\n return Math.abs(targetValue - currentValue) < precision\n ? targetValue\n : currentValue + (targetValue - currentValue) * factor;\n}\n"],
5
+ "mappings": "AASO,SAAS,KACd,aACA,cACA,SAAS,KACT,YAAY,MACZ;AACA,SAAO,KAAK,IAAI,cAAc,YAAY,IAAI,YAC1C,cACA,gBAAgB,cAAc,gBAAgB;AACpD;",
6
6
  "names": []
7
7
  }
@@ -2,11 +2,11 @@ export * as ease from './ease.js';
2
2
  export * from './createEases.js';
3
3
  export * from './ease.js';
4
4
  export { createRange } from './createRange.js';
5
- export { default as clamp } from './clamp.js';
6
- export { default as clamp01 } from './clamp01.js';
7
- export { default as damp } from './damp.js';
8
- export { default as inertiaFinalValue } from './inertiaFinalValue.js';
9
- export { default as lerp } from './lerp.js';
10
- export { default as map } from './map.js';
11
- export { default as round } from './round.js';
5
+ export { clamp } from './clamp.js';
6
+ export { clamp01 } from './clamp01.js';
7
+ export { damp } from './damp.js';
8
+ export { inertiaFinalValue } from './inertiaFinalValue.js';
9
+ export { lerp } from './lerp.js';
10
+ export { map } from './map.js';
11
+ export { round } from './round.js';
12
12
  export { mean } from './mean.js';
@@ -2,24 +2,24 @@ import * as ease from "./ease.js";
2
2
  export * from "./createEases.js";
3
3
  export * from "./ease.js";
4
4
  import { createRange } from "./createRange.js";
5
- import { default as default2 } from "./clamp.js";
6
- import { default as default3 } from "./clamp01.js";
7
- import { default as default4 } from "./damp.js";
8
- import { default as default5 } from "./inertiaFinalValue.js";
9
- import { default as default6 } from "./lerp.js";
10
- import { default as default7 } from "./map.js";
11
- import { default as default8 } from "./round.js";
5
+ import { clamp } from "./clamp.js";
6
+ import { clamp01 } from "./clamp01.js";
7
+ import { damp } from "./damp.js";
8
+ import { inertiaFinalValue } from "./inertiaFinalValue.js";
9
+ import { lerp } from "./lerp.js";
10
+ import { map } from "./map.js";
11
+ import { round } from "./round.js";
12
12
  import { mean } from "./mean.js";
13
13
  export {
14
- default2 as clamp,
15
- default3 as clamp01,
14
+ clamp,
15
+ clamp01,
16
16
  createRange,
17
- default4 as damp,
17
+ damp,
18
18
  ease,
19
- default5 as inertiaFinalValue,
20
- default6 as lerp,
21
- default7 as map,
19
+ inertiaFinalValue,
20
+ lerp,
21
+ map,
22
22
  mean,
23
- default8 as round
23
+ round
24
24
  };
25
25
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/index.ts"],
4
- "sourcesContent": ["export * as ease from './ease.js';\nexport * from './createEases.js';\nexport * from './ease.js';\nexport { createRange } from './createRange.js';\nexport { default as clamp } from './clamp.js';\nexport { default as clamp01 } from './clamp01.js';\nexport { default as damp } from './damp.js';\nexport { default as inertiaFinalValue } from './inertiaFinalValue.js';\nexport { default as lerp } from './lerp.js';\nexport { default as map } from './map.js';\nexport { default as round } from './round.js';\nexport { mean } from './mean.js';\n"],
5
- "mappings": "AAAA,YAAY,UAAU;AACtB,cAAc;AACd,cAAc;AACd,SAAS,mBAAmB;AAC5B,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,gBAA0B;AACnC,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAsB;AAC/B,SAAoB,WAAXA,gBAAwB;AACjC,SAAS,YAAY;",
6
- "names": ["default"]
4
+ "sourcesContent": ["export * as ease from './ease.js';\nexport * from './createEases.js';\nexport * from './ease.js';\nexport { createRange } from './createRange.js';\nexport { clamp } from './clamp.js';\nexport { clamp01 } from './clamp01.js';\nexport { damp } from './damp.js';\nexport { inertiaFinalValue } from './inertiaFinalValue.js';\nexport { lerp } from './lerp.js';\nexport { map } from './map.js';\nexport { round } from './round.js';\nexport { mean } from './mean.js';\n"],
5
+ "mappings": "AAAA,YAAY,UAAU;AACtB,cAAc;AACd,cAAc;AACd,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,YAAY;AACrB,SAAS,WAAW;AACpB,SAAS,aAAa;AACtB,SAAS,YAAY;",
6
+ "names": []
7
7
  }
@@ -6,4 +6,4 @@
6
6
  * @param {number} [dampFactor=0.85] The speed to reach the target value.
7
7
  * @returns {number} The next value.
8
8
  */
9
- export default function inertiaFinalValue(initialValue: number, initialDelta: number, dampFactor?: number): number;
9
+ export declare function inertiaFinalValue(initialValue: number, initialDelta: number, dampFactor?: number): number;
@@ -1,4 +1,4 @@
1
- import clamp from "./clamp.js";
1
+ import { clamp } from "./clamp.js";
2
2
  function inertiaFinalValue(initialValue, initialDelta, dampFactor = 0.85) {
3
3
  dampFactor = clamp(dampFactor, 1e-5, 0.99999);
4
4
  let delta = initialDelta;
@@ -10,6 +10,6 @@ function inertiaFinalValue(initialValue, initialDelta, dampFactor = 0.85) {
10
10
  return finalValue;
11
11
  }
12
12
  export {
13
- inertiaFinalValue as default
13
+ inertiaFinalValue
14
14
  };
15
15
  //# sourceMappingURL=inertiaFinalValue.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/inertiaFinalValue.ts"],
4
- "sourcesContent": ["import clamp from './clamp.js';\n\n/**\n * Get the final damped value for a given factor.\n *\n * @param {number} initialValue The final value.\n * @param {number} initialDelta The current value.\n * @param {number} [dampFactor=0.85] The speed to reach the target value.\n * @returns {number} The next value.\n */\nexport default function inertiaFinalValue(\n initialValue: number,\n initialDelta: number,\n dampFactor = 0.85,\n) {\n // eslint-disable-next-line no-param-reassign\n dampFactor = clamp(dampFactor, 0.00001, 0.99999);\n let delta = initialDelta;\n let finalValue = initialValue;\n\n while (Math.abs(delta) > 0.1) {\n finalValue += delta;\n delta *= dampFactor;\n }\n\n return finalValue;\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAUH,SAAR,kBACL,cACA,cACA,aAAa,MACb;AAEA,eAAa,MAAM,YAAY,MAAS,OAAO;AAC/C,MAAI,QAAQ;AACZ,MAAI,aAAa;AAEjB,SAAO,KAAK,IAAI,KAAK,IAAI,KAAK;AAC5B,kBAAc;AACd,aAAS;AAAA,EACX;AAEA,SAAO;AACT;",
4
+ "sourcesContent": ["import { clamp } from './clamp.js';\n\n/**\n * Get the final damped value for a given factor.\n *\n * @param {number} initialValue The final value.\n * @param {number} initialDelta The current value.\n * @param {number} [dampFactor=0.85] The speed to reach the target value.\n * @returns {number} The next value.\n */\nexport function inertiaFinalValue(initialValue: number, initialDelta: number, dampFactor = 0.85) {\n // eslint-disable-next-line no-param-reassign\n dampFactor = clamp(dampFactor, 0.00001, 0.99999);\n let delta = initialDelta;\n let finalValue = initialValue;\n\n while (Math.abs(delta) > 0.1) {\n finalValue += delta;\n delta *= dampFactor;\n }\n\n return finalValue;\n}\n"],
5
+ "mappings": "AAAA,SAAS,aAAa;AAUf,SAAS,kBAAkB,cAAsB,cAAsB,aAAa,MAAM;AAE/F,eAAa,MAAM,YAAY,MAAS,OAAO;AAC/C,MAAI,QAAQ;AACZ,MAAI,aAAa;AAEjB,SAAO,KAAK,IAAI,KAAK,IAAI,KAAK;AAC5B,kBAAc;AACd,aAAS;AAAA,EACX;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -6,4 +6,4 @@
6
6
  * @param {number} ratio The ratio to get.
7
7
  * @returns {number} The value between min and max corresponding to ratio.
8
8
  */
9
- export default function lerp(min: number, max: number, ratio: number): number;
9
+ export declare function lerp(min: number, max: number, ratio: number): number;
@@ -2,6 +2,6 @@ function lerp(min, max, ratio) {
2
2
  return (1 - ratio) * min + ratio * max;
3
3
  }
4
4
  export {
5
- lerp as default
5
+ lerp
6
6
  };
7
7
  //# sourceMappingURL=lerp.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/lerp.ts"],
4
- "sourcesContent": ["/**\n * Interpolate the ratio between a given interval.\n *\n * @param {number} min The interval minimum value.\n * @param {number} max The inverval maximum value.\n * @param {number} ratio The ratio to get.\n * @returns {number} The value between min and max corresponding to ratio.\n */\nexport default function lerp(min: number, max: number, ratio: number) {\n return (1 - ratio) * min + ratio * max;\n}\n"],
5
- "mappings": "AAQe,SAAR,KAAsB,KAAa,KAAa,OAAe;AACpE,UAAQ,IAAI,SAAS,MAAM,QAAQ;AACrC;",
4
+ "sourcesContent": ["/**\n * Interpolate the ratio between a given interval.\n *\n * @param {number} min The interval minimum value.\n * @param {number} max The inverval maximum value.\n * @param {number} ratio The ratio to get.\n * @returns {number} The value between min and max corresponding to ratio.\n */\nexport function lerp(min: number, max: number, ratio: number) {\n return (1 - ratio) * min + ratio * max;\n}\n"],
5
+ "mappings": "AAQO,SAAS,KAAK,KAAa,KAAa,OAAe;AAC5D,UAAQ,IAAI,SAAS,MAAM,QAAQ;AACrC;",
6
6
  "names": []
7
7
  }
@@ -8,4 +8,4 @@
8
8
  * @param {number} outputMax The output's maximum value.
9
9
  * @returns {number} The input value mapped to the output range.
10
10
  */
11
- export default function map(value: number, inputMin: number, inputMax: number, outputMin: number, outputMax: number): number;
11
+ export declare function map(value: number, inputMin: number, inputMax: number, outputMin: number, outputMax: number): number;
package/utils/math/map.js CHANGED
@@ -2,6 +2,6 @@ function map(value, inputMin, inputMax, outputMin, outputMax) {
2
2
  return (value - inputMin) * (outputMax - outputMin) / (inputMax - inputMin) + outputMin;
3
3
  }
4
4
  export {
5
- map as default
5
+ map
6
6
  };
7
7
  //# sourceMappingURL=map.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/js-toolkit/utils/math/map.ts"],
4
- "sourcesContent": ["/**\n * Maps the value from one range of [inputMin..inputMax] to another range of [outputMin..outputMax].\n *\n * @param {number} value The value to map.\n * @param {number} inputMin The input's minimum value.\n * @param {number} inputMax The input's maximum value.\n * @param {number} outputMin The output's minimum value.\n * @param {number} outputMax The output's maximum value.\n * @returns {number} The input value mapped to the output range.\n */\nexport default function map(\n value: number,\n inputMin: number,\n inputMax: number,\n outputMin: number,\n outputMax: number,\n) {\n return ((value - inputMin) * (outputMax - outputMin)) / (inputMax - inputMin) + outputMin;\n}\n"],
5
- "mappings": "AAUe,SAAR,IACL,OACA,UACA,UACA,WACA,WACA;AACA,UAAS,QAAQ,aAAa,YAAY,cAAe,WAAW,YAAY;AAClF;",
4
+ "sourcesContent": ["/**\n * Maps the value from one range of [inputMin..inputMax] to another range of [outputMin..outputMax].\n *\n * @param {number} value The value to map.\n * @param {number} inputMin The input's minimum value.\n * @param {number} inputMax The input's maximum value.\n * @param {number} outputMin The output's minimum value.\n * @param {number} outputMax The output's maximum value.\n * @returns {number} The input value mapped to the output range.\n */\nexport function map(\n value: number,\n inputMin: number,\n inputMax: number,\n outputMin: number,\n outputMax: number,\n) {\n return ((value - inputMin) * (outputMax - outputMin)) / (inputMax - inputMin) + outputMin;\n}\n"],
5
+ "mappings": "AAUO,SAAS,IACd,OACA,UACA,UACA,WACA,WACA;AACA,UAAS,QAAQ,aAAa,YAAY,cAAe,WAAW,YAAY;AAClF;",
6
6
  "names": []
7
7
  }
@@ -5,4 +5,4 @@
5
5
  * @param {number} [decimals=0] The number of decimals to keep.
6
6
  * @returns {number} A rounded number to the given decimals length.
7
7
  */
8
- export default function round(value: number, decimals?: number): number;
8
+ export declare function round(value: number, decimals?: number): number;
@@ -2,6 +2,6 @@ function round(value, decimals = 0) {
2
2
  return Number(value.toFixed(decimals));
3
3
  }
4
4
  export {
5
- round as default
5
+ round
6
6
  };
7
7
  //# sourceMappingURL=round.js.map