@dimailn/vuetify 2.7.2-alpha15 → 2.7.2-alpha16

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.
Files changed (43) hide show
  1. package/dist/vuetify.js +81 -46
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VCheckbox/VSimpleCheckbox.js +66 -35
  6. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  7. package/es5/components/VDataTable/VDataTable.js +1 -1
  8. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  9. package/es5/components/VDataTable/VDataTableHeader.js +4 -3
  10. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  11. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +4 -2
  12. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  13. package/es5/components/VDataTable/mixins/header.js +1 -1
  14. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  15. package/es5/components/VSelect/VSelectList.js +1 -1
  16. package/es5/components/VSelect/VSelectList.js.map +1 -1
  17. package/es5/framework.js +1 -1
  18. package/es5/mixins/selectable/index.js +3 -1
  19. package/es5/mixins/selectable/index.js.map +1 -1
  20. package/lib/components/VCheckbox/VSimpleCheckbox.js +72 -36
  21. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  22. package/lib/components/VDataTable/VDataTable.js +1 -1
  23. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableHeader.js +4 -3
  25. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -1
  27. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  28. package/lib/components/VDataTable/mixins/header.js +1 -1
  29. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  30. package/lib/components/VSelect/VSelectList.js +1 -1
  31. package/lib/components/VSelect/VSelectList.js.map +1 -1
  32. package/lib/framework.js +1 -1
  33. package/lib/mixins/selectable/index.js +3 -1
  34. package/lib/mixins/selectable/index.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/components/VCheckbox/VSimpleCheckbox.ts +84 -42
  37. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  38. package/src/components/VDataTable/VDataTable.ts +1 -1
  39. package/src/components/VDataTable/VDataTableHeader.ts +5 -4
  40. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  41. package/src/components/VDataTable/mixins/header.ts +4 -4
  42. package/src/components/VSelect/VSelectList.ts +1 -1
  43. package/src/mixins/selectable/index.ts +3 -1
package/dist/vuetify.js CHANGED
@@ -7445,7 +7445,6 @@ var __assign = undefined && undefined.__assign || function () {
7445
7445
 
7446
7446
 
7447
7447
 
7448
-
7449
7448
  // Mixins
7450
7449
 
7451
7450
 
@@ -7454,7 +7453,6 @@ var __assign = undefined && undefined.__assign || function () {
7454
7453
 
7455
7454
  /* harmony default export */ __webpack_exports__["default"] = (Object(vue__WEBPACK_IMPORTED_MODULE_2__["defineComponent"])({
7456
7455
  name: 'v-simple-checkbox',
7457
- functional: true,
7458
7456
  directives: {
7459
7457
  Ripple: _directives_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
7460
7458
  },
@@ -7464,7 +7462,7 @@ var __assign = undefined && undefined.__assign || function () {
7464
7462
  type: Boolean,
7465
7463
  default: true
7466
7464
  },
7467
- value: Boolean,
7465
+ modelValue: Boolean,
7468
7466
  indeterminate: Boolean,
7469
7467
  indeterminateIcon: {
7470
7468
  type: String,
@@ -7479,47 +7477,79 @@ var __assign = undefined && undefined.__assign || function () {
7479
7477
  default: '$checkboxOff'
7480
7478
  }
7481
7479
  }),
7480
+ emits: ['input', 'update:modelValue'],
7481
+ methods: {
7482
+ getIcon: function getIcon() {
7483
+ var _a = this.$props,
7484
+ indeterminate = _a.indeterminate,
7485
+ modelValue = _a.modelValue,
7486
+ indeterminateIcon = _a.indeterminateIcon,
7487
+ onIcon = _a.onIcon,
7488
+ offIcon = _a.offIcon;
7489
+ if (indeterminate) return indeterminateIcon;
7490
+ if (modelValue) return onIcon;
7491
+ return offIcon;
7492
+ },
7493
+ createIcon: function createIcon() {
7494
+ var _this = this;
7495
+
7496
+ var _a = this.$props,
7497
+ modelValue = _a.modelValue,
7498
+ disabled = _a.disabled,
7499
+ dark = _a.dark,
7500
+ light = _a.light,
7501
+ color = _a.color;
7502
+ return Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])(_VIcon__WEBPACK_IMPORTED_MODULE_3__["VIcon"], _mixins_colorable__WEBPACK_IMPORTED_MODULE_4__["default"].methods.setTextColor(modelValue && color, {
7503
+ disabled: disabled,
7504
+ dark: dark,
7505
+ light: light
7506
+ }), function () {
7507
+ return _this.getIcon();
7508
+ });
7509
+ },
7510
+ createRipple: function createRipple() {
7511
+ var _a = this.$props,
7512
+ ripple = _a.ripple,
7513
+ disabled = _a.disabled,
7514
+ color = _a.color;
7515
+ if (!ripple || disabled) return null;
7516
+ return Object(vue__WEBPACK_IMPORTED_MODULE_2__["withDirectives"])(Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])('div', _mixins_colorable__WEBPACK_IMPORTED_MODULE_4__["default"].methods.setTextColor(color, {
7517
+ class: 'v-input--selection-controls__ripple'
7518
+ })), [[_directives_ripple__WEBPACK_IMPORTED_MODULE_1__["default"], {
7519
+ center: true
7520
+ }]]);
7521
+ },
7522
+ handleClick: function handleClick(e) {
7523
+ e.stopPropagation();
7524
+ if (this.$props.disabled) return;
7525
+ var newValue = !this.modelValue;
7526
+ var attrs = this.$attrs;
7527
+ this.$emit("input", newValue);
7528
+ this.$emit('update:modelValue', newValue);
7529
+ },
7530
+ createChildren: function createChildren() {
7531
+ var children = [this.createIcon()];
7532
+ var ripple = this.createRipple();
7533
+
7534
+ if (ripple) {
7535
+ children.push(ripple);
7536
+ }
7537
+
7538
+ return children;
7539
+ }
7540
+ },
7482
7541
  render: function render() {
7483
- var props = this.$props;
7542
+ var disabled = this.$props.disabled;
7484
7543
  var data = this.$attrs;
7485
- var children = [];
7486
- var icon = props.offIcon;
7487
- if (props.indeterminate) icon = props.indeterminateIcon;else if (props.value) icon = props.onIcon;
7488
- children.push(Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])(_VIcon__WEBPACK_IMPORTED_MODULE_3__["VIcon"], _mixins_colorable__WEBPACK_IMPORTED_MODULE_4__["default"].methods.setTextColor(props.value && props.color, {
7489
- disabled: props.disabled,
7490
- dark: props.dark,
7491
- light: props.light
7492
- }), icon));
7493
-
7494
- if (props.ripple && !props.disabled) {
7495
- var ripple = Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])('div', _mixins_colorable__WEBPACK_IMPORTED_MODULE_4__["default"].methods.setTextColor(props.color, {
7496
- class: 'v-input--selection-controls__ripple',
7497
- directives: [{
7498
- def: _directives_ripple__WEBPACK_IMPORTED_MODULE_1__["default"],
7499
- name: 'ripple',
7500
- value: {
7501
- center: true
7502
- }
7503
- }]
7504
- }));
7505
- children.push(ripple);
7506
- }
7507
-
7508
7544
  return Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])('div', Object(_util_mergeData__WEBPACK_IMPORTED_MODULE_6__["default"])(data, {
7509
7545
  class: {
7510
7546
  'v-simple-checkbox': true,
7511
- 'v-simple-checkbox--disabled': props.disabled
7547
+ 'v-simple-checkbox--disabled': disabled
7512
7548
  },
7513
- onClick: function onClick(e) {
7514
- e.stopPropagation();
7515
-
7516
- if (data.on && data.on.input && !props.disabled) {
7517
- data.onInput && data.onInput(!props.value);
7518
- }
7519
- }
7549
+ onClick: this.handleClick
7520
7550
  }), [Object(vue__WEBPACK_IMPORTED_MODULE_2__["h"])('div', {
7521
7551
  class: 'v-input--selection-controls__input'
7522
- }, children)]);
7552
+ }, this.createChildren())]);
7523
7553
  }
7524
7554
  }));
7525
7555
 
@@ -11531,7 +11561,7 @@ function searchTableItems(items, search, headersWithCustomFilters, headersWithou
11531
11561
 
11532
11562
  return Object(vue__WEBPACK_IMPORTED_MODULE_1__["h"])(_VCheckbox_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_9__["default"], {
11533
11563
  class: 'v-data-table__checkbox',
11534
- value: data.isSelected,
11564
+ modelValue: data.isSelected,
11535
11565
  disabled: !_this.isSelectable(item),
11536
11566
  color: (_a = _this.checkboxColor) !== null && _a !== void 0 ? _a : '',
11537
11567
  onInput: function onInput(val) {
@@ -11760,17 +11790,18 @@ var __assign = undefined && undefined.__assign || function () {
11760
11790
 
11761
11791
  /* harmony default export */ __webpack_exports__["default"] = (Object(vue__WEBPACK_IMPORTED_MODULE_5__["defineComponent"])({
11762
11792
  name: 'v-data-table-header',
11763
- functional: true,
11764
11793
  props: __assign(__assign({}, _mixins_header__WEBPACK_IMPORTED_MODULE_3__["default"].props), {
11765
11794
  mobile: Boolean
11766
11795
  }),
11767
11796
  render: function render() {
11768
11797
  var props = this.$props;
11769
- var data = this.$attrs; // dedupeModelListeners(data)
11798
+
11799
+ var data = __assign(__assign({}, this.$attrs), props); // dedupeModelListeners(data)
11800
+
11770
11801
 
11771
11802
  var children = Object(_util_rebuildFunctionalSlots__WEBPACK_IMPORTED_MODULE_4__["default"])(this.$slots, vue__WEBPACK_IMPORTED_MODULE_5__["h"]);
11772
11803
 
11773
- if (this.mobile) {
11804
+ if (props.mobile) {
11774
11805
  return Object(vue__WEBPACK_IMPORTED_MODULE_5__["h"])(_VDataTableHeaderMobile__WEBPACK_IMPORTED_MODULE_1__["default"], data, children);
11775
11806
  } else {
11776
11807
  return Object(vue__WEBPACK_IMPORTED_MODULE_5__["h"])(_VDataTableHeaderDesktop__WEBPACK_IMPORTED_MODULE_2__["default"], data, children);
@@ -11943,11 +11974,13 @@ var __spreadArray = undefined && undefined.__spreadArray || function (to, from,
11943
11974
  render: function render() {
11944
11975
  var _this = this;
11945
11976
 
11977
+ var _a;
11978
+
11946
11979
  return Object(vue__WEBPACK_IMPORTED_MODULE_0__["h"])('thead', {
11947
11980
  class: 'v-data-table-header'
11948
- }, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["h"])('tr', this.headers.map(function (header) {
11981
+ }, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["h"])('tr', ((_a = this.headers) === null || _a === void 0 ? void 0 : _a.map(function (header) {
11949
11982
  return _this.genHeader(header);
11950
- }))]);
11983
+ })) || [])]);
11951
11984
  }
11952
11985
  }));
11953
11986
 
@@ -12654,7 +12687,7 @@ var __assign = undefined && undefined.__assign || function () {
12654
12687
  var _a;
12655
12688
 
12656
12689
  var data = {
12657
- value: this.everyItem,
12690
+ modelValue: this.everyItem,
12658
12691
  indeterminate: !this.everyItem && this.someItems,
12659
12692
  color: (_a = this.checkboxColor) !== null && _a !== void 0 ? _a : '',
12660
12693
  onInput: function onInput(v) {
@@ -24693,7 +24726,7 @@ var __assign = undefined && undefined.__assign || function () {
24693
24726
 
24694
24727
  return Object(vue__WEBPACK_IMPORTED_MODULE_9__["h"])(_VList__WEBPACK_IMPORTED_MODULE_3__["VListItemAction"], [Object(vue__WEBPACK_IMPORTED_MODULE_9__["h"])(_VCheckbox_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_0__["default"], {
24695
24728
  color: this.color,
24696
- value: inputValue,
24729
+ modelValue: inputValue,
24697
24730
  ripple: false,
24698
24731
  onInput: function onInput() {
24699
24732
  return _this.$emit('select', item);
@@ -35146,7 +35179,7 @@ function () {
35146
35179
 
35147
35180
  Vuetify.install = _install__WEBPACK_IMPORTED_MODULE_0__["install"];
35148
35181
  Vuetify.installed = false;
35149
- Vuetify.version = "2.7.2-alpha15";
35182
+ Vuetify.version = "2.7.2-alpha16";
35150
35183
  Vuetify.config = {
35151
35184
  silent: false
35152
35185
  };
@@ -42275,7 +42308,9 @@ var __assign = undefined && undefined.__assign || function () {
42275
42308
 
42276
42309
 
42277
42310
  function prevent(e) {
42278
- e.preventDefault();
42311
+ e.preventDefault(); // всплытие провоцирует двойной onChange
42312
+
42313
+ e.stopPropagation();
42279
42314
  }
42280
42315
  /* @vue/component */
42281
42316