@iankibetsh/shframework 1.8.6 → 1.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/library.js +423 -220
  2. package/dist/library.mjs +391 -206
  3. package/package.json +1 -1
package/dist/library.js CHANGED
@@ -14,6 +14,24 @@ var bootstrap = require('bootstrap');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
17
+ function _interopNamespace(e) {
18
+ if (e && e.__esModule) return e;
19
+ var n = Object.create(null);
20
+ if (e) {
21
+ Object.keys(e).forEach(function (k) {
22
+ if (k !== 'default') {
23
+ var d = Object.getOwnPropertyDescriptor(e, k);
24
+ Object.defineProperty(n, k, d.get ? d : {
25
+ enumerable: true,
26
+ get: function () { return e[k]; }
27
+ });
28
+ }
29
+ });
30
+ }
31
+ n["default"] = e;
32
+ return Object.freeze(n);
33
+ }
34
+
17
35
  var Axios__default = /*#__PURE__*/_interopDefaultLegacy(Axios);
18
36
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
19
37
  var Swal__default = /*#__PURE__*/_interopDefaultLegacy(Swal);
@@ -394,10 +412,25 @@ function doPost (endPoint, data) {
394
412
  }
395
413
  )
396
414
  }
415
+ function graphQlQuery(query) {
416
+ updateSession();
417
+ const data = {
418
+ query: query
419
+ };
420
+ return axios.get('sh-ql', {
421
+ params: data,
422
+ crossOrigin: true,
423
+ headers: {
424
+ Authorization: 'Bearer ' + ShStorage.getItem('access_token')
425
+ // 'X-CSRF-TOKEN': 'INVALID'
426
+ }
427
+ })
428
+ }
397
429
 
398
430
  var shApis = {
399
431
  doGet,
400
- doPost
432
+ doPost,
433
+ graphQlQuery
401
434
  };
402
435
 
403
436
  const countries = [
@@ -1873,7 +1906,7 @@ const countries = [
1873
1906
  }
1874
1907
  ];
1875
1908
 
1876
- var script$s = {
1909
+ var script$w = {
1877
1910
  name: 'PhoneInput',
1878
1911
  props: ['modelValue', 'country_code'],
1879
1912
  data () {
@@ -1943,19 +1976,19 @@ var script$s = {
1943
1976
  }
1944
1977
  };
1945
1978
 
1946
- const _hoisted_1$n = { class: "sh-phone mb-3" };
1947
- const _hoisted_2$e = {
1979
+ const _hoisted_1$o = { class: "sh-phone mb-3" };
1980
+ const _hoisted_2$f = {
1948
1981
  key: 0,
1949
1982
  style: {"display":"contents"}
1950
1983
  };
1951
- const _hoisted_3$d = ["src"];
1952
- const _hoisted_4$d = ["value"];
1984
+ const _hoisted_3$e = ["src"];
1985
+ const _hoisted_4$e = ["value"];
1953
1986
 
1954
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1955
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
1987
+ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
1988
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
1956
1989
  ($data.selectedCountry)
1957
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
1958
- vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$d),
1990
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
1991
+ vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$e),
1959
1992
  vue.createTextVNode(" " + vue.toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
1960
1993
  ]))
1961
1994
  : vue.createCommentVNode("v-if", true),
@@ -1968,7 +2001,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1968
2001
  return (vue.openBlock(), vue.createElementBlock("option", {
1969
2002
  value: country,
1970
2003
  key: country.dialCode
1971
- }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$d))
2004
+ }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$e))
1972
2005
  }), 128 /* KEYED_FRAGMENT */))
1973
2006
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
1974
2007
  [vue.vModelSelect, $data.selectedCountry]
@@ -1986,16 +2019,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1986
2019
  ]))
1987
2020
  }
1988
2021
 
1989
- script$s.render = render$3;
1990
- script$s.__file = "src/lib/components/form-components/PhoneInput.vue";
2022
+ script$w.render = render$5;
2023
+ script$w.__file = "src/lib/components/form-components/PhoneInput.vue";
1991
2024
 
1992
- const _hoisted_1$m = {
2025
+ const _hoisted_1$n = {
1993
2026
  key: 0,
1994
2027
  class: "dropdown sh-suggest"
1995
2028
  };
1996
- const _hoisted_2$d = ["id"];
1997
- const _hoisted_3$c = { class: "badge bg-secondary m-1 sh-selected-item" };
1998
- const _hoisted_4$c = ["onClick"];
2029
+ const _hoisted_2$e = ["id"];
2030
+ const _hoisted_3$d = { class: "badge bg-secondary m-1 sh-selected-item" };
2031
+ const _hoisted_4$d = ["onClick"];
1999
2032
  const _hoisted_5$a = ["id"];
2000
2033
  const _hoisted_6$9 = ["id", "aria-labelledby"];
2001
2034
  const _hoisted_7$7 = { key: 0 };
@@ -2010,7 +2043,7 @@ const _hoisted_10$5 = {
2010
2043
  };
2011
2044
 
2012
2045
 
2013
- var script$r = {
2046
+ var script$v = {
2014
2047
  __name: 'ShSuggest',
2015
2048
  props: ['fillSelects','modelValue'],
2016
2049
  emits: ['update:modelValue'],
@@ -2091,7 +2124,7 @@ function filterData(e){
2091
2124
 
2092
2125
  return (_ctx, _cache) => {
2093
2126
  return (vue.unref(id))
2094
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
2127
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
2095
2128
  vue.createElementVNode("div", {
2096
2129
  id: vue.unref(id),
2097
2130
  "data-bs-toggle": "dropdown",
@@ -2100,14 +2133,14 @@ return (_ctx, _cache) => {
2100
2133
  }, [
2101
2134
  vue.createElementVNode("div", null, [
2102
2135
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectedSuggestions), (sgt) => {
2103
- return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$c, [
2136
+ return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$d, [
2104
2137
  vue.createTextVNode(vue.toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2105
2138
  vue.createElementVNode("button", {
2106
2139
  onClick: $event => (removeSuggestion(sgt.id)),
2107
2140
  type: "button",
2108
2141
  class: "btn-close border-start border-1 ms-1",
2109
2142
  "aria-label": "Close"
2110
- }, null, 8 /* PROPS */, _hoisted_4$c)
2143
+ }, null, 8 /* PROPS */, _hoisted_4$d)
2111
2144
  ]))
2112
2145
  }), 256 /* UNKEYED_FRAGMENT */))
2113
2146
  ]),
@@ -2118,7 +2151,7 @@ return (_ctx, _cache) => {
2118
2151
  onInput: filterData,
2119
2152
  class: "flex-fill h-100 sh-suggestion-input"
2120
2153
  }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$a)
2121
- ], 8 /* PROPS */, _hoisted_2$d),
2154
+ ], 8 /* PROPS */, _hoisted_2$e),
2122
2155
  vue.createElementVNode("ul", {
2123
2156
  class: "dropdown-menu w-100",
2124
2157
  id: 'dropwdown_section' + vue.unref(id),
@@ -2151,15 +2184,15 @@ return (_ctx, _cache) => {
2151
2184
 
2152
2185
  };
2153
2186
 
2154
- script$r.__scopeId = "data-v-71cc9569";
2155
- script$r.__file = "src/lib/components/form-components/ShSuggest.vue";
2187
+ script$v.__scopeId = "data-v-71cc9569";
2188
+ script$v.__file = "src/lib/components/form-components/ShSuggest.vue";
2156
2189
 
2157
- var script$q = {
2190
+ var script$u = {
2158
2191
  name: 'ShForm',
2159
2192
  components: {
2160
- PhoneInput: script$s,
2161
- ShSuggest: script$r,
2162
- ShPhone: script$s
2193
+ PhoneInput: script$w,
2194
+ ShSuggest: script$v,
2195
+ ShPhone: script$w
2163
2196
  },
2164
2197
  props: [
2165
2198
  'action',
@@ -2481,17 +2514,17 @@ var script$q = {
2481
2514
  }
2482
2515
  };
2483
2516
 
2484
- const _hoisted_1$l = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2485
- const _hoisted_2$c = {
2517
+ const _hoisted_1$m = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2518
+ const _hoisted_2$d = {
2486
2519
  ref: "ShAutoForm",
2487
2520
  class: "sh-form"
2488
2521
  };
2489
- const _hoisted_3$b = {
2522
+ const _hoisted_3$c = {
2490
2523
  key: 0,
2491
2524
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2492
2525
  role: "alert"
2493
2526
  };
2494
- const _hoisted_4$b = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2527
+ const _hoisted_4$c = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2495
2528
  const _hoisted_5$9 = { key: 0 };
2496
2529
  const _hoisted_6$8 = { key: 1 };
2497
2530
  const _hoisted_7$6 = { class: "row" };
@@ -2537,18 +2570,18 @@ const _hoisted_24$1 = /*#__PURE__*/vue.createElementVNode("span", {
2537
2570
  "aria-hidden": "true"
2538
2571
  }, null, -1 /* HOISTED */);
2539
2572
 
2540
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2573
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2541
2574
  const _component_phone_input = vue.resolveComponent("phone-input");
2542
2575
  const _component_ShSuggest = vue.resolveComponent("ShSuggest");
2543
2576
 
2544
2577
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2545
- _hoisted_1$l,
2546
- vue.createElementVNode("form", _hoisted_2$c, [
2578
+ _hoisted_1$m,
2579
+ vue.createElementVNode("form", _hoisted_2$d, [
2547
2580
  vue.createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2548
2581
  vue.createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2549
2582
  (_ctx.form_status == 3)
2550
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$b, [
2551
- _hoisted_4$b,
2583
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
2584
+ _hoisted_4$c,
2552
2585
  (_ctx.errorText)
2553
2586
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$9, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2554
2587
  : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$8, "Unexpected Error Occurred")),
@@ -2748,10 +2781,10 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2748
2781
  ], 64 /* STABLE_FRAGMENT */))
2749
2782
  }
2750
2783
 
2751
- script$q.render = render$2;
2752
- script$q.__file = "src/lib/components/ShForm.vue";
2784
+ script$u.render = render$4;
2785
+ script$u.__file = "src/lib/components/ShForm.vue";
2753
2786
 
2754
- var script$p = {
2787
+ var script$t = {
2755
2788
  __name: 'EmailInput',
2756
2789
  props: ['modelValue','label'],
2757
2790
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2791,12 +2824,12 @@ return (_ctx, _cache) => {
2791
2824
 
2792
2825
  };
2793
2826
 
2794
- script$p.__file = "src/lib/components/form-components/EmailInput.vue";
2827
+ script$t.__file = "src/lib/components/form-components/EmailInput.vue";
2795
2828
 
2796
- const _hoisted_1$k = ["min", "max"];
2829
+ const _hoisted_1$l = ["min", "max"];
2797
2830
 
2798
2831
 
2799
- var script$o = {
2832
+ var script$s = {
2800
2833
  __name: 'NumberInput',
2801
2834
  props: ['modelValue','label','min','max'],
2802
2835
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2830,7 +2863,7 @@ return (_ctx, _cache) => {
2830
2863
  onChange: modelValueUpdated,
2831
2864
  onKeydown: modelValueUpdated,
2832
2865
  onUpdated: modelValueUpdated
2833
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$k)), [
2866
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$l)), [
2834
2867
  [vue.vModelText, inputModel.value]
2835
2868
  ])
2836
2869
  }
@@ -2838,9 +2871,9 @@ return (_ctx, _cache) => {
2838
2871
 
2839
2872
  };
2840
2873
 
2841
- script$o.__file = "src/lib/components/form-components/NumberInput.vue";
2874
+ script$s.__file = "src/lib/components/form-components/NumberInput.vue";
2842
2875
 
2843
- var script$n = {
2876
+ var script$r = {
2844
2877
  __name: 'TextInput',
2845
2878
  props: ['modelValue','label','isInvalid'],
2846
2879
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2882,9 +2915,9 @@ return (_ctx, _cache) => {
2882
2915
 
2883
2916
  };
2884
2917
 
2885
- script$n.__file = "src/lib/components/form-components/TextInput.vue";
2918
+ script$r.__file = "src/lib/components/form-components/TextInput.vue";
2886
2919
 
2887
- var script$m = {
2920
+ var script$q = {
2888
2921
  __name: 'TextAreaInput',
2889
2922
  props: ['modelValue','label'],
2890
2923
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2924,12 +2957,12 @@ return (_ctx, _cache) => {
2924
2957
 
2925
2958
  };
2926
2959
 
2927
- script$m.__file = "src/lib/components/form-components/TextAreaInput.vue";
2960
+ script$q.__file = "src/lib/components/form-components/TextAreaInput.vue";
2928
2961
 
2929
- const _hoisted_1$j = ["value"];
2962
+ const _hoisted_1$k = ["value"];
2930
2963
 
2931
2964
 
2932
- var script$l = {
2965
+ var script$p = {
2933
2966
  __name: 'SelectInput',
2934
2967
  props: ['modelValue','label','data','dataUrl'],
2935
2968
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2984,7 +3017,7 @@ return (_ctx, _cache) => {
2984
3017
  return (vue.openBlock(), vue.createElementBlock("option", {
2985
3018
  key: option.id,
2986
3019
  value: option.id
2987
- }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$j))
3020
+ }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$k))
2988
3021
  }), 128 /* KEYED_FRAGMENT */))
2989
3022
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)), [
2990
3023
  [vue.vModelSelect, inputModel.value]
@@ -2994,9 +3027,9 @@ return (_ctx, _cache) => {
2994
3027
 
2995
3028
  };
2996
3029
 
2997
- script$l.__file = "src/lib/components/form-components/SelectInput.vue";
3030
+ script$p.__file = "src/lib/components/form-components/SelectInput.vue";
2998
3031
 
2999
- var script$k = {
3032
+ var script$o = {
3000
3033
  __name: 'PasswordInput',
3001
3034
  props: ['modelValue','label'],
3002
3035
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3032,12 +3065,12 @@ return (_ctx, _cache) => {
3032
3065
 
3033
3066
  };
3034
3067
 
3035
- script$k.__file = "src/lib/components/form-components/PasswordInput.vue";
3068
+ script$o.__file = "src/lib/components/form-components/PasswordInput.vue";
3036
3069
 
3037
- const _hoisted_1$i = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3038
- const _hoisted_2$b = ["onUpdate:modelValue"];
3039
- const _hoisted_3$a = ["innerHTML"];
3040
- const _hoisted_4$a = ["innerHTML"];
3070
+ const _hoisted_1$j = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3071
+ const _hoisted_2$c = ["onUpdate:modelValue"];
3072
+ const _hoisted_3$b = ["innerHTML"];
3073
+ const _hoisted_4$b = ["innerHTML"];
3041
3074
  const _hoisted_5$8 = ["innerHTML"];
3042
3075
  const _hoisted_6$7 = ["disabled"];
3043
3076
  const _hoisted_7$5 = {
@@ -3049,7 +3082,7 @@ const _hoisted_7$5 = {
3049
3082
  const _hoisted_8$4 = { key: 1 };
3050
3083
 
3051
3084
 
3052
- var script$j = {
3085
+ var script$n = {
3053
3086
  __name: 'ShAutoForm',
3054
3087
  props: [
3055
3088
  'action','successCallback','retainDataAfterSubmission',
@@ -3082,13 +3115,13 @@ const getFieldComponent = (fieldObj)=>{
3082
3115
  const defaultPhones = ['phone'];
3083
3116
  const defaultEmails = ['email'];
3084
3117
  const formComponents = vue.inject('formComponents');
3085
- const TextComponent = formComponents.text ?? script$n;
3086
- const TextAreaComponent = formComponents.textArea ?? script$m;
3087
- const EmailComponent = formComponents.email ?? script$p;
3088
- const PhoneComponent = formComponents.phone ?? script$s;
3089
- const NumberComponent = formComponents.number ?? script$o;
3090
- const SelectComponent = formComponents.select ?? script$l;
3091
- const PasswordComponent = formComponents.password ?? script$k;
3118
+ const TextComponent = formComponents.text ?? script$r;
3119
+ const TextAreaComponent = formComponents.textArea ?? script$q;
3120
+ const EmailComponent = formComponents.email ?? script$t;
3121
+ const PhoneComponent = formComponents.phone ?? script$w;
3122
+ const NumberComponent = formComponents.number ?? script$s;
3123
+ const SelectComponent = formComponents.select ?? script$p;
3124
+ const PasswordComponent = formComponents.password ?? script$o;
3092
3125
  if(props.customComponents && props.customComponents[field]) {
3093
3126
  return props.customComponents[field]
3094
3127
  }
@@ -3100,16 +3133,16 @@ const getFieldComponent = (fieldObj)=>{
3100
3133
  }
3101
3134
  else
3102
3135
  if((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)){
3103
- return formComponents.textArea ?? script$m
3136
+ return formComponents.textArea ?? script$q
3104
3137
  } else
3105
3138
  if((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)){
3106
- return formComponents.email ?? script$p
3139
+ return formComponents.email ?? script$t
3107
3140
  } else
3108
3141
  if((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)){
3109
- return formComponents.phone ?? script$s
3142
+ return formComponents.phone ?? script$w
3110
3143
  } else
3111
3144
  if((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)){
3112
- return formComponents.number ?? script$o
3145
+ return formComponents.number ?? script$s
3113
3146
  }
3114
3147
  // else
3115
3148
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
@@ -3118,7 +3151,7 @@ const getFieldComponent = (fieldObj)=>{
3118
3151
  // if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3119
3152
  // return formComponents.date ?? DateInput
3120
3153
  // }
3121
- return formComponents.text ?? script$n
3154
+ return formComponents.text ?? script$r
3122
3155
  };
3123
3156
  const shFormElementClasses = vue.ref(null);
3124
3157
  shFormElementClasses.value = vue.inject('shFormElementClasses');
@@ -3232,7 +3265,7 @@ vue.onMounted((ev)=>{
3232
3265
 
3233
3266
  return (_ctx, _cache) => {
3234
3267
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3235
- _hoisted_1$i,
3268
+ _hoisted_1$j,
3236
3269
  vue.createElementVNode("form", {
3237
3270
  class: vue.normalizeClass([__props.formClass, "sh-form"]),
3238
3271
  ref_key: "shAutoForm",
@@ -3249,7 +3282,7 @@ return (_ctx, _cache) => {
3249
3282
  key: 0,
3250
3283
  type: "hidden",
3251
3284
  "onUpdate:modelValue": $event => ((formFields.value[index].value) = $event)
3252
- }, null, 8 /* PROPS */, _hoisted_2$b)), [
3285
+ }, null, 8 /* PROPS */, _hoisted_2$c)), [
3253
3286
  [vue.vModelText, formFields.value[index].value]
3254
3287
  ])
3255
3288
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
@@ -3258,7 +3291,7 @@ return (_ctx, _cache) => {
3258
3291
  key: 0,
3259
3292
  class: vue.normalizeClass(getElementClass('formLabel')),
3260
3293
  innerHTML: field.label
3261
- }, null, 10 /* CLASS, PROPS */, _hoisted_3$a))
3294
+ }, null, 10 /* CLASS, PROPS */, _hoisted_3$b))
3262
3295
  : vue.createCommentVNode("v-if", true),
3263
3296
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFieldComponent(field)), vue.mergeProps(getComponentProps(field), {
3264
3297
  isInvalid: typeof validationErrors.value[field.field] !== 'undefined',
@@ -3272,7 +3305,7 @@ return (_ctx, _cache) => {
3272
3305
  key: 1,
3273
3306
  class: vue.normalizeClass(getElementClass('formLabel')),
3274
3307
  innerHTML: field.label
3275
- }, null, 10 /* CLASS, PROPS */, _hoisted_4$a))
3308
+ }, null, 10 /* CLASS, PROPS */, _hoisted_4$b))
3276
3309
  : vue.createCommentVNode("v-if", true),
3277
3310
  (field.helper)
3278
3311
  ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -3315,12 +3348,12 @@ return (_ctx, _cache) => {
3315
3348
 
3316
3349
  };
3317
3350
 
3318
- script$j.__file = "src/lib/components/ShAutoForm.vue";
3351
+ script$n.__file = "src/lib/components/ShAutoForm.vue";
3319
3352
 
3320
- const _hoisted_1$h = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3321
- const _hoisted_2$a = { class: "dropdown" };
3353
+ const _hoisted_1$i = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3354
+ const _hoisted_2$b = { class: "dropdown" };
3322
3355
 
3323
- var script$i = {
3356
+ var script$m = {
3324
3357
  __name: 'ShDropDownForm',
3325
3358
  props: ['action',
3326
3359
  'classes',
@@ -3350,8 +3383,8 @@ const dropdownId = 'rand' + (Math.random() + 1).toString(36).substring(2);
3350
3383
 
3351
3384
  return (_ctx, _cache) => {
3352
3385
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3353
- _hoisted_1$h,
3354
- vue.createElementVNode("div", _hoisted_2$a, [
3386
+ _hoisted_1$i,
3387
+ vue.createElementVNode("div", _hoisted_2$b, [
3355
3388
  vue.createElementVNode("a", {
3356
3389
  class: vue.normalizeClass(vue.unref(btnClass)),
3357
3390
  href: "#",
@@ -3367,7 +3400,7 @@ return (_ctx, _cache) => {
3367
3400
  class: "dropdown-menu px-2 py-1",
3368
3401
  "aria-labelledby": dropdownId
3369
3402
  }, [
3370
- vue.createVNode(script$q, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3403
+ vue.createVNode(script$u, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3371
3404
  ])
3372
3405
  ])
3373
3406
  ], 64 /* STABLE_FRAGMENT */))
@@ -3376,12 +3409,12 @@ return (_ctx, _cache) => {
3376
3409
 
3377
3410
  };
3378
3411
 
3379
- script$i.__file = "src/lib/components/ShDropDownForm.vue";
3412
+ script$m.__file = "src/lib/components/ShDropDownForm.vue";
3380
3413
 
3381
- const _hoisted_1$g = ["id"];
3382
- const _hoisted_2$9 = { class: "modal-content" };
3383
- const _hoisted_3$9 = { class: "modal-header" };
3384
- const _hoisted_4$9 = { class: "modal-title" };
3414
+ const _hoisted_1$h = ["id"];
3415
+ const _hoisted_2$a = { class: "modal-content" };
3416
+ const _hoisted_3$a = { class: "modal-header" };
3417
+ const _hoisted_4$a = { class: "modal-title" };
3385
3418
  const _hoisted_5$7 = /*#__PURE__*/vue.createElementVNode("button", {
3386
3419
  class: "btn btn-danger btn-sm",
3387
3420
  "data-bs-dismiss": "modal",
@@ -3390,7 +3423,7 @@ const _hoisted_5$7 = /*#__PURE__*/vue.createElementVNode("button", {
3390
3423
  const _hoisted_6$6 = { class: "modal-body" };
3391
3424
  const _hoisted_7$4 = { class: "section" };
3392
3425
 
3393
- var script$h = {
3426
+ var script$l = {
3394
3427
  __name: 'ShModal',
3395
3428
  props: {
3396
3429
  modalId: {
@@ -3427,9 +3460,9 @@ return (_ctx, _cache) => {
3427
3460
  vue.createElementVNode("div", {
3428
3461
  class: vue.normalizeClass(["modal-dialog", `modal-${__props.modalSize}`])
3429
3462
  }, [
3430
- vue.createElementVNode("div", _hoisted_2$9, [
3431
- vue.createElementVNode("div", _hoisted_3$9, [
3432
- vue.createElementVNode("h3", _hoisted_4$9, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3463
+ vue.createElementVNode("div", _hoisted_2$a, [
3464
+ vue.createElementVNode("div", _hoisted_3$a, [
3465
+ vue.createElementVNode("h3", _hoisted_4$a, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3433
3466
  _hoisted_5$7
3434
3467
  ]),
3435
3468
  vue.createElementVNode("div", _hoisted_6$6, [
@@ -3439,17 +3472,17 @@ return (_ctx, _cache) => {
3439
3472
  ])
3440
3473
  ])
3441
3474
  ], 2 /* CLASS */)
3442
- ], 8 /* PROPS */, _hoisted_1$g))
3475
+ ], 8 /* PROPS */, _hoisted_1$h))
3443
3476
  }
3444
3477
  }
3445
3478
 
3446
3479
  };
3447
3480
 
3448
- script$h.__file = "src/lib/components/ShModal.vue";
3481
+ script$l.__file = "src/lib/components/ShModal.vue";
3449
3482
 
3450
- const _hoisted_1$f = ["href"];
3483
+ const _hoisted_1$g = ["href"];
3451
3484
 
3452
- var script$g = {
3485
+ var script$k = {
3453
3486
  __name: 'ShModalForm',
3454
3487
  props: ['action',
3455
3488
  'classes',
@@ -3488,13 +3521,13 @@ return (_ctx, _cache) => {
3488
3521
  "data-bs-toggle": "modal"
3489
3522
  }, [
3490
3523
  vue.renderSlot(_ctx.$slots, "default")
3491
- ], 10 /* CLASS, PROPS */, _hoisted_1$f),
3492
- vue.createVNode(script$h, {
3524
+ ], 10 /* CLASS, PROPS */, _hoisted_1$g),
3525
+ vue.createVNode(script$l, {
3493
3526
  "modal-id": modalId,
3494
3527
  "modal-title": __props.modalTitle
3495
3528
  }, {
3496
3529
  default: vue.withCtx(() => [
3497
- vue.createVNode(script$q, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3530
+ vue.createVNode(script$u, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3498
3531
  ]),
3499
3532
  _: 1 /* STABLE */
3500
3533
  }, 8 /* PROPS */, ["modal-title"])
@@ -3504,11 +3537,11 @@ return (_ctx, _cache) => {
3504
3537
 
3505
3538
  };
3506
3539
 
3507
- script$g.__file = "src/lib/components/ShModalForm.vue";
3540
+ script$k.__file = "src/lib/components/ShModalForm.vue";
3508
3541
 
3509
- const _hoisted_1$e = ["href"];
3542
+ const _hoisted_1$f = ["href"];
3510
3543
 
3511
- var script$f = {
3544
+ var script$j = {
3512
3545
  __name: 'ShModalFormAuto',
3513
3546
  props: ['action',
3514
3547
  'classes',
@@ -3548,13 +3581,13 @@ return (_ctx, _cache) => {
3548
3581
  "data-bs-toggle": "modal"
3549
3582
  }, [
3550
3583
  vue.renderSlot(_ctx.$slots, "default")
3551
- ], 10 /* CLASS, PROPS */, _hoisted_1$e),
3552
- vue.createVNode(script$h, {
3584
+ ], 10 /* CLASS, PROPS */, _hoisted_1$f),
3585
+ vue.createVNode(script$l, {
3553
3586
  "modal-id": modalId,
3554
3587
  "modal-title": __props.modalTitle
3555
3588
  }, {
3556
3589
  default: vue.withCtx(() => [
3557
- vue.createVNode(script$j, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3590
+ vue.createVNode(script$n, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3558
3591
  ]),
3559
3592
  _: 1 /* STABLE */
3560
3593
  }, 8 /* PROPS */, ["modal-title"])
@@ -3564,17 +3597,17 @@ return (_ctx, _cache) => {
3564
3597
 
3565
3598
  };
3566
3599
 
3567
- script$f.__file = "src/lib/components/ShModalFormAuto.vue";
3600
+ script$j.__file = "src/lib/components/ShModalFormAuto.vue";
3568
3601
 
3569
- const _hoisted_1$d = ["id"];
3570
- const _hoisted_2$8 = { class: "offcanvas-header" };
3571
- const _hoisted_3$8 = {
3602
+ const _hoisted_1$e = ["id"];
3603
+ const _hoisted_2$9 = { class: "offcanvas-header" };
3604
+ const _hoisted_3$9 = {
3572
3605
  class: "offcanvas-title",
3573
3606
  id: "offcanvasScrollingLabel"
3574
3607
  };
3575
- const _hoisted_4$8 = { class: "offcanvas-body" };
3608
+ const _hoisted_4$9 = { class: "offcanvas-body" };
3576
3609
 
3577
- var script$e = {
3610
+ var script$i = {
3578
3611
  __name: 'ShCanvas',
3579
3612
  props: {
3580
3613
  canvasId: {
@@ -3619,8 +3652,8 @@ return (_ctx, _cache) => {
3619
3652
  id: __props.canvasId,
3620
3653
  "aria-labelledby": "offcanvasScrollingLabel"
3621
3654
  }, [
3622
- vue.createElementVNode("div", _hoisted_2$8, [
3623
- vue.createElementVNode("h5", _hoisted_3$8, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
3655
+ vue.createElementVNode("div", _hoisted_2$9, [
3656
+ vue.createElementVNode("h5", _hoisted_3$9, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
3624
3657
  vue.createElementVNode("button", {
3625
3658
  type: "button",
3626
3659
  ref: "closecanvas",
@@ -3630,18 +3663,18 @@ return (_ctx, _cache) => {
3630
3663
  "aria-label": "Close"
3631
3664
  }, null, 512 /* NEED_PATCH */)
3632
3665
  ]),
3633
- vue.createElementVNode("div", _hoisted_4$8, [
3666
+ vue.createElementVNode("div", _hoisted_4$9, [
3634
3667
  vue.renderSlot(_ctx.$slots, "default")
3635
3668
  ])
3636
- ], 10 /* CLASS, PROPS */, _hoisted_1$d))
3669
+ ], 10 /* CLASS, PROPS */, _hoisted_1$e))
3637
3670
  }
3638
3671
  }
3639
3672
 
3640
3673
  };
3641
3674
 
3642
- script$e.__file = "src/lib/components/ShCanvas.vue";
3675
+ script$i.__file = "src/lib/components/ShCanvas.vue";
3643
3676
 
3644
- var script$d = {
3677
+ var script$h = {
3645
3678
  name: 'Pagination',
3646
3679
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore', 'paginationStyle'],
3647
3680
  data () {
@@ -3712,12 +3745,12 @@ var script$d = {
3712
3745
  }
3713
3746
  };
3714
3747
 
3715
- const _hoisted_1$c = { key: 0 };
3716
- const _hoisted_2$7 = { class: "record_count_body mb-3" };
3717
- const _hoisted_3$7 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3718
- const _hoisted_4$7 = /*#__PURE__*/vue.createStaticVNode("<option value=\"10\">10</option><option value=\"25\">25</option><option value=\"50\">50</option><option value=\"100\">100</option><option value=\"200\">200</option>", 5);
3748
+ const _hoisted_1$d = { key: 0 };
3749
+ const _hoisted_2$8 = { class: "record_count_body mb-3" };
3750
+ const _hoisted_3$8 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3751
+ const _hoisted_4$8 = /*#__PURE__*/vue.createStaticVNode("<option value=\"10\">10</option><option value=\"25\">25</option><option value=\"50\">50</option><option value=\"100\">100</option><option value=\"200\">200</option>", 5);
3719
3752
  const _hoisted_9$4 = [
3720
- _hoisted_4$7
3753
+ _hoisted_4$8
3721
3754
  ];
3722
3755
  const _hoisted_10$3 = { class: "record_counts" };
3723
3756
  const _hoisted_11$2 = {
@@ -3760,11 +3793,11 @@ const _hoisted_23$1 = {
3760
3793
  class: "spinner-border"
3761
3794
  };
3762
3795
 
3763
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3796
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3764
3797
  return ($props.paginationStyle !== 'loadMore')
3765
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
3766
- vue.createElementVNode("div", _hoisted_2$7, [
3767
- _hoisted_3$7,
3798
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
3799
+ vue.createElementVNode("div", _hoisted_2$8, [
3800
+ _hoisted_3$8,
3768
3801
  vue.createTextVNode("  "),
3769
3802
  vue.withDirectives(vue.createElementVNode("select", {
3770
3803
  class: "select_per_page",
@@ -3837,17 +3870,17 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3837
3870
  ]))
3838
3871
  }
3839
3872
 
3840
- script$d.render = render$1;
3841
- script$d.__file = "src/lib/components/list_templates/Pagination.vue";
3873
+ script$h.render = render$3;
3874
+ script$h.__file = "src/lib/components/list_templates/Pagination.vue";
3842
3875
 
3843
- const _hoisted_1$b = /*#__PURE__*/vue.createElementVNode("span", {
3876
+ const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("span", {
3844
3877
  class: "spinner-border spinner-border-sm me-1",
3845
3878
  role: "status",
3846
3879
  "aria-hidden": "true"
3847
3880
  }, null, -1 /* HOISTED */);
3848
3881
 
3849
3882
 
3850
- var script$c = {
3883
+ var script$g = {
3851
3884
  __name: 'ShConfirmAction',
3852
3885
  props: {
3853
3886
  data: Object,
@@ -3920,7 +3953,7 @@ return (_ctx, _cache) => {
3920
3953
  }, [
3921
3954
  (processing.value)
3922
3955
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3923
- _hoisted_1$b,
3956
+ _hoisted_1$c,
3924
3957
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
3925
3958
  ], 64 /* STABLE_FRAGMENT */))
3926
3959
  : vue.createCommentVNode("v-if", true),
@@ -3933,15 +3966,15 @@ return (_ctx, _cache) => {
3933
3966
 
3934
3967
  };
3935
3968
 
3936
- script$c.__file = "src/lib/components/ShConfirmAction.vue";
3969
+ script$g.__file = "src/lib/components/ShConfirmAction.vue";
3937
3970
 
3938
- const _hoisted_1$a = /*#__PURE__*/vue.createElementVNode("span", {
3971
+ const _hoisted_1$b = /*#__PURE__*/vue.createElementVNode("span", {
3939
3972
  class: "spinner-border spinner-border-sm me-1",
3940
3973
  role: "status",
3941
3974
  "aria-hidden": "true"
3942
3975
  }, null, -1 /* HOISTED */);
3943
3976
 
3944
- var script$b = {
3977
+ var script$f = {
3945
3978
  __name: 'ShSilentAction',
3946
3979
  props: {
3947
3980
  data: Object,
@@ -4016,7 +4049,7 @@ return (_ctx, _cache) => {
4016
4049
  }, [
4017
4050
  (processing.value)
4018
4051
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4019
- _hoisted_1$a,
4052
+ _hoisted_1$b,
4020
4053
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4021
4054
  ], 64 /* STABLE_FRAGMENT */))
4022
4055
  : vue.createCommentVNode("v-if", true),
@@ -4029,9 +4062,9 @@ return (_ctx, _cache) => {
4029
4062
 
4030
4063
  };
4031
4064
 
4032
- script$b.__file = "src/lib/components/ShSilentAction.vue";
4065
+ script$f.__file = "src/lib/components/ShSilentAction.vue";
4033
4066
 
4034
- var script$a = {
4067
+ var script$e = {
4035
4068
  name: 'sh-table',
4036
4069
  props: ['endPoint', 'headers','query', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover', 'hideIds', 'paginationStyle'],
4037
4070
  inject: ['channel'],
@@ -4221,7 +4254,8 @@ var script$a = {
4221
4254
  order_method: this.order_method,
4222
4255
  per_page: this.per_page,
4223
4256
  page: this.page,
4224
- filter_value: this.filter_value
4257
+ filter_value: this.filter_value,
4258
+ paginated: true
4225
4259
  };
4226
4260
  if (this.pagination_data) {
4227
4261
  this.pagination_data.loading = 1;
@@ -4285,10 +4319,10 @@ var script$a = {
4285
4319
  this.reloadData();
4286
4320
  },
4287
4321
  components: {
4288
- ShSilentAction: script$b,
4289
- ShConfirmAction: script$c,
4290
- ShCanvas: script$e,
4291
- pagination: script$d
4322
+ ShSilentAction: script$f,
4323
+ ShConfirmAction: script$g,
4324
+ ShCanvas: script$i,
4325
+ pagination: script$h
4292
4326
  },
4293
4327
  computed: {
4294
4328
  windowWidth: function () {
@@ -4306,13 +4340,13 @@ var script$a = {
4306
4340
  }
4307
4341
  };
4308
4342
 
4309
- const _hoisted_1$9 = { class: "auto-table mt-2" };
4310
- const _hoisted_2$6 = {
4343
+ const _hoisted_1$a = { class: "auto-table mt-2" };
4344
+ const _hoisted_2$7 = {
4311
4345
  key: 0,
4312
4346
  class: "col-md-4 mb-2"
4313
4347
  };
4314
- const _hoisted_3$6 = ["disabled"];
4315
- const _hoisted_4$6 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4348
+ const _hoisted_3$7 = ["disabled"];
4349
+ const _hoisted_4$7 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4316
4350
  const _hoisted_5$6 = /*#__PURE__*/vue.createElementVNode("span", {
4317
4351
  class: "spinner-border spinner-border-sm",
4318
4352
  role: "status",
@@ -4462,16 +4496,16 @@ const _hoisted_63 = { key: 0 };
4462
4496
  const _hoisted_64 = ["href"];
4463
4497
  const _hoisted_65 = ["title", "onClick"];
4464
4498
 
4465
- function render(_ctx, _cache, $props, $setup, $data, $options) {
4499
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
4466
4500
  const _component_router_link = vue.resolveComponent("router-link");
4467
4501
  const _component_sh_confirm_action = vue.resolveComponent("sh-confirm-action");
4468
4502
  const _component_sh_silent_action = vue.resolveComponent("sh-silent-action");
4469
4503
  const _component_pagination = vue.resolveComponent("pagination");
4470
4504
  const _component_sh_canvas = vue.resolveComponent("sh-canvas");
4471
4505
 
4472
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
4506
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
4473
4507
  ($props.hasDownload)
4474
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$6, [
4508
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, [
4475
4509
  vue.createElementVNode("button", {
4476
4510
  disabled: $data.downloading,
4477
4511
  class: "btn btn-warning btn-sm",
@@ -4479,14 +4513,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4479
4513
  }, [
4480
4514
  (!$data.downloading)
4481
4515
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4482
- _hoisted_4$6,
4516
+ _hoisted_4$7,
4483
4517
  vue.createTextVNode(" Export ")
4484
4518
  ], 64 /* STABLE_FRAGMENT */))
4485
4519
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4486
4520
  _hoisted_5$6,
4487
4521
  _hoisted_6$5
4488
4522
  ], 64 /* STABLE_FRAGMENT */))
4489
- ], 8 /* PROPS */, _hoisted_3$6)
4523
+ ], 8 /* PROPS */, _hoisted_3$7)
4490
4524
  ]))
4491
4525
  : vue.createCommentVNode("v-if", true),
4492
4526
  (!$props.hideSearch)
@@ -4922,10 +4956,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4922
4956
  ]))
4923
4957
  }
4924
4958
 
4925
- script$a.render = render;
4926
- script$a.__file = "src/lib/components/ShTable.vue";
4959
+ script$e.render = render$2;
4960
+ script$e.__file = "src/lib/components/ShTable.vue";
4927
4961
 
4928
- var script$9 = {
4962
+ var script$d = {
4929
4963
  __name: 'ShTabs',
4930
4964
  props: {
4931
4965
  tabs: {
@@ -5015,7 +5049,8 @@ const tabExistsInUrl = () => {
5015
5049
  const setCounts = (res) => {
5016
5050
  Object.keys(res).forEach(key => {
5017
5051
  let elem = document.getElementsByClassName('sh_tab_' + key);
5018
- if (elem) {
5052
+ if (elem.length > 0) {
5053
+ elem = elem[0];
5019
5054
  let txt = elem.innerHTML;
5020
5055
  txt = txt.split('<i class="d-none"></i>')[0];
5021
5056
  if (parseInt(res[key]) > 0) {
@@ -5069,22 +5104,22 @@ return (_ctx, _cache) => {
5069
5104
 
5070
5105
  };
5071
5106
 
5072
- script$9.__file = "src/lib/components/ShTabs.vue";
5107
+ script$d.__file = "src/lib/components/ShTabs.vue";
5073
5108
 
5074
- const _hoisted_1$8 = {
5109
+ const _hoisted_1$9 = {
5075
5110
  class: "nav nav-tabs",
5076
5111
  role: "tablist"
5077
5112
  };
5078
- const _hoisted_2$5 = {
5113
+ const _hoisted_2$6 = {
5079
5114
  class: "nav-item",
5080
5115
  role: "presentation"
5081
5116
  };
5082
- const _hoisted_3$5 = ["onClick"];
5083
- const _hoisted_4$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5117
+ const _hoisted_3$6 = ["onClick"];
5118
+ const _hoisted_4$6 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5084
5119
  const _hoisted_5$5 = { class: "sh_tab_count" };
5085
5120
  const _hoisted_6$4 = { class: "tab-content" };
5086
5121
 
5087
- var script$8 = {
5122
+ var script$c = {
5088
5123
  __name: 'ShDynamicTabs',
5089
5124
  props: ['tabs','data'],
5090
5125
  setup(__props) {
@@ -5109,9 +5144,9 @@ function setTab(tab){
5109
5144
 
5110
5145
  return (_ctx, _cache) => {
5111
5146
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5112
- vue.createElementVNode("ul", _hoisted_1$8, [
5147
+ vue.createElementVNode("ul", _hoisted_1$9, [
5113
5148
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tabs), (tab) => {
5114
- return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$5, [
5149
+ return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$6, [
5115
5150
  vue.createElementVNode("button", {
5116
5151
  onClick: $event => (setTab(tab)),
5117
5152
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
@@ -5119,11 +5154,11 @@ return (_ctx, _cache) => {
5119
5154
  vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
5120
5155
  (tab.count || tab.tabCount)
5121
5156
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5122
- _hoisted_4$5,
5157
+ _hoisted_4$6,
5123
5158
  vue.createElementVNode("sup", _hoisted_5$5, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
5124
5159
  ], 64 /* STABLE_FRAGMENT */))
5125
5160
  : vue.createCommentVNode("v-if", true)
5126
- ], 10 /* CLASS, PROPS */, _hoisted_3$5)
5161
+ ], 10 /* CLASS, PROPS */, _hoisted_3$6)
5127
5162
  ]))
5128
5163
  }), 256 /* UNKEYED_FRAGMENT */))
5129
5164
  ]),
@@ -5138,12 +5173,12 @@ return (_ctx, _cache) => {
5138
5173
 
5139
5174
  };
5140
5175
 
5141
- script$8.__file = "src/lib/components/ShDynamicTabs.vue";
5176
+ script$c.__file = "src/lib/components/ShDynamicTabs.vue";
5142
5177
 
5143
- const _hoisted_1$7 = ["href"];
5178
+ const _hoisted_1$8 = ["href"];
5144
5179
 
5145
5180
 
5146
- var script$7 = {
5181
+ var script$b = {
5147
5182
  __name: 'ShModalBtn',
5148
5183
  props: {
5149
5184
  modalId: {
@@ -5160,18 +5195,18 @@ return (_ctx, _cache) => {
5160
5195
  "data-bs-toggle": "modal"
5161
5196
  }, [
5162
5197
  vue.renderSlot(_ctx.$slots, "default")
5163
- ], 8 /* PROPS */, _hoisted_1$7))
5198
+ ], 8 /* PROPS */, _hoisted_1$8))
5164
5199
  }
5165
5200
  }
5166
5201
 
5167
5202
  };
5168
5203
 
5169
- script$7.__file = "src/lib/components/ShModalBtn.vue";
5204
+ script$b.__file = "src/lib/components/ShModalBtn.vue";
5170
5205
 
5171
- const _hoisted_1$6 = ["href"];
5206
+ const _hoisted_1$7 = ["href"];
5172
5207
 
5173
5208
 
5174
- var script$6 = {
5209
+ var script$a = {
5175
5210
  __name: 'ShCanvasBtn',
5176
5211
  props: {
5177
5212
  canvasId: {
@@ -5189,13 +5224,13 @@ return (_ctx, _cache) => {
5189
5224
  "data-bs-toggle": "offcanvas"
5190
5225
  }, [
5191
5226
  vue.renderSlot(_ctx.$slots, "default")
5192
- ], 8 /* PROPS */, _hoisted_1$6))
5227
+ ], 8 /* PROPS */, _hoisted_1$7))
5193
5228
  }
5194
5229
  }
5195
5230
 
5196
5231
  };
5197
5232
 
5198
- script$6.__file = "src/lib/components/ShCanvasBtn.vue";
5233
+ script$a.__file = "src/lib/components/ShCanvasBtn.vue";
5199
5234
 
5200
5235
  const useUserStore = pinia.defineStore('user-store', {
5201
5236
  state: () => ({
@@ -5294,18 +5329,18 @@ const useUserStore = pinia.defineStore('user-store', {
5294
5329
  });
5295
5330
 
5296
5331
  const _withScopeId$1 = n => (vue.pushScopeId("data-v-0d4fa0ac"),n=n(),vue.popScopeId(),n);
5297
- const _hoisted_1$5 = { class: "row permissions-main d-flex" };
5298
- const _hoisted_2$4 = {
5332
+ const _hoisted_1$6 = { class: "row permissions-main d-flex" };
5333
+ const _hoisted_2$5 = {
5299
5334
  id: "permissions-nav",
5300
5335
  class: "col-md-3 d-flex align-items-center py-4"
5301
5336
  };
5302
- const _hoisted_3$4 = {
5337
+ const _hoisted_3$5 = {
5303
5338
  key: 0,
5304
5339
  class: "mx-auto"
5305
5340
  };
5306
- const _hoisted_4$4 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5341
+ const _hoisted_4$5 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5307
5342
  const _hoisted_5$4 = [
5308
- _hoisted_4$4
5343
+ _hoisted_4$5
5309
5344
  ];
5310
5345
  const _hoisted_6$3 = {
5311
5346
  key: 1,
@@ -5334,7 +5369,7 @@ const _hoisted_17 = { class: "col-md-3" };
5334
5369
  const _hoisted_18 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/vue.createElementVNode("i", { class: "bi-check" }, null, -1 /* HOISTED */));
5335
5370
 
5336
5371
 
5337
- var script$5 = {
5372
+ var script$9 = {
5338
5373
  __name: 'ManagePermissions',
5339
5374
  emits: ['success'],
5340
5375
  setup(__props, { emit }) {
@@ -5438,10 +5473,10 @@ const getPermissionStyle = permission => {
5438
5473
  };
5439
5474
 
5440
5475
  return (_ctx, _cache) => {
5441
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
5442
- vue.createElementVNode("div", _hoisted_2$4, [
5476
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
5477
+ vue.createElementVNode("div", _hoisted_2$5, [
5443
5478
  (loadingModules.value)
5444
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, _hoisted_5$4))
5479
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, _hoisted_5$4))
5445
5480
  : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_6$3, [
5446
5481
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules.value, (module) => {
5447
5482
  return (vue.openBlock(), vue.createElementBlock("li", {
@@ -5492,7 +5527,7 @@ return (_ctx, _cache) => {
5492
5527
  (permissionsChanged.value)
5493
5528
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
5494
5529
  vue.createElementVNode("div", _hoisted_17, [
5495
- vue.createVNode(script$b, {
5530
+ vue.createVNode(script$f, {
5496
5531
  onSuccess: permissionsUpdated,
5497
5532
  url: `sh-departments/department/permissions/${vue.unref(departmentId)}/${selectedModule.value}`,
5498
5533
  data: {permissions: selectedPermissions.value},
@@ -5516,14 +5551,167 @@ return (_ctx, _cache) => {
5516
5551
 
5517
5552
  };
5518
5553
 
5519
- script$5.__scopeId = "data-v-0d4fa0ac";
5520
- script$5.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5554
+ script$9.__scopeId = "data-v-0d4fa0ac";
5555
+ script$9.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5556
+
5557
+ const _hoisted_1$5 = { class: "alert alert-info" };
5558
+ const _hoisted_2$4 = /*#__PURE__*/vue.createElementVNode("span", { class: "spinner-border" }, null, -1 /* HOISTED */);
5559
+ const _hoisted_3$4 = /*#__PURE__*/vue.createElementVNode("span", null, "Loading", -1 /* HOISTED */);
5560
+ const _hoisted_4$4 = [
5561
+ _hoisted_2$4,
5562
+ _hoisted_3$4
5563
+ ];
5564
+
5565
+ function render$1(_ctx, _cache) {
5566
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, _hoisted_4$4))
5567
+ }
5568
+
5569
+ const script$8 = {};
5570
+
5571
+
5572
+ script$8.render = render$1;
5573
+ script$8.__file = "src/lib/components/popups/etc/PopupLoading.vue";
5574
+
5575
+ function render(_ctx, _cache) {
5576
+ return (vue.openBlock(), vue.createElementBlock("h5", null, "Error loading popup"))
5577
+ }
5578
+
5579
+ const script$7 = {};
5580
+
5581
+
5582
+ script$7.render = render;
5583
+ script$7.__file = "src/lib/components/popups/etc/ErrorLoadingPopup.vue";
5584
+
5585
+ var script$6 = {
5586
+ __name: 'Popups',
5587
+ setup(__props) {
5588
+
5589
+ const route = vueRouter.useRoute();
5590
+ const popUp = vue.ref(route.meta.popUp);
5591
+ const modalId = ___default["default"].uniqueId('modal_');
5592
+ const canvasId = ___default["default"].uniqueId('canvas_');
5593
+ let PopupComponent = vue.ref(null);
5594
+ vue.ref(null);
5595
+ const router = vueRouter.useRouter();
5596
+ const position = vue.ref(null);
5597
+ const size = vue.ref(null);
5598
+ const AsyncComp =vue.ref(null);
5599
+ vue.watch(() => route.query.popup, pop => {
5600
+ popUp.value = pop;
5601
+ position.value = route.query.position ?? route.query.side;
5602
+ size.value = route.query.size;
5603
+ if (popUp.value) {
5604
+ loadPopupComponent();
5605
+ setTimeout(() => {
5606
+ initPopup();
5607
+ }, 100);
5608
+ } else {
5609
+ //no pop up, check if we have any unclosed backdrop
5610
+ setTimeout(() => {
5611
+ closeOrphanedBackdrops();
5612
+ }, 100);
5613
+ }
5614
+ });
5615
+ const loadPopupComponent = ()=>{
5616
+ const component = route.query.comp || '';
5617
+ PopupComponent.value = vue.defineAsyncComponent({
5618
+ // the loader function
5619
+ loader: () => (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(`/src/views/popups/${component}Popup.vue`),
5620
+
5621
+ // A component to use while the async component is loading
5622
+ loadingComponent: script$8,
5623
+ // Delay before showing the loading component. Default: 200ms.
5624
+ delay: 200,
5625
+
5626
+ // A component to use if the load fails
5627
+ errorComponent: script$7,
5628
+ // The error component will be displayed if a timeout is
5629
+ // provided and exceeded. Default: Infinity.
5630
+ timeout: 3000
5631
+ });
5632
+ };
5633
+ const closeOrphanedBackdrops = () => {
5634
+ const offCanvasBackdrop = document.querySelector('.offcanvas-backdrop');
5635
+ if (offCanvasBackdrop) {
5636
+ if (!document.querySelector('.offcanvas.show')) {
5637
+ offCanvasBackdrop.remove();
5638
+ }
5639
+ }
5640
+ const modalBackdrop = document.querySelector('.modal-backdrop');
5641
+ if (modalBackdrop) {
5642
+ if (!document.querySelector('.modal.show')) {
5643
+ modalBackdrop.remove();
5644
+ }
5645
+ }
5646
+ };
5647
+ const initPopup = () => {
5648
+ if (popUp.value === 'modal') {
5649
+ // modalButton.value.click()
5650
+ const modal = document.getElementById(modalId);
5651
+ const bsModal = new bootstrap.Modal(modal, {});
5652
+ bsModal.show();
5653
+ modal.addEventListener('hidden.bs.modal', event => {
5654
+ event.target.id === modalId && goBack();
5655
+ });
5656
+ } else if (['offcanvas', 'canvas', 'offCanvas'].includes(popUp.value)) {
5657
+ const offCanvas = document.getElementById(canvasId);
5658
+ const bsOffCanvas = new bootstrap.Offcanvas(offCanvas, {});
5659
+ bsOffCanvas.show();
5660
+ offCanvas.addEventListener('hidden.bs.offcanvas', event => {
5661
+ event.target.id === canvasId && goBack();
5662
+ });
5663
+ }
5664
+ };
5665
+ const goBack = () => {
5666
+ if (route.matched.length) {
5667
+ let backUrl = route.path;
5668
+ // const params = route.params
5669
+ // Object.keys(params).map(key => backUrl = backUrl.replace(`:${key}`,params[key]))
5670
+ router.push(backUrl);
5671
+ }
5672
+ };
5673
+
5674
+ return (_ctx, _cache) => {
5675
+ return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5676
+ (popUp.value === 'modal')
5677
+ ? (vue.openBlock(), vue.createBlock(script$l, {
5678
+ key: 0,
5679
+ "modal-id": vue.unref(modalId),
5680
+ "modal-size": size.value
5681
+ }, {
5682
+ default: vue.withCtx(() => [
5683
+ vue.createVNode(vue.unref(PopupComponent))
5684
+ ]),
5685
+ _: 1 /* STABLE */
5686
+ }, 8 /* PROPS */, ["modal-id", "modal-size"]))
5687
+ : vue.createCommentVNode("v-if", true),
5688
+ (['offcanvas','canvas','offCanvas'].includes(popUp.value))
5689
+ ? (vue.openBlock(), vue.createBlock(script$i, {
5690
+ key: 1,
5691
+ "canvas-id": vue.unref(canvasId),
5692
+ "canvas-size": size.value,
5693
+ position: position.value
5694
+ }, {
5695
+ default: vue.withCtx(() => [
5696
+ vue.createVNode(vue.unref(PopupComponent)),
5697
+ vue.createVNode(vue.unref(AsyncComp))
5698
+ ]),
5699
+ _: 1 /* STABLE */
5700
+ }, 8 /* PROPS */, ["canvas-id", "canvas-size", "position"]))
5701
+ : vue.createCommentVNode("v-if", true)
5702
+ ], 64 /* STABLE_FRAGMENT */))
5703
+ }
5704
+ }
5705
+
5706
+ };
5707
+
5708
+ script$6.__file = "src/lib/components/popups/Popups.vue";
5521
5709
 
5522
5710
  const _hoisted_1$4 = ["href"];
5523
5711
 
5524
5712
 
5525
- var script$4 = {
5526
- __name: 'ShPopups',
5713
+ var script$5 = {
5714
+ __name: 'RoutePopups',
5527
5715
  setup(__props) {
5528
5716
 
5529
5717
  const route = vueRouter.useRoute();
@@ -5535,13 +5723,11 @@ vue.ref(null);
5535
5723
  const router = vueRouter.useRouter();
5536
5724
  const position = vue.ref(null);
5537
5725
  const size = vue.ref(null);
5538
- const popups = [];
5539
- const popupPaths = [];
5540
5726
  vue.watch(() => route.meta, meta => {
5541
5727
  popUp.value = meta.popUp ?? meta.popup;
5542
5728
  if (popUp.value) {
5543
5729
  // popups.push(meta)
5544
- !popupPaths.includes(route.path) && popupPaths.push(route.path) && popups.push(meta);
5730
+ // !popupPaths.includes(route.path) && popupPaths.push(route.path) && popups.push(meta)
5545
5731
  position.value = meta.position ?? meta.side;
5546
5732
  size.value = meta.size;
5547
5733
  componentView.value = vue.markRaw(route.matched[route.matched.length - 1].components.default);
@@ -5605,7 +5791,7 @@ return (_ctx, _cache) => {
5605
5791
  class: "d-none"
5606
5792
  }, "Open Modal", 8 /* PROPS */, _hoisted_1$4),
5607
5793
  (popUp.value === 'modal')
5608
- ? (vue.openBlock(), vue.createBlock(script$h, {
5794
+ ? (vue.openBlock(), vue.createBlock(script$l, {
5609
5795
  key: 0,
5610
5796
  "modal-id": vue.unref(modalId),
5611
5797
  "modal-size": size.value
@@ -5617,7 +5803,7 @@ return (_ctx, _cache) => {
5617
5803
  }, 8 /* PROPS */, ["modal-id", "modal-size"]))
5618
5804
  : vue.createCommentVNode("v-if", true),
5619
5805
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
5620
- ? (vue.openBlock(), vue.createBlock(script$e, {
5806
+ ? (vue.openBlock(), vue.createBlock(script$i, {
5621
5807
  key: 1,
5622
5808
  "canvas-id": vue.unref(canvasId),
5623
5809
  "canvas-size": size.value,
@@ -5635,6 +5821,23 @@ return (_ctx, _cache) => {
5635
5821
 
5636
5822
  };
5637
5823
 
5824
+ script$5.__file = "src/lib/components/popups/RoutePopups.vue";
5825
+
5826
+ var script$4 = {
5827
+ __name: 'ShPopups',
5828
+ setup(__props) {
5829
+
5830
+
5831
+ return (_ctx, _cache) => {
5832
+ return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5833
+ vue.createVNode(script$6),
5834
+ vue.createVNode(script$5)
5835
+ ], 64 /* STABLE_FRAGMENT */))
5836
+ }
5837
+ }
5838
+
5839
+ };
5840
+
5638
5841
  script$4.__file = "src/lib/components/ShPopups.vue";
5639
5842
 
5640
5843
  const _hoisted_1$3 = { class: "sh-range" };
@@ -5851,7 +6054,7 @@ return (_ctx, _cache) => {
5851
6054
  _hoisted_5$2,
5852
6055
  vue.createTextVNode(" ADD DEPARTMENT")
5853
6056
  ], 512 /* NEED_PATCH */),
5854
- vue.createVNode(script$a, {
6057
+ vue.createVNode(script$e, {
5855
6058
  headers: ['id','name','description', 'created_at'],
5856
6059
  "end-point": "sh-departments/list",
5857
6060
  actions: {
@@ -5865,12 +6068,12 @@ return (_ctx, _cache) => {
5865
6068
  ]
5866
6069
  }
5867
6070
  }),
5868
- vue.createVNode(script$h, {
6071
+ vue.createVNode(script$l, {
5869
6072
  "modal-id": "sh-department_modal",
5870
6073
  "modal-title": "Department Form"
5871
6074
  }, {
5872
6075
  default: vue.withCtx(() => [
5873
- vue.createVNode(script$q, {
6076
+ vue.createVNode(script$u, {
5874
6077
  "success-callback": "departmentAdded",
5875
6078
  onDepartmentAdded: departmentAdded,
5876
6079
  action: "admin/departments/store",
@@ -6004,7 +6207,7 @@ return (_ctx, _cache) => {
6004
6207
  vue.createElementVNode("div", _hoisted_2$1, [
6005
6208
  _hoisted_3$1,
6006
6209
  vue.createElementVNode("h5", null, "Department #" + vue.toDisplayString(vue.unref(department).id) + " - " + vue.toDisplayString(vue.unref(department).name) + " Allowed Modules", 1 /* TEXT */),
6007
- vue.createVNode(script$a, {
6210
+ vue.createVNode(script$e, {
6008
6211
  actions: {
6009
6212
  label: 'Actions',
6010
6213
  actions: [
@@ -6024,12 +6227,12 @@ return (_ctx, _cache) => {
6024
6227
  headers: ['id',showModule,'created_at'],
6025
6228
  "end-point": 'admin/departments/department/list-modules/' + id.value
6026
6229
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
6027
- vue.createVNode(script$h, {
6230
+ vue.createVNode(script$l, {
6028
6231
  "modal-id": "addModule",
6029
6232
  "modal-title": "Add Module Department"
6030
6233
  }, {
6031
6234
  default: vue.withCtx(() => [
6032
- vue.createVNode(script$q, {
6235
+ vue.createVNode(script$u, {
6033
6236
  "reload-select-items": vue.unref(reload),
6034
6237
  "success-callback": moduleAdded,
6035
6238
  "fill-selects": {
@@ -6051,7 +6254,7 @@ return (_ctx, _cache) => {
6051
6254
  ref: permissionCanvasBtn,
6052
6255
  "data-bs-toggle": "offcanvas"
6053
6256
  }, null, 512 /* NEED_PATCH */),
6054
- vue.createVNode(script$e, {
6257
+ vue.createVNode(script$i, {
6055
6258
  "canvas-id": "permissionsCanvas",
6056
6259
  position: "end enlarged",
6057
6260
  "canvas-title": "Module Permissions"
@@ -6166,7 +6369,7 @@ return (_ctx, _cache) => {
6166
6369
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6167
6370
  (section.value === 'login')
6168
6371
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
6169
- vue.createVNode(script$q, {
6372
+ vue.createVNode(script$u, {
6170
6373
  class: "sh-login-form",
6171
6374
  fields: ['email','password'],
6172
6375
  "action-label": "Login",
@@ -6191,7 +6394,7 @@ return (_ctx, _cache) => {
6191
6394
  (vue.unref(registerSubTitle))
6192
6395
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
6193
6396
  : vue.createCommentVNode("v-if", true),
6194
- vue.createVNode(script$q, {
6397
+ vue.createVNode(script$u, {
6195
6398
  class: "sh-login-form",
6196
6399
  fields: vue.unref(registrationFields),
6197
6400
  "action-label": "Sign Up",
@@ -6238,7 +6441,7 @@ const ShFrontend = {
6238
6441
  const registerTitle = options.registerTitle ?? 'Create a new account';
6239
6442
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
6240
6443
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
6241
- options.formTextInput ?? script$n;
6444
+ options.formTextInput ?? script$r;
6242
6445
  const loginUrl = options.loginUrl ?? `/login`;
6243
6446
  const redirectLogin = options.redirectLogin ?? `/`;
6244
6447
  const redirectRegister = options.redirectRegister ?? `/`;
@@ -6271,7 +6474,7 @@ const ShFrontend = {
6271
6474
  });
6272
6475
  options.router.addRoute({
6273
6476
  path: '/sh-departments/manage-permissions/:id',
6274
- component: script$5
6477
+ component: script$9
6275
6478
  });
6276
6479
  }
6277
6480
  //filter unwanted config items from options to be put in local storage
@@ -6284,25 +6487,25 @@ const ShFrontend = {
6284
6487
  };
6285
6488
 
6286
6489
  exports.Countries = countries;
6287
- exports.ManagePermissions = script$5;
6288
- exports.ShAutoForm = script$j;
6289
- exports.ShCanvas = script$e;
6290
- exports.ShCanvasBtn = script$6;
6291
- exports.ShConfirmAction = script$c;
6292
- exports.ShDropDownForm = script$i;
6293
- exports.ShDynamicTabs = script$8;
6294
- exports.ShForm = script$q;
6490
+ exports.ManagePermissions = script$9;
6491
+ exports.ShAutoForm = script$n;
6492
+ exports.ShCanvas = script$i;
6493
+ exports.ShCanvasBtn = script$a;
6494
+ exports.ShConfirmAction = script$g;
6495
+ exports.ShDropDownForm = script$m;
6496
+ exports.ShDynamicTabs = script$c;
6497
+ exports.ShForm = script$u;
6295
6498
  exports.ShFrontend = ShFrontend;
6296
- exports.ShModal = script$h;
6297
- exports.ShModalBtn = script$7;
6298
- exports.ShModalForm = script$g;
6299
- exports.ShModalFormAuto = script$f;
6300
- exports.ShPhone = script$s;
6499
+ exports.ShModal = script$l;
6500
+ exports.ShModalBtn = script$b;
6501
+ exports.ShModalForm = script$k;
6502
+ exports.ShModalFormAuto = script$j;
6503
+ exports.ShPhone = script$w;
6301
6504
  exports.ShPopups = script$4;
6302
6505
  exports.ShRange = script$3;
6303
- exports.ShSilentAction = script$b;
6304
- exports.ShTable = script$a;
6305
- exports.ShTabs = script$9;
6506
+ exports.ShSilentAction = script$f;
6507
+ exports.ShTable = script$e;
6508
+ exports.ShTabs = script$d;
6306
6509
  exports.shApis = shApis;
6307
6510
  exports.shRepo = shRepo;
6308
6511
  exports.shStorage = ShStorage;