@dimailn/vuetify 2.7.2-alpha39 → 2.7.2-alpha40

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 (117) hide show
  1. package/dist/vuetify.js +56 -27
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VChip/VChip.js +1 -1
  6. package/es5/components/VChip/VChip.js.map +1 -1
  7. package/es5/components/VContent/VContent.js +1 -1
  8. package/es5/components/VContent/VContent.js.map +1 -1
  9. package/es5/components/VFooter/VFooter.js +1 -1
  10. package/es5/components/VFooter/VFooter.js.map +1 -1
  11. package/es5/components/VGrid/VCol.js +1 -1
  12. package/es5/components/VGrid/VCol.js.map +1 -1
  13. package/es5/components/VGrid/VContainer.js +3 -1
  14. package/es5/components/VGrid/VContainer.js.map +1 -1
  15. package/es5/components/VGrid/VRow.js +1 -1
  16. package/es5/components/VGrid/VRow.js.map +1 -1
  17. package/es5/components/VGrid/grid.js +3 -1
  18. package/es5/components/VGrid/grid.js.map +1 -1
  19. package/es5/components/VIcon/VIcon.js +1 -1
  20. package/es5/components/VIcon/VIcon.js.map +1 -1
  21. package/es5/components/VItemGroup/VItemGroup.js +1 -1
  22. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  23. package/es5/components/VLazy/VLazy.js +1 -1
  24. package/es5/components/VLazy/VLazy.js.map +1 -1
  25. package/es5/components/VList/VList.js +1 -1
  26. package/es5/components/VList/VList.js.map +1 -1
  27. package/es5/components/VList/VListItem.js +1 -1
  28. package/es5/components/VList/VListItem.js.map +1 -1
  29. package/es5/components/VMain/VMain.js +1 -1
  30. package/es5/components/VMain/VMain.js.map +1 -1
  31. package/es5/components/VMenu/VMenu.js +6 -2
  32. package/es5/components/VMenu/VMenu.js.map +1 -1
  33. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +3 -2
  34. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  35. package/es5/components/VSheet/VSheet.js +3 -1
  36. package/es5/components/VSheet/VSheet.js.map +1 -1
  37. package/es5/components/VSlideGroup/VSlideGroup.js +23 -15
  38. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  39. package/es5/components/VSnackbar/VSnackbar.js +7 -3
  40. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  41. package/es5/components/VStepper/VStepper.js +1 -1
  42. package/es5/components/VStepper/VStepper.js.map +1 -1
  43. package/es5/components/VToolbar/VToolbar.js +1 -1
  44. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  45. package/es5/components/VTooltip/VTooltip.js +1 -1
  46. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  47. package/es5/framework.js +1 -1
  48. package/es5/util/helpers.js +9 -2
  49. package/es5/util/helpers.js.map +1 -1
  50. package/lib/components/VChip/VChip.js +2 -2
  51. package/lib/components/VChip/VChip.js.map +1 -1
  52. package/lib/components/VContent/VContent.js +2 -2
  53. package/lib/components/VContent/VContent.js.map +1 -1
  54. package/lib/components/VFooter/VFooter.js +2 -2
  55. package/lib/components/VFooter/VFooter.js.map +1 -1
  56. package/lib/components/VGrid/VCol.js +2 -2
  57. package/lib/components/VGrid/VCol.js.map +1 -1
  58. package/lib/components/VGrid/VContainer.js +2 -1
  59. package/lib/components/VGrid/VContainer.js.map +1 -1
  60. package/lib/components/VGrid/VRow.js +2 -2
  61. package/lib/components/VGrid/VRow.js.map +1 -1
  62. package/lib/components/VGrid/grid.js +2 -1
  63. package/lib/components/VGrid/grid.js.map +1 -1
  64. package/lib/components/VIcon/VIcon.js +2 -2
  65. package/lib/components/VIcon/VIcon.js.map +1 -1
  66. package/lib/components/VItemGroup/VItemGroup.js +2 -2
  67. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  68. package/lib/components/VLazy/VLazy.js +2 -2
  69. package/lib/components/VLazy/VLazy.js.map +1 -1
  70. package/lib/components/VList/VList.js +2 -2
  71. package/lib/components/VList/VList.js.map +1 -1
  72. package/lib/components/VList/VListItem.js +2 -2
  73. package/lib/components/VList/VListItem.js.map +1 -1
  74. package/lib/components/VMain/VMain.js +2 -2
  75. package/lib/components/VMain/VMain.js.map +1 -1
  76. package/lib/components/VMenu/VMenu.js +2 -2
  77. package/lib/components/VMenu/VMenu.js.map +1 -1
  78. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +4 -3
  79. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  80. package/lib/components/VSheet/VSheet.js +3 -2
  81. package/lib/components/VSheet/VSheet.js.map +1 -1
  82. package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
  83. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  84. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  85. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  86. package/lib/components/VStepper/VStepper.js +2 -2
  87. package/lib/components/VStepper/VStepper.js.map +1 -1
  88. package/lib/components/VToolbar/VToolbar.js +2 -2
  89. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  90. package/lib/components/VTooltip/VTooltip.js +2 -2
  91. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  92. package/lib/framework.js +1 -1
  93. package/lib/util/helpers.js +5 -2
  94. package/lib/util/helpers.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/components/VChip/VChip.ts +2 -2
  97. package/src/components/VContent/VContent.ts +2 -2
  98. package/src/components/VFooter/VFooter.ts +2 -2
  99. package/src/components/VGrid/VCol.ts +2 -2
  100. package/src/components/VGrid/VContainer.ts +3 -1
  101. package/src/components/VGrid/VRow.ts +2 -2
  102. package/src/components/VGrid/grid.ts +3 -1
  103. package/src/components/VIcon/VIcon.ts +2 -2
  104. package/src/components/VItemGroup/VItemGroup.ts +2 -2
  105. package/src/components/VLazy/VLazy.ts +2 -2
  106. package/src/components/VList/VList.ts +2 -2
  107. package/src/components/VList/VListItem.ts +2 -2
  108. package/src/components/VMain/VMain.ts +2 -2
  109. package/src/components/VMenu/VMenu.ts +2 -2
  110. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +3 -2
  111. package/src/components/VSheet/VSheet.ts +2 -1
  112. package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
  113. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  114. package/src/components/VStepper/VStepper.ts +2 -2
  115. package/src/components/VToolbar/VToolbar.ts +2 -2
  116. package/src/components/VTooltip/VTooltip.ts +2 -2
  117. package/src/util/helpers.ts +9 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,0CAAP,C,CAGA;;AACA,OAAO,MAAP,MAAmB,kBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB,C,CAEA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC;AASA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAE7B,EAAA,OAAO,EAAE,MAFoB;;AAI7B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,QAAQ,EAAE,IADL;AAEL,MAAA,IAAI,EAAE;AAFD,KAAP;AAID,GAT4B;;AAW7B,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KADJ;AAIN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAJH,GAXqB;AAoB7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,MAAM,EAAE,OAHH;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,GAAG,EAAE,OALA;AAML,IAAA,OAAO,EAAE,OANJ;AAOL,IAAA,SAAS,EAAE,OAPN;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,OAAO,EAAE;AATJ,GApBsB;AAgC7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,MAAM,EAAE;AADG,GAAP,CAhCuB;AAoC7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,yBAAiB,KAAK,KAFjB;AAGL,4BAAoB,KAAK,QAHpB;AAIL,wBAAgB,KAAK,IAJhB;AAKL,uBAAe,KAAK,GALf;AAML,2BAAmB,KAAK,OANnB;AAOL,6BAAqB,KAAK,SAPrB;AAQL,4BAAoB,KAAK,OARpB;AASL,8BAAsB,KAAK;AATtB,OAAP;AAWD;;AAbO,GApCmB;AAoD7B,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,CAAE,OAAF,EAA6B;AACnC,WAAK,MAAL,CAAY,IAAZ,CAAiB,OAAjB;AACD,KAHM;;AAIP,IAAA,UAAU,CAAE,OAAF,EAA6B;AACrC,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,SAAZ,CAAsB,CAAC,IAAI,CAAC,CAAC,CAAF,CAAI,GAAJ,KAAY,OAAO,CAAC,CAAR,CAAU,GAAjD,CAAd;AAEA,UAAI,KAAK,GAAG,CAAC,CAAb,EAAgB,KAAK,MAAL,CAAY,MAAZ,CAAmB,KAAnB,EAA0B,CAA1B;AACjB,KARM;;AASP,IAAA,SAAS,CAAE,GAAF,EAAa;AACpB,UAAI,KAAK,MAAT,EAAiB;;AAEjB,WAAK,MAAM,KAAX,IAAoB,KAAK,MAAzB,EAAiC;AAC/B,QAAA,KAAK,CAAC,MAAN,CAAa,GAAb;AACD;AACF;;AAfM,GApDoB;;AAsE7B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,CAAC,KAAK,OAAN,EAAe,QAAf,CADI;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,MAAA,IAAI,EAAE,KAAK,OAAL,IAAgB,KAAK,QAArB,GAAgC,SAAhC,GAA4C,MAHvC;AAIX;AACA,SAAG,KAAK;AALG,KAAb;AAQA,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAAX,EAAsD,OAAO,CAAC,IAAD,CAA7D,CAAR;AACD;;AAhF4B,CAAD,CAA9B","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list',\n extends: VSheet,\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g.$.uid === content.$.uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (): VNode {\n const data = {\n class: [this.classes, 'v-list'],\n style: this.styles,\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n // ...this.attrs$,\n ...this.listeners$,\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VList.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,0CAAP,C,CAGA;;AACA,OAAO,MAAP,MAAmB,kBAAnB;AACA,SAAS,OAAT,EAAkB,WAAlB,QAAqC,oBAArC,C,CAEA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC;AASA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAE7B,EAAA,OAAO,EAAE,MAFoB;;AAI7B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,QAAQ,EAAE,IADL;AAEL,MAAA,IAAI,EAAE;AAFD,KAAP;AAID,GAT4B;;AAW7B,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KADJ;AAIN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAJH,GAXqB;AAoB7B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,MAAM,EAAE,OAHH;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,GAAG,EAAE,OALA;AAML,IAAA,OAAO,EAAE,OANJ;AAOL,IAAA,SAAS,EAAE,OAPN;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,OAAO,EAAE;AATJ,GApBsB;AAgC7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,MAAM,EAAE;AADG,GAAP,CAhCuB;AAoC7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,yBAAiB,KAAK,KAFjB;AAGL,4BAAoB,KAAK,QAHpB;AAIL,wBAAgB,KAAK,IAJhB;AAKL,uBAAe,KAAK,GALf;AAML,2BAAmB,KAAK,OANnB;AAOL,6BAAqB,KAAK,SAPrB;AAQL,4BAAoB,KAAK,OARpB;AASL,8BAAsB,KAAK;AATtB,OAAP;AAWD;;AAbO,GApCmB;AAoD7B,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,CAAE,OAAF,EAA6B;AACnC,WAAK,MAAL,CAAY,IAAZ,CAAiB,OAAjB;AACD,KAHM;;AAIP,IAAA,UAAU,CAAE,OAAF,EAA6B;AACrC,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,SAAZ,CAAsB,CAAC,IAAI,CAAC,CAAC,CAAF,CAAI,GAAJ,KAAY,OAAO,CAAC,CAAR,CAAU,GAAjD,CAAd;AAEA,UAAI,KAAK,GAAG,CAAC,CAAb,EAAgB,KAAK,MAAL,CAAY,MAAZ,CAAmB,KAAnB,EAA0B,CAA1B;AACjB,KARM;;AASP,IAAA,SAAS,CAAE,GAAF,EAAa;AACpB,UAAI,KAAK,MAAT,EAAiB;;AAEjB,WAAK,MAAM,KAAX,IAAoB,KAAK,MAAzB,EAAiC;AAC/B,QAAA,KAAK,CAAC,MAAN,CAAa,GAAb;AACD;AACF;;AAfM,GApDoB;;AAsE7B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,CAAC,KAAK,OAAN,EAAe,QAAf,CADI;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,MAAA,IAAI,EAAE,KAAK,OAAL,IAAgB,KAAK,QAArB,GAAgC,SAAhC,GAA4C,MAHvC;AAIX;AACA,SAAG,KAAK;AALG,KAAb;AAQA,WAAO,CAAC,CAAC,WAAW,CAAC,KAAK,GAAN,CAAZ,EAAwB,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAAxB,EAAmE,OAAO,CAAC,IAAD,CAA1E,CAAR;AACD;;AAhF4B,CAAD,CAA9B","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport { getSlot, getTagValue } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-list',\n extends: VSheet,\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g.$.uid === content.$.uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (): VNode {\n const data = {\n class: [this.classes, 'v-list'],\n style: this.styles,\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n // ...this.attrs$,\n ...this.listeners$,\n }\n\n return h(getTagValue(this.tag), this.setBackgroundColor(this.color, data), getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VList.js"}
@@ -8,7 +8,7 @@ import { factory as GroupableFactory } from '../../mixins/groupable';
8
8
  import Themeable from '../../mixins/themeable';
9
9
  import { factory as ToggleableFactory } from '../../mixins/toggleable'; // Utilities
10
10
 
11
- import { getSlot, keyCodes } from './../../util/helpers';
11
+ import { getSlot, keyCodes, getTagValue } from './../../util/helpers';
12
12
  import mergeData from './../../util/mergeData';
13
13
  import { removed, breaking } from '../../util/console'; // Types
14
14
 
@@ -178,7 +178,7 @@ export default baseMixins.extend({
178
178
  nodeData.class = this.classes;
179
179
  }
180
180
 
181
- const node = typeof tag === 'string' ? h(tag, nodeData, children) : h(tag, nodeData, () => children);
181
+ const node = typeof tag === 'string' ? h(getTagValue(tag), nodeData, children) : h(tag, nodeData, () => children);
182
182
  return withDirectives(node, directives);
183
183
  }
184
184
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mergeData, { mergeClasses } from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed, breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('modelValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n modelValue: null as any as PropType<any>,\n },\n\n emits: [\n 'click',\n 'keydown',\n 'change',\n 'update:modelValue',\n ],\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const { class: _, ...otherAttrs } = this.$attrs\n const attrs: Record<string, any> = {\n ...otherAttrs,\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.modelValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n const attrs = this.genAttrs()\n\n data = mergeData(\n data,\n attrs\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n // Ensure our attrs take precedence over routable\n ...attrs,\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const slotProps = {\n active: this.isActive,\n toggle: this.toggle,\n }\n\n const children = [\n getSlot(this, 'prepend', slotProps),\n getSlot(this, 'default', slotProps),\n getSlot(this, 'append', slotProps),\n ].filter(Boolean)\n\n const nodeData = this.isActive ? this.setTextColor(this.color, data) : data\n\n const attrsClasses = this.$attrs.class\n if (attrsClasses) {\n nodeData.class = [this.classes, attrsClasses]\n } else {\n nodeData.class = this.classes\n }\n\n const node = typeof tag === 'string'\n ? h(tag, nodeData, children)\n : h(tag, nodeData, () => children)\n\n return withDirectives(node, directives)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes, getTagValue } from './../../util/helpers'\nimport mergeData, { mergeClasses } from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed, breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('modelValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n modelValue: null as any as PropType<any>,\n },\n\n emits: [\n 'click',\n 'keydown',\n 'change',\n 'update:modelValue',\n ],\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const { class: _, ...otherAttrs } = this.$attrs\n const attrs: Record<string, any> = {\n ...otherAttrs,\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.modelValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n const attrs = this.genAttrs()\n\n data = mergeData(\n data,\n attrs\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n // Ensure our attrs take precedence over routable\n ...attrs,\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const slotProps = {\n active: this.isActive,\n toggle: this.toggle,\n }\n\n const children = [\n getSlot(this, 'prepend', slotProps),\n getSlot(this, 'default', slotProps),\n getSlot(this, 'append', slotProps),\n ].filter(Boolean)\n\n const nodeData = this.isActive ? this.setTextColor(this.color, data) : data\n\n const attrsClasses = this.$attrs.class\n if (attrsClasses) {\n nodeData.class = [this.classes, attrsClasses]\n } else {\n nodeData.class = this.classes\n }\n\n const node = typeof tag === 'string'\n ? h(getTagValue(tag), nodeData, children)\n : h(tag, nodeData, () => children)\n\n return withDirectives(node, directives)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
@@ -2,7 +2,7 @@
2
2
  import "../../../src/components/VMain/VMain.sass"; // Mixins
3
3
 
4
4
  import SSRBootable from '../../mixins/ssr-bootable';
5
- import { getSlot } from '../../util/helpers'; // Types
5
+ import { getSlot, getTagValue } from '../../util/helpers'; // Types
6
6
 
7
7
  import { defineComponent, h } from 'vue';
8
8
  /* @vue/component */
@@ -43,7 +43,7 @@ export default defineComponent({
43
43
  style: this.styles,
44
44
  ref: 'main'
45
45
  };
46
- return h(this.tag, data, [h('div', {
46
+ return h(getTagValue(this.tag), data, [h('div', {
47
47
  class: 'v-main__wrap'
48
48
  }, getSlot(this))]);
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMain/VMain.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0CAAP,C,CAEA;;AACA,OAAO,WAAP,MAAwB,2BAAxB;AACA,SAAS,OAAT,QAAwB,oBAAxB,C,CAEA;;AACA,SAAgB,eAAhB,EAAiC,CAAjC,QAA0C,KAA1C;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAG7B,EAAA,OAAO,EAAE,WAHoB;AAK7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AADA,GALsB;AAY7B,EAAA,QAAQ,EAAE;AACR,IAAA,MAAM,GAAA;AACJ,YAAM;AACJ,QAAA,GADI;AACC,QAAA,GADD;AACM,QAAA,KADN;AACa,QAAA,MADb;AACqB,QAAA,WADrB;AACkC,QAAA,MADlC;AAC0C,QAAA;AAD1C,UAEF,KAAK,QAAL,CAAc,WAFlB;AAIA,aAAO;AACL,QAAA,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,IADnB;AAEL,QAAA,YAAY,EAAE,GAAG,KAAK,IAFjB;AAGL,QAAA,aAAa,EAAE,GAAG,MAAM,GAAG,WAAT,GAAuB,MAAM,IAH1C;AAIL,QAAA,WAAW,EAAE,GAAG,IAAI;AAJf,OAAP;AAMD;;AAZO,GAZmB;;AA2B7B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,QADI;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,MAAA,GAAG,EAAE;AAHM,KAAb;AAMA,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,IAAX,EAAiB,CACvB,CAAC,CACC,KADD,EAEC;AAAE,MAAA,KAAK,EAAE;AAAT,KAFD,EAGC,OAAO,CAAC,IAAD,CAHR,CADsB,CAAjB,CAAR;AAOD;;AAzC4B,CAAD,CAA9B","sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-main',\n\n extends: SSRBootable,\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (): VNode {\n const data = {\n class: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { class: 'v-main__wrap' },\n getSlot(this),\n ),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMain.js"}
1
+ {"version":3,"sources":["../../../src/components/VMain/VMain.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0CAAP,C,CAEA;;AACA,OAAO,WAAP,MAAwB,2BAAxB;AACA,SAAS,OAAT,EAAkB,WAAlB,QAAqC,oBAArC,C,CAEA;;AACA,SAAgB,eAAhB,EAAiC,CAAjC,QAA0C,KAA1C;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAG7B,EAAA,OAAO,EAAE,WAHoB;AAK7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AADA,GALsB;AAY7B,EAAA,QAAQ,EAAE;AACR,IAAA,MAAM,GAAA;AACJ,YAAM;AACJ,QAAA,GADI;AACC,QAAA,GADD;AACM,QAAA,KADN;AACa,QAAA,MADb;AACqB,QAAA,WADrB;AACkC,QAAA,MADlC;AAC0C,QAAA;AAD1C,UAEF,KAAK,QAAL,CAAc,WAFlB;AAIA,aAAO;AACL,QAAA,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,IADnB;AAEL,QAAA,YAAY,EAAE,GAAG,KAAK,IAFjB;AAGL,QAAA,aAAa,EAAE,GAAG,MAAM,GAAG,WAAT,GAAuB,MAAM,IAH1C;AAIL,QAAA,WAAW,EAAE,GAAG,IAAI;AAJf,OAAP;AAMD;;AAZO,GAZmB;;AA2B7B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,QADI;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,MAAA,GAAG,EAAE;AAHM,KAAb;AAMA,WAAO,CAAC,CAAC,WAAW,CAAC,KAAK,GAAN,CAAZ,EAAwB,IAAxB,EAA8B,CACpC,CAAC,CACC,KADD,EAEC;AAAE,MAAA,KAAK,EAAE;AAAT,KAFD,EAGC,OAAO,CAAC,IAAD,CAHR,CADmC,CAA9B,CAAR;AAOD;;AAzC4B,CAAD,CAA9B","sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport { getSlot, getTagValue } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-main',\n\n extends: SSRBootable,\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (): VNode {\n const data = {\n class: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(getTagValue(this.tag), data, [\n h(\n 'div',\n { class: 'v-main__wrap' },\n getSlot(this),\n ),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMain.js"}
@@ -294,7 +294,7 @@ export default baseMixins.extend({
294
294
  if (!this.transition) return content;
295
295
  return h(Transition, {
296
296
  name: this.transition
297
- }, [content]);
297
+ }, () => [content]);
298
298
  },
299
299
 
300
300
  genDirectives() {
@@ -465,7 +465,7 @@ export default baseMixins.extend({
465
465
  root: true,
466
466
  light: this.light,
467
467
  dark: this.dark
468
- }, [this.genTransition()])])]), directives);
468
+ }, () => [this.genTransition()])])]), directives);
469
469
  }
470
470
 
471
471
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n onScroll: {\n type: Function as PropType<(event: Event) => void>,\n default: undefined,\n },\n },\n\n emits: [\n 'keydown',\n 'update:modelValue',\n 'update:return-value',\n ],\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '220px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\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(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this.$.isUnmounted &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.onKeydown = this.onKeyDown;\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,EAAY,UAAZ,EAAwB,KAAxB,EAA+B,cAA/B,QAAqD,KAArD,C,CACA;;AACA,OAAO,0CAAP,C,CAEA;;AACA,SAAS,cAAT,QAA+B,mBAA/B,C,CAEA;;AACA,OAAO,WAAP,MAAwB,0BAAxB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,OAAO,YAAP,MAAyB,gCAAzB;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,EAAkB,QAAlB,QAAkC,oBAAlC;AACA,SACE,aADF,EAEE,QAFF,QAGO,oBAHP;AAIA,OAAO,IAAP,MAAiB,qBAAjB;AAKA,MAAM,UAAU,GAAG,MAAM,CACvB,SADuB,EAEvB,SAFuB,EAGvB,UAHuB,EAIvB,SAJuB,EAKvB,SALuB,EAMvB,QANuB,CAAzB;AASA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,QADyB;;AAG/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,QAAQ,EAAE,IADL;AAEL;AACA,MAAA,KAAK,EAAE,KAAK;AAHP,KAAP;AAKD,GAT8B;;AAW/B,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,OADD;AAEL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,OADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KAFT;AAML,IAAA,mBAAmB,EAAE;AACnB,MAAA,IAAI,EAAE,OADa;AAEnB,MAAA,OAAO,EAAE;AAFU,KANhB;AAUL,IAAA,QAAQ,EAAE,OAVL;AAWL,IAAA,WAAW,EAAE,OAXR;AAYL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADG;AAET,MAAA,OAAO,EAAE;AAFA,KAZN;AAgBL,IAAA,OAAO,EAAE,OAhBJ;AAiBL,IAAA,OAAO,EAAE,OAjBJ;AAkBL,IAAA,WAAW,EAAE,OAlBR;AAmBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAnBH;AAuBL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADI;AAEV,MAAA,OAAO,EAAE;AAFC,KAvBP;AA2BL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,MADM;AAEZ,MAAA,OAAO,EAAE,OAAO,EAAP;AAFG,KA3BT;AA+BL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,QADE;AAER,MAAA,OAAO,EAAE;AAFD;AA/BL,GAXwB;AAgD/B,EAAA,KAAK,EAAE,CACL,SADK,EAEL,mBAFK,EAGL,qBAHK,CAhDwB;;AAsD/B,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,iBAAiB,EAAE,CADd;AAEL,MAAA,aAAa,EAAE,CAFV;AAGL,MAAA,cAAc,EAAE,KAHX;AAIL,MAAA,SAAS,EAAE,CAAC,CAJP;AAKL,MAAA,aAAa,EAAE,CALV;AAML,MAAA,aAAa,EAAE,IANV;AAOL,MAAA,KAAK,EAAE;AAPF,KAAP;AASD,GAhE8B;;AAkE/B,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,KAAL,CAAW,KAAK,SAAhB,CAAP;AACD,KAHO;;AAIR,IAAA,cAAc,GAAA;AACZ,YAAM,SAAS,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,UAAL,CAAgB,OAAhB,CAAwB,KAAjC,EAAwC,UAAU,CAAC,KAAK,kBAAN,CAAlD,CAAlB;AAEA,UAAI,CAAC,KAAK,IAAV,EAAgB,OAAO,KAAK,QAAL,CAAc,SAAd,KAA4B,GAAnC;AAEhB,aAAO,aAAa,CAAC,KAAK,aAAL,CAAmB,KAAK,YAAL,EAAnB,EAAwC,SAAxC,CAAD,CAAb,IAAqE,GAA5E;AACD,KAVO;;AAWR,IAAA,mBAAmB,GAAA;AACjB,YAAM,MAAM,GAAG,KAAK,IAAL,GACX,OADW,GAEX,aAAa,CAAC,KAAK,SAAN,CAFjB;AAIA,aAAO,MAAM,IAAI,GAAjB;AACD,KAjBO;;AAkBR,IAAA,kBAAkB,GAAA;AAChB,aAAO,aAAa,CAAC,KAAK,QAAN,CAAb,IAAgC,GAAvC;AACD,KApBO;;AAqBR,IAAA,kBAAkB,GAAA;AAChB,UAAI,KAAK,QAAT,EAAmB;AACjB,eAAO,aAAa,CAAC,KAAK,QAAN,CAAb,IAAgC,GAAvC;AACD;;AAED,YAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CACf,KAAK,UAAL,CAAgB,SAAhB,CAA0B,KAA1B,GACA,MAAM,CAAC,KAAK,UAAN,CADN,IAEC,KAAK,IAAL,GAAY,EAAZ,GAAiB,CAFlB,CADe,EAIf,IAAI,CAAC,GAAL,CAAS,KAAK,SAAL,GAAiB,EAA1B,EAA8B,CAA9B,CAJe,CAAjB;AAOA,YAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,kBAAN,CAAT,CAAL,GACvB,QADuB,GAEvB,QAAQ,CAAC,KAAK,kBAAN,CAFZ;AAIA,aAAO,aAAa,CAAC,IAAI,CAAC,GAAL,CACnB,kBADmB,EAEnB,QAFmB,CAAD,CAAb,IAGD,GAHN;AAID,KAzCO;;AA0CR,IAAA,aAAa,GAAA;AACX,YAAM,GAAG,GAAG,CAAC,KAAK,IAAN,GACR,KAAK,OAAL,EADQ,GAER,aAAa,CAAC,KAAK,aAAL,CAAmB,KAAK,iBAAxB,CAAD,CAFjB;AAIA,aAAO,GAAG,IAAI,GAAd;AACD,KAhDO;;AAiDR,IAAA,iBAAiB,GAAA;AACf,aAAO,OAAO,CAAC,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAI,IAAI,IAAI,CAAC,QAAL,GAAgB,CAAC,CAAzC,CAAD,CAAd;AACD,KAnDO;;AAoDR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,SAAS,EAAE,KAAK,mBADX;AAEL,QAAA,QAAQ,EAAE,KAAK,kBAFV;AAGL,QAAA,QAAQ,EAAE,KAAK,kBAHV;AAIL,QAAA,GAAG,EAAE,KAAK,aAJL;AAKL,QAAA,IAAI,EAAE,KAAK,cALN;AAML,QAAA,eAAe,EAAE,KAAK,MANjB;AAOL,QAAA,MAAM,EAAE,KAAK,MAAL,IAAe,KAAK;AAPvB,OAAP;AASD;;AA9DO,GAlEqB;AAmI/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,CAAE,GAAF,EAAK;AACX,UAAI,CAAC,GAAL,EAAU,KAAK,SAAL,GAAiB,CAAC,CAAlB;AACX,KAHI;;AAIL,IAAA,eAAe,CAAE,GAAF,EAAK;AAClB,WAAK,cAAL,GAAsB,GAAtB;AACD,KANI;;AAOL,IAAA,SAAS,CAAE,IAAF,EAAQ,IAAR,EAAY;AACnB,UAAI,IAAI,IAAI,KAAK,KAAjB,EAAwB;AACtB,cAAM,IAAI,GAAG,KAAK,KAAL,CAAW,IAAX,CAAb;AACA,QAAA,IAAI,CAAC,SAAL,CAAe,GAAf,CAAmB,0BAAnB;AACA,cAAM,SAAS,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,SAArC;AACA,cAAM,aAAa,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,YAAzC;;AAEA,YAAI,SAAS,GAAG,IAAI,CAAC,SAAL,GAAiB,CAAjC,EAAoC;AAClC,UAAA,IAAI,CAAC,IAAI,CAAC,SAAL,GAAiB,IAAI,CAAC,YAAvB,EAAqC;AACvC,YAAA,SAAS,EAAE,KAD4B;AAEvC,YAAA,QAAQ,EAAE,GAF6B;AAGvC,YAAA,SAAS,EAAE,KAAK,KAAL,CAAW;AAHiB,WAArC,CAAJ;AAKD,SAND,MAMO,IAAI,SAAS,GAAG,aAAZ,GAA4B,IAAI,CAAC,SAAL,GAAiB,IAAI,CAAC,YAAtB,GAAqC,CAArE,EAAwE;AAC7E,UAAA,IAAI,CAAC,IAAI,CAAC,SAAL,GAAiB,aAAjB,GAAiC,IAAI,CAAC,YAAL,GAAoB,CAAtD,EAAyD;AAC3D,YAAA,SAAS,EAAE,KADgD;AAE3D,YAAA,QAAQ,EAAE,GAFiD;AAG3D,YAAA,SAAS,EAAE,KAAK,KAAL,CAAW;AAHqC,WAAzD,CAAJ;AAKD;AACF;;AAED,MAAA,IAAI,IAAI,KAAK,KAAb,IACE,KAAK,KAAL,CAAW,IAAX,EAAiB,SAAjB,CAA2B,MAA3B,CAAkC,0BAAlC,CADF;AAED;;AA/BI,GAnIwB;;AAqK/B,EAAA,OAAO,GAAA;AACL,UAAM,aAAa,GAAG,CACpB,CAAC,OAAD,EAAU,YAAV,CADoB,EAEpB,CAAC,SAAD,EAAY,qBAAZ,CAFoB,CAAtB;AAKA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,CAAC,QAAD,EAAW,WAAX,CAAD,KAA4B;AAChD,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,QAAQ,CAAC,QAAD,EAAW,WAAX,EAAwB,IAAxB,CAAR;AAC3C,KAFD;AAIA;;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,YAA3B,CAAJ,EAA8C;AAC5C,MAAA,OAAO,CAAC,YAAD,EAAe,IAAf,CAAP;AACD;AACF,GApL8B;;AAsL/B,EAAA,OAAO,GAAA;AACL,SAAK,QAAL,IAAiB,KAAK,YAAL,EAAjB;AACD,GAxL8B;;AA0L/B,EAAA,OAAO,EAAE;AACP,IAAA,QAAQ,GAAA;AACN;AACA;AACA,WAAK,gBAAL,GAHM,CAIN;;AACA,MAAA,qBAAqB,CAAC,MAAK;AACzB;AACA,aAAK,eAAL,GAAuB,IAAvB,CAA4B,MAAK;AAC/B,cAAI,KAAK,KAAL,CAAW,OAAf,EAAwB;AACtB,iBAAK,iBAAL,GAAyB,KAAK,WAAL,EAAzB;AACA,iBAAK,IAAL,KAAc,KAAK,KAAL,CAAW,OAAX,CAAmB,SAAnB,GAA+B,KAAK,kBAAL,EAA7C;AACD;AACF,SALD;AAMD,OARoB,CAArB;AASD,KAfM;;AAgBP,IAAA,kBAAkB,GAAA;AAChB,YAAM,GAAG,GAAG,KAAK,KAAL,CAAW,OAAvB;AACA,YAAM,UAAU,GAAG,GAAG,CAAC,aAAJ,CAAkB,sBAAlB,CAAnB;AACA,YAAM,YAAY,GAAG,GAAG,CAAC,YAAJ,GAAmB,GAAG,CAAC,YAA5C;AAEA,aAAO,UAAU,GACb,IAAI,CAAC,GAAL,CAAS,YAAT,EAAuB,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,UAAU,CAAC,SAAX,GAAuB,GAAG,CAAC,YAAJ,GAAmB,CAA1C,GAA8C,UAAU,CAAC,YAAX,GAA0B,CAApF,CAAvB,CADa,GAEb,GAAG,CAAC,SAFR;AAGD,KAxBM;;AAyBP,IAAA,YAAY,GAAA;AACV,aAAO,QAAQ,CAAC,KAAK,UAAL,CAAgB,SAAhB,CAA0B,IAA1B,GAAiC,KAAK,aAAL,GAAqB,CAAvD,CAAf;AACD,KA3BM;;AA4BP,IAAA,WAAW,GAAA;AACT,YAAM,GAAG,GAAG,KAAK,KAAL,CAAW,OAAvB;AACA,YAAM,UAAU,GAAG,GAAG,CAAC,aAAJ,CAAkB,sBAAlB,CAAnB;;AAEA,UAAI,CAAC,UAAL,EAAiB;AACf,aAAK,aAAL,GAAqB,IAArB;AACD;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,UAArB,EAAiC;AAC/B,eAAO,KAAK,WAAZ;AACD;;AAED,WAAK,aAAL,GAAqB,KAAK,CAAC,IAAN,CAAW,KAAK,KAAhB,EAAuB,OAAvB,CAA+B,UAA/B,CAArB;AAEA,YAAM,uBAAuB,GAAG,UAAU,CAAC,SAAX,GAAuB,KAAK,kBAAL,EAAvD;AACA,YAAM,kBAAkB,GAAI,GAAG,CAAC,aAAJ,CAAkB,cAAlB,EAAkD,SAA9E;AAEA,aAAO,KAAK,WAAL,GAAmB,uBAAnB,GAA6C,kBAA7C,GAAkE,CAAzE;AACD,KA9CM;;AA+CP,IAAA,eAAe,CAAE,CAAF,EAAkB;AAC/B;AACA,WAAK,QAAL;;AAEA,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,iBAA5B,EAA+C;AAC7C;AACD,OAFD,MAEO,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,GAA3B,EAAgC;AACrC,aAAK,QAAL,GAAgB,KAAhB;AACA;AACD,OAHM,MAGA,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,IAA3B,EAAiC;AACtC,aAAK,QAAL;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,EAA3B,EAA+B;AACpC,aAAK,QAAL;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,GAA3B,EAAgC;AACrC,aAAK,QAAL;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,IAA3B,EAAiC;AACtC,aAAK,SAAL;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,KAAvB,IAAgC,KAAK,SAAL,KAAmB,CAAC,CAAxD,EAA2D;AAChE,aAAK,KAAL,CAAW,KAAK,SAAhB,EAA2B,KAA3B;AACD,OAFM,MAEA;AAAE;AAAQ,OAnBc,CAoB/B;;;AACA,MAAA,CAAC,CAAC,cAAF;AACD,KArEM;;AAsEP,IAAA,gBAAgB,CAAE,CAAF,EAAU;AACxB,YAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AAEA,aAAO,KAAK,QAAL,IACL,CAAC,KAAK,CAAL,CAAO,WADH,IAEL,KAAK,YAFA,IAGL,KAAK,KAAL,CAAW,OAHN,IAIL,CAAC,KAAK,KAAL,CAAW,OAAX,CAAmB,QAAnB,CAA4B,MAA5B,CAJH;AAKD,KA9EM;;AA+EP,IAAA,sBAAsB,GAAA;AACpB,YAAM,UAAU,GAAG,WAAW,CAAC,OAAZ,CAAoB,sBAApB,CAA2C,IAA3C,CAAgD,IAAhD,CAAnB;;AAEA,UAAI,KAAK,UAAL,IAAmB,KAAK,UAAL,CAAgB,EAAvC,EAA2C;AACzC,eAAO,EACL,GAAG,UADE;AAEL,mCAAyB,KAAK,UAAL,CAAgB;AAFpC,SAAP;AAID;;AAED,aAAO,UAAP;AACD,KA1FM;;AA2FP,IAAA,qBAAqB,GAAA;AACnB,YAAM,SAAS,GAAG,QAAQ,CAAC,OAAT,CAAiB,qBAAjB,CAAuC,IAAvC,CAA4C,IAA5C,CAAlB;;AAEA,UAAI,CAAC,KAAK,WAAV,EAAuB;AACrB,QAAA,SAAS,CAAC,SAAV,GAAsB,KAAK,SAA3B;AACD;;AAED,aAAO,SAAP;AACD,KAnGM;;AAoGP,IAAA,aAAa,GAAA;AACX,YAAM,OAAO,GAAG,KAAK,UAAL,EAAhB;AAEA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,OAAP;AAEtB,aAAO,CAAC,CAAC,UAAD,EAAa;AACnB,QAAA,IAAI,EAAE,KAAK;AADQ,OAAb,EAEL,MAAM,CAAC,OAAD,CAFD,CAAR;AAGD,KA5GM;;AA6GP,IAAA,aAAa,GAAA;AACX,YAAM,UAAU,GAAG,CAAC,CAClB,KADkB,EAElB,KAAK,eAFa,CAAD,CAAnB,CADW,CAMX;;AACA,UAAI,CAAC,KAAK,WAAN,IAAqB,KAAK,YAA9B,EAA4C;AAC1C,QAAA,UAAU,CAAC,IAAX,CAAgB,CACd,YADc,EAEd;AACE,UAAA,OAAO,EAAE,MAAK;AAAG,iBAAK,QAAL,GAAgB,KAAhB;AAAuB,WAD1C;AAEE,UAAA,gBAAgB,EAAE,KAAK,gBAFzB;AAGE,UAAA,OAAO,EAAE,MAAM,CAAC,KAAK,GAAN,EAAW,GAAG,KAAK,wBAAL,EAAd;AAHjB,SAFc,CAAhB;AAQD;;AAED,aAAO,UAAP;AACD,KAhIM;;AAiIP,IAAA,UAAU,GAAA;AACR,YAAM,OAAO,GAAG,EACd,GAAG,KAAK,eAAL,EADW;AAEd,WAAG,KAAK,YAFM;AAGd,QAAA,IAAI,EAAE,UAAU,KAAK,MAAf,GAAwB,KAAK,MAAL,CAAY,IAApC,GAA2C,MAHnC;AAId,QAAA,KAAK,EAAE,CAAC,iBAAD,EAAoB,EACzB,GAAG,KAAK,gBADiB;AAEzB,aAAG,KAAK,cAFiB;AAGzB,mCAAyB,KAAK,IAHL;AAIzB,oCAA0B,KAAK,cAJN;AAKzB,UAAA,yBAAyB,EAAE,KAAK,QALP;AAMzB,WAAC,KAAK,YAAL,CAAkB,IAAlB,EAAD,GAA4B;AANH,SAApB,CAJO;AAYd,QAAA,KAAK,EAAE,KAAK,MAZE;AAad,QAAA,GAAG,EAAE,SAbS;AAcd,QAAA,OAAO,EAAG,CAAD,IAAa;AACpB,gBAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AAEA,cAAI,MAAM,CAAC,YAAP,CAAoB,UAApB,CAAJ,EAAqC;AACrC,cAAI,KAAK,mBAAT,EAA8B,KAAK,QAAL,GAAgB,KAAhB;AAC/B,SAnBa;AAoBd,QAAA,SAAS,EAAE,KAAK;AApBF,OAAhB;;AAuBA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,OAAO,CAAC,QAAR,GAAmB,KAAK,QAAxB;AACD;;AAED,UAAI,CAAC,KAAK,QAAN,IAAkB,KAAK,WAA3B,EAAwC;AACtC,QAAA,OAAO,CAAC,YAAR,GAAuB,KAAK,iBAA5B;AACD;;AAED,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,OAAO,CAAC,YAAR,GAAuB,KAAK,iBAA5B;AACD;;AAED,YAAM,UAAU,GAAG,KAAK,aAAL,EAAnB;AAEA,aAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ,OAAR,EAAiB,KAAK,cAAL,EAAjB,CAAF,EAA2C,UAA3C,CAArB;AACD,KAxKM;;AAyKP,IAAA,QAAQ,GAAA;AACN,UAAI,CAAC,KAAK,KAAL,CAAW,OAAhB,EAAyB;AAEzB,WAAK,KAAL,GAAa,KAAK,CAAC,IAAN,CAAW,KAAK,KAAL,CAAW,OAAX,CAAmB,gBAAnB,CAAoC,wCAApC,CAAX,CAAb;AACD,KA7KM;;AA8KP,IAAA,iBAAiB,GAAA;AACf,WAAK,QAAL,CAAc,MAAd,EAAsB,MAAK;AACzB,YAAI,KAAK,cAAT,EAAyB;AAEzB,aAAK,cAAL,GAAsB,IAAtB;AACD,OAJD;AAKD,KApLM;;AAqLP,IAAA,iBAAiB,CAAE,CAAF,EAAe;AAC9B;AACA,WAAK,QAAL,CAAc,OAAd,EAAuB,MAAK;;;AAC1B,YAAI,CAAA,EAAA,GAAA,KAAK,KAAL,CAAW,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAE,QAAF,CAAW,CAAC,CAAC,aAAb,CAAtB,EAAkE;AAElE,QAAA,qBAAqB,CAAC,MAAK;AACzB,eAAK,QAAL,GAAgB,KAAhB;AACA,eAAK,cAAL;AACD,SAHoB,CAArB;AAID,OAPD;AAQD,KA/LM;;AAgMP,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAK,SAAL,GAAiB,CAA5B,CAAb;;AAEA,UAAI,CAAC,IAAL,EAAW;AACT,YAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,aAAK,SAAL,GAAiB,CAAC,CAAlB;AACA,aAAK,QAAL;AAEA;AACD;;AAED,WAAK,SAAL;AACA,UAAI,IAAI,CAAC,QAAL,KAAkB,CAAC,CAAvB,EAA0B,KAAK,QAAL;AAC3B,KA9MM;;AA+MP,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAK,SAAL,GAAiB,CAA5B,CAAb;;AAEA,UAAI,CAAC,IAAL,EAAW;AACT,YAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,aAAK,SAAL,GAAiB,KAAK,KAAL,CAAW,MAA5B;AACA,aAAK,QAAL;AAEA;AACD;;AAED,WAAK,SAAL;AACA,UAAI,IAAI,CAAC,QAAL,KAAkB,CAAC,CAAvB,EAA0B,KAAK,QAAL;AAC3B,KA7NM;;AA8NP,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAK,KAAL,CAAW,MAAX,GAAoB,CAA/B,CAAb;AAEA,UAAI,CAAC,IAAL,EAAW;AAEX,WAAK,SAAL,GAAiB,KAAK,KAAL,CAAW,MAAX,GAAoB,CAArC;AAEA,UAAI,IAAI,CAAC,QAAL,KAAkB,CAAC,CAAvB,EAA0B,KAAK,QAAL;AAC3B,KAtOM;;AAuOP,IAAA,SAAS,GAAA;AACP,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,CAAX,CAAb;AAEA,UAAI,CAAC,IAAL,EAAW;AAEX,WAAK,SAAL,GAAiB,CAAjB;AAEA,UAAI,IAAI,CAAC,QAAL,KAAkB,CAAC,CAAvB,EAA0B,KAAK,QAAL;AAC3B,KA/OM;;AAgPP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,UAAI,KAAK,WAAT,EAAsB;;AAEtB,UAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,GAA3B,EAAgC;AAC9B;AACA,QAAA,UAAU,CAAC,MAAK;AAAG,eAAK,QAAL,GAAgB,KAAhB;AAAuB,SAAhC,CAAV;AACA,cAAM,SAAS,GAAG,KAAK,YAAL,EAAlB;AACA,aAAK,SAAL,CAAe,MAAM,SAAS,IAAI,SAAS,CAAC,KAAV,EAAlC;AACD,OALD,MAKO,IACL,CAAC,KAAK,QAAN,IACA,CAAC,QAAQ,CAAC,EAAV,EAAc,QAAQ,CAAC,IAAvB,EAA6B,QAA7B,CAAsC,CAAC,CAAC,OAAxC,CAFK,EAGL;AACA,aAAK,QAAL,GAAgB,IAAhB;AACD,OAbwB,CAezB;;;AACA,WAAK,SAAL,CAAe,MAAM,KAAK,eAAL,CAAqB,CAArB,CAArB;AACD,KAjQM;;AAkQP,IAAA,QAAQ,GAAA;AACN,UAAI,CAAC,KAAK,QAAV,EAAoB,OADd,CAGN;AACA;AACA;;AACA,WAAK,KAAL,CAAW,OAAX,CAAmB,WAAnB;AACA,WAAK,gBAAL,GAPM,CASN;AACA;AACA;AACA;AACA;;AACA,MAAA,YAAY,CAAC,KAAK,aAAN,CAAZ;AACA,WAAK,aAAL,GAAqB,MAAM,CAAC,UAAP,CAAkB,KAAK,gBAAvB,EAAyC,GAAzC,CAArB;AACD;;AAlRM,GA1LsB;;AA+c/B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,CAAC,QAAD,EAAW;AAChB,4BACE,KAAK,MAAL,KAAgB,EAAhB,IACA,KAAK,MAAL,KAAgB,IADhB,IAEA,KAAK,MAAL,KAAgB;AAJF,OAAX;AADI,KAAb;AASA,UAAM,UAAU,GAAG,CAAC,CAClB,MADkB,EAElB,KAAK,QAFa,EAGlB,KAHkB,CAAD,CAAnB,CAVI,CAgBJ;;AAEA,WAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ,IAAR,EAAc,CACnC,CAAC,KAAK,SAAN,IAAmB,KAAK,YAAL,EADgB,EAEnC,KAAK,eAAL,CAAqB,MAAM,CACzB,CAAC,CAAC,cAAD,EAAiB;AAChB,MAAA,IAAI,EAAE,IADU;AAEhB,MAAA,KAAK,EAAE,KAAK,KAFI;AAGhB,MAAA,IAAI,EAAE,KAAK;AAHK,KAAjB,EAIE,MAAM,CAAC,KAAK,aAAL,EAAD,CAJR,CADwB,CAA3B,CAFmC,CAAd,CAAF,EASjB,UATiB,CAArB;AAUD;;AA3e8B,CAAlB,CAAf","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n onScroll: {\n type: Function as PropType<(event: Event) => void>,\n default: undefined,\n },\n },\n\n emits: [\n 'keydown',\n 'update:modelValue',\n 'update:return-value',\n ],\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '220px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\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(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this.$.isUnmounted &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.onKeydown = this.onKeyDown;\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, () => [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, () => [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -15,7 +15,7 @@ import Themeable from '../../mixins/themeable'; // Directives
15
15
  import ClickOutside from '../../directives/click-outside';
16
16
  import Touch from '../../directives/touch'; // Utilities
17
17
 
18
- import { convertToUnit, getSlot } from '../../util/helpers';
18
+ import { convertToUnit, getSlot, getTagValue } from '../../util/helpers';
19
19
  import { breaking } from '../../util/console';
20
20
  import mixins from '../../util/mixins';
21
21
  const baseMixins = mixins(Applicationable('left', ['isActive', 'isMobile', 'miniVariant', 'expandOnHover', 'permanent', 'right', 'temporary', 'width']), Colorable, Dependent, Mobile, Overlayable, SSRBootable, Themeable);
@@ -380,8 +380,9 @@ export default baseMixins.extend({
380
380
 
381
381
  render() {
382
382
  const children = [this.genPrepend(), this.genContent(), this.genAppend(), this.genBorder()];
383
- if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground());
384
- const node = h(this.$tag, this.setBackgroundColor(this.color, {
383
+ if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground()); // this.$tag сейчас всегда равен nav|aside, но оборачиваем в getTagValue на случай возможных изменений
384
+
385
+ const node = h(getTagValue(this.$tag), this.setBackgroundColor(this.color, {
385
386
  class: this.classes,
386
387
  style: this.styles,
387
388
  ...this.genListeners()
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this.$.isUnmounted && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot, getTagValue } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this.$.isUnmounted && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n // this.$tag сейчас всегда равен nav|aside, но оборачиваем в getTagValue на случай возможных изменений\n const node = h(getTagValue(this.$tag), this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -7,7 +7,8 @@ import Colorable from '../../mixins/colorable';
7
7
  import Elevatable from '../../mixins/elevatable';
8
8
  import Measurable from '../../mixins/measurable';
9
9
  import Roundable from '../../mixins/roundable';
10
- import Themeable from '../../mixins/themeable'; // Types
10
+ import Themeable from '../../mixins/themeable';
11
+ import { getTagValue } from '../../util/helpers'; // Types
11
12
 
12
13
  import { defineComponent } from 'vue';
13
14
  /* @vue/component */
@@ -49,7 +50,7 @@ export default defineComponent({
49
50
  style: this.styles,
50
51
  ...this.listeners$
51
52
  };
52
- return h(this.tag, this.setBackgroundColor(this.color, data), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));
53
+ return h(getTagValue(this.tag), this.setBackgroundColor(this.color, data), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));
53
54
  }
54
55
 
55
56
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSheet/VSheet.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,4CAAP,C,CAEA;;AACA,OAAO,UAAP,MAAuB,0BAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAKA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,SADuB;AAE7B,EAAA,MAAM,EAAE,CACN,UADM,EAEN,SAFM,EAGN,UAHM,EAIN,UAJM,EAKN,SALM,EAMN,SANM,CAFqB;AAW7B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAHA,GAXsB;AAoB7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,mBAAW,IADN;AAEL,6BAAqB,KAAK,QAFrB;AAGL,2BAAmB,KAAK,MAHnB;AAIL,WAAG,KAAK,YAJH;AAKL,WAAG,KAAK,gBALH;AAML,WAAG,KAAK;AANH,OAAP;AAQD,KAVO;;AAWR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,gBAAZ;AACD;;AAbO,GApBmB;;AAoC7B,EAAA,MAAM,GAAA;;;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,KAAK,OADD;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,SAAG,KAAK;AAHG,KAAb;AAMA,WAAO,CAAC,CACN,KAAK,GADC,EAEN,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAFM,EAGN,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAHb,CAAR;AAKD;;AAhD4B,CAAD,CAA9B","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-sheet',\n mixins: [\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n ],\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n ...this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default?.()\n )\n },\n})\n"],"sourceRoot":"","file":"VSheet.js"}
1
+ {"version":3,"sources":["../../../src/components/VSheet/VSheet.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,4CAAP,C,CAEA;;AACA,OAAO,UAAP,MAAuB,0BAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AAIA,SAAS,WAAT,QAA4B,oBAA5B,C,CAEA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,SADuB;AAE7B,EAAA,MAAM,EAAE,CACN,UADM,EAEN,SAFM,EAGN,UAHM,EAIN,UAJM,EAKN,SALM,EAMN,SANM,CAFqB;AAW7B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAHA,GAXsB;AAoB7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,mBAAW,IADN;AAEL,6BAAqB,KAAK,QAFrB;AAGL,2BAAmB,KAAK,MAHnB;AAIL,WAAG,KAAK,YAJH;AAKL,WAAG,KAAK,gBALH;AAML,WAAG,KAAK;AANH,OAAP;AAQD,KAVO;;AAWR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,gBAAZ;AACD;;AAbO,GApBmB;;AAoC7B,EAAA,MAAM,GAAA;;;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,KAAK,OADD;AAEX,MAAA,KAAK,EAAE,KAAK,MAFD;AAGX,SAAG,KAAK;AAHG,KAAb;AAMA,WAAO,CAAC,CACN,WAAW,CAAC,KAAK,GAAN,CADL,EAEN,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAFM,EAGN,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAHb,CAAR;AAKD;;AAhD4B,CAAD,CAA9B","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { getTagValue } from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-sheet',\n mixins: [\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n ],\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n ...this.listeners$,\n }\n\n return h(\n getTagValue(this.tag),\n this.setBackgroundColor(this.color, data),\n this.$slots.default?.()\n )\n },\n})\n"],"sourceRoot":"","file":"VSheet.js"}
@@ -263,7 +263,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
263
263
  if (!this.showArrows && !hasAffix) return null;
264
264
  return h(VIcon, {
265
265
  disabled: !hasAffix
266
- }, this[`${icon}Icon`]);
266
+ }, () => this[`${icon}Icon`]);
267
267
  },
268
268
 
269
269
  // Always generate prev for scrollable hint
@@ -279,7 +279,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
279
279
  },
280
280
 
281
281
  genTransition(location) {
282
- return h(VFadeTransition, {}, [this.genIcon(location)]);
282
+ return h(VFadeTransition, {}, () => [this.genIcon(location)]);
283
283
  },
284
284
 
285
285
  genWrapper() {