@dolusoft/vue3-datatable 1.8.42 → 1.8.44

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",
@@ -5673,7 +5673,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5673
5673
  });
5674
5674
  return (_ctx, _cache) => {
5675
5675
  const _component_VDropdown = vue.resolveComponent("VDropdown");
5676
- return vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$1, [
5676
+ return vue.openBlock(), vue.createElementBlock("tr", _hoisted_1$2, [
5677
5677
  props.all.hasCheckbox ? (vue.openBlock(), vue.createElementBlock("th", {
5678
5678
  key: "chkall",
5679
5679
  style: vue.normalizeStyle({
@@ -5686,7 +5686,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5686
5686
  "bh-left-0": props.all.stickyFirstColumn
5687
5687
  })
5688
5688
  }, [
5689
- vue.createElementVNode("div", _hoisted_2$1, [
5689
+ vue.createElementVNode("div", _hoisted_2$2, [
5690
5690
  vue.createElementVNode("input", {
5691
5691
  ref_key: "selectedAll",
5692
5692
  ref: selectedAll,
@@ -5701,7 +5701,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5701
5701
  vue.createVNode(iconDash, { class: "intermediate" })
5702
5702
  ])
5703
5703
  ]),
5704
- 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, [
5705
5705
  vue.createVNode(vue.unref(Vt), {
5706
5706
  placement: "top",
5707
5707
  distance: 6
@@ -5718,7 +5718,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5718
5718
  }]),
5719
5719
  disabled: !hasAnyActiveFilterLocal.value,
5720
5720
  onClick: vue.withModifiers(handleClearAllFilters, ["stop"])
5721
- }, _hoisted_6$1, 10, _hoisted_4$1)) : vue.createCommentVNode("", true)
5721
+ }, _hoisted_6$1, 10, _hoisted_4$2)) : vue.createCommentVNode("", true)
5722
5722
  ]),
5723
5723
  _: 1
5724
5724
  })
@@ -5974,7 +5974,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5974
5974
  }])
5975
5975
  }, null, 8, ["class"])
5976
5976
  ], 10, _hoisted_35$1)) : vue.createCommentVNode("", true),
5977
- !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, {
5978
5978
  key: 3,
5979
5979
  column: col,
5980
5980
  type: col.type,
@@ -5994,7 +5994,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5994
5994
  onApplyHide: _cache[8] || (_cache[8] = ($event) => emit("toggleFilterMenu", null))
5995
5995
  }, {
5996
5996
  popper: vue.withCtx(() => [
5997
- vue.createVNode(_sfc_main$5, {
5997
+ vue.createVNode(_sfc_main$6, {
5998
5998
  column: col,
5999
5999
  columnFilterLang: props.columnFilterLang,
6000
6000
  currentSortColumn: props.currentSortColumn,
@@ -6036,6 +6036,111 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
6036
6036
  };
6037
6037
  }
6038
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
+ });
6039
6144
  const _hoisted_1 = { class: "bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal" };
6040
6145
  const _hoisted_2 = { class: "bh-flex bh-h-full" };
6041
6146
  const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("span", null, "##Left Menu Slot##", -1);
@@ -6064,102 +6169,100 @@ const _hoisted_11 = ["onClick"];
6064
6169
  const _hoisted_12 = { class: "bh-checkbox" };
6065
6170
  const _hoisted_13 = ["value"];
6066
6171
  const _hoisted_14 = ["onContextmenu"];
6067
- const _hoisted_15 = ["innerHTML"];
6068
- const _hoisted_16 = ["onClick"];
6172
+ const _hoisted_15 = ["onClick"];
6173
+ const _hoisted_16 = ["colspan"];
6069
6174
  const _hoisted_17 = ["colspan"];
6070
- const _hoisted_18 = ["colspan"];
6071
- const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6072
- const _hoisted_20 = [
6073
- _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
6074
6178
  ];
6075
- const _hoisted_21 = ["colspan"];
6076
- const _hoisted_22 = /* @__PURE__ */ vue.createElementVNode("span", null, "##Table Header Area Slot##", -1);
6077
- const _hoisted_23 = ["onClick"];
6078
- const _hoisted_24 = { class: "bh-checkbox" };
6079
- const _hoisted_25 = ["value"];
6080
- const _hoisted_26 = ["onContextmenu"];
6081
- const _hoisted_27 = ["innerHTML"];
6082
- const _hoisted_28 = ["onClick"];
6083
- const _hoisted_29 = ["colspan"];
6084
- const _hoisted_30 = ["colspan"];
6085
- const _hoisted_31 = /* @__PURE__ */ vue.createElementVNode("div", { class: "bh-skeleton-box bh-h-8" }, null, -1);
6086
- const _hoisted_32 = [
6087
- _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
6088
6191
  ];
6089
- const _hoisted_33 = ["colspan"];
6090
- const _hoisted_34 = { class: "bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4" };
6091
- const _hoisted_35 = { class: "bh-pagination-info bh-flex bh-items-center" };
6092
- const _hoisted_36 = { class: "bh-mr-2" };
6093
- const _hoisted_37 = ["value"];
6094
- const _hoisted_38 = { class: "bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1" };
6095
- const _hoisted_39 = ["innerHTML"];
6096
- 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 = {
6097
6200
  key: 1,
6098
6201
  "aria-hidden": "true",
6099
6202
  width: "14",
6100
6203
  height: "14",
6101
6204
  viewBox: "0 0 16 16"
6102
6205
  };
6103
- const _hoisted_41 = /* @__PURE__ */ vue.createElementVNode("g", {
6206
+ const _hoisted_39 = /* @__PURE__ */ vue.createElementVNode("g", {
6104
6207
  fill: "currentColor",
6105
6208
  "fill-rule": "evenodd"
6106
6209
  }, [
6107
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" }),
6108
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" })
6109
6212
  ], -1);
6110
- const _hoisted_42 = [
6111
- _hoisted_41
6213
+ const _hoisted_40 = [
6214
+ _hoisted_39
6112
6215
  ];
6113
- const _hoisted_43 = ["innerHTML"];
6114
- const _hoisted_44 = {
6216
+ const _hoisted_41 = ["innerHTML"];
6217
+ const _hoisted_42 = {
6115
6218
  key: 1,
6116
6219
  "aria-hidden": "true",
6117
6220
  width: "14",
6118
6221
  height: "14",
6119
6222
  viewBox: "0 0 16 16"
6120
6223
  };
6121
- const _hoisted_45 = /* @__PURE__ */ vue.createElementVNode("path", {
6224
+ const _hoisted_43 = /* @__PURE__ */ vue.createElementVNode("path", {
6122
6225
  fill: "currentColor",
6123
6226
  "fill-rule": "evenodd",
6124
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"
6125
6228
  }, null, -1);
6126
- const _hoisted_46 = [
6127
- _hoisted_45
6229
+ const _hoisted_44 = [
6230
+ _hoisted_43
6128
6231
  ];
6129
- const _hoisted_47 = ["onClick"];
6130
- const _hoisted_48 = ["innerHTML"];
6131
- const _hoisted_49 = {
6232
+ const _hoisted_45 = ["onClick"];
6233
+ const _hoisted_46 = ["innerHTML"];
6234
+ const _hoisted_47 = {
6132
6235
  key: 1,
6133
6236
  "aria-hidden": "true",
6134
6237
  width: "14",
6135
6238
  height: "14",
6136
6239
  viewBox: "0 0 16 16"
6137
6240
  };
6138
- const _hoisted_50 = /* @__PURE__ */ vue.createElementVNode("path", {
6241
+ const _hoisted_48 = /* @__PURE__ */ vue.createElementVNode("path", {
6139
6242
  fill: "currentColor",
6140
6243
  "fill-rule": "evenodd",
6141
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"
6142
6245
  }, null, -1);
6143
- const _hoisted_51 = [
6144
- _hoisted_50
6246
+ const _hoisted_49 = [
6247
+ _hoisted_48
6145
6248
  ];
6146
- const _hoisted_52 = ["innerHTML"];
6147
- const _hoisted_53 = {
6249
+ const _hoisted_50 = ["innerHTML"];
6250
+ const _hoisted_51 = {
6148
6251
  key: 1,
6149
6252
  "aria-hidden": "true",
6150
6253
  width: "14",
6151
6254
  height: "14",
6152
6255
  viewBox: "0 0 16 16"
6153
6256
  };
6154
- const _hoisted_54 = /* @__PURE__ */ vue.createElementVNode("g", {
6257
+ const _hoisted_52 = /* @__PURE__ */ vue.createElementVNode("g", {
6155
6258
  fill: "currentColor",
6156
6259
  "fill-rule": "evenodd"
6157
6260
  }, [
6158
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" }),
6159
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" })
6160
6263
  ], -1);
6161
- const _hoisted_55 = [
6162
- _hoisted_54
6264
+ const _hoisted_53 = [
6265
+ _hoisted_52
6163
6266
  ];
6164
6267
  const __default__ = {
6165
6268
  name: "Vue3Datatable"
@@ -6234,7 +6337,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6234
6337
  footerOffset: { default: 0 },
6235
6338
  tableRightOffset: { default: 0 },
6236
6339
  tableLeftOffset: { default: 5 },
6237
- 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 }
6238
6344
  },
6239
6345
  emits: [
6240
6346
  "change",
@@ -6267,6 +6373,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6267
6373
  item.search = item.search !== void 0 ? item.search : true;
6268
6374
  item.sort = item.sort !== void 0 ? item.sort : true;
6269
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 || props.defaultMaxWidth;
6378
+ item.truncateLines = item.truncateLines || props.truncateLines;
6379
+ item.showTooltip = item.showTooltip !== void 0 ? item.showTooltip : true;
6270
6380
  if (item.value !== void 0 && item.value !== null && item.value !== "") {
6271
6381
  item.condition = item.condition || "Equal";
6272
6382
  } else {
@@ -7125,7 +7235,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7125
7235
  "bh-sticky bh-top-0 bh-z-10": props.stickyHeader
7126
7236
  })
7127
7237
  }, [
7128
- vue.createVNode(_sfc_main$1, {
7238
+ vue.createVNode(_sfc_main$2, {
7129
7239
  ref_key: "columnHeaderRef",
7130
7240
  ref: columnHeaderRef,
7131
7241
  all: props,
@@ -7234,18 +7344,30 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7234
7344
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7235
7345
  col.cellClass ? col.cellClass : ""
7236
7346
  ]),
7347
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 }),
7237
7348
  onContextmenu: ($event) => handleCellContextMenu($event, item, col, cellValue(item, col.field), i2, j)
7238
7349
  }, [
7239
7350
  vue.unref(slots)[col.field] ? vue.renderSlot(_ctx.$slots, col.field, {
7240
7351
  key: 0,
7241
7352
  value: item
7242
- }) : col.cellRenderer ? (vue.openBlock(), vue.createElementBlock("div", {
7353
+ }) : col.cellRenderer ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7243
7354
  key: 1,
7244
- innerHTML: col.cellRenderer(item)
7245
- }, null, 8, _hoisted_15)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7246
- vue.createTextVNode(vue.toDisplayString(cellValue(item, col.field)), 1)
7247
- ], 64))
7248
- ], 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)
7249
7371
  ], 64);
7250
7372
  }), 256))
7251
7373
  ], 10, _hoisted_11)) : vue.createCommentVNode("", true),
@@ -7265,8 +7387,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7265
7387
  rowIndex: i2,
7266
7388
  filterItems: filterItems.value
7267
7389
  })
7268
- ], 8, _hoisted_17)
7269
- ], 10, _hoisted_16)) : vue.createCommentVNode("", true)
7390
+ ], 8, _hoisted_16)
7391
+ ], 10, _hoisted_15)) : vue.createCommentVNode("", true)
7270
7392
  ], 64);
7271
7393
  }), 128)),
7272
7394
  !filterRowCount.value && currentLoader.value && _ctx.skeletonloader ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(props.pageSize, (i2) => {
@@ -7277,7 +7399,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7277
7399
  vue.createElementVNode("td", {
7278
7400
  colspan: props.columns.length + vue.unref(extracolumnlength),
7279
7401
  class: "!bh-p-0 !bh-border-transparent"
7280
- }, _hoisted_20, 8, _hoisted_18)
7402
+ }, _hoisted_19, 8, _hoisted_17)
7281
7403
  ]);
7282
7404
  }), 128)) : vue.createCommentVNode("", true),
7283
7405
  filterRowCount.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(props.footerRows, (item, i2) => {
@@ -7288,7 +7410,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7288
7410
  vue.unref(extracolumnlength) > 0 ? (vue.openBlock(), vue.createElementBlock("td", {
7289
7411
  key: 0,
7290
7412
  colspan: vue.unref(extracolumnlength)
7291
- }, null, 8, _hoisted_21)) : vue.createCommentVNode("", true),
7413
+ }, null, 8, _hoisted_20)) : vue.createCommentVNode("", true),
7292
7414
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.columns, (col, j) => {
7293
7415
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7294
7416
  !col.hide && !col.dataOnly ? (vue.openBlock(), vue.createElementBlock("td", {
@@ -7298,12 +7420,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7298
7420
  j === 0 && props.stickyFirstColumn ? "bh-sticky bh-left-0 bh-bg-blue-light" : "",
7299
7421
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7300
7422
  col.cellClass ? col.cellClass : ""
7301
- ])
7423
+ ]),
7424
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 })
7302
7425
  }, [
7303
- item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
7304
- vue.createTextVNode(vue.toDisplayString(item.cells.find((x2) => x2.field == col.field).text), 1)
7305
- ], 64)) : vue.createCommentVNode("", true)
7306
- ], 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)
7307
7436
  ], 64);
7308
7437
  }), 256))
7309
7438
  ]);
@@ -7315,7 +7444,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7315
7444
  "bh-sticky bh-bottom-0": props.stickyHeader
7316
7445
  })
7317
7446
  }, [
7318
- vue.createVNode(_sfc_main$1, {
7447
+ vue.createVNode(_sfc_main$2, {
7319
7448
  all: props,
7320
7449
  currentSortColumn: currentSortColumn.value,
7321
7450
  currentSortDirection: currentSortDirection.value,
@@ -7382,7 +7511,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7382
7511
  style: vue.normalizeStyle({ height: _ctx.headerAreaHeight, "margin-bottom": "10px" })
7383
7512
  }, [
7384
7513
  vue.renderSlot(_ctx.$slots, "tableHeaderArea", {}, () => [
7385
- _hoisted_22
7514
+ _hoisted_21
7386
7515
  ])
7387
7516
  ], 4)) : vue.createCommentVNode("", true),
7388
7517
  vue.renderSlot(_ctx.$slots, "tableactionheader"),
@@ -7401,7 +7530,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7401
7530
  "bh-sticky bh-top-0 bh-z-10": props.stickyHeader
7402
7531
  })
7403
7532
  }, [
7404
- vue.createVNode(_sfc_main$1, {
7533
+ vue.createVNode(_sfc_main$2, {
7405
7534
  all: props,
7406
7535
  expandedrows: expandedrows.value,
7407
7536
  currentSortColumn: currentSortColumn.value,
@@ -7452,14 +7581,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7452
7581
  "bh-sticky bh-left-0 bh-bg-blue-light": props.stickyFirstColumn
7453
7582
  })
7454
7583
  }, [
7455
- vue.createElementVNode("div", _hoisted_24, [
7584
+ vue.createElementVNode("div", _hoisted_23, [
7456
7585
  vue.withDirectives(vue.createElementVNode("input", {
7457
7586
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => selected.value = $event),
7458
7587
  type: "checkbox",
7459
7588
  value: getRowKey(i2),
7460
7589
  onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
7461
7590
  }, ["stop"]))
7462
- }, null, 8, _hoisted_25), [
7591
+ }, null, 8, _hoisted_24), [
7463
7592
  [vue.vModelCheckbox, selected.value]
7464
7593
  ]),
7465
7594
  vue.createElementVNode("div", null, [
@@ -7508,21 +7637,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7508
7637
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7509
7638
  col.cellClass ? col.cellClass : ""
7510
7639
  ]),
7640
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 }),
7511
7641
  onContextmenu: ($event) => handleCellContextMenu($event, item, col, cellValue(item, col.field), i2, j)
7512
7642
  }, [
7513
7643
  vue.unref(slots)[col.field] ? vue.renderSlot(_ctx.$slots, col.field, {
7514
7644
  key: 0,
7515
7645
  value: item
7516
- }) : col.cellRenderer ? (vue.openBlock(), vue.createElementBlock("div", {
7646
+ }) : col.cellRenderer ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
7517
7647
  key: 1,
7518
- innerHTML: col.cellRenderer(item)
7519
- }, null, 8, _hoisted_27)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7520
- vue.createTextVNode(vue.toDisplayString(cellValue(item, col.field)), 1)
7521
- ], 64))
7522
- ], 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)
7523
7664
  ], 64);
7524
7665
  }), 256))
7525
- ], 10, _hoisted_23)) : vue.createCommentVNode("", true),
7666
+ ], 10, _hoisted_22)) : vue.createCommentVNode("", true),
7526
7667
  isRowExpanded(item, i2) && props.hasSubtable ? (vue.openBlock(), vue.createElementBlock("tr", {
7527
7668
  key: 1,
7528
7669
  class: vue.normalizeClass([
@@ -7550,8 +7691,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7550
7691
  filterItems: filterItems.value
7551
7692
  })
7552
7693
  ], 4)
7553
- ], 8, _hoisted_29)
7554
- ], 10, _hoisted_28)) : vue.createCommentVNode("", true)
7694
+ ], 8, _hoisted_27)
7695
+ ], 10, _hoisted_26)) : vue.createCommentVNode("", true)
7555
7696
  ], 64);
7556
7697
  }), 128)),
7557
7698
  !filterRowCount.value && currentLoader.value && _ctx.skeletonloader ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(props.pageSize, (i2) => {
@@ -7562,7 +7703,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7562
7703
  vue.createElementVNode("td", {
7563
7704
  colspan: props.columns.length + vue.unref(extracolumnlength),
7564
7705
  class: "!bh-p-0 !bh-border-transparent"
7565
- }, _hoisted_32, 8, _hoisted_30)
7706
+ }, _hoisted_30, 8, _hoisted_28)
7566
7707
  ]);
7567
7708
  }), 128)) : vue.createCommentVNode("", true),
7568
7709
  filterRowCount.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(props.footerRows, (item, i2) => {
@@ -7573,7 +7714,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7573
7714
  vue.unref(extracolumnlength) > 0 ? (vue.openBlock(), vue.createElementBlock("td", {
7574
7715
  key: 0,
7575
7716
  colspan: vue.unref(extracolumnlength)
7576
- }, null, 8, _hoisted_33)) : vue.createCommentVNode("", true),
7717
+ }, null, 8, _hoisted_31)) : vue.createCommentVNode("", true),
7577
7718
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.columns, (col, j) => {
7578
7719
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7579
7720
  !col.hide && !col.dataOnly ? (vue.openBlock(), vue.createElementBlock("td", {
@@ -7583,12 +7724,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7583
7724
  j === 0 && props.stickyFirstColumn ? "bh-sticky bh-left-0 bh-bg-blue-light" : "",
7584
7725
  props.hasCheckbox && j === 0 && props.stickyFirstColumn ? "bh-left-[52px]" : "",
7585
7726
  col.cellClass ? col.cellClass : ""
7586
- ])
7727
+ ]),
7728
+ style: vue.normalizeStyle({ maxWidth: col.truncate !== false ? col.maxWidth : void 0 })
7587
7729
  }, [
7588
- item.cells.find((x2) => x2.field == col.field) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
7589
- vue.createTextVNode(vue.toDisplayString(item.cells.find((x2) => x2.field == col.field).text), 1)
7590
- ], 64)) : vue.createCommentVNode("", true)
7591
- ], 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)
7592
7740
  ], 64);
7593
7741
  }), 256))
7594
7742
  ]);
@@ -7598,7 +7746,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7598
7746
  key: 0,
7599
7747
  class: vue.normalizeClass({ "bh-sticky bh-bottom-0": props.stickyHeader })
7600
7748
  }, [
7601
- vue.createVNode(_sfc_main$1, {
7749
+ vue.createVNode(_sfc_main$2, {
7602
7750
  all: props,
7603
7751
  currentSortColumn: currentSortColumn.value,
7604
7752
  currentSortDirection: currentSortDirection.value,
@@ -7661,7 +7809,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7661
7809
  "sticky-footer": props.stickyFooter
7662
7810
  }])
7663
7811
  }, [
7664
- vue.createElementVNode("div", _hoisted_34, [
7812
+ vue.createElementVNode("div", _hoisted_32, [
7665
7813
  _ctx.enablefooterpagination ? vue.renderSlot(_ctx.$slots, "footerpageinfo", {
7666
7814
  key: 0,
7667
7815
  paginationInfo: _ctx.paginationInfo,
@@ -7674,8 +7822,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7674
7822
  stringFormat,
7675
7823
  setPageSize
7676
7824
  }, () => [
7677
- vue.createElementVNode("div", _hoisted_35, [
7678
- vue.createElementVNode("span", _hoisted_36, vue.toDisplayString(stringFormat(
7825
+ vue.createElementVNode("div", _hoisted_33, [
7826
+ vue.createElementVNode("span", _hoisted_34, vue.toDisplayString(stringFormat(
7679
7827
  props.paginationInfo,
7680
7828
  filterRowCount.value ? offset2.value : 0,
7681
7829
  limit.value,
@@ -7690,7 +7838,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7690
7838
  return vue.openBlock(), vue.createElementBlock("option", {
7691
7839
  value: option,
7692
7840
  key: option
7693
- }, vue.toDisplayString(option), 9, _hoisted_37);
7841
+ }, vue.toDisplayString(option), 9, _hoisted_35);
7694
7842
  }), 128))
7695
7843
  ], 512)), [
7696
7844
  [vue.vModelSelect, currentPageSize.value]
@@ -7706,7 +7854,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7706
7854
  nextPage,
7707
7855
  previousPage
7708
7856
  }, () => [
7709
- vue.createElementVNode("div", _hoisted_38, [
7857
+ vue.createElementVNode("div", _hoisted_36, [
7710
7858
  props.showFirstPage ? (vue.openBlock(), vue.createElementBlock("button", {
7711
7859
  key: 0,
7712
7860
  type: "button",
@@ -7716,7 +7864,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7716
7864
  props.firstArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7717
7865
  key: 0,
7718
7866
  innerHTML: props.firstArrow
7719
- }, 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))
7720
7868
  ], 2)) : vue.createCommentVNode("", true),
7721
7869
  vue.createElementVNode("button", {
7722
7870
  type: "button",
@@ -7726,7 +7874,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7726
7874
  props.previousArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7727
7875
  key: 0,
7728
7876
  innerHTML: props.previousArrow
7729
- }, 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))
7730
7878
  ], 2),
7731
7879
  props.showNumbers ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(paging.value, (page) => {
7732
7880
  return vue.openBlock(), vue.createElementBlock("button", {
@@ -7737,7 +7885,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7737
7885
  "bh-active": page === currentPage.value
7738
7886
  }]),
7739
7887
  onClick: ($event) => movePage(page)
7740
- }, vue.toDisplayString(page), 11, _hoisted_47);
7888
+ }, vue.toDisplayString(page), 11, _hoisted_45);
7741
7889
  }), 128)) : vue.createCommentVNode("", true),
7742
7890
  vue.createElementVNode("button", {
7743
7891
  type: "button",
@@ -7747,7 +7895,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7747
7895
  props.nextArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7748
7896
  key: 0,
7749
7897
  innerHTML: props.nextArrow
7750
- }, 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))
7751
7899
  ], 2),
7752
7900
  props.showLastPage ? (vue.openBlock(), vue.createElementBlock("button", {
7753
7901
  key: 2,
@@ -7758,7 +7906,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7758
7906
  props.lastArrow ? (vue.openBlock(), vue.createElementBlock("span", {
7759
7907
  key: 0,
7760
7908
  innerHTML: props.lastArrow
7761
- }, 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))
7762
7910
  ], 2)) : vue.createCommentVNode("", true)
7763
7911
  ])
7764
7912
  ]) : vue.createCommentVNode("", true)