@finema/core 1.4.132 → 1.4.133

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/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finema/core",
3
- "version": "1.4.132",
3
+ "version": "1.4.133",
4
4
  "configKey": "core",
5
5
  "compatibility": {
6
6
  "nuxt": "^3.7.4"
package/dist/module.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { defineNuxtModule, createResolver, installModule, addPlugin, addComponentsDir, addImportsDir } from '@nuxt/kit';
2
2
 
3
3
  const name = "@finema/core";
4
- const version = "1.4.132";
4
+ const version = "1.4.133";
5
5
 
6
6
  const colors = {
7
7
  black: "#20243E",
@@ -67,14 +67,10 @@
67
67
  </div>
68
68
 
69
69
  <!-- Success State -->
70
- <div v-if="selectedFile && upload.status.value.isSuccess" :class="[ui.onPreview.wrapper]">
70
+ <div v-if="value" :class="[ui.onPreview.wrapper]">
71
71
  <div :class="[ui.onPreview.previewImgWrapper]">
72
- <div v-if="isImage(selectedFile)" class="size-full overflow-hidden">
73
- <img
74
- :src="upload.data.value[responseURL || 'url']"
75
- :class="[ui.onPreview.previewImgClass]"
76
- alt="img-preview"
77
- />
72
+ <div v-if="isImageFromPath(value.path)" class="size-full overflow-hidden">
73
+ <img :src="value.url" :class="[ui.onPreview.previewImgClass]" alt="img-preview" />
78
74
  </div>
79
75
  <div v-else>
80
76
  <Icon
@@ -85,18 +81,18 @@
85
81
  </div>
86
82
  <div :class="[ui.onPreview.textWrapper]">
87
83
  <div class="truncate">
88
- <h1 class="truncate font-bold">{{ selectedFile?.name }}</h1>
84
+ <h1 class="truncate font-bold">{{ value.name }}</h1>
89
85
  <p class="truncate text-sm font-light text-gray-400">
90
86
  {{
91
- fileAllocate.isSelectedFileUseMb.value
87
+ fileAllocateFromPath.isSelectedFileUseMb.value
92
88
  ? `${fileAllocate.selectedFileSizeMb.value} MB`
93
- : `${fileAllocate.selectedFileSizeKb.value} KB`
89
+ : `${fileAllocateFromPath.selectedFileSizeKb.value} KB`
94
90
  }}
95
91
  </p>
96
92
  </div>
97
93
  <div :class="[ui.action.wrapper]">
98
94
  <Icon
99
- v-if="isImage(selectedFile)"
95
+ v-if="isImageFromPath(value.path)"
100
96
  :name="ui.action.previewIcon"
101
97
  :class="[ui.action.iconClass]"
102
98
  title="ดูตัวอย่าง"
@@ -114,8 +110,8 @@
114
110
  title="ลบไฟล์"
115
111
  @click="handleDeleteFile"
116
112
  />
117
- <Modal v-model="isPreviewOpen" :title="selectedFile?.name">
118
- <img :src="_get(upload.data.value, responseURL)" alt="img-preview" />
113
+ <Modal v-model="isPreviewOpen" :title="value.name">
114
+ <img :src="value.url" alt="img-preview" />
119
115
  </Modal>
120
116
  </div>
121
117
  </div>
@@ -173,6 +169,8 @@ import {
173
169
  downloadFileFromURL,
174
170
  useFileAllocate,
175
171
  useFileProgress,
172
+ isImageFromPath,
173
+ useFileAllocateFromPath,
176
174
  } from '#core/helpers/componentHelper'
177
175
  import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
178
176
  import { useFieldHOC } from '#core/composables/useForm'
@@ -223,6 +221,7 @@ const isPreviewOpen = ref<boolean>(false)
223
221
 
224
222
  const { onUploadProgress, onDownloadProgress, percent } = useFileProgress()
225
223
  const fileAllocate = useFileAllocate(selectedFile, props)
224
+ const fileAllocateFromPath = useFileAllocateFromPath(value, props)
226
225
 
227
226
  const onDrop = (files: File[] | null) => {
228
227
  if (props.isDisabled || files?.length === 0 || !files) return
@@ -306,7 +305,7 @@ const handleCheckFileCondition = (file: File | undefined): boolean => {
306
305
  }
307
306
 
308
307
  const handleDownloadFile = () => {
309
- downloadFileFromURL(_get(upload.data.value, props.responseURL), selectedFile.value?.name)
308
+ downloadFileFromURL(value.value?.url, value.value?.name)
310
309
  }
311
310
 
312
311
  const handleRetryUpload = () => {
@@ -1,4 +1,5 @@
1
1
  import type { Ref } from 'vue';
2
+ import type { IFileValue } from '#core/components/Form/types';
2
3
  export declare const checkMaxSize: (file: File, acceptFileSize?: number) => boolean;
3
4
  export declare const checkFileType: (file: File, acceptFileType: string | string[]) => boolean;
4
5
  export declare const generateURL: (file: File) => string;
@@ -16,6 +17,18 @@ export declare const useFileAllocate: (selectedFile: Ref<File | undefined | null
16
17
  isAcceptFileUseMb: any;
17
18
  acceptFile: any;
18
19
  };
20
+ export declare const useFileAllocateFromPath: (file: Ref<IFileValue | undefined | null>, props: {
21
+ accept?: string | string[];
22
+ maxSize?: number;
23
+ }) => {
24
+ selectedFileSizeKb: any;
25
+ selectedFileSizeMb: any;
26
+ isSelectedFileUseMb: any;
27
+ acceptFileSizeKb: any;
28
+ acceptFileSizeMb: any;
29
+ isAcceptFileUseMb: any;
30
+ acceptFile: any;
31
+ };
19
32
  export declare const useFileSize: (size?: number) => {
20
33
  isSelectedFileUseMb: any;
21
34
  selectedFileSizeKb: any;
@@ -65,6 +65,26 @@ export const useFileAllocate = (selectedFile, props) => {
65
65
  acceptFile
66
66
  };
67
67
  };
68
+ export const useFileAllocateFromPath = (file, props) => {
69
+ const selectedFileSizeKb = computed(() => ((file.value?.size || 0) / 1e3).toFixed(2));
70
+ const selectedFileSizeMb = computed(() => ((file.value?.size || 0) / 1e3 / 1e3).toFixed(2));
71
+ const isSelectedFileUseMb = computed(() => (file.value?.size || 0) / 1e3 > 1024);
72
+ const acceptFileSizeKb = computed(() => props.maxSize || 0);
73
+ const acceptFileSizeMb = computed(() => ((acceptFileSizeKb.value || 0) / 1024).toFixed(2));
74
+ const isAcceptFileUseMb = computed(() => acceptFileSizeKb.value && acceptFileSizeKb.value > 1024);
75
+ const acceptFile = computed(
76
+ () => typeof props.accept === "string" ? props.accept : props.accept?.join(",")
77
+ );
78
+ return {
79
+ selectedFileSizeKb,
80
+ selectedFileSizeMb,
81
+ isSelectedFileUseMb,
82
+ acceptFileSizeKb,
83
+ acceptFileSizeMb,
84
+ isAcceptFileUseMb,
85
+ acceptFile
86
+ };
87
+ };
68
88
  export const useFileSize = (size = 0) => {
69
89
  const isSelectedFileUseMb = computed(() => size / 1e3 > 1024);
70
90
  const selectedFileSizeKb = computed(() => (size / 1e3).toFixed(2));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finema/core",
3
- "version": "1.4.132",
3
+ "version": "1.4.133",
4
4
  "repository": "https://gitlab.finema.co/finema/ui-kit",
5
5
  "license": "MIT",
6
6
  "author": "Finema Dev Core Team",