@amirjalili1374/ui-kit 1.3.26 → 1.3.28

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/ui-kit.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { capitalize, reactive, watchEffect, toRef, shallowRef, Fragment, camelize, isVNode, Comment, unref, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject, defineComponent as defineComponent$1, h, createElementVNode, normalizeStyle, normalizeClass, toValue, resolveDynamicComponent, nextTick, onScopeDispose, createVNode, mergeProps, toRefs, Text, isRef, TransitionGroup, Transition, watch, onBeforeMount, onBeforeUnmount, withDirectives, vShow, toDisplayString, effectScope, toRaw, readonly, createBlock, openBlock, withCtx, createCommentVNode, useId, onMounted, onUpdated, Teleport, createTextVNode, createElementBlock, renderSlot, onDeactivated, cloneVNode, renderList, createSlots, normalizeProps, guardReactiveProps, resolveComponent, onActivated, onBeforeUpdate, withModifiers, vModelText, withKeys, onUnmounted } from "vue";
2
- import { IconHome, IconArrowBadgeLeft, IconChevronDown, IconChevronRight, IconMinus, IconPlus, IconRefresh, IconChevronLeft, IconDownload, IconPrinter, IconMaximize, IconMinimize, IconX, IconFileText, IconCheck, IconPencil, IconClock, IconMenu2, IconPalette, IconBell, IconSettings } from "@tabler/icons-vue";
2
+ import { IconHome, IconArrowBadgeLeft, IconChevronDown, IconChevronRight, IconMinus, IconPlus, IconRefresh, IconChevronLeft, IconDownload, IconPrinter, IconMaximize, IconMinimize, IconX, IconFileText, IconCheck, IconPencil, IconClock } from "@tabler/icons-vue";
3
3
  import axios from "axios";
4
4
  import { useDebounceFn } from "@vueuse/core";
5
5
  import { useRouter as useRouter$1 } from "vue-router";
@@ -3886,9 +3886,9 @@ const VRow = genericComponent()({
3886
3886
  });
3887
3887
  const VSpacer = createSimpleFunctional("v-spacer", "div", "VSpacer");
3888
3888
  const _hoisted_1$d = { class: "text-h3" };
3889
- const _hoisted_2$5 = { class: "d-flex align-center gap-2" };
3890
- const _hoisted_3$5 = { class: "d-flex align-center gap-2" };
3891
- const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
3889
+ const _hoisted_2$7 = { class: "d-flex align-center gap-2" };
3890
+ const _hoisted_3$6 = { class: "d-flex align-center gap-2" };
3891
+ const _sfc_main$l = /* @__PURE__ */ defineComponent$1({
3892
3892
  __name: "BaseBreadcrumb",
3893
3893
  props: {
3894
3894
  title: String,
@@ -3932,7 +3932,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
3932
3932
  class: "text-h5 justify-md-end pa-1"
3933
3933
  }, {
3934
3934
  divider: withCtx(() => [
3935
- createElementVNode("div", _hoisted_2$5, [
3935
+ createElementVNode("div", _hoisted_2$7, [
3936
3936
  createVNode(unref(IconArrowBadgeLeft), { stroke: "{2}" })
3937
3937
  ])
3938
3938
  ]),
@@ -3941,7 +3941,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
3941
3941
  size: "16",
3942
3942
  class: "text-secondary ml-2"
3943
3943
  }),
3944
- createElementVNode("div", _hoisted_3$5, [
3944
+ createElementVNode("div", _hoisted_3$6, [
3945
3945
  createVNode(unref(IconArrowBadgeLeft), { stroke: "{2}" })
3946
3946
  ])
3947
3947
  ]),
@@ -3965,7 +3965,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
3965
3965
  };
3966
3966
  }
3967
3967
  });
3968
- const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
3968
+ const _sfc_main$k = /* @__PURE__ */ defineComponent$1({
3969
3969
  __name: "BaseIcon",
3970
3970
  props: {
3971
3971
  icon: {
@@ -6584,7 +6584,7 @@ const _hoisted_1$c = {
6584
6584
  key: 0,
6585
6585
  class: "mb-2"
6586
6586
  };
6587
- const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
6587
+ const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
6588
6588
  __name: "ConfirmDialog",
6589
6589
  props: {
6590
6590
  modelValue: { type: Boolean },
@@ -12592,16 +12592,16 @@ const VTooltip = genericComponent()({
12592
12592
  }
12593
12593
  });
12594
12594
  const _hoisted_1$b = { class: "ca-item-title" };
12595
- const _hoisted_2$4 = { class: "ca-item-subtitle" };
12596
- const _hoisted_3$4 = { class: "ca-group-tooltip" };
12597
- const _hoisted_4$2 = { class: "ca-group-tooltip-header" };
12598
- const _hoisted_5$2 = { class: "ca-group-count" };
12595
+ const _hoisted_2$6 = { class: "ca-item-subtitle" };
12596
+ const _hoisted_3$5 = { class: "ca-group-tooltip" };
12597
+ const _hoisted_4$3 = { class: "ca-group-tooltip-header" };
12598
+ const _hoisted_5$3 = { class: "ca-group-count" };
12599
12599
  const _hoisted_6$2 = { class: "ca-group-members" };
12600
12600
  const _hoisted_7$2 = { class: "ca-item-title" };
12601
12601
  const _hoisted_8$2 = { class: "ca-item-subtitle" };
12602
12602
  const _hoisted_9$2 = { class: "ca-chip-title" };
12603
12603
  const _hoisted_10$2 = { class: "ca-chip-subtitle" };
12604
- const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
12604
+ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
12605
12605
  __name: "CustomAutocomplete",
12606
12606
  props: {
12607
12607
  fields: {},
@@ -12735,7 +12735,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
12735
12735
  __props.displayStyle === "detailed" && resolveSubtitle(item.raw ?? item) ? {
12736
12736
  name: "subtitle",
12737
12737
  fn: withCtx(() => [
12738
- createElementVNode("div", _hoisted_2$4, toDisplayString(resolveSubtitle(item.raw ?? item)), 1)
12738
+ createElementVNode("div", _hoisted_2$6, toDisplayString(resolveSubtitle(item.raw ?? item)), 1)
12739
12739
  ]),
12740
12740
  key: "0"
12741
12741
  } : void 0
@@ -12746,10 +12746,10 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
12746
12746
  item: item.raw ?? item,
12747
12747
  groupMembers: getGroupMembers(item.raw ?? item)
12748
12748
  }, () => [
12749
- createElementVNode("div", _hoisted_3$4, [
12750
- createElementVNode("div", _hoisted_4$2, [
12749
+ createElementVNode("div", _hoisted_3$5, [
12750
+ createElementVNode("div", _hoisted_4$3, [
12751
12751
  createElementVNode("strong", null, toDisplayString(resolveTitle(item.raw ?? item)), 1),
12752
- createElementVNode("span", _hoisted_5$2, toDisplayString(getGroupMembers(item.raw ?? item).length) + " آیتم", 1)
12752
+ createElementVNode("span", _hoisted_5$3, toDisplayString(getGroupMembers(item.raw ?? item).length) + " آیتم", 1)
12753
12753
  ]),
12754
12754
  createElementVNode("div", _hoisted_6$2, [
12755
12755
  (openBlock(true), createElementBlock(Fragment, null, renderList(getGroupMembers(item.raw ?? item), (member, idx) => {
@@ -12812,8 +12812,8 @@ const _export_sfc$1 = (sfc, props) => {
12812
12812
  }
12813
12813
  return target;
12814
12814
  };
12815
- const CustomAutocomplete = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__scopeId", "data-v-4c17f7bd"]]);
12816
- const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
12815
+ const CustomAutocomplete = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__scopeId", "data-v-4c17f7bd"]]);
12816
+ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
12817
12817
  __name: "MoneyInput",
12818
12818
  props: {
12819
12819
  modelValue: {
@@ -12920,7 +12920,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
12920
12920
  }
12921
12921
  });
12922
12922
  const _hoisted_1$a = { class: "shamsi-date-picker" };
12923
- const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
12923
+ const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
12924
12924
  __name: "ShamsiDatePicker",
12925
12925
  props: {
12926
12926
  modelValue: { default: "" },
@@ -13031,7 +13031,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
13031
13031
  };
13032
13032
  }
13033
13033
  });
13034
- const ShamsiDatePicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__scopeId", "data-v-d56f50fe"]]);
13034
+ const ShamsiDatePicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__scopeId", "data-v-d56f50fe"]]);
13035
13035
  function useTableSelection(items, options = {}) {
13036
13036
  const selectedItems = ref([]);
13037
13037
  const expandedGroups = ref(/* @__PURE__ */ new Set());
@@ -16921,13 +16921,13 @@ const _hoisted_1$9 = {
16921
16921
  key: 0,
16922
16922
  class: "page-title"
16923
16923
  };
16924
- const _hoisted_2$3 = { class: "title-text" };
16925
- const _hoisted_3$3 = { class: "action-buttons" };
16926
- const _hoisted_4$1 = {
16924
+ const _hoisted_2$5 = { class: "title-text" };
16925
+ const _hoisted_3$4 = { class: "action-buttons" };
16926
+ const _hoisted_4$2 = {
16927
16927
  key: 3,
16928
16928
  class: "selection-actions"
16929
16929
  };
16930
- const _hoisted_5$1 = {
16930
+ const _hoisted_5$2 = {
16931
16931
  key: 0,
16932
16932
  class: "selected-actions"
16933
16933
  };
@@ -16975,7 +16975,7 @@ const _hoisted_24 = {
16975
16975
  };
16976
16976
  const _hoisted_25 = { class: "d-flex justify-space-between align-center pa-4" };
16977
16977
  const _hoisted_26 = { class: "text-subtitle-2" };
16978
- const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
16978
+ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
16979
16979
  ...{ inheritAttrs: false },
16980
16980
  __name: "CustomDataTable",
16981
16981
  props: {
@@ -17885,9 +17885,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
17885
17885
  var _a;
17886
17886
  return openBlock(), createElementBlock(Fragment, null, [
17887
17887
  props.title ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
17888
- createElementVNode("h3", _hoisted_2$3, toDisplayString(props.title), 1)
17888
+ createElementVNode("h3", _hoisted_2$5, toDisplayString(props.title), 1)
17889
17889
  ])) : createCommentVNode("", true),
17890
- createElementVNode("div", _hoisted_3$3, [
17890
+ createElementVNode("div", _hoisted_3$4, [
17891
17891
  ((_a = props.actions) == null ? void 0 : _a.includes("create")) ? (openBlock(), createBlock(VBtn, {
17892
17892
  key: 0,
17893
17893
  color: "green",
@@ -17920,7 +17920,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
17920
17920
  ])]),
17921
17921
  _: 1
17922
17922
  }, 8, ["onClick", "loading"])) : createCommentVNode("", true),
17923
- props.selectable && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
17923
+ props.selectable && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
17924
17924
  createVNode(VChip, {
17925
17925
  color: "primary",
17926
17926
  class: "me-2"
@@ -17947,7 +17947,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
17947
17947
  appear: ""
17948
17948
  }, {
17949
17949
  default: withCtx(() => [
17950
- props.bulkMode && hasValidSelection.value || props.enableGroupDelete && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
17950
+ props.bulkMode && hasValidSelection.value || props.enableGroupDelete && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
17951
17951
  props.enableGroupDelete ? (openBlock(), createBlock(VBtn, {
17952
17952
  key: 0,
17953
17953
  color: "red",
@@ -18684,7 +18684,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
18684
18684
  disabled: isHeaderDisabled(header),
18685
18685
  clearable: "",
18686
18686
  variant: "outlined"
18687
- }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "items", "item-title", "item-value", "return-object", "multiple", "chips", "closable-chips", "disabled"])) : isMoneyHeader(header) ? (openBlock(), createBlock(_sfc_main$e, {
18687
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "items", "item-title", "item-value", "return-object", "multiple", "chips", "closable-chips", "disabled"])) : isMoneyHeader(header) ? (openBlock(), createBlock(_sfc_main$h, {
18688
18688
  key: 2,
18689
18689
  modelValue: formModel.value[resolveHeaderKey(header)],
18690
18690
  "onUpdate:modelValue": ($event) => formModel.value[resolveHeaderKey(header)] = $event,
@@ -19070,7 +19070,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
19070
19070
  }
19071
19071
  });
19072
19072
  const _hoisted_1$8 = { class: "description-input" };
19073
- const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
19073
+ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
19074
19074
  __name: "DescriptionInput",
19075
19075
  props: {
19076
19076
  modelValue: { default: "" },
@@ -19192,7 +19192,7 @@ ${newLineNumber} - `;
19192
19192
  };
19193
19193
  }
19194
19194
  });
19195
- const DescriptionInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__scopeId", "data-v-e8b64ecb"]]);
19195
+ const DescriptionInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__scopeId", "data-v-e8b64ecb"]]);
19196
19196
  var mdiAlertCircle = "M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z";
19197
19197
  var mdiArrowRight = "M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";
19198
19198
  var mdiCheckCircle = "M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z";
@@ -19224,7 +19224,7 @@ const icons = {
19224
19224
  contentCopy: mdiContentCopy
19225
19225
  };
19226
19226
  const _hoisted_1$7 = { class: "download-title" };
19227
- const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
19227
+ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
19228
19228
  ...{
19229
19229
  inheritAttrs: false
19230
19230
  },
@@ -19342,18 +19342,18 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
19342
19342
  };
19343
19343
  }
19344
19344
  });
19345
- const DownloadButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-0a911831"]]);
19345
+ const DownloadButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__scopeId", "data-v-0a911831"]]);
19346
19346
  const _hoisted_1$6 = {
19347
19347
  key: 0,
19348
19348
  class: "pdf-viewer-header"
19349
19349
  };
19350
- const _hoisted_2$2 = { class: "pdf-viewer-title" };
19351
- const _hoisted_3$2 = { class: "pdf-viewer-controls" };
19352
- const _hoisted_4 = {
19350
+ const _hoisted_2$4 = { class: "pdf-viewer-title" };
19351
+ const _hoisted_3$3 = { class: "pdf-viewer-controls" };
19352
+ const _hoisted_4$1 = {
19353
19353
  key: 0,
19354
19354
  class: "zoom-controls"
19355
19355
  };
19356
- const _hoisted_5 = { class: "zoom-level" };
19356
+ const _hoisted_5$1 = { class: "zoom-level" };
19357
19357
  const _hoisted_6 = {
19358
19358
  key: 1,
19359
19359
  class: "navigation-controls"
@@ -19386,7 +19386,7 @@ const _hoisted_16 = {
19386
19386
  key: 0,
19387
19387
  class: "file-info"
19388
19388
  };
19389
- const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
19389
+ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
19390
19390
  __name: "PdfViewer",
19391
19391
  props: {
19392
19392
  src: {},
@@ -19595,11 +19595,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
19595
19595
  class: normalizeClass(["pdf-viewer-container", { "fullscreen": isFullscreen.value }])
19596
19596
  }, [
19597
19597
  __props.showHeader ? (openBlock(), createElementBlock("div", _hoisted_1$6, [
19598
- createElementVNode("div", _hoisted_2$2, [
19598
+ createElementVNode("div", _hoisted_2$4, [
19599
19599
  createElementVNode("h3", null, toDisplayString(__props.title || "PDF Viewer"), 1)
19600
19600
  ]),
19601
- createElementVNode("div", _hoisted_3$2, [
19602
- __props.showZoomControls ? (openBlock(), createElementBlock("div", _hoisted_4, [
19601
+ createElementVNode("div", _hoisted_3$3, [
19602
+ __props.showZoomControls ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
19603
19603
  createVNode(VBtn, {
19604
19604
  size: "small",
19605
19605
  variant: "text",
@@ -19615,7 +19615,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
19615
19615
  ]),
19616
19616
  _: 1
19617
19617
  }, 8, ["disabled"]),
19618
- createElementVNode("span", _hoisted_5, toDisplayString(Math.round(zoom.value * 100)) + "%", 1),
19618
+ createElementVNode("span", _hoisted_5$1, toDisplayString(Math.round(zoom.value * 100)) + "%", 1),
19619
19619
  createVNode(VBtn, {
19620
19620
  size: "small",
19621
19621
  variant: "text",
@@ -19813,8 +19813,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
19813
19813
  };
19814
19814
  }
19815
19815
  });
19816
- const PdfViewer = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__scopeId", "data-v-f3e9c767"]]);
19817
- const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19816
+ const PdfViewer = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__scopeId", "data-v-f3e9c767"]]);
19817
+ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
19818
19818
  __name: "UiChildCard",
19819
19819
  props: {
19820
19820
  title: String
@@ -19849,7 +19849,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19849
19849
  }
19850
19850
  });
19851
19851
  const _hoisted_1$5 = { class: "d-sm-flex align-center justify-space-between" };
19852
- const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
19852
+ const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
19853
19853
  __name: "UiParentCard",
19854
19854
  props: {
19855
19855
  title: String
@@ -19886,7 +19886,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
19886
19886
  };
19887
19887
  }
19888
19888
  });
19889
- const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
19889
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
19890
19890
  __name: "VPriceTextField",
19891
19891
  props: {
19892
19892
  modelValue: {},
@@ -19991,9 +19991,9 @@ const _hoisted_1$4 = {
19991
19991
  class: "app-stepper-root",
19992
19992
  dir: "rtl"
19993
19993
  };
19994
- const _hoisted_2$1 = { class: "app-stepper-header-card" };
19995
- const _hoisted_3$1 = { class: "app-stepper-title" };
19996
- const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
19994
+ const _hoisted_2$3 = { class: "app-stepper-header-card" };
19995
+ const _hoisted_3$2 = { class: "app-stepper-title" };
19996
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19997
19997
  __name: "AppStepper",
19998
19998
  props: {
19999
19999
  steps: {
@@ -20046,7 +20046,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
20046
20046
  __expose({ currentStepComponentRef });
20047
20047
  return (_ctx, _cache) => {
20048
20048
  return openBlock(), createElementBlock("div", _hoisted_1$4, [
20049
- createElementVNode("div", _hoisted_2$1, [
20049
+ createElementVNode("div", _hoisted_2$3, [
20050
20050
  createElementVNode("div", {
20051
20051
  ref_key: "stepperHeaderRef",
20052
20052
  ref: stepperHeaderRef,
@@ -20087,7 +20087,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
20087
20087
  }))
20088
20088
  ], true)
20089
20089
  ], 2),
20090
- createElementVNode("span", _hoisted_3$1, toDisplayString(step.title), 1),
20090
+ createElementVNode("span", _hoisted_3$2, toDisplayString(step.title), 1),
20091
20091
  index2 < __props.steps.length - 1 ? (openBlock(), createElementBlock("span", {
20092
20092
  key: 0,
20093
20093
  class: normalizeClass([
@@ -20112,7 +20112,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
20112
20112
  };
20113
20113
  }
20114
20114
  });
20115
- const AppStepper = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__scopeId", "data-v-d5178633"]]);
20115
+ const AppStepper = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-d5178633"]]);
20116
20116
  var lottie = { exports: {} };
20117
20117
  (function(module, exports) {
20118
20118
  typeof navigator !== "undefined" && function(global2, factory) {
@@ -36528,7 +36528,7 @@ var _export_sfc = (sfc, props) => {
36528
36528
  }
36529
36529
  return target;
36530
36530
  };
36531
- const _sfc_main$4 = defineComponent$1({
36531
+ const _sfc_main$7 = defineComponent$1({
36532
36532
  props: {
36533
36533
  animationData: {
36534
36534
  type: Object,
@@ -36860,7 +36860,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
36860
36860
  onMouseleave: _cache[1] || (_cache[1] = (...args) => _ctx.hoverEnded && _ctx.hoverEnded(...args))
36861
36861
  }, null, 36);
36862
36862
  }
36863
- var Vue3Lottie = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render]]);
36863
+ var Vue3Lottie = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render]]);
36864
36864
  const useCustomizerStore = defineStore({
36865
36865
  id: "customizer",
36866
36866
  state: () => ({
@@ -36918,9 +36918,9 @@ const _hoisted_1$3 = {
36918
36918
  key: 0,
36919
36919
  class: "loading-overlay"
36920
36920
  };
36921
- const _hoisted_2 = { class: "loading-wrapper" };
36922
- const _hoisted_3 = { key: 0 };
36923
- const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
36921
+ const _hoisted_2$2 = { class: "loading-wrapper" };
36922
+ const _hoisted_3$1 = { key: 0 };
36923
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
36924
36924
  __name: "Loading",
36925
36925
  setup(__props) {
36926
36926
  const customizer = useCustomizerStore();
@@ -36928,7 +36928,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
36928
36928
  return openBlock(), createBlock(Transition, { name: "fade" }, {
36929
36929
  default: withCtx(() => [
36930
36930
  unref(customizer).loading ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
36931
- createElementVNode("div", _hoisted_2, [
36931
+ createElementVNode("div", _hoisted_2$2, [
36932
36932
  createVNode(unref(Vue3Lottie), {
36933
36933
  "animation-link": "/persian.json",
36934
36934
  loop: true,
@@ -36937,7 +36937,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
36937
36937
  }),
36938
36938
  createVNode(Transition, { name: "fade-slide" }, {
36939
36939
  default: withCtx(() => [
36940
- unref(customizer).loading ? (openBlock(), createElementBlock("span", _hoisted_3, "لطفا منتظر بمانید")) : createCommentVNode("", true)
36940
+ unref(customizer).loading ? (openBlock(), createElementBlock("span", _hoisted_3$1, "لطفا منتظر بمانید")) : createCommentVNode("", true)
36941
36941
  ]),
36942
36942
  _: 1
36943
36943
  })
@@ -36949,7 +36949,808 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
36949
36949
  };
36950
36950
  }
36951
36951
  });
36952
- const Loading = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__scopeId", "data-v-9b533ee4"]]);
36952
+ const Loading = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__scopeId", "data-v-9b533ee4"]]);
36953
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
36954
+ __name: "NavItem",
36955
+ props: {
36956
+ item: {},
36957
+ level: {}
36958
+ },
36959
+ setup(__props) {
36960
+ const props = __props;
36961
+ return (_ctx, _cache) => {
36962
+ return openBlock(), createBlock(VListItem, {
36963
+ to: __props.item.type === "external" ? "" : __props.item.to,
36964
+ href: __props.item.type === "external" ? __props.item.to : "",
36965
+ rounded: "",
36966
+ class: "mb-1",
36967
+ color: "secondary",
36968
+ disabled: __props.item.disabled,
36969
+ target: __props.item.type === "external" ? "_blank" : ""
36970
+ }, createSlots({
36971
+ default: withCtx(() => [
36972
+ createVNode(VListItemTitle, null, {
36973
+ default: withCtx(() => [
36974
+ createTextVNode(toDisplayString(__props.item.title), 1)
36975
+ ]),
36976
+ _: 1
36977
+ }),
36978
+ __props.item.subCaption ? (openBlock(), createBlock(VListItemSubtitle, {
36979
+ key: 0,
36980
+ class: "text-caption mt-n1 hide-menu"
36981
+ }, {
36982
+ default: withCtx(() => [
36983
+ createTextVNode(toDisplayString(__props.item.subCaption), 1)
36984
+ ]),
36985
+ _: 1
36986
+ })) : createCommentVNode("", true)
36987
+ ]),
36988
+ _: 2
36989
+ }, [
36990
+ props.item.icon ? {
36991
+ name: "prepend",
36992
+ fn: withCtx(() => [
36993
+ typeof props.item.icon === "string" ? (openBlock(), createBlock(VIcon, {
36994
+ key: 0,
36995
+ icon: props.item.icon
36996
+ }, null, 8, ["icon"])) : (openBlock(), createBlock(resolveDynamicComponent(props.item.icon), { key: 1 }))
36997
+ ]),
36998
+ key: "0"
36999
+ } : void 0,
37000
+ __props.item.chip ? {
37001
+ name: "append",
37002
+ fn: withCtx(() => [
37003
+ createVNode(VChip, {
37004
+ color: __props.item.chipColor,
37005
+ class: "sidebarchip hide-menu",
37006
+ size: __props.item.chipIcon ? "small" : "default",
37007
+ variant: __props.item.chipVariant,
37008
+ "prepend-icon": __props.item.chipIcon
37009
+ }, {
37010
+ default: withCtx(() => [
37011
+ createTextVNode(toDisplayString(__props.item.chip), 1)
37012
+ ]),
37013
+ _: 1
37014
+ }, 8, ["color", "size", "variant", "prepend-icon"])
37015
+ ]),
37016
+ key: "1"
37017
+ } : void 0
37018
+ ]), 1032, ["to", "href", "disabled", "target"]);
37019
+ };
37020
+ }
37021
+ });
37022
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
37023
+ ...{ name: "NavCollapse" },
37024
+ __name: "NavCollapse",
37025
+ props: {
37026
+ item: {},
37027
+ level: {}
37028
+ },
37029
+ setup(__props) {
37030
+ const props = __props;
37031
+ return (_ctx, _cache) => {
37032
+ const _component_NavCollapse = resolveComponent("NavCollapse", true);
37033
+ return openBlock(), createBlock(VListGroup, { "no-action": "" }, {
37034
+ activator: withCtx(({ props: props2 }) => [
37035
+ createVNode(VListItem, mergeProps(props2, {
37036
+ value: __props.item.title,
37037
+ rounded: "",
37038
+ class: "mb-1",
37039
+ color: "secondary"
37040
+ }), {
37041
+ prepend: withCtx(() => [
37042
+ typeof __props.item.icon === "string" ? (openBlock(), createBlock(VIcon, {
37043
+ key: 0,
37044
+ icon: __props.item.icon
37045
+ }, null, 8, ["icon"])) : __props.item.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.item.icon), { key: 1 })) : createCommentVNode("", true)
37046
+ ]),
37047
+ default: withCtx(() => [
37048
+ createVNode(VListItemTitle, { class: "ml-auto" }, {
37049
+ default: withCtx(() => [
37050
+ createTextVNode(toDisplayString(__props.item.title), 1)
37051
+ ]),
37052
+ _: 1
37053
+ }),
37054
+ __props.item.subCaption ? (openBlock(), createBlock(VListItemSubtitle, {
37055
+ key: 0,
37056
+ class: "text-caption mt-n1 hide-menu"
37057
+ }, {
37058
+ default: withCtx(() => [
37059
+ createTextVNode(toDisplayString(__props.item.subCaption), 1)
37060
+ ]),
37061
+ _: 1
37062
+ })) : createCommentVNode("", true)
37063
+ ]),
37064
+ _: 1
37065
+ }, 16, ["value"])
37066
+ ]),
37067
+ default: withCtx(() => [
37068
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.item.children, (subitem, i) => {
37069
+ return openBlock(), createElementBlock(Fragment, { key: i }, [
37070
+ subitem.children ? (openBlock(), createBlock(_component_NavCollapse, {
37071
+ key: 0,
37072
+ item: subitem,
37073
+ level: props.level + 1
37074
+ }, null, 8, ["item", "level"])) : (openBlock(), createBlock(_sfc_main$5, {
37075
+ key: 1,
37076
+ item: subitem,
37077
+ level: props.level + 1
37078
+ }, null, 8, ["item", "level"]))
37079
+ ], 64);
37080
+ }), 128))
37081
+ ]),
37082
+ _: 1
37083
+ });
37084
+ };
37085
+ }
37086
+ });
37087
+ const _sfc_main$3 = {
37088
+ __name: "NavGroup",
37089
+ props: { item: Object },
37090
+ setup(__props) {
37091
+ const props = __props;
37092
+ return (_ctx, _cache) => {
37093
+ return openBlock(), createBlock(VListSubheader, {
37094
+ color: "darkText",
37095
+ class: "smallCap"
37096
+ }, {
37097
+ default: withCtx(() => [
37098
+ createTextVNode(toDisplayString(props.item.header), 1)
37099
+ ]),
37100
+ _: 1
37101
+ });
37102
+ };
37103
+ }
37104
+ };
37105
+ function useSticky(_ref) {
37106
+ let {
37107
+ rootEl,
37108
+ isSticky,
37109
+ layoutItemStyles
37110
+ } = _ref;
37111
+ const isStuck = shallowRef(false);
37112
+ const stuckPosition = shallowRef(0);
37113
+ const stickyStyles = computed(() => {
37114
+ const side = typeof isStuck.value === "boolean" ? "top" : isStuck.value;
37115
+ return [isSticky.value ? {
37116
+ top: "auto",
37117
+ bottom: "auto",
37118
+ height: void 0
37119
+ } : void 0, isStuck.value ? {
37120
+ [side]: convertToUnit(stuckPosition.value)
37121
+ } : {
37122
+ top: layoutItemStyles.value.top
37123
+ }];
37124
+ });
37125
+ onMounted(() => {
37126
+ watch(isSticky, (val2) => {
37127
+ if (val2) {
37128
+ window.addEventListener("scroll", onScroll, {
37129
+ passive: true
37130
+ });
37131
+ } else {
37132
+ window.removeEventListener("scroll", onScroll);
37133
+ }
37134
+ }, {
37135
+ immediate: true
37136
+ });
37137
+ });
37138
+ onBeforeUnmount(() => {
37139
+ window.removeEventListener("scroll", onScroll);
37140
+ });
37141
+ let lastScrollTop = 0;
37142
+ function onScroll() {
37143
+ const direction = lastScrollTop > window.scrollY ? "up" : "down";
37144
+ const rect = rootEl.value.getBoundingClientRect();
37145
+ const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
37146
+ const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
37147
+ const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
37148
+ const bodyScroll = parseFloat(getComputedStyle(rootEl.value).getPropertyValue("--v-body-scroll-y")) || 0;
37149
+ if (rect.height < window.innerHeight - layoutTop) {
37150
+ isStuck.value = "top";
37151
+ stuckPosition.value = layoutTop;
37152
+ } else if (direction === "up" && isStuck.value === "bottom" || direction === "down" && isStuck.value === "top") {
37153
+ stuckPosition.value = window.scrollY + rect.top - bodyScroll;
37154
+ isStuck.value = true;
37155
+ } else if (direction === "down" && bottom <= 0) {
37156
+ stuckPosition.value = 0;
37157
+ isStuck.value = "bottom";
37158
+ } else if (direction === "up" && top <= 0) {
37159
+ if (!bodyScroll) {
37160
+ stuckPosition.value = rect.top + top;
37161
+ isStuck.value = "top";
37162
+ } else if (isStuck.value !== "top") {
37163
+ stuckPosition.value = -top + bodyScroll + layoutTop;
37164
+ isStuck.value = "top";
37165
+ }
37166
+ }
37167
+ lastScrollTop = window.scrollY;
37168
+ }
37169
+ return {
37170
+ isStuck,
37171
+ stickyStyles
37172
+ };
37173
+ }
37174
+ const HORIZON = 100;
37175
+ const HISTORY = 20;
37176
+ function kineticEnergyToVelocity(work) {
37177
+ const sqrt2 = 1.41421356237;
37178
+ return (work < 0 ? -1 : 1) * Math.sqrt(Math.abs(work)) * sqrt2;
37179
+ }
37180
+ function calculateImpulseVelocity(samples) {
37181
+ if (samples.length < 2) {
37182
+ return 0;
37183
+ }
37184
+ if (samples.length === 2) {
37185
+ if (samples[1].t === samples[0].t) {
37186
+ return 0;
37187
+ }
37188
+ return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
37189
+ }
37190
+ let work = 0;
37191
+ for (let i = samples.length - 1; i > 0; i--) {
37192
+ if (samples[i].t === samples[i - 1].t) {
37193
+ continue;
37194
+ }
37195
+ const vprev = kineticEnergyToVelocity(work);
37196
+ const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t);
37197
+ work += (vcurr - vprev) * Math.abs(vcurr);
37198
+ if (i === samples.length - 1) {
37199
+ work *= 0.5;
37200
+ }
37201
+ }
37202
+ return kineticEnergyToVelocity(work) * 1e3;
37203
+ }
37204
+ function useVelocity() {
37205
+ const touches = {};
37206
+ function addMovement(e) {
37207
+ Array.from(e.changedTouches).forEach((touch) => {
37208
+ const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
37209
+ samples.push([e.timeStamp, touch]);
37210
+ });
37211
+ }
37212
+ function endTouch(e) {
37213
+ Array.from(e.changedTouches).forEach((touch) => {
37214
+ delete touches[touch.identifier];
37215
+ });
37216
+ }
37217
+ function getVelocity(id) {
37218
+ var _a;
37219
+ const samples = (_a = touches[id]) == null ? void 0 : _a.values().reverse();
37220
+ if (!samples) {
37221
+ throw new Error(`No samples for touch id ${id}`);
37222
+ }
37223
+ const newest = samples[0];
37224
+ const x = [];
37225
+ const y = [];
37226
+ for (const val2 of samples) {
37227
+ if (newest[0] - val2[0] > HORIZON) break;
37228
+ x.push({
37229
+ t: val2[0],
37230
+ d: val2[1].clientX
37231
+ });
37232
+ y.push({
37233
+ t: val2[0],
37234
+ d: val2[1].clientY
37235
+ });
37236
+ }
37237
+ return {
37238
+ x: calculateImpulseVelocity(x),
37239
+ y: calculateImpulseVelocity(y),
37240
+ get direction() {
37241
+ const {
37242
+ x: x2,
37243
+ y: y2
37244
+ } = this;
37245
+ const [absX, absY] = [Math.abs(x2), Math.abs(y2)];
37246
+ return absX > absY && x2 >= 0 ? "right" : absX > absY && x2 <= 0 ? "left" : absY > absX && y2 >= 0 ? "down" : absY > absX && y2 <= 0 ? "up" : oops$1();
37247
+ }
37248
+ };
37249
+ }
37250
+ return {
37251
+ addMovement,
37252
+ endTouch,
37253
+ getVelocity
37254
+ };
37255
+ }
37256
+ function oops$1() {
37257
+ throw new Error();
37258
+ }
37259
+ function useTouch(_ref) {
37260
+ let {
37261
+ el,
37262
+ isActive,
37263
+ isTemporary,
37264
+ width: width2,
37265
+ touchless,
37266
+ position: position2
37267
+ } = _ref;
37268
+ onMounted(() => {
37269
+ window.addEventListener("touchstart", onTouchstart, {
37270
+ passive: true
37271
+ });
37272
+ window.addEventListener("touchmove", onTouchmove, {
37273
+ passive: false
37274
+ });
37275
+ window.addEventListener("touchend", onTouchend, {
37276
+ passive: true
37277
+ });
37278
+ });
37279
+ onBeforeUnmount(() => {
37280
+ window.removeEventListener("touchstart", onTouchstart);
37281
+ window.removeEventListener("touchmove", onTouchmove);
37282
+ window.removeEventListener("touchend", onTouchend);
37283
+ });
37284
+ const isHorizontal = computed(() => ["left", "right"].includes(position2.value));
37285
+ const {
37286
+ addMovement,
37287
+ endTouch,
37288
+ getVelocity
37289
+ } = useVelocity();
37290
+ let maybeDragging = false;
37291
+ const isDragging = shallowRef(false);
37292
+ const dragProgress = shallowRef(0);
37293
+ const offset = shallowRef(0);
37294
+ let start;
37295
+ function getOffset2(pos, active2) {
37296
+ return (position2.value === "left" ? pos : position2.value === "right" ? document.documentElement.clientWidth - pos : position2.value === "top" ? pos : position2.value === "bottom" ? document.documentElement.clientHeight - pos : oops()) - (active2 ? width2.value : 0);
37297
+ }
37298
+ function getProgress(pos) {
37299
+ let limit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
37300
+ const progress = position2.value === "left" ? (pos - offset.value) / width2.value : position2.value === "right" ? (document.documentElement.clientWidth - pos - offset.value) / width2.value : position2.value === "top" ? (pos - offset.value) / width2.value : position2.value === "bottom" ? (document.documentElement.clientHeight - pos - offset.value) / width2.value : oops();
37301
+ return limit ? clamp(progress) : progress;
37302
+ }
37303
+ function onTouchstart(e) {
37304
+ if (touchless.value) return;
37305
+ const touchX = e.changedTouches[0].clientX;
37306
+ const touchY = e.changedTouches[0].clientY;
37307
+ const touchZone = 25;
37308
+ const inTouchZone = position2.value === "left" ? touchX < touchZone : position2.value === "right" ? touchX > document.documentElement.clientWidth - touchZone : position2.value === "top" ? touchY < touchZone : position2.value === "bottom" ? touchY > document.documentElement.clientHeight - touchZone : oops();
37309
+ const inElement = isActive.value && (position2.value === "left" ? touchX < width2.value : position2.value === "right" ? touchX > document.documentElement.clientWidth - width2.value : position2.value === "top" ? touchY < width2.value : position2.value === "bottom" ? touchY > document.documentElement.clientHeight - width2.value : oops());
37310
+ if (inTouchZone || inElement || isActive.value && isTemporary.value) {
37311
+ start = [touchX, touchY];
37312
+ offset.value = getOffset2(isHorizontal.value ? touchX : touchY, isActive.value);
37313
+ dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY);
37314
+ maybeDragging = offset.value > -20 && offset.value < 80;
37315
+ endTouch(e);
37316
+ addMovement(e);
37317
+ }
37318
+ }
37319
+ function onTouchmove(e) {
37320
+ const touchX = e.changedTouches[0].clientX;
37321
+ const touchY = e.changedTouches[0].clientY;
37322
+ if (maybeDragging) {
37323
+ if (!e.cancelable) {
37324
+ maybeDragging = false;
37325
+ return;
37326
+ }
37327
+ const dx = Math.abs(touchX - start[0]);
37328
+ const dy = Math.abs(touchY - start[1]);
37329
+ const thresholdMet = isHorizontal.value ? dx > dy && dx > 3 : dy > dx && dy > 3;
37330
+ if (thresholdMet) {
37331
+ isDragging.value = true;
37332
+ maybeDragging = false;
37333
+ } else if ((isHorizontal.value ? dy : dx) > 3) {
37334
+ maybeDragging = false;
37335
+ }
37336
+ }
37337
+ if (!isDragging.value) return;
37338
+ e.preventDefault();
37339
+ addMovement(e);
37340
+ const progress = getProgress(isHorizontal.value ? touchX : touchY, false);
37341
+ dragProgress.value = Math.max(0, Math.min(1, progress));
37342
+ if (progress > 1) {
37343
+ offset.value = getOffset2(isHorizontal.value ? touchX : touchY, true);
37344
+ } else if (progress < 0) {
37345
+ offset.value = getOffset2(isHorizontal.value ? touchX : touchY, false);
37346
+ }
37347
+ }
37348
+ function onTouchend(e) {
37349
+ maybeDragging = false;
37350
+ if (!isDragging.value) return;
37351
+ addMovement(e);
37352
+ isDragging.value = false;
37353
+ const velocity2 = getVelocity(e.changedTouches[0].identifier);
37354
+ const vx = Math.abs(velocity2.x);
37355
+ const vy = Math.abs(velocity2.y);
37356
+ const thresholdMet = isHorizontal.value ? vx > vy && vx > 400 : vy > vx && vy > 3;
37357
+ if (thresholdMet) {
37358
+ isActive.value = velocity2.direction === ({
37359
+ left: "right",
37360
+ right: "left",
37361
+ top: "down",
37362
+ bottom: "up"
37363
+ }[position2.value] || oops());
37364
+ } else {
37365
+ isActive.value = dragProgress.value > 0.5;
37366
+ }
37367
+ }
37368
+ const dragStyles = computed(() => {
37369
+ return isDragging.value ? {
37370
+ transform: position2.value === "left" ? `translateX(calc(-100% + ${dragProgress.value * width2.value}px))` : position2.value === "right" ? `translateX(calc(100% - ${dragProgress.value * width2.value}px))` : position2.value === "top" ? `translateY(calc(-100% + ${dragProgress.value * width2.value}px))` : position2.value === "bottom" ? `translateY(calc(100% - ${dragProgress.value * width2.value}px))` : oops(),
37371
+ transition: "none"
37372
+ } : void 0;
37373
+ });
37374
+ useToggleScope(isDragging, () => {
37375
+ var _a, _b;
37376
+ const transform2 = ((_a = el.value) == null ? void 0 : _a.style.transform) ?? null;
37377
+ const transition = ((_b = el.value) == null ? void 0 : _b.style.transition) ?? null;
37378
+ watchEffect(() => {
37379
+ var _a2, _b2, _c, _d;
37380
+ (_b2 = el.value) == null ? void 0 : _b2.style.setProperty("transform", ((_a2 = dragStyles.value) == null ? void 0 : _a2.transform) || "none");
37381
+ (_d = el.value) == null ? void 0 : _d.style.setProperty("transition", ((_c = dragStyles.value) == null ? void 0 : _c.transition) || null);
37382
+ });
37383
+ onScopeDispose(() => {
37384
+ var _a2, _b2;
37385
+ (_a2 = el.value) == null ? void 0 : _a2.style.setProperty("transform", transform2);
37386
+ (_b2 = el.value) == null ? void 0 : _b2.style.setProperty("transition", transition);
37387
+ });
37388
+ });
37389
+ return {
37390
+ isDragging,
37391
+ dragProgress,
37392
+ dragStyles
37393
+ };
37394
+ }
37395
+ function oops() {
37396
+ throw new Error();
37397
+ }
37398
+ const locations = ["start", "end", "left", "right", "top", "bottom"];
37399
+ const makeVNavigationDrawerProps = propsFactory({
37400
+ color: String,
37401
+ disableResizeWatcher: Boolean,
37402
+ disableRouteWatcher: Boolean,
37403
+ expandOnHover: Boolean,
37404
+ floating: Boolean,
37405
+ modelValue: {
37406
+ type: Boolean,
37407
+ default: null
37408
+ },
37409
+ permanent: Boolean,
37410
+ rail: {
37411
+ type: Boolean,
37412
+ default: null
37413
+ },
37414
+ railWidth: {
37415
+ type: [Number, String],
37416
+ default: 56
37417
+ },
37418
+ scrim: {
37419
+ type: [Boolean, String],
37420
+ default: true
37421
+ },
37422
+ image: String,
37423
+ temporary: Boolean,
37424
+ persistent: Boolean,
37425
+ touchless: Boolean,
37426
+ width: {
37427
+ type: [Number, String],
37428
+ default: 256
37429
+ },
37430
+ location: {
37431
+ type: String,
37432
+ default: "start",
37433
+ validator: (value2) => locations.includes(value2)
37434
+ },
37435
+ sticky: Boolean,
37436
+ ...makeBorderProps(),
37437
+ ...makeComponentProps(),
37438
+ ...makeDelayProps(),
37439
+ ...makeDisplayProps({
37440
+ mobile: null
37441
+ }),
37442
+ ...makeElevationProps(),
37443
+ ...makeLayoutItemProps(),
37444
+ ...makeRoundedProps(),
37445
+ ...makeTagProps({
37446
+ tag: "nav"
37447
+ }),
37448
+ ...makeThemeProps()
37449
+ }, "VNavigationDrawer");
37450
+ const VNavigationDrawer = genericComponent()({
37451
+ name: "VNavigationDrawer",
37452
+ props: makeVNavigationDrawerProps(),
37453
+ emits: {
37454
+ "update:modelValue": (val2) => true,
37455
+ "update:rail": (val2) => true
37456
+ },
37457
+ setup(props, _ref) {
37458
+ let {
37459
+ attrs,
37460
+ emit,
37461
+ slots
37462
+ } = _ref;
37463
+ const {
37464
+ isRtl
37465
+ } = useRtl();
37466
+ const {
37467
+ themeClasses
37468
+ } = provideTheme(props);
37469
+ const {
37470
+ borderClasses
37471
+ } = useBorder(props);
37472
+ const {
37473
+ backgroundColorClasses,
37474
+ backgroundColorStyles
37475
+ } = useBackgroundColor(() => props.color);
37476
+ const {
37477
+ elevationClasses
37478
+ } = useElevation(props);
37479
+ const {
37480
+ displayClasses,
37481
+ mobile
37482
+ } = useDisplay(props);
37483
+ const {
37484
+ roundedClasses
37485
+ } = useRounded(props);
37486
+ const router = useRouter();
37487
+ const isActive = useProxiedModel(props, "modelValue", null, (v) => !!v);
37488
+ const {
37489
+ ssrBootStyles
37490
+ } = useSsrBoot();
37491
+ const {
37492
+ scopeId
37493
+ } = useScopeId();
37494
+ const rootEl = ref();
37495
+ const isHovering = shallowRef(false);
37496
+ const {
37497
+ runOpenDelay,
37498
+ runCloseDelay
37499
+ } = useDelay(props, (value2) => {
37500
+ isHovering.value = value2;
37501
+ });
37502
+ const width2 = computed(() => {
37503
+ return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width);
37504
+ });
37505
+ const location = computed(() => {
37506
+ return toPhysical(props.location, isRtl.value);
37507
+ });
37508
+ const isPersistent = toRef(() => props.persistent);
37509
+ const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
37510
+ const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== "bottom");
37511
+ useToggleScope(() => props.expandOnHover && props.rail != null, () => {
37512
+ watch(isHovering, (val2) => emit("update:rail", !val2));
37513
+ });
37514
+ useToggleScope(() => !props.disableResizeWatcher, () => {
37515
+ watch(isTemporary, (val2) => !props.permanent && nextTick(() => isActive.value = !val2));
37516
+ });
37517
+ useToggleScope(() => !props.disableRouteWatcher && !!router, () => {
37518
+ watch(router.currentRoute, () => isTemporary.value && (isActive.value = false));
37519
+ });
37520
+ watch(() => props.permanent, (val2) => {
37521
+ if (val2) isActive.value = true;
37522
+ });
37523
+ if (props.modelValue == null && !isTemporary.value) {
37524
+ isActive.value = props.permanent || !mobile.value;
37525
+ }
37526
+ const {
37527
+ isDragging,
37528
+ dragProgress
37529
+ } = useTouch({
37530
+ el: rootEl,
37531
+ isActive,
37532
+ isTemporary,
37533
+ width: width2,
37534
+ touchless: toRef(() => props.touchless),
37535
+ position: location
37536
+ });
37537
+ const layoutSize = computed(() => {
37538
+ const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width2.value;
37539
+ return isDragging.value ? size * dragProgress.value : size;
37540
+ });
37541
+ const {
37542
+ layoutItemStyles,
37543
+ layoutItemScrimStyles
37544
+ } = useLayoutItem({
37545
+ id: props.name,
37546
+ order: computed(() => parseInt(props.order, 10)),
37547
+ position: location,
37548
+ layoutSize,
37549
+ elementSize: width2,
37550
+ active: readonly(isActive),
37551
+ disableTransitions: toRef(() => isDragging.value),
37552
+ absolute: computed(() => (
37553
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
37554
+ props.absolute || isSticky.value && typeof isStuck.value !== "string"
37555
+ ))
37556
+ });
37557
+ const {
37558
+ isStuck,
37559
+ stickyStyles
37560
+ } = useSticky({
37561
+ rootEl,
37562
+ isSticky,
37563
+ layoutItemStyles
37564
+ });
37565
+ const scrimColor = useBackgroundColor(() => {
37566
+ return typeof props.scrim === "string" ? props.scrim : null;
37567
+ });
37568
+ const scrimStyles = computed(() => ({
37569
+ ...isDragging.value ? {
37570
+ opacity: dragProgress.value * 0.2,
37571
+ transition: "none"
37572
+ } : void 0,
37573
+ ...layoutItemScrimStyles.value
37574
+ }));
37575
+ provideDefaults({
37576
+ VList: {
37577
+ bgColor: "transparent"
37578
+ }
37579
+ });
37580
+ useRender(() => {
37581
+ const hasImage = slots.image || props.image;
37582
+ return createElementVNode(Fragment, null, [createVNode(props.tag, mergeProps({
37583
+ "ref": rootEl,
37584
+ "onMouseenter": runOpenDelay,
37585
+ "onMouseleave": runCloseDelay,
37586
+ "class": ["v-navigation-drawer", `v-navigation-drawer--${location.value}`, {
37587
+ "v-navigation-drawer--expand-on-hover": props.expandOnHover,
37588
+ "v-navigation-drawer--floating": props.floating,
37589
+ "v-navigation-drawer--is-hovering": isHovering.value,
37590
+ "v-navigation-drawer--rail": props.rail,
37591
+ "v-navigation-drawer--temporary": isTemporary.value,
37592
+ "v-navigation-drawer--persistent": isPersistent.value,
37593
+ "v-navigation-drawer--active": isActive.value,
37594
+ "v-navigation-drawer--sticky": isSticky.value
37595
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
37596
+ "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
37597
+ }, scopeId, attrs), {
37598
+ default: () => {
37599
+ var _a, _b, _c;
37600
+ return [hasImage && createElementVNode("div", {
37601
+ "key": "image",
37602
+ "class": "v-navigation-drawer__img"
37603
+ }, [!slots.image ? createVNode(VImg, {
37604
+ "key": "image-img",
37605
+ "alt": "",
37606
+ "cover": true,
37607
+ "height": "inherit",
37608
+ "src": props.image
37609
+ }, null) : createVNode(VDefaultsProvider, {
37610
+ "key": "image-defaults",
37611
+ "disabled": !props.image,
37612
+ "defaults": {
37613
+ VImg: {
37614
+ alt: "",
37615
+ cover: true,
37616
+ height: "inherit",
37617
+ src: props.image
37618
+ }
37619
+ }
37620
+ }, slots.image)]), slots.prepend && createElementVNode("div", {
37621
+ "class": "v-navigation-drawer__prepend"
37622
+ }, [(_a = slots.prepend) == null ? void 0 : _a.call(slots)]), createElementVNode("div", {
37623
+ "class": "v-navigation-drawer__content"
37624
+ }, [(_b = slots.default) == null ? void 0 : _b.call(slots)]), slots.append && createElementVNode("div", {
37625
+ "class": "v-navigation-drawer__append"
37626
+ }, [(_c = slots.append) == null ? void 0 : _c.call(slots)])];
37627
+ }
37628
+ }), createVNode(Transition, {
37629
+ "name": "fade-transition"
37630
+ }, {
37631
+ default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createElementVNode("div", mergeProps({
37632
+ "class": ["v-navigation-drawer__scrim", scrimColor.backgroundColorClasses.value],
37633
+ "style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
37634
+ "onClick": () => {
37635
+ if (isPersistent.value) return;
37636
+ isActive.value = false;
37637
+ }
37638
+ }, scopeId), null)]
37639
+ })]);
37640
+ });
37641
+ return {
37642
+ isStuck
37643
+ };
37644
+ }
37645
+ });
37646
+ const _hoisted_1$2 = { class: "pa-5" };
37647
+ const _hoisted_2$1 = {
37648
+ key: 0,
37649
+ class: "pa-4 text-center"
37650
+ };
37651
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
37652
+ __name: "AppSidebar",
37653
+ props: {
37654
+ sidebarItems: {
37655
+ type: Array,
37656
+ required: true
37657
+ },
37658
+ getFilteredSidebarItems: {
37659
+ type: Function,
37660
+ required: true
37661
+ },
37662
+ logoComponent: {
37663
+ type: Object,
37664
+ // Vue component
37665
+ required: true
37666
+ },
37667
+ sidebarDrawer: {
37668
+ type: Boolean,
37669
+ required: true
37670
+ },
37671
+ miniSidebar: {
37672
+ type: Boolean,
37673
+ required: true
37674
+ }
37675
+ },
37676
+ emits: ["update:sidebarDrawer"],
37677
+ setup(__props, { emit: __emit }) {
37678
+ const props = __props;
37679
+ const emit = __emit;
37680
+ const sidebarMenu = computed(() => {
37681
+ var _a;
37682
+ try {
37683
+ const filtered = (_a = props.getFilteredSidebarItems) == null ? void 0 : _a.call(props);
37684
+ if (Array.isArray(filtered)) return filtered;
37685
+ } catch {
37686
+ }
37687
+ return props.sidebarItems;
37688
+ });
37689
+ return (_ctx, _cache) => {
37690
+ const _component_perfect_scrollbar = resolveComponent("perfect-scrollbar");
37691
+ return openBlock(), createBlock(VNavigationDrawer, {
37692
+ right: "",
37693
+ "model-value": __props.sidebarDrawer,
37694
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:sidebarDrawer", $event)),
37695
+ elevation: "0",
37696
+ "rail-width": "82",
37697
+ "mobile-breakpoint": "lg",
37698
+ app: "",
37699
+ rail: __props.miniSidebar,
37700
+ class: normalizeClass(["rightSidebar", { "sidebar-closed": !__props.sidebarDrawer }])
37701
+ }, {
37702
+ default: withCtx(() => [
37703
+ createElementVNode("div", _hoisted_1$2, [
37704
+ (openBlock(), createBlock(resolveDynamicComponent(__props.logoComponent)))
37705
+ ]),
37706
+ createVNode(_component_perfect_scrollbar, { class: "scrollnavbar" }, {
37707
+ default: withCtx(() => [
37708
+ createVNode(VList, { class: "pa-4" }, {
37709
+ default: withCtx(() => [
37710
+ (openBlock(true), createElementBlock(Fragment, null, renderList(sidebarMenu.value, (item, i) => {
37711
+ return openBlock(), createElementBlock(Fragment, { key: i }, [
37712
+ item.header ? (openBlock(), createBlock(_sfc_main$3, {
37713
+ key: 0,
37714
+ item
37715
+ }, null, 8, ["item"])) : item.divider ? (openBlock(), createBlock(VDivider, {
37716
+ key: 1,
37717
+ class: "my-3"
37718
+ })) : item.children ? (openBlock(), createBlock(_sfc_main$4, {
37719
+ key: 2,
37720
+ item,
37721
+ level: 0,
37722
+ class: "leftPadding"
37723
+ }, null, 8, ["item"])) : (openBlock(), createBlock(_sfc_main$5, {
37724
+ key: 3,
37725
+ item,
37726
+ level: 0,
37727
+ class: "leftPadding"
37728
+ }, null, 8, ["item"]))
37729
+ ], 64);
37730
+ }), 128))
37731
+ ]),
37732
+ _: 1
37733
+ }),
37734
+ __props.sidebarDrawer ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
37735
+ createVNode(VChip, {
37736
+ color: "inputBorder",
37737
+ size: "small"
37738
+ }, {
37739
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
37740
+ createTextVNode("نمایشی", -1)
37741
+ ])]),
37742
+ _: 1
37743
+ })
37744
+ ])) : createCommentVNode("", true)
37745
+ ]),
37746
+ _: 1
37747
+ })
37748
+ ]),
37749
+ _: 1
37750
+ }, 8, ["model-value", "rail", "class"]);
37751
+ };
37752
+ }
37753
+ });
36953
37754
  const makeVToolbarTitleProps = propsFactory({
36954
37755
  text: String,
36955
37756
  ...makeComponentProps(),
@@ -37332,400 +38133,449 @@ const VAppBar = genericComponent()({
37332
38133
  return {};
37333
38134
  }
37334
38135
  });
37335
- const _hoisted_1$2 = {
37336
- key: 1,
37337
- class: "header-menu-container"
37338
- };
37339
- const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
37340
- __name: "AppSidebar",
37341
- props: {
37342
- menuOrientation: { type: String, default: "horizontal" },
37343
- miniSidebar: { type: Boolean, default: false },
37344
- userInfoLoaded: { type: Boolean, default: false },
37345
- headerMenu: { type: Array, default: () => [] },
37346
- // Events sent back to project
37347
- onToggleMiniSidebar: Function,
37348
- onToggleCustomizer: Function,
37349
- onToggleSidebarDrawer: Function
38136
+ const makeVAppBarNavIconProps = propsFactory({
38137
+ ...omit(makeVBtnProps({
38138
+ icon: "$menu",
38139
+ variant: "text"
38140
+ }), ["spaced"])
38141
+ }, "VAppBarNavIcon");
38142
+ const VAppBarNavIcon = genericComponent()({
38143
+ name: "VAppBarNavIcon",
38144
+ props: makeVAppBarNavIconProps(),
38145
+ setup(props, _ref) {
38146
+ let {
38147
+ slots
38148
+ } = _ref;
38149
+ useRender(() => createVNode(VBtn, mergeProps(props, {
38150
+ "class": ["v-app-bar-nav-icon"]
38151
+ }), slots));
38152
+ return {};
38153
+ }
38154
+ });
38155
+ const VAppBarTitle = genericComponent()({
38156
+ name: "VAppBarTitle",
38157
+ props: makeVToolbarTitleProps(),
38158
+ setup(props, _ref) {
38159
+ let {
38160
+ slots
38161
+ } = _ref;
38162
+ useRender(() => createVNode(VToolbarTitle, mergeProps(props, {
38163
+ "class": "v-app-bar-title"
38164
+ }), slots));
38165
+ return {};
38166
+ }
38167
+ });
38168
+ const makeVBadgeProps = propsFactory({
38169
+ bordered: Boolean,
38170
+ color: String,
38171
+ content: [Number, String],
38172
+ dot: Boolean,
38173
+ floating: Boolean,
38174
+ icon: IconValue,
38175
+ inline: Boolean,
38176
+ label: {
38177
+ type: String,
38178
+ default: "$vuetify.badge"
37350
38179
  },
37351
- setup(__props) {
37352
- const props = __props;
37353
- ref(false);
37354
- const computedHeaderMenu = computed(() => {
37355
- if (props.userInfoLoaded) return props.headerMenu;
37356
- return props.headerMenu;
38180
+ max: [Number, String],
38181
+ modelValue: {
38182
+ type: Boolean,
38183
+ default: true
38184
+ },
38185
+ offsetX: [Number, String],
38186
+ offsetY: [Number, String],
38187
+ textColor: String,
38188
+ ...makeComponentProps(),
38189
+ ...makeLocationProps({
38190
+ location: "top end"
38191
+ }),
38192
+ ...makeRoundedProps(),
38193
+ ...makeTagProps(),
38194
+ ...makeThemeProps(),
38195
+ ...makeTransitionProps$1({
38196
+ transition: "scale-rotate-transition"
38197
+ }),
38198
+ ...makeDimensionProps()
38199
+ }, "VBadge");
38200
+ const VBadge = genericComponent()({
38201
+ name: "VBadge",
38202
+ inheritAttrs: false,
38203
+ props: makeVBadgeProps(),
38204
+ setup(props, ctx) {
38205
+ const {
38206
+ backgroundColorClasses,
38207
+ backgroundColorStyles
38208
+ } = useBackgroundColor(() => props.color);
38209
+ const {
38210
+ roundedClasses
38211
+ } = useRounded(props);
38212
+ const {
38213
+ t
38214
+ } = useLocale();
38215
+ const {
38216
+ textColorClasses,
38217
+ textColorStyles
38218
+ } = useTextColor(() => props.textColor);
38219
+ const {
38220
+ themeClasses
38221
+ } = useTheme();
38222
+ const {
38223
+ locationStyles
38224
+ } = useLocation(props, true, (side) => {
38225
+ const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
38226
+ return base + (["top", "bottom"].includes(side) ? Number(props.offsetY ?? 0) : ["left", "right"].includes(side) ? Number(props.offsetX ?? 0) : 0);
37357
38227
  });
37358
- return (_ctx, _cache) => {
37359
- return openBlock(), createBlock(VAppBar, {
37360
- elevation: "0",
37361
- height: "80"
37362
- }, {
37363
- default: withCtx(() => [
37364
- __props.menuOrientation === "vertical" ? (openBlock(), createBlock(VBtn, {
37365
- key: 0,
37366
- class: "hidden-md-and-down text-secondary",
37367
- color: "lightsecondary",
37368
- icon: "",
37369
- rounded: "sm",
37370
- variant: "flat",
37371
- size: "small",
37372
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => props.onToggleMiniSidebar && props.onToggleMiniSidebar(), ["stop"]))
37373
- }, {
37374
- default: withCtx(() => [
37375
- createVNode(unref(IconMenu2), {
37376
- size: "20",
37377
- "stroke-width": "1.5"
37378
- })
37379
- ]),
37380
- _: 1
37381
- })) : createCommentVNode("", true),
37382
- createVNode(VBtn, {
37383
- class: "hidden-lg-and-up text-secondary ms-3",
37384
- color: "lightsecondary",
37385
- icon: "",
37386
- rounded: "sm",
37387
- variant: "flat",
37388
- size: "small",
37389
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => props.onToggleSidebarDrawer && props.onToggleSidebarDrawer(), ["stop"]))
37390
- }, {
37391
- default: withCtx(() => [
37392
- createVNode(unref(IconMenu2), {
37393
- size: "20",
37394
- "stroke-width": "1.5"
37395
- })
37396
- ]),
37397
- _: 1
37398
- }),
37399
- createVNode(VBtn, {
37400
- class: "hidden-md-and-down text-secondary mr-2 ml-2",
37401
- color: "lightsecondary",
37402
- icon: "",
37403
- rounded: "sm",
37404
- variant: "flat",
37405
- size: "small",
37406
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => props.onToggleCustomizer && props.onToggleCustomizer(), ["stop"]))
38228
+ const {
38229
+ dimensionStyles
38230
+ } = useDimension(props);
38231
+ useRender(() => {
38232
+ const value2 = Number(props.content);
38233
+ const content2 = !props.max || isNaN(value2) ? props.content : value2 <= Number(props.max) ? value2 : `${props.max}+`;
38234
+ const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ["aria-atomic", "aria-label", "aria-live", "role", "title"]);
38235
+ return createVNode(props.tag, mergeProps({
38236
+ "class": ["v-badge", {
38237
+ "v-badge--bordered": props.bordered,
38238
+ "v-badge--dot": props.dot,
38239
+ "v-badge--floating": props.floating,
38240
+ "v-badge--inline": props.inline
38241
+ }, props.class]
38242
+ }, attrs, {
38243
+ "style": props.style
38244
+ }), {
38245
+ default: () => {
38246
+ var _a, _b;
38247
+ return [createElementVNode("div", {
38248
+ "class": "v-badge__wrapper"
38249
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a), createVNode(MaybeTransition, {
38250
+ "transition": props.transition
37407
38251
  }, {
37408
- default: withCtx(() => [
37409
- createVNode(unref(IconPalette), {
37410
- size: "20",
37411
- "stroke-width": "1.5"
37412
- })
37413
- ]),
37414
- _: 1
37415
- }),
37416
- __props.menuOrientation === "horizontal" ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
37417
- (openBlock(true), createElementBlock(Fragment, null, renderList(computedHeaderMenu.value, (item, i) => {
37418
- return openBlock(), createElementBlock(Fragment, { key: i }, [
37419
- !item.children ? (openBlock(), createBlock(VBtn, {
37420
- key: 0,
37421
- to: item.type === "external" ? "" : item.to,
37422
- href: item.type === "external" ? item.to : "",
37423
- target: item.type === "external" ? "_blank" : "",
37424
- variant: "text",
37425
- disabled: item.disabled,
37426
- class: "header-menu-btn mr-3",
37427
- color: "primary"
37428
- }, {
37429
- default: withCtx(() => [
37430
- item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
37431
- key: 0,
37432
- class: "mr-2",
37433
- size: "18"
37434
- })) : createCommentVNode("", true),
37435
- createElementVNode("span", null, toDisplayString(item.title), 1)
37436
- ]),
37437
- _: 2
37438
- }, 1032, ["to", "href", "target", "disabled"])) : (openBlock(), createBlock(VMenu, {
37439
- key: 1,
37440
- "offset-y": ""
37441
- }, {
37442
- activator: withCtx(({ props: mprops }) => [
37443
- createVNode(VBtn, mergeProps({ ref_for: true }, mprops, {
37444
- variant: "text",
37445
- class: "header-menu-btn",
37446
- color: "primary mr-3"
37447
- }), {
37448
- default: withCtx(() => [
37449
- item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
37450
- key: 0,
37451
- size: "18",
37452
- class: "mr-2"
37453
- })) : createCommentVNode("", true),
37454
- createElementVNode("span", null, toDisplayString(item.title), 1),
37455
- createVNode(unref(IconChevronDown), {
37456
- size: "18",
37457
- class: "ml-2"
37458
- })
37459
- ]),
37460
- _: 2
37461
- }, 1040)
37462
- ]),
37463
- default: withCtx(() => [
37464
- createVNode(VList, null, {
37465
- default: withCtx(() => [
37466
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (child, c) => {
37467
- return openBlock(), createBlock(VListItem, {
37468
- key: c,
37469
- to: child.type === "external" ? "" : child.to,
37470
- href: child.type === "external" ? child.to : "",
37471
- target: child.type === "external" ? "_blank" : ""
37472
- }, {
37473
- default: withCtx(() => [
37474
- createVNode(VListItemTitle, null, {
37475
- default: withCtx(() => [
37476
- createTextVNode(toDisplayString(child.title), 1)
37477
- ]),
37478
- _: 2
37479
- }, 1024)
37480
- ]),
37481
- _: 2
37482
- }, 1032, ["to", "href", "target"]);
37483
- }), 128))
37484
- ]),
37485
- _: 2
37486
- }, 1024)
37487
- ]),
37488
- _: 2
37489
- }, 1024))
37490
- ], 64);
37491
- }), 128))
37492
- ])) : createCommentVNode("", true),
37493
- createVNode(VSpacer),
37494
- renderSlot(_ctx.$slots, "notifications", {}, () => [
37495
- createVNode(VBtn, {
37496
- icon: "",
37497
- class: "text-secondary mx-3",
37498
- color: "lightsecondary",
37499
- rounded: "sm",
37500
- size: "small",
37501
- variant: "flat"
37502
- }, {
37503
- default: withCtx(() => [
37504
- createVNode(unref(IconBell), {
37505
- "stroke-width": "1.5",
37506
- size: "20"
37507
- })
37508
- ]),
37509
- _: 1
37510
- })
37511
- ], true),
37512
- renderSlot(_ctx.$slots, "profile", {}, () => [
37513
- createVNode(VBtn, {
37514
- class: "profileBtn text-primary",
37515
- color: "lightprimary",
37516
- variant: "flat",
37517
- rounded: "pill"
37518
- }, {
37519
- default: withCtx(() => [
37520
- createVNode(unref(IconSettings))
37521
- ]),
37522
- _: 1
37523
- })
37524
- ], true)
37525
- ]),
37526
- _: 3
38252
+ default: () => {
38253
+ var _a2, _b2;
38254
+ return [withDirectives(createElementVNode("span", mergeProps({
38255
+ "class": ["v-badge__badge", themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],
38256
+ "style": [backgroundColorStyles.value, textColorStyles.value, dimensionStyles.value, props.inline ? {} : locationStyles.value],
38257
+ "aria-atomic": "true",
38258
+ "aria-label": t(props.label, value2),
38259
+ "aria-live": "polite",
38260
+ "role": "status"
38261
+ }, badgeAttrs), [props.dot ? void 0 : ctx.slots.badge ? (_b2 = (_a2 = ctx.slots).badge) == null ? void 0 : _b2.call(_a2) : props.icon ? createVNode(VIcon, {
38262
+ "icon": props.icon
38263
+ }, null) : content2]), [[vShow, props.modelValue]])];
38264
+ }
38265
+ })])];
38266
+ }
37527
38267
  });
37528
- };
38268
+ });
38269
+ return {};
37529
38270
  }
37530
38271
  });
37531
- const AppSidebar = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-f9cc73a9"]]);
37532
38272
  const _hoisted_1$1 = {
38273
+ key: 0,
38274
+ class: "text-h6"
38275
+ };
38276
+ const _hoisted_2 = {
37533
38277
  key: 1,
37534
- class: "header-menu-container"
38278
+ class: "text-caption text-medium-emphasis"
37535
38279
  };
38280
+ const _hoisted_3 = { key: 2 };
38281
+ const _hoisted_4 = { key: 2 };
38282
+ const _hoisted_5 = { key: 2 };
37536
38283
  const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
37537
38284
  __name: "AppHeader",
37538
38285
  props: {
37539
- menuOrientation: { type: String, default: "horizontal" },
37540
- miniSidebar: { type: Boolean, default: false },
37541
- userInfoLoaded: { type: Boolean, default: false },
37542
- headerMenu: { type: Array, default: () => [] },
37543
- // Events sent back to project
37544
- onToggleMiniSidebar: Function,
37545
- onToggleCustomizer: Function,
37546
- onToggleSidebarDrawer: Function
38286
+ title: {},
38287
+ subtitle: {},
38288
+ class: {},
38289
+ ariaLabel: { default: "Application header" },
38290
+ showSidebarToggle: { type: Boolean, default: true },
38291
+ showSearch: { type: Boolean, default: false },
38292
+ searchPlaceholder: { default: "جستجو..." },
38293
+ searchValue: {},
38294
+ showNotifications: { type: Boolean, default: false },
38295
+ notificationCount: { default: 0 },
38296
+ showProfile: { type: Boolean, default: false },
38297
+ profileAvatar: {},
38298
+ profileName: {},
38299
+ profileMenu: { default: () => [] },
38300
+ actions: { default: () => [] },
38301
+ color: { default: "surface" },
38302
+ elevation: { default: 1 },
38303
+ height: { default: 70 },
38304
+ hideDefaultTitle: { type: Boolean, default: false }
37547
38305
  },
37548
- setup(__props) {
38306
+ emits: ["update:searchValue", "toggle-sidebar", "search"],
38307
+ setup(__props, { emit: __emit }) {
37549
38308
  const props = __props;
37550
- ref(false);
37551
- const computedHeaderMenu = computed(() => {
37552
- if (props.userInfoLoaded) return props.headerMenu;
37553
- return props.headerMenu;
38309
+ const emit = __emit;
38310
+ const customizer = useCustomizerStore();
38311
+ const searchInput = computed({
38312
+ get: () => props.searchValue || "",
38313
+ set: (val2) => {
38314
+ emit("update:searchValue", val2);
38315
+ emit("search", val2);
38316
+ }
37554
38317
  });
38318
+ const toggleSidebar = () => {
38319
+ customizer.SET_SIDEBAR_DRAWER();
38320
+ emit("toggle-sidebar");
38321
+ };
38322
+ const router = useRouter$1();
38323
+ const profileMenuItems = computed(
38324
+ () => props.profileMenu.map((item) => ({
38325
+ ...item,
38326
+ prependIcon: item.icon,
38327
+ onClick: item.action || (() => {
38328
+ if (item.to) {
38329
+ router.push(item.to);
38330
+ } else if (item.href) {
38331
+ window.open(item.href, "_blank");
38332
+ }
38333
+ })
38334
+ }))
38335
+ );
37555
38336
  return (_ctx, _cache) => {
37556
38337
  return openBlock(), createBlock(VAppBar, {
37557
- elevation: "0",
37558
- height: "80"
38338
+ color: __props.color,
38339
+ elevation: __props.elevation,
38340
+ height: __props.height,
38341
+ class: normalizeClass(["app-header topbar", props.class]),
38342
+ "aria-label": __props.ariaLabel,
38343
+ fixed: ""
37559
38344
  }, {
37560
38345
  default: withCtx(() => [
37561
- __props.menuOrientation === "vertical" ? (openBlock(), createBlock(VBtn, {
38346
+ renderSlot(_ctx.$slots, "left", {}, void 0, true),
38347
+ __props.showSidebarToggle ? (openBlock(), createBlock(VAppBarNavIcon, {
37562
38348
  key: 0,
37563
- class: "hidden-md-and-down text-secondary",
37564
- color: "lightsecondary",
37565
- icon: "",
37566
- rounded: "sm",
37567
- variant: "flat",
37568
- size: "small",
37569
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => props.onToggleMiniSidebar && props.onToggleMiniSidebar(), ["stop"]))
38349
+ variant: "text",
38350
+ onClick: toggleSidebar
38351
+ })) : createCommentVNode("", true),
38352
+ renderSlot(_ctx.$slots, "title", {}, () => [
38353
+ !__props.hideDefaultTitle && (__props.title || __props.subtitle) ? (openBlock(), createBlock(VAppBarTitle, {
38354
+ key: 0,
38355
+ class: "d-flex flex-column"
38356
+ }, {
38357
+ default: withCtx(() => [
38358
+ __props.title ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
38359
+ __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
38360
+ ]),
38361
+ _: 1
38362
+ })) : createCommentVNode("", true)
38363
+ ], true),
38364
+ createVNode(VSpacer),
38365
+ renderSlot(_ctx.$slots, "center", {}, void 0, true),
38366
+ __props.showSearch ? (openBlock(), createBlock(VTextField, {
38367
+ key: 1,
38368
+ modelValue: searchInput.value,
38369
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchInput.value = $event),
38370
+ placeholder: __props.searchPlaceholder,
38371
+ density: "compact",
38372
+ variant: "outlined",
38373
+ "hide-details": "",
38374
+ "prepend-inner-icon": "mdi-magnify",
38375
+ class: "search-bar",
38376
+ style: { "max-width": "400px" }
38377
+ }, null, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true),
38378
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.actions, (action, index2) => {
38379
+ return openBlock(), createElementBlock(Fragment, { key: index2 }, [
38380
+ action.tooltip ? (openBlock(), createBlock(VTooltip, {
38381
+ key: 0,
38382
+ text: action.tooltip,
38383
+ location: "bottom"
38384
+ }, {
38385
+ activator: withCtx(({ props: tooltipProps }) => [
38386
+ createVNode(VBtn, mergeProps({ ref_for: true }, tooltipProps, {
38387
+ icon: action.icon,
38388
+ color: action.color || "primary",
38389
+ variant: action.variant || "text",
38390
+ size: action.size || "default",
38391
+ disabled: action.disabled,
38392
+ class: "ms-2",
38393
+ onClick: action.onClick
38394
+ }), {
38395
+ default: withCtx(() => [
38396
+ action.badge ? (openBlock(), createBlock(VBadge, {
38397
+ key: 0,
38398
+ content: action.badge,
38399
+ color: action.badgeColor || "error",
38400
+ overlap: ""
38401
+ }, {
38402
+ default: withCtx(() => [
38403
+ action.icon ? (openBlock(), createBlock(VIcon, {
38404
+ key: 0,
38405
+ icon: action.icon
38406
+ }, null, 8, ["icon"])) : createCommentVNode("", true)
38407
+ ]),
38408
+ _: 2
38409
+ }, 1032, ["content", "color"])) : action.icon ? (openBlock(), createBlock(VIcon, {
38410
+ key: 1,
38411
+ icon: action.icon
38412
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
38413
+ action.label && !action.icon ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(action.label), 1)) : createCommentVNode("", true)
38414
+ ]),
38415
+ _: 2
38416
+ }, 1040, ["icon", "color", "variant", "size", "disabled", "onClick"])
38417
+ ]),
38418
+ _: 2
38419
+ }, 1032, ["text"])) : (openBlock(), createBlock(VBtn, {
38420
+ key: 1,
38421
+ icon: action.icon,
38422
+ color: action.color || "primary",
38423
+ variant: action.variant || "text",
38424
+ size: action.size || "default",
38425
+ disabled: action.disabled,
38426
+ class: "ms-2",
38427
+ onClick: action.onClick
38428
+ }, {
38429
+ default: withCtx(() => [
38430
+ action.badge ? (openBlock(), createBlock(VBadge, {
38431
+ key: 0,
38432
+ content: action.badge,
38433
+ color: action.badgeColor || "error",
38434
+ overlap: ""
38435
+ }, {
38436
+ default: withCtx(() => [
38437
+ action.icon ? (openBlock(), createBlock(VIcon, {
38438
+ key: 0,
38439
+ icon: action.icon
38440
+ }, null, 8, ["icon"])) : createCommentVNode("", true)
38441
+ ]),
38442
+ _: 2
38443
+ }, 1032, ["content", "color"])) : action.icon ? (openBlock(), createBlock(VIcon, {
38444
+ key: 1,
38445
+ icon: action.icon
38446
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
38447
+ action.label && !action.icon ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(action.label), 1)) : createCommentVNode("", true)
38448
+ ]),
38449
+ _: 2
38450
+ }, 1032, ["icon", "color", "variant", "size", "disabled", "onClick"]))
38451
+ ], 64);
38452
+ }), 128)),
38453
+ renderSlot(_ctx.$slots, "right", {}, void 0, true),
38454
+ __props.showNotifications ? (openBlock(), createBlock(VMenu, {
38455
+ key: 2,
38456
+ location: "bottom end",
38457
+ "offset-y": ""
37570
38458
  }, {
38459
+ activator: withCtx(({ props: menuProps }) => [
38460
+ createVNode(VBtn, mergeProps(menuProps, {
38461
+ icon: "",
38462
+ variant: "text",
38463
+ class: "profileBtn"
38464
+ }), {
38465
+ default: withCtx(() => [
38466
+ createVNode(VBadge, {
38467
+ content: __props.notificationCount > 0 ? __props.notificationCount : void 0,
38468
+ color: "error",
38469
+ overlap: ""
38470
+ }, {
38471
+ default: withCtx(() => [
38472
+ createVNode(VIcon, { icon: "mdi-bell-outline" })
38473
+ ]),
38474
+ _: 1
38475
+ }, 8, ["content"])
38476
+ ]),
38477
+ _: 1
38478
+ }, 16)
38479
+ ]),
37571
38480
  default: withCtx(() => [
37572
- createVNode(unref(IconMenu2), {
37573
- size: "20",
37574
- "stroke-width": "1.5"
38481
+ createVNode(VList, null, {
38482
+ default: withCtx(() => [
38483
+ createVNode(VListItem, null, {
38484
+ default: withCtx(() => [
38485
+ createVNode(VListItemTitle, null, {
38486
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
38487
+ createTextVNode("اعلان‌ها", -1)
38488
+ ])]),
38489
+ _: 1
38490
+ })
38491
+ ]),
38492
+ _: 1
38493
+ }),
38494
+ createVNode(VDivider),
38495
+ createVNode(VListItem, null, {
38496
+ default: withCtx(() => [
38497
+ createVNode(VListItemTitle, null, {
38498
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [
38499
+ createTextVNode("هیچ اعلان جدیدی وجود ندارد", -1)
38500
+ ])]),
38501
+ _: 1
38502
+ })
38503
+ ]),
38504
+ _: 1
38505
+ })
38506
+ ]),
38507
+ _: 1
37575
38508
  })
37576
38509
  ]),
37577
38510
  _: 1
37578
38511
  })) : createCommentVNode("", true),
37579
- createVNode(VBtn, {
37580
- class: "hidden-lg-and-up text-secondary ms-3",
37581
- color: "lightsecondary",
37582
- icon: "",
37583
- rounded: "sm",
37584
- variant: "flat",
37585
- size: "small",
37586
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => props.onToggleSidebarDrawer && props.onToggleSidebarDrawer(), ["stop"]))
38512
+ __props.showProfile ? (openBlock(), createBlock(VMenu, {
38513
+ key: 3,
38514
+ location: "bottom end",
38515
+ "offset-y": ""
37587
38516
  }, {
37588
- default: withCtx(() => [
37589
- createVNode(unref(IconMenu2), {
37590
- size: "20",
37591
- "stroke-width": "1.5"
37592
- })
38517
+ activator: withCtx(({ props: menuProps }) => [
38518
+ createVNode(VBtn, mergeProps(menuProps, {
38519
+ icon: !__props.profileName && !__props.profileAvatar,
38520
+ variant: "text",
38521
+ class: "profileBtn"
38522
+ }), {
38523
+ default: withCtx(() => [
38524
+ __props.profileAvatar ? (openBlock(), createBlock(VAvatar, {
38525
+ key: 0,
38526
+ size: "32"
38527
+ }, {
38528
+ default: withCtx(() => [
38529
+ createVNode(VImg, {
38530
+ src: __props.profileAvatar,
38531
+ alt: __props.profileName || "Profile"
38532
+ }, null, 8, ["src", "alt"])
38533
+ ]),
38534
+ _: 1
38535
+ })) : !__props.profileName ? (openBlock(), createBlock(VIcon, {
38536
+ key: 1,
38537
+ icon: "mdi-account-circle"
38538
+ })) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(__props.profileName), 1))
38539
+ ]),
38540
+ _: 1
38541
+ }, 16, ["icon"])
37593
38542
  ]),
37594
- _: 1
37595
- }),
37596
- createVNode(VBtn, {
37597
- class: "hidden-md-and-down text-secondary mr-2 ml-2",
37598
- color: "lightsecondary",
37599
- icon: "",
37600
- rounded: "sm",
37601
- variant: "flat",
37602
- size: "small",
37603
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => props.onToggleCustomizer && props.onToggleCustomizer(), ["stop"]))
37604
- }, {
37605
38543
  default: withCtx(() => [
37606
- createVNode(unref(IconPalette), {
37607
- size: "20",
37608
- "stroke-width": "1.5"
37609
- })
37610
- ]),
37611
- _: 1
37612
- }),
37613
- __props.menuOrientation === "horizontal" ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
37614
- (openBlock(true), createElementBlock(Fragment, null, renderList(computedHeaderMenu.value, (item, i) => {
37615
- return openBlock(), createElementBlock(Fragment, { key: i }, [
37616
- !item.children ? (openBlock(), createBlock(VBtn, {
37617
- key: 0,
37618
- to: item.type === "external" ? "" : item.to,
37619
- href: item.type === "external" ? item.to : "",
37620
- target: item.type === "external" ? "_blank" : "",
37621
- variant: "text",
37622
- disabled: item.disabled,
37623
- class: "header-menu-btn mr-3",
37624
- color: "primary"
37625
- }, {
37626
- default: withCtx(() => [
37627
- item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
37628
- key: 0,
37629
- class: "mr-2",
37630
- size: "18"
37631
- })) : createCommentVNode("", true),
37632
- createElementVNode("span", null, toDisplayString(item.title), 1)
37633
- ]),
37634
- _: 2
37635
- }, 1032, ["to", "href", "target", "disabled"])) : (openBlock(), createBlock(VMenu, {
37636
- key: 1,
37637
- "offset-y": ""
37638
- }, {
37639
- activator: withCtx(({ props: mprops }) => [
37640
- createVNode(VBtn, mergeProps({ ref_for: true }, mprops, {
37641
- variant: "text",
37642
- class: "header-menu-btn",
37643
- color: "primary mr-3"
37644
- }), {
37645
- default: withCtx(() => [
37646
- item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
37647
- key: 0,
37648
- size: "18",
37649
- class: "mr-2"
37650
- })) : createCommentVNode("", true),
37651
- createElementVNode("span", null, toDisplayString(item.title), 1),
37652
- createVNode(unref(IconChevronDown), {
37653
- size: "18",
37654
- class: "ml-2"
37655
- })
37656
- ]),
37657
- _: 2
37658
- }, 1040)
37659
- ]),
37660
- default: withCtx(() => [
37661
- createVNode(VList, null, {
38544
+ profileMenuItems.value.length > 0 ? (openBlock(), createBlock(VList, { key: 0 }, {
38545
+ default: withCtx(() => [
38546
+ (openBlock(true), createElementBlock(Fragment, null, renderList(profileMenuItems.value, (item, index2) => {
38547
+ return openBlock(), createBlock(VListItem, {
38548
+ key: index2,
38549
+ "prepend-icon": item.icon,
38550
+ to: item.to,
38551
+ href: item.href,
38552
+ onClick: item.onClick
38553
+ }, {
37662
38554
  default: withCtx(() => [
37663
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (child, c) => {
37664
- return openBlock(), createBlock(VListItem, {
37665
- key: c,
37666
- to: child.type === "external" ? "" : child.to,
37667
- href: child.type === "external" ? child.to : "",
37668
- target: child.type === "external" ? "_blank" : ""
37669
- }, {
37670
- default: withCtx(() => [
37671
- createVNode(VListItemTitle, null, {
37672
- default: withCtx(() => [
37673
- createTextVNode(toDisplayString(child.title), 1)
37674
- ]),
37675
- _: 2
37676
- }, 1024)
37677
- ]),
37678
- _: 2
37679
- }, 1032, ["to", "href", "target"]);
37680
- }), 128))
38555
+ createVNode(VListItemTitle, null, {
38556
+ default: withCtx(() => [
38557
+ createTextVNode(toDisplayString(item.title), 1)
38558
+ ]),
38559
+ _: 2
38560
+ }, 1024),
38561
+ item.divider ? (openBlock(), createBlock(VDivider, { key: 0 })) : createCommentVNode("", true)
37681
38562
  ]),
37682
38563
  _: 2
37683
- }, 1024)
37684
- ]),
37685
- _: 2
37686
- }, 1024))
37687
- ], 64);
37688
- }), 128))
37689
- ])) : createCommentVNode("", true),
37690
- createVNode(VSpacer),
37691
- renderSlot(_ctx.$slots, "notifications", {}, () => [
37692
- createVNode(VBtn, {
37693
- icon: "",
37694
- class: "text-secondary mx-3",
37695
- color: "lightsecondary",
37696
- rounded: "sm",
37697
- size: "small",
37698
- variant: "flat"
37699
- }, {
37700
- default: withCtx(() => [
37701
- createVNode(unref(IconBell), {
37702
- "stroke-width": "1.5",
37703
- size: "20"
37704
- })
37705
- ]),
37706
- _: 1
37707
- })
37708
- ], true),
37709
- renderSlot(_ctx.$slots, "profile", {}, () => [
37710
- createVNode(VBtn, {
37711
- class: "profileBtn text-primary",
37712
- color: "lightprimary",
37713
- variant: "flat",
37714
- rounded: "pill"
37715
- }, {
37716
- default: withCtx(() => [
37717
- createVNode(unref(IconSettings))
37718
- ]),
37719
- _: 1
37720
- })
37721
- ], true)
38564
+ }, 1032, ["prepend-icon", "to", "href", "onClick"]);
38565
+ }), 128))
38566
+ ]),
38567
+ _: 1
38568
+ })) : createCommentVNode("", true)
38569
+ ]),
38570
+ _: 1
38571
+ })) : createCommentVNode("", true)
37722
38572
  ]),
37723
38573
  _: 3
37724
- });
38574
+ }, 8, ["color", "elevation", "height", "class", "aria-label"]);
37725
38575
  };
37726
38576
  }
37727
38577
  });
37728
- const AppHeader = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-068c6b7b"]]);
38578
+ const AppHeader = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-b45b815e"]]);
37729
38579
  const makeVAppProps = propsFactory({
37730
38580
  ...makeComponentProps(),
37731
38581
  ...omit(makeLayoutProps(), ["fullHeight"]),
@@ -37812,41 +38662,31 @@ const _hoisted_1 = { class: "page-wrapper" };
37812
38662
  const _sfc_main = /* @__PURE__ */ defineComponent$1({
37813
38663
  __name: "AppLayout",
37814
38664
  props: {
37815
- header: { default: () => ({
37816
- title: "Dashboard",
37817
- subtitle: "",
37818
- showSidebarToggle: true,
37819
- showSearch: false,
37820
- searchPlaceholder: "جستجو...",
37821
- showNotifications: false,
37822
- notificationCount: 0,
37823
- showProfile: false,
37824
- actions: [],
37825
- color: "surface",
37826
- elevation: 1,
37827
- height: 70
37828
- }) },
37829
- sidebar: { default: () => ({
37830
- menuItems: [],
37831
- logo: "",
37832
- logoLight: "",
37833
- logoText: "UI Kit",
37834
- miniSidebar: false,
37835
- permanent: true,
37836
- temporary: false,
37837
- rail: false,
37838
- location: "left",
37839
- width: 265,
37840
- railWidth: 75
37841
- }) }
38665
+ header: {},
38666
+ sidebar: {}
37842
38667
  },
37843
38668
  setup(__props) {
37844
- useCustomizerStore();
37845
38669
  return (_ctx, _cache) => {
37846
38670
  return openBlock(), createBlock(VApp, null, {
37847
38671
  default: withCtx(() => [
37848
- createVNode(AppHeader, mergeProps(__props.header, { class: "app-header" }), null, 16),
37849
- createVNode(AppSidebar, mergeProps(__props.sidebar, { class: "app-sidebar" }), null, 16),
38672
+ createVNode(AppHeader, mergeProps(__props.header, { class: "app-header" }), {
38673
+ notifications: withCtx(() => [
38674
+ renderSlot(_ctx.$slots, "notifications", {}, void 0, true)
38675
+ ]),
38676
+ profile: withCtx(() => [
38677
+ renderSlot(_ctx.$slots, "profile", {}, void 0, true)
38678
+ ]),
38679
+ _: 3
38680
+ }, 16),
38681
+ createVNode(_sfc_main$2, {
38682
+ sidebarItems: __props.sidebar.sidebarItems,
38683
+ getFilteredSidebarItems: __props.sidebar.getFilteredSidebarItems,
38684
+ logoComponent: __props.sidebar.logoComponent,
38685
+ sidebarDrawer: __props.sidebar.sidebarDrawer,
38686
+ miniSidebar: __props.sidebar.miniSidebar,
38687
+ "onUpdate:sidebarDrawer": __props.sidebar["onUpdate:sidebarDrawer"],
38688
+ class: "app-sidebar"
38689
+ }, null, 8, ["sidebarItems", "getFilteredSidebarItems", "logoComponent", "sidebarDrawer", "miniSidebar", "onUpdate:sidebarDrawer"]),
37850
38690
  createVNode(VMain, null, {
37851
38691
  default: withCtx(() => [
37852
38692
  createElementVNode("div", _hoisted_1, [
@@ -37861,7 +38701,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
37861
38701
  };
37862
38702
  }
37863
38703
  });
37864
- const AppLayout = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-f81b2c63"]]);
38704
+ const AppLayout = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-82bccb54"]]);
37865
38705
  function useDataTable(options) {
37866
38706
  const items = ref([]);
37867
38707
  const loading = ref(false);
@@ -38424,28 +39264,28 @@ const index = {
38424
39264
  export {
38425
39265
  AppHeader,
38426
39266
  AppLayout,
38427
- AppSidebar,
39267
+ _sfc_main$2 as AppSidebar,
38428
39268
  AppStepper,
38429
- _sfc_main$i as BaseBreadcrumb,
38430
- _sfc_main$h as BaseIcon,
39269
+ _sfc_main$l as BaseBreadcrumb,
39270
+ _sfc_main$k as BaseIcon,
38431
39271
  BooleanEnum,
38432
39272
  BooleanEnumOptions,
38433
- _sfc_main$g as ConfirmDialog,
39273
+ _sfc_main$j as ConfirmDialog,
38434
39274
  CustomAutocomplete,
38435
- _sfc_main$c as CustomDataTable,
39275
+ _sfc_main$f as CustomDataTable,
38436
39276
  DateConverter,
38437
39277
  DescriptionInput,
38438
39278
  DigitLimit,
38439
39279
  DownloadButton,
38440
39280
  GreetingUtils,
38441
39281
  Loading,
38442
- _sfc_main$e as MoneyInput,
39282
+ _sfc_main$h as MoneyInput,
38443
39283
  NationalCodeValidator,
38444
39284
  PdfViewer,
38445
39285
  ShamsiDatePicker,
38446
- _sfc_main$8 as UiChildCard,
38447
- _sfc_main$7 as UiParentCard,
38448
- _sfc_main$6 as VPriceTextField,
39286
+ _sfc_main$b as UiChildCard,
39287
+ _sfc_main$a as UiParentCard,
39288
+ _sfc_main$9 as VPriceTextField,
38449
39289
  configureAuth,
38450
39290
  configureAxiosInstance,
38451
39291
  index as default,