@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.
@@ -58451,7 +58451,16 @@ let ZdSelectTree = class ZdSelectTree extends ZdTextInput$1 {
58451
58451
  return defaultLabel;
58452
58452
  }
58453
58453
  set treeValue(value) {
58454
- this.instance.selectValue = this.instance.clearNodeRow(value);
58454
+ this.instance.selectValue = value ? this.instance.clearNodeRow(value) : null;
58455
+ this.instance.validate();
58456
+ if (!value) {
58457
+ this.$nextTick(() => {
58458
+ var _a, _b;
58459
+ const instanceRef = this.$refs.instance;
58460
+ (_a = instanceRef === null || instanceRef === void 0 ? void 0 : instanceRef.focusInput) === null || _a === void 0 ? void 0 : _a.call(instanceRef);
58461
+ (_b = instanceRef === null || instanceRef === void 0 ? void 0 : instanceRef.openMenu) === null || _b === void 0 ? void 0 : _b.call(instanceRef);
58462
+ });
58463
+ }
58455
58464
  }
58456
58465
  get treeValue() {
58457
58466
  if (!this.instance.selectValue)
@@ -60385,6 +60394,8 @@ let ZdTabs = class ZdTabs extends ZdComponentRender$1 {
60385
60394
  constructor() {
60386
60395
  super(...arguments);
60387
60396
  this.instanceType = Tabs;
60397
+ this.isDragOver = false;
60398
+ this.dragOverIndex = -1;
60388
60399
  }
60389
60400
  change(event) {
60390
60401
  this.instance.change(event, this.$el);
@@ -60403,6 +60414,77 @@ let ZdTabs = class ZdTabs extends ZdComponentRender$1 {
60403
60414
  });
60404
60415
  });
60405
60416
  }
60417
+ isTabOK(event) {
60418
+ var _a;
60419
+ return !!((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes(`application/x-zd-tabs-owner-${this.instance.name.toLowerCase()}`));
60420
+ }
60421
+ getTabsBarRect() {
60422
+ var _a;
60423
+ return (_a = this.$el.querySelector('.v-tabs')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
60424
+ }
60425
+ handleDragOver(event) {
60426
+ event.preventDefault();
60427
+ if (!this.isTabOK(event)) {
60428
+ this.dragOverIndex = -1;
60429
+ return;
60430
+ }
60431
+ const tabsRect = this.getTabsBarRect();
60432
+ if (!tabsRect)
60433
+ return;
60434
+ if (event.clientY < tabsRect.top - 10 || event.clientY > tabsRect.bottom + 10) {
60435
+ this.dragOverIndex = -1;
60436
+ return;
60437
+ }
60438
+ const tabs = this.$el.querySelectorAll('.zd-tabs-tab');
60439
+ let targetIndex = this.instance.tabs.length;
60440
+ tabs.forEach((tabEl, index) => {
60441
+ const rect = tabEl.getBoundingClientRect();
60442
+ if (event.clientX < rect.left + rect.width / 2) {
60443
+ targetIndex = Math.min(targetIndex, index);
60444
+ }
60445
+ });
60446
+ this.dragOverIndex = targetIndex;
60447
+ event.stopPropagation();
60448
+ }
60449
+ handleDrop(event) {
60450
+ var _a;
60451
+ event.preventDefault();
60452
+ if (!this.isTabOK(event) || this.dragOverIndex === -1)
60453
+ return;
60454
+ event.stopPropagation();
60455
+ const sourceIndex = Number((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('application/x-zd-tab-index'));
60456
+ this.instance.moveTab(sourceIndex, this.dragOverIndex);
60457
+ this.$nextTick(() => {
60458
+ const tabs = this.$refs.tabs;
60459
+ tabs.callSlider();
60460
+ });
60461
+ this.isDragOver = false;
60462
+ this.dragOverIndex = -1;
60463
+ }
60464
+ handleDragEnter(event) {
60465
+ event.preventDefault();
60466
+ if (!this.isTabOK(event)) {
60467
+ this.isDragOver = false;
60468
+ this.dragOverIndex = -1;
60469
+ return;
60470
+ }
60471
+ this.isDragOver = true;
60472
+ }
60473
+ handleDragLeave(event) {
60474
+ if (this.$el && event.relatedTarget && this.$el.contains(event.relatedTarget))
60475
+ return;
60476
+ this.isDragOver = false;
60477
+ this.dragOverIndex = -1;
60478
+ }
60479
+ get activeTabName() {
60480
+ var _a;
60481
+ return (_a = this.instance.tabs[this.instance.activeTab]) === null || _a === void 0 ? void 0 : _a.name;
60482
+ }
60483
+ set activeTabName(name) {
60484
+ const index = this.instance.tabs.findIndex((tab) => tab.name === name);
60485
+ if (index !== -1)
60486
+ this.instance.activeTab = index;
60487
+ }
60406
60488
  };
60407
60489
  __decorate([
60408
60490
  PropWatch({ type: [Number, String], default: 0 }),
@@ -60428,6 +60510,10 @@ __decorate([
60428
60510
  PropWatch({ type: [Boolean, String], default: false }),
60429
60511
  __metadata("design:type", Boolean)
60430
60512
  ], ZdTabs.prototype, "touchless", void 0);
60513
+ __decorate([
60514
+ PropWatch({ type: [Boolean, String], default: false }),
60515
+ __metadata("design:type", Boolean)
60516
+ ], ZdTabs.prototype, "sortable", void 0);
60431
60517
  __decorate([
60432
60518
  Prop({ type: Array, default: () => [] }),
60433
60519
  __metadata("design:type", Array)
@@ -60469,6 +60555,12 @@ var __vue_render__$c = function () {
60469
60555
  _vm.$styleObject(_vm.instance.cssStyle)
60470
60556
  ),
60471
60557
  attrs: { id: _vm.instance.name, name: _vm.instance.name },
60558
+ on: {
60559
+ dragenter: _vm.handleDragEnter,
60560
+ dragleave: _vm.handleDragLeave,
60561
+ dragover: _vm.handleDragOver,
60562
+ drop: _vm.handleDrop,
60563
+ },
60472
60564
  },
60473
60565
  [
60474
60566
  _c(
@@ -60486,21 +60578,25 @@ var __vue_render__$c = function () {
60486
60578
  },
60487
60579
  },
60488
60580
  model: {
60489
- value: _vm.instance.activeTab,
60581
+ value: _vm.activeTabName,
60490
60582
  callback: function ($$v) {
60491
- _vm.$set(_vm.instance, "activeTab", $$v);
60583
+ _vm.activeTabName = $$v;
60492
60584
  },
60493
- expression: "instance.activeTab",
60585
+ expression: "activeTabName",
60494
60586
  },
60495
60587
  },
60496
60588
  [
60497
60589
  _vm._l(_vm.instance.tabs, function (tab, index) {
60498
60590
  return [
60591
+ _vm.dragOverIndex === index
60592
+ ? _c("span", { staticClass: "zd-tabs-sortable-drop-indicator" })
60593
+ : _vm._e(),
60594
+ _vm._v(" "),
60499
60595
  _c(
60500
60596
  "zd-tab",
60501
60597
  _vm._b(
60502
60598
  {
60503
- key: index,
60599
+ key: tab.name,
60504
60600
  on: {
60505
60601
  click: function ($event) {
60506
60602
  return _vm.clickTab($event, index)
@@ -60516,12 +60612,13 @@ var __vue_render__$c = function () {
60516
60612
  disabled: tab.disabled,
60517
60613
  cssClass: tab.cssClass,
60518
60614
  cssStyle: tab.cssStyle,
60519
- tabName: tab.name,
60615
+ value: tab.name,
60520
60616
  index: index,
60521
60617
  isVisible: tab.isVisible,
60522
60618
  tabTitle: tab.tabTitle,
60523
60619
  dark: tab.dark,
60524
60620
  light: tab.light,
60621
+ parent: _vm.instance,
60525
60622
  },
60526
60623
  false
60527
60624
  )
@@ -60530,6 +60627,10 @@ var __vue_render__$c = function () {
60530
60627
  }),
60531
60628
  _vm._v(" "),
60532
60629
  _vm._t("tabs"),
60630
+ _vm._v(" "),
60631
+ _vm.dragOverIndex === _vm.instance.tabs.length
60632
+ ? _c("span", { staticClass: "zd-tabs-sortable-drop-indicator" })
60633
+ : _vm._e(),
60533
60634
  ],
60534
60635
  2
60535
60636
  ),
@@ -60543,11 +60644,11 @@ var __vue_render__$c = function () {
60543
60644
  touchless: _vm.instance.touchless,
60544
60645
  },
60545
60646
  model: {
60546
- value: _vm.instance.activeTab,
60647
+ value: _vm.activeTabName,
60547
60648
  callback: function ($$v) {
60548
- _vm.$set(_vm.instance, "activeTab", $$v);
60649
+ _vm.activeTabName = $$v;
60549
60650
  },
60550
- expression: "instance.activeTab",
60651
+ expression: "activeTabName",
60551
60652
  },
60552
60653
  },
60553
60654
  [
@@ -60561,14 +60662,13 @@ var __vue_render__$c = function () {
60561
60662
  {
60562
60663
  name: "show",
60563
60664
  rawName: "v-show",
60564
- value:
60565
- tab.isVisible && index === _vm.instance.activeTab,
60665
+ value: tab.isVisible && tab.name === _vm.activeTabName,
60566
60666
  expression:
60567
- "tab.isVisible && index === instance.activeTab",
60667
+ "tab.isVisible && tab.name === activeTabName",
60568
60668
  },
60569
60669
  ],
60570
- key: index,
60571
- attrs: { value: index, parent: tab },
60670
+ key: tab.name,
60671
+ attrs: { value: tab.name, parent: tab },
60572
60672
  },
60573
60673
  "zd-tab-item",
60574
60674
  {
@@ -60597,11 +60697,11 @@ __vue_render__$c._withStripped = true;
60597
60697
  /* style */
60598
60698
  const __vue_inject_styles__$c = function (inject) {
60599
60699
  if (!inject) return
60600
- 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 });
60700
+ 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 });
60601
60701
 
60602
60702
  };
60603
60703
  /* scoped */
60604
- const __vue_scope_id__$c = "data-v-0b3bcddc";
60704
+ const __vue_scope_id__$c = "data-v-4384d0b6";
60605
60705
  /* module identifier */
60606
60706
  const __vue_module_identifier__$c = undefined;
60607
60707
  /* functional template */
@@ -60629,12 +60729,40 @@ __vue_render__$c._withStripped = true;
60629
60729
  * Tabs component
60630
60730
  */
60631
60731
  let ZdTab = class ZdTab extends ZdComponent$1 {
60732
+ constructor() {
60733
+ super(...arguments);
60734
+ this.isDragging = false;
60735
+ }
60632
60736
  clickTab(event) {
60633
60737
  this.$emit('click', event);
60634
60738
  }
60635
60739
  keydown(event) {
60636
60740
  this.$emit('keydown', event);
60637
60741
  }
60742
+ get sortable() {
60743
+ var _a;
60744
+ return (_a = this.instance.parent) === null || _a === void 0 ? void 0 : _a.sortable;
60745
+ }
60746
+ handleDragStart(event) {
60747
+ if (!this.sortable) {
60748
+ event.preventDefault();
60749
+ return;
60750
+ }
60751
+ if (event.dataTransfer) {
60752
+ event.dataTransfer.effectAllowed = 'move';
60753
+ // Compatibilidade Firefox
60754
+ event.dataTransfer.setData('text/plain', '');
60755
+ const tabsInstance = this.instance.parent;
60756
+ const sourceIndex = tabsInstance.tabs.findIndex((tab) => tab.name === this.value);
60757
+ event.dataTransfer.setData(`application/x-zd-tabs-owner-${tabsInstance.name.toLowerCase()}`, '');
60758
+ event.dataTransfer.setData('application/x-zd-tab-index', String(sourceIndex));
60759
+ }
60760
+ this.isDragging = true;
60761
+ event.stopPropagation();
60762
+ }
60763
+ handleDragEnd() {
60764
+ this.isDragging = false;
60765
+ }
60638
60766
  };
60639
60767
  __decorate([
60640
60768
  PropWatch({ type: Boolean, default: false }),
@@ -60647,11 +60775,11 @@ __decorate([
60647
60775
  __decorate([
60648
60776
  PropWatch({ type: String }),
60649
60777
  __metadata("design:type", String)
60650
- ], ZdTab.prototype, "tabTitle", void 0);
60778
+ ], ZdTab.prototype, "value", void 0);
60651
60779
  __decorate([
60652
60780
  PropWatch({ type: String }),
60653
60781
  __metadata("design:type", String)
60654
- ], ZdTab.prototype, "tabName", void 0);
60782
+ ], ZdTab.prototype, "tabTitle", void 0);
60655
60783
  ZdTab = __decorate([
60656
60784
  Component$1
60657
60785
  ], ZdTab);
@@ -60676,15 +60804,23 @@ var __vue_render__$b = function () {
60676
60804
  expression: "isVisible",
60677
60805
  },
60678
60806
  ],
60679
- key: _vm.index,
60680
- class: ["zd-tabs-tab", _vm.cssClass],
60807
+ key: _vm.value,
60808
+ class: [
60809
+ "zd-tabs-tab",
60810
+ _vm.cssClass,
60811
+ {
60812
+ "zd-tabs-tab-sortable": _vm.sortable,
60813
+ },
60814
+ ],
60681
60815
  style: _vm.cssStyle,
60682
60816
  attrs: {
60683
60817
  id: _vm.instance.name,
60684
- name: _vm.tabName,
60818
+ name: _vm.instance.name,
60819
+ href: "#" + _vm.value,
60685
60820
  disabled: _vm.disabled,
60686
60821
  dark: _vm.dark,
60687
60822
  light: _vm.light,
60823
+ draggable: _vm.sortable,
60688
60824
  },
60689
60825
  on: {
60690
60826
  click: function ($event) {
@@ -60693,6 +60829,8 @@ var __vue_render__$b = function () {
60693
60829
  keydown: function ($event) {
60694
60830
  return _vm.keydown($event)
60695
60831
  },
60832
+ dragstart: _vm.handleDragStart,
60833
+ dragend: _vm.handleDragEnd,
60696
60834
  },
60697
60835
  },
60698
60836
  [
@@ -60708,11 +60846,11 @@ __vue_render__$b._withStripped = true;
60708
60846
  /* style */
60709
60847
  const __vue_inject_styles__$b = function (inject) {
60710
60848
  if (!inject) return
60711
- 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 });
60849
+ 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 });
60712
60850
 
60713
60851
  };
60714
60852
  /* scoped */
60715
- const __vue_scope_id__$b = "data-v-c2f8df1e";
60853
+ const __vue_scope_id__$b = "data-v-02f9811a";
60716
60854
  /* module identifier */
60717
60855
  const __vue_module_identifier__$b = undefined;
60718
60856
  /* functional template */
@@ -60742,9 +60880,9 @@ __vue_render__$b._withStripped = true;
60742
60880
  let ZdTabItem = class ZdTabItem extends ZdComponentRender$1 {
60743
60881
  };
60744
60882
  __decorate([
60745
- PropWatch({ type: Number }),
60746
- __metadata("design:type", Number)
60747
- ], ZdTabItem.prototype, "index", void 0);
60883
+ PropWatch({ type: String }),
60884
+ __metadata("design:type", String)
60885
+ ], ZdTabItem.prototype, "value", void 0);
60748
60886
  __decorate([
60749
60887
  PropWatch({ type: Boolean }),
60750
60888
  __metadata("design:type", Boolean)
@@ -60773,12 +60911,12 @@ var __vue_render__$a = function () {
60773
60911
  expression: "isVisible",
60774
60912
  },
60775
60913
  ],
60776
- key: _vm.index,
60914
+ key: _vm.value,
60777
60915
  staticClass: "zd-tabs-tab-item",
60778
60916
  style: _vm.instance.cssStyle,
60779
60917
  attrs: {
60780
60918
  eager: !_vm.lazyLoad,
60781
- value: _vm.index,
60919
+ value: _vm.value,
60782
60920
  dark: _vm.dark,
60783
60921
  light: _vm.light,
60784
60922
  },
@@ -60814,11 +60952,11 @@ __vue_render__$a._withStripped = true;
60814
60952
  /* style */
60815
60953
  const __vue_inject_styles__$a = function (inject) {
60816
60954
  if (!inject) return
60817
- 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 });
60955
+ 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 });
60818
60956
 
60819
60957
  };
60820
60958
  /* scoped */
60821
- const __vue_scope_id__$a = "data-v-30d72a92";
60959
+ const __vue_scope_id__$a = "data-v-c3819be0";
60822
60960
  /* module identifier */
60823
60961
  const __vue_module_identifier__$a = undefined;
60824
60962
  /* functional template */