@iankibetsh/shframework 0.1.6 → 0.1.9

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/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # Installation
2
+
3
+ Install this package in your existing or freshly installed vue 3 framework
4
+ using vite
5
+
6
+ ```shell
7
+ npm install @iankibetsh/shframework
8
+ ```
9
+
10
+ Read more here
11
+
12
+ https://frontend-documentation.pages.dev/
@@ -30,146 +30,3 @@
30
30
  font-weight: 300;
31
31
  opacity: 0.5;
32
32
  }
33
-
34
- .single-mobile-req{
35
- border: 1px solid #eeeeee;
36
- border-radius: 0.25rem;
37
- margin: 0.125rem 0;
38
- box-shadow: 0 2px 8px #00000011;
39
- background-color: white !important;
40
- margin-bottom: 1.5rem;
41
- }
42
- .hauzisha-search-bar{
43
- max-width: 25rem;
44
- }
45
- .submitted_count{
46
- position: relative;
47
- font-size: 1rem !important;
48
- text-decoration: none;
49
- background-color: #1e8449;
50
- padding: 0.5rem 0.75rem;
51
- font-weight: bold;
52
- line-height: 1rem;
53
- display: inline-block;
54
- color: white;
55
- text-align: center !important;
56
- margin: 0.125rem;
57
- border-radius: 0.25rem;
58
- }
59
- /*.submitted_count:before{*/
60
- /* content: "";*/
61
- /* position: absolute;*/
62
- /* inset: -8px;*/
63
- /* background-color: #1e8449;*/
64
- /* z-index: -1;*/
65
- /* border-radius: 50%;*/
66
- /*}*/
67
- table.table{
68
- color: unset !important;
69
- border-radius: 0.25rem !important;
70
- text-decoration: none !important;
71
- transition: 0.5s all ease;
72
- box-shadow: 0 3px 5px #0002;
73
- width: 100%;
74
- font-size: 0.9rem !important;
75
- }
76
- thead,tbody{
77
- border-radius: inherit;
78
- }
79
- thead th{
80
- background-color: var(--s-primary);
81
- }
82
- thead th:first-child{
83
- background-color: var(--s-primary);
84
- border-radius: 0.25rem 0 0 0 !important;
85
- }
86
- thead th:last-child{
87
- background-color: var(--s-primary);
88
- border-radius: 0 0.25rem 0 0 !important;
89
- }
90
- thead *{
91
- color: white !important;
92
- text-decoration: none !important;
93
- font-weight: 400;
94
- }
95
- tr,td,th{
96
- border-bottom: none !important;
97
- }
98
- td:first-child,th:first-child{
99
- border-left: 1px solid #00000006 !important;
100
- }
101
- tr:nth-child(even){
102
- background-color: #2540a211;
103
- }
104
- tr:last-child{
105
- border-bottom: none !important;
106
- }
107
- td:nth-child(even){
108
- border-left: 1px solid #2540a244;
109
- border-right: 1px solid #2540a244;
110
- }
111
- td:not(:last-child),th:not(:last-child),td:not(:first-child),th:not(:first-child){
112
- max-width: 25rem !important;
113
- }
114
- th:nth-child(even){
115
- border-left: 1px solid #fff4;
116
- border-right: 1px solid #fff4;
117
- }
118
- th:last-child,td:last-child{
119
- border-right: 1px solid #00000006 !important;
120
- }
121
- .has-response {
122
- background-color: rgb(252 243 207);
123
- /*color: green;*/
124
- }
125
- .action_icon{
126
- background-position: center;
127
- background-size: cover;
128
- height: 30px;
129
- width: 30px;
130
- }
131
- .action_icon:hover {
132
- border: 1px solid blue;
133
- }
134
- .sh-search-bar{
135
- position: relative;
136
- height: 3rem;
137
- padding: 0;
138
- display: flex;
139
- align-items: center;
140
- }
141
- .sh-search-bar .sh-search-input{
142
- padding: 0.5rem 1rem 0.5rem 2.5rem;
143
- box-shadow: none;
144
- outline: none;
145
- border: 1px solid #ced0d4;
146
- border-radius: 1.5rem;
147
- max-width: 25rem;
148
- margin-bottom: 0;
149
- }
150
- .sh-search-bar .sh-search-icon{
151
- position: absolute;
152
- left: 1rem;
153
- top: 50%;
154
- transform: translateY(-50%);
155
- color: grey;
156
- font-size: 1rem;
157
- pointer-events: none;
158
- padding: 0;
159
- }
160
- .sh-search-bar .sh-search-icon i{
161
- padding: 0;
162
- margin-bottom: 0;
163
- }
164
- .sh-search-bar .sh-search-input:focus{
165
- border: 1px solid #076dfb;
166
- }
167
- .sh-search-bar .sh-search-input:focus + .sh-search-icon{
168
- color: #076dfb;
169
- }
170
- .sh-search-bar .sh-search-input::placeholder{
171
- font-size: 1.1rem;
172
- font-weight: 300;
173
- opacity: 0.8;
174
- text-transform: capitalize;
175
- }
package/dist/library.js CHANGED
@@ -2155,7 +2155,7 @@ script$5.__file = "src/views/ShForm.vue";
2155
2155
 
2156
2156
  var script$4 = {
2157
2157
  name: 'ShCanvas',
2158
- props: ['canvas_title', 'canvas_id', 'position'],
2158
+ props: ['canvasTitle', 'canvasId', 'position'],
2159
2159
  components: {
2160
2160
  },
2161
2161
  data () {
@@ -2183,11 +2183,11 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2183
2183
  class: vue.normalizeClass(["offcanvas", $data.side]),
2184
2184
  "data-bs-scroll": "true",
2185
2185
  tabindex: "-1",
2186
- id: $props.canvas_id,
2186
+ id: $props.canvasId,
2187
2187
  "aria-labelledby": "offcanvasScrollingLabel"
2188
2188
  }, [
2189
2189
  vue.createElementVNode("div", _hoisted_2$4, [
2190
- vue.createElementVNode("h5", _hoisted_3$4, vue.toDisplayString($props.canvas_title), 1 /* TEXT */),
2190
+ vue.createElementVNode("h5", _hoisted_3$4, vue.toDisplayString($props.canvasTitle), 1 /* TEXT */),
2191
2191
  vue.createElementVNode("button", {
2192
2192
  type: "button",
2193
2193
  ref: "closecanvas",
@@ -2208,9 +2208,8 @@ script$4.__file = "src/views/ShCanvas.vue";
2208
2208
 
2209
2209
  var script$3 = {
2210
2210
  name: 'ShModal',
2211
- props: ['modal_title', 'modal_id', 'modal_size'],
2211
+ props: ['modalTitle', 'modalId', 'modalSize'],
2212
2212
  components: {
2213
-
2214
2213
  }
2215
2214
  };
2216
2215
 
@@ -2230,16 +2229,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2230
2229
  return (vue.openBlock(), vue.createElementBlock("div", {
2231
2230
  class: "modal fade",
2232
2231
  tabindex: "-1",
2233
- id: $props.modal_id,
2232
+ id: $props.modalId,
2234
2233
  "data-focus": "false",
2235
2234
  "aria-hidden": "true"
2236
2235
  }, [
2237
2236
  vue.createElementVNode("div", {
2238
- class: vue.normalizeClass(["modal-dialog", `modal-${$props.modal_size}`])
2237
+ class: vue.normalizeClass(["modal-dialog", `modal-${$props.modalSize}`])
2239
2238
  }, [
2240
2239
  vue.createElementVNode("div", _hoisted_2$3, [
2241
2240
  vue.createElementVNode("div", _hoisted_3$3, [
2242
- vue.createElementVNode("h3", _hoisted_4$2, vue.toDisplayString($props.modal_title), 1 /* TEXT */),
2241
+ vue.createElementVNode("h3", _hoisted_4$2, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
2243
2242
  _hoisted_5$2
2244
2243
  ]),
2245
2244
  vue.createElementVNode("div", _hoisted_6$1, [
@@ -2622,7 +2621,7 @@ var helpers = {
2622
2621
 
2623
2622
  var script$1 = {
2624
2623
  name: 'sh-table',
2625
- props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'mobile_view', 'hideSearch', 'custom_template', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2624
+ props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2626
2625
  inject: ['channel', 'global'],
2627
2626
  data () {
2628
2627
  return {
@@ -2834,21 +2833,20 @@ var script$1 = {
2834
2833
  }
2835
2834
  };
2836
2835
 
2837
- const _withScopeId = n => (vue.pushScopeId("data-v-a10546a2"),n=n(),vue.popScopeId(),n);
2838
2836
  const _hoisted_1$1 = { class: "auto-table mt-2" };
2839
2837
  const _hoisted_2$1 = {
2840
2838
  key: 0,
2841
2839
  class: "col-md-4 mb-2"
2842
2840
  };
2843
2841
  const _hoisted_3$1 = ["disabled"];
2844
- const _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */));
2842
+ const _hoisted_4 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
2845
2843
  const _hoisted_5 = /*#__PURE__*/vue.createTextVNode(" Export ");
2846
- const _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("span", {
2844
+ const _hoisted_6 = /*#__PURE__*/vue.createElementVNode("span", {
2847
2845
  class: "spinner-border spinner-border-sm",
2848
2846
  role: "status",
2849
2847
  "aria-hidden": "true"
2850
- }, null, -1 /* HOISTED */));
2851
- const _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */));
2848
+ }, null, -1 /* HOISTED */);
2849
+ const _hoisted_7 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
2852
2850
  const _hoisted_8 = {
2853
2851
  key: 1,
2854
2852
  class: "row"
@@ -2856,9 +2854,9 @@ const _hoisted_8 = {
2856
2854
  const _hoisted_9 = { class: "col-12 mb-3" };
2857
2855
  const _hoisted_10 = { class: "sh-search-bar" };
2858
2856
  const _hoisted_11 = ["placeholder"];
2859
- const _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("span", { class: "sh-search-icon" }, [
2857
+ const _hoisted_12 = /*#__PURE__*/vue.createElementVNode("span", { class: "sh-search-icon" }, [
2860
2858
  /*#__PURE__*/vue.createElementVNode("i", { class: "bi bi-search mb-0" })
2861
- ], -1 /* HOISTED */));
2859
+ ], -1 /* HOISTED */);
2862
2860
  const _hoisted_13 = {
2863
2861
  key: 2,
2864
2862
  class: "table"
@@ -2875,14 +2873,14 @@ const _hoisted_18 = {
2875
2873
  class: "text-center"
2876
2874
  };
2877
2875
  const _hoisted_19 = ["colspan"];
2878
- const _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("div", { class: "text-center" }, [
2876
+ const _hoisted_20 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-center" }, [
2879
2877
  /*#__PURE__*/vue.createElementVNode("div", {
2880
2878
  class: "spinner-border",
2881
2879
  role: "status"
2882
2880
  }, [
2883
2881
  /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2884
2882
  ])
2885
- ], -1 /* HOISTED */));
2883
+ ], -1 /* HOISTED */);
2886
2884
  const _hoisted_21 = [
2887
2885
  _hoisted_20
2888
2886
  ];
@@ -2896,7 +2894,7 @@ const _hoisted_24 = {
2896
2894
  class: "text-center alert alert-info no_records"
2897
2895
  };
2898
2896
  const _hoisted_25 = ["colspan"];
2899
- const _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("i", { class: "bi-info-circle" }, null, -1 /* HOISTED */));
2897
+ const _hoisted_26 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-info-circle" }, null, -1 /* HOISTED */);
2900
2898
  const _hoisted_27 = /*#__PURE__*/vue.createTextVNode(" No records found ");
2901
2899
  const _hoisted_28 = [
2902
2900
  _hoisted_26,
@@ -2922,42 +2920,46 @@ const _hoisted_39 = {
2922
2920
  key: 0,
2923
2921
  class: "text-center"
2924
2922
  };
2925
- const _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("span", { colspan: 2 }, [
2926
- /*#__PURE__*/vue.createElementVNode("img", { src: "/assets/img/loading.gif" })
2927
- ], -1 /* HOISTED */));
2923
+ const _hoisted_40 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-center" }, [
2924
+ /*#__PURE__*/vue.createElementVNode("div", {
2925
+ class: "spinner-border",
2926
+ role: "status"
2927
+ }, [
2928
+ /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2929
+ ])
2930
+ ], -1 /* HOISTED */);
2928
2931
  const _hoisted_41 = [
2929
2932
  _hoisted_40
2930
2933
  ];
2931
2934
  const _hoisted_42 = { key: 1 };
2932
- const _hoisted_43 = { colspan: 2 };
2933
- const _hoisted_44 = {
2935
+ const _hoisted_43 = {
2934
2936
  key: 2,
2935
2937
  class: "mobile-list-items"
2936
2938
  };
2937
- const _hoisted_45 = ["onClick"];
2938
- const _hoisted_46 = {
2939
+ const _hoisted_44 = ["onClick"];
2940
+ const _hoisted_45 = {
2939
2941
  key: 0,
2940
2942
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2941
2943
  };
2942
- const _hoisted_47 = {
2944
+ const _hoisted_46 = {
2943
2945
  key: 1,
2944
2946
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2945
2947
  };
2946
- const _hoisted_48 = {
2948
+ const _hoisted_47 = {
2947
2949
  key: 2,
2948
2950
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2949
2951
  };
2950
- const _hoisted_49 = { key: 1 };
2951
- const _hoisted_50 = {
2952
+ const _hoisted_48 = { key: 1 };
2953
+ const _hoisted_49 = {
2952
2954
  key: 2,
2953
2955
  class: "text-primary fw-bold"
2954
2956
  };
2957
+ const _hoisted_50 = ["innerHTML"];
2955
2958
  const _hoisted_51 = ["innerHTML"];
2956
2959
  const _hoisted_52 = ["innerHTML"];
2957
- const _hoisted_53 = ["innerHTML"];
2958
- const _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */));
2959
- const _hoisted_55 = { key: 0 };
2960
- const _hoisted_56 = ["title", "onClick"];
2960
+ const _hoisted_53 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
2961
+ const _hoisted_54 = { key: 0 };
2962
+ const _hoisted_55 = ["title", "onClick"];
2961
2963
 
2962
2964
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2963
2965
  const _component_router_link = vue.resolveComponent("router-link");
@@ -3141,15 +3143,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3141
3143
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_39, _hoisted_41))
3142
3144
  : ($data.loading === 'error')
3143
3145
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_42, [
3144
- vue.createElementVNode("span", _hoisted_43, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3146
+ vue.createElementVNode("span", null, vue.toDisplayString($data.loading_error), 1 /* TEXT */)
3145
3147
  ]))
3146
3148
  : ($data.loading === 'done')
3147
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_44, [
3149
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_43, [
3148
3150
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.records, (record, index) => {
3149
3151
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
3150
3152
  key: record.id
3151
3153
  }, [
3152
- vue.createElementVNode("h3", null, vue.toDisplayString($props.mobile_view), 1 /* TEXT */),
3154
+ vue.createElementVNode("h3", null, vue.toDisplayString(_ctx.mobile_view), 1 /* TEXT */),
3153
3155
  vue.createElementVNode("div", {
3154
3156
  class: "single-mobile-req bg-light p-3",
3155
3157
  onClick: $event => ($options.rowSelected(record))
@@ -3159,10 +3161,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3159
3161
  key: key[0]
3160
3162
  }, [
3161
3163
  (typeof key === 'string' )
3162
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_46, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
3164
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_45, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
3163
3165
  : (typeof key === 'function')
3164
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_47, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
3165
- : (vue.openBlock(), vue.createElementBlock("p", _hoisted_48, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
3166
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_46, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
3167
+ : (vue.openBlock(), vue.createElementBlock("p", _hoisted_47, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
3166
3168
  vue.createElementVNode("span", null, [
3167
3169
  (typeof key === 'string' && $props.links && $props.links[key])
3168
3170
  ? (vue.openBlock(), vue.createBlock(_component_router_link, {
@@ -3172,29 +3174,29 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3172
3174
  innerHTML: record[key]
3173
3175
  }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3174
3176
  : ($options.getFieldType(key) === 'numeric')
3175
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_49, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3177
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_48, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3176
3178
  : ($options.getFieldType(key) === 'money')
3177
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_50, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3179
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_49, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3178
3180
  : (typeof key === 'string')
3179
3181
  ? (vue.openBlock(), vue.createElementBlock("span", {
3180
3182
  key: 3,
3181
3183
  innerHTML: record[key]
3182
- }, null, 8 /* PROPS */, _hoisted_51))
3184
+ }, null, 8 /* PROPS */, _hoisted_50))
3183
3185
  : (typeof key === 'function')
3184
3186
  ? (vue.openBlock(), vue.createElementBlock("span", {
3185
3187
  key: 4,
3186
3188
  innerHTML: key(record, index )
3187
- }, null, 8 /* PROPS */, _hoisted_52))
3189
+ }, null, 8 /* PROPS */, _hoisted_51))
3188
3190
  : (vue.openBlock(), vue.createElementBlock("span", {
3189
3191
  key: 5,
3190
3192
  innerHTML: record[key[0]]
3191
- }, null, 8 /* PROPS */, _hoisted_53))
3193
+ }, null, 8 /* PROPS */, _hoisted_52))
3192
3194
  ]),
3193
- _hoisted_54
3195
+ _hoisted_53
3194
3196
  ], 64 /* STABLE_FRAGMENT */))
3195
3197
  }), 128 /* KEYED_FRAGMENT */)),
3196
3198
  ($props.actions)
3197
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_55, [
3199
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_54, [
3198
3200
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
3199
3201
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
3200
3202
  key: act.path
@@ -3209,7 +3211,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3209
3211
  title: act.title,
3210
3212
  class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
3211
3213
  onClick: $event => ($options.doEmitAction(act.emits,record))
3212
- }, vue.toDisplayString(act.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_56))
3214
+ }, vue.toDisplayString(act.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_55))
3213
3215
  : vue.createCommentVNode("v-if", true),
3214
3216
  (!act.emits)
3215
3217
  ? (vue.openBlock(), vue.createBlock(_component_router_link, {
@@ -3232,7 +3234,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3232
3234
  }), 128 /* KEYED_FRAGMENT */))
3233
3235
  ]))
3234
3236
  : vue.createCommentVNode("v-if", true)
3235
- ], 8 /* PROPS */, _hoisted_45)
3237
+ ], 8 /* PROPS */, _hoisted_44)
3236
3238
  ], 64 /* STABLE_FRAGMENT */))
3237
3239
  }), 128 /* KEYED_FRAGMENT */))
3238
3240
  ]))
@@ -3253,7 +3255,6 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3253
3255
  }
3254
3256
 
3255
3257
  script$1.render = render$1;
3256
- script$1.__scopeId = "data-v-a10546a2";
3257
3258
  script$1.__file = "src/views/ShTable.vue";
3258
3259
 
3259
3260
  var script = {
@@ -3436,9 +3437,14 @@ const useUserStore = pinia.defineStore('user-store', {
3436
3437
  this.user = null;
3437
3438
  },
3438
3439
  logOut () {
3439
- shstorage.setItem('user',null);
3440
- shstorage.setItem('access_token',null);
3441
- this.user = null;
3440
+ this.signOut();
3441
+ },
3442
+ getUser () {
3443
+ this.setUser();
3444
+ },
3445
+ setAccessToken (accessToken) {
3446
+ shstorage.setItem('access_token', accessToken);
3447
+ this.setUser();
3442
3448
  }
3443
3449
  },
3444
3450
  getters: {
package/dist/library.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import Axios from 'axios';
2
2
  import NProgress from 'nprogress';
3
- import { openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, withDirectives, Fragment, renderList, vModelSelect, vModelText, resolveComponent, normalizeClass, createBlock, renderSlot, createStaticVNode, withCtx, pushScopeId, popScopeId, createVNode } from 'vue';
3
+ import { openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, withDirectives, Fragment, renderList, vModelSelect, vModelText, resolveComponent, normalizeClass, createBlock, renderSlot, createStaticVNode, withCtx, createVNode } from 'vue';
4
4
  import moment from 'moment';
5
5
  import Swal from 'sweetalert2';
6
6
  import { defineStore } from 'pinia';
@@ -2144,7 +2144,7 @@ script$5.__file = "src/views/ShForm.vue";
2144
2144
 
2145
2145
  var script$4 = {
2146
2146
  name: 'ShCanvas',
2147
- props: ['canvas_title', 'canvas_id', 'position'],
2147
+ props: ['canvasTitle', 'canvasId', 'position'],
2148
2148
  components: {
2149
2149
  },
2150
2150
  data () {
@@ -2172,11 +2172,11 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2172
2172
  class: normalizeClass(["offcanvas", $data.side]),
2173
2173
  "data-bs-scroll": "true",
2174
2174
  tabindex: "-1",
2175
- id: $props.canvas_id,
2175
+ id: $props.canvasId,
2176
2176
  "aria-labelledby": "offcanvasScrollingLabel"
2177
2177
  }, [
2178
2178
  createElementVNode("div", _hoisted_2$4, [
2179
- createElementVNode("h5", _hoisted_3$4, toDisplayString($props.canvas_title), 1 /* TEXT */),
2179
+ createElementVNode("h5", _hoisted_3$4, toDisplayString($props.canvasTitle), 1 /* TEXT */),
2180
2180
  createElementVNode("button", {
2181
2181
  type: "button",
2182
2182
  ref: "closecanvas",
@@ -2197,9 +2197,8 @@ script$4.__file = "src/views/ShCanvas.vue";
2197
2197
 
2198
2198
  var script$3 = {
2199
2199
  name: 'ShModal',
2200
- props: ['modal_title', 'modal_id', 'modal_size'],
2200
+ props: ['modalTitle', 'modalId', 'modalSize'],
2201
2201
  components: {
2202
-
2203
2202
  }
2204
2203
  };
2205
2204
 
@@ -2219,16 +2218,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2219
2218
  return (openBlock(), createElementBlock("div", {
2220
2219
  class: "modal fade",
2221
2220
  tabindex: "-1",
2222
- id: $props.modal_id,
2221
+ id: $props.modalId,
2223
2222
  "data-focus": "false",
2224
2223
  "aria-hidden": "true"
2225
2224
  }, [
2226
2225
  createElementVNode("div", {
2227
- class: normalizeClass(["modal-dialog", `modal-${$props.modal_size}`])
2226
+ class: normalizeClass(["modal-dialog", `modal-${$props.modalSize}`])
2228
2227
  }, [
2229
2228
  createElementVNode("div", _hoisted_2$3, [
2230
2229
  createElementVNode("div", _hoisted_3$3, [
2231
- createElementVNode("h3", _hoisted_4$2, toDisplayString($props.modal_title), 1 /* TEXT */),
2230
+ createElementVNode("h3", _hoisted_4$2, toDisplayString($props.modalTitle), 1 /* TEXT */),
2232
2231
  _hoisted_5$2
2233
2232
  ]),
2234
2233
  createElementVNode("div", _hoisted_6$1, [
@@ -2611,7 +2610,7 @@ var helpers = {
2611
2610
 
2612
2611
  var script$1 = {
2613
2612
  name: 'sh-table',
2614
- props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'mobile_view', 'hideSearch', 'custom_template', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2613
+ props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields'],
2615
2614
  inject: ['channel', 'global'],
2616
2615
  data () {
2617
2616
  return {
@@ -2823,21 +2822,20 @@ var script$1 = {
2823
2822
  }
2824
2823
  };
2825
2824
 
2826
- const _withScopeId = n => (pushScopeId("data-v-a10546a2"),n=n(),popScopeId(),n);
2827
2825
  const _hoisted_1$1 = { class: "auto-table mt-2" };
2828
2826
  const _hoisted_2$1 = {
2829
2827
  key: 0,
2830
2828
  class: "col-md-4 mb-2"
2831
2829
  };
2832
2830
  const _hoisted_3$1 = ["disabled"];
2833
- const _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */));
2831
+ const _hoisted_4 = /*#__PURE__*/createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
2834
2832
  const _hoisted_5 = /*#__PURE__*/createTextVNode(" Export ");
2835
- const _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("span", {
2833
+ const _hoisted_6 = /*#__PURE__*/createElementVNode("span", {
2836
2834
  class: "spinner-border spinner-border-sm",
2837
2835
  role: "status",
2838
2836
  "aria-hidden": "true"
2839
- }, null, -1 /* HOISTED */));
2840
- const _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */));
2837
+ }, null, -1 /* HOISTED */);
2838
+ const _hoisted_7 = /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
2841
2839
  const _hoisted_8 = {
2842
2840
  key: 1,
2843
2841
  class: "row"
@@ -2845,9 +2843,9 @@ const _hoisted_8 = {
2845
2843
  const _hoisted_9 = { class: "col-12 mb-3" };
2846
2844
  const _hoisted_10 = { class: "sh-search-bar" };
2847
2845
  const _hoisted_11 = ["placeholder"];
2848
- const _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("span", { class: "sh-search-icon" }, [
2846
+ const _hoisted_12 = /*#__PURE__*/createElementVNode("span", { class: "sh-search-icon" }, [
2849
2847
  /*#__PURE__*/createElementVNode("i", { class: "bi bi-search mb-0" })
2850
- ], -1 /* HOISTED */));
2848
+ ], -1 /* HOISTED */);
2851
2849
  const _hoisted_13 = {
2852
2850
  key: 2,
2853
2851
  class: "table"
@@ -2864,14 +2862,14 @@ const _hoisted_18 = {
2864
2862
  class: "text-center"
2865
2863
  };
2866
2864
  const _hoisted_19 = ["colspan"];
2867
- const _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("div", { class: "text-center" }, [
2865
+ const _hoisted_20 = /*#__PURE__*/createElementVNode("div", { class: "text-center" }, [
2868
2866
  /*#__PURE__*/createElementVNode("div", {
2869
2867
  class: "spinner-border",
2870
2868
  role: "status"
2871
2869
  }, [
2872
2870
  /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2873
2871
  ])
2874
- ], -1 /* HOISTED */));
2872
+ ], -1 /* HOISTED */);
2875
2873
  const _hoisted_21 = [
2876
2874
  _hoisted_20
2877
2875
  ];
@@ -2885,7 +2883,7 @@ const _hoisted_24 = {
2885
2883
  class: "text-center alert alert-info no_records"
2886
2884
  };
2887
2885
  const _hoisted_25 = ["colspan"];
2888
- const _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("i", { class: "bi-info-circle" }, null, -1 /* HOISTED */));
2886
+ const _hoisted_26 = /*#__PURE__*/createElementVNode("i", { class: "bi-info-circle" }, null, -1 /* HOISTED */);
2889
2887
  const _hoisted_27 = /*#__PURE__*/createTextVNode(" No records found ");
2890
2888
  const _hoisted_28 = [
2891
2889
  _hoisted_26,
@@ -2911,42 +2909,46 @@ const _hoisted_39 = {
2911
2909
  key: 0,
2912
2910
  class: "text-center"
2913
2911
  };
2914
- const _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("span", { colspan: 2 }, [
2915
- /*#__PURE__*/createElementVNode("img", { src: "/assets/img/loading.gif" })
2916
- ], -1 /* HOISTED */));
2912
+ const _hoisted_40 = /*#__PURE__*/createElementVNode("div", { class: "text-center" }, [
2913
+ /*#__PURE__*/createElementVNode("div", {
2914
+ class: "spinner-border",
2915
+ role: "status"
2916
+ }, [
2917
+ /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...")
2918
+ ])
2919
+ ], -1 /* HOISTED */);
2917
2920
  const _hoisted_41 = [
2918
2921
  _hoisted_40
2919
2922
  ];
2920
2923
  const _hoisted_42 = { key: 1 };
2921
- const _hoisted_43 = { colspan: 2 };
2922
- const _hoisted_44 = {
2924
+ const _hoisted_43 = {
2923
2925
  key: 2,
2924
2926
  class: "mobile-list-items"
2925
2927
  };
2926
- const _hoisted_45 = ["onClick"];
2927
- const _hoisted_46 = {
2928
+ const _hoisted_44 = ["onClick"];
2929
+ const _hoisted_45 = {
2928
2930
  key: 0,
2929
2931
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2930
2932
  };
2931
- const _hoisted_47 = {
2933
+ const _hoisted_46 = {
2932
2934
  key: 1,
2933
2935
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2934
2936
  };
2935
- const _hoisted_48 = {
2937
+ const _hoisted_47 = {
2936
2938
  key: 2,
2937
2939
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
2938
2940
  };
2939
- const _hoisted_49 = { key: 1 };
2940
- const _hoisted_50 = {
2941
+ const _hoisted_48 = { key: 1 };
2942
+ const _hoisted_49 = {
2941
2943
  key: 2,
2942
2944
  class: "text-primary fw-bold"
2943
2945
  };
2946
+ const _hoisted_50 = ["innerHTML"];
2944
2947
  const _hoisted_51 = ["innerHTML"];
2945
2948
  const _hoisted_52 = ["innerHTML"];
2946
- const _hoisted_53 = ["innerHTML"];
2947
- const _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */));
2948
- const _hoisted_55 = { key: 0 };
2949
- const _hoisted_56 = ["title", "onClick"];
2949
+ const _hoisted_53 = /*#__PURE__*/createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
2950
+ const _hoisted_54 = { key: 0 };
2951
+ const _hoisted_55 = ["title", "onClick"];
2950
2952
 
2951
2953
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2952
2954
  const _component_router_link = resolveComponent("router-link");
@@ -3130,15 +3132,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3130
3132
  ? (openBlock(), createElementBlock("div", _hoisted_39, _hoisted_41))
3131
3133
  : ($data.loading === 'error')
3132
3134
  ? (openBlock(), createElementBlock("div", _hoisted_42, [
3133
- createElementVNode("span", _hoisted_43, toDisplayString($data.loading_error), 1 /* TEXT */)
3135
+ createElementVNode("span", null, toDisplayString($data.loading_error), 1 /* TEXT */)
3134
3136
  ]))
3135
3137
  : ($data.loading === 'done')
3136
- ? (openBlock(), createElementBlock("div", _hoisted_44, [
3138
+ ? (openBlock(), createElementBlock("div", _hoisted_43, [
3137
3139
  (openBlock(true), createElementBlock(Fragment, null, renderList($data.records, (record, index) => {
3138
3140
  return (openBlock(), createElementBlock(Fragment, {
3139
3141
  key: record.id
3140
3142
  }, [
3141
- createElementVNode("h3", null, toDisplayString($props.mobile_view), 1 /* TEXT */),
3143
+ createElementVNode("h3", null, toDisplayString(_ctx.mobile_view), 1 /* TEXT */),
3142
3144
  createElementVNode("div", {
3143
3145
  class: "single-mobile-req bg-light p-3",
3144
3146
  onClick: $event => ($options.rowSelected(record))
@@ -3148,10 +3150,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3148
3150
  key: key[0]
3149
3151
  }, [
3150
3152
  (typeof key === 'string' )
3151
- ? (openBlock(), createElementBlock("p", _hoisted_46, toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
3153
+ ? (openBlock(), createElementBlock("p", _hoisted_45, toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
3152
3154
  : (typeof key === 'function')
3153
- ? (openBlock(), createElementBlock("p", _hoisted_47, toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
3154
- : (openBlock(), createElementBlock("p", _hoisted_48, toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
3155
+ ? (openBlock(), createElementBlock("p", _hoisted_46, toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
3156
+ : (openBlock(), createElementBlock("p", _hoisted_47, toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
3155
3157
  createElementVNode("span", null, [
3156
3158
  (typeof key === 'string' && $props.links && $props.links[key])
3157
3159
  ? (openBlock(), createBlock(_component_router_link, {
@@ -3161,29 +3163,29 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3161
3163
  innerHTML: record[key]
3162
3164
  }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3163
3165
  : ($options.getFieldType(key) === 'numeric')
3164
- ? (openBlock(), createElementBlock("span", _hoisted_49, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3166
+ ? (openBlock(), createElementBlock("span", _hoisted_48, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3165
3167
  : ($options.getFieldType(key) === 'money')
3166
- ? (openBlock(), createElementBlock("span", _hoisted_50, "KES " + toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3168
+ ? (openBlock(), createElementBlock("span", _hoisted_49, "KES " + toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3167
3169
  : (typeof key === 'string')
3168
3170
  ? (openBlock(), createElementBlock("span", {
3169
3171
  key: 3,
3170
3172
  innerHTML: record[key]
3171
- }, null, 8 /* PROPS */, _hoisted_51))
3173
+ }, null, 8 /* PROPS */, _hoisted_50))
3172
3174
  : (typeof key === 'function')
3173
3175
  ? (openBlock(), createElementBlock("span", {
3174
3176
  key: 4,
3175
3177
  innerHTML: key(record, index )
3176
- }, null, 8 /* PROPS */, _hoisted_52))
3178
+ }, null, 8 /* PROPS */, _hoisted_51))
3177
3179
  : (openBlock(), createElementBlock("span", {
3178
3180
  key: 5,
3179
3181
  innerHTML: record[key[0]]
3180
- }, null, 8 /* PROPS */, _hoisted_53))
3182
+ }, null, 8 /* PROPS */, _hoisted_52))
3181
3183
  ]),
3182
- _hoisted_54
3184
+ _hoisted_53
3183
3185
  ], 64 /* STABLE_FRAGMENT */))
3184
3186
  }), 128 /* KEYED_FRAGMENT */)),
3185
3187
  ($props.actions)
3186
- ? (openBlock(), createElementBlock("div", _hoisted_55, [
3188
+ ? (openBlock(), createElementBlock("div", _hoisted_54, [
3187
3189
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.actions.actions, (act) => {
3188
3190
  return (openBlock(), createElementBlock(Fragment, {
3189
3191
  key: act.path
@@ -3198,7 +3200,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3198
3200
  title: act.title,
3199
3201
  class: normalizeClass(act.class ? act.class:'btn btn-default'),
3200
3202
  onClick: $event => ($options.doEmitAction(act.emits,record))
3201
- }, toDisplayString(act.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_56))
3203
+ }, toDisplayString(act.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_55))
3202
3204
  : createCommentVNode("v-if", true),
3203
3205
  (!act.emits)
3204
3206
  ? (openBlock(), createBlock(_component_router_link, {
@@ -3221,7 +3223,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3221
3223
  }), 128 /* KEYED_FRAGMENT */))
3222
3224
  ]))
3223
3225
  : createCommentVNode("v-if", true)
3224
- ], 8 /* PROPS */, _hoisted_45)
3226
+ ], 8 /* PROPS */, _hoisted_44)
3225
3227
  ], 64 /* STABLE_FRAGMENT */))
3226
3228
  }), 128 /* KEYED_FRAGMENT */))
3227
3229
  ]))
@@ -3242,7 +3244,6 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3242
3244
  }
3243
3245
 
3244
3246
  script$1.render = render$1;
3245
- script$1.__scopeId = "data-v-a10546a2";
3246
3247
  script$1.__file = "src/views/ShTable.vue";
3247
3248
 
3248
3249
  var script = {
@@ -3425,9 +3426,14 @@ const useUserStore = defineStore('user-store', {
3425
3426
  this.user = null;
3426
3427
  },
3427
3428
  logOut () {
3428
- shstorage.setItem('user',null);
3429
- shstorage.setItem('access_token',null);
3430
- this.user = null;
3429
+ this.signOut();
3430
+ },
3431
+ getUser () {
3432
+ this.setUser();
3433
+ },
3434
+ setAccessToken (accessToken) {
3435
+ shstorage.setItem('access_token', accessToken);
3436
+ this.setUser();
3431
3437
  }
3432
3438
  },
3433
3439
  getters: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iankibetsh/shframework",
3
- "version": "0.1.6",
3
+ "version": "0.1.9",
4
4
  "description": "Vue library for handling laravel backend",
5
5
  "main": "dist/library.js",
6
6
  "module": "dist/library.mjs",