quasar-ui-danx 0.0.21 → 0.0.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar-ui-danx",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "author": "Dan <dan@flytedesk.com>",
5
5
  "description": "DanX Vue / Quasar component library",
6
6
  "license": "MIT",
@@ -16,8 +16,8 @@
16
16
  </div>
17
17
  </template>
18
18
  <script setup>
19
+ import SvgImg from 'src/components/Utility/Files/SvgImg';
19
20
  import { DragHandleDotsIcon as DragHandleIcon } from '../../svg';
20
- import SvgImg from '../Utility/SvgImg';
21
21
  import { ListDragAndDrop } from './listDragAndDrop';
22
22
 
23
23
  const emit = defineEmits(['position', 'update:list-items']);
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <QBtn class="bg-neutral-plus-6" :loading="isExporting" @click="onExport">
3
+ <ExportIcon class="w-5" />
4
+ </QBtn>
5
+ </template>
6
+ <script setup>
7
+ import { DownloadIcon as ExportIcon } from '@heroicons/vue/solid';
8
+ import { ref } from 'vue';
9
+ import { FlashMessages } from '../../../helpers';
10
+
11
+ const props = defineProps({
12
+ exporter: {
13
+ type: Function,
14
+ required: true
15
+ }
16
+ });
17
+ const isExporting = ref(false);
18
+ async function onExport() {
19
+ isExporting.value = true;
20
+ try {
21
+ await props.exporter();
22
+ } catch (error) {
23
+ console.error(error);
24
+ FlashMessages.error('Failed to export data');
25
+ }
26
+ isExporting.value = false;
27
+ }
28
+ </script>
@@ -0,0 +1,2 @@
1
+ export { default as ExportButton } from "./ExportButton.vue";
2
+ export { default as RefreshButton } from "./RefreshButton.vue";
@@ -0,0 +1,5 @@
1
+ export { default as ConfirmDialog } from "./ConfirmDialog.vue";
2
+ export { default as FullScreenCarouselDialog } from "./FullscreenCarouselDialog.vue";
3
+ export { default as FullScreenDialog } from "./FullScreenDialog.vue";
4
+ export { default as InfoDialog } from "./InfoDialog.vue";
5
+ export { default as InputDialog } from "./InputDialog.vue";
@@ -99,10 +99,10 @@
99
99
 
100
100
  <script setup>
101
101
  import { DocumentTextIcon as TextFileIcon, DownloadIcon, PlayIcon } from '@heroicons/vue/outline';
102
+ import { FullScreenCarouselDialog } from 'src/components/Utility/index';
103
+ import { download } from 'src/helpers';
104
+ import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from 'src/svg';
102
105
  import { computed, ref } from 'vue';
103
- import { FullScreenCarouselDialog } from '.';
104
- import { download } from '../../helpers';
105
- import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from '../../svg';
106
106
 
107
107
  const emit = defineEmits(['remove']);
108
108
  const props = defineProps({
@@ -0,0 +1,2 @@
1
+ export { default as FilePreview } from "./FilePreview.vue";
2
+ export { default as SvgImg } from "./SvgImg.vue";
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div class="address-format">
3
+ <div v-if="address.attn" class="address-attn">Attn: {{ address.attn }}</div>
4
+ <div v-else-if="address.name" class="address-name">{{ address.name }}</div>
5
+ <template v-if="address.line1">
6
+ <div class="address-line-1">
7
+ {{ address.line1 }}
8
+ </div>
9
+ <div v-if="address.line2" class="address-line-2">
10
+ {{ address.line2 }}
11
+ </div>
12
+ <div v-if="address.line3" class="address-line-3">
13
+ {{ address.line3 }}
14
+ </div>
15
+ <div class="address-city-state-zip">
16
+ <template v-if="address.city">{{ address.city }},</template>
17
+ {{ address.state }} {{ address.zip_code }}
18
+ </div>
19
+ </template>
20
+ </div>
21
+ </template>
22
+ <script setup>
23
+ defineProps({
24
+ address: {
25
+ type: Object,
26
+ required: true
27
+ }
28
+ });
29
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="flex flex-nowrap items-center">
3
+ <LocationIcon class="mr-1 ml-[-.2em]" :class="iconClass" />
4
+ <div v-if="location?.latitude" class="whitespace-nowrap">
5
+ {{ location.latitude.toFixed(decimals) }},
6
+ {{ location.longitude.toFixed(decimals) }}
7
+ </div>
8
+ <template v-else>Unknown</template>
9
+ </div>
10
+ </template>
11
+ <script setup>
12
+ import { LocationMarkerIcon as LocationIcon } from "@heroicons/vue/solid";
13
+
14
+ defineProps({
15
+ location: {
16
+ type: Object,
17
+ default: null,
18
+ },
19
+ decimals: {
20
+ type: Number,
21
+ default: 6,
22
+ },
23
+ iconClass: {
24
+ type: String,
25
+ default: "w-7",
26
+ },
27
+ });
28
+ </script>
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <div class="flex items-center">
3
+ <component :is="icon" :class="iconClass" />
4
+ <div :class="textClass">
5
+ <slot />
6
+ </div>
7
+ </div>
8
+ </template>
9
+ <script setup>
10
+ defineProps({
11
+ icon: {
12
+ type: [String, Object],
13
+ required: true
14
+ },
15
+ iconClass: {
16
+ type: String,
17
+ default: "w-6"
18
+ },
19
+ textClass: {
20
+ type: String,
21
+ default: "ml-2"
22
+ }
23
+ });
24
+ </script>
@@ -0,0 +1,4 @@
1
+ export { default as AddressFormat } from "./AddressFormat.vue";
2
+ export { default as FlatListFormat } from "./FlatListFormat.vue";
3
+ export { default as GpsCoordinatesFormat } from "./GpsCoordinatesFormat.vue";
4
+ export { default as IconWithTextFormat } from "./IconWithTextFormat.vue";
@@ -0,0 +1,2 @@
1
+ export { default as CollapsableSidebar } from "./CollapsableSidebar.vue";
2
+ export { default as ContentDrawer } from "./ContentDrawer.vue";
@@ -0,0 +1 @@
1
+ export { default as PopoverMenu } from "./PopoverMenu.vue";
@@ -0,0 +1,3 @@
1
+ export { default as ListTransition } from "./ListTransition.vue";
2
+ export { default as SlideTransition } from "./SlideTransition.vue";
3
+ export { default as StaggeredListTransition } from "./StaggeredListTransition.vue";
@@ -1,13 +1,7 @@
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 FlatList } from "./FlatList.vue";
5
- export { default as FullScreenCarouselDialog } from "./Dialogs/FullscreenCarouselDialog.vue";
6
- export { default as FullScreenDialog } from "./Dialogs/FullScreenDialog.vue";
7
- export { default as ImagePreview } from "./ImagePreview.vue";
8
- export { default as InfoDialog } from "./Dialogs/InfoDialog.vue";
9
- export { default as InputDialog } from "./Dialogs/InputDialog.vue";
10
- export { default as ListTransition } from "./Transitions/ListTransition.vue";
11
- export { default as RefreshButton } from "./RefreshButton.vue";
12
- export { default as SlideTransition } from "./Transitions/SlideTransition.vue";
13
- export { default as StaggeredListTransition } from "./Transitions/StaggeredListTransition.vue";
1
+ export * from "./Buttons";
2
+ export * from "./Dialogs";
3
+ export * from "./Files";
4
+ export * from "./Formats";
5
+ export * from "./Layouts";
6
+ export * from "./Popovers";
7
+ export * from "./Transitions";