@iankibetsh/shframework 1.4.2 → 1.4.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
@@ -1874,7 +1874,7 @@ const countries = [
1874
1874
  }
1875
1875
  ];
1876
1876
 
1877
- var script$n = {
1877
+ var script$o = {
1878
1878
  name: 'PhoneInput',
1879
1879
  props: ['modelValue', 'country_code'],
1880
1880
  data () {
@@ -1936,19 +1936,19 @@ var script$n = {
1936
1936
  }
1937
1937
  };
1938
1938
 
1939
- const _hoisted_1$i = { class: "sh-phone mb-3" };
1940
- const _hoisted_2$c = {
1939
+ const _hoisted_1$j = { class: "sh-phone mb-3" };
1940
+ const _hoisted_2$d = {
1941
1941
  key: 0,
1942
1942
  style: {"display":"contents"}
1943
1943
  };
1944
- const _hoisted_3$b = ["src"];
1945
- const _hoisted_4$b = ["value"];
1944
+ const _hoisted_3$c = ["src"];
1945
+ const _hoisted_4$c = ["value"];
1946
1946
 
1947
1947
  function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1948
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
1948
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
1949
1949
  ($data.selectedCountry)
1950
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$c, [
1951
- vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$b),
1950
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$d, [
1951
+ vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$c),
1952
1952
  vue.createTextVNode(" " + vue.toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
1953
1953
  ]))
1954
1954
  : vue.createCommentVNode("v-if", true),
@@ -1961,7 +1961,7 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1961
1961
  return (vue.openBlock(), vue.createElementBlock("option", {
1962
1962
  value: country,
1963
1963
  key: country.dialCode
1964
- }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$b))
1964
+ }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$c))
1965
1965
  }), 128 /* KEYED_FRAGMENT */))
1966
1966
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
1967
1967
  [vue.vModelSelect, $data.selectedCountry]
@@ -1979,10 +1979,10 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1979
1979
  ]))
1980
1980
  }
1981
1981
 
1982
- script$n.render = render$7;
1983
- script$n.__file = "src/lib/components/form-components/PhoneInput.vue";
1982
+ script$o.render = render$7;
1983
+ script$o.__file = "src/lib/components/form-components/PhoneInput.vue";
1984
1984
 
1985
- var script$m = {
1985
+ var script$n = {
1986
1986
  name: 'ShEditor',
1987
1987
  props: ['modelValue'],
1988
1988
  components: {
@@ -2021,7 +2021,7 @@ var script$m = {
2021
2021
  }
2022
2022
  };
2023
2023
 
2024
- const _hoisted_1$h = /*#__PURE__*/vue.createElementVNode("textarea", {
2024
+ const _hoisted_1$i = /*#__PURE__*/vue.createElementVNode("textarea", {
2025
2025
  id: "tiny",
2026
2026
  style: {"display":"none"},
2027
2027
  "data-cy": "tinymce_editor"
@@ -2031,7 +2031,7 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2031
2031
  const _component_editor = vue.resolveComponent("editor");
2032
2032
 
2033
2033
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2034
- _hoisted_1$h,
2034
+ _hoisted_1$i,
2035
2035
  vue.createElementVNode("div", {
2036
2036
  onFocusin: _cache[1] || (_cache[1] = vue.withModifiers(() => {}, ["stop"])),
2037
2037
  class: "sh-editor w-100"
@@ -2056,31 +2056,31 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2056
2056
  ], 64 /* STABLE_FRAGMENT */))
2057
2057
  }
2058
2058
 
2059
- script$m.render = render$6;
2060
- script$m.__file = "src/lib/components/form-components/ShEditor.vue";
2059
+ script$n.render = render$6;
2060
+ script$n.__file = "src/lib/components/form-components/ShEditor.vue";
2061
2061
 
2062
- const _hoisted_1$g = {
2062
+ const _hoisted_1$h = {
2063
2063
  key: 0,
2064
2064
  class: "dropdown sh-suggest"
2065
2065
  };
2066
- const _hoisted_2$b = ["id"];
2067
- const _hoisted_3$a = { class: "badge bg-secondary m-1 sh-selected-item" };
2068
- const _hoisted_4$a = ["onClick"];
2069
- const _hoisted_5$8 = ["id"];
2070
- const _hoisted_6$7 = ["id", "aria-labelledby"];
2071
- const _hoisted_7$5 = { key: 0 };
2072
- const _hoisted_8$3 = ["onClick"];
2073
- const _hoisted_9$4 = {
2066
+ const _hoisted_2$c = ["id"];
2067
+ const _hoisted_3$b = { class: "badge bg-secondary m-1 sh-selected-item" };
2068
+ const _hoisted_4$b = ["onClick"];
2069
+ const _hoisted_5$9 = ["id"];
2070
+ const _hoisted_6$8 = ["id", "aria-labelledby"];
2071
+ const _hoisted_7$6 = { key: 0 };
2072
+ const _hoisted_8$4 = ["onClick"];
2073
+ const _hoisted_9$5 = {
2074
2074
  key: 1,
2075
2075
  class: "dropdown-item sh-suggest-no-results"
2076
2076
  };
2077
- const _hoisted_10$3 = {
2077
+ const _hoisted_10$4 = {
2078
2078
  key: 2,
2079
2079
  class: "dropdown-item sh-suggest-no-input"
2080
2080
  };
2081
2081
 
2082
2082
 
2083
- var script$l = {
2083
+ var script$m = {
2084
2084
  __name: 'ShSuggest',
2085
2085
  props: ['fillSelects','modelValue'],
2086
2086
  emits: ['update:modelValue'],
@@ -2161,7 +2161,7 @@ function filterData(e){
2161
2161
 
2162
2162
  return (_ctx, _cache) => {
2163
2163
  return (vue.unref(id))
2164
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
2164
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
2165
2165
  vue.createElementVNode("div", {
2166
2166
  id: vue.unref(id),
2167
2167
  "data-bs-toggle": "dropdown",
@@ -2170,14 +2170,14 @@ return (_ctx, _cache) => {
2170
2170
  }, [
2171
2171
  vue.createElementVNode("div", null, [
2172
2172
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectedSuggestions), (sgt) => {
2173
- return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$a, [
2173
+ return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$b, [
2174
2174
  vue.createTextVNode(vue.toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2175
2175
  vue.createElementVNode("button", {
2176
2176
  onClick: $event => (removeSuggestion(sgt.id)),
2177
2177
  type: "button",
2178
2178
  class: "btn-close border-start border-1 ms-1",
2179
2179
  "aria-label": "Close"
2180
- }, null, 8 /* PROPS */, _hoisted_4$a)
2180
+ }, null, 8 /* PROPS */, _hoisted_4$b)
2181
2181
  ]))
2182
2182
  }), 256 /* UNKEYED_FRAGMENT */))
2183
2183
  ]),
@@ -2187,8 +2187,8 @@ return (_ctx, _cache) => {
2187
2187
  onClick: filterData,
2188
2188
  onInput: filterData,
2189
2189
  class: "flex-fill h-100 sh-suggestion-input"
2190
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$8)
2191
- ], 8 /* PROPS */, _hoisted_2$b),
2190
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$9)
2191
+ ], 8 /* PROPS */, _hoisted_2$c),
2192
2192
  vue.createElementVNode("ul", {
2193
2193
  class: "dropdown-menu w-100",
2194
2194
  id: 'dropwdown_section' + vue.unref(id),
@@ -2200,20 +2200,20 @@ return (_ctx, _cache) => {
2200
2200
  key: suggestion.id
2201
2201
  }, [
2202
2202
  (suggestion.name)
2203
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_7$5, [
2203
+ ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_7$6, [
2204
2204
  vue.createElementVNode("a", {
2205
2205
  onClick: $event => (addSuggestion(suggestion)),
2206
2206
  class: vue.normalizeClass(["dropdown-item", vue.unref(selectedSuggestions).includes(suggestion) ? 'active':'']),
2207
2207
  href: "#"
2208
- }, vue.toDisplayString(suggestion.name ?? suggestion.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_8$3)
2208
+ }, vue.toDisplayString(suggestion.name ?? suggestion.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_8$4)
2209
2209
  ]))
2210
2210
  : vue.createCommentVNode("v-if", true)
2211
2211
  ], 64 /* STABLE_FRAGMENT */))
2212
2212
  }), 128 /* KEYED_FRAGMENT */))
2213
2213
  : (vue.unref(searchText))
2214
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$4, " No results found "))
2215
- : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$3, " Type to search... "))
2216
- ], 8 /* PROPS */, _hoisted_6$7)
2214
+ ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$5, " No results found "))
2215
+ : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$4, " Type to search... "))
2216
+ ], 8 /* PROPS */, _hoisted_6$8)
2217
2217
  ]))
2218
2218
  : vue.createCommentVNode("v-if", true)
2219
2219
  }
@@ -2221,16 +2221,16 @@ return (_ctx, _cache) => {
2221
2221
 
2222
2222
  };
2223
2223
 
2224
- script$l.__scopeId = "data-v-71cc9569";
2225
- script$l.__file = "src/lib/components/form-components/ShSuggest.vue";
2224
+ script$m.__scopeId = "data-v-71cc9569";
2225
+ script$m.__file = "src/lib/components/form-components/ShSuggest.vue";
2226
2226
 
2227
- var script$k = {
2227
+ var script$l = {
2228
2228
  name: 'ShForm',
2229
2229
  components: {
2230
- PhoneInput: script$n,
2231
- ShSuggest: script$l,
2232
- ShEditor: script$m,
2233
- ShPhone: script$n
2230
+ PhoneInput: script$o,
2231
+ ShSuggest: script$m,
2232
+ ShEditor: script$n,
2233
+ ShPhone: script$o
2234
2234
  },
2235
2235
  props: [
2236
2236
  'action',
@@ -2548,23 +2548,23 @@ var script$k = {
2548
2548
  }
2549
2549
  };
2550
2550
 
2551
- const _hoisted_1$f = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2552
- const _hoisted_2$a = {
2551
+ const _hoisted_1$g = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2552
+ const _hoisted_2$b = {
2553
2553
  ref: "ShAutoForm",
2554
2554
  class: "sh-form"
2555
2555
  };
2556
- const _hoisted_3$9 = {
2556
+ const _hoisted_3$a = {
2557
2557
  key: 0,
2558
2558
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2559
2559
  role: "alert"
2560
2560
  };
2561
- const _hoisted_4$9 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2562
- const _hoisted_5$7 = { key: 0 };
2563
- const _hoisted_6$6 = { key: 1 };
2564
- const _hoisted_7$4 = { class: "row" };
2565
- const _hoisted_8$2 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2566
- const _hoisted_9$3 = { class: "col-md-12" };
2567
- const _hoisted_10$2 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2561
+ const _hoisted_4$a = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2562
+ const _hoisted_5$8 = { key: 0 };
2563
+ const _hoisted_6$7 = { key: 1 };
2564
+ const _hoisted_7$5 = { class: "row" };
2565
+ const _hoisted_8$3 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2566
+ const _hoisted_9$4 = { class: "col-md-12" };
2567
+ const _hoisted_10$3 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2568
2568
  const _hoisted_11$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2569
2569
  const _hoisted_12$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2570
2570
  const _hoisted_13$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
@@ -2610,16 +2610,16 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2610
2610
  const _component_ShEditor = vue.resolveComponent("ShEditor");
2611
2611
 
2612
2612
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2613
- _hoisted_1$f,
2614
- vue.createElementVNode("form", _hoisted_2$a, [
2613
+ _hoisted_1$g,
2614
+ vue.createElementVNode("form", _hoisted_2$b, [
2615
2615
  vue.createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2616
2616
  vue.createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2617
2617
  (_ctx.form_status == 3)
2618
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, [
2619
- _hoisted_4$9,
2618
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, [
2619
+ _hoisted_4$a,
2620
2620
  (_ctx.errorText)
2621
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$7, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2622
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, "Unexpected Error Occurred")),
2621
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$8, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2622
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, "Unexpected Error Occurred")),
2623
2623
  vue.createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2624
2624
  ]))
2625
2625
  : vue.createCommentVNode("v-if", true),
@@ -2629,14 +2629,14 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2629
2629
  }, null, 512 /* NEED_PATCH */), [
2630
2630
  [vue.vModelText, _ctx.form_elements['id']]
2631
2631
  ]),
2632
- vue.createElementVNode("div", _hoisted_7$4, [
2632
+ vue.createElementVNode("div", _hoisted_7$5, [
2633
2633
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.fields, (field) => {
2634
2634
  return (vue.openBlock(), vue.createElementBlock("div", {
2635
2635
  class: vue.normalizeClass(["form-group", 'col-md-' + $options.getColumns()]),
2636
2636
  key: field
2637
2637
  }, [
2638
- vue.createElementVNode("label", _hoisted_8$2, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2639
- vue.createElementVNode("div", _hoisted_9$3, [
2638
+ vue.createElementVNode("label", _hoisted_8$3, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2639
+ vue.createElementVNode("div", _hoisted_9$4, [
2640
2640
  ($options.getFieldType(field) === 'component')
2641
2641
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.customComponent[field]), {
2642
2642
  key: 0,
@@ -2661,7 +2661,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2661
2661
  ref: 'file_'+field,
2662
2662
  onChange: $event => ($options.handleFileUpload(field)),
2663
2663
  type: "file"
2664
- }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_10$2))
2664
+ }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_10$3))
2665
2665
  : vue.createCommentVNode("v-if", true),
2666
2666
  ($options.getFieldType(field) === 'numeric')
2667
2667
  ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
@@ -2827,10 +2827,10 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2827
2827
  ], 64 /* STABLE_FRAGMENT */))
2828
2828
  }
2829
2829
 
2830
- script$k.render = render$5;
2831
- script$k.__file = "src/lib/components/ShForm.vue";
2830
+ script$l.render = render$5;
2831
+ script$l.__file = "src/lib/components/ShForm.vue";
2832
2832
 
2833
- var script$j = {
2833
+ var script$k = {
2834
2834
  __name: 'EmailInput',
2835
2835
  props: ['modelValue','label'],
2836
2836
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2866,12 +2866,12 @@ return (_ctx, _cache) => {
2866
2866
 
2867
2867
  };
2868
2868
 
2869
- script$j.__file = "src/lib/components/form-components/EmailInput.vue";
2869
+ script$k.__file = "src/lib/components/form-components/EmailInput.vue";
2870
2870
 
2871
- const _hoisted_1$e = ["min", "max"];
2871
+ const _hoisted_1$f = ["min", "max"];
2872
2872
 
2873
2873
 
2874
- var script$i = {
2874
+ var script$j = {
2875
2875
  __name: 'NumberInput',
2876
2876
  props: ['modelValue','label','min','max'],
2877
2877
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2901,7 +2901,7 @@ return (_ctx, _cache) => {
2901
2901
  onChange: modelValueUpdated,
2902
2902
  onKeydown: modelValueUpdated,
2903
2903
  onUpdated: modelValueUpdated
2904
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$e)), [
2904
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$f)), [
2905
2905
  [vue.vModelText, inputModel.value]
2906
2906
  ])
2907
2907
  }
@@ -2909,9 +2909,9 @@ return (_ctx, _cache) => {
2909
2909
 
2910
2910
  };
2911
2911
 
2912
- script$i.__file = "src/lib/components/form-components/NumberInput.vue";
2912
+ script$j.__file = "src/lib/components/form-components/NumberInput.vue";
2913
2913
 
2914
- var script$h = {
2914
+ var script$i = {
2915
2915
  __name: 'TextInput',
2916
2916
  props: ['modelValue','label'],
2917
2917
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2947,9 +2947,9 @@ return (_ctx, _cache) => {
2947
2947
 
2948
2948
  };
2949
2949
 
2950
- script$h.__file = "src/lib/components/form-components/TextInput.vue";
2950
+ script$i.__file = "src/lib/components/form-components/TextInput.vue";
2951
2951
 
2952
- var script$g = {
2952
+ var script$h = {
2953
2953
  __name: 'TextAreaInput',
2954
2954
  props: ['modelValue','label'],
2955
2955
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2985,12 +2985,12 @@ return (_ctx, _cache) => {
2985
2985
 
2986
2986
  };
2987
2987
 
2988
- script$g.__file = "src/lib/components/form-components/TextAreaInput.vue";
2988
+ script$h.__file = "src/lib/components/form-components/TextAreaInput.vue";
2989
2989
 
2990
- const _hoisted_1$d = ["value"];
2990
+ const _hoisted_1$e = ["value"];
2991
2991
 
2992
2992
 
2993
- var script$f = {
2993
+ var script$g = {
2994
2994
  __name: 'SelectInput',
2995
2995
  props: ['modelValue','label','data','dataUrl'],
2996
2996
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3041,7 +3041,7 @@ return (_ctx, _cache) => {
3041
3041
  return (vue.openBlock(), vue.createElementBlock("option", {
3042
3042
  key: option.id,
3043
3043
  value: option.id
3044
- }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$d))
3044
+ }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$e))
3045
3045
  }), 128 /* KEYED_FRAGMENT */))
3046
3046
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)), [
3047
3047
  [vue.vModelSelect, inputModel.value]
@@ -3051,9 +3051,9 @@ return (_ctx, _cache) => {
3051
3051
 
3052
3052
  };
3053
3053
 
3054
- script$f.__file = "src/lib/components/form-components/SelectInput.vue";
3054
+ script$g.__file = "src/lib/components/form-components/SelectInput.vue";
3055
3055
 
3056
- var script$e = {
3056
+ var script$f = {
3057
3057
  __name: 'PasswordInput',
3058
3058
  props: ['modelValue','label'],
3059
3059
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3089,23 +3089,23 @@ return (_ctx, _cache) => {
3089
3089
 
3090
3090
  };
3091
3091
 
3092
- script$e.__file = "src/lib/components/form-components/PasswordInput.vue";
3092
+ script$f.__file = "src/lib/components/form-components/PasswordInput.vue";
3093
3093
 
3094
- const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3095
- const _hoisted_2$9 = ["innerHTML"];
3096
- const _hoisted_3$8 = ["innerHTML"];
3097
- const _hoisted_4$8 = ["innerHTML"];
3098
- const _hoisted_5$6 = ["disabled"];
3099
- const _hoisted_6$5 = {
3094
+ const _hoisted_1$d = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3095
+ const _hoisted_2$a = ["innerHTML"];
3096
+ const _hoisted_3$9 = ["innerHTML"];
3097
+ const _hoisted_4$9 = ["innerHTML"];
3098
+ const _hoisted_5$7 = ["disabled"];
3099
+ const _hoisted_6$6 = {
3100
3100
  key: 0,
3101
3101
  class: "spinner-border spinner-border-sm",
3102
3102
  role: "status",
3103
3103
  "aria-hidden": "true"
3104
3104
  };
3105
- const _hoisted_7$3 = { key: 1 };
3105
+ const _hoisted_7$4 = { key: 1 };
3106
3106
 
3107
3107
 
3108
- var script$d = {
3108
+ var script$e = {
3109
3109
  __name: 'ShAutoForm',
3110
3110
  props: [
3111
3111
  'action','successCallback','retainDataAfterSubmission',
@@ -3133,13 +3133,13 @@ const getFieldComponent = (fieldObj)=>{
3133
3133
  const defaultPhones = ['phone'];
3134
3134
  const defaultEmails = ['email'];
3135
3135
  const formComponents = vue.inject('formComponents');
3136
- const TextComponent = formComponents.text ?? script$h;
3137
- const TextAreaComponent = formComponents.textArea ?? script$g;
3138
- const EmailComponent = formComponents.email ?? script$j;
3139
- const PhoneComponent = formComponents.phone ?? script$n;
3140
- const NumberComponent = formComponents.number ?? script$i;
3141
- const SelectComponent = formComponents.select ?? script$f;
3142
- const PasswordComponent = formComponents.password ?? script$e;
3136
+ const TextComponent = formComponents.text ?? script$i;
3137
+ const TextAreaComponent = formComponents.textArea ?? script$h;
3138
+ const EmailComponent = formComponents.email ?? script$k;
3139
+ const PhoneComponent = formComponents.phone ?? script$o;
3140
+ const NumberComponent = formComponents.number ?? script$j;
3141
+ const SelectComponent = formComponents.select ?? script$g;
3142
+ const PasswordComponent = formComponents.password ?? script$f;
3143
3143
  if(props.customComponents && props.customComponents[field]) {
3144
3144
  return props.customComponents[field]
3145
3145
  }
@@ -3151,16 +3151,16 @@ const getFieldComponent = (fieldObj)=>{
3151
3151
  }
3152
3152
  else
3153
3153
  if((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)){
3154
- return formComponents.textArea ?? script$g
3154
+ return formComponents.textArea ?? script$h
3155
3155
  } else
3156
3156
  if((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)){
3157
- return formComponents.email ?? script$j
3157
+ return formComponents.email ?? script$k
3158
3158
  } else
3159
3159
  if((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)){
3160
- return formComponents.phone ?? script$n
3160
+ return formComponents.phone ?? script$o
3161
3161
  } else
3162
3162
  if((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)){
3163
- return formComponents.number ?? script$i
3163
+ return formComponents.number ?? script$j
3164
3164
  }
3165
3165
  // else
3166
3166
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
@@ -3169,7 +3169,7 @@ const getFieldComponent = (fieldObj)=>{
3169
3169
  // if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3170
3170
  // return formComponents.date ?? DateInput
3171
3171
  // }
3172
- return formComponents.text ?? script$h
3172
+ return formComponents.text ?? script$i
3173
3173
  };
3174
3174
  const shFormElementClasses = vue.ref(null);
3175
3175
  shFormElementClasses.value = vue.inject('shFormElementClasses');
@@ -3253,7 +3253,7 @@ vue.onMounted((ev)=>{
3253
3253
 
3254
3254
  return (_ctx, _cache) => {
3255
3255
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3256
- _hoisted_1$c,
3256
+ _hoisted_1$d,
3257
3257
  vue.createElementVNode("form", {
3258
3258
  ref_key: "shAutoForm",
3259
3259
  ref: shAutoForm,
@@ -3270,7 +3270,7 @@ return (_ctx, _cache) => {
3270
3270
  key: 0,
3271
3271
  class: vue.normalizeClass(getElementClass('formLabel')),
3272
3272
  innerHTML: field.label
3273
- }, null, 10 /* CLASS, PROPS */, _hoisted_2$9))
3273
+ }, null, 10 /* CLASS, PROPS */, _hoisted_2$a))
3274
3274
  : vue.createCommentVNode("v-if", true),
3275
3275
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFieldComponent(field)), vue.mergeProps(getComponentProps(field), {
3276
3276
  onClick: $event => (removeValidationError(field.field)),
@@ -3284,14 +3284,14 @@ return (_ctx, _cache) => {
3284
3284
  key: 1,
3285
3285
  class: vue.normalizeClass(getElementClass('formLabel')),
3286
3286
  innerHTML: field.label
3287
- }, null, 10 /* CLASS, PROPS */, _hoisted_3$8))
3287
+ }, null, 10 /* CLASS, PROPS */, _hoisted_3$9))
3288
3288
  : vue.createCommentVNode("v-if", true),
3289
3289
  (field.helper)
3290
3290
  ? (vue.openBlock(), vue.createElementBlock("div", {
3291
3291
  key: 2,
3292
3292
  class: vue.normalizeClass(getElementClass('helperText')),
3293
3293
  innerHTML: field.helper
3294
- }, null, 10 /* CLASS, PROPS */, _hoisted_4$8))
3294
+ }, null, 10 /* CLASS, PROPS */, _hoisted_4$9))
3295
3295
  : vue.createCommentVNode("v-if", true),
3296
3296
  (validationErrors.value[field.field])
3297
3297
  ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -3312,12 +3312,12 @@ return (_ctx, _cache) => {
3312
3312
  class: vue.normalizeClass(getElementClass('actionBtn'))
3313
3313
  }, [
3314
3314
  (loading.value)
3315
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$5))
3315
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6))
3316
3316
  : vue.createCommentVNode("v-if", true),
3317
3317
  (!loading.value)
3318
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$3, "Submit"))
3318
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$4, "Submit"))
3319
3319
  : vue.createCommentVNode("v-if", true)
3320
- ], 14 /* CLASS, STYLE, PROPS */, _hoisted_5$6)
3320
+ ], 14 /* CLASS, STYLE, PROPS */, _hoisted_5$7)
3321
3321
  ], 2 /* CLASS */)
3322
3322
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)
3323
3323
  ], 64 /* STABLE_FRAGMENT */))
@@ -3326,12 +3326,12 @@ return (_ctx, _cache) => {
3326
3326
 
3327
3327
  };
3328
3328
 
3329
- script$d.__file = "src/lib/components/ShAutoForm.vue";
3329
+ script$e.__file = "src/lib/components/ShAutoForm.vue";
3330
3330
 
3331
- const _hoisted_1$b = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3332
- const _hoisted_2$8 = { class: "dropdown" };
3331
+ const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3332
+ const _hoisted_2$9 = { class: "dropdown" };
3333
3333
 
3334
- var script$c = {
3334
+ var script$d = {
3335
3335
  __name: 'ShDropDownForm',
3336
3336
  props: ['action',
3337
3337
  'classes',
@@ -3361,8 +3361,8 @@ const dropdownId = 'rand' + (Math.random() + 1).toString(36).substring(2);
3361
3361
 
3362
3362
  return (_ctx, _cache) => {
3363
3363
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3364
- _hoisted_1$b,
3365
- vue.createElementVNode("div", _hoisted_2$8, [
3364
+ _hoisted_1$c,
3365
+ vue.createElementVNode("div", _hoisted_2$9, [
3366
3366
  vue.createElementVNode("a", {
3367
3367
  class: vue.normalizeClass(vue.unref(btnClass)),
3368
3368
  href: "#",
@@ -3378,7 +3378,7 @@ return (_ctx, _cache) => {
3378
3378
  class: "dropdown-menu px-2 py-1",
3379
3379
  "aria-labelledby": dropdownId
3380
3380
  }, [
3381
- vue.createVNode(script$k, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3381
+ vue.createVNode(script$l, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3382
3382
  ])
3383
3383
  ])
3384
3384
  ], 64 /* STABLE_FRAGMENT */))
@@ -3387,26 +3387,26 @@ return (_ctx, _cache) => {
3387
3387
 
3388
3388
  };
3389
3389
 
3390
- script$c.__file = "src/lib/components/ShDropDownForm.vue";
3390
+ script$d.__file = "src/lib/components/ShDropDownForm.vue";
3391
3391
 
3392
- var script$b = {
3392
+ var script$c = {
3393
3393
  name: 'ShModal',
3394
3394
  props: ['modalTitle', 'modalId', 'modalSize'],
3395
3395
  components: {
3396
3396
  }
3397
3397
  };
3398
3398
 
3399
- const _hoisted_1$a = ["id"];
3400
- const _hoisted_2$7 = { class: "modal-content" };
3401
- const _hoisted_3$7 = { class: "modal-header" };
3402
- const _hoisted_4$7 = { class: "modal-title" };
3403
- const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("button", {
3399
+ const _hoisted_1$b = ["id"];
3400
+ const _hoisted_2$8 = { class: "modal-content" };
3401
+ const _hoisted_3$8 = { class: "modal-header" };
3402
+ const _hoisted_4$8 = { class: "modal-title" };
3403
+ const _hoisted_5$6 = /*#__PURE__*/vue.createElementVNode("button", {
3404
3404
  class: "btn btn-danger btn-sm",
3405
3405
  "data-bs-dismiss": "modal",
3406
3406
  "data-dismiss": "modal"
3407
3407
  }, "×", -1 /* HOISTED */);
3408
- const _hoisted_6$4 = { class: "modal-body" };
3409
- const _hoisted_7$2 = { class: "section" };
3408
+ const _hoisted_6$5 = { class: "modal-body" };
3409
+ const _hoisted_7$3 = { class: "section" };
3410
3410
 
3411
3411
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
3412
3412
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -3417,27 +3417,27 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
3417
3417
  vue.createElementVNode("div", {
3418
3418
  class: vue.normalizeClass(["modal-dialog", `modal-${$props.modalSize}`])
3419
3419
  }, [
3420
- vue.createElementVNode("div", _hoisted_2$7, [
3421
- vue.createElementVNode("div", _hoisted_3$7, [
3422
- vue.createElementVNode("h3", _hoisted_4$7, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
3423
- _hoisted_5$5
3420
+ vue.createElementVNode("div", _hoisted_2$8, [
3421
+ vue.createElementVNode("div", _hoisted_3$8, [
3422
+ vue.createElementVNode("h3", _hoisted_4$8, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
3423
+ _hoisted_5$6
3424
3424
  ]),
3425
- vue.createElementVNode("div", _hoisted_6$4, [
3426
- vue.createElementVNode("div", _hoisted_7$2, [
3425
+ vue.createElementVNode("div", _hoisted_6$5, [
3426
+ vue.createElementVNode("div", _hoisted_7$3, [
3427
3427
  vue.renderSlot(_ctx.$slots, "default")
3428
3428
  ])
3429
3429
  ])
3430
3430
  ])
3431
3431
  ], 2 /* CLASS */)
3432
- ], 8 /* PROPS */, _hoisted_1$a))
3432
+ ], 8 /* PROPS */, _hoisted_1$b))
3433
3433
  }
3434
3434
 
3435
- script$b.render = render$4;
3436
- script$b.__file = "src/lib/components/ShModal.vue";
3435
+ script$c.render = render$4;
3436
+ script$c.__file = "src/lib/components/ShModal.vue";
3437
3437
 
3438
- const _hoisted_1$9 = ["href"];
3438
+ const _hoisted_1$a = ["href"];
3439
3439
 
3440
- var script$a = {
3440
+ var script$b = {
3441
3441
  __name: 'ShModalForm',
3442
3442
  props: ['action',
3443
3443
  'classes',
@@ -3476,13 +3476,13 @@ return (_ctx, _cache) => {
3476
3476
  "data-bs-toggle": "modal"
3477
3477
  }, [
3478
3478
  vue.renderSlot(_ctx.$slots, "default")
3479
- ], 10 /* CLASS, PROPS */, _hoisted_1$9),
3480
- vue.createVNode(script$b, {
3479
+ ], 10 /* CLASS, PROPS */, _hoisted_1$a),
3480
+ vue.createVNode(script$c, {
3481
3481
  "modal-id": modalId,
3482
3482
  "modal-title": __props.modalTitle
3483
3483
  }, {
3484
3484
  default: vue.withCtx(() => [
3485
- vue.createVNode(script$k, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3485
+ vue.createVNode(script$l, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3486
3486
  ]),
3487
3487
  _: 1 /* STABLE */
3488
3488
  }, 8 /* PROPS */, ["modal-title"])
@@ -3492,9 +3492,9 @@ return (_ctx, _cache) => {
3492
3492
 
3493
3493
  };
3494
3494
 
3495
- script$a.__file = "src/lib/components/ShModalForm.vue";
3495
+ script$b.__file = "src/lib/components/ShModalForm.vue";
3496
3496
 
3497
- var script$9 = {
3497
+ var script$a = {
3498
3498
  name: 'ShCanvas',
3499
3499
  props: ['canvasTitle', 'canvasId', 'position','canvasSize'],
3500
3500
  components: {
@@ -3511,13 +3511,13 @@ var script$9 = {
3511
3511
  }
3512
3512
  };
3513
3513
 
3514
- const _hoisted_1$8 = ["id"];
3515
- const _hoisted_2$6 = { class: "offcanvas-header" };
3516
- const _hoisted_3$6 = {
3514
+ const _hoisted_1$9 = ["id"];
3515
+ const _hoisted_2$7 = { class: "offcanvas-header" };
3516
+ const _hoisted_3$7 = {
3517
3517
  class: "offcanvas-title",
3518
3518
  id: "offcanvasScrollingLabel"
3519
3519
  };
3520
- const _hoisted_4$6 = { class: "offcanvas-body" };
3520
+ const _hoisted_4$7 = { class: "offcanvas-body" };
3521
3521
 
3522
3522
  function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3523
3523
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -3527,8 +3527,8 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3527
3527
  id: $props.canvasId,
3528
3528
  "aria-labelledby": "offcanvasScrollingLabel"
3529
3529
  }, [
3530
- vue.createElementVNode("div", _hoisted_2$6, [
3531
- vue.createElementVNode("h5", _hoisted_3$6, vue.toDisplayString($props.canvasTitle), 1 /* TEXT */),
3530
+ vue.createElementVNode("div", _hoisted_2$7, [
3531
+ vue.createElementVNode("h5", _hoisted_3$7, vue.toDisplayString($props.canvasTitle), 1 /* TEXT */),
3532
3532
  vue.createElementVNode("button", {
3533
3533
  type: "button",
3534
3534
  ref: "closecanvas",
@@ -3538,16 +3538,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3538
3538
  "aria-label": "Close"
3539
3539
  }, null, 512 /* NEED_PATCH */)
3540
3540
  ]),
3541
- vue.createElementVNode("div", _hoisted_4$6, [
3541
+ vue.createElementVNode("div", _hoisted_4$7, [
3542
3542
  vue.renderSlot(_ctx.$slots, "default")
3543
3543
  ])
3544
- ], 10 /* CLASS, PROPS */, _hoisted_1$8))
3544
+ ], 10 /* CLASS, PROPS */, _hoisted_1$9))
3545
3545
  }
3546
3546
 
3547
- script$9.render = render$3;
3548
- script$9.__file = "src/lib/components/ShCanvas.vue";
3547
+ script$a.render = render$3;
3548
+ script$a.__file = "src/lib/components/ShCanvas.vue";
3549
3549
 
3550
- var script$8 = {
3550
+ var script$9 = {
3551
3551
  name: 'Pagination',
3552
3552
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore'],
3553
3553
  data () {
@@ -3618,14 +3618,14 @@ var script$8 = {
3618
3618
  }
3619
3619
  };
3620
3620
 
3621
- const _hoisted_1$7 = { key: 0 };
3622
- const _hoisted_2$5 = { class: "record_count_body mb-3" };
3623
- const _hoisted_3$5 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3624
- const _hoisted_4$5 = /*#__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);
3625
- const _hoisted_9$2 = [
3626
- _hoisted_4$5
3621
+ const _hoisted_1$8 = { key: 0 };
3622
+ const _hoisted_2$6 = { class: "record_count_body mb-3" };
3623
+ const _hoisted_3$6 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3624
+ const _hoisted_4$6 = /*#__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);
3625
+ const _hoisted_9$3 = [
3626
+ _hoisted_4$6
3627
3627
  ];
3628
- const _hoisted_10$1 = { class: "record_counts" };
3628
+ const _hoisted_10$2 = { class: "record_counts" };
3629
3629
  const _hoisted_11$1 = {
3630
3630
  key: 0,
3631
3631
  "aria-label": "Page navigation"
@@ -3664,18 +3664,18 @@ const _hoisted_22$1 = {
3664
3664
 
3665
3665
  function render$2(_ctx, _cache, $props, $setup, $data, $options) {
3666
3666
  return (!$props.loadMore)
3667
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
3668
- vue.createElementVNode("div", _hoisted_2$5, [
3669
- _hoisted_3$5,
3667
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
3668
+ vue.createElementVNode("div", _hoisted_2$6, [
3669
+ _hoisted_3$6,
3670
3670
  vue.createTextVNode("  "),
3671
3671
  vue.withDirectives(vue.createElementVNode("select", {
3672
3672
  class: "select_per_page",
3673
3673
  onChange: _cache[0] || (_cache[0] = (...args) => ($options.changePerPage && $options.changePerPage(...args))),
3674
3674
  "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.per_page) = $event))
3675
- }, _hoisted_9$2, 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
3675
+ }, _hoisted_9$3, 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
3676
3676
  [vue.vModelSelect, $data.per_page]
3677
3677
  ]),
3678
- vue.createElementVNode("span", _hoisted_10$1, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
3678
+ vue.createElementVNode("span", _hoisted_10$2, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
3679
3679
  ]),
3680
3680
  ($props.pagination_data != null)
3681
3681
  ? (vue.openBlock(), vue.createElementBlock("nav", _hoisted_11$1, [
@@ -3736,17 +3736,17 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
3736
3736
  ]))
3737
3737
  }
3738
3738
 
3739
- script$8.render = render$2;
3740
- script$8.__file = "src/lib/components/list_templates/Pagination.vue";
3739
+ script$9.render = render$2;
3740
+ script$9.__file = "src/lib/components/list_templates/Pagination.vue";
3741
3741
 
3742
- const _hoisted_1$6 = /*#__PURE__*/vue.createElementVNode("span", {
3742
+ const _hoisted_1$7 = /*#__PURE__*/vue.createElementVNode("span", {
3743
3743
  class: "spinner-border spinner-border-sm me-1",
3744
3744
  role: "status",
3745
3745
  "aria-hidden": "true"
3746
3746
  }, null, -1 /* HOISTED */);
3747
3747
 
3748
3748
 
3749
- var script$7 = {
3749
+ var script$8 = {
3750
3750
  __name: 'ShConfirmAction',
3751
3751
  props: {
3752
3752
  data: Object,
@@ -3819,7 +3819,7 @@ return (_ctx, _cache) => {
3819
3819
  }, [
3820
3820
  (processing.value)
3821
3821
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3822
- _hoisted_1$6,
3822
+ _hoisted_1$7,
3823
3823
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
3824
3824
  ], 64 /* STABLE_FRAGMENT */))
3825
3825
  : vue.createCommentVNode("v-if", true),
@@ -3832,15 +3832,15 @@ return (_ctx, _cache) => {
3832
3832
 
3833
3833
  };
3834
3834
 
3835
- script$7.__file = "src/lib/components/ShConfirmAction.vue";
3835
+ script$8.__file = "src/lib/components/ShConfirmAction.vue";
3836
3836
 
3837
- const _hoisted_1$5 = /*#__PURE__*/vue.createElementVNode("span", {
3837
+ const _hoisted_1$6 = /*#__PURE__*/vue.createElementVNode("span", {
3838
3838
  class: "spinner-border spinner-border-sm me-1",
3839
3839
  role: "status",
3840
3840
  "aria-hidden": "true"
3841
3841
  }, null, -1 /* HOISTED */);
3842
3842
 
3843
- var script$6 = {
3843
+ var script$7 = {
3844
3844
  __name: 'ShSilentAction',
3845
3845
  props: {
3846
3846
  data: Object,
@@ -3915,7 +3915,7 @@ return (_ctx, _cache) => {
3915
3915
  }, [
3916
3916
  (processing.value)
3917
3917
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3918
- _hoisted_1$5,
3918
+ _hoisted_1$6,
3919
3919
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
3920
3920
  ], 64 /* STABLE_FRAGMENT */))
3921
3921
  : vue.createCommentVNode("v-if", true),
@@ -3928,9 +3928,9 @@ return (_ctx, _cache) => {
3928
3928
 
3929
3929
  };
3930
3930
 
3931
- script$6.__file = "src/lib/components/ShSilentAction.vue";
3931
+ script$7.__file = "src/lib/components/ShSilentAction.vue";
3932
3932
 
3933
- var script$5 = {
3933
+ var script$6 = {
3934
3934
  name: 'sh-table',
3935
3935
  props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover', 'hideIds'],
3936
3936
  inject: ['channel'],
@@ -4162,10 +4162,10 @@ var script$5 = {
4162
4162
  this.reloadData();
4163
4163
  },
4164
4164
  components: {
4165
- ShSilentAction: script$6,
4166
- ShConfirmAction: script$7,
4167
- ShCanvas: script$9,
4168
- pagination: script$8
4165
+ ShSilentAction: script$7,
4166
+ ShConfirmAction: script$8,
4167
+ ShCanvas: script$a,
4168
+ pagination: script$9
4169
4169
  },
4170
4170
  computed: {
4171
4171
  windowWidth: function () {
@@ -4183,26 +4183,26 @@ var script$5 = {
4183
4183
  }
4184
4184
  };
4185
4185
 
4186
- const _hoisted_1$4 = { class: "auto-table mt-2" };
4187
- const _hoisted_2$4 = {
4186
+ const _hoisted_1$5 = { class: "auto-table mt-2" };
4187
+ const _hoisted_2$5 = {
4188
4188
  key: 0,
4189
4189
  class: "col-md-4 mb-2"
4190
4190
  };
4191
- const _hoisted_3$4 = ["disabled"];
4192
- const _hoisted_4$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4193
- const _hoisted_5$4 = /*#__PURE__*/vue.createElementVNode("span", {
4191
+ const _hoisted_3$5 = ["disabled"];
4192
+ const _hoisted_4$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4193
+ const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("span", {
4194
4194
  class: "spinner-border spinner-border-sm",
4195
4195
  role: "status",
4196
4196
  "aria-hidden": "true"
4197
4197
  }, null, -1 /* HOISTED */);
4198
- const _hoisted_6$3 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4199
- const _hoisted_7$1 = {
4198
+ const _hoisted_6$4 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4199
+ const _hoisted_7$2 = {
4200
4200
  key: 1,
4201
4201
  class: "row"
4202
4202
  };
4203
- const _hoisted_8$1 = { class: "col-12 mb-3" };
4204
- const _hoisted_9$1 = { class: "sh-search-bar" };
4205
- const _hoisted_10 = ["placeholder"];
4203
+ const _hoisted_8$2 = { class: "col-12 mb-3" };
4204
+ const _hoisted_9$2 = { class: "sh-search-bar" };
4205
+ const _hoisted_10$1 = ["placeholder"];
4206
4206
  const _hoisted_11 = {
4207
4207
  key: 0,
4208
4208
  class: "text-center"
@@ -4330,13 +4330,14 @@ const _hoisted_57 = {
4330
4330
  key: 2,
4331
4331
  class: "text-primary fw-bold"
4332
4332
  };
4333
- const _hoisted_58 = ["innerHTML"];
4333
+ const _hoisted_58 = { key: 3 };
4334
4334
  const _hoisted_59 = ["innerHTML"];
4335
4335
  const _hoisted_60 = ["innerHTML"];
4336
- const _hoisted_61 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
4337
- const _hoisted_62 = { key: 0 };
4338
- const _hoisted_63 = ["href"];
4339
- const _hoisted_64 = ["title", "onClick"];
4336
+ const _hoisted_61 = ["innerHTML"];
4337
+ const _hoisted_62 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
4338
+ const _hoisted_63 = { key: 0 };
4339
+ const _hoisted_64 = ["href"];
4340
+ const _hoisted_65 = ["title", "onClick"];
4340
4341
 
4341
4342
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4342
4343
  const _component_router_link = vue.resolveComponent("router-link");
@@ -4345,9 +4346,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4345
4346
  const _component_pagination = vue.resolveComponent("pagination");
4346
4347
  const _component_sh_canvas = vue.resolveComponent("sh-canvas");
4347
4348
 
4348
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
4349
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
4349
4350
  ($props.hasDownload)
4350
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$4, [
4351
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$5, [
4351
4352
  vue.createElementVNode("button", {
4352
4353
  disabled: $data.downloading,
4353
4354
  class: "btn btn-warning btn-sm",
@@ -4355,27 +4356,27 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4355
4356
  }, [
4356
4357
  (!$data.downloading)
4357
4358
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4358
- _hoisted_4$4,
4359
+ _hoisted_4$5,
4359
4360
  vue.createTextVNode(" Export ")
4360
4361
  ], 64 /* STABLE_FRAGMENT */))
4361
4362
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4362
- _hoisted_5$4,
4363
- _hoisted_6$3
4363
+ _hoisted_5$5,
4364
+ _hoisted_6$4
4364
4365
  ], 64 /* STABLE_FRAGMENT */))
4365
- ], 8 /* PROPS */, _hoisted_3$4)
4366
+ ], 8 /* PROPS */, _hoisted_3$5)
4366
4367
  ]))
4367
4368
  : vue.createCommentVNode("v-if", true),
4368
4369
  (!$props.hideSearch)
4369
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [
4370
- vue.createElementVNode("div", _hoisted_8$1, [
4371
- vue.createElementVNode("div", _hoisted_9$1, [
4370
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
4371
+ vue.createElementVNode("div", _hoisted_8$2, [
4372
+ vue.createElementVNode("div", _hoisted_9$2, [
4372
4373
  vue.withDirectives(vue.createElementVNode("input", {
4373
4374
  type: "search",
4374
4375
  onChange: _cache[1] || (_cache[1] = $event => ($options.reloadData(1))),
4375
4376
  "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (($data.filter_value) = $event)),
4376
4377
  placeholder: $props.searchPlaceholder ? $props.searchPlaceholder : 'Search',
4377
4378
  class: "form-control sh-search-input"
4378
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_10), [
4379
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_10$1), [
4379
4380
  [vue.vModelText, $data.filter_value]
4380
4381
  ])
4381
4382
  ])
@@ -4663,26 +4664,28 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4663
4664
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_56, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4664
4665
  : ($options.getFieldType(key) === 'money')
4665
4666
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_57, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4666
- : (typeof key === 'string')
4667
- ? (vue.openBlock(), vue.createElementBlock("span", {
4668
- key: 3,
4669
- innerHTML: record[key]
4670
- }, null, 8 /* PROPS */, _hoisted_58))
4671
- : (typeof key === 'function')
4667
+ : ($options.getFieldType(key) === 'date')
4668
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_58, vue.toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
4669
+ : (typeof key === 'string')
4672
4670
  ? (vue.openBlock(), vue.createElementBlock("span", {
4673
4671
  key: 4,
4674
- innerHTML: key(record, index )
4672
+ innerHTML: record[key]
4675
4673
  }, null, 8 /* PROPS */, _hoisted_59))
4676
- : (vue.openBlock(), vue.createElementBlock("span", {
4677
- key: 5,
4678
- innerHTML: record[key[0]]
4679
- }, null, 8 /* PROPS */, _hoisted_60))
4674
+ : (typeof key === 'function')
4675
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4676
+ key: 5,
4677
+ innerHTML: key(record, index )
4678
+ }, null, 8 /* PROPS */, _hoisted_60))
4679
+ : (vue.openBlock(), vue.createElementBlock("span", {
4680
+ key: 6,
4681
+ innerHTML: record[key[0]]
4682
+ }, null, 8 /* PROPS */, _hoisted_61))
4680
4683
  ]),
4681
- _hoisted_61
4684
+ _hoisted_62
4682
4685
  ], 64 /* STABLE_FRAGMENT */))
4683
4686
  }), 128 /* KEYED_FRAGMENT */)),
4684
4687
  ($props.actions)
4685
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_62, [
4688
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_63, [
4686
4689
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
4687
4690
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4688
4691
  key: act.path
@@ -4705,7 +4708,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4705
4708
  }, null, 2 /* CLASS */))
4706
4709
  : vue.createCommentVNode("v-if", true),
4707
4710
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4708
- ], 10 /* CLASS, PROPS */, _hoisted_63))
4711
+ ], 10 /* CLASS, PROPS */, _hoisted_64))
4709
4712
  : (act.emits)
4710
4713
  ? (vue.openBlock(), vue.createElementBlock("button", {
4711
4714
  key: 1,
@@ -4720,7 +4723,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4720
4723
  }, null, 2 /* CLASS */))
4721
4724
  : vue.createCommentVNode("v-if", true),
4722
4725
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4723
- ], 10 /* CLASS, PROPS */, _hoisted_64))
4726
+ ], 10 /* CLASS, PROPS */, _hoisted_65))
4724
4727
  : (!act.emits)
4725
4728
  ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4726
4729
  key: 2,
@@ -4795,10 +4798,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4795
4798
  ]))
4796
4799
  }
4797
4800
 
4798
- script$5.render = render$1;
4799
- script$5.__file = "src/lib/components/ShTable.vue";
4801
+ script$6.render = render$1;
4802
+ script$6.__file = "src/lib/components/ShTable.vue";
4800
4803
 
4801
- var script$4 = {
4804
+ var script$5 = {
4802
4805
  name: 'ShTabs',
4803
4806
  props: ['tabs', 'baseUrl', 'sharedData', 'tabCounts', 'responsive','classOne','classTwo','classes'],
4804
4807
  data () {
@@ -4919,23 +4922,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4919
4922
  ], 64 /* STABLE_FRAGMENT */))
4920
4923
  }
4921
4924
 
4922
- script$4.render = render;
4923
- script$4.__file = "src/lib/components/ShTabs.vue";
4925
+ script$5.render = render;
4926
+ script$5.__file = "src/lib/components/ShTabs.vue";
4924
4927
 
4925
- const _hoisted_1$3 = {
4928
+ const _hoisted_1$4 = {
4926
4929
  class: "nav nav-tabs",
4927
4930
  role: "tablist"
4928
4931
  };
4929
- const _hoisted_2$3 = {
4932
+ const _hoisted_2$4 = {
4930
4933
  class: "nav-item",
4931
4934
  role: "presentation"
4932
4935
  };
4933
- const _hoisted_3$3 = ["onClick"];
4934
- const _hoisted_4$3 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4935
- const _hoisted_5$3 = { class: "sh_tab_count" };
4936
- const _hoisted_6$2 = { class: "tab-content" };
4936
+ const _hoisted_3$4 = ["onClick"];
4937
+ const _hoisted_4$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4938
+ const _hoisted_5$4 = { class: "sh_tab_count" };
4939
+ const _hoisted_6$3 = { class: "tab-content" };
4937
4940
 
4938
- var script$3 = {
4941
+ var script$4 = {
4939
4942
  __name: 'ShDynamicTabs',
4940
4943
  props: ['tabs','data'],
4941
4944
  setup(__props) {
@@ -4960,9 +4963,9 @@ function setTab(tab){
4960
4963
 
4961
4964
  return (_ctx, _cache) => {
4962
4965
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
4963
- vue.createElementVNode("ul", _hoisted_1$3, [
4966
+ vue.createElementVNode("ul", _hoisted_1$4, [
4964
4967
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tabs), (tab) => {
4965
- return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$3, [
4968
+ return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$4, [
4966
4969
  vue.createElementVNode("button", {
4967
4970
  onClick: $event => (setTab(tab)),
4968
4971
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
@@ -4970,15 +4973,15 @@ return (_ctx, _cache) => {
4970
4973
  vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
4971
4974
  (tab.count || tab.tabCount)
4972
4975
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4973
- _hoisted_4$3,
4974
- vue.createElementVNode("sup", _hoisted_5$3, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4976
+ _hoisted_4$4,
4977
+ vue.createElementVNode("sup", _hoisted_5$4, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4975
4978
  ], 64 /* STABLE_FRAGMENT */))
4976
4979
  : vue.createCommentVNode("v-if", true)
4977
- ], 10 /* CLASS, PROPS */, _hoisted_3$3)
4980
+ ], 10 /* CLASS, PROPS */, _hoisted_3$4)
4978
4981
  ]))
4979
4982
  }), 256 /* UNKEYED_FRAGMENT */))
4980
4983
  ]),
4981
- vue.createElementVNode("div", _hoisted_6$2, [
4984
+ vue.createElementVNode("div", _hoisted_6$3, [
4982
4985
  (vue.unref(currentTab))
4983
4986
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentTab).component), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(currentTab))), null, 16 /* FULL_PROPS */))
4984
4987
  : vue.createCommentVNode("v-if", true)
@@ -4989,7 +4992,7 @@ return (_ctx, _cache) => {
4989
4992
 
4990
4993
  };
4991
4994
 
4992
- script$3.__file = "src/lib/components/ShDynamicTabs.vue";
4995
+ script$4.__file = "src/lib/components/ShDynamicTabs.vue";
4993
4996
 
4994
4997
  const useUserStore = pinia.defineStore('user-store', {
4995
4998
  state: () => ({
@@ -5087,19 +5090,19 @@ const useUserStore = pinia.defineStore('user-store', {
5087
5090
  }
5088
5091
  });
5089
5092
 
5090
- const _hoisted_1$2 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
5091
- const _hoisted_2$2 = { class: "card sh-departments-card shadow" };
5092
- const _hoisted_3$2 = { class: "card-body" };
5093
- const _hoisted_4$2 = {
5093
+ const _hoisted_1$3 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
5094
+ const _hoisted_2$3 = { class: "card sh-departments-card shadow" };
5095
+ const _hoisted_3$3 = { class: "card-body" };
5096
+ const _hoisted_4$3 = {
5094
5097
  "data-bs-toggle": "modal",
5095
5098
  ref: "addDeptBtn",
5096
5099
  href: "#sh-department_modal",
5097
5100
  class: "btn btn-info btn-sm"
5098
5101
  };
5099
- const _hoisted_5$2 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-plus" }, null, -1 /* HOISTED */);
5102
+ const _hoisted_5$3 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-plus" }, null, -1 /* HOISTED */);
5100
5103
 
5101
5104
 
5102
- var script$2 = {
5105
+ var script$3 = {
5103
5106
  __name: 'Departments',
5104
5107
  setup(__props) {
5105
5108
 
@@ -5122,14 +5125,14 @@ function departmentAdded (response) {
5122
5125
 
5123
5126
  return (_ctx, _cache) => {
5124
5127
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5125
- _hoisted_1$2,
5126
- vue.createElementVNode("div", _hoisted_2$2, [
5127
- vue.createElementVNode("div", _hoisted_3$2, [
5128
- vue.createElementVNode("a", _hoisted_4$2, [
5129
- _hoisted_5$2,
5128
+ _hoisted_1$3,
5129
+ vue.createElementVNode("div", _hoisted_2$3, [
5130
+ vue.createElementVNode("div", _hoisted_3$3, [
5131
+ vue.createElementVNode("a", _hoisted_4$3, [
5132
+ _hoisted_5$3,
5130
5133
  vue.createTextVNode(" ADD DEPARTMENT")
5131
5134
  ], 512 /* NEED_PATCH */),
5132
- vue.createVNode(script$5, {
5135
+ vue.createVNode(script$6, {
5133
5136
  headers: ['id','name','description', 'created_at'],
5134
5137
  "end-point": "admin/departments/list",
5135
5138
  actions: {
@@ -5143,12 +5146,12 @@ return (_ctx, _cache) => {
5143
5146
  ]
5144
5147
  }
5145
5148
  }),
5146
- vue.createVNode(script$b, {
5149
+ vue.createVNode(script$c, {
5147
5150
  "modal-id": "sh-department_modal",
5148
5151
  "modal-title": "Department Form"
5149
5152
  }, {
5150
5153
  default: vue.withCtx(() => [
5151
- vue.createVNode(script$k, {
5154
+ vue.createVNode(script$l, {
5152
5155
  "success-callback": "departmentAdded",
5153
5156
  onDepartmentAdded: departmentAdded,
5154
5157
  action: "admin/departments/store",
@@ -5165,14 +5168,14 @@ return (_ctx, _cache) => {
5165
5168
 
5166
5169
  };
5167
5170
 
5168
- script$2.__file = "src/lib/components/core/Departments/Departments.vue";
5171
+ script$3.__file = "src/lib/components/core/Departments/Departments.vue";
5169
5172
 
5170
- const _hoisted_1$1 = {
5173
+ const _hoisted_1$2 = {
5171
5174
  key: 0,
5172
5175
  class: "card sh-department-view shadow"
5173
5176
  };
5174
- const _hoisted_2$1 = { class: "card-body" };
5175
- const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("a", {
5177
+ const _hoisted_2$2 = { class: "card-body" };
5178
+ const _hoisted_3$2 = /*#__PURE__*/vue.createElementVNode("a", {
5176
5179
  href: "#addModule",
5177
5180
  class: "btn btn-info btn-sm",
5178
5181
  "data-bs-toggle": "modal"
@@ -5180,11 +5183,11 @@ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("a", {
5180
5183
  /*#__PURE__*/vue.createElementVNode("i", { class: "bi-plus" }),
5181
5184
  /*#__PURE__*/vue.createTextVNode(" ADD Module")
5182
5185
  ], -1 /* HOISTED */);
5183
- const _hoisted_4$1 = { class: "text-primary text-capitalize" };
5184
- const _hoisted_5$1 = ["value"];
5185
- const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-save" }, null, -1 /* HOISTED */);
5186
+ const _hoisted_4$2 = { class: "text-primary text-capitalize" };
5187
+ const _hoisted_5$2 = ["value"];
5188
+ const _hoisted_6$2 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-save" }, null, -1 /* HOISTED */);
5186
5189
 
5187
- var script$1 = {
5190
+ var script$2 = {
5188
5191
  __name: 'Department',
5189
5192
  setup(__props) {
5190
5193
 
@@ -5278,11 +5281,11 @@ function submitPermissions() {
5278
5281
 
5279
5282
  return (_ctx, _cache) => {
5280
5283
  return (vue.unref(department))
5281
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
5282
- vue.createElementVNode("div", _hoisted_2$1, [
5283
- _hoisted_3$1,
5284
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
5285
+ vue.createElementVNode("div", _hoisted_2$2, [
5286
+ _hoisted_3$2,
5284
5287
  vue.createElementVNode("h5", null, "Department #" + vue.toDisplayString(vue.unref(department).id) + " - " + vue.toDisplayString(vue.unref(department).name) + " Allowed Modules", 1 /* TEXT */),
5285
- vue.createVNode(script$5, {
5288
+ vue.createVNode(script$6, {
5286
5289
  actions: {
5287
5290
  label: 'Actions',
5288
5291
  actions: [
@@ -5302,12 +5305,12 @@ return (_ctx, _cache) => {
5302
5305
  headers: ['id',showModule,'created_at'],
5303
5306
  "end-point": 'admin/departments/department/list-modules/' + id.value
5304
5307
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
5305
- vue.createVNode(script$b, {
5308
+ vue.createVNode(script$c, {
5306
5309
  "modal-id": "addModule",
5307
5310
  "modal-title": "Add Module Department"
5308
5311
  }, {
5309
5312
  default: vue.withCtx(() => [
5310
- vue.createVNode(script$k, {
5313
+ vue.createVNode(script$l, {
5311
5314
  "reload-select-items": vue.unref(reload),
5312
5315
  "success-callback": moduleAdded,
5313
5316
  "fill-selects": {
@@ -5329,7 +5332,7 @@ return (_ctx, _cache) => {
5329
5332
  ref: permissionCanvasBtn,
5330
5333
  "data-bs-toggle": "offcanvas"
5331
5334
  }, null, 512 /* NEED_PATCH */),
5332
- vue.createVNode(script$9, {
5335
+ vue.createVNode(script$a, {
5333
5336
  "canvas-id": "permissionsCanvas",
5334
5337
  position: "end enlarged",
5335
5338
  "canvas-title": "Module Permissions"
@@ -5337,7 +5340,7 @@ return (_ctx, _cache) => {
5337
5340
  default: vue.withCtx(() => [
5338
5341
  (vue.unref(getModule))
5339
5342
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5340
- vue.createElementVNode("h5", _hoisted_4$1, "Permissions for " + vue.toDisplayString(vue.unref(getModule).module), 1 /* TEXT */),
5343
+ vue.createElementVNode("h5", _hoisted_4$2, "Permissions for " + vue.toDisplayString(vue.unref(getModule).module), 1 /* TEXT */),
5341
5344
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(modulePermissions), (permission) => {
5342
5345
  return (vue.openBlock(), vue.createElementBlock("div", {
5343
5346
  key: permission,
@@ -5350,7 +5353,7 @@ return (_ctx, _cache) => {
5350
5353
  type: "checkbox",
5351
5354
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (vue.isRef(selectedPermissions) ? (selectedPermissions).value = $event : selectedPermissions = $event)),
5352
5355
  value: permission
5353
- }, null, 8 /* PROPS */, _hoisted_5$1), [
5356
+ }, null, 8 /* PROPS */, _hoisted_5$2), [
5354
5357
  [vue.vModelCheckbox, vue.unref(selectedPermissions)]
5355
5358
  ]),
5356
5359
  vue.createTextVNode(" " + vue.toDisplayString(getPermissionLabel(permission)), 1 /* TEXT */)
@@ -5361,7 +5364,7 @@ return (_ctx, _cache) => {
5361
5364
  onClick: submitPermissions,
5362
5365
  class: "btn btn-info"
5363
5366
  }, [
5364
- _hoisted_6$1,
5367
+ _hoisted_6$2,
5365
5368
  vue.createTextVNode(" Submit")
5366
5369
  ])
5367
5370
  ], 64 /* STABLE_FRAGMENT */))
@@ -5377,7 +5380,123 @@ return (_ctx, _cache) => {
5377
5380
 
5378
5381
  };
5379
5382
 
5380
- script$1.__file = "src/lib/components/core/Departments/department/Department.vue";
5383
+ script$2.__file = "src/lib/components/core/Departments/department/Department.vue";
5384
+
5385
+ const _hoisted_1$1 = { class: "row permissions-main d-flex" };
5386
+ const _hoisted_2$1 = {
5387
+ id: "permissions-nav",
5388
+ class: "col-md-2 shadow d-flex align-items-center"
5389
+ };
5390
+ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("input", { type: "checkbox" }, null, -1 /* HOISTED */);
5391
+ const _hoisted_4$1 = ["onClick"];
5392
+ const _hoisted_5$1 = {
5393
+ id: "permissions-content",
5394
+ class: "col-md-10"
5395
+ };
5396
+ const _hoisted_6$1 = {
5397
+ key: 0,
5398
+ class: "alert alert-info"
5399
+ };
5400
+ const _hoisted_7$1 = {
5401
+ key: 1,
5402
+ class: "d-flex justify-content-evenly"
5403
+ };
5404
+ const _hoisted_8$1 = { class: "col-md-3 list-group" };
5405
+ const _hoisted_9$1 = { class: "p-2 text-capitalize list-group-item pb-0 text-capitalize" };
5406
+ const _hoisted_10 = /*#__PURE__*/vue.createElementVNode("input", { type: "checkbox" }, null, -1 /* HOISTED */);
5407
+
5408
+ var script$1 = {
5409
+ __name: 'ManagePermissions',
5410
+ setup(__props) {
5411
+
5412
+ const route = vueRouter.useRoute();
5413
+ const tabs = vue.ref(null);
5414
+ vue.ref(0);
5415
+ const modules = vue.ref([]);
5416
+ const selectedModule = vue.ref('tasks');
5417
+ const modulePermissions = vue.ref(null);
5418
+ const setModule = module=>{
5419
+ selectedModule.value = module;
5420
+ getModulePermissions();
5421
+ };
5422
+ vue.onMounted(() => {
5423
+ console.log(tabs.value.querySelectorAll('li'));
5424
+ getDepartmentModules();
5425
+ });
5426
+ const getDepartmentModules = ()=>{
5427
+ shApis.doGet(`admin/departments/department/list-modules/${route.params.id}?all=1`).then(res=>{
5428
+ modules.value = res.data.data;
5429
+ selectedModule.value = res.data.data[0];
5430
+ getModulePermissions();
5431
+ });
5432
+ };
5433
+ const loading = vue.ref(false);
5434
+ const getModulePermissions = () => {
5435
+ loading.value = true;
5436
+ modulePermissions.value = null;
5437
+ shApis.doGet(`admin/departments/department/get-module-permissions/${selectedModule.value.module}`).then(res=>{
5438
+ loading.value = false;
5439
+ modulePermissions.value = reformatModulePermissions(res.data.permissions);
5440
+ });
5441
+ };
5442
+ function reformatModulePermissions(mPs){
5443
+ let mpModules = {};
5444
+ mPs.map(mp=>{
5445
+ const arr = mp.split('.');
5446
+ const key = arr[0];
5447
+ if(typeof mpModules[key] == 'undefined'){
5448
+ mpModules[key]=[];
5449
+ }
5450
+ mpModules[key].push(mp);
5451
+ });
5452
+ return mpModules
5453
+ }
5454
+
5455
+ return (_ctx, _cache) => {
5456
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
5457
+ vue.createElementVNode("div", _hoisted_2$1, [
5458
+ vue.createElementVNode("ul", {
5459
+ ref_key: "tabs",
5460
+ ref: tabs,
5461
+ class: "d-flex flex-column w-100"
5462
+ }, [
5463
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules.value, (module) => {
5464
+ return (vue.openBlock(), vue.createElementBlock("li", {
5465
+ class: vue.normalizeClass(selectedModule.value.id === module.id && 'active'),
5466
+ key: module.id
5467
+ }, [
5468
+ _hoisted_3$1,
5469
+ vue.createElementVNode("label", {
5470
+ class: "text-capitalize",
5471
+ onClick: $event => (setModule(module))
5472
+ }, vue.toDisplayString(module.module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_4$1)
5473
+ ], 2 /* CLASS */))
5474
+ }), 128 /* KEYED_FRAGMENT */))
5475
+ ], 512 /* NEED_PATCH */)
5476
+ ]),
5477
+ vue.createElementVNode("div", _hoisted_5$1, [
5478
+ (loading.value)
5479
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, " loading ... "))
5480
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [
5481
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modulePermissions.value, (permissions) => {
5482
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
5483
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(permissions, (permission) => {
5484
+ return (vue.openBlock(), vue.createElementBlock("label", _hoisted_9$1, [
5485
+ _hoisted_10,
5486
+ vue.createTextVNode(" " + vue.toDisplayString(permission), 1 /* TEXT */)
5487
+ ]))
5488
+ }), 256 /* UNKEYED_FRAGMENT */))
5489
+ ]))
5490
+ }), 256 /* UNKEYED_FRAGMENT */))
5491
+ ]))
5492
+ ])
5493
+ ]))
5494
+ }
5495
+ }
5496
+
5497
+ };
5498
+
5499
+ script$1.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5381
5500
 
5382
5501
  const _withScopeId = n => (vue.pushScopeId("data-v-2911509a"),n=n(),vue.popScopeId(),n);
5383
5502
  const _hoisted_1 = {
@@ -5444,7 +5563,7 @@ return (_ctx, _cache) => {
5444
5563
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5445
5564
  (section.value === 'login')
5446
5565
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
5447
- vue.createVNode(script$k, {
5566
+ vue.createVNode(script$l, {
5448
5567
  class: "sh-login-form",
5449
5568
  fields: ['email','password'],
5450
5569
  "action-label": "Login",
@@ -5469,7 +5588,7 @@ return (_ctx, _cache) => {
5469
5588
  (vue.unref(registerSubTitle))
5470
5589
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
5471
5590
  : vue.createCommentVNode("v-if", true),
5472
- vue.createVNode(script$k, {
5591
+ vue.createVNode(script$l, {
5473
5592
  class: "sh-login-form",
5474
5593
  fields: vue.unref(registrationFields),
5475
5594
  "action-label": "Sign Up",
@@ -5516,7 +5635,7 @@ const ShFrontend = {
5516
5635
  const registerTitle = options.registerTitle ?? 'Create a new account';
5517
5636
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
5518
5637
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
5519
- options.formTextInput ?? script$h;
5638
+ options.formTextInput ?? script$i;
5520
5639
  const loginUrl = options.loginUrl ?? `/login`;
5521
5640
  const redirectLogin = options.redirectLogin ?? `/`;
5522
5641
  const redirectRegister = options.redirectRegister ?? `/`;
@@ -5541,10 +5660,14 @@ const ShFrontend = {
5541
5660
  });
5542
5661
  options.router.addRoute({
5543
5662
  path: '/sh-departments',
5544
- component: script$2
5663
+ component: script$3
5545
5664
  });
5546
5665
  options.router.addRoute({
5547
5666
  path: '/sh-departments/permissions/:id',
5667
+ component: script$2
5668
+ });
5669
+ options.router.addRoute({
5670
+ path: '/sh-departments/manage-permissions/:id',
5548
5671
  component: script$1
5549
5672
  });
5550
5673
  }
@@ -5558,19 +5681,19 @@ const ShFrontend = {
5558
5681
  };
5559
5682
 
5560
5683
  exports.Countries = countries;
5561
- exports.ShAutoForm = script$d;
5562
- exports.ShCanvas = script$9;
5563
- exports.ShConfirmAction = script$7;
5564
- exports.ShDropDownForm = script$c;
5565
- exports.ShDynamicTabs = script$3;
5566
- exports.ShForm = script$k;
5684
+ exports.ShAutoForm = script$e;
5685
+ exports.ShCanvas = script$a;
5686
+ exports.ShConfirmAction = script$8;
5687
+ exports.ShDropDownForm = script$d;
5688
+ exports.ShDynamicTabs = script$4;
5689
+ exports.ShForm = script$l;
5567
5690
  exports.ShFrontend = ShFrontend;
5568
- exports.ShModal = script$b;
5569
- exports.ShModalForm = script$a;
5570
- exports.ShPhone = script$n;
5571
- exports.ShSilentAction = script$6;
5572
- exports.ShTable = script$5;
5573
- exports.ShTabs = script$4;
5691
+ exports.ShModal = script$c;
5692
+ exports.ShModalForm = script$b;
5693
+ exports.ShPhone = script$o;
5694
+ exports.ShSilentAction = script$7;
5695
+ exports.ShTable = script$6;
5696
+ exports.ShTabs = script$5;
5574
5697
  exports.shApis = shApis;
5575
5698
  exports.shRepo = shRepo;
5576
5699
  exports.shStorage = ShStorage;