@dimailn/vuetify 2.7.2-alpha32 → 2.7.2-alpha34
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 +544 -366
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/VCalendarWeekly.js +10 -5
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +7 -9
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VContent/VContent.js +24 -5
- package/es5/components/VContent/VContent.js.map +1 -1
- package/es5/components/VCounter/VCounter.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +15 -7
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +30 -19
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
- package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VGrid/VCol.js +3 -1
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +23 -10
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VGrid/grid.js +33 -15
- package/es5/components/VGrid/grid.js.map +1 -1
- package/es5/components/VHover/VHover.js +23 -17
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VIcon/VIcon.js +77 -53
- package/es5/components/VIcon/VIcon.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +5 -0
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VLabel/VLabel.js +3 -1
- package/es5/components/VLabel/VLabel.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +54 -33
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +14 -13
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +12 -33
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +4 -1
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VStepper/VStepper.js +1 -1
- package/es5/components/VStepper/VStepper.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +2 -5
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VSwitch/VSwitch.js +1 -1
- package/es5/components/VSwitch/VSwitch.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +5 -0
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTabs/VTabsBar.js +3 -0
- package/es5/components/VTabs/VTabsBar.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +2 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +0 -7
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/directives/color/index.js +6 -3
- package/es5/directives/color/index.js.map +1 -1
- package/es5/directives/ripple/index.js +5 -2
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/directives/scroll/index.js +1 -2
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +7 -4
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/activatable/index.js +0 -8
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/positionable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/registrable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +4 -2
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/toggleable/index.js.map +1 -1
- package/es5/services/goto/util.js +42 -3
- package/es5/services/goto/util.js.map +1 -1
- package/es5/services/theme/index.js +20 -71
- package/es5/services/theme/index.js.map +1 -1
- package/es5/util/mergeData.js +6 -5
- package/es5/util/mergeData.js.map +1 -1
- package/es5/util/mixins.js +4 -3
- package/es5/util/mixins.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +11 -6
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +5 -8
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VContent/VContent.js +18 -3
- package/lib/components/VContent/VContent.js.map +1 -1
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +17 -7
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +25 -14
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
- package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VGrid/VCol.js +3 -1
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +11 -10
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VGrid/grid.js +15 -14
- package/lib/components/VGrid/grid.js.map +1 -1
- package/lib/components/VHover/VHover.js +23 -18
- package/lib/components/VHover/VHover.js.map +1 -1
- package/lib/components/VIcon/VIcon.js +79 -57
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +5 -0
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VLabel/VLabel.js +3 -1
- package/lib/components/VLabel/VLabel.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +58 -34
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +14 -14
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +12 -16
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +4 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VStepper/VStepper.js +1 -1
- package/lib/components/VStepper/VStepper.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +3 -6
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +1 -1
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +5 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabsBar.js +3 -0
- package/lib/components/VTabs/VTabsBar.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +1 -8
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/directives/color/index.js +6 -3
- package/lib/directives/color/index.js.map +1 -1
- package/lib/directives/ripple/index.js +5 -3
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/directives/scroll/index.js +1 -2
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +7 -4
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/activatable/index.js +1 -8
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/positionable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/registrable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +9 -7
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/toggleable/index.js.map +1 -1
- package/lib/services/goto/util.js +42 -3
- package/lib/services/goto/util.js.map +1 -1
- package/lib/services/theme/index.js +18 -64
- package/lib/services/theme/index.js.map +1 -1
- package/lib/util/mergeData.js +6 -5
- package/lib/util/mergeData.js.map +1 -1
- package/lib/util/mixins.js +3 -2
- package/lib/util/mixins.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +4 -4
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +2 -2
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +75 -20
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +38 -40
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +26 -26
- package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +2 -2
- package/src/components/VBtn/__tests__/VBtn.spec.ts +8 -4
- package/src/components/VCalendar/VCalendarWeekly.ts +12 -5
- package/src/components/VCalendar/__tests__/VCalendar.spec.ts +1 -1
- package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +5 -5
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +167 -168
- package/src/components/VCheckbox/VCheckbox.ts +4 -9
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +7 -1
- package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +18 -18
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +89 -69
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +17 -12
- package/src/components/VContent/VContent.ts +10 -2
- package/src/components/VCounter/VCounter.ts +1 -1
- package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +42 -42
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +30 -30
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +1 -1
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +6 -10
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +24 -21
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +409 -409
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +70 -70
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +8 -8
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +3 -3
- package/src/components/VDatePicker/VDatePicker.ts +23 -7
- package/src/components/VDatePicker/VDatePickerTitle.ts +28 -16
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +86 -124
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +85 -63
- package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +12 -27
- package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +9 -5
- package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +4 -4
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +27 -9
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +45 -35
- package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +15 -5
- package/src/components/VDatePicker/mixins/date-picker-table.ts +1 -1
- package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +5 -8
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +10 -14
- package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
- package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +4 -4
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +38 -38
- package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
- package/src/components/VGrid/VCol.ts +1 -1
- package/src/components/VGrid/VContainer.ts +12 -10
- package/src/components/VGrid/__tests__/VCol.spec.ts +4 -2
- package/src/components/VGrid/__tests__/VGrid.spec.ts +2 -3
- package/src/components/VGrid/grid.ts +14 -17
- package/src/components/VHover/VHover.ts +21 -17
- package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
- package/src/components/VIcon/VIcon.ts +72 -53
- package/src/components/VIcon/__tests__/VIcon.spec.ts +86 -176
- package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
- package/src/components/VItemGroup/VItemGroup.ts +5 -0
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +20 -12
- package/src/components/VLabel/VLabel.ts +1 -1
- package/src/components/VList/__tests__/VListGroup.spec.ts +1 -1
- package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +2 -2
- package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
- package/src/components/VOtpInput/VOtpInput.ts +57 -32
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
- package/src/components/VOverflowBtn/VOverflowBtn.ts +13 -10
- package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
- package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +32 -32
- package/src/components/VProgressLinear/VProgressLinear.ts +13 -18
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +20 -12
- package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
- package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
- package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
- package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
- package/src/components/VSelect/VSelect.ts +5 -1
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +5 -5
- package/src/components/VSelect/__tests__/VSelect3.spec.ts +7 -7
- package/src/components/VSelect/__tests__/VSelect4.spec.ts +2 -2
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +0 -284
- package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
- package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
- package/src/components/VStepper/VStepper.ts +2 -2
- package/src/components/VStepper/VStepperContent.ts +7 -12
- package/src/components/VStepper/__tests__/VStepper.spec.ts +3 -3
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +25 -6
- package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
- package/src/components/VSwitch/VSwitch.ts +1 -1
- package/src/components/VSwitch/__tests__/VSwitch.spec.ts +4 -7
- package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
- package/src/components/VTabs/VTabs.ts +5 -0
- package/src/components/VTabs/VTabsBar.ts +4 -0
- package/src/components/VTabs/__tests__/VTabs.spec.ts +65 -0
- package/src/components/VTextField/VTextField.ts +2 -1
- package/src/components/VTextField/__tests__/VTextField.spec.ts +24 -27
- package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
- package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +16 -6
- package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +3 -3
- package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +3 -3
- package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +2 -2
- package/src/components/VTooltip/VTooltip.ts +0 -6
- package/src/components/VTooltip/__tests__/VTooltip.spec.ts +12 -11
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +42 -42
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +2 -2
- package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
- package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
- package/src/directives/color/__tests__/color.spec.ts +54 -34
- package/src/directives/color/index.ts +7 -3
- package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
- package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
- package/src/directives/resize/__tests__/resize.spec.ts +5 -5
- package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
- package/src/directives/ripple/index.ts +3 -6
- package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
- package/src/directives/scroll/index.ts +0 -1
- package/src/directives/touch/__tests__/touch.spec.ts +23 -16
- package/src/directives/touch/index.ts +6 -4
- package/src/globals.d.ts +6 -6
- package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
- package/src/mixins/activatable/index.ts +0 -6
- package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
- package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
- package/src/mixins/groupable/index.ts +6 -6
- package/src/mixins/positionable/index.ts +2 -2
- package/src/mixins/proxyable/index.ts +2 -2
- package/src/mixins/registrable/index.ts +4 -4
- package/src/mixins/selectable/index.ts +10 -7
- package/src/mixins/toggleable/index.ts +2 -2
- package/src/services/goto/__tests__/goto.spec.ts +146 -1
- package/src/services/goto/util.ts +44 -5
- package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
- package/src/services/theme/__tests__/theme.spec.ts +81 -83
- package/src/services/theme/index.ts +22 -60
- package/src/util/__tests__/dom.spec.ts +8 -5
- package/src/util/__tests__/helpers.spec.ts +1 -1
- package/src/util/__tests__/mergeData.spec.ts +8 -8
- package/src/util/mergeData.ts +10 -5
- package/src/util/mixins.ts +24 -7
- package/types/alacarte.d.ts +14 -14
- package/types/index.d.ts +8 -8
- package/types/lib.d.ts +173 -173
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`VIcon for component icon should render an svg icon 1`] = `
|
|
4
|
-
<span
|
|
5
|
-
|
|
4
|
+
<span class="v-icon notranslate theme--light"
|
|
5
|
+
aria-hidden="true"
|
|
6
6
|
>
|
|
7
|
-
<svg
|
|
7
|
+
<svg class="v-icon__svg"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
9
|
viewbox="0 0 24 24"
|
|
9
10
|
role="img"
|
|
10
11
|
aria-hidden="true"
|
|
11
|
-
class="v-icon__svg"
|
|
12
12
|
>
|
|
13
13
|
<path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z">
|
|
14
14
|
</path>
|
|
@@ -17,15 +17,15 @@ exports[`VIcon for component icon should render an svg icon 1`] = `
|
|
|
17
17
|
`;
|
|
18
18
|
|
|
19
19
|
exports[`VIcon for component icon should render an svg icon 2`] = `
|
|
20
|
-
<span
|
|
21
|
-
|
|
20
|
+
<span class="v-icon notranslate theme--light"
|
|
21
|
+
aria-hidden="true"
|
|
22
22
|
style="font-size: 36px; height: 36px; width: 36px;"
|
|
23
23
|
>
|
|
24
|
-
<svg
|
|
24
|
+
<svg class="v-icon__svg"
|
|
25
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
25
26
|
viewbox="0 0 24 24"
|
|
26
27
|
role="img"
|
|
27
28
|
aria-hidden="true"
|
|
28
|
-
class="v-icon__svg"
|
|
29
29
|
style="font-size: 36px; height: 36px; width: 36px;"
|
|
30
30
|
>
|
|
31
31
|
<path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z">
|
|
@@ -35,95 +35,40 @@ exports[`VIcon for component icon should render an svg icon 2`] = `
|
|
|
35
35
|
`;
|
|
36
36
|
|
|
37
37
|
exports[`VIcon for component icon should render component 1`] = `
|
|
38
|
-
<span
|
|
39
|
-
|
|
38
|
+
<span class="v-icon notranslate theme--light"
|
|
39
|
+
aria-hidden="true"
|
|
40
40
|
>
|
|
41
|
-
<div class="test-component v-icon__component theme--light">
|
|
42
|
-
test icon
|
|
43
|
-
</div>
|
|
44
|
-
</span>
|
|
45
|
-
`;
|
|
46
|
-
|
|
47
|
-
exports[`VIcon for component icon should set font size from helper prop 1`] = `
|
|
48
|
-
<span aria-hidden="true"
|
|
49
|
-
class="v-icon notranslate theme--light"
|
|
50
|
-
style="font-size: 16px; height: 16px; width: 16px;"
|
|
51
|
-
>
|
|
52
|
-
<div class="test-component v-icon__component theme--light"
|
|
53
|
-
style="font-size: 16px; height: 16px; width: 16px;"
|
|
54
|
-
>
|
|
55
|
-
test icon
|
|
56
|
-
</div>
|
|
57
|
-
</span>
|
|
58
|
-
`;
|
|
59
|
-
|
|
60
|
-
exports[`VIcon for component icon should set font size from helper prop 2`] = `
|
|
61
|
-
<span aria-hidden="true"
|
|
62
|
-
class="v-icon notranslate theme--light"
|
|
63
|
-
>
|
|
64
|
-
<div class="test-component v-icon__component theme--light">
|
|
65
|
-
test icon
|
|
66
|
-
</div>
|
|
67
|
-
</span>
|
|
68
|
-
`;
|
|
69
|
-
|
|
70
|
-
exports[`VIcon for component icon should set font size from helper prop 3`] = `
|
|
71
|
-
<span aria-hidden="true"
|
|
72
|
-
class="v-icon notranslate theme--light"
|
|
73
|
-
style="font-size: 36px; height: 36px; width: 36px;"
|
|
74
|
-
>
|
|
75
|
-
<div class="test-component v-icon__component theme--light"
|
|
76
|
-
style="font-size: 36px; height: 36px; width: 36px;"
|
|
77
|
-
>
|
|
78
|
-
test icon
|
|
79
|
-
</div>
|
|
80
|
-
</span>
|
|
81
|
-
`;
|
|
82
|
-
|
|
83
|
-
exports[`VIcon for component icon should set font size from helper prop 4`] = `
|
|
84
|
-
<span aria-hidden="true"
|
|
85
|
-
class="v-icon notranslate theme--light"
|
|
86
|
-
style="font-size: 40px; height: 40px; width: 40px;"
|
|
87
|
-
>
|
|
88
|
-
<div class="test-component v-icon__component theme--light"
|
|
89
|
-
style="font-size: 40px; height: 40px; width: 40px;"
|
|
90
|
-
>
|
|
91
|
-
test icon
|
|
92
|
-
</div>
|
|
93
41
|
</span>
|
|
94
42
|
`;
|
|
95
43
|
|
|
96
44
|
exports[`VIcon set font size from helper prop 1`] = `
|
|
97
|
-
<i
|
|
98
|
-
|
|
45
|
+
<i class="v-icon notranslate theme--light material-icons"
|
|
46
|
+
aria-hidden="true"
|
|
99
47
|
style="font-size: 16px;"
|
|
100
48
|
>
|
|
101
|
-
add
|
|
102
49
|
</i>
|
|
103
50
|
`;
|
|
104
51
|
|
|
105
52
|
exports[`VIcon set font size from helper prop 2`] = `
|
|
106
|
-
<i
|
|
107
|
-
|
|
53
|
+
<i class="v-icon notranslate theme--light material-icons"
|
|
54
|
+
aria-hidden="true"
|
|
55
|
+
medium="true"
|
|
108
56
|
>
|
|
109
|
-
add
|
|
110
57
|
</i>
|
|
111
58
|
`;
|
|
112
59
|
|
|
113
60
|
exports[`VIcon set font size from helper prop 3`] = `
|
|
114
|
-
<i
|
|
115
|
-
|
|
61
|
+
<i class="v-icon notranslate theme--light material-icons"
|
|
62
|
+
aria-hidden="true"
|
|
116
63
|
style="font-size: 36px;"
|
|
117
64
|
>
|
|
118
|
-
add
|
|
119
65
|
</i>
|
|
120
66
|
`;
|
|
121
67
|
|
|
122
68
|
exports[`VIcon set font size from helper prop 4`] = `
|
|
123
|
-
<i
|
|
124
|
-
|
|
69
|
+
<i class="v-icon notranslate theme--light material-icons"
|
|
70
|
+
aria-hidden="true"
|
|
125
71
|
style="font-size: 40px;"
|
|
126
72
|
>
|
|
127
|
-
add
|
|
128
73
|
</i>
|
|
129
74
|
`;
|
|
@@ -37,6 +37,10 @@ export const BaseItemGroup = mixins(
|
|
|
37
37
|
type: String,
|
|
38
38
|
default: 'v-item--active',
|
|
39
39
|
},
|
|
40
|
+
allowDeselect: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: true,
|
|
43
|
+
},
|
|
40
44
|
mandatory: Boolean,
|
|
41
45
|
max: {
|
|
42
46
|
type: [Number, String],
|
|
@@ -254,6 +258,7 @@ export const BaseItemGroup = mixins(
|
|
|
254
258
|
const isSame = this.valueComparator(this.internalValue, value)
|
|
255
259
|
|
|
256
260
|
if (this.mandatory && isSame) return
|
|
261
|
+
if (!this.allowDeselect && isSame) return
|
|
257
262
|
|
|
258
263
|
this.internalValue = isSame ? undefined : value
|
|
259
264
|
},
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
} from '@vue/test-utils'
|
|
9
9
|
import { h, nextTick } from 'vue'
|
|
10
10
|
|
|
11
|
-
const itemWarning = '[Vuetify] The v-item component must be used inside a v-item-group'
|
|
12
11
|
|
|
13
12
|
describe('VItem', () => {
|
|
14
13
|
let mountFunction: (options?: object) => any
|
|
@@ -23,22 +22,30 @@ describe('VItem', () => {
|
|
|
23
22
|
}
|
|
24
23
|
})
|
|
25
24
|
|
|
26
|
-
it('should
|
|
27
|
-
|
|
25
|
+
it.skip('should render without default slot', () => {
|
|
26
|
+
// VItem должен использоваться внутри VItemGroup
|
|
27
|
+
const VItemGroup = require('../VItemGroup').default
|
|
28
|
+
const wrapper = mount(VItemGroup, {
|
|
29
|
+
slots: {
|
|
30
|
+
default: () => h(VItem)
|
|
31
|
+
}
|
|
32
|
+
})
|
|
28
33
|
|
|
29
|
-
expect(
|
|
30
|
-
expect(itemWarning).toHaveBeenTipped()
|
|
34
|
+
expect(wrapper.exists()).toBe(true)
|
|
31
35
|
})
|
|
32
36
|
|
|
33
|
-
it('should
|
|
34
|
-
|
|
37
|
+
it('should render with multiple elements', () => {
|
|
38
|
+
// VItem должен использоваться внутри VItemGroup
|
|
39
|
+
const VItemGroup = require('../VItemGroup').default
|
|
40
|
+
const wrapper = mount(VItemGroup, {
|
|
35
41
|
slots: {
|
|
36
|
-
default:
|
|
37
|
-
|
|
42
|
+
default: () => h(VItem, {}, {
|
|
43
|
+
default: () => [h('div', 'foo'), h('div', 'bar')]
|
|
44
|
+
})
|
|
45
|
+
}
|
|
38
46
|
})
|
|
39
47
|
|
|
40
|
-
expect(
|
|
41
|
-
expect(itemWarning).toHaveBeenTipped()
|
|
48
|
+
expect(wrapper.exists()).toBe(true)
|
|
42
49
|
})
|
|
43
50
|
|
|
44
51
|
it('should match snapshot activeClass', async () => {
|
|
@@ -59,6 +66,7 @@ describe('VItem', () => {
|
|
|
59
66
|
await nextTick()
|
|
60
67
|
|
|
61
68
|
expect(wrapper.html()).toMatchSnapshot()
|
|
62
|
-
|
|
69
|
+
|
|
70
|
+
expect('[Vuetify] The v-item component must be used inside a v-item-group').toHaveBeenTipped()
|
|
63
71
|
})
|
|
64
72
|
})
|
|
@@ -60,6 +60,6 @@ export default mixins(Themeable).extend({
|
|
|
60
60
|
ref: 'label',
|
|
61
61
|
}, data)
|
|
62
62
|
|
|
63
|
-
return h('label', Colorable.methods.setTextColor(props.focused && props.color, newData), this.$slots.default())
|
|
63
|
+
return h('label', Colorable.methods.setTextColor(props.focused && props.color, newData), this.$slots.default?.())
|
|
64
64
|
},
|
|
65
65
|
})
|
|
@@ -190,7 +190,7 @@ describe('VListGroup.ts', () => {
|
|
|
190
190
|
const wrapper = mountFunction()
|
|
191
191
|
const header = wrapper.find('.v-list-group__header')
|
|
192
192
|
|
|
193
|
-
expect(header.element.tabIndex).toBe(
|
|
193
|
+
expect(header.element.tabIndex).toBe(0)
|
|
194
194
|
expect(header.element.getAttribute('aria-expanded')).toBe('false')
|
|
195
195
|
expect(header.element.getAttribute('role')).toBe('button')
|
|
196
196
|
|
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
import VListItemAction from '../VListItemAction'
|
|
3
3
|
|
|
4
4
|
// Utilities
|
|
5
|
-
import Vue from 'vue'
|
|
6
5
|
import {
|
|
7
6
|
mount,
|
|
8
|
-
|
|
7
|
+
VueWrapper,
|
|
8
|
+
MountingOptions,
|
|
9
|
+
enableAutoUnmount,
|
|
9
10
|
} from '@vue/test-utils'
|
|
10
11
|
import { functionalContext } from '../../../../test'
|
|
11
|
-
|
|
12
|
-
// Types
|
|
13
|
-
import { ExtractVue } from '../../../util/mixins'
|
|
12
|
+
import { defineComponent, h, ComponentPublicInstance } from 'vue'
|
|
14
13
|
|
|
15
14
|
describe('VListItemAction.ts', () => {
|
|
16
|
-
type Instance =
|
|
17
|
-
let mountFunction: (options?:
|
|
15
|
+
type Instance = InstanceType<typeof VListItemAction>
|
|
16
|
+
let mountFunction: (options?: MountingOptions<Instance>) => VueWrapper<Instance>
|
|
17
|
+
|
|
18
|
+
enableAutoUnmount(afterEach)
|
|
18
19
|
|
|
19
20
|
beforeEach(() => {
|
|
20
21
|
mountFunction = (options = {}) => {
|
|
@@ -25,53 +26,53 @@ describe('VListItemAction.ts', () => {
|
|
|
25
26
|
})
|
|
26
27
|
|
|
27
28
|
it('should render component and match snapshot', () => {
|
|
28
|
-
const wrapper = mountFunction(
|
|
29
|
+
const wrapper = mountFunction()
|
|
29
30
|
|
|
30
31
|
expect(wrapper.html()).toMatchSnapshot()
|
|
31
32
|
})
|
|
32
33
|
|
|
33
34
|
it('should render component with static class and match snapshot', () => {
|
|
34
|
-
const wrapper = mountFunction(
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const wrapper = mountFunction({
|
|
36
|
+
attrs: {
|
|
37
|
+
class: 'static-class',
|
|
38
|
+
},
|
|
39
|
+
})
|
|
37
40
|
|
|
38
41
|
expect(wrapper.html()).toMatchSnapshot()
|
|
39
42
|
})
|
|
40
43
|
|
|
41
44
|
it('should render component with many children and match snapshot', () => {
|
|
42
|
-
const content1 =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
const content1 = h('div', 'content1')
|
|
46
|
+
const content2 = h('span', 'content2')
|
|
47
|
+
const wrapper = mountFunction({
|
|
48
|
+
slots: {
|
|
49
|
+
default: () => [content1, content2],
|
|
50
|
+
},
|
|
51
|
+
})
|
|
49
52
|
|
|
50
53
|
expect(wrapper.html()).toMatchSnapshot()
|
|
51
54
|
})
|
|
52
55
|
|
|
53
56
|
it('should render component with one children and match snapshot', () => {
|
|
54
|
-
const visible =
|
|
55
|
-
|
|
56
|
-
})).vNode
|
|
57
|
-
const notVisible = mount(Vue.component('notVisible', {
|
|
58
|
-
render: h => { return h() || h('span') },
|
|
59
|
-
})).vNode
|
|
57
|
+
const visible = h('div', 'visible')
|
|
58
|
+
const notVisible = h('span', 'notVisible')
|
|
60
59
|
|
|
61
|
-
const wrapper = mountFunction(
|
|
60
|
+
const wrapper = mountFunction({
|
|
61
|
+
slots: {
|
|
62
|
+
default: () => [visible, notVisible],
|
|
63
|
+
},
|
|
64
|
+
})
|
|
62
65
|
|
|
63
66
|
expect(wrapper.html()).toMatchSnapshot()
|
|
64
67
|
})
|
|
65
68
|
|
|
66
69
|
it('should work with v-html', () => {
|
|
67
70
|
const wrapper = mountFunction({
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
slots: {
|
|
72
|
+
default: () => h('div', {
|
|
70
73
|
innerHTML: '<b>something</b>',
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
props: {},
|
|
74
|
-
}),
|
|
74
|
+
}),
|
|
75
|
+
},
|
|
75
76
|
})
|
|
76
77
|
|
|
77
78
|
expect(wrapper.html()).toMatchSnapshot()
|
|
@@ -8,8 +8,8 @@ exports[`VListGroup.ts should render component and match snapshot 1`] = `
|
|
|
8
8
|
class="v-list-item v-list-item--link theme--light v-list-group__header"
|
|
9
9
|
>
|
|
10
10
|
<div class="v-list-item__icon v-list-group__header__append-icon v-list-group__header__append-icon">
|
|
11
|
-
<i
|
|
12
|
-
|
|
11
|
+
<i class="v-icon notranslate theme--light mdi mdi-chevron-down"
|
|
12
|
+
aria-hidden="true"
|
|
13
13
|
>
|
|
14
14
|
</i>
|
|
15
15
|
</div>
|
|
@@ -6,24 +6,38 @@ exports[`VListItemAction.ts should render component and match snapshot 1`] = `
|
|
|
6
6
|
`;
|
|
7
7
|
|
|
8
8
|
exports[`VListItemAction.ts should render component with many children and match snapshot 1`] = `
|
|
9
|
-
<div class="v-list-item__action">
|
|
9
|
+
<div class="v-list-item__action v-list-item__action--stack">
|
|
10
|
+
<div>
|
|
11
|
+
content1
|
|
12
|
+
</div>
|
|
13
|
+
<span>
|
|
14
|
+
content2
|
|
15
|
+
</span>
|
|
10
16
|
</div>
|
|
11
17
|
`;
|
|
12
18
|
|
|
13
19
|
exports[`VListItemAction.ts should render component with one children and match snapshot 1`] = `
|
|
14
|
-
<div class="v-list-item__action">
|
|
20
|
+
<div class="v-list-item__action v-list-item__action--stack">
|
|
21
|
+
<div>
|
|
22
|
+
visible
|
|
23
|
+
</div>
|
|
24
|
+
<span>
|
|
25
|
+
notVisible
|
|
26
|
+
</span>
|
|
15
27
|
</div>
|
|
16
28
|
`;
|
|
17
29
|
|
|
18
30
|
exports[`VListItemAction.ts should render component with static class and match snapshot 1`] = `
|
|
19
|
-
<div class="v-list-item__action static-class">
|
|
31
|
+
<div class="v-list-item__action static-class static-class">
|
|
20
32
|
</div>
|
|
21
33
|
`;
|
|
22
34
|
|
|
23
35
|
exports[`VListItemAction.ts should work with v-html 1`] = `
|
|
24
36
|
<div class="v-list-item__action">
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
<div>
|
|
38
|
+
<b>
|
|
39
|
+
something
|
|
40
|
+
</b>
|
|
41
|
+
</div>
|
|
28
42
|
</div>
|
|
29
43
|
`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {h} from 'vue'
|
|
1
|
+
import { h } from 'vue'
|
|
2
2
|
// Styles
|
|
3
3
|
import '../VTextField/VTextField.sass'
|
|
4
4
|
import './VOtpInput.sass'
|
|
@@ -10,12 +10,12 @@ import VTextField from '../VTextField/VTextField'
|
|
|
10
10
|
import ripple from '../../directives/ripple'
|
|
11
11
|
|
|
12
12
|
// Utilities
|
|
13
|
-
import { convertToUnit
|
|
13
|
+
import { convertToUnit } from '../../util/helpers'
|
|
14
14
|
import { breaking } from '../../util/console'
|
|
15
15
|
|
|
16
16
|
// Types
|
|
17
17
|
import mixins from '../../util/mixins'
|
|
18
|
-
import { VNode } from 'vue'
|
|
18
|
+
import type { VNode } from 'vue'
|
|
19
19
|
|
|
20
20
|
const baseMixins = mixins(
|
|
21
21
|
VInput,
|
|
@@ -31,7 +31,6 @@ interface options extends InstanceType<typeof baseMixins> {
|
|
|
31
31
|
export default baseMixins.extend({
|
|
32
32
|
name: 'v-otp-input',
|
|
33
33
|
|
|
34
|
-
|
|
35
34
|
inheritAttrs: false,
|
|
36
35
|
|
|
37
36
|
props: {
|
|
@@ -44,14 +43,20 @@ export default baseMixins.extend({
|
|
|
44
43
|
default: 'text',
|
|
45
44
|
},
|
|
46
45
|
plain: Boolean,
|
|
46
|
+
modelValue: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: '',
|
|
49
|
+
},
|
|
47
50
|
},
|
|
48
51
|
|
|
49
|
-
emits: ['blur', 'focus', 'change', 'keydown', 'finish'],
|
|
52
|
+
emits: ['blur', 'focus', 'change', 'keydown', 'finish', 'update:modelValue'],
|
|
50
53
|
|
|
51
54
|
data: () => ({
|
|
52
55
|
initialValue: null,
|
|
53
56
|
isBooted: false,
|
|
54
57
|
otp: [] as string[],
|
|
58
|
+
lazyValue: '',
|
|
59
|
+
inputRefs: [] as HTMLInputElement[],
|
|
55
60
|
}),
|
|
56
61
|
|
|
57
62
|
computed: {
|
|
@@ -79,9 +84,6 @@ export default baseMixins.extend({
|
|
|
79
84
|
filled (): boolean {
|
|
80
85
|
return false
|
|
81
86
|
},
|
|
82
|
-
isEnclosed (): boolean {
|
|
83
|
-
return this.outlined
|
|
84
|
-
},
|
|
85
87
|
reverse (): boolean {
|
|
86
88
|
return false
|
|
87
89
|
},
|
|
@@ -94,6 +96,15 @@ export default baseMixins.extend({
|
|
|
94
96
|
shaped (): boolean {
|
|
95
97
|
return false
|
|
96
98
|
},
|
|
99
|
+
internalValue: {
|
|
100
|
+
get (): string {
|
|
101
|
+
return this.lazyValue
|
|
102
|
+
},
|
|
103
|
+
set (val: string) {
|
|
104
|
+
this.lazyValue = val
|
|
105
|
+
this.$emit('update:modelValue', val)
|
|
106
|
+
},
|
|
107
|
+
},
|
|
97
108
|
classes (): object {
|
|
98
109
|
return {
|
|
99
110
|
...VInput.computed.classes.call(this),
|
|
@@ -101,6 +112,9 @@ export default baseMixins.extend({
|
|
|
101
112
|
'v-otp-input--plain': this.plain,
|
|
102
113
|
}
|
|
103
114
|
},
|
|
115
|
+
isEnclosed (): boolean {
|
|
116
|
+
return false
|
|
117
|
+
},
|
|
104
118
|
},
|
|
105
119
|
|
|
106
120
|
watch: {
|
|
@@ -117,7 +131,8 @@ export default baseMixins.extend({
|
|
|
117
131
|
breaking('browser-autocomplete', 'autocomplete', this)
|
|
118
132
|
}
|
|
119
133
|
|
|
120
|
-
this.
|
|
134
|
+
this.lazyValue = this.modelValue
|
|
135
|
+
this.otp = this.modelValue?.split('') || []
|
|
121
136
|
},
|
|
122
137
|
|
|
123
138
|
mounted () {
|
|
@@ -154,20 +169,18 @@ export default baseMixins.extend({
|
|
|
154
169
|
genContent () {
|
|
155
170
|
return Array.from({ length: +this.length }, (_, i) => {
|
|
156
171
|
return h('div', this.setTextColor(this.validationState, {
|
|
157
|
-
class: ['v-input', this.classes]
|
|
172
|
+
class: ['v-input', this.classes],
|
|
158
173
|
}), [this.genControl(i)])
|
|
159
174
|
})
|
|
160
175
|
},
|
|
161
176
|
genFieldset () {
|
|
162
177
|
return h('fieldset', {
|
|
163
|
-
|
|
164
|
-
'aria-hidden': true,
|
|
165
|
-
},
|
|
178
|
+
'aria-hidden': 'true',
|
|
166
179
|
}, [this.genLegend()])
|
|
167
180
|
},
|
|
168
181
|
genLegend () {
|
|
169
182
|
const span = h('span', {
|
|
170
|
-
|
|
183
|
+
innerHTML: '​',
|
|
171
184
|
})
|
|
172
185
|
|
|
173
186
|
return h('legend', {
|
|
@@ -177,14 +190,13 @@ export default baseMixins.extend({
|
|
|
177
190
|
}, [span])
|
|
178
191
|
},
|
|
179
192
|
genInput (otpIdx: number) {
|
|
180
|
-
const listeners = Object.assign({}, this
|
|
181
|
-
delete listeners.
|
|
193
|
+
const listeners = Object.assign({}, this.$attrs)
|
|
194
|
+
delete listeners.onChange // Change should not be bound externally
|
|
182
195
|
|
|
183
|
-
|
|
196
|
+
const inputProps: any = {
|
|
184
197
|
style: {},
|
|
185
198
|
value: this.otp[otpIdx],
|
|
186
|
-
|
|
187
|
-
...this.attrs$,
|
|
199
|
+
...this.$attrs,
|
|
188
200
|
autocomplete: 'one-time-code',
|
|
189
201
|
disabled: this.isDisabled,
|
|
190
202
|
readonly: this.isReadonly,
|
|
@@ -198,9 +210,18 @@ export default baseMixins.extend({
|
|
|
198
210
|
onKeydown: this.onKeyDown,
|
|
199
211
|
onKeyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),
|
|
200
212
|
}),
|
|
201
|
-
ref:
|
|
202
|
-
|
|
203
|
-
|
|
213
|
+
ref: (el: HTMLInputElement) => {
|
|
214
|
+
if (el) {
|
|
215
|
+
this.inputRefs[otpIdx] = el
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
if (this.type === 'number') {
|
|
221
|
+
inputProps.min = 0
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return h('input', inputProps)
|
|
204
225
|
},
|
|
205
226
|
genTextFieldSlot (otpIdx: number): VNode {
|
|
206
227
|
return h('div', {
|
|
@@ -214,19 +235,20 @@ export default baseMixins.extend({
|
|
|
214
235
|
e && this.$nextTick(() => this.$emit('blur', e))
|
|
215
236
|
},
|
|
216
237
|
onClick (otpIdx: number) {
|
|
217
|
-
if (this.isFocused || this.isDisabled || !this
|
|
238
|
+
if (this.isFocused || this.isDisabled || !this.inputRefs[otpIdx]) return
|
|
218
239
|
|
|
219
240
|
this.onFocus(undefined, otpIdx)
|
|
220
241
|
},
|
|
221
242
|
onFocus (e?: Event, otpIdx?: number) {
|
|
222
243
|
e?.preventDefault()
|
|
223
244
|
e?.stopPropagation()
|
|
224
|
-
|
|
225
|
-
const ref = this
|
|
245
|
+
|
|
246
|
+
const ref = this.inputRefs[otpIdx || 0]
|
|
226
247
|
if (!ref) return
|
|
227
248
|
|
|
228
249
|
if (document.activeElement !== ref) {
|
|
229
250
|
ref.focus()
|
|
251
|
+
this.isFocused = true
|
|
230
252
|
return ref.select()
|
|
231
253
|
}
|
|
232
254
|
|
|
@@ -264,19 +286,21 @@ export default baseMixins.extend({
|
|
|
264
286
|
}
|
|
265
287
|
},
|
|
266
288
|
clearFocus (index: number) {
|
|
267
|
-
const input = this
|
|
268
|
-
input
|
|
289
|
+
const input = this.inputRefs[index]
|
|
290
|
+
input?.blur()
|
|
269
291
|
},
|
|
270
292
|
onKeyDown (e: KeyboardEvent) {
|
|
271
|
-
if (e.
|
|
293
|
+
if (e.key === 'Enter') {
|
|
272
294
|
this.$emit('change', this.internalValue)
|
|
273
295
|
}
|
|
274
296
|
|
|
275
297
|
this.$emit('keydown', e)
|
|
276
298
|
},
|
|
277
299
|
onMouseDown (e: Event, otpIdx: number) {
|
|
300
|
+
const inputRef = this.inputRefs[otpIdx]
|
|
301
|
+
|
|
278
302
|
// Prevent input from being blurred
|
|
279
|
-
if (e.target !==
|
|
303
|
+
if (e.target !== inputRef) {
|
|
280
304
|
e.preventDefault()
|
|
281
305
|
e.stopPropagation()
|
|
282
306
|
}
|
|
@@ -296,14 +320,15 @@ export default baseMixins.extend({
|
|
|
296
320
|
this.hasColor = val
|
|
297
321
|
|
|
298
322
|
if (val) {
|
|
299
|
-
this.initialValue = this.
|
|
300
|
-
} else if (this.initialValue !== this.
|
|
301
|
-
this.$emit('change', this.
|
|
323
|
+
this.initialValue = this.internalValue
|
|
324
|
+
} else if (this.initialValue !== this.internalValue) {
|
|
325
|
+
this.$emit('change', this.internalValue)
|
|
302
326
|
}
|
|
303
327
|
},
|
|
304
328
|
onKeyUp (event: KeyboardEvent, index: number) {
|
|
305
329
|
event.preventDefault()
|
|
306
330
|
const eventKey = event.key
|
|
331
|
+
|
|
307
332
|
if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {
|
|
308
333
|
return
|
|
309
334
|
}
|