quasar-ui-danx 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/package.json +6 -1
  2. package/src/components/ActionTable/ActionTable.vue +49 -41
  3. package/src/components/ActionTable/BatchActionMenu.vue +20 -20
  4. package/src/components/ActionTable/EmptyTableState.vue +5 -5
  5. package/src/components/ActionTable/Filters/CollapsableFiltersSidebar.vue +11 -11
  6. package/src/components/ActionTable/Filters/FilterGroupItem.vue +7 -7
  7. package/src/components/ActionTable/Filters/FilterGroupList.vue +29 -29
  8. package/src/components/ActionTable/Filters/FilterListToggle.vue +15 -15
  9. package/src/components/ActionTable/Filters/FilterableField.vue +82 -80
  10. package/src/components/ActionTable/Filters/index.ts +5 -0
  11. package/src/components/ActionTable/Form/Fields/BooleanField.vue +13 -13
  12. package/src/components/ActionTable/Form/Fields/ConfirmPasswordField.vue +11 -11
  13. package/src/components/ActionTable/Form/Fields/DateField.vue +13 -13
  14. package/src/components/ActionTable/Form/Fields/DateRangeField.vue +25 -25
  15. package/src/components/ActionTable/Form/Fields/DateTimeField.vue +21 -21
  16. package/src/components/ActionTable/Form/Fields/DateTimePicker.vue +23 -23
  17. package/src/components/ActionTable/Form/Fields/FileUploadButton.vue +31 -31
  18. package/src/components/ActionTable/Form/Fields/InlineDateTimeField.vue +19 -19
  19. package/src/components/ActionTable/Form/Fields/IntegerField.vue +7 -7
  20. package/src/components/ActionTable/Form/Fields/LabelValueBlock.vue +22 -0
  21. package/src/components/ActionTable/Form/Fields/LabeledInput.vue +19 -19
  22. package/src/components/ActionTable/Form/Fields/MultiFileField.vue +40 -40
  23. package/src/components/ActionTable/Form/Fields/MultiKeywordField.vue +23 -23
  24. package/src/components/ActionTable/Form/Fields/NewPasswordField.vue +10 -10
  25. package/src/components/ActionTable/Form/Fields/NumberField.vue +29 -29
  26. package/src/components/ActionTable/Form/Fields/NumberRangeField.vue +33 -33
  27. package/src/components/ActionTable/Form/Fields/SelectDrawer.vue +36 -36
  28. package/src/components/ActionTable/Form/Fields/SelectField.vue +66 -66
  29. package/src/components/ActionTable/Form/Fields/SelectWithChildrenField.vue +23 -23
  30. package/src/components/ActionTable/Form/Fields/SingleFileField.vue +32 -32
  31. package/src/components/ActionTable/Form/Fields/TextField.vue +36 -36
  32. package/src/components/ActionTable/Form/Fields/WysiwygField.vue +16 -16
  33. package/src/components/ActionTable/Form/Fields/index.ts +23 -23
  34. package/src/components/ActionTable/Form/RenderedForm.vue +27 -25
  35. package/src/components/ActionTable/Form/index.ts +2 -0
  36. package/src/components/ActionTable/TableSummaryRow.vue +33 -33
  37. package/src/components/ActionTable/index.ts +8 -13
  38. package/src/components/ActionTable/listActions.ts +340 -339
  39. package/src/components/ActionTable/listHelpers.ts +74 -0
  40. package/src/components/ActionTable/tableColumns.ts +56 -56
  41. package/src/components/DragAndDrop/HandleDraggable.vue +29 -29
  42. package/src/components/DragAndDrop/ListItemDraggable.vue +10 -10
  43. package/src/components/DragAndDrop/index.ts +0 -1
  44. package/src/components/DragAndDrop/listDragAndDrop.ts +1 -1
  45. package/src/components/Utility/CollapsableSidebar.vue +35 -35
  46. package/src/components/Utility/ContentDrawer.vue +20 -20
  47. package/src/components/Utility/Dialogs/ConfirmDialog.vue +55 -55
  48. package/src/components/Utility/Dialogs/FullScreenDialog.vue +18 -18
  49. package/src/components/Utility/Dialogs/FullscreenCarouselDialog.vue +105 -0
  50. package/src/components/Utility/Dialogs/InfoDialog.vue +10 -10
  51. package/src/components/Utility/Dialogs/InputDialog.vue +13 -13
  52. package/src/components/Utility/ImagePreview.vue +192 -0
  53. package/src/components/Utility/Popover/PopoverMenu.vue +64 -0
  54. package/src/components/Utility/Transitions/StaggeredListTransition.vue +15 -15
  55. package/src/components/Utility/index.ts +11 -9
  56. package/src/components/index.ts +1 -1
  57. package/src/helpers/FileUpload.ts +274 -273
  58. package/src/helpers/compatibility.ts +45 -45
  59. package/src/helpers/date.ts +2 -2
  60. package/src/helpers/download.ts +166 -158
  61. package/src/helpers/downloadPdf.ts +48 -48
  62. package/src/helpers/files.ts +42 -42
  63. package/src/helpers/index.ts +2 -0
  64. package/src/helpers/multiFileUpload.ts +56 -56
  65. package/src/helpers/singleFileUpload.ts +49 -49
  66. package/src/index.esm.js +3 -4
  67. package/src/svg/FilterIcon.svg +7 -0
  68. package/src/svg/ImageIcon.svg +30 -0
  69. package/src/svg/PdfIcon.svg +21 -0
  70. package/src/svg/PercentIcon.svg +13 -0
  71. package/src/svg/TrashIcon.svg +15 -0
  72. package/src/svg/XIcon.svg +18 -0
  73. package/src/svg/index.ts +8 -0
  74. package/src/vendor/tinymce-config.ts +1 -0
  75. package/src/vue-plugin.js +7 -4
  76. package/tsconfig.json +14 -13
  77. package/src/components/ActionTable/tableHelpers.ts +0 -83
  78. package/src/components/DragAndDrop/Icons/index.ts +0 -2
  79. /package/src/{components/DragAndDrop/Icons → svg}/DragHandleDotsIcon.svg +0 -0
  80. /package/src/{components/DragAndDrop/Icons → svg}/DragHandleIcon.svg +0 -0
@@ -0,0 +1,64 @@
1
+ <template>
2
+ <a
3
+ class="p-3 actionable"
4
+ :class="{'opacity-50 cursor-not-allowed': disabled}"
5
+ >
6
+ <Transition
7
+ mode="out-in"
8
+ :duration="150"
9
+ >
10
+ <q-spinner
11
+ v-if="loading"
12
+ class="w-4 h-4 text-black"
13
+ />
14
+ <MenuIcon
15
+ v-else
16
+ class="w-4 text-black"
17
+ />
18
+ </Transition>
19
+ <q-menu
20
+ v-if="!disabled"
21
+ auto-close
22
+ >
23
+ <q-list>
24
+ <template v-for="item in items">
25
+ <a
26
+ v-if="item.url"
27
+ :key="item.url"
28
+ class="q-item"
29
+ target="_blank"
30
+ :href="item.url"
31
+ :class="item.class"
32
+ >
33
+ {{ item.label }}
34
+ </a>
35
+ <q-item
36
+ v-else
37
+ :key="item.action"
38
+ clickable
39
+ :class="item.class"
40
+ @click="$emit('action', item.action)"
41
+ >
42
+ {{ item.label }}
43
+ </q-item>
44
+ </template>
45
+ </q-list>
46
+ </q-menu>
47
+ </a>
48
+ </template>
49
+ <script setup>
50
+ import { DotsVerticalIcon as MenuIcon } from '@heroicons/vue/outline';
51
+
52
+ defineEmits(['action']);
53
+ defineProps({
54
+ items: {
55
+ type: Array,
56
+ required: true,
57
+ validator(items) {
58
+ return items.every((item) => item.label && (item.url || item.action));
59
+ }
60
+ },
61
+ disabled: Boolean,
62
+ loading: Boolean
63
+ });
64
+ </script>
@@ -1,26 +1,25 @@
1
1
  <template>
2
2
  <TransitionGroup
3
- ref="list"
4
- tag="div"
5
- appear
6
- :css="false"
7
- @before-enter="onBeforeEnter"
8
- @enter="onEnter"
9
- @leave="onLeave"
3
+ ref="list"
4
+ tag="div"
5
+ appear
6
+ :css="false"
7
+ @before-enter="onBeforeEnter"
8
+ @enter="onEnter"
9
+ @leave="onLeave"
10
10
  >
11
11
  <slot />
12
12
  </TransitionGroup>
13
13
  </template>
14
14
 
15
15
  <script setup>
16
- import gsap from "gsap";
17
- import { isTestMode } from "src/helpers/testing";
18
- import { computed, ref } from "vue";
16
+ import gsap from 'gsap';
17
+ import { computed, ref } from 'vue';
19
18
 
20
19
  const props = defineProps({
21
20
  height: {
22
21
  type: [String, Number],
23
- default: "auto"
22
+ default: 'auto'
24
23
  },
25
24
  duration: {
26
25
  type: Number,
@@ -29,7 +28,8 @@ const props = defineProps({
29
28
  delayOffset: {
30
29
  type: Number,
31
30
  default: 0.5
32
- }
31
+ },
32
+ disabled: Boolean
33
33
  });
34
34
 
35
35
  const list = ref(null);
@@ -38,7 +38,7 @@ const indexDelay = computed(() => {
38
38
  });
39
39
 
40
40
  function onBeforeEnter(el) {
41
- if (isTestMode.value) {
41
+ if (props.disabled) {
42
42
  return;
43
43
  }
44
44
  el.style.opacity = 0;
@@ -46,7 +46,7 @@ function onBeforeEnter(el) {
46
46
  }
47
47
 
48
48
  function onEnter(el, onComplete) {
49
- if (isTestMode.value) {
49
+ if (props.disabled) {
50
50
  onComplete();
51
51
  return;
52
52
  }
@@ -61,7 +61,7 @@ function onEnter(el, onComplete) {
61
61
  }
62
62
 
63
63
  function onLeave(el, onComplete) {
64
- if (isTestMode.value) {
64
+ if (props.disabled) {
65
65
  onComplete();
66
66
  return;
67
67
  }
@@ -1,9 +1,11 @@
1
- export { default as CollapsableSidebar } from "./CollapsableSidebar";
2
- export { default as ConfirmDialog } from "./Dialogs/ConfirmDialog";
3
- export { default as ContentDrawer } from "./ContentDrawer";
4
- export { default as FullScreenDialog } from "./Dialogs/FullScreenDialog";
5
- export { default as InfoDialog } from "./Dialogs/InfoDialog";
6
- export { default as InputDialog } from "./Dialogs/InputDialog";
7
- export { default as ListTransition } from "./Transitions/ListTransition";
8
- export { default as SlideTransition } from "./Transitions/SlideTransition";
9
- export { default as StaggeredListTransition } from "./Transitions/StaggeredListTransition";
1
+ export { default as CollapsableSidebar } from "./CollapsableSidebar.vue";
2
+ export { default as ConfirmDialog } from "./Dialogs/ConfirmDialog.vue";
3
+ export { default as ContentDrawer } from "./ContentDrawer.vue";
4
+ export { default as FullScreenCarouselDialog } from "./Dialogs/FullscreenCarouselDialog.vue";
5
+ export { default as FullScreenDialog } from "./Dialogs/FullScreenDialog.vue";
6
+ export { default as ImagePreview } from "./ImagePreview.vue";
7
+ export { default as InfoDialog } from "./Dialogs/InfoDialog.vue";
8
+ export { default as InputDialog } from "./Dialogs/InputDialog.vue";
9
+ export { default as ListTransition } from "./Transitions/ListTransition.vue";
10
+ export { default as SlideTransition } from "./Transitions/SlideTransition.vue";
11
+ export { default as StaggeredListTransition } from "./Transitions/StaggeredListTransition.vue";
@@ -1,3 +1,3 @@
1
1
  export * from "./ActionTable";
2
2
  export * from "./Utility";
3
-
3
+ export * from "./DragAndDrop";