@dimailn/vuetify 2.7.2-alpha2 → 2.7.2-alpha21

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 (328) hide show
  1. package/dist/vuetify.css +45 -45
  2. package/dist/vuetify.css.map +1 -1
  3. package/dist/vuetify.js +490 -349
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +2 -2
  6. package/dist/vuetify.min.js +2 -2
  7. package/es5/components/VAppBar/VAppBar.js +7 -12
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAutocomplete/VAutocomplete.js +10 -7
  10. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  11. package/es5/components/VCheckbox/VSimpleCheckbox.js +66 -35
  12. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  13. package/es5/components/VColorPicker/VColorPicker.js +6 -6
  14. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  15. package/es5/components/VData/VData.js +14 -2
  16. package/es5/components/VData/VData.js.map +1 -1
  17. package/es5/components/VDataIterator/VDataIterator.js +4 -3
  18. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  19. package/es5/components/VDataTable/VDataTable.js +2 -2
  20. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  21. package/es5/components/VDataTable/VDataTableHeader.js +4 -3
  22. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  23. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +4 -2
  24. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  25. package/es5/components/VDataTable/VVirtualTable.js +1 -1
  26. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  27. package/es5/components/VDataTable/mixins/header.js +1 -1
  28. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  29. package/es5/components/VDatePicker/VDatePicker.js +6 -6
  30. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  31. package/es5/components/VDialog/VDialog.js +1 -1
  32. package/es5/components/VDialog/VDialog.js.map +1 -1
  33. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  34. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  35. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  36. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  37. package/es5/components/VForm/VForm.js +8 -8
  38. package/es5/components/VForm/VForm.js.map +1 -1
  39. package/es5/components/VGrid/VCol.js +3 -3
  40. package/es5/components/VGrid/VCol.js.map +1 -1
  41. package/es5/components/VGrid/VContainer.js +3 -1
  42. package/es5/components/VGrid/VContainer.js.map +1 -1
  43. package/es5/components/VImg/VImg.js +1 -1
  44. package/es5/components/VImg/VImg.js.map +1 -1
  45. package/es5/components/VInput/VInput.js +1 -1
  46. package/es5/components/VInput/VInput.js.map +1 -1
  47. package/es5/components/VItemGroup/VItem.js +17 -18
  48. package/es5/components/VItemGroup/VItem.js.map +1 -1
  49. package/es5/components/VItemGroup/VItemGroup.js +1 -1
  50. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  51. package/es5/components/VList/VList.js +1 -1
  52. package/es5/components/VList/VList.js.map +1 -1
  53. package/es5/components/VList/VListGroup.js +12 -15
  54. package/es5/components/VList/VListGroup.js.map +1 -1
  55. package/es5/components/VMenu/VMenu.js +1 -1
  56. package/es5/components/VMenu/VMenu.js.map +1 -1
  57. package/es5/components/VOverlay/VOverlay.js +1 -1
  58. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  59. package/es5/components/VRadioGroup/VRadioGroup.js +5 -5
  60. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  61. package/es5/components/VRangeSlider/VRangeSlider.js +1 -1
  62. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  63. package/es5/components/VSelect/VSelect.js +3 -5
  64. package/es5/components/VSelect/VSelect.js.map +1 -1
  65. package/es5/components/VSelect/VSelectList.js +7 -5
  66. package/es5/components/VSelect/VSelectList.js.map +1 -1
  67. package/es5/components/VSparkline/VSparkline.js +6 -6
  68. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  69. package/es5/components/VStepper/VStepperContent.js +1 -1
  70. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  71. package/es5/components/VStepper/VStepperStep.js +1 -1
  72. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  73. package/es5/components/VSubheader/VSubheader.js +3 -3
  74. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  75. package/es5/components/VTabs/VTab.js.map +1 -1
  76. package/es5/components/VTabs/VTabs.js +1 -2
  77. package/es5/components/VTabs/VTabs.js.map +1 -1
  78. package/es5/components/VTextField/VTextField.js +5 -2
  79. package/es5/components/VTextField/VTextField.js.map +1 -1
  80. package/es5/components/VToolbar/VToolbar.js +2 -3
  81. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  82. package/es5/components/VTreeview/VTreeviewNode.js +1 -1
  83. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  84. package/es5/components/transitions/createTransition.js +9 -4
  85. package/es5/components/transitions/createTransition.js.map +1 -1
  86. package/es5/components/transitions/expand-transition.js +8 -7
  87. package/es5/components/transitions/expand-transition.js.map +1 -1
  88. package/es5/directives/intersect/index.js +20 -7
  89. package/es5/directives/intersect/index.js.map +1 -1
  90. package/es5/directives/mutate/index.js +13 -13
  91. package/es5/directives/mutate/index.js.map +1 -1
  92. package/es5/directives/resize/index.js +8 -8
  93. package/es5/directives/resize/index.js.map +1 -1
  94. package/es5/directives/scroll/index.js +10 -9
  95. package/es5/directives/scroll/index.js.map +1 -1
  96. package/es5/directives/touch/index.js +4 -4
  97. package/es5/directives/touch/index.js.map +1 -1
  98. package/es5/framework.js +1 -1
  99. package/es5/install.js +10 -33
  100. package/es5/install.js.map +1 -1
  101. package/es5/mixins/activatable/index.js +9 -4
  102. package/es5/mixins/activatable/index.js.map +1 -1
  103. package/es5/mixins/applicationable/index.js +4 -4
  104. package/es5/mixins/applicationable/index.js.map +1 -1
  105. package/es5/mixins/binds-attrs/index.js +1 -1
  106. package/es5/mixins/binds-attrs/index.js.map +1 -1
  107. package/es5/mixins/detachable/index.js +5 -6
  108. package/es5/mixins/detachable/index.js.map +1 -1
  109. package/es5/mixins/groupable/index.js +1 -1
  110. package/es5/mixins/groupable/index.js.map +1 -1
  111. package/es5/mixins/intersectable/index.js +2 -2
  112. package/es5/mixins/intersectable/index.js.map +1 -1
  113. package/es5/mixins/menuable/index.js +1 -1
  114. package/es5/mixins/menuable/index.js.map +1 -1
  115. package/es5/mixins/overlayable/index.js +5 -4
  116. package/es5/mixins/overlayable/index.js.map +1 -1
  117. package/es5/mixins/proxyable/index.js +0 -4
  118. package/es5/mixins/proxyable/index.js.map +1 -1
  119. package/es5/mixins/selectable/index.js +2 -5
  120. package/es5/mixins/selectable/index.js.map +1 -1
  121. package/es5/mixins/translatable/index.js +1 -1
  122. package/es5/mixins/translatable/index.js.map +1 -1
  123. package/es5/mixins/validatable/index.js +2 -2
  124. package/es5/mixins/validatable/index.js.map +1 -1
  125. package/es5/services/breakpoint/index.js +3 -1
  126. package/es5/services/breakpoint/index.js.map +1 -1
  127. package/es5/util/helpers.js +44 -0
  128. package/es5/util/helpers.js.map +1 -1
  129. package/es5/util/legacyEventsMixin.js +48 -0
  130. package/es5/util/legacyEventsMixin.js.map +1 -0
  131. package/lib/components/VAppBar/VAppBar.js +7 -11
  132. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  133. package/lib/components/VAutocomplete/VAutocomplete.js +11 -8
  134. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  135. package/lib/components/VCheckbox/VSimpleCheckbox.js +72 -36
  136. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  137. package/lib/components/VColorPicker/VColorPicker.js +6 -6
  138. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  139. package/lib/components/VData/VData.js +15 -2
  140. package/lib/components/VData/VData.js.map +1 -1
  141. package/lib/components/VDataIterator/VDataIterator.js +4 -3
  142. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  143. package/lib/components/VDataTable/VDataTable.js +2 -2
  144. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  145. package/lib/components/VDataTable/VDataTableHeader.js +4 -3
  146. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  147. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -1
  148. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  149. package/lib/components/VDataTable/VVirtualTable.js +1 -1
  150. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  151. package/lib/components/VDataTable/mixins/header.js +1 -1
  152. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  153. package/lib/components/VDatePicker/VDatePicker.js +6 -6
  154. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  155. package/lib/components/VDialog/VDialog.js +1 -1
  156. package/lib/components/VDialog/VDialog.js.map +1 -1
  157. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  158. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  159. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  160. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  161. package/lib/components/VForm/VForm.js +8 -8
  162. package/lib/components/VForm/VForm.js.map +1 -1
  163. package/lib/components/VGrid/VCol.js +3 -3
  164. package/lib/components/VGrid/VCol.js.map +1 -1
  165. package/lib/components/VGrid/VContainer.js +3 -1
  166. package/lib/components/VGrid/VContainer.js.map +1 -1
  167. package/lib/components/VImg/VImg.js +1 -1
  168. package/lib/components/VImg/VImg.js.map +1 -1
  169. package/lib/components/VInput/VInput.js +1 -1
  170. package/lib/components/VInput/VInput.js.map +1 -1
  171. package/lib/components/VItemGroup/VItem.js +20 -18
  172. package/lib/components/VItemGroup/VItem.js.map +1 -1
  173. package/lib/components/VItemGroup/VItemGroup.js +1 -1
  174. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  175. package/lib/components/VList/VList.js +1 -1
  176. package/lib/components/VList/VList.js.map +1 -1
  177. package/lib/components/VList/VListGroup.js +11 -15
  178. package/lib/components/VList/VListGroup.js.map +1 -1
  179. package/lib/components/VMenu/VMenu.js +1 -1
  180. package/lib/components/VMenu/VMenu.js.map +1 -1
  181. package/lib/components/VOverlay/VOverlay.js +1 -1
  182. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  183. package/lib/components/VRadioGroup/VRadioGroup.js +5 -7
  184. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  185. package/lib/components/VRangeSlider/VRangeSlider.js +1 -1
  186. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  187. package/lib/components/VSelect/VSelect.js +1 -3
  188. package/lib/components/VSelect/VSelect.js.map +1 -1
  189. package/lib/components/VSelect/VSelectList.js +7 -5
  190. package/lib/components/VSelect/VSelectList.js.map +1 -1
  191. package/lib/components/VSparkline/VSparkline.js +6 -6
  192. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  193. package/lib/components/VStepper/VStepperContent.js +1 -1
  194. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  195. package/lib/components/VStepper/VStepperStep.js +1 -1
  196. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  197. package/lib/components/VSubheader/VSubheader.js +2 -3
  198. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  199. package/lib/components/VTabs/VTab.js.map +1 -1
  200. package/lib/components/VTabs/VTabs.js +1 -2
  201. package/lib/components/VTabs/VTabs.js.map +1 -1
  202. package/lib/components/VTextField/VTextField.js +5 -2
  203. package/lib/components/VTextField/VTextField.js.map +1 -1
  204. package/lib/components/VToolbar/VToolbar.js +4 -3
  205. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  206. package/lib/components/VTreeview/VTreeviewNode.js +1 -1
  207. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  208. package/lib/components/transitions/createTransition.js +1 -1
  209. package/lib/components/transitions/createTransition.js.map +1 -1
  210. package/lib/components/transitions/expand-transition.js +8 -7
  211. package/lib/components/transitions/expand-transition.js.map +1 -1
  212. package/lib/directives/intersect/index.js +20 -7
  213. package/lib/directives/intersect/index.js.map +1 -1
  214. package/lib/directives/mutate/index.js +13 -13
  215. package/lib/directives/mutate/index.js.map +1 -1
  216. package/lib/directives/resize/index.js +8 -8
  217. package/lib/directives/resize/index.js.map +1 -1
  218. package/lib/directives/scroll/index.js +10 -9
  219. package/lib/directives/scroll/index.js.map +1 -1
  220. package/lib/directives/touch/index.js +4 -4
  221. package/lib/directives/touch/index.js.map +1 -1
  222. package/lib/framework.js +1 -1
  223. package/lib/install.js +5 -28
  224. package/lib/install.js.map +1 -1
  225. package/lib/mixins/activatable/index.js +10 -5
  226. package/lib/mixins/activatable/index.js.map +1 -1
  227. package/lib/mixins/applicationable/index.js +4 -4
  228. package/lib/mixins/applicationable/index.js.map +1 -1
  229. package/lib/mixins/binds-attrs/index.js +1 -1
  230. package/lib/mixins/binds-attrs/index.js.map +1 -1
  231. package/lib/mixins/detachable/index.js +6 -7
  232. package/lib/mixins/detachable/index.js.map +1 -1
  233. package/lib/mixins/groupable/index.js +1 -1
  234. package/lib/mixins/groupable/index.js.map +1 -1
  235. package/lib/mixins/intersectable/index.js +2 -2
  236. package/lib/mixins/intersectable/index.js.map +1 -1
  237. package/lib/mixins/menuable/index.js +1 -1
  238. package/lib/mixins/menuable/index.js.map +1 -1
  239. package/lib/mixins/overlayable/index.js +5 -4
  240. package/lib/mixins/overlayable/index.js.map +1 -1
  241. package/lib/mixins/proxyable/index.js +0 -4
  242. package/lib/mixins/proxyable/index.js.map +1 -1
  243. package/lib/mixins/selectable/index.js +2 -5
  244. package/lib/mixins/selectable/index.js.map +1 -1
  245. package/lib/mixins/translatable/index.js +1 -1
  246. package/lib/mixins/translatable/index.js.map +1 -1
  247. package/lib/mixins/validatable/index.js +2 -2
  248. package/lib/mixins/validatable/index.js.map +1 -1
  249. package/lib/services/breakpoint/index.js +3 -1
  250. package/lib/services/breakpoint/index.js.map +1 -1
  251. package/lib/util/helpers.js +42 -0
  252. package/lib/util/helpers.js.map +1 -1
  253. package/lib/util/legacyEventsMixin.js +37 -0
  254. package/lib/util/legacyEventsMixin.js.map +1 -0
  255. package/package.json +1 -1
  256. package/src/components/VAppBar/VAppBar.ts +11 -13
  257. package/src/components/VAutocomplete/VAutocomplete.ts +13 -6
  258. package/src/components/VBottomSheet/VBottomSheet.sass +1 -1
  259. package/src/components/VCheckbox/VSimpleCheckbox.ts +84 -42
  260. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  261. package/src/components/VColorPicker/VColorPicker.ts +6 -6
  262. package/src/components/VData/VData.ts +12 -1
  263. package/src/components/VDataIterator/VDataIterator.ts +5 -3
  264. package/src/components/VDataTable/VDataTable.ts +2 -2
  265. package/src/components/VDataTable/VDataTableHeader.ts +5 -4
  266. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  267. package/src/components/VDataTable/VVirtualTable.ts +1 -1
  268. package/src/components/VDataTable/mixins/header.ts +6 -6
  269. package/src/components/VDatePicker/VDatePicker.ts +6 -6
  270. package/src/components/VDialog/VDialog.ts +1 -1
  271. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  272. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  273. package/src/components/VForm/VForm.ts +8 -8
  274. package/src/components/VGrid/VCol.ts +2 -2
  275. package/src/components/VGrid/VContainer.ts +1 -1
  276. package/src/components/VImg/VImg.ts +1 -1
  277. package/src/components/VInput/VInput.ts +1 -1
  278. package/src/components/VItemGroup/VItem.ts +25 -23
  279. package/src/components/VItemGroup/VItemGroup.ts +3 -3
  280. package/src/components/VList/VList.ts +1 -1
  281. package/src/components/VList/VListGroup.ts +14 -14
  282. package/src/components/VMenu/VMenu.sass +2 -2
  283. package/src/components/VMenu/VMenu.ts +1 -0
  284. package/src/components/VOverlay/VOverlay.ts +1 -1
  285. package/src/components/VRadioGroup/VRadioGroup.ts +8 -9
  286. package/src/components/VRangeSlider/VRangeSlider.ts +1 -1
  287. package/src/components/VSelect/VSelect.ts +6 -5
  288. package/src/components/VSelect/VSelectList.ts +5 -5
  289. package/src/components/VSnackbar/VSnackbar.sass +2 -2
  290. package/src/components/VSparkline/VSparkline.ts +6 -6
  291. package/src/components/VStepper/VStepperContent.ts +1 -1
  292. package/src/components/VStepper/VStepperStep.ts +1 -1
  293. package/src/components/VSubheader/VSubheader.ts +2 -2
  294. package/src/components/VTabs/VTab.ts +1 -1
  295. package/src/components/VTabs/VTabs.ts +1 -2
  296. package/src/components/VTabs/__tests__/VTab.spec.ts +48 -37
  297. package/src/components/VTabs/__tests__/VTabs.spec.ts +134 -79
  298. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +67 -26
  299. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  300. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  301. package/src/components/VTextField/VTextField.ts +4 -3
  302. package/src/components/VToolbar/VToolbar.ts +4 -5
  303. package/src/components/VTreeview/VTreeviewNode.ts +1 -1
  304. package/src/components/transitions/createTransition.ts +1 -2
  305. package/src/components/transitions/expand-transition.ts +9 -7
  306. package/src/directives/intersect/index.ts +81 -42
  307. package/src/directives/mutate/index.ts +58 -49
  308. package/src/directives/resize/index.ts +33 -14
  309. package/src/directives/scroll/index.ts +36 -20
  310. package/src/directives/touch/index.ts +37 -27
  311. package/src/install.ts +10 -32
  312. package/src/mixins/activatable/index.ts +8 -4
  313. package/src/mixins/applicationable/index.ts +4 -4
  314. package/src/mixins/binds-attrs/index.ts +1 -1
  315. package/src/mixins/detachable/index.ts +7 -6
  316. package/src/mixins/groupable/index.ts +1 -1
  317. package/src/mixins/intersectable/index.ts +2 -2
  318. package/src/mixins/menuable/index.ts +1 -1
  319. package/src/mixins/overlayable/index.ts +4 -5
  320. package/src/mixins/proxyable/index.ts +0 -5
  321. package/src/mixins/selectable/index.ts +3 -7
  322. package/src/mixins/translatable/index.ts +1 -1
  323. package/src/mixins/validatable/index.ts +2 -2
  324. package/src/services/breakpoint/index.ts +5 -0
  325. package/src/styles/generic/_transitions.scss +38 -38
  326. package/src/util/__tests__/helpers.spec.ts +62 -1
  327. package/src/util/helpers.ts +42 -1
  328. package/src/util/legacyEventsMixin.ts +34 -0
@@ -1 +1 @@
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,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,OAAH,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAX,CAAJ,EAAwC;;AAExC,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,EAAiC,QAAjC,CAA0C,UAA1C;;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 if (!el._mutate?.[vnode.context!._uid]) 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"}
1
+ {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAmBA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,MAAM,SAAS,GAAI,OAAO,CAAC,SAAR,IAAyC,EAA5D;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAJY,MAKJ,IALI,GAKsB,SALtB,CAKJ,IALI;AAAA,MAKK,YALL,4BAKsB,SALtB;;AAMZ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CANY,CAQZ;;AACA,MAAM,OAAO,GACX,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACI,KAAK,CAAC,OADV,GAEI,YAAY,GACV;AACA;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IAFzB;AAGA,IAAA,SAAS,EAAE,YAAY,CAAC,KAHxB;AAIA,IAAA,OAAO,EAAE,YAAY,CAAC,GAJtB;AAKA,IAAA,aAAa,EAAE,YAAY,CAAC;AAL5B,GADU,GAQV;AACA;AACA,IAAA,UAAU,EAAE,IAFZ;AAGA,IAAA,SAAS,EAAE,IAHX;AAIA,IAAA,OAAO,EAAE,IAJT;AAKA,IAAA,aAAa,EAAE;AALf,GAXR;AAmBA,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CACf,UAAC,aAAD,EAAkC,QAAlC,EAAgE;AAC9D;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAF6C,CAEtC;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJ8D,CAM9D;;AACA,IAAA,IAAI,IAAI,SAAS,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAjB;AACD,GATc,CAAjB;AAYA,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,GAAN,CAAW,GAAvB,IAA8B;AAAE,IAAA,QAAQ,EAAR;AAAF,GAA9B;AACD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,OAAH,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAX,CAAJ,EAAmC;;AAEnC,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,GAAN,CAAW,GAAtB,EAA4B,QAA5B,CAAqC,UAArC;;AACA,SAAO,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,GAAN,CAAW,GAAtB,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,OAAO,EAAP,OADoB;AAEpB,EAAA,SAAS,EAAT;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { DirectiveBinding, VNode } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver\n) => void;\n\ntype MutateValue =\n | MutateHandler\n | { handler: MutateHandler, options?: MutationObserverInit };\n\ntype MutateModifiers = {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n};\n\nfunction mounted (\n el: HTMLElement,\n binding: DirectiveBinding<MutateValue>,\n vnode: VNode\n) {\n const modifiers = (binding.modifiers as MutateModifiers) || {}\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 =\n typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n ? {\n // If we have modifiers, use only those provided\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n : {\n // Defaults to everything on\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver(\n (mutationsList: MutationRecord[], observer: MutationObserver) => {\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 && unmounted(el, binding, vnode)\n }\n )\n\n observer.observe(el, options)\n el._mutate = Object(el._mutate)\n el._mutate![vnode.ctx!.uid] = { observer }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: DirectiveBinding<MutateValue>,\n vnode: VNode\n) {\n if (!el._mutate?.[vnode.ctx!.uid]) return\n\n el._mutate[vnode.ctx!.uid]!.observer.disconnect()\n delete el._mutate[vnode.ctx!.uid]\n}\n\nexport const Mutate = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.Resize = void 0;
7
7
 
8
- function inserted(el, binding, vnode) {
8
+ function mounted(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
14
  el._onResize = Object(el._onResize);
15
- el._onResize[vnode.context._uid] = {
15
+ el._onResize[vnode.ctx.uid] = {
16
16
  callback: callback,
17
17
  options: options
18
18
  };
@@ -22,20 +22,20 @@ function inserted(el, binding, vnode) {
22
22
  }
23
23
  }
24
24
 
25
- function unbind(el, binding, vnode) {
25
+ function unmounted(el, binding, vnode) {
26
26
  var _a;
27
27
 
28
- if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
29
- var _el$_onResize$vnode$c = el._onResize[vnode.context._uid],
28
+ if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
29
+ var _el$_onResize$vnode$c = el._onResize[vnode.ctx.uid],
30
30
  callback = _el$_onResize$vnode$c.callback,
31
31
  options = _el$_onResize$vnode$c.options;
32
32
  window.removeEventListener('resize', callback, options);
33
- delete el._onResize[vnode.context._uid];
33
+ delete el._onResize[vnode.ctx.uid];
34
34
  }
35
35
 
36
36
  var Resize = {
37
- inserted: inserted,
38
- unbind: unbind
37
+ mounted: mounted,
38
+ unmounted: unmounted
39
39
  };
40
40
  exports.Resize = Resize;
41
41
  var _default = Resize;
@@ -1 +1 @@
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,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAb,CAAJ,EAA0C;AADiC,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?.[vnode.context!._uid]) 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"}
1
+ {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":";;;;;;;AAmBA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,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,GAAN,CAAW,GAAzB,IAAgC;AAC9B,IAAA,QAAQ,EAAR,QAD8B;AAE9B,IAAA,OAAO,EAAP;AAF8B,GAAhC;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAb,CAAJ,EAAqC;AAFzB,8BAIkB,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAJlB;AAAA,MAIJ,QAJI,yBAIJ,QAJI;AAAA,MAIM,OAJN,yBAIM,OAJN;AAMZ,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AAEA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAEM,IAAM,MAAM,GAAoB;AACrC,EAAA,OAAO,EAAP,OADqC;AAErC,EAAA,SAAS,EAAT;AAFqC,CAAhC;;eAKQ,M","sourcesContent":["import { DirectiveBinding, ObjectDirective, VNode } from 'vue'\n\ninterface ResizeDirectiveBinding extends DirectiveBinding {\n value: () => void\n options?: boolean | AddEventListenerOptions\n}\n\ndeclare global {\n interface HTMLElement {\n _onResize?: Record<\n number,\n {\n callback: () => void\n options: boolean | AddEventListenerOptions\n }\n >\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ResizeDirectiveBinding,\n vnode: VNode\n) {\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.ctx!.uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ResizeDirectiveBinding,\n vnode: VNode\n) {\n if (!el._onResize?.[vnode.ctx!.uid]) return\n\n const { callback, options } = el._onResize[vnode.ctx!.uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.ctx!.uid]\n}\n\nexport const Resize: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Resize\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, vnode) {
10
+ function mounted(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,8 +20,9 @@ function inserted(el, binding, vnode) {
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 = Object(el._onScroll);
24
- el._onScroll[vnode.context._uid] = {
23
+ el._onScroll = Object(el._onScroll); // В Vue 3 используем vnode.ctx.uid вместо vnode.context._uid
24
+
25
+ el._onScroll[vnode.ctx.uid] = {
25
26
  handler: handler,
26
27
  options: options,
27
28
  // Don't reference self
@@ -29,22 +30,22 @@ function inserted(el, binding, vnode) {
29
30
  };
30
31
  }
31
32
 
32
- function unbind(el, binding, vnode) {
33
+ function unmounted(el, binding, vnode) {
33
34
  var _a;
34
35
 
35
- if (!((_a = el._onScroll) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
36
- var _el$_onScroll$vnode$c = el._onScroll[vnode.context._uid],
36
+ if (!((_a = el._onScroll) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
37
+ var _el$_onScroll$vnode$c = el._onScroll[vnode.ctx.uid],
37
38
  handler = _el$_onScroll$vnode$c.handler,
38
39
  options = _el$_onScroll$vnode$c.options,
39
40
  _el$_onScroll$vnode$c2 = _el$_onScroll$vnode$c.target,
40
41
  target = _el$_onScroll$vnode$c2 === void 0 ? el : _el$_onScroll$vnode$c2;
41
42
  target.removeEventListener('scroll', handler, options);
42
- delete el._onScroll[vnode.context._uid];
43
+ delete el._onScroll[vnode.ctx.uid];
43
44
  }
44
45
 
45
46
  var Scroll = {
46
- inserted: inserted,
47
- unbind: unbind
47
+ mounted: mounted,
48
+ unmounted: unmounted
48
49
  };
49
50
  exports.Scroll = Scroll;
50
51
  var _default = Scroll;
@@ -1 +1 @@
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;;;AAC3E,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAb,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"}
1
+ {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAeA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAAA,aAEa,OAAO,CAAC,SAAR,IAAqB,EAFlC;AAAA,uBAEJ,IAFI;AAAA,MAEJ,IAFI,0BAEG,KAFH;;AAGZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAC9D,IAAA,OAAO,EAAE;AADqD,GAAhE;AAGA,MAAM,OAAO,GACX,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GACI,KADJ,GAEI,KAAK,CAAC,OAHZ;AAKA,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,CAtBY,CAuBZ;;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,GAAN,CAAW,GAAzB,IAAgC;AAC9B,IAAA,OAAO,EAAP,OAD8B;AAE9B,IAAA,OAAO,EAAP,OAF8B;AAG9B;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJG,GAAhC;AAMD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAb,CAAJ,EAAqC;AAFzB,8BAI8B,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAJ9B;AAAA,MAIJ,OAJI,yBAIJ,OAJI;AAAA,MAIK,OAJL,yBAIK,OAJL;AAAA,qDAIc,MAJd;AAAA,MAIc,MAJd,uCAIuB,EAJvB;AAMZ,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAEM,IAAM,MAAM,GAAoB;AACrC,EAAA,OAAO,EAAP,OADqC;AAErC,EAAA,SAAS,EAAT;AAFqC,CAAhC;;eAKQ,M","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value:\n | EventListener\n | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n }\n | (EventListenerObject & { options?: boolean | AddEventListenerOptions })\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || {\n passive: true,\n }\n const handler =\n typeof value === 'function' || 'handleEvent' in value\n ? value\n : 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 // В Vue 3 используем vnode.ctx.uid вместо vnode.context._uid\n el._onScroll![vnode.ctx!.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n if (!el._onScroll?.[vnode.ctx!.uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.ctx!.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.ctx!.uid]\n}\n\nexport const Scroll: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
@@ -85,7 +85,7 @@ function createHandlers(value) {
85
85
  };
86
86
  }
87
87
 
88
- function inserted(el, binding, vnode) {
88
+ function mounted(el, binding, vnode) {
89
89
  var value = binding.value;
90
90
  var target = value.parent ? el.parentElement : el;
91
91
  var options = value.options || {
@@ -101,7 +101,7 @@ function inserted(el, binding, vnode) {
101
101
  });
102
102
  }
103
103
 
104
- function unbind(el, binding, vnode) {
104
+ function unmounted(el, binding, vnode) {
105
105
  var target = binding.value.parent ? el.parentElement : el;
106
106
  if (!target || !target._touchHandlers) return;
107
107
  var handlers = target._touchHandlers[vnode.ctx.uid];
@@ -112,8 +112,8 @@ function unbind(el, binding, vnode) {
112
112
  }
113
113
 
114
114
  var Touch = {
115
- mounted: inserted,
116
- unmounted: unbind
115
+ mounted: mounted,
116
+ unmounted: unmounted
117
117
  };
118
118
  exports.Touch = Touch;
119
119
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.ctx.uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.ctx.uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.ctx.uid]\n}\n\nexport const Touch = {\n mounted: inserted,\n unmounted: unbind,\n}\n\n\n\nexport default makeDirectiveActivatable(Touch)\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left &&\n touchendX < touchstartX - minDistance &&\n wrapper.left(wrapper)\n wrapper.right &&\n touchendX > touchstartX + minDistance &&\n wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper)\n wrapper.down &&\n touchendY > touchstartY + minDistance &&\n wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start && wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end && wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const value = binding.value\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.ctx!.uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(\n eventName,\n handlers[eventName] as EventListener,\n options\n )\n })\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const target = binding.value.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.ctx!.uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.ctx!.uid]\n}\n\nexport const Touch: ObjectDirective<HTMLElement, TouchValue> = {\n mounted,\n unmounted,\n}\n\nexport default makeDirectiveActivatable(Touch)\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.7.2-alpha2";
82
+ Vuetify.version = "2.7.2-alpha20";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
package/es5/install.js CHANGED
@@ -7,6 +7,14 @@ exports.install = install;
7
7
 
8
8
  var _vue = require("vue");
9
9
 
10
+ var _legacyEventsMixin = require("./util/legacyEventsMixin");
11
+
12
+ 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; }
13
+
14
+ 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; }
15
+
16
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
10
18
  function install(Vue) {
11
19
  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
20
  // if ((install as any).installed) return
@@ -46,6 +54,7 @@ function install(Vue) {
46
54
  if (Vue.$_vuetify_installed) return;
47
55
  Vue.$_vuetify_installed = true;
48
56
  Vue.mixin({
57
+ computed: _objectSpread({}, _legacyEventsMixin.legacyEventsMixin.computed),
49
58
  beforeCreate: function beforeCreate() {
50
59
  var options = this.$options;
51
60
 
@@ -72,39 +81,7 @@ function install(Vue) {
72
81
  this.$vuetify.breakpoint.update();
73
82
  }
74
83
  },
75
- methods: {
76
- $emitLegacy: function $emitLegacy(eventName, args) {
77
- if (!this.eventsLegacy || !this.eventsLegacy[eventName]) return;
78
- this.eventsLegacy[eventName].forEach(function (listener) {
79
- return listener(args);
80
- });
81
- },
82
- $on: function $on(eventName, listener) {
83
- var _a;
84
-
85
- this.eventsLegacy || (this.eventsLegacy = {});
86
- (_a = this.eventsLegacy)[eventName] || (_a[eventName] = []);
87
- this.eventsLegacy[eventName].push(listener); // console.warn("$on is not available")
88
- },
89
- $off: function $off(eventName, listener) {
90
- this.eventsLegacy[eventName] = this.eventsLegacy[eventName].filter(function (_listener) {
91
- return _listener !== listener;
92
- }); // console.warn('$off is not available')
93
- }
94
- },
95
- computed: {
96
- $listeners: function $listeners() {
97
- var _this = this;
98
-
99
- var names = Object.keys(this.$attrs).filter(function (name) {
100
- return name.startsWith('on');
101
- });
102
- return names.reduce(function (listeners, name) {
103
- listeners[name] = _this.$attrs[name];
104
- return listeners;
105
- }, {});
106
- }
107
- }
84
+ methods: _objectSpread({}, _legacyEventsMixin.legacyEventsMixin.methods)
108
85
  });
109
86
  }
110
87
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/install.ts"],"names":[],"mappings":"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","sourcesContent":["import { createApp, reactive } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: ReturnType<typeof createApp>, args: VuetifyUseOptions = {}) {\n // if ((install as any).installed) return\n // (install as any).installed = true\n\n// if (OurVue !== Vue) {\n// consoleError(`Multiple instances of Vue detected\n// See https://github.com/vuetifyjs/vuetify/issues/4068\n\n// If you're seeing \"$attrs is readonly\", it's caused by this`)\n// }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext)\n Vue.config.globalProperties.$vuetify = reactive(options.vuetify.framework)\n }\n },\n beforeMount () {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true\n // @ts-ignore\n this.$vuetify.breakpoint.update(true)\n }\n },\n mounted () {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false\n // @ts-ignore\n this.$vuetify.breakpoint.update()\n }\n },\n methods: {\n $emitLegacy(eventName, args) {\n if(!this.eventsLegacy || !this.eventsLegacy[eventName]) return\n\n\n this.eventsLegacy[eventName].forEach(listener => listener(args))\n },\n $on(eventName, listener) {\n this.eventsLegacy ||= {}\n this.eventsLegacy[eventName] ||= []\n this.eventsLegacy[eventName].push(listener)\n // console.warn(\"$on is not available\")\n },\n $off(eventName, listener) {\n this.eventsLegacy[eventName] = this.eventsLegacy[eventName].filter(_listener => _listener !== listener)\n // console.warn('$off is not available')\n }\n },\n computed: {\n $listeners() {\n const names = Object.keys(this.$attrs).filter(name => name.startsWith('on'))\n\n return names.reduce((listeners, name) => {\n listeners[name] = this.$attrs[name]\n return listeners\n }, {})\n }\n }\n })\n}\n"],"sourceRoot":"","file":"install.js"}
1
+ {"version":3,"sources":["../src/install.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;;;;;;;AAEM,SAAU,OAAV,CAAmB,GAAnB,EAAkF;AAAA,MAA5B,IAA4B,uEAAF,EAAE;AACtF;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAL,IAAmB,EAAtC;AACA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAL,IAAmB,EAAtC;;AAEA,OAAK,IAAM,IAAX,IAAmB,UAAnB,EAA+B;AAC7B,QAAM,SAAS,GAAG,UAAU,CAAC,IAAD,CAA5B;AAEA,IAAA,GAAG,CAAC,SAAJ,CAAc,IAAd,EAAoB,SAApB;AACD;;AAED,GAAC,SAAS,kBAAT,CAA6B,UAA7B,EAA4C;AAC3C,QAAI,UAAJ,EAAgB;AACd,WAAK,IAAM,GAAX,IAAkB,UAAlB,EAA8B;AAC5B,YAAM,SAAS,GAAG,UAAU,CAAC,GAAD,CAA5B;;AACA,YAAI,SAAS,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,uBAAX,CAApC,EAAyE;AACvE,UAAA,GAAG,CAAC,SAAJ,CAAc,GAAd,EAAmB,SAAnB;AACD;AACF;;AACD,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD,GAXD,EAWG,UAXH,EApBsF,CAiCtF;AACA;AACA;;;AACA,MAAI,GAAG,CAAC,mBAAR,EAA6B;AAC7B,EAAA,GAAG,CAAC,mBAAJ,GAA0B,IAA1B;AAEA,EAAA,GAAG,CAAC,KAAJ,CAAU;AACR,IAAA,QAAQ,oBACH,qCAAkB,QADf,CADA;AAIR,IAAA,YAJQ,0BAII;AACV,UAAM,OAAO,GAAG,KAAK,QAArB;;AAEA,UAAI,OAAO,CAAC,OAAZ,EAAqB;AACnB,QAAA,OAAO,CAAC,OAAR,CAAgB,IAAhB,CAAqB,IAArB,EAA2B,KAAK,WAAhC;AACA,QAAA,GAAG,CAAC,MAAJ,CAAW,gBAAX,CAA4B,QAA5B,GAAuC,mBAAS,OAAO,CAAC,OAAR,CAAgB,SAAzB,CAAvC;AACD;AACF,KAXO;AAYR,IAAA,WAZQ,yBAYG;AACT;AACA,UAAI,KAAK,QAAL,CAAc,OAAd,IAAyB,KAAK,GAA9B,IAAqC,KAAK,GAAL,CAAS,YAAT,CAAsB,sBAAtB,CAAzC,EAAwF;AACtF;AACA,aAAK,QAAL,CAAc,WAAd,GAA4B,IAA5B,CAFsF,CAGtF;;AACA,aAAK,QAAL,CAAc,UAAd,CAAyB,MAAzB,CAAgC,IAAhC;AACD;AACF,KApBO;AAqBR,IAAA,OArBQ,qBAqBD;AACL;AACA,UAAI,KAAK,QAAL,CAAc,OAAd,IAAyB,KAAK,QAAL,CAAc,WAA3C,EAAwD;AACtD;AACA,aAAK,QAAL,CAAc,WAAd,GAA4B,KAA5B,CAFsD,CAGtD;;AACA,aAAK,QAAL,CAAc,UAAd,CAAyB,MAAzB;AACD;AACF,KA7BO;AA8BR,IAAA,OAAO,oBACF,qCAAkB,OADhB;AA9BC,GAAV;AAkCD","sourcesContent":["import { createApp, reactive } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\nimport { legacyEventsMixin } from './util/legacyEventsMixin'\n\nexport function install (Vue: ReturnType<typeof createApp>, args: VuetifyUseOptions = {}) {\n // if ((install as any).installed) return\n // (install as any).installed = true\n\n // if (OurVue !== Vue) {\n // consoleError(`Multiple instances of Vue detected\n // See https://github.com/vuetifyjs/vuetify/issues/4068\n\n // If you're seeing \"$attrs is readonly\", it's caused by this`)\n // }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n computed: {\n ...legacyEventsMixin.computed,\n },\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext)\n Vue.config.globalProperties.$vuetify = reactive(options.vuetify.framework)\n }\n },\n beforeMount () {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true\n // @ts-ignore\n this.$vuetify.breakpoint.update(true)\n }\n },\n mounted () {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false\n // @ts-ignore\n this.$vuetify.breakpoint.update()\n }\n },\n methods: {\n ...legacyEventsMixin.methods,\n },\n })\n}\n"],"sourceRoot":"","file":"install.js"}
@@ -69,7 +69,7 @@ var _default = baseMixins.extend({
69
69
 
70
70
  this.addActivatorEvents();
71
71
  },
72
- beforeDestroy: function beforeDestroy() {
72
+ beforeUnmount: function beforeUnmount() {
73
73
  this.removeActivatorEvents();
74
74
  },
75
75
  computed: {
@@ -92,7 +92,10 @@ var _default = baseMixins.extend({
92
92
  var node = (0, _helpers.getSlot)(this, 'activator', Object.assign(this.getValueProxy(), {
93
93
  attrs: _objectSpread(_objectSpread({}, this.genActivatorListeners()), this.genActivatorAttributes())
94
94
  })) || [];
95
- this.activatorNode = node;
95
+ node = Array.isArray(node) ? node : [node];
96
+ this.activatorNode = node.flatMap(function (node) {
97
+ return node.type === Symbol.for('v-fgt') ? node.children : node;
98
+ });
96
99
  return node;
97
100
  },
98
101
  genActivatorAttributes: function genActivatorAttributes() {
@@ -142,7 +145,9 @@ var _default = baseMixins.extend({
142
145
  return listeners;
143
146
  },
144
147
  getActivator: function getActivator(e) {
145
- // If we've already fetched the activator, re-use
148
+ var _a; // If we've already fetched the activator, re-use
149
+
150
+
146
151
  if (this.activatorElement) return this.activatorElement;
147
152
  var activator = null;
148
153
 
@@ -163,7 +168,7 @@ var _default = baseMixins.extend({
163
168
  // Use the contents of the activator slot
164
169
  // There's either only one element in it or we
165
170
  // don't have a click event to use as a last resort
166
- var vm = this.activatorNode[0].component.ctx;
171
+ var vm = (_a = this.activatorNode[0].component) === null || _a === void 0 ? void 0 : _a.ctx;
167
172
 
168
173
  if (vm && (vm.isActivatable !== undefined || vm.isMenuable !== undefined)) {
169
174
  // Activator is actually another activatible component, use its activator (#8846)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n }\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeUnmount () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n let node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n }\n })) || []\n\n node = Array.isArray(node) ? node : [node]\n\n this.activatorNode = node.flatMap(node => {\n return node.type === Symbol.for('v-fgt') ? node.children : node\n })\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component?.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -33,7 +33,7 @@ function applicationable(value) {
33
33
  prev ? this.removeApplication(true) : this.callUpdate();
34
34
  },
35
35
  applicationProperty: function applicationProperty(newVal, oldVal) {
36
- this.$vuetify.application.unregister(this._uid, oldVal);
36
+ this.$vuetify.application.unregister(this.$.uid, oldVal);
37
37
  }
38
38
  },
39
39
  activated: function activated() {
@@ -52,18 +52,18 @@ function applicationable(value) {
52
52
  deactivated: function deactivated() {
53
53
  this.removeApplication();
54
54
  },
55
- destroyed: function destroyed() {
55
+ unmounted: function unmounted() {
56
56
  this.removeApplication();
57
57
  },
58
58
  methods: {
59
59
  callUpdate: function callUpdate() {
60
60
  if (!this.app) return;
61
- this.$vuetify.application.register(this._uid, this.applicationProperty, this.updateApplication());
61
+ this.$vuetify.application.register(this.$.uid, this.applicationProperty, this.updateApplication());
62
62
  },
63
63
  removeApplication: function removeApplication() {
64
64
  var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
65
65
  if (!force && !this.app) return;
66
- this.$vuetify.application.unregister(this._uid, this.applicationProperty);
66
+ this.$vuetify.application.unregister(this.$.uid, this.applicationProperty);
67
67
  },
68
68
  updateApplication: function updateApplication() {
69
69
  return 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/applicationable/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAIA;;;;AADA;AAGc,SAAU,eAAV,CAA2B,KAA3B,EAAmE;AAAA,MAArB,MAAqB,uEAAF,EAAE;;AAC/E;AACA,SAAO,qBAAO,2BAAoB,CAAC,UAAD,EAAa,OAAb,CAApB,CAAP,EAAmD,MAAnD,CAA0D;AAC/D,IAAA,IAAI,EAAE,iBADyD;AAG/D,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE;AADA,KAHwD;AAO/D,IAAA,QAAQ,EAAE;AACR,MAAA,mBADQ,iCACW;AACjB,eAAO,KAAP;AACD;AAHO,KAPqD;AAa/D,IAAA,KAAK,EAAE;AACL;AACA;AACA,MAAA,GAHK,eAGA,CAHA,EAGY,IAHZ,EAGyB;AAC5B,QAAA,IAAI,GACA,KAAK,iBAAL,CAAuB,IAAvB,CADA,GAEA,KAAK,UAAL,EAFJ;AAGD,OAPI;AAQL,MAAA,mBARK,+BAQgB,MARhB,EAQwB,MARxB,EAQ8B;AACjC,aAAK,QAAL,CAAc,WAAd,CAA0B,UAA1B,CAAqC,KAAK,IAA1C,EAAgD,MAAhD;AACD;AAVI,KAbwD;AA0B/D,IAAA,SA1B+D,uBA0BtD;AACP,WAAK,UAAL;AACD,KA5B8D;AA8B/D,IAAA,OA9B+D,qBA8BxD;AACL,WAAK,IAAI,CAAC,GAAG,CAAR,EAAW,MAAM,GAAG,MAAM,CAAC,MAAhC,EAAwC,CAAC,GAAG,MAA5C,EAAoD,CAAC,EAArD,EAAyD;AACvD,aAAK,MAAL,CAAY,MAAM,CAAC,CAAD,CAAlB,EAAuB,KAAK,UAA5B;AACD;;AACD,WAAK,UAAL;AACD,KAnC8D;AAqC/D,IAAA,OArC+D,qBAqCxD;AACL,WAAK,UAAL;AACD,KAvC8D;AAyC/D,IAAA,WAzC+D,yBAyCpD;AACT,WAAK,iBAAL;AACD,KA3C8D;AA6C/D,IAAA,SA7C+D,uBA6CtD;AACP,WAAK,iBAAL;AACD,KA/C8D;AAiD/D,IAAA,OAAO,EAAE;AACP,MAAA,UADO,wBACG;AACR,YAAI,CAAC,KAAK,GAAV,EAAe;AAEf,aAAK,QAAL,CAAc,WAAd,CAA0B,QAA1B,CACE,KAAK,IADP,EAEE,KAAK,mBAFP,EAGE,KAAK,iBAAL,EAHF;AAKD,OATM;AAUP,MAAA,iBAVO,+BAUyB;AAAA,YAAb,KAAa,uEAAL,KAAK;AAC9B,YAAI,CAAC,KAAD,IAAU,CAAC,KAAK,GAApB,EAAyB;AAEzB,aAAK,QAAL,CAAc,WAAd,CAA0B,UAA1B,CACE,KAAK,IADP,EAEE,KAAK,mBAFP;AAID,OAjBM;AAkBP,MAAA,iBAAiB,EAAE;AAAA,eAAM,CAAN;AAAA;AAlBZ;AAjDsD,GAA1D,CAAP;AAsED","sourcesContent":["import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/applicationable/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAIA;;;;AADA;AAGc,SAAU,eAAV,CAA2B,KAA3B,EAAmE;AAAA,MAArB,MAAqB,uEAAF,EAAE;;AAC/E;AACA,SAAO,qBAAO,2BAAoB,CAAC,UAAD,EAAa,OAAb,CAApB,CAAP,EAAmD,MAAnD,CAA0D;AAC/D,IAAA,IAAI,EAAE,iBADyD;AAG/D,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE;AADA,KAHwD;AAO/D,IAAA,QAAQ,EAAE;AACR,MAAA,mBADQ,iCACW;AACjB,eAAO,KAAP;AACD;AAHO,KAPqD;AAa/D,IAAA,KAAK,EAAE;AACL;AACA;AACA,MAAA,GAHK,eAGA,CAHA,EAGY,IAHZ,EAGyB;AAC5B,QAAA,IAAI,GACA,KAAK,iBAAL,CAAuB,IAAvB,CADA,GAEA,KAAK,UAAL,EAFJ;AAGD,OAPI;AAQL,MAAA,mBARK,+BAQgB,MARhB,EAQwB,MARxB,EAQ8B;AACjC,aAAK,QAAL,CAAc,WAAd,CAA0B,UAA1B,CAAqC,KAAK,CAAL,CAAO,GAA5C,EAAiD,MAAjD;AACD;AAVI,KAbwD;AA0B/D,IAAA,SA1B+D,uBA0BtD;AACP,WAAK,UAAL;AACD,KA5B8D;AA8B/D,IAAA,OA9B+D,qBA8BxD;AACL,WAAK,IAAI,CAAC,GAAG,CAAR,EAAW,MAAM,GAAG,MAAM,CAAC,MAAhC,EAAwC,CAAC,GAAG,MAA5C,EAAoD,CAAC,EAArD,EAAyD;AACvD,aAAK,MAAL,CAAY,MAAM,CAAC,CAAD,CAAlB,EAAuB,KAAK,UAA5B;AACD;;AACD,WAAK,UAAL;AACD,KAnC8D;AAqC/D,IAAA,OArC+D,qBAqCxD;AACL,WAAK,UAAL;AACD,KAvC8D;AAyC/D,IAAA,WAzC+D,yBAyCpD;AACT,WAAK,iBAAL;AACD,KA3C8D;AA6C/D,IAAA,SA7C+D,uBA6CtD;AACP,WAAK,iBAAL;AACD,KA/C8D;AAiD/D,IAAA,OAAO,EAAE;AACP,MAAA,UADO,wBACG;AACR,YAAI,CAAC,KAAK,GAAV,EAAe;AAEf,aAAK,QAAL,CAAc,WAAd,CAA0B,QAA1B,CACE,KAAK,CAAL,CAAO,GADT,EAEE,KAAK,mBAFP,EAGE,KAAK,iBAAL,EAHF;AAKD,OATM;AAUP,MAAA,iBAVO,+BAUyB;AAAA,YAAb,KAAa,uEAAL,KAAK;AAC9B,YAAI,CAAC,KAAD,IAAU,CAAC,KAAK,GAApB,EAAyB;AAEzB,aAAK,QAAL,CAAc,WAAd,CAA0B,UAA1B,CACE,KAAK,CAAL,CAAO,GADT,EAEE,KAAK,mBAFP;AAID,OAjBM;AAkBP,MAAA,iBAAiB,EAAE;AAAA,eAAM,CAAN;AAAA;AAlBZ;AAjDsD,GAA1D,CAAP;AAsED","sourcesContent":["import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this.$.uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n unmounted () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this.$.uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this.$.uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n"],"sourceRoot":"","file":"index.js"}
@@ -15,7 +15,7 @@ function makeWatcher(property) {
15
15
  return function (val, oldVal) {
16
16
  for (var attr in oldVal) {
17
17
  if (!Object.prototype.hasOwnProperty.call(val, attr)) {
18
- this.$delete(this.$data[property], attr);
18
+ delete this.$data[property][attr];
19
19
  }
20
20
  }
21
21
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,aAAK,OAAL,CAAa,KAAK,KAAL,CAAW,QAAX,CAAb,EAAmC,IAAnC;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,KAAL,CAAW,QAAX,EAAqB,KAArB,IAA6B,GAAG,CAAC,KAAD,CAAhC;AACD;AACF,GATD;AAUD;;eAEc,0BAAgB;AAC7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADuB;AAM7B,EAAA,OAN6B,qBAMtB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAX4B,CAAhB,C","sourcesContent":["import {defineComponent} from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$data[property][attr] = val[attr]\n }\n }\n}\n\nexport default defineComponent({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,eAAO,KAAK,KAAL,CAAW,QAAX,EAAqB,IAArB,CAAP;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,KAAL,CAAW,QAAX,EAAqB,KAArB,IAA6B,GAAG,CAAC,KAAD,CAAhC;AACD;AACF,GATD;AAUD;;eAEc,0BAAgB;AAC7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADuB;AAM7B,EAAA,OAN6B,qBAMtB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAX4B,CAAhB,C","sourcesContent":["import {defineComponent} from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n delete this.$data[property][attr]\n }\n }\n for (const attr in val) {\n this.$data[property][attr] = val[attr]\n }\n }\n}\n\nexport default defineComponent({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _bootable = _interopRequireDefault(require("../bootable"));
9
9
 
10
- var _helpers = require("../../util/helpers");
11
-
12
10
  var _mixins = _interopRequireDefault(require("../../util/mixins"));
13
11
 
14
12
  var _console = require("../../util/console");
@@ -28,7 +26,7 @@ function validateAttachTarget(val) {
28
26
 
29
27
  function removeActivator(activator) {
30
28
  activator.forEach(function (node) {
31
- node.elm && node.elm.parentNode && node.elm.parentNode.removeChild(node.elm);
29
+ node.el && node.el.parentNode && node.el.parentNode.removeChild(node.el);
32
30
  });
33
31
  }
34
32
  /* @vue/component */
@@ -83,12 +81,12 @@ var _default = (0, _mixins.default)(_bootable.default).extend({
83
81
  deactivated: function deactivated() {
84
82
  this.isActive = false;
85
83
  },
86
- beforeDestroy: function beforeDestroy() {
84
+ beforeUnmount: function beforeUnmount() {
87
85
  if (this.$refs.content && this.$refs.content.parentNode) {
88
86
  this.$refs.content.parentNode.removeChild(this.$refs.content);
89
87
  }
90
88
  },
91
- destroyed: function destroyed() {
89
+ unmounted: function unmounted() {
92
90
  var _this2 = this;
93
91
 
94
92
  if (this.activatorNode) {
@@ -116,7 +114,8 @@ var _default = (0, _mixins.default)(_bootable.default).extend({
116
114
  },
117
115
  methods: {
118
116
  getScopeIdAttrs: function getScopeIdAttrs() {
119
- var scopeId = (0, _helpers.getObjectValueByPath)(this.$vnode, 'context.$options._scopeId');
117
+ // В Vue 3 $vnode больше не существует, используем современный способ
118
+ var scopeId = this.$options._scopeId || this.$options.__scopeId;
120
119
  return scopeId && _defineProperty({}, scopeId, '');
121
120
  },
122
121
  initDetach: function initDetach() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/detachable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n}\n\nfunction validateAttachTarget (val: any) {\n const type = typeof val\n\n if (type === 'boolean' || type === 'string') return true\n\n return val.nodeType === Node.ELEMENT_NODE\n}\n\nfunction removeActivator (activator: VNode[]) {\n activator.forEach(node => {\n node.elm &&\n node.elm.parentNode &&\n node.elm.parentNode.removeChild(node.elm)\n })\n}\n\n/* @vue/component */\nexport default mixins<options &\n /* eslint-disable indent */\n ExtractVue<typeof Bootable>\n /* eslint-enable indent */\n>(Bootable).extend({\n name: 'detachable',\n\n props: {\n attach: {\n default: false,\n validator: validateAttachTarget,\n } as PropOptions<boolean | string | Element>,\n contentClass: {\n type: String,\n default: '',\n },\n },\n\n data: () => ({\n activatorNode: null as null | VNode | VNode[],\n hasDetached: false,\n }),\n\n watch: {\n attach () {\n this.hasDetached = false\n this.initDetach()\n },\n hasContent () {\n this.$nextTick(this.initDetach)\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n activator.forEach(node => {\n if (!node.el) return\n if (!this.$el.parentNode) return\n\n const target = this.$el === this.$el.parentNode.firstChild\n ? this.$el\n : this.$el.nextSibling\n\n this.$el.parentNode.insertBefore(node.el, target)\n })\n }\n })\n },\n\n mounted () {\n this.hasContent && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeDestroy () {\n if (\n this.$refs.content &&\n this.$refs.content.parentNode\n ) {\n this.$refs.content.parentNode.removeChild(this.$refs.content)\n }\n },\n\n destroyed () {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n if (this.$el.isConnected) {\n // Component has been destroyed but the element still exists, we must be in a transition\n // Wait for the transition to finish before cleaning up the detached activator\n const observer = new MutationObserver(list => {\n if (\n list.some(record => Array.from(record.removedNodes).includes(this.$el))\n ) {\n observer.disconnect()\n removeActivator(activator)\n }\n })\n observer.observe(this.$el.parentNode!, { subtree: false, childList: true })\n } else {\n removeActivator(activator)\n }\n }\n },\n\n methods: {\n getScopeIdAttrs () {\n const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId')\n\n return scopeId && {\n [scopeId]: '',\n }\n },\n initDetach () {\n if (this._isDestroyed ||\n !this.$refs.content ||\n this.hasDetached ||\n // Leave menu in place if attached\n // and dev has not changed target\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) return\n\n let target\n if (this.attach === false) {\n // Default, detach to app\n target = document.querySelector('[data-app]')\n } else if (typeof this.attach === 'string') {\n // CSS selector\n target = document.querySelector(this.attach)\n } else {\n // DOM Element\n target = this.attach\n }\n\n if (!target) {\n consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n return\n }\n\n target.appendChild(this.$refs.content)\n\n this.hasDetached = true\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/detachable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options {\n $el: HTMLElement\n $refs: {\n content?: HTMLElement\n }\n}\n\nfunction validateAttachTarget (val: any) {\n const type = typeof val\n\n if (type === 'boolean' || type === 'string') return true\n\n return val.nodeType === Node.ELEMENT_NODE\n}\n\nfunction removeActivator (activator: VNode[]) {\n activator.forEach(node => {\n node.el &&\n node.el.parentNode &&\n node.el.parentNode.removeChild(node.el)\n })\n}\n\n/* @vue/component */\nexport default mixins<options &\n /* eslint-disable indent */\n ExtractVue<typeof Bootable>\n /* eslint-enable indent */\n>(Bootable).extend({\n name: 'detachable',\n\n props: {\n attach: {\n default: false,\n validator: validateAttachTarget,\n } as PropOptions<boolean | string | Element>,\n contentClass: {\n type: String,\n default: '',\n },\n },\n\n data: () => ({\n activatorNode: null as null | VNode | VNode[],\n hasDetached: false,\n }),\n\n watch: {\n attach () {\n this.hasDetached = false\n this.initDetach()\n },\n hasContent () {\n this.$nextTick(this.initDetach)\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n activator.forEach(node => {\n if (!node.el) return\n if (!this.$el.parentNode) return\n\n const target = this.$el === this.$el.parentNode.firstChild\n ? this.$el\n : this.$el.nextSibling\n\n this.$el.parentNode.insertBefore(node.el, target)\n })\n }\n })\n },\n\n mounted () {\n this.hasContent && this.initDetach()\n },\n\n deactivated () {\n this.isActive = false\n },\n\n beforeUnmount () {\n if (\n this.$refs.content &&\n this.$refs.content.parentNode\n ) {\n this.$refs.content.parentNode.removeChild(this.$refs.content)\n }\n },\n\n unmounted () {\n if (this.activatorNode) {\n const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n if (this.$el.isConnected) {\n // Component has been destroyed but the element still exists, we must be in a transition\n // Wait for the transition to finish before cleaning up the detached activator\n const observer = new MutationObserver(list => {\n if (\n list.some(record => Array.from(record.removedNodes).includes(this.$el))\n ) {\n observer.disconnect()\n removeActivator(activator)\n }\n })\n observer.observe(this.$el.parentNode!, { subtree: false, childList: true })\n } else {\n removeActivator(activator)\n }\n }\n },\n\n methods: {\n getScopeIdAttrs () {\n // В Vue 3 $vnode больше не существует, используем современный способ\n const scopeId = this.$options._scopeId || this.$options.__scopeId\n\n return scopeId && {\n [scopeId]: '',\n }\n },\n initDetach () {\n if (this._isDestroyed ||\n !this.$refs.content ||\n this.hasDetached ||\n // Leave menu in place if attached\n // and dev has not changed target\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) return\n\n let target\n if (this.attach === false) {\n // Default, detach to app\n target = document.querySelector('[data-app]')\n } else if (typeof this.attach === 'string') {\n // CSS selector\n target = document.querySelector(this.attach)\n } else {\n // DOM Element\n target = this.attach\n }\n\n if (!target) {\n consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n return\n }\n\n target.appendChild(this.$refs.content)\n\n this.hasDetached = true\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -39,7 +39,7 @@ function factory(namespace, child, parent) {
39
39
  created: function created() {
40
40
  this[namespace] && this[namespace].register(this);
41
41
  },
42
- beforeDestroy: function beforeDestroy() {
42
+ beforeUnmount: function beforeUnmount() {
43
43
  this[namespace] && this[namespace].unregister(this);
44
44
  },
45
45
  methods: {