@iankibetsh/shframework 4.5.2 → 4.5.3

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
@@ -158,7 +158,6 @@ const signOutUser = () => {
158
158
 
159
159
 
160
160
  function getShConfig(key = null, def = ''){
161
-
162
161
  const config = ShStorage.getItem('ShConfig') ?? {};
163
162
  if (key) {
164
163
  return config[key] ?? def
@@ -435,6 +434,53 @@ function doPost (endPoint, data, extraConfig) {
435
434
  config
436
435
  )
437
436
  }
437
+ function doDelete (endPoint, data, extraConfig) {
438
+ updateSession();
439
+ const config = {
440
+ headers: {
441
+ Authorization: 'Bearer ' + ShStorage.getItem('access_token')
442
+ }
443
+ };
444
+ if (extraConfig) {
445
+ Object.assign(config, extraConfig);
446
+ }
447
+ return axios.delete(endPoint,
448
+ data,
449
+ config
450
+ )
451
+ }
452
+ function doPut (endPoint, data, extraConfig) {
453
+ updateSession();
454
+ const config = {
455
+ headers: {
456
+ Authorization: 'Bearer ' + ShStorage.getItem('access_token')
457
+ }
458
+ };
459
+ if (extraConfig) {
460
+ Object.assign(config, extraConfig);
461
+ }
462
+ return axios.put(endPoint,
463
+ data,
464
+ config
465
+ )
466
+
467
+ }
468
+ function doPatch (endPoint, data, extraConfig) {
469
+ updateSession();
470
+ const config = {
471
+ headers: {
472
+ Authorization: 'Bearer ' + ShStorage.getItem('access_token')
473
+ }
474
+ };
475
+ if (extraConfig) {
476
+ Object.assign(config, extraConfig);
477
+ }
478
+ return axios.patch(endPoint,
479
+ data,
480
+ config
481
+ )
482
+
483
+ }
438
484
  function graphQlQuery(query) {
439
485
  const data = {
440
486
  query
@@ -452,6 +498,9 @@ var shApis = {
452
498
  doGet,
453
499
  doPost,
454
500
  graphQlQuery,
501
+ doDelete,
502
+ doPut,
503
+ doPatch,
455
504
  graphQlMutate
456
505
  };
457
506
 
@@ -1928,7 +1977,7 @@ const countries = [
1928
1977
  }
1929
1978
  ];
1930
1979
 
1931
- var script$w = {
1980
+ var script$y = {
1932
1981
  name: 'PhoneInput',
1933
1982
  props: ['modelValue', 'country_code','disabled'],
1934
1983
  data () {
@@ -1998,20 +2047,23 @@ var script$w = {
1998
2047
  }
1999
2048
  };
2000
2049
 
2001
- const _hoisted_1$o = { class: "sh-phone mb-3" };
2002
- const _hoisted_2$e = {
2050
+ const _hoisted_1$q = {
2051
+ class: "sh-phone mb-3",
2052
+ style: {"display":"flex"}
2053
+ };
2054
+ const _hoisted_2$g = {
2003
2055
  key: 0,
2004
2056
  style: {"display":"contents"}
2005
2057
  };
2006
- const _hoisted_3$d = ["src"];
2007
- const _hoisted_4$d = ["value"];
2008
- const _hoisted_5$b = ["disabled"];
2058
+ const _hoisted_3$e = ["src"];
2059
+ const _hoisted_4$e = ["value"];
2060
+ const _hoisted_5$c = ["disabled"];
2009
2061
 
2010
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2011
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
2062
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2063
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
2012
2064
  ($data.selectedCountry)
2013
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
2014
- vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$d),
2065
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
2066
+ vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$e),
2015
2067
  vue.createTextVNode(" " + vue.toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
2016
2068
  ]))
2017
2069
  : vue.createCommentVNode("v-if", true),
@@ -2024,7 +2076,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2024
2076
  return (vue.openBlock(), vue.createElementBlock("option", {
2025
2077
  value: country,
2026
2078
  key: country.dialCode
2027
- }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$d))
2079
+ }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$e))
2028
2080
  }), 128 /* KEYED_FRAGMENT */))
2029
2081
  ], 544 /* NEED_HYDRATION, NEED_PATCH */), [
2030
2082
  [vue.vModelSelect, $data.selectedCountry]
@@ -2037,37 +2089,37 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2037
2089
  onInput: _cache[2] || (_cache[2] = (...args) => ($options.updateValue && $options.updateValue(...args))),
2038
2090
  placeholder: "712345678",
2039
2091
  "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.input) = $event))
2040
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_5$b), [
2092
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_5$c), [
2041
2093
  [vue.vModelText, $data.input]
2042
2094
  ])
2043
2095
  ]))
2044
2096
  }
2045
2097
 
2046
- script$w.render = render$3;
2047
- script$w.__file = "src/lib/components/form-components/PhoneInput.vue";
2098
+ script$y.render = render$4;
2099
+ script$y.__file = "src/lib/components/form-components/PhoneInput.vue";
2048
2100
 
2049
- const _hoisted_1$n = {
2101
+ const _hoisted_1$p = {
2050
2102
  key: 0,
2051
2103
  class: "dropdown sh-suggest"
2052
2104
  };
2053
- const _hoisted_2$d = ["id"];
2054
- const _hoisted_3$c = { class: "sh-suggestions-holder" };
2055
- const _hoisted_4$c = { class: "badge bg-secondary m-1 sh-selected-item" };
2056
- const _hoisted_5$a = ["onClick"];
2057
- const _hoisted_6$9 = ["id"];
2058
- const _hoisted_7$8 = ["id", "aria-labelledby"];
2059
- const _hoisted_8$7 = ["onClick"];
2060
- const _hoisted_9$7 = {
2105
+ const _hoisted_2$f = ["id"];
2106
+ const _hoisted_3$d = { class: "sh-suggestions-holder" };
2107
+ const _hoisted_4$d = { class: "badge bg-secondary m-1 sh-selected-item" };
2108
+ const _hoisted_5$b = ["onClick"];
2109
+ const _hoisted_6$a = ["id"];
2110
+ const _hoisted_7$9 = ["id", "aria-labelledby"];
2111
+ const _hoisted_8$8 = ["onClick"];
2112
+ const _hoisted_9$8 = {
2061
2113
  key: 1,
2062
2114
  class: "dropdown-item sh-suggest-no-results"
2063
2115
  };
2064
- const _hoisted_10$7 = {
2116
+ const _hoisted_10$8 = {
2065
2117
  key: 2,
2066
2118
  class: "dropdown-item sh-suggest-no-input"
2067
2119
  };
2068
2120
 
2069
2121
 
2070
- var script$v = {
2122
+ var script$x = {
2071
2123
  __name: 'ShSuggest',
2072
2124
  props: ['data','allowMultiple','url','modelValue','optionTemplate'],
2073
2125
  emits: ['update:modelValue'],
@@ -2203,23 +2255,23 @@ vue.watch(()=>props.modelValue, (newValue)=>{
2203
2255
 
2204
2256
  return (_ctx, _cache) => {
2205
2257
  return (vue.unref(id))
2206
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
2258
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
2207
2259
  vue.createElementVNode("div", {
2208
2260
  id: vue.unref(id),
2209
2261
  "data-bs-toggle": "dropdown",
2210
2262
  class: "p-0 d-flex sh-suggest-control dropdown-toggle",
2211
2263
  "aria-expanded": "false"
2212
2264
  }, [
2213
- vue.createElementVNode("div", _hoisted_3$c, [
2265
+ vue.createElementVNode("div", _hoisted_3$d, [
2214
2266
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectedSuggestions), (sgt) => {
2215
- return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_4$c, [
2267
+ return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_4$d, [
2216
2268
  vue.createTextVNode(vue.toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2217
2269
  vue.createElementVNode("button", {
2218
2270
  onClick: $event => (removeSuggestion(sgt.id)),
2219
2271
  type: "button",
2220
2272
  class: "btn-close border-start border-1 ms-1",
2221
2273
  "aria-label": "Close"
2222
- }, null, 8 /* PROPS */, _hoisted_5$a)
2274
+ }, null, 8 /* PROPS */, _hoisted_5$b)
2223
2275
  ]))
2224
2276
  }), 256 /* UNKEYED_FRAGMENT */))
2225
2277
  ]),
@@ -2229,8 +2281,8 @@ return (_ctx, _cache) => {
2229
2281
  onInput: filterData,
2230
2282
  onChange: filterData,
2231
2283
  class: "flex-fill h-100 sh-suggestion-input"
2232
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_6$9)
2233
- ], 8 /* PROPS */, _hoisted_2$d),
2284
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_6$a)
2285
+ ], 8 /* PROPS */, _hoisted_2$f),
2234
2286
  vue.createElementVNode("ul", {
2235
2287
  class: "dropdown-menu w-100",
2236
2288
  id: 'dropwdown_section' + vue.unref(id),
@@ -2257,14 +2309,14 @@ return (_ctx, _cache) => {
2257
2309
  class: vue.normalizeClass(["dropdown-item", vue.unref(selectedSuggestions).includes(suggestion) ? 'active':'']),
2258
2310
  href: "#"
2259
2311
  }, vue.toDisplayString(suggestion.name ?? suggestion.text), 3 /* TEXT, CLASS */))
2260
- ], 8 /* PROPS */, _hoisted_8$7))
2312
+ ], 8 /* PROPS */, _hoisted_8$8))
2261
2313
  : vue.createCommentVNode("v-if", true)
2262
2314
  ], 64 /* STABLE_FRAGMENT */))
2263
2315
  }), 128 /* KEYED_FRAGMENT */))
2264
2316
  : (vue.unref(searchText))
2265
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$7, " No results found "))
2266
- : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$7, " Type to search... "))
2267
- ], 8 /* PROPS */, _hoisted_7$8)
2317
+ ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$8, " No results found "))
2318
+ : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$8, " Type to search... "))
2319
+ ], 8 /* PROPS */, _hoisted_7$9)
2268
2320
  ]))
2269
2321
  : vue.createCommentVNode("v-if", true)
2270
2322
  }
@@ -2272,19 +2324,23 @@ return (_ctx, _cache) => {
2272
2324
 
2273
2325
  };
2274
2326
 
2275
- script$v.__scopeId = "data-v-71cc9569";
2276
- script$v.__file = "src/lib/components/form-components/ShSuggest.vue";
2327
+ script$x.__scopeId = "data-v-71cc9569";
2328
+ script$x.__file = "src/lib/components/form-components/ShSuggest.vue";
2277
2329
 
2278
- var script$u = {
2330
+ var script$w = {
2279
2331
  name: 'ShForm',
2280
2332
  components: {
2281
- PhoneInput: script$w,
2282
- ShSuggest: script$v,
2283
- ShPhone: script$w
2333
+ PhoneInput: script$y,
2334
+ ShSuggest: script$x,
2335
+ ShPhone: script$y
2284
2336
  },
2285
2337
  props: [
2286
2338
  'action',
2287
2339
  'classes',
2340
+ 'checkBoxes',
2341
+ 'radioBoxes',
2342
+ 'passwords',
2343
+ 'method',
2288
2344
  'hasTerms',
2289
2345
  'country_code',
2290
2346
  'submitBtnClass',
@@ -2312,6 +2368,8 @@ var script$u = {
2312
2368
  form_files: {},
2313
2369
  exiting_fields: [],
2314
2370
  selectData: {},
2371
+ checkboxData: {},
2372
+ radioboxData: {},
2315
2373
  users: [],
2316
2374
  allPlaceHolders: {},
2317
2375
  user: null,
@@ -2363,6 +2421,12 @@ var script$u = {
2363
2421
  if(this.files && this.files.includes(field)){
2364
2422
  return 'file'
2365
2423
  }
2424
+ if(this.phones && this.phones.includes(field)){
2425
+ return 'phone'
2426
+ }
2427
+ if (this.passwords && this.passwords.includes(field)) {
2428
+ return 'password'
2429
+ }
2366
2430
  if(this.fillSelects && this.fillSelects[field]){
2367
2431
  return 'select';
2368
2432
  }
@@ -2484,7 +2548,8 @@ var script$u = {
2484
2548
  Object.keys(this.form_files).forEach(key => {
2485
2549
  data.append(key, this.form_files[key].value);
2486
2550
  });
2487
- shApis.doPost(this.action, data).then(res => {
2551
+ const method = this.method =='put' ? shApis.doPut: (this.method == 'delete' ? shApis.doDelete: shApis.doPost);
2552
+ method(this.action, data).then(res => {
2488
2553
  // console.log(res)
2489
2554
  this.form_status = 2;
2490
2555
  Object.keys(this.form_elements).forEach(key => {
@@ -2566,7 +2631,6 @@ var script$u = {
2566
2631
  }
2567
2632
  },
2568
2633
  mounted: async function () {
2569
- const selectData = {};
2570
2634
  if (this.fillSelects) {
2571
2635
  Object.keys(this.fillSelects).forEach(key => {
2572
2636
  if(this.fillSelects[key].suggest || this.fillSelects[key].suggests) {
@@ -2584,7 +2648,20 @@ var script$u = {
2584
2648
  });
2585
2649
  }
2586
2650
  });
2587
- console.log(selectData);
2651
+ }
2652
+ const checkboxData = {};
2653
+ if (this.checkBoxes) {
2654
+ Object.keys(this.checkBoxes).forEach(key => {
2655
+ checkboxData[key] = this.checkBoxes[key];
2656
+ });
2657
+ this.checkboxData = checkboxData;
2658
+ }
2659
+ const radioboxData = {};
2660
+ if (this.radioBoxes) {
2661
+ Object.keys(this.radioBoxes).forEach(key => {
2662
+ radioboxData[key] = this.radioBoxes[key];
2663
+ });
2664
+ this.radioboxData = radioboxData;
2588
2665
  }
2589
2666
  },
2590
2667
  created: function () {
@@ -2604,25 +2681,25 @@ var script$u = {
2604
2681
  }
2605
2682
  };
2606
2683
 
2607
- const _hoisted_1$m = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2608
- const _hoisted_2$c = {
2684
+ const _hoisted_1$o = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2685
+ const _hoisted_2$e = {
2609
2686
  ref: "ShAutoForm",
2610
2687
  class: "sh-form"
2611
2688
  };
2612
- const _hoisted_3$b = {
2689
+ const _hoisted_3$c = {
2613
2690
  key: 0,
2614
2691
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2615
2692
  role: "alert"
2616
2693
  };
2617
- const _hoisted_4$b = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2618
- const _hoisted_5$9 = { key: 0 };
2619
- const _hoisted_6$8 = { key: 1 };
2620
- const _hoisted_7$7 = { class: "row" };
2621
- const _hoisted_8$6 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2622
- const _hoisted_9$6 = { class: "col-md-12" };
2623
- const _hoisted_10$6 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2624
- const _hoisted_11$6 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2625
- const _hoisted_12$4 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2694
+ const _hoisted_4$c = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2695
+ const _hoisted_5$a = { key: 0 };
2696
+ const _hoisted_6$9 = { key: 1 };
2697
+ const _hoisted_7$8 = { class: "row" };
2698
+ const _hoisted_8$7 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2699
+ const _hoisted_9$7 = { class: "col-md-12" };
2700
+ const _hoisted_10$7 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2701
+ const _hoisted_11$7 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2702
+ const _hoisted_12$6 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2626
2703
  const _hoisted_13$4 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2627
2704
  const _hoisted_14$4 = ["data-cy", "name", "onFocus", "onUpdate:modelValue"];
2628
2705
  const _hoisted_15$3 = ["disabled", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
@@ -2633,12 +2710,18 @@ const _hoisted_19$1 = {
2633
2710
  key: 11,
2634
2711
  class: "invalid-feedback"
2635
2712
  };
2636
- const _hoisted_20$1 = {
2713
+ const _hoisted_20$1 = { class: "form-check me-1" };
2714
+ const _hoisted_21$1 = ["value", "disabled", "checked"];
2715
+ const _hoisted_22$1 = { class: "form-check-label" };
2716
+ const _hoisted_23$1 = { class: "form-check me-1" };
2717
+ const _hoisted_24$1 = ["name", "value"];
2718
+ const _hoisted_25$1 = { class: "form-check-label" };
2719
+ const _hoisted_26$1 = {
2637
2720
  key: 1,
2638
2721
  class: "row"
2639
2722
  };
2640
- const _hoisted_21$1 = /*#__PURE__*/vue.createElementVNode("h5", null, "Confirm and Submit", -1 /* HOISTED */);
2641
- const _hoisted_22$1 = /*#__PURE__*/vue.createElementVNode("p", null, [
2723
+ const _hoisted_27$1 = /*#__PURE__*/vue.createElementVNode("h5", null, "Confirm and Submit", -1 /* HOISTED */);
2724
+ const _hoisted_28$1 = /*#__PURE__*/vue.createElementVNode("p", null, [
2642
2725
  /*#__PURE__*/vue.createTextVNode("By clicking submit, you agree to our "),
2643
2726
  /*#__PURE__*/vue.createElementVNode("a", {
2644
2727
  target: "_blank",
@@ -2650,31 +2733,31 @@ const _hoisted_22$1 = /*#__PURE__*/vue.createElementVNode("p", null, [
2650
2733
  href: "https://hauzisha.co.ke/privacy-policy"
2651
2734
  }, "privacy policy")
2652
2735
  ], -1 /* HOISTED */);
2653
- const _hoisted_23$1 = [
2654
- _hoisted_21$1,
2655
- _hoisted_22$1
2736
+ const _hoisted_29$1 = [
2737
+ _hoisted_27$1,
2738
+ _hoisted_28$1
2656
2739
  ];
2657
- const _hoisted_24$1 = /*#__PURE__*/vue.createElementVNode("span", {
2740
+ const _hoisted_30$1 = /*#__PURE__*/vue.createElementVNode("span", {
2658
2741
  class: "spinner-border spinner-border-sm",
2659
2742
  role: "status",
2660
2743
  "aria-hidden": "true"
2661
2744
  }, null, -1 /* HOISTED */);
2662
2745
 
2663
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2746
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2664
2747
  const _component_phone_input = vue.resolveComponent("phone-input");
2665
2748
  const _component_ShSuggest = vue.resolveComponent("ShSuggest");
2666
2749
 
2667
2750
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2668
- _hoisted_1$m,
2669
- vue.createElementVNode("form", _hoisted_2$c, [
2751
+ _hoisted_1$o,
2752
+ vue.createElementVNode("form", _hoisted_2$e, [
2670
2753
  vue.createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2671
2754
  vue.createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2672
2755
  (_ctx.form_status == 3)
2673
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$b, [
2674
- _hoisted_4$b,
2756
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
2757
+ _hoisted_4$c,
2675
2758
  (_ctx.errorText)
2676
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$9, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2677
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$8, "Unexpected Error Occurred")),
2759
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$a, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2760
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$9, "Unexpected Error Occurred")),
2678
2761
  vue.createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2679
2762
  ]))
2680
2763
  : vue.createCommentVNode("v-if", true),
@@ -2684,14 +2767,14 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2684
2767
  }, null, 512 /* NEED_PATCH */), [
2685
2768
  [vue.vModelText, _ctx.form_elements['id']]
2686
2769
  ]),
2687
- vue.createElementVNode("div", _hoisted_7$7, [
2770
+ vue.createElementVNode("div", _hoisted_7$8, [
2688
2771
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.fields, (field) => {
2689
2772
  return (vue.openBlock(), vue.createElementBlock("div", {
2690
2773
  class: vue.normalizeClass(["form-group", 'col-md-' + $options.getColumns()]),
2691
2774
  key: field
2692
2775
  }, [
2693
- vue.createElementVNode("label", _hoisted_8$6, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2694
- vue.createElementVNode("div", _hoisted_9$6, [
2776
+ vue.createElementVNode("label", _hoisted_8$7, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2777
+ vue.createElementVNode("div", _hoisted_9$7, [
2695
2778
  ($options.getFieldType(field) === 'component')
2696
2779
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.customComponent[field]), {
2697
2780
  key: 0,
@@ -2716,7 +2799,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2716
2799
  ref: 'file_'+field,
2717
2800
  onChange: $event => ($options.handleFileUpload(field)),
2718
2801
  type: "file"
2719
- }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_10$6))
2802
+ }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_10$7))
2720
2803
  : vue.createCommentVNode("v-if", true),
2721
2804
  ($options.getFieldType(field) === 'numeric')
2722
2805
  ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
@@ -2728,7 +2811,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2728
2811
  class: vue.normalizeClass([_ctx.form_errors[field] == null ? ' field_' + field:'is-invalid ' + field, "form-control"]),
2729
2812
  "onUpdate:modelValue": $event => ((_ctx.form_elements[field]) = $event),
2730
2813
  type: "number"
2731
- }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_11$6)), [
2814
+ }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_11$7)), [
2732
2815
  [vue.vModelText, _ctx.form_elements[field]]
2733
2816
  ])
2734
2817
  : vue.createCommentVNode("v-if", true),
@@ -2742,7 +2825,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2742
2825
  class: vue.normalizeClass([_ctx.form_errors[field] == null ? ' field_' + field:'is-invalid ' + field, "form-control"]),
2743
2826
  "onUpdate:modelValue": $event => ((_ctx.form_elements[field]) = $event),
2744
2827
  type: "password"
2745
- }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_12$4)), [
2828
+ }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_12$6)), [
2746
2829
  [vue.vModelText, _ctx.form_elements[field]]
2747
2830
  ])
2748
2831
  : vue.createCommentVNode("v-if", true),
@@ -2834,9 +2917,9 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2834
2917
  }, [
2835
2918
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.selectData[field], (item) => {
2836
2919
  return (vue.openBlock(), vue.createElementBlock("option", {
2837
- key: item.id,
2838
- value: item.id
2839
- }, vue.toDisplayString(item.name), 9 /* TEXT, PROPS */, _hoisted_18$3))
2920
+ key: $props.fillSelects[field].value ? item[$props.fillSelects[field].value]:item.id,
2921
+ value: $props.fillSelects[field].value ? item[$props.fillSelects[field].value]:item.id
2922
+ }, vue.toDisplayString($props.fillSelects[field].column ? item[$props.fillSelects[field].column]:item.name), 9 /* TEXT, PROPS */, _hoisted_18$3))
2840
2923
  }), 128 /* KEYED_FRAGMENT */))
2841
2924
  ], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_17$3)), [
2842
2925
  [vue.vModelSelect, _ctx.form_elements[field]]
@@ -2844,13 +2927,44 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2844
2927
  : vue.createCommentVNode("v-if", true),
2845
2928
  (_ctx.form_errors[field] != null )
2846
2929
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19$1, vue.toDisplayString(_ctx.form_errors[field][0]), 1 /* TEXT */))
2847
- : vue.createCommentVNode("v-if", true)
2930
+ : vue.createCommentVNode("v-if", true),
2931
+ vue.createElementVNode("div", {
2932
+ class: vue.normalizeClass($props.checkBoxes?.display ? ($props.checkBoxes.display =='row' ? 'd-flex': '' ) : '' )
2933
+ }, [
2934
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.checkboxData[field], (item) => {
2935
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$1, [
2936
+ vue.createElementVNode("input", {
2937
+ class: "form-check-input",
2938
+ type: "checkbox",
2939
+ value: item.id,
2940
+ disabled: item.disabled,
2941
+ checked: item.checked
2942
+ }, null, 8 /* PROPS */, _hoisted_21$1),
2943
+ vue.createElementVNode("label", _hoisted_22$1, vue.toDisplayString(item.label), 1 /* TEXT */)
2944
+ ]))
2945
+ }), 256 /* UNKEYED_FRAGMENT */))
2946
+ ], 2 /* CLASS */),
2947
+ vue.createElementVNode("div", {
2948
+ class: vue.normalizeClass($props.radioBoxes?.display ? ($props.radioBoxes.display =='row' ? 'd-flex': '' ) : '' )
2949
+ }, [
2950
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.radioboxData[field], (item) => {
2951
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$1, [
2952
+ vue.createElementVNode("input", {
2953
+ class: "form-check-input",
2954
+ type: "radio",
2955
+ name: field,
2956
+ value: item.value
2957
+ }, null, 8 /* PROPS */, _hoisted_24$1),
2958
+ vue.createElementVNode("label", _hoisted_25$1, vue.toDisplayString(item.label), 1 /* TEXT */)
2959
+ ]))
2960
+ }), 256 /* UNKEYED_FRAGMENT */))
2961
+ ], 2 /* CLASS */)
2848
2962
  ])
2849
2963
  ], 2 /* CLASS */))
2850
2964
  }), 128 /* KEYED_FRAGMENT */))
2851
2965
  ]),
2852
2966
  ($props.hasTerms)
2853
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$1, [..._hoisted_23$1]))
2967
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$1, [..._hoisted_29$1]))
2854
2968
  : vue.createCommentVNode("v-if", true),
2855
2969
  (_ctx.form_status == 1)
2856
2970
  ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -2859,7 +2973,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2859
2973
  type: "button",
2860
2974
  disabled: ""
2861
2975
  }, [
2862
- _hoisted_24$1,
2976
+ _hoisted_30$1,
2863
2977
  vue.createTextVNode(" Processing... ")
2864
2978
  ], 2 /* CLASS */))
2865
2979
  : (vue.openBlock(), vue.createElementBlock("button", {
@@ -2873,10 +2987,10 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2873
2987
  ], 64 /* STABLE_FRAGMENT */))
2874
2988
  }
2875
2989
 
2876
- script$u.render = render$2;
2877
- script$u.__file = "src/lib/components/ShForm.vue";
2990
+ script$w.render = render$3;
2991
+ script$w.__file = "src/lib/components/ShForm.vue";
2878
2992
 
2879
- var script$t = {
2993
+ var script$v = {
2880
2994
  __name: 'EmailInput',
2881
2995
  props: ['modelValue','label'],
2882
2996
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2914,12 +3028,12 @@ return (_ctx, _cache) => {
2914
3028
 
2915
3029
  };
2916
3030
 
2917
- script$t.__file = "src/lib/components/form-components/EmailInput.vue";
3031
+ script$v.__file = "src/lib/components/form-components/EmailInput.vue";
2918
3032
 
2919
- const _hoisted_1$l = ["min", "max"];
3033
+ const _hoisted_1$n = ["min", "max"];
2920
3034
 
2921
3035
 
2922
- var script$s = {
3036
+ var script$u = {
2923
3037
  __name: 'NumberInput',
2924
3038
  props: ['modelValue','label','min','max'],
2925
3039
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2951,7 +3065,7 @@ return (_ctx, _cache) => {
2951
3065
  onChange: modelValueUpdated,
2952
3066
  onKeydown: modelValueUpdated,
2953
3067
  onUpdated: modelValueUpdated
2954
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1$l)), [
3068
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1$n)), [
2955
3069
  [vue.vModelText, inputModel.value]
2956
3070
  ])
2957
3071
  }
@@ -2959,9 +3073,9 @@ return (_ctx, _cache) => {
2959
3073
 
2960
3074
  };
2961
3075
 
2962
- script$s.__file = "src/lib/components/form-components/NumberInput.vue";
3076
+ script$u.__file = "src/lib/components/form-components/NumberInput.vue";
2963
3077
 
2964
- var script$r = {
3078
+ var script$t = {
2965
3079
  __name: 'TextInput',
2966
3080
  props: ['modelValue','label','isInvalid'],
2967
3081
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3001,9 +3115,9 @@ return (_ctx, _cache) => {
3001
3115
 
3002
3116
  };
3003
3117
 
3004
- script$r.__file = "src/lib/components/form-components/TextInput.vue";
3118
+ script$t.__file = "src/lib/components/form-components/TextInput.vue";
3005
3119
 
3006
- var script$q = {
3120
+ var script$s = {
3007
3121
  __name: 'TextAreaInput',
3008
3122
  props: ['modelValue','label'],
3009
3123
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3041,12 +3155,12 @@ return (_ctx, _cache) => {
3041
3155
 
3042
3156
  };
3043
3157
 
3044
- script$q.__file = "src/lib/components/form-components/TextAreaInput.vue";
3158
+ script$s.__file = "src/lib/components/form-components/TextAreaInput.vue";
3045
3159
 
3046
- const _hoisted_1$k = ["value"];
3160
+ const _hoisted_1$m = ["value"];
3047
3161
 
3048
3162
 
3049
- var script$p = {
3163
+ var script$r = {
3050
3164
  __name: 'SelectInput',
3051
3165
  props: ['modelValue','label','url','required','options','dataUrl','data'],
3052
3166
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3101,7 +3215,7 @@ return (_ctx, _cache) => {
3101
3215
  return (vue.openBlock(), vue.createElementBlock("option", {
3102
3216
  key: option.id,
3103
3217
  value: option.id
3104
- }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$k))
3218
+ }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$m))
3105
3219
  }), 128 /* KEYED_FRAGMENT */))
3106
3220
  ], 544 /* NEED_HYDRATION, NEED_PATCH */)), [
3107
3221
  [vue.vModelSelect, inputModel.value]
@@ -3111,9 +3225,9 @@ return (_ctx, _cache) => {
3111
3225
 
3112
3226
  };
3113
3227
 
3114
- script$p.__file = "src/lib/components/form-components/SelectInput.vue";
3228
+ script$r.__file = "src/lib/components/form-components/SelectInput.vue";
3115
3229
 
3116
- var script$o = {
3230
+ var script$q = {
3117
3231
  __name: 'PasswordInput',
3118
3232
  props: ['modelValue','label'],
3119
3233
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3147,9 +3261,9 @@ return (_ctx, _cache) => {
3147
3261
 
3148
3262
  };
3149
3263
 
3150
- script$o.__file = "src/lib/components/form-components/PasswordInput.vue";
3264
+ script$q.__file = "src/lib/components/form-components/PasswordInput.vue";
3151
3265
 
3152
- var script$n = {
3266
+ var script$p = {
3153
3267
  __name: 'DateInput',
3154
3268
  props: ['modelValue','label','isInvalid'],
3155
3269
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3189,30 +3303,30 @@ return (_ctx, _cache) => {
3189
3303
 
3190
3304
  };
3191
3305
 
3192
- script$n.__file = "src/lib/components/form-components/DateInput.vue";
3306
+ script$p.__file = "src/lib/components/form-components/DateInput.vue";
3193
3307
 
3194
- const _hoisted_1$j = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3195
- const _hoisted_2$b = ["onUpdate:modelValue"];
3196
- const _hoisted_3$a = ["innerHTML"];
3197
- const _hoisted_4$a = {
3308
+ const _hoisted_1$l = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3309
+ const _hoisted_2$d = ["onUpdate:modelValue"];
3310
+ const _hoisted_3$b = ["innerHTML"];
3311
+ const _hoisted_4$b = {
3198
3312
  key: 0,
3199
3313
  class: "text-danger sh-required"
3200
3314
  };
3201
- const _hoisted_5$8 = ["innerHTML"];
3202
- const _hoisted_6$7 = {
3315
+ const _hoisted_5$9 = ["innerHTML"];
3316
+ const _hoisted_6$8 = {
3203
3317
  key: 2,
3204
3318
  class: "form-notch"
3205
3319
  };
3206
- const _hoisted_7$6 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-leading" }, null, -1 /* HOISTED */);
3207
- const _hoisted_8$5 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-middle" }, null, -1 /* HOISTED */);
3208
- const _hoisted_9$5 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-trailing" }, null, -1 /* HOISTED */);
3209
- const _hoisted_10$5 = [
3210
- _hoisted_7$6,
3211
- _hoisted_8$5,
3212
- _hoisted_9$5
3320
+ const _hoisted_7$7 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-leading" }, null, -1 /* HOISTED */);
3321
+ const _hoisted_8$6 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-middle" }, null, -1 /* HOISTED */);
3322
+ const _hoisted_9$6 = /*#__PURE__*/vue.createElementVNode("div", { class: "form-notch-trailing" }, null, -1 /* HOISTED */);
3323
+ const _hoisted_10$6 = [
3324
+ _hoisted_7$7,
3325
+ _hoisted_8$6,
3326
+ _hoisted_9$6
3213
3327
  ];
3214
- const _hoisted_11$5 = ["innerHTML"];
3215
- const _hoisted_12$3 = ["disabled"];
3328
+ const _hoisted_11$6 = ["innerHTML"];
3329
+ const _hoisted_12$5 = ["disabled"];
3216
3330
  const _hoisted_13$3 = {
3217
3331
  key: 0,
3218
3332
  class: "spinner-border spinner-border-sm",
@@ -3222,7 +3336,7 @@ const _hoisted_13$3 = {
3222
3336
  const _hoisted_14$3 = { key: 1 };
3223
3337
 
3224
3338
 
3225
- var script$m = {
3339
+ var script$o = {
3226
3340
  __name: 'ShAutoForm',
3227
3341
  props: [
3228
3342
  'action', 'successCallback', 'retainDataAfterSubmission',
@@ -3235,6 +3349,7 @@ var script$m = {
3235
3349
  'textAreas',
3236
3350
  'currentData',
3237
3351
  'emails',
3352
+ 'method',
3238
3353
  'phones', 'numbers', 'selects', 'dates', 'gqlMutation',
3239
3354
  'required'
3240
3355
  ],
@@ -3256,13 +3371,13 @@ const getFieldComponent = (fieldObj) => {
3256
3371
  const defaultPhones = ['phone'];
3257
3372
  const defaultEmails = ['email'];
3258
3373
  const formComponents = vue.inject('formComponents');
3259
- const TextComponent = formComponents.text ?? script$r;
3260
- const TextAreaComponent = formComponents.textArea ?? script$q;
3261
- const EmailComponent = formComponents.email ?? script$t;
3262
- const PhoneComponent = formComponents.phone ?? script$w;
3263
- const NumberComponent = formComponents.number ?? script$s;
3264
- const SelectComponent = formComponents.select ?? script$p;
3265
- const PasswordComponent = formComponents.password ?? script$o;
3374
+ const TextComponent = formComponents.text ?? script$t;
3375
+ const TextAreaComponent = formComponents.textArea ?? script$s;
3376
+ const EmailComponent = formComponents.email ?? script$v;
3377
+ const PhoneComponent = formComponents.phone ?? script$y;
3378
+ const NumberComponent = formComponents.number ?? script$u;
3379
+ const SelectComponent = formComponents.select ?? script$r;
3380
+ const PasswordComponent = formComponents.password ?? script$q;
3266
3381
  if (props.customComponents && props.customComponents[field]) {
3267
3382
  return props.customComponents[field]
3268
3383
  }
@@ -3280,28 +3395,28 @@ const getFieldComponent = (fieldObj) => {
3280
3395
 
3281
3396
  if (fieldObj.type) {
3282
3397
  if (fieldObj.type === 'suggest' || fieldObj.type === 'suggests') {
3283
- return script$v
3398
+ return script$x
3284
3399
  }
3285
3400
  return fieldObj.type === 'number' ? NumberComponent : fieldObj.type === 'textarea' ? TextAreaComponent : fieldObj.type === 'email' ? EmailComponent : fieldObj.type === 'phone' ? PhoneComponent : fieldObj.type === 'password' ? PasswordComponent : fieldObj.type === 'select' ? SelectComponent : TextComponent
3286
3401
  } else if (passwords.includes(field)) {
3287
3402
  return PasswordComponent
3288
3403
  } else if ((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)) {
3289
- return formComponents.textArea ?? script$q
3404
+ return formComponents.textArea ?? script$s
3290
3405
  } else if ((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)) {
3291
- return formComponents.email ?? script$t
3406
+ return formComponents.email ?? script$v
3292
3407
  } else if ((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)) {
3293
- return formComponents.phone ?? script$w
3408
+ return formComponents.phone ?? script$y
3294
3409
  } else if ((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)) {
3295
- return formComponents.number ?? script$s
3410
+ return formComponents.number ?? script$u
3296
3411
  }
3297
3412
  // else
3298
3413
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
3299
3414
  // return formComponents.select ?? SelectInput
3300
3415
  // } else
3301
3416
  if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3302
- return formComponents.date ?? script$n
3417
+ return formComponents.date ?? script$p
3303
3418
  }
3304
- return formComponents.text ?? script$r
3419
+ return formComponents.text ?? script$t
3305
3420
  };
3306
3421
  const shFormElementClasses = vue.ref(null);
3307
3422
  shFormElementClasses.value = vue.inject('shFormElementClasses');
@@ -3354,14 +3469,15 @@ const submitForm = e => {
3354
3469
  });
3355
3470
  args += `)`;
3356
3471
  args = args.replace(',)', ')');
3357
- if (args == '()') {
3472
+ if (args === '()') {
3358
3473
  args = '';
3359
3474
  }
3360
3475
  emit('preSubmit', data);
3361
3476
  const mutation = `{\n${props.gqlMutation} ${args} {\n${selectFields.join(`\n`)}\n}\n}`;
3362
3477
  shApis.graphQlMutate(mutation).then(res => handleSuccessRequest(res)).catch(reason => handlefailedRequest(reason));
3363
3478
  } else {
3364
- shApis.doPost(props.action, data).then(res => handleSuccessRequest(res)).catch(reason => handlefailedRequest(reason));
3479
+ const method = props.method ==='put' ? shApis.doPut: ( props.method === 'delete' ? shApis.doDelete: shApis.doPost);
3480
+ method(props.action, data).then(res => handleSuccessRequest(res)).catch(reason => handlefailedRequest(reason));
3365
3481
  }
3366
3482
  return false
3367
3483
  };
@@ -3450,7 +3566,7 @@ vue.onMounted((ev) => {
3450
3566
 
3451
3567
  return (_ctx, _cache) => {
3452
3568
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3453
- _hoisted_1$j,
3569
+ _hoisted_1$l,
3454
3570
  vue.createElementVNode("form", {
3455
3571
  class: vue.normalizeClass([__props.formClass, "sh-auto-form"]),
3456
3572
  ref_key: "shAutoForm",
@@ -3467,7 +3583,7 @@ return (_ctx, _cache) => {
3467
3583
  key: 0,
3468
3584
  type: "hidden",
3469
3585
  "onUpdate:modelValue": $event => ((formFields.value[index].value) = $event)
3470
- }, null, 8 /* PROPS */, _hoisted_2$b)), [
3586
+ }, null, 8 /* PROPS */, _hoisted_2$d)), [
3471
3587
  [vue.vModelText, formFields.value[index].value]
3472
3588
  ])
3473
3589
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
@@ -3479,9 +3595,9 @@ return (_ctx, _cache) => {
3479
3595
  vue.createElementVNode("span", {
3480
3596
  innerHTML: field.label,
3481
3597
  class: "sh-label"
3482
- }, null, 8 /* PROPS */, _hoisted_3$a),
3598
+ }, null, 8 /* PROPS */, _hoisted_3$b),
3483
3599
  (field.required)
3484
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$a, "*"))
3600
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$b, "*"))
3485
3601
  : vue.createCommentVNode("v-if", true)
3486
3602
  ], 2 /* CLASS */))
3487
3603
  : vue.createCommentVNode("v-if", true),
@@ -3497,17 +3613,17 @@ return (_ctx, _cache) => {
3497
3613
  key: 1,
3498
3614
  class: vue.normalizeClass(getElementClass('formLabel')),
3499
3615
  innerHTML: field.label
3500
- }, null, 10 /* CLASS, PROPS */, _hoisted_5$8))
3616
+ }, null, 10 /* CLASS, PROPS */, _hoisted_5$9))
3501
3617
  : vue.createCommentVNode("v-if", true),
3502
3618
  (vue.unref(isFloating))
3503
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$7, [..._hoisted_10$5]))
3619
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$8, [..._hoisted_10$6]))
3504
3620
  : vue.createCommentVNode("v-if", true),
3505
3621
  (field.helper)
3506
3622
  ? (vue.openBlock(), vue.createElementBlock("div", {
3507
3623
  key: 3,
3508
3624
  class: vue.normalizeClass(getElementClass('helperText')),
3509
3625
  innerHTML: field.helper
3510
- }, null, 10 /* CLASS, PROPS */, _hoisted_11$5))
3626
+ }, null, 10 /* CLASS, PROPS */, _hoisted_11$6))
3511
3627
  : vue.createCommentVNode("v-if", true),
3512
3628
  (validationErrors.value[field.field])
3513
3629
  ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -3534,7 +3650,7 @@ return (_ctx, _cache) => {
3534
3650
  (!loading.value)
3535
3651
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14$3, "Submit"))
3536
3652
  : vue.createCommentVNode("v-if", true)
3537
- ], 14 /* CLASS, STYLE, PROPS */, _hoisted_12$3)
3653
+ ], 14 /* CLASS, STYLE, PROPS */, _hoisted_12$5)
3538
3654
  ], 2 /* CLASS */),
3539
3655
  vue.renderSlot(_ctx.$slots, "default")
3540
3656
  ], 34 /* CLASS, NEED_HYDRATION */)
@@ -3544,12 +3660,12 @@ return (_ctx, _cache) => {
3544
3660
 
3545
3661
  };
3546
3662
 
3547
- script$m.__file = "src/lib/components/ShAutoForm.vue";
3663
+ script$o.__file = "src/lib/components/ShAutoForm.vue";
3548
3664
 
3549
- const _hoisted_1$i = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3550
- const _hoisted_2$a = { class: "dropdown" };
3665
+ const _hoisted_1$k = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3666
+ const _hoisted_2$c = { class: "dropdown" };
3551
3667
 
3552
- var script$l = {
3668
+ var script$n = {
3553
3669
  __name: 'ShDropDownForm',
3554
3670
  props: ['action',
3555
3671
  'classes',
@@ -3577,8 +3693,8 @@ const dropdownId = 'rand' + (Math.random() + 1).toString(36).substring(2);
3577
3693
 
3578
3694
  return (_ctx, _cache) => {
3579
3695
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3580
- _hoisted_1$i,
3581
- vue.createElementVNode("div", _hoisted_2$a, [
3696
+ _hoisted_1$k,
3697
+ vue.createElementVNode("div", _hoisted_2$c, [
3582
3698
  vue.createElementVNode("a", {
3583
3699
  class: vue.normalizeClass(vue.unref(btnClass)),
3584
3700
  href: "#",
@@ -3594,7 +3710,7 @@ return (_ctx, _cache) => {
3594
3710
  class: "dropdown-menu px-2 py-1",
3595
3711
  "aria-labelledby": dropdownId
3596
3712
  }, [
3597
- vue.createVNode(script$u, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3713
+ vue.createVNode(script$w, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3598
3714
  ])
3599
3715
  ])
3600
3716
  ], 64 /* STABLE_FRAGMENT */))
@@ -3603,22 +3719,22 @@ return (_ctx, _cache) => {
3603
3719
 
3604
3720
  };
3605
3721
 
3606
- script$l.__file = "src/lib/components/ShDropDownForm.vue";
3722
+ script$n.__file = "src/lib/components/ShDropDownForm.vue";
3607
3723
 
3608
- const _hoisted_1$h = ["id"];
3609
- const _hoisted_2$9 = { class: "modal-content sh-modal-content" };
3610
- const _hoisted_3$9 = { class: "modal-header" };
3611
- const _hoisted_4$9 = { class: "modal-title flex-fill" };
3612
- const _hoisted_5$7 = /*#__PURE__*/vue.createElementVNode("button", {
3724
+ const _hoisted_1$j = ["id", "data-bs-backdrop"];
3725
+ const _hoisted_2$b = { class: "modal-content" };
3726
+ const _hoisted_3$a = { class: "modal-header" };
3727
+ const _hoisted_4$a = { class: "modal-title flex-fill" };
3728
+ const _hoisted_5$8 = /*#__PURE__*/vue.createElementVNode("button", {
3613
3729
  class: "btn btn-danger btn-sm",
3614
3730
  "data-bs-dismiss": "modal",
3615
3731
  "data-dismiss": "modal"
3616
3732
  }, "×", -1 /* HOISTED */);
3617
- const _hoisted_6$6 = { class: "modal-body" };
3618
- const _hoisted_7$5 = { class: "section" };
3733
+ const _hoisted_6$7 = { class: "modal-body" };
3734
+ const _hoisted_7$6 = { class: "section" };
3619
3735
 
3620
3736
 
3621
- var script$k = {
3737
+ var script$m = {
3622
3738
  __name: 'ShModal',
3623
3739
  props: {
3624
3740
  modalId: {
@@ -3631,13 +3747,17 @@ var script$k = {
3631
3747
  modalSize: {
3632
3748
  type: String
3633
3749
  },
3634
- Static: {
3750
+ static: {
3635
3751
  type: Boolean,
3636
3752
  default: false
3637
3753
  },
3638
3754
  bsKeyboard: {
3639
3755
  type: Boolean,
3640
3756
  default: true
3757
+ },
3758
+ centered: {
3759
+ type: Boolean,
3760
+ default: true
3641
3761
  }
3642
3762
  },
3643
3763
  emits: ['modalClosed'],
@@ -3651,42 +3771,54 @@ vue.onMounted(() => {
3651
3771
  event.target.id == props.modalId && emit('modalClosed');
3652
3772
  });
3653
3773
  });
3774
+ const modalClasses = vue.computed(() => {
3775
+ let classes = 'modal-dialog';
3776
+ if (props.modalSize) {
3777
+ classes += ' modal-' + props.modalSize;
3778
+ }
3779
+ if (props.centered) {
3780
+ classes += ' modal-dialog-centered';
3781
+ }
3782
+ return classes
3783
+ });
3654
3784
 
3655
3785
  return (_ctx, _cache) => {
3656
3786
  return (vue.openBlock(), vue.createElementBlock("div", {
3657
- class: "modal sh-modal fade",
3787
+ class: "modal fade",
3658
3788
  id: __props.modalId,
3659
- "aria-hidden": "true"
3789
+ "aria-hidden": "true",
3790
+ "data-bs-backdrop": __props.static? 'static': 'none'
3660
3791
  }, [
3661
3792
  vue.createElementVNode("div", {
3662
- class: vue.normalizeClass(["modal-dialog sh-modal-dialog", `modal-${__props.modalSize}`])
3793
+ class: vue.normalizeClass(["modal-dialog", modalClasses.value])
3663
3794
  }, [
3664
- vue.createElementVNode("div", _hoisted_2$9, [
3665
- vue.createElementVNode("div", _hoisted_3$9, [
3666
- vue.createElementVNode("h3", _hoisted_4$9, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3667
- _hoisted_5$7
3795
+ vue.createElementVNode("div", _hoisted_2$b, [
3796
+ vue.createElementVNode("div", _hoisted_3$a, [
3797
+ vue.createElementVNode("h3", _hoisted_4$a, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3798
+ _hoisted_5$8
3668
3799
  ]),
3669
- vue.createElementVNode("div", _hoisted_6$6, [
3670
- vue.createElementVNode("div", _hoisted_7$5, [
3800
+ vue.createElementVNode("div", _hoisted_6$7, [
3801
+ vue.createElementVNode("div", _hoisted_7$6, [
3671
3802
  vue.renderSlot(_ctx.$slots, "default")
3672
3803
  ])
3673
3804
  ])
3674
3805
  ])
3675
3806
  ], 2 /* CLASS */)
3676
- ], 8 /* PROPS */, _hoisted_1$h))
3807
+ ], 8 /* PROPS */, _hoisted_1$j))
3677
3808
  }
3678
3809
  }
3679
3810
 
3680
3811
  };
3681
3812
 
3682
- script$k.__file = "src/lib/components/ShModal.vue";
3813
+ script$m.__file = "src/lib/components/ShModal.vue";
3683
3814
 
3684
- const _hoisted_1$g = ["href"];
3815
+ const _hoisted_1$i = ["href"];
3685
3816
 
3686
- var script$j = {
3817
+ var script$l = {
3687
3818
  __name: 'ShModalForm',
3688
3819
  props: ['action',
3689
3820
  'classes',
3821
+ 'method',
3690
3822
  'hasTerms',
3691
3823
  'country_code',
3692
3824
  'submitBtnClass',
@@ -3736,13 +3868,13 @@ return (_ctx, _cache) => {
3736
3868
  "data-bs-toggle": "modal"
3737
3869
  }, [
3738
3870
  vue.renderSlot(_ctx.$slots, "default")
3739
- ], 10 /* CLASS, PROPS */, _hoisted_1$g),
3740
- vue.createVNode(script$k, {
3871
+ ], 10 /* CLASS, PROPS */, _hoisted_1$i),
3872
+ vue.createVNode(script$m, {
3741
3873
  "modal-id": vue.unref(realModalId),
3742
3874
  "modal-title": __props.modalTitle
3743
3875
  }, {
3744
3876
  default: vue.withCtx(() => [
3745
- (vue.openBlock(), vue.createBlock(script$m, vue.mergeProps({
3877
+ (vue.openBlock(), vue.createBlock(script$o, vue.mergeProps({
3746
3878
  onSuccess: success,
3747
3879
  onFieldChanged: fieldChanged,
3748
3880
  onFormSubmitted: formSubmitted,
@@ -3758,11 +3890,11 @@ return (_ctx, _cache) => {
3758
3890
 
3759
3891
  };
3760
3892
 
3761
- script$j.__file = "src/lib/components/ShModalForm.vue";
3893
+ script$l.__file = "src/lib/components/ShModalForm.vue";
3762
3894
 
3763
- const _hoisted_1$f = ["href"];
3895
+ const _hoisted_1$h = ["href"];
3764
3896
 
3765
- var script$i = {
3897
+ var script$k = {
3766
3898
  __name: 'ShModalFormAuto',
3767
3899
  props: ['action',
3768
3900
  'classes',
@@ -3800,13 +3932,13 @@ return (_ctx, _cache) => {
3800
3932
  "data-bs-toggle": "modal"
3801
3933
  }, [
3802
3934
  vue.renderSlot(_ctx.$slots, "default")
3803
- ], 10 /* CLASS, PROPS */, _hoisted_1$f),
3804
- vue.createVNode(script$k, {
3935
+ ], 10 /* CLASS, PROPS */, _hoisted_1$h),
3936
+ vue.createVNode(script$m, {
3805
3937
  "modal-id": modalId,
3806
3938
  "modal-title": __props.modalTitle
3807
3939
  }, {
3808
3940
  default: vue.withCtx(() => [
3809
- vue.createVNode(script$m, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3941
+ vue.createVNode(script$o, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3810
3942
  ]),
3811
3943
  _: 1 /* STABLE */
3812
3944
  }, 8 /* PROPS */, ["modal-title"])
@@ -3816,17 +3948,17 @@ return (_ctx, _cache) => {
3816
3948
 
3817
3949
  };
3818
3950
 
3819
- script$i.__file = "src/lib/components/ShModalFormAuto.vue";
3951
+ script$k.__file = "src/lib/components/ShModalFormAuto.vue";
3820
3952
 
3821
- const _hoisted_1$e = ["id"];
3822
- const _hoisted_2$8 = { class: "offcanvas-header" };
3823
- const _hoisted_3$8 = {
3953
+ const _hoisted_1$g = ["data-bs-scroll", "id"];
3954
+ const _hoisted_2$a = { class: "offcanvas-header" };
3955
+ const _hoisted_3$9 = {
3824
3956
  class: "offcanvas-title",
3825
3957
  id: "offcanvasScrollingLabel"
3826
3958
  };
3827
- const _hoisted_4$8 = { class: "offcanvas-body" };
3959
+ const _hoisted_4$9 = { class: "offcanvas-body" };
3828
3960
 
3829
- var script$h = {
3961
+ var script$j = {
3830
3962
  __name: 'ShCanvas',
3831
3963
  props: {
3832
3964
  canvasId: {
@@ -3844,6 +3976,9 @@ var script$h = {
3844
3976
  },
3845
3977
  side: {
3846
3978
  type: String
3979
+ },
3980
+ scrollable: {
3981
+ type: Boolean
3847
3982
  }
3848
3983
  },
3849
3984
  emits: ['canvasClosed'],
@@ -3864,13 +3999,13 @@ vue.onMounted(()=>{
3864
3999
  return (_ctx, _cache) => {
3865
4000
  return (vue.openBlock(), vue.createElementBlock("div", {
3866
4001
  class: vue.normalizeClass(["offcanvas", canvasSide.value +' '+ __props.canvasSize + '']),
3867
- "data-bs-scroll": "true",
4002
+ "data-bs-scroll": __props.scrollable,
3868
4003
  tabindex: "-1",
3869
4004
  id: __props.canvasId,
3870
4005
  "aria-labelledby": "offcanvasScrollingLabel"
3871
4006
  }, [
3872
- vue.createElementVNode("div", _hoisted_2$8, [
3873
- vue.createElementVNode("h5", _hoisted_3$8, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
4007
+ vue.createElementVNode("div", _hoisted_2$a, [
4008
+ vue.createElementVNode("h5", _hoisted_3$9, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
3874
4009
  vue.createElementVNode("button", {
3875
4010
  type: "button",
3876
4011
  ref: "closecanvas",
@@ -3880,32 +4015,32 @@ return (_ctx, _cache) => {
3880
4015
  "aria-label": "Close"
3881
4016
  }, null, 512 /* NEED_PATCH */)
3882
4017
  ]),
3883
- vue.createElementVNode("div", _hoisted_4$8, [
4018
+ vue.createElementVNode("div", _hoisted_4$9, [
3884
4019
  vue.renderSlot(_ctx.$slots, "default")
3885
4020
  ])
3886
- ], 10 /* CLASS, PROPS */, _hoisted_1$e))
4021
+ ], 10 /* CLASS, PROPS */, _hoisted_1$g))
3887
4022
  }
3888
4023
  }
3889
4024
 
3890
4025
  };
3891
4026
 
3892
- script$h.__file = "src/lib/components/ShCanvas.vue";
4027
+ script$j.__file = "src/lib/components/ShCanvas.vue";
3893
4028
 
3894
- const _hoisted_1$d = { class: "callout callout-info" };
4029
+ const _hoisted_1$f = { class: "callout callout-info" };
3895
4030
 
3896
- function render$1(_ctx, _cache) {
3897
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
4031
+ function render$2(_ctx, _cache) {
4032
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
3898
4033
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
3899
4034
  vue.createTextVNode(" No records found ")
3900
4035
  ])
3901
4036
  ]))
3902
4037
  }
3903
4038
 
3904
- const script$g = {};
4039
+ const script$i = {};
3905
4040
 
3906
- script$g.render = render$1;
3907
- script$g.__scopeId = "data-v-55cf77fb";
3908
- script$g.__file = "src/lib/components/others/NoRecords.vue";
4041
+ script$i.render = render$2;
4042
+ script$i.__scopeId = "data-v-55cf77fb";
4043
+ script$i.__file = "src/lib/components/others/NoRecords.vue";
3909
4044
 
3910
4045
  const useUserStore = pinia.defineStore('user-store', {
3911
4046
  state: () => ({
@@ -4003,7 +4138,7 @@ const useUserStore = pinia.defineStore('user-store', {
4003
4138
  }
4004
4139
  });
4005
4140
 
4006
- var script$f = {
4141
+ var script$h = {
4007
4142
  name: 'Pagination',
4008
4143
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore', 'paginationStyle','perPage'],
4009
4144
  data () {
@@ -4082,27 +4217,27 @@ var script$f = {
4082
4217
  }
4083
4218
  };
4084
4219
 
4085
- const _hoisted_1$c = { key: 0 };
4086
- const _hoisted_2$7 = { class: "record_count_body mb-3" };
4087
- const _hoisted_3$7 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
4088
- const _hoisted_4$7 = ["value"];
4089
- const _hoisted_5$6 = { class: "record_counts" };
4090
- const _hoisted_6$5 = {
4220
+ const _hoisted_1$e = { key: 0 };
4221
+ const _hoisted_2$9 = { class: "record_count_body mb-3" };
4222
+ const _hoisted_3$8 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
4223
+ const _hoisted_4$8 = ["value"];
4224
+ const _hoisted_5$7 = { class: "record_counts" };
4225
+ const _hoisted_6$6 = {
4091
4226
  key: 0,
4092
4227
  "aria-label": "Page navigation"
4093
4228
  };
4094
- const _hoisted_7$4 = { class: "pagination" };
4095
- const _hoisted_8$4 = {
4229
+ const _hoisted_7$5 = { class: "pagination" };
4230
+ const _hoisted_8$5 = {
4096
4231
  key: 0,
4097
4232
  class: "page-link"
4098
4233
  };
4099
- const _hoisted_9$4 = {
4234
+ const _hoisted_9$5 = {
4100
4235
  key: 1,
4101
4236
  class: "page-link"
4102
4237
  };
4103
- const _hoisted_10$4 = ["onClick"];
4104
- const _hoisted_11$4 = { key: 1 };
4105
- const _hoisted_12$2 = {
4238
+ const _hoisted_10$5 = ["onClick"];
4239
+ const _hoisted_11$5 = { key: 1 };
4240
+ const _hoisted_12$4 = {
4106
4241
  key: 0,
4107
4242
  class: "text-center"
4108
4243
  };
@@ -4127,11 +4262,11 @@ const _hoisted_18$2 = {
4127
4262
  class: "spinner-border"
4128
4263
  };
4129
4264
 
4130
- function render(_ctx, _cache, $props, $setup, $data, $options) {
4265
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4131
4266
  return ($props.paginationStyle !== 'loadMore')
4132
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
4133
- vue.createElementVNode("div", _hoisted_2$7, [
4134
- _hoisted_3$7,
4267
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
4268
+ vue.createElementVNode("div", _hoisted_2$9, [
4269
+ _hoisted_3$8,
4135
4270
  vue.createTextVNode("  "),
4136
4271
  vue.withDirectives(vue.createElementVNode("select", {
4137
4272
  class: "select_per_page",
@@ -4139,16 +4274,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4139
4274
  "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.per_page) = $event))
4140
4275
  }, [
4141
4276
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.pageOptions, (option) => {
4142
- return (vue.openBlock(), vue.createElementBlock("option", { value: option }, vue.toDisplayString(option), 9 /* TEXT, PROPS */, _hoisted_4$7))
4277
+ return (vue.openBlock(), vue.createElementBlock("option", { value: option }, vue.toDisplayString(option), 9 /* TEXT, PROPS */, _hoisted_4$8))
4143
4278
  }), 256 /* UNKEYED_FRAGMENT */))
4144
4279
  ], 544 /* NEED_HYDRATION, NEED_PATCH */), [
4145
4280
  [vue.vModelSelect, $data.per_page]
4146
4281
  ]),
4147
- vue.createElementVNode("span", _hoisted_5$6, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
4282
+ vue.createElementVNode("span", _hoisted_5$7, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
4148
4283
  ]),
4149
4284
  ($props.pagination_data != null)
4150
- ? (vue.openBlock(), vue.createElementBlock("nav", _hoisted_6$5, [
4151
- vue.createElementVNode("ul", _hoisted_7$4, [
4285
+ ? (vue.openBlock(), vue.createElementBlock("nav", _hoisted_6$6, [
4286
+ vue.createElementVNode("ul", _hoisted_7$5, [
4152
4287
  vue.createElementVNode("li", {
4153
4288
  class: vue.normalizeClass([$options.getActivePage === 1 ? 'disabled' : '' , "page-item"])
4154
4289
  }, [
@@ -4163,14 +4298,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4163
4298
  key: page
4164
4299
  }, [
4165
4300
  ($options.getActivePage === page)
4166
- ? (vue.openBlock(), vue.createElementBlock("a", _hoisted_8$4, vue.toDisplayString(page), 1 /* TEXT */))
4301
+ ? (vue.openBlock(), vue.createElementBlock("a", _hoisted_8$5, vue.toDisplayString(page), 1 /* TEXT */))
4167
4302
  : (['..','...'].includes(page))
4168
- ? (vue.openBlock(), vue.createElementBlock("a", _hoisted_9$4, vue.toDisplayString(page), 1 /* TEXT */))
4303
+ ? (vue.openBlock(), vue.createElementBlock("a", _hoisted_9$5, vue.toDisplayString(page), 1 /* TEXT */))
4169
4304
  : (vue.openBlock(), vue.createElementBlock("a", {
4170
4305
  key: 2,
4171
4306
  onClick: $event => ($options.changeTableKey('page',page)),
4172
4307
  class: "page-link"
4173
- }, vue.toDisplayString(page), 9 /* TEXT, PROPS */, _hoisted_10$4))
4308
+ }, vue.toDisplayString(page), 9 /* TEXT, PROPS */, _hoisted_10$5))
4174
4309
  ], 2 /* CLASS */))
4175
4310
  }), 128 /* KEYED_FRAGMENT */)),
4176
4311
  vue.createElementVNode("li", {
@@ -4185,9 +4320,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4185
4320
  ]))
4186
4321
  : vue.createCommentVNode("v-if", true)
4187
4322
  ]))
4188
- : (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$4, [
4323
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$5, [
4189
4324
  (this.pagination_data.loading === 1 && $props.loadMore && $props.hideLoadMore)
4190
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$2, [..._hoisted_14$2]))
4325
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$4, [..._hoisted_14$2]))
4191
4326
  : vue.createCommentVNode("v-if", true),
4192
4327
  (!$props.hideCount)
4193
4328
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$2, [
@@ -4208,17 +4343,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4208
4343
  ]))
4209
4344
  }
4210
4345
 
4211
- script$f.render = render;
4212
- script$f.__file = "src/lib/components/list_templates/Pagination.vue";
4346
+ script$h.render = render$1;
4347
+ script$h.__file = "src/lib/components/list_templates/Pagination.vue";
4213
4348
 
4214
- const _hoisted_1$b = /*#__PURE__*/vue.createElementVNode("span", {
4349
+ const _hoisted_1$d = /*#__PURE__*/vue.createElementVNode("span", {
4215
4350
  class: "spinner-border spinner-border-sm me-1",
4216
4351
  role: "status",
4217
4352
  "aria-hidden": "true"
4218
4353
  }, null, -1 /* HOISTED */);
4219
4354
 
4220
4355
 
4221
- var script$e = {
4356
+ var script$g = {
4222
4357
  __name: 'ShConfirmAction',
4223
4358
  props: {
4224
4359
  data: Object,
@@ -4230,7 +4365,7 @@ var script$e = {
4230
4365
  },
4231
4366
  loadingMessage: {
4232
4367
  type: String,
4233
- default: 'Processing'
4368
+ default: 'Processing...'
4234
4369
  },
4235
4370
  successMessage: {
4236
4371
  type: String,
@@ -4289,7 +4424,7 @@ return (_ctx, _cache) => {
4289
4424
  }, [
4290
4425
  (processing.value)
4291
4426
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4292
- _hoisted_1$b,
4427
+ _hoisted_1$d,
4293
4428
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4294
4429
  ], 64 /* STABLE_FRAGMENT */))
4295
4430
  : vue.createCommentVNode("v-if", true),
@@ -4302,15 +4437,15 @@ return (_ctx, _cache) => {
4302
4437
 
4303
4438
  };
4304
4439
 
4305
- script$e.__file = "src/lib/components/ShConfirmAction.vue";
4440
+ script$g.__file = "src/lib/components/ShConfirmAction.vue";
4306
4441
 
4307
- const _hoisted_1$a = /*#__PURE__*/vue.createElementVNode("span", {
4442
+ const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("span", {
4308
4443
  class: "spinner-border spinner-border-sm me-1",
4309
4444
  role: "status",
4310
4445
  "aria-hidden": "true"
4311
4446
  }, null, -1 /* HOISTED */);
4312
4447
 
4313
- var script$d = {
4448
+ var script$f = {
4314
4449
  __name: 'ShSilentAction',
4315
4450
  props: {
4316
4451
  data: Object,
@@ -4388,7 +4523,7 @@ return (_ctx, _cache) => {
4388
4523
  }, [
4389
4524
  (processing.value)
4390
4525
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4391
- _hoisted_1$a,
4526
+ _hoisted_1$c,
4392
4527
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4393
4528
  ], 64 /* STABLE_FRAGMENT */))
4394
4529
  : vue.createCommentVNode("v-if", true),
@@ -4401,11 +4536,11 @@ return (_ctx, _cache) => {
4401
4536
 
4402
4537
  };
4403
4538
 
4404
- script$d.__file = "src/lib/components/ShSilentAction.vue";
4539
+ script$f.__file = "src/lib/components/ShSilentAction.vue";
4405
4540
 
4406
- const _hoisted_1$9 = { class: "sh-range" };
4407
- const _hoisted_2$6 = { class: "dropdown" };
4408
- const _hoisted_3$6 = {
4541
+ const _hoisted_1$b = { class: "sh-range" };
4542
+ const _hoisted_2$8 = { class: "dropdown" };
4543
+ const _hoisted_3$7 = {
4409
4544
  class: "form-control dropdown-toggle",
4410
4545
  href: "#",
4411
4546
  role: "button",
@@ -4413,21 +4548,21 @@ const _hoisted_3$6 = {
4413
4548
  "data-bs-toggle": "dropdown",
4414
4549
  "aria-expanded": "false"
4415
4550
  };
4416
- const _hoisted_4$6 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-calendar text-dark" }, null, -1 /* HOISTED */);
4417
- const _hoisted_5$5 = ["innerHTML"];
4418
- const _hoisted_6$4 = {
4551
+ const _hoisted_4$7 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-calendar text-dark" }, null, -1 /* HOISTED */);
4552
+ const _hoisted_5$6 = ["innerHTML"];
4553
+ const _hoisted_6$5 = {
4419
4554
  class: "dropdown-menu sh-range-dropdown",
4420
4555
  "aria-labelledby": "dropdownMenuLink"
4421
4556
  };
4422
- const _hoisted_7$3 = { class: "sh-range-preset" };
4423
- const _hoisted_8$3 = ["onClick"];
4424
- const _hoisted_9$3 = { class: "border-top" };
4425
- const _hoisted_10$3 = { class: "dropdown-item d-flex flex-column" };
4426
- const _hoisted_11$3 = /*#__PURE__*/vue.createElementVNode("span", null, "Custom", -1 /* HOISTED */);
4557
+ const _hoisted_7$4 = { class: "sh-range-preset" };
4558
+ const _hoisted_8$4 = ["onClick"];
4559
+ const _hoisted_9$4 = { class: "border-top" };
4560
+ const _hoisted_10$4 = { class: "dropdown-item d-flex flex-column" };
4561
+ const _hoisted_11$4 = /*#__PURE__*/vue.createElementVNode("span", null, "Custom", -1 /* HOISTED */);
4427
4562
 
4428
4563
 
4429
4564
 
4430
- var script$c = {
4565
+ var script$e = {
4431
4566
  __name: 'ShRange',
4432
4567
  props: {
4433
4568
  start: {
@@ -4536,15 +4671,15 @@ vue.onMounted(() => {
4536
4671
  });
4537
4672
 
4538
4673
  return (_ctx, _cache) => {
4539
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
4540
- vue.createElementVNode("div", _hoisted_2$6, [
4541
- vue.createElementVNode("div", _hoisted_3$6, [
4542
- _hoisted_4$6,
4674
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
4675
+ vue.createElementVNode("div", _hoisted_2$8, [
4676
+ vue.createElementVNode("div", _hoisted_3$7, [
4677
+ _hoisted_4$7,
4543
4678
  vue.createTextVNode(),
4544
- vue.createElementVNode("span", { innerHTML: rangeLabel.value }, null, 8 /* PROPS */, _hoisted_5$5)
4679
+ vue.createElementVNode("span", { innerHTML: rangeLabel.value }, null, 8 /* PROPS */, _hoisted_5$6)
4545
4680
  ]),
4546
- vue.createElementVNode("div", _hoisted_6$4, [
4547
- vue.createElementVNode("ul", _hoisted_7$3, [
4681
+ vue.createElementVNode("div", _hoisted_6$5, [
4682
+ vue.createElementVNode("ul", _hoisted_7$4, [
4548
4683
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(dates.value, (date) => {
4549
4684
  return (vue.openBlock(), vue.createElementBlock("li", {
4550
4685
  key: date.label,
@@ -4554,13 +4689,13 @@ return (_ctx, _cache) => {
4554
4689
  class: vue.normalizeClass(["dropdown-item", date.value === selectedDate.value ? 'active' : '']),
4555
4690
  href: "#"
4556
4691
  }, vue.toDisplayString(date.label), 3 /* TEXT, CLASS */)
4557
- ], 8 /* PROPS */, _hoisted_8$3))
4692
+ ], 8 /* PROPS */, _hoisted_8$4))
4558
4693
  }), 128 /* KEYED_FRAGMENT */))
4559
4694
  ]),
4560
4695
  vue.createElementVNode("ul", null, [
4561
- vue.createElementVNode("li", _hoisted_9$3, [
4562
- vue.createElementVNode("div", _hoisted_10$3, [
4563
- _hoisted_11$3,
4696
+ vue.createElementVNode("li", _hoisted_9$4, [
4697
+ vue.createElementVNode("div", _hoisted_10$4, [
4698
+ _hoisted_11$4,
4564
4699
  vue.createElementVNode("div", null, [
4565
4700
  vue.withDirectives(vue.createElementVNode("input", {
4566
4701
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((customFrom).value = $event)),
@@ -4593,33 +4728,33 @@ return (_ctx, _cache) => {
4593
4728
 
4594
4729
  };
4595
4730
 
4596
- script$c.__file = "src/lib/components/ShRange.vue";
4731
+ script$e.__file = "src/lib/components/ShRange.vue";
4597
4732
 
4598
- const _hoisted_1$8 = { class: "auto-table mt-2" };
4599
- const _hoisted_2$5 = {
4733
+ const _hoisted_1$a = { class: "auto-table mt-2" };
4734
+ const _hoisted_2$7 = {
4600
4735
  key: 0,
4601
4736
  class: "col-md-4 mb-2"
4602
4737
  };
4603
- const _hoisted_3$5 = ["disabled"];
4604
- const _hoisted_4$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4605
- const _hoisted_5$4 = /*#__PURE__*/vue.createElementVNode("span", {
4738
+ const _hoisted_3$6 = ["disabled"];
4739
+ const _hoisted_4$6 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4740
+ const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("span", {
4606
4741
  class: "spinner-border spinner-border-sm",
4607
4742
  role: "status",
4608
4743
  "aria-hidden": "true"
4609
4744
  }, null, -1 /* HOISTED */);
4610
- const _hoisted_6$3 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4611
- const _hoisted_7$2 = {
4745
+ const _hoisted_6$4 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4746
+ const _hoisted_7$3 = {
4612
4747
  key: 1,
4613
4748
  class: "row"
4614
4749
  };
4615
- const _hoisted_8$2 = { class: "col-12 mb-3 d-flex justify-content-between flex-column flex-md-row flex-lg-row" };
4616
- const _hoisted_9$2 = ["placeholder"];
4617
- const _hoisted_10$2 = {
4750
+ const _hoisted_8$3 = { class: "col-12 mb-3 d-flex justify-content-between flex-column flex-md-row flex-lg-row" };
4751
+ const _hoisted_9$3 = ["placeholder"];
4752
+ const _hoisted_10$3 = {
4618
4753
  key: 0,
4619
4754
  class: "input-group-text exact_checkbox"
4620
4755
  };
4621
- const _hoisted_11$2 = /*#__PURE__*/vue.createElementVNode("span", { class: "ms-1" }, "Exact", -1 /* HOISTED */);
4622
- const _hoisted_12$1 = {
4756
+ const _hoisted_11$3 = /*#__PURE__*/vue.createElementVNode("span", { class: "ms-1" }, "Exact", -1 /* HOISTED */);
4757
+ const _hoisted_12$3 = {
4623
4758
  key: 0,
4624
4759
  class: "sh-range-selector"
4625
4760
  };
@@ -5049,11 +5184,11 @@ const __default__ = {
5049
5184
  }
5050
5185
  },
5051
5186
  components: {
5052
- ShRange: script$c,
5053
- ShSilentAction: script$d,
5054
- ShConfirmAction: script$e,
5055
- ShCanvas: script$h,
5056
- pagination: script$f
5187
+ ShRange: script$e,
5188
+ ShSilentAction: script$f,
5189
+ ShConfirmAction: script$g,
5190
+ ShCanvas: script$j,
5191
+ pagination: script$h
5057
5192
  },
5058
5193
  computed: {
5059
5194
  windowWidth: function (){
@@ -5072,19 +5207,19 @@ const __default__ = {
5072
5207
  };
5073
5208
 
5074
5209
 
5075
- var script$b = /*#__PURE__*/Object.assign(__default__, {
5210
+ var script$d = /*#__PURE__*/Object.assign(__default__, {
5076
5211
  setup(__props) {
5077
5212
 
5078
- const noRecordsComponent = vue.inject('noRecordsComponent', script$g);
5213
+ const noRecordsComponent = vue.inject('noRecordsComponent', script$i);
5079
5214
 
5080
5215
  const {user} = pinia.storeToRefs(useUserStore());
5081
5216
 
5082
5217
  return (_ctx, _cache) => {
5083
5218
  const _component_router_link = vue.resolveComponent("router-link");
5084
5219
 
5085
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
5220
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
5086
5221
  (__props.hasDownload)
5087
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$5, [
5222
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, [
5088
5223
  vue.createElementVNode("button", {
5089
5224
  disabled: _ctx.downloading,
5090
5225
  class: "btn btn-warning btn-sm",
@@ -5092,19 +5227,19 @@ return (_ctx, _cache) => {
5092
5227
  }, [
5093
5228
  (!_ctx.downloading)
5094
5229
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5095
- _hoisted_4$5,
5230
+ _hoisted_4$6,
5096
5231
  vue.createTextVNode(" Export ")
5097
5232
  ], 64 /* STABLE_FRAGMENT */))
5098
5233
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5099
- _hoisted_5$4,
5100
- _hoisted_6$3
5234
+ _hoisted_5$5,
5235
+ _hoisted_6$4
5101
5236
  ], 64 /* STABLE_FRAGMENT */))
5102
- ], 8 /* PROPS */, _hoisted_3$5)
5237
+ ], 8 /* PROPS */, _hoisted_3$6)
5103
5238
  ]))
5104
5239
  : vue.createCommentVNode("v-if", true),
5105
5240
  (!__props.hideSearch)
5106
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
5107
- vue.createElementVNode("div", _hoisted_8$2, [
5241
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [
5242
+ vue.createElementVNode("div", _hoisted_8$3, [
5108
5243
  vue.createElementVNode("div", {
5109
5244
  class: vue.normalizeClass(["sh-search-bar input-group", __props.hasRange ? 'me-2':''])
5110
5245
  }, [
@@ -5116,11 +5251,11 @@ return (_ctx, _cache) => {
5116
5251
  "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => ((_ctx.filter_value) = $event)),
5117
5252
  placeholder: __props.searchPlaceholder ? __props.searchPlaceholder : 'Search',
5118
5253
  class: "form-control sh-search-input"
5119
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_9$2), [
5254
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_9$3), [
5120
5255
  [vue.vModelText, _ctx.filter_value]
5121
5256
  ]),
5122
5257
  (_ctx.filter_value.length > 1)
5123
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10$2, [
5258
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10$3, [
5124
5259
  vue.withDirectives(vue.createElementVNode("input", {
5125
5260
  onChange: _cache[5] || (_cache[5] = (...args) => (_ctx.reloadData && _ctx.reloadData(...args))),
5126
5261
  value: true,
@@ -5129,13 +5264,13 @@ return (_ctx, _cache) => {
5129
5264
  }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [
5130
5265
  [vue.vModelCheckbox, _ctx.exactMatch]
5131
5266
  ]),
5132
- _hoisted_11$2
5267
+ _hoisted_11$3
5133
5268
  ]))
5134
5269
  : vue.createCommentVNode("v-if", true)
5135
5270
  ], 2 /* CLASS */),
5136
5271
  (__props.hasRange)
5137
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [
5138
- vue.createVNode(script$c, { onRangeSelected: _ctx.rangeChanged }, null, 8 /* PROPS */, ["onRangeSelected"])
5272
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$3, [
5273
+ vue.createVNode(script$e, { onRangeSelected: _ctx.rangeChanged }, null, 8 /* PROPS */, ["onRangeSelected"])
5139
5274
  ]))
5140
5275
  : vue.createCommentVNode("v-if", true)
5141
5276
  ])
@@ -5290,7 +5425,7 @@ return (_ctx, _cache) => {
5290
5425
  (!act.validator || act.validator(record))
5291
5426
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5292
5427
  (['confirmAction','confirmaction','confirm-action','confirm'].includes(act.type))
5293
- ? (vue.openBlock(), vue.createBlock(script$e, {
5428
+ ? (vue.openBlock(), vue.createBlock(script$g, {
5294
5429
  key: 0,
5295
5430
  onActionSuccessful: $event => (_ctx.doEmitAction('actionSuccessful',record)),
5296
5431
  onActionFailed: $event => (_ctx.doEmitAction('actionFailed',record)),
@@ -5311,7 +5446,7 @@ return (_ctx, _cache) => {
5311
5446
  _: 2 /* DYNAMIC */
5312
5447
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
5313
5448
  : (['silentAction','silentaction','silent-action','silent'].includes(act.type))
5314
- ? (vue.openBlock(), vue.createBlock(script$d, {
5449
+ ? (vue.openBlock(), vue.createBlock(script$f, {
5315
5450
  key: 1,
5316
5451
  onActionSuccessful: $event => (_ctx.doEmitAction('actionSuccessful',record)),
5317
5452
  onActionFailed: $event => (_ctx.doEmitAction('actionFailed',record)),
@@ -5522,7 +5657,7 @@ return (_ctx, _cache) => {
5522
5657
  : vue.createCommentVNode("v-if", true)
5523
5658
  ])),
5524
5659
  (_ctx.pagination_data)
5525
- ? (vue.openBlock(), vue.createBlock(script$f, {
5660
+ ? (vue.openBlock(), vue.createBlock(script$h, {
5526
5661
  key: 6,
5527
5662
  onLoadMoreRecords: _ctx.loadMoreRecords,
5528
5663
  "hide-load-more": __props.hideLoadMore,
@@ -5539,7 +5674,7 @@ return (_ctx, _cache) => {
5539
5674
  key: action.label
5540
5675
  }, [
5541
5676
  (action.canvasId)
5542
- ? (vue.openBlock(), vue.createBlock(script$h, {
5677
+ ? (vue.openBlock(), vue.createBlock(script$j, {
5543
5678
  key: 0,
5544
5679
  onOffcanvasClosed: _ctx.canvasClosed,
5545
5680
  position: action.canvasPosition,
@@ -5567,9 +5702,9 @@ return (_ctx, _cache) => {
5567
5702
 
5568
5703
  });
5569
5704
 
5570
- script$b.__file = "src/lib/components/ShTable.vue";
5705
+ script$d.__file = "src/lib/components/ShTable.vue";
5571
5706
 
5572
- var script$a = {
5707
+ var script$c = {
5573
5708
  __name: 'ShTabs',
5574
5709
  props: {
5575
5710
  tabs: {
@@ -5583,6 +5718,9 @@ var script$a = {
5583
5718
  sharedData: {
5584
5719
  type: Object
5585
5720
  },
5721
+ activeTab: {
5722
+ type: String
5723
+ },
5586
5724
  tabCounts: {
5587
5725
  type: Object
5588
5726
  },
@@ -5667,6 +5805,11 @@ const setCounts = (res) => {
5667
5805
  }
5668
5806
  });
5669
5807
  };
5808
+ const activetab = (tab) => {
5809
+ if (props.activeTab) {
5810
+ return props.activeTab === tab ? 'active' : 'active'
5811
+ }
5812
+ };
5670
5813
 
5671
5814
  return (_ctx, _cache) => {
5672
5815
  const _component_router_link = vue.resolveComponent("router-link");
@@ -5683,7 +5826,7 @@ return (_ctx, _cache) => {
5683
5826
  }, [
5684
5827
  vue.createVNode(_component_router_link, {
5685
5828
  onClick: $event => (setTab(tab)),
5686
- "active-class": 'active',
5829
+ "active-class": activetab(tab),
5687
5830
  class: vue.normalizeClass(["nav-link text-capitalize", 'sh_tab_' + tab]),
5688
5831
  to: __props.baseUrl+'/tab/'+tab,
5689
5832
  role: "tab"
@@ -5692,7 +5835,7 @@ return (_ctx, _cache) => {
5692
5835
  vue.createTextVNode(vue.toDisplayString(tab.replace(/_/g, ' ')), 1 /* TEXT */)
5693
5836
  ]),
5694
5837
  _: 2 /* DYNAMIC */
5695
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "to", "class"])
5838
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "active-class", "to", "class"])
5696
5839
  ]))
5697
5840
  }), 128 /* KEYED_FRAGMENT */))
5698
5841
  ], 2 /* CLASS */),
@@ -5712,20 +5855,20 @@ return (_ctx, _cache) => {
5712
5855
 
5713
5856
  };
5714
5857
 
5715
- script$a.__file = "src/lib/components/ShTabs.vue";
5858
+ script$c.__file = "src/lib/components/ShTabs.vue";
5716
5859
 
5717
- const _hoisted_1$7 = {
5860
+ const _hoisted_1$9 = {
5718
5861
  class: "nav-item",
5719
5862
  role: "presentation"
5720
5863
  };
5721
- const _hoisted_2$4 = ["onClick"];
5722
- const _hoisted_3$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5723
- const _hoisted_4$4 = { class: "sh_tab_count" };
5724
- const _hoisted_5$3 = { class: "tab-content" };
5864
+ const _hoisted_2$6 = ["onClick"];
5865
+ const _hoisted_3$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5866
+ const _hoisted_4$5 = { class: "sh_tab_count" };
5867
+ const _hoisted_5$4 = { class: "tab-content" };
5725
5868
 
5726
- var script$9 = {
5869
+ var script$b = {
5727
5870
  __name: 'ShDynamicTabs',
5728
- props: ['tabs','data','classes'],
5871
+ props: ['tabs','data','classes','currentTab'],
5729
5872
  setup(__props) {
5730
5873
 
5731
5874
  const props = __props;
@@ -5736,7 +5879,11 @@ vue.ref(null);
5736
5879
  vue.onMounted(()=>{
5737
5880
  generatedId.value = 'tab' + Math.random().toString(36).slice(2);
5738
5881
  if(tabs.length > 0) {
5739
- currentTab.value = tabs[0];
5882
+ if (props.currentTab) {
5883
+ currentTab.value = tabs.find(tab=>tab.label === props.currentTab);
5884
+ } else {
5885
+ currentTab.value = tabs[0];
5886
+ }
5740
5887
  }
5741
5888
  });
5742
5889
 
@@ -5751,7 +5898,7 @@ return (_ctx, _cache) => {
5751
5898
  role: "tablist"
5752
5899
  }, [
5753
5900
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tabs), (tab) => {
5754
- return (vue.openBlock(), vue.createElementBlock("li", _hoisted_1$7, [
5901
+ return (vue.openBlock(), vue.createElementBlock("li", _hoisted_1$9, [
5755
5902
  vue.createElementVNode("button", {
5756
5903
  onClick: $event => (setTab(tab)),
5757
5904
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
@@ -5759,15 +5906,15 @@ return (_ctx, _cache) => {
5759
5906
  vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
5760
5907
  (tab.count || tab.tabCount)
5761
5908
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5762
- _hoisted_3$4,
5763
- vue.createElementVNode("sup", _hoisted_4$4, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
5909
+ _hoisted_3$5,
5910
+ vue.createElementVNode("sup", _hoisted_4$5, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
5764
5911
  ], 64 /* STABLE_FRAGMENT */))
5765
5912
  : vue.createCommentVNode("v-if", true)
5766
- ], 10 /* CLASS, PROPS */, _hoisted_2$4)
5913
+ ], 10 /* CLASS, PROPS */, _hoisted_2$6)
5767
5914
  ]))
5768
5915
  }), 256 /* UNKEYED_FRAGMENT */))
5769
5916
  ], 2 /* CLASS */),
5770
- vue.createElementVNode("div", _hoisted_5$3, [
5917
+ vue.createElementVNode("div", _hoisted_5$4, [
5771
5918
  (vue.unref(currentTab))
5772
5919
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentTab).component), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(currentTab))), null, 16 /* FULL_PROPS */))
5773
5920
  : vue.createCommentVNode("v-if", true)
@@ -5778,12 +5925,12 @@ return (_ctx, _cache) => {
5778
5925
 
5779
5926
  };
5780
5927
 
5781
- script$9.__file = "src/lib/components/ShDynamicTabs.vue";
5928
+ script$b.__file = "src/lib/components/ShDynamicTabs.vue";
5782
5929
 
5783
- const _hoisted_1$6 = ["href"];
5930
+ const _hoisted_1$8 = ["href"];
5784
5931
 
5785
5932
 
5786
- var script$8 = {
5933
+ var script$a = {
5787
5934
  __name: 'ShModalBtn',
5788
5935
  props: {
5789
5936
  modalId: {
@@ -5798,18 +5945,18 @@ return (_ctx, _cache) => {
5798
5945
  "data-bs-toggle": "modal"
5799
5946
  }, [
5800
5947
  vue.renderSlot(_ctx.$slots, "default")
5801
- ], 8 /* PROPS */, _hoisted_1$6))
5948
+ ], 8 /* PROPS */, _hoisted_1$8))
5802
5949
  }
5803
5950
  }
5804
5951
 
5805
5952
  };
5806
5953
 
5807
- script$8.__file = "src/lib/components/ShModalBtn.vue";
5954
+ script$a.__file = "src/lib/components/ShModalBtn.vue";
5808
5955
 
5809
- const _hoisted_1$5 = ["href"];
5956
+ const _hoisted_1$7 = ["href"];
5810
5957
 
5811
5958
 
5812
- var script$7 = {
5959
+ var script$9 = {
5813
5960
  __name: 'ShCanvasBtn',
5814
5961
  props: {
5815
5962
  canvasId: {
@@ -5825,44 +5972,44 @@ return (_ctx, _cache) => {
5825
5972
  "data-bs-toggle": "offcanvas"
5826
5973
  }, [
5827
5974
  vue.renderSlot(_ctx.$slots, "default")
5828
- ], 8 /* PROPS */, _hoisted_1$5))
5975
+ ], 8 /* PROPS */, _hoisted_1$7))
5829
5976
  }
5830
5977
  }
5831
5978
 
5832
5979
  };
5833
5980
 
5834
- script$7.__file = "src/lib/components/ShCanvasBtn.vue";
5981
+ script$9.__file = "src/lib/components/ShCanvasBtn.vue";
5835
5982
 
5836
5983
  const _withScopeId$1 = n => (vue.pushScopeId("data-v-0d4fa0ac"),n=n(),vue.popScopeId(),n);
5837
- const _hoisted_1$4 = { class: "row permissions-main d-flex" };
5838
- const _hoisted_2$3 = {
5984
+ const _hoisted_1$6 = { class: "row permissions-main d-flex" };
5985
+ const _hoisted_2$5 = {
5839
5986
  id: "permissions-nav",
5840
5987
  class: "col-md-3 d-flex align-items-center py-4"
5841
5988
  };
5842
- const _hoisted_3$3 = {
5989
+ const _hoisted_3$4 = {
5843
5990
  key: 0,
5844
5991
  class: "mx-auto"
5845
5992
  };
5846
- const _hoisted_4$3 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5847
- const _hoisted_5$2 = [
5848
- _hoisted_4$3
5993
+ const _hoisted_4$4 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5994
+ const _hoisted_5$3 = [
5995
+ _hoisted_4$4
5849
5996
  ];
5850
- const _hoisted_6$2 = {
5997
+ const _hoisted_6$3 = {
5851
5998
  key: 1,
5852
5999
  class: "d-flex flex-column w-100 px-2"
5853
6000
  };
5854
- const _hoisted_7$1 = ["checked", "onClick", "disabled"];
5855
- const _hoisted_8$1 = ["onClick"];
5856
- const _hoisted_9$1 = {
6001
+ const _hoisted_7$2 = ["checked", "onClick", "disabled"];
6002
+ const _hoisted_8$2 = ["onClick"];
6003
+ const _hoisted_9$2 = {
5857
6004
  id: "permissions-content",
5858
6005
  class: "col-md-9 py-4 px-4"
5859
6006
  };
5860
- const _hoisted_10$1 = { class: "p-2 rounded-2 bg-white h-100" };
5861
- const _hoisted_11$1 = {
6007
+ const _hoisted_10$2 = { class: "p-2 rounded-2 bg-white h-100" };
6008
+ const _hoisted_11$2 = {
5862
6009
  key: 0,
5863
6010
  class: "alert alert-info"
5864
6011
  };
5865
- const _hoisted_12 = { key: 1 };
6012
+ const _hoisted_12$2 = { key: 1 };
5866
6013
  const _hoisted_13 = { class: "row row-cols-3" };
5867
6014
  const _hoisted_14 = { class: "col" };
5868
6015
  const _hoisted_15 = ["value"];
@@ -5874,7 +6021,7 @@ const _hoisted_17 = { class: "col-md-3" };
5874
6021
  const _hoisted_18 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("i", { class: "bi-check" }, null, -1 /* HOISTED */));
5875
6022
 
5876
6023
 
5877
- var script$6 = {
6024
+ var script$8 = {
5878
6025
  __name: 'ManagePermissions',
5879
6026
  emits: ['success'],
5880
6027
  setup(__props, { emit: __emit }) {
@@ -5978,11 +6125,11 @@ const getPermissionStyle = permission => {
5978
6125
  };
5979
6126
 
5980
6127
  return (_ctx, _cache) => {
5981
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
5982
- vue.createElementVNode("div", _hoisted_2$3, [
6128
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
6129
+ vue.createElementVNode("div", _hoisted_2$5, [
5983
6130
  (loadingModules.value)
5984
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [..._hoisted_5$2]))
5985
- : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$2, [
6131
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [..._hoisted_5$3]))
6132
+ : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$3, [
5986
6133
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules.value, (module) => {
5987
6134
  return (vue.openBlock(), vue.createElementBlock("li", {
5988
6135
  class: vue.normalizeClass(selectedModule.value === module && 'active'),
@@ -5993,20 +6140,20 @@ return (_ctx, _cache) => {
5993
6140
  onClick: $event => (checkAllPermissions(module)),
5994
6141
  disabled: selectedModule.value !== module,
5995
6142
  type: "checkbox"
5996
- }, null, 8 /* PROPS */, _hoisted_7$1),
6143
+ }, null, 8 /* PROPS */, _hoisted_7$2),
5997
6144
  vue.createElementVNode("label", {
5998
6145
  class: "text-capitalize",
5999
6146
  onClick: $event => (setModule(module))
6000
- }, vue.toDisplayString(module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_8$1)
6147
+ }, vue.toDisplayString(module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_8$2)
6001
6148
  ], 2 /* CLASS */))
6002
6149
  }), 128 /* KEYED_FRAGMENT */))
6003
6150
  ]))
6004
6151
  ]),
6005
- vue.createElementVNode("div", _hoisted_9$1, [
6006
- vue.createElementVNode("div", _hoisted_10$1, [
6152
+ vue.createElementVNode("div", _hoisted_9$2, [
6153
+ vue.createElementVNode("div", _hoisted_10$2, [
6007
6154
  (loading.value)
6008
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, " loading ... "))
6009
- : (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
6155
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$2, " loading ... "))
6156
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$2, [
6010
6157
  vue.createElementVNode("div", _hoisted_13, [
6011
6158
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modulePermissions.value, (permissions) => {
6012
6159
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
@@ -6032,7 +6179,7 @@ return (_ctx, _cache) => {
6032
6179
  (permissionsChanged.value)
6033
6180
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
6034
6181
  vue.createElementVNode("div", _hoisted_17, [
6035
- vue.createVNode(script$d, {
6182
+ vue.createVNode(script$f, {
6036
6183
  onSuccess: permissionsUpdated,
6037
6184
  url: `sh-departments/department/permissions/${vue.unref(departmentId)}/${selectedModule.value}`,
6038
6185
  data: {permissions: selectedPermissions.value},
@@ -6056,8 +6203,8 @@ return (_ctx, _cache) => {
6056
6203
 
6057
6204
  };
6058
6205
 
6059
- script$6.__scopeId = "data-v-0d4fa0ac";
6060
- script$6.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
6206
+ script$8.__scopeId = "data-v-0d4fa0ac";
6207
+ script$8.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
6061
6208
 
6062
6209
  const useAppStore = pinia.defineStore('sh-app',{
6063
6210
  state: ()=>{
@@ -6082,9 +6229,9 @@ const useAppStore = pinia.defineStore('sh-app',{
6082
6229
  }
6083
6230
  });
6084
6231
 
6085
- const _hoisted_1$3 = ["href"];
6232
+ const _hoisted_1$5 = ["href"];
6086
6233
 
6087
- var script$5 = {
6234
+ var script$7 = {
6088
6235
  __name: 'ShRoutePopups',
6089
6236
  setup(__props) {
6090
6237
 
@@ -6166,9 +6313,9 @@ return (_ctx, _cache) => {
6166
6313
  href: '#' + vue.unref(canvasId),
6167
6314
  shallowRef: "canvasButton",
6168
6315
  class: "d-none"
6169
- }, "Open Modal", 8 /* PROPS */, _hoisted_1$3),
6316
+ }, "Open Modal", 8 /* PROPS */, _hoisted_1$5),
6170
6317
  (popUp.value === 'modal')
6171
- ? (vue.openBlock(), vue.createBlock(script$k, {
6318
+ ? (vue.openBlock(), vue.createBlock(script$m, {
6172
6319
  key: 0,
6173
6320
  "modal-title": title.value,
6174
6321
  "modal-id": vue.unref(modalId),
@@ -6183,7 +6330,7 @@ return (_ctx, _cache) => {
6183
6330
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6184
6331
  : vue.createCommentVNode("v-if", true),
6185
6332
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6186
- ? (vue.openBlock(), vue.createBlock(script$h, {
6333
+ ? (vue.openBlock(), vue.createBlock(script$j, {
6187
6334
  key: 1,
6188
6335
  "canvas-id": vue.unref(canvasId),
6189
6336
  "canvas-title": title.value,
@@ -6202,9 +6349,9 @@ return (_ctx, _cache) => {
6202
6349
 
6203
6350
  };
6204
6351
 
6205
- script$5.__file = "src/lib/components/popups/ShRoutePopups.vue";
6352
+ script$7.__file = "src/lib/components/popups/ShRoutePopups.vue";
6206
6353
 
6207
- var script$4 = {
6354
+ var script$6 = {
6208
6355
  __name: 'ShQueryForm',
6209
6356
  setup(__props) {
6210
6357
 
@@ -6214,7 +6361,7 @@ const fields = route.query.fields.split(',');
6214
6361
  const action = route.query.action;
6215
6362
 
6216
6363
  return (_ctx, _cache) => {
6217
- return (vue.openBlock(), vue.createBlock(script$m, {
6364
+ return (vue.openBlock(), vue.createBlock(script$o, {
6218
6365
  fields: vue.unref(fields),
6219
6366
  action: vue.unref(action)
6220
6367
  }, null, 8 /* PROPS */, ["fields", "action"]))
@@ -6223,9 +6370,9 @@ return (_ctx, _cache) => {
6223
6370
 
6224
6371
  };
6225
6372
 
6226
- script$4.__file = "src/lib/components/ShQueryForm.vue";
6373
+ script$6.__file = "src/lib/components/ShQueryForm.vue";
6227
6374
 
6228
- var script$3 = {
6375
+ var script$5 = {
6229
6376
  __name: 'ShQueryPopups',
6230
6377
  setup(__props) {
6231
6378
 
@@ -6250,7 +6397,7 @@ vue.watch(() => route.query.popup, pop => {
6250
6397
  title.value = route.query.title;
6251
6398
  let queryComponent = route.query.comp ?? route.query.component;
6252
6399
  if(queryComponent && ['shqueryform','queryform'].includes(queryComponent.toLowerCase())) {
6253
- queryComponent = script$4;
6400
+ queryComponent = script$6;
6254
6401
  }
6255
6402
  popupComponent.value = queryComponent;
6256
6403
  if (popUp.value) {
@@ -6317,7 +6464,7 @@ const goBack = () => {
6317
6464
  return (_ctx, _cache) => {
6318
6465
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
6319
6466
  (popUp.value === 'modal')
6320
- ? (vue.openBlock(), vue.createBlock(script$k, {
6467
+ ? (vue.openBlock(), vue.createBlock(script$m, {
6321
6468
  key: 0,
6322
6469
  "modal-title": title.value,
6323
6470
  "data-bs-backdrop": "static",
@@ -6332,7 +6479,7 @@ return (_ctx, _cache) => {
6332
6479
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6333
6480
  : vue.createCommentVNode("v-if", true),
6334
6481
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6335
- ? (vue.openBlock(), vue.createBlock(script$h, {
6482
+ ? (vue.openBlock(), vue.createBlock(script$j, {
6336
6483
  "canvas-title": title.value,
6337
6484
  key: size.value + position.value,
6338
6485
  "canvas-id": vue.unref(canvasId),
@@ -6351,7 +6498,188 @@ return (_ctx, _cache) => {
6351
6498
 
6352
6499
  };
6353
6500
 
6354
- script$3.__file = "src/lib/components/popups/ShQueryPopups.vue";
6501
+ script$5.__file = "src/lib/components/popups/ShQueryPopups.vue";
6502
+
6503
+ const _hoisted_1$4 = { class: "card mt-2" };
6504
+ const _hoisted_2$4 = { class: "card-body" };
6505
+
6506
+ function render(_ctx, _cache) {
6507
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
6508
+ vue.createElementVNode("div", _hoisted_2$4, [
6509
+ vue.renderSlot(_ctx.$slots, "default")
6510
+ ])
6511
+ ]))
6512
+ }
6513
+
6514
+ const script$4 = {};
6515
+
6516
+
6517
+ script$4.render = render;
6518
+ script$4.__file = "src/lib/components/ShCardLayout.vue";
6519
+
6520
+ const _hoisted_1$3 = { class: "container" };
6521
+ const _hoisted_2$3 = { class: "row" };
6522
+ const _hoisted_3$3 = {
6523
+ key: 0,
6524
+ class: "col-md-6"
6525
+ };
6526
+ const _hoisted_4$3 = /*#__PURE__*/vue.createElementVNode("h5", { class: "card-title" }, "Details", -1 /* HOISTED */);
6527
+ const _hoisted_5$2 = { class: "table" };
6528
+ const _hoisted_6$2 = { class: "card-footer" };
6529
+ const _hoisted_7$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-pen" }, null, -1 /* HOISTED */);
6530
+ const _hoisted_8$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-key" }, null, -1 /* HOISTED */);
6531
+ const _hoisted_9$1 = { class: "col-md-6" };
6532
+ const _hoisted_10$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-pen" }, null, -1 /* HOISTED */);
6533
+ const _hoisted_11$1 = /*#__PURE__*/vue.createElementVNode("h5", { class: "card-title" }, "Profile Picture", -1 /* HOISTED */);
6534
+ const _hoisted_12$1 = ["src"];
6535
+
6536
+ var script$3 = {
6537
+ __name: 'ShUserProfile',
6538
+ setup(__props) {
6539
+
6540
+ const userStore = useUserStore();
6541
+ const { user } = pinia.storeToRefs(userStore);
6542
+
6543
+ const detailsUpdated= (res) => {
6544
+ shRepo.showToast('Your ' + res +' updated successfully', 'success');
6545
+ };
6546
+ const showProfilePicture = (photo) => {
6547
+ return undefined.VITE_APP_HOME_URL + photo
6548
+ };
6549
+ const UserdetailsColumns = [
6550
+ {
6551
+ name: 'name',
6552
+ label: 'Name'
6553
+ },
6554
+ {
6555
+ name: 'email',
6556
+ label: 'Email'
6557
+ },
6558
+ {
6559
+ name: 'phone',
6560
+ label: 'Phone'
6561
+ }
6562
+ ];
6563
+
6564
+
6565
+ return (_ctx, _cache) => {
6566
+ return (vue.openBlock(), vue.createBlock(script$4, null, {
6567
+ default: vue.withCtx(() => [
6568
+ vue.createElementVNode("div", _hoisted_1$3, [
6569
+ vue.createElementVNode("div", _hoisted_2$3, [
6570
+ (vue.unref(user))
6571
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [
6572
+ vue.createVNode(script$4, null, {
6573
+ default: vue.withCtx(() => [
6574
+ _hoisted_4$3,
6575
+ vue.createElementVNode("table", _hoisted_5$2, [
6576
+ vue.createElementVNode("tbody", null, [
6577
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(UserdetailsColumns, (column) => {
6578
+ return vue.createElementVNode("tr", {
6579
+ key: column.name
6580
+ }, [
6581
+ vue.createElementVNode("td", null, vue.toDisplayString(column.label), 1 /* TEXT */),
6582
+ vue.createElementVNode("td", null, vue.toDisplayString(vue.unref(user)[column.name]), 1 /* TEXT */)
6583
+ ])
6584
+ }), 64 /* STABLE_FRAGMENT */))
6585
+ ])
6586
+ ]),
6587
+ vue.createElementVNode("div", _hoisted_6$2, [
6588
+ (vue.unref(user))
6589
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6590
+ key: 0,
6591
+ "current-data": vue.unref(user),
6592
+ "modal-title": "Edit Details",
6593
+ class: "btn btn-primary my-2",
6594
+ action: "auth/user",
6595
+ onSuccess: _cache[0] || (_cache[0] = $event => (detailsUpdated('details'))),
6596
+ fields: ['name','email','phone']
6597
+ }, {
6598
+ default: vue.withCtx(() => [
6599
+ _hoisted_7$1,
6600
+ vue.createTextVNode(" Edit Details")
6601
+ ]),
6602
+ _: 1 /* STABLE */
6603
+ }, 8 /* PROPS */, ["current-data"]))
6604
+ : vue.createCommentVNode("v-if", true),
6605
+ (vue.unref(user))
6606
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6607
+ key: 1,
6608
+ "modal-title": "Update Password",
6609
+ class: "btn btn-info ms-2 my-2",
6610
+ action: "auth/reset",
6611
+ onSuccess: _cache[1] || (_cache[1] = $event => (detailsUpdated('password'))),
6612
+ fields: [
6613
+ {
6614
+ field:'old_password',
6615
+ type: 'password',
6616
+ },
6617
+ {
6618
+ field:'new_password',
6619
+ type: 'password',
6620
+ },
6621
+ {
6622
+ field:'new_password_confirmation',
6623
+ type: 'password',
6624
+ }
6625
+ ]
6626
+ }, {
6627
+ default: vue.withCtx(() => [
6628
+ _hoisted_8$1,
6629
+ vue.createTextVNode(" Change Password")
6630
+ ]),
6631
+ _: 1 /* STABLE */
6632
+ }))
6633
+ : vue.createCommentVNode("v-if", true)
6634
+ ])
6635
+ ]),
6636
+ _: 1 /* STABLE */
6637
+ })
6638
+ ]))
6639
+ : vue.createCommentVNode("v-if", true),
6640
+ vue.createElementVNode("div", _hoisted_9$1, [
6641
+ vue.createVNode(script$4, null, {
6642
+ default: vue.withCtx(() => [
6643
+ vue.createVNode(script$l, {
6644
+ "modal-title": "Edit Profile Image",
6645
+ class: "btn btn-info btn-sm float-end my-2",
6646
+ action: 'auth/profile-picture',
6647
+ onSuccess: _cache[2] || (_cache[2] = $event => (detailsUpdated('profile picture'))),
6648
+ files: [],
6649
+ fields: [{
6650
+ field:'profile_picture',
6651
+ type: 'file',
6652
+ }]
6653
+ }, {
6654
+ default: vue.withCtx(() => [
6655
+ _hoisted_10$1
6656
+ ]),
6657
+ _: 1 /* STABLE */
6658
+ }),
6659
+ vue.createElementVNode("div", null, [
6660
+ _hoisted_11$1,
6661
+ vue.createElementVNode("img", {
6662
+ src: showProfilePicture(vue.unref(user)?.profile_picture),
6663
+ class: "img-fluid",
6664
+ alt: "profie-picture",
6665
+ style: {"width":"100%","height":"330px"}
6666
+ }, null, 8 /* PROPS */, _hoisted_12$1)
6667
+ ])
6668
+ ]),
6669
+ _: 1 /* STABLE */
6670
+ })
6671
+ ])
6672
+ ])
6673
+ ])
6674
+ ]),
6675
+ _: 1 /* STABLE */
6676
+ }))
6677
+ }
6678
+ }
6679
+
6680
+ };
6681
+
6682
+ script$3.__file = "src/lib/components/core/auth/ShUserProfile.vue";
6355
6683
 
6356
6684
  const _hoisted_1$2 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
6357
6685
  const _hoisted_2$2 = { class: "card sh-departments-card shadow" };
@@ -6394,7 +6722,7 @@ return (_ctx, _cache) => {
6394
6722
  _hoisted_4$2,
6395
6723
  vue.createTextVNode(" ADD DEPARTMENT")
6396
6724
  ], 512 /* NEED_PATCH */),
6397
- vue.createVNode(script$b, {
6725
+ vue.createVNode(script$d, {
6398
6726
  reload: vue.unref(reload),
6399
6727
  headers: ['id','name','description', 'created_at'],
6400
6728
  "end-point": "sh-departments/list",
@@ -6414,12 +6742,12 @@ return (_ctx, _cache) => {
6414
6742
  ]
6415
6743
  }
6416
6744
  }, null, 8 /* PROPS */, ["reload", "actions"]),
6417
- vue.createVNode(script$k, {
6745
+ vue.createVNode(script$m, {
6418
6746
  "modal-id": "sh_department_modal",
6419
6747
  "modal-title": "Department Form"
6420
6748
  }, {
6421
6749
  default: vue.withCtx(() => [
6422
- vue.createVNode(script$u, {
6750
+ vue.createVNode(script$w, {
6423
6751
  "success-callback": "departmentAdded",
6424
6752
  "current-data": department.value,
6425
6753
  onDepartmentAdded: departmentAdded,
@@ -6554,7 +6882,7 @@ return (_ctx, _cache) => {
6554
6882
  vue.createElementVNode("div", _hoisted_2$1, [
6555
6883
  _hoisted_3$1,
6556
6884
  vue.createElementVNode("h5", null, "Department #" + vue.toDisplayString(vue.unref(department).id) + " - " + vue.toDisplayString(vue.unref(department).name) + " Allowed Modules", 1 /* TEXT */),
6557
- vue.createVNode(script$b, {
6885
+ vue.createVNode(script$d, {
6558
6886
  actions: {
6559
6887
  label: 'Actions',
6560
6888
  actions: [
@@ -6574,12 +6902,12 @@ return (_ctx, _cache) => {
6574
6902
  headers: ['id',showModule,'created_at'],
6575
6903
  "end-point": 'admin/departments/department/list-modules/' + id.value
6576
6904
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
6577
- vue.createVNode(script$k, {
6905
+ vue.createVNode(script$m, {
6578
6906
  "modal-id": "addModule",
6579
6907
  "modal-title": "Add Module Department"
6580
6908
  }, {
6581
6909
  default: vue.withCtx(() => [
6582
- vue.createVNode(script$u, {
6910
+ vue.createVNode(script$w, {
6583
6911
  "reload-select-items": vue.unref(reload),
6584
6912
  "success-callback": moduleAdded,
6585
6913
  "fill-selects": {
@@ -6601,7 +6929,7 @@ return (_ctx, _cache) => {
6601
6929
  ref: permissionCanvasBtn,
6602
6930
  "data-bs-toggle": "offcanvas"
6603
6931
  }, null, 512 /* NEED_PATCH */),
6604
- vue.createVNode(script$h, {
6932
+ vue.createVNode(script$j, {
6605
6933
  "canvas-id": "permissionsCanvas",
6606
6934
  position: "end enlarged",
6607
6935
  "canvas-title": "Module Permissions"
@@ -6667,21 +6995,25 @@ const _hoisted_5 = {
6667
6995
  key: 1,
6668
6996
  class: "sh-login-section"
6669
6997
  };
6670
- const _hoisted_6 = { class: "sh-auth-footer" };
6671
- const _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("strong", { class: "bi-dot" }, null, -1 /* HOISTED */));
6672
- const _hoisted_8 = {
6998
+ const _hoisted_6 = {
6999
+ key: 0,
7000
+ class: "sh-login-title"
7001
+ };
7002
+ const _hoisted_7 = { class: "sh-auth-footer" };
7003
+ const _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("strong", { class: "bi-dot" }, null, -1 /* HOISTED */));
7004
+ const _hoisted_9 = {
6673
7005
  key: 2,
6674
7006
  class: "sh-register-section"
6675
7007
  };
6676
- const _hoisted_9 = {
7008
+ const _hoisted_10 = {
6677
7009
  key: 0,
6678
7010
  class: "sh-register-title"
6679
7011
  };
6680
- const _hoisted_10 = {
7012
+ const _hoisted_11 = {
6681
7013
  key: 1,
6682
7014
  class: "sh-register-link"
6683
7015
  };
6684
- const _hoisted_11 = { class: "sh-auth-footer" };
7016
+ const _hoisted_12 = { class: "sh-auth-footer" };
6685
7017
 
6686
7018
  var script = {
6687
7019
  __name: 'ShAuth',
@@ -6697,6 +7029,7 @@ const forgotEndpoint = vue.inject('forgotEndpoint');
6697
7029
  const loginEndpoint = vue.inject('loginEndpoint');
6698
7030
  const registrationFields = vue.inject('registrationFields');
6699
7031
  const registerTitle = vue.inject('registerTitle');
7032
+ const loginTitle = vue.inject('loginTitle');
6700
7033
  const registerSubTitle = vue.inject('registerSubTitle');
6701
7034
  vue.inject('redirectRegister');
6702
7035
  const redirectLogin = vue.inject('redirectLogin');
@@ -6732,7 +7065,7 @@ return (_ctx, _cache) => {
6732
7065
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6733
7066
  (section.value === 'forgot')
6734
7067
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
6735
- vue.createVNode(script$u, {
7068
+ vue.createVNode(script$w, {
6736
7069
  class: "sh-login-form",
6737
7070
  fields: ['email'],
6738
7071
  "action-label": "Send Reset Link",
@@ -6752,19 +7085,22 @@ return (_ctx, _cache) => {
6752
7085
  : vue.createCommentVNode("v-if", true),
6753
7086
  (section.value === 'login')
6754
7087
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
6755
- vue.createVNode(script$u, {
7088
+ (vue.unref(loginTitle))
7089
+ ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_6, vue.toDisplayString(vue.unref(loginTitle)), 1 /* TEXT */))
7090
+ : vue.createCommentVNode("v-if", true),
7091
+ vue.createVNode(script$w, {
6756
7092
  class: "sh-login-form",
6757
7093
  fields: ['email','password'],
6758
7094
  "action-label": "Login",
6759
7095
  action: vue.unref(loginEndpoint),
6760
7096
  "success-callback": loginSuccessful
6761
7097
  }, null, 8 /* PROPS */, ["action"]),
6762
- vue.createElementVNode("div", _hoisted_6, [
7098
+ vue.createElementVNode("div", _hoisted_7, [
6763
7099
  vue.createElementVNode("strong", {
6764
7100
  class: "sh-forgot-link text-primary",
6765
7101
  onClick: _cache[1] || (_cache[1] = $event => (goToSection('forgot')))
6766
7102
  }, "Forgotten password?"),
6767
- _hoisted_7,
7103
+ _hoisted_8,
6768
7104
  vue.createElementVNode("strong", {
6769
7105
  onClick: _cache[2] || (_cache[2] = $event => (goToSection('register'))),
6770
7106
  class: "sh-register-link text-primary"
@@ -6773,21 +7109,21 @@ return (_ctx, _cache) => {
6773
7109
  ]))
6774
7110
  : vue.createCommentVNode("v-if", true),
6775
7111
  (section.value === 'register')
6776
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
7112
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
6777
7113
  (vue.unref(registerTitle))
6778
- ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_9, vue.toDisplayString(vue.unref(registerTitle)), 1 /* TEXT */))
7114
+ ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_10, vue.toDisplayString(vue.unref(registerTitle)), 1 /* TEXT */))
6779
7115
  : vue.createCommentVNode("v-if", true),
6780
7116
  (vue.unref(registerSubTitle))
6781
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
7117
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
6782
7118
  : vue.createCommentVNode("v-if", true),
6783
- vue.createVNode(script$u, {
7119
+ vue.createVNode(script$w, {
6784
7120
  class: "sh-login-form",
6785
7121
  fields: vue.unref(registrationFields),
6786
7122
  "action-label": "Sign Up",
6787
7123
  action: vue.unref(registerEndpoint),
6788
7124
  "success-callback": loginSuccessful
6789
7125
  }, null, 8 /* PROPS */, ["fields", "action"]),
6790
- vue.createElementVNode("div", _hoisted_11, [
7126
+ vue.createElementVNode("div", _hoisted_12, [
6791
7127
  vue.createElementVNode("strong", {
6792
7128
  onClick: _cache[3] || (_cache[3] = $event => (goToSection('login'))),
6793
7129
  class: "sh-register-link text-primary"
@@ -6828,11 +7164,11 @@ const ShFrontend = {
6828
7164
  const registerTitle = options.registerTitle ?? 'Create a new account';
6829
7165
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
6830
7166
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
6831
- options.formTextInput ?? script$r;
7167
+ options.formTextInput ?? script$t;
6832
7168
  const loginUrl = options.loginUrl ?? `/login`;
6833
7169
  const redirectLogin = options.redirectLogin ?? `/`;
6834
7170
  const redirectRegister = options.redirectRegister ?? `/`;
6835
- const noRecordsComponent = options.noRecordsComponent ?? script$g;
7171
+ const noRecordsComponent = options.noRecordsComponent ?? script$i;
6836
7172
  const registrationFields = options.registrationFields ?? ['name','email','phone','password','password_confirmation'];
6837
7173
  const AuthComponent = options.authComponent ?? script;
6838
7174
  app.provide('loginEndpoint',loginEndpoint);
@@ -6864,7 +7200,11 @@ const ShFrontend = {
6864
7200
  });
6865
7201
  options.router.addRoute({
6866
7202
  path: '/sh-departments/manage-permissions/:id',
6867
- component: script$6
7203
+ component: script$8
7204
+ });
7205
+ options.router.addRoute({
7206
+ path: '/sh-user-profile',
7207
+ component: script$3
6868
7208
  });
6869
7209
  }
6870
7210
  //filter unwanted config items from options to be put in local storage
@@ -6890,27 +7230,28 @@ var shGql = {
6890
7230
  };
6891
7231
 
6892
7232
  exports.Countries = countries;
6893
- exports.ManagePermissions = script$6;
6894
- exports.ShAutoForm = script$m;
6895
- exports.ShCanvas = script$h;
6896
- exports.ShCanvasBtn = script$7;
6897
- exports.ShConfirmAction = script$e;
6898
- exports.ShDropDownForm = script$l;
6899
- exports.ShDynamicTabs = script$9;
6900
- exports.ShForm = script$u;
7233
+ exports.ManagePermissions = script$8;
7234
+ exports.ShAutoForm = script$o;
7235
+ exports.ShCanvas = script$j;
7236
+ exports.ShCanvasBtn = script$9;
7237
+ exports.ShCardLayout = script$4;
7238
+ exports.ShConfirmAction = script$g;
7239
+ exports.ShDropDownForm = script$n;
7240
+ exports.ShDynamicTabs = script$b;
7241
+ exports.ShForm = script$w;
6901
7242
  exports.ShFrontend = ShFrontend;
6902
- exports.ShModal = script$k;
6903
- exports.ShModalBtn = script$8;
6904
- exports.ShModalForm = script$j;
6905
- exports.ShModalFormAuto = script$i;
6906
- exports.ShPhone = script$w;
6907
- exports.ShQueryPopups = script$3;
6908
- exports.ShRange = script$c;
6909
- exports.ShRoutePopups = script$5;
6910
- exports.ShSilentAction = script$d;
6911
- exports.ShSuggest = script$v;
6912
- exports.ShTable = script$b;
6913
- exports.ShTabs = script$a;
7243
+ exports.ShModal = script$m;
7244
+ exports.ShModalBtn = script$a;
7245
+ exports.ShModalForm = script$l;
7246
+ exports.ShModalFormAuto = script$k;
7247
+ exports.ShPhone = script$y;
7248
+ exports.ShQueryPopups = script$5;
7249
+ exports.ShRange = script$e;
7250
+ exports.ShRoutePopups = script$7;
7251
+ exports.ShSilentAction = script$f;
7252
+ exports.ShSuggest = script$x;
7253
+ exports.ShTable = script$d;
7254
+ exports.ShTabs = script$c;
6914
7255
  exports.shApis = shApis;
6915
7256
  exports.shGql = shGql;
6916
7257
  exports.shRepo = shRepo;