@amirjalili1374/ui-kit 1.3.2 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui-kit.es.js CHANGED
@@ -3885,10 +3885,10 @@ const VRow = genericComponent()({
3885
3885
  }
3886
3886
  });
3887
3887
  const VSpacer = createSimpleFunctional("v-spacer", "div", "VSpacer");
3888
- const _hoisted_1$c = { class: "text-h3" };
3888
+ const _hoisted_1$d = { class: "text-h3" };
3889
3889
  const _hoisted_2$7 = { class: "d-flex align-center gap-2" };
3890
3890
  const _hoisted_3$7 = { class: "d-flex align-center gap-2" };
3891
- const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
3891
+ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
3892
3892
  __name: "BaseBreadcrumb",
3893
3893
  props: {
3894
3894
  title: String,
@@ -3917,7 +3917,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
3917
3917
  default: withCtx(() => [
3918
3918
  createVNode(VCol, { md: "5" }, {
3919
3919
  default: withCtx(() => [
3920
- createElementVNode("h3", _hoisted_1$c, toDisplayString(props.title), 1)
3920
+ createElementVNode("h3", _hoisted_1$d, toDisplayString(props.title), 1)
3921
3921
  ]),
3922
3922
  _: 1
3923
3923
  }),
@@ -3965,7 +3965,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
3965
3965
  };
3966
3966
  }
3967
3967
  });
3968
- const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
3968
+ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
3969
3969
  __name: "BaseIcon",
3970
3970
  props: {
3971
3971
  icon: {
@@ -6580,11 +6580,11 @@ const VDialog = genericComponent()({
6580
6580
  return forwardRefs({}, overlay);
6581
6581
  }
6582
6582
  });
6583
- const _hoisted_1$b = {
6583
+ const _hoisted_1$c = {
6584
6584
  key: 0,
6585
6585
  class: "mb-2"
6586
6586
  };
6587
- const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
6587
+ const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
6588
6588
  __name: "ConfirmDialog",
6589
6589
  props: {
6590
6590
  modelValue: { type: Boolean },
@@ -6630,7 +6630,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
6630
6630
  }),
6631
6631
  createVNode(VCardText, null, {
6632
6632
  default: withCtx(() => [
6633
- __props.message ? (openBlock(), createElementBlock("div", _hoisted_1$b, toDisplayString(__props.message), 1)) : createCommentVNode("", true),
6633
+ __props.message ? (openBlock(), createElementBlock("div", _hoisted_1$c, toDisplayString(__props.message), 1)) : createCommentVNode("", true),
6634
6634
  renderSlot(_ctx.$slots, "default")
6635
6635
  ]),
6636
6636
  _: 3
@@ -12591,17 +12591,17 @@ const VTooltip = genericComponent()({
12591
12591
  return forwardRefs({}, overlay);
12592
12592
  }
12593
12593
  });
12594
- const _hoisted_1$a = { class: "ca-item-title" };
12594
+ const _hoisted_1$b = { class: "ca-item-title" };
12595
12595
  const _hoisted_2$6 = { class: "ca-item-subtitle" };
12596
12596
  const _hoisted_3$6 = { class: "ca-group-tooltip" };
12597
12597
  const _hoisted_4$4 = { class: "ca-group-tooltip-header" };
12598
- const _hoisted_5$3 = { class: "ca-group-count" };
12598
+ const _hoisted_5$4 = { 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$e = /* @__PURE__ */ defineComponent$1({
12604
+ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
12605
12605
  __name: "CustomAutocomplete",
12606
12606
  props: {
12607
12607
  fields: {},
@@ -12710,7 +12710,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
12710
12710
  class: { "ca-main-group": true }
12711
12711
  }), createSlots({
12712
12712
  title: withCtx(() => [
12713
- createElementVNode("div", _hoisted_1$a, [
12713
+ createElementVNode("div", _hoisted_1$b, [
12714
12714
  createTextVNode(toDisplayString(resolveTitle(item.raw ?? item)) + " ", 1),
12715
12715
  createVNode(VChip, {
12716
12716
  size: "small",
@@ -12749,7 +12749,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
12749
12749
  createElementVNode("div", _hoisted_3$6, [
12750
12750
  createElementVNode("div", _hoisted_4$4, [
12751
12751
  createElementVNode("strong", null, toDisplayString(resolveTitle(item.raw ?? item)), 1),
12752
- createElementVNode("span", _hoisted_5$3, toDisplayString(getGroupMembers(item.raw ?? item).length) + " آیتم", 1)
12752
+ createElementVNode("span", _hoisted_5$4, 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$e, [["__scopeId", "data-v-4c17f7bd"]]);
12816
- const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
12815
+ const CustomAutocomplete = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__scopeId", "data-v-4c17f7bd"]]);
12816
+ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
12817
12817
  __name: "MoneyInput",
12818
12818
  props: {
12819
12819
  modelValue: {
@@ -12919,8 +12919,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
12919
12919
  };
12920
12920
  }
12921
12921
  });
12922
- const _hoisted_1$9 = { class: "shamsi-date-picker" };
12923
- const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
12922
+ const _hoisted_1$a = { class: "shamsi-date-picker" };
12923
+ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
12924
12924
  __name: "ShamsiDatePicker",
12925
12925
  props: {
12926
12926
  modelValue: { default: "" },
@@ -13008,7 +13008,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
13008
13008
  const isRangeMode = computed(() => props.mode === "range");
13009
13009
  return (_ctx, _cache) => {
13010
13010
  const _component_Vue3PersianDatetimePicker = resolveComponent("Vue3PersianDatetimePicker");
13011
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
13011
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
13012
13012
  createVNode(_component_Vue3PersianDatetimePicker, {
13013
13013
  label: __props.label,
13014
13014
  modelValue: selectedDate.value,
@@ -13031,7 +13031,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
13031
13031
  };
13032
13032
  }
13033
13033
  });
13034
- const ShamsiDatePicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__scopeId", "data-v-d56f50fe"]]);
13034
+ const ShamsiDatePicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__scopeId", "data-v-d56f50fe"]]);
13035
13035
  function useTableSelection(items, options = {}) {
13036
13036
  const selectedItems = ref([]);
13037
13037
  const expandedGroups = ref(/* @__PURE__ */ new Set());
@@ -13649,6 +13649,14 @@ const VAlert = genericComponent()({
13649
13649
  });
13650
13650
  const VuetifyLayoutKey = Symbol.for("vuetify:layout");
13651
13651
  const VuetifyLayoutItemKey = Symbol.for("vuetify:layout-item");
13652
+ const ROOT_ZINDEX = 1e3;
13653
+ const makeLayoutProps = propsFactory({
13654
+ overlaps: {
13655
+ type: Array,
13656
+ default: () => []
13657
+ },
13658
+ fullHeight: Boolean
13659
+ }, "layout");
13652
13660
  const makeLayoutItemProps = propsFactory({
13653
13661
  name: {
13654
13662
  type: String
@@ -13694,6 +13702,222 @@ function useLayoutItem(options) {
13694
13702
  layoutItemScrimStyles
13695
13703
  };
13696
13704
  }
13705
+ const generateLayers = (layout, positions, layoutSizes, activeItems) => {
13706
+ let previousLayer = {
13707
+ top: 0,
13708
+ left: 0,
13709
+ right: 0,
13710
+ bottom: 0
13711
+ };
13712
+ const layers = [{
13713
+ id: "",
13714
+ layer: {
13715
+ ...previousLayer
13716
+ }
13717
+ }];
13718
+ for (const id of layout) {
13719
+ const position2 = positions.get(id);
13720
+ const amount = layoutSizes.get(id);
13721
+ const active2 = activeItems.get(id);
13722
+ if (!position2 || !amount || !active2) continue;
13723
+ const layer = {
13724
+ ...previousLayer,
13725
+ [position2.value]: parseInt(previousLayer[position2.value], 10) + (active2.value ? parseInt(amount.value, 10) : 0)
13726
+ };
13727
+ layers.push({
13728
+ id,
13729
+ layer
13730
+ });
13731
+ previousLayer = layer;
13732
+ }
13733
+ return layers;
13734
+ };
13735
+ function createLayout(props) {
13736
+ const parentLayout = inject(VuetifyLayoutKey, null);
13737
+ const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX);
13738
+ const registered = ref([]);
13739
+ const positions = reactive(/* @__PURE__ */ new Map());
13740
+ const layoutSizes = reactive(/* @__PURE__ */ new Map());
13741
+ const priorities = reactive(/* @__PURE__ */ new Map());
13742
+ const activeItems = reactive(/* @__PURE__ */ new Map());
13743
+ const disabledTransitions = reactive(/* @__PURE__ */ new Map());
13744
+ const {
13745
+ resizeRef,
13746
+ contentRect: layoutRect
13747
+ } = useResizeObserver();
13748
+ const computedOverlaps = computed(() => {
13749
+ const map = /* @__PURE__ */ new Map();
13750
+ const overlaps = props.overlaps ?? [];
13751
+ for (const overlap of overlaps.filter((item) => item.includes(":"))) {
13752
+ const [top, bottom] = overlap.split(":");
13753
+ if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue;
13754
+ const topPosition = positions.get(top);
13755
+ const bottomPosition = positions.get(bottom);
13756
+ const topAmount = layoutSizes.get(top);
13757
+ const bottomAmount = layoutSizes.get(bottom);
13758
+ if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue;
13759
+ map.set(bottom, {
13760
+ position: topPosition.value,
13761
+ amount: parseInt(topAmount.value, 10)
13762
+ });
13763
+ map.set(top, {
13764
+ position: bottomPosition.value,
13765
+ amount: -parseInt(bottomAmount.value, 10)
13766
+ });
13767
+ }
13768
+ return map;
13769
+ });
13770
+ const layers = computed(() => {
13771
+ const uniquePriorities = [...new Set([...priorities.values()].map((p) => p.value))].sort((a, b) => a - b);
13772
+ const layout = [];
13773
+ for (const p of uniquePriorities) {
13774
+ const items2 = registered.value.filter((id) => {
13775
+ var _a;
13776
+ return ((_a = priorities.get(id)) == null ? void 0 : _a.value) === p;
13777
+ });
13778
+ layout.push(...items2);
13779
+ }
13780
+ return generateLayers(layout, positions, layoutSizes, activeItems);
13781
+ });
13782
+ const transitionsEnabled = computed(() => {
13783
+ return !Array.from(disabledTransitions.values()).some((ref2) => ref2.value);
13784
+ });
13785
+ const mainRect = computed(() => {
13786
+ return layers.value[layers.value.length - 1].layer;
13787
+ });
13788
+ const mainStyles = toRef(() => {
13789
+ return {
13790
+ "--v-layout-left": convertToUnit(mainRect.value.left),
13791
+ "--v-layout-right": convertToUnit(mainRect.value.right),
13792
+ "--v-layout-top": convertToUnit(mainRect.value.top),
13793
+ "--v-layout-bottom": convertToUnit(mainRect.value.bottom),
13794
+ ...transitionsEnabled.value ? void 0 : {
13795
+ transition: "none"
13796
+ }
13797
+ };
13798
+ });
13799
+ const items = computed(() => {
13800
+ return layers.value.slice(1).map((_ref, index2) => {
13801
+ let {
13802
+ id
13803
+ } = _ref;
13804
+ const {
13805
+ layer
13806
+ } = layers.value[index2];
13807
+ const size = layoutSizes.get(id);
13808
+ const position2 = positions.get(id);
13809
+ return {
13810
+ id,
13811
+ ...layer,
13812
+ size: Number(size.value),
13813
+ position: position2.value
13814
+ };
13815
+ });
13816
+ });
13817
+ const getLayoutItem = (id) => {
13818
+ return items.value.find((item) => item.id === id);
13819
+ };
13820
+ const rootVm = getCurrentInstance("createLayout");
13821
+ const isMounted = shallowRef(false);
13822
+ onMounted(() => {
13823
+ isMounted.value = true;
13824
+ });
13825
+ provide(VuetifyLayoutKey, {
13826
+ register: (vm, _ref2) => {
13827
+ let {
13828
+ id,
13829
+ order,
13830
+ position: position2,
13831
+ layoutSize,
13832
+ elementSize,
13833
+ active: active2,
13834
+ disableTransitions,
13835
+ absolute
13836
+ } = _ref2;
13837
+ priorities.set(id, order);
13838
+ positions.set(id, position2);
13839
+ layoutSizes.set(id, layoutSize);
13840
+ activeItems.set(id, active2);
13841
+ disableTransitions && disabledTransitions.set(id, disableTransitions);
13842
+ const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm == null ? void 0 : rootVm.vnode);
13843
+ const instanceIndex = instances.indexOf(vm);
13844
+ if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id);
13845
+ else registered.value.push(id);
13846
+ const index2 = computed(() => items.value.findIndex((i) => i.id === id));
13847
+ const zIndex = computed(() => rootZIndex.value + layers.value.length * 2 - index2.value * 2);
13848
+ const layoutItemStyles = computed(() => {
13849
+ const isHorizontal = position2.value === "left" || position2.value === "right";
13850
+ const isOppositeHorizontal = position2.value === "right";
13851
+ const isOppositeVertical = position2.value === "bottom";
13852
+ const size = elementSize.value ?? layoutSize.value;
13853
+ const unit = size === 0 ? "%" : "px";
13854
+ const styles = {
13855
+ [position2.value]: 0,
13856
+ zIndex: zIndex.value,
13857
+ transform: `translate${isHorizontal ? "X" : "Y"}(${(active2.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,
13858
+ position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? "absolute" : "fixed",
13859
+ ...transitionsEnabled.value ? void 0 : {
13860
+ transition: "none"
13861
+ }
13862
+ };
13863
+ if (!isMounted.value) return styles;
13864
+ const item = items.value[index2.value];
13865
+ if (!item) consoleWarn(`[Vuetify] Could not find layout item "${id}"`);
13866
+ const overlap = computedOverlaps.value.get(id);
13867
+ if (overlap) {
13868
+ item[overlap.position] += overlap.amount;
13869
+ }
13870
+ return {
13871
+ ...styles,
13872
+ height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : void 0,
13873
+ left: isOppositeHorizontal ? void 0 : `${item.left}px`,
13874
+ right: isOppositeHorizontal ? `${item.right}px` : void 0,
13875
+ top: position2.value !== "bottom" ? `${item.top}px` : void 0,
13876
+ bottom: position2.value !== "top" ? `${item.bottom}px` : void 0,
13877
+ width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : void 0
13878
+ };
13879
+ });
13880
+ const layoutItemScrimStyles = computed(() => ({
13881
+ zIndex: zIndex.value - 1
13882
+ }));
13883
+ return {
13884
+ layoutItemStyles,
13885
+ layoutItemScrimStyles,
13886
+ zIndex
13887
+ };
13888
+ },
13889
+ unregister: (id) => {
13890
+ priorities.delete(id);
13891
+ positions.delete(id);
13892
+ layoutSizes.delete(id);
13893
+ activeItems.delete(id);
13894
+ disabledTransitions.delete(id);
13895
+ registered.value = registered.value.filter((v) => v !== id);
13896
+ },
13897
+ mainRect,
13898
+ mainStyles,
13899
+ getLayoutItem,
13900
+ items,
13901
+ layoutRect,
13902
+ rootZIndex
13903
+ });
13904
+ const layoutClasses = toRef(() => ["v-layout", {
13905
+ "v-layout--full-height": props.fullHeight
13906
+ }]);
13907
+ const layoutStyles = toRef(() => ({
13908
+ zIndex: parentLayout ? rootZIndex.value : void 0,
13909
+ position: parentLayout ? "relative" : void 0,
13910
+ overflow: parentLayout ? "hidden" : void 0
13911
+ }));
13912
+ return {
13913
+ layoutClasses,
13914
+ layoutStyles,
13915
+ getLayoutItem,
13916
+ items,
13917
+ layoutRect,
13918
+ layoutRef: resizeRef
13919
+ };
13920
+ }
13697
13921
  function useRefs() {
13698
13922
  const refs = ref([]);
13699
13923
  onBeforeUpdate(() => refs.value = []);
@@ -16432,7 +16656,7 @@ const VSnackbar = genericComponent()({
16432
16656
  return forwardRefs({}, overlay);
16433
16657
  }
16434
16658
  });
16435
- const _hoisted_1$8 = {
16659
+ const _hoisted_1$9 = {
16436
16660
  key: 0,
16437
16661
  class: "page-title"
16438
16662
  };
@@ -16442,7 +16666,7 @@ const _hoisted_4$3 = {
16442
16666
  key: 3,
16443
16667
  class: "selection-actions"
16444
16668
  };
16445
- const _hoisted_5$2 = {
16669
+ const _hoisted_5$3 = {
16446
16670
  key: 0,
16447
16671
  class: "selected-actions"
16448
16672
  };
@@ -16476,7 +16700,7 @@ const _hoisted_18 = {
16476
16700
  };
16477
16701
  const _hoisted_19 = { class: "d-flex justify-space-between align-center pa-4" };
16478
16702
  const _hoisted_20 = { class: "text-subtitle-2" };
16479
- const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
16703
+ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
16480
16704
  ...{ inheritAttrs: false },
16481
16705
  __name: "CustomDataTable",
16482
16706
  props: {
@@ -17314,7 +17538,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
17314
17538
  return (_ctx, _cache) => {
17315
17539
  var _a;
17316
17540
  return openBlock(), createElementBlock(Fragment, null, [
17317
- props.title ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
17541
+ props.title ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
17318
17542
  createElementVNode("h3", _hoisted_2$5, toDisplayString(props.title), 1)
17319
17543
  ])) : createCommentVNode("", true),
17320
17544
  createElementVNode("div", _hoisted_3$5, [
@@ -17377,7 +17601,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
17377
17601
  appear: ""
17378
17602
  }, {
17379
17603
  default: withCtx(() => [
17380
- props.bulkMode && hasValidSelection.value || props.enableGroupDelete && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
17604
+ props.bulkMode && hasValidSelection.value || props.enableGroupDelete && hasSelection.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
17381
17605
  props.enableGroupDelete ? (openBlock(), createBlock(VBtn, {
17382
17606
  key: 0,
17383
17607
  color: "red",
@@ -18058,7 +18282,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
18058
18282
  disabled: isHeaderDisabled(header),
18059
18283
  clearable: "",
18060
18284
  variant: "outlined"
18061
- }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "items", "item-title", "item-value", "return-object", "multiple", "chips", "closable-chips", "disabled"])) : isMoneyHeader(header) ? (openBlock(), createBlock(_sfc_main$d, {
18285
+ }, 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, {
18062
18286
  key: 2,
18063
18287
  modelValue: formModel.value[resolveHeaderKey(header)],
18064
18288
  "onUpdate:modelValue": ($event) => formModel.value[resolveHeaderKey(header)] = $event,
@@ -18600,8 +18824,8 @@ const VTextarea = genericComponent()({
18600
18824
  return forwardRefs({}, vInputRef, vFieldRef, textareaRef);
18601
18825
  }
18602
18826
  });
18603
- const _hoisted_1$7 = { class: "description-input" };
18604
- const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
18827
+ const _hoisted_1$8 = { class: "description-input" };
18828
+ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
18605
18829
  __name: "DescriptionInput",
18606
18830
  props: {
18607
18831
  modelValue: { default: "" },
@@ -18700,7 +18924,7 @@ ${newLineNumber} - `;
18700
18924
  emit("change", internalValue.value);
18701
18925
  };
18702
18926
  return (_ctx, _cache) => {
18703
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
18927
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
18704
18928
  createVNode(VTextarea, {
18705
18929
  modelValue: internalValue.value,
18706
18930
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event),
@@ -18723,7 +18947,7 @@ ${newLineNumber} - `;
18723
18947
  };
18724
18948
  }
18725
18949
  });
18726
- const DescriptionInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-e8b64ecb"]]);
18950
+ const DescriptionInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__scopeId", "data-v-e8b64ecb"]]);
18727
18951
  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";
18728
18952
  var mdiArrowRight = "M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";
18729
18953
  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";
@@ -18752,8 +18976,8 @@ const icons = {
18752
18976
  arrowRight: mdiArrowRight,
18753
18977
  cog: mdiCog
18754
18978
  };
18755
- const _hoisted_1$6 = { class: "download-title" };
18756
- const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
18979
+ const _hoisted_1$7 = { class: "download-title" };
18980
+ const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
18757
18981
  ...{
18758
18982
  inheritAttrs: false
18759
18983
  },
@@ -18858,7 +19082,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
18858
19082
  ]),
18859
19083
  _: 1
18860
19084
  }, 8, ["start", "end", "class"])) : createCommentVNode("", true),
18861
- createElementVNode("span", _hoisted_1$6, toDisplayString(__props.title), 1),
19085
+ createElementVNode("span", _hoisted_1$7, toDisplayString(__props.title), 1),
18862
19086
  !__props.icon ? (openBlock(), createBlock(VIcon, {
18863
19087
  key: 1,
18864
19088
  start: "",
@@ -18871,8 +19095,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
18871
19095
  };
18872
19096
  }
18873
19097
  });
18874
- const DownloadButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__scopeId", "data-v-0a911831"]]);
18875
- const _hoisted_1$5 = {
19098
+ const DownloadButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-0a911831"]]);
19099
+ const _hoisted_1$6 = {
18876
19100
  key: 0,
18877
19101
  class: "pdf-viewer-header"
18878
19102
  };
@@ -18882,7 +19106,7 @@ const _hoisted_4$2 = {
18882
19106
  key: 0,
18883
19107
  class: "zoom-controls"
18884
19108
  };
18885
- const _hoisted_5$1 = { class: "zoom-level" };
19109
+ const _hoisted_5$2 = { class: "zoom-level" };
18886
19110
  const _hoisted_6 = {
18887
19111
  key: 1,
18888
19112
  class: "navigation-controls"
@@ -18915,7 +19139,7 @@ const _hoisted_16 = {
18915
19139
  key: 0,
18916
19140
  class: "file-info"
18917
19141
  };
18918
- const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19142
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
18919
19143
  __name: "PdfViewer",
18920
19144
  props: {
18921
19145
  src: {},
@@ -19123,7 +19347,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19123
19347
  return openBlock(), createElementBlock("div", {
19124
19348
  class: normalizeClass(["pdf-viewer-container", { "fullscreen": isFullscreen.value }])
19125
19349
  }, [
19126
- __props.showHeader ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
19350
+ __props.showHeader ? (openBlock(), createElementBlock("div", _hoisted_1$6, [
19127
19351
  createElementVNode("div", _hoisted_2$4, [
19128
19352
  createElementVNode("h3", null, toDisplayString(__props.title || "PDF Viewer"), 1)
19129
19353
  ]),
@@ -19144,7 +19368,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19144
19368
  ]),
19145
19369
  _: 1
19146
19370
  }, 8, ["disabled"]),
19147
- createElementVNode("span", _hoisted_5$1, toDisplayString(Math.round(zoom.value * 100)) + "%", 1),
19371
+ createElementVNode("span", _hoisted_5$2, toDisplayString(Math.round(zoom.value * 100)) + "%", 1),
19148
19372
  createVNode(VBtn, {
19149
19373
  size: "small",
19150
19374
  variant: "text",
@@ -19342,8 +19566,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19342
19566
  };
19343
19567
  }
19344
19568
  });
19345
- const PdfViewer = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-f3e9c767"]]);
19346
- const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
19569
+ const PdfViewer = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__scopeId", "data-v-f3e9c767"]]);
19570
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
19347
19571
  __name: "UiChildCard",
19348
19572
  props: {
19349
19573
  title: String
@@ -19377,8 +19601,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
19377
19601
  };
19378
19602
  }
19379
19603
  });
19380
- const _hoisted_1$4 = { class: "d-sm-flex align-center justify-space-between" };
19381
- const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
19604
+ const _hoisted_1$5 = { class: "d-sm-flex align-center justify-space-between" };
19605
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
19382
19606
  __name: "UiParentCard",
19383
19607
  props: {
19384
19608
  title: String
@@ -19390,7 +19614,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
19390
19614
  default: withCtx(() => [
19391
19615
  createVNode(VCardItem, null, {
19392
19616
  default: withCtx(() => [
19393
- createElementVNode("div", _hoisted_1$4, [
19617
+ createElementVNode("div", _hoisted_1$5, [
19394
19618
  createVNode(VCardTitle, null, {
19395
19619
  default: withCtx(() => [
19396
19620
  createTextVNode(toDisplayString(props.title), 1)
@@ -19415,7 +19639,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
19415
19639
  };
19416
19640
  }
19417
19641
  });
19418
- const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
19642
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
19419
19643
  __name: "VPriceTextField",
19420
19644
  props: {
19421
19645
  modelValue: {},
@@ -19516,13 +19740,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
19516
19740
  };
19517
19741
  }
19518
19742
  });
19519
- const _hoisted_1$3 = {
19743
+ const _hoisted_1$4 = {
19520
19744
  class: "app-stepper-root",
19521
19745
  dir: "rtl"
19522
19746
  };
19523
19747
  const _hoisted_2$3 = { class: "app-stepper-header-card" };
19524
19748
  const _hoisted_3$3 = { class: "app-stepper-title" };
19525
- const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
19749
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
19526
19750
  __name: "AppStepper",
19527
19751
  props: {
19528
19752
  steps: {
@@ -19574,7 +19798,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
19574
19798
  });
19575
19799
  __expose({ currentStepComponentRef });
19576
19800
  return (_ctx, _cache) => {
19577
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
19801
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
19578
19802
  createElementVNode("div", _hoisted_2$3, [
19579
19803
  createElementVNode("div", {
19580
19804
  ref_key: "stepperHeaderRef",
@@ -19641,7 +19865,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
19641
19865
  };
19642
19866
  }
19643
19867
  });
19644
- const AppStepper = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["__scopeId", "data-v-d5178633"]]);
19868
+ const AppStepper = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__scopeId", "data-v-d5178633"]]);
19645
19869
  var lottie = { exports: {} };
19646
19870
  (function(module, exports) {
19647
19871
  typeof navigator !== "undefined" && function(global2, factory) {
@@ -36057,7 +36281,7 @@ var _export_sfc = (sfc, props) => {
36057
36281
  }
36058
36282
  return target;
36059
36283
  };
36060
- const _sfc_main$3 = defineComponent$1({
36284
+ const _sfc_main$4 = defineComponent$1({
36061
36285
  props: {
36062
36286
  animationData: {
36063
36287
  type: Object,
@@ -36389,7 +36613,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
36389
36613
  onMouseleave: _cache[1] || (_cache[1] = (...args) => _ctx.hoverEnded && _ctx.hoverEnded(...args))
36390
36614
  }, null, 36);
36391
36615
  }
36392
- var Vue3Lottie = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render]]);
36616
+ var Vue3Lottie = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render]]);
36393
36617
  const useCustomizerStore = defineStore({
36394
36618
  id: "customizer",
36395
36619
  state: () => ({
@@ -36443,20 +36667,20 @@ const useCustomizerStore = defineStore({
36443
36667
  }
36444
36668
  }
36445
36669
  });
36446
- const _hoisted_1$2 = {
36670
+ const _hoisted_1$3 = {
36447
36671
  key: 0,
36448
36672
  class: "loading-overlay"
36449
36673
  };
36450
36674
  const _hoisted_2$2 = { class: "loading-wrapper" };
36451
36675
  const _hoisted_3$2 = { key: 0 };
36452
- const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
36676
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
36453
36677
  __name: "Loading",
36454
36678
  setup(__props) {
36455
36679
  const customizer = useCustomizerStore();
36456
36680
  return (_ctx, _cache) => {
36457
36681
  return openBlock(), createBlock(Transition, { name: "fade" }, {
36458
36682
  default: withCtx(() => [
36459
- unref(customizer).loading ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
36683
+ unref(customizer).loading ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
36460
36684
  createElementVNode("div", _hoisted_2$2, [
36461
36685
  createVNode(unref(Vue3Lottie), {
36462
36686
  "animation-link": "/persian.json",
@@ -36478,7 +36702,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
36478
36702
  };
36479
36703
  }
36480
36704
  });
36481
- const Loading = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-9b533ee4"]]);
36705
+ const Loading = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__scopeId", "data-v-9b533ee4"]]);
36482
36706
  /*!
36483
36707
  * perfect-scrollbar v1.5.6
36484
36708
  * Copyright 2024 Hyunje Jun, MDBootstrap and Contributors
@@ -38109,19 +38333,24 @@ const VNavigationDrawer = genericComponent()({
38109
38333
  };
38110
38334
  }
38111
38335
  });
38112
- const _hoisted_1$1 = { class: "logo d-flex align-center pa-4" };
38113
- const _hoisted_2$1 = ["src"];
38114
- const _hoisted_3$1 = {
38115
- key: 1,
38336
+ const _hoisted_1$2 = {
38337
+ key: 0,
38338
+ class: "logo d-flex align-center pa-4"
38339
+ };
38340
+ const _hoisted_2$1 = ["innerHTML"];
38341
+ const _hoisted_3$1 = ["src"];
38342
+ const _hoisted_4$1 = {
38343
+ key: 2,
38116
38344
  class: "logo-text text-h6 ms-2"
38117
38345
  };
38118
- const _hoisted_4$1 = ["src"];
38119
- const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
38346
+ const _hoisted_5$1 = ["src"];
38347
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
38120
38348
  __name: "AppSidebar",
38121
38349
  props: {
38122
38350
  menuItems: { default: () => [] },
38123
38351
  logo: {},
38124
38352
  logoLight: {},
38353
+ logoSvg: {},
38125
38354
  logoText: {},
38126
38355
  miniSidebar: { type: Boolean, default: false },
38127
38356
  permanent: { type: Boolean, default: true },
@@ -38129,7 +38358,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
38129
38358
  rail: { type: Boolean, default: false },
38130
38359
  location: { default: "left" },
38131
38360
  width: { default: 265 },
38132
- railWidth: { default: 75 }
38361
+ railWidth: { default: 75 },
38362
+ containerClass: { default: "" },
38363
+ hideDefaultLogo: { type: Boolean, default: false }
38133
38364
  },
38134
38365
  setup(__props) {
38135
38366
  const props = __props;
@@ -38167,173 +38398,205 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
38167
38398
  "expand-on-hover": expandOnHover.value,
38168
38399
  location: __props.location,
38169
38400
  width: navigationDrawerWidth.value,
38170
- class: normalizeClass([["leftSidebar", { "mini-sidebar": isMini.value }], "border-0"])
38401
+ class: normalizeClass([["app-sidebar leftSidebar", { "mini-sidebar": isMini.value }, __props.containerClass], "border-0"])
38171
38402
  }, {
38172
38403
  default: withCtx(() => [
38173
- createElementVNode("div", _hoisted_1$1, [
38174
- __props.logo || __props.logoText ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
38175
- __props.logo && !isMini.value ? (openBlock(), createElementBlock("img", {
38176
- key: 0,
38177
- src: unref(customizer).themeMode === "dark" && __props.logoLight ? __props.logoLight : __props.logo,
38178
- alt: "Logo",
38179
- class: "logo-img",
38180
- style: { "max-height": "40px", "max-width": "100%" }
38181
- }, null, 8, _hoisted_2$1)) : createCommentVNode("", true),
38182
- __props.logoText && !isMini.value ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(__props.logoText), 1)) : createCommentVNode("", true),
38183
- __props.logo && isMini.value ? (openBlock(), createElementBlock("img", {
38184
- key: 2,
38185
- src: unref(customizer).themeMode === "dark" && __props.logoLight ? __props.logoLight : __props.logo,
38186
- alt: "Logo",
38187
- class: "logo-img-mini",
38188
- style: { "height": "40px", "width": "40px", "object-fit": "contain" }
38189
- }, null, 8, _hoisted_4$1)) : createCommentVNode("", true)
38190
- ], 64)) : (openBlock(), createBlock(VSpacer, { key: 1 }))
38191
- ]),
38404
+ renderSlot(_ctx.$slots, "logo", {
38405
+ isMini: isMini.value,
38406
+ themeMode: unref(customizer).themeMode
38407
+ }, () => [
38408
+ !__props.hideDefaultLogo ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
38409
+ __props.logoSvg || __props.logo || __props.logoText ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
38410
+ __props.logoSvg ? (openBlock(), createElementBlock("div", {
38411
+ key: 0,
38412
+ class: "logo-svg",
38413
+ innerHTML: __props.logoSvg,
38414
+ style: { height: "40px", display: "flex", alignItems: "center" }
38415
+ }, null, 8, _hoisted_2$1)) : __props.logo && !isMini.value ? (openBlock(), createElementBlock("img", {
38416
+ key: 1,
38417
+ src: unref(customizer).themeMode === "dark" && __props.logoLight ? __props.logoLight : __props.logo,
38418
+ alt: "Logo",
38419
+ class: "logo-img",
38420
+ style: { "max-height": "40px", "max-width": "100%" }
38421
+ }, null, 8, _hoisted_3$1)) : createCommentVNode("", true),
38422
+ __props.logoText && !isMini.value ? (openBlock(), createElementBlock("span", _hoisted_4$1, toDisplayString(__props.logoText), 1)) : createCommentVNode("", true),
38423
+ !__props.logoSvg && __props.logo && isMini.value ? (openBlock(), createElementBlock("img", {
38424
+ key: 3,
38425
+ src: unref(customizer).themeMode === "dark" && __props.logoLight ? __props.logoLight : __props.logo,
38426
+ alt: "Logo",
38427
+ class: "logo-img-mini",
38428
+ style: { "height": "40px", "width": "40px", "object-fit": "contain" }
38429
+ }, null, 8, _hoisted_5$1)) : createCommentVNode("", true)
38430
+ ], 64)) : (openBlock(), createBlock(VSpacer, { key: 1 }))
38431
+ ])) : createCommentVNode("", true)
38432
+ ], true),
38192
38433
  createVNode(VDivider),
38193
38434
  createVNode(unref(C), {
38194
38435
  class: "scrollnavbar",
38195
38436
  options: { wheelSpeed: 1, swipeEasing: true, suppressScrollX: true }
38196
38437
  }, {
38197
38438
  default: withCtx(() => [
38198
- createVNode(VList, {
38199
- lines: false,
38200
- class: "pa-0"
38201
- }, {
38202
- default: withCtx(() => [
38203
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menuItems, (item, index2) => {
38204
- return openBlock(), createElementBlock(Fragment, { key: index2 }, [
38205
- item.divider ? (openBlock(), createBlock(VDivider, {
38206
- key: 0,
38207
- class: "my-2"
38208
- })) : item.items && item.items.length > 0 ? (openBlock(), createBlock(VListGroup, {
38209
- key: 1,
38210
- value: item.items.some((child) => isActive(child))
38211
- }, {
38212
- activator: withCtx(({ props: groupProps }) => [
38213
- createVNode(VListItem, mergeProps({ ref_for: true }, groupProps, {
38214
- disabled: item.disabled,
38215
- "prepend-icon": item.icon
38216
- }), createSlots({
38217
- default: withCtx(() => [
38218
- createVNode(VListItemTitle, null, {
38219
- default: withCtx(() => [
38220
- createTextVNode(toDisplayString(item.title), 1)
38221
- ]),
38222
- _: 2
38223
- }, 1024)
38224
- ]),
38225
- _: 2
38226
- }, [
38227
- item.chip ? {
38228
- name: "append",
38229
- fn: withCtx(() => [
38230
- createVNode(VChip, {
38231
- color: item.chip.color || "primary",
38232
- size: "small",
38233
- class: "ms-2"
38234
- }, {
38235
- default: withCtx(() => [
38236
- createTextVNode(toDisplayString(item.chip.content), 1)
38237
- ]),
38238
- _: 2
38239
- }, 1032, ["color"])
38439
+ renderSlot(_ctx.$slots, "menu", {
38440
+ items: __props.menuItems,
38441
+ isActive,
38442
+ navigate: handleClick
38443
+ }, () => [
38444
+ createVNode(VList, {
38445
+ lines: false,
38446
+ class: "pa-0"
38447
+ }, {
38448
+ default: withCtx(() => [
38449
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menuItems, (item, index2) => {
38450
+ return openBlock(), createElementBlock(Fragment, { key: index2 }, [
38451
+ item.divider ? (openBlock(), createBlock(VDivider, {
38452
+ key: 0,
38453
+ class: "my-2"
38454
+ })) : item.items && item.items.length > 0 ? (openBlock(), createBlock(VListGroup, {
38455
+ key: 1,
38456
+ value: item.items.some((child) => isActive(child))
38457
+ }, {
38458
+ activator: withCtx(({ props: groupProps }) => [
38459
+ createVNode(VListItem, mergeProps({ ref_for: true }, groupProps, {
38460
+ disabled: item.disabled
38461
+ }), createSlots({
38462
+ prepend: withCtx(() => [
38463
+ typeof item.icon === "string" ? (openBlock(), createBlock(VIcon, {
38464
+ key: 0,
38465
+ icon: item.icon
38466
+ }, null, 8, ["icon"])) : item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), { key: 1 })) : createCommentVNode("", true)
38240
38467
  ]),
38241
- key: "0"
38242
- } : void 0
38243
- ]), 1040, ["disabled", "prepend-icon"])
38244
- ]),
38245
- default: withCtx(() => [
38246
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.items, (child, childIndex) => {
38247
- return openBlock(), createBlock(VListItem, {
38248
- key: childIndex,
38249
- to: child.to,
38250
- href: child.href,
38251
- disabled: child.disabled,
38252
- active: isActive(child),
38253
- "prepend-icon": child.icon,
38254
- onClick: ($event) => handleClick(child)
38255
- }, createSlots({
38256
38468
  default: withCtx(() => [
38257
38469
  createVNode(VListItemTitle, null, {
38258
38470
  default: withCtx(() => [
38259
- createTextVNode(toDisplayString(child.title), 1)
38471
+ createTextVNode(toDisplayString(item.title), 1)
38260
38472
  ]),
38261
38473
  _: 2
38262
38474
  }, 1024)
38263
38475
  ]),
38264
38476
  _: 2
38265
38477
  }, [
38266
- child.chip ? {
38478
+ item.chip ? {
38267
38479
  name: "append",
38268
38480
  fn: withCtx(() => [
38269
38481
  createVNode(VChip, {
38270
- color: child.chip.color || "primary",
38482
+ color: item.chip.color || "primary",
38271
38483
  size: "small",
38272
38484
  class: "ms-2"
38273
38485
  }, {
38274
38486
  default: withCtx(() => [
38275
- createTextVNode(toDisplayString(child.chip.content), 1)
38487
+ createTextVNode(toDisplayString(item.chip.content), 1)
38276
38488
  ]),
38277
38489
  _: 2
38278
38490
  }, 1032, ["color"])
38279
38491
  ]),
38280
38492
  key: "0"
38281
38493
  } : void 0
38282
- ]), 1032, ["to", "href", "disabled", "active", "prepend-icon", "onClick"]);
38283
- }), 128))
38284
- ]),
38285
- _: 2
38286
- }, 1032, ["value"])) : (openBlock(), createBlock(VListItem, {
38287
- key: 2,
38288
- to: item.to,
38289
- href: item.href,
38290
- disabled: item.disabled,
38291
- active: isActive(item),
38292
- "prepend-icon": item.icon,
38293
- onClick: ($event) => handleClick(item)
38294
- }, createSlots({
38295
- default: withCtx(() => [
38296
- createVNode(VListItemTitle, null, {
38297
- default: withCtx(() => [
38298
- createTextVNode(toDisplayString(item.title), 1)
38299
- ]),
38300
- _: 2
38301
- }, 1024)
38302
- ]),
38303
- _: 2
38304
- }, [
38305
- item.chip ? {
38306
- name: "append",
38307
- fn: withCtx(() => [
38308
- createVNode(VChip, {
38309
- color: item.chip.color || "primary",
38310
- size: "small",
38311
- class: "ms-2"
38312
- }, {
38494
+ ]), 1040, ["disabled"])
38495
+ ]),
38496
+ default: withCtx(() => [
38497
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.items, (child, childIndex) => {
38498
+ return openBlock(), createBlock(VListItem, {
38499
+ key: childIndex,
38500
+ to: child.to,
38501
+ href: child.href,
38502
+ disabled: child.disabled,
38503
+ active: isActive(child),
38504
+ onClick: ($event) => handleClick(child)
38505
+ }, createSlots({
38506
+ prepend: withCtx(() => [
38507
+ typeof child.icon === "string" ? (openBlock(), createBlock(VIcon, {
38508
+ key: 0,
38509
+ icon: child.icon
38510
+ }, null, 8, ["icon"])) : child.icon ? (openBlock(), createBlock(resolveDynamicComponent(child.icon), { key: 1 })) : createCommentVNode("", true)
38511
+ ]),
38512
+ default: withCtx(() => [
38513
+ createVNode(VListItemTitle, null, {
38514
+ default: withCtx(() => [
38515
+ createTextVNode(toDisplayString(child.title), 1)
38516
+ ]),
38517
+ _: 2
38518
+ }, 1024)
38519
+ ]),
38520
+ _: 2
38521
+ }, [
38522
+ child.chip ? {
38523
+ name: "append",
38524
+ fn: withCtx(() => [
38525
+ createVNode(VChip, {
38526
+ color: child.chip.color || "primary",
38527
+ size: "small",
38528
+ class: "ms-2"
38529
+ }, {
38530
+ default: withCtx(() => [
38531
+ createTextVNode(toDisplayString(child.chip.content), 1)
38532
+ ]),
38533
+ _: 2
38534
+ }, 1032, ["color"])
38535
+ ]),
38536
+ key: "0"
38537
+ } : void 0
38538
+ ]), 1032, ["to", "href", "disabled", "active", "onClick"]);
38539
+ }), 128))
38540
+ ]),
38541
+ _: 2
38542
+ }, 1032, ["value"])) : (openBlock(), createBlock(VListItem, {
38543
+ key: 2,
38544
+ to: item.to,
38545
+ href: item.href,
38546
+ disabled: item.disabled,
38547
+ active: isActive(item),
38548
+ onClick: ($event) => handleClick(item)
38549
+ }, createSlots({
38550
+ prepend: withCtx(() => [
38551
+ typeof item.icon === "string" ? (openBlock(), createBlock(VIcon, {
38552
+ key: 0,
38553
+ icon: item.icon
38554
+ }, null, 8, ["icon"])) : item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), { key: 1 })) : createCommentVNode("", true)
38555
+ ]),
38556
+ default: withCtx(() => [
38557
+ createVNode(VListItemTitle, null, {
38313
38558
  default: withCtx(() => [
38314
- createTextVNode(toDisplayString(item.chip.content), 1)
38559
+ createTextVNode(toDisplayString(item.title), 1)
38315
38560
  ]),
38316
38561
  _: 2
38317
- }, 1032, ["color"])
38562
+ }, 1024)
38318
38563
  ]),
38319
- key: "0"
38320
- } : void 0
38321
- ]), 1032, ["to", "href", "disabled", "active", "prepend-icon", "onClick"]))
38322
- ], 64);
38323
- }), 128))
38324
- ]),
38325
- _: 1
38326
- })
38564
+ _: 2
38565
+ }, [
38566
+ item.chip ? {
38567
+ name: "append",
38568
+ fn: withCtx(() => [
38569
+ createVNode(VChip, {
38570
+ color: item.chip.color || "primary",
38571
+ size: "small",
38572
+ class: "ms-2"
38573
+ }, {
38574
+ default: withCtx(() => [
38575
+ createTextVNode(toDisplayString(item.chip.content), 1)
38576
+ ]),
38577
+ _: 2
38578
+ }, 1032, ["color"])
38579
+ ]),
38580
+ key: "0"
38581
+ } : void 0
38582
+ ]), 1032, ["to", "href", "disabled", "active", "onClick"]))
38583
+ ], 64);
38584
+ }), 128))
38585
+ ]),
38586
+ _: 1
38587
+ })
38588
+ ], true)
38327
38589
  ]),
38328
- _: 1
38329
- })
38590
+ _: 3
38591
+ }),
38592
+ renderSlot(_ctx.$slots, "bottom", {}, void 0, true)
38330
38593
  ]),
38331
- _: 1
38594
+ _: 3
38332
38595
  }, 8, ["modelValue", "permanent", "temporary", "rail", "expand-on-hover", "location", "width", "class"]);
38333
38596
  };
38334
38597
  }
38335
38598
  });
38336
- const AppSidebar = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-b3040226"]]);
38599
+ const AppSidebar = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-043a3ef2"]]);
38337
38600
  const makeVToolbarTitleProps = propsFactory({
38338
38601
  text: String,
38339
38602
  ...makeComponentProps(),
@@ -38852,7 +39115,7 @@ const VBadge = genericComponent()({
38852
39115
  return {};
38853
39116
  }
38854
39117
  });
38855
- const _hoisted_1 = {
39118
+ const _hoisted_1$1 = {
38856
39119
  key: 0,
38857
39120
  class: "text-h6"
38858
39121
  };
@@ -38863,11 +39126,13 @@ const _hoisted_2 = {
38863
39126
  const _hoisted_3 = { key: 2 };
38864
39127
  const _hoisted_4 = { key: 2 };
38865
39128
  const _hoisted_5 = { key: 2 };
38866
- const _sfc_main = /* @__PURE__ */ defineComponent$1({
39129
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
38867
39130
  __name: "AppHeader",
38868
39131
  props: {
38869
39132
  title: {},
38870
39133
  subtitle: {},
39134
+ class: {},
39135
+ ariaLabel: { default: "Application header" },
38871
39136
  showSidebarToggle: { type: Boolean, default: true },
38872
39137
  showSearch: { type: Boolean, default: false },
38873
39138
  searchPlaceholder: { default: "جستجو..." },
@@ -38882,7 +39147,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
38882
39147
  color: { default: "surface" },
38883
39148
  elevation: { default: 1 },
38884
39149
  height: { default: 70 },
38885
- class: {}
39150
+ hideDefaultTitle: { type: Boolean, default: false }
38886
39151
  },
38887
39152
  emits: ["update:searchValue", "toggle-sidebar", "search"],
38888
39153
  setup(__props, { emit: __emit }) {
@@ -38900,13 +39165,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
38900
39165
  customizer.SET_SIDEBAR_DRAWER();
38901
39166
  emit("toggle-sidebar");
38902
39167
  };
39168
+ const router = useRouter$1();
38903
39169
  const profileMenuItems = computed(
38904
39170
  () => props.profileMenu.map((item) => ({
38905
39171
  ...item,
38906
39172
  prependIcon: item.icon,
38907
39173
  onClick: item.action || (() => {
38908
39174
  if (item.to) {
38909
- console.log("Navigate to:", item.to);
39175
+ router.push(item.to);
38910
39176
  } else if (item.href) {
38911
39177
  window.open(item.href, "_blank");
38912
39178
  }
@@ -38918,28 +39184,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
38918
39184
  color: __props.color,
38919
39185
  elevation: __props.elevation,
38920
39186
  height: __props.height,
38921
- class: normalizeClass([props.class, "topbar"]),
39187
+ class: normalizeClass(["app-header topbar", props.class]),
39188
+ "aria-label": __props.ariaLabel,
38922
39189
  fixed: ""
38923
39190
  }, {
38924
39191
  default: withCtx(() => [
39192
+ renderSlot(_ctx.$slots, "left", {}, void 0, true),
38925
39193
  __props.showSidebarToggle ? (openBlock(), createBlock(VAppBarNavIcon, {
38926
39194
  key: 0,
38927
39195
  variant: "text",
38928
39196
  onClick: toggleSidebar
38929
39197
  })) : createCommentVNode("", true),
38930
- __props.title || __props.subtitle ? (openBlock(), createBlock(VAppBarTitle, {
38931
- key: 1,
38932
- class: "d-flex flex-column"
38933
- }, {
38934
- default: withCtx(() => [
38935
- __props.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
38936
- __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
38937
- ]),
38938
- _: 1
38939
- })) : createCommentVNode("", true),
39198
+ renderSlot(_ctx.$slots, "title", {}, () => [
39199
+ !__props.hideDefaultTitle && (__props.title || __props.subtitle) ? (openBlock(), createBlock(VAppBarTitle, {
39200
+ key: 0,
39201
+ class: "d-flex flex-column"
39202
+ }, {
39203
+ default: withCtx(() => [
39204
+ __props.title ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
39205
+ __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
39206
+ ]),
39207
+ _: 1
39208
+ })) : createCommentVNode("", true)
39209
+ ], true),
38940
39210
  createVNode(VSpacer),
39211
+ renderSlot(_ctx.$slots, "center", {}, void 0, true),
38941
39212
  __props.showSearch ? (openBlock(), createBlock(VTextField, {
38942
- key: 2,
39213
+ key: 1,
38943
39214
  modelValue: searchInput.value,
38944
39215
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchInput.value = $event),
38945
39216
  placeholder: __props.searchPlaceholder,
@@ -39025,8 +39296,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
39025
39296
  }, 1032, ["icon", "color", "variant", "size", "disabled", "onClick"]))
39026
39297
  ], 64);
39027
39298
  }), 128)),
39299
+ renderSlot(_ctx.$slots, "right", {}, void 0, true),
39028
39300
  __props.showNotifications ? (openBlock(), createBlock(VMenu, {
39029
- key: 3,
39301
+ key: 2,
39030
39302
  location: "bottom end",
39031
39303
  "offset-y": ""
39032
39304
  }, {
@@ -39084,7 +39356,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
39084
39356
  _: 1
39085
39357
  })) : createCommentVNode("", true),
39086
39358
  __props.showProfile ? (openBlock(), createBlock(VMenu, {
39087
- key: 4,
39359
+ key: 3,
39088
39360
  location: "bottom end",
39089
39361
  "offset-y": ""
39090
39362
  }, {
@@ -39144,12 +39416,148 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
39144
39416
  _: 1
39145
39417
  })) : createCommentVNode("", true)
39146
39418
  ]),
39147
- _: 1
39148
- }, 8, ["color", "elevation", "height", "class"]);
39419
+ _: 3
39420
+ }, 8, ["color", "elevation", "height", "class", "aria-label"]);
39421
+ };
39422
+ }
39423
+ });
39424
+ const AppHeader = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-b45b815e"]]);
39425
+ const makeVAppProps = propsFactory({
39426
+ ...makeComponentProps(),
39427
+ ...omit(makeLayoutProps(), ["fullHeight"]),
39428
+ ...makeThemeProps()
39429
+ }, "VApp");
39430
+ const VApp = genericComponent()({
39431
+ name: "VApp",
39432
+ props: makeVAppProps(),
39433
+ setup(props, _ref) {
39434
+ let {
39435
+ slots
39436
+ } = _ref;
39437
+ const theme = provideTheme(props);
39438
+ const {
39439
+ layoutClasses,
39440
+ getLayoutItem,
39441
+ items,
39442
+ layoutRef
39443
+ } = createLayout({
39444
+ ...props,
39445
+ fullHeight: true
39446
+ });
39447
+ const {
39448
+ rtlClasses
39449
+ } = useRtl();
39450
+ useRender(() => {
39451
+ var _a;
39452
+ return createElementVNode("div", {
39453
+ "ref": layoutRef,
39454
+ "class": normalizeClass(["v-application", theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class]),
39455
+ "style": normalizeStyle([props.style])
39456
+ }, [createElementVNode("div", {
39457
+ "class": "v-application__wrap"
39458
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
39459
+ });
39460
+ return {
39461
+ getLayoutItem,
39462
+ items,
39463
+ theme
39464
+ };
39465
+ }
39466
+ });
39467
+ const makeVMainProps = propsFactory({
39468
+ scrollable: Boolean,
39469
+ ...makeComponentProps(),
39470
+ ...makeDimensionProps(),
39471
+ ...makeTagProps({
39472
+ tag: "main"
39473
+ })
39474
+ }, "VMain");
39475
+ const VMain = genericComponent()({
39476
+ name: "VMain",
39477
+ props: makeVMainProps(),
39478
+ setup(props, _ref) {
39479
+ let {
39480
+ slots
39481
+ } = _ref;
39482
+ const {
39483
+ dimensionStyles
39484
+ } = useDimension(props);
39485
+ const {
39486
+ mainStyles
39487
+ } = useLayout();
39488
+ const {
39489
+ ssrBootStyles
39490
+ } = useSsrBoot();
39491
+ useRender(() => createVNode(props.tag, {
39492
+ "class": normalizeClass(["v-main", {
39493
+ "v-main--scrollable": props.scrollable
39494
+ }, props.class]),
39495
+ "style": normalizeStyle([mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style])
39496
+ }, {
39497
+ default: () => {
39498
+ var _a, _b;
39499
+ return [props.scrollable ? createElementVNode("div", {
39500
+ "class": "v-main__scroller"
39501
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]) : (_b = slots.default) == null ? void 0 : _b.call(slots)];
39502
+ }
39503
+ }));
39504
+ return {};
39505
+ }
39506
+ });
39507
+ const _hoisted_1 = { class: "page-wrapper" };
39508
+ const _sfc_main = /* @__PURE__ */ defineComponent$1({
39509
+ __name: "AppLayout",
39510
+ props: {
39511
+ header: { default: () => ({
39512
+ title: "Dashboard",
39513
+ subtitle: "",
39514
+ showSidebarToggle: true,
39515
+ showSearch: false,
39516
+ searchPlaceholder: "جستجو...",
39517
+ showNotifications: false,
39518
+ notificationCount: 0,
39519
+ showProfile: false,
39520
+ actions: [],
39521
+ color: "surface",
39522
+ elevation: 1,
39523
+ height: 70
39524
+ }) },
39525
+ sidebar: { default: () => ({
39526
+ menuItems: [],
39527
+ logo: "",
39528
+ logoLight: "",
39529
+ logoText: "UI Kit",
39530
+ miniSidebar: false,
39531
+ permanent: true,
39532
+ temporary: false,
39533
+ rail: false,
39534
+ location: "left",
39535
+ width: 265,
39536
+ railWidth: 75
39537
+ }) }
39538
+ },
39539
+ setup(__props) {
39540
+ useCustomizerStore();
39541
+ return (_ctx, _cache) => {
39542
+ return openBlock(), createBlock(VApp, null, {
39543
+ default: withCtx(() => [
39544
+ createVNode(AppHeader, mergeProps(__props.header, { class: "app-header" }), null, 16),
39545
+ createVNode(AppSidebar, mergeProps(__props.sidebar, { class: "app-sidebar" }), null, 16),
39546
+ createVNode(VMain, null, {
39547
+ default: withCtx(() => [
39548
+ createElementVNode("div", _hoisted_1, [
39549
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
39550
+ ])
39551
+ ]),
39552
+ _: 3
39553
+ })
39554
+ ]),
39555
+ _: 3
39556
+ });
39149
39557
  };
39150
39558
  }
39151
39559
  });
39152
- const AppHeader = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-b7912421"]]);
39560
+ const AppLayout = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-106317c7"]]);
39153
39561
  function useDataTable(options) {
39154
39562
  const items = ref([]);
39155
39563
  const loading = ref(false);
@@ -39711,28 +40119,29 @@ const index = {
39711
40119
  };
39712
40120
  export {
39713
40121
  AppHeader,
40122
+ AppLayout,
39714
40123
  AppSidebar,
39715
40124
  AppStepper,
39716
- _sfc_main$h as BaseBreadcrumb,
39717
- _sfc_main$g as BaseIcon,
40125
+ _sfc_main$i as BaseBreadcrumb,
40126
+ _sfc_main$h as BaseIcon,
39718
40127
  BooleanEnum,
39719
40128
  BooleanEnumOptions,
39720
- _sfc_main$f as ConfirmDialog,
40129
+ _sfc_main$g as ConfirmDialog,
39721
40130
  CustomAutocomplete,
39722
- _sfc_main$b as CustomDataTable,
40131
+ _sfc_main$c as CustomDataTable,
39723
40132
  DateConverter,
39724
40133
  DescriptionInput,
39725
40134
  DigitLimit,
39726
40135
  DownloadButton,
39727
40136
  GreetingUtils,
39728
40137
  Loading,
39729
- _sfc_main$d as MoneyInput,
40138
+ _sfc_main$e as MoneyInput,
39730
40139
  NationalCodeValidator,
39731
40140
  PdfViewer,
39732
40141
  ShamsiDatePicker,
39733
- _sfc_main$7 as UiChildCard,
39734
- _sfc_main$6 as UiParentCard,
39735
- _sfc_main$5 as VPriceTextField,
40142
+ _sfc_main$8 as UiChildCard,
40143
+ _sfc_main$7 as UiParentCard,
40144
+ _sfc_main$6 as VPriceTextField,
39736
40145
  configureAuth,
39737
40146
  configureAxiosInstance,
39738
40147
  index as default,