@iankibetsh/shframework 4.5.2 → 4.5.4

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
  },
@@ -5712,20 +5850,20 @@ return (_ctx, _cache) => {
5712
5850
 
5713
5851
  };
5714
5852
 
5715
- script$a.__file = "src/lib/components/ShTabs.vue";
5853
+ script$c.__file = "src/lib/components/ShTabs.vue";
5716
5854
 
5717
- const _hoisted_1$7 = {
5855
+ const _hoisted_1$9 = {
5718
5856
  class: "nav-item",
5719
5857
  role: "presentation"
5720
5858
  };
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" };
5859
+ const _hoisted_2$6 = ["onClick"];
5860
+ const _hoisted_3$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5861
+ const _hoisted_4$5 = { class: "sh_tab_count" };
5862
+ const _hoisted_5$4 = { class: "tab-content" };
5725
5863
 
5726
- var script$9 = {
5864
+ var script$b = {
5727
5865
  __name: 'ShDynamicTabs',
5728
- props: ['tabs','data','classes'],
5866
+ props: ['tabs','data','classes','currentTab'],
5729
5867
  setup(__props) {
5730
5868
 
5731
5869
  const props = __props;
@@ -5736,7 +5874,11 @@ vue.ref(null);
5736
5874
  vue.onMounted(()=>{
5737
5875
  generatedId.value = 'tab' + Math.random().toString(36).slice(2);
5738
5876
  if(tabs.length > 0) {
5739
- currentTab.value = tabs[0];
5877
+ if (props.currentTab) {
5878
+ currentTab.value = tabs.find(tab=>tab.label === props.currentTab);
5879
+ } else {
5880
+ currentTab.value = tabs[0];
5881
+ }
5740
5882
  }
5741
5883
  });
5742
5884
 
@@ -5751,7 +5893,7 @@ return (_ctx, _cache) => {
5751
5893
  role: "tablist"
5752
5894
  }, [
5753
5895
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tabs), (tab) => {
5754
- return (vue.openBlock(), vue.createElementBlock("li", _hoisted_1$7, [
5896
+ return (vue.openBlock(), vue.createElementBlock("li", _hoisted_1$9, [
5755
5897
  vue.createElementVNode("button", {
5756
5898
  onClick: $event => (setTab(tab)),
5757
5899
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
@@ -5759,15 +5901,15 @@ return (_ctx, _cache) => {
5759
5901
  vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
5760
5902
  (tab.count || tab.tabCount)
5761
5903
  ? (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 */)
5904
+ _hoisted_3$5,
5905
+ vue.createElementVNode("sup", _hoisted_4$5, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
5764
5906
  ], 64 /* STABLE_FRAGMENT */))
5765
5907
  : vue.createCommentVNode("v-if", true)
5766
- ], 10 /* CLASS, PROPS */, _hoisted_2$4)
5908
+ ], 10 /* CLASS, PROPS */, _hoisted_2$6)
5767
5909
  ]))
5768
5910
  }), 256 /* UNKEYED_FRAGMENT */))
5769
5911
  ], 2 /* CLASS */),
5770
- vue.createElementVNode("div", _hoisted_5$3, [
5912
+ vue.createElementVNode("div", _hoisted_5$4, [
5771
5913
  (vue.unref(currentTab))
5772
5914
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentTab).component), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(currentTab))), null, 16 /* FULL_PROPS */))
5773
5915
  : vue.createCommentVNode("v-if", true)
@@ -5778,12 +5920,12 @@ return (_ctx, _cache) => {
5778
5920
 
5779
5921
  };
5780
5922
 
5781
- script$9.__file = "src/lib/components/ShDynamicTabs.vue";
5923
+ script$b.__file = "src/lib/components/ShDynamicTabs.vue";
5782
5924
 
5783
- const _hoisted_1$6 = ["href"];
5925
+ const _hoisted_1$8 = ["href"];
5784
5926
 
5785
5927
 
5786
- var script$8 = {
5928
+ var script$a = {
5787
5929
  __name: 'ShModalBtn',
5788
5930
  props: {
5789
5931
  modalId: {
@@ -5798,18 +5940,18 @@ return (_ctx, _cache) => {
5798
5940
  "data-bs-toggle": "modal"
5799
5941
  }, [
5800
5942
  vue.renderSlot(_ctx.$slots, "default")
5801
- ], 8 /* PROPS */, _hoisted_1$6))
5943
+ ], 8 /* PROPS */, _hoisted_1$8))
5802
5944
  }
5803
5945
  }
5804
5946
 
5805
5947
  };
5806
5948
 
5807
- script$8.__file = "src/lib/components/ShModalBtn.vue";
5949
+ script$a.__file = "src/lib/components/ShModalBtn.vue";
5808
5950
 
5809
- const _hoisted_1$5 = ["href"];
5951
+ const _hoisted_1$7 = ["href"];
5810
5952
 
5811
5953
 
5812
- var script$7 = {
5954
+ var script$9 = {
5813
5955
  __name: 'ShCanvasBtn',
5814
5956
  props: {
5815
5957
  canvasId: {
@@ -5825,44 +5967,44 @@ return (_ctx, _cache) => {
5825
5967
  "data-bs-toggle": "offcanvas"
5826
5968
  }, [
5827
5969
  vue.renderSlot(_ctx.$slots, "default")
5828
- ], 8 /* PROPS */, _hoisted_1$5))
5970
+ ], 8 /* PROPS */, _hoisted_1$7))
5829
5971
  }
5830
5972
  }
5831
5973
 
5832
5974
  };
5833
5975
 
5834
- script$7.__file = "src/lib/components/ShCanvasBtn.vue";
5976
+ script$9.__file = "src/lib/components/ShCanvasBtn.vue";
5835
5977
 
5836
5978
  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 = {
5979
+ const _hoisted_1$6 = { class: "row permissions-main d-flex" };
5980
+ const _hoisted_2$5 = {
5839
5981
  id: "permissions-nav",
5840
5982
  class: "col-md-3 d-flex align-items-center py-4"
5841
5983
  };
5842
- const _hoisted_3$3 = {
5984
+ const _hoisted_3$4 = {
5843
5985
  key: 0,
5844
5986
  class: "mx-auto"
5845
5987
  };
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
5988
+ const _hoisted_4$4 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5989
+ const _hoisted_5$3 = [
5990
+ _hoisted_4$4
5849
5991
  ];
5850
- const _hoisted_6$2 = {
5992
+ const _hoisted_6$3 = {
5851
5993
  key: 1,
5852
5994
  class: "d-flex flex-column w-100 px-2"
5853
5995
  };
5854
- const _hoisted_7$1 = ["checked", "onClick", "disabled"];
5855
- const _hoisted_8$1 = ["onClick"];
5856
- const _hoisted_9$1 = {
5996
+ const _hoisted_7$2 = ["checked", "onClick", "disabled"];
5997
+ const _hoisted_8$2 = ["onClick"];
5998
+ const _hoisted_9$2 = {
5857
5999
  id: "permissions-content",
5858
6000
  class: "col-md-9 py-4 px-4"
5859
6001
  };
5860
- const _hoisted_10$1 = { class: "p-2 rounded-2 bg-white h-100" };
5861
- const _hoisted_11$1 = {
6002
+ const _hoisted_10$2 = { class: "p-2 rounded-2 bg-white h-100" };
6003
+ const _hoisted_11$2 = {
5862
6004
  key: 0,
5863
6005
  class: "alert alert-info"
5864
6006
  };
5865
- const _hoisted_12 = { key: 1 };
6007
+ const _hoisted_12$2 = { key: 1 };
5866
6008
  const _hoisted_13 = { class: "row row-cols-3" };
5867
6009
  const _hoisted_14 = { class: "col" };
5868
6010
  const _hoisted_15 = ["value"];
@@ -5874,7 +6016,7 @@ const _hoisted_17 = { class: "col-md-3" };
5874
6016
  const _hoisted_18 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("i", { class: "bi-check" }, null, -1 /* HOISTED */));
5875
6017
 
5876
6018
 
5877
- var script$6 = {
6019
+ var script$8 = {
5878
6020
  __name: 'ManagePermissions',
5879
6021
  emits: ['success'],
5880
6022
  setup(__props, { emit: __emit }) {
@@ -5978,11 +6120,11 @@ const getPermissionStyle = permission => {
5978
6120
  };
5979
6121
 
5980
6122
  return (_ctx, _cache) => {
5981
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
5982
- vue.createElementVNode("div", _hoisted_2$3, [
6123
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
6124
+ vue.createElementVNode("div", _hoisted_2$5, [
5983
6125
  (loadingModules.value)
5984
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [..._hoisted_5$2]))
5985
- : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$2, [
6126
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [..._hoisted_5$3]))
6127
+ : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$3, [
5986
6128
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules.value, (module) => {
5987
6129
  return (vue.openBlock(), vue.createElementBlock("li", {
5988
6130
  class: vue.normalizeClass(selectedModule.value === module && 'active'),
@@ -5993,20 +6135,20 @@ return (_ctx, _cache) => {
5993
6135
  onClick: $event => (checkAllPermissions(module)),
5994
6136
  disabled: selectedModule.value !== module,
5995
6137
  type: "checkbox"
5996
- }, null, 8 /* PROPS */, _hoisted_7$1),
6138
+ }, null, 8 /* PROPS */, _hoisted_7$2),
5997
6139
  vue.createElementVNode("label", {
5998
6140
  class: "text-capitalize",
5999
6141
  onClick: $event => (setModule(module))
6000
- }, vue.toDisplayString(module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_8$1)
6142
+ }, vue.toDisplayString(module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_8$2)
6001
6143
  ], 2 /* CLASS */))
6002
6144
  }), 128 /* KEYED_FRAGMENT */))
6003
6145
  ]))
6004
6146
  ]),
6005
- vue.createElementVNode("div", _hoisted_9$1, [
6006
- vue.createElementVNode("div", _hoisted_10$1, [
6147
+ vue.createElementVNode("div", _hoisted_9$2, [
6148
+ vue.createElementVNode("div", _hoisted_10$2, [
6007
6149
  (loading.value)
6008
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, " loading ... "))
6009
- : (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
6150
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$2, " loading ... "))
6151
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$2, [
6010
6152
  vue.createElementVNode("div", _hoisted_13, [
6011
6153
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modulePermissions.value, (permissions) => {
6012
6154
  return (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
@@ -6032,7 +6174,7 @@ return (_ctx, _cache) => {
6032
6174
  (permissionsChanged.value)
6033
6175
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
6034
6176
  vue.createElementVNode("div", _hoisted_17, [
6035
- vue.createVNode(script$d, {
6177
+ vue.createVNode(script$f, {
6036
6178
  onSuccess: permissionsUpdated,
6037
6179
  url: `sh-departments/department/permissions/${vue.unref(departmentId)}/${selectedModule.value}`,
6038
6180
  data: {permissions: selectedPermissions.value},
@@ -6056,8 +6198,8 @@ return (_ctx, _cache) => {
6056
6198
 
6057
6199
  };
6058
6200
 
6059
- script$6.__scopeId = "data-v-0d4fa0ac";
6060
- script$6.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
6201
+ script$8.__scopeId = "data-v-0d4fa0ac";
6202
+ script$8.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
6061
6203
 
6062
6204
  const useAppStore = pinia.defineStore('sh-app',{
6063
6205
  state: ()=>{
@@ -6082,9 +6224,9 @@ const useAppStore = pinia.defineStore('sh-app',{
6082
6224
  }
6083
6225
  });
6084
6226
 
6085
- const _hoisted_1$3 = ["href"];
6227
+ const _hoisted_1$5 = ["href"];
6086
6228
 
6087
- var script$5 = {
6229
+ var script$7 = {
6088
6230
  __name: 'ShRoutePopups',
6089
6231
  setup(__props) {
6090
6232
 
@@ -6166,9 +6308,9 @@ return (_ctx, _cache) => {
6166
6308
  href: '#' + vue.unref(canvasId),
6167
6309
  shallowRef: "canvasButton",
6168
6310
  class: "d-none"
6169
- }, "Open Modal", 8 /* PROPS */, _hoisted_1$3),
6311
+ }, "Open Modal", 8 /* PROPS */, _hoisted_1$5),
6170
6312
  (popUp.value === 'modal')
6171
- ? (vue.openBlock(), vue.createBlock(script$k, {
6313
+ ? (vue.openBlock(), vue.createBlock(script$m, {
6172
6314
  key: 0,
6173
6315
  "modal-title": title.value,
6174
6316
  "modal-id": vue.unref(modalId),
@@ -6183,7 +6325,7 @@ return (_ctx, _cache) => {
6183
6325
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6184
6326
  : vue.createCommentVNode("v-if", true),
6185
6327
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6186
- ? (vue.openBlock(), vue.createBlock(script$h, {
6328
+ ? (vue.openBlock(), vue.createBlock(script$j, {
6187
6329
  key: 1,
6188
6330
  "canvas-id": vue.unref(canvasId),
6189
6331
  "canvas-title": title.value,
@@ -6202,9 +6344,9 @@ return (_ctx, _cache) => {
6202
6344
 
6203
6345
  };
6204
6346
 
6205
- script$5.__file = "src/lib/components/popups/ShRoutePopups.vue";
6347
+ script$7.__file = "src/lib/components/popups/ShRoutePopups.vue";
6206
6348
 
6207
- var script$4 = {
6349
+ var script$6 = {
6208
6350
  __name: 'ShQueryForm',
6209
6351
  setup(__props) {
6210
6352
 
@@ -6214,7 +6356,7 @@ const fields = route.query.fields.split(',');
6214
6356
  const action = route.query.action;
6215
6357
 
6216
6358
  return (_ctx, _cache) => {
6217
- return (vue.openBlock(), vue.createBlock(script$m, {
6359
+ return (vue.openBlock(), vue.createBlock(script$o, {
6218
6360
  fields: vue.unref(fields),
6219
6361
  action: vue.unref(action)
6220
6362
  }, null, 8 /* PROPS */, ["fields", "action"]))
@@ -6223,9 +6365,9 @@ return (_ctx, _cache) => {
6223
6365
 
6224
6366
  };
6225
6367
 
6226
- script$4.__file = "src/lib/components/ShQueryForm.vue";
6368
+ script$6.__file = "src/lib/components/ShQueryForm.vue";
6227
6369
 
6228
- var script$3 = {
6370
+ var script$5 = {
6229
6371
  __name: 'ShQueryPopups',
6230
6372
  setup(__props) {
6231
6373
 
@@ -6250,7 +6392,7 @@ vue.watch(() => route.query.popup, pop => {
6250
6392
  title.value = route.query.title;
6251
6393
  let queryComponent = route.query.comp ?? route.query.component;
6252
6394
  if(queryComponent && ['shqueryform','queryform'].includes(queryComponent.toLowerCase())) {
6253
- queryComponent = script$4;
6395
+ queryComponent = script$6;
6254
6396
  }
6255
6397
  popupComponent.value = queryComponent;
6256
6398
  if (popUp.value) {
@@ -6317,7 +6459,7 @@ const goBack = () => {
6317
6459
  return (_ctx, _cache) => {
6318
6460
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
6319
6461
  (popUp.value === 'modal')
6320
- ? (vue.openBlock(), vue.createBlock(script$k, {
6462
+ ? (vue.openBlock(), vue.createBlock(script$m, {
6321
6463
  key: 0,
6322
6464
  "modal-title": title.value,
6323
6465
  "data-bs-backdrop": "static",
@@ -6332,7 +6474,7 @@ return (_ctx, _cache) => {
6332
6474
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6333
6475
  : vue.createCommentVNode("v-if", true),
6334
6476
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6335
- ? (vue.openBlock(), vue.createBlock(script$h, {
6477
+ ? (vue.openBlock(), vue.createBlock(script$j, {
6336
6478
  "canvas-title": title.value,
6337
6479
  key: size.value + position.value,
6338
6480
  "canvas-id": vue.unref(canvasId),
@@ -6351,7 +6493,188 @@ return (_ctx, _cache) => {
6351
6493
 
6352
6494
  };
6353
6495
 
6354
- script$3.__file = "src/lib/components/popups/ShQueryPopups.vue";
6496
+ script$5.__file = "src/lib/components/popups/ShQueryPopups.vue";
6497
+
6498
+ const _hoisted_1$4 = { class: "card mt-2" };
6499
+ const _hoisted_2$4 = { class: "card-body" };
6500
+
6501
+ function render(_ctx, _cache) {
6502
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
6503
+ vue.createElementVNode("div", _hoisted_2$4, [
6504
+ vue.renderSlot(_ctx.$slots, "default")
6505
+ ])
6506
+ ]))
6507
+ }
6508
+
6509
+ const script$4 = {};
6510
+
6511
+
6512
+ script$4.render = render;
6513
+ script$4.__file = "src/lib/components/ShCardLayout.vue";
6514
+
6515
+ const _hoisted_1$3 = { class: "container" };
6516
+ const _hoisted_2$3 = { class: "row" };
6517
+ const _hoisted_3$3 = {
6518
+ key: 0,
6519
+ class: "col-md-6"
6520
+ };
6521
+ const _hoisted_4$3 = /*#__PURE__*/vue.createElementVNode("h5", { class: "card-title" }, "Details", -1 /* HOISTED */);
6522
+ const _hoisted_5$2 = { class: "table" };
6523
+ const _hoisted_6$2 = { class: "card-footer" };
6524
+ const _hoisted_7$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-pen" }, null, -1 /* HOISTED */);
6525
+ const _hoisted_8$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-key" }, null, -1 /* HOISTED */);
6526
+ const _hoisted_9$1 = { class: "col-md-6" };
6527
+ const _hoisted_10$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-pen" }, null, -1 /* HOISTED */);
6528
+ const _hoisted_11$1 = /*#__PURE__*/vue.createElementVNode("h5", { class: "card-title" }, "Profile Picture", -1 /* HOISTED */);
6529
+ const _hoisted_12$1 = ["src"];
6530
+
6531
+ var script$3 = {
6532
+ __name: 'ShUserProfile',
6533
+ setup(__props) {
6534
+
6535
+ const userStore = useUserStore();
6536
+ const { user } = pinia.storeToRefs(userStore);
6537
+
6538
+ const detailsUpdated= (res) => {
6539
+ shRepo.showToast('Your ' + res +' updated successfully', 'success');
6540
+ };
6541
+ const showProfilePicture = (photo) => {
6542
+ return undefined.VITE_APP_HOME_URL + photo
6543
+ };
6544
+ const UserdetailsColumns = [
6545
+ {
6546
+ name: 'name',
6547
+ label: 'Name'
6548
+ },
6549
+ {
6550
+ name: 'email',
6551
+ label: 'Email'
6552
+ },
6553
+ {
6554
+ name: 'phone',
6555
+ label: 'Phone'
6556
+ }
6557
+ ];
6558
+
6559
+
6560
+ return (_ctx, _cache) => {
6561
+ return (vue.openBlock(), vue.createBlock(script$4, null, {
6562
+ default: vue.withCtx(() => [
6563
+ vue.createElementVNode("div", _hoisted_1$3, [
6564
+ vue.createElementVNode("div", _hoisted_2$3, [
6565
+ (vue.unref(user))
6566
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [
6567
+ vue.createVNode(script$4, null, {
6568
+ default: vue.withCtx(() => [
6569
+ _hoisted_4$3,
6570
+ vue.createElementVNode("table", _hoisted_5$2, [
6571
+ vue.createElementVNode("tbody", null, [
6572
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(UserdetailsColumns, (column) => {
6573
+ return vue.createElementVNode("tr", {
6574
+ key: column.name
6575
+ }, [
6576
+ vue.createElementVNode("td", null, vue.toDisplayString(column.label), 1 /* TEXT */),
6577
+ vue.createElementVNode("td", null, vue.toDisplayString(vue.unref(user)[column.name]), 1 /* TEXT */)
6578
+ ])
6579
+ }), 64 /* STABLE_FRAGMENT */))
6580
+ ])
6581
+ ]),
6582
+ vue.createElementVNode("div", _hoisted_6$2, [
6583
+ (vue.unref(user))
6584
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6585
+ key: 0,
6586
+ "current-data": vue.unref(user),
6587
+ "modal-title": "Edit Details",
6588
+ class: "btn btn-primary my-2",
6589
+ action: "auth/user",
6590
+ onSuccess: _cache[0] || (_cache[0] = $event => (detailsUpdated('details'))),
6591
+ fields: ['name','email','phone']
6592
+ }, {
6593
+ default: vue.withCtx(() => [
6594
+ _hoisted_7$1,
6595
+ vue.createTextVNode(" Edit Details")
6596
+ ]),
6597
+ _: 1 /* STABLE */
6598
+ }, 8 /* PROPS */, ["current-data"]))
6599
+ : vue.createCommentVNode("v-if", true),
6600
+ (vue.unref(user))
6601
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6602
+ key: 1,
6603
+ "modal-title": "Update Password",
6604
+ class: "btn btn-info ms-2 my-2",
6605
+ action: "auth/reset",
6606
+ onSuccess: _cache[1] || (_cache[1] = $event => (detailsUpdated('password'))),
6607
+ fields: [
6608
+ {
6609
+ field:'old_password',
6610
+ type: 'password',
6611
+ },
6612
+ {
6613
+ field:'new_password',
6614
+ type: 'password',
6615
+ },
6616
+ {
6617
+ field:'new_password_confirmation',
6618
+ type: 'password',
6619
+ }
6620
+ ]
6621
+ }, {
6622
+ default: vue.withCtx(() => [
6623
+ _hoisted_8$1,
6624
+ vue.createTextVNode(" Change Password")
6625
+ ]),
6626
+ _: 1 /* STABLE */
6627
+ }))
6628
+ : vue.createCommentVNode("v-if", true)
6629
+ ])
6630
+ ]),
6631
+ _: 1 /* STABLE */
6632
+ })
6633
+ ]))
6634
+ : vue.createCommentVNode("v-if", true),
6635
+ vue.createElementVNode("div", _hoisted_9$1, [
6636
+ vue.createVNode(script$4, null, {
6637
+ default: vue.withCtx(() => [
6638
+ vue.createVNode(script$l, {
6639
+ "modal-title": "Edit Profile Image",
6640
+ class: "btn btn-info btn-sm float-end my-2",
6641
+ action: 'auth/profile-picture',
6642
+ onSuccess: _cache[2] || (_cache[2] = $event => (detailsUpdated('profile picture'))),
6643
+ files: [],
6644
+ fields: [{
6645
+ field:'profile_picture',
6646
+ type: 'file',
6647
+ }]
6648
+ }, {
6649
+ default: vue.withCtx(() => [
6650
+ _hoisted_10$1
6651
+ ]),
6652
+ _: 1 /* STABLE */
6653
+ }),
6654
+ vue.createElementVNode("div", null, [
6655
+ _hoisted_11$1,
6656
+ vue.createElementVNode("img", {
6657
+ src: showProfilePicture(vue.unref(user)?.profile_picture),
6658
+ class: "img-fluid",
6659
+ alt: "profie-picture",
6660
+ style: {"width":"100%","height":"330px"}
6661
+ }, null, 8 /* PROPS */, _hoisted_12$1)
6662
+ ])
6663
+ ]),
6664
+ _: 1 /* STABLE */
6665
+ })
6666
+ ])
6667
+ ])
6668
+ ])
6669
+ ]),
6670
+ _: 1 /* STABLE */
6671
+ }))
6672
+ }
6673
+ }
6674
+
6675
+ };
6676
+
6677
+ script$3.__file = "src/lib/components/core/auth/ShUserProfile.vue";
6355
6678
 
6356
6679
  const _hoisted_1$2 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
6357
6680
  const _hoisted_2$2 = { class: "card sh-departments-card shadow" };
@@ -6394,7 +6717,7 @@ return (_ctx, _cache) => {
6394
6717
  _hoisted_4$2,
6395
6718
  vue.createTextVNode(" ADD DEPARTMENT")
6396
6719
  ], 512 /* NEED_PATCH */),
6397
- vue.createVNode(script$b, {
6720
+ vue.createVNode(script$d, {
6398
6721
  reload: vue.unref(reload),
6399
6722
  headers: ['id','name','description', 'created_at'],
6400
6723
  "end-point": "sh-departments/list",
@@ -6414,12 +6737,12 @@ return (_ctx, _cache) => {
6414
6737
  ]
6415
6738
  }
6416
6739
  }, null, 8 /* PROPS */, ["reload", "actions"]),
6417
- vue.createVNode(script$k, {
6740
+ vue.createVNode(script$m, {
6418
6741
  "modal-id": "sh_department_modal",
6419
6742
  "modal-title": "Department Form"
6420
6743
  }, {
6421
6744
  default: vue.withCtx(() => [
6422
- vue.createVNode(script$u, {
6745
+ vue.createVNode(script$w, {
6423
6746
  "success-callback": "departmentAdded",
6424
6747
  "current-data": department.value,
6425
6748
  onDepartmentAdded: departmentAdded,
@@ -6554,7 +6877,7 @@ return (_ctx, _cache) => {
6554
6877
  vue.createElementVNode("div", _hoisted_2$1, [
6555
6878
  _hoisted_3$1,
6556
6879
  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, {
6880
+ vue.createVNode(script$d, {
6558
6881
  actions: {
6559
6882
  label: 'Actions',
6560
6883
  actions: [
@@ -6574,12 +6897,12 @@ return (_ctx, _cache) => {
6574
6897
  headers: ['id',showModule,'created_at'],
6575
6898
  "end-point": 'admin/departments/department/list-modules/' + id.value
6576
6899
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
6577
- vue.createVNode(script$k, {
6900
+ vue.createVNode(script$m, {
6578
6901
  "modal-id": "addModule",
6579
6902
  "modal-title": "Add Module Department"
6580
6903
  }, {
6581
6904
  default: vue.withCtx(() => [
6582
- vue.createVNode(script$u, {
6905
+ vue.createVNode(script$w, {
6583
6906
  "reload-select-items": vue.unref(reload),
6584
6907
  "success-callback": moduleAdded,
6585
6908
  "fill-selects": {
@@ -6601,7 +6924,7 @@ return (_ctx, _cache) => {
6601
6924
  ref: permissionCanvasBtn,
6602
6925
  "data-bs-toggle": "offcanvas"
6603
6926
  }, null, 512 /* NEED_PATCH */),
6604
- vue.createVNode(script$h, {
6927
+ vue.createVNode(script$j, {
6605
6928
  "canvas-id": "permissionsCanvas",
6606
6929
  position: "end enlarged",
6607
6930
  "canvas-title": "Module Permissions"
@@ -6667,21 +6990,25 @@ const _hoisted_5 = {
6667
6990
  key: 1,
6668
6991
  class: "sh-login-section"
6669
6992
  };
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 = {
6993
+ const _hoisted_6 = {
6994
+ key: 0,
6995
+ class: "sh-login-title"
6996
+ };
6997
+ const _hoisted_7 = { class: "sh-auth-footer" };
6998
+ const _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/vue.createElementVNode("strong", { class: "bi-dot" }, null, -1 /* HOISTED */));
6999
+ const _hoisted_9 = {
6673
7000
  key: 2,
6674
7001
  class: "sh-register-section"
6675
7002
  };
6676
- const _hoisted_9 = {
7003
+ const _hoisted_10 = {
6677
7004
  key: 0,
6678
7005
  class: "sh-register-title"
6679
7006
  };
6680
- const _hoisted_10 = {
7007
+ const _hoisted_11 = {
6681
7008
  key: 1,
6682
7009
  class: "sh-register-link"
6683
7010
  };
6684
- const _hoisted_11 = { class: "sh-auth-footer" };
7011
+ const _hoisted_12 = { class: "sh-auth-footer" };
6685
7012
 
6686
7013
  var script = {
6687
7014
  __name: 'ShAuth',
@@ -6697,6 +7024,7 @@ const forgotEndpoint = vue.inject('forgotEndpoint');
6697
7024
  const loginEndpoint = vue.inject('loginEndpoint');
6698
7025
  const registrationFields = vue.inject('registrationFields');
6699
7026
  const registerTitle = vue.inject('registerTitle');
7027
+ const loginTitle = vue.inject('loginTitle');
6700
7028
  const registerSubTitle = vue.inject('registerSubTitle');
6701
7029
  vue.inject('redirectRegister');
6702
7030
  const redirectLogin = vue.inject('redirectLogin');
@@ -6732,7 +7060,7 @@ return (_ctx, _cache) => {
6732
7060
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6733
7061
  (section.value === 'forgot')
6734
7062
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
6735
- vue.createVNode(script$u, {
7063
+ vue.createVNode(script$w, {
6736
7064
  class: "sh-login-form",
6737
7065
  fields: ['email'],
6738
7066
  "action-label": "Send Reset Link",
@@ -6752,19 +7080,22 @@ return (_ctx, _cache) => {
6752
7080
  : vue.createCommentVNode("v-if", true),
6753
7081
  (section.value === 'login')
6754
7082
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
6755
- vue.createVNode(script$u, {
7083
+ (vue.unref(loginTitle))
7084
+ ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_6, vue.toDisplayString(vue.unref(loginTitle)), 1 /* TEXT */))
7085
+ : vue.createCommentVNode("v-if", true),
7086
+ vue.createVNode(script$w, {
6756
7087
  class: "sh-login-form",
6757
7088
  fields: ['email','password'],
6758
7089
  "action-label": "Login",
6759
7090
  action: vue.unref(loginEndpoint),
6760
7091
  "success-callback": loginSuccessful
6761
7092
  }, null, 8 /* PROPS */, ["action"]),
6762
- vue.createElementVNode("div", _hoisted_6, [
7093
+ vue.createElementVNode("div", _hoisted_7, [
6763
7094
  vue.createElementVNode("strong", {
6764
7095
  class: "sh-forgot-link text-primary",
6765
7096
  onClick: _cache[1] || (_cache[1] = $event => (goToSection('forgot')))
6766
7097
  }, "Forgotten password?"),
6767
- _hoisted_7,
7098
+ _hoisted_8,
6768
7099
  vue.createElementVNode("strong", {
6769
7100
  onClick: _cache[2] || (_cache[2] = $event => (goToSection('register'))),
6770
7101
  class: "sh-register-link text-primary"
@@ -6773,21 +7104,21 @@ return (_ctx, _cache) => {
6773
7104
  ]))
6774
7105
  : vue.createCommentVNode("v-if", true),
6775
7106
  (section.value === 'register')
6776
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
7107
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
6777
7108
  (vue.unref(registerTitle))
6778
- ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_9, vue.toDisplayString(vue.unref(registerTitle)), 1 /* TEXT */))
7109
+ ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_10, vue.toDisplayString(vue.unref(registerTitle)), 1 /* TEXT */))
6779
7110
  : vue.createCommentVNode("v-if", true),
6780
7111
  (vue.unref(registerSubTitle))
6781
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
7112
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
6782
7113
  : vue.createCommentVNode("v-if", true),
6783
- vue.createVNode(script$u, {
7114
+ vue.createVNode(script$w, {
6784
7115
  class: "sh-login-form",
6785
7116
  fields: vue.unref(registrationFields),
6786
7117
  "action-label": "Sign Up",
6787
7118
  action: vue.unref(registerEndpoint),
6788
7119
  "success-callback": loginSuccessful
6789
7120
  }, null, 8 /* PROPS */, ["fields", "action"]),
6790
- vue.createElementVNode("div", _hoisted_11, [
7121
+ vue.createElementVNode("div", _hoisted_12, [
6791
7122
  vue.createElementVNode("strong", {
6792
7123
  onClick: _cache[3] || (_cache[3] = $event => (goToSection('login'))),
6793
7124
  class: "sh-register-link text-primary"
@@ -6828,11 +7159,11 @@ const ShFrontend = {
6828
7159
  const registerTitle = options.registerTitle ?? 'Create a new account';
6829
7160
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
6830
7161
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
6831
- options.formTextInput ?? script$r;
7162
+ options.formTextInput ?? script$t;
6832
7163
  const loginUrl = options.loginUrl ?? `/login`;
6833
7164
  const redirectLogin = options.redirectLogin ?? `/`;
6834
7165
  const redirectRegister = options.redirectRegister ?? `/`;
6835
- const noRecordsComponent = options.noRecordsComponent ?? script$g;
7166
+ const noRecordsComponent = options.noRecordsComponent ?? script$i;
6836
7167
  const registrationFields = options.registrationFields ?? ['name','email','phone','password','password_confirmation'];
6837
7168
  const AuthComponent = options.authComponent ?? script;
6838
7169
  app.provide('loginEndpoint',loginEndpoint);
@@ -6864,7 +7195,11 @@ const ShFrontend = {
6864
7195
  });
6865
7196
  options.router.addRoute({
6866
7197
  path: '/sh-departments/manage-permissions/:id',
6867
- component: script$6
7198
+ component: script$8
7199
+ });
7200
+ options.router.addRoute({
7201
+ path: '/sh-user-profile',
7202
+ component: script$3
6868
7203
  });
6869
7204
  }
6870
7205
  //filter unwanted config items from options to be put in local storage
@@ -6890,27 +7225,28 @@ var shGql = {
6890
7225
  };
6891
7226
 
6892
7227
  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;
7228
+ exports.ManagePermissions = script$8;
7229
+ exports.ShAutoForm = script$o;
7230
+ exports.ShCanvas = script$j;
7231
+ exports.ShCanvasBtn = script$9;
7232
+ exports.ShCardLayout = script$4;
7233
+ exports.ShConfirmAction = script$g;
7234
+ exports.ShDropDownForm = script$n;
7235
+ exports.ShDynamicTabs = script$b;
7236
+ exports.ShForm = script$w;
6901
7237
  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;
7238
+ exports.ShModal = script$m;
7239
+ exports.ShModalBtn = script$a;
7240
+ exports.ShModalForm = script$l;
7241
+ exports.ShModalFormAuto = script$k;
7242
+ exports.ShPhone = script$y;
7243
+ exports.ShQueryPopups = script$5;
7244
+ exports.ShRange = script$e;
7245
+ exports.ShRoutePopups = script$7;
7246
+ exports.ShSilentAction = script$f;
7247
+ exports.ShSuggest = script$x;
7248
+ exports.ShTable = script$d;
7249
+ exports.ShTabs = script$c;
6914
7250
  exports.shApis = shApis;
6915
7251
  exports.shGql = shGql;
6916
7252
  exports.shRepo = shRepo;