vuetify 2.6.0-beta.0 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/dist/json/attributes.json +108 -60
  2. package/dist/json/tags.json +18 -6
  3. package/dist/json/web-types.json +250 -102
  4. package/dist/vuetify.css +92 -41
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +411 -286
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAutocomplete/VAutocomplete.js +20 -2
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VBanner/VBanner.js +3 -2
  13. package/es5/components/VBanner/VBanner.js.map +1 -1
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js +10 -2
  15. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  16. package/es5/components/VBottomSheet/VBottomSheet.js +1 -4
  17. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarDaily.js +27 -21
  20. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarWeekly.js +14 -10
  22. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  23. package/es5/components/VCalendar/mixins/calendar-with-events.js +23 -22
  24. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  25. package/es5/components/VCalendar/mixins/mouse.js +13 -4
  26. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  27. package/es5/components/VCombobox/VCombobox.js +1 -6
  28. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  29. package/es5/components/VData/VData.js +2 -8
  30. package/es5/components/VData/VData.js.map +1 -1
  31. package/es5/components/VDataTable/MobileRow.js +2 -2
  32. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  33. package/es5/components/VDataTable/Row.js +2 -2
  34. package/es5/components/VDataTable/Row.js.map +1 -1
  35. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  36. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  37. package/es5/components/VDialog/VDialog.js +11 -17
  38. package/es5/components/VDialog/VDialog.js.map +1 -1
  39. package/es5/components/VItemGroup/VItemGroup.js +8 -4
  40. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  41. package/es5/components/VList/VListItem.js +8 -1
  42. package/es5/components/VList/VListItem.js.map +1 -1
  43. package/es5/components/VMenu/VMenu.js +4 -6
  44. package/es5/components/VMenu/VMenu.js.map +1 -1
  45. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +8 -12
  46. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  47. package/es5/components/VOtpInput/VOtpInput.js +16 -25
  48. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  49. package/es5/components/VOverlay/VOverlay.js +1 -0
  50. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  51. package/es5/components/VRadioGroup/VRadioGroup.js +8 -3
  52. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  53. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  54. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  55. package/es5/components/VSelect/VSelect.js +7 -2
  56. package/es5/components/VSelect/VSelect.js.map +1 -1
  57. package/es5/components/VSlideGroup/VSlideGroup.js +4 -3
  58. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  59. package/es5/components/VStepper/VStepperStep.js +12 -1
  60. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  61. package/es5/components/VTabs/VTab.js +18 -6
  62. package/es5/components/VTabs/VTab.js.map +1 -1
  63. package/es5/components/VTextField/VTextField.js +6 -1
  64. package/es5/components/VTextField/VTextField.js.map +1 -1
  65. package/es5/components/VTooltip/VTooltip.js +14 -8
  66. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  67. package/es5/components/VTreeview/VTreeviewNode.js +3 -1
  68. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  69. package/es5/components/transitions/createTransition.js +0 -20
  70. package/es5/components/transitions/createTransition.js.map +1 -1
  71. package/es5/directives/click-outside/index.js +21 -10
  72. package/es5/directives/click-outside/index.js.map +1 -1
  73. package/es5/directives/intersect/index.js +16 -12
  74. package/es5/directives/intersect/index.js.map +1 -1
  75. package/es5/directives/mutate/index.js +10 -8
  76. package/es5/directives/mutate/index.js.map +1 -1
  77. package/es5/directives/resize/index.js +11 -8
  78. package/es5/directives/resize/index.js.map +1 -1
  79. package/es5/directives/ripple/index.js +0 -7
  80. package/es5/directives/ripple/index.js.map +1 -1
  81. package/es5/directives/scroll/index.js +13 -10
  82. package/es5/directives/scroll/index.js.map +1 -1
  83. package/es5/framework.js +1 -1
  84. package/es5/locale/fr.js +1 -1
  85. package/es5/locale/fr.js.map +1 -1
  86. package/es5/locale/it.js +6 -6
  87. package/es5/locale/it.js.map +1 -1
  88. package/es5/mixins/activatable/index.js +6 -2
  89. package/es5/mixins/activatable/index.js.map +1 -1
  90. package/es5/mixins/detachable/index.js +32 -14
  91. package/es5/mixins/detachable/index.js.map +1 -1
  92. package/es5/mixins/intersectable/index.js +11 -2
  93. package/es5/mixins/intersectable/index.js.map +1 -1
  94. package/es5/mixins/menuable/index.js +11 -9
  95. package/es5/mixins/menuable/index.js.map +1 -1
  96. package/es5/mixins/overlayable/index.js +21 -11
  97. package/es5/mixins/overlayable/index.js.map +1 -1
  98. package/es5/mixins/routable/index.js +12 -9
  99. package/es5/mixins/routable/index.js.map +1 -1
  100. package/es5/services/application/index.js +1 -3
  101. package/es5/services/application/index.js.map +1 -1
  102. package/es5/util/helpers.js +5 -5
  103. package/es5/util/helpers.js.map +1 -1
  104. package/lib/components/VAutocomplete/VAutocomplete.js +18 -2
  105. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  106. package/lib/components/VBanner/VBanner.js +3 -2
  107. package/lib/components/VBanner/VBanner.js.map +1 -1
  108. package/lib/components/VBottomNavigation/VBottomNavigation.js +10 -2
  109. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  110. package/lib/components/VBottomSheet/VBottomSheet.js +1 -4
  111. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  112. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  113. package/lib/components/VCalendar/VCalendarDaily.js +27 -15
  114. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  115. package/lib/components/VCalendar/VCalendarWeekly.js +10 -2
  116. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  117. package/lib/components/VCalendar/mixins/calendar-with-events.js +10 -5
  118. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  119. package/lib/components/VCalendar/mixins/mouse.js +9 -4
  120. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  121. package/lib/components/VCombobox/VCombobox.js +1 -6
  122. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  123. package/lib/components/VData/VData.js +2 -4
  124. package/lib/components/VData/VData.js.map +1 -1
  125. package/lib/components/VDataTable/MobileRow.js +2 -2
  126. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  127. package/lib/components/VDataTable/Row.js +2 -2
  128. package/lib/components/VDataTable/Row.js.map +1 -1
  129. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  130. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  131. package/lib/components/VDialog/VDialog.js +11 -16
  132. package/lib/components/VDialog/VDialog.js.map +1 -1
  133. package/lib/components/VItemGroup/VItemGroup.js +7 -5
  134. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  135. package/lib/components/VList/VListItem.js +9 -1
  136. package/lib/components/VList/VListItem.js.map +1 -1
  137. package/lib/components/VMenu/VMenu.js +4 -6
  138. package/lib/components/VMenu/VMenu.js.map +1 -1
  139. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +4 -8
  140. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  141. package/lib/components/VOtpInput/VOtpInput.js +16 -25
  142. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  143. package/lib/components/VOverlay/VOverlay.js +1 -0
  144. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  145. package/lib/components/VRadioGroup/VRadioGroup.js +11 -4
  146. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  147. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  148. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  149. package/lib/components/VSelect/VSelect.js +7 -2
  150. package/lib/components/VSelect/VSelect.js.map +1 -1
  151. package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
  152. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  153. package/lib/components/VStepper/VStepperStep.js +12 -1
  154. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  155. package/lib/components/VTabs/VTab.js +19 -8
  156. package/lib/components/VTabs/VTab.js.map +1 -1
  157. package/lib/components/VTextField/VTextField.js +8 -1
  158. package/lib/components/VTextField/VTextField.js.map +1 -1
  159. package/lib/components/VTooltip/VTooltip.js +14 -8
  160. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  161. package/lib/components/VTreeview/VTreeviewNode.js +3 -1
  162. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  163. package/lib/components/transitions/createTransition.js +0 -6
  164. package/lib/components/transitions/createTransition.js.map +1 -1
  165. package/lib/directives/click-outside/index.js +22 -10
  166. package/lib/directives/click-outside/index.js.map +1 -1
  167. package/lib/directives/intersect/index.js +16 -12
  168. package/lib/directives/intersect/index.js.map +1 -1
  169. package/lib/directives/mutate/index.js +10 -8
  170. package/lib/directives/mutate/index.js.map +1 -1
  171. package/lib/directives/resize/index.js +9 -6
  172. package/lib/directives/resize/index.js.map +1 -1
  173. package/lib/directives/ripple/index.js +0 -7
  174. package/lib/directives/ripple/index.js.map +1 -1
  175. package/lib/directives/scroll/index.js +9 -6
  176. package/lib/directives/scroll/index.js.map +1 -1
  177. package/lib/framework.js +1 -1
  178. package/lib/locale/fr.js +1 -1
  179. package/lib/locale/fr.js.map +1 -1
  180. package/lib/locale/it.js +6 -6
  181. package/lib/locale/it.js.map +1 -1
  182. package/lib/mixins/activatable/index.js +6 -2
  183. package/lib/mixins/activatable/index.js.map +1 -1
  184. package/lib/mixins/detachable/index.js +28 -13
  185. package/lib/mixins/detachable/index.js.map +1 -1
  186. package/lib/mixins/intersectable/index.js +9 -2
  187. package/lib/mixins/intersectable/index.js.map +1 -1
  188. package/lib/mixins/menuable/index.js +11 -9
  189. package/lib/mixins/menuable/index.js.map +1 -1
  190. package/lib/mixins/overlayable/index.js +21 -11
  191. package/lib/mixins/overlayable/index.js.map +1 -1
  192. package/lib/mixins/routable/index.js +16 -9
  193. package/lib/mixins/routable/index.js.map +1 -1
  194. package/lib/services/application/index.js +1 -3
  195. package/lib/services/application/index.js.map +1 -1
  196. package/lib/util/helpers.js +5 -5
  197. package/lib/util/helpers.js.map +1 -1
  198. package/package.json +2 -2
  199. package/src/components/VAutocomplete/VAutocomplete.ts +15 -2
  200. package/src/components/VBanner/VBanner.ts +16 -10
  201. package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -2
  202. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +9 -7
  203. package/src/components/VBottomSheet/VBottomSheet.ts +1 -4
  204. package/src/components/VCalendar/VCalendar.ts +1 -0
  205. package/src/components/VCalendar/VCalendarCategory.sass +10 -3
  206. package/src/components/VCalendar/VCalendarDaily.ts +14 -13
  207. package/src/components/VCalendar/VCalendarWeekly.ts +4 -2
  208. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  209. package/src/components/VCalendar/mixins/calendar-with-events.ts +7 -6
  210. package/src/components/VCalendar/mixins/mouse.ts +10 -4
  211. package/src/components/VCombobox/VCombobox.ts +1 -6
  212. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  213. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +32 -2
  214. package/src/components/VData/VData.ts +2 -4
  215. package/src/components/VDataTable/MobileRow.ts +2 -2
  216. package/src/components/VDataTable/Row.ts +2 -2
  217. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  218. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +4 -4
  219. package/src/components/VDialog/VDialog.sass +1 -1
  220. package/src/components/VDialog/VDialog.ts +10 -14
  221. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +14 -32
  222. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  223. package/src/components/VItemGroup/VItemGroup.ts +5 -3
  224. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +19 -2
  225. package/src/components/VList/VListItem.sass +2 -1
  226. package/src/components/VList/VListItem.ts +7 -1
  227. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  228. package/src/components/VMenu/VMenu.ts +2 -6
  229. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +4 -7
  230. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +1 -1
  231. package/src/components/VOtpInput/VOtpInput.sass +13 -16
  232. package/src/components/VOtpInput/VOtpInput.ts +14 -28
  233. package/src/components/VOtpInput/_variables.scss +2 -4
  234. package/src/components/VOverlay/VOverlay.ts +1 -0
  235. package/src/components/VRadioGroup/VRadioGroup.ts +8 -4
  236. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  237. package/src/components/VSelect/VSelect.ts +5 -1
  238. package/src/components/VSlideGroup/VSlideGroup.ts +8 -2
  239. package/src/components/VStepper/VStepper.sass +4 -4
  240. package/src/components/VStepper/VStepperStep.ts +14 -2
  241. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +18 -6
  242. package/src/components/VTabs/VTab.ts +24 -6
  243. package/src/components/VTabs/VTabs.sass +5 -2
  244. package/src/components/VTextField/VTextField.ts +8 -3
  245. package/src/components/VTextarea/VTextarea.sass +13 -0
  246. package/src/components/VTooltip/VTooltip.ts +14 -7
  247. package/src/components/VTreeview/VTreeviewNode.ts +3 -1
  248. package/src/components/transitions/createTransition.ts +0 -8
  249. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  250. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  251. package/src/directives/click-outside/index.ts +19 -10
  252. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  253. package/src/directives/intersect/index.ts +15 -13
  254. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  255. package/src/directives/mutate/index.ts +9 -9
  256. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  257. package/src/directives/resize/index.ts +11 -6
  258. package/src/directives/ripple/VRipple.sass +4 -1
  259. package/src/directives/ripple/index.ts +0 -7
  260. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  261. package/src/directives/scroll/index.ts +8 -7
  262. package/src/globals.d.ts +10 -12
  263. package/src/locale/fr.ts +1 -1
  264. package/src/locale/it.ts +6 -6
  265. package/src/mixins/activatable/__tests__/__snapshots__/activatable.spec.ts.snap +1 -2
  266. package/src/mixins/activatable/index.ts +6 -2
  267. package/src/mixins/detachable/index.ts +32 -15
  268. package/src/mixins/intersectable/index.ts +11 -2
  269. package/src/mixins/menuable/index.ts +10 -8
  270. package/src/mixins/overlayable/index.ts +22 -11
  271. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  272. package/src/mixins/routable/index.ts +12 -8
  273. package/src/services/application/index.ts +1 -1
  274. package/src/styles/generic/_transitions.scss +219 -215
  275. package/src/styles/settings/_variables.scss +11 -10
  276. package/src/util/helpers.ts +5 -5
  277. package/types/lib.d.ts +2 -0
  278. package/src/directives/ripple/_variables.scss +0 -6
@@ -49,7 +49,8 @@ var _default = baseMixins.extend().extend().extend({
49
49
  }, this.groupClasses);
50
50
  },
51
51
  value: function value() {
52
- var to = this.to || this.href || '';
52
+ var to = this.to || this.href;
53
+ if (to == null) return to;
53
54
 
54
55
  if (this.$router && this.to === Object(this.to)) {
55
56
  var resolve = this.$router.resolve(this.to, this.$route, this.append);
@@ -59,18 +60,29 @@ var _default = baseMixins.extend().extend().extend({
59
60
  return to.replace('#', '');
60
61
  }
61
62
  },
62
- mounted: function mounted() {
63
- this.onRouteChange();
64
- },
65
63
  methods: {
66
64
  click: function click(e) {
67
- // If user provides an
65
+ // Prevent keyboard actions
66
+ // from children elements
67
+ // within disabled tabs
68
+ if (this.disabled) {
69
+ e.preventDefault();
70
+ return;
71
+ } // If user provides an
68
72
  // actual link, do not
69
73
  // prevent default
74
+
75
+
70
76
  if (this.href && this.href.indexOf('#') > -1) e.preventDefault();
71
77
  if (e.detail) this.$el.blur();
72
78
  this.$emit('click', e);
73
79
  this.to || this.toggle();
80
+ },
81
+ toggle: function toggle() {
82
+ // VItemGroup treats a change event as a click
83
+ if (!this.isActive || !this.tabsBar.mandatory && !this.to) {
84
+ this.$emit('change');
85
+ }
74
86
  }
75
87
  },
76
88
  render: function render(h) {
@@ -83,7 +95,7 @@ var _default = baseMixins.extend().extend().extend({
83
95
  data.attrs = _objectSpread(_objectSpread({}, data.attrs), {}, {
84
96
  'aria-selected': String(this.isActive),
85
97
  role: 'tab',
86
- tabindex: 0
98
+ tabindex: this.disabled ? -1 : 0
87
99
  });
88
100
  data.on = _objectSpread(_objectSpread({}, data.on), {}, {
89
101
  keydown: function keydown(e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB;AACA;AACA,wBAAiB,SAAjB,CAJiB,EAKjB,kBALiB,CAAnB;;eAYe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AADH,GAHA;AAUP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAVC;AAcP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,iBAAS;AADX,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,2BAAmB,KAAK;AAH1B,SAIK,KAAK,YAJV;AAMD,KARO;AASR,IAAA,KATQ,mBASH;AACH,UAAI,EAAE,GAAG,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;;AAEA,UAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CADpB,EAEE;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,QAAA,EAAE,GAAG,OAAO,CAAC,IAAb;AACD;;AAED,aAAO,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAzBO,GAdH;AA0CP,EAAA,OA1CO,qBA0CA;AACL,SAAK,aAAL;AACD,GA5CM;AA8CP,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC;AACA;AACA;AACA,UAAI,KAAK,IAAL,IACF,KAAK,IAAL,CAAU,OAAV,CAAkB,GAAlB,IAAyB,CAAC,CAD5B,EAEE,CAAC,CAAC,cAAF;AAEF,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD;AAdM,GA9CF;AA+DP,EAAA,MA/DO,kBA+DC,CA/DD,EA+DE;AAAA;;AAAA,gCACe,KAAK,iBAAL,EADf;AAAA,QACC,GADD,yBACC,GADD;AAAA,QACM,IADN,yBACM,IADN;;AAGP,IAAA,IAAI,CAAC,KAAL,mCACK,IAAI,CAAC,KADV;AAEE,uBAAiB,MAAM,CAAC,KAAK,QAAN,CAFzB;AAGE,MAAA,IAAI,EAAE,KAHR;AAIE,MAAA,QAAQ,EAAE;AAJZ;AAMA,IAAA,IAAI,CAAC,EAAL,mCACK,IAAI,CAAC,EADV;AAEE,MAAA,OAAO,EAAE,iBAAC,CAAD,EAAqB;AAC5B,YAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC,KAAI,CAAC,KAAL,CAAW,CAAX;;AAElC,QAAA,KAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AANH;AASA,WAAO,CAAC,CAAC,GAAD,EAAM,IAAN,EAAY,KAAK,MAAL,CAAY,OAAxB,CAAR;AACD;AAlFM,CAFM,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
@@ -235,7 +235,12 @@ var _default = baseMixins.extend().extend({
235
235
  }, this.setLabelWidth);
236
236
  this.autofocus && this.tryAutofocus();
237
237
  requestAnimationFrame(function () {
238
- return _this.isBooted = true;
238
+ _this.isBooted = true;
239
+ requestAnimationFrame(function () {
240
+ if (!_this.isIntersecting) {
241
+ _this.onResize();
242
+ }
243
+ });
239
244
  });
240
245
  },
241
246
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n\n this.autofocus && this.tryAutofocus()\n\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
1
+ {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
@@ -46,6 +46,10 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dep
46
46
  type: Boolean,
47
47
  default: true
48
48
  },
49
+ openOnFocus: {
50
+ type: Boolean,
51
+ default: true
52
+ },
49
53
  tag: {
50
54
  type: String,
51
55
  default: 'span'
@@ -152,17 +156,19 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dep
152
156
 
153
157
  var listeners = _activatable.default.options.methods.genActivatorListeners.call(this);
154
158
 
155
- listeners.focus = function (e) {
156
- _this2.getActivator(e);
159
+ if (this.openOnFocus) {
160
+ listeners.focus = function (e) {
161
+ _this2.getActivator(e);
157
162
 
158
- _this2.runDelay('open');
159
- };
163
+ _this2.runDelay('open');
164
+ };
160
165
 
161
- listeners.blur = function (e) {
162
- _this2.getActivator(e);
166
+ listeners.blur = function (e) {
167
+ _this2.getActivator(e);
163
168
 
164
- _this2.runDelay('close');
165
- };
169
+ _this2.runDelay('close');
170
+ };
171
+ }
166
172
 
167
173
  listeners.keydown = function (e) {
168
174
  if (e.keyCode === _helpers.keyCodes.esc) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
@@ -48,6 +48,7 @@ var VTreeviewNodeProps = {
48
48
  type: String,
49
49
  default: 'primary'
50
50
  },
51
+ disablePerNode: Boolean,
51
52
  expandIcon: {
52
53
  type: String,
53
54
  default: '$subgroup'
@@ -134,7 +135,7 @@ var VTreeviewNode = baseMixins.extend().extend({
134
135
  },
135
136
  computed: {
136
137
  disabled: function disabled() {
137
- return (0, _helpers.getObjectValueByPath)(this.item, this.itemDisabled) || this.parentIsDisabled && this.selectionType === 'leaf';
138
+ return (0, _helpers.getObjectValueByPath)(this.item, this.itemDisabled) || !this.disablePerNode && this.parentIsDisabled && this.selectionType === 'leaf';
138
139
  },
139
140
  key: function key() {
140
141
  return (0, _helpers.getObjectValueByPath)(this.item, this.itemKey);
@@ -320,6 +321,7 @@ var VTreeviewNode = baseMixins.extend().extend({
320
321
  selectable: this.selectable,
321
322
  selectedColor: this.selectedColor,
322
323
  color: this.color,
324
+ disablePerNode: this.disablePerNode,
323
325
  expandIcon: this.expandIcon,
324
326
  indeterminateIcon: this.indeterminateIcon,
325
327
  offIcon: this.offIcon,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (this.parentIsDisabled && this.selectionType === 'leaf')\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
@@ -10,18 +10,6 @@ var _mergeData = _interopRequireDefault(require("../../util/mergeData"));
10
10
 
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
 
13
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
-
15
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
-
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
-
19
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
20
-
21
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
-
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
-
25
13
  function mergeTransitions() {
26
14
  var _Array;
27
15
 
@@ -117,16 +105,8 @@ function createSimpleTransition(name) {
117
105
 
118
106
  if (context.props.hideOnLeave) {
119
107
  data.on.leave = mergeTransitions(data.on.leave, function (el) {
120
- el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')];
121
108
  el.style.setProperty('display', 'none', 'important');
122
109
  });
123
- data.on.afterLeave = mergeTransitions(data.on.afterLeave, function (el) {
124
- if (el) {
125
- var _el$style;
126
-
127
- el._initialDisplay ? (_el$style = el.style).setProperty.apply(_el$style, ['display'].concat(_toConsumableArray(el._initialDisplay))) : el.style.removeProperty('display');
128
- }
129
- });
130
110
  }
131
111
 
132
112
  return h(tag, (0, _mergeData.default)(context.data, data), context.children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":"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","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')]\n el.style.setProperty('display', 'none', 'important')\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el) {\n el._initialDisplay\n ? el.style.setProperty('display', ...el._initialDisplay)\n : el.style.removeProperty('display')\n }\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
1
+ {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":"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","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
@@ -47,7 +47,7 @@ function checkIsActive(e, binding) {
47
47
  return isActive(e);
48
48
  }
49
49
 
50
- function directive(e, el, binding) {
50
+ function directive(e, el, binding, vnode) {
51
51
  var handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;
52
52
  el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(function () {
53
53
  checkIsActive(e, binding) && handler && handler(e);
@@ -69,9 +69,9 @@ var ClickOutside = {
69
69
  // sure that the root element is
70
70
  // available, iOS does not support
71
71
  // clicks on body
72
- inserted: function inserted(el, binding) {
72
+ inserted: function inserted(el, binding, vnode) {
73
73
  var onClick = function onClick(e) {
74
- return directive(e, el, binding);
74
+ return directive(e, el, binding, vnode);
75
75
  };
76
76
 
77
77
  var onMousedown = function onMousedown(e) {
@@ -82,20 +82,31 @@ var ClickOutside = {
82
82
  app.addEventListener('click', onClick, true);
83
83
  app.addEventListener('mousedown', onMousedown, true);
84
84
  });
85
- el._clickOutside = {
86
- lastMousedownWasOutside: true,
85
+
86
+ if (!el._clickOutside) {
87
+ el._clickOutside = {
88
+ lastMousedownWasOutside: true
89
+ };
90
+ }
91
+
92
+ el._clickOutside[vnode.context._uid] = {
87
93
  onClick: onClick,
88
94
  onMousedown: onMousedown
89
95
  };
90
96
  },
91
- unbind: function unbind(el) {
97
+ unbind: function unbind(el, binding, vnode) {
92
98
  if (!el._clickOutside) return;
93
99
  handleShadow(el, function (app) {
94
- if (!app || !el._clickOutside) return;
95
- app.removeEventListener('click', el._clickOutside.onClick, true);
96
- app.removeEventListener('mousedown', el._clickOutside.onMousedown, true);
100
+ var _el$_clickOutside;
101
+
102
+ if (!app || !((_el$_clickOutside = el._clickOutside) != null && _el$_clickOutside[vnode.context._uid])) return;
103
+ var _el$_clickOutside$vno = el._clickOutside[vnode.context._uid],
104
+ onClick = _el$_clickOutside$vno.onClick,
105
+ onMousedown = _el$_clickOutside$vno.onMousedown;
106
+ app.removeEventListener('click', onClick, true);
107
+ app.removeEventListener('mousedown', onMousedown, true);
97
108
  });
98
- delete el._clickOutside;
109
+ delete el._clickOutside[vnode.context._uid];
99
110
  }
100
111
  };
101
112
  exports.ClickOutside = ClickOutside;