@dimailn/vuetify 2.7.2-alpha28 → 2.7.2-alpha29
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 +1416 -304
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +38 -8
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +28 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +34 -6
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +25 -0
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +28 -3
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +30 -2
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +30 -2
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +16 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +42 -47
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +10 -18
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +3 -4
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +5 -5
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +21 -9
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VInput/VInput.js +36 -8
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VList/VListGroup.js +47 -21
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +29 -4
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +55 -30
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +30 -7
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +28 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +30 -6
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +112 -84
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +58 -17
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +42 -16
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +45 -17
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/validatable/index.js +24 -0
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +5 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +12 -6
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +11 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +11 -0
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +7 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +12 -1
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +14 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +26 -31
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +8 -15
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +3 -4
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -2
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +7 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VInput/VInput.js +13 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +16 -8
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +8 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +14 -3
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +11 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +11 -0
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +52 -36
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +21 -3
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +11 -1
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +11 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/validatable/index.js +7 -1
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +5 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +17 -7
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
- package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
- package/src/components/VBadge/VBadge.ts +13 -0
- package/src/components/VBanner/VBanner.ts +13 -0
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
- package/src/components/VCarousel/VCarousel.ts +11 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
- package/src/components/VColorPicker/VColorPicker.ts +13 -0
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
- package/src/components/VDataIterator/VDataFooter.ts +14 -9
- package/src/components/VDataIterator/VDataIterator.ts +46 -34
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +8 -15
- package/src/components/VDataTable/VDataTableHeader.ts +2 -2
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
- package/src/components/VDataTable/VEditDialog.ts +3 -3
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +1 -2
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +18 -22
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +7 -2
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +11 -16
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +4 -12
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +9 -12
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +11 -1
- package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
- package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
- package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
- package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
- package/src/components/VInput/VInput.ts +18 -5
- package/src/components/VList/VListGroup.ts +22 -10
- package/src/components/VList/VListItem.ts +10 -1
- package/src/components/VMenu/VMenu.ts +21 -3
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +43 -5
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
- package/src/components/VOverlay/VOverlay.ts +12 -0
- package/src/components/VPagination/VPagination.ts +23 -9
- package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VSelect/VSelect.ts +60 -43
- package/src/components/VSelect/VSelectList.ts +29 -8
- package/src/components/VSlider/VSlider.ts +14 -1
- package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VTabs/VTabs.ts +14 -0
- package/src/mixins/validatable/index.ts +11 -1
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/helpers.spec.ts +59 -31
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +8 -4
|
@@ -25,6 +25,8 @@ var _mixins = _interopRequireDefault(require("../../../util/mixins"));
|
|
|
25
25
|
|
|
26
26
|
var _helpers = require("../../../util/helpers");
|
|
27
27
|
|
|
28
|
+
var _console = require("../../../util/console");
|
|
29
|
+
|
|
28
30
|
var _vue = require("vue");
|
|
29
31
|
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -37,6 +39,12 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.it
|
|
|
37
39
|
|
|
38
40
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
39
41
|
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
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; }
|
|
47
|
+
|
|
40
48
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
49
|
|
|
42
50
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -49,12 +57,6 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
49
57
|
|
|
50
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
59
|
|
|
52
|
-
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; }
|
|
53
|
-
|
|
54
|
-
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; }
|
|
55
|
-
|
|
56
|
-
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; }
|
|
57
|
-
|
|
58
60
|
var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _themeable.default
|
|
59
61
|
/* @vue/component */
|
|
60
62
|
).extend({
|
|
@@ -107,6 +109,20 @@ var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _th
|
|
|
107
109
|
return this.modelValue;
|
|
108
110
|
}
|
|
109
111
|
},
|
|
112
|
+
created: function created() {
|
|
113
|
+
var _this = this;
|
|
114
|
+
|
|
115
|
+
var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
116
|
+
/* istanbul ignore next */
|
|
117
|
+
|
|
118
|
+
breakingProps.forEach(function (_ref) {
|
|
119
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
120
|
+
original = _ref2[0],
|
|
121
|
+
replacement = _ref2[1];
|
|
122
|
+
|
|
123
|
+
if (_this.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this);
|
|
124
|
+
});
|
|
125
|
+
},
|
|
110
126
|
watch: {
|
|
111
127
|
tableDate: function tableDate(newVal, oldVal) {
|
|
112
128
|
this.isReversing = newVal < oldVal;
|
|
@@ -131,13 +147,13 @@ var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _th
|
|
|
131
147
|
}, this.themeClasses);
|
|
132
148
|
},
|
|
133
149
|
genButtonEvents: function genButtonEvents(value, isAllowed, mouseEventType) {
|
|
134
|
-
var
|
|
150
|
+
var _this2 = this;
|
|
135
151
|
|
|
136
152
|
if (this.disabled) return undefined;
|
|
137
153
|
return (0, _mergeData.mergeListeners)({
|
|
138
154
|
onClick: function onClick() {
|
|
139
|
-
if (isAllowed && !
|
|
140
|
-
|
|
155
|
+
if (isAllowed && !_this2.readonly) {
|
|
156
|
+
_this2.$emit('update:modelValue', value);
|
|
141
157
|
}
|
|
142
158
|
}
|
|
143
159
|
}, (0, _util.createItemTypeNativeListeners)(this, ":".concat(mouseEventType), value));
|
|
@@ -202,13 +218,13 @@ var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _th
|
|
|
202
218
|
});
|
|
203
219
|
},
|
|
204
220
|
genEvents: function genEvents(date) {
|
|
205
|
-
var
|
|
221
|
+
var _this3 = this;
|
|
206
222
|
|
|
207
223
|
var eventColors = this.getEventColors(date);
|
|
208
224
|
return eventColors.length ? (0, _vue.h)('div', {
|
|
209
225
|
class: 'v-date-picker-table__events'
|
|
210
226
|
}, eventColors.map(function (color) {
|
|
211
|
-
return (0, _vue.h)('div',
|
|
227
|
+
return (0, _vue.h)('div', _this3.setBackgroundColor(color));
|
|
212
228
|
})) : null;
|
|
213
229
|
},
|
|
214
230
|
isValidScroll: function isValidScroll(value, calculateTableDate) {
|
|
@@ -224,22 +240,22 @@ var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _th
|
|
|
224
240
|
this.$emit('update:table-date', calculateTableDate(value));
|
|
225
241
|
},
|
|
226
242
|
genTable: function genTable(staticClass, children, calculateTableDate) {
|
|
227
|
-
var
|
|
243
|
+
var _this4 = this,
|
|
228
244
|
_objectSpread2;
|
|
229
245
|
|
|
230
246
|
var transition = (0, _vue.h)(_vue.Transition, {
|
|
231
247
|
name: this.computedTransition
|
|
232
248
|
}, function () {
|
|
233
249
|
return [(0, _vue.h)('table', {
|
|
234
|
-
key:
|
|
250
|
+
key: _this4.tableDate
|
|
235
251
|
}, children)];
|
|
236
252
|
});
|
|
237
253
|
var touchDirective = [_touch.default, {
|
|
238
254
|
left: function left(e) {
|
|
239
|
-
return e.offsetX < -15 &&
|
|
255
|
+
return e.offsetX < -15 && _this4.isValidScroll(1, calculateTableDate) && _this4.touch(1, calculateTableDate);
|
|
240
256
|
},
|
|
241
257
|
right: function right(e) {
|
|
242
|
-
return e.offsetX > 15 &&
|
|
258
|
+
return e.offsetX > 15 && _this4.isValidScroll(-1, calculateTableDate) && _this4.touch(-1, calculateTableDate);
|
|
243
259
|
}
|
|
244
260
|
}];
|
|
245
261
|
return (0, _vue.withDirectives)((0, _vue.h)('div', _objectSpread({
|
|
@@ -248,8 +264,8 @@ var _default2 = (0, _mixins.default)(_colorable.default, _localable.default, _th
|
|
|
248
264
|
onWheel: function onWheel(e) {
|
|
249
265
|
e.preventDefault();
|
|
250
266
|
|
|
251
|
-
if (
|
|
252
|
-
|
|
267
|
+
if (_this4.isValidScroll(e.deltaY, calculateTableDate)) {
|
|
268
|
+
_this4.wheelThrottle(e, calculateTableDate);
|
|
253
269
|
}
|
|
254
270
|
}
|
|
255
271
|
} : {}), [transition]), [touchDirective]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n Transition,\n withDirectives,\n h,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n modelValue: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n // Vue 3 compatibility: use modelValue\n currentValue (): string | string[] | undefined {\n return this.modelValue\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n onClick: () => {\n if (isAllowed && !this.readonly) {\n this.$emit('update:modelValue', value)\n }\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {\n isFirst = value === this.currentValue[0]\n isLast = value === this.currentValue[this.currentValue.length - 1]\n }\n\n return h('button', setColor(color, {\n class: ['v-btn', this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n )],\n type: 'button',\n disabled: this.disabled || !isAllowed || isOtherMonth,\n ...this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n h('div', {\n class: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? h('div', {\n class: 'v-date-picker-table__events',\n }, eventColors.map(color => h('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = h(Transition, {\n name: this.computedTransition,\n }, () => [h('table', { key: this.tableDate }, children)])\n\n const touchDirective = [\n Touch,\n {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n ]\n\n return withDirectives(h('div', {\n class: {\n [staticClass]: true,\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n ...((!this.disabled && this.scrollable) ? {\n onWheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : {}),\n }, [transition]), [touchDirective])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.currentValue)) {\n if (this.range && this.currentValue.length === 2) {\n const [from, to] = [...this.currentValue].sort()\n return from <= value && value <= to\n } else {\n return this.currentValue.indexOf(value) !== -1\n }\n }\n\n return value === this.currentValue\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VDatePicker/mixins/date-picker-table.ts"],"names":[],"mappings":"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","sourcesContent":["import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\nimport { breaking } from '../../../util/console'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n Transition,\n withDirectives,\n h,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n modelValue: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n // Vue 3 compatibility: use modelValue\n currentValue (): string | string[] | undefined {\n return this.modelValue\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n onClick: () => {\n if (isAllowed && !this.readonly) {\n this.$emit('update:modelValue', value)\n }\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.currentValue && Array.isArray(this.currentValue)) {\n isFirst = value === this.currentValue[0]\n isLast = value === this.currentValue[this.currentValue.length - 1]\n }\n\n return h('button', setColor(color, {\n class: ['v-btn', this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n )],\n type: 'button',\n disabled: this.disabled || !isAllowed || isOtherMonth,\n ...this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n h('div', {\n class: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? h('div', {\n class: 'v-date-picker-table__events',\n }, eventColors.map(color => h('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = h(Transition, {\n name: this.computedTransition,\n }, () => [h('table', { key: this.tableDate }, children)])\n\n const touchDirective = [\n Touch,\n {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n ]\n\n return withDirectives(h('div', {\n class: {\n [staticClass]: true,\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n ...((!this.disabled && this.scrollable) ? {\n onWheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : {}),\n }, [transition]), [touchDirective])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.currentValue)) {\n if (this.range && this.currentValue.length === 2) {\n const [from, to] = [...this.currentValue].sort()\n return from <= value && value <= to\n } else {\n return this.currentValue.indexOf(value) !== -1\n }\n }\n\n return value === this.currentValue\n },\n },\n})\n"],"sourceRoot":"","file":"date-picker-table.js"}
|
|
@@ -21,6 +21,8 @@ var _helpers = require("../../util/helpers");
|
|
|
21
21
|
|
|
22
22
|
var _mergeData = _interopRequireDefault(require("../../util/mergeData"));
|
|
23
23
|
|
|
24
|
+
var _console = require("../../util/console");
|
|
25
|
+
|
|
24
26
|
var _vue = require("vue");
|
|
25
27
|
|
|
26
28
|
var _mixins = _interopRequireDefault(require("../../util/mixins"));
|
|
@@ -31,6 +33,18 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
31
33
|
|
|
32
34
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
33
35
|
|
|
36
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
37
|
+
|
|
38
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
|
+
|
|
40
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
41
|
+
|
|
42
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
43
|
+
|
|
44
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
45
|
+
|
|
46
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
47
|
+
|
|
34
48
|
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; }
|
|
35
49
|
|
|
36
50
|
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; }
|
|
@@ -61,7 +75,7 @@ var _default2 = baseMixins.extend({
|
|
|
61
75
|
prependIcon: String,
|
|
62
76
|
modelValue: null
|
|
63
77
|
},
|
|
64
|
-
emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend'],
|
|
78
|
+
emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend', 'update:error'],
|
|
65
79
|
data: function data() {
|
|
66
80
|
return {
|
|
67
81
|
lazyValue: this.modelValue,
|
|
@@ -141,6 +155,20 @@ var _default2 = baseMixins.extend({
|
|
|
141
155
|
this.lazyValue = val;
|
|
142
156
|
}
|
|
143
157
|
},
|
|
158
|
+
created: function created() {
|
|
159
|
+
var _this2 = this;
|
|
160
|
+
|
|
161
|
+
var breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
162
|
+
/* istanbul ignore next */
|
|
163
|
+
|
|
164
|
+
breakingProps.forEach(function (_ref) {
|
|
165
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
166
|
+
original = _ref2[0],
|
|
167
|
+
replacement = _ref2[1];
|
|
168
|
+
|
|
169
|
+
if (_this2.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this2);
|
|
170
|
+
});
|
|
171
|
+
},
|
|
144
172
|
beforeCreate: function beforeCreate() {
|
|
145
173
|
// v-radio-group needs to emit a different event
|
|
146
174
|
// https://github.com/vuetifyjs/vuetify/issues/4752
|
|
@@ -162,7 +190,7 @@ var _default2 = baseMixins.extend({
|
|
|
162
190
|
return [this.genLabel(), (0, _helpers.getSlot)(this)];
|
|
163
191
|
},
|
|
164
192
|
genIcon: function genIcon(type, cb) {
|
|
165
|
-
var
|
|
193
|
+
var _this3 = this;
|
|
166
194
|
|
|
167
195
|
var extraData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
168
196
|
|
|
@@ -191,7 +219,7 @@ var _default2 = baseMixins.extend({
|
|
|
191
219
|
e.preventDefault();
|
|
192
220
|
e.stopPropagation();
|
|
193
221
|
|
|
194
|
-
|
|
222
|
+
_this3.$emit(eventName, e);
|
|
195
223
|
|
|
196
224
|
cb && cb(e);
|
|
197
225
|
},
|
|
@@ -225,7 +253,7 @@ var _default2 = baseMixins.extend({
|
|
|
225
253
|
}), [this.genDefaultSlot()]);
|
|
226
254
|
},
|
|
227
255
|
genLabel: function genLabel() {
|
|
228
|
-
var
|
|
256
|
+
var _this4 = this;
|
|
229
257
|
|
|
230
258
|
if (!this.hasLabel) return null;
|
|
231
259
|
return (0, _vue.h)(_VLabel.default, {
|
|
@@ -236,7 +264,7 @@ var _default2 = baseMixins.extend({
|
|
|
236
264
|
for: this.computedId,
|
|
237
265
|
light: this.light
|
|
238
266
|
}, function () {
|
|
239
|
-
return (0, _helpers.getSlot)(
|
|
267
|
+
return (0, _helpers.getSlot)(_this4, 'label') || _this4.label;
|
|
240
268
|
});
|
|
241
269
|
},
|
|
242
270
|
genMessages: function genMessages() {
|
|
@@ -245,7 +273,7 @@ var _default2 = baseMixins.extend({
|
|
|
245
273
|
color: this.hasHint ? '' : this.validationState,
|
|
246
274
|
dark: this.dark,
|
|
247
275
|
light: this.light,
|
|
248
|
-
|
|
276
|
+
modelValue: this.messagesToDisplay,
|
|
249
277
|
role: this.hasMessages ? 'alert' : null
|
|
250
278
|
}, {
|
|
251
279
|
default: (0, _helpers.getSlot)(this, 'message')
|
|
@@ -300,7 +328,7 @@ var _default2 = baseMixins.extend({
|
|
|
300
328
|
}
|
|
301
329
|
},
|
|
302
330
|
render: function render() {
|
|
303
|
-
var
|
|
331
|
+
var _this5 = this;
|
|
304
332
|
|
|
305
333
|
var _this$$attrs = this.$attrs,
|
|
306
334
|
additionalClasses = _this$$attrs.class,
|
|
@@ -312,7 +340,7 @@ var _default2 = baseMixins.extend({
|
|
|
312
340
|
}, this.classes), (0, _helpers.normalizeClasses)(additionalClasses))
|
|
313
341
|
}, restAttrs)), {
|
|
314
342
|
default: function _default() {
|
|
315
|
-
return
|
|
343
|
+
return _this5.genContent();
|
|
316
344
|
}
|
|
317
345
|
});
|
|
318
346
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n normalizeClasses,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend'],\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n () => icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, () => getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n const { class: additionalClasses, ...restAttrs } = this.$attrs as Record<string, any>\n\n return h('div', this.setTextColor(this.validationState, {\n class: { 'v-input': true, ...this.classes, ...normalizeClasses(additionalClasses) },\n ...restAttrs,\n }), {\n default: () => this.genContent(),\n })\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n normalizeClasses,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend', 'update:error'],\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n\n if ('$_emitChangeEvent' in this) {\n this.$emit('change', val)\n }\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n () => icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: { 'v-input__slot': true },\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, () => getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n modelValue: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, { default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n const { class: additionalClasses, ...restAttrs } = this.$attrs as Record<string, any>\n\n return h('div', this.setTextColor(this.validationState, {\n class: { 'v-input': true, ...this.classes, ...normalizeClasses(additionalClasses) },\n ...restAttrs,\n }), {\n default: () => this.genContent(),\n })\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
|
|
@@ -33,6 +33,8 @@ var _mixins = _interopRequireDefault(require("../../util/mixins"));
|
|
|
33
33
|
|
|
34
34
|
var _helpers = require("../../util/helpers");
|
|
35
35
|
|
|
36
|
+
var _console = require("../../util/console");
|
|
37
|
+
|
|
36
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
39
|
|
|
38
40
|
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; }
|
|
@@ -41,6 +43,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
41
43
|
|
|
42
44
|
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; }
|
|
43
45
|
|
|
46
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
47
|
+
|
|
48
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
49
|
+
|
|
50
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
51
|
+
|
|
52
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
53
|
+
|
|
54
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
55
|
+
|
|
56
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
57
|
+
|
|
44
58
|
var baseMixins = (0, _mixins.default)(_bindsAttrs.default, _bootable.default, _colorable.default, (0, _registrable.inject)('list'), _toggleable.default);
|
|
45
59
|
|
|
46
60
|
var _default = baseMixins.extend({
|
|
@@ -78,6 +92,25 @@ var _default = baseMixins.extend({
|
|
|
78
92
|
};
|
|
79
93
|
}
|
|
80
94
|
},
|
|
95
|
+
created: function created() {
|
|
96
|
+
var _this = this;
|
|
97
|
+
|
|
98
|
+
var breakingProps = [['value', 'modelValue'], ['inputValue', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
99
|
+
/* istanbul ignore next */
|
|
100
|
+
|
|
101
|
+
breakingProps.forEach(function (_ref) {
|
|
102
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
103
|
+
original = _ref2[0],
|
|
104
|
+
replacement = _ref2[1];
|
|
105
|
+
|
|
106
|
+
if (_this.$attrs.hasOwnProperty(original)) (0, _console.breaking)(original, replacement, _this);
|
|
107
|
+
});
|
|
108
|
+
this.list && this.list.register(this);
|
|
109
|
+
|
|
110
|
+
if (this.group && this.$route && this.modelValue == null) {
|
|
111
|
+
this.isActive = this.matchRoute(this.$route.path);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
81
114
|
watch: {
|
|
82
115
|
isActive: function isActive(val) {
|
|
83
116
|
/* istanbul ignore else */
|
|
@@ -87,25 +120,18 @@ var _default = baseMixins.extend({
|
|
|
87
120
|
},
|
|
88
121
|
$route: 'onRouteChange'
|
|
89
122
|
},
|
|
90
|
-
created: function created() {
|
|
91
|
-
this.list && this.list.register(this);
|
|
92
|
-
|
|
93
|
-
if (this.group && this.$route && this.modelValue == null) {
|
|
94
|
-
this.isActive = this.matchRoute(this.$route.path);
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
123
|
beforeUnmount: function beforeUnmount() {
|
|
98
124
|
this.list && this.list.unregister(this);
|
|
99
125
|
},
|
|
100
126
|
methods: {
|
|
101
127
|
click: function click(e) {
|
|
102
|
-
var
|
|
128
|
+
var _this2 = this;
|
|
103
129
|
|
|
104
130
|
if (this.disabled) return;
|
|
105
131
|
this.isBooted = true;
|
|
106
132
|
this.$emit('click', e);
|
|
107
133
|
this.$nextTick(function () {
|
|
108
|
-
return
|
|
134
|
+
return _this2.isActive = !_this2.isActive;
|
|
109
135
|
});
|
|
110
136
|
},
|
|
111
137
|
genIcon: function genIcon(icon) {
|
|
@@ -114,7 +140,7 @@ var _default = baseMixins.extend({
|
|
|
114
140
|
});
|
|
115
141
|
},
|
|
116
142
|
genAppendIcon: function genAppendIcon() {
|
|
117
|
-
var
|
|
143
|
+
var _this3 = this;
|
|
118
144
|
|
|
119
145
|
var icon = !this.subGroup ? this.appendIcon : false;
|
|
120
146
|
var slot = (0, _helpers.getSlot)(this, 'appendIcon');
|
|
@@ -122,11 +148,11 @@ var _default = baseMixins.extend({
|
|
|
122
148
|
return (0, _vue.h)(_VListItemIcon.default, {
|
|
123
149
|
class: 'v-list-group__header__append-icon'
|
|
124
150
|
}, function () {
|
|
125
|
-
return [slot ||
|
|
151
|
+
return [slot || _this3.genIcon(icon)];
|
|
126
152
|
});
|
|
127
153
|
},
|
|
128
154
|
genHeader: function genHeader() {
|
|
129
|
-
var
|
|
155
|
+
var _this4 = this;
|
|
130
156
|
|
|
131
157
|
return (0, _vue.withDirectives)((0, _vue.h)(_VListItem.default, _objectSpread(_objectSpread({
|
|
132
158
|
'aria-expanded': String(this.isActive),
|
|
@@ -139,21 +165,21 @@ var _default = baseMixins.extend({
|
|
|
139
165
|
}, this.listeners$), {}, {
|
|
140
166
|
onClick: this.click
|
|
141
167
|
}), function () {
|
|
142
|
-
return [
|
|
168
|
+
return [_this4.genPrependIcon(), (0, _helpers.getSlot)(_this4, 'activator'), _this4.genAppendIcon()];
|
|
143
169
|
}), [[_ripple.Ripple, this.ripple]]);
|
|
144
170
|
},
|
|
145
171
|
genItems: function genItems() {
|
|
146
|
-
var
|
|
172
|
+
var _this5 = this;
|
|
147
173
|
|
|
148
174
|
var directives = [[_vue.vShow, this.isActive]];
|
|
149
175
|
return this.showLazyContent(function () {
|
|
150
176
|
return [(0, _vue.withDirectives)((0, _vue.h)('div', {
|
|
151
177
|
class: 'v-list-group__items'
|
|
152
|
-
}, (0, _helpers.getSlot)(
|
|
178
|
+
}, (0, _helpers.getSlot)(_this5)), directives)];
|
|
153
179
|
});
|
|
154
180
|
},
|
|
155
181
|
genPrependIcon: function genPrependIcon() {
|
|
156
|
-
var
|
|
182
|
+
var _this6 = this;
|
|
157
183
|
|
|
158
184
|
var icon = this.subGroup && this.prependIcon == null ? '$subgroup' : this.prependIcon;
|
|
159
185
|
var slot = (0, _helpers.getSlot)(this, 'prependIcon');
|
|
@@ -161,7 +187,7 @@ var _default = baseMixins.extend({
|
|
|
161
187
|
return (0, _vue.h)(_VListItemIcon.default, {
|
|
162
188
|
class: 'v-list-group__header__prepend-icon'
|
|
163
189
|
}, function () {
|
|
164
|
-
return [slot ||
|
|
190
|
+
return [slot || _this6.genIcon(icon)];
|
|
165
191
|
});
|
|
166
192
|
},
|
|
167
193
|
onRouteChange: function onRouteChange(to) {
|
|
@@ -177,12 +203,12 @@ var _default = baseMixins.extend({
|
|
|
177
203
|
this.isActive = isActive;
|
|
178
204
|
},
|
|
179
205
|
toggle: function toggle(uid) {
|
|
180
|
-
var
|
|
206
|
+
var _this7 = this;
|
|
181
207
|
|
|
182
208
|
var isActive = this.$.uid === uid;
|
|
183
209
|
if (isActive) this.isBooted = true;
|
|
184
210
|
this.$nextTick(function () {
|
|
185
|
-
return
|
|
211
|
+
return _this7.isActive = isActive;
|
|
186
212
|
});
|
|
187
213
|
},
|
|
188
214
|
matchRoute: function matchRoute(to) {
|
|
@@ -190,12 +216,12 @@ var _default = baseMixins.extend({
|
|
|
190
216
|
}
|
|
191
217
|
},
|
|
192
218
|
render: function render() {
|
|
193
|
-
var
|
|
219
|
+
var _this8 = this;
|
|
194
220
|
|
|
195
221
|
return (0, _vue.h)('div', this.setTextColor(this.isActive && this.color, {
|
|
196
222
|
class: ['v-list-group', this.classes]
|
|
197
223
|
}), [this.genHeader(), (0, _vue.h)(_transitions.VExpandTransition, {}, function () {
|
|
198
|
-
return
|
|
224
|
+
return _this8.genItems();
|
|
199
225
|
})]);
|
|
200
226
|
}
|
|
201
227
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, vShow, VNode } from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, {}, () => icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n link: true,\n modelValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, () => [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple],\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive,\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes],\n }), [\n this.genHeader(),\n h(VExpandTransition, {}, () => this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives, vShow, VNode } from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['inputValue', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.modelValue == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this.$.uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, {}, () => icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n link: true,\n modelValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, () => [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple],\n ])\n },\n genItems (): VNode[] {\n const directives = [[\n vShow,\n this.isActive,\n ]]\n\n return this.showLazyContent(() => [\n withDirectives(h('div', {\n class: 'v-list-group__items',\n }, getSlot(this)), directives),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, () => [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this.$.uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this.$.uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-list-group', this.classes],\n }), [\n this.genHeader(),\n h(VExpandTransition, {}, () => this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
|