quasar-ui-danx 0.2.16 → 0.2.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. package/dist/danx.es.js +11 -11
  2. package/dist/danx.es.js.map +1 -1
  3. package/dist/danx.umd.js +2 -2
  4. package/dist/danx.umd.js.map +1 -1
  5. package/dist/style.css +1 -1
  6. package/package.json +1 -1
  7. package/src/components/ActionTable/ActionMenu.vue +4 -4
  8. package/src/components/ActionTable/ActionTable.vue +12 -12
  9. package/src/components/ActionTable/ActionTableColumn.vue +11 -11
  10. package/src/components/ActionTable/Columns/ColumnListItem.vue +2 -2
  11. package/src/components/ActionTable/Columns/ColumnSettingsDialog.vue +8 -8
  12. package/src/components/ActionTable/Columns/TitleColumnFormat.vue +1 -1
  13. package/src/components/ActionTable/Columns/VisibleColumnsToggleButtons.vue +7 -7
  14. package/src/components/ActionTable/EmptyTableState.vue +4 -4
  15. package/src/components/ActionTable/Filters/CollapsableFiltersSidebar.vue +3 -3
  16. package/src/components/ActionTable/Filters/FilterFieldList.vue +6 -6
  17. package/src/components/ActionTable/Filters/FilterListToggle.vue +3 -3
  18. package/src/components/ActionTable/Filters/FilterToolbarLayout.vue +3 -3
  19. package/src/components/ActionTable/Filters/FilterableField.vue +6 -6
  20. package/src/components/ActionTable/Form/Fields/BooleanField.vue +4 -4
  21. package/src/components/ActionTable/Form/Fields/ConfirmPasswordField.vue +7 -7
  22. package/src/components/ActionTable/Form/Fields/DateField.vue +6 -6
  23. package/src/components/ActionTable/Form/Fields/DateRangeField.vue +13 -13
  24. package/src/components/ActionTable/Form/Fields/DateTimeField.vue +6 -6
  25. package/src/components/ActionTable/Form/Fields/DateTimePicker.vue +6 -6
  26. package/src/components/ActionTable/Form/Fields/EditableDiv.vue +3 -3
  27. package/src/components/ActionTable/Form/Fields/FieldLabel.vue +2 -2
  28. package/src/components/ActionTable/Form/Fields/FileUploadButton.vue +15 -15
  29. package/src/components/ActionTable/Form/Fields/InlineDateTimeField.vue +7 -7
  30. package/src/components/ActionTable/Form/Fields/IntegerField.vue +2 -2
  31. package/src/components/ActionTable/Form/Fields/LabeledInput.vue +2 -2
  32. package/src/components/ActionTable/Form/Fields/MultiFileField.vue +6 -6
  33. package/src/components/ActionTable/Form/Fields/MultiKeywordField.vue +8 -8
  34. package/src/components/ActionTable/Form/Fields/NewPasswordField.vue +6 -6
  35. package/src/components/ActionTable/Form/Fields/NumberField.vue +20 -20
  36. package/src/components/ActionTable/Form/Fields/NumberRangeField.vue +20 -20
  37. package/src/components/ActionTable/Form/Fields/SelectDrawer.vue +8 -8
  38. package/src/components/ActionTable/Form/Fields/SelectField.vue +36 -36
  39. package/src/components/ActionTable/Form/Fields/SelectWithChildrenField.vue +9 -9
  40. package/src/components/ActionTable/Form/Fields/SingleFileField.vue +6 -6
  41. package/src/components/ActionTable/Form/Fields/TextField.vue +15 -15
  42. package/src/components/ActionTable/Form/Fields/WysiwygField.vue +4 -4
  43. package/src/components/ActionTable/Form/RenderedForm.vue +5 -5
  44. package/src/components/ActionTable/TableSummaryRow.vue +8 -8
  45. package/src/components/ActionTable/listControls.ts +5 -5
  46. package/src/components/ActionTable/listHelpers.ts +1 -1
  47. package/src/components/ActionTable/tableColumns.ts +24 -1
  48. package/src/components/AuditHistory/AuditHistoryItem.vue +4 -4
  49. package/src/components/AuditHistory/AuditHistoryItemValue.vue +10 -10
  50. package/src/components/DragAndDrop/HandleDraggable.vue +8 -8
  51. package/src/components/DragAndDrop/ListItemDraggable.vue +8 -8
  52. package/src/components/DragAndDrop/dragAndDrop.ts +219 -219
  53. package/src/components/DragAndDrop/listDragAndDrop.ts +4 -4
  54. package/src/components/PanelsDrawer/PanelsDrawer.vue +7 -7
  55. package/src/components/PanelsDrawer/PanelsDrawerPanels.vue +1 -1
  56. package/src/components/PanelsDrawer/PanelsDrawerTabs.vue +4 -4
  57. package/src/components/Utility/Buttons/ExportButton.vue +4 -4
  58. package/src/components/Utility/Buttons/RefreshButton.vue +2 -2
  59. package/src/components/Utility/Controls/PreviousNextControls.vue +2 -2
  60. package/src/components/Utility/Dialogs/ConfirmDialog.vue +14 -14
  61. package/src/components/Utility/Dialogs/FullScreenDialog.vue +8 -8
  62. package/src/components/Utility/Dialogs/FullscreenCarouselDialog.vue +11 -11
  63. package/src/components/Utility/Dialogs/InfoDialog.vue +12 -12
  64. package/src/components/Utility/Dialogs/InputDialog.vue +5 -5
  65. package/src/components/Utility/Files/FilePreview.vue +10 -10
  66. package/src/components/Utility/Formats/GpsCoordinatesFormat.vue +4 -4
  67. package/src/components/Utility/Formats/IconWithTextFormat.vue +2 -2
  68. package/src/components/Utility/Formats/LabelValueFormat.vue +2 -2
  69. package/src/components/Utility/Layouts/CollapsableSidebar.vue +15 -15
  70. package/src/components/Utility/Layouts/ContentDrawer.vue +6 -6
  71. package/src/components/Utility/Popovers/InteractiveTooltip.vue +4 -4
  72. package/src/components/Utility/Popovers/PopoverMenu.vue +49 -49
  73. package/src/components/Utility/Tabs/BadgeTab.vue +1 -1
  74. package/src/components/Utility/Tabs/IndicatorTab.vue +3 -3
  75. package/src/components/Utility/Tools/ActionVnode.vue +3 -3
  76. package/src/components/Utility/Tools/RenderComponent.vue +3 -3
  77. package/src/components/Utility/Transitions/StaggeredListTransition.vue +3 -3
  78. package/src/helpers/array.ts +16 -16
  79. package/src/helpers/storage.ts +5 -5
  80. package/src/helpers/utils.ts +1 -1
  81. package/src/index.common.js +1 -2
  82. package/src/index.esm.js +1 -1
  83. package/src/index.umd.js +2 -2
  84. package/src/svg/CaretDownIcon.svg +1 -1
  85. package/src/svg/DragHandleDotsIcon.svg +3 -3
  86. package/src/svg/DragHandleIcon.svg +3 -3
  87. package/src/svg/FilterIcon.svg +5 -5
  88. package/src/svg/ImageIcon.svg +27 -27
  89. package/src/svg/PdfIcon.svg +5 -5
  90. package/src/svg/SkipNextIcon.svg +3 -3
  91. package/src/svg/SkipPreviousIcon.svg +3 -3
  92. package/src/svg/TrashIcon.svg +12 -12
  93. package/src/svg/WarningIcon.svg +3 -3
  94. package/src/svg/XIcon.svg +15 -15
  95. package/src/vue-plugin.js +5 -5
@@ -20,10 +20,10 @@
20
20
  </template>
21
21
 
22
22
  <script setup>
23
- import { computed } from 'vue';
24
- import { XIcon } from '../../../svg';
23
+ import { computed } from "vue";
24
+ import { XIcon } from "../../../svg";
25
25
 
26
- const emit = defineEmits(['update:model-value', 'close']);
26
+ const emit = defineEmits(["update:model-value", "close"]);
27
27
  const props = defineProps({
28
28
  modelValue: Boolean,
29
29
  center: Boolean,
@@ -33,14 +33,14 @@ const props = defineProps({
33
33
 
34
34
  let computedClass = computed(() => {
35
35
  return {
36
- 'bg-blue-600 text-white': props.blue,
37
- 'bg-white text-gray-base': !props.blue,
38
- 'items-center': props.center
36
+ "bg-blue-600 text-white": props.blue,
37
+ "bg-white text-gray-base": !props.blue,
38
+ "items-center": props.center
39
39
  };
40
40
  });
41
41
 
42
42
  function onClose() {
43
- emit('update:model-value', false);
44
- emit('close');
43
+ emit("update:model-value", false);
44
+ emit("close");
45
45
  }
46
46
  </script>
@@ -38,19 +38,19 @@
38
38
  <img v-else :alt="file.filename" :src="file.url" />
39
39
  </div>
40
40
  </QCarouselSlide>
41
- </QCarousel>
42
- <CloseIcon
43
- class="absolute top-4 right-4 cursor-pointer text-white w-8 h-8"
44
- @click="$emit('close')"
45
- />
41
+ </QCarousel>
42
+ <CloseIcon
43
+ class="absolute top-4 right-4 cursor-pointer text-white w-8 h-8"
44
+ @click="$emit('close')"
45
+ />
46
46
  </div>
47
- </QDialog>
47
+ </QDialog>
48
48
  </template>
49
49
  <script setup>
50
- import { ref } from 'vue';
51
- import { XIcon as CloseIcon } from '../../../svg';
50
+ import { ref } from "vue";
51
+ import { XIcon as CloseIcon } from "../../../svg";
52
52
 
53
- defineEmits(['close']);
53
+ defineEmits(["close"]);
54
54
  const props = defineProps({
55
55
  files: {
56
56
  type: Array,
@@ -58,14 +58,14 @@ const props = defineProps({
58
58
  },
59
59
  defaultSlide: {
60
60
  type: String,
61
- default: ''
61
+ default: ""
62
62
  }
63
63
  });
64
64
 
65
65
  const carousel = ref(null);
66
66
  const currentSlide = ref(props.defaultSlide);
67
67
  function isVideo(file) {
68
- return file.mime?.startsWith('video');
68
+ return file.mime?.startsWith("video");
69
69
  }
70
70
  function getThumbUrl(file) {
71
71
  if (file.thumb) {
@@ -40,7 +40,7 @@
40
40
  @click="onClose"
41
41
  >
42
42
  <slot name="done-text" />
43
- </QBtn>
43
+ </QBtn>
44
44
  </div>
45
45
  </div>
46
46
  <a
@@ -49,31 +49,31 @@
49
49
  >
50
50
  <CloseIcon class="w-5" />
51
51
  </a>
52
- </QCard>
53
- </QDialog>
52
+ </QCard>
53
+ </QDialog>
54
54
  </template>
55
55
 
56
56
  <script setup>
57
- import { XIcon as CloseIcon } from '@heroicons/vue/outline';
57
+ import { XIcon as CloseIcon } from "@heroicons/vue/outline";
58
58
 
59
- const emit = defineEmits(['update:model-value', 'close']);
59
+ const emit = defineEmits(["update:model-value", "close"]);
60
60
  defineProps({
61
61
  modelValue: { type: [Boolean, Object], default: true },
62
62
  title: {
63
63
  type: String,
64
- default: ''
64
+ default: ""
65
65
  },
66
66
  titleClass: {
67
67
  type: String,
68
- default: ''
68
+ default: ""
69
69
  },
70
70
  subtitle: {
71
71
  type: String,
72
- default: ''
72
+ default: ""
73
73
  },
74
74
  content: {
75
75
  type: String,
76
- default: ''
76
+ default: ""
77
77
  },
78
78
  backdropDismiss: Boolean,
79
79
  maximized: Boolean,
@@ -81,12 +81,12 @@ defineProps({
81
81
  fullHeight: Boolean,
82
82
  doneText: {
83
83
  type: String,
84
- default: 'Done'
84
+ default: "Done"
85
85
  }
86
86
  });
87
87
 
88
88
  function onClose() {
89
- emit('update:model-value', false);
90
- emit('close');
89
+ emit("update:model-value", false);
90
+ emit("close");
91
91
  }
92
92
  </script>
@@ -15,19 +15,19 @@
15
15
  </ConfirmDialog>
16
16
  </template>
17
17
  <script setup>
18
- import { ref } from 'vue';
19
- import ConfirmDialog from './ConfirmDialog';
18
+ import { ref } from "vue";
19
+ import ConfirmDialog from "./ConfirmDialog";
20
20
 
21
- defineEmits(['confirm', 'close', 'update:input']);
21
+ defineEmits(["confirm", "close", "update:input"]);
22
22
  const props = defineProps({
23
23
  ...ConfirmDialog.props,
24
24
  title: {
25
25
  type: String,
26
- default: 'Enter Value'
26
+ default: "Enter Value"
27
27
  },
28
28
  input: {
29
29
  type: [Number, String],
30
- default: ''
30
+ default: ""
31
31
  }
32
32
  });
33
33
 
@@ -98,17 +98,17 @@
98
98
  </template>
99
99
 
100
100
  <script setup>
101
- import { DocumentTextIcon as TextFileIcon, DownloadIcon, PlayIcon } from '@heroicons/vue/outline';
102
- import { computed, ref } from 'vue';
103
- import { download } from '../../../helpers';
104
- import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from '../../../svg';
105
- import { FullScreenCarouselDialog } from '../Dialogs';
101
+ import { DocumentTextIcon as TextFileIcon, DownloadIcon, PlayIcon } from "@heroicons/vue/outline";
102
+ import { computed, ref } from "vue";
103
+ import { download } from "../../../helpers";
104
+ import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from "../../../svg";
105
+ import { FullScreenCarouselDialog } from "../Dialogs";
106
106
 
107
- const emit = defineEmits(['remove']);
107
+ const emit = defineEmits(["remove"]);
108
108
  const props = defineProps({
109
109
  src: {
110
110
  type: String,
111
- default: ''
111
+ default: ""
112
112
  },
113
113
  image: {
114
114
  type: Object,
@@ -124,7 +124,7 @@ const props = defineProps({
124
124
  },
125
125
  downloadButtonClass: {
126
126
  type: String,
127
- default: 'bg-blue-600 text-white'
127
+ default: "bg-blue-600 text-white"
128
128
  },
129
129
  downloadable: Boolean,
130
130
  removable: Boolean,
@@ -140,7 +140,7 @@ const computedImage = computed(() => {
140
140
  return {
141
141
  id: props.src,
142
142
  url: props.src,
143
- type: 'image/' + props.src.split('.').pop().toLowerCase()
143
+ type: "image/" + props.src.split(".").pop().toLowerCase()
144
144
  };
145
145
  }
146
146
  return null;
@@ -168,7 +168,7 @@ function onRemove() {
168
168
  isConfirmingRemove.value = false;
169
169
  }, 2000);
170
170
  } else {
171
- emit('remove');
171
+ emit("remove");
172
172
  }
173
173
  }
174
174
  </script>
@@ -14,15 +14,15 @@ import { LocationMarkerIcon as LocationIcon } from "@heroicons/vue/solid";
14
14
  defineProps({
15
15
  location: {
16
16
  type: Object,
17
- default: null,
17
+ default: null
18
18
  },
19
19
  decimals: {
20
20
  type: Number,
21
- default: 6,
21
+ default: 6
22
22
  },
23
23
  iconClass: {
24
24
  type: String,
25
- default: "w-7",
26
- },
25
+ default: "w-7"
26
+ }
27
27
  });
28
28
  </script>
@@ -14,7 +14,7 @@ defineProps({
14
14
  },
15
15
  iconClass: {
16
16
  type: String,
17
- default: 'w-6'
17
+ default: "w-6"
18
18
  },
19
19
  text: {
20
20
  type: String,
@@ -22,7 +22,7 @@ defineProps({
22
22
  },
23
23
  textClass: {
24
24
  type: String,
25
- default: 'ml-2'
25
+ default: "ml-2"
26
26
  }
27
27
  });
28
28
  </script>
@@ -5,7 +5,7 @@
5
5
  <template v-if="loading">
6
6
  <QSpinnerTail />
7
7
  </template>
8
- <slot v-else>{{ value || '-' }}</slot>
8
+ <slot v-else>{{ value || "-" }}</slot>
9
9
  </div>
10
10
  </div>
11
11
  </template>
@@ -17,7 +17,7 @@ defineProps({
17
17
  },
18
18
  value: {
19
19
  type: [String, Number],
20
- default: '-'
20
+ default: "-"
21
21
  },
22
22
  dense: Boolean,
23
23
  nowrap: Boolean,
@@ -44,59 +44,59 @@
44
44
  </div>
45
45
  </template>
46
46
  <script setup>
47
- import { ChevronLeftIcon as ToggleIcon } from '@heroicons/vue/outline';
48
- import { computed, onMounted, ref, watch } from 'vue';
47
+ import { ChevronLeftIcon as ToggleIcon } from "@heroicons/vue/outline";
48
+ import { computed, onMounted, ref, watch } from "vue";
49
49
 
50
- const emit = defineEmits(['collapse', 'update:collapse']);
50
+ const emit = defineEmits(["collapse", "update:collapse"]);
51
51
  const props = defineProps({
52
52
  rightSide: Boolean,
53
53
  displayClass: {
54
54
  type: String,
55
- default: 'flex flex-col'
55
+ default: "flex flex-col"
56
56
  },
57
57
  maxWidth: {
58
58
  type: String,
59
- default: '13.5rem'
59
+ default: "13.5rem"
60
60
  },
61
61
  minWidth: {
62
62
  type: String,
63
- default: '5.5rem'
63
+ default: "5.5rem"
64
64
  },
65
65
  disabled: Boolean,
66
66
  collapse: Boolean,
67
67
  name: {
68
68
  type: String,
69
- default: 'sidebar'
69
+ default: "sidebar"
70
70
  },
71
71
  toggleAtTop: Boolean,
72
72
  toggleClass: {
73
73
  type: String,
74
- default: ''
74
+ default: ""
75
75
  },
76
76
  hideToggleOnCollapse: Boolean
77
77
  });
78
78
 
79
79
  const isCollapsed = ref(props.collapse);
80
80
 
81
- const stored = localStorage.getItem(props.name + '-is-collapsed');
81
+ const stored = localStorage.getItem(props.name + "-is-collapsed");
82
82
 
83
83
  if (stored !== null) {
84
- isCollapsed.value = stored === '1';
84
+ isCollapsed.value = stored === "1";
85
85
  }
86
86
  function toggleCollapse() {
87
87
  setCollapse(!isCollapsed.value);
88
- emit('collapse', isCollapsed.value);
89
- emit('update:collapse', isCollapsed.value);
88
+ emit("collapse", isCollapsed.value);
89
+ emit("update:collapse", isCollapsed.value);
90
90
  }
91
91
 
92
92
  function setCollapse(state) {
93
93
  isCollapsed.value = state;
94
- localStorage.setItem(props.name + '-is-collapsed', isCollapsed.value ? '1' : '');
94
+ localStorage.setItem(props.name + "-is-collapsed", isCollapsed.value ? "1" : "");
95
95
  }
96
96
 
97
97
  onMounted(() => {
98
- emit('collapse', isCollapsed.value);
99
- emit('update:collapse', isCollapsed.value);
98
+ emit("collapse", isCollapsed.value);
99
+ emit("update:collapse", isCollapsed.value);
100
100
  });
101
101
  const style = computed(() => {
102
102
  return {
@@ -25,9 +25,9 @@
25
25
  </template>
26
26
 
27
27
  <script setup>
28
- import { computed } from 'vue';
28
+ import { computed } from "vue";
29
29
 
30
- const emit = defineEmits(['update:show']);
30
+ const emit = defineEmits(["update:show"]);
31
31
 
32
32
  const props = defineProps({
33
33
  show: Boolean,
@@ -35,21 +35,21 @@ const props = defineProps({
35
35
  overlay: Boolean,
36
36
  position: {
37
37
  type: String,
38
- default: 'bottom'
38
+ default: "bottom"
39
39
  },
40
40
  contentClass: {
41
41
  type: String,
42
- default: 'py-8 px-12'
42
+ default: "py-8 px-12"
43
43
  },
44
44
  title: {
45
45
  type: String,
46
- default: 'Edit'
46
+ default: "Edit"
47
47
  }
48
48
  });
49
49
 
50
50
  const isShowing = computed({
51
51
  get: () => props.show,
52
- set: (value) => emit('update:show', value)
52
+ set: (value) => emit("update:show", value)
53
53
  });
54
54
  </script>
55
55
 
@@ -12,17 +12,17 @@
12
12
  </QTooltip>
13
13
  </template>
14
14
  <script setup>
15
- import { onMounted, ref } from 'vue';
15
+ import { onMounted, ref } from "vue";
16
16
 
17
- defineProps({ tooltip: { type: String, default: '' } });
17
+ defineProps({ tooltip: { type: String, default: "" } });
18
18
  const show = ref(false);
19
19
  const tooltipBox = ref(null);
20
20
  const isHovering = ref(false);
21
21
  const isHoveringParent = ref(false);
22
22
  let timeout = null;
23
23
  onMounted(() => {
24
- tooltipBox.value.$el.parentNode.addEventListener('mouseover', onEnterParent);
25
- tooltipBox.value.$el.parentNode.addEventListener('mouseleave', onLeaveParent);
24
+ tooltipBox.value.$el.parentNode.addEventListener("mouseover", onEnterParent);
25
+ tooltipBox.value.$el.parentNode.addEventListener("mouseleave", onLeaveParent);
26
26
  });
27
27
  function onEnterParent() {
28
28
  show.value = true;
@@ -5,56 +5,56 @@
5
5
  >
6
6
  <QTooltip v-if="$slots.tooltip || tooltip">
7
7
  <slot name="tooltip">{{ tooltip }}</slot>
8
- </QTooltip>
9
- <Transition
10
- mode="out-in"
11
- :duration="150"
12
- >
13
- <RenderComponent
14
- v-if="loading"
15
- :component="loadingComponent"
16
- />
17
- <MenuIcon
18
- v-else
19
- class="w-4 text-black"
20
- />
21
- </Transition>
22
- <QMenu
23
- v-if="!disabled"
24
- auto-close
25
- >
26
- <QList>
27
- <template v-for="item in items">
28
- <a
29
- v-if="item.url"
30
- :key="item.url"
31
- class="q-item"
32
- target="_blank"
33
- :href="item.url"
34
- :class="item.class"
35
- >
36
- {{ item.label }}
37
- </a>
38
- <QItem
39
- v-else
40
- :key="item.name || item.action"
41
- clickable
42
- :class="item.class"
43
- @click="onAction(item)"
44
- >
45
- {{ item.label }}
46
- </QItem>
47
- </template>
48
- </QList>
49
- </QMenu>
8
+ </QTooltip>
9
+ <Transition
10
+ mode="out-in"
11
+ :duration="150"
12
+ >
13
+ <RenderComponent
14
+ v-if="loading"
15
+ :component="loadingComponent"
16
+ />
17
+ <MenuIcon
18
+ v-else
19
+ class="w-4 text-black"
20
+ />
21
+ </Transition>
22
+ <QMenu
23
+ v-if="!disabled"
24
+ auto-close
25
+ >
26
+ <QList>
27
+ <template v-for="item in items">
28
+ <a
29
+ v-if="item.url"
30
+ :key="item.url"
31
+ class="q-item"
32
+ target="_blank"
33
+ :href="item.url"
34
+ :class="item.class"
35
+ >
36
+ {{ item.label }}
37
+ </a>
38
+ <QItem
39
+ v-else
40
+ :key="item.name || item.action"
41
+ clickable
42
+ :class="item.class"
43
+ @click="onAction(item)"
44
+ >
45
+ {{ item.label }}
46
+ </QItem>
47
+ </template>
48
+ </QList>
49
+ </QMenu>
50
50
  </a>
51
51
  </template>
52
52
  <script setup>
53
- import { DotsVerticalIcon as MenuIcon } from '@heroicons/vue/outline';
54
- import { QSpinner } from 'quasar';
55
- import { RenderComponent } from '../Tools';
53
+ import { DotsVerticalIcon as MenuIcon } from "@heroicons/vue/outline";
54
+ import { QSpinner } from "quasar";
55
+ import { RenderComponent } from "../Tools";
56
56
 
57
- const emit = defineEmits(['action', 'action-item']);
57
+ const emit = defineEmits(["action", "action-item"]);
58
58
  defineProps({
59
59
  items: {
60
60
  type: Array,
@@ -73,13 +73,13 @@ defineProps({
73
73
  type: [Function, Object],
74
74
  default: () => ({
75
75
  is: QSpinner,
76
- props: { class: 'w-4 h-4 text-black' }
76
+ props: { class: "w-4 h-4 text-black" }
77
77
  })
78
78
  }
79
79
  });
80
80
 
81
81
  function onAction(item) {
82
- emit('action', item.name || item.action);
83
- emit('action-item', item);
82
+ emit("action", item.name || item.action);
83
+ emit("action-item", item);
84
84
  }
85
85
  </script>
@@ -26,7 +26,7 @@ defineProps({
26
26
  },
27
27
  count: {
28
28
  type: [String, Number],
29
- default: ''
29
+ default: ""
30
30
  }
31
31
  });
32
32
  </script>
@@ -18,11 +18,11 @@
18
18
  />
19
19
  </div>
20
20
  </div>
21
- </QTab>
21
+ </QTab>
22
22
  </template>
23
23
  <script setup>
24
- import { ExclamationCircleIcon as OverdueIcon } from '@heroicons/vue/solid';
25
- import { WarningIcon } from '../../../svg';
24
+ import { ExclamationCircleIcon as OverdueIcon } from "@heroicons/vue/solid";
25
+ import { WarningIcon } from "../../../svg";
26
26
 
27
27
  defineProps({
28
28
  name: {
@@ -10,9 +10,9 @@
10
10
  </div>
11
11
  </template>
12
12
  <script setup>
13
- import { ref } from 'vue';
14
- import { activeActionVnode } from '../../../helpers';
15
- import RenderVnode from './RenderVnode';
13
+ import { ref } from "vue";
14
+ import { activeActionVnode } from "../../../helpers";
15
+ import RenderVnode from "./RenderVnode";
16
16
 
17
17
  const isSaving = ref(false);
18
18
  async function onConfirm(input) {
@@ -13,9 +13,9 @@
13
13
  />
14
14
  </template>
15
15
  <script setup>
16
- import { computed } from 'vue';
16
+ import { computed } from "vue";
17
17
 
18
- defineEmits(['action']);
18
+ defineEmits(["action"]);
19
19
  const props = defineProps({
20
20
  component: {
21
21
  type: [Function, Object],
@@ -33,7 +33,7 @@ const props = defineProps({
33
33
 
34
34
  const content = computed(() => resolvedComponent.value?.value || resolvedComponent.value?.props?.text);
35
35
  const resolvedComponent = computed(() => {
36
- if (typeof props.component === 'function') {
36
+ if (typeof props.component === "function") {
37
37
  return props.component(...props.params);
38
38
  }
39
39
  return props.component;
@@ -13,13 +13,13 @@
13
13
  </template>
14
14
 
15
15
  <script setup>
16
- import gsap from 'gsap';
17
- import { computed, ref } from 'vue';
16
+ import gsap from "gsap";
17
+ import { computed, ref } from "vue";
18
18
 
19
19
  const props = defineProps({
20
20
  height: {
21
21
  type: [String, Number],
22
- default: 'auto'
22
+ default: "auto"
23
23
  },
24
24
  duration: {
25
25
  type: Number,
@@ -6,21 +6,21 @@
6
6
  * @returns {*[]}
7
7
  */
8
8
  export function replace(array, item, newItem = undefined) {
9
- const index =
10
- typeof item === "function" ? array.findIndex(item) : array.indexOf(item);
11
- if (index === false) {
12
- console.error("Item not found in array", item, array);
13
- throw new Error("Item not found in array");
14
- }
15
- const newArray = [...array];
16
- newItem !== undefined
17
- ? newArray.splice(index, 1, newItem)
18
- : newArray.splice(index, 1);
19
- return newArray;
9
+ const index =
10
+ typeof item === "function" ? array.findIndex(item) : array.indexOf(item);
11
+ if (index === false) {
12
+ console.error("Item not found in array", item, array);
13
+ throw new Error("Item not found in array");
14
+ }
15
+ const newArray = [...array];
16
+ newItem !== undefined
17
+ ? newArray.splice(index, 1, newItem)
18
+ : newArray.splice(index, 1);
19
+ return newArray;
20
20
  }
21
21
 
22
22
  export function remove(array, item) {
23
- return replace(array, item);
23
+ return replace(array, item);
24
24
  }
25
25
 
26
26
  /**
@@ -30,8 +30,8 @@ export function remove(array, item) {
30
30
  * @returns {*}
31
31
  */
32
32
  export function uniqueBy(array, cb) {
33
- return array.filter((a, index, self) => {
34
- // Check if the current element 'a' is the first occurrence in the array
35
- return index === self.findIndex((b) => cb(a, b));
36
- });
33
+ return array.filter((a, index, self) => {
34
+ // Check if the current element 'a' is the first occurrence in the array
35
+ return index === self.findIndex((b) => cb(a, b));
36
+ });
37
37
  }