@iankibetsh/shframework 1.2.4 → 1.2.6

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.
Files changed (3) hide show
  1. package/dist/library.js +326 -317
  2. package/dist/library.mjs +326 -317
  3. package/package.json +1 -1
package/dist/library.js CHANGED
@@ -2062,8 +2062,8 @@ const _hoisted_1$d = {
2062
2062
  const _hoisted_2$a = ["id"];
2063
2063
  const _hoisted_3$9 = { class: "badge bg-secondary m-1 sh-selected-item" };
2064
2064
  const _hoisted_4$9 = ["onClick"];
2065
- const _hoisted_5$6 = ["id"];
2066
- const _hoisted_6$5 = ["id", "aria-labelledby"];
2065
+ const _hoisted_5$7 = ["id"];
2066
+ const _hoisted_6$6 = ["id", "aria-labelledby"];
2067
2067
  const _hoisted_7$4 = { key: 0 };
2068
2068
  const _hoisted_8$3 = ["onClick"];
2069
2069
  const _hoisted_9$4 = {
@@ -2183,7 +2183,7 @@ return (_ctx, _cache) => {
2183
2183
  onClick: filterData,
2184
2184
  onInput: filterData,
2185
2185
  class: "flex-fill h-100 sh-suggestion-input"
2186
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$6)
2186
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$7)
2187
2187
  ], 8 /* PROPS */, _hoisted_2$a),
2188
2188
  vue.createElementVNode("ul", {
2189
2189
  class: "dropdown-menu w-100",
@@ -2209,7 +2209,7 @@ return (_ctx, _cache) => {
2209
2209
  : (vue.unref(searchText))
2210
2210
  ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$4, " No results found "))
2211
2211
  : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$3, " Type to search... "))
2212
- ], 8 /* PROPS */, _hoisted_6$5)
2212
+ ], 8 /* PROPS */, _hoisted_6$6)
2213
2213
  ]))
2214
2214
  : vue.createCommentVNode("v-if", true)
2215
2215
  }
@@ -2554,8 +2554,8 @@ const _hoisted_3$8 = {
2554
2554
  role: "alert"
2555
2555
  };
2556
2556
  const _hoisted_4$8 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2557
- const _hoisted_5$5 = { key: 0 };
2558
- const _hoisted_6$4 = { key: 1 };
2557
+ const _hoisted_5$6 = { key: 0 };
2558
+ const _hoisted_6$5 = { key: 1 };
2559
2559
  const _hoisted_7$3 = { class: "row" };
2560
2560
  const _hoisted_8$2 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2561
2561
  const _hoisted_9$3 = { class: "col-md-12" };
@@ -2613,8 +2613,8 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2613
2613
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
2614
2614
  _hoisted_4$8,
2615
2615
  (_ctx.errorText)
2616
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$5, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2617
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$4, "Unexpected Error Occurred")),
2616
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$6, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2617
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$5, "Unexpected Error Occurred")),
2618
2618
  vue.createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2619
2619
  ]))
2620
2620
  : vue.createCommentVNode("v-if", true),
@@ -2897,12 +2897,12 @@ const _hoisted_1$a = ["id"];
2897
2897
  const _hoisted_2$7 = { class: "modal-content" };
2898
2898
  const _hoisted_3$7 = { class: "modal-header" };
2899
2899
  const _hoisted_4$7 = { class: "modal-title" };
2900
- const _hoisted_5$4 = /*#__PURE__*/vue.createElementVNode("button", {
2900
+ const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("button", {
2901
2901
  class: "btn btn-danger btn-sm",
2902
2902
  "data-bs-dismiss": "modal",
2903
2903
  "data-dismiss": "modal"
2904
2904
  }, "×", -1 /* HOISTED */);
2905
- const _hoisted_6$3 = { class: "modal-body" };
2905
+ const _hoisted_6$4 = { class: "modal-body" };
2906
2906
  const _hoisted_7$2 = { class: "section" };
2907
2907
 
2908
2908
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
@@ -2917,9 +2917,9 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2917
2917
  vue.createElementVNode("div", _hoisted_2$7, [
2918
2918
  vue.createElementVNode("div", _hoisted_3$7, [
2919
2919
  vue.createElementVNode("h3", _hoisted_4$7, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
2920
- _hoisted_5$4
2920
+ _hoisted_5$5
2921
2921
  ]),
2922
- vue.createElementVNode("div", _hoisted_6$3, [
2922
+ vue.createElementVNode("div", _hoisted_6$4, [
2923
2923
  vue.createElementVNode("div", _hoisted_7$2, [
2924
2924
  vue.renderSlot(_ctx.$slots, "default")
2925
2925
  ])
@@ -3687,12 +3687,12 @@ const _hoisted_2$4 = {
3687
3687
  };
3688
3688
  const _hoisted_3$4 = ["disabled"];
3689
3689
  const _hoisted_4$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
3690
- const _hoisted_5$3 = /*#__PURE__*/vue.createElementVNode("span", {
3690
+ const _hoisted_5$4 = /*#__PURE__*/vue.createElementVNode("span", {
3691
3691
  class: "spinner-border spinner-border-sm",
3692
3692
  role: "status",
3693
3693
  "aria-hidden": "true"
3694
3694
  }, null, -1 /* HOISTED */);
3695
- const _hoisted_6$2 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
3695
+ const _hoisted_6$3 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
3696
3696
  const _hoisted_7$1 = {
3697
3697
  key: 1,
3698
3698
  class: "row"
@@ -3856,8 +3856,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3856
3856
  vue.createTextVNode(" Export ")
3857
3857
  ], 64 /* STABLE_FRAGMENT */))
3858
3858
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
3859
- _hoisted_5$3,
3860
- _hoisted_6$2
3859
+ _hoisted_5$4,
3860
+ _hoisted_6$3
3861
3861
  ], 64 /* STABLE_FRAGMENT */))
3862
3862
  ], 8 /* PROPS */, _hoisted_3$4)
3863
3863
  ]))
@@ -3897,122 +3897,289 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3897
3897
  }), 128 /* KEYED_FRAGMENT */))
3898
3898
  : vue.createCommentVNode("v-if", true)
3899
3899
  ], 64 /* STABLE_FRAGMENT */))
3900
- : vue.createCommentVNode("v-if", true),
3901
- ($options.hasRecordsSlot)
3902
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
3903
- ($data.loading === 'loading')
3904
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, _hoisted_18))
3905
- : ($data.loading === 'error')
3906
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, [
3907
- vue.createElementVNode("span", _hoisted_20, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3908
- ]))
3909
- : vue.createCommentVNode("v-if", true),
3910
- ($data.loading === 'done')
3911
- ? vue.renderSlot(_ctx.$slots, "records", {
3912
- key: 2,
3913
- records: $data.records
3914
- })
3915
- : vue.createCommentVNode("v-if", true)
3916
- ], 64 /* STABLE_FRAGMENT */))
3917
- : ($options.windowWidth > 700)
3918
- ? (vue.openBlock(), vue.createElementBlock("table", {
3919
- key: 4,
3920
- class: vue.normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3921
- }, [
3922
- vue.createElementVNode("thead", _hoisted_21, [
3923
- vue.createElementVNode("tr", null, [
3924
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (title) => {
3925
- return (vue.openBlock(), vue.createElementBlock("th", {
3926
- key: title[0]
3927
- }, [
3928
- (typeof title === 'string')
3929
- ? (vue.openBlock(), vue.createElementBlock("a", {
3930
- key: 0,
3931
- class: "text-capitalize",
3932
- onClick: $event => ($options.changeKey('order_by',title))
3933
- }, vue.toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_22))
3934
- : (typeof title === 'function')
3900
+ : ($options.hasRecordsSlot)
3901
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
3902
+ ($data.loading === 'loading')
3903
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, _hoisted_18))
3904
+ : ($data.loading === 'error')
3905
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, [
3906
+ vue.createElementVNode("span", _hoisted_20, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3907
+ ]))
3908
+ : vue.createCommentVNode("v-if", true),
3909
+ ($data.loading === 'done')
3910
+ ? vue.renderSlot(_ctx.$slots, "records", {
3911
+ key: 2,
3912
+ records: $data.records
3913
+ })
3914
+ : vue.createCommentVNode("v-if", true)
3915
+ ], 64 /* STABLE_FRAGMENT */))
3916
+ : ($options.windowWidth > 700)
3917
+ ? (vue.openBlock(), vue.createElementBlock("table", {
3918
+ key: 4,
3919
+ class: vue.normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3920
+ }, [
3921
+ vue.createElementVNode("thead", _hoisted_21, [
3922
+ vue.createElementVNode("tr", null, [
3923
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (title) => {
3924
+ return (vue.openBlock(), vue.createElementBlock("th", {
3925
+ key: title[0]
3926
+ }, [
3927
+ (typeof title === 'string')
3935
3928
  ? (vue.openBlock(), vue.createElementBlock("a", {
3936
- key: 1,
3929
+ key: 0,
3937
3930
  class: "text-capitalize",
3938
3931
  onClick: $event => ($options.changeKey('order_by',title))
3939
- }, vue.toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3940
- : (vue.openBlock(), vue.createElementBlock("a", {
3941
- key: 2,
3942
- class: "text-capitalize",
3943
- onClick: $event => ($options.changeKey('order_by',title[0]))
3944
- }, vue.toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3945
- ]))
3946
- }), 128 /* KEYED_FRAGMENT */)),
3947
- ($props.actions)
3948
- ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_25, vue.toDisplayString($props.actions.label), 1 /* TEXT */))
3949
- : vue.createCommentVNode("v-if", true)
3950
- ])
3951
- ]),
3952
- vue.createElementVNode("tbody", _hoisted_26, [
3953
- ($data.loading === 'loading')
3954
- ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_27, [
3955
- vue.createElementVNode("td", {
3956
- colspan: $props.headers.length
3957
- }, _hoisted_30, 8 /* PROPS */, _hoisted_28)
3958
- ]))
3959
- : ($data.loading === 'error')
3960
- ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_31, [
3932
+ }, vue.toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_22))
3933
+ : (typeof title === 'function')
3934
+ ? (vue.openBlock(), vue.createElementBlock("a", {
3935
+ key: 1,
3936
+ class: "text-capitalize",
3937
+ onClick: $event => ($options.changeKey('order_by',title))
3938
+ }, vue.toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3939
+ : (vue.openBlock(), vue.createElementBlock("a", {
3940
+ key: 2,
3941
+ class: "text-capitalize",
3942
+ onClick: $event => ($options.changeKey('order_by',title[0]))
3943
+ }, vue.toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3944
+ ]))
3945
+ }), 128 /* KEYED_FRAGMENT */)),
3946
+ ($props.actions)
3947
+ ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_25, vue.toDisplayString($props.actions.label), 1 /* TEXT */))
3948
+ : vue.createCommentVNode("v-if", true)
3949
+ ])
3950
+ ]),
3951
+ vue.createElementVNode("tbody", _hoisted_26, [
3952
+ ($data.loading === 'loading')
3953
+ ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_27, [
3961
3954
  vue.createElementVNode("td", {
3962
3955
  colspan: $props.headers.length
3963
- }, vue.toDisplayString($data.loading_error), 9 /* TEXT, PROPS */, _hoisted_32)
3956
+ }, _hoisted_30, 8 /* PROPS */, _hoisted_28)
3964
3957
  ]))
3965
- : ($data.records.length === 0)
3966
- ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_33, [
3958
+ : ($data.loading === 'error')
3959
+ ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_31, [
3967
3960
  vue.createElementVNode("td", {
3968
- colspan: $props.actions ? $props.headers.length + 1 : $props.headers.length
3969
- }, [
3970
- _hoisted_35,
3971
- vue.createTextVNode(" No records found ")
3972
- ], 8 /* PROPS */, _hoisted_34)
3961
+ colspan: $props.headers.length
3962
+ }, vue.toDisplayString($data.loading_error), 9 /* TEXT, PROPS */, _hoisted_32)
3973
3963
  ]))
3974
- : ($data.loading === 'done')
3975
- ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 3 }, vue.renderList($data.records, (record, index) => {
3976
- return (vue.openBlock(), vue.createElementBlock("tr", {
3964
+ : ($data.records.length === 0)
3965
+ ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_33, [
3966
+ vue.createElementVNode("td", {
3967
+ colspan: $props.actions ? $props.headers.length + 1 : $props.headers.length
3968
+ }, [
3969
+ _hoisted_35,
3970
+ vue.createTextVNode(" No records found ")
3971
+ ], 8 /* PROPS */, _hoisted_34)
3972
+ ]))
3973
+ : ($data.loading === 'done')
3974
+ ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 3 }, vue.renderList($data.records, (record, index) => {
3975
+ return (vue.openBlock(), vue.createElementBlock("tr", {
3976
+ key: record.id,
3977
+ class: vue.normalizeClass(record.class),
3978
+ onClick: $event => ($options.rowSelected(record))
3979
+ }, [
3980
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (key) => {
3981
+ return (vue.openBlock(), vue.createElementBlock("td", {
3982
+ key: key[0]
3983
+ }, [
3984
+ (typeof key === 'string' && $props.links && $props.links[key])
3985
+ ? (vue.openBlock(), vue.createBlock(_component_router_link, {
3986
+ key: 0,
3987
+ to: $options.replaceLinkUrl($props.links[key],record),
3988
+ class: vue.normalizeClass($options.getLinkClass($props.links[key])),
3989
+ innerHTML: record[key]
3990
+ }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3991
+ : ($options.getFieldType(key) === 'numeric')
3992
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_37, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3993
+ : ($options.getFieldType(key) === 'money')
3994
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_38, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3995
+ : ($options.getFieldType(key) === 'date')
3996
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_39, vue.toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
3997
+ : (typeof key === 'string')
3998
+ ? (vue.openBlock(), vue.createElementBlock("span", {
3999
+ key: 4,
4000
+ innerHTML: record[key]
4001
+ }, null, 8 /* PROPS */, _hoisted_40))
4002
+ : (typeof key === 'function')
4003
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4004
+ key: 5,
4005
+ innerHTML: key(record, index)
4006
+ }, null, 8 /* PROPS */, _hoisted_41))
4007
+ : (vue.openBlock(), vue.createElementBlock("span", {
4008
+ key: 6,
4009
+ innerHTML: record[key[0]]
4010
+ }, null, 8 /* PROPS */, _hoisted_42))
4011
+ ]))
4012
+ }), 128 /* KEYED_FRAGMENT */)),
4013
+ ($props.actions)
4014
+ ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_43, [
4015
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
4016
+ return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4017
+ key: act.path
4018
+ }, [
4019
+ (!act.permission || $options.user.isAllowedTo(act.permission))
4020
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4021
+ (!act.validator || act.validator(record))
4022
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4023
+ (act.type === 'confirmAction')
4024
+ ? (vue.openBlock(), vue.createBlock(_component_sh_confirm_action, {
4025
+ key: 0,
4026
+ onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4027
+ onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4028
+ onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4029
+ "loading-message": act.label,
4030
+ class: vue.normalizeClass(act.class),
4031
+ url: $options.replaceActionUrl(act.url,record)
4032
+ }, {
4033
+ default: vue.withCtx(() => [
4034
+ (act.icon)
4035
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4036
+ key: 0,
4037
+ class: vue.normalizeClass(act.icon)
4038
+ }, null, 2 /* CLASS */))
4039
+ : vue.createCommentVNode("v-if", true),
4040
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4041
+ ]),
4042
+ _: 2 /* DYNAMIC */
4043
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4044
+ : (act.type === 'silentAction')
4045
+ ? (vue.openBlock(), vue.createBlock(_component_sh_silent_action, {
4046
+ key: 1,
4047
+ onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4048
+ onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4049
+ onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4050
+ "loading-message": act.label,
4051
+ class: vue.normalizeClass(act.class),
4052
+ url: $options.replaceActionUrl(act.url,record)
4053
+ }, {
4054
+ default: vue.withCtx(() => [
4055
+ (act.icon)
4056
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4057
+ key: 0,
4058
+ class: vue.normalizeClass(act.icon)
4059
+ }, null, 2 /* CLASS */))
4060
+ : vue.createCommentVNode("v-if", true),
4061
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4062
+ ]),
4063
+ _: 2 /* DYNAMIC */
4064
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4065
+ : (act.canvasId || act.type === 'offcanvas')
4066
+ ? (vue.openBlock(), vue.createElementBlock("a", {
4067
+ key: 2,
4068
+ href: '#' + act.canvasId,
4069
+ "data-bs-toggle": "offcanvas",
4070
+ class: vue.normalizeClass(act.class)
4071
+ }, [
4072
+ (act.icon)
4073
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4074
+ key: 0,
4075
+ class: vue.normalizeClass(act.icon)
4076
+ }, null, 2 /* CLASS */))
4077
+ : vue.createCommentVNode("v-if", true),
4078
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4079
+ ], 10 /* CLASS, PROPS */, _hoisted_44))
4080
+ : (act.emits)
4081
+ ? (vue.openBlock(), vue.createElementBlock("button", {
4082
+ key: 3,
4083
+ title: act.title,
4084
+ class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
4085
+ onClick: $event => ($options.doEmitAction(act.emits,record))
4086
+ }, [
4087
+ (act.icon)
4088
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4089
+ key: 0,
4090
+ class: vue.normalizeClass(act.icon)
4091
+ }, null, 2 /* CLASS */))
4092
+ : vue.createCommentVNode("v-if", true),
4093
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4094
+ ], 10 /* CLASS, PROPS */, _hoisted_45))
4095
+ : (!act.emits)
4096
+ ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4097
+ key: 4,
4098
+ title: act.title,
4099
+ to: $options.replaceActionUrl(act.path,record),
4100
+ class: vue.normalizeClass(act.class)
4101
+ }, {
4102
+ default: vue.withCtx(() => [
4103
+ (act.icon)
4104
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4105
+ key: 0,
4106
+ class: vue.normalizeClass(act.icon)
4107
+ }, null, 2 /* CLASS */))
4108
+ : vue.createCommentVNode("v-if", true),
4109
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4110
+ ]),
4111
+ _: 2 /* DYNAMIC */
4112
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4113
+ : vue.createCommentVNode("v-if", true)
4114
+ ], 64 /* STABLE_FRAGMENT */))
4115
+ : vue.createCommentVNode("v-if", true)
4116
+ ], 64 /* STABLE_FRAGMENT */))
4117
+ : vue.createCommentVNode("v-if", true)
4118
+ ], 64 /* STABLE_FRAGMENT */))
4119
+ }), 128 /* KEYED_FRAGMENT */))
4120
+ ]))
4121
+ : vue.createCommentVNode("v-if", true)
4122
+ ], 10 /* CLASS, PROPS */, _hoisted_36))
4123
+ }), 128 /* KEYED_FRAGMENT */))
4124
+ : vue.createCommentVNode("v-if", true)
4125
+ ])
4126
+ ], 2 /* CLASS */))
4127
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_46, [
4128
+ ($data.loading === 'loading')
4129
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_47, _hoisted_49))
4130
+ : ($data.loading === 'error')
4131
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_50, [
4132
+ vue.createElementVNode("span", null, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
4133
+ ]))
4134
+ : ($data.loading === 'done')
4135
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_51, [
4136
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.records, (record, index) => {
4137
+ return (vue.openBlock(), vue.createElementBlock("div", {
3977
4138
  key: record.id,
3978
- class: vue.normalizeClass(record.class),
4139
+ class: "single-mobile-req bg-light p-3",
3979
4140
  onClick: $event => ($options.rowSelected(record))
3980
4141
  }, [
3981
4142
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (key) => {
3982
- return (vue.openBlock(), vue.createElementBlock("td", {
4143
+ return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
3983
4144
  key: key[0]
3984
4145
  }, [
3985
- (typeof key === 'string' && $props.links && $props.links[key])
3986
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
3987
- key: 0,
3988
- to: $options.replaceLinkUrl($props.links[key],record),
3989
- class: vue.normalizeClass($options.getLinkClass($props.links[key])),
3990
- innerHTML: record[key]
3991
- }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3992
- : ($options.getFieldType(key) === 'numeric')
3993
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_37, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3994
- : ($options.getFieldType(key) === 'money')
3995
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_38, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3996
- : ($options.getFieldType(key) === 'date')
3997
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_39, vue.toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
3998
- : (typeof key === 'string')
4146
+ (typeof key === 'string' )
4147
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_53, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
4148
+ : (typeof key === 'function')
4149
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_54, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
4150
+ : (vue.openBlock(), vue.createElementBlock("p", _hoisted_55, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
4151
+ vue.createElementVNode("span", null, [
4152
+ (typeof key === 'string' && $props.links && $props.links[key])
4153
+ ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4154
+ key: 0,
4155
+ to: $options.replaceLinkUrl($props.links[key],record),
4156
+ class: vue.normalizeClass($options.getLinkClass($props.links[key])),
4157
+ innerHTML: record[key]
4158
+ }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
4159
+ : ($options.getFieldType(key) === 'numeric')
4160
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_56, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4161
+ : ($options.getFieldType(key) === 'money')
4162
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_57, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4163
+ : (typeof key === 'string')
3999
4164
  ? (vue.openBlock(), vue.createElementBlock("span", {
4000
- key: 4,
4165
+ key: 3,
4001
4166
  innerHTML: record[key]
4002
- }, null, 8 /* PROPS */, _hoisted_40))
4167
+ }, null, 8 /* PROPS */, _hoisted_58))
4003
4168
  : (typeof key === 'function')
4004
4169
  ? (vue.openBlock(), vue.createElementBlock("span", {
4005
- key: 5,
4006
- innerHTML: key(record, index)
4007
- }, null, 8 /* PROPS */, _hoisted_41))
4170
+ key: 4,
4171
+ innerHTML: key(record, index )
4172
+ }, null, 8 /* PROPS */, _hoisted_59))
4008
4173
  : (vue.openBlock(), vue.createElementBlock("span", {
4009
- key: 6,
4174
+ key: 5,
4010
4175
  innerHTML: record[key[0]]
4011
- }, null, 8 /* PROPS */, _hoisted_42))
4012
- ]))
4176
+ }, null, 8 /* PROPS */, _hoisted_60))
4177
+ ]),
4178
+ _hoisted_61
4179
+ ], 64 /* STABLE_FRAGMENT */))
4013
4180
  }), 128 /* KEYED_FRAGMENT */)),
4014
4181
  ($props.actions)
4015
- ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_43, [
4182
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_62, [
4016
4183
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
4017
4184
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4018
4185
  key: act.path
@@ -4021,17 +4188,28 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4021
4188
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4022
4189
  (!act.validator || act.validator(record))
4023
4190
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4024
- (act.type === 'confirmAction')
4025
- ? (vue.openBlock(), vue.createBlock(_component_sh_confirm_action, {
4191
+ (act.canvasId)
4192
+ ? (vue.openBlock(), vue.createElementBlock("a", {
4026
4193
  key: 0,
4027
- onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4028
- onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4029
- onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4030
- "loading-message": act.label,
4031
- class: vue.normalizeClass(act.class),
4032
- url: $options.replaceActionUrl(act.url,record)
4033
- }, {
4034
- default: vue.withCtx(() => [
4194
+ href: '#' + act.canvasId,
4195
+ "data-bs-toggle": "offcanvas",
4196
+ class: vue.normalizeClass(act.class)
4197
+ }, [
4198
+ (act.icon)
4199
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4200
+ key: 0,
4201
+ class: vue.normalizeClass(act.icon)
4202
+ }, null, 2 /* CLASS */))
4203
+ : vue.createCommentVNode("v-if", true),
4204
+ vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4205
+ ], 10 /* CLASS, PROPS */, _hoisted_63))
4206
+ : (act.emits)
4207
+ ? (vue.openBlock(), vue.createElementBlock("button", {
4208
+ key: 1,
4209
+ title: act.title,
4210
+ class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
4211
+ onClick: $event => ($options.doEmitAction(act.emits,record))
4212
+ }, [
4035
4213
  (act.icon)
4036
4214
  ? (vue.openBlock(), vue.createElementBlock("span", {
4037
4215
  key: 0,
@@ -4039,52 +4217,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4039
4217
  }, null, 2 /* CLASS */))
4040
4218
  : vue.createCommentVNode("v-if", true),
4041
4219
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4042
- ]),
4043
- _: 2 /* DYNAMIC */
4044
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4045
- : (act.type === 'silentAction')
4046
- ? (vue.openBlock(), vue.createBlock(_component_sh_silent_action, {
4047
- key: 1,
4048
- onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4049
- onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4050
- onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4051
- "loading-message": act.label,
4052
- class: vue.normalizeClass(act.class),
4053
- url: $options.replaceActionUrl(act.url,record)
4054
- }, {
4055
- default: vue.withCtx(() => [
4056
- (act.icon)
4057
- ? (vue.openBlock(), vue.createElementBlock("span", {
4058
- key: 0,
4059
- class: vue.normalizeClass(act.icon)
4060
- }, null, 2 /* CLASS */))
4061
- : vue.createCommentVNode("v-if", true),
4062
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4063
- ]),
4064
- _: 2 /* DYNAMIC */
4065
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4066
- : (act.canvasId || act.type === 'offcanvas')
4067
- ? (vue.openBlock(), vue.createElementBlock("a", {
4220
+ ], 10 /* CLASS, PROPS */, _hoisted_64))
4221
+ : (!act.emits)
4222
+ ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4068
4223
  key: 2,
4069
- href: '#' + act.canvasId,
4070
- "data-bs-toggle": "offcanvas",
4224
+ title: act.title,
4225
+ to: $options.replaceActionUrl(act.path,record),
4071
4226
  class: vue.normalizeClass(act.class)
4072
- }, [
4073
- (act.icon)
4074
- ? (vue.openBlock(), vue.createElementBlock("span", {
4075
- key: 0,
4076
- class: vue.normalizeClass(act.icon)
4077
- }, null, 2 /* CLASS */))
4078
- : vue.createCommentVNode("v-if", true),
4079
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4080
- ], 10 /* CLASS, PROPS */, _hoisted_44))
4081
- : (act.emits)
4082
- ? (vue.openBlock(), vue.createElementBlock("button", {
4083
- key: 3,
4084
- title: act.title,
4085
- class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
4086
- onClick: $event => ($options.doEmitAction(act.emits,record))
4087
- }, [
4227
+ }, {
4228
+ default: vue.withCtx(() => [
4088
4229
  (act.icon)
4089
4230
  ? (vue.openBlock(), vue.createElementBlock("span", {
4090
4231
  key: 0,
@@ -4092,26 +4233,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4092
4233
  }, null, 2 /* CLASS */))
4093
4234
  : vue.createCommentVNode("v-if", true),
4094
4235
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4095
- ], 10 /* CLASS, PROPS */, _hoisted_45))
4096
- : (!act.emits)
4097
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4098
- key: 4,
4099
- title: act.title,
4100
- to: $options.replaceActionUrl(act.path,record),
4101
- class: vue.normalizeClass(act.class)
4102
- }, {
4103
- default: vue.withCtx(() => [
4104
- (act.icon)
4105
- ? (vue.openBlock(), vue.createElementBlock("span", {
4106
- key: 0,
4107
- class: vue.normalizeClass(act.icon)
4108
- }, null, 2 /* CLASS */))
4109
- : vue.createCommentVNode("v-if", true),
4110
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4111
- ]),
4112
- _: 2 /* DYNAMIC */
4113
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4114
- : vue.createCommentVNode("v-if", true)
4236
+ ]),
4237
+ _: 2 /* DYNAMIC */
4238
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4239
+ : vue.createCommentVNode("v-if", true)
4115
4240
  ], 64 /* STABLE_FRAGMENT */))
4116
4241
  : vue.createCommentVNode("v-if", true)
4117
4242
  ], 64 /* STABLE_FRAGMENT */))
@@ -4120,137 +4245,11 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4120
4245
  }), 128 /* KEYED_FRAGMENT */))
4121
4246
  ]))
4122
4247
  : vue.createCommentVNode("v-if", true)
4123
- ], 10 /* CLASS, PROPS */, _hoisted_36))
4248
+ ], 8 /* PROPS */, _hoisted_52))
4124
4249
  }), 128 /* KEYED_FRAGMENT */))
4125
- : vue.createCommentVNode("v-if", true)
4126
- ])
4127
- ], 2 /* CLASS */))
4128
- : (vue.openBlock(), vue.createElementBlock("div", _hoisted_46, [
4129
- ($data.loading === 'loading')
4130
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_47, _hoisted_49))
4131
- : ($data.loading === 'error')
4132
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_50, [
4133
- vue.createElementVNode("span", null, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
4134
- ]))
4135
- : ($data.loading === 'done')
4136
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_51, [
4137
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.records, (record, index) => {
4138
- return (vue.openBlock(), vue.createElementBlock("div", {
4139
- key: record.id,
4140
- class: "single-mobile-req bg-light p-3",
4141
- onClick: $event => ($options.rowSelected(record))
4142
- }, [
4143
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (key) => {
4144
- return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4145
- key: key[0]
4146
- }, [
4147
- (typeof key === 'string' )
4148
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_53, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
4149
- : (typeof key === 'function')
4150
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_54, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
4151
- : (vue.openBlock(), vue.createElementBlock("p", _hoisted_55, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
4152
- vue.createElementVNode("span", null, [
4153
- (typeof key === 'string' && $props.links && $props.links[key])
4154
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4155
- key: 0,
4156
- to: $options.replaceLinkUrl($props.links[key],record),
4157
- class: vue.normalizeClass($options.getLinkClass($props.links[key])),
4158
- innerHTML: record[key]
4159
- }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
4160
- : ($options.getFieldType(key) === 'numeric')
4161
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_56, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4162
- : ($options.getFieldType(key) === 'money')
4163
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_57, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4164
- : (typeof key === 'string')
4165
- ? (vue.openBlock(), vue.createElementBlock("span", {
4166
- key: 3,
4167
- innerHTML: record[key]
4168
- }, null, 8 /* PROPS */, _hoisted_58))
4169
- : (typeof key === 'function')
4170
- ? (vue.openBlock(), vue.createElementBlock("span", {
4171
- key: 4,
4172
- innerHTML: key(record, index )
4173
- }, null, 8 /* PROPS */, _hoisted_59))
4174
- : (vue.openBlock(), vue.createElementBlock("span", {
4175
- key: 5,
4176
- innerHTML: record[key[0]]
4177
- }, null, 8 /* PROPS */, _hoisted_60))
4178
- ]),
4179
- _hoisted_61
4180
- ], 64 /* STABLE_FRAGMENT */))
4181
- }), 128 /* KEYED_FRAGMENT */)),
4182
- ($props.actions)
4183
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_62, [
4184
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
4185
- return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4186
- key: act.path
4187
- }, [
4188
- (!act.permission || $options.user.isAllowedTo(act.permission))
4189
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4190
- (!act.validator || act.validator(record))
4191
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4192
- (act.canvasId)
4193
- ? (vue.openBlock(), vue.createElementBlock("a", {
4194
- key: 0,
4195
- href: '#' + act.canvasId,
4196
- "data-bs-toggle": "offcanvas",
4197
- class: vue.normalizeClass(act.class)
4198
- }, [
4199
- (act.icon)
4200
- ? (vue.openBlock(), vue.createElementBlock("span", {
4201
- key: 0,
4202
- class: vue.normalizeClass(act.icon)
4203
- }, null, 2 /* CLASS */))
4204
- : vue.createCommentVNode("v-if", true),
4205
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4206
- ], 10 /* CLASS, PROPS */, _hoisted_63))
4207
- : (act.emits)
4208
- ? (vue.openBlock(), vue.createElementBlock("button", {
4209
- key: 1,
4210
- title: act.title,
4211
- class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
4212
- onClick: $event => ($options.doEmitAction(act.emits,record))
4213
- }, [
4214
- (act.icon)
4215
- ? (vue.openBlock(), vue.createElementBlock("span", {
4216
- key: 0,
4217
- class: vue.normalizeClass(act.icon)
4218
- }, null, 2 /* CLASS */))
4219
- : vue.createCommentVNode("v-if", true),
4220
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4221
- ], 10 /* CLASS, PROPS */, _hoisted_64))
4222
- : (!act.emits)
4223
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4224
- key: 2,
4225
- title: act.title,
4226
- to: $options.replaceActionUrl(act.path,record),
4227
- class: vue.normalizeClass(act.class)
4228
- }, {
4229
- default: vue.withCtx(() => [
4230
- (act.icon)
4231
- ? (vue.openBlock(), vue.createElementBlock("span", {
4232
- key: 0,
4233
- class: vue.normalizeClass(act.icon)
4234
- }, null, 2 /* CLASS */))
4235
- : vue.createCommentVNode("v-if", true),
4236
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4237
- ]),
4238
- _: 2 /* DYNAMIC */
4239
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4240
- : vue.createCommentVNode("v-if", true)
4241
- ], 64 /* STABLE_FRAGMENT */))
4242
- : vue.createCommentVNode("v-if", true)
4243
- ], 64 /* STABLE_FRAGMENT */))
4244
- : vue.createCommentVNode("v-if", true)
4245
- ], 64 /* STABLE_FRAGMENT */))
4246
- }), 128 /* KEYED_FRAGMENT */))
4247
- ]))
4248
- : vue.createCommentVNode("v-if", true)
4249
- ], 8 /* PROPS */, _hoisted_52))
4250
- }), 128 /* KEYED_FRAGMENT */))
4251
- ]))
4252
- : vue.createCommentVNode("v-if", true)
4253
- ])),
4250
+ ]))
4251
+ : vue.createCommentVNode("v-if", true)
4252
+ ])),
4254
4253
  ($data.pagination_data)
4255
4254
  ? (vue.openBlock(), vue.createBlock(_component_pagination, {
4256
4255
  key: 6,
@@ -4429,7 +4428,9 @@ const _hoisted_2$3 = {
4429
4428
  role: "presentation"
4430
4429
  };
4431
4430
  const _hoisted_3$3 = ["onClick"];
4432
- const _hoisted_4$3 = { class: "tab-content" };
4431
+ const _hoisted_4$3 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4432
+ const _hoisted_5$3 = { class: "sh_tab_count" };
4433
+ const _hoisted_6$2 = { class: "tab-content" };
4433
4434
 
4434
4435
  var script$3 = {
4435
4436
  __name: 'ShDynamicTabs',
@@ -4462,11 +4463,19 @@ return (_ctx, _cache) => {
4462
4463
  vue.createElementVNode("button", {
4463
4464
  onClick: $event => (setTab(tab)),
4464
4465
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
4465
- }, vue.toDisplayString(tab.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_3$3)
4466
+ }, [
4467
+ vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
4468
+ (tab.count || tab.tabCount)
4469
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4470
+ _hoisted_4$3,
4471
+ vue.createElementVNode("sup", _hoisted_5$3, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4472
+ ], 64 /* STABLE_FRAGMENT */))
4473
+ : vue.createCommentVNode("v-if", true)
4474
+ ], 10 /* CLASS, PROPS */, _hoisted_3$3)
4466
4475
  ]))
4467
4476
  }), 256 /* UNKEYED_FRAGMENT */))
4468
4477
  ]),
4469
- vue.createElementVNode("div", _hoisted_4$3, [
4478
+ vue.createElementVNode("div", _hoisted_6$2, [
4470
4479
  (vue.unref(currentTab))
4471
4480
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentTab).component), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(currentTab))), null, 16 /* FULL_PROPS */))
4472
4481
  : vue.createCommentVNode("v-if", true)