@dimailn/vuetify 2.7.2-alpha27 → 2.7.2-alpha28
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.
- package/dist/vuetify.js +78 -22
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +0 -1
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VChip/VChip.js +1 -0
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VList/VListItem.js +4 -2
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +36 -0
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +15 -2
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +3 -3
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +0 -7
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/routable/index.js +5 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +0 -1
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VChip/VChip.js +1 -0
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VList/VListItem.js +4 -2
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +48 -0
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +11 -5
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +3 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +0 -6
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/routable/index.js +5 -2
- package/lib/mixins/routable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +0 -1
- package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
- package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
- package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
- package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
- package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
- package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
- package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
- package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
- package/src/components/VChip/VChip.ts +1 -0
- package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
- package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
- package/src/components/VData/__tests__/VData.spec.ts +69 -90
- package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
- package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
- package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
- package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
- package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
- package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
- package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
- package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
- package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
- package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
- package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
- package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
- package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
- package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
- package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
- package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
- package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
- package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
- package/src/components/VList/VListItem.ts +9 -3
- package/src/components/VList/__tests__/VList.spec.ts +13 -12
- package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
- package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
- package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
- package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
- package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
- package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
- package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
- package/src/components/VMenu/VMenu.ts +1 -1
- package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
- package/src/components/VOtpInput/VOtpInput.ts +37 -1
- package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
- package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
- package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelectList.ts +9 -9
- package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
- package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
- package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
- package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
- package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
- package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
- package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
- package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
- package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
- package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
- package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +0 -40
- package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
- package/src/components/VTooltip/VTooltip.ts +3 -3
- package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
- package/src/components/VTreeview/VTreeview.ts +0 -5
- package/src/mixins/routable/index.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VAlert/VAlert.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData, Transition } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n emits: ['update:modelValue'],\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n class: ['v-alert__border', {\n [`v-alert__border--${this.border}`]: true,\n }]\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return h('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return h(VBtn, {\n class: 'v-alert__dismissible',\n color,\n icon: true,\n small: true,\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n onClick: () => (this.isActive = false),\n }, [\n h(VIcon, {\n color,\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return h(VIcon, {\n class: 'v-alert__icon',\n color: this.iconColor,\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record<string, boolean> = {\n ...VSheet.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, 'append'),\n this.$slots.close\n ? this.$slots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n class: 'v-alert__wrapper',\n }\n\n return h('div', data, children)\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-alert__content',\n }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n class: ['v-alert', this.classes],\n role: 'alert',\n ...this.listeners$,\n style: this.styles\n }\n\n const directives = [\n [\n vShow,\n this.isActive\n ]\n ]\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return withDirectives(h('div', data, [this.genWrapper()]), directives)\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n mode: this.mode\n }, [render])\n },\n})\n"],"sourceRoot":"","file":"VAlert.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VAlert/VAlert.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData, Transition } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n emits: ['update:modelValue'],\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n class: ['v-alert__border', {\n [`v-alert__border--${this.border}`]: true,\n }]\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return h('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return h(VBtn, {\n class: 'v-alert__dismissible',\n color,\n icon: true,\n small: true,\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n onClick: () => (this.isActive = false),\n }, [\n h(VIcon, {\n color,\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return h(VIcon, {\n class: 'v-alert__icon',\n color: this.iconColor,\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record<string, boolean> = {\n ...VSheet.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, 'append'),\n this.$slots.close\n ? this.$slots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n class: 'v-alert__wrapper',\n }\n\n return h('div', data, children)\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-alert__content',\n }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n class: ['v-alert', this.classes],\n role: 'alert',\n ...this.listeners$,\n style: this.styles\n }\n\n const directives = [\n [\n vShow,\n this.isActive\n ]\n ]\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return withDirectives(h('div', data, [this.genWrapper()]), directives)\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n mode: this.mode\n }, [render])\n },\n})\n"],"sourceRoot":"","file":"VAlert.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VChip/VChip.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,iBAFa,EAGb,iBAHa,EAIb,kBAJa,EAKb,wBAAiB,WAAjB,CALa,EAMb,0BANa,EAOb,MAPa,CAON;AACP,EAAA,IAAI,EAAE,QADC;AAGP,EAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,aAAtB,EAAqC,OAArC,EAA8C,QAA9C,CAHA;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE;AADK,KALR;AAQL,IAAA,KAAK,EAAE,OARF;AASL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,OAAO,EAAE;AAFA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VChip/VChip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, vShow, withDirectives, VNode } from 'vue'\n// Styles\nimport './VChip.sass'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory()\n).extend({\n name: 'v-chip',\n\n emits: ['update:modelValue', 'click:close', 'click', 'change'],\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n close: Boolean,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n modelValue: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) {\n return this.activeClass\n }\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n if (this.chipGroup) {\n this.toggle()\n this.$emit('update:modelValue', this.isActive)\n }\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n h(VIcon, {\n class: 'v-chip__filter',\n left: true,\n }, this.filterIcon)\n )\n }\n\n return h(VExpandXTransition, children)\n },\n genClose (): VNode {\n return h(VIcon, {\n class: 'v-chip__close',\n right: true,\n size: 18,\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n onClick: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:modelValue', false)\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return h('span', {\n class: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n getSlot(this),\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (): VNode {\n const children = [this.genContent()]\n let { tag, data, directives } = this.generateRouteLink()\n\n data = {\n ...data,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.tabindex,\n }\n\n directives!.push([\n vShow,\n this.active,\n ])\n\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return withDirectives(\n h(tag, this.setTextColor(color, data), children),\n directives\n )\n },\n})\n"],"sourceRoot":"","file":"VChip.js"}
|
|
@@ -65,6 +65,7 @@ var _default = baseMixins.extend({
|
|
|
65
65
|
},
|
|
66
66
|
dense: Boolean,
|
|
67
67
|
inactive: Boolean,
|
|
68
|
+
onClick: Function,
|
|
68
69
|
link: Boolean,
|
|
69
70
|
selectable: {
|
|
70
71
|
type: Boolean
|
|
@@ -175,10 +176,11 @@ var _default = baseMixins.extend({
|
|
|
175
176
|
// delete data.nativeOn
|
|
176
177
|
// }
|
|
177
178
|
|
|
178
|
-
var
|
|
179
|
+
var slotProps = {
|
|
179
180
|
active: this.isActive,
|
|
180
181
|
toggle: this.toggle
|
|
181
|
-
}
|
|
182
|
+
};
|
|
183
|
+
var children = [(0, _helpers.getSlot)(this, 'prepend', slotProps), (0, _helpers.getSlot)(this, 'default', slotProps), (0, _helpers.getSlot)(this, 'append', slotProps)].filter(Boolean);
|
|
182
184
|
var nodeData = this.isActive ? this.setTextColor(this.color, data) : data;
|
|
183
185
|
var attrsClasses = this.$attrs.class;
|
|
184
186
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AAEA;;AAGA;;;;;;;;;;;;;;AAEA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,wBAAiB,eAAjB,CAJiB,EAKjB,yBAAkB,YAAlB,CALiB,CAAnB;AAgBA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,aADyB;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, VNode, PropType, PropValidator } from 'vue'\n// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mergeData, { mergeClasses } from './../../util/mergeData'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('modelValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-list-item',\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n modelValue: null as any as PropType<any>,\n },\n\n emits: [\n 'click',\n 'keydown',\n 'change',\n 'update:modelValue',\n ],\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const { class: _, ...otherAttrs } = this.$attrs\n const attrs: Record<string, any> = {\n ...otherAttrs,\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this.$.uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.modelValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n\n render (): VNode {\n let { tag, data, directives } = this.generateRouteLink()\n const attrs = this.genAttrs()\n\n data = mergeData(\n data,\n attrs\n )\n\n data = {\n ...data,\n onKeydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n // Ensure our attrs take precedence over routable\n ...attrs,\n }\n\n if (this.inactive) tag = 'div'\n // if (this.inactive && this.to) {\n // data.on = data.nativeOn\n // delete data.nativeOn\n // }\n\n const slotProps = {\n active: this.isActive,\n toggle: this.toggle,\n }\n\n const children = [\n getSlot(this, 'prepend', slotProps),\n getSlot(this, 'default', slotProps),\n getSlot(this, 'append', slotProps),\n ].filter(Boolean)\n\n const nodeData = this.isActive ? this.setTextColor(this.color, data) : data\n\n const attrsClasses = this.$attrs.class\n if (attrsClasses) {\n nodeData.class = [this.classes, attrsClasses]\n } else {\n nodeData.class = this.classes\n }\n\n const node = typeof tag === 'string'\n ? h(tag, nodeData, children)\n : h(tag, nodeData, () => children)\n\n return withDirectives(node, directives)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
|
|
@@ -291,7 +291,7 @@ var _default2 = baseMixins.extend({
|
|
|
291
291
|
var listeners = _menuable.default.methods.genActivatorListeners.call(this);
|
|
292
292
|
|
|
293
293
|
if (!this.disableKeys) {
|
|
294
|
-
listeners.
|
|
294
|
+
listeners.onKeydown = this.onKeyDown;
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
return listeners;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n emits: ['keydown'],\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 &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.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 h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n emits: ['keydown'],\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 &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.onKeydown = this.onKeyDown;\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
|
|
@@ -70,6 +70,42 @@ var _default = baseMixins.extend({
|
|
|
70
70
|
outlined: function outlined() {
|
|
71
71
|
return !this.plain;
|
|
72
72
|
},
|
|
73
|
+
fullWidth: function fullWidth() {
|
|
74
|
+
return false;
|
|
75
|
+
},
|
|
76
|
+
prefix: function prefix() {
|
|
77
|
+
return false;
|
|
78
|
+
},
|
|
79
|
+
isSingle: function isSingle() {
|
|
80
|
+
return true;
|
|
81
|
+
},
|
|
82
|
+
isSolo: function isSolo() {
|
|
83
|
+
return false;
|
|
84
|
+
},
|
|
85
|
+
soloInverted: function soloInverted() {
|
|
86
|
+
return false;
|
|
87
|
+
},
|
|
88
|
+
flat: function flat() {
|
|
89
|
+
return false;
|
|
90
|
+
},
|
|
91
|
+
filled: function filled() {
|
|
92
|
+
return false;
|
|
93
|
+
},
|
|
94
|
+
isEnclosed: function isEnclosed() {
|
|
95
|
+
return this.outlined;
|
|
96
|
+
},
|
|
97
|
+
reverse: function reverse() {
|
|
98
|
+
return false;
|
|
99
|
+
},
|
|
100
|
+
placeholder: function placeholder() {
|
|
101
|
+
return '';
|
|
102
|
+
},
|
|
103
|
+
rounded: function rounded() {
|
|
104
|
+
return false;
|
|
105
|
+
},
|
|
106
|
+
shaped: function shaped() {
|
|
107
|
+
return false;
|
|
108
|
+
},
|
|
73
109
|
classes: function classes() {
|
|
74
110
|
return _objectSpread(_objectSpread(_objectSpread({}, _VInput.default.computed.classes.call(this)), _VTextField2.default.computed.classes.call(this)), {}, {
|
|
75
111
|
'v-otp-input--plain': this.plain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// 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({\n name: 'v-otp-input',\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 emits: ['blur', 'focus', 'change', 'keydown', 'finish'],\n\n data: () => ({\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.computed.classes.call(this),\n ...VTextField.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n modelValue (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 h('div', this.setBackgroundColor(this.backgroundColor, {\n class: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n onClick: () => this.onClick(otpIdx),\n onMousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n onMouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return h('div', {\n class: '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 h('div', this.setTextColor(this.validationState, {\n class: ['v-input', this.classes]\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return h('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = h('span', {\n domProps: { innerHTML: '​' },\n })\n\n return h('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 h('input', {\n style: {},\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n ...Object.assign(listeners, {\n onBlur: this.onBlur,\n onInput: (e: Event) => this.onInput(e, otpIdx),\n onFocus: (e: Event) => this.onFocus(e, otpIdx),\n onKeydown: this.onKeyDown,\n onKeyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return h('div', {\n class: '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, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\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 if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\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.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.methods.onMouseUp.call(this, e)\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 (): VNode {\n return h('div', {\n class: ['v-otp-input', this.themeClasses],\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAGA;;AACA;;AAKA;;AACA;;AAGA;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,eADiB,CAAnB;AAUA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,aADyB;AAI/B,EAAA,YAAY,EAAE,KAJiB;AAM/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;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;AATF,GANwB;AAkB/B,EAAA,KAAK,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,EAA4B,SAA5B,EAAuC,QAAvC,CAlBwB;AAoB/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,YAAY,EAAE,IADH;AAEX,MAAA,QAAQ,EAAE,KAFC;AAGX,MAAA,GAAG,EAAE;AAHM,KAAP;AAAA,GApByB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AACN,aAAO,CAAC,KAAK,KAAb;AACD,KAHO;AAIR,IAAA,SAJQ,uBAIC;AACP,aAAO,KAAP;AACD,KANO;AAOR,IAAA,MAPQ,oBAOF;AACJ,aAAO,KAAP;AACD,KATO;AAUR,IAAA,QAVQ,sBAUA;AACN,aAAO,IAAP;AACD,KAZO;AAaR,IAAA,MAbQ,oBAaF;AACJ,aAAO,KAAP;AACD,KAfO;AAgBR,IAAA,YAhBQ,0BAgBI;AACV,aAAO,KAAP;AACD,KAlBO;AAmBR,IAAA,IAnBQ,kBAmBJ;AACF,aAAO,KAAP;AACD,KArBO;AAsBR,IAAA,MAtBQ,oBAsBF;AACJ,aAAO,KAAP;AACD,KAxBO;AAyBR,IAAA,UAzBQ,wBAyBE;AACR,aAAO,KAAK,QAAZ;AACD,KA3BO;AA4BR,IAAA,OA5BQ,qBA4BD;AACL,aAAO,KAAP;AACD,KA9BO;AA+BR,IAAA,WA/BQ,yBA+BG;AACT,aAAO,EAAP;AACD,KAjCO;AAkCR,IAAA,OAlCQ,qBAkCD;AACL,aAAO,KAAP;AACD,KApCO;AAqCR,IAAA,MArCQ,oBAqCF;AACJ,aAAO,KAAP;AACD,KAvCO;AAwCR,IAAA,OAxCQ,qBAwCD;AACL,2DACK,gBAAO,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADL,GAEK,qBAAW,QAAX,CAAoB,OAApB,CAA4B,IAA5B,CAAiC,IAAjC,CAFL;AAGE,8BAAsB,KAAK;AAH7B;AAKD;AA9CO,GA1BqB;AA2E/B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,aADN;AAEL,IAAA,UAFK,sBAEO,GAFP,EAEU;AACb,WAAK,SAAL,GAAiB,GAAjB;AACA,WAAK,GAAL,GAAW,CAAA,GAAG,KAAA,IAAH,IAAA,GAAG,KAAA,KAAA,CAAH,GAAG,KAAA,CAAH,GAAA,GAAG,CAAE,KAAL,CAAW,EAAX,CAAA,KAAkB,EAA7B;AACD;AALI,GA3EwB;AAmF/B,EAAA,OAnF+B,qBAmFxB;;AACL;;;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,sBAA3B,CAAJ,EAAwD;AACtD,6BAAS,sBAAT,EAAiC,cAAjC,EAAiD,IAAjD;AACD;;AAED,SAAK,GAAL,GAAW,CAAA,CAAA,EAAA,GAAA,KAAK,aAAL,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAE,KAAF,CAAQ,EAAR,CAAlB,KAAiC,EAA5C;AACD,GA1F8B;AA4F/B,EAAA,OA5F+B,qBA4FxB;AAAA;;AACL,IAAA,qBAAqB,CAAC;AAAA,aAAO,KAAI,CAAC,QAAL,GAAgB,IAAvB;AAAA,KAAD,CAArB;AACD,GA9F8B;AAgG/B,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,YAAE,KAAF,EAAS,KAAK,kBAAL,CAAwB,KAAK,eAA7B,EAA8C;AAC5D,QAAA,KAAK,EAAE,eADqD;AAE5D,QAAA,KAAK,EAAE;AAAE,UAAA,MAAM,EAAE,4BAAc,KAAK,MAAnB;AAAV,SAFqD;AAG5D,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,OAAL,CAAa,MAAb,CAAN;AAAA,SAHmD;AAI5D,QAAA,WAAW,EAAE,qBAAC,CAAD;AAAA,iBAAc,MAAI,CAAC,WAAL,CAAiB,CAAjB,EAAoB,MAApB,CAAd;AAAA,SAJ+C;AAK5D,QAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,iBAAc,MAAI,CAAC,SAAL,CAAe,CAAf,EAAkB,MAAlB,CAAd;AAAA;AALiD,OAA9C,CAAT,EAMH,CAAC,KAAK,cAAL,CAAoB,MAApB,CAAD,CANG,CAAP;AAOD,KAbM;AAcP,IAAA,UAdO,sBAcK,MAdL,EAcmB;AACxB,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,CACD,KAAK,YAAL,CAAkB,MAAlB,CADC,CAFI,CAAP;AAKD,KApBM;AAqBP,IAAA,cArBO,0BAqBS,MArBT,EAqBuB;AAC5B,aAAO,CACL,KAAK,WAAL,EADK,EAEL,KAAK,gBAAL,CAAsB,MAAtB,CAFK,CAAP;AAID,KA1BM;AA2BP,IAAA,UA3BO,wBA2BG;AAAA;;AACR,aAAO,KAAK,CAAC,IAAN,CAAW;AAAE,QAAA,MAAM,EAAE,CAAC,KAAK;AAAhB,OAAX,EAAqC,UAAC,CAAD,EAAI,CAAJ,EAAS;AACnD,eAAO,YAAE,KAAF,EAAS,MAAI,CAAC,YAAL,CAAkB,MAAI,CAAC,eAAvB,EAAwC;AACtD,UAAA,KAAK,EAAE,CAAC,SAAD,EAAY,MAAI,CAAC,OAAjB;AAD+C,SAAxC,CAAT,EAEH,CAAC,MAAI,CAAC,UAAL,CAAgB,CAAhB,CAAD,CAFG,CAAP;AAGD,OAJM,CAAP;AAKD,KAjCM;AAkCP,IAAA,WAlCO,yBAkCI;AACT,aAAO,YAAE,UAAF,EAAc;AACnB,QAAA,KAAK,EAAE;AACL,yBAAe;AADV;AADY,OAAd,EAIJ,CAAC,KAAK,SAAL,EAAD,CAJI,CAAP;AAKD,KAxCM;AAyCP,IAAA,SAzCO,uBAyCE;AACP,UAAM,IAAI,GAAG,YAAE,MAAF,EAAU;AACrB,QAAA,QAAQ,EAAE;AAAE,UAAA,SAAS,EAAE;AAAb;AADW,OAAV,CAAb;AAIA,aAAO,YAAE,QAAF,EAAY;AACjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AADU,OAAZ,EAIJ,CAAC,IAAD,CAJI,CAAP;AAKD,KAnDM;AAoDP,IAAA,QApDO,oBAoDG,MApDH,EAoDiB;AAAA;;AACtB,UAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,UAAvB,CAAlB;AACA,aAAO,SAAS,CAAC,MAAjB,CAFsB,CAEE;;AAExB,aAAO,YAAE,OAAF;AACL,QAAA,KAAK,EAAE,EADF;AAEL,QAAA,KAAK,EAAE,KAAK,GAAL,CAAS,MAAT,CAFF;AAGL,QAAA,GAAG,EAAE,KAAK,IAAL,KAAc,QAAd,GAAyB,CAAzB,GAA6B;AAH7B,SAIF,KAAK,MAJH;AAKL,QAAA,YAAY,EAAE,eALT;AAML,QAAA,QAAQ,EAAE,KAAK,UANV;AAOL,QAAA,QAAQ,EAAE,KAAK,UAPV;AAQL,QAAA,IAAI,EAAE,KAAK,IARN;AASL,QAAA,EAAE,YAAK,KAAK,UAAV,eAAyB,MAAzB,CATG;AAUL,QAAA,KAAK,2BAAoB,MAApB;AAVA,SAWF,MAAM,CAAC,MAAP,CAAc,SAAd,EAAyB;AAC1B,QAAA,MAAM,EAAE,KAAK,MADa;AAE1B,QAAA,OAAO,EAAE,iBAAC,CAAD;AAAA,iBAAc,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAd;AAAA,SAFiB;AAG1B,QAAA,OAAO,EAAE,iBAAC,CAAD;AAAA,iBAAc,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAd;AAAA,SAHiB;AAI1B,QAAA,SAAS,EAAE,KAAK,SAJU;AAK1B,QAAA,OAAO,EAAE,iBAAC,CAAD;AAAA,iBAAsB,MAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,MAAhB,CAAtB;AAAA;AALiB,OAAzB,CAXE;AAkBL,QAAA,GAAG,EAAE,OAlBA;AAmBL,QAAA,QAAQ,EAAE;AAnBL,SAAP;AAqBD,KA7EM;AA8EP,IAAA,gBA9EO,4BA8EW,MA9EX,EA8EyB;AAC9B,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,CACD,KAAK,QAAL,CAAc,MAAd,CADC,CAFI,CAAP;AAKD,KApFM;AAqFP,IAAA,MArFO,kBAqFC,CArFD,EAqFU;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,KAxFM;AAyFP,IAAA,OAzFO,mBAyFE,MAzFF,EAyFgB;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,KA7FM;AA8FP,IAAA,OA9FO,mBA8FE,CA9FF,EA8Fa,MA9Fb,EA8F4B;AACjC,MAAA,CAAC,KAAA,IAAD,IAAA,CAAC,KAAA,KAAA,CAAD,GAAC,KAAA,CAAD,GAAA,CAAC,CAAE,cAAH,EAAA;AACA,MAAA,CAAC,KAAA,IAAD,IAAA,CAAC,KAAA,KAAA,CAAD,GAAC,KAAA,CAAD,GAAA,CAAC,CAAE,eAAH,EAAA;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,KA/GM;AAgHP,IAAA,OAhHO,mBAgHE,CAhHF,EAgHY,KAhHZ,EAgHyB;AAC9B,UAAM,SAAS,GAAG,CAAC,KAAK,MAAN,GAAe,CAAjC;AAEA,UAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,KAArB;AACA,UAAM,cAAc,GAAG,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,CAAa,EAAb,CAAA,KAAoB,EAA3C;;AAEA,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,UAAI,CAAC,cAAc,CAAC,MAApB,EAA4B;AAC1B,QAAA,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,CAArB;AACD;;AAED,WAAK,GAAL,GAAW,MAAX;AACA,WAAK,aAAL,GAAqB,KAAK,GAAL,CAAS,IAAT,CAAc,EAAd,CAArB;;AAEA,UAAI,KAAK,GAAG,cAAc,CAAC,MAAvB,IAAiC,CAAC,KAAK,MAA3C,EAAmD;AACjD,aAAK,WAAL;AACA,aAAK,UAAL,CAAgB,KAAhB;AACD,OAHD,MAGO,IAAI,cAAc,CAAC,MAAnB,EAA2B;AAChC,aAAK,WAAL,CAAiB,KAAK,GAAG,cAAc,CAAC,MAAxC;AACD;AACF,KA1IM;AA2IP,IAAA,UA3IO,sBA2IK,KA3IL,EA2IkB;AACvB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,CAAd;AACA,MAAA,KAAK,CAAC,IAAN;AACD,KA9IM;AA+IP,IAAA,SA/IO,qBA+II,CA/IJ,EA+IoB;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,KArJM;AAsJP,IAAA,WAtJO,uBAsJM,CAtJN,EAsJgB,MAtJhB,EAsJ8B;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,WAAf,CAA2B,IAA3B,CAAgC,IAAhC,EAAsC,CAAtC;AACD,KA9JM;AA+JP,IAAA,SA/JO,qBA+JI,CA/JJ,EA+Jc,MA/Jd,EA+J4B;AACjC,UAAI,KAAK,YAAT,EAAuB,KAAK,KAAL,CAAW,CAAX,EAAc,MAAd;;AAEvB,sBAAO,OAAP,CAAe,SAAf,CAAyB,IAAzB,CAA8B,IAA9B,EAAoC,CAApC;AACD,KAnKM;AAoKP,IAAA,WApKO,uBAoKM,KApKN,EAoKmB;AACxB,WAAK,OAAL,CAAa,SAAb,EAAwB,KAAK,IAAI,CAAjC;AACD,KAtKM;AAuKP,IAAA,WAvKO,uBAuKM,GAvKN,EAuKkB;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,KAhLM;AAiLP,IAAA,OAjLO,mBAiLE,KAjLF,EAiLwB,KAjLxB,EAiLqC;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,CAAC,KAAK,MAAlB,IAA4B,KAAK,WAAL,CAAiB,KAAK,GAAG,CAAzB,CAAnC;AACD;AACF,KAhMM;AAiMP,IAAA,WAjMO,yBAiMI;AACT,UAAM,GAAG,GAAG,KAAK,GAAL,CAAS,IAAT,CAAc,EAAd,CAAZ;;AACA,UAAI,GAAG,CAAC,MAAJ,KAAe,CAAC,KAAK,MAAzB,EAAiC;AAC/B,aAAK,KAAL,CAAW,QAAX,EAAqB,GAArB;AACD;AACF;AAtMM,GAhGsB;AAwS/B,EAAA,MAxS+B,oBAwSzB;AACJ,WAAO,YAAE,KAAF,EAAS;AACd,MAAA,KAAK,EAAE,CAAC,aAAD,EAAgB,KAAK,YAArB;AADO,KAAT,EAEJ,KAAK,UAAL,EAFI,CAAP;AAGD;AA5S8B,CAAlB,C","sourcesContent":["import {h} from 'vue'\n// 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({\n name: 'v-otp-input',\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 emits: ['blur', 'focus', 'change', 'keydown', 'finish'],\n\n data: () => ({\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): boolean {\n return !this.plain\n },\n fullWidth (): boolean {\n return false\n },\n prefix (): boolean {\n return false\n },\n isSingle (): boolean {\n return true\n },\n isSolo (): boolean {\n return false\n },\n soloInverted (): boolean {\n return false\n },\n flat (): boolean {\n return false\n },\n filled (): boolean {\n return false\n },\n isEnclosed (): boolean {\n return this.outlined\n },\n reverse (): boolean {\n return false\n },\n placeholder (): string {\n return ''\n },\n rounded (): boolean {\n return false\n },\n shaped (): boolean {\n return false\n },\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n ...VTextField.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n modelValue (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 h('div', this.setBackgroundColor(this.backgroundColor, {\n class: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n onClick: () => this.onClick(otpIdx),\n onMousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n onMouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return h('div', {\n class: '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 h('div', this.setTextColor(this.validationState, {\n class: ['v-input', this.classes]\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return h('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = h('span', {\n domProps: { innerHTML: '​' },\n })\n\n return h('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 h('input', {\n style: {},\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n ...Object.assign(listeners, {\n onBlur: this.onBlur,\n onInput: (e: Event) => this.onInput(e, otpIdx),\n onFocus: (e: Event) => this.onFocus(e, otpIdx),\n onKeydown: this.onKeyDown,\n onKeyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return h('div', {\n class: '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, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\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 if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\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.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.methods.onMouseUp.call(this, e)\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 (): VNode {\n return h('div', {\n class: ['v-otp-input', this.themeClasses],\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
|
|
@@ -25,6 +25,10 @@ var _vue = require("vue");
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
27
|
|
|
28
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
29
|
+
|
|
30
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
31
|
+
|
|
28
32
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
29
33
|
|
|
30
34
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -187,11 +191,20 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default).ext
|
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
var parent = this;
|
|
194
|
+
|
|
195
|
+
var onClick = tile.onClick,
|
|
196
|
+
onMousedown = tile.onMousedown,
|
|
197
|
+
attrsWithoutEvents = _objectWithoutProperties(tile, ["onClick", "onMousedown"]);
|
|
198
|
+
|
|
190
199
|
var scopedSlot = this.$slots.item({
|
|
191
200
|
parent: parent,
|
|
192
201
|
item: item,
|
|
193
|
-
|
|
194
|
-
|
|
202
|
+
active: value,
|
|
203
|
+
attrs: tile,
|
|
204
|
+
on: {
|
|
205
|
+
onMousedown: onMousedown,
|
|
206
|
+
onClick: onClick
|
|
207
|
+
}
|
|
195
208
|
});
|
|
196
209
|
return this.needsTile(scopedSlot) ? (0, _vue.h)(_VList.VListItem, tile, scopedSlot) : scopedSlot;
|
|
197
210
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>)\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$slots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n ...tile.on,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n onInput: () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick\n }\n });\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|