vuetify 2.6.0-beta.0 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/dist/json/attributes.json +108 -60
  2. package/dist/json/tags.json +18 -6
  3. package/dist/json/web-types.json +250 -102
  4. package/dist/vuetify.css +92 -41
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +411 -286
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAutocomplete/VAutocomplete.js +20 -2
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VBanner/VBanner.js +3 -2
  13. package/es5/components/VBanner/VBanner.js.map +1 -1
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js +10 -2
  15. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  16. package/es5/components/VBottomSheet/VBottomSheet.js +1 -4
  17. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarDaily.js +27 -21
  20. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarWeekly.js +14 -10
  22. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  23. package/es5/components/VCalendar/mixins/calendar-with-events.js +23 -22
  24. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  25. package/es5/components/VCalendar/mixins/mouse.js +13 -4
  26. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  27. package/es5/components/VCombobox/VCombobox.js +1 -6
  28. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  29. package/es5/components/VData/VData.js +2 -8
  30. package/es5/components/VData/VData.js.map +1 -1
  31. package/es5/components/VDataTable/MobileRow.js +2 -2
  32. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  33. package/es5/components/VDataTable/Row.js +2 -2
  34. package/es5/components/VDataTable/Row.js.map +1 -1
  35. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  36. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  37. package/es5/components/VDialog/VDialog.js +11 -17
  38. package/es5/components/VDialog/VDialog.js.map +1 -1
  39. package/es5/components/VItemGroup/VItemGroup.js +8 -4
  40. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  41. package/es5/components/VList/VListItem.js +8 -1
  42. package/es5/components/VList/VListItem.js.map +1 -1
  43. package/es5/components/VMenu/VMenu.js +4 -6
  44. package/es5/components/VMenu/VMenu.js.map +1 -1
  45. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +8 -12
  46. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  47. package/es5/components/VOtpInput/VOtpInput.js +16 -25
  48. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  49. package/es5/components/VOverlay/VOverlay.js +1 -0
  50. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  51. package/es5/components/VRadioGroup/VRadioGroup.js +8 -3
  52. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  53. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  54. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  55. package/es5/components/VSelect/VSelect.js +7 -2
  56. package/es5/components/VSelect/VSelect.js.map +1 -1
  57. package/es5/components/VSlideGroup/VSlideGroup.js +4 -3
  58. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  59. package/es5/components/VStepper/VStepperStep.js +12 -1
  60. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  61. package/es5/components/VTabs/VTab.js +18 -6
  62. package/es5/components/VTabs/VTab.js.map +1 -1
  63. package/es5/components/VTextField/VTextField.js +6 -1
  64. package/es5/components/VTextField/VTextField.js.map +1 -1
  65. package/es5/components/VTooltip/VTooltip.js +14 -8
  66. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  67. package/es5/components/VTreeview/VTreeviewNode.js +3 -1
  68. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  69. package/es5/components/transitions/createTransition.js +0 -20
  70. package/es5/components/transitions/createTransition.js.map +1 -1
  71. package/es5/directives/click-outside/index.js +21 -10
  72. package/es5/directives/click-outside/index.js.map +1 -1
  73. package/es5/directives/intersect/index.js +16 -12
  74. package/es5/directives/intersect/index.js.map +1 -1
  75. package/es5/directives/mutate/index.js +10 -8
  76. package/es5/directives/mutate/index.js.map +1 -1
  77. package/es5/directives/resize/index.js +11 -8
  78. package/es5/directives/resize/index.js.map +1 -1
  79. package/es5/directives/ripple/index.js +0 -7
  80. package/es5/directives/ripple/index.js.map +1 -1
  81. package/es5/directives/scroll/index.js +13 -10
  82. package/es5/directives/scroll/index.js.map +1 -1
  83. package/es5/framework.js +1 -1
  84. package/es5/locale/fr.js +1 -1
  85. package/es5/locale/fr.js.map +1 -1
  86. package/es5/locale/it.js +6 -6
  87. package/es5/locale/it.js.map +1 -1
  88. package/es5/mixins/activatable/index.js +6 -2
  89. package/es5/mixins/activatable/index.js.map +1 -1
  90. package/es5/mixins/detachable/index.js +32 -14
  91. package/es5/mixins/detachable/index.js.map +1 -1
  92. package/es5/mixins/intersectable/index.js +11 -2
  93. package/es5/mixins/intersectable/index.js.map +1 -1
  94. package/es5/mixins/menuable/index.js +11 -9
  95. package/es5/mixins/menuable/index.js.map +1 -1
  96. package/es5/mixins/overlayable/index.js +21 -11
  97. package/es5/mixins/overlayable/index.js.map +1 -1
  98. package/es5/mixins/routable/index.js +12 -9
  99. package/es5/mixins/routable/index.js.map +1 -1
  100. package/es5/services/application/index.js +1 -3
  101. package/es5/services/application/index.js.map +1 -1
  102. package/es5/util/helpers.js +5 -5
  103. package/es5/util/helpers.js.map +1 -1
  104. package/lib/components/VAutocomplete/VAutocomplete.js +18 -2
  105. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  106. package/lib/components/VBanner/VBanner.js +3 -2
  107. package/lib/components/VBanner/VBanner.js.map +1 -1
  108. package/lib/components/VBottomNavigation/VBottomNavigation.js +10 -2
  109. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  110. package/lib/components/VBottomSheet/VBottomSheet.js +1 -4
  111. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  112. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  113. package/lib/components/VCalendar/VCalendarDaily.js +27 -15
  114. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  115. package/lib/components/VCalendar/VCalendarWeekly.js +10 -2
  116. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  117. package/lib/components/VCalendar/mixins/calendar-with-events.js +10 -5
  118. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  119. package/lib/components/VCalendar/mixins/mouse.js +9 -4
  120. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  121. package/lib/components/VCombobox/VCombobox.js +1 -6
  122. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  123. package/lib/components/VData/VData.js +2 -4
  124. package/lib/components/VData/VData.js.map +1 -1
  125. package/lib/components/VDataTable/MobileRow.js +2 -2
  126. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  127. package/lib/components/VDataTable/Row.js +2 -2
  128. package/lib/components/VDataTable/Row.js.map +1 -1
  129. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  130. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  131. package/lib/components/VDialog/VDialog.js +11 -16
  132. package/lib/components/VDialog/VDialog.js.map +1 -1
  133. package/lib/components/VItemGroup/VItemGroup.js +7 -5
  134. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  135. package/lib/components/VList/VListItem.js +9 -1
  136. package/lib/components/VList/VListItem.js.map +1 -1
  137. package/lib/components/VMenu/VMenu.js +4 -6
  138. package/lib/components/VMenu/VMenu.js.map +1 -1
  139. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +4 -8
  140. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  141. package/lib/components/VOtpInput/VOtpInput.js +16 -25
  142. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  143. package/lib/components/VOverlay/VOverlay.js +1 -0
  144. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  145. package/lib/components/VRadioGroup/VRadioGroup.js +11 -4
  146. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  147. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  148. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  149. package/lib/components/VSelect/VSelect.js +7 -2
  150. package/lib/components/VSelect/VSelect.js.map +1 -1
  151. package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
  152. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  153. package/lib/components/VStepper/VStepperStep.js +12 -1
  154. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  155. package/lib/components/VTabs/VTab.js +19 -8
  156. package/lib/components/VTabs/VTab.js.map +1 -1
  157. package/lib/components/VTextField/VTextField.js +8 -1
  158. package/lib/components/VTextField/VTextField.js.map +1 -1
  159. package/lib/components/VTooltip/VTooltip.js +14 -8
  160. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  161. package/lib/components/VTreeview/VTreeviewNode.js +3 -1
  162. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  163. package/lib/components/transitions/createTransition.js +0 -6
  164. package/lib/components/transitions/createTransition.js.map +1 -1
  165. package/lib/directives/click-outside/index.js +22 -10
  166. package/lib/directives/click-outside/index.js.map +1 -1
  167. package/lib/directives/intersect/index.js +16 -12
  168. package/lib/directives/intersect/index.js.map +1 -1
  169. package/lib/directives/mutate/index.js +10 -8
  170. package/lib/directives/mutate/index.js.map +1 -1
  171. package/lib/directives/resize/index.js +9 -6
  172. package/lib/directives/resize/index.js.map +1 -1
  173. package/lib/directives/ripple/index.js +0 -7
  174. package/lib/directives/ripple/index.js.map +1 -1
  175. package/lib/directives/scroll/index.js +9 -6
  176. package/lib/directives/scroll/index.js.map +1 -1
  177. package/lib/framework.js +1 -1
  178. package/lib/locale/fr.js +1 -1
  179. package/lib/locale/fr.js.map +1 -1
  180. package/lib/locale/it.js +6 -6
  181. package/lib/locale/it.js.map +1 -1
  182. package/lib/mixins/activatable/index.js +6 -2
  183. package/lib/mixins/activatable/index.js.map +1 -1
  184. package/lib/mixins/detachable/index.js +28 -13
  185. package/lib/mixins/detachable/index.js.map +1 -1
  186. package/lib/mixins/intersectable/index.js +9 -2
  187. package/lib/mixins/intersectable/index.js.map +1 -1
  188. package/lib/mixins/menuable/index.js +11 -9
  189. package/lib/mixins/menuable/index.js.map +1 -1
  190. package/lib/mixins/overlayable/index.js +21 -11
  191. package/lib/mixins/overlayable/index.js.map +1 -1
  192. package/lib/mixins/routable/index.js +16 -9
  193. package/lib/mixins/routable/index.js.map +1 -1
  194. package/lib/services/application/index.js +1 -3
  195. package/lib/services/application/index.js.map +1 -1
  196. package/lib/util/helpers.js +5 -5
  197. package/lib/util/helpers.js.map +1 -1
  198. package/package.json +2 -2
  199. package/src/components/VAutocomplete/VAutocomplete.ts +15 -2
  200. package/src/components/VBanner/VBanner.ts +16 -10
  201. package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -2
  202. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +9 -7
  203. package/src/components/VBottomSheet/VBottomSheet.ts +1 -4
  204. package/src/components/VCalendar/VCalendar.ts +1 -0
  205. package/src/components/VCalendar/VCalendarCategory.sass +10 -3
  206. package/src/components/VCalendar/VCalendarDaily.ts +14 -13
  207. package/src/components/VCalendar/VCalendarWeekly.ts +4 -2
  208. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  209. package/src/components/VCalendar/mixins/calendar-with-events.ts +7 -6
  210. package/src/components/VCalendar/mixins/mouse.ts +10 -4
  211. package/src/components/VCombobox/VCombobox.ts +1 -6
  212. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  213. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +32 -2
  214. package/src/components/VData/VData.ts +2 -4
  215. package/src/components/VDataTable/MobileRow.ts +2 -2
  216. package/src/components/VDataTable/Row.ts +2 -2
  217. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  218. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +4 -4
  219. package/src/components/VDialog/VDialog.sass +1 -1
  220. package/src/components/VDialog/VDialog.ts +10 -14
  221. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +14 -32
  222. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  223. package/src/components/VItemGroup/VItemGroup.ts +5 -3
  224. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +19 -2
  225. package/src/components/VList/VListItem.sass +2 -1
  226. package/src/components/VList/VListItem.ts +7 -1
  227. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  228. package/src/components/VMenu/VMenu.ts +2 -6
  229. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +4 -7
  230. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +1 -1
  231. package/src/components/VOtpInput/VOtpInput.sass +13 -16
  232. package/src/components/VOtpInput/VOtpInput.ts +14 -28
  233. package/src/components/VOtpInput/_variables.scss +2 -4
  234. package/src/components/VOverlay/VOverlay.ts +1 -0
  235. package/src/components/VRadioGroup/VRadioGroup.ts +8 -4
  236. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  237. package/src/components/VSelect/VSelect.ts +5 -1
  238. package/src/components/VSlideGroup/VSlideGroup.ts +8 -2
  239. package/src/components/VStepper/VStepper.sass +4 -4
  240. package/src/components/VStepper/VStepperStep.ts +14 -2
  241. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +18 -6
  242. package/src/components/VTabs/VTab.ts +24 -6
  243. package/src/components/VTabs/VTabs.sass +5 -2
  244. package/src/components/VTextField/VTextField.ts +8 -3
  245. package/src/components/VTextarea/VTextarea.sass +13 -0
  246. package/src/components/VTooltip/VTooltip.ts +14 -7
  247. package/src/components/VTreeview/VTreeviewNode.ts +3 -1
  248. package/src/components/transitions/createTransition.ts +0 -8
  249. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  250. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  251. package/src/directives/click-outside/index.ts +19 -10
  252. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  253. package/src/directives/intersect/index.ts +15 -13
  254. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  255. package/src/directives/mutate/index.ts +9 -9
  256. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  257. package/src/directives/resize/index.ts +11 -6
  258. package/src/directives/ripple/VRipple.sass +4 -1
  259. package/src/directives/ripple/index.ts +0 -7
  260. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  261. package/src/directives/scroll/index.ts +8 -7
  262. package/src/globals.d.ts +10 -12
  263. package/src/locale/fr.ts +1 -1
  264. package/src/locale/it.ts +6 -6
  265. package/src/mixins/activatable/__tests__/__snapshots__/activatable.spec.ts.snap +1 -2
  266. package/src/mixins/activatable/index.ts +6 -2
  267. package/src/mixins/detachable/index.ts +32 -15
  268. package/src/mixins/intersectable/index.ts +11 -2
  269. package/src/mixins/menuable/index.ts +10 -8
  270. package/src/mixins/overlayable/index.ts +22 -11
  271. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  272. package/src/mixins/routable/index.ts +12 -8
  273. package/src/services/application/index.ts +1 -1
  274. package/src/styles/generic/_transitions.scss +219 -215
  275. package/src/styles/settings/_variables.scss +11 -10
  276. package/src/util/helpers.ts +5 -5
  277. package/types/lib.d.ts +2 -0
  278. package/src/directives/ripple/_variables.scss +0 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 Toggleable from '../../mixins/toggleable'\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 } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\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 openOnClick: {\n type: Boolean,\n default: true,\n },\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 },\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 ? '200px'\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 /* 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._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.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.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = 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 this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\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 attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\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 directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (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 keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\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 (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 (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 Toggleable from '../../mixins/toggleable'\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 } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\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 },\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 ? '200px'\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 /* 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._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.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.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = 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 this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\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 attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\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 directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (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 keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\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 (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 (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -290,6 +290,12 @@ var _default2 = baseMixins.extend({
290
290
  var _this2 = this;
291
291
 
292
292
  var on = {
293
+ mouseenter: function mouseenter() {
294
+ return _this2.isMouseover = true;
295
+ },
296
+ mouseleave: function mouseleave() {
297
+ return _this2.isMouseover = false;
298
+ },
293
299
  transitionend: function transitionend(e) {
294
300
  if (e.target !== e.currentTarget) return;
295
301
 
@@ -308,16 +314,6 @@ var _default2 = baseMixins.extend({
308
314
  };
309
315
  }
310
316
 
311
- if (this.expandOnHover) {
312
- on.mouseenter = function () {
313
- return _this2.isMouseover = true;
314
- };
315
-
316
- on.mouseleave = function () {
317
- return _this2.isMouseover = false;
318
- };
319
- }
320
-
321
317
  return on;
322
318
  },
323
319
  genPosition: function genPosition(name) {
@@ -372,11 +368,11 @@ var _default2 = baseMixins.extend({
372
368
  */
373
369
  updateApplication: function updateApplication() {
374
370
  if (!this.isActive || this.isMobile || this.temporary || !this.$el) return 0;
375
- var width = Number(this.computedWidth);
371
+ var width = Number(this.miniVariant ? this.miniVariantWidth : this.width);
376
372
  return isNaN(width) ? this.$el.clientWidth : width;
377
373
  },
378
374
  updateMiniVariant: function updateMiniVariant(val) {
379
- if (this.miniVariant !== val) this.$emit('update:mini-variant', val);
375
+ if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val);
380
376
  }
381
377
  },
382
378
  render: function render(h) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,8BAAgB,MAAhB,EAAwB,CACtB,UADsB,EAEtB,UAFsB,EAGtB,aAHsB,EAItB,eAJsB,EAKtB,WALsB,EAMtB,OANsB,EAOtB,WAPsB,EAQtB,OARsB,CAAxB,CADiB,EAWjB,kBAXiB,EAYjB,kBAZiB,EAajB,eAbiB,EAcjB,oBAdiB,EAejB,oBAfiB,EAgBjB,kBAhBiB,CAAnB;AAmBA;;gBACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,qBADyB;AAG/B,EAAA,UAAU,EAAE;AACV,IAAA,YAAY,EAAZ,qBADU;AAEV,IAAA,MAAM,EAAN,eAFU;AAGV,IAAA,KAAK,EAAL;AAHU,GAHmB;AAS/B,EAAA,OAT+B,qBASxB;AACL,WAAO;AACL,MAAA,OAAO,EAAE,KAAK,GAAL,KAAa;AADjB,KAAP;AAGD,GAb8B;AAe/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,OADH;AAEL,IAAA,OAAO,EAAE,OAFJ;AAGL,IAAA,oBAAoB,EAAE,OAHjB;AAIL,IAAA,mBAAmB,EAAE,OAJhB;AAKL,IAAA,aAAa,EAAE,OALV;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAFM,sBAEC;AACL,eAAO,KAAK,GAAL,GAAW,OAAX,GAAqB,MAA5B;AACD;AAJK,KAPH;AAaL,IAAA,WAAW,EAAE,OAbR;AAcL,IAAA,gBAAgB,EAAE;AAChB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADU;AAEhB,MAAA,OAAO,EAAE;AAFO,KAdb;AAkBL,IAAA,SAAS,EAAE,OAlBN;AAmBL,IAAA,KAAK,EAAE,OAnBF;AAoBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KApBA;AAwBL,IAAA,SAAS,EAAE,OAxBN;AAyBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAFG,sBAEI;AACL,eAAO,KAAK,GAAL,GAAW,KAAX,GAAmB,OAA1B;AACD;AAJE,KAzBA;AA+BL,IAAA,SAAS,EAAE,OA/BN;AAgCL,IAAA,SAAS,EAAE,OAhCN;AAiCL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAjCF;AAqCL,IAAA,KAAK,EAAE;AArCF,GAfwB;AAuD/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,WAAW,EAAE,KADF;AAEX,MAAA,SAAS,EAAE;AACT,QAAA,IAAI,EAAE,CADG;AAET,QAAA,KAAK,EAAE;AAFE,OAFA;AAMX,MAAA,cAAc,EAAE;AANL,KAAP;AAAA,GAvDyB;AAgE/B,EAAA,QAAQ,EAAE;AACR;;;AAGG;AACH,IAAA,mBALQ,iCAKW;AACjB,aAAO,KAAK,KAAL,GAAa,OAAb,GAAuB,MAA9B;AACD,KAPO;AAQR,IAAA,OARQ,qBAQD;AACL;AACE,+BAAuB,IADzB;AAEE,yCAAiC,KAAK,QAFxC;AAGE,uCAA+B,KAAK,MAHtC;AAIE,wCAAgC,KAAK,OAJvC;AAKE,sCAA8B,CAAC,KAAK,QALtC;AAME,sCAA8B,CAAC,KAAK,QAAN,KAAmB,KAAK,GAAL,IAAY,KAAK,KAApC,CANhC;AAOE,yCAAiC,KAAK,QAPxC;AAQE,0CAAkC,KAAK,QARzC;AASE,6CAAqC,KAAK,WAT5C;AAUE,6CAAqC,KAAK,aAV5C;AAWE,oDAA4C,MAAM,CAAC,KAAK,gBAAN,CAAN,KAAkC,EAXhF;AAYE,qCAA6B,KAAK,QAZpC;AAaE,8CAAsC,KAAK,aAb7C;AAcE,sCAA8B,KAAK,KAdrC;AAeE,0CAAkC,KAAK;AAfzC,SAgBK,KAAK,YAhBV;AAkBD,KA3BO;AA4BR,IAAA,iBA5BQ,+BA4BS;AACf,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,UAAM,iBAAiB,GACrB,KAAK,QAAL,CAAc,WAAd,CAA0B,MAA1B,GACA,KAAK,QAAL,CAAc,WAAd,CAA0B,MAD1B,GAEA,KAAK,QAAL,CAAc,WAAd,CAA0B,GAH5B;AAMA,UAAI,CAAC,KAAK,OAAV,EAAmB,OAAO,iBAAP;AAEnB,aAAO,iBAAiB,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAArD;AACD,KAxCO;AAyCR,IAAA,WAzCQ,yBAyCG;AACT,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,CAAP;AAElB,UAAI,WAAW,GAAG,KAAK,QAAL,CAAc,WAAd,CAA0B,GAA5C;AAEA,MAAA,WAAW,IAAI,KAAK,OAAL,GACX,KAAK,QAAL,CAAc,WAAd,CAA0B,GADf,GAEX,CAFJ;AAIA,aAAO,WAAP;AACD,KAnDO;AAoDR,IAAA,iBApDQ,+BAoDS;AACf,UAAI,KAAK,QAAT,EAAmB,OAAO,CAAP;AACnB,UAAI,KAAK,QAAT,EAAmB,OAAO,GAAP;AACnB,aAAO,KAAK,KAAL,GAAa,GAAb,GAAmB,CAAC,GAA3B;AACD,KAxDO;AAyDR,IAAA,aAzDQ,2BAyDK;AACX,aAAO,KAAK,aAAL,GAAqB,KAAK,gBAA1B,GAA6C,KAAK,KAAzD;AACD,KA3DO;AA4DR,IAAA,MA5DQ,oBA4DF;AACJ,aACE,KAAK,GAAL,IACC,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,SAF3B;AAID,KAjEO;AAkER,IAAA,QAlEQ,sBAkEA;AACN,aAAO,KAAK,MAAL,IAAe,KAAK,QAA3B;AACD,KApEO;AAqER,IAAA,aArEQ,2BAqEK;AACX,aACE,CAAC,KAAK,aAAN,IACA,KAAK,WAFA,IAIL,KAAK,aAAL,IACA,CAAC,KAAK,WALR;AAOD,KA7EO;AA8ER,IAAA,QA9EQ,sBA8EA;AACN,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,IAEA,gBAAO,OAAP,CAAe,QAAf,CAAwB,QAAxB,CAAiC,IAAjC,CAAsC,IAAtC,CAHF;AAKD,KApFO;AAqFR,IAAA,aArFQ,2BAqFK;AACX,aACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KA3FO;AA4FR,IAAA,cA5FQ,4BA4FM;AACZ,aACE,KAAK,GAAL,IACA,CAAC,KAAK,oBADN,IAEA,CAAC,KAAK,SAFN,IAGA,CAAC,KAAK,SAHN,IAIA,CAAC,KAAK,SALR;AAOD,KApGO;AAqGR,IAAA,cArGQ,4BAqGM;AACZ,aAAO,CAAC,KAAK,oBAAN,IAA8B,CAAC,KAAK,SAA3C;AACD,KAvGO;AAwGR,IAAA,aAxGQ,2BAwGK;AACX,aACE,CAAC,KAAK,mBAAN,IACA,CAAC,KAAK,SADN,KAEC,KAAK,SAAL,IAAkB,KAAK,QAFxB,CADF;AAKD,KA9GO;AA+GR,IAAA,WA/GQ,yBA+GG;AACT,aACE,CAAC,KAAK,WAAN,IACA,KAAK,QADL,KAEC,KAAK,QAAL,IAAiB,KAAK,SAFvB,CADF;AAKD,KArHO;AAsHR,IAAA,MAtHQ,oBAsHF;AACJ,UAAM,SAAS,GAAG,KAAK,QAAL,GAAgB,YAAhB,GAA+B,YAAjD;AACA,aAAO;AACL,QAAA,MAAM,EAAE,4BAAc,KAAK,MAAnB,CADH;AAEL,QAAA,GAAG,EAAE,CAAC,KAAK,QAAN,GAAiB,4BAAc,KAAK,WAAnB,CAAjB,GAAmD,MAFnD;AAGL,QAAA,SAAS,EAAE,KAAK,iBAAL,IAA0B,IAA1B,yBACQ,4BAAc,KAAK,iBAAnB,CADR,SAEP,SALC;AAML,QAAA,SAAS,YAAK,SAAL,cAAkB,4BAAc,KAAK,iBAAnB,EAAsC,GAAtC,CAAlB,MANJ;AAOL,QAAA,KAAK,EAAE,4BAAc,KAAK,aAAnB;AAPF,OAAP;AASD;AAjIO,GAhEqB;AAoM/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,eADH;AAEL,IAAA,QAFK,oBAEK,GAFL,EAEQ;AACX,WAAK,KAAL,CAAW,OAAX,EAAoB,GAApB;AACD,KAJI;;AAKL;;;AAGG;AACH,IAAA,QATK,oBASK,GATL,EASU,IATV,EASc;AACjB,OAAC,GAAD,IACE,KAAK,QADP,IAEE,CAAC,KAAK,SAFR,IAGE,KAAK,aAAL,EAHF;AAKA,UAAI,IAAI,IAAI,IAAR,IACF,CAAC,KAAK,cADJ,IAEF,CAAC,KAAK,cAFR,EAGE;AAEF,WAAK,QAAL,GAAgB,CAAC,GAAjB;AACD,KArBI;AAsBL,IAAA,SAtBK,qBAsBM,GAtBN,EAsBS;AACZ;AACA,UAAI,GAAJ,EAAS,KAAK,QAAL,GAAgB,IAAhB;AACV,KAzBI;AA0BL,IAAA,WA1BK,uBA0BQ,GA1BR,EA0BW;AACd,UAAI,GAAJ,EAAS,KAAK,UAAL,GAAT,KACK,KAAK,aAAL;AACN,KA7BI;AA8BL,IAAA,KA9BK,iBA8BE,GA9BF,EA8BK;AACR,UAAI,KAAK,SAAT,EAAoB;;AAEpB,UAAI,GAAG,IAAI,IAAX,EAAiB;AACf,aAAK,IAAL;AACA;AACD;;AAED,UAAI,GAAG,KAAK,KAAK,QAAjB,EAA2B,KAAK,QAAL,GAAgB,GAAhB;AAC5B,KAvCI;AAwCL,IAAA,aAAa,EAAE,mBAxCV;AAyCL,IAAA,WAzCK,uBAyCQ,GAzCR,EAyCW;AACd,WAAK,iBAAL,CAAuB,CAAC,GAAxB;AACD;AA3CI,GApMwB;AAkP/B,EAAA,WAlP+B,yBAkPpB;AACT,SAAK,IAAL;AACD,GApP8B;AAsP/B,EAAA,OAAO,EAAE;AACP,IAAA,kBADO,gCACW;AAChB,UAAM,MAAM,GAAG,KAAK,GAAL,CAAS,UAAxB;AAEA,UAAI,CAAC,MAAL,EAAa;AAEb,UAAM,UAAU,GAAG,MAAM,CAAC,qBAAP,EAAnB;AAEA,WAAK,SAAL,GAAiB;AACf,QAAA,IAAI,EAAE,UAAU,CAAC,IAAX,GAAkB,EADT;AAEf,QAAA,KAAK,EAAE,UAAU,CAAC,KAAX,GAAmB;AAFX,OAAjB;AAID,KAZM;AAaP,IAAA,gBAbO,8BAaS;AACd,aAAO,KAAK,QAAL,IAAiB,CAAC,KAAK,YAAvB,IAAuC,KAAK,aAAnD;AACD,KAfM;AAgBP,IAAA,SAhBO,uBAgBE;AACP,aAAO,KAAK,WAAL,CAAiB,QAAjB,CAAP;AACD,KAlBM;AAmBP,IAAA,aAnBO,2BAmBM;AACX,UAAM,KAAK,GAAG;AACZ,QAAA,MAAM,EAAE,MADI;AAEZ,QAAA,KAAK,EAAE,MAFK;AAGZ,QAAA,GAAG,EAAE,KAAK;AAHE,OAAd;AAMA,UAAM,KAAK,GAAG,KAAK,YAAL,CAAkB,GAAlB,GACV,KAAK,YAAL,CAAkB,GAAlB,CAAsB,KAAtB,CADU,GAEV,KAAK,cAAL,CAAoB,aAApB,EAA0B;AAAE,QAAA,KAAK,EAAL;AAAF,OAA1B,CAFJ;AAIA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CAAC,KAAD,CAFI,CAAP;AAGD,KAjCM;AAkCP,IAAA,aAlCO,2BAkCM;AAAA;;AACX,UAAM,UAAU,GAAG,CAAC;AAClB,QAAA,IAAI,EAAE,eADY;AAElB,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,mBAAK;AAAG,YAAA,KAAI,CAAC,QAAL,GAAgB,KAAhB;AAAuB,WADnC;AAEL,UAAA,gBAAgB,EAAE,KAAK,gBAFlB;AAGL,UAAA,OAAO,EAAE,KAAK;AAHT;AAFW,OAAD,CAAnB;;AASA,UAAI,CAAC,KAAK,SAAN,IAAmB,CAAC,KAAK,SAA7B,EAAwC;AACtC,QAAA,UAAU,CAAC,IAAX,CAAgB;AACd,UAAA,IAAI,EAAE,OADQ;AAEd,UAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,IADH;AAEL,YAAA,IAAI,EAAE,KAAK,SAFN;AAGL,YAAA,KAAK,EAAE,KAAK;AAHP;AAFO,SAAhB;AAQD;;AAED,aAAO,UAAP;AACD,KAxDM;AAyDP,IAAA,YAzDO,0BAyDK;AAAA;;AACV,UAAM,EAAE,GAAuC;AAC7C,QAAA,aAAa,EAAE,uBAAC,CAAD,EAAa;AAC1B,cAAI,CAAC,CAAC,MAAF,KAAa,CAAC,CAAC,aAAnB,EAAkC;;AAClC,UAAA,MAAI,CAAC,KAAL,CAAW,eAAX,EAA4B,CAA5B,EAF0B,CAI1B;;;AACA,cAAM,WAAW,GAAG,QAAQ,CAAC,WAAT,CAAqB,UAArB,CAApB;AACA,UAAA,WAAW,CAAC,WAAZ,CAAwB,QAAxB,EAAkC,IAAlC,EAAwC,KAAxC,EAA+C,MAA/C,EAAuD,CAAvD;AACA,UAAA,MAAM,CAAC,aAAP,CAAqB,WAArB;AACD;AAT4C,OAA/C;;AAYA,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,EAAE,CAAC,KAAH,GAAW;AAAA,iBAAM,MAAI,CAAC,KAAL,CAAW,qBAAX,EAAkC,KAAlC,CAAN;AAAA,SAAX;AACD;;AAED,UAAI,KAAK,aAAT,EAAwB;AACtB,QAAA,EAAE,CAAC,UAAH,GAAgB;AAAA,iBAAO,MAAI,CAAC,WAAL,GAAmB,IAA1B;AAAA,SAAhB;;AACA,QAAA,EAAE,CAAC,UAAH,GAAgB;AAAA,iBAAO,MAAI,CAAC,WAAL,GAAmB,KAA1B;AAAA,SAAhB;AACD;;AAED,aAAO,EAAP;AACD,KAhFM;AAiFP,IAAA,WAjFO,uBAiFM,IAjFN,EAiFgC;AACrC,UAAM,IAAI,GAAG,sBAAQ,IAAR,EAAc,IAAd,CAAb;AAEA,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AAEX,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,iCAA0B,IAA1B;AADqB,OAA3B,EAEJ,IAFI,CAAP;AAGD,KAzFM;AA0FP,IAAA,UA1FO,wBA0FG;AACR,aAAO,KAAK,WAAL,CAAiB,SAAjB,CAAP;AACD,KA5FM;AA6FP,IAAA,UA7FO,wBA6FG;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD,KAjGM;AAkGP,IAAA,SAlGO,uBAkGE;AACP,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,CAAP;AAGD,KAtGM;AAuGP,IAAA,IAvGO,kBAuGH;AACF,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,QAAL,GAAgB,IAAhB;AACD,OAFD,MAEO,IAAI,KAAK,SAAL,IACT,KAAK,KAAL,IAAc,IADT,EAEL;AACA,aAAK,QAAL,GAAgB,KAAK,KAArB;AACD,OAJM,MAIA,IAAI,CAAC,KAAK,SAAV,EAAqB;AAC1B,aAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;AACF,KAjHM;AAkHP,IAAA,aAlHO,2BAkHM;AACX,UAAI,KAAK,aAAL,IAAsB,KAAK,gBAAL,EAA1B,EAAmD;AACjD,aAAK,QAAL,GAAgB,KAAhB;AACD;AACF,KAtHM;AAuHP,IAAA,SAvHO,qBAuHI,CAvHJ,EAuHmB;AACxB,UAAI,KAAK,QAAL,IAAiB,KAAK,KAA1B,EAAiC;AACjC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,KAAK,KAAL,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,KADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,CAAC,KAAK,KAAN,IAAe,KAAK,QAAxB,EAAkC,KAAK,QAAL,GAAgB,KAAhB;AACxC,KAhIM;AAiIP,IAAA,UAjIO,sBAiIK,CAjIL,EAiIoB;AACzB,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,KAA3B,EAAkC;AAClC,WAAK,kBAAL;AAEA,UAAI,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,WAAzB,IAAwC,GAA5C,EAAiD;AACjD,UAAI,CAAC,KAAK,KAAN,IACF,CAAC,CAAC,WAAF,IAAiB,KAAK,SAAL,CAAe,IADlC,EAEE,KAAK,QAAL,GAAgB,IAAhB,CAFF,KAGK,IAAI,KAAK,KAAL,IAAc,KAAK,QAAvB,EAAiC,KAAK,QAAL,GAAgB,KAAhB;AACvC,KA1IM;;AA2IP;;AAEG;AACH,IAAA,iBA9IO,+BA8IU;AACf,UACE,CAAC,KAAK,QAAN,IACA,KAAK,QADL,IAEA,KAAK,SAFL,IAGA,CAAC,KAAK,GAJR,EAKE,OAAO,CAAP;AAEF,UAAM,KAAK,GAAG,MAAM,CAAC,KAAK,aAAN,CAApB;AAEA,aAAO,KAAK,CAAC,KAAD,CAAL,GAAe,KAAK,GAAL,CAAS,WAAxB,GAAsC,KAA7C;AACD,KAzJM;AA0JP,IAAA,iBA1JO,6BA0JY,GA1JZ,EA0JwB;AAC7B,UAAI,KAAK,WAAL,KAAqB,GAAzB,EAA8B,KAAK,KAAL,CAAW,qBAAX,EAAkC,GAAlC;AAC/B;AA5JM,GAtPsB;AAqZ/B,EAAA,MArZ+B,kBAqZvB,CArZuB,EAqZtB;AACP,QAAM,QAAQ,GAAG,CACf,KAAK,UAAL,EADe,EAEf,KAAK,UAAL,EAFe,EAGf,KAAK,SAAL,EAHe,EAIf,KAAK,SAAL,EAJe,CAAjB;AAOA,QAAI,KAAK,GAAL,IAAY,sBAAQ,IAAR,EAAc,KAAd,CAAhB,EAAsC,QAAQ,CAAC,OAAT,CAAiB,KAAK,aAAL,EAAjB;AAEtC,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AACrD,MAAA,KAAK,EAAE,KAAK,OADyC;AAErD,MAAA,KAAK,EAAE,KAAK,MAFyC;AAGrD,MAAA,UAAU,EAAE,KAAK,aAAL,EAHyC;AAIrD,MAAA,EAAE,EAAE,KAAK,YAAL;AAJiD,KAApC,CAAX,EAKJ,QALI,CAAR;AAMD;AAra8B,CAAlB,C","sourcesContent":["// 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 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 directives: {\n ClickOutside,\n Resize,\n Touch,\n },\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 default (): string {\n return this.app ? '100vh' : '100%'\n },\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 default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\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.options.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('input', 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 value (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 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._isDestroyed && 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.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n transitionend: (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.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = 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 this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\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.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): 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 return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 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 directives: {\n ClickOutside,\n Resize,\n Touch,\n },\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 default (): string {\n return this.app ? '100vh' : '100%'\n },\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 default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\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.options.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('input', 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 value (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 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._isDestroyed && 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.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (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.click = () => 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 this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\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 (h): 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 return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -52,17 +52,14 @@ var _default = baseMixins.extend().extend({
52
52
  inheritAttrs: false,
53
53
  props: {
54
54
  length: {
55
- type: Number,
55
+ type: [Number, String],
56
56
  default: 6
57
57
  },
58
58
  type: {
59
59
  type: String,
60
60
  default: 'text'
61
61
  },
62
- plain: {
63
- type: Boolean,
64
- default: false
65
- }
62
+ plain: Boolean
66
63
  },
67
64
  data: function data() {
68
65
  return {
@@ -89,6 +86,7 @@ var _default = baseMixins.extend().extend({
89
86
  isFocused: 'updateValue',
90
87
  value: function value(val) {
91
88
  this.lazyValue = val;
89
+ this.otp = (val == null ? void 0 : val.split('')) || [];
92
90
  }
93
91
  },
94
92
  created: function created() {
@@ -142,25 +140,17 @@ var _default = baseMixins.extend().extend({
142
140
  genDefaultSlot: function genDefaultSlot(otpIdx) {
143
141
  return [this.genFieldset(), this.genTextFieldSlot(otpIdx)];
144
142
  },
145
- genCol: function genCol(otpIdx) {
146
- var node = this.$createElement('div', this.setTextColor(this.validationState, {
147
- staticClass: 'v-input',
148
- class: this.classes
149
- }), [this.genControl(otpIdx)]);
150
- return this.$createElement('div', {
151
- staticClass: 'col-input'
152
- }, [node]);
153
- },
154
143
  genContent: function genContent() {
155
144
  var _this3 = this;
156
145
 
157
- var cols = _toConsumableArray(Array(this.length).keys()).map(function (x) {
158
- return _this3.genCol(x);
146
+ return Array.from({
147
+ length: +this.length
148
+ }, function (_, i) {
149
+ return _this3.$createElement('div', _this3.setTextColor(_this3.validationState, {
150
+ staticClass: 'v-input',
151
+ class: _this3.classes
152
+ }), [_this3.genControl(i)]);
159
153
  });
160
-
161
- return [this.$createElement('div', {
162
- staticClass: 'row-container'
163
- }, cols)];
164
154
  },
165
155
  genFieldset: function genFieldset() {
166
156
  return this.$createElement('fieldset', {
@@ -268,7 +258,7 @@ var _default = baseMixins.extend().extend({
268
258
  var nextIndex = otpIdx + 1;
269
259
 
270
260
  if (value) {
271
- if (nextIndex < this.length) {
261
+ if (nextIndex < +this.length) {
272
262
  this.changeFocus(nextIndex);
273
263
  } else {
274
264
  this.clearFocus(otpIdx);
@@ -304,7 +294,7 @@ var _default = baseMixins.extend().extend({
304
294
  onPaste: function onPaste(event, index) {
305
295
  var _event$clipboardData;
306
296
 
307
- var maxCursor = this.length - 1;
297
+ var maxCursor = +this.length - 1;
308
298
  var inputVal = event == null ? void 0 : (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.getData('Text');
309
299
  var inputDataArray = (inputVal == null ? void 0 : inputVal.split('')) || [];
310
300
  event.preventDefault();
@@ -318,10 +308,11 @@ var _default = baseMixins.extend().extend({
318
308
  }
319
309
 
320
310
  this.otp = newOtp;
311
+ this.internalValue = this.otp.join('');
321
312
  var targetFocus = Math.min(index + inputDataArray.length, maxCursor);
322
313
  this.changeFocus(targetFocus);
323
314
 
324
- if (newOtp.length === this.length) {
315
+ if (newOtp.length === +this.length) {
325
316
  this.onCompleted();
326
317
  this.clearFocus(targetFocus);
327
318
  }
@@ -363,13 +354,13 @@ var _default = baseMixins.extend().extend({
363
354
  }
364
355
 
365
356
  if (eventKey === 'ArrowRight') {
366
- return index + 1 < this.length && this.changeFocus(index + 1);
357
+ return index + 1 < +this.length && this.changeFocus(index + 1);
367
358
  }
368
359
  },
369
360
  onCompleted: function onCompleted() {
370
361
  var rsp = this.otp.join('');
371
362
 
372
- if (rsp.length === this.length) {
363
+ if (rsp.length === +this.length) {
373
364
  this.$emit('finish', rsp);
374
365
  }
375
366
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AAEA;;AAGA;;AACA;;AAGA;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,eADiB,CAAnB;AAUA;;eACe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,aAD2C;AAGjD,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAHqC;AAOjD,EAAA,YAAY,EAAE,KAPmC;AASjD,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KALD;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AATF,GAT0C;AAwBjD,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE,KADC;AAEX,MAAA,YAAY,EAAE,IAFH;AAGX,MAAA,QAAQ,EAAE,KAHC;AAIX,MAAA,GAAG,EAAE;AAJM,KAAP;AAAA,GAxB2C;AA+BjD,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AACN,aAAO,CAAC,KAAK,KAAb;AACD,KAHO;AAIR,IAAA,OAJQ,qBAID;AACL,2DACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL,GAEK,qBAAW,OAAX,CAAmB,QAAnB,CAA4B,OAA5B,CAAoC,IAApC,CAAyC,IAAzC,CAFL;AAGE,8BAAsB,KAAK;AAH7B;AAKD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL,aAAO,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,KAA8C,KAAK,QAA1D;AACD;AAbO,GA/BuC;AA+CjD,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,aADN;AAEL,IAAA,KAFK,iBAEE,GAFF,EAEK;AACR,WAAK,SAAL,GAAiB,GAAjB;AACD;AAJI,GA/C0C;AAsDjD,EAAA,OAtDiD,qBAsD1C;AAAA;;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,sBAA3B,CAAJ,EAAwD;AACtD,6BAAS,sBAAT,EAAiC,cAAjC,EAAiD,IAAjD;AACD;;AAED,SAAK,GAAL,GAAW,6BAAK,aAAL,yCAAoB,KAApB,CAA0B,EAA1B,MAAiC,EAA5C;AACD,GA7DgD;AA+DjD,EAAA,OA/DiD,qBA+D1C;AAAA;;AACL,IAAA,qBAAqB,CAAC;AAAA,aAAO,KAAI,CAAC,QAAL,GAAgB,IAAvB;AAAA,KAAD,CAArB;AACD,GAjEgD;AAmEjD,EAAA,OAAO,EAAE;AACP;AACA,IAAA,KAFO,iBAEA,CAFA,EAEU,MAFV,EAEwB;AAC7B,WAAK,OAAL,CAAa,CAAb,EAAgB,MAAM,IAAI,CAA1B;AACD,KAJM;AAKP,IAAA,YALO,wBAKO,MALP,EAKqB;AAAA;;AAC1B,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,kBAAL,CAAwB,KAAK,eAA7B,EAA8C;AAC9E,QAAA,WAAW,EAAE,eADiE;AAE9E,QAAA,KAAK,EAAE;AAAE,UAAA,MAAM,EAAE,4BAAc,KAAK,MAAnB;AAAV,SAFuE;AAG9E,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE;AAAA,mBAAM,MAAI,CAAC,OAAL,CAAa,MAAb,CAAN;AAAA,WADL;AAEF,UAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,mBAAc,MAAI,CAAC,WAAL,CAAiB,CAAjB,EAAoB,MAApB,CAAd;AAAA,WAFT;AAGF,UAAA,OAAO,EAAE,iBAAC,CAAD;AAAA,mBAAc,MAAI,CAAC,SAAL,CAAe,CAAf,EAAkB,MAAlB,CAAd;AAAA;AAHP;AAH0E,OAA9C,CAA3B,EAQH,CAAC,KAAK,cAAL,CAAoB,MAApB,CAAD,CARG,CAAP;AASD,KAfM;AAgBP,IAAA,UAhBO,sBAgBK,MAhBL,EAgBmB;AACxB,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,YAAL,CAAkB,MAAlB,CADC,CAFI,CAAP;AAKD,KAtBM;AAuBP,IAAA,cAvBO,0BAuBS,MAvBT,EAuBuB;AAC5B,aAAO,CACL,KAAK,WAAL,EADK,EAEL,KAAK,gBAAL,CAAsB,MAAtB,CAFK,CAAP;AAID,KA5BM;AA6BP,IAAA,MA7BO,kBA6BC,MA7BD,EA6Be;AACpB,UAAM,IAAI,GAAG,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAK,eAAvB,EAAwC;AAC9E,QAAA,WAAW,EAAE,SADiE;AAE9E,QAAA,KAAK,EAAE,KAAK;AAFkE,OAAxC,CAA3B,EAGT,CAAC,KAAK,UAAL,CAAgB,MAAhB,CAAD,CAHS,CAAb;AAKA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,IADC,CAFI,CAAP;AAKD,KAxCM;AAyCP,IAAA,UAzCO,wBAyCG;AAAA;;AACR,UAAM,IAAI,GAAG,mBAAI,KAAK,CAAC,KAAK,MAAN,CAAL,CAAmB,IAAnB,EAAJ,EAA+B,GAA/B,CAAmC,UAAA,CAAC,EAAG;AAClD,eAAO,MAAI,CAAC,MAAL,CAAY,CAAZ,CAAP;AACD,OAFY,CAAb;;AAIA,aAAO,CAAC,KAAK,cAAL,CAAoB,KAApB,EAA2B;AACjC,QAAA,WAAW,EAAE;AADoB,OAA3B,EAEL,IAFK,CAAD,CAAP;AAGD,KAjDM;AAkDP,IAAA,WAlDO,yBAkDI;AACT,aAAO,KAAK,cAAL,CAAoB,UAApB,EAAgC;AACrC,QAAA,KAAK,EAAE;AACL,yBAAe;AADV;AAD8B,OAAhC,EAIJ,CAAC,KAAK,SAAL,EAAD,CAJI,CAAP;AAKD,KAxDM;AAyDP,IAAA,SAzDO,uBAyDE;AACP,UAAM,IAAI,GAAG,KAAK,cAAL,CAAoB,MAApB,EAA4B;AACvC,QAAA,QAAQ,EAAE;AAAE,UAAA,SAAS,EAAE;AAAb;AAD6B,OAA5B,CAAb;AAIA,aAAO,KAAK,cAAL,CAAoB,QAApB,EAA8B;AACnC,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AAD4B,OAA9B,EAIJ,CAAC,IAAD,CAJI,CAAP;AAKD,KAnEM;AAoEP,IAAA,QApEO,oBAoEG,MApEH,EAoEiB;AAAA;;AACtB,UAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,UAAvB,CAAlB;AACA,aAAO,SAAS,CAAC,MAAjB,CAFsB,CAEE;;AAExB,aAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B;AAClC,QAAA,KAAK,EAAE,EAD2B;AAElC,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAE,KAAK,GAAL,CAAS,MAAT,CADC;AAER,UAAA,GAAG,EAAE,KAAK,IAAL,KAAc,QAAd,GAAyB,CAAzB,GAA6B;AAF1B,SAFwB;AAMlC,QAAA,KAAK,kCACA,KAAK,MADL;AAEH,UAAA,QAAQ,EAAE,KAAK,UAFZ;AAGH,UAAA,QAAQ,EAAE,KAAK,UAHZ;AAIH,UAAA,IAAI,EAAE,KAAK,IAJR;AAKH,UAAA,EAAE,YAAK,KAAK,UAAV,eAAyB,MAAzB,CALC;AAMH,UAAA,KAAK,2BAAoB,MAApB,CANF;AAOH,UAAA,SAAS,EAAE;AAPR,UAN6B;AAelC,QAAA,EAAE,EAAE,MAAM,CAAC,MAAP,CAAc,SAAd,EAAyB;AAC3B,UAAA,IAAI,EAAE,KAAK,MADgB;AAE3B,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAc,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAd;AAAA,WAFoB;AAG3B,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAc,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAd;AAAA,WAHoB;AAI3B,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAuB,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAvB;AAAA,WAJoB;AAK3B,UAAA,OAAO,EAAE,KAAK,SALa;AAM3B,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAsB,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAtB;AAAA;AANoB,SAAzB,CAf8B;AAuBlC,QAAA,GAAG,EAAE,OAvB6B;AAwBlC,QAAA,QAAQ,EAAE;AAxBwB,OAA7B,CAAP;AA0BD,KAlGM;AAmGP,IAAA,gBAnGO,4BAmGW,MAnGX,EAmGyB;AAC9B,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,QAAL,CAAc,MAAd,CADC,CAFI,CAAP;AAKD,KAzGM;AA0GP,IAAA,MA1GO,kBA0GC,CA1GD,EA0GU;AAAA;;AACf,WAAK,SAAL,GAAiB,KAAjB;AACA,MAAA,CAAC,IAAI,KAAK,SAAL,CAAe;AAAA,eAAM,MAAI,CAAC,KAAL,CAAW,MAAX,EAAmB,CAAnB,CAAN;AAAA,OAAf,CAAL;AACD,KA7GM;AA8GP,IAAA,OA9GO,mBA8GE,MA9GF,EA8GgB;AACrB,UAAI,KAAK,SAAL,IAAkB,KAAK,UAAvB,IAAqC,CAAC,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,CAA1C,EAAoE;AAEpE,WAAK,OAAL,CAAa,SAAb,EAAwB,MAAxB;AACD,KAlHM;AAmHP,IAAA,OAnHO,mBAmHE,CAnHF,EAmHa,MAnHb,EAmH4B;AACjC,MAAA,CAAC,QAAD,YAAA,CAAC,CAAE,cAAH;AACA,MAAA,CAAC,QAAD,YAAA,CAAC,CAAE,eAAH;AACA,UAAM,QAAQ,GAAG,KAAK,KAAL,CAAW,KAA5B;AACA,UAAM,GAAG,GAAG,KAAK,KAAL,CAAW,KAAX,IAAoB,QAAQ,CAAC,MAAM,IAAI,CAAX,CAAxC;AACA,UAAI,CAAC,GAAL,EAAU;;AAEV,UAAI,QAAQ,CAAC,aAAT,KAA2B,GAA/B,EAAoC;AAClC,QAAA,GAAG,CAAC,KAAJ;AACA,eAAO,GAAG,CAAC,MAAJ,EAAP;AACD;;AAED,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,SAAL,GAAiB,IAAjB;AACA,QAAA,GAAG,CAAC,MAAJ;AACA,QAAA,CAAC,IAAI,KAAK,KAAL,CAAW,OAAX,EAAoB,CAApB,CAAL;AACD;AACF,KApIM;AAqIP,IAAA,OArIO,mBAqIE,CArIF,EAqIY,MArIZ,EAqI0B;AAAA;;AAC/B,UAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,KAArB;AACA,WAAK,UAAL,CAAgB,MAAhB,EAAwB,MAAM,CAAC,KAA/B,EAAsC,YAAK;AACzC,QAAA,MAAI,CAAC,aAAL,GAAqB,MAAI,CAAC,GAAL,CAAS,IAAT,CAAc,EAAd,CAArB;AACD,OAFD;AAGA,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAP,IAAmB,MAAM,CAAC,QAAP,CAAgB,QAAnD;AAEA,UAAM,SAAS,GAAG,MAAM,GAAG,CAA3B;;AACA,UAAI,KAAJ,EAAW;AACT,YAAI,SAAS,GAAG,KAAK,MAArB,EAA6B;AAC3B,eAAK,WAAL,CAAiB,SAAjB;AACD,SAFD,MAEO;AACL,eAAK,UAAL,CAAgB,MAAhB;AACA,eAAK,WAAL;AACD;AACF;AACF,KAtJM;AAuJP,IAAA,UAvJO,sBAuJK,KAvJL,EAuJkB;AACvB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,CAAd;AACA,MAAA,KAAK,CAAC,IAAN;AACD,KA1JM;AA2JP,IAAA,SA3JO,qBA2JI,CA3JJ,EA2JoB;AACzB,UAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC;AAChC,aAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,aAA1B;AACD;;AAED,WAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD,KAjKM;AAkKP,IAAA,WAlKO,uBAkKM,CAlKN,EAkKgB,MAlKhB,EAkK8B;AACnC;AACA,UAAI,CAAC,CAAC,MAAF,KAAa,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,CAAjB,EAA2C;AACzC,QAAA,CAAC,CAAC,cAAF;AACA,QAAA,CAAC,CAAC,eAAF;AACD;;AAED,sBAAO,OAAP,CAAe,OAAf,CAAuB,WAAvB,CAAmC,IAAnC,CAAwC,IAAxC,EAA8C,CAA9C;AACD,KA1KM;AA2KP,IAAA,SA3KO,qBA2KI,CA3KJ,EA2Kc,MA3Kd,EA2K4B;AACjC,UAAI,KAAK,YAAT,EAAuB,KAAK,KAAL,CAAW,CAAX,EAAc,MAAd;;AAEvB,sBAAO,OAAP,CAAe,OAAf,CAAuB,SAAvB,CAAiC,IAAjC,CAAsC,IAAtC,EAA4C,CAA5C;AACD,KA/KM;AAgLP,IAAA,OAhLO,mBAgLE,KAhLF,EAgLyB,KAhLzB,EAgLsC;AAAA;;AAC3C,UAAM,SAAS,GAAG,KAAK,MAAL,GAAc,CAAhC;AACA,UAAM,QAAQ,GAAG,KAAH,4CAAG,KAAK,CAAE,aAAV,qBAAG,qBAAsB,OAAtB,CAA8B,MAA9B,CAAjB;AACA,UAAM,cAAc,GAAG,CAAA,QAAQ,QAAR,YAAA,QAAQ,CAAE,KAAV,CAAgB,EAAhB,MAAuB,EAA9C;AACA,MAAA,KAAK,CAAC,cAAN;;AACA,UAAM,MAAM,sBAAiB,KAAK,GAAtB,CAAZ;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,cAAc,CAAC,MAAnC,EAA2C,CAAC,EAA5C,EAAgD;AAC9C,YAAM,MAAM,GAAG,KAAK,GAAG,CAAvB;AACA,YAAI,MAAM,GAAG,SAAb,EAAwB;AACxB,QAAA,MAAM,CAAC,MAAD,CAAN,GAAiB,cAAc,CAAC,CAAD,CAAd,CAAkB,QAAlB,EAAjB;AACD;;AACD,WAAK,GAAL,GAAW,MAAX;AACA,UAAM,WAAW,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,GAAG,cAAc,CAAC,MAAhC,EAAwC,SAAxC,CAApB;AACA,WAAK,WAAL,CAAiB,WAAjB;;AAEA,UAAI,MAAM,CAAC,MAAP,KAAkB,KAAK,MAA3B,EAAmC;AAAE,aAAK,WAAL;AAAoB,aAAK,UAAL,CAAgB,WAAhB;AAA8B;AACxF,KAhMM;AAiMP,IAAA,UAjMO,sBAiMK,KAjML,EAiMoB,QAjMpB,EAiMsC,IAjMtC,EAiMoD;AACzD,UAAM,MAAM,sBAAiB,KAAK,GAAtB,CAAZ;;AACA,MAAA,MAAM,CAAC,KAAD,CAAN,GAAgB,QAAhB;AACA,WAAK,GAAL,GAAW,MAAX;AACA,MAAA,IAAI;AACL,KAtMM;AAuMP,IAAA,WAvMO,uBAuMM,KAvMN,EAuMmB;AACxB,WAAK,OAAL,CAAa,SAAb,EAAwB,KAAK,IAAI,CAAjC;AACD,KAzMM;AA0MP,IAAA,WA1MO,uBA0MM,GA1MN,EA0MkB;AACvB;AACA,WAAK,QAAL,GAAgB,GAAhB;;AAEA,UAAI,GAAJ,EAAS;AACP,aAAK,YAAL,GAAoB,KAAK,SAAzB;AACD,OAFD,MAEO,IAAI,KAAK,YAAL,KAAsB,KAAK,SAA/B,EAA0C;AAC/C,aAAK,KAAL,CAAW,QAAX,EAAqB,KAAK,SAA1B;AACD;AACF,KAnNM;AAoNP,IAAA,OApNO,mBAoNE,KApNF,EAoNwB,KApNxB,EAoNqC;AAC1C,MAAA,KAAK,CAAC,cAAN;AACA,UAAM,QAAQ,GAAG,KAAK,CAAC,GAAvB;;AACA,UAAI,CAAC,KAAD,EAAQ,OAAR,EAAiB,MAAjB,EAAyB,SAAzB,EAAoC,KAApC,EAA2C,QAA3C,CAAoD,QAApD,CAAJ,EAAmE;AACjE;AACD;;AACD,UAAI,CAAC,QAAD,EAAW,QAAX,CAAoB,QAApB,CAAJ,EAAmC;AACjC;AACD;;AACD,UAAI,QAAQ,KAAK,WAAb,IAA6B,QAAQ,KAAK,WAAb,IAA4B,CAAC,KAAK,GAAL,CAAS,KAAT,CAA9D,EAAgF;AAC9E,eAAO,KAAK,GAAG,CAAR,IAAa,KAAK,WAAL,CAAiB,KAAK,GAAG,CAAzB,CAApB;AACD;;AACD,UAAI,QAAQ,KAAK,YAAjB,EAA+B;AAC7B,eAAO,KAAK,GAAG,CAAR,GAAY,KAAK,MAAjB,IAA2B,KAAK,WAAL,CAAiB,KAAK,GAAG,CAAzB,CAAlC;AACD;AACF,KAnOM;AAoOP,IAAA,WApOO,yBAoOI;AACT,UAAM,GAAG,GAAG,KAAK,GAAL,CAAS,IAAT,CAAc,EAAd,CAAZ;;AACA,UAAI,GAAG,CAAC,MAAJ,KAAe,KAAK,MAAxB,EAAgC;AAC9B,aAAK,KAAL,CAAW,QAAX,EAAqB,GAArB;AACD;AACF;AAzOM,GAnEwC;AA8SjD,EAAA,MA9SiD,kBA8SzC,CA9SyC,EA8SxC;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,aADC;AAEd,MAAA,KAAK,EAAE,KAAK;AAFE,KAAR,EAGL,KAAK,UAAL,EAHK,CAAR;AAID;AAnTgD,CAApC,C","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: Number,\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: {\n type: Boolean,\n default: false,\n },\n },\n\n data: () => ({\n badInput: false,\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n isDirty (): boolean {\n return VInput.options.computed.isDirty.call(this) || this.badInput\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genCol (otpIdx: number) {\n const node = this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(otpIdx)])\n\n return this.$createElement('div', {\n staticClass: 'col-input',\n }, [\n node,\n ])\n },\n genContent () {\n const cols = [...Array(this.length).keys()].map(x => {\n return this.genCol(x)\n })\n\n return [this.$createElement('div', {\n staticClass: 'row-container',\n }, cols)]\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n maxlength: 1,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n paste: (e: ClipboardEvent) => this.onPaste(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, otpIdx: number) {\n const target = e.target as HTMLInputElement\n const value = target.value\n this.applyValue(otpIdx, target.value, () => {\n this.internalValue = this.otp.join('')\n })\n this.badInput = target.validity && target.validity.badInput\n\n const nextIndex = otpIdx + 1\n if (value) {\n if (nextIndex < this.length) {\n this.changeFocus(nextIndex)\n } else {\n this.clearFocus(otpIdx)\n this.onCompleted()\n }\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n onPaste (event: ClipboardEvent, index: number) {\n const maxCursor = this.length - 1\n const inputVal = event?.clipboardData?.getData('Text')\n const inputDataArray = inputVal?.split('') || []\n event.preventDefault()\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n this.otp = newOtp\n const targetFocus = Math.min(index + inputDataArray.length, maxCursor)\n this.changeFocus(targetFocus)\n\n if (newOtp.length === this.length) { this.onCompleted(); this.clearFocus(targetFocus) }\n },\n applyValue (index: number, inputVal: string, next: Function) {\n const newOtp: string[] = [...this.otp]\n newOtp[index] = inputVal\n this.otp = newOtp\n next()\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n badInput: false,\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n isDirty (): boolean {\n return VInput.options.computed.isDirty.call(this) || this.badInput\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n maxlength: 1,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n paste: (e: ClipboardEvent) => this.onPaste(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, otpIdx: number) {\n const target = e.target as HTMLInputElement\n const value = target.value\n this.applyValue(otpIdx, target.value, () => {\n this.internalValue = this.otp.join('')\n })\n this.badInput = target.validity && target.validity.badInput\n\n const nextIndex = otpIdx + 1\n if (value) {\n if (nextIndex < +this.length) {\n this.changeFocus(nextIndex)\n } else {\n this.clearFocus(otpIdx)\n this.onCompleted()\n }\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n onPaste (event: ClipboardEvent, index: number) {\n const maxCursor = +this.length - 1\n const inputVal = event?.clipboardData?.getData('Text')\n const inputDataArray = inputVal?.split('') || []\n event.preventDefault()\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n const targetFocus = Math.min(index + inputDataArray.length, maxCursor)\n this.changeFocus(targetFocus)\n\n if (newOtp.length === +this.length) { this.onCompleted(); this.clearFocus(targetFocus) }\n },\n applyValue (index: number, inputVal: string, next: Function) {\n const newOtp: string[] = [...this.otp]\n newOtp[index] = inputVal\n this.otp = newOtp\n next()\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
@@ -85,6 +85,7 @@ var _default = (0, _mixins.default)(_colorable.default, _themeable.default, _tog
85
85
  if (this.isActive) children.push(this.genContent());
86
86
  return h('div', {
87
87
  staticClass: 'v-overlay',
88
+ on: this.$listeners,
88
89
  class: this.classes,
89
90
  style: this.styles
90
91
  }, children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AACA;;AAGA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,kBA8DC,CA9DD,EA8DE;AACP,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,KAAK,EAAE,KAAK,OAFE;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAR,EAIL,QAJK,CAAR;AAKD;AAxEM,CAJM,C","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
1
+ {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AACA;;AAGA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,kBA8DC,CA9DD,EA8DE;AACP,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,EAAE,EAAE,KAAK,UAFK;AAGd,MAAA,KAAK,EAAE,KAAK,OAHE;AAId,MAAA,KAAK,EAAE,KAAK;AAJE,KAAR,EAKL,QALK,CAAR;AAMD;AAzEM,CAJM,C","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
@@ -13,8 +13,6 @@ var _VInput = _interopRequireDefault(require("../VInput"));
13
13
 
14
14
  var _VItemGroup = require("../VItemGroup/VItemGroup");
15
15
 
16
- var _comparable = _interopRequireDefault(require("../../mixins/comparable"));
17
-
18
16
  var _mixins = _interopRequireDefault(require("../../util/mixins"));
19
17
 
20
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -25,7 +23,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
25
23
 
26
24
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
25
 
28
- var baseMixins = (0, _mixins.default)(_comparable.default, _VItemGroup.BaseItemGroup, _VInput.default);
26
+ var baseMixins = (0, _mixins.default)(_VItemGroup.BaseItemGroup, _VInput.default);
29
27
  /* @vue/component */
30
28
 
31
29
  var _default = baseMixins.extend({
@@ -88,6 +86,13 @@ var _default = baseMixins.extend({
88
86
  return label;
89
87
  },
90
88
  onClick: _VItemGroup.BaseItemGroup.options.methods.onClick
89
+ },
90
+ render: function render(h) {
91
+ var vnode = _VInput.default.options.render.call(this, h);
92
+
93
+ this._b(vnode.data, 'div', this.attrs$);
94
+
95
+ return vnode;
91
96
  }
92
97
  });
93
98
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AAGA;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,yBAFiB,EAGjB,eAHiB,CAAnB;AAMA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;AAG/B,EAAA,OAH+B,qBAGxB;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,KAAK,EAAE;AAdF,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,4DAAoD,IAFtD;AAGE,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHvD;AAIE,qCAA6B,KAAK;AAJpC;AAMD;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,EAAE,EAAE,KAAK,EADJ;AAEL,UAAA,IAAI,EAAE,YAFD;AAGL,6BAAmB,KAAK;AAHnB;AAFyB,OAA3B,EAOJ,gBAAO,OAAP,CAAe,OAAf,CAAuB,cAAvB,CAAsC,IAAtC,CAA2C,IAA3C,CAPI,CAAP;AAQD,KAVM;AAWP,IAAA,YAXO,0BAWK;AACV,UAAM,MAAM,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAf;;AAEA,aAAO,MAAM,CAAC,IAAP,CAAa,EAAb,CAAiB,KAAxB;AAEA,aAAO,MAAP;AACD,KAjBM;AAkBP,IAAA,QAlBO,sBAkBC;AACN,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,QAAvB,CAAgC,IAAhC,CAAqC,IAArC,CAAd;;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA7BM;AA8BP,IAAA,OAAO,EAAE,0BAAc,OAAd,CAAsB,OAAtB,CAA8B;AA9BhC;AArCsB,CAAlB,C","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AAGA;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,yBADiB,EAEjB,eAFiB,CAAnB;AAKA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;AAG/B,EAAA,OAH+B,qBAGxB;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,KAAK,EAAE;AAdF,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,4DAAoD,IAFtD;AAGE,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHvD;AAIE,qCAA6B,KAAK;AAJpC;AAMD;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,EAAE,EAAE,KAAK,EADJ;AAEL,UAAA,IAAI,EAAE,YAFD;AAGL,6BAAmB,KAAK;AAHnB;AAFyB,OAA3B,EAOJ,gBAAO,OAAP,CAAe,OAAf,CAAuB,cAAvB,CAAsC,IAAtC,CAA2C,IAA3C,CAPI,CAAP;AAQD,KAVM;AAWP,IAAA,YAXO,0BAWK;AACV,UAAM,MAAM,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAf;;AAEA,aAAO,MAAM,CAAC,IAAP,CAAa,EAAb,CAAiB,KAAxB;AAEA,aAAO,MAAP;AACD,KAjBM;AAkBP,IAAA,QAlBO,sBAkBC;AACN,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,QAAvB,CAAgC,IAAhC,CAAqC,IAArC,CAAd;;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA7BM;AA8BP,IAAA,OAAO,EAAE,0BAAc,OAAd,CAAsB,OAAtB,CAA8B;AA9BhC,GArCsB;AAsE/B,EAAA,MAtE+B,kBAsEvB,CAtEuB,EAsEtB;AACP,QAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,CAAjC,CAAd;;AAEA,SAAK,EAAL,CAAQ,KAAK,CAAC,IAAd,EAAqB,KAArB,EAA4B,KAAK,MAAjC;;AAEA,WAAO,KAAP;AACD;AA5E8B,CAAlB,C","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
@@ -239,7 +239,10 @@ var _default2 = _VSlider.default.extend({
239
239
  this.thumbPressed = true;
240
240
  }
241
241
 
242
- this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value);
242
+ if (this.activeThumb === null) {
243
+ this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value);
244
+ }
245
+
243
246
  this.setInternalValue(value);
244
247
  },
245
248
  onKeyDown: function onKeyDown(e) {