@finema/core 3.19.0 → 3.20.1

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 (61) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +43 -60
  3. package/dist/runtime/components/App.d.vue.ts +2 -2
  4. package/dist/runtime/components/App.vue.d.ts +2 -2
  5. package/dist/runtime/components/Empty.d.vue.ts +1 -1
  6. package/dist/runtime/components/Empty.vue.d.ts +1 -1
  7. package/dist/runtime/components/FlexDeck/index.vue +79 -79
  8. package/dist/runtime/components/Form/FieldWrapper.d.vue.ts +2 -2
  9. package/dist/runtime/components/Form/FieldWrapper.vue +13 -13
  10. package/dist/runtime/components/Form/FieldWrapper.vue.d.ts +2 -2
  11. package/dist/runtime/components/Form/Fields.vue +13 -13
  12. package/dist/runtime/components/Form/InputCheckbox/index.vue +18 -18
  13. package/dist/runtime/components/Form/InputCheckboxGroup/index.vue +21 -21
  14. package/dist/runtime/components/Form/InputCurrency/index.vue +49 -49
  15. package/dist/runtime/components/Form/InputDateTime/index.vue +63 -63
  16. package/dist/runtime/components/Form/InputDateTimeRange/index.vue +56 -56
  17. package/dist/runtime/components/Form/InputNumber/index.vue +20 -20
  18. package/dist/runtime/components/Form/InputSelect/index.vue +110 -110
  19. package/dist/runtime/components/Form/InputSelectMultiple/index.vue +118 -118
  20. package/dist/runtime/components/Form/InputTags/index.d.vue.ts +2 -2
  21. package/dist/runtime/components/Form/InputTags/index.vue +54 -54
  22. package/dist/runtime/components/Form/InputTags/index.vue.d.ts +2 -2
  23. package/dist/runtime/components/Form/InputText/index.vue +86 -86
  24. package/dist/runtime/components/Form/InputTextarea/index.vue +18 -18
  25. package/dist/runtime/components/Form/InputTime/index.vue +38 -38
  26. package/dist/runtime/components/Form/InputToggle/index.vue +17 -17
  27. package/dist/runtime/components/Form/InputUploadDropzone/index.vue +30 -30
  28. package/dist/runtime/components/Form/InputUploadDropzoneAuto/index.vue +50 -50
  29. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/index.vue +50 -50
  30. package/dist/runtime/components/Form/InputUploadImageAuto/index.vue +50 -50
  31. package/dist/runtime/components/Form/InputWYSIWYG/EditorImageUploadNode.vue +18 -18
  32. package/dist/runtime/components/Form/InputWYSIWYG/EditorLinkPopover.vue +65 -65
  33. package/dist/runtime/components/Form/InputWYSIWYG/README.md +96 -96
  34. package/dist/runtime/components/Form/InputWYSIWYG/index.vue +41 -41
  35. package/dist/runtime/components/Form/fileState/EmptyState.vue +21 -21
  36. package/dist/runtime/components/Form/fileState/FailedState.vue +33 -33
  37. package/dist/runtime/components/Form/fileState/LoadingState.vue +24 -24
  38. package/dist/runtime/components/Form/fileState/MultipleFilesState.vue +75 -75
  39. package/dist/runtime/components/Form/fileState/PreviewModal.vue +23 -23
  40. package/dist/runtime/components/Form/index.vue +5 -5
  41. package/dist/runtime/components/Image.vue +28 -28
  42. package/dist/runtime/components/Log/index.vue +17 -17
  43. package/dist/runtime/components/Table/Base.d.vue.ts +4 -4
  44. package/dist/runtime/components/Table/Base.vue +117 -117
  45. package/dist/runtime/components/Table/Base.vue.d.ts +4 -4
  46. package/dist/runtime/components/Table/ColumnDate.vue +1 -1
  47. package/dist/runtime/components/Table/ColumnDateTime.vue +1 -1
  48. package/dist/runtime/components/Table/ColumnImage.vue +4 -4
  49. package/dist/runtime/components/Table/ColumnText.vue +10 -10
  50. package/dist/runtime/components/Table/Pagination.vue +62 -62
  51. package/dist/runtime/components/Table/Simple.vue +19 -19
  52. package/dist/runtime/components/Table/index.vue +33 -33
  53. package/dist/runtime/components/TeleportSafe.d.vue.ts +2 -2
  54. package/dist/runtime/components/TeleportSafe.vue.d.ts +2 -2
  55. package/dist/runtime/helpers/apiBaseHelper.d.ts +10 -2
  56. package/dist/runtime/helpers/apiBaseHelper.js +28 -7
  57. package/dist/runtime/helpers/apiListHelper.js +9 -13
  58. package/dist/runtime/helpers/apiObjectHelper.js +9 -13
  59. package/dist/runtime/helpers/apiPageHelper.js +43 -62
  60. package/dist/runtime/server/tsconfig.json +3 -3
  61. package/package.json +10 -10
@@ -1,79 +1,79 @@
1
1
  <template>
2
- <div :class="theme.multipleFilesWrapper()">
3
- <div
4
- v-for="(item, index) in fileItems"
5
- :key="index"
6
- :class="theme.fileItemWrapper()"
7
- >
8
- <!-- Uploading State -->
9
- <div
10
- v-if="item.state === UploadState.UPLOADING"
11
- :class="theme.uploadingItemWrapper()"
12
- >
13
- <div :class="theme.uploadingIconWrapper()">
14
- <Icon
15
- :name="icons.filePreviewIcon"
16
- :class="theme.uploadingIconClass()"
17
- />
18
- </div>
19
- <div :class="theme.uploadingTextWrapper()">
20
- <h1 class="truncate font-bold">
21
- {{ item.file.name }}
22
- </h1>
23
- <div class="flex items-center gap-2">
24
- <div :class="theme.progressBarWrapper()">
25
- <div
26
- :class="theme.progressBarFill()"
27
- :style="{ width: `${item.progress}%` }"
28
- />
29
- </div>
30
- <p class="text-sm text-gray-400">
31
- {{ item.progress }}%
32
- </p>
33
- </div>
34
- </div>
35
- </div>
36
-
37
- <!-- Error State -->
38
- <div
39
- v-else-if="item.state === UploadState.ERROR"
40
- :class="theme.errorItemWrapper()"
41
- >
42
- <div :class="theme.errorIconWrapper()">
43
- <Icon
44
- :name="icons.errorIcon"
45
- :class="theme.errorIconClass()"
46
- />
47
- </div>
48
- <div :class="theme.errorTextWrapper()">
49
- <h1 class="truncate font-bold">
50
- {{ item.file.name }}
51
- </h1>
52
- <p class="text-error-500 text-sm">
53
- {{ item.error || uploadFailedLabel }}
54
- </p>
55
- </div>
56
- <div :class="theme.errorActionWrapper()">
57
- <Button
58
- variant="link"
59
- :icon="icons.actionRetryIcon"
60
- :class="theme.actionRetryBtnClass()"
61
- color="primary"
62
- @click="$emit('retry', index)"
63
- >
64
- {{ retryLabel }}
65
- </Button>
66
- <Icon
67
- v-if="!disabled && !readonly"
68
- :name="icons.actionDeleteIcon"
69
- :class="theme.actionIconClass()"
70
- title="ลบไฟล์"
71
- @click="$emit('delete', index)"
72
- />
73
- </div>
74
- </div>
75
- </div>
76
- </div>
2
+ <div :class="theme.multipleFilesWrapper()">
3
+ <div
4
+ v-for="(item, index) in fileItems"
5
+ :key="index"
6
+ :class="theme.fileItemWrapper()"
7
+ >
8
+ <!-- Uploading State -->
9
+ <div
10
+ v-if="item.state === UploadState.UPLOADING"
11
+ :class="theme.uploadingItemWrapper()"
12
+ >
13
+ <div :class="theme.uploadingIconWrapper()">
14
+ <Icon
15
+ :name="icons.filePreviewIcon"
16
+ :class="theme.uploadingIconClass()"
17
+ />
18
+ </div>
19
+ <div :class="theme.uploadingTextWrapper()">
20
+ <h1 class="truncate font-bold">
21
+ {{ item.file.name }}
22
+ </h1>
23
+ <div class="flex items-center gap-2">
24
+ <div :class="theme.progressBarWrapper()">
25
+ <div
26
+ :class="theme.progressBarFill()"
27
+ :style="{ width: `${item.progress}%` }"
28
+ />
29
+ </div>
30
+ <p class="text-sm text-gray-400">
31
+ {{ item.progress }}%
32
+ </p>
33
+ </div>
34
+ </div>
35
+ </div>
36
+
37
+ <!-- Error State -->
38
+ <div
39
+ v-else-if="item.state === UploadState.ERROR"
40
+ :class="theme.errorItemWrapper()"
41
+ >
42
+ <div :class="theme.errorIconWrapper()">
43
+ <Icon
44
+ :name="icons.errorIcon"
45
+ :class="theme.errorIconClass()"
46
+ />
47
+ </div>
48
+ <div :class="theme.errorTextWrapper()">
49
+ <h1 class="truncate font-bold">
50
+ {{ item.file.name }}
51
+ </h1>
52
+ <p class="text-error-500 text-sm">
53
+ {{ item.error || uploadFailedLabel }}
54
+ </p>
55
+ </div>
56
+ <div :class="theme.errorActionWrapper()">
57
+ <Button
58
+ variant="link"
59
+ :icon="icons.actionRetryIcon"
60
+ :class="theme.actionRetryBtnClass()"
61
+ color="primary"
62
+ @click="$emit('retry', index)"
63
+ >
64
+ {{ retryLabel }}
65
+ </Button>
66
+ <Icon
67
+ v-if="!disabled && !readonly"
68
+ :name="icons.actionDeleteIcon"
69
+ :class="theme.actionIconClass()"
70
+ title="ลบไฟล์"
71
+ @click="$emit('delete', index)"
72
+ />
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
77
  </template>
78
78
 
79
79
  <script setup>
@@ -1,29 +1,29 @@
1
1
  <template>
2
- <Modal
3
- :close="{ onClick: () => emits('close', false) }"
4
- :dismissible="false"
5
- :title="value?.name"
2
+ <Modal
3
+ :close="{ onClick: () => emits('close', false) }"
4
+ :dismissible="false"
5
+ :title="value?.name"
6
6
  :ui="{
7
7
  content: 'max-w-3xl'
8
- }"
9
- >
10
- <template #body>
11
- <div class="flex justify-center">
12
- <img
13
- v-if="value && isImageFromPath(value.path)"
14
- :src="value.url"
15
- alt="img-preview"
16
- class="max-h-96 max-w-full rounded-lg"
17
- />
18
- <video
19
- v-else-if="value && isVideoFromPath(value.path)"
20
- :src="value.url"
21
- controls
22
- class="max-h-96 max-w-full"
23
- />
24
- </div>
25
- </template>
26
- </Modal>
8
+ }"
9
+ >
10
+ <template #body>
11
+ <div class="flex justify-center">
12
+ <img
13
+ v-if="value && isImageFromPath(value.path)"
14
+ :src="value.url"
15
+ alt="img-preview"
16
+ class="max-h-96 max-w-full rounded-lg"
17
+ />
18
+ <video
19
+ v-else-if="value && isVideoFromPath(value.path)"
20
+ :src="value.url"
21
+ controls
22
+ class="max-h-96 max-w-full"
23
+ />
24
+ </div>
25
+ </template>
26
+ </Modal>
27
27
  </template>
28
28
 
29
29
  <script setup>
@@ -1,5 +1,5 @@
1
- <template>
2
- <form class="form">
3
- <slot />
4
- </form>
5
- </template>
1
+ <template>
2
+ <form class="form">
3
+ <slot />
4
+ </form>
5
+ </template>
@@ -1,32 +1,32 @@
1
1
  <template>
2
- <UseImage v-bind="$props">
3
- <template #loading>
4
- <slot name="loading">
5
- <div
6
- class="flex h-full w-full items-center justify-center"
7
- >
8
- <Loader
9
- :loading="true"
10
- />
11
- </div>
12
- </slot>
13
- </template>
14
-
15
- <template #error>
16
- <slot name="error">
17
- <div
18
- class="flex h-full w-full items-center justify-center"
19
- >
20
- <p class="text-error-400">
21
- <Icon
22
- name="i-heroicons:exclamation-circle-solid"
23
- class="text-error-400 size-8"
24
- />
25
- </p>
26
- </div>
27
- </slot>
28
- </template>
29
- </UseImage>
2
+ <UseImage v-bind="$props">
3
+ <template #loading>
4
+ <slot name="loading">
5
+ <div
6
+ class="flex h-full w-full items-center justify-center"
7
+ >
8
+ <Loader
9
+ :loading="true"
10
+ />
11
+ </div>
12
+ </slot>
13
+ </template>
14
+
15
+ <template #error>
16
+ <slot name="error">
17
+ <div
18
+ class="flex h-full w-full items-center justify-center"
19
+ >
20
+ <p class="text-error-400">
21
+ <Icon
22
+ name="i-heroicons:exclamation-circle-solid"
23
+ class="text-error-400 size-8"
24
+ />
25
+ </p>
26
+ </div>
27
+ </slot>
28
+ </template>
29
+ </UseImage>
30
30
  </template>
31
31
 
32
32
  <script setup>
@@ -1,21 +1,21 @@
1
1
  <template>
2
- <DevOnly>
3
- <TeleportSafe
4
- to="#dev-logs"
5
- >
6
- <LogItem
7
- v-if="typeof data !== 'undefined'"
8
- :data="data"
9
- :title="title"
10
- />
11
- <LogItem
12
- v-for="(item, index) in dataItems"
13
- :key="index"
14
- :data="item"
15
- :title="`${title} #${index + 1}`"
16
- />
17
- </TeleportSafe>
18
- </DevOnly>
2
+ <DevOnly>
3
+ <TeleportSafe
4
+ to="#dev-logs"
5
+ >
6
+ <LogItem
7
+ v-if="typeof data !== 'undefined'"
8
+ :data="data"
9
+ :title="title"
10
+ />
11
+ <LogItem
12
+ v-for="(item, index) in dataItems"
13
+ :key="index"
14
+ :data="item"
15
+ :title="`${title} #${index + 1}`"
16
+ />
17
+ </TeleportSafe>
18
+ </DevOnly>
19
19
  </template>
20
20
 
21
21
  <script setup>
@@ -7,17 +7,17 @@ type __VLS_Props = {
7
7
  target?: string | ((row: any) => string | undefined);
8
8
  preserveQuery?: boolean;
9
9
  };
10
- declare var __VLS_22: {}, __VLS_29: {}, __VLS_31: {}, __VLS_44: `${string}-cell`, __VLS_45: any, __VLS_64: string, __VLS_65: any;
10
+ declare var __VLS_21: {}, __VLS_28: {}, __VLS_30: {}, __VLS_44: `${string}-cell`, __VLS_45: any, __VLS_64: string, __VLS_65: any;
11
11
  type __VLS_Slots = {} & {
12
12
  [K in NonNullable<typeof __VLS_44>]?: (props: typeof __VLS_45) => any;
13
13
  } & {
14
14
  [K in NonNullable<typeof __VLS_64>]?: (props: typeof __VLS_65) => any;
15
15
  } & {
16
- loading?: (props: typeof __VLS_22) => any;
16
+ loading?: (props: typeof __VLS_21) => any;
17
17
  } & {
18
- error?: (props: typeof __VLS_29) => any;
18
+ error?: (props: typeof __VLS_28) => any;
19
19
  } & {
20
- error?: (props: typeof __VLS_31) => any;
20
+ error?: (props: typeof __VLS_30) => any;
21
21
  };
22
22
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
23
  search: (...args: any[]) => void;
@@ -1,131 +1,131 @@
1
1
  <template>
2
- <div
2
+ <div
3
3
  :class="
4
4
  theme.rootWrapper({
5
5
  class: [ui?.rootWrapper]
6
6
  })
7
- "
8
- >
9
- <Pagination
10
- v-if="!options.isHidePagination && !options.isHidePaginationTop"
11
- :options="options"
12
- :ui="ui"
13
- :page="page"
14
- :page-limit="pageLimit"
15
- class="border-b border-[#EAECF0]"
16
- @pageChange="onPageChange"
17
- @search="emits('search')"
18
- @pageLimitChange="changePageLimit"
19
- />
20
- <UTable
21
- :loading="options.status.isLoading"
22
- :columns="uTableCompatibleColumns"
23
- :data="options.rawData"
24
- v-bind="$attrs"
25
- :ui="ui"
26
- >
27
- <template #loading>
28
- <Loader :loading="true" />
29
- </template>
30
- <template #empty>
31
- <slot
32
- v-if="options.status.isLoading"
33
- name="loading"
34
- >
35
- <Loader :loading="true" />
36
- </slot>
37
- <slot
38
- v-else-if="options.status.isError"
39
- name="error"
40
- >
41
- <div
42
- class="text-error-400 flex h-[200px] items-center justify-center text-2xl"
43
- >
44
- {{ StringHelper.getError(options.status.errorData) }}
45
- </div>
46
- </slot>
47
-
48
- <slot
49
- v-else
50
- name="error"
51
- >
52
- <Empty />
53
- </slot>
54
- </template>
55
- <template
56
- v-for="column in options.columns"
57
- #[`${column.accessorKey}-cell`]="slotProps"
58
- :key="column.accessorKey"
59
- >
60
- <NuxtLink
61
- v-if="to && column.accessorKey !== 'actions'"
62
- :to="resolveTo(slotProps.row.original)"
63
- :target="resolveTarget(slotProps.row.original)"
7
+ "
8
+ >
9
+ <Pagination
10
+ v-if="!options.isHidePagination && !options.isHidePaginationTop"
11
+ :options="options"
12
+ :ui="ui"
13
+ :page="page"
14
+ :page-limit="pageLimit"
15
+ class="border-b border-[#EAECF0]"
16
+ @pageChange="onPageChange"
17
+ @search="emits('search')"
18
+ @pageLimitChange="changePageLimit"
19
+ />
20
+ <UTable
21
+ :loading="options.status.isLoading"
22
+ :columns="uTableCompatibleColumns"
23
+ :data="options.rawData"
24
+ v-bind="$attrs"
25
+ :ui="ui"
26
+ >
27
+ <template #loading>
28
+ <Loader :loading="true" />
29
+ </template>
30
+ <template #empty>
31
+ <slot
32
+ v-if="options.status.isLoading"
33
+ name="loading"
34
+ >
35
+ <Loader :loading="true" />
36
+ </slot>
37
+ <slot
38
+ v-else-if="options.status.isError"
39
+ name="error"
40
+ >
41
+ <div
42
+ class="text-error-400 flex h-[200px] items-center justify-center text-2xl"
43
+ >
44
+ {{ StringHelper.getError(options.status.errorData) }}
45
+ </div>
46
+ </slot>
47
+
48
+ <slot
49
+ v-else
50
+ name="error"
51
+ >
52
+ <Empty />
53
+ </slot>
54
+ </template>
55
+ <template
56
+ v-for="column in options.columns"
57
+ #[`${column.accessorKey}-cell`]="slotProps"
58
+ :key="column.accessorKey"
59
+ >
60
+ <NuxtLink
61
+ v-if="to && column.accessorKey !== 'actions'"
62
+ :to="resolveTo(slotProps.row.original)"
63
+ :target="resolveTarget(slotProps.row.original)"
64
64
  :rel="
65
65
  resolveTarget(slotProps.row.original) === '_blank' ? 'noopener noreferrer' : void 0
66
- "
67
- class="absolute inset-0"
68
- tabindex="-1"
69
- aria-hidden="true"
70
- />
71
- <div
66
+ "
67
+ class="absolute inset-0"
68
+ tabindex="-1"
69
+ aria-hidden="true"
70
+ />
71
+ <div
72
72
  :class="
73
73
  to && column.accessorKey !== 'actions' ? 'pointer-events-none relative z-10' : 'relative z-10'
74
- "
75
- >
76
- <slot
77
- :name="`${column.accessorKey}-cell`"
78
- v-bind="slotProps"
79
- >
80
- <component
81
- :is="column.component"
82
- v-if="column.type === COLUMN_TYPES.COMPONENT && column.component"
83
- :value="transformValue(column, slotProps.row)"
84
- :column="column"
85
- :row="slotProps.row"
86
- />
87
- <component
88
- :is="columnTypeComponents[column.type]"
74
+ "
75
+ >
76
+ <slot
77
+ :name="`${column.accessorKey}-cell`"
78
+ v-bind="slotProps"
79
+ >
80
+ <component
81
+ :is="column.component"
82
+ v-if="column.type === COLUMN_TYPES.COMPONENT && column.component"
83
+ :value="transformValue(column, slotProps.row)"
84
+ :column="column"
85
+ :row="slotProps.row"
86
+ />
87
+ <component
88
+ :is="columnTypeComponents[column.type]"
89
89
  v-else-if="
90
90
  column.type !== COLUMN_TYPES.COMPONENT && columnTypeComponents[column.type]
91
- "
92
- :value="transformValue(column, slotProps.row)"
93
- :column="column"
94
- :row="slotProps.row"
95
- />
96
- <VNodeRenderer
97
- v-else-if="typeof column.cell === 'function'"
98
- :vnode="transformValue(column, slotProps.row)"
99
- />
100
- <template v-else>
101
- {{ transformValue(column, slotProps.row) }}
102
- </template>
103
- </slot>
104
- </div>
105
- </template>
106
- <template
107
- v-for="slotName in forwardedSlotNames"
108
- :key="slotName"
109
- #[slotName]="slotProps"
110
- >
111
- <slot
112
- :name="slotName"
113
- v-bind="slotProps || {}"
114
- />
115
- </template>
116
- </UTable>
117
- <Pagination
118
- v-if="!options.isHidePagination && !options.isHidePaginationBottom"
119
- :options="options"
120
- :ui="ui"
121
- :page="page"
122
- :page-limit="pageLimit"
123
- class="rounded-b-lg border-t border-[#EAECF0]"
124
- @pageChange="onPageChange"
125
- @search="emits('search')"
126
- @pageLimitChange="changePageLimit"
127
- />
128
- </div>
91
+ "
92
+ :value="transformValue(column, slotProps.row)"
93
+ :column="column"
94
+ :row="slotProps.row"
95
+ />
96
+ <VNodeRenderer
97
+ v-else-if="typeof column.cell === 'function'"
98
+ :vnode="transformValue(column, slotProps.row)"
99
+ />
100
+ <template v-else>
101
+ {{ transformValue(column, slotProps.row) }}
102
+ </template>
103
+ </slot>
104
+ </div>
105
+ </template>
106
+ <template
107
+ v-for="slotName in forwardedSlotNames"
108
+ :key="slotName"
109
+ #[slotName]="slotProps"
110
+ >
111
+ <slot
112
+ :name="slotName"
113
+ v-bind="slotProps || {}"
114
+ />
115
+ </template>
116
+ </UTable>
117
+ <Pagination
118
+ v-if="!options.isHidePagination && !options.isHidePaginationBottom"
119
+ :options="options"
120
+ :ui="ui"
121
+ :page="page"
122
+ :page-limit="pageLimit"
123
+ class="rounded-b-lg border-t border-[#EAECF0]"
124
+ @pageChange="onPageChange"
125
+ @search="emits('search')"
126
+ @pageLimitChange="changePageLimit"
127
+ />
128
+ </div>
129
129
  </template>
130
130
 
131
131
  <script setup>
@@ -7,17 +7,17 @@ type __VLS_Props = {
7
7
  target?: string | ((row: any) => string | undefined);
8
8
  preserveQuery?: boolean;
9
9
  };
10
- declare var __VLS_22: {}, __VLS_29: {}, __VLS_31: {}, __VLS_44: `${string}-cell`, __VLS_45: any, __VLS_64: string, __VLS_65: any;
10
+ declare var __VLS_21: {}, __VLS_28: {}, __VLS_30: {}, __VLS_44: `${string}-cell`, __VLS_45: any, __VLS_64: string, __VLS_65: any;
11
11
  type __VLS_Slots = {} & {
12
12
  [K in NonNullable<typeof __VLS_44>]?: (props: typeof __VLS_45) => any;
13
13
  } & {
14
14
  [K in NonNullable<typeof __VLS_64>]?: (props: typeof __VLS_65) => any;
15
15
  } & {
16
- loading?: (props: typeof __VLS_22) => any;
16
+ loading?: (props: typeof __VLS_21) => any;
17
17
  } & {
18
- error?: (props: typeof __VLS_29) => any;
18
+ error?: (props: typeof __VLS_28) => any;
19
19
  } & {
20
- error?: (props: typeof __VLS_31) => any;
20
+ error?: (props: typeof __VLS_30) => any;
21
21
  };
22
22
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
23
  search: (...args: any[]) => void;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- {{ getValue || "-" }}
2
+ {{ getValue || "-" }}
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- {{ getValue || "-" }}
2
+ {{ getValue || "-" }}
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <Image
3
- class="h-12 rounded"
4
- :src="getValue"
5
- />
2
+ <Image
3
+ class="h-12 rounded"
4
+ :src="getValue"
5
+ />
6
6
  </template>
7
7
 
8
8
  <script setup>