pukaad-ui-lib 1.3.2 → 1.4.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 (274) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/assets/json/social-icon.json +77 -77
  3. package/dist/runtime/assets/svg/bell-outline.svg +3 -3
  4. package/dist/runtime/assets/svg/bookmark-solid.svg +2 -2
  5. package/dist/runtime/assets/svg/box.svg +22 -22
  6. package/dist/runtime/assets/svg/camera-plus.svg +9 -9
  7. package/dist/runtime/assets/svg/clock-fading.svg +46 -46
  8. package/dist/runtime/assets/svg/coin.svg +20 -20
  9. package/dist/runtime/assets/svg/empty-document.svg +15 -15
  10. package/dist/runtime/assets/svg/memsg-circle.svg +7 -7
  11. package/dist/runtime/assets/svg/memsg-fade.svg +5 -5
  12. package/dist/runtime/assets/svg/memsg-logo-outline.svg +3 -3
  13. package/dist/runtime/assets/svg/memsg-square.svg +9 -9
  14. package/dist/runtime/assets/svg/message.svg +3 -3
  15. package/dist/runtime/assets/svg/page-not-found.svg +9 -9
  16. package/dist/runtime/assets/svg/share-from-square.svg +3 -3
  17. package/dist/runtime/assets/svg/share.svg +2 -2
  18. package/dist/runtime/assets/svg/shopping-cart.svg +16 -16
  19. package/dist/runtime/assets/svg/socials/Email.svg +12 -12
  20. package/dist/runtime/assets/svg/socials/Line.svg +11 -11
  21. package/dist/runtime/assets/svg/socials/LinkedIn.svg +5 -5
  22. package/dist/runtime/assets/svg/socials/Pinterest.svg +4 -4
  23. package/dist/runtime/assets/svg/socials/SnapChat.svg +5 -5
  24. package/dist/runtime/assets/svg/socials/Threads.svg +12 -12
  25. package/dist/runtime/assets/svg/socials/Tiktok.svg +6 -6
  26. package/dist/runtime/assets/svg/socials/Tumblr.svg +4 -4
  27. package/dist/runtime/assets/svg/socials/Website.svg +11 -11
  28. package/dist/runtime/assets/svg/socials/Whatsapp.svg +5 -5
  29. package/dist/runtime/assets/svg/socials/X.svg +4 -4
  30. package/dist/runtime/assets/svg/socials/Youtube.svg +5 -5
  31. package/dist/runtime/assets/svg/socials/{Facebook.svg → facebook.svg} +4 -4
  32. package/dist/runtime/assets/svg/socials/instagram.svg +14 -14
  33. package/dist/runtime/assets/svg/thumbs-up-regular.svg +9 -9
  34. package/dist/runtime/assets/svg/thumbs-up-solid.svg +2 -2
  35. package/dist/runtime/assets/svg/vector.svg +2 -2
  36. package/dist/runtime/assets/svg/verify.svg +10 -10
  37. package/dist/runtime/assets/svg/write-review.svg +15 -15
  38. package/dist/runtime/components/button.vue +8 -8
  39. package/dist/runtime/components/card/card-announce2.vue +104 -102
  40. package/dist/runtime/components/card/card-place-detail.vue +90 -90
  41. package/dist/runtime/components/card/card-profile-about.vue +50 -50
  42. package/dist/runtime/components/card/card-profile-header.vue +94 -94
  43. package/dist/runtime/components/card/card-reaction.vue +29 -29
  44. package/dist/runtime/components/card/card-recommend-blog.vue +49 -49
  45. package/dist/runtime/components/card/card-recommend-place.vue +50 -50
  46. package/dist/runtime/components/card/card-recommend-publisher.vue +51 -51
  47. package/dist/runtime/components/card/card-review.vue +74 -74
  48. package/dist/runtime/components/card/card-user-blog.vue +66 -66
  49. package/dist/runtime/components/card/card-user-item.vue +54 -54
  50. package/dist/runtime/components/card/card.vue +25 -25
  51. package/dist/runtime/components/carousel.vue +29 -29
  52. package/dist/runtime/components/chip.vue +12 -12
  53. package/dist/runtime/components/collapse/collapse-multiple.vue +38 -38
  54. package/dist/runtime/components/collapse/collapse.vue +23 -23
  55. package/dist/runtime/components/comment.vue +216 -216
  56. package/dist/runtime/components/dialog/dialog-2FA-generate.vue +58 -58
  57. package/dist/runtime/components/dialog/dialog-2FA.vue +20 -20
  58. package/dist/runtime/components/dialog/dialog-email-OTP.vue +26 -26
  59. package/dist/runtime/components/dialog/dialog-phone-OTP.vue +25 -25
  60. package/dist/runtime/components/display/display-image-place.vue +4 -4
  61. package/dist/runtime/components/display/display-image-review.vue +16 -16
  62. package/dist/runtime/components/display/display-image.vue +49 -49
  63. package/dist/runtime/components/divider.vue +8 -8
  64. package/dist/runtime/components/draggable.vue +13 -13
  65. package/dist/runtime/components/drawer/drawer-notification.vue +286 -286
  66. package/dist/runtime/components/drawer/drawer-post-blog.vue +80 -80
  67. package/dist/runtime/components/drawer/drawer-profile-about.vue +38 -38
  68. package/dist/runtime/components/drawer/drawer.vue +16 -16
  69. package/dist/runtime/components/dropdown.vue +8 -8
  70. package/dist/runtime/components/filter/filter-list-chip.vue +15 -15
  71. package/dist/runtime/components/filter/filter-list.vue +17 -17
  72. package/dist/runtime/components/icons.vue +1 -1
  73. package/dist/runtime/components/image/image-cropper.vue +9 -9
  74. package/dist/runtime/components/image/image.vue +29 -29
  75. package/dist/runtime/components/input/input-OTP.vue +16 -16
  76. package/dist/runtime/components/input/input-address.vue +81 -81
  77. package/dist/runtime/components/input/input-autocomplete.d.vue.ts +9 -12
  78. package/dist/runtime/components/input/input-autocomplete.vue +89 -122
  79. package/dist/runtime/components/input/input-autocomplete.vue.d.ts +9 -12
  80. package/dist/runtime/components/input/input-checkbox.vue +103 -103
  81. package/dist/runtime/components/input/input-combobox.vue +82 -82
  82. package/dist/runtime/components/input/input-comment.vue +6 -6
  83. package/dist/runtime/components/input/input-content.vue +5 -5
  84. package/dist/runtime/components/input/input-date-opening.vue +176 -175
  85. package/dist/runtime/components/input/input-email.vue +8 -8
  86. package/dist/runtime/components/input/input-file.d.vue.ts +1 -1
  87. package/dist/runtime/components/input/input-file.vue +76 -76
  88. package/dist/runtime/components/input/input-file.vue.d.ts +1 -1
  89. package/dist/runtime/components/input/input-link.vue +39 -39
  90. package/dist/runtime/components/input/input-media.vue +36 -36
  91. package/dist/runtime/components/input/input-password.vue +40 -40
  92. package/dist/runtime/components/input/input-phone.vue +6 -6
  93. package/dist/runtime/components/input/input-radio.d.vue.ts +4 -4
  94. package/dist/runtime/components/input/input-radio.vue +87 -87
  95. package/dist/runtime/components/input/input-radio.vue.d.ts +4 -4
  96. package/dist/runtime/components/input/input-rating.vue +13 -13
  97. package/dist/runtime/components/input/input-recaptcha.vue +19 -19
  98. package/dist/runtime/components/input/input-search.vue +69 -69
  99. package/dist/runtime/components/input/input-select-province.d.vue.ts +3 -0
  100. package/dist/runtime/components/input/input-select-province.vue +4 -0
  101. package/dist/runtime/components/input/input-select-province.vue.d.ts +3 -0
  102. package/dist/runtime/components/input/input-select-tag.vue +51 -51
  103. package/dist/runtime/components/input/input-select.vue +42 -42
  104. package/dist/runtime/components/input/input-slider.vue +19 -19
  105. package/dist/runtime/components/input/input-switch.vue +25 -25
  106. package/dist/runtime/components/input/input-tag.vue +37 -37
  107. package/dist/runtime/components/input/input-text-field.vue +83 -83
  108. package/dist/runtime/components/input/input-textarea.vue +54 -54
  109. package/dist/runtime/components/label/label-announce-time.vue +9 -9
  110. package/dist/runtime/components/label/label-card-atom.vue +8 -8
  111. package/dist/runtime/components/list/list-menu.vue +13 -13
  112. package/dist/runtime/components/modal/modal-2FA-generate.vue +62 -62
  113. package/dist/runtime/components/modal/modal-2FA.vue +21 -21
  114. package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
  115. package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
  116. package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
  117. package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
  118. package/dist/runtime/components/modal/modal-email-OTP.vue +31 -31
  119. package/dist/runtime/components/modal/modal-password-new.vue +27 -27
  120. package/dist/runtime/components/modal/modal-password.vue +27 -27
  121. package/dist/runtime/components/modal/modal-personal-card-ID.vue +194 -194
  122. package/dist/runtime/components/modal/modal-phone-OTP.vue +38 -38
  123. package/dist/runtime/components/modal/modal-profile-edit.vue +165 -165
  124. package/dist/runtime/components/modal/modal-province-domain.vue +23 -23
  125. package/dist/runtime/components/modal/modal-report.vue +49 -49
  126. package/dist/runtime/components/modal/modal-review-detail.vue +118 -118
  127. package/dist/runtime/components/modal/modal-secure.vue +10 -10
  128. package/dist/runtime/components/modal/modal-share.vue +24 -24
  129. package/dist/runtime/components/modal/modal-user-account-list.vue +29 -29
  130. package/dist/runtime/components/modal/modal-user-account-search.vue +24 -24
  131. package/dist/runtime/components/modal/modal.vue +27 -27
  132. package/dist/runtime/components/pagination.vue +43 -43
  133. package/dist/runtime/components/picker/picker-image-cover-profile.vue +91 -91
  134. package/dist/runtime/components/picker/picker-image-profile.vue +82 -82
  135. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +14 -14
  136. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +27 -27
  137. package/dist/runtime/components/profile-cover.vue +80 -80
  138. package/dist/runtime/components/progress-bar.vue +9 -9
  139. package/dist/runtime/components/read-more-text.vue +1 -1
  140. package/dist/runtime/components/tab.vue +78 -78
  141. package/dist/runtime/components/table.d.vue.ts +6 -6
  142. package/dist/runtime/components/table.vue +82 -82
  143. package/dist/runtime/components/table.vue.d.ts +6 -6
  144. package/dist/runtime/components/tooltip.vue +19 -19
  145. package/dist/runtime/components/ui/alert/Alert.vue +7 -7
  146. package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
  147. package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
  148. package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
  149. package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
  150. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
  151. package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
  152. package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
  153. package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
  154. package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
  155. package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
  156. package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  157. package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
  158. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
  159. package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
  160. package/dist/runtime/components/ui/button/Button.vue +8 -8
  161. package/dist/runtime/components/ui/card/Card.vue +8 -8
  162. package/dist/runtime/components/ui/card/CardAction.vue +6 -6
  163. package/dist/runtime/components/ui/card/CardContent.vue +6 -6
  164. package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
  165. package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
  166. package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
  167. package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
  168. package/dist/runtime/components/ui/checkbox/Checkbox.vue +14 -14
  169. package/dist/runtime/components/ui/command/Command.vue +7 -7
  170. package/dist/runtime/components/ui/command/CommandDialog.d.vue.ts +1 -1
  171. package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
  172. package/dist/runtime/components/ui/command/CommandDialog.vue.d.ts +1 -1
  173. package/dist/runtime/components/ui/command/CommandEmpty.vue +10 -10
  174. package/dist/runtime/components/ui/command/CommandGroup.vue +12 -12
  175. package/dist/runtime/components/ui/command/CommandInput.vue +13 -13
  176. package/dist/runtime/components/ui/command/CommandItem.vue +11 -11
  177. package/dist/runtime/components/ui/command/CommandList.vue +9 -9
  178. package/dist/runtime/components/ui/command/CommandSeparator.vue +7 -7
  179. package/dist/runtime/components/ui/command/CommandShortcut.vue +6 -6
  180. package/dist/runtime/components/ui/dialog/Dialog.vue +3 -3
  181. package/dist/runtime/components/ui/dialog/DialogClose.vue +3 -3
  182. package/dist/runtime/components/ui/dialog/DialogContent.vue +21 -21
  183. package/dist/runtime/components/ui/dialog/DialogDescription.vue +7 -7
  184. package/dist/runtime/components/ui/dialog/DialogFooter.vue +3 -3
  185. package/dist/runtime/components/ui/dialog/DialogHeader.vue +6 -6
  186. package/dist/runtime/components/ui/dialog/DialogOverlay.vue +7 -7
  187. package/dist/runtime/components/ui/dialog/DialogScrollContent.vue +20 -20
  188. package/dist/runtime/components/ui/dialog/DialogTitle.vue +7 -7
  189. package/dist/runtime/components/ui/dialog/DialogTrigger.vue +3 -3
  190. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
  191. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +12 -12
  192. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +9 -9
  193. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +6 -6
  194. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +9 -9
  195. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +8 -8
  196. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +6 -6
  197. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +16 -16
  198. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +5 -5
  199. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +6 -6
  200. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -3
  201. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +7 -7
  202. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +8 -8
  203. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +6 -6
  204. package/dist/runtime/components/ui/form/FormControl.vue +8 -8
  205. package/dist/runtime/components/ui/form/FormDescription.vue +7 -7
  206. package/dist/runtime/components/ui/form/FormItem.vue +3 -3
  207. package/dist/runtime/components/ui/form/FormLabel.vue +8 -8
  208. package/dist/runtime/components/ui/form/FormMessage.vue +7 -7
  209. package/dist/runtime/components/ui/input/Input.vue +5 -5
  210. package/dist/runtime/components/ui/input-group/InputGroup.vue +7 -7
  211. package/dist/runtime/components/ui/input-group/InputGroupAddon.vue +9 -9
  212. package/dist/runtime/components/ui/input-group/InputGroupButton.vue +7 -7
  213. package/dist/runtime/components/ui/input-group/InputGroupInput.vue +4 -4
  214. package/dist/runtime/components/ui/input-group/InputGroupText.vue +5 -5
  215. package/dist/runtime/components/ui/input-group/InputGroupTextarea.vue +4 -4
  216. package/dist/runtime/components/ui/label/Label.vue +7 -7
  217. package/dist/runtime/components/ui/pagination/Pagination.vue +8 -8
  218. package/dist/runtime/components/ui/pagination/PaginationContent.vue +8 -8
  219. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +10 -10
  220. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +10 -10
  221. package/dist/runtime/components/ui/pagination/PaginationItem.vue +7 -7
  222. package/dist/runtime/components/ui/pagination/PaginationLast.vue +10 -10
  223. package/dist/runtime/components/ui/pagination/PaginationNext.vue +10 -10
  224. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +10 -10
  225. package/dist/runtime/components/ui/pin-input/PinInput.vue +8 -8
  226. package/dist/runtime/components/ui/pin-input/PinInputGroup.vue +7 -7
  227. package/dist/runtime/components/ui/pin-input/PinInputSeparator.vue +3 -3
  228. package/dist/runtime/components/ui/pin-input/PinInputSlot.vue +5 -5
  229. package/dist/runtime/components/ui/popover/Popover.vue +7 -7
  230. package/dist/runtime/components/ui/popover/PopoverAnchor.vue +6 -6
  231. package/dist/runtime/components/ui/popover/PopoverContent.vue +5 -5
  232. package/dist/runtime/components/ui/popover/PopoverTrigger.vue +6 -6
  233. package/dist/runtime/components/ui/select/Select.vue +7 -7
  234. package/dist/runtime/components/ui/select/SelectContent.vue +10 -10
  235. package/dist/runtime/components/ui/select/SelectGroup.vue +6 -6
  236. package/dist/runtime/components/ui/select/SelectItem.vue +17 -17
  237. package/dist/runtime/components/ui/select/SelectItemText.vue +6 -6
  238. package/dist/runtime/components/ui/select/SelectLabel.vue +6 -6
  239. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +6 -6
  240. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +6 -6
  241. package/dist/runtime/components/ui/select/SelectSeparator.vue +5 -5
  242. package/dist/runtime/components/ui/select/SelectTrigger.vue +11 -11
  243. package/dist/runtime/components/ui/select/SelectValue.vue +6 -6
  244. package/dist/runtime/components/ui/separator/Separator.d.vue.ts +11 -0
  245. package/dist/runtime/components/ui/separator/Separator.vue +26 -0
  246. package/dist/runtime/components/ui/separator/Separator.vue.d.ts +11 -0
  247. package/dist/runtime/components/ui/separator/index.d.ts +1 -0
  248. package/dist/runtime/components/ui/separator/index.js +1 -0
  249. package/dist/runtime/components/ui/sheet/Sheet.vue +3 -3
  250. package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
  251. package/dist/runtime/components/ui/sheet/SheetContent.vue +20 -20
  252. package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
  253. package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
  254. package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
  255. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
  256. package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
  257. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
  258. package/dist/runtime/components/ui/spinner/Spinner.vue +5 -5
  259. package/dist/runtime/components/ui/table/Table.vue +5 -5
  260. package/dist/runtime/components/ui/table/TableBody.vue +6 -6
  261. package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
  262. package/dist/runtime/components/ui/table/TableCell.vue +6 -6
  263. package/dist/runtime/components/ui/table/TableEmpty.vue +10 -10
  264. package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
  265. package/dist/runtime/components/ui/table/TableHead.vue +6 -6
  266. package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
  267. package/dist/runtime/components/ui/table/TableRow.vue +6 -6
  268. package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
  269. package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
  270. package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
  271. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
  272. package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
  273. package/dist/runtime/components/video.vue +2 -2
  274. package/package.json +2 -2
@@ -1,39 +1,39 @@
1
1
  <template>
2
- <Field
3
- :name="props.name"
4
- v-slot="{ field, errorMessage }"
5
- :validate-on-blur="props.validateOnBlur"
6
- :validate-on-input="props.validateOnInput"
7
- :standalone="props.standalone"
8
- :rules="rules || defaultRule"
9
- v-model="modelValue"
10
- >
11
- <div class="flex flex-col gap-[4px]">
12
- <slot
13
- v-if="$slots.label || props.label"
14
- name="label"
15
- :label="props.label"
16
- >
17
- <div class="text-gray flex items-center">
18
- <div class="font-body-large-prominent flex-1">
19
- {{ props.label }}
20
- <span v-if="props.required" class="text-error">*</span>
21
- </div>
22
- <div v-if="props.showCounter" :class="['font-body-small']">
23
- <div
24
- v-if="props.maxLength"
25
- :class="[textCounter > props.maxLength && 'text-error']"
26
- >
27
- {{ textCounter }} / {{ props.maxLength }}
28
- </div>
29
- <div v-else>{{ textCounter }} ตัวอักษร</div>
30
- </div>
31
- </div>
32
- </slot>
33
-
34
- <textarea
35
- v-bind="field"
36
- ref="textareaRef"
2
+ <Field
3
+ :name="props.name"
4
+ v-slot="{ field, errorMessage }"
5
+ :validate-on-blur="props.validateOnBlur"
6
+ :validate-on-input="props.validateOnInput"
7
+ :standalone="props.standalone"
8
+ :rules="rules || defaultRule"
9
+ v-model="modelValue"
10
+ >
11
+ <div class="flex flex-col gap-[4px]">
12
+ <slot
13
+ v-if="$slots.label || props.label"
14
+ name="label"
15
+ :label="props.label"
16
+ >
17
+ <div class="text-gray flex items-center">
18
+ <div class="font-body-large-prominent flex-1">
19
+ {{ props.label }}
20
+ <span v-if="props.required" class="text-error">*</span>
21
+ </div>
22
+ <div v-if="props.showCounter" :class="['font-body-small']">
23
+ <div
24
+ v-if="props.maxLength"
25
+ :class="[textCounter > props.maxLength && 'text-error']"
26
+ >
27
+ {{ textCounter }} / {{ props.maxLength }}
28
+ </div>
29
+ <div v-else>{{ textCounter }} ตัวอักษร</div>
30
+ </div>
31
+ </div>
32
+ </slot>
33
+
34
+ <textarea
35
+ v-bind="field"
36
+ ref="textareaRef"
37
37
  :class="[
38
38
  'w-full bg-white',
39
39
  'font-body-large placeholder:text-cloud rounded-[8px] overflow-auto',
@@ -41,29 +41,29 @@
41
41
  errorMessage && !props.disabled ? ' focus:ring-error' : borderFocus,
42
42
  errorMessage && !props.disabled ? 'ring-[1px] ring-error' : variaint,
43
43
  padding
44
- ]"
45
- :placeholder="props.placeholder"
46
- :disabled="props.disabled"
44
+ ]"
45
+ :placeholder="props.placeholder"
46
+ :disabled="props.disabled"
47
47
  :style="{
48
48
  resize: props.resize,
49
49
  height: props.fullHeight ? '100%' : `${props.height}px`,
50
50
  width: props.fullWidth ? '100%' : `${props.width}px`
51
- }"
52
- :rows="props.rows"
53
- :readonly="props.readonly"
54
- @input="autoHeight()"
55
- />
56
-
57
- <div
58
- v-if="!props.disabledErrorMessage && errorMessage"
59
- class="font-body-small text-error"
60
- >
61
- <slot name="error">
62
- {{ errorMessage }}
63
- </slot>
64
- </div>
65
- </div>
66
- </Field>
51
+ }"
52
+ :rows="props.rows"
53
+ :readonly="props.readonly"
54
+ @input="autoHeight()"
55
+ />
56
+
57
+ <div
58
+ v-if="!props.disabledErrorMessage && errorMessage"
59
+ class="font-body-small text-error"
60
+ >
61
+ <slot name="error">
62
+ {{ errorMessage }}
63
+ </slot>
64
+ </div>
65
+ </div>
66
+ </Field>
67
67
  </template>
68
68
 
69
69
  <script setup>
@@ -1,13 +1,13 @@
1
1
  <template>
2
- <!-- <div
3
- v-if="timeStatus.show"
4
- :class="[
5
- 'inline-flex rounded-[4px] p-[4px] font-body-small text-white',
6
- timeStatus.backgroundColor,
7
- ]"
8
- >
9
- {{ timeStatus.text }}
10
- </div> -->
2
+ <!-- <div
3
+ v-if="timeStatus.show"
4
+ :class="[
5
+ 'inline-flex rounded-[4px] p-[4px] font-body-small text-white',
6
+ timeStatus.backgroundColor,
7
+ ]"
8
+ >
9
+ {{ timeStatus.text }}
10
+ </div> -->
11
11
  </template>
12
12
 
13
13
  <script setup>
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <!-- <div :class="['flex py-[2px]', state, color]">
3
- <div class="font-body-extra-small text-word-on-surface">
4
- {{ props.text }}
5
- </div>
6
- </div> -->
2
+ <!-- <div :class="['flex py-[2px]', state, color]">
3
+ <div class="font-body-extra-small text-word-on-surface">
4
+ {{ props.text }}
5
+ </div>
6
+ </div> -->
7
7
  </template>
8
8
 
9
9
  <script setup>
@@ -11,7 +11,7 @@
11
11
  </script>
12
12
 
13
13
  <style scoped>
14
- /* .state-last {
15
- // clip-path: "polygon(0 0, 100% 0, 90% 100%, 0 100%)";
16
- // } */
14
+ /* .state-last {
15
+ // clip-path: "polygon(0 0, 100% 0, 90% 100%, 0 100%)";
16
+ // } */
17
17
  </style>
@@ -1,22 +1,22 @@
1
1
  <template>
2
- <ul class="bg-white space-y-[4px]">
3
- <li
4
- v-for="(menu, i_menu) in props.items"
5
- :key="i_menu"
2
+ <ul class="bg-white space-y-[4px]">
3
+ <li
4
+ v-for="(menu, i_menu) in props.items"
5
+ :key="i_menu"
6
6
  :class="[
7
7
  'flex items-center h-[44px] gap-[12px]',
8
8
  'rounded-[8px] p-[16px] font-body-large-prominent',
9
9
  'hover:bg-primary-container hover:text-word-primary cursor-pointer',
10
10
  menu.to === route.path ? 'bg-primary-container text-word-primary' : 'text-word-surface'
11
- ]"
12
- @click="onAction(menu.to, menu.action)"
13
- >
14
- <Icon size="24" :name="menu.icon" />
15
- <div>
16
- {{ menu.label }}
17
- </div>
18
- </li>
19
- </ul>
11
+ ]"
12
+ @click="onAction(menu.to, menu.action)"
13
+ >
14
+ <Icon size="24" :name="menu.icon" />
15
+ <div>
16
+ {{ menu.label }}
17
+ </div>
18
+ </li>
19
+ </ul>
20
20
  </template>
21
21
 
22
22
  <script setup>
@@ -1,66 +1,66 @@
1
1
  <template>
2
- <Modal
3
- width="550"
4
- title="คำแนะนำการตั้งค่า"
5
- title-position="center"
6
- :loading="isLoading"
7
- v-model="isOpen"
8
- >
9
- <div class="flex flex-col gap-[16px]">
10
- <div class="flex flex-col gap[8px] text-gray font-body-large">
11
- <div class="font-body-large-prominent">1.ดาวน์โหลดแอพยืนยันตัวตน</div>
12
- <div>
13
- เราแนะนำให้ดาวน์โหลด Google Authenticator หากคุณยังไม่ได้ติดตั้ง
14
- </div>
15
- </div>
16
- <div class="flex flex-col gap[8px] text-gray font-body-large">
17
- <div class="font-body-large-prominent">
18
- 2.สแกนบาร์โค้ด/คิวอาร์โค้ดนี้หรือคัดลอกคีย์
19
- </div>
20
- <div>
21
- สแกนบาร์โค้ด/คิวอาร์โค้ดนี้ในแอพยืนยันตัวตนหรือคัดลอกคีย์แล้ววางลงในแอพ
22
- ยืนยันตัวตน
23
- </div>
24
- </div>
25
- <div class="flex justify-center items-center">
26
- <div class="flex items-center gap-[32px]">
27
- <Image width="146" height="145" :src="barcode2FA" />
28
- <div class="w-[168px] gap-[8px] flex flex-col justify-between">
29
- <div class="font-body-large-prominent">
30
- {{ key }}
31
- </div>
32
- <div
33
- class="cursor-pointer text-primary font-body-large"
34
- @click="copyToClipboard(key)"
35
- >
36
- คัดลอกคีย์
37
- </div>
38
- </div>
39
- </div>
40
- </div>
41
- <div class="flex flex-col gap[8px] text-gray font-body-large">
42
- <div class="font-body-large-prominent">
43
- 3.คัดลอกแล้วป้อนรหัสตัวเลข 6 หลัก
44
- </div>
45
- <div>
46
- หลังจากสแกนบาร์โค้ด/คิวอาร์โค้ด หรือคัดลอกคีย์แล้ว
47
- แอพยืนยันตัวตนจะสร้าง รหัสตัวเลข 6 หลัก
48
- ให้คัดลอกรหัสนั้นแล้วกลับมาป้อนบน Pukaad
49
- </div>
50
- </div>
51
- </div>
52
-
53
- <template #footer>
54
- <Button
55
- color="primary"
56
- full-width
57
- :disabled="isDisabled"
58
- @click="onComplete"
59
- >
60
- {{ props.confirmedText }}
61
- </Button>
62
- </template>
63
- </Modal>
2
+ <Modal
3
+ width="550"
4
+ title="คำแนะนำการตั้งค่า"
5
+ title-position="center"
6
+ :loading="isLoading"
7
+ v-model="isOpen"
8
+ >
9
+ <div class="flex flex-col gap-[16px]">
10
+ <div class="flex flex-col gap[8px] text-gray font-body-large">
11
+ <div class="font-body-large-prominent">1.ดาวน์โหลดแอพยืนยันตัวตน</div>
12
+ <div>
13
+ เราแนะนำให้ดาวน์โหลด Google Authenticator หากคุณยังไม่ได้ติดตั้ง
14
+ </div>
15
+ </div>
16
+ <div class="flex flex-col gap[8px] text-gray font-body-large">
17
+ <div class="font-body-large-prominent">
18
+ 2.สแกนบาร์โค้ด/คิวอาร์โค้ดนี้หรือคัดลอกคีย์
19
+ </div>
20
+ <div>
21
+ สแกนบาร์โค้ด/คิวอาร์โค้ดนี้ในแอพยืนยันตัวตนหรือคัดลอกคีย์แล้ววางลงในแอพ
22
+ ยืนยันตัวตน
23
+ </div>
24
+ </div>
25
+ <div class="flex justify-center items-center">
26
+ <div class="flex items-center gap-[32px]">
27
+ <Image width="146" height="145" :src="barcode2FA" />
28
+ <div class="w-[168px] gap-[8px] flex flex-col justify-between">
29
+ <div class="font-body-large-prominent">
30
+ {{ key }}
31
+ </div>
32
+ <div
33
+ class="cursor-pointer text-primary font-body-large"
34
+ @click="copyToClipboard(key)"
35
+ >
36
+ คัดลอกคีย์
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="flex flex-col gap[8px] text-gray font-body-large">
42
+ <div class="font-body-large-prominent">
43
+ 3.คัดลอกแล้วป้อนรหัสตัวเลข 6 หลัก
44
+ </div>
45
+ <div>
46
+ หลังจากสแกนบาร์โค้ด/คิวอาร์โค้ด หรือคัดลอกคีย์แล้ว
47
+ แอพยืนยันตัวตนจะสร้าง รหัสตัวเลข 6 หลัก
48
+ ให้คัดลอกรหัสนั้นแล้วกลับมาป้อนบน Pukaad
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <template #footer>
54
+ <Button
55
+ color="primary"
56
+ full-width
57
+ :disabled="isDisabled"
58
+ @click="onComplete"
59
+ >
60
+ {{ props.confirmedText }}
61
+ </Button>
62
+ </template>
63
+ </Modal>
64
64
  </template>
65
65
 
66
66
  <script setup>
@@ -1,25 +1,25 @@
1
1
  <template>
2
- <Modal
3
- title="การยืนยันตัวตนแบบสองชั้น"
4
- title-position="center"
5
- :loading="isLoading"
6
- @submit="onVerify2FA"
7
- v-model="isOpen"
8
- >
9
- <div class="space-y-[16px]">
10
- <div class="text-center font-body-large">
11
- ป้อนรหัสยืนยันที่คุณเห็นในแอปยืนยันตัวตน
12
- </div>
13
- <div class="flex justify-center items-center">
14
- <InputOTP ref="twoFaRef" name="otp" v-model="valueOTP" />
15
- </div>
16
- </div>
17
- <template #footer="{ meta }">
18
- <Button type="submit" color="primary" fullWidth :disabled="!meta.valid">
19
- {{ props.confirmedText }}
20
- </Button>
21
- </template>
22
- </Modal>
2
+ <Modal
3
+ title="การยืนยันตัวตนแบบสองชั้น"
4
+ title-position="center"
5
+ :loading="isLoading"
6
+ @submit="onVerify2FA"
7
+ v-model="isOpen"
8
+ >
9
+ <div class="space-y-[16px]">
10
+ <div class="text-center font-body-large">
11
+ ป้อนรหัสยืนยันที่คุณเห็นในแอปยืนยันตัวตน
12
+ </div>
13
+ <div class="flex justify-center items-center">
14
+ <InputOTP ref="twoFaRef" name="otp" v-model="valueOTP" />
15
+ </div>
16
+ </div>
17
+ <template #footer="{ meta }">
18
+ <Button type="submit" color="primary" fullWidth :disabled="!meta.valid">
19
+ {{ props.confirmedText }}
20
+ </Button>
21
+ </template>
22
+ </Modal>
23
23
  </template>
24
24
 
25
25
  <script setup>
@@ -1,37 +1,37 @@
1
1
  <template>
2
- <Modal
3
- title="ลบบัญชีโดยถาวร"
4
- title-position="left"
5
- width="500"
6
- :loading="isLoading"
7
- @close="onClose"
8
- v-model="modelValue"
9
- >
10
- <div class="flex flex-col gap-[16px]">
11
- <div class="font-body-large">
12
- เมื่อคุณลบบัญชี Pukaad คุณจะไม่สามารถกู้คืนบัญชีข้อมูลหรือเนื้อหา
13
- ทั้งหมดของคุณได้อีกรวมถึง โปรไฟล์หลัก ข้อความส่วนตัวและสิ่งที่คุณเคย
14
- แชร์ในชุมชน
15
- </div>
16
- <div class="flex flex-col gap-[8px] text-error">
17
- <div class="font-body-large-prominent">การลบบัญชี</div>
18
- <div class="font-body-large">
19
- เพื่อป้องกันการลบบัญชีโดยไม่ได้ตั้งใจบัญชีของคุณจะถูกปิดแบบชั่วคราว
20
- ก่อน และจะถูกลบถาวรใน 30 วัน หากคุณไม่เข้าสู่ระบบอีก
21
- </div>
22
- </div>
23
- </div>
24
- <template #footer>
25
- <div class="flex gap-[16px]">
26
- <Button full-width variant="outline" color="black" @click="onClose">
27
- ยกเลิก
28
- </Button>
29
- <Button full-width color="primary" @click="onNext">
30
- {{ props.confirmedText }}
31
- </Button>
32
- </div>
33
- </template>
34
- </Modal>
2
+ <Modal
3
+ title="ลบบัญชีโดยถาวร"
4
+ title-position="left"
5
+ width="500"
6
+ :loading="isLoading"
7
+ @close="onClose"
8
+ v-model="modelValue"
9
+ >
10
+ <div class="flex flex-col gap-[16px]">
11
+ <div class="font-body-large">
12
+ เมื่อคุณลบบัญชี Pukaad คุณจะไม่สามารถกู้คืนบัญชีข้อมูลหรือเนื้อหา
13
+ ทั้งหมดของคุณได้อีกรวมถึง โปรไฟล์หลัก ข้อความส่วนตัวและสิ่งที่คุณเคย
14
+ แชร์ในชุมชน
15
+ </div>
16
+ <div class="flex flex-col gap-[8px] text-error">
17
+ <div class="font-body-large-prominent">การลบบัญชี</div>
18
+ <div class="font-body-large">
19
+ เพื่อป้องกันการลบบัญชีโดยไม่ได้ตั้งใจบัญชีของคุณจะถูกปิดแบบชั่วคราว
20
+ ก่อน และจะถูกลบถาวรใน 30 วัน หากคุณไม่เข้าสู่ระบบอีก
21
+ </div>
22
+ </div>
23
+ </div>
24
+ <template #footer>
25
+ <div class="flex gap-[16px]">
26
+ <Button full-width variant="outline" color="black" @click="onClose">
27
+ ยกเลิก
28
+ </Button>
29
+ <Button full-width color="primary" @click="onNext">
30
+ {{ props.confirmedText }}
31
+ </Button>
32
+ </div>
33
+ </template>
34
+ </Modal>
35
35
  </template>
36
36
 
37
37
  <script setup>
@@ -1,36 +1,36 @@
1
1
  <template>
2
- <Modal
3
- title="ยืนยันการลบบัญชีโดยถาวร"
4
- title-position="left"
5
- width="500"
6
- :loading="loadingModal"
7
- @close="onClose"
8
- v-model="modelValue"
9
- >
10
- <div class="flex flex-col gap-[16px]">
11
- <div class="font-body-large">
12
- เมื่อคุณกด “ลบบัญชี” บัญชีของคุณจะถูกลบโดยถาวรทันที
13
- คุณจะไม่สามารถกู้คืนบัญชี ข้อมูล เนื้อหา หรือการเข้าถึงใด ๆ ได้อีก
14
- การดำเนินการนี้ถาวรและไม่สามารถย้อนกลับได้
15
- </div>
16
- <div class="flex items-center gap-[4px] text-error">
17
- <Icon name="lucide:triangle-alert" size="20" />
18
- <div class="font-body-large">
19
- โปรดตรวจสอบให้แน่ใจว่าคุณต้องการลบบัญชีนี้อย่างถาวรจริง
20
- </div>
21
- </div>
22
- </div>
23
- <template #footer>
24
- <div class="flex gap-[16px]">
25
- <Button full-width type="outline" variant="black" @click="onClose">
26
- ยกเลิก
27
- </Button>
28
- <Button full-width variant="error" @click="onDeleteAccount">
29
- {{ props.confirmedText }}
30
- </Button>
31
- </div>
32
- </template>
33
- </Modal>
2
+ <Modal
3
+ title="ยืนยันการลบบัญชีโดยถาวร"
4
+ title-position="left"
5
+ width="500"
6
+ :loading="loadingModal"
7
+ @close="onClose"
8
+ v-model="modelValue"
9
+ >
10
+ <div class="flex flex-col gap-[16px]">
11
+ <div class="font-body-large">
12
+ เมื่อคุณกด “ลบบัญชี” บัญชีของคุณจะถูกลบโดยถาวรทันที
13
+ คุณจะไม่สามารถกู้คืนบัญชี ข้อมูล เนื้อหา หรือการเข้าถึงใด ๆ ได้อีก
14
+ การดำเนินการนี้ถาวรและไม่สามารถย้อนกลับได้
15
+ </div>
16
+ <div class="flex items-center gap-[4px] text-error">
17
+ <Icon name="lucide:triangle-alert" size="20" />
18
+ <div class="font-body-large">
19
+ โปรดตรวจสอบให้แน่ใจว่าคุณต้องการลบบัญชีนี้อย่างถาวรจริง
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <template #footer>
24
+ <div class="flex gap-[16px]">
25
+ <Button full-width type="outline" variant="black" @click="onClose">
26
+ ยกเลิก
27
+ </Button>
28
+ <Button full-width variant="error" @click="onDeleteAccount">
29
+ {{ props.confirmedText }}
30
+ </Button>
31
+ </div>
32
+ </template>
33
+ </Modal>
34
34
  </template>
35
35
 
36
36
  <script setup>
@@ -1,52 +1,52 @@
1
1
  <template>
2
- <Modal
3
- title="ลบบัญชี"
4
- width="500"
5
- :loading="loadingModal"
6
- @close="onCancel"
7
- @submit="onSubmit"
8
- v-model="modelValue"
9
- >
10
- <div class="flex flex-col gap-[8px]">
11
- <div class="text-body-large-prominent">ก่อนที่คุณจะลบ เราช่วยคุณได้</div>
12
- <div class="text-gray">
13
- เราเสียใจที่จะต้องบอกลาคุณ เราอยากทราบเหตุผลที่คุณจะลบบัญชีของ คุณ
14
- เนื่องจากเราอาจช่วยปัญหาที่พบทั่วไปได้ คุณอาจดำเนินการต่อโดยไม่
15
- แจ้งเหตุผลได้เช่นกัน
16
- </div>
17
-
18
- <div
19
- v-for="(item, i) in items"
20
- :key="i"
2
+ <Modal
3
+ title="ลบบัญชี"
4
+ width="500"
5
+ :loading="loadingModal"
6
+ @close="onCancel"
7
+ @submit="onSubmit"
8
+ v-model="modelValue"
9
+ >
10
+ <div class="flex flex-col gap-[8px]">
11
+ <div class="text-body-large-prominent">ก่อนที่คุณจะลบ เราช่วยคุณได้</div>
12
+ <div class="text-gray">
13
+ เราเสียใจที่จะต้องบอกลาคุณ เราอยากทราบเหตุผลที่คุณจะลบบัญชีของ คุณ
14
+ เนื่องจากเราอาจช่วยปัญหาที่พบทั่วไปได้ คุณอาจดำเนินการต่อโดยไม่
15
+ แจ้งเหตุผลได้เช่นกัน
16
+ </div>
17
+
18
+ <div
19
+ v-for="(item, i) in items"
20
+ :key="i"
21
21
  :class="[
22
22
  'flex flex-col p-[16px]',
23
23
  i < items.length - 1 && 'border-b-[1px] border-mercury'
24
- ]"
25
- >
26
- <InputRadio
27
- name="reason"
28
- column-gap="auto"
29
- :label="item.label"
30
- label-position="left"
31
- :item="item.value"
32
- v-model="formState.reason"
33
- />
34
- </div>
35
- </div>
36
- <template #footer="{ meta }">
37
- <Button full-width variant="outline" color="black" @click="onCancel">
38
- ยกเลิก
39
- </Button>
40
- <Button
41
- type="submit"
42
- color="primary"
43
- full-width
44
- :disabled="!formState.reason"
45
- >
46
- {{ props.confirmedText }}
47
- </Button>
48
- </template>
49
- </Modal>
24
+ ]"
25
+ >
26
+ <InputRadio
27
+ name="reason"
28
+ column-gap="auto"
29
+ :label="item.label"
30
+ label-position="left"
31
+ :item="item.value"
32
+ v-model="formState.reason"
33
+ />
34
+ </div>
35
+ </div>
36
+ <template #footer="{ meta }">
37
+ <Button full-width variant="outline" color="black" @click="onCancel">
38
+ ยกเลิก
39
+ </Button>
40
+ <Button
41
+ type="submit"
42
+ color="primary"
43
+ full-width
44
+ :disabled="!formState.reason"
45
+ >
46
+ {{ props.confirmedText }}
47
+ </Button>
48
+ </template>
49
+ </Modal>
50
50
  </template>
51
51
 
52
52
  <script setup>
@@ -1,13 +1,13 @@
1
1
  <template>
2
- <component
3
- v-for="modal in modals"
4
- :key="modal.key"
5
- :is="modal.component"
6
- :confimed-text="isLastStep ? '\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19' : '\u0E16\u0E31\u0E14\u0E44\u0E1B'"
7
- @close="modelValue = false"
8
- @complete="onComplete(modal.key)"
9
- v-model="modalStates[modal.key]"
10
- />
2
+ <component
3
+ v-for="modal in modals"
4
+ :key="modal.key"
5
+ :is="modal.component"
6
+ :confimed-text="isLastStep ? '\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19' : '\u0E16\u0E31\u0E14\u0E44\u0E1B'"
7
+ @close="modelValue = false"
8
+ @complete="onComplete(modal.key)"
9
+ v-model="modalStates[modal.key]"
10
+ />
11
11
  </template>
12
12
 
13
13
  <script setup>