@zeedhi/vuetify 1.100.1 → 1.101.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.
@@ -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 */
@@ -45540,7 +45543,9 @@ let ZdIterable = class ZdIterable extends ZdComponentRender$1 {
45540
45543
  }
45541
45544
  }
45542
45545
  changeData(data) {
45543
- this.instance.changeData(data);
45546
+ setTimeout(() => {
45547
+ this.instance.changeData(data);
45548
+ });
45544
45549
  }
45545
45550
  rowKey(item) {
45546
45551
  return item[this.instance.datasource.uniqueKey];
@@ -46042,6 +46047,36 @@ let ZdGrid = class ZdGrid extends ZdIterable$1 {
46042
46047
  if (this.instance.fillHeight) {
46043
46048
  setFillHeight(this.$el);
46044
46049
  }
46050
+ this.registerTrObserver();
46051
+ }
46052
+ /**
46053
+ * Register a mutation observer for the table TR
46054
+ * this observer should call updateFixedColumns whenever the
46055
+ * number of columns inside the table changes \
46056
+ * This also takes into account columns that gets hidden via isVisible
46057
+ */
46058
+ registerTrObserver() {
46059
+ const table = this.$el.querySelector('table');
46060
+ if (!table)
46061
+ return;
46062
+ const targetRow = table.querySelector('tr');
46063
+ if (!targetRow)
46064
+ return;
46065
+ this.observer = new MutationObserver((mutations) => {
46066
+ mutations.forEach((mutation) => {
46067
+ if (mutation.type === 'childList'
46068
+ && mutation.target instanceof Element
46069
+ && mutation.target.tagName === 'TR') {
46070
+ this.updateFixedColumns();
46071
+ }
46072
+ });
46073
+ });
46074
+ this.observer.observe(targetRow, {
46075
+ childList: true,
46076
+ });
46077
+ }
46078
+ beforeDestroy() {
46079
+ this.observer.disconnect();
46045
46080
  }
46046
46081
  setViewGetWidth() {
46047
46082
  this.instance.columns.forEach((column) => {
@@ -47409,6 +47444,10 @@ __decorate([
47409
47444
  PropWatch({ type: [Boolean, String], default: false }),
47410
47445
  __metadata("design:type", Object)
47411
47446
  ], ZdGridEditable.prototype, "singleEdit", void 0);
47447
+ __decorate([
47448
+ PropWatch({ type: [Boolean, String], default: false }),
47449
+ __metadata("design:type", Object)
47450
+ ], ZdGridEditable.prototype, "showCancelColumn", void 0);
47412
47451
  ZdGridEditable = __decorate([
47413
47452
  Component$2({
47414
47453
  mixins: [EditableMixin$1, NavigableTableMixin$1],
@@ -48997,7 +49036,7 @@ __vue_render__$12._withStripped = true;
48997
49036
  /* style */
48998
49037
  const __vue_inject_styles__$12 = function (inject) {
48999
49038
  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 });
49039
+ 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
49040
 
49002
49041
  };
49003
49042
  /* scoped */
@@ -52292,9 +52331,6 @@ let ZdSelect = class ZdSelect extends __vue_component__$1m {
52292
52331
  }
52293
52332
  this.blur(event);
52294
52333
  }
52295
- formattedDataFunc(item) {
52296
- return this.$refs.instance && this.$refs.instance.isMenuActive ? this.formattedDataText(item) : this.formattedDataDiscreteText(item);
52297
- }
52298
52334
  selectFocus(event) {
52299
52335
  if (!this.componentRef)
52300
52336
  return;
@@ -52523,7 +52559,7 @@ var __vue_render__$K = function () {
52523
52559
  disabled: _vm.instance.disabled,
52524
52560
  readonly: _vm.instance.readonly,
52525
52561
  items: _vm.items,
52526
- "item-text": _vm.formattedDataFunc,
52562
+ "item-text": _vm.formattedDataDiscreteText,
52527
52563
  "item-value": _vm.instance.dataValue,
52528
52564
  "item-disabled": _vm.instance.dataDisabled,
52529
52565
  maxLength: _vm.instance.maxLength,
@@ -52656,6 +52692,32 @@ var __vue_render__$K = function () {
52656
52692
  proxy: true,
52657
52693
  }
52658
52694
  : null,
52695
+ {
52696
+ key: "item",
52697
+ fn: function (ref) {
52698
+ var item = ref.item;
52699
+ var on = ref.on;
52700
+ var attrs = ref.attrs;
52701
+ return [
52702
+ _c(
52703
+ "v-list-item",
52704
+ _vm._g(_vm._b({}, "v-list-item", attrs, false), on),
52705
+ [
52706
+ _c(
52707
+ "v-list-item-content",
52708
+ [
52709
+ _c("v-list-item-title", [
52710
+ _vm._v(_vm._s(_vm.formattedDataText(item))),
52711
+ ]),
52712
+ ],
52713
+ 1
52714
+ ),
52715
+ ],
52716
+ 1
52717
+ ),
52718
+ ]
52719
+ },
52720
+ },
52659
52721
  {
52660
52722
  key: "append-item",
52661
52723
  fn: function () {
@@ -52771,7 +52833,7 @@ __vue_render__$K._withStripped = true;
52771
52833
  /* style */
52772
52834
  const __vue_inject_styles__$K = function (inject) {
52773
52835
  if (!inject) return
52774
- inject("data-v-167946e1_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
52836
+ inject("data-v-8a29c9ba_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
52775
52837
 
52776
52838
  };
52777
52839
  /* scoped */
@@ -54352,6 +54414,7 @@ let ZdMenu = class ZdMenu extends ZdComponentRender$1 {
54352
54414
  showHelper: false,
54353
54415
  showLabel: false,
54354
54416
  placeholder: 'SEARCH',
54417
+ autofill: false,
54355
54418
  appendIcon: 'magnify',
54356
54419
  events: {
54357
54420
  input: debounce$1(this.doSearch, 500),
@@ -55315,7 +55378,40 @@ let ZdModal = class ZdModal extends ZdComponent$1 {
55315
55378
  const el = (Array.isArray(ref) ? ref[0].$el : ref === null || ref === void 0 ? void 0 : ref.$el);
55316
55379
  return el || null;
55317
55380
  }
55381
+ /**
55382
+ * Register all modal event listeners
55383
+ */
55384
+ registerEvents(modal) {
55385
+ this.registerTransitionEvents(modal);
55386
+ this.registerDragEvents(modal);
55387
+ }
55388
+ registerTransitionEvents(modal) {
55389
+ const el = this.getModalEl(modal);
55390
+ if (!el || !el.parentElement)
55391
+ return;
55392
+ el.parentElement.addEventListener('transitionstart', (event) => {
55393
+ // prevent triggering when the event is being propagated from a child element
55394
+ if (event.target !== el.parentElement)
55395
+ return;
55396
+ modal.transitionStart(event);
55397
+ });
55398
+ el.parentElement.addEventListener('transitionend', (event) => {
55399
+ // prevent triggering when the event is being propagated from a child element
55400
+ if (event.target !== el.parentElement)
55401
+ return;
55402
+ modal.transitionEnd(event);
55403
+ });
55404
+ }
55405
+ /**
55406
+ * Unregister all modal event listeners
55407
+ */
55408
+ unregisterEvents(modal) {
55409
+ this.unregisterDragEvents(modal);
55410
+ this.unregisterTransitionEvents(modal);
55411
+ }
55318
55412
  registerDragEvents(modal) {
55413
+ if (!modal.draggable)
55414
+ return;
55319
55415
  const el = this.getModalEl(modal);
55320
55416
  if (!el)
55321
55417
  return;
@@ -55330,6 +55426,13 @@ let ZdModal = class ZdModal extends ZdComponent$1 {
55330
55426
  this.dragHandle.addEventListener('mousedown', this.dragStart.bind(this, modal));
55331
55427
  this.dragHandle.addEventListener('touchstart', this.dragStart.bind(this, modal), { passive: false });
55332
55428
  }
55429
+ unregisterTransitionEvents(modal) {
55430
+ const el = this.getModalEl(modal);
55431
+ if (!el || !el.parentElement)
55432
+ return;
55433
+ el.parentElement.removeEventListener('transitionstart', modal.transitionStart);
55434
+ el.parentElement.removeEventListener('transitionend', modal.transitionEnd);
55435
+ }
55333
55436
  unregisterDragEvents(modal) {
55334
55437
  if (!this.dragHandle)
55335
55438
  return;
@@ -55507,10 +55610,10 @@ var __vue_render__$u = function () {
55507
55610
  style: modal.cssStyle,
55508
55611
  on: {
55509
55612
  "hook:mounted": function ($event) {
55510
- modal.draggable && _vm.registerDragEvents(modal);
55613
+ return _vm.registerEvents(modal)
55511
55614
  },
55512
55615
  "hook:destroyed": function ($event) {
55513
- return _vm.unregisterDragEvents(modal)
55616
+ return _vm.unregisterEvents(modal)
55514
55617
  },
55515
55618
  },
55516
55619
  },
@@ -55574,7 +55677,7 @@ __vue_render__$u._withStripped = true;
55574
55677
  /* style */
55575
55678
  const __vue_inject_styles__$u = function (inject) {
55576
55679
  if (!inject) return
55577
- 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 });
55680
+ 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 });
55578
55681
 
55579
55682
  };
55580
55683
  /* 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 */
@@ -45539,7 +45542,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
45539
45542
  }
45540
45543
  }
45541
45544
  changeData(data) {
45542
- this.instance.changeData(data);
45545
+ setTimeout(() => {
45546
+ this.instance.changeData(data);
45547
+ });
45543
45548
  }
45544
45549
  rowKey(item) {
45545
45550
  return item[this.instance.datasource.uniqueKey];
@@ -46041,6 +46046,36 @@ If you're seeing "$attrs is readonly", it's caused by this`);
46041
46046
  if (this.instance.fillHeight) {
46042
46047
  setFillHeight(this.$el);
46043
46048
  }
46049
+ this.registerTrObserver();
46050
+ }
46051
+ /**
46052
+ * Register a mutation observer for the table TR
46053
+ * this observer should call updateFixedColumns whenever the
46054
+ * number of columns inside the table changes \
46055
+ * This also takes into account columns that gets hidden via isVisible
46056
+ */
46057
+ registerTrObserver() {
46058
+ const table = this.$el.querySelector('table');
46059
+ if (!table)
46060
+ return;
46061
+ const targetRow = table.querySelector('tr');
46062
+ if (!targetRow)
46063
+ return;
46064
+ this.observer = new MutationObserver((mutations) => {
46065
+ mutations.forEach((mutation) => {
46066
+ if (mutation.type === 'childList'
46067
+ && mutation.target instanceof Element
46068
+ && mutation.target.tagName === 'TR') {
46069
+ this.updateFixedColumns();
46070
+ }
46071
+ });
46072
+ });
46073
+ this.observer.observe(targetRow, {
46074
+ childList: true,
46075
+ });
46076
+ }
46077
+ beforeDestroy() {
46078
+ this.observer.disconnect();
46044
46079
  }
46045
46080
  setViewGetWidth() {
46046
46081
  this.instance.columns.forEach((column) => {
@@ -47408,6 +47443,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
47408
47443
  PropWatch({ type: [Boolean, String], default: false }),
47409
47444
  __metadata("design:type", Object)
47410
47445
  ], ZdGridEditable.prototype, "singleEdit", void 0);
47446
+ __decorate([
47447
+ PropWatch({ type: [Boolean, String], default: false }),
47448
+ __metadata("design:type", Object)
47449
+ ], ZdGridEditable.prototype, "showCancelColumn", void 0);
47411
47450
  ZdGridEditable = __decorate([
47412
47451
  Component__default["default"]({
47413
47452
  mixins: [EditableMixin$1, NavigableTableMixin$1],
@@ -48996,7 +49035,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48996
49035
  /* style */
48997
49036
  const __vue_inject_styles__$12 = function (inject) {
48998
49037
  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 });
49038
+ 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
49039
 
49001
49040
  };
49002
49041
  /* scoped */
@@ -52291,9 +52330,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
52291
52330
  }
52292
52331
  this.blur(event);
52293
52332
  }
52294
- formattedDataFunc(item) {
52295
- return this.$refs.instance && this.$refs.instance.isMenuActive ? this.formattedDataText(item) : this.formattedDataDiscreteText(item);
52296
- }
52297
52333
  selectFocus(event) {
52298
52334
  if (!this.componentRef)
52299
52335
  return;
@@ -52522,7 +52558,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
52522
52558
  disabled: _vm.instance.disabled,
52523
52559
  readonly: _vm.instance.readonly,
52524
52560
  items: _vm.items,
52525
- "item-text": _vm.formattedDataFunc,
52561
+ "item-text": _vm.formattedDataDiscreteText,
52526
52562
  "item-value": _vm.instance.dataValue,
52527
52563
  "item-disabled": _vm.instance.dataDisabled,
52528
52564
  maxLength: _vm.instance.maxLength,
@@ -52655,6 +52691,32 @@ If you're seeing "$attrs is readonly", it's caused by this`);
52655
52691
  proxy: true,
52656
52692
  }
52657
52693
  : null,
52694
+ {
52695
+ key: "item",
52696
+ fn: function (ref) {
52697
+ var item = ref.item;
52698
+ var on = ref.on;
52699
+ var attrs = ref.attrs;
52700
+ return [
52701
+ _c(
52702
+ "v-list-item",
52703
+ _vm._g(_vm._b({}, "v-list-item", attrs, false), on),
52704
+ [
52705
+ _c(
52706
+ "v-list-item-content",
52707
+ [
52708
+ _c("v-list-item-title", [
52709
+ _vm._v(_vm._s(_vm.formattedDataText(item))),
52710
+ ]),
52711
+ ],
52712
+ 1
52713
+ ),
52714
+ ],
52715
+ 1
52716
+ ),
52717
+ ]
52718
+ },
52719
+ },
52658
52720
  {
52659
52721
  key: "append-item",
52660
52722
  fn: function () {
@@ -52770,7 +52832,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
52770
52832
  /* style */
52771
52833
  const __vue_inject_styles__$K = function (inject) {
52772
52834
  if (!inject) return
52773
- inject("data-v-167946e1_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
52835
+ inject("data-v-8a29c9ba_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
52774
52836
 
52775
52837
  };
52776
52838
  /* scoped */
@@ -54351,6 +54413,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
54351
54413
  showHelper: false,
54352
54414
  showLabel: false,
54353
54415
  placeholder: 'SEARCH',
54416
+ autofill: false,
54354
54417
  appendIcon: 'magnify',
54355
54418
  events: {
54356
54419
  input: debounce__default["default"](this.doSearch, 500),
@@ -55314,7 +55377,40 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55314
55377
  const el = (Array.isArray(ref) ? ref[0].$el : ref === null || ref === void 0 ? void 0 : ref.$el);
55315
55378
  return el || null;
55316
55379
  }
55380
+ /**
55381
+ * Register all modal event listeners
55382
+ */
55383
+ registerEvents(modal) {
55384
+ this.registerTransitionEvents(modal);
55385
+ this.registerDragEvents(modal);
55386
+ }
55387
+ registerTransitionEvents(modal) {
55388
+ const el = this.getModalEl(modal);
55389
+ if (!el || !el.parentElement)
55390
+ return;
55391
+ el.parentElement.addEventListener('transitionstart', (event) => {
55392
+ // prevent triggering when the event is being propagated from a child element
55393
+ if (event.target !== el.parentElement)
55394
+ return;
55395
+ modal.transitionStart(event);
55396
+ });
55397
+ el.parentElement.addEventListener('transitionend', (event) => {
55398
+ // prevent triggering when the event is being propagated from a child element
55399
+ if (event.target !== el.parentElement)
55400
+ return;
55401
+ modal.transitionEnd(event);
55402
+ });
55403
+ }
55404
+ /**
55405
+ * Unregister all modal event listeners
55406
+ */
55407
+ unregisterEvents(modal) {
55408
+ this.unregisterDragEvents(modal);
55409
+ this.unregisterTransitionEvents(modal);
55410
+ }
55317
55411
  registerDragEvents(modal) {
55412
+ if (!modal.draggable)
55413
+ return;
55318
55414
  const el = this.getModalEl(modal);
55319
55415
  if (!el)
55320
55416
  return;
@@ -55329,6 +55425,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55329
55425
  this.dragHandle.addEventListener('mousedown', this.dragStart.bind(this, modal));
55330
55426
  this.dragHandle.addEventListener('touchstart', this.dragStart.bind(this, modal), { passive: false });
55331
55427
  }
55428
+ unregisterTransitionEvents(modal) {
55429
+ const el = this.getModalEl(modal);
55430
+ if (!el || !el.parentElement)
55431
+ return;
55432
+ el.parentElement.removeEventListener('transitionstart', modal.transitionStart);
55433
+ el.parentElement.removeEventListener('transitionend', modal.transitionEnd);
55434
+ }
55332
55435
  unregisterDragEvents(modal) {
55333
55436
  if (!this.dragHandle)
55334
55437
  return;
@@ -55506,10 +55609,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55506
55609
  style: modal.cssStyle,
55507
55610
  on: {
55508
55611
  "hook:mounted": function ($event) {
55509
- modal.draggable && _vm.registerDragEvents(modal);
55612
+ return _vm.registerEvents(modal)
55510
55613
  },
55511
55614
  "hook:destroyed": function ($event) {
55512
- return _vm.unregisterDragEvents(modal)
55615
+ return _vm.unregisterEvents(modal)
55513
55616
  },
55514
55617
  },
55515
55618
  },
@@ -55573,7 +55676,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
55573
55676
  /* style */
55574
55677
  const __vue_inject_styles__$u = function (inject) {
55575
55678
  if (!inject) return
55576
- 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 });
55679
+ 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 });
55577
55680
 
55578
55681
  };
55579
55682
  /* scoped */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeedhi/vuetify",
3
- "version": "1.100.1",
3
+ "version": "1.101.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": "851ef55856eedce6d22e92610dcca643ba9db1b9"
54
+ "gitHead": "a09f2851ece9c0011024e1cd69baba7a85b13130"
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;
@@ -48,7 +48,6 @@ export default class ZdSelect extends ZdTextInput {
48
48
  selectChange(value: any, event: Event): void;
49
49
  selectInput(value: any): void;
50
50
  selectBlur(event: Event): void;
51
- formattedDataFunc(item: IDictionary<any>): any;
52
51
  selectFocus(event?: Event): void;
53
52
  selectKeydown(event: KeyboardEvent): void;
54
53
  formattedDataText(item: IDictionary<any>): any;