quasar-ui-danx 0.0.21 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
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";