pukaad-ui-lib 1.459.0 → 1.461.0

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 (419) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/assets/json/social-icon.json +76 -76
  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/file-jpg.svg +14 -14
  11. package/dist/runtime/assets/svg/file-pdf.svg +13 -13
  12. package/dist/runtime/assets/svg/flags/cn.svg +15 -15
  13. package/dist/runtime/assets/svg/flags/th.svg +12 -12
  14. package/dist/runtime/assets/svg/flags/uk.svg +14 -14
  15. package/dist/runtime/assets/svg/heart-fill.svg +2 -2
  16. package/dist/runtime/assets/svg/id-card-example-1.svg +18 -18
  17. package/dist/runtime/assets/svg/id-card-example.svg +9 -9
  18. package/dist/runtime/assets/svg/id-card-guideline.svg +7 -7
  19. package/dist/runtime/assets/svg/id-card-selfie-guideline.svg +15 -15
  20. package/dist/runtime/assets/svg/map-location-dot.svg +9 -9
  21. package/dist/runtime/assets/svg/map-pin.svg +6 -6
  22. package/dist/runtime/assets/svg/memsg-circle.svg +7 -7
  23. package/dist/runtime/assets/svg/memsg-fade.svg +5 -5
  24. package/dist/runtime/assets/svg/memsg-logo-outline.svg +3 -3
  25. package/dist/runtime/assets/svg/memsg-square.svg +9 -9
  26. package/dist/runtime/assets/svg/message.svg +3 -3
  27. package/dist/runtime/assets/svg/page-not-found.svg +9 -9
  28. package/dist/runtime/assets/svg/passport-example.svg +26 -26
  29. package/dist/runtime/assets/svg/passport-guideline.svg +6 -6
  30. package/dist/runtime/assets/svg/share-from-square.svg +3 -3
  31. package/dist/runtime/assets/svg/share.svg +2 -2
  32. package/dist/runtime/assets/svg/shopping-cart.svg +16 -16
  33. package/dist/runtime/assets/svg/socials/Email.svg +12 -12
  34. package/dist/runtime/assets/svg/socials/Facebook.svg +4 -4
  35. package/dist/runtime/assets/svg/socials/Instagram.svg +14 -14
  36. package/dist/runtime/assets/svg/socials/Line.svg +11 -11
  37. package/dist/runtime/assets/svg/socials/LinkedIn.svg +5 -5
  38. package/dist/runtime/assets/svg/socials/Pinterest.svg +4 -4
  39. package/dist/runtime/assets/svg/socials/SnapChat.svg +5 -5
  40. package/dist/runtime/assets/svg/socials/Threads.svg +12 -12
  41. package/dist/runtime/assets/svg/socials/TikTok.svg +6 -6
  42. package/dist/runtime/assets/svg/socials/Tumblr.svg +4 -4
  43. package/dist/runtime/assets/svg/socials/Website.svg +11 -11
  44. package/dist/runtime/assets/svg/socials/WhatsApp.svg +5 -5
  45. package/dist/runtime/assets/svg/socials/X.svg +4 -4
  46. package/dist/runtime/assets/svg/socials/YouTube.svg +5 -5
  47. package/dist/runtime/assets/svg/tag-empty.svg +25 -25
  48. package/dist/runtime/assets/svg/thumbs-up-regular.svg +9 -9
  49. package/dist/runtime/assets/svg/thumbs-up-solid.svg +2 -2
  50. package/dist/runtime/assets/svg/vector.svg +2 -2
  51. package/dist/runtime/assets/svg/verify.svg +10 -10
  52. package/dist/runtime/assets/svg/write-review.svg +15 -15
  53. package/dist/runtime/components/avatar-profile.vue +29 -29
  54. package/dist/runtime/components/avatar.vue +20 -20
  55. package/dist/runtime/components/badge/badge-count.vue +17 -17
  56. package/dist/runtime/components/button.vue +18 -18
  57. package/dist/runtime/components/card/card-blog.vue +47 -47
  58. package/dist/runtime/components/card/card-color-post-it.d.vue.ts +10 -0
  59. package/dist/runtime/components/card/card-color-post-it.vue +46 -0
  60. package/dist/runtime/components/card/card-color-post-it.vue.d.ts +10 -0
  61. package/dist/runtime/components/card/card-content/card-content-close.vue +9 -9
  62. package/dist/runtime/components/card/card-content/card-content-disable.vue +3 -3
  63. package/dist/runtime/components/card/card-content/card-content-image.vue +21 -21
  64. package/dist/runtime/components/card/card-content/card-content-menu.vue +14 -14
  65. package/dist/runtime/components/card/card-content/card-content-post-it.vue +21 -21
  66. package/dist/runtime/components/card/card-content/card-content-recommend.vue +32 -32
  67. package/dist/runtime/components/card/card-content/card-content-select.vue +9 -9
  68. package/dist/runtime/components/card/card-content/card-content-time.vue +7 -7
  69. package/dist/runtime/components/card/card-content/card-content-video.vue +25 -25
  70. package/dist/runtime/components/card/card-content/card-content.vue +46 -46
  71. package/dist/runtime/components/card/card-file.vue +35 -35
  72. package/dist/runtime/components/card/card-mention/card-mention-skeleton.vue +14 -14
  73. package/dist/runtime/components/card/card-mention/card-mention.d.vue.ts +3 -1
  74. package/dist/runtime/components/card/card-mention/card-mention.vue +81 -80
  75. package/dist/runtime/components/card/card-mention/card-mention.vue.d.ts +3 -1
  76. package/dist/runtime/components/card/card-opening-hours.vue +50 -50
  77. package/dist/runtime/components/card/card-place/card-place-detail.vue +95 -95
  78. package/dist/runtime/components/card/card-place/card-place-item.vue +53 -53
  79. package/dist/runtime/components/card/card-place/card-place-search-row.vue +38 -38
  80. package/dist/runtime/components/card/card-place/card-place.vue +42 -42
  81. package/dist/runtime/components/card/card-profile/card-profile-about.vue +81 -81
  82. package/dist/runtime/components/card/card-profile/card-profile-header.vue +94 -94
  83. package/dist/runtime/components/card/card-reaction.vue +23 -23
  84. package/dist/runtime/components/card/card-recommend/card-recommend-blog.vue +42 -42
  85. package/dist/runtime/components/card/card-recommend/card-recommend-place.vue +56 -56
  86. package/dist/runtime/components/card/card-recommend/card-recommend-profile.vue +47 -47
  87. package/dist/runtime/components/card/card-refer.vue +86 -86
  88. package/dist/runtime/components/card/card-review.vue +136 -136
  89. package/dist/runtime/components/card/card-spotlight.vue +18 -18
  90. package/dist/runtime/components/card/card-user/card-user-blog.vue +76 -76
  91. package/dist/runtime/components/card/card-user/card-user-item.vue +24 -24
  92. package/dist/runtime/components/card/card.vue +29 -29
  93. package/dist/runtime/components/carousel.vue +31 -31
  94. package/dist/runtime/components/chart/chart-approval-activity.vue +68 -68
  95. package/dist/runtime/components/chat/chat-conversation-item-skeleton.vue +7 -7
  96. package/dist/runtime/components/chat/chat-conversation-item.vue +46 -46
  97. package/dist/runtime/components/chat/chat-conversation-list.vue +26 -26
  98. package/dist/runtime/components/chat/chat-media-grid.vue +50 -50
  99. package/dist/runtime/components/chat/chat-media-viewer.vue +25 -25
  100. package/dist/runtime/components/chat/chat-message-bubble.d.vue.ts +3 -1
  101. package/dist/runtime/components/chat/chat-message-bubble.vue +113 -99
  102. package/dist/runtime/components/chat/chat-message-bubble.vue.d.ts +3 -1
  103. package/dist/runtime/components/chat/chat-room.d.vue.ts +6 -1
  104. package/dist/runtime/components/chat/chat-room.vue +147 -128
  105. package/dist/runtime/components/chat/chat-room.vue.d.ts +6 -1
  106. package/dist/runtime/components/chat/chat-welcome.vue +6 -6
  107. package/dist/runtime/components/chip.vue +10 -10
  108. package/dist/runtime/components/collapse/collapse-multiple.vue +42 -42
  109. package/dist/runtime/components/collapse/collapse.vue +23 -23
  110. package/dist/runtime/components/comment.vue +134 -134
  111. package/dist/runtime/components/data-table.vue +140 -140
  112. package/dist/runtime/components/display/display-image-place.vue +231 -231
  113. package/dist/runtime/components/display/display-image-review.vue +10 -10
  114. package/dist/runtime/components/display/display-image.vue +49 -49
  115. package/dist/runtime/components/display/display-rating-summary.vue +53 -53
  116. package/dist/runtime/components/display/display-video.vue +146 -146
  117. package/dist/runtime/components/divider.vue +8 -8
  118. package/dist/runtime/components/draggable.vue +15 -15
  119. package/dist/runtime/components/drawer/drawer-notification.vue +105 -105
  120. package/dist/runtime/components/drawer/drawer-post-blog.vue +70 -70
  121. package/dist/runtime/components/drawer/drawer-post-content.vue +156 -156
  122. package/dist/runtime/components/drawer/drawer-post-review.vue +77 -77
  123. package/dist/runtime/components/drawer/drawer-profile-about.vue +52 -52
  124. package/dist/runtime/components/drawer/drawer-profile-network.vue +241 -241
  125. package/dist/runtime/components/drawer/drawer-suggest-place/drawer-suggest-place.vue +112 -112
  126. package/dist/runtime/components/drawer/drawer-suggest-place/suggest-place-form.vue +150 -150
  127. package/dist/runtime/components/drawer/drawer-suggest-place/suggest-place-map.vue +3 -3
  128. package/dist/runtime/components/drawer/drawer.vue +24 -24
  129. package/dist/runtime/components/dropdown.vue +8 -8
  130. package/dist/runtime/components/filter/filter-list-chip.vue +10 -10
  131. package/dist/runtime/components/filter/filter-list.vue +17 -17
  132. package/dist/runtime/components/google-translate.client.vue +1 -1
  133. package/dist/runtime/components/icons.vue +1 -1
  134. package/dist/runtime/components/image/image-cropper.d.vue.ts +1 -1
  135. package/dist/runtime/components/image/image-cropper.vue +9 -9
  136. package/dist/runtime/components/image/image-cropper.vue.d.ts +1 -1
  137. package/dist/runtime/components/image/image.vue +27 -27
  138. package/dist/runtime/components/input/input-OTP.vue +27 -27
  139. package/dist/runtime/components/input/input-address.d.vue.ts +1 -1
  140. package/dist/runtime/components/input/input-address.vue +154 -154
  141. package/dist/runtime/components/input/input-address.vue.d.ts +1 -1
  142. package/dist/runtime/components/input/input-autocomplete.vue +101 -101
  143. package/dist/runtime/components/input/input-birth-date.vue +20 -20
  144. package/dist/runtime/components/input/input-chat.d.vue.ts +3 -1
  145. package/dist/runtime/components/input/input-chat.vue +97 -92
  146. package/dist/runtime/components/input/input-chat.vue.d.ts +3 -1
  147. package/dist/runtime/components/input/input-checkbox.vue +24 -24
  148. package/dist/runtime/components/input/input-combobox.vue +112 -112
  149. package/dist/runtime/components/input/input-comment.vue +45 -45
  150. package/dist/runtime/components/input/input-content.vue +32 -32
  151. package/dist/runtime/components/input/input-date-opening-special.vue +126 -126
  152. package/dist/runtime/components/input/input-date-opening.vue +96 -96
  153. package/dist/runtime/components/input/input-date-picker.vue +113 -113
  154. package/dist/runtime/components/input/input-email.vue +9 -9
  155. package/dist/runtime/components/input/input-file.d.vue.ts +1 -1
  156. package/dist/runtime/components/input/input-file.vue +149 -149
  157. package/dist/runtime/components/input/input-file.vue.d.ts +1 -1
  158. package/dist/runtime/components/input/input-id-card.vue +54 -54
  159. package/dist/runtime/components/input/input-link.vue +25 -25
  160. package/dist/runtime/components/input/input-localized-name.d.vue.ts +1 -1
  161. package/dist/runtime/components/input/input-localized-name.vue +26 -26
  162. package/dist/runtime/components/input/input-localized-name.vue.d.ts +1 -1
  163. package/dist/runtime/components/input/input-mention.d.vue.ts +1 -0
  164. package/dist/runtime/components/input/input-mention.vue +113 -126
  165. package/dist/runtime/components/input/input-mention.vue.d.ts +1 -0
  166. package/dist/runtime/components/input/input-passport.vue +44 -44
  167. package/dist/runtime/components/input/input-password.d.vue.ts +1 -1
  168. package/dist/runtime/components/input/input-password.vue +43 -43
  169. package/dist/runtime/components/input/input-password.vue.d.ts +1 -1
  170. package/dist/runtime/components/input/input-personal-card-id-selfie.vue +44 -44
  171. package/dist/runtime/components/input/input-personal-card-id.vue +44 -44
  172. package/dist/runtime/components/input/input-phone.vue +11 -11
  173. package/dist/runtime/components/input/input-profile-name.vue +10 -10
  174. package/dist/runtime/components/input/input-radio.vue +55 -55
  175. package/dist/runtime/components/input/input-rating.vue +6 -6
  176. package/dist/runtime/components/input/input-search.vue +71 -71
  177. package/dist/runtime/components/input/input-select-place.vue +153 -153
  178. package/dist/runtime/components/input/input-select-province.vue +94 -94
  179. package/dist/runtime/components/input/input-select.vue +57 -57
  180. package/dist/runtime/components/input/input-slider.vue +19 -19
  181. package/dist/runtime/components/input/input-suggest.vue +47 -47
  182. package/dist/runtime/components/input/input-switch.vue +25 -25
  183. package/dist/runtime/components/input/input-tag-modal.vue +85 -85
  184. package/dist/runtime/components/input/input-tag.vue +154 -154
  185. package/dist/runtime/components/input/input-text-field.vue +90 -90
  186. package/dist/runtime/components/input/input-textarea.vue +58 -58
  187. package/dist/runtime/components/input/input-typed-field.d.vue.ts +1 -1
  188. package/dist/runtime/components/input/input-typed-field.vue +51 -51
  189. package/dist/runtime/components/input/input-typed-field.vue.d.ts +1 -1
  190. package/dist/runtime/components/label/label-card-content.vue +49 -49
  191. package/dist/runtime/components/label/label.vue +45 -45
  192. package/dist/runtime/components/loading.vue +8 -8
  193. package/dist/runtime/components/modal/modal-2FA-generate.vue +48 -48
  194. package/dist/runtime/components/modal/modal-2FA.vue +28 -28
  195. package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
  196. package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
  197. package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
  198. package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
  199. package/dist/runtime/components/modal/modal-chat-share.d.vue.ts +17 -0
  200. package/dist/runtime/components/modal/modal-chat-share.vue +214 -0
  201. package/dist/runtime/components/modal/modal-chat-share.vue.d.ts +17 -0
  202. package/dist/runtime/components/modal/modal-display-image.vue +45 -45
  203. package/dist/runtime/components/modal/modal-email-OTP.vue +32 -32
  204. package/dist/runtime/components/modal/modal-forgot-password.vue +9 -9
  205. package/dist/runtime/components/modal/modal-media-view.vue +171 -171
  206. package/dist/runtime/components/modal/modal-passport.vue +151 -151
  207. package/dist/runtime/components/modal/modal-password-confirmed.vue +30 -30
  208. package/dist/runtime/components/modal/modal-password-new.vue +34 -34
  209. package/dist/runtime/components/modal/modal-password-verify.vue +13 -13
  210. package/dist/runtime/components/modal/modal-personal-card-ID-selfie.vue +116 -116
  211. package/dist/runtime/components/modal/modal-personal-card-ID.vue +162 -162
  212. package/dist/runtime/components/modal/modal-phone-OTP.vue +49 -49
  213. package/dist/runtime/components/modal/modal-profile-edit.vue +69 -71
  214. package/dist/runtime/components/modal/modal-province-domain.vue +25 -25
  215. package/dist/runtime/components/modal/modal-report.vue +48 -48
  216. package/dist/runtime/components/modal/modal-secure.vue +7 -7
  217. package/dist/runtime/components/modal/modal-share.vue +20 -20
  218. package/dist/runtime/components/modal/modal-user-account-search.vue +68 -68
  219. package/dist/runtime/components/modal/modal.vue +42 -42
  220. package/dist/runtime/components/modal/suggest-edit-place/modal-suggest-edit-place.vue +251 -251
  221. package/dist/runtime/components/modal/suggest-edit-place/place-Adddateopening.vue +12 -12
  222. package/dist/runtime/components/modal/suggest-edit-place/place-Adddescription.vue +18 -18
  223. package/dist/runtime/components/modal/suggest-edit-place/place-Addlink.vue +12 -12
  224. package/dist/runtime/components/modal/suggest-edit-place/place-Addphone.vue +12 -12
  225. package/dist/runtime/components/modal/suggest-edit-place/place-address.vue +43 -43
  226. package/dist/runtime/components/modal/suggest-edit-place/place-category.vue +32 -32
  227. package/dist/runtime/components/modal/suggest-edit-place/place-dateopening.vue +32 -32
  228. package/dist/runtime/components/modal/suggest-edit-place/place-description.vue +32 -32
  229. package/dist/runtime/components/modal/suggest-edit-place/place-link.vue +41 -41
  230. package/dist/runtime/components/modal/suggest-edit-place/place-name.vue +70 -70
  231. package/dist/runtime/components/modal/suggest-edit-place/place-phone.vue +26 -26
  232. package/dist/runtime/components/pagination.vue +47 -47
  233. package/dist/runtime/components/picker/picker-image-cover-profile.vue +80 -80
  234. package/dist/runtime/components/picker/picker-image-profile.vue +102 -102
  235. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +22 -22
  236. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +28 -28
  237. package/dist/runtime/components/preview/preview-content.vue +138 -138
  238. package/dist/runtime/components/preview/preview-place.vue +194 -194
  239. package/dist/runtime/components/progress-bar.vue +9 -9
  240. package/dist/runtime/components/read-more-text.vue +4 -4
  241. package/dist/runtime/components/table.vue +79 -79
  242. package/dist/runtime/components/timeline.vue +59 -59
  243. package/dist/runtime/components/tooltip.vue +12 -12
  244. package/dist/runtime/components/ui/accordion/Accordion.vue +3 -3
  245. package/dist/runtime/components/ui/accordion/AccordionContent.vue +9 -9
  246. package/dist/runtime/components/ui/accordion/AccordionItem.vue +8 -8
  247. package/dist/runtime/components/ui/accordion/AccordionTrigger.vue +16 -16
  248. package/dist/runtime/components/ui/alert/Alert.vue +7 -7
  249. package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
  250. package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
  251. package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
  252. package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
  253. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
  254. package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
  255. package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
  256. package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
  257. package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
  258. package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
  259. package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  260. package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
  261. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
  262. package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
  263. package/dist/runtime/components/ui/badge/Badge.vue +7 -7
  264. package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue +7 -7
  265. package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +11 -11
  266. package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +6 -6
  267. package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +8 -8
  268. package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +6 -6
  269. package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +9 -9
  270. package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +10 -10
  271. package/dist/runtime/components/ui/button/Button.vue +8 -8
  272. package/dist/runtime/components/ui/calendar/Calendar.vue +128 -128
  273. package/dist/runtime/components/ui/calendar/CalendarCell.vue +7 -7
  274. package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +7 -7
  275. package/dist/runtime/components/ui/calendar/CalendarGrid.vue +7 -7
  276. package/dist/runtime/components/ui/calendar/CalendarGridBody.vue +6 -6
  277. package/dist/runtime/components/ui/calendar/CalendarGridHead.vue +6 -6
  278. package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +6 -6
  279. package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +7 -7
  280. package/dist/runtime/components/ui/calendar/CalendarHeader.vue +7 -7
  281. package/dist/runtime/components/ui/calendar/CalendarHeading.vue +10 -10
  282. package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +9 -9
  283. package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +9 -9
  284. package/dist/runtime/components/ui/card/Card.vue +8 -8
  285. package/dist/runtime/components/ui/card/CardAction.vue +6 -6
  286. package/dist/runtime/components/ui/card/CardContent.vue +6 -6
  287. package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
  288. package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
  289. package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
  290. package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
  291. package/dist/runtime/components/ui/carousel/Carousel.vue +10 -10
  292. package/dist/runtime/components/ui/carousel/CarouselContent.vue +12 -12
  293. package/dist/runtime/components/ui/carousel/CarouselItem.vue +8 -8
  294. package/dist/runtime/components/ui/carousel/CarouselNext.vue +13 -13
  295. package/dist/runtime/components/ui/carousel/CarouselPrevious.vue +13 -13
  296. package/dist/runtime/components/ui/chart/ChartContainer.vue +9 -9
  297. package/dist/runtime/components/ui/chart/ChartLegendContent.vue +19 -19
  298. package/dist/runtime/components/ui/chart/ChartStyle.vue +6 -6
  299. package/dist/runtime/components/ui/chart/ChartTooltipContent.vue +38 -38
  300. package/dist/runtime/components/ui/checkbox/Checkbox.vue +8 -8
  301. package/dist/runtime/components/ui/command/Command.vue +7 -7
  302. package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
  303. package/dist/runtime/components/ui/command/CommandEmpty.vue +16 -16
  304. package/dist/runtime/components/ui/command/CommandGroup.vue +16 -16
  305. package/dist/runtime/components/ui/command/CommandInput.vue +13 -13
  306. package/dist/runtime/components/ui/command/CommandItem.vue +11 -11
  307. package/dist/runtime/components/ui/command/CommandList.vue +9 -9
  308. package/dist/runtime/components/ui/command/CommandSeparator.vue +7 -7
  309. package/dist/runtime/components/ui/command/CommandShortcut.vue +6 -6
  310. package/dist/runtime/components/ui/dialog/Dialog.vue +3 -3
  311. package/dist/runtime/components/ui/dialog/DialogClose.vue +3 -3
  312. package/dist/runtime/components/ui/dialog/DialogContent.vue +26 -26
  313. package/dist/runtime/components/ui/dialog/DialogDescription.vue +7 -7
  314. package/dist/runtime/components/ui/dialog/DialogFooter.vue +6 -6
  315. package/dist/runtime/components/ui/dialog/DialogHeader.vue +6 -6
  316. package/dist/runtime/components/ui/dialog/DialogOverlay.vue +7 -7
  317. package/dist/runtime/components/ui/dialog/DialogScrollContent.vue +20 -20
  318. package/dist/runtime/components/ui/dialog/DialogTitle.vue +7 -7
  319. package/dist/runtime/components/ui/dialog/DialogTrigger.vue +3 -3
  320. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
  321. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +12 -12
  322. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +10 -10
  323. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +6 -6
  324. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +9 -9
  325. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +8 -8
  326. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +6 -6
  327. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +16 -16
  328. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +5 -5
  329. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +6 -6
  330. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -3
  331. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +7 -7
  332. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +8 -8
  333. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +6 -6
  334. package/dist/runtime/components/ui/form/FormControl.vue +8 -8
  335. package/dist/runtime/components/ui/form/FormDescription.vue +7 -7
  336. package/dist/runtime/components/ui/form/FormItem.vue +3 -3
  337. package/dist/runtime/components/ui/form/FormLabel.vue +8 -8
  338. package/dist/runtime/components/ui/form/FormMessage.vue +7 -7
  339. package/dist/runtime/components/ui/input/Input.vue +7 -7
  340. package/dist/runtime/components/ui/input-group/InputGroup.vue +7 -7
  341. package/dist/runtime/components/ui/input-group/InputGroupAddon.vue +9 -9
  342. package/dist/runtime/components/ui/input-group/InputGroupButton.vue +8 -8
  343. package/dist/runtime/components/ui/input-group/InputGroupInput.vue +5 -5
  344. package/dist/runtime/components/ui/input-group/InputGroupText.vue +5 -5
  345. package/dist/runtime/components/ui/input-group/InputGroupTextarea.vue +4 -4
  346. package/dist/runtime/components/ui/label/Label.vue +7 -7
  347. package/dist/runtime/components/ui/native-select/NativeSelect.vue +19 -19
  348. package/dist/runtime/components/ui/native-select/NativeSelectOptGroup.vue +3 -3
  349. package/dist/runtime/components/ui/native-select/NativeSelectOption.vue +3 -3
  350. package/dist/runtime/components/ui/pagination/Pagination.vue +8 -8
  351. package/dist/runtime/components/ui/pagination/PaginationContent.vue +8 -8
  352. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +10 -10
  353. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +10 -10
  354. package/dist/runtime/components/ui/pagination/PaginationItem.vue +7 -7
  355. package/dist/runtime/components/ui/pagination/PaginationLast.vue +10 -10
  356. package/dist/runtime/components/ui/pagination/PaginationNext.vue +10 -10
  357. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +10 -10
  358. package/dist/runtime/components/ui/pin-input/PinInput.vue +7 -7
  359. package/dist/runtime/components/ui/pin-input/PinInputGroup.vue +7 -7
  360. package/dist/runtime/components/ui/pin-input/PinInputSeparator.vue +3 -3
  361. package/dist/runtime/components/ui/pin-input/PinInputSlot.vue +5 -5
  362. package/dist/runtime/components/ui/popover/Popover.vue +7 -7
  363. package/dist/runtime/components/ui/popover/PopoverAnchor.vue +6 -6
  364. package/dist/runtime/components/ui/popover/PopoverContent.vue +9 -9
  365. package/dist/runtime/components/ui/popover/PopoverTrigger.vue +6 -6
  366. package/dist/runtime/components/ui/scroll-area/ScrollArea.vue +14 -14
  367. package/dist/runtime/components/ui/scroll-area/ScrollBar.vue +10 -10
  368. package/dist/runtime/components/ui/select/Select.vue +7 -7
  369. package/dist/runtime/components/ui/select/SelectContent.vue +10 -10
  370. package/dist/runtime/components/ui/select/SelectGroup.vue +6 -6
  371. package/dist/runtime/components/ui/select/SelectItem.vue +17 -17
  372. package/dist/runtime/components/ui/select/SelectItemText.vue +6 -6
  373. package/dist/runtime/components/ui/select/SelectLabel.vue +6 -6
  374. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +9 -9
  375. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +9 -9
  376. package/dist/runtime/components/ui/select/SelectSeparator.vue +5 -5
  377. package/dist/runtime/components/ui/select/SelectTrigger.vue +11 -11
  378. package/dist/runtime/components/ui/select/SelectValue.vue +6 -6
  379. package/dist/runtime/components/ui/separator/Separator.vue +5 -5
  380. package/dist/runtime/components/ui/sheet/Sheet.vue +3 -3
  381. package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
  382. package/dist/runtime/components/ui/sheet/SheetContent.vue +26 -26
  383. package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
  384. package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
  385. package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
  386. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
  387. package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
  388. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
  389. package/dist/runtime/components/ui/skeleton/Skeleton.vue +4 -4
  390. package/dist/runtime/components/ui/spinner/Spinner.vue +6 -6
  391. package/dist/runtime/components/ui/table/Table.vue +5 -5
  392. package/dist/runtime/components/ui/table/TableBody.vue +6 -6
  393. package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
  394. package/dist/runtime/components/ui/table/TableCell.vue +6 -6
  395. package/dist/runtime/components/ui/table/TableEmpty.vue +15 -15
  396. package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
  397. package/dist/runtime/components/ui/table/TableHead.vue +6 -6
  398. package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
  399. package/dist/runtime/components/ui/table/TableRow.vue +6 -6
  400. package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
  401. package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
  402. package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
  403. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
  404. package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
  405. package/dist/runtime/components/ui/tooltip/Tooltip.vue +7 -7
  406. package/dist/runtime/components/ui/tooltip/TooltipContent.vue +13 -13
  407. package/dist/runtime/components/ui/tooltip/TooltipProvider.vue +3 -3
  408. package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue +6 -6
  409. package/dist/runtime/components/video.vue +2 -2
  410. package/dist/runtime/composables/store-chat.d.ts +83 -2
  411. package/dist/runtime/composables/store-chat.js +39 -5
  412. package/dist/runtime/composables/useChatSession.d.ts +82 -1
  413. package/dist/runtime/composables/useContentCard.js +1 -0
  414. package/dist/runtime/geo/README.md +87 -87
  415. package/dist/runtime/geo/postal_codes.json +5569 -5569
  416. package/dist/runtime/types/chat.d.ts +16 -1
  417. package/dist/runtime/utils/mention.d.ts +39 -0
  418. package/dist/runtime/utils/mention.js +52 -0
  419. package/package.json +2 -2
@@ -1,198 +1,198 @@
1
1
  <template>
2
- <!-- Figma: Preview - Display Place (2884:29368) -->
3
- <div class="h-screen w-full overflow-hidden bg-white flex flex-col">
4
- <!-- Figma: Navbar Preview (new tab) — Property 1=Admin -->
5
- <div class="shrink-0 w-full bg-cloud">
6
- <div class="max-w-[1280px] mx-auto flex justify-end p-[16px]">
7
- <Button variant="outline" class="rounded-[6px]" @click="emit('exit')">
8
- ออกจากพรีวิว
9
- </Button>
10
- </div>
11
- </div>
12
-
13
- <!-- เลื่อนในกล่องนี้ ไม่พึ่ง scroll ของหน้า (บางแอปล็อก html/body ไว้) -->
14
- <div class="flex-1 overflow-y-auto">
15
- <div class="max-w-[1280px] mx-auto p-[16px] flex flex-col gap-[16px]">
16
- <!-- Place Cover -->
17
- <DisplayImagePlace
18
- v-if="photos.length > 0 || videos.length > 0"
19
- :photos="photos"
20
- :videos="videos"
21
- variant="featured"
22
- :state="props.state"
23
- :title="placeData.business_name"
24
- />
25
-
26
- <!-- Place Title -->
27
- <div class="flex flex-col gap-[8px]">
28
- <div class="flex gap-[8px] justify-between items-center">
29
- <div class="font-headline-medium-prominent">
30
- {{ placeData.business_name || "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E0A\u0E37\u0E48\u0E2D\u0E2A\u0E16\u0E32\u0E19\u0E17\u0E35\u0E48" }}
31
- </div>
32
- <!-- พรีวิว = ดูหน้าตาได้แต่กดไม่ได้ -->
33
- <div class="flex gap-[8px] items-center" inert>
34
- <Button size="sm" class="rounded-full font-body-small">
35
- <Icon name="lucide:heart" :size="16" />
36
- ถูกใจ
37
- </Button>
38
- <Button circle size="icon-sm">
39
- <Icon name="uil:share" />
40
- </Button>
41
- <Button circle size="icon-sm">
42
- <Icon name="lucide:ellipsis-vertical" />
43
- </Button>
44
- </div>
45
- </div>
46
-
47
- <Chip v-if="closedStatus" color="error" class="gap-[4px] self-start">
48
- <Icon :name="closedStatus.icon" class="!size-[16px]" />
49
- <span class="font-body-medium-prominent">{{
50
- closedStatus.label
51
- }}</span>
52
- </Chip>
53
-
54
- <div class="flex gap-[16px] font-body-large">
55
- <div class="flex gap-[8px] items-center">
56
- <InputRating
57
- :model-value="placeData.rating ?? 0"
58
- readonly
59
- :size="16"
60
- />
61
- {{ convertNumber(placeData.review_count || 0) }}
62
- </div>
63
- <Divider alignment="vertical" />
64
- <div class="flex gap-[4px]">
65
- <span class="text-gray">ถูกใจ</span>
66
- {{ convertNumber(placeData.like_count || 0) }}
67
- </div>
68
- <Divider alignment="vertical" />
69
- <div class="flex gap-[4px]">
70
- <span class="text-gray">แชร์</span>
71
- {{ convertNumber(placeData.share_count || 0) }}
72
- </div>
73
- <Divider alignment="vertical" />
74
- <div>
75
- {{
76
- placeData.categories?.[0]?.category_name || "\u0E44\u0E21\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E2B\u0E21\u0E27\u0E14\u0E2B\u0E21\u0E39\u0E48"
77
- }}
78
- </div>
79
- </div>
80
-
81
- <div class="flex gap-[16px] items-center">
82
- <div class="flex gap-[8px] items-center">
83
- <Icon name="lucide:map-pin" :size="20" class="text-primary" />
84
- <div class="font-body-large text-gray">
85
- {{ placeData.address?.full_address || "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48" }}
86
- </div>
87
- </div>
88
- <Button
89
- v-if="placeData.lat_lng"
90
- variant="text"
91
- color="primary"
92
- class="font-body-large"
93
- @click="openMap"
94
- >
95
- ดูแผนที่
96
- </Button>
97
- </div>
98
- </div>
99
-
100
- <div class="flex justify-between gap-[24px]">
101
- <!-- ซ้าย: รีวิว -->
102
- <div class="w-[824px] shrink-0">
103
- <ShadTabs
104
- v-if="placeData.is_review"
105
- v-model="activeTab"
106
- class="gap-[16px]"
107
- >
108
- <ShadTabsList>
109
- <ShadTabsTrigger
110
- v-for="tab in mainTabs"
111
- :key="tab.value"
112
- :value="tab.value"
113
- >
114
- {{ tab.label }}
115
- </ShadTabsTrigger>
116
- </ShadTabsList>
117
-
118
- <ShadTabsContent value="review" class="flex flex-col gap-[16px]">
119
- <div inert>
120
- <DisplayRatingSummary
121
- :rating="placeData.rating ?? 0"
122
- :total-reviews="placeData.review_count ?? 0"
123
- :distribution="ratingDistribution"
124
- />
125
- </div>
126
-
127
- <ShadTabs v-model="activeReviewTab">
128
- <ShadTabsList>
129
- <ShadTabsTrigger
130
- v-for="tab in reviewFilterTabs"
131
- :key="tab.value"
132
- :value="tab.value"
133
- :disabled="reviewCounts[tab.value] === 0"
134
- >
135
- {{ tab.label }}
136
- </ShadTabsTrigger>
137
- </ShadTabsList>
138
- </ShadTabs>
139
-
140
- <div v-if="reviews.length > 0" class="flex flex-col">
141
- <CardReview
142
- v-for="review in reviews"
143
- :key="review.review_id"
144
- :item="review"
145
- :is-profile="false"
146
- disabled-like
147
- disabled-menu
148
- />
149
- </div>
150
- <div
151
- v-else-if="!isLoadingReviews"
152
- class="flex flex-col items-center gap-[8px] py-[32px]"
153
- >
154
- <Icon name="pukaad:page-not-found" :size="120" />
155
- <div class="font-title-small-prominent">ยังไม่มีรีวิว</div>
156
- </div>
157
-
158
- <div ref="sentinel" class="h-[1px]" />
159
- <div
160
- v-if="isLoadingReviews"
161
- class="flex justify-center py-[16px]"
162
- >
163
- <Icon
164
- name="lucide:loader-circle"
165
- :size="40"
166
- class="animate-spin text-cloud"
167
- />
168
- </div>
169
- </ShadTabsContent>
170
-
171
- <ShadTabsContent value="aboutPost">
172
- <div class="text-gray py-[32px] text-center">
173
- ยังไม่มีโพสต์ที่เกี่ยวข้อง
174
- </div>
175
- </ShadTabsContent>
176
- </ShadTabs>
177
-
178
- <div
179
- v-else
180
- class="flex flex-col items-center justify-center gap-[16px] py-[48px]"
181
- >
182
- <Icon name="pukaad:page-not-found" :size="145" />
183
- <div>ยังไม่มีรีวิว</div>
184
- </div>
185
- </div>
186
-
187
- <!-- ขวา: Place About -->
188
- <!-- TODO: "ที่ไหนน่าสนใจ" (Figma: Reccommended Places) — ยังไม่มี API -->
189
- <div class="w-[380px] shrink-0 flex flex-col gap-[16px]">
190
- <CardPlaceDetail :item="placeDetailItem" />
191
- </div>
192
- </div>
193
- </div>
194
- </div>
195
- </div>
2
+ <!-- Figma: Preview - Display Place (2884:29368) -->
3
+ <div class="h-screen w-full overflow-hidden bg-white flex flex-col">
4
+ <!-- Figma: Navbar Preview (new tab) — Property 1=Admin -->
5
+ <div class="shrink-0 w-full bg-cloud">
6
+ <div class="max-w-[1280px] mx-auto flex justify-end p-[16px]">
7
+ <Button variant="outline" class="rounded-[6px]" @click="emit('exit')">
8
+ ออกจากพรีวิว
9
+ </Button>
10
+ </div>
11
+ </div>
12
+
13
+ <!-- เลื่อนในกล่องนี้ ไม่พึ่ง scroll ของหน้า (บางแอปล็อก html/body ไว้) -->
14
+ <div class="flex-1 overflow-y-auto">
15
+ <div class="max-w-[1280px] mx-auto p-[16px] flex flex-col gap-[16px]">
16
+ <!-- Place Cover -->
17
+ <DisplayImagePlace
18
+ v-if="photos.length > 0 || videos.length > 0"
19
+ :photos="photos"
20
+ :videos="videos"
21
+ variant="featured"
22
+ :state="props.state"
23
+ :title="placeData.business_name"
24
+ />
25
+
26
+ <!-- Place Title -->
27
+ <div class="flex flex-col gap-[8px]">
28
+ <div class="flex gap-[8px] justify-between items-center">
29
+ <div class="font-headline-medium-prominent">
30
+ {{ placeData.business_name || "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E0A\u0E37\u0E48\u0E2D\u0E2A\u0E16\u0E32\u0E19\u0E17\u0E35\u0E48" }}
31
+ </div>
32
+ <!-- พรีวิว = ดูหน้าตาได้แต่กดไม่ได้ -->
33
+ <div class="flex gap-[8px] items-center" inert>
34
+ <Button size="sm" class="rounded-full font-body-small">
35
+ <Icon name="lucide:heart" :size="16" />
36
+ ถูกใจ
37
+ </Button>
38
+ <Button circle size="icon-sm">
39
+ <Icon name="uil:share" />
40
+ </Button>
41
+ <Button circle size="icon-sm">
42
+ <Icon name="lucide:ellipsis-vertical" />
43
+ </Button>
44
+ </div>
45
+ </div>
46
+
47
+ <Chip v-if="closedStatus" color="error" class="gap-[4px] self-start">
48
+ <Icon :name="closedStatus.icon" class="!size-[16px]" />
49
+ <span class="font-body-medium-prominent">{{
50
+ closedStatus.label
51
+ }}</span>
52
+ </Chip>
53
+
54
+ <div class="flex gap-[16px] font-body-large">
55
+ <div class="flex gap-[8px] items-center">
56
+ <InputRating
57
+ :model-value="placeData.rating ?? 0"
58
+ readonly
59
+ :size="16"
60
+ />
61
+ {{ convertNumber(placeData.review_count || 0) }}
62
+ </div>
63
+ <Divider alignment="vertical" />
64
+ <div class="flex gap-[4px]">
65
+ <span class="text-gray">ถูกใจ</span>
66
+ {{ convertNumber(placeData.like_count || 0) }}
67
+ </div>
68
+ <Divider alignment="vertical" />
69
+ <div class="flex gap-[4px]">
70
+ <span class="text-gray">แชร์</span>
71
+ {{ convertNumber(placeData.share_count || 0) }}
72
+ </div>
73
+ <Divider alignment="vertical" />
74
+ <div>
75
+ {{
76
+ placeData.categories?.[0]?.category_name || "\u0E44\u0E21\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E2B\u0E21\u0E27\u0E14\u0E2B\u0E21\u0E39\u0E48"
77
+ }}
78
+ </div>
79
+ </div>
80
+
81
+ <div class="flex gap-[16px] items-center">
82
+ <div class="flex gap-[8px] items-center">
83
+ <Icon name="lucide:map-pin" :size="20" class="text-primary" />
84
+ <div class="font-body-large text-gray">
85
+ {{ placeData.address?.full_address || "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48" }}
86
+ </div>
87
+ </div>
88
+ <Button
89
+ v-if="placeData.lat_lng"
90
+ variant="text"
91
+ color="primary"
92
+ class="font-body-large"
93
+ @click="openMap"
94
+ >
95
+ ดูแผนที่
96
+ </Button>
97
+ </div>
98
+ </div>
99
+
100
+ <div class="flex justify-between gap-[24px]">
101
+ <!-- ซ้าย: รีวิว -->
102
+ <div class="w-[824px] shrink-0">
103
+ <ShadTabs
104
+ v-if="placeData.is_review"
105
+ v-model="activeTab"
106
+ class="gap-[16px]"
107
+ >
108
+ <ShadTabsList>
109
+ <ShadTabsTrigger
110
+ v-for="tab in mainTabs"
111
+ :key="tab.value"
112
+ :value="tab.value"
113
+ >
114
+ {{ tab.label }}
115
+ </ShadTabsTrigger>
116
+ </ShadTabsList>
117
+
118
+ <ShadTabsContent value="review" class="flex flex-col gap-[16px]">
119
+ <div inert>
120
+ <DisplayRatingSummary
121
+ :rating="placeData.rating ?? 0"
122
+ :total-reviews="placeData.review_count ?? 0"
123
+ :distribution="ratingDistribution"
124
+ />
125
+ </div>
126
+
127
+ <ShadTabs v-model="activeReviewTab">
128
+ <ShadTabsList>
129
+ <ShadTabsTrigger
130
+ v-for="tab in reviewFilterTabs"
131
+ :key="tab.value"
132
+ :value="tab.value"
133
+ :disabled="reviewCounts[tab.value] === 0"
134
+ >
135
+ {{ tab.label }}
136
+ </ShadTabsTrigger>
137
+ </ShadTabsList>
138
+ </ShadTabs>
139
+
140
+ <div v-if="reviews.length > 0" class="flex flex-col">
141
+ <CardReview
142
+ v-for="review in reviews"
143
+ :key="review.review_id"
144
+ :item="review"
145
+ :is-profile="false"
146
+ disabled-like
147
+ disabled-menu
148
+ />
149
+ </div>
150
+ <div
151
+ v-else-if="!isLoadingReviews"
152
+ class="flex flex-col items-center gap-[8px] py-[32px]"
153
+ >
154
+ <Icon name="pukaad:page-not-found" :size="120" />
155
+ <div class="font-title-small-prominent">ยังไม่มีรีวิว</div>
156
+ </div>
157
+
158
+ <div ref="sentinel" class="h-[1px]" />
159
+ <div
160
+ v-if="isLoadingReviews"
161
+ class="flex justify-center py-[16px]"
162
+ >
163
+ <Icon
164
+ name="lucide:loader-circle"
165
+ :size="40"
166
+ class="animate-spin text-cloud"
167
+ />
168
+ </div>
169
+ </ShadTabsContent>
170
+
171
+ <ShadTabsContent value="aboutPost">
172
+ <div class="text-gray py-[32px] text-center">
173
+ ยังไม่มีโพสต์ที่เกี่ยวข้อง
174
+ </div>
175
+ </ShadTabsContent>
176
+ </ShadTabs>
177
+
178
+ <div
179
+ v-else
180
+ class="flex flex-col items-center justify-center gap-[16px] py-[48px]"
181
+ >
182
+ <Icon name="pukaad:page-not-found" :size="145" />
183
+ <div>ยังไม่มีรีวิว</div>
184
+ </div>
185
+ </div>
186
+
187
+ <!-- ขวา: Place About -->
188
+ <!-- TODO: "ที่ไหนน่าสนใจ" (Figma: Reccommended Places) — ยังไม่มี API -->
189
+ <div class="w-[380px] shrink-0 flex flex-col gap-[16px]">
190
+ <CardPlaceDetail :item="placeDetailItem" />
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </div>
196
196
  </template>
197
197
 
198
198
  <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>
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <div ref="container" class="whitespace-pre-wrap break-words">
3
- <template v-if="expanded || !isTruncated">{{ props.text }}</template>
4
- <template v-else>{{ displayText }}...<span class="text-primary cursor-pointer" @click="toggle">ดูเพิ่มเติม</span></template>
5
- </div>
2
+ <div ref="container" class="whitespace-pre-wrap break-words">
3
+ <template v-if="expanded || !isTruncated">{{ props.text }}</template>
4
+ <template v-else>{{ displayText }}...<span class="text-primary cursor-pointer" @click="toggle">ดูเพิ่มเติม</span></template>
5
+ </div>
6
6
  </template>
7
7
 
8
8
  <script setup>
@@ -1,88 +1,88 @@
1
1
  <template>
2
- <div class="bg-white rounded-[8px] h-full">
3
- <div class="overflow-auto">
4
- <table class="w-full">
5
- <thead v-if="!props.disabledHeader">
6
- <slot name="header" :item="props.itemHeader">
7
- <tr>
8
- <template v-for="(header, i) in itemHeaders" :key="i">
9
- <th class="sticky top-0 bg-white">
10
- <div
11
- class="p-[14px] flex gap-[8px] text-gray font-label-sans-serif-large"
2
+ <div class="bg-white rounded-[8px] h-full">
3
+ <div class="overflow-auto">
4
+ <table class="w-full">
5
+ <thead v-if="!props.disabledHeader">
6
+ <slot name="header" :item="props.itemHeader">
7
+ <tr>
8
+ <template v-for="(header, i) in itemHeaders" :key="i">
9
+ <th class="sticky top-0 bg-white">
10
+ <div
11
+ class="p-[14px] flex gap-[8px] text-gray font-label-sans-serif-large"
12
12
  :style="{
13
13
  justifyContent: header.alignment || props.headerAlignment
14
- }"
15
- >
16
- <div class="flex">
17
- {{ header.label }}
18
- </div>
19
- <div
14
+ }"
15
+ >
16
+ <div class="flex">
17
+ {{ header.label }}
18
+ </div>
19
+ <div
20
20
  :class="[
21
21
  'flex justify-center items-center cursor-pointer',
22
22
  sortkey === header.key && 'text-primary'
23
- ]"
24
- @click="onSortBy(header.key)"
25
- >
26
- <Icon name="fa6-solid:sort" size="16" />
27
- </div>
28
- </div>
29
- </th>
30
- </template>
31
- </tr>
32
- </slot>
33
- </thead>
34
-
35
- <slot name="body" :items="items" :header="itemHeaders">
36
- <tbody>
37
- <tr
38
- v-for="(body, i_body) in items"
39
- :key="i_body"
40
- @click="emit('click-row', body, i_body)"
41
- >
42
- <slot
43
- name="item"
44
- :item="body"
45
- :header="itemHeaders"
46
- :index="i_body"
47
- >
48
- <td
49
- v-for="(header, i_header) in itemHeaders"
50
- :key="i_header"
51
- class="font-body-medium border-y-[1px] border-mercury p-[14px]"
52
- >
53
- <slot :name="`item-${header.key}`" :item="body">
54
- <div>
55
- {{ body[header.key] }}
56
- </div>
57
- </slot>
58
- </td>
59
- </slot>
60
- </tr>
61
- </tbody>
62
- </slot>
63
- </table>
64
- </div>
65
-
66
- <div
67
- v-if="items.length === 0"
68
- class="w-full h-full flex justify-center items-center p-[16px]"
69
- >
70
- <Icon name="pukaad:page-not-found" size="150"></Icon>
71
- </div>
72
-
73
- <div
74
- v-if="items.length > 0"
75
- class="p-[14px] flex justify-center items-center"
76
- >
77
- <Pagination
78
- :totalPage="props.totalPage"
79
- :totalVisible="props.paginationVisible"
80
- @change="(e) => emit('change-page', e)"
81
- @select="(e) => emit('select-page', e)"
82
- v-model="page"
83
- />
84
- </div>
85
- </div>
23
+ ]"
24
+ @click="onSortBy(header.key)"
25
+ >
26
+ <Icon name="fa6-solid:sort" size="16" />
27
+ </div>
28
+ </div>
29
+ </th>
30
+ </template>
31
+ </tr>
32
+ </slot>
33
+ </thead>
34
+
35
+ <slot name="body" :items="items" :header="itemHeaders">
36
+ <tbody>
37
+ <tr
38
+ v-for="(body, i_body) in items"
39
+ :key="i_body"
40
+ @click="emit('click-row', body, i_body)"
41
+ >
42
+ <slot
43
+ name="item"
44
+ :item="body"
45
+ :header="itemHeaders"
46
+ :index="i_body"
47
+ >
48
+ <td
49
+ v-for="(header, i_header) in itemHeaders"
50
+ :key="i_header"
51
+ class="font-body-medium border-y-[1px] border-mercury p-[14px]"
52
+ >
53
+ <slot :name="`item-${header.key}`" :item="body">
54
+ <div>
55
+ {{ body[header.key] }}
56
+ </div>
57
+ </slot>
58
+ </td>
59
+ </slot>
60
+ </tr>
61
+ </tbody>
62
+ </slot>
63
+ </table>
64
+ </div>
65
+
66
+ <div
67
+ v-if="items.length === 0"
68
+ class="w-full h-full flex justify-center items-center p-[16px]"
69
+ >
70
+ <Icon name="pukaad:page-not-found" size="150"></Icon>
71
+ </div>
72
+
73
+ <div
74
+ v-if="items.length > 0"
75
+ class="p-[14px] flex justify-center items-center"
76
+ >
77
+ <Pagination
78
+ :totalPage="props.totalPage"
79
+ :totalVisible="props.paginationVisible"
80
+ @change="(e) => emit('change-page', e)"
81
+ @select="(e) => emit('select-page', e)"
82
+ v-model="page"
83
+ />
84
+ </div>
85
+ </div>
86
86
  </template>
87
87
 
88
88
  <script setup>