quasar-ui-danx 0.0.11 → 0.0.12

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.
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
@@ -1,59 +1,59 @@
1
1
  <template>
2
2
  <div
3
- class="max-w-full relative overflow-auto"
4
- :class="{'p-4 border rounded border-gray-medium text-center': !readonly}"
5
- @dragover.prevent
6
- @drop.prevent="onDrop"
3
+ class="max-w-full relative overflow-auto"
4
+ :class="{'p-4 border rounded border-gray-medium text-center': !readonly}"
5
+ @dragover.prevent
6
+ @drop.prevent="onDrop"
7
7
  >
8
8
  <FieldLabel
9
- :field="field"
10
- :show-name="showName"
11
- class="text-sm font-semibold"
9
+ :field="field"
10
+ :show-name="showName"
11
+ class="text-sm font-semibold"
12
12
  />
13
13
  <div
14
- v-if="!disable && !readonly"
15
- class="text-sm mt-2"
14
+ v-if="!disable && !readonly"
15
+ class="text-sm mt-2"
16
16
  >
17
17
  <a
18
- class="text-blue-base"
19
- @click="$refs.file.click()"
18
+ class="text-blue-base"
19
+ @click="$refs.file.click()"
20
20
  >Upload</a>
21
21
  <a
22
- v-if="uploadedFile"
23
- class="ml-3 text-red-dark"
24
- @click="onClear"
22
+ v-if="uploadedFile"
23
+ class="ml-3 text-red-dark"
24
+ @click="onClear"
25
25
  >Clear</a>
26
26
  <input
27
- ref="file"
28
- class="hidden"
29
- type="file"
30
- @change="onFileSelected"
27
+ ref="file"
28
+ class="hidden"
29
+ type="file"
30
+ @change="onFileSelected"
31
31
  />
32
32
  </div>
33
33
 
34
34
  <ImagePreview
35
- v-if="!readonly || uploadedFile"
36
- class="w-32 cursor-pointer mt-2"
37
- :class="{'border border-dashed border-blue-base': !uploadedFile, 'mx-auto': !readonly}"
38
- :image="uploadedFile"
39
- downloadable
40
- @click="!disable && $refs.file.click()"
35
+ v-if="!readonly || uploadedFile"
36
+ class="w-32 cursor-pointer mt-2"
37
+ :class="{'border border-dashed border-blue-base': !uploadedFile, 'mx-auto': !readonly}"
38
+ :image="uploadedFile"
39
+ downloadable
40
+ @click="!disable && $refs.file.click()"
41
41
  />
42
42
  <div
43
- v-else-if="readonly"
44
- class="py-1"
43
+ v-else-if="readonly"
44
+ class="py-1"
45
45
  >--
46
46
  </div>
47
47
  </div>
48
48
  </template>
49
49
 
50
50
  <script setup>
51
- import ImagePreview from "components/Common/ImagePreview";
52
- import FieldLabel from "danx/src/components/ActionTable/Form/Fields/FieldLabel";
53
- import { useSingleFileUpload } from "src/helpers/singleFileUpload";
54
- import { onMounted } from "vue";
51
+ import { ImagePreview } from '@ui/components';
52
+ import { useSingleFileUpload } from '@ui/helpers/singleFileUpload';
53
+ import { onMounted } from 'vue';
54
+ import FieldLabel from './FieldLabel';
55
55
 
56
- const emit = defineEmits(["update:model-value"]);
56
+ const emit = defineEmits(['update:model-value']);
57
57
  const props = defineProps({
58
58
  modelValue: {
59
59
  type: [Object, String],
@@ -68,7 +68,7 @@ const props = defineProps({
68
68
  readonly: Boolean
69
69
  });
70
70
  const { onComplete, onDrop, onFileSelected, uploadedFile, onClear } = useSingleFileUpload();
71
- onComplete(() => emit("update:model-value", uploadedFile.value));
71
+ onComplete(() => emit('update:model-value', uploadedFile.value));
72
72
 
73
73
  onMounted(() => {
74
74
  if (props.modelValue) {
@@ -1,50 +1,50 @@
1
1
  <template>
2
2
  <div>
3
- <QInput
4
- v-if="!readonly"
5
- :data-dusk="'text-field-' + field?.id"
6
- :data-testid="'text-field-' + field?.id"
7
- :placeholder="field?.placeholder"
8
- outlined
9
- dense
10
- :disable="disabled"
11
- :label-slot="!noLabel"
12
- :input-class="inputClass"
13
- :class="parentClass"
14
- stack-label
15
- :type="type"
16
- :model-value="modelValue"
17
- :debounce="debounce"
18
- @keydown.enter="$emit('submit')"
19
- @update:model-value="$emit('update:model-value', $event)"
3
+ <q-input
4
+ v-if="!readonly"
5
+ :data-dusk="'text-field-' + field?.id"
6
+ :data-testid="'text-field-' + field?.id"
7
+ :placeholder="field?.placeholder"
8
+ outlined
9
+ dense
10
+ :disable="disabled"
11
+ :label-slot="!noLabel"
12
+ :input-class="inputClass"
13
+ :class="parentClass"
14
+ stack-label
15
+ :type="type"
16
+ :model-value="modelValue"
17
+ :debounce="debounce"
18
+ @keydown.enter="$emit('submit')"
19
+ @update:model-value="$emit('update:model-value', $event)"
20
20
  >
21
21
  <template #label>
22
22
  <FieldLabel
23
- :field="field"
24
- :label="label"
25
- :show-name="showName"
26
- :class="labelClass"
23
+ :field="field"
24
+ :label="label"
25
+ :show-name="showName"
26
+ :class="labelClass"
27
27
  />
28
28
  </template>
29
- </QInput>
30
- <div v-if="readonly">
31
- <LabelValueBlock
32
- :label="label || field.label"
33
- :value="modelValue"
34
- />
35
- </div>
29
+ </q-input>
30
+ <div v-if="readonly">
31
+ <LabelValueBlock
32
+ :label="label || field.label"
33
+ :value="modelValue"
34
+ />
35
+ </div>
36
36
  </div>
37
37
  </template>
38
38
 
39
39
  <script setup>
40
- import LabelValueBlock from "components/Common/LabelValueBlock";
41
- import FieldLabel from "danx/src/components/ActionTable/Form/Fields/FieldLabel";
40
+ import FieldLabel from './FieldLabel';
41
+ import LabelValueBlock from './LabelValueBlock';
42
42
 
43
- defineEmits(["update:model-value", "submit"]);
43
+ defineEmits(['update:model-value', 'submit']);
44
44
  defineProps({
45
45
  modelValue: {
46
46
  type: [String, Number],
47
- default: ""
47
+ default: ''
48
48
  },
49
49
  field: {
50
50
  type: Object,
@@ -52,7 +52,7 @@ defineProps({
52
52
  },
53
53
  type: {
54
54
  type: String,
55
- default: "text"
55
+ default: 'text'
56
56
  },
57
57
  label: {
58
58
  type: String,
@@ -60,15 +60,15 @@ defineProps({
60
60
  },
61
61
  labelClass: {
62
62
  type: String,
63
- default: "text-sm text-gray-shadow"
63
+ default: 'text-sm text-gray-shadow'
64
64
  },
65
65
  parentClass: {
66
66
  type: String,
67
- default: ""
67
+ default: ''
68
68
  },
69
69
  inputClass: {
70
70
  type: String,
71
- default: ""
71
+ default: ''
72
72
  },
73
73
  noLabel: Boolean,
74
74
  showName: Boolean,
@@ -1,34 +1,34 @@
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-shadow block mb-2"
4
+ v-if="!noLabel"
5
+ :field="field"
6
+ :show-name="showName"
7
+ class="text-sm font-semibold text-gray-shadow 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="apiKey"
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
- import { default as TinyMceEditor } from "@tinymce/tinymce-vue";
28
- import { apiKey } from "components/Cms/SlideshowEditor/ContentEditor/tinymce-config";
29
- import FieldLabel from "danx/src/components/ActionTable/Form/Fields/FieldLabel";
27
+ import { apiKey } from '@ui/vendor/tinymce-config';
28
+ import { default as TinyMceEditor } from '@tinymce/tinymce-vue';
29
+ import FieldLabel from './FieldLabel';
30
30
 
31
- defineEmits(["update:model-value"]);
31
+ defineEmits(['update:model-value']);
32
32
  defineProps({
33
33
  modelValue: {
34
34
  type: [String, Number],
@@ -1,23 +1,23 @@
1
- export { default as BooleanField } from "./BooleanField";
2
- export { default as ConfirmPasswordField } from "./ConfirmPasswordField";
3
- export { default as DateField } from "./DateField";
4
- export { default as DateRangeField } from "./DateRangeField";
5
- export { default as DateTimeField } from "./DateTimeField";
6
- export { default as DateTimePicker } from "./DateTimePicker";
7
- export { default as EditableDiv } from "./EditableDiv";
8
- export { default as FieldLabel } from "./FieldLabel";
9
- export { default as FileUploadButton } from "./FileUploadButton";
10
- export { default as InlineDateTimeField } from "./InlineDateTimeField";
11
- export { default as IntegerField } from "./IntegerField";
12
- export { default as LabeledInput } from "./LabeledInput";
13
- export { default as MultiFileField } from "./MultiFileField";
14
- export { default as MultiKeywordField } from "./MultiKeywordField";
15
- export { default as NewPasswordField } from "./NewPasswordField";
16
- export { default as NumberField } from "./NumberField";
17
- export { default as NumberRangeField } from "./NumberRangeField";
18
- export { default as SelectDrawer } from "./SelectDrawer";
19
- export { default as SelectField } from "./SelectField";
20
- export { default as SelectWithChildrenField } from "./SelectWithChildrenField";
21
- export { default as SingleFileField } from "./SingleFileField";
22
- export { default as TextField } from "./TextField";
23
- export { default as WysiwygField } from "./WysiwygField";
1
+ export { default as BooleanField } from "./BooleanField.vue";
2
+ export { default as ConfirmPasswordField } from "./ConfirmPasswordField.vue";
3
+ export { default as DateField } from "./DateField.vue";
4
+ export { default as DateRangeField } from "./DateRangeField.vue";
5
+ export { default as DateTimeField } from "./DateTimeField.vue";
6
+ export { default as DateTimePicker } from "./DateTimePicker.vue";
7
+ export { default as EditableDiv } from "./EditableDiv.vue";
8
+ export { default as FieldLabel } from "./FieldLabel.vue";
9
+ export { default as FileUploadButton } from "./FileUploadButton.vue";
10
+ export { default as InlineDateTimeField } from "./InlineDateTimeField.vue";
11
+ export { default as IntegerField } from "./IntegerField.vue";
12
+ export { default as LabeledInput } from "./LabeledInput.vue";
13
+ export { default as MultiFileField } from "./MultiFileField.vue";
14
+ export { default as MultiKeywordField } from "./MultiKeywordField.vue";
15
+ export { default as NewPasswordField } from "./NewPasswordField.vue";
16
+ export { default as NumberField } from "./NumberField.vue";
17
+ export { default as NumberRangeField } from "./NumberRangeField.vue";
18
+ export { default as SelectDrawer } from "./SelectDrawer.vue";
19
+ export { default as SelectField } from "./SelectField.vue";
20
+ export { default as SelectWithChildrenField } from "./SelectWithChildrenField.vue";
21
+ export { default as SingleFileField } from "./SingleFileField.vue";
22
+ export { default as TextField } from "./TextField.vue";
23
+ export { default as WysiwygField } from "./WysiwygField.vue";
@@ -1,37 +1,39 @@
1
1
  <template>
2
2
  <div class="rendered-form">
3
3
  <div
4
- v-for="(field, index) in mappedFields"
5
- :key="field.id"
6
- :class="{ 'mt-4': index > 0 }"
4
+ v-for="(field, index) in mappedFields"
5
+ :key="field.id"
6
+ :class="{ 'mt-4': index > 0 }"
7
7
  >
8
8
  <Component
9
- :is="field.component"
10
- v-model="fieldValues[field.name]"
11
- :field="field"
12
- :label="field.label || undefined"
13
- :no-label="noLabel"
14
- :show-name="showName"
15
- :disable="disable"
16
- :readonly="readonly"
17
- @update:model-value="onInput(field.name, $event)"
9
+ :is="field.component"
10
+ v-model="fieldValues[field.name]"
11
+ :field="field"
12
+ :label="field.label || undefined"
13
+ :no-label="noLabel"
14
+ :show-name="showName"
15
+ :disable="disable"
16
+ :readonly="readonly"
17
+ @update:model-value="onInput(field.name, $event)"
18
18
  />
19
19
  </div>
20
20
  </div>
21
21
  </template>
22
22
  <script setup>
23
- import BooleanField from "danx/src/components/ActionTable/Form/Fields/BooleanField";
24
- import DateField from "danx/src/components/ActionTable/Form/Fields/DateField";
25
- import DateRangeField from "danx/src/components/ActionTable/Form/Fields/DateRangeField";
26
- import IntegerField from "danx/src/components/ActionTable/Form/Fields/IntegerField";
27
- import MultiFileField from "danx/src/components/ActionTable/Form/Fields/MultiFileField";
28
- import NumberField from "danx/src/components/ActionTable/Form/Fields/NumberField";
29
- import SingleFileField from "danx/src/components/ActionTable/Form/Fields/SingleFileField";
30
- import TextField from "danx/src/components/ActionTable/Form/Fields/TextField";
31
- import WysiwygField from "danx/src/components/ActionTable/Form/Fields/WysiwygField";
32
- import { reactive } from "vue";
23
+ import { reactive } from 'vue';
24
+ import {
25
+ BooleanField,
26
+ DateField,
27
+ DateRangeField,
28
+ IntegerField,
29
+ MultiFileField,
30
+ NumberField,
31
+ SingleFileField,
32
+ TextField,
33
+ WysiwygField
34
+ } from './Fields';
33
35
 
34
- const emit = defineEmits(["update:values"]);
36
+ const emit = defineEmits(['update:values']);
35
37
  const props = defineProps({
36
38
  values: {
37
39
  type: Object,
@@ -63,12 +65,12 @@ const mappedFields = props.fields.map((field) => ({
63
65
  placeholder: `Enter ${field.label}`,
64
66
  ...field,
65
67
  component: FORM_FIELD_MAP[field.type],
66
- default: field.type === "BOOLEAN" ? false : ""
68
+ default: field.type === 'BOOLEAN' ? false : ''
67
69
  }));
68
70
 
69
71
  const fieldValues = reactive(props.values || {});
70
72
 
71
73
  function onInput(key, value) {
72
- emit("update:values", { ...fieldValues, [key]: value });
74
+ emit('update:values', { ...fieldValues, [key]: value });
73
75
  }
74
76
  </script>
@@ -0,0 +1,2 @@
1
+ export * from "./Fields";
2
+ export { default as RenderedForm } from "./RenderedForm.vue";
@@ -1,60 +1,60 @@
1
1
  <template>
2
- <QTr
3
- class="sticky-column-1 transition-all sticky-row"
4
- :class="{'!bg-neutral-plus-7': !selectedCount, '!bg-blue-base text-white selected': selectedCount, 'opacity-50': loading}"
2
+ <q-tr
3
+ class="sticky-column-1 transition-all sticky-row"
4
+ :class="{'!bg-neutral-plus-7': !selectedCount, '!bg-blue-base text-white selected': selectedCount, 'opacity-50': loading}"
5
5
  >
6
- <QTd
7
- :colspan="stickyColspan"
8
- class="font-bold transition-all"
9
- :class="{'!bg-neutral-plus-7 !pl-5': !selectedCount, '!bg-blue-base text-white !pl-4': selectedCount}"
6
+ <q-td
7
+ :colspan="stickyColspan"
8
+ class="font-bold transition-all"
9
+ :class="{'!bg-neutral-plus-7 !pl-5': !selectedCount, '!bg-blue-base 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>
22
22
  <div v-else-if="itemCount">
23
23
  {{ fNumber(itemCount) }} {{ label }}
24
24
  </div>
25
- <QSpinner
26
- v-if="loading"
27
- class="ml-3"
28
- size="18"
25
+ <q-spinner
26
+ v-if="loading"
27
+ class="ml-3"
28
+ size="18"
29
29
  />
30
30
  </div>
31
- </QTd>
32
- <QTd
33
- v-for="column in summaryColumns"
34
- :key="column.name"
35
- :align="column.align || 'left'"
36
- >
37
- <template v-if="summary">
38
- {{ formatValue(column) }}
39
- </template>
40
- </QTd>
41
- </QTr>
31
+ </q-td>
32
+ <q-td
33
+ v-for="column in summaryColumns"
34
+ :key="column.name"
35
+ :align="column.align || 'left'"
36
+ >
37
+ <template v-if="summary">
38
+ {{ formatValue(column) }}
39
+ </template>
40
+ </q-td>
41
+ </q-tr>
42
42
  </template>
43
43
  <script setup>
44
- import { XCircleIcon as ClearIcon } from "@heroicons/vue/solid";
45
- import { fNumber } from "danx/src/helpers/formats";
46
- import { computed } from "vue";
44
+ import { fNumber } from '@ui/helpers/formats';
45
+ import { XCircleIcon as ClearIcon } from '@heroicons/vue/solid';
46
+ import { computed } from 'vue';
47
47
 
48
- defineEmits(["clear"]);
48
+ defineEmits(['clear']);
49
49
  const props = defineProps({
50
50
  loading: Boolean,
51
51
  label: {
52
52
  type: String,
53
- default: "Rows"
53
+ default: 'Rows'
54
54
  },
55
55
  selectedLabel: {
56
56
  type: String,
57
- default: "Selected"
57
+ default: 'Selected'
58
58
  },
59
59
  selectedCount: {
60
60
  type: Number,
@@ -85,7 +85,7 @@ const summaryColumns = computed(() => {
85
85
 
86
86
  function formatValue(column) {
87
87
  const value = props.summary[column.name];
88
- if (value === undefined) return "";
88
+ if (value === undefined) return '';
89
89
 
90
90
  if (column.format) {
91
91
  return column.format(value);
@@ -1,15 +1,10 @@
1
- export * from "./Form/Fields";
2
- export * from "danx/src/components/ActionTable/tableHelpers";
1
+ export * from "./Filters";
2
+ export * from "./Form";
3
3
  export * from "./listActions";
4
+ export * from "./listHelpers";
4
5
  export * from "./tableColumns";
5
- export { default as ActionTable } from "./ActionTable";
6
- export { default as BatchActionMenu } from "./BatchActionMenu";
7
- export {
8
- default as CollapsableFiltersSidebar
9
- } from "danx/src/components/ActionTable/Filters/CollapsableFiltersSidebar";
10
- export { default as EmptyTableState } from "./EmptyTableState";
11
- export { default as FilterGroupList } from "./Filters/FilterGroupList";
12
- export { default as FilterListToggle } from "./Filters/FilterListToggle";
13
- export { default as RenderComponentColumn } from "./RenderComponentColumn";
14
- export { default as RenderedForm } from "./Form/RenderedForm";
15
- export { default as TableSummaryRow } from "./TableSummaryRow";
6
+ export { default as ActionTable } from "./ActionTable.vue";
7
+ export { default as BatchActionMenu } from "./BatchActionMenu.vue";
8
+ export { default as EmptyTableState } from "./EmptyTableState.vue";
9
+ export { default as RenderComponentColumn } from "./RenderComponentColumn.vue";
10
+ export { default as TableSummaryRow } from "./TableSummaryRow.vue";