@zeedhi/vuetify 1.100.2 → 1.101.1

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.
@@ -39461,13 +39461,33 @@ let ZdCarousel = class ZdCarousel extends ZdComponentRender$1 {
39461
39461
  if (this.instance.fillHeight) {
39462
39462
  setFillHeight(this.$el);
39463
39463
  }
39464
+ this.setViewUpdate();
39465
+ this.addResizeObserver();
39466
+ }
39467
+ destroyed() {
39468
+ this.removeObserver();
39469
+ }
39470
+ /**
39471
+ * addResizeObserver
39472
+ */
39473
+ addResizeObserver() {
39474
+ this.resizeObserver = new ResizeObserver(() => {
39475
+ this.carousel.update();
39476
+ });
39477
+ this.resizeObserver.observe(this.carousel.$el);
39478
+ }
39479
+ /**
39480
+ * removeObserver
39481
+ */
39482
+ removeObserver() {
39483
+ this.resizeObserver.disconnect();
39484
+ }
39485
+ setViewUpdate() {
39486
+ this.instance.setViewUpdate(this.carousel.update);
39464
39487
  }
39465
39488
  get paginationMode() {
39466
39489
  return this.instance.fractionPagination ? 'fraction' : undefined;
39467
39490
  }
39468
- forceRerender() {
39469
- this.hooperKey += 1;
39470
- }
39471
39491
  beforeSlide(slideData) {
39472
39492
  this.instance.beforeSlide(this.$el, slideData, this.lastEvent);
39473
39493
  this.$emit('beforeSlide', this.lastEvent);
@@ -39489,16 +39509,6 @@ let ZdCarousel = class ZdCarousel extends ZdComponentRender$1 {
39489
39509
  this.carousel.slideTo(newVal);
39490
39510
  }
39491
39511
  }
39492
- /**
39493
- * If children changes, rerender hooper carousel
39494
- * @param _newVal new children object value
39495
- * @param oldVal old children object value
39496
- */
39497
- update(_newVal, oldVal) {
39498
- if (oldVal) {
39499
- this.forceRerender();
39500
- }
39501
- }
39502
39512
  /**
39503
39513
  * If carousel becomes visible, restart hooper slides
39504
39514
  * @param newVal new children object value
@@ -39659,12 +39669,6 @@ __decorate([
39659
39669
  __metadata("design:paramtypes", [Number]),
39660
39670
  __metadata("design:returntype", void 0)
39661
39671
  ], ZdCarousel.prototype, "changeCurrentSlide", null);
39662
- __decorate([
39663
- Watch('instance.children', { deep: true }),
39664
- __metadata("design:type", Function),
39665
- __metadata("design:paramtypes", [Array, Array]),
39666
- __metadata("design:returntype", void 0)
39667
- ], ZdCarousel.prototype, "update", null);
39668
39672
  __decorate([
39669
39673
  Watch('instance.isVisible'),
39670
39674
  __metadata("design:type", Function),
@@ -39731,7 +39735,6 @@ var __vue_render__$1u = function () {
39731
39735
  _c(
39732
39736
  "hooper",
39733
39737
  {
39734
- key: _vm.hooperKey,
39735
39738
  ref: "carousel",
39736
39739
  style: {
39737
39740
  height: "100%",
@@ -39813,7 +39816,7 @@ var __vue_render__$1u = function () {
39813
39816
  _c(
39814
39817
  item.component,
39815
39818
  _vm._b(
39816
- { tag: "component" },
39819
+ { key: item.name, tag: "component" },
39817
39820
  "component",
39818
39821
  item,
39819
39822
  false
@@ -39996,7 +39999,7 @@ __vue_render__$1u._withStripped = true;
39996
39999
  /* style */
39997
40000
  const __vue_inject_styles__$1u = function (inject) {
39998
40001
  if (!inject) return
39999
- inject("data-v-6fdfda82_0", { source: ".zd-carousel {\n height: 100%;\n}\n.zd-carousel section.hooper {\n outline: none;\n}\n.zd-carousel section.hooper * {\n outline: none;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide {\n align-self: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide > .row {\n height: 100%;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination {\n padding: 0;\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators {\n margin: 0 auto;\n display: block;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li {\n display: inline-block;\n margin: 0 var(--spacing-2);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li .hooper-indicator {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.show-background {\n background: rgba(0, 0, 0, 0.3);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator {\n opacity: 0.25;\n background-color: black;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator.is-active {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator:hover:not(.is-active) {\n opacity: 0.4;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark {\n color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator {\n opacity: 0.5;\n background-color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator.is-active {\n opacity: 0.8;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator:hover:not(.is-active) {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-prev {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-next {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list .prev-button, .zd-carousel section.hooper .hooper-list .next-button {\n transition: 0.1s;\n}\n.zd-carousel section.hooper .hooper-list ul.hooper-track, .zd-carousel section.hooper .hooper-list ol.hooper-indicators {\n padding-left: 0;\n}\n.zd-carousel section.hooper .hooper-list .hooper-progress-inner {\n background-color: var(--v-primary-base);\n}\n.zd-carousel.buttons-outside section.hooper {\n width: calc(100% - 2 * var(--spacing-8));\n margin-left: var(--spacing-8);\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-prev {\n left: calc(-1 * var(--spacing-8));\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-next {\n right: calc(-1 * var(--spacing-8));\n}", map: undefined, media: undefined });
40002
+ inject("data-v-302f5b51_0", { source: ".zd-carousel {\n height: 100%;\n}\n.zd-carousel section.hooper {\n outline: none;\n}\n.zd-carousel section.hooper * {\n outline: none;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide {\n align-self: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide > .row {\n height: 100%;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination {\n padding: 0;\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators {\n margin: 0 auto;\n display: block;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li {\n display: inline-block;\n margin: 0 var(--spacing-2);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li .hooper-indicator {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.show-background {\n background: rgba(0, 0, 0, 0.3);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator {\n opacity: 0.25;\n background-color: black;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator.is-active {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator:hover:not(.is-active) {\n opacity: 0.4;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark {\n color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator {\n opacity: 0.5;\n background-color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator.is-active {\n opacity: 0.8;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator:hover:not(.is-active) {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-prev {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-next {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list .prev-button, .zd-carousel section.hooper .hooper-list .next-button {\n transition: 0.1s;\n}\n.zd-carousel section.hooper .hooper-list ul.hooper-track, .zd-carousel section.hooper .hooper-list ol.hooper-indicators {\n padding-left: 0;\n}\n.zd-carousel section.hooper .hooper-list .hooper-progress-inner {\n background-color: var(--v-primary-base);\n}\n.zd-carousel.buttons-outside section.hooper {\n width: calc(100% - 2 * var(--spacing-8));\n margin-left: var(--spacing-8);\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-prev {\n left: calc(-1 * var(--spacing-8));\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-next {\n right: calc(-1 * var(--spacing-8));\n}", map: undefined, media: undefined });
40000
40003
 
40001
40004
  };
40002
40005
  /* scoped */
@@ -46042,6 +46045,36 @@ let ZdGrid = class ZdGrid extends ZdIterable$1 {
46042
46045
  if (this.instance.fillHeight) {
46043
46046
  setFillHeight(this.$el);
46044
46047
  }
46048
+ this.registerTrObserver();
46049
+ }
46050
+ /**
46051
+ * Register a mutation observer for the table TR
46052
+ * this observer should call updateFixedColumns whenever the
46053
+ * number of columns inside the table changes \
46054
+ * This also takes into account columns that gets hidden via isVisible
46055
+ */
46056
+ registerTrObserver() {
46057
+ const table = this.$el.querySelector('table');
46058
+ if (!table)
46059
+ return;
46060
+ const targetRow = table.querySelector('tr');
46061
+ if (!targetRow)
46062
+ return;
46063
+ this.observer = new MutationObserver((mutations) => {
46064
+ mutations.forEach((mutation) => {
46065
+ if (mutation.type === 'childList'
46066
+ && mutation.target instanceof Element
46067
+ && mutation.target.tagName === 'TR') {
46068
+ this.updateFixedColumns();
46069
+ }
46070
+ });
46071
+ });
46072
+ this.observer.observe(targetRow, {
46073
+ childList: true,
46074
+ });
46075
+ }
46076
+ beforeDestroy() {
46077
+ this.observer.disconnect();
46045
46078
  }
46046
46079
  setViewGetWidth() {
46047
46080
  this.instance.columns.forEach((column) => {
@@ -47409,6 +47442,10 @@ __decorate([
47409
47442
  PropWatch({ type: [Boolean, String], default: false }),
47410
47443
  __metadata("design:type", Object)
47411
47444
  ], ZdGridEditable.prototype, "singleEdit", void 0);
47445
+ __decorate([
47446
+ PropWatch({ type: [Boolean, String], default: false }),
47447
+ __metadata("design:type", Object)
47448
+ ], ZdGridEditable.prototype, "showCancelColumn", void 0);
47412
47449
  ZdGridEditable = __decorate([
47413
47450
  Component$2({
47414
47451
  mixins: [EditableMixin$1, NavigableTableMixin$1],
@@ -48997,7 +49034,7 @@ __vue_render__$12._withStripped = true;
48997
49034
  /* style */
48998
49035
  const __vue_inject_styles__$12 = function (inject) {
48999
49036
  if (!inject) return
49000
- inject("data-v-eec1bcda_0", { source: "\n.zd-grid-action {\n height: 100%;\n display: flex;\n}\n", map: undefined, media: undefined });
49037
+ inject("data-v-05e1c745_0", { source: "\n.zd-grid-action {\n height: 100%;\n display: flex;\n align-items: center;\n}\n", map: undefined, media: undefined });
49001
49038
 
49002
49039
  };
49003
49040
  /* scoped */
@@ -54375,6 +54412,7 @@ let ZdMenu = class ZdMenu extends ZdComponentRender$1 {
54375
54412
  showHelper: false,
54376
54413
  showLabel: false,
54377
54414
  placeholder: 'SEARCH',
54415
+ autofill: false,
54378
54416
  appendIcon: 'magnify',
54379
54417
  events: {
54380
54418
  input: debounce$1(this.doSearch, 500),
@@ -55338,7 +55376,40 @@ let ZdModal = class ZdModal extends ZdComponent$1 {
55338
55376
  const el = (Array.isArray(ref) ? ref[0].$el : ref === null || ref === void 0 ? void 0 : ref.$el);
55339
55377
  return el || null;
55340
55378
  }
55379
+ /**
55380
+ * Register all modal event listeners
55381
+ */
55382
+ registerEvents(modal) {
55383
+ this.registerTransitionEvents(modal);
55384
+ this.registerDragEvents(modal);
55385
+ }
55386
+ registerTransitionEvents(modal) {
55387
+ const el = this.getModalEl(modal);
55388
+ if (!el || !el.parentElement)
55389
+ return;
55390
+ el.parentElement.addEventListener('transitionstart', (event) => {
55391
+ // prevent triggering when the event is being propagated from a child element
55392
+ if (event.target !== el.parentElement)
55393
+ return;
55394
+ modal.transitionStart(event);
55395
+ });
55396
+ el.parentElement.addEventListener('transitionend', (event) => {
55397
+ // prevent triggering when the event is being propagated from a child element
55398
+ if (event.target !== el.parentElement)
55399
+ return;
55400
+ modal.transitionEnd(event);
55401
+ });
55402
+ }
55403
+ /**
55404
+ * Unregister all modal event listeners
55405
+ */
55406
+ unregisterEvents(modal) {
55407
+ this.unregisterDragEvents(modal);
55408
+ this.unregisterTransitionEvents(modal);
55409
+ }
55341
55410
  registerDragEvents(modal) {
55411
+ if (!modal.draggable)
55412
+ return;
55342
55413
  const el = this.getModalEl(modal);
55343
55414
  if (!el)
55344
55415
  return;
@@ -55353,6 +55424,13 @@ let ZdModal = class ZdModal extends ZdComponent$1 {
55353
55424
  this.dragHandle.addEventListener('mousedown', this.dragStart.bind(this, modal));
55354
55425
  this.dragHandle.addEventListener('touchstart', this.dragStart.bind(this, modal), { passive: false });
55355
55426
  }
55427
+ unregisterTransitionEvents(modal) {
55428
+ const el = this.getModalEl(modal);
55429
+ if (!el || !el.parentElement)
55430
+ return;
55431
+ el.parentElement.removeEventListener('transitionstart', modal.transitionStart);
55432
+ el.parentElement.removeEventListener('transitionend', modal.transitionEnd);
55433
+ }
55356
55434
  unregisterDragEvents(modal) {
55357
55435
  if (!this.dragHandle)
55358
55436
  return;
@@ -55530,10 +55608,10 @@ var __vue_render__$u = function () {
55530
55608
  style: modal.cssStyle,
55531
55609
  on: {
55532
55610
  "hook:mounted": function ($event) {
55533
- modal.draggable && _vm.registerDragEvents(modal);
55611
+ return _vm.registerEvents(modal)
55534
55612
  },
55535
55613
  "hook:destroyed": function ($event) {
55536
- return _vm.unregisterDragEvents(modal)
55614
+ return _vm.unregisterEvents(modal)
55537
55615
  },
55538
55616
  },
55539
55617
  },
@@ -55597,7 +55675,7 @@ __vue_render__$u._withStripped = true;
55597
55675
  /* style */
55598
55676
  const __vue_inject_styles__$u = function (inject) {
55599
55677
  if (!inject) return
55600
- inject("data-v-12867ee3_0", { source: ".zd-modal-title {\n padding-bottom: 0px;\n}\n.zd-modal-container {\n padding: 0;\n cursor: default;\n}\n.zd-modal-flex {\n width: 100%;\n}\n.zd-modal-draggable {\n position: relative;\n}\n.zd-modal-draggable-handle {\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n.zd-modal-draggable-handle:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-title {\n padding: var(--zd-default-padding);\n padding-bottom: 0px;\n font-size: var(--zd-font-title-size);\n font-weight: var(--zd-font-title-weight);\n color: var(--zd-font-color);\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-card-text {\n padding: var(--zd-default-padding);\n display: flex;\n flex: 1 1 auto;\n}", map: undefined, media: undefined });
55678
+ inject("data-v-3de0e7d7_0", { source: ".zd-modal-title {\n padding-bottom: 0px;\n}\n.zd-modal-container {\n padding: 0;\n cursor: default;\n}\n.zd-modal-flex {\n width: 100%;\n}\n.zd-modal-draggable {\n position: relative;\n}\n.zd-modal-draggable-handle {\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n.zd-modal-draggable-handle:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-title {\n padding: var(--zd-default-padding);\n padding-bottom: 0px;\n font-size: var(--zd-font-title-size);\n font-weight: var(--zd-font-title-weight);\n color: var(--zd-font-color);\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-card-text {\n padding: var(--zd-default-padding);\n display: flex;\n flex: 1 1 auto;\n}", map: undefined, media: undefined });
55601
55679
 
55602
55680
  };
55603
55681
  /* scoped */
@@ -39460,13 +39460,33 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39460
39460
  if (this.instance.fillHeight) {
39461
39461
  setFillHeight(this.$el);
39462
39462
  }
39463
+ this.setViewUpdate();
39464
+ this.addResizeObserver();
39465
+ }
39466
+ destroyed() {
39467
+ this.removeObserver();
39468
+ }
39469
+ /**
39470
+ * addResizeObserver
39471
+ */
39472
+ addResizeObserver() {
39473
+ this.resizeObserver = new ResizeObserver(() => {
39474
+ this.carousel.update();
39475
+ });
39476
+ this.resizeObserver.observe(this.carousel.$el);
39477
+ }
39478
+ /**
39479
+ * removeObserver
39480
+ */
39481
+ removeObserver() {
39482
+ this.resizeObserver.disconnect();
39483
+ }
39484
+ setViewUpdate() {
39485
+ this.instance.setViewUpdate(this.carousel.update);
39463
39486
  }
39464
39487
  get paginationMode() {
39465
39488
  return this.instance.fractionPagination ? 'fraction' : undefined;
39466
39489
  }
39467
- forceRerender() {
39468
- this.hooperKey += 1;
39469
- }
39470
39490
  beforeSlide(slideData) {
39471
39491
  this.instance.beforeSlide(this.$el, slideData, this.lastEvent);
39472
39492
  this.$emit('beforeSlide', this.lastEvent);
@@ -39488,16 +39508,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39488
39508
  this.carousel.slideTo(newVal);
39489
39509
  }
39490
39510
  }
39491
- /**
39492
- * If children changes, rerender hooper carousel
39493
- * @param _newVal new children object value
39494
- * @param oldVal old children object value
39495
- */
39496
- update(_newVal, oldVal) {
39497
- if (oldVal) {
39498
- this.forceRerender();
39499
- }
39500
- }
39501
39511
  /**
39502
39512
  * If carousel becomes visible, restart hooper slides
39503
39513
  * @param newVal new children object value
@@ -39658,12 +39668,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39658
39668
  __metadata("design:paramtypes", [Number]),
39659
39669
  __metadata("design:returntype", void 0)
39660
39670
  ], ZdCarousel.prototype, "changeCurrentSlide", null);
39661
- __decorate([
39662
- vuePropertyDecorator.Watch('instance.children', { deep: true }),
39663
- __metadata("design:type", Function),
39664
- __metadata("design:paramtypes", [Array, Array]),
39665
- __metadata("design:returntype", void 0)
39666
- ], ZdCarousel.prototype, "update", null);
39667
39671
  __decorate([
39668
39672
  vuePropertyDecorator.Watch('instance.isVisible'),
39669
39673
  __metadata("design:type", Function),
@@ -39730,7 +39734,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39730
39734
  _c(
39731
39735
  "hooper",
39732
39736
  {
39733
- key: _vm.hooperKey,
39734
39737
  ref: "carousel",
39735
39738
  style: {
39736
39739
  height: "100%",
@@ -39812,7 +39815,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39812
39815
  _c(
39813
39816
  item.component,
39814
39817
  _vm._b(
39815
- { tag: "component" },
39818
+ { key: item.name, tag: "component" },
39816
39819
  "component",
39817
39820
  item,
39818
39821
  false
@@ -39995,7 +39998,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
39995
39998
  /* style */
39996
39999
  const __vue_inject_styles__$1u = function (inject) {
39997
40000
  if (!inject) return
39998
- inject("data-v-6fdfda82_0", { source: ".zd-carousel {\n height: 100%;\n}\n.zd-carousel section.hooper {\n outline: none;\n}\n.zd-carousel section.hooper * {\n outline: none;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide {\n align-self: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide > .row {\n height: 100%;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination {\n padding: 0;\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators {\n margin: 0 auto;\n display: block;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li {\n display: inline-block;\n margin: 0 var(--spacing-2);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li .hooper-indicator {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.show-background {\n background: rgba(0, 0, 0, 0.3);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator {\n opacity: 0.25;\n background-color: black;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator.is-active {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator:hover:not(.is-active) {\n opacity: 0.4;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark {\n color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator {\n opacity: 0.5;\n background-color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator.is-active {\n opacity: 0.8;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator:hover:not(.is-active) {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-prev {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-next {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list .prev-button, .zd-carousel section.hooper .hooper-list .next-button {\n transition: 0.1s;\n}\n.zd-carousel section.hooper .hooper-list ul.hooper-track, .zd-carousel section.hooper .hooper-list ol.hooper-indicators {\n padding-left: 0;\n}\n.zd-carousel section.hooper .hooper-list .hooper-progress-inner {\n background-color: var(--v-primary-base);\n}\n.zd-carousel.buttons-outside section.hooper {\n width: calc(100% - 2 * var(--spacing-8));\n margin-left: var(--spacing-8);\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-prev {\n left: calc(-1 * var(--spacing-8));\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-next {\n right: calc(-1 * var(--spacing-8));\n}", map: undefined, media: undefined });
40001
+ inject("data-v-302f5b51_0", { source: ".zd-carousel {\n height: 100%;\n}\n.zd-carousel section.hooper {\n outline: none;\n}\n.zd-carousel section.hooper * {\n outline: none;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide {\n align-self: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-slide > .row {\n height: 100%;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination {\n padding: 0;\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators {\n margin: 0 auto;\n display: block;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li {\n display: inline-block;\n margin: 0 var(--spacing-2);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination .hooper-indicators li .hooper-indicator {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.show-background {\n background: rgba(0, 0, 0, 0.3);\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator {\n opacity: 0.25;\n background-color: black;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator.is-active {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--light .hooper-indicator:hover:not(.is-active) {\n opacity: 0.4;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark {\n color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator {\n opacity: 0.5;\n background-color: white;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator.is-active {\n opacity: 0.8;\n}\n.zd-carousel section.hooper .hooper-list .hooper-pagination.theme--dark .hooper-indicator:hover:not(.is-active) {\n opacity: 0.6;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-prev {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list button.hooper-next {\n padding: 0;\n}\n.zd-carousel section.hooper .hooper-list .prev-button, .zd-carousel section.hooper .hooper-list .next-button {\n transition: 0.1s;\n}\n.zd-carousel section.hooper .hooper-list ul.hooper-track, .zd-carousel section.hooper .hooper-list ol.hooper-indicators {\n padding-left: 0;\n}\n.zd-carousel section.hooper .hooper-list .hooper-progress-inner {\n background-color: var(--v-primary-base);\n}\n.zd-carousel.buttons-outside section.hooper {\n width: calc(100% - 2 * var(--spacing-8));\n margin-left: var(--spacing-8);\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-prev {\n left: calc(-1 * var(--spacing-8));\n}\n.zd-carousel.buttons-outside section.hooper .hooper-list .hooper-navigation button.hooper-next {\n right: calc(-1 * var(--spacing-8));\n}", map: undefined, media: undefined });
39999
40002
 
40000
40003
  };
40001
40004
  /* scoped */
@@ -46041,6 +46044,36 @@ If you're seeing "$attrs is readonly", it's caused by this`);
46041
46044
  if (this.instance.fillHeight) {
46042
46045
  setFillHeight(this.$el);
46043
46046
  }
46047
+ this.registerTrObserver();
46048
+ }
46049
+ /**
46050
+ * Register a mutation observer for the table TR
46051
+ * this observer should call updateFixedColumns whenever the
46052
+ * number of columns inside the table changes \
46053
+ * This also takes into account columns that gets hidden via isVisible
46054
+ */
46055
+ registerTrObserver() {
46056
+ const table = this.$el.querySelector('table');
46057
+ if (!table)
46058
+ return;
46059
+ const targetRow = table.querySelector('tr');
46060
+ if (!targetRow)
46061
+ return;
46062
+ this.observer = new MutationObserver((mutations) => {
46063
+ mutations.forEach((mutation) => {
46064
+ if (mutation.type === 'childList'
46065
+ && mutation.target instanceof Element
46066
+ && mutation.target.tagName === 'TR') {
46067
+ this.updateFixedColumns();
46068
+ }
46069
+ });
46070
+ });
46071
+ this.observer.observe(targetRow, {
46072
+ childList: true,
46073
+ });
46074
+ }
46075
+ beforeDestroy() {
46076
+ this.observer.disconnect();
46044
46077
  }
46045
46078
  setViewGetWidth() {
46046
46079
  this.instance.columns.forEach((column) => {
@@ -47408,6 +47441,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
47408
47441
  PropWatch({ type: [Boolean, String], default: false }),
47409
47442
  __metadata("design:type", Object)
47410
47443
  ], ZdGridEditable.prototype, "singleEdit", void 0);
47444
+ __decorate([
47445
+ PropWatch({ type: [Boolean, String], default: false }),
47446
+ __metadata("design:type", Object)
47447
+ ], ZdGridEditable.prototype, "showCancelColumn", void 0);
47411
47448
  ZdGridEditable = __decorate([
47412
47449
  Component__default["default"]({
47413
47450
  mixins: [EditableMixin$1, NavigableTableMixin$1],
@@ -48996,7 +49033,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48996
49033
  /* style */
48997
49034
  const __vue_inject_styles__$12 = function (inject) {
48998
49035
  if (!inject) return
48999
- inject("data-v-eec1bcda_0", { source: "\n.zd-grid-action {\n height: 100%;\n display: flex;\n}\n", map: undefined, media: undefined });
49036
+ inject("data-v-05e1c745_0", { source: "\n.zd-grid-action {\n height: 100%;\n display: flex;\n align-items: center;\n}\n", map: undefined, media: undefined });
49000
49037
 
49001
49038
  };
49002
49039
  /* scoped */
@@ -54374,6 +54411,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
54374
54411
  showHelper: false,
54375
54412
  showLabel: false,
54376
54413
  placeholder: 'SEARCH',
54414
+ autofill: false,
54377
54415
  appendIcon: 'magnify',
54378
54416
  events: {
54379
54417
  input: debounce__default["default"](this.doSearch, 500),
@@ -55337,7 +55375,40 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55337
55375
  const el = (Array.isArray(ref) ? ref[0].$el : ref === null || ref === void 0 ? void 0 : ref.$el);
55338
55376
  return el || null;
55339
55377
  }
55378
+ /**
55379
+ * Register all modal event listeners
55380
+ */
55381
+ registerEvents(modal) {
55382
+ this.registerTransitionEvents(modal);
55383
+ this.registerDragEvents(modal);
55384
+ }
55385
+ registerTransitionEvents(modal) {
55386
+ const el = this.getModalEl(modal);
55387
+ if (!el || !el.parentElement)
55388
+ return;
55389
+ el.parentElement.addEventListener('transitionstart', (event) => {
55390
+ // prevent triggering when the event is being propagated from a child element
55391
+ if (event.target !== el.parentElement)
55392
+ return;
55393
+ modal.transitionStart(event);
55394
+ });
55395
+ el.parentElement.addEventListener('transitionend', (event) => {
55396
+ // prevent triggering when the event is being propagated from a child element
55397
+ if (event.target !== el.parentElement)
55398
+ return;
55399
+ modal.transitionEnd(event);
55400
+ });
55401
+ }
55402
+ /**
55403
+ * Unregister all modal event listeners
55404
+ */
55405
+ unregisterEvents(modal) {
55406
+ this.unregisterDragEvents(modal);
55407
+ this.unregisterTransitionEvents(modal);
55408
+ }
55340
55409
  registerDragEvents(modal) {
55410
+ if (!modal.draggable)
55411
+ return;
55341
55412
  const el = this.getModalEl(modal);
55342
55413
  if (!el)
55343
55414
  return;
@@ -55352,6 +55423,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55352
55423
  this.dragHandle.addEventListener('mousedown', this.dragStart.bind(this, modal));
55353
55424
  this.dragHandle.addEventListener('touchstart', this.dragStart.bind(this, modal), { passive: false });
55354
55425
  }
55426
+ unregisterTransitionEvents(modal) {
55427
+ const el = this.getModalEl(modal);
55428
+ if (!el || !el.parentElement)
55429
+ return;
55430
+ el.parentElement.removeEventListener('transitionstart', modal.transitionStart);
55431
+ el.parentElement.removeEventListener('transitionend', modal.transitionEnd);
55432
+ }
55355
55433
  unregisterDragEvents(modal) {
55356
55434
  if (!this.dragHandle)
55357
55435
  return;
@@ -55529,10 +55607,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55529
55607
  style: modal.cssStyle,
55530
55608
  on: {
55531
55609
  "hook:mounted": function ($event) {
55532
- modal.draggable && _vm.registerDragEvents(modal);
55610
+ return _vm.registerEvents(modal)
55533
55611
  },
55534
55612
  "hook:destroyed": function ($event) {
55535
- return _vm.unregisterDragEvents(modal)
55613
+ return _vm.unregisterEvents(modal)
55536
55614
  },
55537
55615
  },
55538
55616
  },
@@ -55596,7 +55674,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55596
55674
  /* style */
55597
55675
  const __vue_inject_styles__$u = function (inject) {
55598
55676
  if (!inject) return
55599
- inject("data-v-12867ee3_0", { source: ".zd-modal-title {\n padding-bottom: 0px;\n}\n.zd-modal-container {\n padding: 0;\n cursor: default;\n}\n.zd-modal-flex {\n width: 100%;\n}\n.zd-modal-draggable {\n position: relative;\n}\n.zd-modal-draggable-handle {\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n.zd-modal-draggable-handle:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-title {\n padding: var(--zd-default-padding);\n padding-bottom: 0px;\n font-size: var(--zd-font-title-size);\n font-weight: var(--zd-font-title-weight);\n color: var(--zd-font-color);\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-card-text {\n padding: var(--zd-default-padding);\n display: flex;\n flex: 1 1 auto;\n}", map: undefined, media: undefined });
55677
+ inject("data-v-3de0e7d7_0", { source: ".zd-modal-title {\n padding-bottom: 0px;\n}\n.zd-modal-container {\n padding: 0;\n cursor: default;\n}\n.zd-modal-flex {\n width: 100%;\n}\n.zd-modal-draggable {\n position: relative;\n}\n.zd-modal-draggable-handle {\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n.zd-modal-draggable-handle:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-title {\n padding: var(--zd-default-padding);\n padding-bottom: 0px;\n font-size: var(--zd-font-title-size);\n font-weight: var(--zd-font-title-weight);\n color: var(--zd-font-color);\n}\n.zd-modal-content > .zd-modal-card > .zd-modal-card-text {\n padding: var(--zd-default-padding);\n display: flex;\n flex: 1 1 auto;\n}", map: undefined, media: undefined });
55600
55678
 
55601
55679
  };
55602
55680
  /* scoped */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeedhi/vuetify",
3
- "version": "1.100.2",
3
+ "version": "1.101.1",
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": "2fb4d52eeebc36287dc335cb32601b6e4f55378f"
54
+ "gitHead": "f542fff4b46addd6511ad4f1f0f95b90b5c7c3c1"
55
55
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="resize-observer-browser" />
1
2
  import { IButton, Carousel, ISlideData } from '@zeedhi/common';
2
3
  import ZdComponentRender from '../zd-component/ZdComponentRender';
3
4
  /**
@@ -39,20 +40,24 @@ export default class ZdCarousel extends ZdComponentRender {
39
40
  private lastEvent;
40
41
  created(): void;
41
42
  mounted(): void;
43
+ destroyed(): void;
44
+ resizeObserver: ResizeObserver;
45
+ /**
46
+ * addResizeObserver
47
+ */
48
+ addResizeObserver(): void;
49
+ /**
50
+ * removeObserver
51
+ */
52
+ removeObserver(): void;
53
+ setViewUpdate(): void;
42
54
  get paginationMode(): "fraction" | undefined;
43
- forceRerender(): void;
44
55
  beforeSlide(slideData: ISlideData): void;
45
56
  slide(slideData: ISlideData): void;
46
57
  /**
47
58
  * Update component currentSlide if class currentSlide is changed
48
59
  */
49
60
  changeCurrentSlide(newVal: number): void;
50
- /**
51
- * If children changes, rerender hooper carousel
52
- * @param _newVal new children object value
53
- * @param oldVal old children object value
54
- */
55
- update(_newVal: any[], oldVal: any[]): void;
56
61
  /**
57
62
  * If carousel becomes visible, restart hooper slides
58
63
  * @param newVal new children object value
@@ -46,7 +46,16 @@ export default class ZdGrid extends ZdIterable {
46
46
  * Left distance for each column
47
47
  */
48
48
  fixedRight: IDictionary<string>;
49
+ observer: MutationObserver;
49
50
  mounted(): void;
51
+ /**
52
+ * Register a mutation observer for the table TR
53
+ * this observer should call updateFixedColumns whenever the
54
+ * number of columns inside the table changes \
55
+ * This also takes into account columns that gets hidden via isVisible
56
+ */
57
+ registerTrObserver(): void;
58
+ beforeDestroy(): void;
50
59
  private setViewGetWidth;
51
60
  orderHeaders(headers: Column[]): Column[];
52
61
  parseWidth(width?: string): number;
@@ -15,6 +15,7 @@ export default class ZdGridEditable extends ZdGrid {
15
15
  editNewRowsOnly: boolean | string;
16
16
  editingNewRows: boolean | string;
17
17
  singleEdit: boolean | string;
18
+ showCancelColumn: boolean | string;
18
19
  instance: GridEditable;
19
20
  instanceType: typeof GridEditable;
20
21
  isTrVisible: boolean;
@@ -13,7 +13,17 @@ export default class ZdModal extends ZdComponent {
13
13
  protected dragHandle: HTMLElement | null;
14
14
  protected modalDragged?: Modal;
15
15
  getModalEl(modal: Modal): HTMLElement | null;
16
+ /**
17
+ * Register all modal event listeners
18
+ */
19
+ registerEvents(modal: Modal): void;
20
+ registerTransitionEvents(modal: Modal): void;
21
+ /**
22
+ * Unregister all modal event listeners
23
+ */
24
+ unregisterEvents(modal: Modal): void;
16
25
  registerDragEvents(modal: Modal): void;
26
+ unregisterTransitionEvents(modal: Modal): void;
17
27
  unregisterDragEvents(modal: Modal): void;
18
28
  private isTouchEvent;
19
29
  private getEventCoordinates;