pukaad-ui-lib 1.2.0 → 1.3.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 (268) 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/{facebook.svg → Facebook.svg} +4 -4
  21. package/dist/runtime/assets/svg/socials/Line.svg +11 -11
  22. package/dist/runtime/assets/svg/socials/LinkedIn.svg +5 -5
  23. package/dist/runtime/assets/svg/socials/Pinterest.svg +4 -4
  24. package/dist/runtime/assets/svg/socials/SnapChat.svg +5 -5
  25. package/dist/runtime/assets/svg/socials/Threads.svg +12 -12
  26. package/dist/runtime/assets/svg/socials/Tiktok.svg +6 -6
  27. package/dist/runtime/assets/svg/socials/Tumblr.svg +4 -4
  28. package/dist/runtime/assets/svg/socials/Website.svg +11 -11
  29. package/dist/runtime/assets/svg/socials/Whatsapp.svg +5 -5
  30. package/dist/runtime/assets/svg/socials/X.svg +4 -4
  31. package/dist/runtime/assets/svg/socials/Youtube.svg +5 -5
  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 +102 -104
  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 +1 -1
  78. package/dist/runtime/components/input/input-autocomplete.vue +80 -80
  79. package/dist/runtime/components/input/input-autocomplete.vue.d.ts +1 -1
  80. package/dist/runtime/components/input/input-checkbox.vue +103 -103
  81. package/dist/runtime/components/input/input-combobox.d.vue.ts +5 -1
  82. package/dist/runtime/components/input/input-combobox.vue +97 -81
  83. package/dist/runtime/components/input/input-combobox.vue.d.ts +5 -1
  84. package/dist/runtime/components/input/input-comment.vue +6 -6
  85. package/dist/runtime/components/input/input-content.vue +5 -5
  86. package/dist/runtime/components/input/input-date-opening.vue +175 -176
  87. package/dist/runtime/components/input/input-email.vue +8 -8
  88. package/dist/runtime/components/input/input-file.d.vue.ts +1 -1
  89. package/dist/runtime/components/input/input-file.vue +76 -76
  90. package/dist/runtime/components/input/input-file.vue.d.ts +1 -1
  91. package/dist/runtime/components/input/input-link.vue +39 -39
  92. package/dist/runtime/components/input/input-media.vue +36 -36
  93. package/dist/runtime/components/input/input-password.vue +40 -40
  94. package/dist/runtime/components/input/input-phone.vue +6 -6
  95. package/dist/runtime/components/input/input-radio.d.vue.ts +4 -4
  96. package/dist/runtime/components/input/input-radio.vue +87 -87
  97. package/dist/runtime/components/input/input-radio.vue.d.ts +4 -4
  98. package/dist/runtime/components/input/input-rating.vue +13 -13
  99. package/dist/runtime/components/input/input-recaptcha.vue +19 -19
  100. package/dist/runtime/components/input/input-search.vue +69 -69
  101. package/dist/runtime/components/input/input-select-tag.vue +51 -51
  102. package/dist/runtime/components/input/input-select.vue +42 -42
  103. package/dist/runtime/components/input/input-slider.vue +19 -19
  104. package/dist/runtime/components/input/input-switch.vue +25 -25
  105. package/dist/runtime/components/input/input-tag.vue +37 -37
  106. package/dist/runtime/components/input/input-text-field.vue +83 -83
  107. package/dist/runtime/components/input/input-textarea.vue +54 -54
  108. package/dist/runtime/components/label/label-announce-time.vue +9 -9
  109. package/dist/runtime/components/label/label-card-atom.vue +8 -8
  110. package/dist/runtime/components/list/list-menu.vue +13 -13
  111. package/dist/runtime/components/modal/modal-2FA-generate.vue +62 -62
  112. package/dist/runtime/components/modal/modal-2FA.vue +21 -21
  113. package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
  114. package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
  115. package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
  116. package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
  117. package/dist/runtime/components/modal/modal-email-OTP.vue +31 -31
  118. package/dist/runtime/components/modal/modal-password-new.vue +27 -27
  119. package/dist/runtime/components/modal/modal-password.vue +27 -27
  120. package/dist/runtime/components/modal/modal-personal-card-ID.vue +194 -194
  121. package/dist/runtime/components/modal/modal-phone-OTP.vue +38 -38
  122. package/dist/runtime/components/modal/modal-profile-edit.vue +165 -165
  123. package/dist/runtime/components/modal/modal-province-domain.vue +23 -23
  124. package/dist/runtime/components/modal/modal-report.vue +49 -49
  125. package/dist/runtime/components/modal/modal-review-detail.vue +118 -118
  126. package/dist/runtime/components/modal/modal-secure.vue +10 -10
  127. package/dist/runtime/components/modal/modal-share.vue +24 -24
  128. package/dist/runtime/components/modal/modal-user-account-list.vue +29 -29
  129. package/dist/runtime/components/modal/modal-user-account-search.vue +24 -24
  130. package/dist/runtime/components/modal/modal.vue +27 -27
  131. package/dist/runtime/components/pagination.vue +43 -43
  132. package/dist/runtime/components/picker/picker-image-cover-profile.vue +91 -91
  133. package/dist/runtime/components/picker/picker-image-profile.vue +82 -82
  134. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +14 -14
  135. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +27 -27
  136. package/dist/runtime/components/profile-cover.vue +80 -80
  137. package/dist/runtime/components/progress-bar.vue +9 -9
  138. package/dist/runtime/components/read-more-text.vue +1 -1
  139. package/dist/runtime/components/tab.vue +78 -78
  140. package/dist/runtime/components/table.d.vue.ts +6 -6
  141. package/dist/runtime/components/table.vue +82 -82
  142. package/dist/runtime/components/table.vue.d.ts +6 -6
  143. package/dist/runtime/components/tooltip.vue +19 -19
  144. package/dist/runtime/components/ui/alert/Alert.vue +7 -7
  145. package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
  146. package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
  147. package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
  148. package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
  149. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
  150. package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
  151. package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
  152. package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
  153. package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
  154. package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
  155. package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  156. package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
  157. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
  158. package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
  159. package/dist/runtime/components/ui/button/Button.vue +8 -8
  160. package/dist/runtime/components/ui/card/Card.vue +8 -8
  161. package/dist/runtime/components/ui/card/CardAction.vue +6 -6
  162. package/dist/runtime/components/ui/card/CardContent.vue +6 -6
  163. package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
  164. package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
  165. package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
  166. package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
  167. package/dist/runtime/components/ui/checkbox/Checkbox.vue +14 -14
  168. package/dist/runtime/components/ui/command/Command.vue +7 -7
  169. package/dist/runtime/components/ui/command/CommandDialog.d.vue.ts +1 -1
  170. package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
  171. package/dist/runtime/components/ui/command/CommandDialog.vue.d.ts +1 -1
  172. package/dist/runtime/components/ui/command/CommandEmpty.vue +10 -10
  173. package/dist/runtime/components/ui/command/CommandGroup.vue +12 -12
  174. package/dist/runtime/components/ui/command/CommandInput.vue +13 -13
  175. package/dist/runtime/components/ui/command/CommandItem.vue +11 -11
  176. package/dist/runtime/components/ui/command/CommandList.vue +9 -9
  177. package/dist/runtime/components/ui/command/CommandSeparator.vue +7 -7
  178. package/dist/runtime/components/ui/command/CommandShortcut.vue +6 -6
  179. package/dist/runtime/components/ui/dialog/Dialog.vue +3 -3
  180. package/dist/runtime/components/ui/dialog/DialogClose.vue +3 -3
  181. package/dist/runtime/components/ui/dialog/DialogContent.vue +21 -21
  182. package/dist/runtime/components/ui/dialog/DialogDescription.vue +7 -7
  183. package/dist/runtime/components/ui/dialog/DialogFooter.vue +3 -3
  184. package/dist/runtime/components/ui/dialog/DialogHeader.vue +6 -6
  185. package/dist/runtime/components/ui/dialog/DialogOverlay.vue +7 -7
  186. package/dist/runtime/components/ui/dialog/DialogScrollContent.vue +20 -20
  187. package/dist/runtime/components/ui/dialog/DialogTitle.vue +7 -7
  188. package/dist/runtime/components/ui/dialog/DialogTrigger.vue +3 -3
  189. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
  190. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +12 -12
  191. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +9 -9
  192. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +6 -6
  193. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +9 -9
  194. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +8 -8
  195. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +6 -6
  196. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +16 -16
  197. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +5 -5
  198. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +6 -6
  199. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -3
  200. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +7 -7
  201. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +8 -8
  202. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +6 -6
  203. package/dist/runtime/components/ui/form/FormControl.vue +8 -8
  204. package/dist/runtime/components/ui/form/FormDescription.vue +7 -7
  205. package/dist/runtime/components/ui/form/FormItem.vue +3 -3
  206. package/dist/runtime/components/ui/form/FormLabel.vue +8 -8
  207. package/dist/runtime/components/ui/form/FormMessage.vue +7 -7
  208. package/dist/runtime/components/ui/input/Input.vue +5 -5
  209. package/dist/runtime/components/ui/input-group/InputGroup.vue +7 -7
  210. package/dist/runtime/components/ui/input-group/InputGroupAddon.vue +9 -9
  211. package/dist/runtime/components/ui/input-group/InputGroupButton.vue +7 -7
  212. package/dist/runtime/components/ui/input-group/InputGroupInput.vue +4 -4
  213. package/dist/runtime/components/ui/input-group/InputGroupText.vue +5 -5
  214. package/dist/runtime/components/ui/input-group/InputGroupTextarea.vue +4 -4
  215. package/dist/runtime/components/ui/label/Label.vue +7 -7
  216. package/dist/runtime/components/ui/pagination/Pagination.vue +8 -8
  217. package/dist/runtime/components/ui/pagination/PaginationContent.vue +8 -8
  218. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +10 -10
  219. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +10 -10
  220. package/dist/runtime/components/ui/pagination/PaginationItem.vue +7 -7
  221. package/dist/runtime/components/ui/pagination/PaginationLast.vue +10 -10
  222. package/dist/runtime/components/ui/pagination/PaginationNext.vue +10 -10
  223. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +10 -10
  224. package/dist/runtime/components/ui/pin-input/PinInput.vue +8 -8
  225. package/dist/runtime/components/ui/pin-input/PinInputGroup.vue +7 -7
  226. package/dist/runtime/components/ui/pin-input/PinInputSeparator.vue +3 -3
  227. package/dist/runtime/components/ui/pin-input/PinInputSlot.vue +5 -5
  228. package/dist/runtime/components/ui/popover/Popover.vue +7 -7
  229. package/dist/runtime/components/ui/popover/PopoverAnchor.vue +6 -6
  230. package/dist/runtime/components/ui/popover/PopoverContent.vue +5 -5
  231. package/dist/runtime/components/ui/popover/PopoverTrigger.vue +6 -6
  232. package/dist/runtime/components/ui/select/Select.vue +7 -7
  233. package/dist/runtime/components/ui/select/SelectContent.vue +10 -10
  234. package/dist/runtime/components/ui/select/SelectGroup.vue +6 -6
  235. package/dist/runtime/components/ui/select/SelectItem.vue +17 -17
  236. package/dist/runtime/components/ui/select/SelectItemText.vue +6 -6
  237. package/dist/runtime/components/ui/select/SelectLabel.vue +6 -6
  238. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +6 -6
  239. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +6 -6
  240. package/dist/runtime/components/ui/select/SelectSeparator.vue +5 -5
  241. package/dist/runtime/components/ui/select/SelectTrigger.vue +11 -11
  242. package/dist/runtime/components/ui/select/SelectValue.vue +6 -6
  243. package/dist/runtime/components/ui/sheet/Sheet.vue +3 -3
  244. package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
  245. package/dist/runtime/components/ui/sheet/SheetContent.vue +20 -20
  246. package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
  247. package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
  248. package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
  249. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
  250. package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
  251. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
  252. package/dist/runtime/components/ui/spinner/Spinner.vue +5 -5
  253. package/dist/runtime/components/ui/table/Table.vue +5 -5
  254. package/dist/runtime/components/ui/table/TableBody.vue +6 -6
  255. package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
  256. package/dist/runtime/components/ui/table/TableCell.vue +6 -6
  257. package/dist/runtime/components/ui/table/TableEmpty.vue +10 -10
  258. package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
  259. package/dist/runtime/components/ui/table/TableHead.vue +6 -6
  260. package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
  261. package/dist/runtime/components/ui/table/TableRow.vue +6 -6
  262. package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
  263. package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
  264. package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
  265. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
  266. package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
  267. package/dist/runtime/components/video.vue +2 -2
  268. package/package.json +2 -2
@@ -1,100 +1,100 @@
1
1
  <template>
2
- <Dropdown>
3
- <template #default="{ isOpen }">
4
- <Button
5
- prepend-icon="lucide:camera"
6
- size="small"
7
- variant="flat-outline"
8
- color="black"
9
- >
10
- แก้ไขรูปภาพหน้าปก</Button
11
- >
12
- </template>
13
- <template #content>
14
- <div
15
- class="flex gap-[4px] px-[8px] py-[8px] items-center cursor-pointer hover:bg-gray-100"
16
- @click="onEditImage"
17
- >
18
- <Icon name="lucide:crop" />
19
- <div class="font-body-medium">แก้ไขรูปภาพหน้าปก</div>
20
- </div>
21
- <div
22
- class="flex gap-[4px] px-[8px] py-[8px] items-center cursor-pointer hover:bg-gray-100"
23
- @click="onUploadImage"
24
- >
25
- <Icon name="lucide:upload" />
26
- <div class="font-body-medium">อัปโหลดรูปภาพ</div>
27
- </div>
28
- </template>
29
- </Dropdown>
30
- <input
31
- ref="fileInputRef"
32
- type="file"
33
- accept="image/*"
34
- @change="onFileChange"
35
- class="hidden"
36
- />
37
- <Modal
38
- title="ปรับแต่งรูปภาพหน้าปก"
39
- :width="632"
40
- v-model="isOpenModal"
41
- divider
42
- disabled-padding-content
43
- >
44
- <div
45
- class="flex justify-center items-center rounded-[8px] overflow-hidden relative p-[16px]"
46
- >
47
- <ImageCropper
48
- v-if="imageUrl"
49
- ref="cropperRef"
50
- dragMode="move"
2
+ <Dropdown>
3
+ <template #default="{ isOpen }">
4
+ <Button
5
+ prepend-icon="lucide:camera"
6
+ size="small"
7
+ variant="flat-outline"
8
+ color="black"
9
+ >
10
+ แก้ไขรูปภาพหน้าปก</Button
11
+ >
12
+ </template>
13
+ <template #content>
14
+ <div
15
+ class="flex gap-[4px] px-[8px] py-[8px] items-center cursor-pointer hover:bg-gray-100"
16
+ @click="onEditImage"
17
+ >
18
+ <Icon name="lucide:crop" />
19
+ <div class="font-body-medium">แก้ไขรูปภาพหน้าปก</div>
20
+ </div>
21
+ <div
22
+ class="flex gap-[4px] px-[8px] py-[8px] items-center cursor-pointer hover:bg-gray-100"
23
+ @click="onUploadImage"
24
+ >
25
+ <Icon name="lucide:upload" />
26
+ <div class="font-body-medium">อัปโหลดรูปภาพ</div>
27
+ </div>
28
+ </template>
29
+ </Dropdown>
30
+ <input
31
+ ref="fileInputRef"
32
+ type="file"
33
+ accept="image/*"
34
+ @change="onFileChange"
35
+ class="hidden"
36
+ />
37
+ <Modal
38
+ title="ปรับแต่งรูปภาพหน้าปก"
39
+ :width="632"
40
+ v-model="isOpenModal"
41
+ divider
42
+ disabled-padding-content
43
+ >
44
+ <div
45
+ class="flex justify-center items-center rounded-[8px] overflow-hidden relative p-[16px]"
46
+ >
47
+ <ImageCropper
48
+ v-if="imageUrl"
49
+ ref="cropperRef"
50
+ dragMode="move"
51
51
  :container-style="{
52
52
  width: '600px',
53
53
  height: '240px',
54
54
  overflow: 'hidden',
55
55
  position: 'relative'
56
- }"
57
- :img-style="{ display: 'block', maxWidth: '100%', maxHeight: '100%' }"
58
- :src="imageUrl"
59
- :aspect-ratio="5 / 2"
60
- :initial-aspect-ratio="5 / 2"
61
- :view-mode="3"
62
- :guides="false"
63
- :movable="true"
64
- :crop-box-movable="false"
65
- :crop-box-resizable="false"
66
- :background="false"
67
- :center="false"
68
- :auto-crop-area="1"
69
- :responsive="true"
70
- :zoom-on-wheel="false"
71
- :zoom-on-touch="false"
72
- :zoomable="false"
73
- :rotatable="false"
74
- :scalable="false"
75
- />
76
-
77
- <div
78
- class="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none"
79
- >
80
- <div
81
- class="flex h-[40px] items-center gap-[8px] px-[16px] py-[8px] rounded-[8px] bg-black/60"
82
- >
83
- <Icon name="lucide:move" color="white" />
84
- <div class="text-white font-body-large">ลากเพื่อเปลี่ยนตำแหน่ง</div>
85
- </div>
86
- </div>
87
- </div>
88
-
89
- <template #footer>
90
- <div class="flex items-center gap-[16px] w-full">
91
- <Button variant="outline" full-width @click="onCancel"> ยกเลิก </Button>
92
- <Button color="primary" full-width @click="onCropImage">
93
- บันทึก
94
- </Button>
95
- </div>
96
- </template>
97
- </Modal>
56
+ }"
57
+ :img-style="{ display: 'block', maxWidth: '100%', maxHeight: '100%' }"
58
+ :src="imageUrl"
59
+ :aspect-ratio="5 / 2"
60
+ :initial-aspect-ratio="5 / 2"
61
+ :view-mode="3"
62
+ :guides="false"
63
+ :movable="true"
64
+ :crop-box-movable="false"
65
+ :crop-box-resizable="false"
66
+ :background="false"
67
+ :center="false"
68
+ :auto-crop-area="1"
69
+ :responsive="true"
70
+ :zoom-on-wheel="false"
71
+ :zoom-on-touch="false"
72
+ :zoomable="false"
73
+ :rotatable="false"
74
+ :scalable="false"
75
+ />
76
+
77
+ <div
78
+ class="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none"
79
+ >
80
+ <div
81
+ class="flex h-[40px] items-center gap-[8px] px-[16px] py-[8px] rounded-[8px] bg-black/60"
82
+ >
83
+ <Icon name="lucide:move" color="white" />
84
+ <div class="text-white font-body-large">ลากเพื่อเปลี่ยนตำแหน่ง</div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+
89
+ <template #footer>
90
+ <div class="flex items-center gap-[16px] w-full">
91
+ <Button variant="outline" full-width @click="onCancel"> ยกเลิก </Button>
92
+ <Button color="primary" full-width @click="onCropImage">
93
+ บันทึก
94
+ </Button>
95
+ </div>
96
+ </template>
97
+ </Modal>
98
98
  </template>
99
99
 
100
100
  <script setup>
@@ -1,91 +1,91 @@
1
1
  <template>
2
- <label class="relative cursor-pointer">
3
- <input
4
- ref="fileInputRef"
5
- type="file"
6
- accept="image/*"
7
- class="absolute w-full h-full hidden cursor-pointer"
8
- @change="onChange"
9
- />
10
-
11
- <div @click="onTriggerFileInput">
12
- <slot name="default" />
13
- </div>
14
- </label>
15
-
16
- <Modal
17
- title="ปรับแต่งรูปภาพหน้าปก"
18
- width="500"
19
- title-position="left"
20
- divider-header
21
- divider-footer
22
- disabled-padding-content
23
- v-model="isOpenModal"
24
- >
25
- <div
26
- class="h-[500px] flex justify-center items-center overflow-hidden circular-cropper-container"
27
- >
28
- <ImageCropper
29
- v-if="imageFile"
30
- ref="cropperRef"
31
- dragMode="move"
2
+ <label class="relative cursor-pointer">
3
+ <input
4
+ ref="fileInputRef"
5
+ type="file"
6
+ accept="image/*"
7
+ class="absolute w-full h-full hidden cursor-pointer"
8
+ @change="onChange"
9
+ />
10
+
11
+ <div @click="onTriggerFileInput">
12
+ <slot name="default" />
13
+ </div>
14
+ </label>
15
+
16
+ <Modal
17
+ title="ปรับแต่งรูปภาพหน้าปก"
18
+ width="500"
19
+ title-position="left"
20
+ divider-header
21
+ divider-footer
22
+ disabled-padding-content
23
+ v-model="isOpenModal"
24
+ >
25
+ <div
26
+ class="h-[500px] flex justify-center items-center overflow-hidden circular-cropper-container"
27
+ >
28
+ <ImageCropper
29
+ v-if="imageFile"
30
+ ref="cropperRef"
31
+ dragMode="move"
32
32
  :container-style="{
33
33
  width: '320px',
34
34
  height: '320px',
35
35
  overflow: 'visible',
36
36
  position: 'relative'
37
- }"
38
- :img-style="{ display: 'block', maxWidth: '100%', maxHeight: '100%' }"
39
- :src="imageUrl"
40
- :aspect-ratio="1"
41
- :initial-aspect-ratio="1"
42
- :view-mode="3"
43
- :guides="false"
44
- :movable="true"
45
- :crop-box-movable="false"
46
- :crop-box-resizable="false"
47
- :background="false"
48
- :center="false"
49
- :min-crop-box-width="320"
50
- :min-crop-box-height="320"
51
- :min-canvas-width="320"
52
- :min-canvas-height="320"
53
- :auto-crop-area="1"
54
- :responsive="true"
55
- :zoom-on-wheel="false"
56
- :zoom-on-touch="false"
57
- @zoom="onZoom"
58
- />
59
- </div>
60
-
61
- <div class="p-[16px] flex gap-[16px] items-center text-mercury">
62
- <Button variant="text" disabled-padding @click="onZoomOut">
63
- <Icon name="f7:minus" size="16" />
64
- </Button>
65
- <InputSlider
66
- thumb-size="16"
67
- :min="isZoomMin"
68
- :max="isZoomMax"
69
- :step="isZoomStep"
70
- full-width
71
- v-model="isZoom"
72
- />
73
- <Button variant="text" disabled-padding @click="onZoomIn">
74
- <Icon name="f7:plus" size="16" />
75
- </Button>
76
- </div>
77
-
78
- <template #footer>
79
- <div class="flex items-center gap-[16px]">
80
- <Button variant="outline" full-width @click="isOpenModal = false">
81
- ยกเลิก
82
- </Button>
83
- <Button color="primary" full-width @click="onCropImage">
84
- บันทึก
85
- </Button>
86
- </div>
87
- </template>
88
- </Modal>
37
+ }"
38
+ :img-style="{ display: 'block', maxWidth: '100%', maxHeight: '100%' }"
39
+ :src="imageUrl"
40
+ :aspect-ratio="1"
41
+ :initial-aspect-ratio="1"
42
+ :view-mode="3"
43
+ :guides="false"
44
+ :movable="true"
45
+ :crop-box-movable="false"
46
+ :crop-box-resizable="false"
47
+ :background="false"
48
+ :center="false"
49
+ :min-crop-box-width="320"
50
+ :min-crop-box-height="320"
51
+ :min-canvas-width="320"
52
+ :min-canvas-height="320"
53
+ :auto-crop-area="1"
54
+ :responsive="true"
55
+ :zoom-on-wheel="false"
56
+ :zoom-on-touch="false"
57
+ @zoom="onZoom"
58
+ />
59
+ </div>
60
+
61
+ <div class="p-[16px] flex gap-[16px] items-center text-mercury">
62
+ <Button variant="text" disabled-padding @click="onZoomOut">
63
+ <Icon name="f7:minus" size="16" />
64
+ </Button>
65
+ <InputSlider
66
+ thumb-size="16"
67
+ :min="isZoomMin"
68
+ :max="isZoomMax"
69
+ :step="isZoomStep"
70
+ full-width
71
+ v-model="isZoom"
72
+ />
73
+ <Button variant="text" disabled-padding @click="onZoomIn">
74
+ <Icon name="f7:plus" size="16" />
75
+ </Button>
76
+ </div>
77
+
78
+ <template #footer>
79
+ <div class="flex items-center gap-[16px]">
80
+ <Button variant="outline" full-width @click="isOpenModal = false">
81
+ ยกเลิก
82
+ </Button>
83
+ <Button color="primary" full-width @click="onCropImage">
84
+ บันทึก
85
+ </Button>
86
+ </div>
87
+ </template>
88
+ </Modal>
89
89
  </template>
90
90
 
91
91
  <script setup>
@@ -1,18 +1,18 @@
1
1
  <template>
2
- <PickerOptionMenu
3
- :items="items"
4
- :variant="props.variant"
5
- :disabled-padding="props.disabledPadding"
6
- :circle="props.circle"
7
- :horizontal="props.horizontal"
8
- :size="props.size"
9
- :icon-size="props.iconSize"
10
- :disabled="props.disabled"
11
- />
12
-
13
- <ModalShare v-model="isOpenModalShare" />
14
- <ModalReport state v-model="isOpenModalReport" />
15
- <ModalProfileEdit v-model="isOpenModalProfileEdit" />
2
+ <PickerOptionMenu
3
+ :items="items"
4
+ :variant="props.variant"
5
+ :disabled-padding="props.disabledPadding"
6
+ :circle="props.circle"
7
+ :horizontal="props.horizontal"
8
+ :size="props.size"
9
+ :icon-size="props.iconSize"
10
+ :disabled="props.disabled"
11
+ />
12
+
13
+ <ModalShare v-model="isOpenModalShare" />
14
+ <ModalReport state v-model="isOpenModalReport" />
15
+ <ModalProfileEdit v-model="isOpenModalProfileEdit" />
16
16
  </template>
17
17
 
18
18
  <script setup>
@@ -1,37 +1,37 @@
1
1
  <template>
2
- <Dropdown v-model="isOpenDrawer">
3
- <Button
4
- :variant="props.variant"
5
- :disabled-padding="props.disabledPadding"
6
- :circle="props.circle"
7
- :color="props.variant === 'text' ? 'black' : 'default'"
8
- :icon-size="props.iconSize"
9
- :size="props.size"
2
+ <Dropdown v-model="isOpenDrawer">
3
+ <Button
4
+ :variant="props.variant"
5
+ :disabled-padding="props.disabledPadding"
6
+ :circle="props.circle"
7
+ :color="props.variant === 'text' ? 'black' : 'default'"
8
+ :icon-size="props.iconSize"
9
+ :size="props.size"
10
10
  :prepend-icon="
11
11
  props.horizontal ? 'lucide:ellipsis' : 'lucide:ellipsis-vertical'
12
- "
13
- :disabled="props.disabled"
14
- />
15
-
16
- <template #content>
17
- <div v-for="(item, i) in props.items" :key="i" class="flex flex-col">
18
- <div
12
+ "
13
+ :disabled="props.disabled"
14
+ />
15
+
16
+ <template #content>
17
+ <div v-for="(item, i) in props.items" :key="i" class="flex flex-col">
18
+ <div
19
19
  :class="[
20
20
  'flex gap-[4px] p-[8px] items-center cursor-pointer hover:bg-smoke',
21
21
  i == 0 && 'rounded-t-[8px]',
22
22
  i == props.items.length - 1 && 'rounded-b-[8px]'
23
- ]"
24
- @click="onAction(item)"
25
- >
26
- <Icon :name="item.icon" size="16" />
27
- <div class="font-body-large">
28
- {{ item.label }}
29
- </div>
30
- </div>
31
- <Divider v-if="i !== props.items.length - 1" height="0" />
32
- </div>
33
- </template>
34
- </Dropdown>
23
+ ]"
24
+ @click="onAction(item)"
25
+ >
26
+ <Icon :name="item.icon" size="16" />
27
+ <div class="font-body-large">
28
+ {{ item.label }}
29
+ </div>
30
+ </div>
31
+ <Divider v-if="i !== props.items.length - 1" height="0" />
32
+ </div>
33
+ </template>
34
+ </Dropdown>
35
35
  </template>
36
36
 
37
37
  <script setup>
@@ -1,84 +1,84 @@
1
1
  <template>
2
- <!-- <div class="h-[512px] w-full">
3
- <div class="relative">
4
- <Image :height="512" />
5
- <div class="absolute bottom-[24px] right-[24px]" v-if="props.isMyProfile">
6
- <PickerImageCoverProfile />
7
- </div>
8
- </div>
9
- <div class="relative w-full p-[24px] pl-[200px]">
10
- <div
11
- class="absolute left-[24px] top-[-86px] flex justify-center p-[24px]"
12
- >
13
- <div class="relative">
14
- <Avatar :size="128" class="border-[6px] border-white" />
15
- <div class="absolute bottom-0 right-0" v-if="props.isMyProfile">
16
- <PickerImageProfile>
17
- <Button
18
- circle
19
- size="small"
20
- :icon-size="20"
21
- prepend-icon="lucide:camera"
22
- />
23
- </PickerImageProfile>
24
- </div>
25
- </div>
26
- </div>
27
- <div class="flex gap-[100px]">
28
- <div class="flex flex-col gap-[8px] w-full">
29
- <div class="inline-flex flex-wrap items-center gap-[16px]">
30
- <div class="font-headline-medium-prominent">
31
- {{ props.item?.profile_name || props.item?.id || "-" }}
32
- </div>
33
- <Icon name="pukaad:verify" size="20" />
34
- </div>
35
- <div class="flex gap-[24px] text-gray font-body-large">
36
- <div
37
- v-for="info in infoToShow"
38
- :key="info.label"
39
- class="flex gap-[4px]"
40
- >
41
- {{ info.label }}
42
- <div class="text-black">{{ info.value }}</div>
43
- </div>
44
- </div>
45
- </div>
46
- <div class="flex gap-[16px] items-center">
47
- <template v-if="props.isMyProfile">
48
- <Button
49
- prepend-icon="lucide:plus"
50
- :icon-size="20"
51
- color="primary"
52
- @click="emit('create-post')"
53
- >
54
- สร้างโพสต์
55
- </Button>
56
- <PickerOptionMenuUser state="my-profile" disabled-padding />
57
- </template>
58
- <template v-else>
59
- <Button
60
- prepend-icon="lucide:message-circle"
61
- :icon-size="20"
62
- color="primary"
63
- @click="emit('chat')"
64
- >
65
- แชท
66
- </Button>
67
- <Button
68
- v-if="!props.isMyProfile"
69
- prepend-icon="lucide:user-round-plus"
70
- :icon-size="20"
71
- variant="outline"
72
- @click="emit('follow')"
73
- >
74
- ติดตาม
75
- </Button>
76
- <PickerOptionMenuUser state="profile" disabled-padding />
77
- </template>
78
- </div>
79
- </div>
80
- </div>
81
- </div> -->
2
+ <!-- <div class="h-[512px] w-full">
3
+ <div class="relative">
4
+ <Image :height="512" />
5
+ <div class="absolute bottom-[24px] right-[24px]" v-if="props.isMyProfile">
6
+ <PickerImageCoverProfile />
7
+ </div>
8
+ </div>
9
+ <div class="relative w-full p-[24px] pl-[200px]">
10
+ <div
11
+ class="absolute left-[24px] top-[-86px] flex justify-center p-[24px]"
12
+ >
13
+ <div class="relative">
14
+ <Avatar :size="128" class="border-[6px] border-white" />
15
+ <div class="absolute bottom-0 right-0" v-if="props.isMyProfile">
16
+ <PickerImageProfile>
17
+ <Button
18
+ circle
19
+ size="small"
20
+ :icon-size="20"
21
+ prepend-icon="lucide:camera"
22
+ />
23
+ </PickerImageProfile>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ <div class="flex gap-[100px]">
28
+ <div class="flex flex-col gap-[8px] w-full">
29
+ <div class="inline-flex flex-wrap items-center gap-[16px]">
30
+ <div class="font-headline-medium-prominent">
31
+ {{ props.item?.profile_name || props.item?.id || "-" }}
32
+ </div>
33
+ <Icon name="pukaad:verify" size="20" />
34
+ </div>
35
+ <div class="flex gap-[24px] text-gray font-body-large">
36
+ <div
37
+ v-for="info in infoToShow"
38
+ :key="info.label"
39
+ class="flex gap-[4px]"
40
+ >
41
+ {{ info.label }}
42
+ <div class="text-black">{{ info.value }}</div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ <div class="flex gap-[16px] items-center">
47
+ <template v-if="props.isMyProfile">
48
+ <Button
49
+ prepend-icon="lucide:plus"
50
+ :icon-size="20"
51
+ color="primary"
52
+ @click="emit('create-post')"
53
+ >
54
+ สร้างโพสต์
55
+ </Button>
56
+ <PickerOptionMenuUser state="my-profile" disabled-padding />
57
+ </template>
58
+ <template v-else>
59
+ <Button
60
+ prepend-icon="lucide:message-circle"
61
+ :icon-size="20"
62
+ color="primary"
63
+ @click="emit('chat')"
64
+ >
65
+ แชท
66
+ </Button>
67
+ <Button
68
+ v-if="!props.isMyProfile"
69
+ prepend-icon="lucide:user-round-plus"
70
+ :icon-size="20"
71
+ variant="outline"
72
+ @click="emit('follow')"
73
+ >
74
+ ติดตาม
75
+ </Button>
76
+ <PickerOptionMenuUser state="profile" disabled-padding />
77
+ </template>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div> -->
82
82
  </template>
83
83
 
84
84
  <script setup>
@@ -1,21 +1,21 @@
1
1
  <template>
2
- <div
3
- class="rounded-full"
2
+ <div
3
+ class="rounded-full"
4
4
  :style="{
5
5
  backgroundColor: props.colorBackground,
6
6
  height: `${props.height}px`,
7
7
  width: props.fullWidth ? '100%' : `${props.width}px`
8
- }"
9
- >
10
- <div
11
- class="rounded-full"
8
+ }"
9
+ >
10
+ <div
11
+ class="rounded-full"
12
12
  :style="{
13
13
  backgroundColor: props.colorActive,
14
14
  height: `${props.height}px`,
15
15
  width: `${value}%`
16
- }"
17
- ></div>
18
- </div>
16
+ }"
17
+ ></div>
18
+ </div>
19
19
  </template>
20
20
 
21
21
  <script setup>