vuetify 2.5.9 → 2.5.13

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 (206) hide show
  1. package/dist/json/attributes.json +58 -66
  2. package/dist/json/tags.json +0 -2
  3. package/dist/json/web-types.json +89 -146
  4. package/dist/vuetify.css +37 -24
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +374 -177
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAppBar/VAppBar.js +3 -0
  11. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  12. package/es5/components/VAutocomplete/VAutocomplete.js +20 -2
  13. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  14. package/es5/components/VCalendar/mixins/calendar-with-events.js +4 -2
  15. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  16. package/es5/components/VCalendar/mixins/mouse.js +19 -0
  17. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  18. package/es5/components/VCalendar/util/timestamp.js +2 -2
  19. package/es5/components/VCalendar/util/timestamp.js.map +1 -1
  20. package/es5/components/VCombobox/VCombobox.js +0 -5
  21. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  22. package/es5/components/VDataTable/VDataTableHeaderMobile.js +2 -2
  23. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  24. package/es5/components/VDialog/VDialog.js +4 -2
  25. package/es5/components/VDialog/VDialog.js.map +1 -1
  26. package/es5/components/VList/VListItem.js +8 -1
  27. package/es5/components/VList/VListItem.js.map +1 -1
  28. package/es5/components/VOverlay/VOverlay.js +1 -0
  29. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  30. package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
  31. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  32. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  33. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  34. package/es5/components/VSelect/VSelect.js +1 -1
  35. package/es5/components/VSelect/VSelect.js.map +1 -1
  36. package/es5/components/VSlideGroup/VSlideGroup.js +93 -37
  37. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  38. package/es5/components/VTabs/VTab.js +15 -4
  39. package/es5/components/VTabs/VTab.js.map +1 -1
  40. package/es5/components/VTabs/VTabsBar.js +1 -1
  41. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  42. package/es5/components/VTextarea/VTextarea.js +11 -2
  43. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  44. package/es5/components/VTooltip/VTooltip.js +2 -5
  45. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  46. package/es5/components/VTreeview/VTreeview.js +1 -1
  47. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  48. package/es5/components/transitions/createTransition.js +1 -5
  49. package/es5/components/transitions/createTransition.js.map +1 -1
  50. package/es5/directives/click-outside/index.js +19 -10
  51. package/es5/directives/click-outside/index.js.map +1 -1
  52. package/es5/directives/intersect/index.js +12 -11
  53. package/es5/directives/intersect/index.js.map +1 -1
  54. package/es5/directives/mutate/index.js +7 -6
  55. package/es5/directives/mutate/index.js.map +1 -1
  56. package/es5/directives/resize/index.js +8 -7
  57. package/es5/directives/resize/index.js.map +1 -1
  58. package/es5/directives/ripple/index.js +2 -3
  59. package/es5/directives/ripple/index.js.map +1 -1
  60. package/es5/directives/scroll/index.js +13 -10
  61. package/es5/directives/scroll/index.js.map +1 -1
  62. package/es5/framework.js +1 -1
  63. package/es5/locale/fr.js +1 -1
  64. package/es5/locale/fr.js.map +1 -1
  65. package/es5/mixins/detachable/index.js +32 -14
  66. package/es5/mixins/detachable/index.js.map +1 -1
  67. package/es5/mixins/intersectable/index.js +5 -2
  68. package/es5/mixins/intersectable/index.js.map +1 -1
  69. package/es5/mixins/menuable/index.js +5 -5
  70. package/es5/mixins/menuable/index.js.map +1 -1
  71. package/es5/mixins/overlayable/index.js +22 -35
  72. package/es5/mixins/overlayable/index.js.map +1 -1
  73. package/es5/mixins/routable/index.js +9 -3
  74. package/es5/mixins/routable/index.js.map +1 -1
  75. package/es5/services/goto/index.js +3 -1
  76. package/es5/services/goto/index.js.map +1 -1
  77. package/es5/util/helpers.js +23 -0
  78. package/es5/util/helpers.js.map +1 -1
  79. package/lib/components/VAppBar/VAppBar.js +4 -0
  80. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  81. package/lib/components/VAutocomplete/VAutocomplete.js +18 -2
  82. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  83. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -2
  84. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  85. package/lib/components/VCalendar/mixins/mouse.js +19 -0
  86. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  87. package/lib/components/VCalendar/util/timestamp.js +2 -2
  88. package/lib/components/VCalendar/util/timestamp.js.map +1 -1
  89. package/lib/components/VCombobox/VCombobox.js +0 -5
  90. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  91. package/lib/components/VDataTable/VDataTableHeaderMobile.js +2 -2
  92. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  93. package/lib/components/VDialog/VDialog.js +5 -2
  94. package/lib/components/VDialog/VDialog.js.map +1 -1
  95. package/lib/components/VList/VListItem.js +9 -1
  96. package/lib/components/VList/VListItem.js.map +1 -1
  97. package/lib/components/VOverlay/VOverlay.js +1 -0
  98. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  99. package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
  100. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  101. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  102. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  103. package/lib/components/VSelect/VSelect.js +1 -1
  104. package/lib/components/VSelect/VSelect.js.map +1 -1
  105. package/lib/components/VSlideGroup/VSlideGroup.js +63 -40
  106. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  107. package/lib/components/VTabs/VTab.js +16 -6
  108. package/lib/components/VTabs/VTab.js.map +1 -1
  109. package/lib/components/VTabs/VTabsBar.js +1 -1
  110. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  111. package/lib/components/VTextarea/VTextarea.js +8 -0
  112. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  113. package/lib/components/VTooltip/VTooltip.js +2 -5
  114. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  115. package/lib/components/VTreeview/VTreeview.js +1 -1
  116. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  117. package/lib/components/transitions/createTransition.js +1 -5
  118. package/lib/components/transitions/createTransition.js.map +1 -1
  119. package/lib/directives/click-outside/index.js +20 -10
  120. package/lib/directives/click-outside/index.js.map +1 -1
  121. package/lib/directives/intersect/index.js +12 -10
  122. package/lib/directives/intersect/index.js.map +1 -1
  123. package/lib/directives/mutate/index.js +7 -6
  124. package/lib/directives/mutate/index.js.map +1 -1
  125. package/lib/directives/resize/index.js +6 -5
  126. package/lib/directives/resize/index.js.map +1 -1
  127. package/lib/directives/ripple/index.js +2 -3
  128. package/lib/directives/ripple/index.js.map +1 -1
  129. package/lib/directives/scroll/index.js +9 -6
  130. package/lib/directives/scroll/index.js.map +1 -1
  131. package/lib/framework.js +1 -1
  132. package/lib/locale/fr.js +1 -1
  133. package/lib/locale/fr.js.map +1 -1
  134. package/lib/mixins/detachable/index.js +28 -13
  135. package/lib/mixins/detachable/index.js.map +1 -1
  136. package/lib/mixins/intersectable/index.js +5 -2
  137. package/lib/mixins/intersectable/index.js.map +1 -1
  138. package/lib/mixins/menuable/index.js +4 -4
  139. package/lib/mixins/menuable/index.js.map +1 -1
  140. package/lib/mixins/overlayable/index.js +23 -36
  141. package/lib/mixins/overlayable/index.js.map +1 -1
  142. package/lib/mixins/routable/index.js +12 -3
  143. package/lib/mixins/routable/index.js.map +1 -1
  144. package/lib/services/goto/index.js +3 -1
  145. package/lib/services/goto/index.js.map +1 -1
  146. package/lib/util/helpers.js +21 -0
  147. package/lib/util/helpers.js.map +1 -1
  148. package/package.json +2 -3
  149. package/src/components/VAppBar/VAppBar.ts +3 -0
  150. package/src/components/VAutocomplete/VAutocomplete.ts +15 -2
  151. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  152. package/src/components/VCalendar/mixins/calendar-with-events.ts +3 -3
  153. package/src/components/VCalendar/mixins/mouse.ts +21 -0
  154. package/src/components/VCalendar/util/__tests__/events.spec.ts +1 -1
  155. package/src/components/VCalendar/util/timestamp.ts +2 -2
  156. package/src/components/VCombobox/VCombobox.ts +0 -5
  157. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  158. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +30 -0
  159. package/src/components/VDataTable/VDataTableHeaderMobile.ts +3 -1
  160. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +0 -20
  161. package/src/components/VDialog/VDialog.ts +4 -2
  162. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  163. package/src/components/VList/VListItem.sass +2 -1
  164. package/src/components/VList/VListItem.ts +7 -1
  165. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  166. package/src/components/VOverlay/VOverlay.ts +1 -0
  167. package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
  168. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  169. package/src/components/VSelect/VSelect.ts +1 -1
  170. package/src/components/VSlideGroup/VSlideGroup.ts +75 -35
  171. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +1 -3
  172. package/src/components/VSnackbar/VSnackbar.sass +2 -0
  173. package/src/components/VStepper/VStepper.sass +5 -1
  174. package/src/components/VStepper/_variables.scss +2 -1
  175. package/src/components/VTabs/VTab.ts +14 -4
  176. package/src/components/VTabs/VTabs.sass +5 -2
  177. package/src/components/VTabs/VTabsBar.ts +2 -2
  178. package/src/components/VTextarea/VTextarea.ts +7 -0
  179. package/src/components/VTooltip/VTooltip.ts +2 -5
  180. package/src/components/VTreeview/VTreeview.ts +1 -1
  181. package/src/components/transitions/createTransition.ts +1 -5
  182. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  183. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  184. package/src/directives/click-outside/index.ts +19 -10
  185. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  186. package/src/directives/intersect/index.ts +13 -12
  187. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  188. package/src/directives/mutate/index.ts +8 -7
  189. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  190. package/src/directives/resize/index.ts +10 -5
  191. package/src/directives/ripple/index.ts +3 -5
  192. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  193. package/src/directives/scroll/index.ts +8 -7
  194. package/src/globals.d.ts +10 -11
  195. package/src/locale/fr.ts +1 -1
  196. package/src/mixins/detachable/index.ts +32 -15
  197. package/src/mixins/intersectable/index.ts +5 -2
  198. package/src/mixins/menuable/index.ts +4 -4
  199. package/src/mixins/overlayable/index.ts +24 -35
  200. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  201. package/src/mixins/routable/index.ts +10 -3
  202. package/src/services/goto/index.ts +6 -1
  203. package/src/styles/components/_selection-controls.sass +4 -7
  204. package/src/styles/generic/_transitions.scss +219 -215
  205. package/src/styles/settings/_variables.scss +7 -7
  206. package/src/util/helpers.ts +22 -0
@@ -47,7 +47,7 @@ function checkIsActive(e, binding) {
47
47
  return isActive(e);
48
48
  }
49
49
 
50
- function directive(e, el, binding) {
50
+ function directive(e, el, binding, vnode) {
51
51
  var handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;
52
52
  el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(function () {
53
53
  checkIsActive(e, binding) && handler && handler(e);
@@ -58,7 +58,7 @@ function handleShadow(el, callback) {
58
58
  var root = (0, _dom.attachedRoot)(el);
59
59
  callback(document);
60
60
 
61
- if (root instanceof ShadowRoot) {
61
+ if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {
62
62
  callback(root);
63
63
  }
64
64
  }
@@ -69,9 +69,9 @@ var ClickOutside = {
69
69
  // sure that the root element is
70
70
  // available, iOS does not support
71
71
  // clicks on body
72
- inserted: function inserted(el, binding) {
72
+ inserted: function inserted(el, binding, vnode) {
73
73
  var onClick = function onClick(e) {
74
- return directive(e, el, binding);
74
+ return directive(e, el, binding, vnode);
75
75
  };
76
76
 
77
77
  var onMousedown = function onMousedown(e) {
@@ -82,20 +82,29 @@ var ClickOutside = {
82
82
  app.addEventListener('click', onClick, true);
83
83
  app.addEventListener('mousedown', onMousedown, true);
84
84
  });
85
- el._clickOutside = {
86
- lastMousedownWasOutside: true,
85
+
86
+ if (!el._clickOutside) {
87
+ el._clickOutside = {
88
+ lastMousedownWasOutside: true
89
+ };
90
+ }
91
+
92
+ el._clickOutside[vnode.context._uid] = {
87
93
  onClick: onClick,
88
94
  onMousedown: onMousedown
89
95
  };
90
96
  },
91
- unbind: function unbind(el) {
97
+ unbind: function unbind(el, binding, vnode) {
92
98
  if (!el._clickOutside) return;
93
99
  handleShadow(el, function (app) {
94
100
  if (!app || !el._clickOutside) return;
95
- app.removeEventListener('click', el._clickOutside.onClick, true);
96
- app.removeEventListener('mousedown', el._clickOutside.onMousedown, true);
101
+ var _el$_clickOutside$vno = el._clickOutside[vnode.context._uid],
102
+ onClick = _el$_clickOutside$vno.onClick,
103
+ onMousedown = _el$_clickOutside$vno.onMousedown;
104
+ app.removeEventListener('click', onClick, true);
105
+ app.removeEventListener('mousedown', onMousedown, true);
97
106
  });
98
- delete el._clickOutside;
107
+ delete el._clickOutside[vnode.context._uid];
99
108
  }
100
109
  };
101
110
  exports.ClickOutside = ClickOutside;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n el._clickOutside = {\n lastMousedownWasOutside: true,\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n app.removeEventListener('click', el._clickOutside.onClick, true)\n app.removeEventListener('mousedown', el._clickOutside.onMousedown, true)\n })\n\n delete el._clickOutside\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
@@ -7,7 +7,7 @@ exports.default = exports.Intersect = void 0;
7
7
 
8
8
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
9
 
10
- function inserted(el, binding) {
10
+ function inserted(el, binding, vnode) {
11
11
  if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return;
12
12
  var modifiers = binding.modifiers || {};
13
13
  var value = binding.value;
@@ -20,37 +20,38 @@ function inserted(el, binding) {
20
20
  options = _ref.options;
21
21
 
22
22
  var observer = new IntersectionObserver(function () {
23
+ var _el$_observe;
24
+
23
25
  var entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
24
26
  var observer = arguments.length > 1 ? arguments[1] : undefined;
27
+ if (!((_el$_observe = el._observe) != null && _el$_observe[vnode.context._uid])) return; // Just in case, should never fire
25
28
 
26
- /* istanbul ignore if */
27
- if (!el._observe) return; // Just in case, should never fire
28
-
29
+ var _observe = el._observe[vnode.context._uid];
29
30
  var isIntersecting = entries.some(function (entry) {
30
31
  return entry.isIntersecting;
31
32
  }); // If is not quiet or has already been
32
33
  // initted, invoke the user callback
33
34
 
34
- if (handler && (!modifiers.quiet || el._observe.init) && (!modifiers.once || isIntersecting || !el._observe.init)) {
35
+ if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {
35
36
  handler(entries, observer, isIntersecting);
36
37
  }
37
38
 
38
- if (isIntersecting && modifiers.once) unbind(el);else el._observe.init = true;
39
+ if (isIntersecting && modifiers.once) unbind(el, binding, vnode);else _observe.init = true;
39
40
  }, options);
40
- el._observe = {
41
+ el._observe = Object(el._observe);
42
+ el._observe[vnode.context._uid] = {
41
43
  init: false,
42
44
  observer: observer
43
45
  };
44
46
  observer.observe(el);
45
47
  }
46
48
 
47
- function unbind(el) {
48
- /* istanbul ignore if */
49
+ function unbind(el, binding, vnode) {
49
50
  if (!el._observe) return;
50
51
 
51
- el._observe.observer.unobserve(el);
52
+ el._observe[vnode.context._uid].observer.unobserve(el);
52
53
 
53
- delete el._observe;
54
+ delete el._observe[vnode.context._uid];
54
55
  }
55
56
 
56
57
  var Intersect = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAkE;AAChE,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJgE,aAKnC,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP4D;AAAA,MAKxD,OALwD,QAKxD,OALwD;AAAA,MAK/C,OAL+C,QAK/C,OAL+C;;AAQhE,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;;AACF;AACA,QAAI,CAAC,EAAE,CAAC,QAAR,EAAkB,OAFhB,CAEuB;;AAEzB,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,CAAvB,CAJE,CAMF;AACA;;AACA,QACE,OAAO,KACL,CAAC,SAAS,CAAC,KAAX,IACA,EAAE,CAAC,QAAH,CAAY,IAFP,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,CAAC,EAAE,CAAC,QAAH,CAAY,IANf,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,CAAN,CAAtC,KACK,EAAE,CAAC,QAAH,CAAY,IAAZ,GAAmB,IAAnB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,EAAA,EAAE,CAAC,QAAH,GAAc;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA,QAAQ,EAAR;AAAf,GAAd;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,QAAR,EAAkB;;AAElB,EAAA,EAAE,CAAC,QAAH,CAAY,QAAZ,CAAqB,SAArB,CAA+B,EAA/B;;AACA,SAAO,EAAE,CAAC,QAAV;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n /* istanbul ignore if */\n if (!el._observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n el._observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n !el._observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el)\n else el._observe.init = true\n }, options)\n\n el._observe = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._observe) return\n\n el._observe.observer.unobserve(el)\n delete el._observe\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":";;;;;;;;;AAiBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAoE,KAApE,EAAgF;AAC9E,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJ8E,aAKjD,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP0E;AAAA,MAKtE,OALsE,QAKtE,OALsE;AAAA,MAK7D,OAL6D,QAK7D,OAL6D;;AAQ9E,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA;;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;AACF,QAAI,kBAAC,EAAE,CAAC,QAAJ,aAAC,aAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAD,CAAJ,EAAyC,OADvC,CAC8C;;AAEhD,QAAM,QAAQ,GAAG,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,CAAjB;AACA,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,CAAvB,CAJE,CAMF;AACA;;AACA,QACE,OAAO,KACL,CAAC,SAAS,CAAC,KAAX,IACA,QAAQ,CAAC,IAFJ,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,QAAQ,CAAC,IANX,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAN,CAAtC,KACK,QAAQ,CAAC,IAAT,GAAgB,IAAhB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,EAAA,EAAE,CAAC,QAAH,GAAc,MAAM,CAAC,EAAE,CAAC,QAAJ,CAApB;AACA,EAAA,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,IAAoC;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA,QAAQ,EAAR;AAAf,GAApC;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;AAC5E,MAAI,CAAC,EAAE,CAAC,QAAR,EAAkB;;AAElB,EAAA,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,EAAiC,QAAjC,CAA0C,SAA1C,CAAoD,EAApD;;AACA,SAAO,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,CAAP;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n if (!el._observe?.[vnode.context!._uid]) return // Just in case, should never fire\n\n const _observe = el._observe[vnode.context!._uid]\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (!el._observe) return\n\n el._observe[vnode.context!._uid].observer.unobserve(el)\n delete el._observe[vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
@@ -11,7 +11,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
11
11
 
12
12
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13
13
 
14
- function inserted(el, binding) {
14
+ function inserted(el, binding, vnode) {
15
15
  var modifiers = binding.modifiers || {};
16
16
  var value = binding.value;
17
17
  var callback = _typeof(value) === 'object' ? value.handler : value;
@@ -40,21 +40,22 @@ function inserted(el, binding) {
40
40
 
41
41
  callback(mutationsList, observer); // If has the once modifier, unbind
42
42
 
43
- once && unbind(el);
43
+ once && unbind(el, binding, vnode);
44
44
  });
45
45
  observer.observe(el, options);
46
- el._mutate = {
46
+ el._mutate = Object(el._mutate);
47
+ el._mutate[vnode.context._uid] = {
47
48
  observer: observer
48
49
  };
49
50
  }
50
51
 
51
- function unbind(el) {
52
+ function unbind(el, binding, vnode) {
52
53
  /* istanbul ignore if */
53
54
  if (!el._mutate) return;
54
55
 
55
- el._mutate.observer.disconnect();
56
+ el._mutate[vnode.context._uid].observer.disconnect();
56
57
 
57
- delete el._mutate;
58
+ delete el._mutate[vnode.context._uid];
58
59
  }
59
60
 
60
61
  var Mutate = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH+D,MAIvD,IAJuD,GAI7B,SAJ6B,CAIvD,IAJuD;AAAA,MAI9C,YAJ8C,4BAI7B,SAJ6B;;AAK/D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL+D,CAO/D;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACZ,KAAK,CAAC,OADM,GAEZ,YAAY,CACZ;AADY,IAEV;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IADzB;AAEA,IAAA,SAAS,EAAE,YAAY,CAAC,KAFxB;AAGA,IAAA,OAAO,EAAE,YAAY,CAAC,GAHtB;AAIA,IAAA,aAAa,EAAE,YAAY,CAAC;AAJ5B,GAFU,CAQZ;AARY,IASV;AACA,IAAA,UAAU,EAAE,IADZ;AAEA,IAAA,SAAS,EAAE,IAFX;AAGA,IAAA,OAAO,EAAE,IAHT;AAIA,IAAA,aAAa,EAAE;AAJf,GAXN;AAkBA,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;AACF;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAFf,CAEsB;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJE,CAMF;;AACA,IAAA,IAAI,IAAI,MAAM,CAAC,EAAD,CAAd;AACD,GAXgB,CAAjB;AAaA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa;AAAE,IAAA,QAAQ,EAAR;AAAF,GAAb;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,OAAR,EAAiB;;AAEjB,EAAA,EAAE,CAAC,OAAH,CAAW,QAAX,CAAoB,UAApB;;AACA,SAAO,EAAE,CAAC,OAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver,\n) => void\n\ninterface MutateVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: MutateHandler | { handler: MutateHandler, options?: MutationObserverInit }\n modifiers?: {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const callback = typeof value === 'object' ? value.handler : value!\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n\n // Options take top priority\n const options = typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unbind(el)\n })\n\n observer.observe(el, options)\n el._mutate = { observer }\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._mutate) return\n\n el._mutate.observer.disconnect()\n delete el._mutate\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH6E,MAIrE,IAJqE,GAI3C,SAJ2C,CAIrE,IAJqE;AAAA,MAI5D,YAJ4D,4BAI3C,SAJ2C;;AAK7E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL6E,CAO7E;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACZ,KAAK,CAAC,OADM,GAEZ,YAAY,CACZ;AADY,IAEV;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IADzB;AAEA,IAAA,SAAS,EAAE,YAAY,CAAC,KAFxB;AAGA,IAAA,OAAO,EAAE,YAAY,CAAC,GAHtB;AAIA,IAAA,aAAa,EAAE,YAAY,CAAC;AAJ5B,GAFU,CAQZ;AARY,IASV;AACA,IAAA,UAAU,EAAE,IADZ;AAEA,IAAA,SAAS,EAAE,IAFX;AAGA,IAAA,OAAO,EAAE,IAHT;AAIA,IAAA,aAAa,EAAE;AAJf,GAXN;AAkBA,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;AACF;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAFf,CAEsB;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJE,CAMF;;AACA,IAAA,IAAI,IAAI,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAd;AACD,GAXgB,CAAjB;AAaA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa,MAAM,CAAC,EAAE,CAAC,OAAJ,CAAnB;AACA,EAAA,EAAE,CAAC,OAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,IAAmC;AAAE,IAAA,QAAQ,EAAR;AAAF,GAAnC;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAC3E;AACA,MAAI,CAAC,EAAE,CAAC,OAAR,EAAiB;;AAEjB,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,EAAgC,QAAhC,CAAyC,UAAzC;;AACA,SAAO,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNode, VNodeDirective } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver,\n) => void\n\ninterface MutateVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: MutateHandler | { handler: MutateHandler, options?: MutationObserverInit }\n modifiers?: {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const callback = typeof value === 'object' ? value.handler : value!\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n\n // Options take top priority\n const options = typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unbind(el, binding, vnode)\n })\n\n observer.observe(el, options)\n el._mutate = Object(el._mutate)\n el._mutate![vnode.context!._uid] = { observer }\n}\n\nfunction unbind (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n /* istanbul ignore if */\n if (!el._mutate) return\n\n el._mutate[vnode.context!._uid].observer.disconnect()\n delete el._mutate[vnode.context!._uid]\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.Resize = void 0;
7
7
 
8
- function inserted(el, binding) {
8
+ function inserted(el, binding, vnode) {
9
9
  var callback = binding.value;
10
10
  var options = binding.options || {
11
11
  passive: true
12
12
  };
13
13
  window.addEventListener('resize', callback, options);
14
- el._onResize = {
14
+ el._onResize = Object(el._onResize);
15
+ el._onResize[vnode.context._uid] = {
15
16
  callback: callback,
16
17
  options: options
17
18
  };
@@ -21,13 +22,13 @@ function inserted(el, binding) {
21
22
  }
22
23
  }
23
24
 
24
- function unbind(el) {
25
+ function unbind(el, binding, vnode) {
25
26
  if (!el._onResize) return;
26
- var _el$_onResize = el._onResize,
27
- callback = _el$_onResize.callback,
28
- options = _el$_onResize.options;
27
+ var _el$_onResize$vnode$c = el._onResize[vnode.context._uid],
28
+ callback = _el$_onResize$vnode$c.callback,
29
+ options = _el$_onResize$vnode$c.options;
29
30
  window.removeEventListener('resize', callback, options);
30
- delete el._onResize;
31
+ delete el._onResize[vnode.context._uid];
31
32
  }
32
33
 
33
34
  var Resize = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":";;;;;;;AAOA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAR,IAAmB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAnC;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,QAAlC,EAA4C,OAA5C;AACA,EAAA,EAAE,CAAC,SAAH,GAAe;AACb,IAAA,QAAQ,EAAR,QADa;AAEb,IAAA,OAAO,EAAP;AAFa,GAAf;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AADW,sBAGA,EAAE,CAAC,SAHH;AAAA,MAGtB,QAHsB,iBAGtB,QAHsB;AAAA,MAGZ,OAHY,iBAGZ,OAHY;AAI9B,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AACA,SAAO,EAAE,CAAC,SAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":";;;;;;;AAQA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAR,IAAmB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAnC;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,QAAlC,EAA4C,OAA5C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,QAAQ,EAAR,QADmC;AAEnC,IAAA,OAAO,EAAP;AAFmC,GAArC;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAC3E,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AADwD,8BAG7C,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAH6C;AAAA,MAGnE,QAHmE,yBAGnE,QAHmE;AAAA,MAGzD,OAHyD,yBAGzD,OAHyD;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AAEA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
@@ -13,7 +13,6 @@ var _helpers = require("../../util/helpers");
13
13
 
14
14
  // Styles
15
15
  // Utilities
16
- var rippleStop = Symbol('rippleStop');
17
16
  var DELAY_RIPPLE = 80;
18
17
 
19
18
  function transform(el, value) {
@@ -153,9 +152,9 @@ function isRippleEnabled(value) {
153
152
  function rippleShow(e) {
154
153
  var value = {};
155
154
  var element = e.currentTarget;
156
- if (!element || !element._ripple || element._ripple.touched || e[rippleStop]) return; // Don't allow the event to trigger ripples on any other elements
155
+ if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return; // Don't allow the event to trigger ripples on any other elements
157
156
 
158
- e[rippleStop] = true;
157
+ e.rippleStop = true;
159
158
 
160
159
  if (isTouchEvent(e)) {
161
160
  element._ripple.touched = true;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = value.toString()\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.25)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = value.toString()\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.25)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n"],"sourceRoot":"","file":"index.js"}
@@ -7,7 +7,7 @@ exports.default = exports.Scroll = void 0;
7
7
 
8
8
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
9
 
10
- function inserted(el, binding) {
10
+ function inserted(el, binding, vnode) {
11
11
  var _ref = binding.modifiers || {},
12
12
  _ref$self = _ref.self,
13
13
  self = _ref$self === void 0 ? false : _ref$self;
@@ -20,7 +20,8 @@ function inserted(el, binding) {
20
20
  var target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
21
21
  if (!target) return;
22
22
  target.addEventListener('scroll', handler, options);
23
- el._onScroll = {
23
+ el._onScroll = Object(el._onScroll);
24
+ el._onScroll[vnode.context._uid] = {
24
25
  handler: handler,
25
26
  options: options,
26
27
  // Don't reference self
@@ -28,15 +29,17 @@ function inserted(el, binding) {
28
29
  };
29
30
  }
30
31
 
31
- function unbind(el) {
32
- if (!el._onScroll) return;
33
- var _el$_onScroll = el._onScroll,
34
- handler = _el$_onScroll.handler,
35
- options = _el$_onScroll.options,
36
- _el$_onScroll$target = _el$_onScroll.target,
37
- target = _el$_onScroll$target === void 0 ? el : _el$_onScroll$target;
32
+ function unbind(el, binding, vnode) {
33
+ var _el$_onScroll;
34
+
35
+ if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[vnode.context._uid])) return;
36
+ var _el$_onScroll$vnode$c = el._onScroll[vnode.context._uid],
37
+ handler = _el$_onScroll$vnode$c.handler,
38
+ options = _el$_onScroll$vnode$c.options,
39
+ _el$_onScroll$vnode$c2 = _el$_onScroll$vnode$c.target,
40
+ target = _el$_onScroll$vnode$c2 === void 0 ? el : _el$_onScroll$vnode$c2;
38
41
  target.removeEventListener('scroll', handler, options);
39
- delete el._onScroll;
42
+ delete el._onScroll[vnode.context._uid];
40
43
  }
41
44
 
42
45
  var Scroll = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAAA,aACtC,OAAO,CAAC,SAAR,IAAqB,EADiB;AAAA,uBACvD,IADuD;AAAA,MACvD,IADuD,0BAChD,KADgD;;AAE/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe;AACb,IAAA,OAAO,EAAP,OADa;AAEb,IAAA,OAAO,EAAP,OAFa;AAGb;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJd,GAAf;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AADW,sBAGY,EAAE,CAAC,SAHf;AAAA,MAGtB,OAHsB,iBAGtB,OAHsB;AAAA,MAGb,OAHa,iBAGb,OAHa;AAAA,2CAGJ,MAHI;AAAA,MAGJ,MAHI,qCAGK,EAHL;AAK9B,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAAA,aACpD,OAAO,CAAC,SAAR,IAAqB,EAD+B;AAAA,uBACrE,IADqE;AAAA,MACrE,IADqE,0BAC9D,KAD8D;;AAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,OAAO,EAAP,OADmC;AAEnC,IAAA,OAAO,EAAP,OAFmC;AAGnC;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJQ,GAArC;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAAA;;AAC3E,MAAI,mBAAC,EAAE,CAAC,SAAJ,aAAC,cAAe,KAAK,CAAC,OAAN,CAAe,IAA9B,CAAD,CAAJ,EAA0C;AADiC,8BAGjC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAHiC;AAAA,MAGnE,OAHmE,yBAGnE,OAHmE;AAAA,MAG1D,OAH0D,yBAG1D,OAH0D;AAAA,qDAGjD,MAHiD;AAAA,MAGjD,MAHiD,uCAGxC,EAHwC;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.5.9";
82
+ Vuetify.version = "2.5.13";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
package/es5/locale/fr.js CHANGED
@@ -69,7 +69,7 @@ var _default = {
69
69
  },
70
70
  rating: {
71
71
  ariaLabel: {
72
- icon: 'Rating {0} of {1}'
72
+ icon: 'Note de {0} sur {1}'
73
73
  }
74
74
  }
75
75
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/locale/fr.ts"],"names":[],"mappings":";;;;;;eAAe;AACb,EAAA,KAAK,EAAE,OADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,2CADH;AAEZ,IAAA,WAAW;AAFC,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,kBADP;AAET,MAAA,aAAa,EAAE,gBAFN;AAGT,MAAA,QAAQ,EAAE,WAHD;AAIT,MAAA,YAAY,EAAE,gCAJL;AAKT,MAAA,kBAAkB,EAAE,2CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,qBADR;AAEV,IAAA,eAAe,EAAE,MAFP;AAGV,IAAA,QAAQ,EAAE,eAHA;AAIV,IAAA,QAAQ,EAAE,iBAJA;AAKV,IAAA,SAAS,EAAE,eALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,oBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,wBAHP;AAIV,IAAA,kBAAkB,EAAE,mBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,0BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,gBADA;AAET,IAAA,WAAW,EAAE;AAFJ,GA9CE;AAkDb,EAAA,UAAU,EAAE;AACV,IAAA,EAAE,EAAE,IADM;AAEV,IAAA,EAAE,EAAE;AAFM,GAlDC;AAsDb,EAAA,UAAU,EAAE;AACV,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,0BADA;AAET,MAAA,IAAI,EAAE,eAFG;AAGT,MAAA,QAAQ,EAAE,iBAHD;AAIT,MAAA,IAAI,EAAE,qBAJG;AAKT,MAAA,WAAW,EAAE;AALJ;AADD,GAtDC;AA+Db,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE;AADG;AADL;AA/DK,C","sourcesContent":["export default {\n badge: 'Badge',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n datePicker: {\n itemsSelected: '{0} sélectionné(s)',\n nextMonthAriaLabel: 'Le mois prochain',\n nextYearAriaLabel: `L'année prochaine`,\n prevMonthAriaLabel: 'Le mois précédent',\n prevYearAriaLabel: 'Année précédente',\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}',\n },\n },\n}\n"],"sourceRoot":"","file":"fr.js"}
1
+ {"version":3,"sources":["../../src/locale/fr.ts"],"names":[],"mappings":";;;;;;eAAe;AACb,EAAA,KAAK,EAAE,OADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,2CADH;AAEZ,IAAA,WAAW;AAFC,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,kBADP;AAET,MAAA,aAAa,EAAE,gBAFN;AAGT,MAAA,QAAQ,EAAE,WAHD;AAIT,MAAA,YAAY,EAAE,gCAJL;AAKT,MAAA,kBAAkB,EAAE,2CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,qBADR;AAEV,IAAA,eAAe,EAAE,MAFP;AAGV,IAAA,QAAQ,EAAE,eAHA;AAIV,IAAA,QAAQ,EAAE,iBAJA;AAKV,IAAA,SAAS,EAAE,eALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,oBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,wBAHP;AAIV,IAAA,kBAAkB,EAAE,mBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,0BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,gBADA;AAET,IAAA,WAAW,EAAE;AAFJ,GA9CE;AAkDb,EAAA,UAAU,EAAE;AACV,IAAA,EAAE,EAAE,IADM;AAEV,IAAA,EAAE,EAAE;AAFM,GAlDC;AAsDb,EAAA,UAAU,EAAE;AACV,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,0BADA;AAET,MAAA,IAAI,EAAE,eAFG;AAGT,MAAA,QAAQ,EAAE,iBAHD;AAIT,MAAA,IAAI,EAAE,qBAJG;AAKT,MAAA,WAAW,EAAE;AALJ;AADD,GAtDC;AA+Db,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE;AADG;AADL;AA/DK,C","sourcesContent":["export default {\n badge: 'Badge',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n datePicker: {\n itemsSelected: '{0} sélectionné(s)',\n nextMonthAriaLabel: 'Le mois prochain',\n nextYearAriaLabel: `L'année prochaine`,\n prevMonthAriaLabel: 'Le mois précédent',\n prevYearAriaLabel: 'Année précédente',\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Note de {0} sur {1}',\n },\n },\n}\n"],"sourceRoot":"","file":"fr.js"}
@@ -25,6 +25,12 @@ function validateAttachTarget(val) {
25
25
  if (type === 'boolean' || type === 'string') return true;
26
26
  return val.nodeType === Node.ELEMENT_NODE;
27
27
  }
28
+
29
+ function removeActivator(activator) {
30
+ activator.forEach(function (node) {
31
+ node.elm && node.elm.parentNode && node.elm.parentNode.removeChild(node.elm);
32
+ });
33
+ }
28
34
  /* @vue/component */
29
35
 
30
36
 
@@ -78,23 +84,35 @@ var _default = (0, _mixins.default)(_bootable.default).extend({
78
84
  this.isActive = false;
79
85
  },
80
86
  beforeDestroy: function beforeDestroy() {
81
- // IE11 Fix
82
- try {
83
- if (this.$refs.content && this.$refs.content.parentNode) {
84
- this.$refs.content.parentNode.removeChild(this.$refs.content);
85
- }
86
-
87
- if (this.activatorNode) {
88
- var activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];
89
- activator.forEach(function (node) {
90
- node.elm && node.elm.parentNode && node.elm.parentNode.removeChild(node.elm);
87
+ if (this.$refs.content && this.$refs.content.parentNode) {
88
+ this.$refs.content.parentNode.removeChild(this.$refs.content);
89
+ }
90
+ },
91
+ destroyed: function destroyed() {
92
+ var _this2 = this;
93
+
94
+ if (this.activatorNode) {
95
+ var activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];
96
+
97
+ if (this.$el.isConnected) {
98
+ // Component has been destroyed but the element still exists, we must be in a transition
99
+ // Wait for the transition to finish before cleaning up the detached activator
100
+ var observer = new MutationObserver(function (list) {
101
+ if (list.some(function (record) {
102
+ return Array.from(record.removedNodes).includes(_this2.$el);
103
+ })) {
104
+ observer.disconnect();
105
+ removeActivator(activator);
106
+ }
107
+ });
108
+ observer.observe(this.$el.parentNode, {
109
+ subtree: false,
110
+ childList: true
91
111
  });
112
+ } else {
113
+ removeActivator(activator);
92
114
  }
93
- } catch (e) {
94
- console.log(e);
95
115
  }
96
- /* eslint-disable-line no-console */
97
-
98
116
  },
99
117
  methods: {
100
118
  getScopeIdAttrs: function getScopeIdAttrs() {