@studiometa/js-toolkit 1.7.2 → 2.0.0-alpha.10

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 (237) hide show
  1. package/Base/index.d.ts +217 -0
  2. package/Base/index.js +237 -0
  3. package/Base/managers/ChildrenManager.d.ts +108 -0
  4. package/Base/managers/ChildrenManager.js +124 -0
  5. package/Base/managers/EventsManager.d.ts +190 -0
  6. package/Base/managers/EventsManager.js +195 -0
  7. package/Base/managers/OptionsManager.d.ts +120 -0
  8. package/Base/managers/OptionsManager.js +180 -0
  9. package/Base/managers/RefsManager.d.ts +84 -0
  10. package/Base/managers/RefsManager.js +83 -0
  11. package/{abstracts/Base/classes/Services.d.ts → Base/managers/ServicesManager.d.ts} +22 -7
  12. package/Base/managers/ServicesManager.js +115 -0
  13. package/{abstracts/Base → Base}/utils.d.ts +0 -30
  14. package/Base/utils.js +43 -0
  15. package/README.md +12 -70
  16. package/decorators/index.js +1 -2
  17. package/decorators/withBreakpointManager.d.ts +5 -5
  18. package/decorators/withBreakpointManager.js +41 -79
  19. package/decorators/withBreakpointObserver.d.ts +4 -4
  20. package/decorators/withBreakpointObserver.js +54 -77
  21. package/decorators/withDrag.d.ts +6 -6
  22. package/decorators/withDrag.js +17 -41
  23. package/decorators/withExtraConfig.d.ts +6 -6
  24. package/decorators/withExtraConfig.js +2 -24
  25. package/decorators/withIntersectionObserver.d.ts +4 -4
  26. package/decorators/withIntersectionObserver.js +17 -60
  27. package/decorators/withMountWhenInView.d.ts +8 -8
  28. package/decorators/withMountWhenInView.js +23 -51
  29. package/helpers/createApp.d.ts +4 -4
  30. package/helpers/createApp.js +10 -12
  31. package/helpers/importOnInteraction.d.ts +6 -6
  32. package/helpers/importOnInteraction.js +7 -8
  33. package/helpers/importWhenIdle.d.ts +4 -4
  34. package/helpers/importWhenIdle.js +7 -8
  35. package/helpers/importWhenVisible.d.ts +6 -6
  36. package/helpers/importWhenVisible.js +9 -16
  37. package/helpers/index.d.ts +1 -3
  38. package/helpers/index.js +1 -4
  39. package/helpers/utils.js +2 -3
  40. package/index.d.ts +19 -5
  41. package/index.js +5 -6
  42. package/index.modern.js +1 -3230
  43. package/index.umd.js +1 -3586
  44. package/package.json +3 -6
  45. package/{abstracts → services}/Service.d.ts +0 -0
  46. package/services/Service.js +63 -0
  47. package/services/drag.js +144 -180
  48. package/services/index.js +1 -2
  49. package/services/key.js +56 -98
  50. package/services/load.d.ts +1 -1
  51. package/services/load.js +22 -51
  52. package/services/pointer.js +118 -157
  53. package/services/raf.js +37 -65
  54. package/services/resize.js +46 -98
  55. package/services/scroll.js +81 -120
  56. package/utils/collide/boundingRectToCircle.js +7 -6
  57. package/utils/collide/collideCircleCircle.js +1 -2
  58. package/utils/collide/collideCircleRect.js +1 -2
  59. package/utils/collide/collidePointCircle.js +1 -2
  60. package/utils/collide/collidePointRect.js +1 -2
  61. package/utils/collide/collideRectRect.js +1 -2
  62. package/utils/collide/index.js +1 -2
  63. package/utils/css/classes.js +2 -3
  64. package/utils/css/index.js +1 -2
  65. package/utils/css/matrix.js +1 -2
  66. package/utils/css/styles.js +3 -8
  67. package/utils/css/transition.js +67 -140
  68. package/utils/debounce.js +3 -4
  69. package/utils/focusTrap.js +4 -5
  70. package/utils/history.js +12 -19
  71. package/utils/index.d.ts +2 -1
  72. package/utils/index.js +2 -2
  73. package/utils/keyCodes.js +1 -2
  74. package/utils/math/clamp.js +1 -2
  75. package/utils/math/clamp01.js +1 -2
  76. package/utils/math/damp.js +1 -2
  77. package/utils/math/index.js +1 -2
  78. package/utils/math/inertiaFinalValue.js +1 -2
  79. package/utils/math/lerp.js +1 -2
  80. package/utils/math/map.js +1 -2
  81. package/utils/math/round.js +1 -2
  82. package/utils/memoize.d.ts +30 -0
  83. package/utils/memoize.js +30 -0
  84. package/utils/nextFrame.js +4 -9
  85. package/utils/object/autoBind.js +11 -19
  86. package/utils/object/getAllProperties.d.ts +6 -3
  87. package/utils/object/getAllProperties.js +10 -8
  88. package/utils/object/index.js +1 -2
  89. package/utils/object/isObject.js +2 -4
  90. package/utils/string/index.js +1 -2
  91. package/utils/string/withLeadingCharacters.js +1 -2
  92. package/utils/string/withLeadingSlash.js +1 -2
  93. package/utils/string/withTrailingCharacters.js +1 -2
  94. package/utils/string/withTrailingSlash.js +1 -2
  95. package/utils/string/withoutLeadingCharacters.js +1 -2
  96. package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
  97. package/utils/string/withoutLeadingSlash.js +1 -2
  98. package/utils/string/withoutTrailingCharacters.js +1 -2
  99. package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
  100. package/utils/string/withoutTrailingSlash.js +1 -2
  101. package/utils/throttle.js +2 -3
  102. package/abstracts/Base/children.d.ts +0 -16
  103. package/abstracts/Base/children.js +0 -66
  104. package/abstracts/Base/children.js.map +0 -1
  105. package/abstracts/Base/classes/Options.d.ts +0 -37
  106. package/abstracts/Base/classes/Options.js +0 -182
  107. package/abstracts/Base/classes/Options.js.map +0 -1
  108. package/abstracts/Base/classes/Services.js +0 -120
  109. package/abstracts/Base/classes/Services.js.map +0 -1
  110. package/abstracts/Base/components.d.ts +0 -22
  111. package/abstracts/Base/components.js +0 -67
  112. package/abstracts/Base/components.js.map +0 -1
  113. package/abstracts/Base/events.d.ts +0 -8
  114. package/abstracts/Base/events.js +0 -185
  115. package/abstracts/Base/events.js.map +0 -1
  116. package/abstracts/Base/index.d.ts +0 -176
  117. package/abstracts/Base/index.js +0 -215
  118. package/abstracts/Base/index.js.map +0 -1
  119. package/abstracts/Base/options.d.ts +0 -17
  120. package/abstracts/Base/options.js +0 -112
  121. package/abstracts/Base/options.js.map +0 -1
  122. package/abstracts/Base/refs.d.ts +0 -30
  123. package/abstracts/Base/refs.js +0 -60
  124. package/abstracts/Base/refs.js.map +0 -1
  125. package/abstracts/Base/utils.js +0 -102
  126. package/abstracts/Base/utils.js.map +0 -1
  127. package/abstracts/EventManager.d.ts +0 -41
  128. package/abstracts/EventManager.js +0 -88
  129. package/abstracts/EventManager.js.map +0 -1
  130. package/abstracts/Service.js +0 -82
  131. package/abstracts/Service.js.map +0 -1
  132. package/abstracts/index.d.ts +0 -4
  133. package/abstracts/index.js +0 -5
  134. package/abstracts/index.js.map +0 -1
  135. package/components/Accordion/Accordion.d.ts +0 -83
  136. package/components/Accordion/Accordion.js +0 -121
  137. package/components/Accordion/Accordion.js.map +0 -1
  138. package/components/Accordion/AccordionItem.d.ts +0 -122
  139. package/components/Accordion/AccordionItem.js +0 -327
  140. package/components/Accordion/AccordionItem.js.map +0 -1
  141. package/components/Accordion/index.d.ts +0 -27
  142. package/components/Accordion/index.js +0 -39
  143. package/components/Accordion/index.js.map +0 -1
  144. package/components/Cursor.d.ts +0 -138
  145. package/components/Cursor.js +0 -167
  146. package/components/Cursor.js.map +0 -1
  147. package/components/Draggable.d.ts +0 -49
  148. package/components/Draggable.js +0 -77
  149. package/components/Draggable.js.map +0 -1
  150. package/components/Modal.d.ts +0 -158
  151. package/components/Modal.js +0 -270
  152. package/components/Modal.js.map +0 -1
  153. package/components/Tabs.d.ts +0 -108
  154. package/components/Tabs.js +0 -195
  155. package/components/Tabs.js.map +0 -1
  156. package/components/index.d.ts +0 -6
  157. package/components/index.js +0 -7
  158. package/components/index.js.map +0 -1
  159. package/decorators/index.js.map +0 -1
  160. package/decorators/withBreakpointManager.js.map +0 -1
  161. package/decorators/withBreakpointObserver.js.map +0 -1
  162. package/decorators/withDrag.js.map +0 -1
  163. package/decorators/withExtraConfig.js.map +0 -1
  164. package/decorators/withIntersectionObserver.js.map +0 -1
  165. package/decorators/withMountWhenInView.js.map +0 -1
  166. package/full.d.ts +0 -10
  167. package/full.js +0 -12
  168. package/full.js.map +0 -1
  169. package/full.modern.js +0 -7523
  170. package/full.modern.js.map +0 -1
  171. package/full.umd.js +0 -8277
  172. package/full.umd.js.map +0 -1
  173. package/helpers/createApp.js.map +0 -1
  174. package/helpers/createBase.d.ts +0 -7
  175. package/helpers/createBase.js +0 -7
  176. package/helpers/createBase.js.map +0 -1
  177. package/helpers/defineComponent.d.ts +0 -11
  178. package/helpers/defineComponent.js +0 -68
  179. package/helpers/defineComponent.js.map +0 -1
  180. package/helpers/importOnInteraction.js.map +0 -1
  181. package/helpers/importWhenIdle.js.map +0 -1
  182. package/helpers/importWhenVisible.js.map +0 -1
  183. package/helpers/index.js.map +0 -1
  184. package/helpers/utils.js.map +0 -1
  185. package/index.js.map +0 -1
  186. package/index.modern.js.map +0 -1
  187. package/index.umd.js.map +0 -1
  188. package/services/drag.js.map +0 -1
  189. package/services/index.js.map +0 -1
  190. package/services/key.js.map +0 -1
  191. package/services/load.js.map +0 -1
  192. package/services/pointer.js.map +0 -1
  193. package/services/raf.js.map +0 -1
  194. package/services/resize.js.map +0 -1
  195. package/services/scroll.js.map +0 -1
  196. package/utils/collide/boundingRectToCircle.js.map +0 -1
  197. package/utils/collide/collideCircleCircle.js.map +0 -1
  198. package/utils/collide/collideCircleRect.js.map +0 -1
  199. package/utils/collide/collidePointCircle.js.map +0 -1
  200. package/utils/collide/collidePointRect.js.map +0 -1
  201. package/utils/collide/collideRectRect.js.map +0 -1
  202. package/utils/collide/index.js.map +0 -1
  203. package/utils/css/classes.js.map +0 -1
  204. package/utils/css/index.js.map +0 -1
  205. package/utils/css/matrix.js.map +0 -1
  206. package/utils/css/styles.js.map +0 -1
  207. package/utils/css/transition.js.map +0 -1
  208. package/utils/debounce.js.map +0 -1
  209. package/utils/focusTrap.js.map +0 -1
  210. package/utils/history.js.map +0 -1
  211. package/utils/index.js.map +0 -1
  212. package/utils/keyCodes.js.map +0 -1
  213. package/utils/math/clamp.js.map +0 -1
  214. package/utils/math/clamp01.js.map +0 -1
  215. package/utils/math/damp.js.map +0 -1
  216. package/utils/math/index.js.map +0 -1
  217. package/utils/math/inertiaFinalValue.js.map +0 -1
  218. package/utils/math/lerp.js.map +0 -1
  219. package/utils/math/map.js.map +0 -1
  220. package/utils/math/round.js.map +0 -1
  221. package/utils/nextFrame.js.map +0 -1
  222. package/utils/object/autoBind.js.map +0 -1
  223. package/utils/object/getAllProperties.js.map +0 -1
  224. package/utils/object/index.js.map +0 -1
  225. package/utils/object/isObject.js.map +0 -1
  226. package/utils/string/index.js.map +0 -1
  227. package/utils/string/withLeadingCharacters.js.map +0 -1
  228. package/utils/string/withLeadingSlash.js.map +0 -1
  229. package/utils/string/withTrailingCharacters.js.map +0 -1
  230. package/utils/string/withTrailingSlash.js.map +0 -1
  231. package/utils/string/withoutLeadingCharacters.js.map +0 -1
  232. package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
  233. package/utils/string/withoutLeadingSlash.js.map +0 -1
  234. package/utils/string/withoutTrailingCharacters.js.map +0 -1
  235. package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
  236. package/utils/string/withoutTrailingSlash.js.map +0 -1
  237. package/utils/throttle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/components/Accordion/AccordionItem.js"],"names":["deepmerge","Base","Accordion","styles","transition","AccordionItem","$parent","$options","item","Object","entries","forEach","key","value","type","config","options","Array","$refs","btn","setAttribute","$id","contentId","content","isOpen","updateAttributes","add","container","visibility","height","otherStyles","refs","filter","refName","open","closed","to","remove","close","$log","$emit","Promise","all","from","active","offsetHeight","then","position","resolve","map","name","Boolean","default"],"mappings":"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","sourcesContent":["import deepmerge from 'deepmerge';\nimport Base from '../../abstracts/Base/index.js';\nimport Accordion from './Accordion.js';\nimport * as styles from '../../utils/css/styles.js';\nimport transition from '../../utils/css/transition.js';\n\n/**\n * @typedef {import('../../abstracts/Base').BaseOptions} BaseOptions\n * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface\n */\n\n/**\n * @typedef {Object} AccordionItemRefs\n * @property {HTMLElement} btn\n * @property {HTMLElement} content\n * @property {HTMLElement} container\n */\n\n/**\n * @typedef {Object} StylesOption\n * @property {String|CssStyleObject} open\n * @property {String|CssStyleObject} active\n * @property {String|CssStyleObject} closed\n */\n\n/**\n * @typedef {import('../../utils/css/styles.js').CssStyleObject} CssStyleObject\n * @typedef {Partial<Record<'open'|'active'|'closed', string|CssStyleObject>>} AccordionItemStates\n * @typedef {Partial<Record<keyof AccordionItemRefs, AccordionItemStates>>} AccordionItemStylesOption\n */\n\n/**\n * @typedef {Object} AccordionItemOptions\n * @property {Boolean} isOpen\n * @property {AccordionItemStylesOption} styles\n */\n\n/**\n * @typedef {Object} AccordionItemPrivateInterface\n * @property {AccordionItemOptions} $options\n * @property {AccordionItemRefs} $refs\n * @property {Accordion & AccordionInterface} $parent\n */\n\n/**\n * @typedef {AccordionItem & AccordionItemPrivateInterface} AccordionItemInterface\n */\n\n/**\n * AccordionItem class.\n */\nexport default class AccordionItem extends Base {\n /**\n * AccordionItem config\n * @return {Object}\n */\n static config = {\n name: 'AccordionItem',\n refs: ['btn', 'content', 'container'],\n options: {\n isOpen: Boolean,\n styles: {\n type: Object,\n /**\n * @return {AccordionItemStylesOption}\n */\n default: () => ({\n container: {\n open: '',\n active: '',\n closed: '',\n },\n }),\n },\n },\n };\n\n /**\n * Add aria-attributes on mounted.\n * @this {AccordionItemInterface}\n */\n mounted() {\n if (this.$parent && this.$parent instanceof Accordion && this.$parent.$options.item) {\n Object.entries(this.$parent.$options.item).forEach(([key, value]) => {\n if (key in this.$options) {\n const type = AccordionItem.config.options[key].type || AccordionItem.config.options[key];\n if (type === Array || type === Object) {\n this.$options[key] = deepmerge(this.$options[key], /** @type {any} */ (value));\n } else {\n this.$options[key] = value;\n }\n }\n });\n }\n\n this.$refs.btn.setAttribute('id', this.$id);\n this.$refs.btn.setAttribute('aria-controls', this.contentId);\n this.$refs.content.setAttribute('aria-labelledby', this.$id);\n this.$refs.content.setAttribute('id', this.contentId);\n\n const { isOpen } = this.$options;\n this.updateAttributes(isOpen);\n\n if (!isOpen) {\n styles.add(this.$refs.container, { visibility: 'invisible', height: '0' });\n }\n\n // Update refs styles on mount\n const { container, ...otherStyles } = this.$options.styles;\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .forEach(([refName, { open, closed } = { open: '', closed: '' }]) => {\n transition(refs[refName], { to: isOpen ? open : closed }, 'keep');\n });\n }\n\n /**\n * Remove styles on destroy.\n * @this {AccordionItemInterface}\n */\n destroyed() {\n styles.remove(this.$refs.container, { visibility: '', height: '' });\n }\n\n /**\n * Handler for the click event on the `btn` ref.\n * @this {AccordionItemInterface}\n */\n onBtnClick() {\n if (this.$options.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Get the content ID.\n * @return {String}\n */\n get contentId() {\n return `content-${this.$id}`;\n }\n\n /**\n * Update the refs' attributes according to the given type.\n *\n * @this {AccordionItemInterface}\n * @param {Boolean} isOpen The state of the item.\n */\n updateAttributes(isOpen) {\n this.$refs.content.setAttribute('aria-hidden', isOpen ? 'false' : 'true');\n this.$refs.btn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');\n }\n\n /**\n * Open an item.\n * @this {AccordionItemInterface}\n */\n async open() {\n if (this.$options.isOpen) {\n return;\n }\n\n this.$log('open');\n this.$emit('open');\n\n this.$options.isOpen = true;\n this.updateAttributes(this.$options.isOpen);\n\n styles.remove(this.$refs.container, { visibility: 'invisible' });\n const { container, ...otherStyles } = this.$options.styles;\n\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n\n await Promise.all([\n transition(refs.container, {\n from: { height: 0 },\n active: container.active,\n to: { height: `${refs.content.offsetHeight}px` },\n }).then(() => {\n // Remove style only if the item has not been closed before the end\n if (this.$options.isOpen) {\n styles.remove(refs.content, { position: 'absolute' });\n }\n\n return Promise.resolve();\n }),\n ...Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .map(([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: closed,\n active,\n to: open,\n },\n 'keep'\n )\n ),\n ]);\n }\n\n /**\n * Close an item.\n * @this {AccordionItemInterface}\n */\n async close() {\n if (!this.$options.isOpen) {\n return;\n }\n\n this.$log('close');\n this.$emit('close');\n\n this.$options.isOpen = false;\n\n const height = this.$refs.container.offsetHeight;\n styles.add(this.$refs.content, { position: 'absolute' });\n const { container, ...otherStyles } = this.$options.styles;\n\n /** @type {AccordionItemRefs} */\n const refs = this.$refs;\n\n await Promise.all([\n transition(refs.container, {\n from: { height: `${height}px` },\n active: container.active,\n to: { height: '0' },\n }).then(() => {\n // Add end styles only if the item has not been re-opened before the end\n if (!this.$options.isOpen) {\n styles.add(refs.container, { height: '0', visibility: 'invisible' });\n this.updateAttributes(this.$options.isOpen);\n }\n return Promise.resolve();\n }),\n ...Object.entries(otherStyles)\n .filter(([refName]) => refs[refName])\n .map(([refName, { open, active, closed } = { open: '', active: '', closed: '' }]) =>\n transition(\n refs[refName],\n {\n from: open,\n active,\n to: closed,\n },\n 'keep'\n )\n ),\n ]);\n }\n}\n"],"file":"AccordionItem.js"}
@@ -1,27 +0,0 @@
1
- export default Accordion;
2
- export type AccordionInterface = import('./Accordion.js').AccordionInterface;
3
- export type AccordionItemInterface = import('./AccordionItem.js').AccordionItemInterface;
4
- /**
5
- * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface
6
- * @typedef {import('./AccordionItem.js').AccordionItemInterface} AccordionItemInterface
7
- */
8
- /**
9
- * Accordion class.
10
- */
11
- declare class Accordion extends AccordionCore {
12
- static config: {
13
- components: {
14
- AccordionItem: typeof AccordionItem;
15
- };
16
- name: string;
17
- options: {
18
- autoclose: BooleanConstructor;
19
- item: {
20
- type: ObjectConstructor;
21
- default: () => Partial<import("./AccordionItem.js").AccordionItemOptions>;
22
- };
23
- };
24
- };
25
- }
26
- import AccordionCore from "./Accordion.js";
27
- import AccordionItem from "./AccordionItem.js";
@@ -1,39 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _inherits from "@babel/runtime/helpers/inherits";
3
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
-
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
-
11
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
-
13
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
-
15
- import AccordionCore from './Accordion.js';
16
- import AccordionItem from './AccordionItem.js';
17
-
18
- var Accordion = function (_AccordionCore) {
19
- _inherits(Accordion, _AccordionCore);
20
-
21
- var _super = _createSuper(Accordion);
22
-
23
- function Accordion() {
24
- _classCallCheck(this, Accordion);
25
-
26
- return _super.apply(this, arguments);
27
- }
28
-
29
- return Accordion;
30
- }(AccordionCore);
31
-
32
- _defineProperty(Accordion, "config", _objectSpread(_objectSpread({}, AccordionCore.config), {}, {
33
- components: {
34
- AccordionItem: AccordionItem
35
- }
36
- }));
37
-
38
- export default Accordion;
39
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/js-toolkit/components/Accordion/index.js"],"names":["AccordionCore","AccordionItem","Accordion","config","components"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,aAAP,MAA0B,gBAA1B;AACA,OAAOC,aAAP,MAA0B,oBAA1B;;IAUMC,S;;;;;;;;;;;;EAAkBF,a;;gBAAlBE,S,4CAECF,aAAa,CAACG,M;AACjBC,EAAAA,UAAU,EAAE;AACVH,IAAAA,aAAa,EAAbA;AADU;;;AAMhB,eAAeC,SAAf","sourcesContent":["import AccordionCore from './Accordion.js';\nimport AccordionItem from './AccordionItem.js';\n\n/**\n * @typedef {import('./Accordion.js').AccordionInterface} AccordionInterface\n * @typedef {import('./AccordionItem.js').AccordionItemInterface} AccordionItemInterface\n */\n\n/**\n * Accordion class.\n */\nclass Accordion extends AccordionCore {\n static config = {\n ...AccordionCore.config,\n components: {\n AccordionItem,\n },\n };\n}\n\nexport default Accordion;\n"],"file":"index.js"}
@@ -1,138 +0,0 @@
1
- /**
2
- * @typedef {import('../services/pointer').PointerServiceProps} PointerServiceProps
3
- * @typedef {import('../abstracts/Base').BaseOptions} BaseOptions
4
- */
5
- /**
6
- * @typedef {Object} CursorOptions
7
- * @property {string} growSelectors
8
- * @property {string} shrinkSelectors
9
- * @property {number} growTo
10
- * @property {number} shrinkTo
11
- * @property {number} translateDampFactor
12
- * @property {number} growDampFactor
13
- * @property {number} shrinkDampFactor
14
- */
15
- /**
16
- * @typedef {Object} CursorPrivateInterface
17
- * @property {BaseOptions & CursorOptions} $options
18
- */
19
- /**
20
- * @typedef {Cursor & CursorPrivateInterface} CursorInterface
21
- */
22
- /**
23
- * Custom cursor component.
24
- */
25
- export default class Cursor extends Base {
26
- /**
27
- * Class config.
28
- */
29
- static config: {
30
- name: string;
31
- options: {
32
- growSelectors: {
33
- type: StringConstructor;
34
- default: string;
35
- };
36
- shrinkSelectors: {
37
- type: StringConstructor;
38
- default: string;
39
- };
40
- growTo: {
41
- type: NumberConstructor;
42
- default: number;
43
- };
44
- shrinkTo: {
45
- type: NumberConstructor;
46
- default: number;
47
- };
48
- translateDampFactor: {
49
- type: NumberConstructor;
50
- default: number;
51
- };
52
- growDampFactor: {
53
- type: NumberConstructor;
54
- default: number;
55
- };
56
- shrinkDampFactor: {
57
- type: NumberConstructor;
58
- default: number;
59
- };
60
- };
61
- };
62
- /**
63
- * @type {Number}
64
- */
65
- x: number;
66
- /**
67
- * @type {Number}
68
- */
69
- y: number;
70
- /**
71
- * @type {Number}
72
- */
73
- scale: number;
74
- /**
75
- * @type {Number}
76
- */
77
- pointerX: number;
78
- /**
79
- * @type {Number}
80
- */
81
- pointerY: number;
82
- /**
83
- * @type {Number}
84
- */
85
- pointerScale: number;
86
- /**
87
- * Mounted hook.
88
- * @return {void}
89
- */
90
- mounted(): void;
91
- /**
92
- * Moved hook.
93
- *
94
- * @this {CursorInterface}
95
- *
96
- * @param {PointerServiceProps} options
97
- * @return {void}
98
- */
99
- moved({ event, x, y, isDown }: PointerServiceProps): void;
100
- /**
101
- * RequestAnimationFrame hook.
102
- *
103
- * @this {CursorInterface}
104
- *
105
- * @return {void}
106
- */
107
- ticked(): void;
108
- /**
109
- * Render the cursor.
110
- *
111
- * @param {Object} options
112
- * @param {Number} options.x
113
- * @param {Number} options.y
114
- * @param {Number} options.scale
115
- * @return {void}
116
- */
117
- render({ x, y, scale }: {
118
- x: number;
119
- y: number;
120
- scale: number;
121
- }): void;
122
- }
123
- export type PointerServiceProps = import('../services/pointer').PointerServiceProps;
124
- export type BaseOptions = import('../abstracts/Base').BaseOptions;
125
- export type CursorOptions = {
126
- growSelectors: string;
127
- shrinkSelectors: string;
128
- growTo: number;
129
- shrinkTo: number;
130
- translateDampFactor: number;
131
- growDampFactor: number;
132
- shrinkDampFactor: number;
133
- };
134
- export type CursorPrivateInterface = {
135
- $options: BaseOptions & CursorOptions;
136
- };
137
- export type CursorInterface = Cursor & CursorPrivateInterface;
138
- import Base from "../abstracts/Base/index.js";
@@ -1,167 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
- import Base from '../abstracts/Base/index.js';
14
- import damp from '../utils/math/damp.js';
15
- import matrix from '../utils/css/matrix.js';
16
-
17
- var Cursor = function (_Base) {
18
- _inherits(Cursor, _Base);
19
-
20
- var _super = _createSuper(Cursor);
21
-
22
- function Cursor() {
23
- var _this;
24
-
25
- _classCallCheck(this, Cursor);
26
-
27
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
- args[_key] = arguments[_key];
29
- }
30
-
31
- _this = _super.call.apply(_super, [this].concat(args));
32
-
33
- _defineProperty(_assertThisInitialized(_this), "x", 0);
34
-
35
- _defineProperty(_assertThisInitialized(_this), "y", 0);
36
-
37
- _defineProperty(_assertThisInitialized(_this), "scale", 0);
38
-
39
- _defineProperty(_assertThisInitialized(_this), "pointerX", 0);
40
-
41
- _defineProperty(_assertThisInitialized(_this), "pointerY", 0);
42
-
43
- _defineProperty(_assertThisInitialized(_this), "pointerScale", 0);
44
-
45
- return _this;
46
- }
47
-
48
- _createClass(Cursor, [{
49
- key: "mounted",
50
- value: function mounted() {
51
- this.x = 0;
52
- this.y = 0;
53
- this.scale = 0;
54
- this.pointerX = 0;
55
- this.pointerY = 0;
56
- this.pointerScale = 0;
57
- this.render({
58
- x: this.x,
59
- y: this.y,
60
- scale: this.scale
61
- });
62
- }
63
- }, {
64
- key: "moved",
65
- value: function moved(_ref) {
66
- var event = _ref.event,
67
- x = _ref.x,
68
- y = _ref.y,
69
- isDown = _ref.isDown;
70
-
71
- if (!this.$services.has('ticked')) {
72
- this.$services.enable('ticked');
73
- }
74
-
75
- this.pointerX = x;
76
- this.pointerY = y;
77
- var scale = 1;
78
-
79
- if (!event) {
80
- this.pointerScale = scale;
81
- return;
82
- }
83
-
84
- var shouldGrow = event.target instanceof Element && event.target.matches(this.$options.growSelectors) || false;
85
- var shouldReduce = isDown || event.target instanceof Element && event.target.matches(this.$options.shrinkSelectors) || false;
86
-
87
- if (shouldGrow) {
88
- scale = this.$options.growTo;
89
- }
90
-
91
- if (shouldReduce) {
92
- scale = this.$options.shrinkTo;
93
- }
94
-
95
- this.pointerScale = scale;
96
- }
97
- }, {
98
- key: "ticked",
99
- value: function ticked() {
100
- this.x = damp(this.pointerX, this.x, this.$options.translateDampFactor);
101
- this.y = damp(this.pointerY, this.y, this.$options.translateDampFactor);
102
- this.scale = damp(this.pointerScale, this.scale, this.pointerScale < this.scale ? this.$options.shrinkDampFactor : this.$options.growDampFactor);
103
- this.render({
104
- x: this.x,
105
- y: this.y,
106
- scale: this.scale
107
- });
108
-
109
- if (this.x === this.pointerX && this.y === this.pointerY && this.scale === this.pointerScale) {
110
- this.$services.disable('ticked');
111
- }
112
- }
113
- }, {
114
- key: "render",
115
- value: function render(_ref2) {
116
- var x = _ref2.x,
117
- y = _ref2.y,
118
- scale = _ref2.scale;
119
- var transform = matrix({
120
- translateX: x,
121
- translateY: y,
122
- scaleX: scale,
123
- scaleY: scale
124
- });
125
- this.$el.style.transform = "translateZ(0) ".concat(transform);
126
- }
127
- }]);
128
-
129
- return Cursor;
130
- }(Base);
131
-
132
- _defineProperty(Cursor, "config", {
133
- name: 'Cursor',
134
- options: {
135
- growSelectors: {
136
- type: String,
137
- default: 'a, a *, button, button *, [data-cursor-grow], [data-cursor-grow] *'
138
- },
139
- shrinkSelectors: {
140
- type: String,
141
- default: '[data-cursor-shrink], [data-cursor-shrink] *'
142
- },
143
- growTo: {
144
- type: Number,
145
- default: 2
146
- },
147
- shrinkTo: {
148
- type: Number,
149
- default: 0.5
150
- },
151
- translateDampFactor: {
152
- type: Number,
153
- default: 0.25
154
- },
155
- growDampFactor: {
156
- type: Number,
157
- default: 0.25
158
- },
159
- shrinkDampFactor: {
160
- type: Number,
161
- default: 0.25
162
- }
163
- }
164
- });
165
-
166
- export { Cursor as default };
167
- //# sourceMappingURL=Cursor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/components/Cursor.js"],"names":["Base","damp","matrix","Cursor","x","y","scale","pointerX","pointerY","pointerScale","render","event","isDown","$services","has","enable","shouldGrow","target","Element","matches","$options","growSelectors","shouldReduce","shrinkSelectors","growTo","shrinkTo","translateDampFactor","shrinkDampFactor","growDampFactor","disable","transform","translateX","translateY","scaleX","scaleY","$el","style","name","options","type","String","default","Number"],"mappings":"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","sourcesContent":["import Base from '../abstracts/Base/index.js';\nimport damp from '../utils/math/damp.js';\nimport matrix from '../utils/css/matrix.js';\n\n/**\n * @typedef {import('../services/pointer').PointerServiceProps} PointerServiceProps\n * @typedef {import('../abstracts/Base').BaseOptions} BaseOptions\n */\n\n/**\n * @typedef {Object} CursorOptions\n * @property {string} growSelectors\n * @property {string} shrinkSelectors\n * @property {number} growTo\n * @property {number} shrinkTo\n * @property {number} translateDampFactor\n * @property {number} growDampFactor\n * @property {number} shrinkDampFactor\n */\n\n/**\n * @typedef {Object} CursorPrivateInterface\n * @property {BaseOptions & CursorOptions} $options\n */\n\n/**\n * @typedef {Cursor & CursorPrivateInterface} CursorInterface\n */\n\n/**\n * Custom cursor component.\n */\nexport default class Cursor extends Base {\n /**\n * Class config.\n */\n static config = {\n name: 'Cursor',\n options: {\n growSelectors: {\n type: String,\n default: 'a, a *, button, button *, [data-cursor-grow], [data-cursor-grow] *',\n },\n shrinkSelectors: {\n type: String,\n default: '[data-cursor-shrink], [data-cursor-shrink] *',\n },\n growTo: {\n type: Number,\n default: 2,\n },\n shrinkTo: {\n type: Number,\n default: 0.5,\n },\n translateDampFactor: {\n type: Number,\n default: 0.25,\n },\n growDampFactor: {\n type: Number,\n default: 0.25,\n },\n shrinkDampFactor: {\n type: Number,\n default: 0.25,\n },\n },\n };\n\n /**\n * @type {Number}\n */\n x = 0;\n\n /**\n * @type {Number}\n */\n y = 0;\n\n /**\n * @type {Number}\n */\n scale = 0;\n\n /**\n * @type {Number}\n */\n pointerX = 0;\n\n /**\n * @type {Number}\n */\n pointerY = 0;\n\n /**\n * @type {Number}\n */\n pointerScale = 0;\n\n /**\n * Mounted hook.\n * @return {void}\n */\n mounted() {\n this.x = 0;\n this.y = 0;\n this.scale = 0;\n this.pointerX = 0;\n this.pointerY = 0;\n this.pointerScale = 0;\n this.render({ x: this.x, y: this.y, scale: this.scale });\n }\n\n /**\n * Moved hook.\n *\n * @this {CursorInterface}\n *\n * @param {PointerServiceProps} options\n * @return {void}\n */\n moved({ event, x, y, isDown }) {\n if (!this.$services.has('ticked')) {\n this.$services.enable('ticked');\n }\n\n this.pointerX = x;\n this.pointerY = y;\n\n let scale = 1;\n\n if (!event) {\n this.pointerScale = scale;\n return;\n }\n\n const shouldGrow =\n (event.target instanceof Element && event.target.matches(this.$options.growSelectors)) ||\n false;\n const shouldReduce =\n isDown ||\n (event.target instanceof Element && event.target.matches(this.$options.shrinkSelectors)) ||\n false;\n\n if (shouldGrow) {\n scale = this.$options.growTo;\n }\n\n if (shouldReduce) {\n scale = this.$options.shrinkTo;\n }\n\n this.pointerScale = scale;\n }\n\n /**\n * RequestAnimationFrame hook.\n *\n * @this {CursorInterface}\n *\n * @return {void}\n */\n ticked() {\n this.x = damp(this.pointerX, this.x, this.$options.translateDampFactor);\n this.y = damp(this.pointerY, this.y, this.$options.translateDampFactor);\n this.scale = damp(\n this.pointerScale,\n this.scale,\n this.pointerScale < this.scale ? this.$options.shrinkDampFactor : this.$options.growDampFactor\n );\n\n this.render({ x: this.x, y: this.y, scale: this.scale });\n\n if (this.x === this.pointerX && this.y === this.pointerY && this.scale === this.pointerScale) {\n this.$services.disable('ticked');\n }\n }\n\n /**\n * Render the cursor.\n *\n * @param {Object} options\n * @param {Number} options.x\n * @param {Number} options.y\n * @param {Number} options.scale\n * @return {void}\n */\n render({ x, y, scale }) {\n const transform = matrix({\n translateX: x,\n translateY: y,\n scaleX: scale,\n scaleY: scale,\n });\n this.$el.style.transform = `translateZ(0) ${transform}`;\n }\n}\n"],"file":"Cursor.js"}
@@ -1,49 +0,0 @@
1
- /**
2
- * @typedef {import('stylefire').Styler} Styler
3
- * @typedef {import('../services/drag.js').DragServiceProps} DragServiceProps
4
- */
5
- /**
6
- * @typedef {Draggable} DraggableInterface
7
- */
8
- /**
9
- * Draggable class.
10
- *
11
- * @link https://jsfiddle.net/soulwire/znj683b9/
12
- */
13
- export default class Draggable extends Base {
14
- static config: {
15
- name: string;
16
- };
17
- /**
18
- * The origin of the element.
19
- * @type {{ x: number, y: number }}
20
- */
21
- elementOrigin: {
22
- x: number;
23
- y: number;
24
- };
25
- /**
26
- * The element styler for performant style update.
27
- * @type {Styler}
28
- */
29
- styler: Styler;
30
- /**
31
- * Mounted hook.
32
- * @return {void}
33
- */
34
- mounted(): void;
35
- /**
36
- * Destroyed hook.
37
- * @return {void}
38
- */
39
- destroyed(): void;
40
- /**
41
- * Drag service hook.
42
- * @param {DragServiceProps} props
43
- */
44
- dragged(props: DragServiceProps): void;
45
- }
46
- export type Styler = import('stylefire').Styler;
47
- export type DragServiceProps = import('../services/drag.js').DragServiceProps;
48
- export type DraggableInterface = Draggable;
49
- import Base from "../abstracts/Base/index.js";
@@ -1,77 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
- import styler from 'stylefire';
14
- import Base from '../abstracts/Base/index.js';
15
- import withDrag from '../decorators/withDrag.js';
16
-
17
- var Draggable = function (_withDrag) {
18
- _inherits(Draggable, _withDrag);
19
-
20
- var _super = _createSuper(Draggable);
21
-
22
- function Draggable() {
23
- var _this;
24
-
25
- _classCallCheck(this, Draggable);
26
-
27
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
- args[_key] = arguments[_key];
29
- }
30
-
31
- _this = _super.call.apply(_super, [this].concat(args));
32
-
33
- _defineProperty(_assertThisInitialized(_this), "elementOrigin", {
34
- x: 0,
35
- y: 0
36
- });
37
-
38
- _defineProperty(_assertThisInitialized(_this), "styler", void 0);
39
-
40
- return _this;
41
- }
42
-
43
- _createClass(Draggable, [{
44
- key: "mounted",
45
- value: function mounted() {
46
- this.styler = styler(this.$el);
47
- }
48
- }, {
49
- key: "destroyed",
50
- value: function destroyed() {
51
- this.styler = undefined;
52
- }
53
- }, {
54
- key: "dragged",
55
- value: function dragged(props) {
56
- if (props.mode === 'start') {
57
- this.elementOrigin.x = this.styler.get('x');
58
- this.elementOrigin.y = this.styler.get('y');
59
- return;
60
- }
61
-
62
- this.styler.set({
63
- x: this.elementOrigin.x + props.x - props.origin.x,
64
- y: this.elementOrigin.y + props.y - props.origin.y
65
- });
66
- }
67
- }]);
68
-
69
- return Draggable;
70
- }(withDrag(Base));
71
-
72
- _defineProperty(Draggable, "config", {
73
- name: 'DraggableElement'
74
- });
75
-
76
- export { Draggable as default };
77
- //# sourceMappingURL=Draggable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../packages/js-toolkit/components/Draggable.js"],"names":["styler","Base","withDrag","Draggable","x","y","$el","undefined","props","mode","elementOrigin","get","set","origin","name"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,MAAP,MAAmB,WAAnB;AACA,OAAOC,IAAP,MAAiB,4BAAjB;AACA,OAAOC,QAAP,MAAqB,2BAArB;;IAgBqBC,S;;;;;;;;;;;;;;;;oEASH;AACdC,MAAAA,CAAC,EAAE,CADW;AAEdC,MAAAA,CAAC,EAAE;AAFW,K;;;;;;;;;WAehB,mBAAU;AACR,WAAKL,MAAL,GAAcA,MAAM,CAAC,KAAKM,GAAN,CAApB;AACD;;;WAMD,qBAAY;AACV,WAAKN,MAAL,GAAcO,SAAd;AACD;;;WAMD,iBAAQC,KAAR,EAAe;AACb,UAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;AAC1B,aAAKC,aAAL,CAAmBN,CAAnB,GAAuB,KAAKJ,MAAL,CAAYW,GAAZ,CAAgB,GAAhB,CAAvB;AACA,aAAKD,aAAL,CAAmBL,CAAnB,GAAuB,KAAKL,MAAL,CAAYW,GAAZ,CAAgB,GAAhB,CAAvB;AACA;AACD;;AAED,WAAKX,MAAL,CAAYY,GAAZ,CAAgB;AACdR,QAAAA,CAAC,EAAE,KAAKM,aAAL,CAAmBN,CAAnB,GAAuBI,KAAK,CAACJ,CAA7B,GAAiCI,KAAK,CAACK,MAAN,CAAaT,CADnC;AAEdC,QAAAA,CAAC,EAAE,KAAKK,aAAL,CAAmBL,CAAnB,GAAuBG,KAAK,CAACH,CAA7B,GAAiCG,KAAK,CAACK,MAAN,CAAaR;AAFnC,OAAhB;AAID;;;;EAnDoCH,QAAQ,CAACD,IAAD,C;;gBAA1BE,S,YACH;AACdW,EAAAA,IAAI,EAAE;AADQ,C;;SADGX,S","sourcesContent":["import styler from 'stylefire';\nimport Base from '../abstracts/Base/index.js';\nimport withDrag from '../decorators/withDrag.js';\n\n/**\n * @typedef {import('stylefire').Styler} Styler\n * @typedef {import('../services/drag.js').DragServiceProps} DragServiceProps\n */\n\n/**\n * @typedef {Draggable} DraggableInterface\n */\n\n/**\n * Draggable class.\n *\n * @link https://jsfiddle.net/soulwire/znj683b9/\n */\nexport default class Draggable extends withDrag(Base) {\n static config = {\n name: 'DraggableElement',\n };\n\n /**\n * The origin of the element.\n * @type {{ x: number, y: number }}\n */\n elementOrigin = {\n x: 0,\n y: 0,\n };\n\n /**\n * The element styler for performant style update.\n * @type {Styler}\n */\n styler;\n\n /**\n * Mounted hook.\n * @return {void}\n */\n mounted() {\n this.styler = styler(this.$el);\n }\n\n /**\n * Destroyed hook.\n * @return {void}\n */\n destroyed() {\n this.styler = undefined;\n }\n\n /**\n * Drag service hook.\n * @param {DragServiceProps} props\n */\n dragged(props) {\n if (props.mode === 'start') {\n this.elementOrigin.x = this.styler.get('x');\n this.elementOrigin.y = this.styler.get('y');\n return;\n }\n\n this.styler.set({\n x: this.elementOrigin.x + props.x - props.origin.x,\n y: this.elementOrigin.y + props.y - props.origin.y,\n });\n }\n}\n"],"file":"Draggable.js"}