@finema/core 2.55.1 → 2.55.2

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 (33) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +1 -1
  3. package/dist/runtime/components/Form/FieldWrapper.vue +13 -13
  4. package/dist/runtime/components/Form/Fields.vue +13 -13
  5. package/dist/runtime/components/Form/InputCheckbox/index.vue +18 -18
  6. package/dist/runtime/components/Form/InputDateTime/index.vue +52 -52
  7. package/dist/runtime/components/Form/InputDateTimeRange/index.vue +55 -55
  8. package/dist/runtime/components/Form/InputMonth/index.vue +51 -51
  9. package/dist/runtime/components/Form/InputNumber/index.vue +20 -20
  10. package/dist/runtime/components/Form/InputSelect/index.vue +38 -38
  11. package/dist/runtime/components/Form/InputSelectMultiple/index.vue +43 -43
  12. package/dist/runtime/components/Form/InputTags/index.vue +23 -23
  13. package/dist/runtime/components/Form/InputTextarea/index.vue +18 -18
  14. package/dist/runtime/components/Form/InputTime/index.vue +38 -38
  15. package/dist/runtime/components/Form/InputToggle/index.vue +17 -17
  16. package/dist/runtime/components/Form/InputUploadDropzone/index.vue +30 -30
  17. package/dist/runtime/components/Form/InputUploadDropzoneAuto/index.vue +50 -50
  18. package/dist/runtime/components/Form/fileState/EmptyState.vue +21 -21
  19. package/dist/runtime/components/Form/fileState/FailedState.vue +33 -33
  20. package/dist/runtime/components/Form/fileState/LoadingState.vue +24 -24
  21. package/dist/runtime/components/Form/fileState/PreviewModal.vue +23 -23
  22. package/dist/runtime/components/Form/index.vue +5 -5
  23. package/dist/runtime/components/Image.vue +28 -28
  24. package/dist/runtime/components/Log/index.vue +17 -17
  25. package/dist/runtime/components/Table/ColumnDate.vue +1 -1
  26. package/dist/runtime/components/Table/ColumnDateTime.vue +1 -1
  27. package/dist/runtime/components/Table/ColumnImage.vue +4 -4
  28. package/dist/runtime/components/Table/ColumnText.vue +1 -1
  29. package/dist/runtime/components/Table/Pagination.vue +46 -46
  30. package/dist/runtime/components/Table/Simple.vue +17 -17
  31. package/dist/runtime/server/tsconfig.json +3 -3
  32. package/dist/runtime/utils/TimeHelper.js +5 -4
  33. package/package.json +2 -2
@@ -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>
@@ -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>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- {{ getValue }}
2
+ {{ getValue }}
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -1,70 +1,70 @@
1
1
  <template>
2
- <div
2
+ <div
3
3
  :class="
4
4
  theme.paginationContainer({
5
5
  class: [ui?.paginationContainer]
6
6
  })
7
- "
8
- >
9
- <div
7
+ "
8
+ >
9
+ <div
10
10
  :class="
11
11
  theme.paginationInfoWrapper({
12
12
  class: [ui?.paginationInfoWrapper]
13
13
  })
14
- "
15
- >
16
- <USelect
17
- v-if="options.pageOptions && !options.isHideLimitSelect"
18
- size="lg"
19
- trailing="รายการ"
14
+ "
15
+ >
16
+ <USelect
17
+ v-if="options.pageOptions && !options.isHideLimitSelect"
18
+ size="lg"
19
+ trailing="รายการ"
20
20
  :class="
21
21
  theme.paginationLimitSelect({
22
22
  class: [ui?.paginationLimitSelect, 'cursor-pointer']
23
23
  })
24
- "
25
- :items="pageLimitItems"
26
- :model-value="pageLimit"
27
- @update:modelValue="emits('pageLimitChange', $event)"
28
- >
29
- <template #default="{ modelValue }">
30
- <p
24
+ "
25
+ :items="pageLimitItems"
26
+ :model-value="pageLimit"
27
+ @update:modelValue="emits('pageLimitChange', $event)"
28
+ >
29
+ <template #default="{ modelValue }">
30
+ <p
31
31
  :class="
32
32
  theme.paginationLimitSelectLabel({
33
33
  class: [ui?.paginationLimitSelectLabel]
34
34
  })
35
- "
36
- >
37
- {{ modelValue }} รายการ
38
- </p>
39
- </template>
40
- </USelect>
41
- <p
35
+ "
36
+ >
37
+ {{ modelValue }} รายการ
38
+ </p>
39
+ </template>
40
+ </USelect>
41
+ <p
42
42
  :class="
43
43
  theme.paginationInfo({
44
44
  class: [ui?.paginationInfo, '']
45
45
  })
46
- "
47
- >
48
- <span v-if="options.pageOptions">{{ pageBetween }} จากทั้งหมด {{ totalCountWithComma }}</span>
49
- <span v-else>ทั้งหมด {{ options.rawData.length }} รายการ</span>
50
- </p>
51
- </div>
52
-
53
- <UPagination
54
- v-if="options.pageOptions && options.pageOptions.totalPage > 1"
55
- :page="page"
56
- :default-page="options.pageOptions?.currentPage || 1"
57
- :items-per-page="options.pageOptions.limit"
58
- :total="options.pageOptions.totalCount"
59
- :to="options.isRouteChange ? to : void 0"
60
- show-edges
61
- variant="outline"
62
- color="neutral"
63
- active-color="neutral"
64
- active-variant="subtle"
65
- @update:page="emits('pageChange', $event)"
66
- />
67
- </div>
46
+ "
47
+ >
48
+ <span v-if="options.pageOptions">{{ pageBetween }} จากทั้งหมด {{ totalCountWithComma }}</span>
49
+ <span v-else>ทั้งหมด {{ options.rawData.length }} รายการ</span>
50
+ </p>
51
+ </div>
52
+
53
+ <UPagination
54
+ v-if="options.pageOptions && options.pageOptions.totalPage > 1"
55
+ :page="page"
56
+ :default-page="options.pageOptions?.currentPage || 1"
57
+ :items-per-page="options.pageOptions.limit"
58
+ :total="options.pageOptions.totalCount"
59
+ :to="options.isRouteChange ? to : void 0"
60
+ show-edges
61
+ variant="outline"
62
+ color="neutral"
63
+ active-color="neutral"
64
+ active-variant="subtle"
65
+ @update:page="emits('pageChange', $event)"
66
+ />
67
+ </div>
68
68
  </template>
69
69
 
70
70
  <script setup>
@@ -1,25 +1,25 @@
1
1
  <template>
2
- <Base
3
- v-bind="$attrs"
2
+ <Base
3
+ v-bind="$attrs"
4
4
  :options="{
5
5
  ...options,
6
6
  pageOptions,
7
7
  isHideLimitSelect: true
8
- }"
9
- :ui="ui"
10
- :raw-data="itemsByPage"
11
- @page-change="onPageChange"
12
- >
13
- <template
14
- v-for="(_, slot) of $slots"
15
- #[slot]="slotProps"
16
- >
17
- <slot
18
- :name="slot"
19
- v-bind="slotProps || {}"
20
- />
21
- </template>
22
- </Base>
8
+ }"
9
+ :ui="ui"
10
+ :raw-data="itemsByPage"
11
+ @page-change="onPageChange"
12
+ >
13
+ <template
14
+ v-for="(_, slot) of $slots"
15
+ #[slot]="slotProps"
16
+ >
17
+ <slot
18
+ :name="slot"
19
+ v-bind="slotProps || {}"
20
+ />
21
+ </template>
22
+ </Base>
23
23
  </template>
24
24
 
25
25
  <script setup>
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "../../../.nuxt/tsconfig.server.json",
3
- }
1
+ {
2
+ "extends": "../../../.nuxt/tsconfig.server.json",
3
+ }
@@ -10,6 +10,7 @@ const timeFormat = useCoreConfig().time_format;
10
10
  const isThaiYear = useCoreConfig().is_thai_year;
11
11
  const isThaiMonth = useCoreConfig().is_thai_month;
12
12
  const timeZone = useCoreConfig().time_zone;
13
+ const locale = useCoreConfig().locale;
13
14
  const getTime = (time) => {
14
15
  return isDate(time) ? time : new Date(time);
15
16
  };
@@ -30,7 +31,7 @@ export class TimeHelper {
30
31
  return null;
31
32
  }
32
33
  const parsedTime = getTime(time);
33
- const newTime = TimeHelper.thaiFormat(parsedTime, dateFormatDisplay);
34
+ const newTime = locale === "th" ? TimeHelper.thaiFormat(parsedTime, dateFormatDisplay) : format(parsedTime, dateFormatDisplay);
34
35
  return isValid(parsedTime) ? newTime : time;
35
36
  };
36
37
  static displayDateTime = (time) => {
@@ -38,7 +39,7 @@ export class TimeHelper {
38
39
  return null;
39
40
  }
40
41
  const parsedTime = getTime(time);
41
- const newTime = TimeHelper.thaiFormat(parsedTime, dateTimeFormatDisplay);
42
+ const newTime = locale === "th" ? TimeHelper.thaiFormat(parsedTime, dateTimeFormatDisplay) : format(parsedTime, dateTimeFormatDisplay);
42
43
  return isValid(parsedTime) ? newTime : time;
43
44
  };
44
45
  static displayDateThai = (time) => {
@@ -46,7 +47,7 @@ export class TimeHelper {
46
47
  return null;
47
48
  }
48
49
  const parsedTime = getTime(time);
49
- const newTime = TimeHelper.thaiFormat(parsedTime, dateFormat, true);
50
+ const newTime = TimeHelper.thaiFormat(parsedTime, dateFormatDisplay, true);
50
51
  return isValid(parsedTime) ? newTime : time;
51
52
  };
52
53
  static displayDateTimeThai = (time) => {
@@ -54,7 +55,7 @@ export class TimeHelper {
54
55
  return null;
55
56
  }
56
57
  const parsedTime = getTime(time);
57
- const newTime = TimeHelper.thaiFormat(parsedTime, dateTimeFormat, true);
58
+ const newTime = TimeHelper.thaiFormat(parsedTime, dateTimeFormatDisplay, true);
58
59
  return isValid(parsedTime) ? newTime : time;
59
60
  };
60
61
  static displayDateRange = (startDate, endDate) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finema/core",
3
- "version": "2.55.1",
3
+ "version": "2.55.2",
4
4
  "repository": "https://gitlab.finema.co/finema/ui-kit",
5
5
  "license": "MIT",
6
6
  "author": "Finema Dev Core Team",
@@ -91,4 +91,4 @@
91
91
  "lint-staged": {
92
92
  "*": "eslint"
93
93
  }
94
- }
94
+ }