@dimailn/vuetify 2.7.2-alpha32 → 2.7.2-alpha33
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 +531 -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/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/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/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/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/__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/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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VStepper/VStepperContent.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,EAAW,KAAX,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VStepper/VStepperContent.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeUnmount () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (): VNode {\n const contentData = {\n class: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n class: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [\n [\n vShow,\n this.isActive,\n ],\n ]\n }\n\n const wrapper = h('div', wrapperData, getSlot(this))\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n ...this.$listeners,\n }, () => [content])\n },\n})\n"],"sourceRoot":"","file":"VStepperContent.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSwitch/VSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { defineComponent, VNode, VNodeData, h } from 'vue'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-switch',\n\n\n extends: Selectable,\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['click', 'focus', 'blur'],\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [[\n Touch,\n {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n ]],\n })),\n\n h('div', mergeData({ class: 'v-input--switch__track' },\n this.switchData,\n )),\n h('div', mergeData({ class: 'v-input--switch__thumb' },\n this.switchData,\n ), [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return h(VFabTransition, {}, () => [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || h(VProgressCircular, {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":"","file":"VSwitch.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSwitch/VSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { defineComponent, VNode, VNodeData, h } from 'vue'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-switch',\n\n\n extends: Selectable,\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: ['click', 'focus', 'blur', 'update:modelValue', 'change'],\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [[\n Touch,\n {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n ]],\n })),\n\n h('div', mergeData({ class: 'v-input--switch__track' },\n this.switchData,\n )),\n h('div', mergeData({ class: 'v-input--switch__thumb' },\n this.switchData,\n ), [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return h(VFabTransition, {}, () => [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || h(VProgressCircular, {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":"","file":"VSwitch.js"}
|
|
@@ -57,7 +57,7 @@ export default baseMixins.extend({
|
|
|
57
57
|
default: 'text'
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
-
emits: ['update:modelValue', 'blur', 'focus', 'keydown'],
|
|
60
|
+
emits: ['update:modelValue', 'blur', 'focus', 'keydown', 'click:clear'],
|
|
61
61
|
data: () => ({
|
|
62
62
|
badInput: false,
|
|
63
63
|
labelWidth: 0,
|
|
@@ -232,6 +232,7 @@ export default baseMixins.extend({
|
|
|
232
232
|
clearableCallback() {
|
|
233
233
|
this.$refs.input && this.$refs.input.focus();
|
|
234
234
|
this.$nextTick(() => this.internalValue = null);
|
|
235
|
+
this.$emit('click:clear');
|
|
235
236
|
},
|
|
236
237
|
|
|
237
238
|
genAppendSlot() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n emits: ['update:modelValue', 'blur', 'focus', 'keydown'],\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n ref: \"label\",\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, () => getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '​',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs?.label?.$el\n ? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n emits: ['update:modelValue', 'blur', 'focus', 'keydown', 'click:clear'],\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n this.$emit('click:clear')\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n ref: \"label\",\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, () => getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '​',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs?.label?.$el\n ? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
|
|
@@ -7,8 +7,7 @@ import Delayable from '../../mixins/delayable';
|
|
|
7
7
|
import Dependent from '../../mixins/dependent';
|
|
8
8
|
import Menuable from '../../mixins/menuable'; // Helpers
|
|
9
9
|
|
|
10
|
-
import { convertToUnit, keyCodes
|
|
11
|
-
import { consoleError } from '../../util/console'; // Types
|
|
10
|
+
import { convertToUnit, keyCodes } from '../../util/helpers'; // Types
|
|
12
11
|
|
|
13
12
|
import mixins from '../../util/mixins';
|
|
14
13
|
/* @vue/component */
|
|
@@ -125,12 +124,6 @@ export default mixins(Colorable, Delayable, Dependent, Menuable).extend({
|
|
|
125
124
|
});
|
|
126
125
|
},
|
|
127
126
|
|
|
128
|
-
mounted() {
|
|
129
|
-
if (getSlotType(this, 'activator', true) === 'v-slot') {
|
|
130
|
-
consoleError(`v-tooltip's activator slot must be bound, try '<template #activator="data"><v-btn v-on="data.on>'`, this);
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
|
|
134
127
|
methods: {
|
|
135
128
|
activate() {
|
|
136
129
|
// Update coordinates and dimensions of menu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onBlur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.onKeydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n ...this.getScopeIdAttrs(),\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onBlur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.onKeydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n ...this.getScopeIdAttrs(),\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
|
|
@@ -33,7 +33,10 @@ function setGradientColor(el, gradient, currentTheme) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
function updateColor(el, binding, node) {
|
|
36
|
-
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
37
|
+
|
|
38
|
+
const vuetify = ((_a = binding.instance) === null || _a === void 0 ? void 0 : _a.$vuetify) || ((_d = (_c = (_b = node.appContext) === null || _b === void 0 ? void 0 : _b.config) === null || _c === void 0 ? void 0 : _c.globalProperties) === null || _d === void 0 ? void 0 : _d.$vuetify) || ((_f = (_e = node.appContext) === null || _e === void 0 ? void 0 : _e.provides) === null || _f === void 0 ? void 0 : _f.$vuetify);
|
|
39
|
+
const currentTheme = (_g = vuetify === null || vuetify === void 0 ? void 0 : vuetify.theme) === null || _g === void 0 ? void 0 : _g.currentTheme;
|
|
37
40
|
|
|
38
41
|
if (binding.arg === undefined) {
|
|
39
42
|
setBackgroundColor(el, binding.value, currentTheme);
|
|
@@ -52,8 +55,8 @@ function update(el, binding, node) {
|
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
export const Color = {
|
|
55
|
-
|
|
56
|
-
update
|
|
58
|
+
mounted: updateColor,
|
|
59
|
+
updated: update
|
|
57
60
|
};
|
|
58
61
|
export default Color;
|
|
59
62
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/color/index.ts"],"names":[],"mappings":"AAAA;AACA,SACE,UADF,EAEE,UAFF,EAGE,aAHF,QAIO,uBAJP;AAKA,OAAO,MAAP,MAAmB,mBAAnB;;AAaA,SAAS,YAAT,CACE,EADF,EAEE,KAFF,EAGE,YAHF,EAG4C;AAE1C,QAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAD,CAAX,GAAqB,UAAU,CAAC,KAAD,EAAQ,MAAR,EAAgB,YAAhB,CAA/B,GAA+D,KAAhF;AAEA,EAAA,EAAE,CAAC,KAAH,CAAS,KAAT,GAAiB,QAAjB;AACA,EAAA,EAAE,CAAC,KAAH,CAAS,UAAT,GAAsB,QAAtB;AACD;;AAED,SAAS,kBAAT,CACE,EADF,EAEE,KAFF,EAGE,YAHF,EAG4C;AAE1C,QAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAD,CAAX,GAAqB,UAAU,CAAC,KAAD,EAAQ,MAAR,EAAgB,YAAhB,CAA/B,GAA+D,KAAhF;AAEA,EAAA,EAAE,CAAC,KAAH,CAAS,eAAT,GAA2B,QAA3B;AACA,EAAA,EAAE,CAAC,KAAH,CAAS,WAAT,GAAuB,QAAvB;AACD;;AAED,SAAS,cAAT,CACE,EADF,EAEE,KAFF,EAGE,YAHF,EAIE,SAJF,EAI6B;AAE3B,QAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAD,CAAX,GAAqB,UAAU,CAAC,KAAD,EAAQ,MAAR,EAAgB,YAAhB,CAA/B,GAA+D,KAAhF;;AAEA,MAAI,CAAC,SAAD,IAAc,CAAC,MAAM,CAAC,IAAP,CAAY,SAAZ,EAAuB,MAA1C,EAAkD;AAChD,IAAA,EAAE,CAAC,KAAH,CAAS,WAAT,GAAuB,QAAvB;AACA;AACD;;AAED,MAAI,SAAS,CAAC,GAAd,EAAmB,EAAE,CAAC,KAAH,CAAS,cAAT,GAA0B,QAA1B;AACnB,MAAI,SAAS,CAAC,KAAd,EAAqB,EAAE,CAAC,KAAH,CAAS,gBAAT,GAA4B,QAA5B;AACrB,MAAI,SAAS,CAAC,MAAd,EAAsB,EAAE,CAAC,KAAH,CAAS,iBAAT,GAA6B,QAA7B;AACtB,MAAI,SAAS,CAAC,IAAd,EAAoB,EAAE,CAAC,KAAH,CAAS,eAAT,GAA2B,QAA3B;AACrB;;AAED,SAAS,gBAAT,CACE,EADF,EAEE,QAFF,EAGE,YAHF,EAG4C;AAE1C,EAAA,EAAE,CAAC,KAAH,CAAS,eAAT,GAA2B,mBACzB,aAAa,CAAC,QAAD,EAAW,MAAX,EAAmB,YAAnB,CACf,GAFA;AAGD;;AAED,SAAS,WAAT,CACE,EADF,EAEE,OAFF,EAGE,IAHF,EAGa
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/color/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Utilities\nimport {\n classToHex,\n isCssColor,\n parseGradient,\n} from '../../util/colorUtils'\nimport colors from '../../util/colors'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\nimport { VNode, VNodeDirective } from 'vue'\n\ninterface BorderModifiers {\n top?: Boolean\n right?: Boolean\n bottom?: Boolean\n left?: Boolean\n}\n\nfunction setTextColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.color = cssColor\n el.style.caretColor = cssColor\n}\n\nfunction setBackgroundColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.backgroundColor = cssColor\n el.style.borderColor = cssColor\n}\n\nfunction setBorderColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n modifiers?: BorderModifiers,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n if (!modifiers || !Object.keys(modifiers).length) {\n el.style.borderColor = cssColor\n return\n }\n\n if (modifiers.top) el.style.borderTopColor = cssColor\n if (modifiers.right) el.style.borderRightColor = cssColor\n if (modifiers.bottom) el.style.borderBottomColor = cssColor\n if (modifiers.left) el.style.borderLeftColor = cssColor\n}\n\nfunction setGradientColor (\n el: HTMLElement,\n gradient: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n el.style.backgroundImage = `linear-gradient(${\n parseGradient(gradient, colors, currentTheme)\n })`\n}\n\nfunction updateColor (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n const vuetify = (binding as any).instance?.$vuetify ||\n node.appContext?.config?.globalProperties?.$vuetify ||\n node.appContext?.provides?.$vuetify\n\n const currentTheme = vuetify?.theme?.currentTheme\n\n if (binding.arg === undefined) {\n setBackgroundColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'text') {\n setTextColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'border') {\n setBorderColor(el, binding.value, currentTheme, binding.modifiers)\n } else if (binding.arg === 'gradient') {\n setGradientColor(el, binding.value, currentTheme)\n }\n}\n\nfunction update (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n if (binding.value === binding.oldValue) return\n\n updateColor(el, binding, node)\n}\n\nexport const Color = {\n mounted: updateColor,\n updated: update,\n}\n\nexport default Color\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -3,7 +3,9 @@ import "../../../src/directives/ripple/VRipple.sass"; // Utilities
|
|
|
3
3
|
|
|
4
4
|
import { consoleWarn } from '../../util/console';
|
|
5
5
|
import { keyCodes } from '../../util/helpers';
|
|
6
|
-
import makeDirectiveActivatable from '../../util/make-directive-activatable';
|
|
6
|
+
import makeDirectiveActivatable from '../../util/make-directive-activatable'; // Types
|
|
7
|
+
|
|
8
|
+
import { nextTick } from 'vue';
|
|
7
9
|
const DELAY_RIPPLE = 80;
|
|
8
10
|
|
|
9
11
|
function transform(el, value) {
|
|
@@ -303,11 +305,11 @@ function directive(el, binding, node) {
|
|
|
303
305
|
|
|
304
306
|
if (process.env.NODE_ENV === 'development') {
|
|
305
307
|
// warn if an inline element is used, waiting for el to be in the DOM first
|
|
306
|
-
|
|
308
|
+
nextTick(() => {
|
|
307
309
|
const computed = window.getComputedStyle(el);
|
|
308
310
|
|
|
309
311
|
if (computed && computed.display === 'inline') {
|
|
310
|
-
const context = node.fnOptions ? [node.fnOptions
|
|
312
|
+
const context = node.fnOptions ? [node.fnOptions] : [node.componentInstance];
|
|
311
313
|
consoleWarn('v-ripple can only be used on block-level elements', ...context);
|
|
312
314
|
}
|
|
313
315
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement, binding) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted: directive,\n unmounted: unbind,\n updated: update,\n}\n\n\n\n\nexport default makeDirectiveActivatable(Ripple)\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n// Types\nimport { VNode, VNodeDirective, nextTick } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement, binding) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted: directive,\n unmounted: unbind,\n updated: update,\n}\n\nexport default makeDirectiveActivatable(Ripple)\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -10,8 +10,7 @@ function mounted(el, binding, vnode) {
|
|
|
10
10
|
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
|
11
11
|
if (!target) return;
|
|
12
12
|
target.addEventListener('scroll', handler, options);
|
|
13
|
-
el._onScroll = Object(el._onScroll);
|
|
14
|
-
|
|
13
|
+
el._onScroll = Object(el._onScroll);
|
|
15
14
|
el._onScroll[vnode.ctx.uid] = {
|
|
16
15
|
handler,
|
|
17
16
|
options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":"AAeA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM;AAAE,IAAA,IAAI,GAAG;AAAT,MAAmB,OAAO,CAAC,SAAR,IAAqB,EAA9C;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM,OAAO,GAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAC9D,IAAA,OAAO,EAAE;AADqD,GAAhE;AAGA,QAAM,OAAO,GACX,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GACI,KADJ,GAEI,KAAK,CAAC,OAHZ;AAKA,QAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":"AAeA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM;AAAE,IAAA,IAAI,GAAG;AAAT,MAAmB,OAAO,CAAC,SAAR,IAAqB,EAA9C;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM,OAAO,GAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAC9D,IAAA,OAAO,EAAE;AADqD,GAAhE;AAGA,QAAM,OAAO,GACX,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GACI,KADJ,GAEI,KAAK,CAAC,OAHZ;AAKA,QAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,GAAN,CAAW,GAAzB,IAAgC;AAC9B,IAAA,OAD8B;AAE9B,IAAA,OAF8B;AAG9B;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJG,GAAhC;AAMD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAb,CAAJ,EAAqC;AAErC,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA,OAAX;AAAoB,IAAA,MAAM,GAAG;AAA7B,MAAoC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAA1C;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAoB;AACrC,EAAA,OADqC;AAErC,EAAA;AAFqC,CAAhC;AAKP,eAAe,MAAf","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value:\n | EventListener\n | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n }\n | (EventListenerObject & { options?: boolean | AddEventListenerOptions })\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || {\n passive: true,\n }\n const handler =\n typeof value === 'function' || 'handleEvent' in value\n ? value\n : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.ctx!.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n if (!el._onScroll?.[vnode.ctx!.uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.ctx!.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.ctx!.uid]\n}\n\nexport const Scroll: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -91,10 +91,13 @@ function unmounted(el, binding, vnode) {
|
|
|
91
91
|
const target = binding.value.parent ? el.parentElement : el;
|
|
92
92
|
if (!target || !target._touchHandlers) return;
|
|
93
93
|
const handlers = target._touchHandlers[vnode.ctx.uid];
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
|
|
95
|
+
if (handlers) {
|
|
96
|
+
keys(handlers).forEach(eventName => {
|
|
97
|
+
target.removeEventListener(eventName, handlers[eventName]);
|
|
98
|
+
});
|
|
99
|
+
delete target._touchHandlers[vnode.ctx.uid];
|
|
100
|
+
}
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
export const Touch = {
|