@iankibetsh/shframework 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/library.js CHANGED
@@ -1735,7 +1735,22 @@ var script$5 = {
1735
1735
  ShEditor: script$6,
1736
1736
  ShPhone: script$7
1737
1737
  },
1738
- props: ['action', 'classes', 'hasTerms', 'country_code', 'submitBtnClass', 'fields', 'columns', 'placeholders', 'field_permissions', 'retainDataAfterSubmission', 'currentData', 'actionLabel', 'fillSelects', 'phones', 'successCallback', 'failed_callback', 'labels', 'editors'],
1738
+ props: [
1739
+ 'action',
1740
+ 'classes',
1741
+ 'hasTerms',
1742
+ 'country_code',
1743
+ 'submitBtnClass',
1744
+ 'fields',
1745
+ 'columns', 'placeholders', 'field_permissions', 'retainDataAfterSubmission',
1746
+ 'currentData', 'actionLabel', 'fillSelects', 'phones', 'successCallback',
1747
+ 'failedCallback', 'labels', 'editors',
1748
+ 'datePickers',
1749
+ 'textAreas',
1750
+ 'files',
1751
+ 'phones',
1752
+ 'numbers'
1753
+ ],
1739
1754
  data: function () {
1740
1755
  return {
1741
1756
  form_elements: {},
@@ -1773,14 +1788,26 @@ var script$5 = {
1773
1788
  }
1774
1789
  },
1775
1790
  getFieldType: function (field) {
1791
+ if(this.editors && this.editors.includes(field)){
1792
+ return 'editor'
1793
+ }
1794
+ if(this.textAreas && this.textAreas.includes(field)){
1795
+ return 'textarea'
1796
+ }
1797
+ if(this.datePickers && this.datePickers.includes(field)){
1798
+ return 'datepicker'
1799
+ }
1800
+ if(this.numbers && this.numbers.includes(field)){
1801
+ return 'numeric'
1802
+ }
1803
+ if(this.files && this.files.includes(field)){
1804
+ return 'file'
1805
+ }
1776
1806
  const textareas = ['message', 'meta_description', 'comment', 'call_response', 'comments', 'description'];
1777
1807
  const selects = ['gender', 'payment_method', 'allow_view_mode', 'reasons_name', 'has_free_tier', 'payment_period', 'role', 'register_as', 'account_type'];
1778
1808
  const numbers = ['age'];
1779
1809
  const datePickers = ['free_tier_days', 'recurring_date', 'date', 'paid_at'];
1780
1810
  let realEditors = ['html_content', 'listing_description', 'mail', 'comment'];
1781
- if(this.editors && this.editors.includes(field)){
1782
- return 'editor'
1783
- }
1784
1811
  const mapLocations = ['building_location'];
1785
1812
  const files = ['file', 'logo'];
1786
1813
  const phones = ['phone'];
@@ -2711,7 +2738,7 @@ var helpers = {
2711
2738
 
2712
2739
  var script$1 = {
2713
2740
  name: 'sh-table',
2714
- props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2741
+ props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover'],
2715
2742
  inject: ['channel', 'global'],
2716
2743
  data () {
2717
2744
  return {
@@ -2947,56 +2974,51 @@ const _hoisted_8 = {
2947
2974
  const _hoisted_9 = { class: "col-12 mb-3" };
2948
2975
  const _hoisted_10 = { class: "sh-search-bar" };
2949
2976
  const _hoisted_11 = ["placeholder"];
2950
- const _hoisted_12 = /*#__PURE__*/vue.createElementVNode("span", { class: "sh-search-icon" }, [
2951
- /*#__PURE__*/vue.createElementVNode("i", { class: "bi bi-search mb-0" })
2952
- ], -1 /* HOISTED */);
2953
- const _hoisted_13 = {
2977
+ const _hoisted_12 = {
2954
2978
  key: 0,
2955
2979
  class: "text-center"
2956
2980
  };
2957
- const _hoisted_14 = /*#__PURE__*/vue.createElementVNode("div", {
2981
+ const _hoisted_13 = /*#__PURE__*/vue.createElementVNode("div", {
2958
2982
  class: "spinner-border",
2959
2983
  role: "status"
2960
2984
  }, [
2961
2985
  /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2962
2986
  ], -1 /* HOISTED */);
2963
- const _hoisted_15 = [
2964
- _hoisted_14
2987
+ const _hoisted_14 = [
2988
+ _hoisted_13
2965
2989
  ];
2966
- const _hoisted_16 = {
2990
+ const _hoisted_15 = {
2967
2991
  key: 1,
2968
2992
  class: "alert alert-danger"
2969
2993
  };
2970
- const _hoisted_17 = { colspan: 2 };
2971
- const _hoisted_18 = {
2994
+ const _hoisted_16 = { colspan: 2 };
2995
+ const _hoisted_17 = {
2972
2996
  key: 0,
2973
2997
  class: "text-center"
2974
2998
  };
2975
- const _hoisted_19 = /*#__PURE__*/vue.createElementVNode("div", {
2999
+ const _hoisted_18 = /*#__PURE__*/vue.createElementVNode("div", {
2976
3000
  class: "spinner-border",
2977
3001
  role: "status"
2978
3002
  }, [
2979
3003
  /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2980
3004
  ], -1 /* HOISTED */);
2981
- const _hoisted_20 = [
2982
- _hoisted_19
3005
+ const _hoisted_19 = [
3006
+ _hoisted_18
2983
3007
  ];
2984
- const _hoisted_21 = {
3008
+ const _hoisted_20 = {
2985
3009
  key: 1,
2986
3010
  class: "alert alert-danger"
2987
3011
  };
2988
- const _hoisted_22 = { colspan: 2 };
2989
- const _hoisted_23 = {
2990
- key: 4,
2991
- class: "table"
2992
- };
3012
+ const _hoisted_21 = { colspan: 2 };
3013
+ const _hoisted_22 = { class: "sh-thead" };
3014
+ const _hoisted_23 = ["onClick"];
2993
3015
  const _hoisted_24 = ["onClick"];
2994
3016
  const _hoisted_25 = ["onClick"];
2995
- const _hoisted_26 = ["onClick"];
2996
- const _hoisted_27 = {
3017
+ const _hoisted_26 = {
2997
3018
  key: 0,
2998
3019
  class: "text-capitalize"
2999
3020
  };
3021
+ const _hoisted_27 = { class: "sh-tbody" };
3000
3022
  const _hoisted_28 = {
3001
3023
  key: 0,
3002
3024
  class: "text-center"
@@ -3119,15 +3141,14 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3119
3141
  vue.createElementVNode("div", _hoisted_9, [
3120
3142
  vue.createElementVNode("div", _hoisted_10, [
3121
3143
  vue.withDirectives(vue.createElementVNode("input", {
3122
- type: "text",
3144
+ type: "search",
3123
3145
  onChange: _cache[1] || (_cache[1] = $event => ($options.reloadData(1))),
3124
3146
  "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (($data.filter_value) = $event)),
3125
3147
  placeholder: $props.searchPlaceholder ? $props.searchPlaceholder : 'Search',
3126
3148
  class: "form-control sh-search-input"
3127
3149
  }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_11), [
3128
3150
  [vue.vModelText, $data.filter_value]
3129
- ]),
3130
- _hoisted_12
3151
+ ])
3131
3152
  ])
3132
3153
  ])
3133
3154
  ]))
@@ -3135,10 +3156,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3135
3156
  ($options.hasDefaultSlot)
3136
3157
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
3137
3158
  ($data.loading === 'loading')
3138
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13, _hoisted_15))
3159
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, _hoisted_14))
3139
3160
  : ($data.loading === 'error')
3140
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
3141
- vue.createElementVNode("span", _hoisted_17, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3161
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15, [
3162
+ vue.createElementVNode("span", _hoisted_16, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3142
3163
  ]))
3143
3164
  : vue.createCommentVNode("v-if", true),
3144
3165
  ($data.loading === 'done')
@@ -3154,10 +3175,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3154
3175
  ($options.hasRecordsSlot)
3155
3176
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
3156
3177
  ($data.loading === 'loading')
3157
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, _hoisted_20))
3178
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17, _hoisted_19))
3158
3179
  : ($data.loading === 'error')
3159
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21, [
3160
- vue.createElementVNode("span", _hoisted_22, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3180
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20, [
3181
+ vue.createElementVNode("span", _hoisted_21, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3161
3182
  ]))
3162
3183
  : vue.createCommentVNode("v-if", true),
3163
3184
  ($data.loading === 'done')
@@ -3168,8 +3189,11 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3168
3189
  : vue.createCommentVNode("v-if", true)
3169
3190
  ], 64 /* STABLE_FRAGMENT */))
3170
3191
  : ($options.windowWidth > 700)
3171
- ? (vue.openBlock(), vue.createElementBlock("table", _hoisted_23, [
3172
- vue.createElementVNode("thead", null, [
3192
+ ? (vue.openBlock(), vue.createElementBlock("table", {
3193
+ key: 4,
3194
+ class: vue.normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3195
+ }, [
3196
+ vue.createElementVNode("thead", _hoisted_22, [
3173
3197
  vue.createElementVNode("tr", null, [
3174
3198
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.headers, (title) => {
3175
3199
  return (vue.openBlock(), vue.createElementBlock("th", {
@@ -3180,26 +3204,26 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3180
3204
  key: 0,
3181
3205
  class: "text-capitalize",
3182
3206
  onClick: $event => ($options.changeKey('order_by',title))
3183
- }, vue.toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3207
+ }, vue.toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3184
3208
  : (typeof title === 'function')
3185
3209
  ? (vue.openBlock(), vue.createElementBlock("a", {
3186
3210
  key: 1,
3187
3211
  class: "text-capitalize",
3188
3212
  onClick: $event => ($options.changeKey('order_by',title))
3189
- }, vue.toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_25))
3213
+ }, vue.toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3190
3214
  : (vue.openBlock(), vue.createElementBlock("a", {
3191
3215
  key: 2,
3192
3216
  class: "text-capitalize",
3193
3217
  onClick: $event => ($options.changeKey('order_by',title[0]))
3194
- }, vue.toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_26))
3218
+ }, vue.toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_25))
3195
3219
  ]))
3196
3220
  }), 128 /* KEYED_FRAGMENT */)),
3197
3221
  ($props.actions)
3198
- ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_27, vue.toDisplayString($props.actions.label), 1 /* TEXT */))
3222
+ ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_26, vue.toDisplayString($props.actions.label), 1 /* TEXT */))
3199
3223
  : vue.createCommentVNode("v-if", true)
3200
3224
  ])
3201
3225
  ]),
3202
- vue.createElementVNode("tbody", null, [
3226
+ vue.createElementVNode("tbody", _hoisted_27, [
3203
3227
  ($data.loading === 'loading')
3204
3228
  ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_28, [
3205
3229
  vue.createElementVNode("td", {
@@ -3301,7 +3325,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3301
3325
  }), 128 /* KEYED_FRAGMENT */))
3302
3326
  : vue.createCommentVNode("v-if", true)
3303
3327
  ])
3304
- ]))
3328
+ ], 2 /* CLASS */))
3305
3329
  : (vue.openBlock(), vue.createElementBlock("div", _hoisted_48, [
3306
3330
  ($data.loading === 'loading')
3307
3331
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_49, _hoisted_51))
package/dist/library.mjs CHANGED
@@ -1723,7 +1723,22 @@ var script$5 = {
1723
1723
  ShEditor: script$6,
1724
1724
  ShPhone: script$7
1725
1725
  },
1726
- props: ['action', 'classes', 'hasTerms', 'country_code', 'submitBtnClass', 'fields', 'columns', 'placeholders', 'field_permissions', 'retainDataAfterSubmission', 'currentData', 'actionLabel', 'fillSelects', 'phones', 'successCallback', 'failed_callback', 'labels', 'editors'],
1726
+ props: [
1727
+ 'action',
1728
+ 'classes',
1729
+ 'hasTerms',
1730
+ 'country_code',
1731
+ 'submitBtnClass',
1732
+ 'fields',
1733
+ 'columns', 'placeholders', 'field_permissions', 'retainDataAfterSubmission',
1734
+ 'currentData', 'actionLabel', 'fillSelects', 'phones', 'successCallback',
1735
+ 'failedCallback', 'labels', 'editors',
1736
+ 'datePickers',
1737
+ 'textAreas',
1738
+ 'files',
1739
+ 'phones',
1740
+ 'numbers'
1741
+ ],
1727
1742
  data: function () {
1728
1743
  return {
1729
1744
  form_elements: {},
@@ -1761,14 +1776,26 @@ var script$5 = {
1761
1776
  }
1762
1777
  },
1763
1778
  getFieldType: function (field) {
1779
+ if(this.editors && this.editors.includes(field)){
1780
+ return 'editor'
1781
+ }
1782
+ if(this.textAreas && this.textAreas.includes(field)){
1783
+ return 'textarea'
1784
+ }
1785
+ if(this.datePickers && this.datePickers.includes(field)){
1786
+ return 'datepicker'
1787
+ }
1788
+ if(this.numbers && this.numbers.includes(field)){
1789
+ return 'numeric'
1790
+ }
1791
+ if(this.files && this.files.includes(field)){
1792
+ return 'file'
1793
+ }
1764
1794
  const textareas = ['message', 'meta_description', 'comment', 'call_response', 'comments', 'description'];
1765
1795
  const selects = ['gender', 'payment_method', 'allow_view_mode', 'reasons_name', 'has_free_tier', 'payment_period', 'role', 'register_as', 'account_type'];
1766
1796
  const numbers = ['age'];
1767
1797
  const datePickers = ['free_tier_days', 'recurring_date', 'date', 'paid_at'];
1768
1798
  let realEditors = ['html_content', 'listing_description', 'mail', 'comment'];
1769
- if(this.editors && this.editors.includes(field)){
1770
- return 'editor'
1771
- }
1772
1799
  const mapLocations = ['building_location'];
1773
1800
  const files = ['file', 'logo'];
1774
1801
  const phones = ['phone'];
@@ -2699,7 +2726,7 @@ var helpers = {
2699
2726
 
2700
2727
  var script$1 = {
2701
2728
  name: 'sh-table',
2702
- props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2729
+ props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover'],
2703
2730
  inject: ['channel', 'global'],
2704
2731
  data () {
2705
2732
  return {
@@ -2935,56 +2962,51 @@ const _hoisted_8 = {
2935
2962
  const _hoisted_9 = { class: "col-12 mb-3" };
2936
2963
  const _hoisted_10 = { class: "sh-search-bar" };
2937
2964
  const _hoisted_11 = ["placeholder"];
2938
- const _hoisted_12 = /*#__PURE__*/createElementVNode("span", { class: "sh-search-icon" }, [
2939
- /*#__PURE__*/createElementVNode("i", { class: "bi bi-search mb-0" })
2940
- ], -1 /* HOISTED */);
2941
- const _hoisted_13 = {
2965
+ const _hoisted_12 = {
2942
2966
  key: 0,
2943
2967
  class: "text-center"
2944
2968
  };
2945
- const _hoisted_14 = /*#__PURE__*/createElementVNode("div", {
2969
+ const _hoisted_13 = /*#__PURE__*/createElementVNode("div", {
2946
2970
  class: "spinner-border",
2947
2971
  role: "status"
2948
2972
  }, [
2949
2973
  /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2950
2974
  ], -1 /* HOISTED */);
2951
- const _hoisted_15 = [
2952
- _hoisted_14
2975
+ const _hoisted_14 = [
2976
+ _hoisted_13
2953
2977
  ];
2954
- const _hoisted_16 = {
2978
+ const _hoisted_15 = {
2955
2979
  key: 1,
2956
2980
  class: "alert alert-danger"
2957
2981
  };
2958
- const _hoisted_17 = { colspan: 2 };
2959
- const _hoisted_18 = {
2982
+ const _hoisted_16 = { colspan: 2 };
2983
+ const _hoisted_17 = {
2960
2984
  key: 0,
2961
2985
  class: "text-center"
2962
2986
  };
2963
- const _hoisted_19 = /*#__PURE__*/createElementVNode("div", {
2987
+ const _hoisted_18 = /*#__PURE__*/createElementVNode("div", {
2964
2988
  class: "spinner-border",
2965
2989
  role: "status"
2966
2990
  }, [
2967
2991
  /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2968
2992
  ], -1 /* HOISTED */);
2969
- const _hoisted_20 = [
2970
- _hoisted_19
2993
+ const _hoisted_19 = [
2994
+ _hoisted_18
2971
2995
  ];
2972
- const _hoisted_21 = {
2996
+ const _hoisted_20 = {
2973
2997
  key: 1,
2974
2998
  class: "alert alert-danger"
2975
2999
  };
2976
- const _hoisted_22 = { colspan: 2 };
2977
- const _hoisted_23 = {
2978
- key: 4,
2979
- class: "table"
2980
- };
3000
+ const _hoisted_21 = { colspan: 2 };
3001
+ const _hoisted_22 = { class: "sh-thead" };
3002
+ const _hoisted_23 = ["onClick"];
2981
3003
  const _hoisted_24 = ["onClick"];
2982
3004
  const _hoisted_25 = ["onClick"];
2983
- const _hoisted_26 = ["onClick"];
2984
- const _hoisted_27 = {
3005
+ const _hoisted_26 = {
2985
3006
  key: 0,
2986
3007
  class: "text-capitalize"
2987
3008
  };
3009
+ const _hoisted_27 = { class: "sh-tbody" };
2988
3010
  const _hoisted_28 = {
2989
3011
  key: 0,
2990
3012
  class: "text-center"
@@ -3107,15 +3129,14 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3107
3129
  createElementVNode("div", _hoisted_9, [
3108
3130
  createElementVNode("div", _hoisted_10, [
3109
3131
  withDirectives(createElementVNode("input", {
3110
- type: "text",
3132
+ type: "search",
3111
3133
  onChange: _cache[1] || (_cache[1] = $event => ($options.reloadData(1))),
3112
3134
  "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (($data.filter_value) = $event)),
3113
3135
  placeholder: $props.searchPlaceholder ? $props.searchPlaceholder : 'Search',
3114
3136
  class: "form-control sh-search-input"
3115
3137
  }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_11), [
3116
3138
  [vModelText, $data.filter_value]
3117
- ]),
3118
- _hoisted_12
3139
+ ])
3119
3140
  ])
3120
3141
  ])
3121
3142
  ]))
@@ -3123,10 +3144,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3123
3144
  ($options.hasDefaultSlot)
3124
3145
  ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
3125
3146
  ($data.loading === 'loading')
3126
- ? (openBlock(), createElementBlock("div", _hoisted_13, _hoisted_15))
3147
+ ? (openBlock(), createElementBlock("div", _hoisted_12, _hoisted_14))
3127
3148
  : ($data.loading === 'error')
3128
- ? (openBlock(), createElementBlock("div", _hoisted_16, [
3129
- createElementVNode("span", _hoisted_17, toDisplayString($data.loading_error), 1 /* TEXT */)
3149
+ ? (openBlock(), createElementBlock("div", _hoisted_15, [
3150
+ createElementVNode("span", _hoisted_16, toDisplayString($data.loading_error), 1 /* TEXT */)
3130
3151
  ]))
3131
3152
  : createCommentVNode("v-if", true),
3132
3153
  ($data.loading === 'done')
@@ -3142,10 +3163,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3142
3163
  ($options.hasRecordsSlot)
3143
3164
  ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
3144
3165
  ($data.loading === 'loading')
3145
- ? (openBlock(), createElementBlock("div", _hoisted_18, _hoisted_20))
3166
+ ? (openBlock(), createElementBlock("div", _hoisted_17, _hoisted_19))
3146
3167
  : ($data.loading === 'error')
3147
- ? (openBlock(), createElementBlock("div", _hoisted_21, [
3148
- createElementVNode("span", _hoisted_22, toDisplayString($data.loading_error), 1 /* TEXT */)
3168
+ ? (openBlock(), createElementBlock("div", _hoisted_20, [
3169
+ createElementVNode("span", _hoisted_21, toDisplayString($data.loading_error), 1 /* TEXT */)
3149
3170
  ]))
3150
3171
  : createCommentVNode("v-if", true),
3151
3172
  ($data.loading === 'done')
@@ -3156,8 +3177,11 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3156
3177
  : createCommentVNode("v-if", true)
3157
3178
  ], 64 /* STABLE_FRAGMENT */))
3158
3179
  : ($options.windowWidth > 700)
3159
- ? (openBlock(), createElementBlock("table", _hoisted_23, [
3160
- createElementVNode("thead", null, [
3180
+ ? (openBlock(), createElementBlock("table", {
3181
+ key: 4,
3182
+ class: normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3183
+ }, [
3184
+ createElementVNode("thead", _hoisted_22, [
3161
3185
  createElementVNode("tr", null, [
3162
3186
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (title) => {
3163
3187
  return (openBlock(), createElementBlock("th", {
@@ -3168,26 +3192,26 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3168
3192
  key: 0,
3169
3193
  class: "text-capitalize",
3170
3194
  onClick: $event => ($options.changeKey('order_by',title))
3171
- }, toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3195
+ }, toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3172
3196
  : (typeof title === 'function')
3173
3197
  ? (openBlock(), createElementBlock("a", {
3174
3198
  key: 1,
3175
3199
  class: "text-capitalize",
3176
3200
  onClick: $event => ($options.changeKey('order_by',title))
3177
- }, toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_25))
3201
+ }, toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3178
3202
  : (openBlock(), createElementBlock("a", {
3179
3203
  key: 2,
3180
3204
  class: "text-capitalize",
3181
3205
  onClick: $event => ($options.changeKey('order_by',title[0]))
3182
- }, toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_26))
3206
+ }, toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_25))
3183
3207
  ]))
3184
3208
  }), 128 /* KEYED_FRAGMENT */)),
3185
3209
  ($props.actions)
3186
- ? (openBlock(), createElementBlock("th", _hoisted_27, toDisplayString($props.actions.label), 1 /* TEXT */))
3210
+ ? (openBlock(), createElementBlock("th", _hoisted_26, toDisplayString($props.actions.label), 1 /* TEXT */))
3187
3211
  : createCommentVNode("v-if", true)
3188
3212
  ])
3189
3213
  ]),
3190
- createElementVNode("tbody", null, [
3214
+ createElementVNode("tbody", _hoisted_27, [
3191
3215
  ($data.loading === 'loading')
3192
3216
  ? (openBlock(), createElementBlock("tr", _hoisted_28, [
3193
3217
  createElementVNode("td", {
@@ -3289,7 +3313,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3289
3313
  }), 128 /* KEYED_FRAGMENT */))
3290
3314
  : createCommentVNode("v-if", true)
3291
3315
  ])
3292
- ]))
3316
+ ], 2 /* CLASS */))
3293
3317
  : (openBlock(), createElementBlock("div", _hoisted_48, [
3294
3318
  ($data.loading === 'loading')
3295
3319
  ? (openBlock(), createElementBlock("div", _hoisted_49, _hoisted_51))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iankibetsh/shframework",
3
- "version": "0.3.7",
3
+ "version": "0.4.0",
4
4
  "description": "Vue library for handling laravel backend",
5
5
  "main": "dist/library.js",
6
6
  "module": "dist/library.mjs",