@iankibetsh/shframework 4.8.1 → 4.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/library.js CHANGED
@@ -2006,7 +2006,7 @@ const countries = [
2006
2006
  }
2007
2007
  ];
2008
2008
 
2009
- var script$y = {
2009
+ var script$A = {
2010
2010
  name: 'PhoneInput',
2011
2011
  props: ['modelValue', 'country_code','disabled'],
2012
2012
  data () {
@@ -2076,23 +2076,23 @@ var script$y = {
2076
2076
  }
2077
2077
  };
2078
2078
 
2079
- const _hoisted_1$q = {
2079
+ const _hoisted_1$s = {
2080
2080
  class: "sh-phone mb-3",
2081
2081
  style: {"display":"flex"}
2082
2082
  };
2083
- const _hoisted_2$g = {
2083
+ const _hoisted_2$i = {
2084
2084
  key: 0,
2085
2085
  style: {"display":"contents"}
2086
2086
  };
2087
- const _hoisted_3$f = ["src"];
2088
- const _hoisted_4$f = ["value"];
2089
- const _hoisted_5$c = ["disabled"];
2087
+ const _hoisted_3$g = ["src"];
2088
+ const _hoisted_4$g = ["value"];
2089
+ const _hoisted_5$d = ["disabled"];
2090
2090
 
2091
2091
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2092
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
2092
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
2093
2093
  ($data.selectedCountry)
2094
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
2095
- vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$f),
2094
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, [
2095
+ vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$g),
2096
2096
  vue.createTextVNode(" " + vue.toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
2097
2097
  ]))
2098
2098
  : vue.createCommentVNode("v-if", true),
@@ -2105,7 +2105,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2105
2105
  return (vue.openBlock(), vue.createElementBlock("option", {
2106
2106
  value: country,
2107
2107
  key: country.dialCode
2108
- }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$f))
2108
+ }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$g))
2109
2109
  }), 128 /* KEYED_FRAGMENT */))
2110
2110
  ], 544 /* NEED_HYDRATION, NEED_PATCH */), [
2111
2111
  [vue.vModelSelect, $data.selectedCountry]
@@ -2118,23 +2118,23 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2118
2118
  onInput: _cache[2] || (_cache[2] = (...args) => ($options.updateValue && $options.updateValue(...args))),
2119
2119
  placeholder: "712345678",
2120
2120
  "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.input) = $event))
2121
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_5$c), [
2121
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_5$d), [
2122
2122
  [vue.vModelText, $data.input]
2123
2123
  ])
2124
2124
  ]))
2125
2125
  }
2126
2126
 
2127
- script$y.render = render$4;
2128
- script$y.__file = "src/lib/components/form-components/PhoneInput.vue";
2127
+ script$A.render = render$4;
2128
+ script$A.__file = "src/lib/components/form-components/PhoneInput.vue";
2129
2129
 
2130
- const _hoisted_1$p = {
2130
+ const _hoisted_1$r = {
2131
2131
  key: 0,
2132
2132
  class: "dropdown sh-suggest"
2133
2133
  };
2134
- const _hoisted_2$f = ["id"];
2135
- const _hoisted_3$e = { class: "sh-suggestions-holder" };
2136
- const _hoisted_4$e = { class: "badge bg-secondary m-1 sh-selected-item" };
2137
- const _hoisted_5$b = ["onClick"];
2134
+ const _hoisted_2$h = ["id"];
2135
+ const _hoisted_3$f = { class: "sh-suggestions-holder" };
2136
+ const _hoisted_4$f = { class: "badge bg-secondary m-1 sh-selected-item" };
2137
+ const _hoisted_5$c = ["onClick"];
2138
2138
  const _hoisted_6$a = ["id"];
2139
2139
  const _hoisted_7$9 = ["id", "aria-labelledby"];
2140
2140
  const _hoisted_8$8 = ["onClick"];
@@ -2148,7 +2148,7 @@ const _hoisted_10$8 = {
2148
2148
  };
2149
2149
 
2150
2150
 
2151
- var script$x = {
2151
+ var script$z = {
2152
2152
  __name: 'ShSuggest',
2153
2153
  props: ['data','allowMultiple','url','modelValue','optionTemplate'],
2154
2154
  emits: ['update:modelValue'],
@@ -2284,23 +2284,23 @@ vue.watch(()=>props.modelValue, (newValue)=>{
2284
2284
 
2285
2285
  return (_ctx, _cache) => {
2286
2286
  return (vue.unref(id))
2287
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
2287
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
2288
2288
  vue.createElementVNode("div", {
2289
2289
  id: vue.unref(id),
2290
2290
  "data-bs-toggle": "dropdown",
2291
2291
  class: "p-0 d-flex sh-suggest-control dropdown-toggle",
2292
2292
  "aria-expanded": "false"
2293
2293
  }, [
2294
- vue.createElementVNode("div", _hoisted_3$e, [
2294
+ vue.createElementVNode("div", _hoisted_3$f, [
2295
2295
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectedSuggestions), (sgt) => {
2296
- return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_4$e, [
2296
+ return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_4$f, [
2297
2297
  vue.createTextVNode(vue.toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2298
2298
  vue.createElementVNode("button", {
2299
2299
  onClick: $event => (removeSuggestion(sgt.id)),
2300
2300
  type: "button",
2301
2301
  class: "btn-close border-start border-1 ms-1",
2302
2302
  "aria-label": "Close"
2303
- }, null, 8 /* PROPS */, _hoisted_5$b)
2303
+ }, null, 8 /* PROPS */, _hoisted_5$c)
2304
2304
  ]))
2305
2305
  }), 256 /* UNKEYED_FRAGMENT */))
2306
2306
  ]),
@@ -2311,7 +2311,7 @@ return (_ctx, _cache) => {
2311
2311
  onChange: filterData,
2312
2312
  class: "flex-fill h-100 sh-suggestion-input"
2313
2313
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_6$a)
2314
- ], 8 /* PROPS */, _hoisted_2$f),
2314
+ ], 8 /* PROPS */, _hoisted_2$h),
2315
2315
  vue.createElementVNode("ul", {
2316
2316
  class: "dropdown-menu w-100",
2317
2317
  id: 'dropwdown_section' + vue.unref(id),
@@ -2353,15 +2353,15 @@ return (_ctx, _cache) => {
2353
2353
 
2354
2354
  };
2355
2355
 
2356
- script$x.__scopeId = "data-v-71cc9569";
2357
- script$x.__file = "src/lib/components/form-components/ShSuggest.vue";
2356
+ script$z.__scopeId = "data-v-71cc9569";
2357
+ script$z.__file = "src/lib/components/form-components/ShSuggest.vue";
2358
2358
 
2359
- var script$w = {
2359
+ var script$y = {
2360
2360
  name: 'ShForm',
2361
2361
  components: {
2362
- PhoneInput: script$y,
2363
- ShSuggest: script$x,
2364
- ShPhone: script$y
2362
+ PhoneInput: script$A,
2363
+ ShSuggest: script$z,
2364
+ ShPhone: script$A
2365
2365
  },
2366
2366
  props: [
2367
2367
  'action',
@@ -2710,18 +2710,18 @@ var script$w = {
2710
2710
  }
2711
2711
  };
2712
2712
 
2713
- const _hoisted_1$o = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2714
- const _hoisted_2$e = {
2713
+ const _hoisted_1$q = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2714
+ const _hoisted_2$g = {
2715
2715
  ref: "ShAutoForm",
2716
2716
  class: "sh-form"
2717
2717
  };
2718
- const _hoisted_3$d = {
2718
+ const _hoisted_3$e = {
2719
2719
  key: 0,
2720
2720
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2721
2721
  role: "alert"
2722
2722
  };
2723
- const _hoisted_4$d = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2724
- const _hoisted_5$a = { key: 0 };
2723
+ const _hoisted_4$e = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2724
+ const _hoisted_5$b = { key: 0 };
2725
2725
  const _hoisted_6$9 = { key: 1 };
2726
2726
  const _hoisted_7$8 = { class: "row" };
2727
2727
  const _hoisted_8$7 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
@@ -2777,15 +2777,15 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2777
2777
  const _component_ShSuggest = vue.resolveComponent("ShSuggest");
2778
2778
 
2779
2779
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2780
- _hoisted_1$o,
2781
- vue.createElementVNode("form", _hoisted_2$e, [
2780
+ _hoisted_1$q,
2781
+ vue.createElementVNode("form", _hoisted_2$g, [
2782
2782
  vue.createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2783
2783
  vue.createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2784
2784
  (_ctx.form_status == 3)
2785
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$d, [
2786
- _hoisted_4$d,
2785
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
2786
+ _hoisted_4$e,
2787
2787
  (_ctx.errorText)
2788
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$a, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2788
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$b, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2789
2789
  : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$9, "Unexpected Error Occurred")),
2790
2790
  vue.createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2791
2791
  ]))
@@ -3016,10 +3016,10 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3016
3016
  ], 64 /* STABLE_FRAGMENT */))
3017
3017
  }
3018
3018
 
3019
- script$w.render = render$3;
3020
- script$w.__file = "src/lib/components/ShForm.vue";
3019
+ script$y.render = render$3;
3020
+ script$y.__file = "src/lib/components/ShForm.vue";
3021
3021
 
3022
- var script$v = {
3022
+ var script$x = {
3023
3023
  __name: 'EmailInput',
3024
3024
  props: ['modelValue','label'],
3025
3025
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3057,12 +3057,12 @@ return (_ctx, _cache) => {
3057
3057
 
3058
3058
  };
3059
3059
 
3060
- script$v.__file = "src/lib/components/form-components/EmailInput.vue";
3060
+ script$x.__file = "src/lib/components/form-components/EmailInput.vue";
3061
3061
 
3062
- const _hoisted_1$n = ["min", "max"];
3062
+ const _hoisted_1$p = ["min", "max"];
3063
3063
 
3064
3064
 
3065
- var script$u = {
3065
+ var script$w = {
3066
3066
  __name: 'NumberInput',
3067
3067
  props: ['modelValue','label','min','max'],
3068
3068
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3094,7 +3094,7 @@ return (_ctx, _cache) => {
3094
3094
  onChange: modelValueUpdated,
3095
3095
  onKeydown: modelValueUpdated,
3096
3096
  onUpdated: modelValueUpdated
3097
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1$n)), [
3097
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1$p)), [
3098
3098
  [vue.vModelText, inputModel.value]
3099
3099
  ])
3100
3100
  }
@@ -3102,9 +3102,9 @@ return (_ctx, _cache) => {
3102
3102
 
3103
3103
  };
3104
3104
 
3105
- script$u.__file = "src/lib/components/form-components/NumberInput.vue";
3105
+ script$w.__file = "src/lib/components/form-components/NumberInput.vue";
3106
3106
 
3107
- var script$t = {
3107
+ var script$v = {
3108
3108
  __name: 'TextInput',
3109
3109
  props: ['modelValue','label','isInvalid'],
3110
3110
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3144,9 +3144,9 @@ return (_ctx, _cache) => {
3144
3144
 
3145
3145
  };
3146
3146
 
3147
- script$t.__file = "src/lib/components/form-components/TextInput.vue";
3147
+ script$v.__file = "src/lib/components/form-components/TextInput.vue";
3148
3148
 
3149
- var script$s = {
3149
+ var script$u = {
3150
3150
  __name: 'TextAreaInput',
3151
3151
  props: ['modelValue','label'],
3152
3152
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3184,12 +3184,12 @@ return (_ctx, _cache) => {
3184
3184
 
3185
3185
  };
3186
3186
 
3187
- script$s.__file = "src/lib/components/form-components/TextAreaInput.vue";
3187
+ script$u.__file = "src/lib/components/form-components/TextAreaInput.vue";
3188
3188
 
3189
- const _hoisted_1$m = ["value"];
3189
+ const _hoisted_1$o = ["value"];
3190
3190
 
3191
3191
 
3192
- var script$r = {
3192
+ var script$t = {
3193
3193
  __name: 'SelectInput',
3194
3194
  props: ['modelValue','label','url','required','options','dataUrl','data'],
3195
3195
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3244,7 +3244,7 @@ return (_ctx, _cache) => {
3244
3244
  return (vue.openBlock(), vue.createElementBlock("option", {
3245
3245
  key: option.id,
3246
3246
  value: option.id
3247
- }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$m))
3247
+ }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$o))
3248
3248
  }), 128 /* KEYED_FRAGMENT */))
3249
3249
  ], 544 /* NEED_HYDRATION, NEED_PATCH */)), [
3250
3250
  [vue.vModelSelect, inputModel.value]
@@ -3254,9 +3254,9 @@ return (_ctx, _cache) => {
3254
3254
 
3255
3255
  };
3256
3256
 
3257
- script$r.__file = "src/lib/components/form-components/SelectInput.vue";
3257
+ script$t.__file = "src/lib/components/form-components/SelectInput.vue";
3258
3258
 
3259
- var script$q = {
3259
+ var script$s = {
3260
3260
  __name: 'PasswordInput',
3261
3261
  props: ['modelValue','label'],
3262
3262
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3290,9 +3290,9 @@ return (_ctx, _cache) => {
3290
3290
 
3291
3291
  };
3292
3292
 
3293
- script$q.__file = "src/lib/components/form-components/PasswordInput.vue";
3293
+ script$s.__file = "src/lib/components/form-components/PasswordInput.vue";
3294
3294
 
3295
- var script$p = {
3295
+ var script$r = {
3296
3296
  __name: 'DateInput',
3297
3297
  props: ['modelValue','label','isInvalid'],
3298
3298
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3332,16 +3332,16 @@ return (_ctx, _cache) => {
3332
3332
 
3333
3333
  };
3334
3334
 
3335
- script$p.__file = "src/lib/components/form-components/DateInput.vue";
3335
+ script$r.__file = "src/lib/components/form-components/DateInput.vue";
3336
3336
 
3337
- const _hoisted_1$l = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3338
- const _hoisted_2$d = ["onUpdate:modelValue"];
3339
- const _hoisted_3$c = ["innerHTML"];
3340
- const _hoisted_4$c = {
3337
+ const _hoisted_1$n = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3338
+ const _hoisted_2$f = ["onUpdate:modelValue"];
3339
+ const _hoisted_3$d = ["innerHTML"];
3340
+ const _hoisted_4$d = {
3341
3341
  key: 0,
3342
3342
  class: "text-danger sh-required"
3343
3343
  };
3344
- const _hoisted_5$9 = ["innerHTML"];
3344
+ const _hoisted_5$a = ["innerHTML"];
3345
3345
  const _hoisted_6$8 = {
3346
3346
  key: 2,
3347
3347
  class: "form-notch"
@@ -3365,7 +3365,7 @@ const _hoisted_13$3 = {
3365
3365
  const _hoisted_14$3 = { key: 1 };
3366
3366
 
3367
3367
 
3368
- var script$o = {
3368
+ var script$q = {
3369
3369
  __name: 'ShAutoForm',
3370
3370
  props: [
3371
3371
  'action', 'successCallback', 'retainDataAfterSubmission',
@@ -3400,13 +3400,13 @@ const getFieldComponent = (fieldObj) => {
3400
3400
  const defaultPhones = ['phone'];
3401
3401
  const defaultEmails = ['email'];
3402
3402
  const formComponents = vue.inject('formComponents');
3403
- const TextComponent = formComponents.text ?? script$t;
3404
- const TextAreaComponent = formComponents.textArea ?? script$s;
3405
- const EmailComponent = formComponents.email ?? script$v;
3406
- const PhoneComponent = formComponents.phone ?? script$y;
3407
- const NumberComponent = formComponents.number ?? script$u;
3408
- const SelectComponent = formComponents.select ?? script$r;
3409
- const PasswordComponent = formComponents.password ?? script$q;
3403
+ const TextComponent = formComponents.text ?? script$v;
3404
+ const TextAreaComponent = formComponents.textArea ?? script$u;
3405
+ const EmailComponent = formComponents.email ?? script$x;
3406
+ const PhoneComponent = formComponents.phone ?? script$A;
3407
+ const NumberComponent = formComponents.number ?? script$w;
3408
+ const SelectComponent = formComponents.select ?? script$t;
3409
+ const PasswordComponent = formComponents.password ?? script$s;
3410
3410
  if (props.customComponents && props.customComponents[field]) {
3411
3411
  return props.customComponents[field]
3412
3412
  }
@@ -3424,28 +3424,28 @@ const getFieldComponent = (fieldObj) => {
3424
3424
 
3425
3425
  if (fieldObj.type) {
3426
3426
  if (fieldObj.type === 'suggest' || fieldObj.type === 'suggests') {
3427
- return script$x
3427
+ return script$z
3428
3428
  }
3429
3429
  return fieldObj.type === 'number' ? NumberComponent : fieldObj.type === 'textarea' ? TextAreaComponent : fieldObj.type === 'email' ? EmailComponent : fieldObj.type === 'phone' ? PhoneComponent : fieldObj.type === 'password' ? PasswordComponent : fieldObj.type === 'select' ? SelectComponent : TextComponent
3430
3430
  } else if (passwords.includes(field)) {
3431
3431
  return PasswordComponent
3432
3432
  } else if ((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)) {
3433
- return formComponents.textArea ?? script$s
3433
+ return formComponents.textArea ?? script$u
3434
3434
  } else if ((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)) {
3435
- return formComponents.email ?? script$v
3435
+ return formComponents.email ?? script$x
3436
3436
  } else if ((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)) {
3437
- return formComponents.phone ?? script$y
3437
+ return formComponents.phone ?? script$A
3438
3438
  } else if ((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)) {
3439
- return formComponents.number ?? script$u
3439
+ return formComponents.number ?? script$w
3440
3440
  }
3441
3441
  // else
3442
3442
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
3443
3443
  // return formComponents.select ?? SelectInput
3444
3444
  // } else
3445
3445
  if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3446
- return formComponents.date ?? script$p
3446
+ return formComponents.date ?? script$r
3447
3447
  }
3448
- return formComponents.text ?? script$t
3448
+ return formComponents.text ?? script$v
3449
3449
  };
3450
3450
  const shFormElementClasses = vue.ref(null);
3451
3451
  shFormElementClasses.value = vue.inject('shFormElementClasses');
@@ -3595,7 +3595,7 @@ vue.onMounted((ev) => {
3595
3595
 
3596
3596
  return (_ctx, _cache) => {
3597
3597
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3598
- _hoisted_1$l,
3598
+ _hoisted_1$n,
3599
3599
  vue.createElementVNode("form", {
3600
3600
  class: vue.normalizeClass([__props.formClass, "sh-auto-form"]),
3601
3601
  ref_key: "shAutoForm",
@@ -3612,7 +3612,7 @@ return (_ctx, _cache) => {
3612
3612
  key: 0,
3613
3613
  type: "hidden",
3614
3614
  "onUpdate:modelValue": $event => ((formFields.value[index].value) = $event)
3615
- }, null, 8 /* PROPS */, _hoisted_2$d)), [
3615
+ }, null, 8 /* PROPS */, _hoisted_2$f)), [
3616
3616
  [vue.vModelText, formFields.value[index].value]
3617
3617
  ])
3618
3618
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
@@ -3624,13 +3624,13 @@ return (_ctx, _cache) => {
3624
3624
  vue.createElementVNode("span", {
3625
3625
  innerHTML: field.label,
3626
3626
  class: "sh-label"
3627
- }, null, 8 /* PROPS */, _hoisted_3$c),
3627
+ }, null, 8 /* PROPS */, _hoisted_3$d),
3628
3628
  (field.required)
3629
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$c, "*"))
3629
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$d, "*"))
3630
3630
  : vue.createCommentVNode("v-if", true)
3631
3631
  ], 2 /* CLASS */))
3632
3632
  : vue.createCommentVNode("v-if", true),
3633
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFieldComponent(field)), vue.mergeProps(getComponentProps(field), {
3633
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFieldComponent(field)), vue.mergeProps({ ref_for: true }, getComponentProps(field), {
3634
3634
  isInvalid: typeof validationErrors.value[field.field] !== 'undefined',
3635
3635
  onClick: $event => (fieldChanged(field.field)),
3636
3636
  "onUpdate:modelValue": [$event => (fieldChanged(field.field)), $event => ((formFields.value[index].value) = $event)],
@@ -3642,7 +3642,7 @@ return (_ctx, _cache) => {
3642
3642
  key: 1,
3643
3643
  class: vue.normalizeClass(getElementClass('formLabel')),
3644
3644
  innerHTML: field.label
3645
- }, null, 10 /* CLASS, PROPS */, _hoisted_5$9))
3645
+ }, null, 10 /* CLASS, PROPS */, _hoisted_5$a))
3646
3646
  : vue.createCommentVNode("v-if", true),
3647
3647
  (vue.unref(isFloating))
3648
3648
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$8, [..._hoisted_10$6]))
@@ -3689,13 +3689,13 @@ return (_ctx, _cache) => {
3689
3689
 
3690
3690
  };
3691
3691
 
3692
- script$o.__file = "src/lib/components/ShAutoForm.vue";
3692
+ script$q.__file = "src/lib/components/ShAutoForm.vue";
3693
3693
 
3694
- const _hoisted_1$k = ["id", "data-bs-backdrop"];
3695
- const _hoisted_2$c = { class: "modal-content" };
3696
- const _hoisted_3$b = { class: "modal-header" };
3697
- const _hoisted_4$b = { class: "modal-title flex-fill" };
3698
- const _hoisted_5$8 = /*#__PURE__*/vue.createElementVNode("button", {
3694
+ const _hoisted_1$m = ["id", "data-bs-backdrop"];
3695
+ const _hoisted_2$e = { class: "modal-content" };
3696
+ const _hoisted_3$c = { class: "modal-header" };
3697
+ const _hoisted_4$c = { class: "modal-title flex-fill" };
3698
+ const _hoisted_5$9 = /*#__PURE__*/vue.createElementVNode("button", {
3699
3699
  class: "btn btn-danger btn-sm",
3700
3700
  "data-bs-dismiss": "modal",
3701
3701
  "data-dismiss": "modal"
@@ -3704,7 +3704,7 @@ const _hoisted_6$7 = { class: "modal-body" };
3704
3704
  const _hoisted_7$6 = { class: "section" };
3705
3705
 
3706
3706
 
3707
- var script$n = {
3707
+ var script$p = {
3708
3708
  __name: 'ShModal',
3709
3709
  props: {
3710
3710
  modalId: {
@@ -3762,10 +3762,10 @@ return (_ctx, _cache) => {
3762
3762
  vue.createElementVNode("div", {
3763
3763
  class: vue.normalizeClass(["modal-dialog", modalClasses.value])
3764
3764
  }, [
3765
- vue.createElementVNode("div", _hoisted_2$c, [
3766
- vue.createElementVNode("div", _hoisted_3$b, [
3767
- vue.createElementVNode("h3", _hoisted_4$b, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3768
- _hoisted_5$8
3765
+ vue.createElementVNode("div", _hoisted_2$e, [
3766
+ vue.createElementVNode("div", _hoisted_3$c, [
3767
+ vue.createElementVNode("h3", _hoisted_4$c, vue.toDisplayString(__props.modalTitle), 1 /* TEXT */),
3768
+ _hoisted_5$9
3769
3769
  ]),
3770
3770
  vue.createElementVNode("div", _hoisted_6$7, [
3771
3771
  vue.createElementVNode("div", _hoisted_7$6, [
@@ -3774,20 +3774,20 @@ return (_ctx, _cache) => {
3774
3774
  ])
3775
3775
  ])
3776
3776
  ], 2 /* CLASS */)
3777
- ], 8 /* PROPS */, _hoisted_1$k))
3777
+ ], 8 /* PROPS */, _hoisted_1$m))
3778
3778
  }
3779
3779
  }
3780
3780
 
3781
3781
  };
3782
3782
 
3783
- script$n.__file = "src/lib/components/ShModal.vue";
3783
+ script$p.__file = "src/lib/components/ShModal.vue";
3784
3784
 
3785
- const _hoisted_1$j = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3786
- const _hoisted_2$b = { class: "dropdown" };
3787
- const _hoisted_3$a = ["id"];
3788
- const _hoisted_4$a = ["aria-labelledby"];
3785
+ const _hoisted_1$l = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3786
+ const _hoisted_2$d = { class: "dropdown" };
3787
+ const _hoisted_3$b = ["id"];
3788
+ const _hoisted_4$b = ["aria-labelledby"];
3789
3789
 
3790
- var script$m = {
3790
+ var script$o = {
3791
3791
  __name: 'ShDropDownForm',
3792
3792
  props: ['action',
3793
3793
  'classes',
@@ -3835,8 +3835,8 @@ const formError = (res)=>{
3835
3835
 
3836
3836
  return (_ctx, _cache) => {
3837
3837
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3838
- _hoisted_1$j,
3839
- vue.createElementVNode("div", _hoisted_2$b, [
3838
+ _hoisted_1$l,
3839
+ vue.createElementVNode("div", _hoisted_2$d, [
3840
3840
  vue.createElementVNode("a", {
3841
3841
  class: vue.normalizeClass(vue.unref(btnClass)),
3842
3842
  href: "#",
@@ -3847,19 +3847,19 @@ return (_ctx, _cache) => {
3847
3847
  "aria-expanded": "false"
3848
3848
  }, [
3849
3849
  vue.renderSlot(_ctx.$slots, "default")
3850
- ], 10 /* CLASS, PROPS */, _hoisted_3$a),
3850
+ ], 10 /* CLASS, PROPS */, _hoisted_3$b),
3851
3851
  vue.createElementVNode("div", {
3852
3852
  class: "dropdown-menu px-2 py-1",
3853
3853
  "aria-labelledby": _ctx.dropdownId
3854
3854
  }, [
3855
- (vue.openBlock(), vue.createBlock(script$o, vue.mergeProps({
3855
+ (vue.openBlock(), vue.createBlock(script$q, vue.mergeProps({
3856
3856
  onSuccess: success,
3857
3857
  onFieldChanged: fieldChanged,
3858
3858
  onFormSubmitted: formSubmitted,
3859
3859
  onFormError: formError,
3860
3860
  key: JSON.stringify(__props.currentData ?? {})
3861
3861
  }, props), null, 16 /* FULL_PROPS */))
3862
- ], 8 /* PROPS */, _hoisted_4$a)
3862
+ ], 8 /* PROPS */, _hoisted_4$b)
3863
3863
  ])
3864
3864
  ], 64 /* STABLE_FRAGMENT */))
3865
3865
  }
@@ -3867,11 +3867,11 @@ return (_ctx, _cache) => {
3867
3867
 
3868
3868
  };
3869
3869
 
3870
- script$m.__file = "src/lib/components/ShDropDownForm.vue";
3870
+ script$o.__file = "src/lib/components/ShDropDownForm.vue";
3871
3871
 
3872
- const _hoisted_1$i = ["href"];
3872
+ const _hoisted_1$k = ["href"];
3873
3873
 
3874
- var script$l = {
3874
+ var script$n = {
3875
3875
  __name: 'ShModalForm',
3876
3876
  props: ['action',
3877
3877
  'classes',
@@ -3931,14 +3931,14 @@ return (_ctx, _cache) => {
3931
3931
  onClick: emitClick
3932
3932
  }, [
3933
3933
  vue.renderSlot(_ctx.$slots, "default")
3934
- ], 10 /* CLASS, PROPS */, _hoisted_1$i),
3935
- vue.createVNode(script$n, {
3934
+ ], 10 /* CLASS, PROPS */, _hoisted_1$k),
3935
+ vue.createVNode(script$p, {
3936
3936
  "modal-size": __props.modalSize,
3937
3937
  "modal-id": vue.unref(realModalId),
3938
3938
  "modal-title": __props.modalTitle
3939
3939
  }, {
3940
3940
  default: vue.withCtx(() => [
3941
- (vue.openBlock(), vue.createBlock(script$o, vue.mergeProps({
3941
+ (vue.openBlock(), vue.createBlock(script$q, vue.mergeProps({
3942
3942
  onSuccess: success,
3943
3943
  onFieldChanged: fieldChanged,
3944
3944
  onFormSubmitted: formSubmitted,
@@ -3954,11 +3954,11 @@ return (_ctx, _cache) => {
3954
3954
 
3955
3955
  };
3956
3956
 
3957
- script$l.__file = "src/lib/components/ShModalForm.vue";
3957
+ script$n.__file = "src/lib/components/ShModalForm.vue";
3958
3958
 
3959
- const _hoisted_1$h = ["href"];
3959
+ const _hoisted_1$j = ["href"];
3960
3960
 
3961
- var script$k = {
3961
+ var script$m = {
3962
3962
  __name: 'ShModalFormAuto',
3963
3963
  props: ['action',
3964
3964
  'classes',
@@ -3997,14 +3997,14 @@ return (_ctx, _cache) => {
3997
3997
  "data-bs-toggle": "modal"
3998
3998
  }, [
3999
3999
  vue.renderSlot(_ctx.$slots, "default")
4000
- ], 10 /* CLASS, PROPS */, _hoisted_1$h),
4001
- vue.createVNode(script$n, {
4000
+ ], 10 /* CLASS, PROPS */, _hoisted_1$j),
4001
+ vue.createVNode(script$p, {
4002
4002
  "modal-id": modalId,
4003
4003
  "modal-title": __props.modalTitle,
4004
4004
  "modal-size": __props.modalSize
4005
4005
  }, {
4006
4006
  default: vue.withCtx(() => [
4007
- vue.createVNode(script$o, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
4007
+ vue.createVNode(script$q, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
4008
4008
  ]),
4009
4009
  _: 1 /* STABLE */
4010
4010
  }, 8 /* PROPS */, ["modal-title", "modal-size"])
@@ -4014,17 +4014,17 @@ return (_ctx, _cache) => {
4014
4014
 
4015
4015
  };
4016
4016
 
4017
- script$k.__file = "src/lib/components/ShModalFormAuto.vue";
4017
+ script$m.__file = "src/lib/components/ShModalFormAuto.vue";
4018
4018
 
4019
- const _hoisted_1$g = ["data-bs-scroll", "id"];
4020
- const _hoisted_2$a = { class: "offcanvas-header" };
4021
- const _hoisted_3$9 = {
4019
+ const _hoisted_1$i = ["data-bs-scroll", "id"];
4020
+ const _hoisted_2$c = { class: "offcanvas-header" };
4021
+ const _hoisted_3$a = {
4022
4022
  class: "offcanvas-title",
4023
4023
  id: "offcanvasScrollingLabel"
4024
4024
  };
4025
- const _hoisted_4$9 = { class: "offcanvas-body" };
4025
+ const _hoisted_4$a = { class: "offcanvas-body" };
4026
4026
 
4027
- var script$j = {
4027
+ var script$l = {
4028
4028
  __name: 'ShCanvas',
4029
4029
  props: {
4030
4030
  canvasId: {
@@ -4070,8 +4070,8 @@ return (_ctx, _cache) => {
4070
4070
  id: __props.canvasId,
4071
4071
  "aria-labelledby": "offcanvasScrollingLabel"
4072
4072
  }, [
4073
- vue.createElementVNode("div", _hoisted_2$a, [
4074
- vue.createElementVNode("h5", _hoisted_3$9, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
4073
+ vue.createElementVNode("div", _hoisted_2$c, [
4074
+ vue.createElementVNode("h5", _hoisted_3$a, vue.toDisplayString(__props.canvasTitle), 1 /* TEXT */),
4075
4075
  vue.createElementVNode("button", {
4076
4076
  type: "button",
4077
4077
  ref: "closecanvas",
@@ -4081,32 +4081,32 @@ return (_ctx, _cache) => {
4081
4081
  "aria-label": "Close"
4082
4082
  }, null, 512 /* NEED_PATCH */)
4083
4083
  ]),
4084
- vue.createElementVNode("div", _hoisted_4$9, [
4084
+ vue.createElementVNode("div", _hoisted_4$a, [
4085
4085
  vue.renderSlot(_ctx.$slots, "default")
4086
4086
  ])
4087
- ], 10 /* CLASS, PROPS */, _hoisted_1$g))
4087
+ ], 10 /* CLASS, PROPS */, _hoisted_1$i))
4088
4088
  }
4089
4089
  }
4090
4090
 
4091
4091
  };
4092
4092
 
4093
- script$j.__file = "src/lib/components/ShCanvas.vue";
4093
+ script$l.__file = "src/lib/components/ShCanvas.vue";
4094
4094
 
4095
- const _hoisted_1$f = { class: "callout callout-info" };
4095
+ const _hoisted_1$h = { class: "callout callout-info" };
4096
4096
 
4097
4097
  function render$2(_ctx, _cache) {
4098
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
4098
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
4099
4099
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
4100
4100
  vue.createTextVNode(" No records found ")
4101
4101
  ])
4102
4102
  ]))
4103
4103
  }
4104
4104
 
4105
- const script$i = {};
4105
+ const script$k = {};
4106
4106
 
4107
- script$i.render = render$2;
4108
- script$i.__scopeId = "data-v-55cf77fb";
4109
- script$i.__file = "src/lib/components/others/NoRecords.vue";
4107
+ script$k.render = render$2;
4108
+ script$k.__scopeId = "data-v-55cf77fb";
4109
+ script$k.__file = "src/lib/components/others/NoRecords.vue";
4110
4110
 
4111
4111
  const useUserStore = pinia.defineStore('user-store', {
4112
4112
  state: () => ({
@@ -4205,7 +4205,410 @@ const useUserStore = pinia.defineStore('user-store', {
4205
4205
  }
4206
4206
  });
4207
4207
 
4208
+ const _hoisted_1$g = /*#__PURE__*/vue.createElementVNode("span", {
4209
+ class: "spinner-border spinner-border-sm me-1",
4210
+ role: "status",
4211
+ "aria-hidden": "true"
4212
+ }, null, -1 /* HOISTED */);
4213
+
4214
+
4215
+ var script$j = {
4216
+ __name: 'ShConfirmAction',
4217
+ props: {
4218
+ data: Object,
4219
+ title: String,
4220
+ message: String,
4221
+ url: {
4222
+ type: String,
4223
+ required: true
4224
+ },
4225
+ loadingMessage: {
4226
+ type: String,
4227
+ default: 'Processing...'
4228
+ },
4229
+ successMessage: {
4230
+ type: String,
4231
+ default: 'Action Successful'
4232
+ },
4233
+ failMessage: {
4234
+ type: String,
4235
+ default: 'Action failed'
4236
+ }
4237
+ },
4238
+ emits: ['actionSuccessful', 'actionFailed','success','failed','canceled','actionCanceled'],
4239
+ setup(__props, { emit: __emit }) {
4240
+
4241
+ const props = __props;
4242
+
4243
+ const processing = vue.ref(false);
4244
+ const emit = __emit;
4245
+ const actionSuccessful = (res)=>{
4246
+ processing.value = false;
4247
+ res.actionType = 'silentAction';
4248
+ emit('actionSuccessful',res);
4249
+ emit('success',res);
4250
+ shRepo.showToast(res.message ?? props.successMessage);
4251
+ };
4252
+
4253
+ const actionFailed = reason =>{
4254
+ console.log(reason);
4255
+ processing.value = false;
4256
+ reason.actionType = 'silentAction';
4257
+ emit('actionFailed', reason);
4258
+ emit('failed', reason);
4259
+ shRepo.showToast(reason.value.error.message ?? props.failMessage,'error');
4260
+ };
4261
+ function runAction () {
4262
+ processing.value = true;
4263
+ shRepo.runPlainRequest(props.url, props.message, props.title, props.data).then(res => {
4264
+ if(res.isConfirmed){
4265
+ const value = res.value;
4266
+ if(value.success){
4267
+ actionSuccessful(res.value.response);
4268
+ } else {
4269
+ actionFailed(res);
4270
+ }
4271
+ } else {
4272
+ emit('actionCanceled');
4273
+ emit('canceled');
4274
+ processing.value = false;
4275
+ }
4276
+ }).catch(ex => {
4277
+ actionFailed(ex);
4278
+ });
4279
+ }
4280
+
4281
+ return (_ctx, _cache) => {
4282
+ return (vue.openBlock(), vue.createElementBlock("a", {
4283
+ class: vue.normalizeClass(processing.value ? 'disabled':''),
4284
+ onClick: runAction
4285
+ }, [
4286
+ (processing.value)
4287
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4288
+ _hoisted_1$g,
4289
+ vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4290
+ ], 64 /* STABLE_FRAGMENT */))
4291
+ : vue.createCommentVNode("v-if", true),
4292
+ (!processing.value)
4293
+ ? vue.renderSlot(_ctx.$slots, "default", { key: 1 })
4294
+ : vue.createCommentVNode("v-if", true)
4295
+ ], 2 /* CLASS */))
4296
+ }
4297
+ }
4298
+
4299
+ };
4300
+
4301
+ script$j.__file = "src/lib/components/ShConfirmAction.vue";
4302
+
4303
+ const _hoisted_1$f = /*#__PURE__*/vue.createElementVNode("span", {
4304
+ class: "spinner-border spinner-border-sm me-1",
4305
+ role: "status",
4306
+ "aria-hidden": "true"
4307
+ }, null, -1 /* HOISTED */);
4308
+
4309
+ var script$i = {
4310
+ __name: 'ShSilentAction',
4311
+ props: {
4312
+ data: Object,
4313
+ loadingMessage: {
4314
+ type: String,
4315
+ default: 'Processing'
4316
+ },
4317
+ successMessage: {
4318
+ type: String,
4319
+ default: 'Action Successful'
4320
+ },
4321
+ failMessage: {
4322
+ type: String,
4323
+ default: 'Action failed'
4324
+ },
4325
+ method: {
4326
+ type: String,
4327
+ default: 'POST'
4328
+ },
4329
+ url: {
4330
+ type: String,
4331
+ required: true
4332
+ },
4333
+ disableSuccessMessage: {
4334
+ type: Boolean
4335
+ }
4336
+ },
4337
+ emits: ['actionSuccessful','actionFailed','success'],
4338
+ setup(__props, { emit: __emit }) {
4339
+
4340
+ const props = __props;
4341
+ const processing = vue.ref(false);
4342
+ const emit = __emit;
4343
+ const actionSuccessful = (res)=>{
4344
+ processing.value = false;
4345
+ res.actionType = 'silentAction';
4346
+ console.log(res.data,props.successMessage);
4347
+ emit('actionSuccessful',res);
4348
+ emit('success',res);
4349
+ if(!props.disableSuccessMessage) {
4350
+ shRepo.showToast(res.data.message ?? props.successMessage);
4351
+ }
4352
+ };
4353
+
4354
+ const actionFailed = reason =>{
4355
+ processing.value = false;
4356
+ console.log(reason);
4357
+ shRepo.showToast('Failed');
4358
+ reason.actionType = 'silentAction';
4359
+ emit('actionFailed', reason);
4360
+ shRepo.showToast(reason.message ?? props.failMessage,'error');
4361
+ };
4362
+ function runAction(){
4363
+ processing.value = true;
4364
+ if(props.method === 'POST'){
4365
+ shApis.doPost(props.url,props.data).then(res=>{
4366
+ actionSuccessful(res);
4367
+ }).catch(reason=>{
4368
+ actionFailed(reason);
4369
+ });
4370
+ }
4371
+ if(props.method === 'GET'){
4372
+ shApis.doGet(props.url,props.data).then(res=>{
4373
+ actionSuccessful(res);
4374
+ }).catch(reason=>{
4375
+ actionFailed(reason);
4376
+ });
4377
+ }
4378
+ }
4379
+
4380
+ return (_ctx, _cache) => {
4381
+ return (vue.openBlock(), vue.createElementBlock("a", {
4382
+ class: vue.normalizeClass(processing.value ? 'disabled':''),
4383
+ onClick: runAction
4384
+ }, [
4385
+ (processing.value)
4386
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4387
+ _hoisted_1$f,
4388
+ vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4389
+ ], 64 /* STABLE_FRAGMENT */))
4390
+ : vue.createCommentVNode("v-if", true),
4391
+ (!processing.value)
4392
+ ? vue.renderSlot(_ctx.$slots, "default", { key: 1 })
4393
+ : vue.createCommentVNode("v-if", true)
4394
+ ], 2 /* CLASS */))
4395
+ }
4396
+ }
4397
+
4398
+ };
4399
+
4400
+ script$i.__file = "src/lib/components/ShSilentAction.vue";
4401
+
4402
+ const _hoisted_1$e = ["href"];
4403
+ const _hoisted_2$b = ["title"];
4404
+
4405
+
4208
4406
  var script$h = {
4407
+ __name: 'SingleAction',
4408
+ props: ['action','record'],
4409
+ emits: ['actionSuccessful','actionFailed','actionCanceled'],
4410
+ setup(__props, { emit: __emit }) {
4411
+
4412
+ const props = __props;
4413
+
4414
+ const doEmitAction = __emit;
4415
+
4416
+ const url = vue.ref(props.action.path || props.action.url || props.action.link);
4417
+
4418
+ vue.onMounted(()=>{
4419
+ if(!url.value) {
4420
+ url.value = '';
4421
+ }
4422
+ // replace params in url with record key e.g {id} replaced with record.id
4423
+ url.value = url.value.replace(/{(\w+)}/g, (match, key) => {
4424
+ return props.record[key]
4425
+ });
4426
+
4427
+ // replace params e.g :id replaced with record.id
4428
+ url.value = url.value.replace(/:(\w+)/g, (match, key) => {
4429
+ return props.record[key]
4430
+ });
4431
+ });
4432
+
4433
+ const {user} = pinia.storeToRefs(useUserStore());
4434
+
4435
+ return (_ctx, _cache) => {
4436
+ const _component_router_link = vue.resolveComponent("router-link");
4437
+
4438
+ return (!__props.action.permission || vue.unref(user).isAllowedTo(__props.action.permission))
4439
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4440
+ (!__props.action.validator || __props.action.validator(__props.record))
4441
+ ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4442
+ (['confirmAction','confirmaction','confirm-action','confirm'].includes(__props.action.type))
4443
+ ? (vue.openBlock(), vue.createBlock(script$j, {
4444
+ key: 0,
4445
+ onActionSuccessful: _cache[0] || (_cache[0] = $event => (doEmitAction('actionSuccessful',__props.record))),
4446
+ onActionFailed: _cache[1] || (_cache[1] = $event => (doEmitAction('actionFailed',__props.record))),
4447
+ onActionCanceled: _cache[2] || (_cache[2] = $event => (doEmitAction('actionCanceled',__props.record))),
4448
+ "loading-message": __props.action.label,
4449
+ class: vue.normalizeClass(__props.action.class),
4450
+ url: url.value
4451
+ }, {
4452
+ default: vue.withCtx(() => [
4453
+ (__props.action.icon)
4454
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4455
+ key: 0,
4456
+ class: vue.normalizeClass(__props.action.icon)
4457
+ }, null, 2 /* CLASS */))
4458
+ : vue.createCommentVNode("v-if", true),
4459
+ vue.createTextVNode(" " + vue.toDisplayString(__props.action.label), 1 /* TEXT */)
4460
+ ]),
4461
+ _: 1 /* STABLE */
4462
+ }, 8 /* PROPS */, ["loading-message", "class", "url"]))
4463
+ : (['silentAction','silentaction','silent-action','silent'].includes(__props.action.type))
4464
+ ? (vue.openBlock(), vue.createBlock(script$i, {
4465
+ key: 1,
4466
+ onActionSuccessful: _cache[3] || (_cache[3] = $event => (doEmitAction('actionSuccessful',__props.record))),
4467
+ onActionFailed: _cache[4] || (_cache[4] = $event => (doEmitAction('actionFailed',__props.record))),
4468
+ onActionCanceled: _cache[5] || (_cache[5] = $event => (doEmitAction('actionCanceled',__props.record))),
4469
+ "loading-message": __props.action.label,
4470
+ class: vue.normalizeClass(__props.action.class),
4471
+ url: url.value
4472
+ }, {
4473
+ default: vue.withCtx(() => [
4474
+ (__props.action.icon)
4475
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4476
+ key: 0,
4477
+ class: vue.normalizeClass(__props.action.icon)
4478
+ }, null, 2 /* CLASS */))
4479
+ : vue.createCommentVNode("v-if", true),
4480
+ vue.createTextVNode(" " + vue.toDisplayString(__props.action.label), 1 /* TEXT */)
4481
+ ]),
4482
+ _: 1 /* STABLE */
4483
+ }, 8 /* PROPS */, ["loading-message", "class", "url"]))
4484
+ : (__props.action.canvasId || __props.action.type === 'offcanvas')
4485
+ ? (vue.openBlock(), vue.createElementBlock("a", {
4486
+ key: 2,
4487
+ href: '#' + __props.action.canvasId,
4488
+ "data-bs-toggle": "offcanvas",
4489
+ class: vue.normalizeClass(__props.action.class)
4490
+ }, [
4491
+ (__props.action.icon)
4492
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4493
+ key: 0,
4494
+ class: vue.normalizeClass(__props.action.icon)
4495
+ }, null, 2 /* CLASS */))
4496
+ : vue.createCommentVNode("v-if", true),
4497
+ vue.createTextVNode(" " + vue.toDisplayString(__props.action.label), 1 /* TEXT */)
4498
+ ], 10 /* CLASS, PROPS */, _hoisted_1$e))
4499
+ : (__props.action.emits)
4500
+ ? (vue.openBlock(), vue.createElementBlock("button", {
4501
+ key: 3,
4502
+ title: __props.action.title,
4503
+ class: vue.normalizeClass(__props.action.class ? __props.action.class:'btn btn-default'),
4504
+ onClick: _cache[6] || (_cache[6] = $event => (doEmitAction(__props.action.emits,__props.record)))
4505
+ }, [
4506
+ (__props.action.icon)
4507
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4508
+ key: 0,
4509
+ class: vue.normalizeClass(__props.action.icon)
4510
+ }, null, 2 /* CLASS */))
4511
+ : vue.createCommentVNode("v-if", true),
4512
+ vue.createTextVNode(" " + vue.toDisplayString(__props.action.label), 1 /* TEXT */)
4513
+ ], 10 /* CLASS, PROPS */, _hoisted_2$b))
4514
+ : (!__props.action.emits)
4515
+ ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4516
+ key: 4,
4517
+ title: __props.action.title,
4518
+ to: url.value,
4519
+ class: vue.normalizeClass(__props.action.class)
4520
+ }, {
4521
+ default: vue.withCtx(() => [
4522
+ (__props.action.icon)
4523
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4524
+ key: 0,
4525
+ class: vue.normalizeClass(__props.action.icon)
4526
+ }, null, 2 /* CLASS */))
4527
+ : vue.createCommentVNode("v-if", true),
4528
+ vue.createTextVNode(" " + vue.toDisplayString(__props.action.label), 1 /* TEXT */)
4529
+ ]),
4530
+ _: 1 /* STABLE */
4531
+ }, 8 /* PROPS */, ["title", "to", "class"]))
4532
+ : vue.createCommentVNode("v-if", true)
4533
+ ], 64 /* STABLE_FRAGMENT */))
4534
+ : vue.createCommentVNode("v-if", true)
4535
+ ], 64 /* STABLE_FRAGMENT */))
4536
+ : vue.createCommentVNode("v-if", true)
4537
+ }
4538
+ }
4539
+
4540
+ };
4541
+
4542
+ script$h.__file = "src/lib/components/table/SingleAction.vue";
4543
+
4544
+ const _hoisted_1$d = {
4545
+ key: 0,
4546
+ class: "dropdown"
4547
+ };
4548
+ const _hoisted_2$a = {
4549
+ class: "sh-table-dropdown",
4550
+ type: "button",
4551
+ "data-bs-toggle": "dropdown",
4552
+ "aria-expanded": "false"
4553
+ };
4554
+ const _hoisted_3$9 = {
4555
+ key: 0,
4556
+ class: "bi bi-three-dots"
4557
+ };
4558
+ const _hoisted_4$9 = {
4559
+ key: 1,
4560
+ class: "bi bi-three-dots-vertical"
4561
+ };
4562
+ const _hoisted_5$8 = { class: "dropdown-menu" };
4563
+
4564
+
4565
+ var script$g = {
4566
+ __name: 'TableActions',
4567
+ props: ['actions','record'],
4568
+ setup(__props) {
4569
+
4570
+ const props = __props;
4571
+
4572
+ const actionItems = props.actions.actions;
4573
+ const type = props.actions.type; // dropdown, button
4574
+
4575
+ return (_ctx, _cache) => {
4576
+ return (vue.unref(type).includes('dropdown'))
4577
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
4578
+ vue.createElementVNode("strong", _hoisted_2$a, [
4579
+ (vue.unref(type) === 'dropdown-horizontal')
4580
+ ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_3$9))
4581
+ : (vue.openBlock(), vue.createElementBlock("i", _hoisted_4$9))
4582
+ ]),
4583
+ vue.createElementVNode("ul", _hoisted_5$8, [
4584
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(actionItems), (act) => {
4585
+ return (vue.openBlock(), vue.createElementBlock("li", {
4586
+ key: act.label
4587
+ }, [
4588
+ vue.createVNode(script$h, {
4589
+ class: vue.normalizeClass(act.class),
4590
+ action: act,
4591
+ record: __props.record
4592
+ }, null, 8 /* PROPS */, ["class", "action", "record"])
4593
+ ]))
4594
+ }), 128 /* KEYED_FRAGMENT */))
4595
+ ])
4596
+ ]))
4597
+ : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(actionItems), (act) => {
4598
+ return (vue.openBlock(), vue.createBlock(script$h, {
4599
+ key: act.label,
4600
+ action: act,
4601
+ record: __props.record
4602
+ }, null, 8 /* PROPS */, ["action", "record"]))
4603
+ }), 128 /* KEYED_FRAGMENT */))
4604
+ }
4605
+ }
4606
+
4607
+ };
4608
+
4609
+ script$g.__file = "src/lib/components/table/TableActions.vue";
4610
+
4611
+ var script$f = {
4209
4612
  name: 'Pagination',
4210
4613
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore', 'paginationStyle','perPage'],
4211
4614
  data () {
@@ -4284,7 +4687,7 @@ var script$h = {
4284
4687
  }
4285
4688
  };
4286
4689
 
4287
- const _hoisted_1$e = { key: 0 };
4690
+ const _hoisted_1$c = { key: 0 };
4288
4691
  const _hoisted_2$9 = { class: "record_count_body mb-3" };
4289
4692
  const _hoisted_3$8 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
4290
4693
  const _hoisted_4$8 = ["value"];
@@ -4331,7 +4734,7 @@ const _hoisted_18$2 = {
4331
4734
 
4332
4735
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4333
4736
  return ($props.paginationStyle !== 'loadMore')
4334
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
4737
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
4335
4738
  vue.createElementVNode("div", _hoisted_2$9, [
4336
4739
  _hoisted_3$8,
4337
4740
  vue.createTextVNode("  "),
@@ -4410,202 +4813,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4410
4813
  ]))
4411
4814
  }
4412
4815
 
4413
- script$h.render = render$1;
4414
- script$h.__file = "src/lib/components/list_templates/Pagination.vue";
4415
-
4416
- const _hoisted_1$d = /*#__PURE__*/vue.createElementVNode("span", {
4417
- class: "spinner-border spinner-border-sm me-1",
4418
- role: "status",
4419
- "aria-hidden": "true"
4420
- }, null, -1 /* HOISTED */);
4421
-
4422
-
4423
- var script$g = {
4424
- __name: 'ShConfirmAction',
4425
- props: {
4426
- data: Object,
4427
- title: String,
4428
- message: String,
4429
- url: {
4430
- type: String,
4431
- required: true
4432
- },
4433
- loadingMessage: {
4434
- type: String,
4435
- default: 'Processing...'
4436
- },
4437
- successMessage: {
4438
- type: String,
4439
- default: 'Action Successful'
4440
- },
4441
- failMessage: {
4442
- type: String,
4443
- default: 'Action failed'
4444
- }
4445
- },
4446
- emits: ['actionSuccessful', 'actionFailed','success','failed','canceled','actionCanceled'],
4447
- setup(__props, { emit: __emit }) {
4448
-
4449
- const props = __props;
4450
-
4451
- const processing = vue.ref(false);
4452
- const emit = __emit;
4453
- const actionSuccessful = (res)=>{
4454
- processing.value = false;
4455
- res.actionType = 'silentAction';
4456
- emit('actionSuccessful',res);
4457
- emit('success',res);
4458
- shRepo.showToast(res.message ?? props.successMessage);
4459
- };
4460
-
4461
- const actionFailed = reason =>{
4462
- console.log(reason);
4463
- processing.value = false;
4464
- reason.actionType = 'silentAction';
4465
- emit('actionFailed', reason);
4466
- emit('failed', reason);
4467
- shRepo.showToast(reason.value.error.message ?? props.failMessage,'error');
4468
- };
4469
- function runAction () {
4470
- processing.value = true;
4471
- shRepo.runPlainRequest(props.url, props.message, props.title, props.data).then(res => {
4472
- if(res.isConfirmed){
4473
- const value = res.value;
4474
- if(value.success){
4475
- actionSuccessful(res.value.response);
4476
- } else {
4477
- actionFailed(res);
4478
- }
4479
- } else {
4480
- emit('actionCanceled');
4481
- emit('canceled');
4482
- processing.value = false;
4483
- }
4484
- }).catch(ex => {
4485
- actionFailed(ex);
4486
- });
4487
- }
4488
-
4489
- return (_ctx, _cache) => {
4490
- return (vue.openBlock(), vue.createElementBlock("a", {
4491
- class: vue.normalizeClass(processing.value ? 'disabled':''),
4492
- onClick: runAction
4493
- }, [
4494
- (processing.value)
4495
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4496
- _hoisted_1$d,
4497
- vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4498
- ], 64 /* STABLE_FRAGMENT */))
4499
- : vue.createCommentVNode("v-if", true),
4500
- (!processing.value)
4501
- ? vue.renderSlot(_ctx.$slots, "default", { key: 1 })
4502
- : vue.createCommentVNode("v-if", true)
4503
- ], 2 /* CLASS */))
4504
- }
4505
- }
4506
-
4507
- };
4508
-
4509
- script$g.__file = "src/lib/components/ShConfirmAction.vue";
4510
-
4511
- const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("span", {
4512
- class: "spinner-border spinner-border-sm me-1",
4513
- role: "status",
4514
- "aria-hidden": "true"
4515
- }, null, -1 /* HOISTED */);
4516
-
4517
- var script$f = {
4518
- __name: 'ShSilentAction',
4519
- props: {
4520
- data: Object,
4521
- loadingMessage: {
4522
- type: String,
4523
- default: 'Processing'
4524
- },
4525
- successMessage: {
4526
- type: String,
4527
- default: 'Action Successful'
4528
- },
4529
- failMessage: {
4530
- type: String,
4531
- default: 'Action failed'
4532
- },
4533
- method: {
4534
- type: String,
4535
- default: 'POST'
4536
- },
4537
- url: {
4538
- type: String,
4539
- required: true
4540
- },
4541
- disableSuccessMessage: {
4542
- type: Boolean
4543
- }
4544
- },
4545
- emits: ['actionSuccessful','actionFailed','success'],
4546
- setup(__props, { emit: __emit }) {
4547
-
4548
- const props = __props;
4549
- const processing = vue.ref(false);
4550
- const emit = __emit;
4551
- const actionSuccessful = (res)=>{
4552
- processing.value = false;
4553
- res.actionType = 'silentAction';
4554
- console.log(res.data,props.successMessage);
4555
- emit('actionSuccessful',res);
4556
- emit('success',res);
4557
- if(!props.disableSuccessMessage) {
4558
- shRepo.showToast(res.data.message ?? props.successMessage);
4559
- }
4560
- };
4561
-
4562
- const actionFailed = reason =>{
4563
- processing.value = false;
4564
- console.log(reason);
4565
- shRepo.showToast('Failed');
4566
- reason.actionType = 'silentAction';
4567
- emit('actionFailed', reason);
4568
- shRepo.showToast(reason.message ?? props.failMessage,'error');
4569
- };
4570
- function runAction(){
4571
- processing.value = true;
4572
- if(props.method === 'POST'){
4573
- shApis.doPost(props.url,props.data).then(res=>{
4574
- actionSuccessful(res);
4575
- }).catch(reason=>{
4576
- actionFailed(reason);
4577
- });
4578
- }
4579
- if(props.method === 'GET'){
4580
- shApis.doGet(props.url,props.data).then(res=>{
4581
- actionSuccessful(res);
4582
- }).catch(reason=>{
4583
- actionFailed(reason);
4584
- });
4585
- }
4586
- }
4587
-
4588
- return (_ctx, _cache) => {
4589
- return (vue.openBlock(), vue.createElementBlock("a", {
4590
- class: vue.normalizeClass(processing.value ? 'disabled':''),
4591
- onClick: runAction
4592
- }, [
4593
- (processing.value)
4594
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4595
- _hoisted_1$c,
4596
- vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
4597
- ], 64 /* STABLE_FRAGMENT */))
4598
- : vue.createCommentVNode("v-if", true),
4599
- (!processing.value)
4600
- ? vue.renderSlot(_ctx.$slots, "default", { key: 1 })
4601
- : vue.createCommentVNode("v-if", true)
4602
- ], 2 /* CLASS */))
4603
- }
4604
- }
4605
-
4606
- };
4607
-
4608
- script$f.__file = "src/lib/components/ShSilentAction.vue";
4816
+ script$f.render = render$1;
4817
+ script$f.__file = "src/lib/components/list_templates/Pagination.vue";
4609
4818
 
4610
4819
  const _hoisted_1$b = { class: "sh-range" };
4611
4820
  const _hoisted_2$8 = { class: "dropdown" };
@@ -4914,14 +5123,12 @@ const _hoisted_46 = {
4914
5123
  key: 0,
4915
5124
  style: {"white-space":"nowrap"}
4916
5125
  };
4917
- const _hoisted_47 = ["href"];
4918
- const _hoisted_48 = ["title", "onClick"];
4919
- const _hoisted_49 = { key: 5 };
4920
- const _hoisted_50 = {
5126
+ const _hoisted_47 = { key: 5 };
5127
+ const _hoisted_48 = {
4921
5128
  key: 0,
4922
5129
  class: "text-center"
4923
5130
  };
4924
- const _hoisted_51 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-center" }, [
5131
+ const _hoisted_49 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-center" }, [
4925
5132
  /*#__PURE__*/vue.createElementVNode("div", {
4926
5133
  class: "spinner-border",
4927
5134
  role: "status"
@@ -4929,45 +5136,43 @@ const _hoisted_51 = /*#__PURE__*/vue.createElementVNode("div", { class: "text-ce
4929
5136
  /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...")
4930
5137
  ])
4931
5138
  ], -1 /* HOISTED */);
4932
- const _hoisted_52 = [
4933
- _hoisted_51
5139
+ const _hoisted_50 = [
5140
+ _hoisted_49
4934
5141
  ];
4935
- const _hoisted_53 = { key: 1 };
4936
- const _hoisted_54 = {
5142
+ const _hoisted_51 = { key: 1 };
5143
+ const _hoisted_52 = {
4937
5144
  key: 2,
4938
5145
  class: "mobile-list-items"
4939
5146
  };
4940
- const _hoisted_55 = ["onClick"];
4941
- const _hoisted_56 = {
5147
+ const _hoisted_53 = ["onClick"];
5148
+ const _hoisted_54 = {
4942
5149
  key: 0,
4943
5150
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
4944
5151
  };
4945
- const _hoisted_57 = {
5152
+ const _hoisted_55 = {
4946
5153
  key: 1,
4947
5154
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
4948
5155
  };
4949
- const _hoisted_58 = {
5156
+ const _hoisted_56 = {
4950
5157
  key: 2,
4951
5158
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
4952
5159
  };
4953
- const _hoisted_59 = {
5160
+ const _hoisted_57 = {
4954
5161
  key: 3,
4955
5162
  class: "mb-1 font-weight-bold text-capitalize profile-form-title"
4956
5163
  };
4957
- const _hoisted_60 = { key: 1 };
4958
- const _hoisted_61 = {
5164
+ const _hoisted_58 = { key: 1 };
5165
+ const _hoisted_59 = {
4959
5166
  key: 2,
4960
5167
  class: "text-primary fw-bold"
4961
5168
  };
4962
- const _hoisted_62 = { key: 3 };
5169
+ const _hoisted_60 = { key: 3 };
5170
+ const _hoisted_61 = ["innerHTML"];
5171
+ const _hoisted_62 = ["innerHTML"];
4963
5172
  const _hoisted_63 = ["innerHTML"];
4964
5173
  const _hoisted_64 = ["innerHTML"];
4965
- const _hoisted_65 = ["innerHTML"];
4966
- const _hoisted_66 = ["innerHTML"];
4967
- const _hoisted_67 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
4968
- const _hoisted_68 = { key: 0 };
4969
- const _hoisted_69 = ["href"];
4970
- const _hoisted_70 = ["title", "onClick"];
5174
+ const _hoisted_65 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
5175
+ const _hoisted_66 = { key: 0 };
4971
5176
 
4972
5177
  const __default__ = {
4973
5178
  name: 'sh-table',
@@ -5261,10 +5466,10 @@ const __default__ = {
5261
5466
  },
5262
5467
  components: {
5263
5468
  ShRange: script$e,
5264
- ShSilentAction: script$f,
5265
- ShConfirmAction: script$g,
5266
- ShCanvas: script$j,
5267
- pagination: script$h
5469
+ ShSilentAction: script$i,
5470
+ ShConfirmAction: script$j,
5471
+ ShCanvas: script$l,
5472
+ pagination: script$f
5268
5473
  },
5269
5474
  computed: {
5270
5475
  windowWidth: function (){
@@ -5286,9 +5491,9 @@ const __default__ = {
5286
5491
  var script$d = /*#__PURE__*/Object.assign(__default__, {
5287
5492
  setup(__props) {
5288
5493
 
5289
- const noRecordsComponent = vue.inject('noRecordsComponent', script$i);
5494
+ const noRecordsComponent = vue.inject('noRecordsComponent', script$k);
5290
5495
 
5291
- const {user} = pinia.storeToRefs(useUserStore());
5496
+ pinia.storeToRefs(useUserStore());
5292
5497
 
5293
5498
 
5294
5499
  return (_ctx, _cache) => {
@@ -5512,111 +5717,10 @@ return (_ctx, _cache) => {
5512
5717
  }), 128 /* KEYED_FRAGMENT */)),
5513
5718
  (__props.actions)
5514
5719
  ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_46, [
5515
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.actions.actions, (act) => {
5516
- return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
5517
- key: act.path
5518
- }, [
5519
- (!act.permission || vue.unref(user).isAllowedTo(act.permission))
5520
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5521
- (!act.validator || act.validator(record))
5522
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5523
- (['confirmAction','confirmaction','confirm-action','confirm'].includes(act.type))
5524
- ? (vue.openBlock(), vue.createBlock(script$g, {
5525
- key: 0,
5526
- onActionSuccessful: $event => (_ctx.doEmitAction('actionSuccessful',record)),
5527
- onActionFailed: $event => (_ctx.doEmitAction('actionFailed',record)),
5528
- onActionCanceled: $event => (_ctx.doEmitAction('actionCanceled',record)),
5529
- "loading-message": act.label,
5530
- class: vue.normalizeClass(act.class),
5531
- url: _ctx.replaceActionUrl(act.url,record)
5532
- }, {
5533
- default: vue.withCtx(() => [
5534
- (act.icon)
5535
- ? (vue.openBlock(), vue.createElementBlock("span", {
5536
- key: 0,
5537
- class: vue.normalizeClass(act.icon)
5538
- }, null, 2 /* CLASS */))
5539
- : vue.createCommentVNode("v-if", true),
5540
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5541
- ]),
5542
- _: 2 /* DYNAMIC */
5543
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
5544
- : (['silentAction','silentaction','silent-action','silent'].includes(act.type))
5545
- ? (vue.openBlock(), vue.createBlock(script$f, {
5546
- key: 1,
5547
- onActionSuccessful: $event => (_ctx.doEmitAction('actionSuccessful',record)),
5548
- onActionFailed: $event => (_ctx.doEmitAction('actionFailed',record)),
5549
- onActionCanceled: $event => (_ctx.doEmitAction('actionCanceled',record)),
5550
- "loading-message": act.label,
5551
- class: vue.normalizeClass(act.class),
5552
- url: _ctx.replaceActionUrl(act.url,record)
5553
- }, {
5554
- default: vue.withCtx(() => [
5555
- (act.icon)
5556
- ? (vue.openBlock(), vue.createElementBlock("span", {
5557
- key: 0,
5558
- class: vue.normalizeClass(act.icon)
5559
- }, null, 2 /* CLASS */))
5560
- : vue.createCommentVNode("v-if", true),
5561
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5562
- ]),
5563
- _: 2 /* DYNAMIC */
5564
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
5565
- : (act.canvasId || act.type === 'offcanvas')
5566
- ? (vue.openBlock(), vue.createElementBlock("a", {
5567
- key: 2,
5568
- href: '#' + act.canvasId,
5569
- "data-bs-toggle": "offcanvas",
5570
- class: vue.normalizeClass(act.class)
5571
- }, [
5572
- (act.icon)
5573
- ? (vue.openBlock(), vue.createElementBlock("span", {
5574
- key: 0,
5575
- class: vue.normalizeClass(act.icon)
5576
- }, null, 2 /* CLASS */))
5577
- : vue.createCommentVNode("v-if", true),
5578
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5579
- ], 10 /* CLASS, PROPS */, _hoisted_47))
5580
- : (act.emits)
5581
- ? (vue.openBlock(), vue.createElementBlock("button", {
5582
- key: 3,
5583
- title: act.title,
5584
- class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
5585
- onClick: $event => (_ctx.doEmitAction(act.emits,record))
5586
- }, [
5587
- (act.icon)
5588
- ? (vue.openBlock(), vue.createElementBlock("span", {
5589
- key: 0,
5590
- class: vue.normalizeClass(act.icon)
5591
- }, null, 2 /* CLASS */))
5592
- : vue.createCommentVNode("v-if", true),
5593
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5594
- ], 10 /* CLASS, PROPS */, _hoisted_48))
5595
- : (!act.emits)
5596
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
5597
- key: 4,
5598
- title: act.title,
5599
- to: _ctx.replaceActionUrl(act.path,record),
5600
- class: vue.normalizeClass(act.class)
5601
- }, {
5602
- default: vue.withCtx(() => [
5603
- (act.icon)
5604
- ? (vue.openBlock(), vue.createElementBlock("span", {
5605
- key: 0,
5606
- class: vue.normalizeClass(act.icon)
5607
- }, null, 2 /* CLASS */))
5608
- : vue.createCommentVNode("v-if", true),
5609
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5610
- ]),
5611
- _: 2 /* DYNAMIC */
5612
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
5613
- : vue.createCommentVNode("v-if", true)
5614
- ], 64 /* STABLE_FRAGMENT */))
5615
- : vue.createCommentVNode("v-if", true)
5616
- ], 64 /* STABLE_FRAGMENT */))
5617
- : vue.createCommentVNode("v-if", true)
5618
- ], 64 /* STABLE_FRAGMENT */))
5619
- }), 128 /* KEYED_FRAGMENT */))
5720
+ vue.createVNode(script$g, {
5721
+ actions: __props.actions,
5722
+ record: record
5723
+ }, null, 8 /* PROPS */, ["actions", "record"])
5620
5724
  ]))
5621
5725
  : vue.createCommentVNode("v-if", true)
5622
5726
  ], 10 /* CLASS, PROPS */, _hoisted_38))
@@ -5624,15 +5728,15 @@ return (_ctx, _cache) => {
5624
5728
  : vue.createCommentVNode("v-if", true)
5625
5729
  ])
5626
5730
  ], 2 /* CLASS */))
5627
- : (vue.openBlock(), vue.createElementBlock("div", _hoisted_49, [
5731
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_47, [
5628
5732
  (_ctx.loading === 'loading')
5629
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_50, [..._hoisted_52]))
5733
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_48, [..._hoisted_50]))
5630
5734
  : (_ctx.loading === 'error')
5631
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_53, [
5735
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_51, [
5632
5736
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.loading_error), 1 /* TEXT */)
5633
5737
  ]))
5634
5738
  : (_ctx.loading === 'done')
5635
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_54, [
5739
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_52, [
5636
5740
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.records, (record, index) => {
5637
5741
  return (vue.openBlock(), vue.createElementBlock("div", {
5638
5742
  key: record.id,
@@ -5644,12 +5748,12 @@ return (_ctx, _cache) => {
5644
5748
  key: key[0]
5645
5749
  }, [
5646
5750
  (typeof key === 'string' )
5647
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_56, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
5751
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_54, vue.toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
5648
5752
  : (typeof key === 'function')
5649
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_57, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
5753
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_55, vue.toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
5650
5754
  : (typeof key === 'object')
5651
- ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_58, vue.toDisplayString(key.label ?? key.key.replace(/_/g, ' ')), 1 /* TEXT */))
5652
- : (vue.openBlock(), vue.createElementBlock("p", _hoisted_59, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
5755
+ ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_56, vue.toDisplayString(key.label ?? key.key.replace(/_/g, ' ')), 1 /* TEXT */))
5756
+ : (vue.openBlock(), vue.createElementBlock("p", _hoisted_57, vue.toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
5653
5757
  vue.createElementVNode("span", null, [
5654
5758
  (typeof key === 'string' && __props.links && __props.links[key])
5655
5759
  ? (vue.openBlock(), vue.createBlock(_component_router_link, {
@@ -5659,16 +5763,16 @@ return (_ctx, _cache) => {
5659
5763
  innerHTML: record[key]
5660
5764
  }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
5661
5765
  : (_ctx.getFieldType(key) === 'numeric')
5662
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_60, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
5766
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_58, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
5663
5767
  : (_ctx.getFieldType(key) === 'money')
5664
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_61, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
5768
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_59, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
5665
5769
  : (_ctx.getFieldType(key) === 'date')
5666
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_62, vue.toDisplayString(_ctx.formatDate(record[key])), 1 /* TEXT */))
5770
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_60, vue.toDisplayString(_ctx.formatDate(record[key])), 1 /* TEXT */))
5667
5771
  : (typeof key === 'string')
5668
5772
  ? (vue.openBlock(), vue.createElementBlock("span", {
5669
5773
  key: 4,
5670
5774
  innerHTML: record[key]
5671
- }, null, 8 /* PROPS */, _hoisted_63))
5775
+ }, null, 8 /* PROPS */, _hoisted_61))
5672
5776
  : (typeof key === 'object' && key.component)
5673
5777
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(key.component), {
5674
5778
  key: 5,
@@ -5678,94 +5782,35 @@ return (_ctx, _cache) => {
5678
5782
  ? (vue.openBlock(), vue.createElementBlock("span", {
5679
5783
  key: 6,
5680
5784
  innerHTML: record[key.key ?? key.field]
5681
- }, null, 8 /* PROPS */, _hoisted_64))
5785
+ }, null, 8 /* PROPS */, _hoisted_62))
5682
5786
  : (typeof key === 'function')
5683
5787
  ? (vue.openBlock(), vue.createElementBlock("span", {
5684
5788
  key: 7,
5685
5789
  innerHTML: key(record, index )
5686
- }, null, 8 /* PROPS */, _hoisted_65))
5790
+ }, null, 8 /* PROPS */, _hoisted_63))
5687
5791
  : (vue.openBlock(), vue.createElementBlock("span", {
5688
5792
  key: 8,
5689
5793
  innerHTML: record[key[0]]
5690
- }, null, 8 /* PROPS */, _hoisted_66))
5794
+ }, null, 8 /* PROPS */, _hoisted_64))
5691
5795
  ]),
5692
- _hoisted_67
5796
+ _hoisted_65
5693
5797
  ], 64 /* STABLE_FRAGMENT */))
5694
5798
  }), 128 /* KEYED_FRAGMENT */)),
5695
5799
  (__props.actions)
5696
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_68, [
5697
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.actions.actions, (act) => {
5698
- return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
5699
- key: act.path
5700
- }, [
5701
- (!act.permission || vue.unref(user).isAllowedTo(act.permission))
5702
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5703
- (!act.validator || act.validator(record))
5704
- ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5705
- (act.canvasId)
5706
- ? (vue.openBlock(), vue.createElementBlock("a", {
5707
- key: 0,
5708
- href: '#' + act.canvasId,
5709
- "data-bs-toggle": "offcanvas",
5710
- class: vue.normalizeClass(act.class)
5711
- }, [
5712
- (act.icon)
5713
- ? (vue.openBlock(), vue.createElementBlock("span", {
5714
- key: 0,
5715
- class: vue.normalizeClass(act.icon)
5716
- }, null, 2 /* CLASS */))
5717
- : vue.createCommentVNode("v-if", true),
5718
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5719
- ], 10 /* CLASS, PROPS */, _hoisted_69))
5720
- : (act.emits)
5721
- ? (vue.openBlock(), vue.createElementBlock("button", {
5722
- key: 1,
5723
- title: act.title,
5724
- class: vue.normalizeClass(act.class ? act.class:'btn btn-default'),
5725
- onClick: $event => (_ctx.doEmitAction(act.emits,record))
5726
- }, [
5727
- (act.icon)
5728
- ? (vue.openBlock(), vue.createElementBlock("span", {
5729
- key: 0,
5730
- class: vue.normalizeClass(act.icon)
5731
- }, null, 2 /* CLASS */))
5732
- : vue.createCommentVNode("v-if", true),
5733
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5734
- ], 10 /* CLASS, PROPS */, _hoisted_70))
5735
- : (!act.emits)
5736
- ? (vue.openBlock(), vue.createBlock(_component_router_link, {
5737
- key: 2,
5738
- title: act.title,
5739
- to: _ctx.replaceActionUrl(act.path,record),
5740
- class: vue.normalizeClass(act.class)
5741
- }, {
5742
- default: vue.withCtx(() => [
5743
- (act.icon)
5744
- ? (vue.openBlock(), vue.createElementBlock("span", {
5745
- key: 0,
5746
- class: vue.normalizeClass(act.icon)
5747
- }, null, 2 /* CLASS */))
5748
- : vue.createCommentVNode("v-if", true),
5749
- vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
5750
- ]),
5751
- _: 2 /* DYNAMIC */
5752
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
5753
- : vue.createCommentVNode("v-if", true)
5754
- ], 64 /* STABLE_FRAGMENT */))
5755
- : vue.createCommentVNode("v-if", true)
5756
- ], 64 /* STABLE_FRAGMENT */))
5757
- : vue.createCommentVNode("v-if", true)
5758
- ], 64 /* STABLE_FRAGMENT */))
5759
- }), 128 /* KEYED_FRAGMENT */))
5800
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_66, [
5801
+ vue.createVNode(script$g, {
5802
+ actions: __props.actions,
5803
+ record: record
5804
+ }, null, 8 /* PROPS */, ["actions", "record"])
5760
5805
  ]))
5761
5806
  : vue.createCommentVNode("v-if", true)
5762
- ], 8 /* PROPS */, _hoisted_55))
5807
+ ], 8 /* PROPS */, _hoisted_53))
5763
5808
  }), 128 /* KEYED_FRAGMENT */))
5764
5809
  ]))
5765
5810
  : vue.createCommentVNode("v-if", true)
5766
5811
  ])),
5767
5812
  (_ctx.pagination_data)
5768
- ? (vue.openBlock(), vue.createBlock(script$h, {
5813
+ ? (vue.openBlock(), vue.createBlock(script$f, {
5769
5814
  key: 6,
5770
5815
  onLoadMoreRecords: _ctx.loadMoreRecords,
5771
5816
  "hide-load-more": __props.hideLoadMore,
@@ -5782,7 +5827,7 @@ return (_ctx, _cache) => {
5782
5827
  key: action.label
5783
5828
  }, [
5784
5829
  (action.canvasId)
5785
- ? (vue.openBlock(), vue.createBlock(script$j, {
5830
+ ? (vue.openBlock(), vue.createBlock(script$l, {
5786
5831
  key: 0,
5787
5832
  onOffcanvasClosed: _ctx.canvasClosed,
5788
5833
  position: action.canvasPosition,
@@ -5794,7 +5839,8 @@ return (_ctx, _cache) => {
5794
5839
  (_ctx.selectedRecord)
5795
5840
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(action.canvasComponent), vue.mergeProps({
5796
5841
  key: 0,
5797
- onRecordUpdated: _ctx.reloadData
5842
+ onRecordUpdated: _ctx.reloadData,
5843
+ ref_for: true
5798
5844
  }, _ctx.cleanCanvasProps(action), { record: _ctx.selectedRecord }), null, 16 /* FULL_PROPS */, ["onRecordUpdated", "record"]))
5799
5845
  : vue.createCommentVNode("v-if", true)
5800
5846
  ]),
@@ -6282,7 +6328,7 @@ return (_ctx, _cache) => {
6282
6328
  (permissionsChanged.value)
6283
6329
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
6284
6330
  vue.createElementVNode("div", _hoisted_17, [
6285
- vue.createVNode(script$f, {
6331
+ vue.createVNode(script$i, {
6286
6332
  onSuccess: permissionsUpdated,
6287
6333
  url: `sh-departments/department/permissions/${vue.unref(departmentId)}/${selectedModule.value}`,
6288
6334
  data: {permissions: selectedPermissions.value},
@@ -6426,7 +6472,7 @@ return (_ctx, _cache) => {
6426
6472
  class: "d-none"
6427
6473
  }, "Open Modal", 8 /* PROPS */, _hoisted_1$5),
6428
6474
  (popUp.value === 'modal')
6429
- ? (vue.openBlock(), vue.createBlock(script$n, {
6475
+ ? (vue.openBlock(), vue.createBlock(script$p, {
6430
6476
  key: 0,
6431
6477
  "modal-title": title.value,
6432
6478
  "modal-id": vue.unref(modalId),
@@ -6441,7 +6487,7 @@ return (_ctx, _cache) => {
6441
6487
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6442
6488
  : vue.createCommentVNode("v-if", true),
6443
6489
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6444
- ? (vue.openBlock(), vue.createBlock(script$j, {
6490
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6445
6491
  key: 1,
6446
6492
  "canvas-id": vue.unref(canvasId),
6447
6493
  "canvas-title": title.value,
@@ -6472,7 +6518,7 @@ const fields = route.query.fields.split(',');
6472
6518
  const action = route.query.action;
6473
6519
 
6474
6520
  return (_ctx, _cache) => {
6475
- return (vue.openBlock(), vue.createBlock(script$o, {
6521
+ return (vue.openBlock(), vue.createBlock(script$q, {
6476
6522
  fields: vue.unref(fields),
6477
6523
  action: vue.unref(action)
6478
6524
  }, null, 8 /* PROPS */, ["fields", "action"]))
@@ -6575,7 +6621,7 @@ const goBack = () => {
6575
6621
  return (_ctx, _cache) => {
6576
6622
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
6577
6623
  (popUp.value === 'modal')
6578
- ? (vue.openBlock(), vue.createBlock(script$n, {
6624
+ ? (vue.openBlock(), vue.createBlock(script$p, {
6579
6625
  key: 0,
6580
6626
  "modal-title": title.value,
6581
6627
  "data-bs-backdrop": "static",
@@ -6590,7 +6636,7 @@ return (_ctx, _cache) => {
6590
6636
  }, 8 /* PROPS */, ["modal-title", "modal-id", "modal-size"]))
6591
6637
  : vue.createCommentVNode("v-if", true),
6592
6638
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
6593
- ? (vue.openBlock(), vue.createBlock(script$j, {
6639
+ ? (vue.openBlock(), vue.createBlock(script$l, {
6594
6640
  "canvas-title": title.value,
6595
6641
  key: size.value + position.value,
6596
6642
  "canvas-id": vue.unref(canvasId),
@@ -6697,7 +6743,7 @@ return (_ctx, _cache) => {
6697
6743
  ]),
6698
6744
  vue.createElementVNode("div", _hoisted_6$2, [
6699
6745
  (vue.unref(user))
6700
- ? (vue.openBlock(), vue.createBlock(script$l, {
6746
+ ? (vue.openBlock(), vue.createBlock(script$n, {
6701
6747
  key: 0,
6702
6748
  "current-data": vue.unref(user),
6703
6749
  "modal-title": "Edit Details",
@@ -6714,7 +6760,7 @@ return (_ctx, _cache) => {
6714
6760
  }, 8 /* PROPS */, ["current-data"]))
6715
6761
  : vue.createCommentVNode("v-if", true),
6716
6762
  (vue.unref(user))
6717
- ? (vue.openBlock(), vue.createBlock(script$l, {
6763
+ ? (vue.openBlock(), vue.createBlock(script$n, {
6718
6764
  key: 1,
6719
6765
  "modal-title": "Update Password",
6720
6766
  class: "btn btn-info ms-2 my-2",
@@ -6751,7 +6797,7 @@ return (_ctx, _cache) => {
6751
6797
  vue.createElementVNode("div", _hoisted_9$1, [
6752
6798
  vue.createVNode(script$4, null, {
6753
6799
  default: vue.withCtx(() => [
6754
- vue.createVNode(script$l, {
6800
+ vue.createVNode(script$n, {
6755
6801
  "modal-title": "Edit Profile Image",
6756
6802
  class: "btn btn-info btn-sm float-end my-2",
6757
6803
  action: 'auth/profile-picture',
@@ -6853,12 +6899,12 @@ return (_ctx, _cache) => {
6853
6899
  ]
6854
6900
  }
6855
6901
  }, null, 8 /* PROPS */, ["reload", "actions"]),
6856
- vue.createVNode(script$n, {
6902
+ vue.createVNode(script$p, {
6857
6903
  "modal-id": "sh_department_modal",
6858
6904
  "modal-title": "Department Form"
6859
6905
  }, {
6860
6906
  default: vue.withCtx(() => [
6861
- vue.createVNode(script$w, {
6907
+ vue.createVNode(script$y, {
6862
6908
  "success-callback": "departmentAdded",
6863
6909
  "current-data": department.value,
6864
6910
  onDepartmentAdded: departmentAdded,
@@ -7013,12 +7059,12 @@ return (_ctx, _cache) => {
7013
7059
  headers: ['id',showModule,'created_at'],
7014
7060
  "end-point": 'admin/departments/department/list-modules/' + id.value
7015
7061
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
7016
- vue.createVNode(script$n, {
7062
+ vue.createVNode(script$p, {
7017
7063
  "modal-id": "addModule",
7018
7064
  "modal-title": "Add Module Department"
7019
7065
  }, {
7020
7066
  default: vue.withCtx(() => [
7021
- vue.createVNode(script$w, {
7067
+ vue.createVNode(script$y, {
7022
7068
  "reload-select-items": vue.unref(reload),
7023
7069
  "success-callback": moduleAdded,
7024
7070
  "fill-selects": {
@@ -7040,7 +7086,7 @@ return (_ctx, _cache) => {
7040
7086
  ref: permissionCanvasBtn,
7041
7087
  "data-bs-toggle": "offcanvas"
7042
7088
  }, null, 512 /* NEED_PATCH */),
7043
- vue.createVNode(script$j, {
7089
+ vue.createVNode(script$l, {
7044
7090
  "canvas-id": "permissionsCanvas",
7045
7091
  position: "end enlarged",
7046
7092
  "canvas-title": "Module Permissions"
@@ -7176,7 +7222,7 @@ return (_ctx, _cache) => {
7176
7222
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
7177
7223
  (section.value === 'forgot')
7178
7224
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
7179
- vue.createVNode(script$w, {
7225
+ vue.createVNode(script$y, {
7180
7226
  class: "sh-login-form",
7181
7227
  fields: ['email'],
7182
7228
  "action-label": "Send Reset Link",
@@ -7199,7 +7245,7 @@ return (_ctx, _cache) => {
7199
7245
  (vue.unref(loginTitle))
7200
7246
  ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_6, vue.toDisplayString(vue.unref(loginTitle)), 1 /* TEXT */))
7201
7247
  : vue.createCommentVNode("v-if", true),
7202
- vue.createVNode(script$w, {
7248
+ vue.createVNode(script$y, {
7203
7249
  class: "sh-login-form",
7204
7250
  fields: ['email','password'],
7205
7251
  "action-label": "Login",
@@ -7227,7 +7273,7 @@ return (_ctx, _cache) => {
7227
7273
  (vue.unref(registerSubTitle))
7228
7274
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
7229
7275
  : vue.createCommentVNode("v-if", true),
7230
- vue.createVNode(script$w, {
7276
+ vue.createVNode(script$y, {
7231
7277
  class: "sh-login-form",
7232
7278
  fields: vue.unref(registrationFields),
7233
7279
  "action-label": "Sign Up",
@@ -7323,11 +7369,11 @@ const ShFrontend = {
7323
7369
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
7324
7370
  const loginTitle = options.loginTitle ?? `Login to your account`;
7325
7371
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
7326
- options.formTextInput ?? script$t;
7372
+ options.formTextInput ?? script$v;
7327
7373
  const loginUrl = options.loginUrl ?? `/login`;
7328
7374
  const redirectLogin = options.redirectLogin ?? `/`;
7329
7375
  const redirectRegister = options.redirectRegister ?? `/`;
7330
- const noRecordsComponent = options.noRecordsComponent ?? script$i;
7376
+ const noRecordsComponent = options.noRecordsComponent ?? script$k;
7331
7377
  const registrationFields = options.registrationFields ?? ['name','email','phone','password','password_confirmation'];
7332
7378
  const AuthComponent = options.authComponent ?? script;
7333
7379
  app.provide('loginEndpoint',loginEndpoint);
@@ -7451,25 +7497,25 @@ const useShFetch = (url, path, cacheKey) => {
7451
7497
 
7452
7498
  exports.Countries = countries;
7453
7499
  exports.ManagePermissions = script$8;
7454
- exports.ShAutoForm = script$o;
7455
- exports.ShCanvas = script$j;
7500
+ exports.ShAutoForm = script$q;
7501
+ exports.ShCanvas = script$l;
7456
7502
  exports.ShCanvasBtn = script$9;
7457
7503
  exports.ShCardLayout = script$4;
7458
- exports.ShConfirmAction = script$g;
7459
- exports.ShDropDownForm = script$m;
7504
+ exports.ShConfirmAction = script$j;
7505
+ exports.ShDropDownForm = script$o;
7460
7506
  exports.ShDynamicTabs = script$b;
7461
- exports.ShForm = script$w;
7507
+ exports.ShForm = script$y;
7462
7508
  exports.ShFrontend = ShFrontend;
7463
- exports.ShModal = script$n;
7509
+ exports.ShModal = script$p;
7464
7510
  exports.ShModalBtn = script$a;
7465
- exports.ShModalForm = script$l;
7466
- exports.ShModalFormAuto = script$k;
7467
- exports.ShPhone = script$y;
7511
+ exports.ShModalForm = script$n;
7512
+ exports.ShModalFormAuto = script$m;
7513
+ exports.ShPhone = script$A;
7468
7514
  exports.ShQueryPopups = script$5;
7469
7515
  exports.ShRange = script$e;
7470
7516
  exports.ShRoutePopups = script$7;
7471
- exports.ShSilentAction = script$f;
7472
- exports.ShSuggest = script$x;
7517
+ exports.ShSilentAction = script$i;
7518
+ exports.ShSuggest = script$z;
7473
7519
  exports.ShTable = script$d;
7474
7520
  exports.ShTabs = script$c;
7475
7521
  exports.shApis = shApis;