@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
|
@@ -35,18 +35,57 @@ function getContainer(container) {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function type(el) {
|
|
38
|
-
|
|
38
|
+
var _a;
|
|
39
|
+
|
|
40
|
+
if (el == null) return el; // Vue 3 component detection
|
|
41
|
+
|
|
42
|
+
if (isVue3Component(el)) return 'VueComponent';
|
|
43
|
+
return ((_a = el.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown';
|
|
44
|
+
} // Helper function to detect Vue 3 component instances
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
function isVue3Component(el) {
|
|
48
|
+
// Check for Vue 3 component instance properties
|
|
49
|
+
return !!(el && ( // Direct component instance with $el
|
|
50
|
+
el.$el || // Component instance with appContext (Vue 3 runtime)
|
|
51
|
+
el.appContext || // Component proxy with type property (from Vue Test Utils)
|
|
52
|
+
el.type && (el.type.name || el.type.__name) || // Component with setupState (Composition API)
|
|
53
|
+
el.setupState || // Component with ctx property (internal Vue 3)
|
|
54
|
+
el.ctx && el.ctx.type));
|
|
39
55
|
}
|
|
40
56
|
|
|
41
57
|
function $(el) {
|
|
42
58
|
if (typeof el === 'string') {
|
|
43
59
|
return document.querySelector(el);
|
|
44
|
-
} else if (el && el._isVue) {
|
|
45
|
-
return el.$el;
|
|
46
60
|
} else if (el instanceof HTMLElement) {
|
|
47
61
|
return el;
|
|
62
|
+
} else if (isVue3Component(el)) {
|
|
63
|
+
return extractElementFromVue3Component(el);
|
|
48
64
|
} else {
|
|
49
65
|
return null;
|
|
50
66
|
}
|
|
67
|
+
} // Helper function to extract HTMLElement from Vue 3 component
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
function extractElementFromVue3Component(component) {
|
|
71
|
+
var _a, _b, _c;
|
|
72
|
+
|
|
73
|
+
if (component.$el instanceof HTMLElement) {
|
|
74
|
+
return component.$el;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (component.element instanceof HTMLElement) {
|
|
78
|
+
return component.element;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (((_b = (_a = component.ctx) === null || _a === void 0 ? void 0 : _a.vnode) === null || _b === void 0 ? void 0 : _b.el) instanceof HTMLElement) {
|
|
82
|
+
return component.ctx.vnode.el;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (((_c = component.vnode) === null || _c === void 0 ? void 0 : _c.el) instanceof HTMLElement) {
|
|
86
|
+
return component.vnode.el;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return null;
|
|
51
90
|
}
|
|
52
91
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/goto/util.ts"],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/services/goto/util.ts"],"names":[],"mappings":"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","sourcesContent":["// Return target's cumulative offset from the top\nexport function getOffset (target: any): number {\n if (typeof target === 'number') {\n return target\n }\n\n let el = $(target)\n\n if (!el) {\n throw typeof target === 'string'\n ? new Error(`Target element \"${target}\" not found.`)\n : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`)\n }\n\n let totalOffset = 0\n while (el) {\n totalOffset += el.offsetTop\n el = el.offsetParent as HTMLElement\n }\n\n return totalOffset\n}\n\nexport function getContainer (container: any): HTMLElement {\n const el = $(container)\n\n if (el) return el\n\n throw typeof container === 'string'\n ? new Error(`Container element \"${container}\" not found.`)\n : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`)\n}\n\nfunction type (el: any) {\n if (el == null) return el\n // Vue 3 component detection\n if (isVue3Component(el)) return 'VueComponent'\n return el.constructor?.name || 'Unknown'\n}\n\n// Helper function to detect Vue 3 component instances\nfunction isVue3Component (el: any): boolean {\n // Check for Vue 3 component instance properties\n return !!(el && (\n // Direct component instance with $el\n el.$el ||\n // Component instance with appContext (Vue 3 runtime)\n el.appContext ||\n // Component proxy with type property (from Vue Test Utils)\n (el.type && (el.type.name || el.type.__name)) ||\n // Component with setupState (Composition API)\n el.setupState ||\n // Component with ctx property (internal Vue 3)\n (el.ctx && el.ctx.type)\n ))\n}\n\nfunction $ (el: any): HTMLElement | null {\n if (typeof el === 'string') {\n return document.querySelector<HTMLElement>(el)\n } else if (el instanceof HTMLElement) {\n return el\n } else if (isVue3Component(el)) {\n return extractElementFromVue3Component(el)\n } else {\n return null\n }\n}\n\n// Helper function to extract HTMLElement from Vue 3 component\nfunction extractElementFromVue3Component (component: any): HTMLElement | null {\n if (component.$el instanceof HTMLElement) {\n return component.$el\n }\n\n if (component.element instanceof HTMLElement) {\n return component.element\n }\n\n if (component.ctx?.vnode?.el instanceof HTMLElement) {\n return component.ctx.vnode.el\n }\n\n if (component.vnode?.el instanceof HTMLElement) {\n return component.vnode.el\n }\n\n return null\n}\n"],"sourceRoot":"","file":"util.js"}
|
|
@@ -51,7 +51,7 @@ var Theme = /*#__PURE__*/function (_Service) {
|
|
|
51
51
|
_this.disabled = false;
|
|
52
52
|
_this.isDark = null;
|
|
53
53
|
_this.unwatch = null;
|
|
54
|
-
_this.
|
|
54
|
+
_this.metaManager = null;
|
|
55
55
|
var _preset$Theme$propert = preset[Theme.property],
|
|
56
56
|
dark = _preset$Theme$propert.dark,
|
|
57
57
|
disable = _preset$Theme$propert.disable,
|
|
@@ -79,11 +79,8 @@ var Theme = /*#__PURE__*/function (_Service) {
|
|
|
79
79
|
_createClass(Theme, [{
|
|
80
80
|
key: "css",
|
|
81
81
|
set: function set(val) {
|
|
82
|
-
if (this.
|
|
83
|
-
|
|
84
|
-
this.applyVueMeta23();
|
|
85
|
-
}
|
|
86
|
-
|
|
82
|
+
if (this.metaManager) {
|
|
83
|
+
this.applyVueMeta3(val);
|
|
87
84
|
return;
|
|
88
85
|
}
|
|
89
86
|
|
|
@@ -120,22 +117,20 @@ var Theme = /*#__PURE__*/function (_Service) {
|
|
|
120
117
|
}, {
|
|
121
118
|
key: "init",
|
|
122
119
|
value: function init(root, ssrContext) {
|
|
123
|
-
if (this.disabled) return;
|
|
124
|
-
|
|
120
|
+
if (this.disabled) return; // Инициализируем vue-meta 3
|
|
121
|
+
|
|
122
|
+
this.initVueMeta3(root);
|
|
125
123
|
|
|
126
|
-
if (
|
|
127
|
-
this.initVueMeta(root);
|
|
128
|
-
} else if (ssrContext) {
|
|
124
|
+
if (ssrContext) {
|
|
129
125
|
this.initSSR(ssrContext);
|
|
126
|
+
} else {
|
|
127
|
+
this.initTheme(root);
|
|
130
128
|
}
|
|
131
|
-
|
|
132
|
-
this.initTheme(root);
|
|
133
129
|
} // Allows for you to set target theme
|
|
134
130
|
|
|
135
131
|
}, {
|
|
136
132
|
key: "setTheme",
|
|
137
133
|
value: function setTheme(theme, value) {
|
|
138
|
-
console.log('setTheme');
|
|
139
134
|
this.themes[theme] = Object.assign(this.themes[theme], value);
|
|
140
135
|
this.applyTheme();
|
|
141
136
|
} // Reset theme defaults
|
|
@@ -187,58 +182,19 @@ var Theme = /*#__PURE__*/function (_Service) {
|
|
|
187
182
|
document.head.appendChild(this.styleEl);
|
|
188
183
|
}
|
|
189
184
|
}, {
|
|
190
|
-
key: "
|
|
191
|
-
value: function
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
this.
|
|
196
|
-
|
|
197
|
-
if (this.isVueMeta23) {
|
|
198
|
-
// vue-meta needs to apply after mounted()
|
|
199
|
-
root.$nextTick(function () {
|
|
200
|
-
_this2.applyVueMeta23();
|
|
201
|
-
});
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
var metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo';
|
|
206
|
-
var metaInfo = root.$options[metaKeyName] || {};
|
|
207
|
-
|
|
208
|
-
root.$options[metaKeyName] = function () {
|
|
209
|
-
metaInfo.style = metaInfo.style || [];
|
|
210
|
-
var vuetifyStylesheet = metaInfo.style.find(function (s) {
|
|
211
|
-
return s.id === 'vuetify-theme-stylesheet';
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
if (!vuetifyStylesheet) {
|
|
215
|
-
metaInfo.style.push({
|
|
216
|
-
cssText: _this2.generatedStyles,
|
|
217
|
-
type: 'text/css',
|
|
218
|
-
id: 'vuetify-theme-stylesheet',
|
|
219
|
-
nonce: (_this2.options || {}).cspNonce
|
|
220
|
-
});
|
|
221
|
-
} else {
|
|
222
|
-
vuetifyStylesheet.cssText = _this2.generatedStyles;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return metaInfo;
|
|
226
|
-
};
|
|
185
|
+
key: "initVueMeta3",
|
|
186
|
+
value: function initVueMeta3(root) {
|
|
187
|
+
// Vue Meta 3 теперь работает через плагин, а не через отдельный manager
|
|
188
|
+
// Стили будут добавляться напрямую через useMeta API в компонентах
|
|
189
|
+
// или через обычный DOM API
|
|
190
|
+
this.metaManager = null;
|
|
227
191
|
}
|
|
228
192
|
}, {
|
|
229
|
-
key: "
|
|
230
|
-
value: function
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
set({
|
|
235
|
-
style: [{
|
|
236
|
-
cssText: this.generatedStyles,
|
|
237
|
-
type: 'text/css',
|
|
238
|
-
id: 'vuetify-theme-stylesheet',
|
|
239
|
-
nonce: this.options.cspNonce
|
|
240
|
-
}]
|
|
241
|
-
});
|
|
193
|
+
key: "applyVueMeta3",
|
|
194
|
+
value: function applyVueMeta3(css) {
|
|
195
|
+
// Vue Meta 3 больше не использует manager.addMeta API
|
|
196
|
+
// Используем обычный DOM API для обновления стилей
|
|
197
|
+
this.checkOrCreateStyleElement() && (this.styleEl.innerHTML = css);
|
|
242
198
|
}
|
|
243
199
|
}, {
|
|
244
200
|
key: "initSSR",
|
|
@@ -306,13 +262,6 @@ var Theme = /*#__PURE__*/function (_Service) {
|
|
|
306
262
|
key: "parsedTheme",
|
|
307
263
|
get: function get() {
|
|
308
264
|
return ThemeUtils.parse(this.currentTheme || {}, undefined, (0, _helpers.getNestedValue)(this.options, ['variations'], true));
|
|
309
|
-
} // Is using v2.3 of vue-meta
|
|
310
|
-
// https://github.com/nuxt/vue-meta/releases/tag/v2.3.0
|
|
311
|
-
|
|
312
|
-
}, {
|
|
313
|
-
key: "isVueMeta23",
|
|
314
|
-
get: function get() {
|
|
315
|
-
return typeof this.vueMeta.addApp === 'function';
|
|
316
265
|
}
|
|
317
266
|
}]);
|
|
318
267
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/theme/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport {App, reactive} from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n static property: 'theme' = 'theme'\n\n public disabled = false\n\n public options: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes\n\n public defaults: VuetifyThemes\n\n private isDark = null as boolean | null\n\n private unwatch = null as (() => void) | null\n\n private vueMeta = null as any | null\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n dark,\n disable,\n options,\n themes,\n } = preset[Theme.property]\n\n this.dark = Boolean(dark)\n this.defaults = this.themes = themes\n this.options = options\n\n if (disable) {\n this.disabled = true\n\n return\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element and apply new values\n /* eslint-disable-next-line accessor-pairs */\n set css (val: string) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23()\n }\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: App, ssrContext?: any): void {\n if (this.disabled) return\n\n /* istanbul ignore else */\n if ((root as any).$meta) {\n this.initVueMeta(root)\n } else if (ssrContext) {\n this.initSSR(ssrContext)\n }\n\n this.initTheme(root)\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n console.log('setTheme')\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial<VuetifyThemeVariant> = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta (root: any) {\n console.log('init vue meta')\n this.vueMeta = root.$meta()\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23()\n })\n return\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n const metaInfo = root.$options[metaKeyName] || {}\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || []\n\n const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n })\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles\n }\n\n return metaInfo\n }\n }\n\n private applyVueMeta23 () {\n const { set } = this.vueMeta.addApp('vuetify')\n\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: this.options.cspNonce,\n }],\n })\n }\n\n private initSSR (ssrContext?: any) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n }\n\n private initTheme (root: App) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n\n // root.$once('hook:created', () => {\n // const obs = reactive({ themes: this.themes })\n // this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n // })\n\n\n this.applyTheme()\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n return ThemeUtils.parse(\n this.currentTheme || {},\n undefined,\n getNestedValue(this.options, ['variations'], true)\n )\n }\n\n // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n private get isVueMeta23 (): boolean {\n return typeof this.vueMeta.addApp === 'function'\n }\n}\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/theme/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport {App, reactive} from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\n// Vue Meta 3\nimport { createMetaManager, useMeta } from 'vue-meta'\n\nexport class Theme extends Service {\n static property: 'theme' = 'theme'\n\n public disabled = false\n\n public options: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes\n\n public defaults: VuetifyThemes\n\n private isDark = null as boolean | null\n\n private unwatch = null as (() => void) | null\n\n private metaManager: any = null\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n dark,\n disable,\n options,\n themes,\n } = preset[Theme.property]\n\n this.dark = Boolean(dark)\n this.defaults = this.themes = themes\n this.options = options\n\n if (disable) {\n this.disabled = true\n\n return\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element and apply new values\n /* eslint-disable-next-line accessor-pairs */\n set css (val: string) {\n if (this.metaManager) {\n this.applyVueMeta3(val)\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: App, ssrContext?: any): void {\n if (this.disabled) return\n\n // Инициализируем vue-meta 3\n this.initVueMeta3(root)\n\n if (ssrContext) {\n this.initSSR(ssrContext)\n } else {\n this.initTheme(root)\n }\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial<VuetifyThemeVariant> = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta3 (root: App) {\n // Vue Meta 3 теперь работает через плагин, а не через отдельный manager\n // Стили будут добавляться напрямую через useMeta API в компонентах\n // или через обычный DOM API\n this.metaManager = null\n }\n\n private applyVueMeta3 (css: string) {\n // Vue Meta 3 больше не использует manager.addMeta API\n // Используем обычный DOM API для обновления стилей\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = css)\n }\n\n private initSSR (ssrContext?: any) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n }\n\n private initTheme (root: App) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n\n // root.$once('hook:created', () => {\n // const obs = reactive({ themes: this.themes })\n // this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n // })\n\n\n this.applyTheme()\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n return ThemeUtils.parse(\n this.currentTheme || {},\n undefined,\n getNestedValue(this.options, ['variations'], true)\n )\n }\n\n // Vue Meta 3 больше не нужен isVueMeta23 метод\n}\n"],"sourceRoot":"","file":"index.js"}
|
package/es5/util/mergeData.js
CHANGED
|
@@ -178,23 +178,24 @@ function mergeClasses(target, source) {
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
function mergeListeners() {
|
|
181
|
-
if (!(arguments.length <= 0 ? undefined : arguments[0])
|
|
182
|
-
if (!(arguments.length <= 1 ? undefined : arguments[1])) return arguments.length <= 0 ? undefined : arguments[0];
|
|
181
|
+
if (!(arguments.length <= 0 ? undefined : arguments[0]) && !(arguments.length <= 1 ? undefined : arguments[1])) return undefined;
|
|
183
182
|
var dest = {};
|
|
184
183
|
|
|
185
184
|
for (var i = 2; i--;) {
|
|
186
185
|
var arg = i < 0 || arguments.length <= i ? undefined : arguments[i];
|
|
186
|
+
if (!arg) continue;
|
|
187
187
|
|
|
188
188
|
for (var event in arg) {
|
|
189
189
|
if (!arg[event]) continue;
|
|
190
|
+
var vueEventName = event.startsWith('on') && event.length > 2 && event.charAt(2) === event.charAt(2).toUpperCase() ? event : "on".concat(event.charAt(0).toUpperCase() + event.slice(1));
|
|
190
191
|
|
|
191
|
-
if (dest[
|
|
192
|
+
if (dest[vueEventName]) {
|
|
192
193
|
// Merge current listeners before (because we are iterating backwards).
|
|
193
194
|
// Note that neither "target" or "source" must be altered.
|
|
194
|
-
dest[
|
|
195
|
+
dest[vueEventName] = [].concat(arg[event], dest[vueEventName]);
|
|
195
196
|
} else {
|
|
196
197
|
// Straight assign.
|
|
197
|
-
dest[
|
|
198
|
+
dest[vueEventName] = arg[event];
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/mergeData.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../src/util/mergeData.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary<any> = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary<any> = {}\n let i: number = arguments.length\n let prop: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n }\n break\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Space delimited string concatenation strategy\n case 'class':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break\n }\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n default: // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n\nexport function mergeStyles (\n target: undefined | string | object[] | object,\n source: undefined | string | object[] | object\n) {\n if (!target) return source\n if (!source) return target\n\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n if (!source) return target\n if (!target) return source\n\n return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n { [key: string]: Function | Function[] } | undefined,\n { [key: string]: Function | Function[] } | undefined\n]) {\n if (!args[0] && !args[1]) return undefined\n\n const dest: { [key: string]: Function | Function[] } = {}\n\n for (let i = 2; i--;) {\n const arg = args[i]\n if (!arg) continue\n\n for (const event in arg) {\n if (!arg[event]) continue\n\n const vueEventName = event.startsWith('on') && event.length > 2 && event.charAt(2) === event.charAt(2).toUpperCase()\n ? event\n : `on${event.charAt(0).toUpperCase() + event.slice(1)}`\n\n if (dest[vueEventName]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[vueEventName] = ([] as Function[]).concat(arg[event], dest[vueEventName])\n } else {\n // Straight assign.\n dest[vueEventName] = arg[event]\n }\n }\n }\n\n return dest\n}\n"],"sourceRoot":"","file":"mergeData.js"}
|
package/es5/util/mixins.js
CHANGED
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = mixins;
|
|
7
7
|
|
|
8
|
+
var _vue = require("vue");
|
|
9
|
+
|
|
8
10
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
9
11
|
|
|
10
12
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
11
13
|
|
|
12
14
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
15
|
|
|
14
|
-
/* eslint-disable max-len, import/export, no-use-before-define */
|
|
15
16
|
function mixins() {
|
|
16
17
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
17
18
|
args[_key] = arguments[_key];
|
|
@@ -19,9 +20,9 @@ function mixins() {
|
|
|
19
20
|
|
|
20
21
|
return {
|
|
21
22
|
extend: function extend(options) {
|
|
22
|
-
return _objectSpread({
|
|
23
|
+
return (0, _vue.defineComponent)(_objectSpread({
|
|
23
24
|
mixins: args
|
|
24
|
-
}, options);
|
|
25
|
+
}, options));
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
28
|
}
|
package/es5/util/mixins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/mixins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/util/mixins.ts"],"names":[],"mappings":";;;;;;;AACA;;;;;;;;AAIc,SAAU,MAAV,GAAsC;AAAA,oCAAjB,IAAiB;AAAjB,IAAA,IAAiB;AAAA;;AAClD,SAAO;AACL,IAAA,MADK,kBACG,OADH,EACU;AACb,aAAO;AACL,QAAA,MAAM,EAAE;AADH,SAEF,OAFE,EAAP;AAID;AANI,GAAP;AAQD","sourcesContent":["/* eslint-disable max-len, import/export, no-use-before-define */\nimport { Component, defineComponent } from 'vue'\n\nexport default function mixins<T extends Component[]> (...args: T): ExtractVue<T> extends infer V ? V extends Component ? Component<V> : never : never\nexport default function mixins<T extends Component> (...args: Component[]): Component<T>\nexport default function mixins (...args: Component[]) {\n return {\n extend (options) {\n return defineComponent({\n mixins: args,\n ...options,\n })\n },\n }\n}\n\n/**\n * Returns the instance type from a Vue 3 Component\n * Useful for adding types when using mixins().extend()\n */\nexport type ExtractVue<T extends Component | Component[]> = T extends (infer U)[]\n ? UnionToIntersection<\n U extends Component<infer V> ? V : never\n >\n : T extends Component<infer V> ? V : never\n\ntype UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n"],"sourceRoot":"","file":"mixins.js"}
|
|
@@ -9,13 +9,18 @@ import CalendarBase from './mixins/calendar-base'; // Util
|
|
|
9
9
|
import { getSlot } from '../../util/helpers';
|
|
10
10
|
import { weekNumber } from '../../util/dateTimeUtils';
|
|
11
11
|
import props from './util/props';
|
|
12
|
-
import { createDayList, getDayIdentifier, createNativeLocaleFormatter } from './util/timestamp';
|
|
12
|
+
import { createDayList, getDayIdentifier, createNativeLocaleFormatter, validateTimestamp } from './util/timestamp';
|
|
13
13
|
/* @vue/component */
|
|
14
14
|
|
|
15
15
|
export default defineComponent({
|
|
16
16
|
name: 'v-calendar-weekly',
|
|
17
17
|
extends: CalendarBase,
|
|
18
|
-
props: props.weeks,
|
|
18
|
+
props: { ...props.weeks,
|
|
19
|
+
now: {
|
|
20
|
+
type: String,
|
|
21
|
+
validator: validateTimestamp
|
|
22
|
+
}
|
|
23
|
+
},
|
|
19
24
|
computed: {
|
|
20
25
|
staticClass() {
|
|
21
26
|
return 'v-calendar-weekly';
|
|
@@ -37,10 +42,10 @@ export default defineComponent({
|
|
|
37
42
|
},
|
|
38
43
|
|
|
39
44
|
todayWeek() {
|
|
40
|
-
const
|
|
41
|
-
const start = this.getStartOfWeek(
|
|
42
|
-
const end = this.getEndOfWeek(
|
|
43
|
-
return createDayList(start, end,
|
|
45
|
+
const now = this.times.now;
|
|
46
|
+
const start = this.getStartOfWeek(now);
|
|
47
|
+
const end = this.getEndOfWeek(now);
|
|
48
|
+
return createDayList(start, end, now, this.weekdaySkips, this.parsedWeekdays.length, this.parsedWeekdays.length);
|
|
44
49
|
},
|
|
45
50
|
|
|
46
51
|
monthFormatter() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, defineComponent } from 'vue'\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport { getSlot } from '../../util/helpers'\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport props from './util/props'\nimport {\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n} from './util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-calendar-weekly',\n extends: CalendarBase,\n\n props: props.weeks,\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): CalendarTimestamp[] {\n const minDays = this.parsedMinWeeks * this.parsedWeekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): CalendarTimestamp[] {\n const today = this.times.today\n const start = this.getStartOfWeek(today)\n const end = this.getEndOfWeek(today)\n\n return createDayList(\n start,\n end,\n today,\n this.weekdaySkips,\n this.parsedWeekdays.length,\n this.parsedWeekdays.length\n )\n },\n monthFormatter (): CalendarFormatter {\n if (this.monthFormat) {\n return this.monthFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: CalendarTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return h('div', {\n class: 'v-calendar-weekly__head',\n role: 'row',\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n const header = this.todayWeek.map(this.genHeadDay)\n\n if (this.showWeek) {\n header.unshift(h('div', {\n class: 'v-calendar-weekly__head-weeknumber',\n }))\n }\n\n return header\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return h('div', this.setTextColor(color, {\n key: day.date,\n class: ['v-calendar-weekly__head-weekday', this.getRelativeClasses(day, outside)],\n role: 'columnheader',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.parsedWeekdays.length\n const weeks: VNode[] = []\n\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays), this.getWeekNumber(days[i])))\n }\n\n return weeks\n },\n genWeek (week: CalendarTimestamp[], weekNumber: number): VNode {\n const weekNodes = week.map((day, index) => this.genDay(day, index, week))\n\n if (this.showWeek) {\n weekNodes.unshift(this.genWeekNumber(weekNumber))\n }\n\n return h('div', {\n key: week[0].date,\n class: 'v-calendar-weekly__week',\n role: 'row',\n }, weekNodes)\n },\n getWeekNumber (determineDay: CalendarTimestamp) {\n return weekNumber(\n determineDay.year,\n determineDay.month - 1,\n determineDay.day,\n this.parsedWeekdays[0],\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return h('div', {\n class: 'v-calendar-weekly__weeknumber',\n }, [\n h('small', String(weekNumber)),\n ])\n },\n genDay (day: CalendarTimestamp, index: number, week: CalendarTimestamp[]): VNode {\n const outside = this.isOutside(day)\n\n return h('div', {\n key: day.date,\n class: ['v-calendar-weekly__day', this.getRelativeClasses(day, outside)],\n role: 'cell',\n ...this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, [\n this.genDayLabel(day),\n ...(getSlot(this, 'day', { outside, index, week, ...day }) || []),\n ])\n },\n genDayLabel (day: CalendarTimestamp): VNode {\n return h('div', {\n class: 'v-calendar-weekly__day-label',\n }, getSlot(this, 'day-label', day) || [this.genDayLabelButton(day)])\n },\n genDayLabelButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return h(VBtn, {\n color,\n fab: true,\n depressed: true,\n small: true,\n ...this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => ({ nativeEvent, ...day })),\n }, {\n default: () => hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n })\n },\n genDayMonth (day: CalendarTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n\n return h('div', this.setTextColor(color, {\n class: 'v-calendar-weekly__day-month',\n }), getSlot(this, 'day-month', day) || this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (): VNode {\n return h('div', {\n class: [this.staticClass, this.classes],\n onDragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarWeekly.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, defineComponent } from 'vue'\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport { getSlot } from '../../util/helpers'\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport props from './util/props'\nimport {\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n validateTimestamp,\n} from './util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-calendar-weekly',\n extends: CalendarBase,\n\n props: {\n ...props.weeks,\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): CalendarTimestamp[] {\n const minDays = this.parsedMinWeeks * this.parsedWeekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): CalendarTimestamp[] {\n const now = this.times.now\n const start = this.getStartOfWeek(now)\n const end = this.getEndOfWeek(now)\n\n return createDayList(\n start,\n end,\n now,\n this.weekdaySkips,\n this.parsedWeekdays.length,\n this.parsedWeekdays.length\n )\n },\n monthFormatter (): CalendarFormatter {\n if (this.monthFormat) {\n return this.monthFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: CalendarTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return h('div', {\n class: 'v-calendar-weekly__head',\n role: 'row',\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n const header = this.todayWeek.map(this.genHeadDay)\n\n if (this.showWeek) {\n header.unshift(h('div', {\n class: 'v-calendar-weekly__head-weeknumber',\n }))\n }\n\n return header\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return h('div', this.setTextColor(color, {\n key: day.date,\n class: ['v-calendar-weekly__head-weekday', this.getRelativeClasses(day, outside)],\n role: 'columnheader',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.parsedWeekdays.length\n const weeks: VNode[] = []\n\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays), this.getWeekNumber(days[i])))\n }\n\n return weeks\n },\n genWeek (week: CalendarTimestamp[], weekNumber: number): VNode {\n const weekNodes = week.map((day, index) => this.genDay(day, index, week))\n\n if (this.showWeek) {\n weekNodes.unshift(this.genWeekNumber(weekNumber))\n }\n\n return h('div', {\n key: week[0].date,\n class: 'v-calendar-weekly__week',\n role: 'row',\n }, weekNodes)\n },\n getWeekNumber (determineDay: CalendarTimestamp) {\n return weekNumber(\n determineDay.year,\n determineDay.month - 1,\n determineDay.day,\n this.parsedWeekdays[0],\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return h('div', {\n class: 'v-calendar-weekly__weeknumber',\n }, [\n h('small', String(weekNumber)),\n ])\n },\n genDay (day: CalendarTimestamp, index: number, week: CalendarTimestamp[]): VNode {\n const outside = this.isOutside(day)\n\n return h('div', {\n key: day.date,\n class: ['v-calendar-weekly__day', this.getRelativeClasses(day, outside)],\n role: 'cell',\n ...this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, [\n this.genDayLabel(day),\n ...(getSlot(this, 'day', { outside, index, week, ...day }) || []),\n ])\n },\n genDayLabel (day: CalendarTimestamp): VNode {\n return h('div', {\n class: 'v-calendar-weekly__day-label',\n }, getSlot(this, 'day-label', day) || [this.genDayLabelButton(day)])\n },\n genDayLabelButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return h(VBtn, {\n color,\n fab: true,\n depressed: true,\n small: true,\n ...this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => ({ nativeEvent, ...day })),\n }, {\n default: () => hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n })\n },\n genDayMonth (day: CalendarTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n\n return h('div', this.setTextColor(color, {\n class: 'v-calendar-weekly__day-month',\n }), getSlot(this, 'day-month', day) || this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (): VNode {\n return h('div', {\n class: [this.staticClass, this.classes],\n onDragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarWeekly.js"}
|
|
@@ -29,7 +29,7 @@ export default defineComponent({
|
|
|
29
29
|
default: '$checkboxOn'
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
|
-
emits: ['click', 'focus', 'blur', 'update:indeterminate'],
|
|
32
|
+
emits: ['click', 'focus', 'blur', 'update:indeterminate', 'update:modelValue', 'change'],
|
|
33
33
|
|
|
34
34
|
data() {
|
|
35
35
|
return {
|
|
@@ -76,11 +76,6 @@ export default defineComponent({
|
|
|
76
76
|
|
|
77
77
|
inputIndeterminate(val) {
|
|
78
78
|
this.$emit('update:indeterminate', val);
|
|
79
|
-
},
|
|
80
|
-
|
|
81
|
-
isActive() {
|
|
82
|
-
if (!this.indeterminate) return;
|
|
83
|
-
this.inputIndeterminate = false;
|
|
84
79
|
}
|
|
85
80
|
|
|
86
81
|
},
|
|
@@ -98,8 +93,10 @@ export default defineComponent({
|
|
|
98
93
|
genCheckbox() {
|
|
99
94
|
const {
|
|
100
95
|
title,
|
|
96
|
+
class: parentClass,
|
|
101
97
|
...checkboxAttrs
|
|
102
|
-
} = this
|
|
98
|
+
} = this.$attrs;
|
|
99
|
+
const ariaChecked = this.inputIndeterminate ? 'mixed' : this.isActive.toString();
|
|
103
100
|
return h('div', {
|
|
104
101
|
class: 'v-input--selection-controls__input'
|
|
105
102
|
}, [h(VIcon, this.setTextColor(this.validationState, {
|
|
@@ -107,7 +104,7 @@ export default defineComponent({
|
|
|
107
104
|
dark: this.dark,
|
|
108
105
|
light: this.light
|
|
109
106
|
}), () => this.computedIcon), this.genInput('checkbox', { ...checkboxAttrs,
|
|
110
|
-
'aria-checked':
|
|
107
|
+
'aria-checked': ariaChecked
|
|
111
108
|
}), this.genRipple(this.setTextColor(this.rippleState))]);
|
|
112
109
|
},
|
|
113
110
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCheckbox/VCheckbox.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,kDAAP;AACA,OAAO,yDAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB;AACA,OAAO,MAAP,MAAmB,WAAnB,C,CAEA;;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,SAAS,QAAT,QAAyB,oBAAzB;AAEA,SAAS,eAAT,EAA0B,CAA1B,QAAmC,KAAnC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,YADuB;AAE7B,EAAA,OAAO,EAAE,UAFoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,OADV;AAEL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,MADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KAFd;AAML,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAFF,KANJ;AAUL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAVH,GAJsB;AAoB7B,EAAA,KAAK,EAAE,CAAC,OAAD,EAAU,OAAV,EAAmB,MAAnB,EAA2B,sBAA3B,CApBsB;;AAsB7B,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,kBAAkB,EAAE,KAAK;AADpB,KAAP;AAGD,GA1B4B;;AA4B7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,uCAA+B,IAF1B;AAGL,6BAAqB,IAHhB;AAIL,kCAA0B,KAAK;AAJ1B,OAAP;AAMD,KARO;;AASR,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,kBAAT,EAA6B;AAC3B,eAAO,KAAK,iBAAZ;AACD,OAFD,MAEO,IAAI,KAAK,QAAT,EAAmB;AACxB,eAAO,KAAK,MAAZ;AACD,OAFM,MAEA;AACL,eAAO,KAAK,OAAZ;AACD;AACF,KAjBO;;AAkBR;AACA;AACA;AACA,IAAA,eAAe,GAAA;AACb,UAAI,KAAK,UAAL,IAAmB,CAAC,KAAK,kBAA7B,EAAiD,OAAO,SAAP;AACjD,UAAI,KAAK,QAAL,IAAiB,KAAK,cAA1B,EAA0C,OAAO,OAAP;AAC1C,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,QAAL,KAAkB,IAAtB,EAA4B,OAAO,KAAK,aAAZ;AAC5B,aAAO,SAAP;AACD;;AA3BO,GA5BmB;AA0D7B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,CAAE,GAAF,EAAK;AAChB;AACA,WAAK,SAAL,CAAe,MAAO,KAAK,kBAAL,GAA0B,GAAhD;AACD,KAJI;;AAKL,IAAA,kBAAkB,CAAE,GAAF,EAAK;AACrB,WAAK,KAAL,CAAW,sBAAX,EAAmC,GAAnC;AACD
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCheckbox/VCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-checkbox',\n extends: Selectable,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: ['click', 'focus', 'blur', 'update:indeterminate', 'update:modelValue', 'change'],\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n },\n\n created () {\n const breakingProps = [\n ['inputValue', 'model-value'],\n ['input-value', 'model-value'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genCheckbox () {\n const { title, class: parentClass, ...checkboxAttrs } = this.$attrs\n const ariaChecked = this.inputIndeterminate ? 'mixed' : this.isActive.toString()\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n h(VIcon, this.setTextColor(this.validationState, {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n }), () => this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': ariaChecked,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n"],"sourceRoot":"","file":"VCheckbox.js"}
|
|
@@ -4,6 +4,7 @@ import { defineComponent } from 'vue'; // Extensions
|
|
|
4
4
|
|
|
5
5
|
import VMain from '../VMain/VMain';
|
|
6
6
|
import { deprecate } from '../../util/console';
|
|
7
|
+
import { normalizeClasses } from '../../util/helpers';
|
|
7
8
|
/* @vue/component */
|
|
8
9
|
|
|
9
10
|
export default defineComponent({
|
|
@@ -15,10 +16,24 @@ export default defineComponent({
|
|
|
15
16
|
},
|
|
16
17
|
|
|
17
18
|
render() {
|
|
18
|
-
// Add the legacy class names
|
|
19
|
+
var _a; // Add the legacy class names
|
|
20
|
+
|
|
21
|
+
|
|
19
22
|
const node = VMain.render.call(this, h);
|
|
20
|
-
node.data.
|
|
21
|
-
|
|
23
|
+
const existingClasses = ((_a = node.data) === null || _a === void 0 ? void 0 : _a.class) || '';
|
|
24
|
+
const contentClasses = normalizeClasses(`${existingClasses} v-content`);
|
|
25
|
+
node.data = { ...node.data,
|
|
26
|
+
class: contentClasses
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
if (node.children && node.children[0] && node.children[0].data) {
|
|
30
|
+
const childExistingClasses = node.children[0].data.class || '';
|
|
31
|
+
const wrapClasses = normalizeClasses(`${childExistingClasses} v-content__wrap`);
|
|
32
|
+
node.children[0].data = { ...node.children[0].data,
|
|
33
|
+
class: wrapClasses
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
22
37
|
return h(node.tag, node.data, node.children);
|
|
23
38
|
}
|
|
24
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VContent/VContent.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC,C,CAEA;;AACA,OAAO,KAAP,MAAkB,gBAAlB;AACA,SAAS,SAAT,QAA0B,oBAA1B;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAG7B,EAAA,OAAO,EAAE,KAHoB;;AAK7B,EAAA,OAAO,GAAA;AACL,IAAA,SAAS,CAAC,WAAD,EAAc,QAAd,EAAwB,IAAxB,CAAT;AACD,GAP4B;;AAS7B,EAAA,MAAM,GAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VContent/VContent.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,SAAgB,eAAhB,QAAuC,KAAvC,C,CAEA;;AACA,OAAO,KAAP,MAAkB,gBAAlB;AACA,SAAS,SAAT,QAA0B,oBAA1B;AACA,SAAS,gBAAT,QAAiC,oBAAjC;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,QADuB;AAG7B,EAAA,OAAO,EAAE,KAHoB;;AAK7B,EAAA,OAAO,GAAA;AACL,IAAA,SAAS,CAAC,WAAD,EAAc,QAAd,EAAwB,IAAxB,CAAT;AACD,GAP4B;;AAS7B,EAAA,MAAM,GAAA;WAAA,CACJ;;;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAkB,IAAlB,EAAwB,CAAxB,CAAb;AAEA,UAAM,eAAe,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAL,MAAS,IAAT,IAAS,EAAA,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAS,EAAA,CAAE,KAAX,KAAoB,EAA5C;AACA,UAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,eAAe,YAAnB,CAAvC;AACA,IAAA,IAAI,CAAC,IAAL,GAAY,EAAE,GAAG,IAAI,CAAC,IAAV;AAAgB,MAAA,KAAK,EAAE;AAAvB,KAAZ;;AAEA,QAAI,IAAI,CAAC,QAAL,IAAiB,IAAI,CAAC,QAAL,CAAc,CAAd,CAAjB,IAAqC,IAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,IAA1D,EAAgE;AAC9D,YAAM,oBAAoB,GAAG,IAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,IAAjB,CAAsB,KAAtB,IAA+B,EAA5D;AACA,YAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,oBAAoB,kBAAxB,CAApC;AACA,MAAA,IAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,IAAjB,GAAwB,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,IAAtB;AAA4B,QAAA,KAAK,EAAE;AAAnC,OAAxB;AACD;;AAED,WAAO,CAAC,CAAC,IAAI,CAAC,GAAN,EAAW,IAAI,CAAC,IAAhB,EAAsB,IAAI,CAAC,QAA3B,CAAR;AACD;;AAxB4B,CAAD,CAA9B","sourcesContent":["import {h} from 'vue'\n// Types\nimport { VNode, defineComponent } from 'vue'\n\n// Extensions\nimport VMain from '../VMain/VMain'\nimport { deprecate } from '../../util/console'\nimport { normalizeClasses } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-main',\n\n extends: VMain,\n\n created () {\n deprecate('v-content', 'v-main', this)\n },\n\n render (): VNode {\n // Add the legacy class names\n const node = VMain.render.call(this, h)\n\n const existingClasses = node.data?.class || ''\n const contentClasses = normalizeClasses(`${existingClasses} v-content`)\n node.data = { ...node.data, class: contentClasses }\n\n if (node.children && node.children[0] && node.children[0].data) {\n const childExistingClasses = node.children[0].data.class || ''\n const wrapClasses = normalizeClasses(`${childExistingClasses} v-content__wrap`)\n node.children[0].data = { ...node.children[0].data, class: wrapClasses }\n }\n\n return h(node.tag, node.data, node.children)\n },\n})\n"],"sourceRoot":"","file":"VContent.js"}
|