@dolusoft/vue3-datatable 1.8.40 → 1.8.43

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.
@@ -2379,7 +2379,7 @@ const Icon = vue.defineComponent({
2379
2379
  const __default__$5 = {
2380
2380
  name: "buttonExpand"
2381
2381
  };
2382
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2382
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2383
2383
  ...__default__$5,
2384
2384
  props: {
2385
2385
  item: { default: [] },
@@ -2469,11 +2469,11 @@ const _export_sfc = (sfc, props) => {
2469
2469
  }
2470
2470
  return target;
2471
2471
  };
2472
- const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-4d01a2fa"]]);
2472
+ const ButtonExpand = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-4d01a2fa"]]);
2473
2473
  const __default__$4 = {
2474
2474
  name: "ButtonRightPanel"
2475
2475
  };
2476
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2476
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2477
2477
  ...__default__$4,
2478
2478
  props: {
2479
2479
  item: { default: [] }
@@ -2495,7 +2495,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2495
2495
  };
2496
2496
  }
2497
2497
  });
2498
- const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-d739c6bf"]]);
2498
+ const ButtonRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-d739c6bf"]]);
2499
2499
  const sides = ["top", "right", "bottom", "left"];
2500
2500
  const alignments = ["start", "end"];
2501
2501
  const placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
@@ -4864,11 +4864,11 @@ vue.defineComponent({
4864
4864
  }
4865
4865
  });
4866
4866
  const Vt = Ce;
4867
- const _hoisted_1$6 = { class: "bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden" };
4867
+ const _hoisted_1$7 = { class: "bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden" };
4868
4868
  const __default__$3 = {
4869
4869
  name: "columnFilter"
4870
4870
  };
4871
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
4871
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
4872
4872
  ...__default__$3,
4873
4873
  props: ["column", "columnFilterLang"],
4874
4874
  emits: ["close", "filterChange"],
@@ -4893,7 +4893,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
4893
4893
  ref: menuRef,
4894
4894
  class: "bh-filter-menu bh-absolute bh-z-[1] bh-bg-white dark:bh-bg-gray-800 bh-shadow-md bh-rounded-md bh-top-full bh-right-0 bh-w-32 bh-mt-1 bh-border bh-border-solid bh-border-gray-200 dark:bh-border-gray-600"
4895
4895
  }, [
4896
- vue.createElementVNode("div", _hoisted_1$6, [
4896
+ vue.createElementVNode("div", _hoisted_1$7, [
4897
4897
  vue.createElementVNode("button", {
4898
4898
  type: "button",
4899
4899
  class: vue.normalizeClass({ active: props.column.condition === "" }),
@@ -5056,10 +5056,10 @@ const FILTER_CONDITIONS = {
5056
5056
  { value: "NotEqual", label: "Not Equal", icon: "≠" }
5057
5057
  ]
5058
5058
  };
5059
- const _hoisted_1$5 = { class: "bh-p-2" };
5060
- const _hoisted_2$5 = { class: "bh-mb-2" };
5061
- const _hoisted_3$5 = /* @__PURE__ */ vue.createElementVNode("label", { class: "bh-text-xs bh-font-medium bh-text-gray-600 dark:bh-text-gray-400 bh-block bh-mb-1" }, " Filter Condition ", -1);
5062
- const _hoisted_4$2 = ["value"];
5059
+ const _hoisted_1$6 = { class: "bh-p-2" };
5060
+ const _hoisted_2$6 = { class: "bh-mb-2" };
5061
+ const _hoisted_3$6 = /* @__PURE__ */ vue.createElementVNode("label", { class: "bh-text-xs bh-font-medium bh-text-gray-600 dark:bh-text-gray-400 bh-block bh-mb-1" }, " Filter Condition ", -1);
5062
+ const _hoisted_4$3 = ["value"];
5063
5063
  const _hoisted_5$2 = {
5064
5064
  key: 0,
5065
5065
  class: "bh-border-t bh-border-gray-200 dark:bh-border-gray-600 bh-pt-2 bh-mt-2"
@@ -5069,7 +5069,7 @@ const _hoisted_7$2 = { class: "bh-flex bh-flex-col bh-gap-1" };
5069
5069
  const __default__$2 = {
5070
5070
  name: "columnFilterNew"
5071
5071
  };
5072
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
5072
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
5073
5073
  ...__default__$2,
5074
5074
  props: [
5075
5075
  "column",
@@ -5134,9 +5134,9 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
5134
5134
  ref: dropdownRef,
5135
5135
  class: "bh-filter-dropdown-content bh-min-w-[220px]"
5136
5136
  }, [
5137
- vue.createElementVNode("div", _hoisted_1$5, [
5138
- vue.createElementVNode("div", _hoisted_2$5, [
5139
- _hoisted_3$5,
5137
+ vue.createElementVNode("div", _hoisted_1$6, [
5138
+ vue.createElementVNode("div", _hoisted_2$6, [
5139
+ _hoisted_3$6,
5140
5140
  vue.withDirectives(vue.createElementVNode("select", {
5141
5141
  ref_key: "selectRef",
5142
5142
  ref: selectRef,
@@ -5150,7 +5150,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
5150
5150
  return vue.openBlock(), vue.createElementBlock("option", {
5151
5151
  key: cond.value,
5152
5152
  value: cond.value
5153
- }, vue.toDisplayString(cond.icon ? cond.icon + " " : "") + vue.toDisplayString(getTranslatedLabel(cond)), 9, _hoisted_4$2);
5153
+ }, vue.toDisplayString(cond.icon ? cond.icon + " " : "") + vue.toDisplayString(getTranslatedLabel(cond)), 9, _hoisted_4$3);
5154
5154
  }), 128))
5155
5155
  ], 544), [
5156
5156
  [vue.vModelSelect, selectedCondition.value]
@@ -5189,13 +5189,13 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
5189
5189
  };
5190
5190
  }
5191
5191
  });
5192
- const _sfc_main$4 = {};
5193
- const _hoisted_1$4 = {
5192
+ const _sfc_main$5 = {};
5193
+ const _hoisted_1$5 = {
5194
5194
  version: "1.1",
5195
5195
  viewBox: "0 0 17 12",
5196
5196
  xmlns: "http://www.w3.org/2000/svg"
5197
5197
  };
5198
- const _hoisted_2$4 = /* @__PURE__ */ vue.createElementVNode("g", {
5198
+ const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("g", {
5199
5199
  fill: "none",
5200
5200
  "fill-rule": "evenodd"
5201
5201
  }, [
@@ -5207,15 +5207,15 @@ const _hoisted_2$4 = /* @__PURE__ */ vue.createElementVNode("g", {
5207
5207
  /* @__PURE__ */ vue.createElementVNode("path", { d: "m25.576 11.414c0.56558 0.55188 0.56558 1.4439 0 1.9961l-9.404 9.176c-0.28213 0.27529-0.65247 0.41385-1.0228 0.41385-0.37034 0-0.74068-0.13855-1.0228-0.41385l-4.7019-4.588c-0.56584-0.55188-0.56584-1.4442 0-1.9961 0.56558-0.55214 1.4798-0.55214 2.0456 0l3.679 3.5899 8.3812-8.1779c0.56558-0.55214 1.4798-0.55214 2.0456 0z" })
5208
5208
  ])
5209
5209
  ], -1);
5210
- const _hoisted_3$4 = [
5211
- _hoisted_2$4
5210
+ const _hoisted_3$5 = [
5211
+ _hoisted_2$5
5212
5212
  ];
5213
5213
  function _sfc_render$2(_ctx, _cache) {
5214
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$4, _hoisted_3$4);
5214
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$5, _hoisted_3$5);
5215
5215
  }
5216
- const iconCheck = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$2]]);
5217
- const _sfc_main$3 = {};
5218
- const _hoisted_1$3 = {
5216
+ const iconCheck = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$2]]);
5217
+ const _sfc_main$4 = {};
5218
+ const _hoisted_1$4 = {
5219
5219
  viewBox: "0 0 24 24",
5220
5220
  width: "24",
5221
5221
  height: "24",
@@ -5226,21 +5226,21 @@ const _hoisted_1$3 = {
5226
5226
  "stroke-linejoin": "round",
5227
5227
  class: "css-i6dzq1"
5228
5228
  };
5229
- const _hoisted_2$3 = /* @__PURE__ */ vue.createElementVNode("line", {
5229
+ const _hoisted_2$4 = /* @__PURE__ */ vue.createElementVNode("line", {
5230
5230
  x1: "5",
5231
5231
  y1: "12",
5232
5232
  x2: "19",
5233
5233
  y2: "12"
5234
5234
  }, null, -1);
5235
- const _hoisted_3$3 = [
5236
- _hoisted_2$3
5235
+ const _hoisted_3$4 = [
5236
+ _hoisted_2$4
5237
5237
  ];
5238
5238
  function _sfc_render$1(_ctx, _cache) {
5239
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$3, _hoisted_3$3);
5239
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$4, _hoisted_3$4);
5240
5240
  }
5241
- const iconDash = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$1]]);
5242
- const _sfc_main$2 = {};
5243
- const _hoisted_1$2 = {
5241
+ const iconDash = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$1]]);
5242
+ const _sfc_main$3 = {};
5243
+ const _hoisted_1$3 = {
5244
5244
  viewBox: "0 0 24 24",
5245
5245
  width: "24",
5246
5246
  height: "24",
@@ -5251,21 +5251,21 @@ const _hoisted_1$2 = {
5251
5251
  "stroke-linejoin": "round",
5252
5252
  class: "css-i6dzq1"
5253
5253
  };
5254
- const _hoisted_2$2 = /* @__PURE__ */ vue.createElementVNode("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }, null, -1);
5255
- const _hoisted_3$2 = [
5256
- _hoisted_2$2
5254
+ const _hoisted_2$3 = /* @__PURE__ */ vue.createElementVNode("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }, null, -1);
5255
+ const _hoisted_3$3 = [
5256
+ _hoisted_2$3
5257
5257
  ];
5258
5258
  function _sfc_render(_ctx, _cache) {
5259
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
5259
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$3, _hoisted_3$3);
5260
5260
  }
5261
- const iconFilter = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render]]);
5262
- const _hoisted_1$1 = { key: "hdrrow" };
5263
- const _hoisted_2$1 = { class: "bh-checkbox" };
5264
- const _hoisted_3$1 = {
5261
+ const iconFilter = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render]]);
5262
+ const _hoisted_1$2 = { key: "hdrrow" };
5263
+ const _hoisted_2$2 = { class: "bh-checkbox" };
5264
+ const _hoisted_3$2 = {
5265
5265
  key: 0,
5266
5266
  class: "bh-filter bh-flex bh-justify-center"
5267
5267
  };
5268
- const _hoisted_4$1 = ["disabled"];
5268
+ const _hoisted_4$2 = ["disabled"];
5269
5269
  const _hoisted_5$1 = /* @__PURE__ */ vue.createElementVNode("svg", {
5270
5270
  width: "14",
5271
5271
  height: "14",
@@ -5398,7 +5398,7 @@ const _hoisted_36$1 = ["onClick"];
5398
5398
  const __default__$1 = {
5399
5399
  name: "columnHeader"
5400
5400
  };
5401
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5401
+ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
5402
5402
  ...__default__$1,
5403
5403
  props: [
5404
5404
  "all",
@@ -5463,6 +5463,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5463
5463
  vue.watch(
5464
5464
  () => filterInputs.value[col.field],
5465
5465
  (newValue) => {
5466
+ var _a2;
5466
5467
  const column = columnsMap.value.get(col.field);
5467
5468
  if (!column) return;
5468
5469
  const isEmpty = newValue === "" || newValue === null || newValue === void 0;
@@ -5493,7 +5494,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5493
5494
  if (isEmpty) {
5494
5495
  processChange();
5495
5496
  } else {
5496
- debounceTimers.set(col.field, setTimeout(processChange, 100));
5497
+ const debounceTime = ((_a2 = props.all) == null ? void 0 : _a2.filterDebounce) ?? 100;
5498
+ debounceTimers.set(col.field, setTimeout(processChange, debounceTime));
5497
5499
  }
5498
5500
  }
5499
5501
  );
@@ -5671,7 +5673,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5671
5673
  });
5672
5674
  return (_ctx, _cache) => {
5673
5675
  const _component_VDropdown = vue.resolveComponent("VDropdown");
5674
- return vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$1, [
5676
+ return vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$2, [
5675
5677
  props.all.hasCheckbox ? (vue.openBlock(), vue.createElementBlock("th", {
5676
5678
  key: "chkall",
5677
5679
  style: vue.normalizeStyle({
@@ -5684,7 +5686,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5684
5686
  "bh-left-0": props.all.stickyFirstColumn
5685
5687
  })
5686
5688
  }, [
5687
- vue.createElementVNode("div", _hoisted_2$1, [
5689
+ vue.createElementVNode("div", _hoisted_2$2, [
5688
5690
  vue.createElementVNode("input", {
5689
5691
  ref_key: "selectedAll",
5690
5692
  ref: selectedAll,
@@ -5699,7 +5701,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5699
5701
  vue.createVNode(iconDash, { class: "intermediate" })
5700
5702
  ])
5701
5703
  ]),
5702
- props.all.columnFilter && !props.isFooter && clearButtonLocation.value === "checkbox" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, [
5704
+ props.all.columnFilter && !props.isFooter && clearButtonLocation.value === "checkbox" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [
5703
5705
  vue.createVNode(vue.unref(Vt), {
5704
5706
  placement: "top",
5705
5707
  distance: 6
@@ -5716,7 +5718,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5716
5718
  }]),
5717
5719
  disabled: !hasAnyActiveFilterLocal.value,
5718
5720
  onClick: vue.withModifiers(handleClearAllFilters, ["stop"])
5719
- }, _hoisted_6$1, 10, _hoisted_4$1)) : vue.createCommentVNode("", true)
5721
+ }, _hoisted_6$1, 10, _hoisted_4$2)) : vue.createCommentVNode("", true)
5720
5722
  ]),
5721
5723
  _: 1
5722
5724
  })
@@ -5972,7 +5974,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5972
5974
  }])
5973
5975
  }, null, 8, ["class"])
5974
5976
  ], 10, _hoisted_35$1)) : vue.createCommentVNode("", true),
5975
- !props.all.useNewColumnFilter ? vue.withDirectives((vue.openBlock(), vue.createBlock(_sfc_main$6, {
5977
+ !props.all.useNewColumnFilter ? vue.withDirectives((vue.openBlock(), vue.createBlock(_sfc_main$7, {
5976
5978
  key: 3,
5977
5979
  column: col,
5978
5980
  type: col.type,
@@ -5992,7 +5994,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5992
5994
  onApplyHide: _cache[8] || (_cache[8] = ($event) => emit("toggleFilterMenu", null))
5993
5995
  }, {
5994
5996
  popper: vue.withCtx(() => [
5995
- vue.createVNode(_sfc_main$5, {
5997
+ vue.createVNode(_sfc_main$6, {
5996
5998
  column: col,
5997
5999
  columnFilterLang: props.columnFilterLang,
5998
6000
  currentSortColumn: props.currentSortColumn,
@@ -6034,6 +6036,111 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
6034
6036
  };
6035
6037
  }
6036
6038
  });
6039
+ const _hoisted_1$1 = ["innerHTML"];
6040
+ const _hoisted_2$1 = { class: "bh-tooltip-content" };
6041
+ const _hoisted_3$1 = ["innerHTML"];
6042
+ const _hoisted_4$1 = ["innerHTML"];
6043
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
6044
+ __name: "truncated-cell",
6045
+ props: {
6046
+ value: {},
6047
+ truncate: { type: Boolean },
6048
+ maxWidth: {},
6049
+ truncateLines: {},
6050
+ showTooltip: { type: Boolean },
6051
+ html: { type: Boolean }
6052
+ },
6053
+ setup(__props) {
6054
+ const props = __props;
6055
+ const cellRef = vue.ref(null);
6056
+ const isOverflowing = vue.ref(false);
6057
+ const checkOverflow = () => {
6058
+ if (cellRef.value && props.truncate) {
6059
+ const el = cellRef.value;
6060
+ if (props.truncateLines === 1) {
6061
+ isOverflowing.value = el.scrollWidth > el.clientWidth;
6062
+ } else {
6063
+ isOverflowing.value = el.scrollHeight > el.clientHeight;
6064
+ }
6065
+ } else {
6066
+ isOverflowing.value = false;
6067
+ }
6068
+ };
6069
+ vue.onMounted(checkOverflow);
6070
+ vue.onUpdated(checkOverflow);
6071
+ const tooltipContent = vue.computed(() => {
6072
+ return String(props.value ?? "");
6073
+ });
6074
+ const shouldShowTooltip = vue.computed(() => {
6075
+ return props.truncate && props.showTooltip && isOverflowing.value;
6076
+ });
6077
+ const cellStyle = vue.computed(() => {
6078
+ if (!props.truncate) return {};
6079
+ const style = {};
6080
+ if (props.maxWidth) {
6081
+ style.maxWidth = props.maxWidth;
6082
+ }
6083
+ if (props.truncateLines > 1) {
6084
+ style["-webkit-line-clamp"] = props.truncateLines;
6085
+ }
6086
+ return style;
6087
+ });
6088
+ return (_ctx, _cache) => {
6089
+ return shouldShowTooltip.value ? (vue.openBlock(), vue.createBlock(vue.unref(Vt), {
6090
+ key: 0,
6091
+ placement: "top",
6092
+ distance: 6,
6093
+ delay: { show: 300, hide: 100 }
6094
+ }, {
6095
+ popper: vue.withCtx(() => [
6096
+ vue.createElementVNode("div", _hoisted_2$1, [
6097
+ _ctx.html ? (vue.openBlock(), vue.createElementBlock("span", {
6098
+ key: 0,
6099
+ innerHTML: tooltipContent.value
6100
+ }, null, 8, _hoisted_3$1)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6101
+ vue.createTextVNode(vue.toDisplayString(tooltipContent.value), 1)
6102
+ ], 64))
6103
+ ])
6104
+ ]),
6105
+ default: vue.withCtx(() => [
6106
+ vue.createElementVNode("div", {
6107
+ ref_key: "cellRef",
6108
+ ref: cellRef,
6109
+ class: vue.normalizeClass(["bh-truncate-cell", {
6110
+ "bh-truncate-single": _ctx.truncateLines === 1,
6111
+ "bh-truncate-multi": _ctx.truncateLines > 1
6112
+ }]),
6113
+ style: vue.normalizeStyle(cellStyle.value)
6114
+ }, [
6115
+ _ctx.html ? (vue.openBlock(), vue.createElementBlock("span", {
6116
+ key: 0,
6117
+ innerHTML: _ctx.value
6118
+ }, null, 8, _hoisted_1$1)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6119
+ vue.createTextVNode(vue.toDisplayString(_ctx.value), 1)
6120
+ ], 64))
6121
+ ], 6)
6122
+ ]),
6123
+ _: 1
6124
+ })) : (vue.openBlock(), vue.createElementBlock("div", {
6125
+ key: 1,
6126
+ ref_key: "cellRef",
6127
+ ref: cellRef,
6128
+ class: vue.normalizeClass(["bh-truncate-cell", {
6129
+ "bh-truncate-single": _ctx.truncate && _ctx.truncateLines === 1,
6130
+ "bh-truncate-multi": _ctx.truncate && _ctx.truncateLines > 1
6131
+ }]),
6132
+ style: vue.normalizeStyle(cellStyle.value)
6133
+ }, [
6134
+ _ctx.html ? (vue.openBlock(), vue.createElementBlock("span", {
6135
+ key: 0,
6136
+ innerHTML: _ctx.value
6137
+ }, null, 8, _hoisted_4$1)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6138
+ vue.createTextVNode(vue.toDisplayString(_ctx.value), 1)
6139
+ ], 64))
6140
+ ], 6));
6141
+ };
6142
+ }
6143
+ });
6037
6144
  const _hoisted_1 = { class: "bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal" };
6038
6145
  const _hoisted_2 = { class: "bh-flex bh-h-full" };
6039
6146
  const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("span", null, "##Left Menu Slot##", -1);
@@ -6062,102 +6169,100 @@ const _hoisted_11 = ["onClick"];
6062
6169
  const _hoisted_12 = { class: "bh-checkbox" };
6063
6170
  const _hoisted_13 = ["value"];
6064
6171
  const _hoisted_14 = ["onContextmenu"];
6065
- const _hoisted_15 = ["innerHTML"];
6066
- const _hoisted_16 = ["onClick"];
6172
+ const _hoisted_15 = ["onClick"];
6173
+ const _hoisted_16 = ["colspan"];
6067
6174
  const _hoisted_17 = ["colspan"];
6068
- const _hoisted_18 = ["colspan"];
6069
- const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6070
- const _hoisted_20 = [
6071
- _hoisted_19
6175
+ const _hoisted_18 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6176
+ const _hoisted_19 = [
6177
+ _hoisted_18
6072
6178
  ];
6073
- const _hoisted_21 = ["colspan"];
6074
- const _hoisted_22 = /* @__PURE__ */ vue.createElementVNode("span", null, "##Table Header Area Slot##", -1);
6075
- const _hoisted_23 = ["onClick"];
6076
- const _hoisted_24 = { class: "bh-checkbox" };
6077
- const _hoisted_25 = ["value"];
6078
- const _hoisted_26 = ["onContextmenu"];
6079
- const _hoisted_27 = ["innerHTML"];
6080
- const _hoisted_28 = ["onClick"];
6081
- const _hoisted_29 = ["colspan"];
6082
- const _hoisted_30 = ["colspan"];
6083
- const _hoisted_31 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6084
- const _hoisted_32 = [
6085
- _hoisted_31
6179
+ const _hoisted_20 = ["colspan"];
6180
+ const _hoisted_21 = /* @__PURE__ */ vue.createElementVNode("span", null, "##Table Header Area Slot##", -1);
6181
+ const _hoisted_22 = ["onClick"];
6182
+ const _hoisted_23 = { class: "bh-checkbox" };
6183
+ const _hoisted_24 = ["value"];
6184
+ const _hoisted_25 = ["onContextmenu"];
6185
+ const _hoisted_26 = ["onClick"];
6186
+ const _hoisted_27 = ["colspan"];
6187
+ const _hoisted_28 = ["colspan"];
6188
+ const _hoisted_29 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6189
+ const _hoisted_30 = [
6190
+ _hoisted_29
6086
6191
  ];
6087
- const _hoisted_33 = ["colspan"];
6088
- const _hoisted_34 = { class: "bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4" };
6089
- const _hoisted_35 = { class: "bh-pagination-info bh-flex bh-items-center" };
6090
- const _hoisted_36 = { class: "bh-mr-2" };
6091
- const _hoisted_37 = ["value"];
6092
- const _hoisted_38 = { class: "bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1" };
6093
- const _hoisted_39 = ["innerHTML"];
6094
- const _hoisted_40 = {
6192
+ const _hoisted_31 = ["colspan"];
6193
+ const _hoisted_32 = { class: "bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4" };
6194
+ const _hoisted_33 = { class: "bh-pagination-info bh-flex bh-items-center" };
6195
+ const _hoisted_34 = { class: "bh-mr-2" };
6196
+ const _hoisted_35 = ["value"];
6197
+ const _hoisted_36 = { class: "bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1" };
6198
+ const _hoisted_37 = ["innerHTML"];
6199
+ const _hoisted_38 = {
6095
6200
  key: 1,
6096
6201
  "aria-hidden": "true",
6097
6202
  width: "14",
6098
6203
  height: "14",
6099
6204
  viewBox: "0 0 16 16"
6100
6205
  };
6101
- const _hoisted_41 = /* @__PURE__ */ vue.createElementVNode("g", {
6206
+ const _hoisted_39 = /* @__PURE__ */ vue.createElementVNode("g", {
6102
6207
  fill: "currentColor",
6103
6208
  "fill-rule": "evenodd"
6104
6209
  }, [
6105
6210
  /* @__PURE__ */ vue.createElementVNode("path", { d: "M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z" }),
6106
6211
  /* @__PURE__ */ vue.createElementVNode("path", { d: "M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z" })
6107
6212
  ], -1);
6108
- const _hoisted_42 = [
6109
- _hoisted_41
6213
+ const _hoisted_40 = [
6214
+ _hoisted_39
6110
6215
  ];
6111
- const _hoisted_43 = ["innerHTML"];
6112
- const _hoisted_44 = {
6216
+ const _hoisted_41 = ["innerHTML"];
6217
+ const _hoisted_42 = {
6113
6218
  key: 1,
6114
6219
  "aria-hidden": "true",
6115
6220
  width: "14",
6116
6221
  height: "14",
6117
6222
  viewBox: "0 0 16 16"
6118
6223
  };
6119
- const _hoisted_45 = /* @__PURE__ */ vue.createElementVNode("path", {
6224
+ const _hoisted_43 = /* @__PURE__ */ vue.createElementVNode("path", {
6120
6225
  fill: "currentColor",
6121
6226
  "fill-rule": "evenodd",
6122
6227
  d: "M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"
6123
6228
  }, null, -1);
6124
- const _hoisted_46 = [
6125
- _hoisted_45
6229
+ const _hoisted_44 = [
6230
+ _hoisted_43
6126
6231
  ];
6127
- const _hoisted_47 = ["onClick"];
6128
- const _hoisted_48 = ["innerHTML"];
6129
- const _hoisted_49 = {
6232
+ const _hoisted_45 = ["onClick"];
6233
+ const _hoisted_46 = ["innerHTML"];
6234
+ const _hoisted_47 = {
6130
6235
  key: 1,
6131
6236
  "aria-hidden": "true",
6132
6237
  width: "14",
6133
6238
  height: "14",
6134
6239
  viewBox: "0 0 16 16"
6135
6240
  };
6136
- const _hoisted_50 = /* @__PURE__ */ vue.createElementVNode("path", {
6241
+ const _hoisted_48 = /* @__PURE__ */ vue.createElementVNode("path", {
6137
6242
  fill: "currentColor",
6138
6243
  "fill-rule": "evenodd",
6139
6244
  d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z"
6140
6245
  }, null, -1);
6141
- const _hoisted_51 = [
6142
- _hoisted_50
6246
+ const _hoisted_49 = [
6247
+ _hoisted_48
6143
6248
  ];
6144
- const _hoisted_52 = ["innerHTML"];
6145
- const _hoisted_53 = {
6249
+ const _hoisted_50 = ["innerHTML"];
6250
+ const _hoisted_51 = {
6146
6251
  key: 1,
6147
6252
  "aria-hidden": "true",
6148
6253
  width: "14",
6149
6254
  height: "14",
6150
6255
  viewBox: "0 0 16 16"
6151
6256
  };
6152
- const _hoisted_54 = /* @__PURE__ */ vue.createElementVNode("g", {
6257
+ const _hoisted_52 = /* @__PURE__ */ vue.createElementVNode("g", {
6153
6258
  fill: "currentColor",
6154
6259
  "fill-rule": "evenodd"
6155
6260
  }, [
6156
6261
  /* @__PURE__ */ vue.createElementVNode("path", { d: "M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z" }),
6157
6262
  /* @__PURE__ */ vue.createElementVNode("path", { d: "M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z" })
6158
6263
  ], -1);
6159
- const _hoisted_55 = [
6160
- _hoisted_54
6264
+ const _hoisted_53 = [
6265
+ _hoisted_52
6161
6266
  ];
6162
6267
  const __default__ = {
6163
6268
  name: "Vue3Datatable"
@@ -6194,6 +6299,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6194
6299
  sortDirection: { default: "asc" },
6195
6300
  columnFilter: { type: Boolean, default: false },
6196
6301
  columnFilterLang: { default: null },
6302
+ filterDebounce: { default: 100 },
6197
6303
  useNewColumnFilter: { type: Boolean, default: false },
6198
6304
  showFloatingFilterLabel: { type: Boolean, default: false },
6199
6305
  pagination: { type: Boolean, default: true },
@@ -6231,7 +6337,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6231
6337
  footerOffset: { default: 0 },
6232
6338
  tableRightOffset: { default: 0 },
6233
6339
  tableLeftOffset: { default: 5 },
6234
- initialLeftMenuState: { type: Boolean, default: void 0 }
6340
+ initialLeftMenuState: { type: Boolean, default: void 0 },
6341
+ truncate: { type: Boolean, default: true },
6342
+ defaultMaxWidth: { default: "400px" },
6343
+ truncateLines: { default: 1 }
6235
6344
  },
6236
6345
  emits: [
6237
6346
  "change",
@@ -6264,6 +6373,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6264
6373
  item.search = item.search !== void 0 ? item.search : true;
6265
6374
  item.sort = item.sort !== void 0 ? item.sort : true;
6266
6375
  item.html = item.html !== void 0 ? item.html : false;
6376
+ item.truncate = item.truncate !== void 0 ? item.truncate : props.truncate;
6377
+ item.maxWidth = item.maxWidth !== void 0 ? item.maxWidth : props.defaultMaxWidth;
6378
+ item.truncateLines = item.truncateLines !== void 0 ? item.truncateLines : props.truncateLines;
6379
+ item.showTooltip = item.showTooltip !== void 0 ? item.showTooltip : true;
6267
6380
  if (item.value !== void 0 && item.value !== null && item.value !== "") {
6268
6381
  item.condition = item.condition || "Equal";
6269
6382
  } else {
@@ -7122,7 +7235,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7122
7235
  "bh-sticky bh-top-0 bh-z-10": props.stickyHeader
7123
7236
  })
7124
7237
  }, [
7125
- vue.createVNode(_sfc_main$1, {
7238
+ vue.createVNode(_sfc_main$2, {
7126
7239
  ref_key: "columnHeaderRef",
7127
7240
  ref: columnHeaderRef,
7128
7241
  all: props,
@@ -7231,18 +7344,30 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7231
7344
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7232
7345
  col.cellClass ? col.cellClass : ""
7233
7346
  ]),
7347
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 }),
7234
7348
  onContextmenu: ($event) => handleCellContextMenu($event, item, col, cellValue(item, col.field), i2, j)
7235
7349
  }, [
7236
7350
  vue.unref(slots)[col.field] ? vue.renderSlot(_ctx.$slots, col.field, {
7237
7351
  key: 0,
7238
7352
  value: item
7239
- }) : col.cellRenderer ? (vue.openBlock(), vue.createElementBlock("div", {
7353
+ }) : col.cellRenderer ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7240
7354
  key: 1,
7241
- innerHTML: col.cellRenderer(item)
7242
- }, null, 8, _hoisted_15)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7243
- vue.createTextVNode(vue.toDisplayString(cellValue(item, col.field)), 1)
7244
- ], 64))
7245
- ], 42, _hoisted_14)) : vue.createCommentVNode("", true)
7355
+ value: col.cellRenderer(item),
7356
+ truncate: col.truncate !== false,
7357
+ "max-width": col.maxWidth,
7358
+ "truncate-lines": col.truncateLines || 1,
7359
+ "show-tooltip": col.showTooltip !== false,
7360
+ html: true
7361
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip"])) : (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7362
+ key: 2,
7363
+ value: cellValue(item, col.field),
7364
+ truncate: col.truncate !== false,
7365
+ "max-width": col.maxWidth,
7366
+ "truncate-lines": col.truncateLines || 1,
7367
+ "show-tooltip": col.showTooltip !== false,
7368
+ html: col.html
7369
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip", "html"]))
7370
+ ], 46, _hoisted_14)) : vue.createCommentVNode("", true)
7246
7371
  ], 64);
7247
7372
  }), 256))
7248
7373
  ], 10, _hoisted_11)) : vue.createCommentVNode("", true),
@@ -7262,8 +7387,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7262
7387
  rowIndex: i2,
7263
7388
  filterItems: filterItems.value
7264
7389
  })
7265
- ], 8, _hoisted_17)
7266
- ], 10, _hoisted_16)) : vue.createCommentVNode("", true)
7390
+ ], 8, _hoisted_16)
7391
+ ], 10, _hoisted_15)) : vue.createCommentVNode("", true)
7267
7392
  ], 64);
7268
7393
  }), 128)),
7269
7394
  !filterRowCount.value && currentLoader.value && _ctx.skeletonloader ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(props.pageSize, (i2) => {
@@ -7274,7 +7399,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7274
7399
  vue.createElementVNode("td", {
7275
7400
  colspan: props.columns.length + vue.unref(extracolumnlength),
7276
7401
  class: "!bh-p-0 !bh-border-transparent"
7277
- }, _hoisted_20, 8, _hoisted_18)
7402
+ }, _hoisted_19, 8, _hoisted_17)
7278
7403
  ]);
7279
7404
  }), 128)) : vue.createCommentVNode("", true),
7280
7405
  filterRowCount.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(props.footerRows, (item, i2) => {
@@ -7285,7 +7410,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7285
7410
  vue.unref(extracolumnlength) > 0 ? (vue.openBlock(), vue.createElementBlock("td", {
7286
7411
  key: 0,
7287
7412
  colspan: vue.unref(extracolumnlength)
7288
- }, null, 8, _hoisted_21)) : vue.createCommentVNode("", true),
7413
+ }, null, 8, _hoisted_20)) : vue.createCommentVNode("", true),
7289
7414
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.columns, (col, j) => {
7290
7415
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7291
7416
  !col.hide && !col.dataOnly ? (vue.openBlock(), vue.createElementBlock("td", {
@@ -7295,12 +7420,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7295
7420
  j === 0 && props.stickyFirstColumn ? "bh-sticky bh-left-0 bh-bg-blue-light" : "",
7296
7421
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7297
7422
  col.cellClass ? col.cellClass : ""
7298
- ])
7423
+ ]),
7424
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 })
7299
7425
  }, [
7300
- item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
7301
- vue.createTextVNode(vue.toDisplayString(item.cells.find((x2) => x2.field == col.field).text), 1)
7302
- ], 64)) : vue.createCommentVNode("", true)
7303
- ], 2)) : vue.createCommentVNode("", true)
7426
+ item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7427
+ key: 0,
7428
+ value: item.cells.find((x2) => x2.field == col.field).text,
7429
+ truncate: col.truncate !== false,
7430
+ "max-width": col.maxWidth,
7431
+ "truncate-lines": col.truncateLines || 1,
7432
+ "show-tooltip": col.showTooltip !== false,
7433
+ html: false
7434
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip"])) : vue.createCommentVNode("", true)
7435
+ ], 6)) : vue.createCommentVNode("", true)
7304
7436
  ], 64);
7305
7437
  }), 256))
7306
7438
  ]);
@@ -7312,7 +7444,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7312
7444
  "bh-sticky bh-bottom-0": props.stickyHeader
7313
7445
  })
7314
7446
  }, [
7315
- vue.createVNode(_sfc_main$1, {
7447
+ vue.createVNode(_sfc_main$2, {
7316
7448
  all: props,
7317
7449
  currentSortColumn: currentSortColumn.value,
7318
7450
  currentSortDirection: currentSortDirection.value,
@@ -7379,7 +7511,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7379
7511
  style: vue.normalizeStyle({ height: _ctx.headerAreaHeight, "margin-bottom": "10px" })
7380
7512
  }, [
7381
7513
  vue.renderSlot(_ctx.$slots, "tableHeaderArea", {}, () => [
7382
- _hoisted_22
7514
+ _hoisted_21
7383
7515
  ])
7384
7516
  ], 4)) : vue.createCommentVNode("", true),
7385
7517
  vue.renderSlot(_ctx.$slots, "tableactionheader"),
@@ -7398,7 +7530,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7398
7530
  "bh-sticky bh-top-0 bh-z-10": props.stickyHeader
7399
7531
  })
7400
7532
  }, [
7401
- vue.createVNode(_sfc_main$1, {
7533
+ vue.createVNode(_sfc_main$2, {
7402
7534
  all: props,
7403
7535
  expandedrows: expandedrows.value,
7404
7536
  currentSortColumn: currentSortColumn.value,
@@ -7449,14 +7581,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7449
7581
  "bh-sticky bh-left-0 bh-bg-blue-light": props.stickyFirstColumn
7450
7582
  })
7451
7583
  }, [
7452
- vue.createElementVNode("div", _hoisted_24, [
7584
+ vue.createElementVNode("div", _hoisted_23, [
7453
7585
  vue.withDirectives(vue.createElementVNode("input", {
7454
7586
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => selected.value = $event),
7455
7587
  type: "checkbox",
7456
7588
  value: getRowKey(i2),
7457
7589
  onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
7458
7590
  }, ["stop"]))
7459
- }, null, 8, _hoisted_25), [
7591
+ }, null, 8, _hoisted_24), [
7460
7592
  [vue.vModelCheckbox, selected.value]
7461
7593
  ]),
7462
7594
  vue.createElementVNode("div", null, [
@@ -7505,21 +7637,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7505
7637
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7506
7638
  col.cellClass ? col.cellClass : ""
7507
7639
  ]),
7640
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 }),
7508
7641
  onContextmenu: ($event) => handleCellContextMenu($event, item, col, cellValue(item, col.field), i2, j)
7509
7642
  }, [
7510
7643
  vue.unref(slots)[col.field] ? vue.renderSlot(_ctx.$slots, col.field, {
7511
7644
  key: 0,
7512
7645
  value: item
7513
- }) : col.cellRenderer ? (vue.openBlock(), vue.createElementBlock("div", {
7646
+ }) : col.cellRenderer ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7514
7647
  key: 1,
7515
- innerHTML: col.cellRenderer(item)
7516
- }, null, 8, _hoisted_27)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7517
- vue.createTextVNode(vue.toDisplayString(cellValue(item, col.field)), 1)
7518
- ], 64))
7519
- ], 42, _hoisted_26)) : vue.createCommentVNode("", true)
7648
+ value: col.cellRenderer(item),
7649
+ truncate: col.truncate !== false,
7650
+ "max-width": col.maxWidth,
7651
+ "truncate-lines": col.truncateLines || 1,
7652
+ "show-tooltip": col.showTooltip !== false,
7653
+ html: true
7654
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip"])) : (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7655
+ key: 2,
7656
+ value: cellValue(item, col.field),
7657
+ truncate: col.truncate !== false,
7658
+ "max-width": col.maxWidth,
7659
+ "truncate-lines": col.truncateLines || 1,
7660
+ "show-tooltip": col.showTooltip !== false,
7661
+ html: col.html
7662
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip", "html"]))
7663
+ ], 46, _hoisted_25)) : vue.createCommentVNode("", true)
7520
7664
  ], 64);
7521
7665
  }), 256))
7522
- ], 10, _hoisted_23)) : vue.createCommentVNode("", true),
7666
+ ], 10, _hoisted_22)) : vue.createCommentVNode("", true),
7523
7667
  isRowExpanded(item, i2) && props.hasSubtable ? (vue.openBlock(), vue.createElementBlock("tr", {
7524
7668
  key: 1,
7525
7669
  class: vue.normalizeClass([
@@ -7547,8 +7691,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7547
7691
  filterItems: filterItems.value
7548
7692
  })
7549
7693
  ], 4)
7550
- ], 8, _hoisted_29)
7551
- ], 10, _hoisted_28)) : vue.createCommentVNode("", true)
7694
+ ], 8, _hoisted_27)
7695
+ ], 10, _hoisted_26)) : vue.createCommentVNode("", true)
7552
7696
  ], 64);
7553
7697
  }), 128)),
7554
7698
  !filterRowCount.value && currentLoader.value && _ctx.skeletonloader ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(props.pageSize, (i2) => {
@@ -7559,7 +7703,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7559
7703
  vue.createElementVNode("td", {
7560
7704
  colspan: props.columns.length + vue.unref(extracolumnlength),
7561
7705
  class: "!bh-p-0 !bh-border-transparent"
7562
- }, _hoisted_32, 8, _hoisted_30)
7706
+ }, _hoisted_30, 8, _hoisted_28)
7563
7707
  ]);
7564
7708
  }), 128)) : vue.createCommentVNode("", true),
7565
7709
  filterRowCount.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(props.footerRows, (item, i2) => {
@@ -7570,7 +7714,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7570
7714
  vue.unref(extracolumnlength) > 0 ? (vue.openBlock(), vue.createElementBlock("td", {
7571
7715
  key: 0,
7572
7716
  colspan: vue.unref(extracolumnlength)
7573
- }, null, 8, _hoisted_33)) : vue.createCommentVNode("", true),
7717
+ }, null, 8, _hoisted_31)) : vue.createCommentVNode("", true),
7574
7718
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.columns, (col, j) => {
7575
7719
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7576
7720
  !col.hide && !col.dataOnly ? (vue.openBlock(), vue.createElementBlock("td", {
@@ -7580,12 +7724,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7580
7724
  j === 0 && props.stickyFirstColumn ? "bh-sticky bh-left-0 bh-bg-blue-light" : "",
7581
7725
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7582
7726
  col.cellClass ? col.cellClass : ""
7583
- ])
7727
+ ]),
7728
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 })
7584
7729
  }, [
7585
- item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
7586
- vue.createTextVNode(vue.toDisplayString(item.cells.find((x2) => x2.field == col.field).text), 1)
7587
- ], 64)) : vue.createCommentVNode("", true)
7588
- ], 2)) : vue.createCommentVNode("", true)
7730
+ item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7731
+ key: 0,
7732
+ value: item.cells.find((x2) => x2.field == col.field).text,
7733
+ truncate: col.truncate !== false,
7734
+ "max-width": col.maxWidth,
7735
+ "truncate-lines": col.truncateLines || 1,
7736
+ "show-tooltip": col.showTooltip !== false,
7737
+ html: false
7738
+ }, null, 8, ["value", "truncate", "max-width", "truncate-lines", "show-tooltip"])) : vue.createCommentVNode("", true)
7739
+ ], 6)) : vue.createCommentVNode("", true)
7589
7740
  ], 64);
7590
7741
  }), 256))
7591
7742
  ]);
@@ -7595,7 +7746,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7595
7746
  key: 0,
7596
7747
  class: vue.normalizeClass({ "bh-sticky bh-bottom-0": props.stickyHeader })
7597
7748
  }, [
7598
- vue.createVNode(_sfc_main$1, {
7749
+ vue.createVNode(_sfc_main$2, {
7599
7750
  all: props,
7600
7751
  currentSortColumn: currentSortColumn.value,
7601
7752
  currentSortDirection: currentSortDirection.value,
@@ -7658,7 +7809,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7658
7809
  "sticky-footer": props.stickyFooter
7659
7810
  }])
7660
7811
  }, [
7661
- vue.createElementVNode("div", _hoisted_34, [
7812
+ vue.createElementVNode("div", _hoisted_32, [
7662
7813
  _ctx.enablefooterpagination ? vue.renderSlot(_ctx.$slots, "footerpageinfo", {
7663
7814
  key: 0,
7664
7815
  paginationInfo: _ctx.paginationInfo,
@@ -7671,8 +7822,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7671
7822
  stringFormat,
7672
7823
  setPageSize
7673
7824
  }, () => [
7674
- vue.createElementVNode("div", _hoisted_35, [
7675
- vue.createElementVNode("span", _hoisted_36, vue.toDisplayString(stringFormat(
7825
+ vue.createElementVNode("div", _hoisted_33, [
7826
+ vue.createElementVNode("span", _hoisted_34, vue.toDisplayString(stringFormat(
7676
7827
  props.paginationInfo,
7677
7828
  filterRowCount.value ? offset2.value : 0,
7678
7829
  limit.value,
@@ -7687,7 +7838,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7687
7838
  return vue.openBlock(), vue.createElementBlock("option", {
7688
7839
  value: option,
7689
7840
  key: option
7690
- }, vue.toDisplayString(option), 9, _hoisted_37);
7841
+ }, vue.toDisplayString(option), 9, _hoisted_35);
7691
7842
  }), 128))
7692
7843
  ], 512)), [
7693
7844
  [vue.vModelSelect, currentPageSize.value]
@@ -7703,7 +7854,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7703
7854
  nextPage,
7704
7855
  previousPage
7705
7856
  }, () => [
7706
- vue.createElementVNode("div", _hoisted_38, [
7857
+ vue.createElementVNode("div", _hoisted_36, [
7707
7858
  props.showFirstPage ? (vue.openBlock(), vue.createElementBlock("button", {
7708
7859
  key: 0,
7709
7860
  type: "button",
@@ -7713,7 +7864,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7713
7864
  props.firstArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7714
7865
  key: 0,
7715
7866
  innerHTML: props.firstArrow
7716
- }, null, 8, _hoisted_39)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_40, _hoisted_42))
7867
+ }, null, 8, _hoisted_37)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_38, _hoisted_40))
7717
7868
  ], 2)) : vue.createCommentVNode("", true),
7718
7869
  vue.createElementVNode("button", {
7719
7870
  type: "button",
@@ -7723,7 +7874,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7723
7874
  props.previousArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7724
7875
  key: 0,
7725
7876
  innerHTML: props.previousArrow
7726
- }, null, 8, _hoisted_43)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_44, _hoisted_46))
7877
+ }, null, 8, _hoisted_41)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_42, _hoisted_44))
7727
7878
  ], 2),
7728
7879
  props.showNumbers ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(paging.value, (page) => {
7729
7880
  return vue.openBlock(), vue.createElementBlock("button", {
@@ -7734,7 +7885,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7734
7885
  "bh-active": page === currentPage.value
7735
7886
  }]),
7736
7887
  onClick: ($event) => movePage(page)
7737
- }, vue.toDisplayString(page), 11, _hoisted_47);
7888
+ }, vue.toDisplayString(page), 11, _hoisted_45);
7738
7889
  }), 128)) : vue.createCommentVNode("", true),
7739
7890
  vue.createElementVNode("button", {
7740
7891
  type: "button",
@@ -7744,7 +7895,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7744
7895
  props.nextArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7745
7896
  key: 0,
7746
7897
  innerHTML: props.nextArrow
7747
- }, null, 8, _hoisted_48)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_49, _hoisted_51))
7898
+ }, null, 8, _hoisted_46)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_47, _hoisted_49))
7748
7899
  ], 2),
7749
7900
  props.showLastPage ? (vue.openBlock(), vue.createElementBlock("button", {
7750
7901
  key: 2,
@@ -7755,7 +7906,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7755
7906
  props.lastArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7756
7907
  key: 0,
7757
7908
  innerHTML: props.lastArrow
7758
- }, null, 8, _hoisted_52)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_53, _hoisted_55))
7909
+ }, null, 8, _hoisted_50)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_51, _hoisted_53))
7759
7910
  ], 2)) : vue.createCommentVNode("", true)
7760
7911
  ])
7761
7912
  ]) : vue.createCommentVNode("", true)