@zeedhi/vuetify 1.133.0 → 1.134.0

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.
@@ -58450,7 +58450,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
58450
58450
  return defaultLabel;
58451
58451
  }
58452
58452
  set treeValue(value) {
58453
- this.instance.selectValue = this.instance.clearNodeRow(value);
58453
+ this.instance.selectValue = value ? this.instance.clearNodeRow(value) : null;
58454
+ this.instance.validate();
58455
+ if (!value) {
58456
+ this.$nextTick(() => {
58457
+ var _a, _b;
58458
+ const instanceRef = this.$refs.instance;
58459
+ (_a = instanceRef === null || instanceRef === void 0 ? void 0 : instanceRef.focusInput) === null || _a === void 0 ? void 0 : _a.call(instanceRef);
58460
+ (_b = instanceRef === null || instanceRef === void 0 ? void 0 : instanceRef.openMenu) === null || _b === void 0 ? void 0 : _b.call(instanceRef);
58461
+ });
58462
+ }
58454
58463
  }
58455
58464
  get treeValue() {
58456
58465
  if (!this.instance.selectValue)
@@ -60384,6 +60393,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60384
60393
  constructor() {
60385
60394
  super(...arguments);
60386
60395
  this.instanceType = common.Tabs;
60396
+ this.isDragOver = false;
60397
+ this.dragOverIndex = -1;
60387
60398
  }
60388
60399
  change(event) {
60389
60400
  this.instance.change(event, this.$el);
@@ -60402,6 +60413,77 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60402
60413
  });
60403
60414
  });
60404
60415
  }
60416
+ isTabOK(event) {
60417
+ var _a;
60418
+ return !!((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes(`application/x-zd-tabs-owner-${this.instance.name.toLowerCase()}`));
60419
+ }
60420
+ getTabsBarRect() {
60421
+ var _a;
60422
+ return (_a = this.$el.querySelector('.v-tabs')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
60423
+ }
60424
+ handleDragOver(event) {
60425
+ event.preventDefault();
60426
+ if (!this.isTabOK(event)) {
60427
+ this.dragOverIndex = -1;
60428
+ return;
60429
+ }
60430
+ const tabsRect = this.getTabsBarRect();
60431
+ if (!tabsRect)
60432
+ return;
60433
+ if (event.clientY < tabsRect.top - 10 || event.clientY > tabsRect.bottom + 10) {
60434
+ this.dragOverIndex = -1;
60435
+ return;
60436
+ }
60437
+ const tabs = this.$el.querySelectorAll('.zd-tabs-tab');
60438
+ let targetIndex = this.instance.tabs.length;
60439
+ tabs.forEach((tabEl, index) => {
60440
+ const rect = tabEl.getBoundingClientRect();
60441
+ if (event.clientX < rect.left + rect.width / 2) {
60442
+ targetIndex = Math.min(targetIndex, index);
60443
+ }
60444
+ });
60445
+ this.dragOverIndex = targetIndex;
60446
+ event.stopPropagation();
60447
+ }
60448
+ handleDrop(event) {
60449
+ var _a;
60450
+ event.preventDefault();
60451
+ if (!this.isTabOK(event) || this.dragOverIndex === -1)
60452
+ return;
60453
+ event.stopPropagation();
60454
+ const sourceIndex = Number((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('application/x-zd-tab-index'));
60455
+ this.instance.moveTab(sourceIndex, this.dragOverIndex);
60456
+ this.$nextTick(() => {
60457
+ const tabs = this.$refs.tabs;
60458
+ tabs.callSlider();
60459
+ });
60460
+ this.isDragOver = false;
60461
+ this.dragOverIndex = -1;
60462
+ }
60463
+ handleDragEnter(event) {
60464
+ event.preventDefault();
60465
+ if (!this.isTabOK(event)) {
60466
+ this.isDragOver = false;
60467
+ this.dragOverIndex = -1;
60468
+ return;
60469
+ }
60470
+ this.isDragOver = true;
60471
+ }
60472
+ handleDragLeave(event) {
60473
+ if (this.$el && event.relatedTarget && this.$el.contains(event.relatedTarget))
60474
+ return;
60475
+ this.isDragOver = false;
60476
+ this.dragOverIndex = -1;
60477
+ }
60478
+ get activeTabName() {
60479
+ var _a;
60480
+ return (_a = this.instance.tabs[this.instance.activeTab]) === null || _a === void 0 ? void 0 : _a.name;
60481
+ }
60482
+ set activeTabName(name) {
60483
+ const index = this.instance.tabs.findIndex((tab) => tab.name === name);
60484
+ if (index !== -1)
60485
+ this.instance.activeTab = index;
60486
+ }
60405
60487
  };
60406
60488
  __decorate([
60407
60489
  PropWatch({ type: [Number, String], default: 0 }),
@@ -60427,6 +60509,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60427
60509
  PropWatch({ type: [Boolean, String], default: false }),
60428
60510
  __metadata("design:type", Boolean)
60429
60511
  ], ZdTabs.prototype, "touchless", void 0);
60512
+ __decorate([
60513
+ PropWatch({ type: [Boolean, String], default: false }),
60514
+ __metadata("design:type", Boolean)
60515
+ ], ZdTabs.prototype, "sortable", void 0);
60430
60516
  __decorate([
60431
60517
  vuePropertyDecorator.Prop({ type: Array, default: () => [] }),
60432
60518
  __metadata("design:type", Array)
@@ -60468,6 +60554,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60468
60554
  _vm.$styleObject(_vm.instance.cssStyle)
60469
60555
  ),
60470
60556
  attrs: { id: _vm.instance.name, name: _vm.instance.name },
60557
+ on: {
60558
+ dragenter: _vm.handleDragEnter,
60559
+ dragleave: _vm.handleDragLeave,
60560
+ dragover: _vm.handleDragOver,
60561
+ drop: _vm.handleDrop,
60562
+ },
60471
60563
  },
60472
60564
  [
60473
60565
  _c(
@@ -60485,21 +60577,25 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60485
60577
  },
60486
60578
  },
60487
60579
  model: {
60488
- value: _vm.instance.activeTab,
60580
+ value: _vm.activeTabName,
60489
60581
  callback: function ($$v) {
60490
- _vm.$set(_vm.instance, "activeTab", $$v);
60582
+ _vm.activeTabName = $$v;
60491
60583
  },
60492
- expression: "instance.activeTab",
60584
+ expression: "activeTabName",
60493
60585
  },
60494
60586
  },
60495
60587
  [
60496
60588
  _vm._l(_vm.instance.tabs, function (tab, index) {
60497
60589
  return [
60590
+ _vm.dragOverIndex === index
60591
+ ? _c("span", { staticClass: "zd-tabs-sortable-drop-indicator" })
60592
+ : _vm._e(),
60593
+ _vm._v(" "),
60498
60594
  _c(
60499
60595
  "zd-tab",
60500
60596
  _vm._b(
60501
60597
  {
60502
- key: index,
60598
+ key: tab.name,
60503
60599
  on: {
60504
60600
  click: function ($event) {
60505
60601
  return _vm.clickTab($event, index)
@@ -60515,12 +60611,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60515
60611
  disabled: tab.disabled,
60516
60612
  cssClass: tab.cssClass,
60517
60613
  cssStyle: tab.cssStyle,
60518
- tabName: tab.name,
60614
+ value: tab.name,
60519
60615
  index: index,
60520
60616
  isVisible: tab.isVisible,
60521
60617
  tabTitle: tab.tabTitle,
60522
60618
  dark: tab.dark,
60523
60619
  light: tab.light,
60620
+ parent: _vm.instance,
60524
60621
  },
60525
60622
  false
60526
60623
  )
@@ -60529,6 +60626,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60529
60626
  }),
60530
60627
  _vm._v(" "),
60531
60628
  _vm._t("tabs"),
60629
+ _vm._v(" "),
60630
+ _vm.dragOverIndex === _vm.instance.tabs.length
60631
+ ? _c("span", { staticClass: "zd-tabs-sortable-drop-indicator" })
60632
+ : _vm._e(),
60532
60633
  ],
60533
60634
  2
60534
60635
  ),
@@ -60542,11 +60643,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60542
60643
  touchless: _vm.instance.touchless,
60543
60644
  },
60544
60645
  model: {
60545
- value: _vm.instance.activeTab,
60646
+ value: _vm.activeTabName,
60546
60647
  callback: function ($$v) {
60547
- _vm.$set(_vm.instance, "activeTab", $$v);
60648
+ _vm.activeTabName = $$v;
60548
60649
  },
60549
- expression: "instance.activeTab",
60650
+ expression: "activeTabName",
60550
60651
  },
60551
60652
  },
60552
60653
  [
@@ -60560,14 +60661,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60560
60661
  {
60561
60662
  name: "show",
60562
60663
  rawName: "v-show",
60563
- value:
60564
- tab.isVisible && index === _vm.instance.activeTab,
60664
+ value: tab.isVisible && tab.name === _vm.activeTabName,
60565
60665
  expression:
60566
- "tab.isVisible && index === instance.activeTab",
60666
+ "tab.isVisible && tab.name === activeTabName",
60567
60667
  },
60568
60668
  ],
60569
- key: index,
60570
- attrs: { value: index, parent: tab },
60669
+ key: tab.name,
60670
+ attrs: { value: tab.name, parent: tab },
60571
60671
  },
60572
60672
  "zd-tab-item",
60573
60673
  {
@@ -60596,11 +60696,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60596
60696
  /* style */
60597
60697
  const __vue_inject_styles__$c = function (inject) {
60598
60698
  if (!inject) return
60599
- inject("data-v-0b3bcddc_0", { source: ".zd-tabs[data-v-0b3bcddc] {\n display: flex;\n flex-direction: column;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-bar,\n.zd-tabs[data-v-0b3bcddc] .v-tabs-items {\n background-color: transparent;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-bar {\n height: auto;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-bar .v-tabs-slider-wrapper {\n bottom: -1px;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-bar__content {\n border-bottom: solid 1px var(--v-grey-lighten4);\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs {\n margin-bottom: var(--spacing-4);\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs .v-slide-group__next,\n.zd-tabs[data-v-0b3bcddc] .v-tabs .v-slide-group__prev {\n flex-basis: 30px;\n min-width: 30px;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs .v-slide-group__next .v-icon,\n.zd-tabs[data-v-0b3bcddc] .v-tabs .v-slide-group__prev .v-icon {\n font-size: 18px;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs {\n flex-grow: 0;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-items {\n flex-grow: 1;\n overflow-y: auto;\n}\n.zd-tabs[data-v-0b3bcddc] .v-tabs-items .v-window__container {\n height: 100% !important;\n}", map: undefined, media: undefined });
60699
+ inject("data-v-4384d0b6_0", { source: ".zd-tabs[data-v-4384d0b6] {\n display: flex;\n flex-direction: column;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-bar,\n.zd-tabs[data-v-4384d0b6] .v-tabs-items {\n background-color: transparent;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-bar {\n height: auto;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-bar .v-tabs-slider-wrapper {\n bottom: -1px;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-bar__content {\n border-bottom: solid 1px var(--v-grey-lighten4);\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs {\n margin-bottom: var(--spacing-4);\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs .v-slide-group__next,\n.zd-tabs[data-v-4384d0b6] .v-tabs .v-slide-group__prev {\n flex-basis: 30px;\n min-width: 30px;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs .v-slide-group__next .v-icon,\n.zd-tabs[data-v-4384d0b6] .v-tabs .v-slide-group__prev .v-icon {\n font-size: 18px;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs {\n flex-grow: 0;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-items {\n flex-grow: 1;\n overflow-y: auto;\n}\n.zd-tabs[data-v-4384d0b6] .v-tabs-items .v-window__container {\n height: 100% !important;\n}\n.zd-tabs-sortable-drop-indicator[data-v-4384d0b6] {\n display: inline-block;\n position: relative;\n height: 100%;\n width: 0;\n z-index: 1;\n}\n.zd-tabs-sortable-drop-indicator[data-v-4384d0b6]::after {\n content: \"\";\n width: 3px;\n background-color: var(--v-primary-base);\n height: 100%;\n position: absolute;\n opacity: 0.75;\n}", map: undefined, media: undefined });
60600
60700
 
60601
60701
  };
60602
60702
  /* scoped */
60603
- const __vue_scope_id__$c = "data-v-0b3bcddc";
60703
+ const __vue_scope_id__$c = "data-v-4384d0b6";
60604
60704
  /* module identifier */
60605
60705
  const __vue_module_identifier__$c = undefined;
60606
60706
  /* functional template */
@@ -60628,12 +60728,40 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60628
60728
  * Tabs component
60629
60729
  */
60630
60730
  let ZdTab = class ZdTab extends ZdComponent$1 {
60731
+ constructor() {
60732
+ super(...arguments);
60733
+ this.isDragging = false;
60734
+ }
60631
60735
  clickTab(event) {
60632
60736
  this.$emit('click', event);
60633
60737
  }
60634
60738
  keydown(event) {
60635
60739
  this.$emit('keydown', event);
60636
60740
  }
60741
+ get sortable() {
60742
+ var _a;
60743
+ return (_a = this.instance.parent) === null || _a === void 0 ? void 0 : _a.sortable;
60744
+ }
60745
+ handleDragStart(event) {
60746
+ if (!this.sortable) {
60747
+ event.preventDefault();
60748
+ return;
60749
+ }
60750
+ if (event.dataTransfer) {
60751
+ event.dataTransfer.effectAllowed = 'move';
60752
+ // Compatibilidade Firefox
60753
+ event.dataTransfer.setData('text/plain', '');
60754
+ const tabsInstance = this.instance.parent;
60755
+ const sourceIndex = tabsInstance.tabs.findIndex((tab) => tab.name === this.value);
60756
+ event.dataTransfer.setData(`application/x-zd-tabs-owner-${tabsInstance.name.toLowerCase()}`, '');
60757
+ event.dataTransfer.setData('application/x-zd-tab-index', String(sourceIndex));
60758
+ }
60759
+ this.isDragging = true;
60760
+ event.stopPropagation();
60761
+ }
60762
+ handleDragEnd() {
60763
+ this.isDragging = false;
60764
+ }
60637
60765
  };
60638
60766
  __decorate([
60639
60767
  PropWatch({ type: Boolean, default: false }),
@@ -60646,11 +60774,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60646
60774
  __decorate([
60647
60775
  PropWatch({ type: String }),
60648
60776
  __metadata("design:type", String)
60649
- ], ZdTab.prototype, "tabTitle", void 0);
60777
+ ], ZdTab.prototype, "value", void 0);
60650
60778
  __decorate([
60651
60779
  PropWatch({ type: String }),
60652
60780
  __metadata("design:type", String)
60653
- ], ZdTab.prototype, "tabName", void 0);
60781
+ ], ZdTab.prototype, "tabTitle", void 0);
60654
60782
  ZdTab = __decorate([
60655
60783
  vuePropertyDecorator.Component
60656
60784
  ], ZdTab);
@@ -60675,15 +60803,23 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60675
60803
  expression: "isVisible",
60676
60804
  },
60677
60805
  ],
60678
- key: _vm.index,
60679
- class: ["zd-tabs-tab", _vm.cssClass],
60806
+ key: _vm.value,
60807
+ class: [
60808
+ "zd-tabs-tab",
60809
+ _vm.cssClass,
60810
+ {
60811
+ "zd-tabs-tab-sortable": _vm.sortable,
60812
+ },
60813
+ ],
60680
60814
  style: _vm.cssStyle,
60681
60815
  attrs: {
60682
60816
  id: _vm.instance.name,
60683
- name: _vm.tabName,
60817
+ name: _vm.instance.name,
60818
+ href: "#" + _vm.value,
60684
60819
  disabled: _vm.disabled,
60685
60820
  dark: _vm.dark,
60686
60821
  light: _vm.light,
60822
+ draggable: _vm.sortable,
60687
60823
  },
60688
60824
  on: {
60689
60825
  click: function ($event) {
@@ -60692,6 +60828,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60692
60828
  keydown: function ($event) {
60693
60829
  return _vm.keydown($event)
60694
60830
  },
60831
+ dragstart: _vm.handleDragStart,
60832
+ dragend: _vm.handleDragEnd,
60695
60833
  },
60696
60834
  },
60697
60835
  [
@@ -60707,11 +60845,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60707
60845
  /* style */
60708
60846
  const __vue_inject_styles__$b = function (inject) {
60709
60847
  if (!inject) return
60710
- inject("data-v-c2f8df1e_0", { source: ".zd-tabs-tab[data-v-c2f8df1e], .zd-tabs-tab[data-v-c2f8df1e]:before {\n border-radius: var(--border) var(--border) 0 0;\n}\n.zd-tabs-tab[data-v-c2f8df1e] {\n height: auto;\n min-width: calc(2 * var(--spacing-4));\n align-items: flex-end;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.zd-tabs-tab-text[data-v-c2f8df1e] {\n text-transform: none;\n font-size: var(--zd-font-body1-size);\n line-height: 15px;\n margin-bottom: 1px;\n}", map: undefined, media: undefined });
60848
+ inject("data-v-02f9811a_0", { source: "@charset \"UTF-8\";\n.zd-tabs-tab[data-v-02f9811a], .zd-tabs-tab[data-v-02f9811a]:before {\n border-radius: var(--border) var(--border) 0 0;\n}\n.zd-tabs-tab[data-v-02f9811a] {\n height: auto;\n min-width: calc(2 * var(--spacing-4));\n align-items: flex-end;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.zd-tabs-tab-text[data-v-02f9811a] {\n text-transform: none;\n font-size: var(--zd-font-body1-size);\n line-height: 15px;\n margin-bottom: 1px;\n}\n.zd-tabs-tab-sortable[data-v-02f9811a]::after {\n content: \"⋮\";\n position: absolute;\n left: 1px;\n width: 10px;\n cursor: grab;\n align-self: center;\n}", map: undefined, media: undefined });
60711
60849
 
60712
60850
  };
60713
60851
  /* scoped */
60714
- const __vue_scope_id__$b = "data-v-c2f8df1e";
60852
+ const __vue_scope_id__$b = "data-v-02f9811a";
60715
60853
  /* module identifier */
60716
60854
  const __vue_module_identifier__$b = undefined;
60717
60855
  /* functional template */
@@ -60741,9 +60879,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60741
60879
  let ZdTabItem = class ZdTabItem extends ZdComponentRender$1 {
60742
60880
  };
60743
60881
  __decorate([
60744
- PropWatch({ type: Number }),
60745
- __metadata("design:type", Number)
60746
- ], ZdTabItem.prototype, "index", void 0);
60882
+ PropWatch({ type: String }),
60883
+ __metadata("design:type", String)
60884
+ ], ZdTabItem.prototype, "value", void 0);
60747
60885
  __decorate([
60748
60886
  PropWatch({ type: Boolean }),
60749
60887
  __metadata("design:type", Boolean)
@@ -60772,12 +60910,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60772
60910
  expression: "isVisible",
60773
60911
  },
60774
60912
  ],
60775
- key: _vm.index,
60913
+ key: _vm.value,
60776
60914
  staticClass: "zd-tabs-tab-item",
60777
60915
  style: _vm.instance.cssStyle,
60778
60916
  attrs: {
60779
60917
  eager: !_vm.lazyLoad,
60780
- value: _vm.index,
60918
+ value: _vm.value,
60781
60919
  dark: _vm.dark,
60782
60920
  light: _vm.light,
60783
60921
  },
@@ -60813,11 +60951,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
60813
60951
  /* style */
60814
60952
  const __vue_inject_styles__$a = function (inject) {
60815
60953
  if (!inject) return
60816
- inject("data-v-30d72a92_0", { source: ".zd-tabs-tab-item[data-v-30d72a92] {\n transition: none;\n}\n.zd-tabs-tab-item > .container[data-v-30d72a92] {\n padding: 0;\n}\n.zd-tabs .zd-tabs-tab-item[data-v-30d72a92] {\n height: 100%;\n}\n.zd-tabs .zd-tabs-tab-item .container[data-v-30d72a92] {\n height: 100%;\n}", map: undefined, media: undefined });
60954
+ inject("data-v-c3819be0_0", { source: ".zd-tabs-tab-item[data-v-c3819be0] {\n transition: none;\n}\n.zd-tabs-tab-item > .container[data-v-c3819be0] {\n padding: 0;\n}\n.zd-tabs .zd-tabs-tab-item[data-v-c3819be0] {\n height: 100%;\n}\n.zd-tabs .zd-tabs-tab-item .container[data-v-c3819be0] {\n height: 100%;\n}", map: undefined, media: undefined });
60817
60955
 
60818
60956
  };
60819
60957
  /* scoped */
60820
- const __vue_scope_id__$a = "data-v-30d72a92";
60958
+ const __vue_scope_id__$a = "data-v-c3819be0";
60821
60959
  /* module identifier */
60822
60960
  const __vue_module_identifier__$a = undefined;
60823
60961
  /* functional template */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeedhi/vuetify",
3
- "version": "1.133.0",
3
+ "version": "1.134.0",
4
4
  "description": "Zeedhi Components based on Vuetify",
5
5
  "author": "Zeedhi <zeedhi@teknisa.com>",
6
6
  "license": "ISC",
@@ -51,5 +51,5 @@
51
51
  "@types/prismjs": "1.26.*",
52
52
  "@types/sortablejs": "1.15.*"
53
53
  },
54
- "gitHead": "5242cfba6da1d50e921400e93d0d2f60af44c4d4"
54
+ "gitHead": "d3d3ba379784ff47b13effeedb0bd79a1802a306"
55
55
  }
@@ -5,8 +5,12 @@ import ZdComponent from '../zd-component/ZdComponent';
5
5
  export default class ZdTab extends ZdComponent {
6
6
  disabled?: boolean;
7
7
  index?: number;
8
+ value?: string;
8
9
  tabTitle?: string;
9
- tabName?: string;
10
10
  clickTab(event: Event): void;
11
11
  keydown(event: Event): void;
12
+ isDragging: boolean;
13
+ get sortable(): boolean | undefined;
14
+ handleDragStart(event: DragEvent): void;
15
+ handleDragEnd(): void;
12
16
  }
@@ -3,6 +3,6 @@ import ZdComponentRender from '../zd-component/ZdComponentRender';
3
3
  * Tabs component
4
4
  */
5
5
  export default class ZdTabItem extends ZdComponentRender {
6
- index?: number;
6
+ value?: string;
7
7
  lazyLoad?: boolean;
8
8
  }
@@ -10,11 +10,22 @@ export default class ZdTabs extends ZdComponentRender {
10
10
  maxHeight?: number | string;
11
11
  fillHeight?: boolean | string;
12
12
  touchless?: boolean;
13
+ sortable?: boolean;
13
14
  tabs: ITab[];
14
15
  instance: Tabs;
15
16
  instanceType: typeof Tabs;
17
+ isDragOver: boolean;
18
+ dragOverIndex: number;
16
19
  change(event: Event): void;
17
20
  keydown(event: Event, index: number): void;
18
21
  clickTab(event: Event, index: number): void;
19
22
  mounted(): void;
23
+ isTabOK(event: DragEvent): boolean;
24
+ private getTabsBarRect;
25
+ handleDragOver(event: DragEvent): void;
26
+ handleDrop(event: DragEvent): void;
27
+ handleDragEnter(event: DragEvent): void;
28
+ handleDragLeave(event: DragEvent): void;
29
+ get activeTabName(): string;
30
+ set activeTabName(name: string);
20
31
  }