quasar-ui-danx 0.3.10 → 0.3.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. package/dist/danx.es.js +599 -593
  2. package/dist/danx.es.js.map +1 -1
  3. package/dist/danx.umd.js +5 -5
  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 +7 -7
  8. package/src/components/ActionTable/ActionTable.vue +33 -29
  9. package/src/components/ActionTable/ActionTableColumn.vue +37 -15
  10. package/src/components/ActionTable/ActionTableHeaderColumn.vue +9 -9
  11. package/src/components/ActionTable/Columns/ColumnListItem.vue +33 -10
  12. package/src/components/ActionTable/Columns/ColumnSettingsDialog.vue +23 -19
  13. package/src/components/ActionTable/Columns/TitleColumnFormat.vue +5 -3
  14. package/src/components/ActionTable/Columns/VisibleColumnsToggleButtons.vue +24 -22
  15. package/src/components/ActionTable/EmptyTableState.vue +4 -2
  16. package/src/components/ActionTable/Filters/CollapsableFiltersSidebar.vue +9 -9
  17. package/src/components/ActionTable/Filters/FilterFieldItem.vue +7 -5
  18. package/src/components/ActionTable/Filters/FilterFieldList.vue +21 -21
  19. package/src/components/ActionTable/Filters/FilterListToggle.vue +13 -10
  20. package/src/components/ActionTable/Filters/FilterToolbarLayout.vue +14 -7
  21. package/src/components/ActionTable/Filters/FilterableField.vue +75 -70
  22. package/src/components/ActionTable/Form/Fields/BooleanField.vue +9 -9
  23. package/src/components/ActionTable/Form/Fields/ConfirmPasswordField.vue +7 -7
  24. package/src/components/ActionTable/Form/Fields/DateField.vue +4 -4
  25. package/src/components/ActionTable/Form/Fields/DateRangeField.vue +9 -9
  26. package/src/components/ActionTable/Form/Fields/DateTimeField.vue +13 -10
  27. package/src/components/ActionTable/Form/Fields/DateTimePicker.vue +36 -14
  28. package/src/components/ActionTable/Form/Fields/EditableDiv.vue +3 -3
  29. package/src/components/ActionTable/Form/Fields/FieldLabel.vue +2 -2
  30. package/src/components/ActionTable/Form/Fields/FileUploadButton.vue +23 -20
  31. package/src/components/ActionTable/Form/Fields/InlineDateTimeField.vue +10 -10
  32. package/src/components/ActionTable/Form/Fields/IntegerField.vue +6 -6
  33. package/src/components/ActionTable/Form/Fields/LabeledInput.vue +20 -17
  34. package/src/components/ActionTable/Form/Fields/MultiFileField.vue +35 -35
  35. package/src/components/ActionTable/Form/Fields/MultiKeywordField.vue +15 -15
  36. package/src/components/ActionTable/Form/Fields/NewPasswordField.vue +4 -4
  37. package/src/components/ActionTable/Form/Fields/NumberField.vue +11 -11
  38. package/src/components/ActionTable/Form/Fields/NumberRangeField.vue +11 -11
  39. package/src/components/ActionTable/Form/Fields/SelectDrawer.vue +38 -33
  40. package/src/components/ActionTable/Form/Fields/SelectField.vue +37 -35
  41. package/src/components/ActionTable/Form/Fields/SelectWithChildrenField.vue +19 -15
  42. package/src/components/ActionTable/Form/Fields/SingleFileField.vue +29 -28
  43. package/src/components/ActionTable/Form/Fields/TextField.vue +22 -22
  44. package/src/components/ActionTable/Form/Fields/WysiwygField.vue +13 -13
  45. package/src/components/ActionTable/Form/RenderedForm.vue +5 -1
  46. package/src/components/ActionTable/TableSummaryRow.vue +15 -15
  47. package/src/components/AuditHistory/AuditHistoryItem.vue +12 -6
  48. package/src/components/AuditHistory/AuditHistoryItemValue.vue +6 -6
  49. package/src/components/DragAndDrop/HandleDraggable.vue +21 -21
  50. package/src/components/DragAndDrop/ListItemDraggable.vue +19 -15
  51. package/src/components/PanelsDrawer/PanelsDrawer.vue +18 -11
  52. package/src/components/PanelsDrawer/PanelsDrawerPanels.vue +9 -5
  53. package/src/components/PanelsDrawer/PanelsDrawerTabs.vue +18 -13
  54. package/src/components/Utility/Buttons/ExportButton.vue +5 -1
  55. package/src/components/Utility/Buttons/RefreshButton.vue +2 -2
  56. package/src/components/Utility/Controls/PreviousNextControls.vue +8 -8
  57. package/src/components/Utility/Dialogs/ConfirmDialog.vue +32 -29
  58. package/src/components/Utility/Dialogs/FullScreenDialog.vue +12 -9
  59. package/src/components/Utility/Dialogs/FullscreenCarouselDialog.vue +30 -26
  60. package/src/components/Utility/Dialogs/InfoDialog.vue +25 -22
  61. package/src/components/Utility/Dialogs/InputDialog.vue +7 -7
  62. package/src/components/Utility/Files/FilePreview.vue +64 -47
  63. package/src/components/Utility/Files/SvgImg.vue +7 -4
  64. package/src/components/Utility/Formats/GpsCoordinatesFormat.vue +11 -3
  65. package/src/components/Utility/Layouts/CollapsableSidebar.vue +15 -15
  66. package/src/components/Utility/Layouts/ContentDrawer.vue +8 -8
  67. package/src/components/Utility/Popovers/InteractiveTooltip.vue +7 -7
  68. package/src/components/Utility/Popovers/PopoverMenu.vue +21 -21
  69. package/src/components/Utility/Tabs/BadgeTab.vue +9 -7
  70. package/src/components/Utility/Tools/ActionVnode.vue +5 -5
  71. package/src/components/Utility/Tools/RenderComponent.vue +11 -9
  72. package/src/components/Utility/Transitions/StaggeredListTransition.vue +7 -7
  73. package/src/config/index.ts +7 -4
  74. package/src/helpers/FileUpload.ts +1 -1
  75. package/src/helpers/FlashMessages.ts +5 -5
  76. package/src/vendor/tinymce-config.ts +0 -1
@@ -1,31 +1,31 @@
1
1
  <template>
2
2
  <div>
3
3
  <FieldLabel
4
- v-if="!noLabel"
5
- :field="field"
6
- :show-name="showName"
7
- class="text-sm font-semibold text-gray-700 block mb-2"
4
+ v-if="!noLabel"
5
+ :field="field"
6
+ :show-name="showName"
7
+ class="text-sm font-semibold text-gray-700 block mb-2"
8
8
  />
9
9
  <template v-if="readonly">
10
10
  <div
11
- class="border border-gray-300 rounded-md p-2 bg-gray-100"
12
- v-html="modelValue"
11
+ class="border border-gray-300 rounded-md p-2 bg-gray-100"
12
+ v-html="modelValue"
13
13
  />
14
14
  </template>
15
15
  <TinyMceEditor
16
- v-else
17
- class="mt-2"
18
- :api-key="apiKey"
19
- :disabled="disable"
20
- :model-value="modelValue"
21
- @update:model-value="$emit('update:model-value', $event)"
16
+ v-else
17
+ class="mt-2"
18
+ :api-key="danxOptions.tinyMceApiKey"
19
+ :disabled="disable"
20
+ :model-value="modelValue"
21
+ @update:model-value="$emit('update:model-value', $event)"
22
22
  />
23
23
  </div>
24
24
  </template>
25
25
 
26
26
  <script setup>
27
27
  import { default as TinyMceEditor } from "@tinymce/tinymce-vue";
28
- import { apiKey } from "../../../../vendor/tinymce-config";
28
+ import { danxOptions } from "../../../../config";
29
29
  import FieldLabel from "./FieldLabel";
30
30
 
31
31
  defineEmits(["update:model-value"]);
@@ -137,6 +137,10 @@ const props = defineProps({
137
137
  disable: Boolean,
138
138
  readonly: Boolean,
139
139
  saving: Boolean,
140
+ emptyValue: {
141
+ type: [String, Number, Boolean],
142
+ default: undefined
143
+ },
140
144
  canModifyVariations: Boolean
141
145
  });
142
146
 
@@ -186,7 +190,7 @@ function onInput(name, value) {
186
190
  const newFieldResponse = {
187
191
  name,
188
192
  variation: currentVariation.value || "",
189
- value
193
+ value: value === undefined ? props.emptyValue : value
190
194
  };
191
195
  const newValues = replace(props.values, fieldResponse, newFieldResponse, true);
192
196
  emit("update:values", newValues);
@@ -1,21 +1,21 @@
1
1
  <template>
2
2
  <QTr
3
- class="sticky-column-1 transition-all sticky-row"
4
- :class="{'!bg-gray-100': !selectedCount, '!bg-blue-600 text-white selected': selectedCount, 'opacity-50': loading}"
3
+ class="sticky-column-1 transition-all sticky-row"
4
+ :class="{'!bg-gray-100': !selectedCount, '!bg-blue-600 text-white selected': selectedCount, 'opacity-50': loading}"
5
5
  >
6
6
  <QTd
7
- :colspan="stickyColspan"
8
- class="font-bold transition-all"
9
- :class="{'!bg-gray-100 !pl-5': !selectedCount, '!bg-blue-600 text-white !pl-4': selectedCount}"
7
+ :colspan="stickyColspan"
8
+ class="font-bold transition-all"
9
+ :class="{'!bg-gray-100 !pl-5': !selectedCount, '!bg-blue-600 text-white !pl-4': selectedCount}"
10
10
  >
11
11
  <div class="flex flex-nowrap items-center">
12
12
  <div
13
- v-if="selectedCount"
14
- class="flex items-center"
13
+ v-if="selectedCount"
14
+ class="flex items-center"
15
15
  >
16
16
  <ClearIcon
17
- class="w-6 mr-3"
18
- @click="$emit('clear')"
17
+ class="w-6 mr-3"
18
+ @click="$emit('clear')"
19
19
  />
20
20
  {{ fNumber(selectedCount) }} {{ selectedLabel }}
21
21
  </div>
@@ -23,16 +23,16 @@
23
23
  {{ fNumber(itemCount) }} {{ label }}
24
24
  </div>
25
25
  <QSpinner
26
- v-if="loading"
27
- class="ml-3"
28
- size="18"
26
+ v-if="loading"
27
+ class="ml-3"
28
+ size="18"
29
29
  />
30
30
  </div>
31
31
  </QTd>
32
32
  <QTd
33
- v-for="column in summaryColumns"
34
- :key="column.name"
35
- :align="column.align || 'left'"
33
+ v-for="column in summaryColumns"
34
+ :key="column.name"
35
+ :align="column.align || 'left'"
36
36
  >
37
37
  <template v-if="summary">
38
38
  {{ formatValue(column) }}
@@ -5,14 +5,14 @@
5
5
  <div class="flex flex-nowrap items-center mt-4">
6
6
  <div class="bg-red-200 line-through p-2">
7
7
  <AuditHistoryItemValue
8
- :type="change.type"
9
- :value="change.oldValue"
8
+ :type="change.type"
9
+ :value="change.oldValue"
10
10
  />
11
11
  </div>
12
12
  <div class="bg-emerald-200 ml-2.5 p-2">
13
13
  <AuditHistoryItemValue
14
- :type="change.type"
15
- :value="change.newValue"
14
+ :type="change.type"
15
+ :value="change.newValue"
16
16
  />
17
17
  </div>
18
18
  </div>
@@ -24,8 +24,14 @@
24
24
  </template>
25
25
  <div>{{ item.account }}</div>
26
26
  <div>
27
- <a v-if="item.audit_request_id" :href="novaUrl" target="_blank">{{ fLocalizedDateTime(item.timestamp) }}</a>
28
- <template v-else>{{ fLocalizedDateTime(item.timestamp) }}</template>
27
+ <a
28
+ v-if="item.audit_request_id"
29
+ :href="novaUrl"
30
+ target="_blank"
31
+ >{{ fLocalizedDateTime(item.timestamp) }}</a>
32
+ <template v-else>
33
+ {{ fLocalizedDateTime(item.timestamp) }}
34
+ </template>
29
35
  </div>
30
36
  </div>
31
37
  </div>
@@ -2,16 +2,16 @@
2
2
  <div class="flex space-x-2">
3
3
  <template v-if="type === 'SINGLE_FILE'">
4
4
  <FilePreview
5
- :image="value"
6
- class="w-24"
5
+ :image="value"
6
+ class="w-24"
7
7
  />
8
8
  </template>
9
9
  <template v-else-if="type === 'MULTI_FILE'">
10
10
  <FilePreview
11
- v-for="file in value"
12
- :key="'file-' + file.id"
13
- :image="file"
14
- class="w-24 mb-2"
11
+ v-for="file in value"
12
+ :key="'file-' + file.id"
13
+ :image="file"
14
+ class="w-24 mb-2"
15
15
  />
16
16
  </template>
17
17
  <template v-else-if="type === 'WYSIWYG'">
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div
3
- :class="{
3
+ :class="{
4
4
  'cursor-ew-resize': direction === 'horizontal',
5
5
  'cursor-ns-resize': direction === 'vertical',
6
6
  }"
7
- class="flex justify-center items-center w-full h-full"
8
- draggable="true"
9
- @dragstart="dragAndDrop.dragStart"
10
- @dragend="dragAndDrop.dragEnd"
7
+ class="flex justify-center items-center w-full h-full"
8
+ draggable="true"
9
+ @dragstart="dragAndDrop.dragStart"
10
+ @dragend="dragAndDrop.dragEnd"
11
11
  >
12
12
  <slot />
13
13
  </div>
@@ -34,20 +34,20 @@ const props = defineProps({
34
34
  });
35
35
 
36
36
  const dragAndDrop = new DragAndDrop()
37
- .setDropZone(props.dropZone)
38
- .setOptions({
39
- showPlaceholder: true,
40
- direction: props.direction,
41
- hideDragImage: true
42
- })
43
- .onDragging(useDebounceFn(() => {
44
- emit("resize", {
45
- distance: dragAndDrop.getDistance(),
46
- percent: dragAndDrop.getPercentChange(),
47
- startDropZoneSize: dragAndDrop.startSize,
48
- dropZoneSize: dragAndDrop.getDropZoneSize()
49
- });
50
- }, 20, { maxWait: 30 }))
51
- .onStart(() => emit("start"))
52
- .onEnd(() => emit("end"));
37
+ .setDropZone(props.dropZone)
38
+ .setOptions({
39
+ showPlaceholder: true,
40
+ direction: props.direction,
41
+ hideDragImage: true
42
+ })
43
+ .onDragging(useDebounceFn(() => {
44
+ emit("resize", {
45
+ distance: dragAndDrop.getDistance(),
46
+ percent: dragAndDrop.getPercentChange(),
47
+ startDropZoneSize: dragAndDrop.startSize,
48
+ dropZoneSize: dragAndDrop.getDropZoneSize()
49
+ });
50
+ }, 20, { maxWait: 30 }))
51
+ .onStart(() => emit("start"))
52
+ .onEnd(() => emit("end"));
53
53
  </script>
@@ -1,13 +1,17 @@
1
1
  <template>
2
2
  <div
3
- class="cursor-move"
4
- draggable="true"
5
- @dragstart="dragAndDrop.dragStart"
6
- @dragend="dragAndDrop.dragEnd"
3
+ class="cursor-move"
4
+ draggable="true"
5
+ @dragstart="dragAndDrop.dragStart"
6
+ @dragend="dragAndDrop.dragEnd"
7
7
  >
8
8
  <div class="flex items-center">
9
9
  <div v-if="showHandle">
10
- <SvgImg :svg="DragHandleIcon" class="w-4 h-4" alt="drag-handle" />
10
+ <SvgImg
11
+ :svg="DragHandleIcon"
12
+ class="w-4 h-4"
13
+ alt="drag-handle"
14
+ />
11
15
  </div>
12
16
  <div class="flex-grow">
13
17
  <slot />
@@ -39,15 +43,15 @@ const props = defineProps({
39
43
  });
40
44
 
41
45
  const dragAndDrop = new ListDragAndDrop()
42
- .setDropZone(props.dropZone)
43
- .setOptions({ showPlaceholder: true, direction: props.direction })
44
- .onPositionChange((newPosition, oldPosition) => {
45
- emit("position", newPosition);
46
+ .setDropZone(props.dropZone)
47
+ .setOptions({ showPlaceholder: true, direction: props.direction })
48
+ .onPositionChange((newPosition, oldPosition) => {
49
+ emit("position", newPosition);
46
50
 
47
- if (props.listItems) {
48
- const items = [...props.listItems];
49
- items.splice(newPosition, 0, items.splice(oldPosition, 1)[0]);
50
- emit("update:list-items", items);
51
- }
52
- });
51
+ if (props.listItems) {
52
+ const items = [...props.listItems];
53
+ items.splice(newPosition, 0, items.splice(oldPosition, 1)[0]);
54
+ emit("update:list-items", items);
55
+ }
56
+ });
53
57
  </script>
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <ContentDrawer
3
- position="right"
4
- :show="true"
5
- overlay
6
- content-class="h-full"
7
- title=""
8
- @update:show="$emit('close')"
3
+ position="right"
4
+ :show="true"
5
+ overlay
6
+ content-class="h-full"
7
+ title=""
8
+ @update:show="$emit('close')"
9
9
  >
10
10
  <div class="flex flex-col flex-nowrap h-full">
11
11
  <div class="flex items-center px-6 py-4 border-b">
@@ -23,13 +23,20 @@
23
23
  <div class="flex items-stretch flex-nowrap h-full">
24
24
  <div class="border-r w-[13.5rem] overflow-y-auto">
25
25
  <PanelsDrawerTabs
26
- v-model="activePanel"
27
- :panels="panels"
28
- @update:model-value="$emit('update:model-value', $event)"
26
+ v-model="activePanel"
27
+ :panels="panels"
28
+ @update:model-value="$emit('update:model-value', $event)"
29
29
  />
30
30
  </div>
31
- <PanelsDrawerPanels :panels="panels" :active-panel="activePanel" :class="panelsClass" />
32
- <div v-if="$slots['right-sidebar']" class="border-l overflow-y-auto">
31
+ <PanelsDrawerPanels
32
+ :panels="panels"
33
+ :active-panel="activePanel"
34
+ :class="panelsClass"
35
+ />
36
+ <div
37
+ v-if="$slots['right-sidebar']"
38
+ class="border-l overflow-y-auto"
39
+ >
33
40
  <slot name="right-sidebar" />
34
41
  </div>
35
42
  </div>
@@ -1,12 +1,16 @@
1
1
  <template>
2
2
  <QTabPanels
3
- :model-value="activePanel"
4
- class="overflow-y-auto bg-gray-100 h-full transition-all"
3
+ :model-value="activePanel"
4
+ class="overflow-y-auto bg-gray-100 h-full transition-all"
5
5
  >
6
- <QTabPanel v-for="panel in panels" :key="panel.name" :name="panel.name">
6
+ <QTabPanel
7
+ v-for="panel in panels"
8
+ :key="panel.name"
9
+ :name="panel.name"
10
+ >
7
11
  <RenderVnode
8
- v-if="panel.vnode"
9
- :vnode="panel.vnode"
12
+ v-if="panel.vnode"
13
+ :vnode="panel.vnode"
10
14
  />
11
15
  </QTabPanel>
12
16
  </QTabPanels>
@@ -1,23 +1,28 @@
1
1
  <template>
2
2
  <QTabs
3
- :model-value="modelValue"
4
- vertical
5
- align="left"
6
- :class="cls['panel-tabs']"
7
- no-caps
8
- @update:model-value="$emit('update:model-value', $event)"
3
+ :model-value="modelValue"
4
+ vertical
5
+ align="left"
6
+ :class="cls['panel-tabs']"
7
+ no-caps
8
+ @update:model-value="$emit('update:model-value', $event)"
9
9
  >
10
10
  <template v-for="panel in panels">
11
11
  <template v-if="panel.enabled === undefined || !!panel.enabled">
12
12
  <RenderVnode
13
- v-if="panel.tabVnode"
14
- :key="panel.name"
15
- :vnode="panel.tabVnode(modelValue)"
16
- :is-active="modelValue === panel.name"
17
- :name="panel.name"
18
- :label="panel.label"
13
+ v-if="panel.tabVnode"
14
+ :key="panel.name"
15
+ :vnode="panel.tabVnode(modelValue)"
16
+ :is-active="modelValue === panel.name"
17
+ :name="panel.name"
18
+ :label="panel.label"
19
+ />
20
+ <QTab
21
+ v-else
22
+ :key="panel.name"
23
+ :name="panel.name"
24
+ :label="panel.label"
19
25
  />
20
- <QTab v-else :key="panel.name" :name="panel.name" :label="panel.label" />
21
26
  </template>
22
27
  </template>
23
28
  </QTabs>
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <QBtn class="bg-slate-200" :loading="isExporting" @click="onExport">
2
+ <QBtn
3
+ class="bg-slate-200"
4
+ :loading="isExporting"
5
+ @click="onExport"
6
+ >
3
7
  <ExportIcon class="w-5" />
4
8
  </QBtn>
5
9
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <QBtn
3
- class="bg-slate-200"
4
- :loading="loading"
3
+ class="bg-slate-200"
4
+ :loading="loading"
5
5
  >
6
6
  <RefreshIcon class="w-5" />
7
7
  </QBtn>
@@ -1,18 +1,18 @@
1
1
  <template>
2
2
  <div class="previous-next-controls">
3
3
  <QBtn
4
- class="bg-slate-200 border-gray-300 border border-solid !rounded-r-none !p-2 !min-w-0"
5
- :disable="isLoading"
6
- :loading="isLoading"
7
- @click="$emit('next', -1)"
4
+ class="bg-slate-200 border-gray-300 border border-solid !rounded-r-none !p-2 !min-w-0"
5
+ :disable="isLoading"
6
+ :loading="isLoading"
7
+ @click="$emit('next', -1)"
8
8
  >
9
9
  <SkipPreviousIcon class="w-6" />
10
10
  </QBtn>
11
11
  <QBtn
12
- class="bg-slate-200 border-gray-300 border border-solid border-l-0 !rounded-l-none !p-2 !min-w-0"
13
- :disable="isLoading"
14
- :loading="isLoading"
15
- @click="$emit('next', 1)"
12
+ class="bg-slate-200 border-gray-300 border border-solid border-l-0 !rounded-l-none !p-2 !min-w-0"
13
+ :disable="isLoading"
14
+ :loading="isLoading"
15
+ @click="$emit('next', 1)"
16
16
  >
17
17
  <SkipNextIcon class="w-6" />
18
18
  </QBtn>
@@ -1,45 +1,48 @@
1
1
  <template>
2
2
  <QDialog
3
- :full-height="fullHeight"
4
- :full-width="fullWidth"
5
- :model-value="!!modelValue"
6
- :no-backdrop-dismiss="!backdropDismiss"
7
- :maximized="maximized"
8
- @update:model-value="onClose"
3
+ :full-height="fullHeight"
4
+ :full-width="fullWidth"
5
+ :model-value="!!modelValue"
6
+ :no-backdrop-dismiss="!backdropDismiss"
7
+ :maximized="maximized"
8
+ @update:model-value="onClose"
9
9
  >
10
10
  <QCard class="flex flex-col flex-nowrap">
11
11
  <QCardSection
12
- v-if="title || $slots.title"
13
- class="pl-6 pr-10 border-b border-gray-300"
12
+ v-if="title || $slots.title"
13
+ class="pl-6 pr-10 border-b border-gray-300"
14
14
  >
15
15
  <h3
16
- class="font-normal flex items-center"
17
- :class="titleClass"
16
+ class="font-normal flex items-center"
17
+ :class="titleClass"
18
18
  >
19
- <slot name="title">{{ title }}</slot>
19
+ <slot name="title">
20
+ {{ title }}
21
+ </slot>
20
22
  </h3>
21
23
  <div
22
- v-if="subtitle"
23
- class="mt-1 text-sm"
24
- >{{ subtitle }}
24
+ v-if="subtitle"
25
+ class="mt-1 text-sm"
26
+ >
27
+ {{ subtitle }}
25
28
  </div>
26
29
  </QCardSection>
27
30
  <QCardSection v-if="$slots.toolbar">
28
31
  <slot name="toolbar" />
29
32
  </QCardSection>
30
33
  <QCardSection
31
- v-if="content || $slots.default"
32
- class="px-6 bg-gray-100 flex-grow max-h-full overflow-y-auto"
33
- :class="contentClass"
34
+ v-if="content || $slots.default"
35
+ class="px-6 bg-gray-100 flex-grow max-h-full overflow-y-auto"
36
+ :class="contentClass"
34
37
  >
35
38
  <slot>{{ content }}</slot>
36
39
  </QCardSection>
37
40
  <div class="flex px-6 py-4 border-t border-gray-300">
38
41
  <div class="flex-grow">
39
42
  <QBtn
40
- :label="cancelText"
41
- class="action-btn btn-white-gray"
42
- @click="onClose"
43
+ :label="cancelText"
44
+ class="action-btn btn-white-gray"
45
+ @click="onClose"
43
46
  >
44
47
  <slot name="cancel-text" />
45
48
  </QBtn>
@@ -47,21 +50,21 @@
47
50
  <slot name="actions" />
48
51
  <div v-if="!hideConfirm">
49
52
  <QBtn
50
- :label="$slots['confirm-text'] ? '' : confirmText"
51
- class="action-btn ml-4"
52
- :class="confirmClass"
53
- :loading="isSaving"
54
- :disable="disabled"
55
- data-testid="confirm-button"
56
- @click="onConfirm"
53
+ :label="$slots['confirm-text'] ? '' : confirmText"
54
+ class="action-btn ml-4"
55
+ :class="confirmClass"
56
+ :loading="isSaving"
57
+ :disable="disabled"
58
+ data-testid="confirm-button"
59
+ @click="onConfirm"
57
60
  >
58
61
  <slot name="confirm-text" />
59
62
  </QBtn>
60
63
  </div>
61
64
  </div>
62
65
  <a
63
- class="absolute top-0 right-0 p-4 text-black"
64
- @click="onClose"
66
+ class="absolute top-0 right-0 p-4 text-black"
67
+ @click="onClose"
65
68
  >
66
69
  <CloseIcon class="w-5" />
67
70
  </a>
@@ -1,16 +1,19 @@
1
1
  <template>
2
2
  <QDialog
3
- :model-value="modelValue"
4
- maximized
5
- transition-show="slide-up"
6
- transition-hide="slide-down"
7
- @update:model-value="onClose"
3
+ :model-value="modelValue"
4
+ maximized
5
+ transition-show="slide-up"
6
+ transition-hide="slide-down"
7
+ @update:model-value="onClose"
8
8
  >
9
- <div class="flex justify-center min-w-xs" :class="computedClass">
9
+ <div
10
+ class="flex justify-center min-w-xs"
11
+ :class="computedClass"
12
+ >
10
13
  <div
11
- v-if="closeable"
12
- v-close-popup
13
- class="p-4 m-4 absolute-top-right top right cursor-pointer"
14
+ v-if="closeable"
15
+ v-close-popup
16
+ class="p-4 m-4 absolute-top-right top right cursor-pointer"
14
17
  >
15
18
  <XIcon class="w-5 h-5" />
16
19
  </div>