@dimailn/vuetify 2.7.2-alpha31 → 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 +551 -368
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/VCalendarWeekly.js +10 -5
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +7 -9
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VContent/VContent.js +24 -5
- package/es5/components/VContent/VContent.js.map +1 -1
- package/es5/components/VCounter/VCounter.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +15 -7
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +30 -19
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
- package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VGrid/VCol.js +3 -1
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +23 -10
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VGrid/grid.js +33 -15
- package/es5/components/VGrid/grid.js.map +1 -1
- package/es5/components/VHover/VHover.js +23 -17
- package/es5/components/VHover/VHover.js.map +1 -1
- package/es5/components/VIcon/VIcon.js +77 -53
- package/es5/components/VIcon/VIcon.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +7 -3
- package/es5/components/VItemGroup/VItem.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/VItemGroup/VItem.js +3 -2
- package/lib/components/VItemGroup/VItem.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/VItem.ts +1 -1
- 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/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 = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"AACA,SAAS,IAAT,QAAqB,oBAArB;AAEA,OAAO,wBAAP,MAAqC,uCAArC;;AAQA,MAAM,aAAa,GAAI,OAAD,IAA0B;AAC9C,QAAM;AAAE,IAAA,WAAF;AAAe,IAAA,SAAf;AAA0B,IAAA,WAA1B;AAAuC,IAAA;AAAvC,MAAqD,OAA3D;AACA,QAAM,QAAQ,GAAG,GAAjB;AACA,QAAM,WAAW,GAAG,EAApB;AACA,EAAA,OAAO,CAAC,OAAR,GAAkB,SAAS,GAAG,WAA9B;AACA,EAAA,OAAO,CAAC,OAAR,GAAkB,SAAS,GAAG,WAA9B;;AAEA,MAAI,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,OAAjB,IAA4B,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,OAAjB,CAA3C,EAAsE;AACpE,IAAA,OAAO,CAAC,IAAR,IACE,SAAS,GAAG,WAAW,GAAG,WAD5B,IAEE,OAAO,CAAC,IAAR,CAAa,OAAb,CAFF;AAGA,IAAA,OAAO,CAAC,KAAR,IACE,SAAS,GAAG,WAAW,GAAG,WAD5B,IAEE,OAAO,CAAC,KAAR,CAAc,OAAd,CAFF;AAGD;;AAED,MAAI,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,OAAjB,IAA4B,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,OAAjB,CAA3C,EAAsE;AACpE,IAAA,OAAO,CAAC,EAAR,IAAc,SAAS,GAAG,WAAW,GAAG,WAAxC,IAAuD,OAAO,CAAC,EAAR,CAAW,OAAX,CAAvD;AACA,IAAA,OAAO,CAAC,IAAR,IACE,SAAS,GAAG,WAAW,GAAG,WAD5B,IAEE,OAAO,CAAC,IAAR,CAAa,OAAb,CAFF;AAGD;AACF,CAtBD;;AAwBA,SAAS,UAAT,CAAqB,KAArB,EAAwC,OAAxC,EAA6D;AAC3D,QAAM,KAAK,GAAG,KAAK,CAAC,cAAN,CAAqB,CAArB,CAAd;AACA,EAAA,OAAO,CAAC,WAAR,GAAsB,KAAK,CAAC,OAA5B;AACA,EAAA,OAAO,CAAC,WAAR,GAAsB,KAAK,CAAC,OAA5B;AAEA,EAAA,OAAO,CAAC,KAAR,IAAiB,OAAO,CAAC,KAAR,CAAc,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,OAArB,CAAd,CAAjB;AACD;;AAED,SAAS,QAAT,CAAmB,KAAnB,EAAsC,OAAtC,EAA2D;AACzD,QAAM,KAAK,GAAG,KAAK,CAAC,cAAN,CAAqB,CAArB,CAAd;AACA,EAAA,OAAO,CAAC,SAAR,GAAoB,KAAK,CAAC,OAA1B;AACA,EAAA,OAAO,CAAC,SAAR,GAAoB,KAAK,CAAC,OAA1B;AAEA,EAAA,OAAO,CAAC,GAAR,IAAe,OAAO,CAAC,GAAR,CAAY,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,OAArB,CAAZ,CAAf;AAEA,EAAA,aAAa,CAAC,OAAD,CAAb;AACD;;AAED,SAAS,SAAT,CAAoB,KAApB,EAAuC,OAAvC,EAA4D;AAC1D,QAAM,KAAK,GAAG,KAAK,CAAC,cAAN,CAAqB,CAArB,CAAd;AACA,EAAA,OAAO,CAAC,UAAR,GAAqB,KAAK,CAAC,OAA3B;AACA,EAAA,OAAO,CAAC,UAAR,GAAqB,KAAK,CAAC,OAA3B;AAEA,EAAA,OAAO,CAAC,IAAR,IAAgB,OAAO,CAAC,IAAR,CAAa,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,OAArB,CAAb,CAAhB;AACD;;AAED,SAAS,cAAT,CAAyB,KAAzB,EAA6C;AAC3C,QAAM,OAAO,GAAG;AACd,IAAA,WAAW,EAAE,CADC;AAEd,IAAA,WAAW,EAAE,CAFC;AAGd,IAAA,SAAS,EAAE,CAHG;AAId,IAAA,SAAS,EAAE,CAJG;AAKd,IAAA,UAAU,EAAE,CALE;AAMd,IAAA,UAAU,EAAE,CANE;AAOd,IAAA,OAAO,EAAE,CAPK;AAQd,IAAA,OAAO,EAAE,CARK;AASd,IAAA,IAAI,EAAE,KAAK,CAAC,IATE;AAUd,IAAA,KAAK,EAAE,KAAK,CAAC,KAVC;AAWd,IAAA,EAAE,EAAE,KAAK,CAAC,EAXI;AAYd,IAAA,IAAI,EAAE,KAAK,CAAC,IAZE;AAad,IAAA,KAAK,EAAE,KAAK,CAAC,KAbC;AAcd,IAAA,IAAI,EAAE,KAAK,CAAC,IAdE;AAed,IAAA,GAAG,EAAE,KAAK,CAAC;AAfG,GAAhB;AAkBA,SAAO;AACL,IAAA,UAAU,EAAG,CAAD,IAAmB,UAAU,CAAC,CAAD,EAAI,OAAJ,CADpC;AAEL,IAAA,QAAQ,EAAG,CAAD,IAAmB,QAAQ,CAAC,CAAD,EAAI,OAAJ,CAFhC;AAGL,IAAA,SAAS,EAAG,CAAD,IAAmB,SAAS,CAAC,CAAD,EAAI,OAAJ;AAHlC,GAAP;AAKD;;AAED,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM,MAAM,GAAG,KAAK,CAAC,MAAN,GAAe,EAAE,CAAC,aAAlB,GAAkC,EAAjD;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,OAAN,IAAiB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAjC,CAJY,CAMZ;;AACA,MAAI,CAAC,MAAL,EAAa;AAEb,QAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,KAAT,CAA/B;AACA,EAAA,MAAM,CAAC,cAAP,GAAwB,MAAM,CAAC,MAAM,CAAC,cAAR,CAA9B;AACA,EAAA,MAAM,CAAC,cAAP,CAAuB,KAAK,CAAC,GAAN,CAAW,GAAlC,IAAyC,QAAzC;AAEA,EAAA,IAAI,CAAC,QAAD,CAAJ,CAAe,OAAf,CAAuB,SAAS,IAAG;AACjC,IAAA,MAAM,CAAC,gBAAP,CACE,SADF,EAEE,QAAQ,CAAC,SAAD,CAFV,EAGE,OAHF;AAKD,GAND;AAOD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM,MAAM,GAAG,OAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,EAAE,CAAC,aAA1B,GAA0C,EAAzD;AACA,MAAI,CAAC,MAAD,IAAW,CAAC,MAAM,CAAC,cAAvB,EAAuC;AAEvC,QAAM,QAAQ,GAAG,MAAM,CAAC,cAAP,CAAsB,KAAK,CAAC,GAAN,CAAW,GAAjC,CAAjB
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left &&\n touchendX < touchstartX - minDistance &&\n wrapper.left(wrapper)\n wrapper.right &&\n touchendX > touchstartX + minDistance &&\n wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper)\n wrapper.down &&\n touchendY > touchstartY + minDistance &&\n wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start && wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end && wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const value = binding.value\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.ctx!.uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(\n eventName,\n handlers[eventName] as EventListener,\n options\n )\n })\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const target = binding.value.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.ctx!.uid]\n if (handlers) {\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.ctx!.uid]\n }\n}\n\nexport const Touch: ObjectDirective<HTMLElement, TouchValue> = {\n mounted,\n unmounted,\n}\n\nexport default makeDirectiveActivatable(Touch)\n"],"sourceRoot":"","file":"index.js"}
|
package/lib/framework.js
CHANGED
|
@@ -3,8 +3,7 @@ import Delayable from '../delayable';
|
|
|
3
3
|
import Toggleable from '../toggleable'; // Utilities
|
|
4
4
|
|
|
5
5
|
import mixins from '../../util/mixins';
|
|
6
|
-
import { getSlot
|
|
7
|
-
import { consoleError } from '../../util/console';
|
|
6
|
+
import { getSlot } from '../../util/helpers';
|
|
8
7
|
const baseMixins = mixins(Delayable, Toggleable);
|
|
9
8
|
/* @vue/component */
|
|
10
9
|
|
|
@@ -40,12 +39,6 @@ export default baseMixins.extend({
|
|
|
40
39
|
},
|
|
41
40
|
|
|
42
41
|
mounted() {
|
|
43
|
-
const slotType = getSlotType(this, 'activator', true);
|
|
44
|
-
|
|
45
|
-
if (slotType && ['v-slot', 'normal'].includes(slotType)) {
|
|
46
|
-
consoleError(`The activator slot must be bound, try '<template v-slot:activator="{ on }"><v-btn v-on="on">'`, this);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
42
|
this.addActivatorEvents();
|
|
50
43
|
},
|
|
51
44
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeUnmount () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n let node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n },\n on: this.genActivatorListeners()\n })) || []\n\n node = Array.isArray(node) ? node : [node]\n\n this.activatorNode = node.flatMap(node => {\n return node.type === Symbol.for('v-fgt') ? node.children : node\n })\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component?.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n this.addActivatorEvents()\n },\n\n beforeUnmount () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n let node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n },\n on: this.genActivatorListeners()\n })) || []\n\n node = Array.isArray(node) ? node : [node]\n\n this.activatorNode = node.flatMap(node => {\n return node.type === Symbol.for('v-fgt') ? node.children : node\n })\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component?.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/groupable/index.ts"],"names":[],"mappings":"AAAA;AACA,SAAsB,MAAM,IAAI,iBAAhC,QAAyD,gBAAzD;AAeA,OAAM,SAAU,OAAV,CACJ,SADI,EAEJ,KAFI,EAGJ,MAHI,EAGW;AAEf,SAAO;AACL,IAAA,IAAI,EAAE,WADD;AAGL,IAAA,OAAO,EAAE,iBAAiB,CAAO,SAAP,EAAkB,KAAlB,EAAyB,MAAzB,CAHrB;AAIL,IAAA,KAAK,EAAE;AACL,MAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE;AADK,OADR;AAIL,MAAA,QAAQ,EAAE;AAJL,KAJF;;AAWL,IAAA,IAAI,GAAA;AACF,aAAO;AACL,QAAA,QAAQ,EAAE;AADL,OAAP;AAGD,KAfI;;AAiBL,IAAA,QAAQ,EAAE;AACR,MAAA,YAAY,GAAA;AACV,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/groupable/index.ts"],"names":[],"mappings":"AAAA;AACA,SAAsB,MAAM,IAAI,iBAAhC,QAAyD,gBAAzD;AAeA,OAAM,SAAU,OAAV,CACJ,SADI,EAEJ,KAFI,EAGJ,MAHI,EAGW;AAEf,SAAO;AACL,IAAA,IAAI,EAAE,WADD;AAGL,IAAA,OAAO,EAAE,iBAAiB,CAAO,SAAP,EAAkB,KAAlB,EAAyB,MAAzB,CAHrB;AAIL,IAAA,KAAK,EAAE;AACL,MAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE;AADK,OADR;AAIL,MAAA,QAAQ,EAAE;AAJL,KAJF;;AAWL,IAAA,IAAI,GAAA;AACF,aAAO;AACL,QAAA,QAAQ,EAAE;AADL,OAAP;AAGD,KAfI;;AAiBL,IAAA,QAAQ,EAAE;AACR,MAAA,YAAY,GAAA;AACV,YAAI,KAAK,WAAT,EAAsB,OAAO,KAAK,WAAZ;AAEtB,YAAI,CAAC,KAAK,SAAL,CAAL,EAAsB,OAAO,SAAP;AAEtB,eAAO,KAAK,SAAL,EAAgB,WAAvB;AACD,OAPO;;AAQR,MAAA,YAAY,GAAA;AACV,YAAI,CAAC,KAAK,YAAV,EAAwB,OAAO,EAAP;AAExB,eAAO;AACL,WAAC,KAAK,YAAN,GAAqB,KAAK;AADrB,SAAP;AAGD;;AAdO,KAjBL;;AAkCL,IAAA,OAAO,GAAA;AACL,WAAK,SAAL,KAAoB,KAAK,SAAL,EAAwB,QAAxB,CAAiC,IAAjC,CAApB;AACD,KApCI;;AAsCL,IAAA,aAAa,GAAA;AACX,WAAK,SAAL,KAAoB,KAAK,SAAL,EAAwB,UAAxB,CAAmC,IAAnC,CAApB;AACD,KAxCI;;AA0CL,IAAA,OAAO,EAAE;AACP,MAAA,MAAM,CAAE,CAAF,EAAW;AACf,YAAI,KAAK,QAAL,IAAiB,CAArB,EAAwB;AACtB;AACA;AACA;AACA,UAAA,CAAC,CAAC,cAAF;AACA;AACD;;AACD,aAAK,KAAL,CAAW,QAAX;AACA,aAAK,WAAL,CAAiB,QAAjB;AACD;;AAXM;AA1CJ,GAAP;AAwDD;AAED;;AACA,MAAM,SAAS,GAAG,OAAO,CAAC,WAAD,CAAzB;AAEA,eAAe,SAAf","sourcesContent":["// Mixins\nimport { Registrable, inject as RegistrableInject } from '../registrable'\n\n// Utilities\n// import { ExtractVue } from '../../util/mixins'\nimport { Component } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport type Groupable<T extends string, C extends Component | null = null> = Component<Registrable<T, C> & {\n activeClass: string\n isActive: boolean\n disabled: boolean\n groupClasses: object\n toggle (e?: Event): void\n}>\n\nexport function factory<T extends string, C extends Component | null = null> (\n namespace: T,\n child?: string,\n parent?: string\n): Groupable<T, C> {\n return {\n name: 'groupable',\n\n extends: RegistrableInject<T, C>(namespace, child, parent),\n props: {\n activeClass: {\n type: String,\n } as any as PropValidator<string>,\n disabled: Boolean,\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n computed: {\n $activeClass () {\n if (this.activeClass) return this.activeClass\n\n if (!this[namespace]) return undefined\n\n return this[namespace].activeClass\n },\n groupClasses (): object {\n if (!this.$activeClass) return {}\n\n return {\n [this.$activeClass]: this.isActive,\n }\n },\n },\n\n created () {\n this[namespace] && (this[namespace] as any).register(this)\n },\n\n beforeUnmount () {\n this[namespace] && (this[namespace] as any).unregister(this)\n },\n\n methods: {\n toggle (e?: Event) {\n if (this.disabled && e) {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n e.preventDefault()\n return\n }\n this.$emit('change')\n this.$emitLegacy('change')\n },\n },\n }\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Groupable = factory('itemGroup')\n\nexport default Groupable\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/positionable/index.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AACA,SAAS,kBAAT,QAAmC,oBAAnC;AAGA,MAAM,cAAc,GAAG;AACrB,EAAA,QAAQ,EAAE,OADW;AAErB,EAAA,MAAM,EAAE,OAFa;AAGrB,EAAA,KAAK,EAAE,OAHc;AAIrB,EAAA,IAAI,EAAE,OAJe;AAKrB,EAAA,KAAK,EAAE,OALc;AAMrB,EAAA,GAAG,EAAE;AANgB,CAAvB;AAcA,OAAM,SAAU,OAAV,CAAmB,QAAA,GAAkB,EAArC,EAAuC;AAC3C,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,cADe;AAErB,IAAA,KAAK,EAAE,QAAQ,CAAC,MAAT,GAAkB,kBAAkB,CAAC,cAAD,EAAiB,QAAjB,CAApC,GAAiE;AAFnD,GAAD,CAAtB;AAID;AAED,eAAe,OAAO,EAAtB,C,CAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBI","sourcesContent":["import {defineComponent} from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/positionable/index.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AACA,SAAS,kBAAT,QAAmC,oBAAnC;AAGA,MAAM,cAAc,GAAG;AACrB,EAAA,QAAQ,EAAE,OADW;AAErB,EAAA,MAAM,EAAE,OAFa;AAGrB,EAAA,KAAK,EAAE,OAHc;AAIrB,EAAA,IAAI,EAAE,OAJe;AAKrB,EAAA,KAAK,EAAE,OALc;AAMrB,EAAA,GAAG,EAAE;AANgB,CAAvB;AAcA,OAAM,SAAU,OAAV,CAAmB,QAAA,GAAkB,EAArC,EAAuC;AAC3C,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,cADe;AAErB,IAAA,KAAK,EAAE,QAAQ,CAAC,MAAT,GAAkB,kBAAkB,CAAC,cAAD,EAAiB,QAAjB,CAApC,GAAiE;AAFnD,GAAD,CAAtB;AAID;AAED,eAAe,OAAO,EAAtB,C,CAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBI","sourcesContent":["import {defineComponent} from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, Component } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record<keyof typeof availableProps, boolean>\n\nexport type Positionable<S extends keyof props> = Component<Vue & { [P in S]: boolean }, { [P in S]: BooleanConstructor }>\n\nexport function factory <S extends keyof props> (selected?: S[]): Positionable<S>\nexport function factory (selected: undefined): OptionsVue<Vue, {}, {}, {}, props, typeof availableProps>\nexport function factory (selected: any[] = []): any {\n return defineComponent({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/proxyable/index.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/proxyable/index.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,QAAgD,KAAhD;AAQA,OAAM,SAAU,OAAV,CACJ,IAAI,GAAG,YADH,EAEJ,KAAK,GAAG,mBAFJ,EAEuB;AAE3B,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,WADe;AAGrB,IAAA,KAAK,EAAE;AACL,OAAC,IAAD,GAAQ;AACN,QAAA,QAAQ,EAAE;AADJ;AADH,KAHc;;AASrB,IAAA,IAAI,GAAA;AACF,aAAO;AACL,QAAA,iBAAiB,EAAE,KAAK,IAAL;AADd,OAAP;AAGD,KAboB;;AAerB,IAAA,QAAQ,EAAE;AACR,MAAA,aAAa,EAAE;AACb,QAAA,GAAG,GAAA;AACD,iBAAO,KAAK,iBAAZ;AACD,SAHY;;AAIb,QAAA,GAAG,CAAE,GAAF,EAAU;AACX,cAAI,GAAG,KAAK,KAAK,iBAAjB,EAAoC;AAEpC,eAAK,iBAAL,GAAyB,GAAzB;AAEA,eAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB;AACD;;AAVY;AADP,KAfW;AA8BrB,IAAA,KAAK,EAAE;AACL,OAAC,IAAD,EAAQ,GAAR,EAAW;AACT,aAAK,iBAAL,GAAyB,GAAzB;AACD;;AAHI;AA9Bc,GAAD,CAAtB;AAoCD;AAED;;AACA,MAAM,SAAS,GAAG,OAAO,EAAzB;AAEA,eAAe,SAAf","sourcesContent":["import { defineComponent, Component, App } from 'vue'\n\nexport type Proxyable<T extends string = 'value'> = Component<App & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'modelValue',\n event = 'update:modelValue'\n) {\n return defineComponent({\n name: 'proxyable',\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/registrable/index.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AAEA,SAAS,WAAT,QAA4B,oBAA5B;;AAEA,SAAS,eAAT,CAA0B,KAA1B,EAAyC,MAAzC,EAAuD;AACrD,SAAO,MAAM,WAAW,CAAC,OAAO,KAAK,oCAAoC,MAAM,EAAvD,CAAxB;AACD;;AASD,OAAM,SAAU,MAAV,CAEH,SAFG,EAEW,KAFX,EAE2B,MAF3B,EAE0C;AAC9C,QAAM,WAAW,GAAG,KAAK,IAAI,MAAT,GAAkB;AACpC,IAAA,QAAQ,EAAE,eAAe,CAAC,KAAD,EAAQ,MAAR,CADW;AAEpC,IAAA,UAAU,EAAE,eAAe,CAAC,KAAD,EAAQ,MAAR;AAFS,GAAlB,GAGhB,IAHJ;AAKA,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,oBADe;AAGrB,IAAA,MAAM,EAAE;AACN,OAAC,SAAD,GAAa;AACX,QAAA,OAAO,EAAE;AADE;AADP;AAHa,GAAD,CAAtB;AASD;AAED,OAAM,SAAU,OAAV,CAAmB,SAAnB,EAAsC,IAAI,GAAG,KAA7C,EAAkD;AACtD,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,qBADe;;AAGrB,IAAA,OAAO,GAAA;AACL,aAAO;AACL,SAAC,SAAD,GAAa,IAAI,GAAG,IAAH,GAAU;AACzB,UAAA,QAAQ,EAAG,KAAa,QADC;AAEzB,UAAA,UAAU,EAAG,KAAa;AAFD;AADtB,OAAP;AAMD;;AAVoB,GAAD,CAAtB;AAYD","sourcesContent":["import {defineComponent} from 'vue'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/registrable/index.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AAEA,SAAS,WAAT,QAA4B,oBAA5B;;AAEA,SAAS,eAAT,CAA0B,KAA1B,EAAyC,MAAzC,EAAuD;AACrD,SAAO,MAAM,WAAW,CAAC,OAAO,KAAK,oCAAoC,MAAM,EAAvD,CAAxB;AACD;;AASD,OAAM,SAAU,MAAV,CAEH,SAFG,EAEW,KAFX,EAE2B,MAF3B,EAE0C;AAC9C,QAAM,WAAW,GAAG,KAAK,IAAI,MAAT,GAAkB;AACpC,IAAA,QAAQ,EAAE,eAAe,CAAC,KAAD,EAAQ,MAAR,CADW;AAEpC,IAAA,UAAU,EAAE,eAAe,CAAC,KAAD,EAAQ,MAAR;AAFS,GAAlB,GAGhB,IAHJ;AAKA,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,oBADe;AAGrB,IAAA,MAAM,EAAE;AACN,OAAC,SAAD,GAAa;AACX,QAAA,OAAO,EAAE;AADE;AADP;AAHa,GAAD,CAAtB;AASD;AAED,OAAM,SAAU,OAAV,CAAmB,SAAnB,EAAsC,IAAI,GAAG,KAA7C,EAAkD;AACtD,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,qBADe;;AAGrB,IAAA,OAAO,GAAA;AACL,aAAO;AACL,SAAC,SAAD,GAAa,IAAI,GAAG,IAAH,GAAU;AACzB,UAAA,QAAQ,EAAG,KAAa,QADC;AAEzB,UAAA,UAAU,EAAG,KAAa;AAFD;AADtB,OAAP;AAMD;;AAVoB,GAAD,CAAtB;AAYD","sourcesContent":["import {defineComponent} from 'vue'\nimport { Component } from 'vue/types/vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction generateWarning (child: string, parent: string) {\n return () => consoleWarn(`The ${child} component must be used inside a ${parent}`)\n}\n\nexport type Registrable<T extends string, C extends Component | null = null> = Component<Vue & {\n [K in T]: C extends Component ? InstanceType<C> : {\n register (...props: any[]): void\n unregister (self: any): void\n }\n}>\n\nexport function inject<\n T extends string, C extends Component | null = null\n> (namespace: T, child?: string, parent?: string): Registrable<T, C> {\n const defaultImpl = child && parent ? {\n register: generateWarning(child, parent),\n unregister: generateWarning(child, parent),\n } : null\n\n return defineComponent({\n name: 'registrable-inject',\n\n inject: {\n [namespace]: {\n default: defaultImpl,\n },\n },\n })\n}\n\nexport function provide (namespace: string, self = false) {\n return defineComponent({\n name: 'registrable-provide',\n\n provide (): object {\n return {\n [namespace]: self ? this : {\n register: (this as any).register,\n unregister: (this as any).unregister,\n },\n }\n },\n })\n}\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -90,13 +90,15 @@ export default mixins(VInput, Rippleable, Comparable).extend({
|
|
|
90
90
|
},
|
|
91
91
|
|
|
92
92
|
genInput(type, attrs) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
// Allow components to override aria-checked by providing it in attrs
|
|
94
|
+
const defaultAttrs = {
|
|
95
|
+
'aria-checked': this.isActive.toString(),
|
|
96
|
+
disabled: this.isDisabled,
|
|
97
|
+
id: this.computedId,
|
|
98
|
+
role: type,
|
|
99
|
+
type
|
|
100
|
+
};
|
|
101
|
+
return h('input', { ...Object.assign(defaultAttrs, attrs),
|
|
100
102
|
value: this.value,
|
|
101
103
|
checked: this.isActive,
|
|
102
104
|
onBlur: this.onBlur,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { h } from 'vue'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n props: {\n id: String,\n value: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.modelValue,\n lazyValue: this.modelValue,\n }\n },\n\n created() {\n this.$_emitChangeEvent = true\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return label\n\n // Label shouldn't cause the input to focus\n label!.onClick = this.onClick\n\n return label\n },\n genInput (type: string, attrs: object) {\n // Allow components to override aria-checked by providing it in attrs\n const defaultAttrs = {\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }\n\n return h('input', {\n ...Object.assign(defaultAttrs, attrs),\n value: this.value,\n checked: this.isActive,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown,\n onClick: prevent,\n ref: 'input'\n })\n },\n onClick (e: Event) {\n e.preventDefault()\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/toggleable/index.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/toggleable/index.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,QAA2C,KAA3C;AAKA,OAAM,SAAU,OAAV,CAAmB,IAAI,GAAG,YAA1B,EAAwC,KAAK,GAAG,mBAAhD,EAAmE;AACvE,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,YADe;AAErB,IAAA,KAAK,EAAE;AACL,OAAC,IAAD,GAAQ;AAAE,QAAA,QAAQ,EAAE;AAAZ;AADH,KAFc;;AAMrB,IAAA,IAAI,GAAA;AACF,aAAO;AACL,QAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAL;AADP,OAAP;AAGD,KAVoB;;AAYrB,IAAA,KAAK,EAAE;AACL,OAAC,IAAD,EAAQ,GAAR,EAAW;AACT,aAAK,QAAL,GAAgB,CAAC,CAAC,GAAlB;AACD,OAHI;;AAIL,MAAA,QAAQ,CAAE,GAAF,EAAK;AACX,SAAC,CAAC,GAAF,KAAU,KAAK,IAAL,CAAV,IAAwB,KAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB,CAAxB;AACD;;AANI;AAZc,GAAD,CAAtB;AAqBD;AAED;;AACA,MAAM,UAAU,GAAG,OAAO,EAA1B;AAEA,eAAe,UAAf","sourcesContent":["import { defineComponent, Component } from 'vue'\n\nexport type Toggleable<T extends string = 'value'> = Component<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'modelValue', event = 'update:modelValue') {\n return defineComponent({\n name: 'toggleable',\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n"],"sourceRoot":"","file":"index.js"}
|