@studiometa/js-toolkit 2.0.0-alpha.4 → 2.0.0-alpha.8

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 (194) hide show
  1. package/Base/index.d.ts +29 -47
  2. package/Base/index.js +19 -14
  3. package/Base/managers/ChildrenManager.d.ts +6 -6
  4. package/Base/managers/ChildrenManager.js +1 -2
  5. package/Base/managers/EventsManager.d.ts +9 -9
  6. package/Base/managers/EventsManager.js +18 -33
  7. package/Base/managers/OptionsManager.d.ts +0 -8
  8. package/Base/managers/OptionsManager.js +1 -6
  9. package/Base/managers/RefsManager.js +1 -2
  10. package/Base/managers/ServicesManager.d.ts +14 -3
  11. package/Base/managers/ServicesManager.js +30 -12
  12. package/Base/utils.js +1 -2
  13. package/README.md +12 -70
  14. package/decorators/index.js +1 -2
  15. package/decorators/withBreakpointManager.d.ts +4 -4
  16. package/decorators/withBreakpointManager.js +1 -2
  17. package/decorators/withBreakpointObserver.d.ts +2 -2
  18. package/decorators/withBreakpointObserver.js +1 -2
  19. package/decorators/withDrag.d.ts +3 -3
  20. package/decorators/withDrag.js +1 -2
  21. package/decorators/withExtraConfig.d.ts +3 -3
  22. package/decorators/withExtraConfig.js +1 -2
  23. package/decorators/withIntersectionObserver.d.ts +2 -2
  24. package/decorators/withIntersectionObserver.js +1 -11
  25. package/decorators/withMountWhenInView.d.ts +3 -3
  26. package/decorators/withMountWhenInView.js +1 -2
  27. package/helpers/createApp.d.ts +3 -3
  28. package/helpers/createApp.js +9 -9
  29. package/helpers/importOnInteraction.d.ts +3 -3
  30. package/helpers/importOnInteraction.js +1 -2
  31. package/helpers/importWhenIdle.d.ts +3 -3
  32. package/helpers/importWhenIdle.js +1 -2
  33. package/helpers/importWhenVisible.d.ts +3 -3
  34. package/helpers/importWhenVisible.js +1 -2
  35. package/helpers/index.js +1 -2
  36. package/helpers/utils.js +1 -2
  37. package/index.d.ts +2 -2
  38. package/index.js +1 -2
  39. package/index.modern.js +1 -2
  40. package/index.umd.js +1 -2
  41. package/package.json +3 -4
  42. package/services/Service.js +1 -2
  43. package/services/drag.js +1 -2
  44. package/services/index.js +1 -2
  45. package/services/key.js +1 -2
  46. package/services/load.d.ts +1 -1
  47. package/services/load.js +2 -3
  48. package/services/pointer.js +1 -2
  49. package/services/raf.js +1 -2
  50. package/services/resize.js +1 -6
  51. package/services/scroll.js +1 -2
  52. package/utils/collide/boundingRectToCircle.js +1 -2
  53. package/utils/collide/collideCircleCircle.js +1 -2
  54. package/utils/collide/collideCircleRect.js +1 -2
  55. package/utils/collide/collidePointCircle.js +1 -2
  56. package/utils/collide/collidePointRect.js +1 -2
  57. package/utils/collide/collideRectRect.js +1 -2
  58. package/utils/collide/index.js +1 -2
  59. package/utils/css/classes.js +1 -2
  60. package/utils/css/index.js +1 -2
  61. package/utils/css/matrix.js +1 -2
  62. package/utils/css/styles.js +1 -2
  63. package/utils/css/transition.js +1 -2
  64. package/utils/debounce.js +1 -2
  65. package/utils/focusTrap.js +1 -2
  66. package/utils/history.js +2 -3
  67. package/utils/index.d.ts +2 -1
  68. package/utils/index.js +2 -2
  69. package/utils/keyCodes.js +1 -2
  70. package/utils/math/clamp.js +1 -2
  71. package/utils/math/clamp01.js +1 -2
  72. package/utils/math/damp.js +1 -2
  73. package/utils/math/index.js +1 -2
  74. package/utils/math/inertiaFinalValue.js +1 -2
  75. package/utils/math/lerp.js +1 -2
  76. package/utils/math/map.js +1 -2
  77. package/utils/math/round.js +1 -2
  78. package/utils/memoize.d.ts +30 -0
  79. package/utils/memoize.js +30 -0
  80. package/utils/nextFrame.js +1 -2
  81. package/utils/object/autoBind.js +1 -2
  82. package/utils/object/getAllProperties.js +1 -2
  83. package/utils/object/index.js +1 -2
  84. package/utils/object/isObject.js +1 -2
  85. package/utils/string/index.js +1 -2
  86. package/utils/string/withLeadingCharacters.js +1 -2
  87. package/utils/string/withLeadingSlash.js +1 -2
  88. package/utils/string/withTrailingCharacters.js +1 -2
  89. package/utils/string/withTrailingSlash.js +1 -2
  90. package/utils/string/withoutLeadingCharacters.js +1 -2
  91. package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
  92. package/utils/string/withoutLeadingSlash.js +1 -2
  93. package/utils/string/withoutTrailingCharacters.js +1 -2
  94. package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
  95. package/utils/string/withoutTrailingSlash.js +1 -2
  96. package/utils/throttle.js +1 -2
  97. package/Base/index.js.map +0 -1
  98. package/Base/managers/ChildrenManager.js.map +0 -1
  99. package/Base/managers/EventsManager.js.map +0 -1
  100. package/Base/managers/OptionsManager.js.map +0 -1
  101. package/Base/managers/RefsManager.js.map +0 -1
  102. package/Base/managers/ServicesManager.js.map +0 -1
  103. package/Base/utils.js.map +0 -1
  104. package/components/Accordion/Accordion.d.ts +0 -83
  105. package/components/Accordion/Accordion.js +0 -58
  106. package/components/Accordion/Accordion.js.map +0 -1
  107. package/components/Accordion/AccordionItem.d.ts +0 -122
  108. package/components/Accordion/AccordionItem.js +0 -244
  109. package/components/Accordion/AccordionItem.js.map +0 -1
  110. package/components/Accordion/index.d.ts +0 -27
  111. package/components/Accordion/index.js +0 -19
  112. package/components/Accordion/index.js.map +0 -1
  113. package/components/Cursor.d.ts +0 -138
  114. package/components/Cursor.js +0 -136
  115. package/components/Cursor.js.map +0 -1
  116. package/components/Draggable.d.ts +0 -49
  117. package/components/Draggable.js +0 -43
  118. package/components/Draggable.js.map +0 -1
  119. package/components/Modal.d.ts +0 -158
  120. package/components/Modal.js +0 -186
  121. package/components/Modal.js.map +0 -1
  122. package/components/Tabs.d.ts +0 -108
  123. package/components/Tabs.js +0 -120
  124. package/components/Tabs.js.map +0 -1
  125. package/components/index.d.ts +0 -6
  126. package/components/index.js +0 -7
  127. package/components/index.js.map +0 -1
  128. package/decorators/index.js.map +0 -1
  129. package/decorators/withBreakpointManager.js.map +0 -1
  130. package/decorators/withBreakpointObserver.js.map +0 -1
  131. package/decorators/withDrag.js.map +0 -1
  132. package/decorators/withExtraConfig.js.map +0 -1
  133. package/decorators/withIntersectionObserver.js.map +0 -1
  134. package/decorators/withMountWhenInView.js.map +0 -1
  135. package/helpers/createApp.js.map +0 -1
  136. package/helpers/importOnInteraction.js.map +0 -1
  137. package/helpers/importWhenIdle.js.map +0 -1
  138. package/helpers/importWhenVisible.js.map +0 -1
  139. package/helpers/index.js.map +0 -1
  140. package/helpers/utils.js.map +0 -1
  141. package/index.js.map +0 -1
  142. package/index.modern.js.map +0 -1
  143. package/index.umd.js.map +0 -1
  144. package/services/Service.js.map +0 -1
  145. package/services/drag.js.map +0 -1
  146. package/services/index.js.map +0 -1
  147. package/services/key.js.map +0 -1
  148. package/services/load.js.map +0 -1
  149. package/services/pointer.js.map +0 -1
  150. package/services/raf.js.map +0 -1
  151. package/services/resize.js.map +0 -1
  152. package/services/scroll.js.map +0 -1
  153. package/utils/collide/boundingRectToCircle.js.map +0 -1
  154. package/utils/collide/collideCircleCircle.js.map +0 -1
  155. package/utils/collide/collideCircleRect.js.map +0 -1
  156. package/utils/collide/collidePointCircle.js.map +0 -1
  157. package/utils/collide/collidePointRect.js.map +0 -1
  158. package/utils/collide/collideRectRect.js.map +0 -1
  159. package/utils/collide/index.js.map +0 -1
  160. package/utils/css/classes.js.map +0 -1
  161. package/utils/css/index.js.map +0 -1
  162. package/utils/css/matrix.js.map +0 -1
  163. package/utils/css/styles.js.map +0 -1
  164. package/utils/css/transition.js.map +0 -1
  165. package/utils/debounce.js.map +0 -1
  166. package/utils/focusTrap.js.map +0 -1
  167. package/utils/history.js.map +0 -1
  168. package/utils/index.js.map +0 -1
  169. package/utils/keyCodes.js.map +0 -1
  170. package/utils/math/clamp.js.map +0 -1
  171. package/utils/math/clamp01.js.map +0 -1
  172. package/utils/math/damp.js.map +0 -1
  173. package/utils/math/index.js.map +0 -1
  174. package/utils/math/inertiaFinalValue.js.map +0 -1
  175. package/utils/math/lerp.js.map +0 -1
  176. package/utils/math/map.js.map +0 -1
  177. package/utils/math/round.js.map +0 -1
  178. package/utils/nextFrame.js.map +0 -1
  179. package/utils/object/autoBind.js.map +0 -1
  180. package/utils/object/getAllProperties.js.map +0 -1
  181. package/utils/object/index.js.map +0 -1
  182. package/utils/object/isObject.js.map +0 -1
  183. package/utils/string/index.js.map +0 -1
  184. package/utils/string/withLeadingCharacters.js.map +0 -1
  185. package/utils/string/withLeadingSlash.js.map +0 -1
  186. package/utils/string/withTrailingCharacters.js.map +0 -1
  187. package/utils/string/withTrailingSlash.js.map +0 -1
  188. package/utils/string/withoutLeadingCharacters.js.map +0 -1
  189. package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
  190. package/utils/string/withoutLeadingSlash.js.map +0 -1
  191. package/utils/string/withoutTrailingCharacters.js.map +0 -1
  192. package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
  193. package/utils/string/withoutTrailingSlash.js.map +0 -1
  194. package/utils/throttle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/collide/index.js"],"names":["collidePointRect","collideRectRect","boundingRectToCircle","collideCircleRect","collideCircleCircle","collidePointCircle"],"mappings":"AAGA,OAAOA,gBAAP,MAA6B,uBAA7B;AACA,OAAOC,eAAP,MAA4B,sBAA5B;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,mBAAP,MAAgC,0BAAhC;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AAEA,SACEL,gBADF,EAEEC,eAFF,EAGEC,oBAHF,EAIEC,iBAJF,EAKEC,mBALF,EAMEC,kBANF","sourcesContent":["/**\n * Inspired by http://www.jeffreythompson.org/collision-detection/\n */\nimport collidePointRect from './collidePointRect.js';\nimport collideRectRect from './collideRectRect.js';\nimport boundingRectToCircle from './boundingRectToCircle.js';\nimport collideCircleRect from './collideCircleRect.js';\nimport collideCircleCircle from './collideCircleCircle.js';\nimport collidePointCircle from './collidePointCircle.js';\n\nexport {\n collidePointRect,\n collideRectRect,\n boundingRectToCircle,\n collideCircleRect,\n collideCircleCircle,\n collidePointCircle,\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/css/classes.js"],"names":["setClasses","element","classNames","method","split","forEach","className","classList","add","remove","toggle"],"mappings":"AAOA,SAASA,UAAT,CAAoBC,OAApB,EAA6BC,UAA7B,EAAyD;AAAA,MAAhBC,MAAgB,uEAAP,KAAO;;AACvD,MAAI,CAACF,OAAD,IAAY,CAACC,UAAjB,EAA6B;AAC3B;AACD;;AAEDA,EAAAA,UAAU,CAACE,KAAX,CAAiB,GAAjB,EAAsBC,OAAtB,CAA+BC,SAAD,IAAe;AAC3CL,IAAAA,OAAO,CAACM,SAAR,CAAkBJ,MAAlB,EAA0BG,SAA1B;AACD,GAFD;AAGD;;AASD,OAAO,SAASE,GAAT,CAAaP,OAAb,EAAsBC,UAAtB,EAAkC;AACvCF,EAAAA,UAAU,CAACC,OAAD,EAAUC,UAAV,CAAV;AACD;AASD,OAAO,SAASO,MAAT,CAAgBR,OAAhB,EAAyBC,UAAzB,EAAqC;AAC1CF,EAAAA,UAAU,CAACC,OAAD,EAAUC,UAAV,EAAsB,QAAtB,CAAV;AACD;AASD,OAAO,SAASQ,MAAT,CAAgBT,OAAhB,EAAyBC,UAAzB,EAAqC;AAC1CF,EAAAA,UAAU,CAACC,OAAD,EAAUC,UAAV,EAAsB,QAAtB,CAAV;AACD","sourcesContent":["/**\n * Manage a list of classes as string on an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {String} classNames A string of class names.\n * @param {String=} [method='add'] The method to use: add, remove or toggle.\n */\nfunction setClasses(element, classNames, method = 'add') {\n if (!element || !classNames) {\n return;\n }\n\n classNames.split(' ').forEach((className) => {\n element.classList[method](className);\n });\n}\n\n/**\n * Add class names to an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {String} classNames A string of class names.\n * @return {void}\n */\nexport function add(element, classNames) {\n setClasses(element, classNames);\n}\n\n/**\n * Remove class names from an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {String} classNames A string of class names.\n * @return {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 {HTMLElement} element The element to update.\n * @param {String} classNames A string of class names.\n * @return {void}\n */\nexport function toggle(element, classNames) {\n setClasses(element, classNames, 'toggle');\n}\n"],"file":"classes.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/css/index.js"],"names":["classes","styles","matrix","transition"],"mappings":"AAAA,OAAO,KAAKA,OAAZ,MAAyB,cAAzB;AACA,OAAO,KAAKC,MAAZ,MAAwB,aAAxB;AACA,OAAOC,MAAP,MAAmB,aAAnB;AACA,OAAOC,UAAP,MAAuB,iBAAvB;AAEA,SAASH,OAAT,EAAkBC,MAAlB,EAA0BC,MAA1B,EAAkCC,UAAlC","sourcesContent":["import * as classes from './classes.js';\nimport * as styles from './styles.js';\nimport matrix from './matrix.js';\nimport transition from './transition.js';\n\nexport { classes, styles, matrix, transition };\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/css/matrix.js"],"names":["matrix","transform","scaleX","skewY","skewX","scaleY","translateX","translateY"],"mappings":"AAkBA,eAAe,SAASA,MAAT,CAAgBC,SAAhB,EAA2B;AAAA;;AAExCA,EAAAA,SAAS,GAAGA,SAAS,IAAI,EAAzB;AACA,+CAAiBA,SAAS,CAACC,MAA3B,iEAAqC,CAArC,mCAA2CD,SAAS,CAACE,KAArD,+DAA8D,CAA9D,mCAAoEF,SAAS,CAACG,KAA9E,+DAAuF,CAAvF,oCACEH,SAAS,CAACI,MADZ,iEACsB,CADtB,wCAEKJ,SAAS,CAACK,UAFf,yEAE6B,CAF7B,wCAEmCL,SAAS,CAACM,UAF7C,yEAE2D,CAF3D;AAGD","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 * @return {String} A formatted CSS matrix transform.\n *\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"],"file":"matrix.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/css/styles.js"],"names":["isObject","setStyles","element","styles","method","Object","entries","forEach","prop","value","style","add","remove"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,uBAArB;AAaA,eAAe,SAASC,SAAT,CAAmBC,OAAnB,EAA4BC,MAA5B,EAAoD;AAAA,MAAhBC,MAAgB,uEAAP,KAAO;;AACjE,MAAI,CAACF,OAAD,IAAY,CAACC,MAAb,IAAuB,CAACH,QAAQ,CAACG,MAAD,CAApC,EAA8C;AAC5C;AACD;;AAEDE,EAAAA,MAAM,CAACC,OAAP,CAAeH,MAAf,EAAuBI,OAAvB,CAA+B,QAAmB;AAAA,QAAlB,CAACC,IAAD,EAAOC,KAAP,CAAkB;AAChDP,IAAAA,OAAO,CAACQ,KAAR,CAAcF,IAAd,IAAsBJ,MAAM,KAAK,KAAX,GAAmBK,KAAnB,GAA2B,EAAjD;AACD,GAFD;AAGD;AASD,OAAO,SAASE,GAAT,CAAaT,OAAb,EAAsBC,MAAtB,EAA8B;AACnCF,EAAAA,SAAS,CAACC,OAAD,EAAUC,MAAV,CAAT;AACD;AASD,OAAO,SAASS,MAAT,CAAgBV,OAAhB,EAAyBC,MAAzB,EAAiC;AACtCF,EAAAA,SAAS,CAACC,OAAD,EAAUC,MAAV,EAAkB,QAAlB,CAAT;AACD","sourcesContent":["import isObject from '../object/isObject.js';\n\n/**\n * @typedef {Record<string, string | null> & Partial<CSSStyleDeclaration>} CssStyleObject\n */\n\n/**\n * Manage a list of style properties on an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {CssStyleObject} styles An object of styles properties and values.\n * @param {String} method The method to use: add or remove.\n */\nexport default function setStyles(element, styles, method = 'add') {\n if (!element || !styles || !isObject(styles)) {\n return;\n }\n\n Object.entries(styles).forEach(([prop, value]) => {\n element.style[prop] = method === 'add' ? value : '';\n });\n}\n\n/**\n * Add styles to an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {CssStyleObject} styles A string of class names.\n * @return {void}\n */\nexport function add(element, styles) {\n setStyles(element, styles);\n}\n\n/**\n * Remove class names from an element.\n *\n * @param {HTMLElement} element The element to update.\n * @param {CssStyleObject} styles A string of class names.\n * @return {void}\n */\nexport function remove(element, styles) {\n setStyles(element, styles, 'remove');\n}\n"],"file":"styles.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/css/transition.js"],"names":["nextFrame","classes","styles","cache","WeakMap","Transition","constructor","element","set","getInstance","instance","get","setClassesOrStyles","classesOrStyles","method","testTransition","window","transitionDuration","getComputedStyle","start","trs","isTransitioning","from","active","next","hasTransition","Promise","resolve","transitionEndHandler","addEventListener","to","end","mode","removeEventListener","transition","name","endMode"],"mappings":"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","sourcesContent":["/* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"__isTransitioning__\", \"__transitionEndHandler__\"] }] */\nimport nextFrame from '../nextFrame.js';\nimport * as classes from './classes.js';\nimport * as styles from './styles.js';\n\n/** WeakMap to hold the transition instances. */\nconst cache = new WeakMap();\n\n/**\n * Transition class.\n */\nclass Transition {\n /**\n * Is a transition currently running?\n * @type {Boolean}\n */\n isTransitioning = false;\n\n /**\n * A callback to execute when the transition ends.\n * @type {EventListenerOrEventListenerObject|null}\n */\n transitionEndHandler = null;\n\n /**\n * Instantiate and save the instance to the cache.\n * @param {HTMLElement} element The HTML element.\n */\n constructor(element) {\n cache.set(element, this);\n }\n\n /**\n * Get the transition class attached to the given element.\n * @param {HTMLElement} element The HTML element concerned by the transition.\n * @return {Transition} The transition instance tied to the given element.\n */\n static getInstance(element) {\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 *\n * @param {HTMLElement} element The element to update.\n * @param {String|Object} classesOrStyles The classes or styles to apply.\n * @param {String} method The method to use, one of `add` or `remove`.\n */\nexport function setClassesOrStyles(element, classesOrStyles, method = 'add') {\n if (typeof classesOrStyles === 'string') {\n classes[method](element, classesOrStyles, method);\n } else {\n styles[method](element, classesOrStyles, method);\n }\n}\n\n/**\n * Test if the given element has a transition duration.\n *\n * @param {HTMLElement} element The element to test.\n * @return {Boolean} The result of the test.\n */\nfunction testTransition(element) {\n if (typeof window === 'undefined') {\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 *\n * @param {HTMLElement} element The target element.\n * @param {String|Object} classesOrStyles The classes or styles definition.\n * @return {Promise}\n */\nasync function start(element, classesOrStyles) {\n const trs = Transition.getInstance(element);\n trs.isTransitioning = true;\n setClassesOrStyles(element, classesOrStyles.from);\n await nextFrame();\n setClassesOrStyles(element, classesOrStyles.active);\n await nextFrame();\n}\n\n/**\n * Apply the active state.\n *\n * @param {HTMLElement} element The target element.\n * @param {String|Object} classesOrStyles The classes or styles definition.\n * @return {Promise}\n */\nasync function next(element, classesOrStyles) {\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 *\n * @param {HTMLElement} element The target element.\n * @param {String|Object} classesOrStyles The classes or styles definition.\n * @param {String} mode Whether to remove or keep the `to` classes/styles.\n * @return {void}\n */\nfunction end(element, classesOrStyles, mode = 'remove') {\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 heavily 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|Object} 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 * @return {Promise} A promise resolving at the end of the transition.\n */\nexport default async function transition(element, name, endMode = 'remove') {\n const classesOrStyles =\n typeof name === 'string'\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"],"file":"transition.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/debounce.js"],"names":["debounce","fn","delay","timeout","debounced","args","clearTimeout","setTimeout"],"mappings":"AASA,eAAe,SAASA,QAAT,CAAkBC,EAAlB,EAAmC;AAAA,MAAbC,KAAa,uEAAL,GAAK;AAChD,MAAIC,OAAJ;AACA,SAAO,SAASC,SAAT,GAA4B;AAAA,sCAANC,IAAM;AAANA,MAAAA,IAAM;AAAA;;AACjCC,IAAAA,YAAY,CAACH,OAAD,CAAZ;AACAA,IAAAA,OAAO,GAAGI,UAAU,CAAC,MAAM;AACzBN,MAAAA,EAAE,CAAC,GAAGI,IAAJ,CAAF;AACD,KAFmB,EAEjBH,KAFiB,CAApB;AAGD,GALD;AAMD","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:any[]) => void} fn The function to call.\n * @param {Number=} [delay=300] The delay in ms to wait before calling the function.\n * @return {(...args:any[]) => void} The debounced function.\n */\nexport default function debounce(fn, delay = 300) {\n let timeout;\n return function debounced(...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n"],"file":"debounce.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/focusTrap.js"],"names":["keyCodes","FOCUSABLE_ELEMENTS","focusedBefore","saveActiveElement","document","activeElement","trap","element","event","keyCode","TAB","focusableChildren","Array","from","querySelectorAll","join","focusedItemIndex","HTMLElement","indexOf","length","focus","preventDefault","shiftKey","untrap","useFocusTrap"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,eAArB;AAEA,IAAMC,kBAAkB,GAAG,CACzB,2CADyB,EAEzB,8CAFyB,EAGzB,oCAHyB,EAIzB,qCAJyB,EAKzB,uCALyB,EAMzB,qCANyB,EAOzB,0CAPyB,EAQzB,yCARyB,EASzB,yCATyB,EAUzB,qDAVyB,EAWzB,8CAXyB,CAA3B;AAcA,IAAIC,aAAJ;AAKA,OAAO,SAASC,iBAAT,GAA6B;AAClCD,EAAAA,aAAa,GAAGE,QAAQ,CAACC,aAAzB;AACD;AAOD,OAAO,SAASC,IAAT,CAAcC,OAAd,EAAuBC,KAAvB,EAA8B;AACnC,MAAIA,KAAK,CAACC,OAAN,KAAkBT,QAAQ,CAACU,GAA/B,EAAoC;AAClC;AACD;;AAGD,MAAI,CAACR,aAAL,EAAoB;AAClBA,IAAAA,aAAa,GAAGE,QAAQ,CAACC,aAAzB;AACD;;AAGD,MAAMM,iBAAiB,GAAGC,KAAK,CAACC,IAAN,CAAWN,OAAO,CAACO,gBAAR,CAAyBb,kBAAkB,CAACc,IAAnB,CAAwB,IAAxB,CAAzB,CAAX,CAA1B;AACA,MAAMC,gBAAgB,GACpBZ,QAAQ,CAACC,aAAT,YAAkCY,WAAlC,GACIN,iBAAiB,CAACO,OAAlB,CAA0Bd,QAAQ,CAACC,aAAnC,CADJ,GAEI,CAAC,CAHP;;AAKA,MAAI,CAACM,iBAAiB,CAACQ,MAAvB,EAA+B;AAC7B;AACD;;AAED,MAAIH,gBAAgB,GAAG,CAAvB,EAA0B;AACxBL,IAAAA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBS,KAArB;AACAZ,IAAAA,KAAK,CAACa,cAAN;AACD;;AAKD,MAAIb,KAAK,CAACc,QAAN,IAAkBN,gBAAgB,KAAK,CAA3C,EAA8C;AAC5CL,IAAAA,iBAAiB,CAACA,iBAAiB,CAACQ,MAAlB,GAA2B,CAA5B,CAAjB,CAAgDC,KAAhD;AACAZ,IAAAA,KAAK,CAACa,cAAN;AACD,GAHD,MAQK,IAAI,CAACb,KAAK,CAACc,QAAP,IAAmBN,gBAAgB,KAAKL,iBAAiB,CAACQ,MAAlB,GAA2B,CAAvE,EAA0E;AAC7ER,IAAAA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBS,KAArB;AACAZ,IAAAA,KAAK,CAACa,cAAN;AACD;AACF;AAKD,OAAO,SAASE,MAAT,GAAkB;AACvB,MAAIrB,aAAa,IAAI,OAAOA,aAAa,CAACkB,KAArB,KAA+B,UAApD,EAAgE;AAC9DlB,IAAAA,aAAa,CAACkB,KAAd;AACAlB,IAAAA,aAAa,GAAG,IAAhB;AACD;AACF;AAKD,eAAe,SAASsB,YAAT,GAAwB;AACrC,SAAO;AAAElB,IAAAA,IAAF;AAAQiB,IAAAA,MAAR;AAAgBpB,IAAAA;AAAhB,GAAP;AACD","sourcesContent":["import keyCodes from './keyCodes.js';\n\nconst FOCUSABLE_ELEMENTS = [\n 'a[href]:not([tabindex^=\"-\"]):not([inert])',\n 'area[href]:not([tabindex^=\"-\"]):not([inert])',\n 'input:not([disabled]):not([inert])',\n 'select:not([disabled]):not([inert])',\n 'textarea:not([disabled]):not([inert])',\n 'button:not([disabled]):not([inert])',\n 'iframe:not([tabindex^=\"-\"]):not([inert])',\n 'audio:not([tabindex^=\"-\"]):not([inert])',\n 'video:not([tabindex^=\"-\"]):not([inert])',\n '[contenteditable]:not([tabindex^=\"-\"]):not([inert])',\n '[tabindex]:not([tabindex^=\"-\"]):not([inert])',\n];\n\nlet focusedBefore;\n\n/**\n * Save the current active element.\n */\nexport function saveActiveElement() {\n focusedBefore = document.activeElement;\n}\n\n/**\n * Trap tab navigation inside the given element.\n * @param {HTMLElement} element The element in which to trap the tabulations.\n * @param {KeyboardEvent} event The keydown or keyup event.\n */\nexport function trap(element, event) {\n if (event.keyCode !== keyCodes.TAB) {\n return;\n }\n\n // Save the previous focused element\n if (!focusedBefore) {\n focusedBefore = document.activeElement;\n }\n\n /** @type {Array<HTMLElement>} */\n const focusableChildren = Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS.join(', ')));\n const focusedItemIndex =\n document.activeElement instanceof HTMLElement\n ? focusableChildren.indexOf(document.activeElement)\n : -1;\n\n if (!focusableChildren.length) {\n return;\n }\n\n if (focusedItemIndex < 0) {\n focusableChildren[0].focus();\n event.preventDefault();\n }\n\n // If the SHIFT key is being pressed while tabbing (moving backwards) and\n // the currently focused item is the first one, move the focus to the last\n // focusable item from the dialog element\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableChildren[focusableChildren.length - 1].focus();\n event.preventDefault();\n }\n\n // If the SHIFT key is not being pressed (moving forwards) and the currently\n // focused item is the last one, move the focus to the first focusable item\n // from the dialog element\n else if (!event.shiftKey && focusedItemIndex === focusableChildren.length - 1) {\n focusableChildren[0].focus();\n event.preventDefault();\n }\n}\n\n/**\n * Untrap the tab navigation.\n */\nexport function untrap() {\n if (focusedBefore && typeof focusedBefore.focus === 'function') {\n focusedBefore.focus();\n focusedBefore = null;\n }\n}\n\n/**\n * Use a trap/untrap tabs logic.\n */\nexport default function useFocusTrap() {\n return { trap, untrap, saveActiveElement };\n}\n"],"file":"focusTrap.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/history.js"],"names":["isObject","updateUrlSearchParam","params","name","value","undefined","has","delete","Array","isArray","forEach","val","index","arrayName","Object","entries","key","objectName","set","objectToURLSearchParams","obj","defaultSearch","window","location","search","reduce","urlSearchParams","URLSearchParams","updateHistory","mode","options","data","title","history","path","hash","pathname","url","mergedSearch","toString","startsWith","method","push","replace"],"mappings":"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","sourcesContent":["import isObject from './object/isObject.js';\n\n/**\n * @typedef {Object} HistoryOptions\n * @property {string=} [path]\n * @property {URLSearchParams|{ [key:string]: unknown }=} [search]\n * @property {string=} [hash]\n */\n\n/**\n * Set a param in a URLSearchParam instance.\n * @param {URLSearchParams} params The params to update.\n * @param {string} name The name of the param to update.\n * @param {string|number|boolean|Array|Object} value The value for this param.\n * @return {URLSearchParams} The updated URLSearchParams instance.\n */\nfunction updateUrlSearchParam(params, name, value) {\n if (value === '' || value === null || value === undefined) {\n if (params.has(name)) {\n params.delete(name);\n }\n return params;\n }\n\n if (Array.isArray(value)) {\n value.forEach((val, index) => {\n const arrayName = `${name}[${index}]`;\n updateUrlSearchParam(params, arrayName, val);\n });\n return params;\n }\n\n if (isObject(value)) {\n Object.entries(value).forEach(([key, val]) => {\n const objectName = `${name}[${key}]`;\n updateUrlSearchParam(params, objectName, val);\n });\n return params;\n }\n\n params.set(name, value);\n return params;\n}\n\n/**\n * Transform an object to an URLSearchParams instance.\n *\n * @param {Object} obj The object to convert.\n * @param {string} defaultSearch A string of defaults search params.\n * @return {URLSearchParams}\n */\nexport function objectToURLSearchParams(obj, defaultSearch = window.location.search) {\n return Object.entries(obj).reduce(\n (urlSearchParams, [name, value]) => updateUrlSearchParam(urlSearchParams, name, value),\n new URLSearchParams(defaultSearch)\n );\n}\n\n/**\n * Update the history with a new state.\n * @param {string} mode\n * @param {HistoryOptions} options\n * @param {Object} [data]\n * @param {string} [title]\n */\nfunction updateHistory(mode, options, data = {}, title = '') {\n if (!window.history) {\n return;\n }\n\n /** @type {HistoryOptions} */\n const { path, search, hash } = {\n path: window.location.pathname,\n search: new URLSearchParams(window.location.search),\n hash: window.location.hash,\n ...options,\n };\n\n let url = path;\n\n const mergedSearch = search instanceof URLSearchParams ? search : objectToURLSearchParams(search);\n\n if (mergedSearch.toString()) {\n url += `?${mergedSearch.toString()}`;\n }\n\n if (hash) {\n if (hash.startsWith('#')) {\n url += hash;\n } else {\n url += `#${hash}`;\n }\n }\n\n const method = `${mode}State`;\n window.history[method](data, title, url);\n}\n\n/**\n * Push a new state.\n *\n * @param {HistoryOptions} options The new state.\n * @param {Object} data The data for the new state.\n * @param {string} title The title for the new state.\n */\nexport function push(options, data, title) {\n updateHistory('push', options, data, title);\n}\n\n/**\n * Replace a new state.\n *\n * @param {HistoryOptions} options The new state.\n * @param {Object} data The data for the new state.\n * @param {string} title The title for the new state.\n */\nexport function replace(options, data, title) {\n updateHistory('replace', options, data, title);\n}\n"],"file":"history.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/index.js"],"names":["collide","css","history","math","object","string","debounce","focusTrap","keyCodes","nextFrame","throttle"],"mappings":"AAAA,OAAO,KAAKA,OAAZ,MAAyB,oBAAzB;AACA,OAAO,KAAKC,GAAZ,MAAqB,gBAArB;AACA,OAAO,KAAKC,OAAZ,MAAyB,cAAzB;AACA,OAAO,KAAKC,IAAZ,MAAsB,iBAAtB;AACA,OAAO,KAAKC,MAAZ,MAAwB,mBAAxB;AACA,OAAO,KAAKC,MAAZ,MAAwB,mBAAxB;AACA,OAAOC,QAAP,MAAqB,eAArB;AACA,OAAOC,SAAP,MAAsB,gBAAtB;AACA,OAAOC,QAAP,MAAqB,eAArB;AACA,OAAOC,SAAP,MAAsB,gBAAtB;AACA,OAAOC,QAAP,MAAqB,eAArB;AAEA,SACEV,OADF,EAEEC,GAFF,EAGEK,QAHF,EAIEC,SAJF,EAKEL,OALF,EAMEM,QANF,EAOEL,IAPF,EAQEM,SARF,EASEL,MATF,EAUEC,MAVF,EAWEK,QAXF","sourcesContent":["import * as collide from './collide/index.js';\nimport * as css from './css/index.js';\nimport * as history from './history.js';\nimport * as math from './math/index.js';\nimport * as object from './object/index.js';\nimport * as string from './string/index.js';\nimport debounce from './debounce.js';\nimport focusTrap from './focusTrap.js';\nimport keyCodes from './keyCodes.js';\nimport nextFrame from './nextFrame.js';\nimport throttle from './throttle.js';\n\nexport {\n collide,\n css,\n debounce,\n focusTrap,\n history,\n keyCodes,\n math,\n nextFrame,\n object,\n string,\n throttle,\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/keyCodes.js"],"names":["ENTER","SPACE","TAB","ESC","LEFT","UP","RIGHT","DOWN"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE,EADM;AAEbC,EAAAA,KAAK,EAAE,EAFM;AAGbC,EAAAA,GAAG,EAAE,CAHQ;AAIbC,EAAAA,GAAG,EAAE,EAJQ;AAKbC,EAAAA,IAAI,EAAE,EALO;AAMbC,EAAAA,EAAE,EAAE,EANS;AAObC,EAAAA,KAAK,EAAE,EAPM;AAQbC,EAAAA,IAAI,EAAE;AARO,CAAf","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};\n"],"file":"keyCodes.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/clamp.js"],"names":["clamp","value","min","max"],"mappings":"AAOA,eAAe,SAASA,KAAT,CAAeC,KAAf,EAAsBC,GAAtB,EAA2BC,GAA3B,EAAgC;AAE7C,SAAOD,GAAG,GAAGC,GAAN,GACHF,KAAK,GAAGC,GAAR,GACEA,GADF,GAEED,KAAK,GAAGE,GAAR,GACAA,GADA,GAEAF,KALC,GAMHA,KAAK,GAAGE,GAAR,GACAA,GADA,GAEAF,KAAK,GAAGC,GAAR,GACAA,GADA,GAEAD,KAVJ;AAYD","sourcesContent":["/**\n * Clamp a value in a given range.\n * @param {number} value\n * @param {number} min\n * @param {number} max\n * @return {number}\n */\nexport default function clamp(value, min, max) {\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"],"file":"clamp.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/clamp01.js"],"names":["clamp","clamp01","value"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,YAAlB;AAOA,eAAe,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AACrC,SAAOF,KAAK,CAACE,KAAD,EAAQ,CAAR,EAAW,CAAX,CAAZ;AACD","sourcesContent":["import clamp from './clamp.js';\n\n/**\n * Clamp a value in the 0–1 range.\n * @param {number} value\n * @return {number}\n */\nexport default function clamp01(value) {\n return clamp(value, 0, 1);\n}\n"],"file":"clamp01.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/damp.js"],"names":["damp","targetValue","currentValue","factor","Math","abs"],"mappings":"AAQA,eAAe,SAASA,IAAT,CAAcC,WAAd,EAA2BC,YAA3B,EAAuD;AAAA,MAAdC,MAAc,uEAAL,GAAK;AACpE,SAAOC,IAAI,CAACC,GAAL,CAASJ,WAAW,GAAGC,YAAvB,IAAuC,KAAvC,GACHD,WADG,GAEHC,YAAY,GAAG,CAACD,WAAW,GAAGC,YAAf,IAA+BC,MAFlD;AAGD","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 * @return {Number} The next value.\n */\nexport default function damp(targetValue, currentValue, factor = 0.5) {\n return Math.abs(targetValue - currentValue) < 0.001\n ? targetValue\n : currentValue + (targetValue - currentValue) * factor;\n}\n"],"file":"damp.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/index.js"],"names":["clamp","clamp01","damp","lerp","map","round"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,YAAlB;AACA,OAAOC,OAAP,MAAoB,cAApB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,OAAOC,GAAP,MAAgB,UAAhB;AACA,OAAOC,KAAP,MAAkB,YAAlB;AAEA,SAASL,KAAT,EAAgBC,OAAhB,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAqCC,GAArC,EAA0CC,KAA1C","sourcesContent":["import clamp from './clamp.js';\nimport clamp01 from './clamp01.js';\nimport damp from './damp.js';\nimport lerp from './lerp.js';\nimport map from './map.js';\nimport round from './round.js';\n\nexport { clamp, clamp01, damp, lerp, map, round };\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/inertiaFinalValue.js"],"names":["inertiaFinalValue","initialValue","initialDelta","factor","Error","delta","finalValue","Math","abs"],"mappings":"AAQA,eAAe,SAASA,iBAAT,CAA2BC,YAA3B,EAAyCC,YAAzC,EAAsE;AAAA,MAAfC,MAAe,uEAAN,IAAM;;AACnF,MAAIA,MAAM,IAAI,CAAV,IAAeA,MAAM,IAAI,CAA7B,EAAgC;AAC9B,UAAM,IAAIC,KAAJ,uFAC8ED,MAD9E,cAAN;AAGD;;AAED,MAAIE,KAAK,GAAGH,YAAZ;AACA,MAAII,UAAU,GAAGL,YAAjB;;AAEA,SAAOM,IAAI,CAACC,GAAL,CAASH,KAAT,IAAkB,GAAzB,EAA8B;AAC5BC,IAAAA,UAAU,IAAID,KAAd;AACAA,IAAAA,KAAK,IAAIF,MAAT;AACD;;AAED,SAAOG,UAAP;AACD","sourcesContent":["/**\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=} [factor=0.85] The speed to reach the target value.\n * @return {Number} The next value.\n */\nexport default function inertiaFinalValue(initialValue, initialDelta, factor = 0.85) {\n if (factor >= 1 || factor <= 0) {\n throw new Error(\n `The \\`factor\\` parameter must be a number greater than 0 and smaller than 1, \\`${factor}\\` given.`\n );\n }\n\n let delta = initialDelta;\n let finalValue = initialValue;\n\n while (Math.abs(delta) > 0.1) {\n finalValue += delta;\n delta *= factor;\n }\n\n return finalValue;\n}\n"],"file":"inertiaFinalValue.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/lerp.js"],"names":["lerp","min","max","ratio"],"mappings":"AAQA,eAAe,SAASA,IAAT,CAAcC,GAAd,EAAmBC,GAAnB,EAAwBC,KAAxB,EAA+B;AAC5C,SAAO,CAAC,IAAIA,KAAL,IAAcF,GAAd,GAAoBE,KAAK,GAAGD,GAAnC;AACD","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 * @return {Number} The value between min and max corresponding to ratio.\n */\nexport default function lerp(min, max, ratio) {\n return (1 - ratio) * min + ratio * max;\n}\n"],"file":"lerp.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/map.js"],"names":["map","value","inputMin","inputMax","outputMin","outputMax"],"mappings":"AAUA,eAAe,SAASA,GAAT,CAAaC,KAAb,EAAoBC,QAApB,EAA8BC,QAA9B,EAAwCC,SAAxC,EAAmDC,SAAnD,EAA8D;AAC3E,SAAQ,CAACJ,KAAK,GAAGC,QAAT,KAAsBG,SAAS,GAAGD,SAAlC,CAAD,IAAkDD,QAAQ,GAAGD,QAA7D,IAAyEE,SAAhF;AACD","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 * @return {Number} The input value mapped to the output range.\n */\nexport default function map(value, inputMin, inputMax, outputMin, outputMax) {\n return ((value - inputMin) * (outputMax - outputMin)) / (inputMax - inputMin) + outputMin;\n}\n"],"file":"map.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/math/round.js"],"names":["round","value","decimals","Number","toFixed"],"mappings":"AAOA,eAAe,SAASA,KAAT,CAAeC,KAAf,EAAoC;AAAA,MAAdC,QAAc,uEAAH,CAAG;AACjD,SAAOC,MAAM,CAACF,KAAK,CAACG,OAAN,CAAcF,QAAd,CAAD,CAAb;AACD","sourcesContent":["/**\n * Round a value with a given number of decimals.\n *\n * @param {Number} value The number to round.\n * @param {Number=} [decimals=0] The number of decimals to keep.\n * @return {Number} A rounded number to the given decimals length.\n */\nexport default function round(value, decimals = 0) {\n return Number(value.toFixed(decimals));\n}\n"],"file":"round.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/nextFrame.js"],"names":["getRaf","window","requestAnimationFrame","bind","setTimeout","getCancelRaf","cancelAnimationFrame","clearTimeout","nextFrame","fn","raf","Promise","resolve"],"mappings":"AAKA,OAAO,SAASA,MAAT,GAAkB;AACvB,SAAO,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,qBAAxC,GACHD,MAAM,CAACC,qBAAP,CAA6BC,IAA7B,CAAkCF,MAAlC,CADG,GAEHG,UAFJ;AAGD;AAOD,OAAO,SAASC,YAAT,GAAwB;AAC7B,SAAO,OAAOJ,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACK,oBAAxC,GACHL,MAAM,CAACK,oBAAP,CAA4BH,IAA5B,CAAiCF,MAAjC,CADG,GAEHM,YAFJ;AAGD;AAgBD,eAAe,SAASC,SAAT,GAAkC;AAAA,MAAfC,EAAe,uEAAV,MAAM,CAAE,CAAE;AAC/C,MAAMC,GAAG,GAAGV,MAAM,EAAlB;AACA,SAAO,IAAIW,OAAJ,CAAaC,OAAD,IAAa;AAC9BF,IAAAA,GAAG,CAAC,MAAMA,GAAG,CAAC,MAAME,OAAO,CAACH,EAAE,EAAH,CAAd,CAAV,CAAH;AACD,GAFM,CAAP;AAGD","sourcesContent":["/**\n * RequestAnimation frame polyfill.\n * @see https://github.com/vuejs/vue/blob/ec78fc8b6d03e59da669be1adf4b4b5abf670a34/dist/vue.runtime.esm.js#L7355\n * @return {(handler: Function) => number}\n */\nexport function getRaf() {\n return typeof window !== 'undefined' && window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout;\n}\n\n/**\n * Get a function to cancel the method returned by `getRaf()`.\n *\n * @return {(id:number) => void}\n */\nexport function getCancelRaf() {\n return typeof window !== 'undefined' && window.cancelAnimationFrame\n ? window.cancelAnimationFrame.bind(window)\n : clearTimeout;\n}\n\n/**\n * Wait for the next frame to execute a function.\n *\n * @param {Function=} [fn=() => {}] The callback function to execute.\n * @return {Promise} A Promise resolving when the next frame is reached.\n *\n * @example\n * ```js\n * nextFrame(() => console.log('hello world'));\n *\n * await nextFrame();\n * console.log('hello world');\n * ```\n */\nexport default function nextFrame(fn = () => {}) {\n const raf = getRaf();\n return new Promise((resolve) => {\n raf(() => raf(() => resolve(fn())));\n });\n}\n"],"file":"nextFrame.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/object/autoBind.js"],"names":["getAllProperties","autoBind","instance","options","exclude","include","filter","key","match","pattern","test","some","forEach","object","descriptor","Object","getOwnPropertyDescriptor","value","bind"],"mappings":"AAAA,OAAOA,gBAAP,MAA6B,uBAA7B;AAWA,eAAe,SAASC,QAAT,CAAkBC,QAAlB,EAA4BC,OAA5B,EAAqC;AAClD,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuBF,OAAO,IAAI,EAAxC;;AACA,MAAMG,MAAM,GAAIC,GAAD,IAAS;AACtB,QAAMC,KAAK,GAAIC,OAAD,IAAc,OAAOA,OAAP,KAAmB,QAAnB,GAA8BF,GAAG,KAAKE,OAAtC,GAAgDA,OAAO,CAACC,IAAR,CAAaH,GAAb,CAA5E;;AAEA,QAAIF,OAAJ,EAAa;AACX,aAAOA,OAAO,CAACM,IAAR,CAAaH,KAAb,CAAP;AACD;;AAED,QAAIJ,OAAJ,EAAa;AACX,aAAO,CAACA,OAAO,CAACO,IAAR,CAAaH,KAAb,CAAR;AACD;;AAED,WAAO,IAAP;AACD,GAZD;;AAcAR,EAAAA,gBAAgB,CAACE,QAAD,CAAhB,CACGI,MADH,CACU;AAAA,QAAC,CAACC,GAAD,CAAD;AAAA,WAAWA,GAAG,KAAK,aAAR,IAAyBD,MAAM,CAACC,GAAD,CAA1C;AAAA,GADV,EAEGK,OAFH,CAEW,SAAmB;AAAA,QAAlB,CAACL,GAAD,EAAMM,MAAN,CAAkB;AAC1B,QAAMC,UAAU,GAAGC,MAAM,CAACC,wBAAP,CAAgCH,MAAhC,EAAwCN,GAAxC,CAAnB;;AACA,QAAIO,UAAU,IAAI,OAAOA,UAAU,CAACG,KAAlB,KAA4B,UAA9C,EAA0D;AACxDf,MAAAA,QAAQ,CAACK,GAAD,CAAR,GAAgBL,QAAQ,CAACK,GAAD,CAAR,CAAcW,IAAd,CAAmBhB,QAAnB,CAAhB;AACD;AACF,GAPH;AASA,SAAOA,QAAP;AACD","sourcesContent":["import getAllProperties from './getAllProperties.js';\n\n/**\n * Auto-bind methods to an instance.\n *\n * @param {Object} instance The instance.\n * @param {Object} options Define specific methods to include or exlude.\n * @param {Array<String|RegExp>} [options.include] Methods to include.\n * @param {Array<String|RegExp>} [options.exclude] Methods to exclude.\n * @return {Object} The instance.\n */\nexport default function autoBind(instance, options) {\n const { exclude, include } = options || {};\n const filter = (key) => {\n const match = (pattern) => (typeof pattern === 'string' ? key === pattern : pattern.test(key));\n\n if (include) {\n return include.some(match);\n }\n\n if (exclude) {\n return !exclude.some(match);\n }\n\n return true;\n };\n\n getAllProperties(instance)\n .filter(([key]) => key !== 'constructor' && filter(key))\n .forEach(([key, object]) => {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (descriptor && typeof descriptor.value === 'function') {\n instance[key] = instance[key].bind(instance);\n }\n });\n\n return instance;\n}\n"],"file":"autoBind.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/object/getAllProperties.js"],"names":["getAllProperties","object","props","testFn","proto","Object","getPrototypeOf","prototype","foundProps","getOwnPropertyNames","filter","name","map","reduce","acc","val"],"mappings":"AAUA,eAAe,SAASA,gBAAT,CAA0BC,MAA1B,EAA6D;AAAA,MAA3BC,KAA2B,uEAAnB,EAAmB;AAAA,MAAfC,MAAe,uEAAN,IAAM;AAC1E,MAAMC,KAAK,GAAGC,MAAM,CAACC,cAAP,CAAsBL,MAAtB,CAAd;;AAEA,MAAIG,KAAK,KAAKC,MAAM,CAACE,SAArB,EAAgC;AAC9B,WAAOL,KAAP;AACD;;AAED,MAAIM,UAAU,GAAGH,MAAM,CAACI,mBAAP,CAA2BL,KAA3B,CAAjB;;AAEA,MAAI,OAAOD,MAAP,KAAkB,UAAtB,EAAkC;AAChCK,IAAAA,UAAU,GAAGA,UAAU,CAACE,MAAX,CAAmBC,IAAD,IAAUR,MAAM,CAACQ,IAAD,EAAOP,KAAP,CAAlC,CAAb;AACD;;AAEDI,EAAAA,UAAU,GAAGA,UAAU,CAACI,GAAX,CAAgBD,IAAD,IAAU,CAACA,IAAD,EAAOP,KAAP,CAAzB,EAAwCS,MAAxC,CAA+C,CAACC,GAAD,EAAMC,GAAN,KAAc,CAAC,GAAGD,GAAJ,EAASC,GAAT,CAA7D,EAA4Eb,KAA5E,CAAb;AAEA,SAAOF,gBAAgB,CAACI,KAAD,EAAQI,UAAR,EAAoBL,MAApB,CAAvB;AACD","sourcesContent":["/**\n * Gets all non-builtin properties up the prototype chain.\n *\n * @param {Object} object\n * The object to get the propeties from.\n * @param {Array=} [props=[]]\n * The already existing properties.\n * @param {(name:string, proto:any) => boolean} testFn\n * @return {Array<[String, Object]>} An array of properties and the prototype they belong to.\n */\nexport default function getAllProperties(object, props = [], testFn = null) {\n const proto = Object.getPrototypeOf(object);\n\n if (proto === Object.prototype) {\n return props;\n }\n\n let foundProps = Object.getOwnPropertyNames(proto);\n\n if (typeof testFn === 'function') {\n foundProps = foundProps.filter((name) => testFn(name, proto));\n }\n\n foundProps = foundProps.map((name) => [name, proto]).reduce((acc, val) => [...acc, val], props);\n\n return getAllProperties(proto, foundProps, testFn);\n}\n"],"file":"getAllProperties.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/object/index.js"],"names":["autoBind","getAllProperties","isObject"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,eAArB;AACA,OAAOC,gBAAP,MAA6B,uBAA7B;AACA,OAAOC,QAAP,MAAqB,eAArB;AAEA,SAASF,QAAT,EAAmBC,gBAAnB,EAAqCC,QAArC","sourcesContent":["import autoBind from './autoBind.js';\nimport getAllProperties from './getAllProperties.js';\nimport isObject from './isObject.js';\n\nexport { autoBind, getAllProperties, isObject };\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/object/isObject.js"],"names":["isObject","value","toString"],"mappings":"AAMA,eAAe,SAASA,QAAT,CAAkBC,KAAlB,EAAyB;AACtC,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAC,CAACA,KAA/B,IAAwCA,KAAK,CAACC,QAAN,OAAqB,iBAApE;AACD","sourcesContent":["/**\n * Test if the given value is an object.\n *\n * @param {*} value The value to test.\n * @return {Boolean} Whether or not the value is an object.\n */\nexport default function isObject(value) {\n return typeof value === 'object' && !!value && value.toString() === '[object Object]';\n}\n"],"file":"isObject.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/index.js"],"names":["withLeadingCharacters","withLeadingSlash","withoutLeadingCharacters","withoutLeadingCharactersRecursive","withoutLeadingSlash","withoutTrailingCharacters","withoutTrailingCharactersRecursive","withoutTrailingSlash","withTrailingCharacters","withTrailingSlash"],"mappings":"AAAA,OAAOA,qBAAP,MAAkC,4BAAlC;AACA,OAAOC,gBAAP,MAA6B,uBAA7B;AACA,OAAOC,wBAAP,MAAqC,+BAArC;AACA,OAAOC,iCAAP,MAA8C,wCAA9C;AACA,OAAOC,mBAAP,MAAgC,0BAAhC;AACA,OAAOC,yBAAP,MAAsC,gCAAtC;AACA,OAAOC,kCAAP,MAA+C,yCAA/C;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEA,SACET,qBADF,EAEEC,gBAFF,EAGEC,wBAHF,EAIEC,iCAJF,EAKEC,mBALF,EAMEC,yBANF,EAOEC,kCAPF,EAQEC,oBARF,EASEC,sBATF,EAUEC,iBAVF","sourcesContent":["import withLeadingCharacters from './withLeadingCharacters.js';\nimport withLeadingSlash from './withLeadingSlash.js';\nimport withoutLeadingCharacters from './withoutLeadingCharacters.js';\nimport withoutLeadingCharactersRecursive from './withoutLeadingCharactersRecursive.js';\nimport withoutLeadingSlash from './withoutLeadingSlash.js';\nimport withoutTrailingCharacters from './withoutTrailingCharacters.js';\nimport withoutTrailingCharactersRecursive from './withoutTrailingCharactersRecursive.js';\nimport withoutTrailingSlash from './withoutTrailingSlash.js';\nimport withTrailingCharacters from './withTrailingCharacters.js';\nimport withTrailingSlash from './withTrailingSlash.js';\n\nexport {\n withLeadingCharacters,\n withLeadingSlash,\n withoutLeadingCharacters,\n withoutLeadingCharactersRecursive,\n withoutLeadingSlash,\n withoutTrailingCharacters,\n withoutTrailingCharactersRecursive,\n withoutTrailingSlash,\n withTrailingCharacters,\n withTrailingSlash,\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withLeadingCharacters.js"],"names":["withoutLeadingCharacters","withLeadingCharacters","string","characters"],"mappings":"AAAA,OAAOA,wBAAP,MAAqC,+BAArC;AAQA,eAAe,SAASC,qBAAT,CAA+BC,MAA/B,EAAuCC,UAAvC,EAAmD;AAChE,mBAAUA,UAAV,SAAuBH,wBAAwB,CAACE,MAAD,EAASC,UAAT,CAA/C;AACD","sourcesContent":["import withoutLeadingCharacters from './withoutLeadingCharacters.js';\n\n/**\n * Add the given characters to the start of the given string.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to add to the start.\n */\nexport default function withLeadingCharacters(string, characters) {\n return `${characters}${withoutLeadingCharacters(string, characters)}`;\n}\n"],"file":"withLeadingCharacters.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withLeadingSlash.js"],"names":["withLeadingCharacters","withLeadingSlash","string"],"mappings":"AAAA,OAAOA,qBAAP,MAAkC,4BAAlC;AAQA,eAAe,SAASC,gBAAT,CAA0BC,MAA1B,EAAkC;AAC/C,SAAOF,qBAAqB,CAACE,MAAD,EAAS,GAAT,CAA5B;AACD","sourcesContent":["import withLeadingCharacters from './withLeadingCharacters.js';\n\n/**\n * Add a leading slash to a string.\n *\n * @param {string} string The string to modify.\n * @return {string} The string with a leading slash.\n */\nexport default function withLeadingSlash(string) {\n return withLeadingCharacters(string, '/');\n}\n"],"file":"withLeadingSlash.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withTrailingCharacters.js"],"names":["withoutTrailingCharacters","withTrailingCharacters","string","characters"],"mappings":"AAAA,OAAOA,yBAAP,MAAsC,gCAAtC;AAQA,eAAe,SAASC,sBAAT,CAAgCC,MAAhC,EAAwCC,UAAxC,EAAoD;AACjE,mBAAUH,yBAAyB,CAACE,MAAD,EAASC,UAAT,CAAnC,SAA0DA,UAA1D;AACD","sourcesContent":["import withoutTrailingCharacters from './withoutTrailingCharacters.js';\n\n/**\n * Add the given characters to the end of the given string.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to add to the end.\n */\nexport default function withTrailingCharacters(string, characters) {\n return `${withoutTrailingCharacters(string, characters)}${characters}`;\n}\n"],"file":"withTrailingCharacters.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withTrailingSlash.js"],"names":["withTrailingCharacters","withTrailingSlash","string"],"mappings":"AAAA,OAAOA,sBAAP,MAAmC,6BAAnC;AAQA,eAAe,SAASC,iBAAT,CAA2BC,MAA3B,EAAmC;AAChD,SAAOF,sBAAsB,CAACE,MAAD,EAAS,GAAT,CAA7B;AACD","sourcesContent":["import withTrailingCharacters from './withTrailingCharacters.js';\n\n/**\n * Add a trailing slash to a string.\n *\n * @param {string} string The string to modify.\n * @return {string} The string with a trailing slash.\n */\nexport default function withTrailingSlash(string) {\n return withTrailingCharacters(string, '/');\n}\n"],"file":"withTrailingSlash.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutLeadingCharacters.js"],"names":["withoutLeadingCharacters","string","characters","replace","RegExp"],"mappings":"AAMA,eAAe,SAASA,wBAAT,CAAkCC,MAAlC,EAA0CC,UAA1C,EAAsD;AACnE,SAAOD,MAAM,CAACE,OAAP,CAAe,IAAIC,MAAJ,YAAeF,UAAf,EAAf,EAA6C,EAA7C,CAAP;AACD","sourcesContent":["/**\n * Remove the given characters from the start of the given string.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to remove from the start.\n */\nexport default function withoutLeadingCharacters(string, characters) {\n return string.replace(new RegExp(`^${characters}`), '');\n}\n"],"file":"withoutLeadingCharacters.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutLeadingCharactersRecursive.js"],"names":["withoutLeadingCharacters","withoutLeadingCharactersRecursive","string","characters","str","regex","RegExp","test"],"mappings":"AAAA,OAAOA,wBAAP,MAAqC,+BAArC;AAQA,eAAe,SAASC,iCAAT,CAA2CC,MAA3C,EAAmDC,UAAnD,EAA+D;AAC5E,MAAIC,GAAG,GAAGJ,wBAAwB,CAACE,MAAD,EAASC,UAAT,CAAlC;AACA,MAAME,KAAK,GAAG,IAAIC,MAAJ,YAAeH,UAAf,EAAd;;AAEA,SAAOE,KAAK,CAACE,IAAN,CAAWH,GAAX,CAAP,EAAwB;AACtBA,IAAAA,GAAG,GAAGJ,wBAAwB,CAACI,GAAD,EAAMD,UAAN,CAA9B;AACD;;AAED,SAAOC,GAAP;AACD","sourcesContent":["import withoutLeadingCharacters from './withoutLeadingCharacters.js';\n\n/**\n * Remove the given characters to the start of the given string recursively.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to add to the start.\n */\nexport default function withoutLeadingCharactersRecursive(string, characters) {\n let str = withoutLeadingCharacters(string, characters);\n const regex = new RegExp(`^${characters}`);\n\n while (regex.test(str)) {\n str = withoutLeadingCharacters(str, characters);\n }\n\n return str;\n}\n"],"file":"withoutLeadingCharactersRecursive.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutLeadingSlash.js"],"names":["withoutLeadingCharacters","withoutLeadingSlash","string"],"mappings":"AAAA,OAAOA,wBAAP,MAAqC,+BAArC;AAQA,eAAe,SAASC,mBAAT,CAA6BC,MAA7B,EAAqC;AAClD,SAAOF,wBAAwB,CAACE,MAAD,EAAS,GAAT,CAA/B;AACD","sourcesContent":["import withoutLeadingCharacters from './withoutLeadingCharacters.js';\n\n/**\n * Remove the leading slash from a string.\n *\n * @param {string} string The string to modify.\n * @return {string} The string without leading slash.\n */\nexport default function withoutLeadingSlash(string) {\n return withoutLeadingCharacters(string, '/');\n}\n"],"file":"withoutLeadingSlash.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutTrailingCharacters.js"],"names":["withoutTrailingCharacters","string","characters","replace","RegExp"],"mappings":"AAMA,eAAe,SAASA,yBAAT,CAAmCC,MAAnC,EAA2CC,UAA3C,EAAuD;AACpE,SAAOD,MAAM,CAACE,OAAP,CAAe,IAAIC,MAAJ,WAAcF,UAAd,OAAf,EAA6C,EAA7C,CAAP;AACD","sourcesContent":["/**\n * Remove the given characters from the end of the given string.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to remove from the end.\n */\nexport default function withoutTrailingCharacters(string, characters) {\n return string.replace(new RegExp(`${characters}$`), '');\n}\n"],"file":"withoutTrailingCharacters.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutTrailingCharactersRecursive.js"],"names":["withoutTrailingCharacters","withoutTrailingCharactersRecursive","string","characters","str","regex","RegExp","test"],"mappings":"AAAA,OAAOA,yBAAP,MAAsC,gCAAtC;AAQA,eAAe,SAASC,kCAAT,CAA4CC,MAA5C,EAAoDC,UAApD,EAAgE;AAC7E,MAAIC,GAAG,GAAGJ,yBAAyB,CAACE,MAAD,EAASC,UAAT,CAAnC;AACA,MAAME,KAAK,GAAG,IAAIC,MAAJ,WAAcH,UAAd,OAAd;;AAEA,SAAOE,KAAK,CAACE,IAAN,CAAWH,GAAX,CAAP,EAAwB;AACtBA,IAAAA,GAAG,GAAGJ,yBAAyB,CAACI,GAAD,EAAMD,UAAN,CAA/B;AACD;;AAED,SAAOC,GAAP;AACD","sourcesContent":["import withoutTrailingCharacters from './withoutTrailingCharacters.js';\n\n/**\n * Remove the given characters to the start of the given string recursively.\n *\n * @param {string} string The string to modify.\n * @param {string} characters The characters to add to the start.\n */\nexport default function withoutTrailingCharactersRecursive(string, characters) {\n let str = withoutTrailingCharacters(string, characters);\n const regex = new RegExp(`${characters}$`);\n\n while (regex.test(str)) {\n str = withoutTrailingCharacters(str, characters);\n }\n\n return str;\n}\n"],"file":"withoutTrailingCharactersRecursive.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/utils/string/withoutTrailingSlash.js"],"names":["withoutTrailingCharacters","withoutTrailingSlash","string"],"mappings":"AAAA,OAAOA,yBAAP,MAAsC,gCAAtC;AAQA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsC;AACnD,SAAOF,yBAAyB,CAACE,MAAD,EAAS,GAAT,CAAhC;AACD","sourcesContent":["import withoutTrailingCharacters from './withoutTrailingCharacters.js';\n\n/**\n * Remove the trailing slash from a string.\n *\n * @param {string} string The string to modify.\n * @return {string} The string without trailing slash.\n */\nexport default function withoutTrailingSlash(string) {\n return withoutTrailingCharacters(string, '/');\n}\n"],"file":"withoutTrailingSlash.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/utils/throttle.js"],"names":["throttle","fn","delay","lastCall","throttled","now","Date","getTime"],"mappings":"AAOA,eAAe,SAASA,QAAT,CAAkBC,EAAlB,EAAkC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC/C,MAAIC,QAAQ,GAAG,CAAf;AACA,SAAO,SAASC,SAAT,GAA4B;AACjC,QAAMC,GAAG,GAAG,IAAIC,IAAJ,GAAWC,OAAX,EAAZ;;AACA,QAAIF,GAAG,GAAGF,QAAN,GAAiBD,KAArB,EAA4B;AAC1B,aAAO,KAAP;AACD;;AACDC,IAAAA,QAAQ,GAAGE,GAAX;AACA,WAAOJ,EAAE,CAAC,YAAD,CAAT;AACD,GAPD;AAQD","sourcesContent":["/**\n * Simple throttling helper that limits a function to only run once every {delay}ms.\n *\n * @param {Function} fn The function to throttle\n * @param {Number=} [delay=16] The delay in ms\n * @return {Function} The throttled function.\n */\nexport default function throttle(fn, delay = 16) {\n let lastCall = 0;\n return function throttled(...args) {\n const now = new Date().getTime();\n if (now - lastCall < delay) {\n return false;\n }\n lastCall = now;\n return fn(...args);\n };\n}\n"],"file":"throttle.js"}