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,22 +1,22 @@
1
1
  <template>
2
- <div
2
+ <div
3
3
  :class="[
4
4
  'rounded-full px-[8px] py-[4px] font-body-large inline-flex gap-[4px] justify-center items-center',
5
5
  !props.flat && 'border-[1px]',
6
6
  props.autoHeight ? 'break-all' : height,
7
7
  color,
8
8
  size
9
- ]"
10
- >
11
- <slot name="default" />
12
- <div
13
- v-if="props.closable"
14
- class="flex justify-center items-center cursor-pointer"
15
- @click="emit('closable')"
16
- >
17
- <Icon name="fa6-solid:xmark" size="16" />
18
- </div>
19
- </div>
9
+ ]"
10
+ >
11
+ <slot name="default" />
12
+ <div
13
+ v-if="props.closable"
14
+ class="flex justify-center items-center cursor-pointer"
15
+ @click="emit('closable')"
16
+ >
17
+ <Icon name="fa6-solid:xmark" size="16" />
18
+ </div>
19
+ </div>
20
20
  </template>
21
21
 
22
22
  <script setup>
@@ -1,46 +1,46 @@
1
1
  <template>
2
- <div class="flex flex-col">
3
- <div
4
- v-for="(item, i_item) in props.items"
5
- :key="i_item"
6
- class="flex flex-col"
7
- >
8
- <div class="flex gap-[16px] select-none">
9
- <div class="w-[20px] flex items-center justify-center relative">
10
- <div class="h-full border-r-[2px] border-dashed border-cloud"></div>
11
- <div
12
- @click="handleShow(i_item)"
13
- class="absolute bg-white text-primary cursor-pointer"
14
- :style="{ top: toggleIconPosition(i_item) + 'px' }"
15
- >
16
- <Icon
2
+ <div class="flex flex-col">
3
+ <div
4
+ v-for="(item, i_item) in props.items"
5
+ :key="i_item"
6
+ class="flex flex-col"
7
+ >
8
+ <div class="flex gap-[16px] select-none">
9
+ <div class="w-[20px] flex items-center justify-center relative">
10
+ <div class="h-full border-r-[2px] border-dashed border-cloud"></div>
11
+ <div
12
+ @click="handleShow(i_item)"
13
+ class="absolute bg-white text-primary cursor-pointer"
14
+ :style="{ top: toggleIconPosition(i_item) + 'px' }"
15
+ >
16
+ <Icon
17
17
  :name="
18
18
  !arrShow.includes(i_item) ? 'lucide:square-chevron-right' : 'lucide:square-chevron-down'
19
- "
20
- size="20"
21
- />
22
- </div>
23
- </div>
24
- <div class="flex flex-col w-full mb-[16px]">
19
+ "
20
+ size="20"
21
+ />
22
+ </div>
23
+ </div>
24
+ <div class="flex flex-col w-full mb-[16px]">
25
25
  <div :ref="(el) => {
26
26
  labelRef[i_item] = el;
27
- }">
28
- <slot name="title" :label="item.label" :item="item" />
29
- </div>
30
- <div
31
- v-if="arrShow.includes(i_item)"
32
- class="flex flex-col gap-[16px] mt-[16px] pl-[32px]"
33
- >
34
- <slot name="children" :items="item.children">
35
- <div v-for="(cill, i_child) in item.children" :key="i_child">
36
- <slot name="children-item" :label="cill.label" :item="cill" />
37
- </div>
38
- </slot>
39
- </div>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
27
+ }">
28
+ <slot name="title" :label="item.label" :item="item" />
29
+ </div>
30
+ <div
31
+ v-if="arrShow.includes(i_item)"
32
+ class="flex flex-col gap-[16px] mt-[16px] pl-[32px]"
33
+ >
34
+ <slot name="children" :items="item.children">
35
+ <div v-for="(cill, i_child) in item.children" :key="i_child">
36
+ <slot name="children-item" :label="cill.label" :item="cill" />
37
+ </div>
38
+ </slot>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
44
  </template>
45
45
 
46
46
  <script setup>
@@ -1,31 +1,31 @@
1
1
  <template>
2
- <div
3
- class="flex flex-col"
2
+ <div
3
+ class="flex flex-col"
4
4
  :style="{
5
5
  width: props.fullWidth ? '100%' : `${props.width}`
6
- }"
7
- >
8
- <slot name="title">
9
- <div
10
- class="flex justify-between items-center cursor-pointer"
11
- @click="isOpen = !isOpen"
12
- >
13
- <slot name="title-text">
14
- <div>{{ props.title }}</div>
15
- </slot>
16
- <slot name="title-toggle">
17
- <Icon
6
+ }"
7
+ >
8
+ <slot name="title">
9
+ <div
10
+ class="flex justify-between items-center cursor-pointer"
11
+ @click="isOpen = !isOpen"
12
+ >
13
+ <slot name="title-text">
14
+ <div>{{ props.title }}</div>
15
+ </slot>
16
+ <slot name="title-toggle">
17
+ <Icon
18
18
  :name="
19
19
  isOpen ? 'flowbite:angle-up-outline' : 'flowbite:angle-down-outline'
20
- "
21
- />
22
- </slot>
23
- </div>
24
- </slot>
25
- <div v-if="isOpen">
26
- <slot name="content"></slot>
27
- </div>
28
- </div>
20
+ "
21
+ />
22
+ </slot>
23
+ </div>
24
+ </slot>
25
+ <div v-if="isOpen">
26
+ <slot name="content"></slot>
27
+ </div>
28
+ </div>
29
29
  </template>
30
30
 
31
31
  <script setup>
@@ -1,220 +1,220 @@
1
1
  <template>
2
- <!-- <div class="flex flex-col gap-[16px] py-[16px]">
3
- <div class="flex gap-[8px]">
4
- <div class="font-title-medium-prominent">ความคิดเห็น</div>
5
- <div class="font-title-medium text-gray">{{ comments.length }}</div>
6
- </div>
7
- <div class="gap-[8px] flex flex-col w-full">
8
- <div class="flex gap-[8px] items-start w-full">
9
- <div>
10
- <Avatar src="https://placehold.co/40x40?text=ME" alt="Me" />
11
- </div>
12
- <div class="flex-1" @click="showButtons = true">
13
- <InputComment v-model="draft" />
14
- </div>
15
- </div>
16
- <div v-if="showButtons" class="flex justify-end items-center w-full">
17
- <div class="flex gap-[8px]">
18
- <div class="w-[64px]">
19
- <Button
20
- full-rounded
21
- variant="flat-outline"
22
- full-width
23
- size="small"
24
- @click="resetDraft"
25
- >
26
- ยกเลิก
27
- </Button>
28
- </div>
29
- <div class="w-[64px]">
30
- <Button
31
- full-rounded
32
- color="primary"
33
- full-width
34
- size="small"
35
- :disabled="!draft.trim()"
36
- @click="submitDraft"
37
- >
38
- ส่ง
39
- </Button>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- <div class="flex flex-col gap-[16px]">
45
- <div
46
- v-for="(comment, commentIndex) in comments"
47
- :key="comment.id"
48
- class="flex flex-col gap-[16px]"
49
- >
50
- <div class="flex flex-col gap-[4px]">
51
- <div class="flex gap-[8px] w-full">
52
- <div>
53
- <Avatar :src="comment.user.avatar" :alt="comment.user.name" />
54
- </div>
55
- <div
56
- class="flex flex-col gap-[4px] p-[8px] bg-bright rounded-[8px]"
57
- >
58
- <div class="font-body-large-prominent">
59
- {{ comment.user.name }}
60
- </div>
61
- <ReadMoreText :text="comment.content" :max-line="2" />
62
- </div>
63
- </div>
64
- <div class="pl-[38px] flex gap-[16px]">
65
- <div class="text-gray font-body-large">
66
- {{ comment.created_at }}
67
- </div>
68
- <Button
69
- type="text"
70
- :variant="comment.liked ? 'primary' : 'black'"
71
- :icon-size="20"
72
- size="tiny"
73
- :prepend-icon="
74
- comment.liked
75
- ? 'pukaad:thumbs-up-solid'
76
- : 'pukaad:thumbs-up-regular'
77
- "
78
- :aria-pressed="comment.liked"
79
- @click="toggleLikeComment(comment)"
80
- disabled-padding
81
- >
82
- <div>
83
- {{ comment.like_count }}
84
- </div>
85
- </Button>
86
- <Button
87
- variant="text"
88
- disabled-padding
89
- @click="toggleReplyInput(comment.id, comment.user)"
90
- >
91
- ตอบกลับ
92
- </Button>
93
- </div>
94
- <div
95
- v-if="comment.replies && comment.replies.length > 0"
96
- @click="toggleShowComments(commentIndex)"
97
- class="text-primary font-body-large cursor-pointer pl-[38px] flex items-center gap-[4px]"
98
- >
99
- <div>ดูการตอบกลับ {{ comment.replies.length }} รายการ</div>
100
- <Icon
101
- :name="
102
- showCommentsState[commentIndex]
103
- ? 'lucide:chevron-up'
104
- : 'lucide:chevron-down'
105
- "
106
- :size="16"
107
- />
108
- </div>
109
- </div>
110
-
111
- <div
112
- v-for="reply in comment.replies"
113
- :key="reply.id"
114
- v-if="
115
- comment.replies &&
116
- comment.replies.length > 0 &&
117
- showCommentsState[commentIndex]
118
- "
119
- class="flex flex-col gap-[16px] pl-[38px]"
120
- >
121
- <div class="flex flex-col gap-[4px]">
122
- <div class="flex gap-[8px] w-full">
123
- <div>
124
- <Avatar :src="reply.user.avatar" :alt="reply.user.name" />
125
- </div>
126
- <div
127
- class="flex flex-col gap-[4px] p-[8px] bg-bright rounded-[8px]"
128
- >
129
- <div class="font-body-large-prominent">
130
- {{ reply.user.name }}
131
- </div>
132
- <ReadMoreText :text="reply.content" :max-line="1">
133
- <span class="font-body-large-prominent text-primary"
134
- >เห้ย</span
135
- >
136
- </ReadMoreText>
137
- </div>
138
- </div>
139
- <div class="flex gap-[16px]">
140
- <div class="text-gray font-body-large">
141
- {{ reply.created_at }}
142
- </div>
143
- <Button
144
- type="text"
145
- :variant="reply.liked ? 'primary' : 'black'"
146
- :icon-size="20"
147
- size="tiny"
148
- :prepend-icon="
149
- reply.liked
150
- ? 'pukaad:thumbs-up-solid'
151
- : 'pukaad:thumbs-up-regular'
152
- "
153
- :aria-pressed="reply.liked"
154
- @click="toggleLikeComment(reply)"
155
- disabled-padding
156
- >
157
- <div>
158
- {{ reply.like_count }}
159
- </div>
160
- </Button>
161
- <Button
162
- variant="text"
163
- disabled-padding
164
- @click="toggleReplyInput(comment.id, reply.user)"
165
- >
166
- ตอบกลับ
167
- </Button>
168
- </div>
169
- </div>
170
- </div>
171
-
172
- <div
173
- v-if="showReplyInput[comment.id]"
174
- class="pl-[38px] flex flex-col gap-[8px]"
175
- >
176
- <div class="flex gap-[8px] items-start w-full">
177
- <div>
178
- <Avatar src="https://placehold.co/40x40?text=ME" alt="Me" />
179
- </div>
180
- <div class="flex-1">
181
- <InputComment
182
- v-model="replyDrafts[comment.id]"
183
- :user-reply="replyTargets[comment.id] || comment.user"
184
- />
185
- </div>
186
- </div>
187
- <div class="flex justify-end items-center w-full">
188
- <div class="flex gap-[8px]">
189
- <div class="w-[64px]">
190
- <Button
191
- full-rounded
192
- variant="flat-outline"
193
- full-width
194
- size="small"
195
- @click="cancelReply(comment.id)"
196
- >
197
- ยกเลิก
198
- </Button>
199
- </div>
200
- <div class="w-[64px]">
201
- <Button
202
- full-rounded
203
- color="primary"
204
- full-width
205
- size="small"
206
- :disabled="!replyDrafts[comment.id]?.trim()"
207
- @click="submitReply(comment.id)"
208
- >
209
- ส่ง
210
- </Button>
211
- </div>
212
- </div>
213
- </div>
214
- </div>
215
- </div>
216
- </div>
217
- </div> -->
2
+ <!-- <div class="flex flex-col gap-[16px] py-[16px]">
3
+ <div class="flex gap-[8px]">
4
+ <div class="font-title-medium-prominent">ความคิดเห็น</div>
5
+ <div class="font-title-medium text-gray">{{ comments.length }}</div>
6
+ </div>
7
+ <div class="gap-[8px] flex flex-col w-full">
8
+ <div class="flex gap-[8px] items-start w-full">
9
+ <div>
10
+ <Avatar src="https://placehold.co/40x40?text=ME" alt="Me" />
11
+ </div>
12
+ <div class="flex-1" @click="showButtons = true">
13
+ <InputComment v-model="draft" />
14
+ </div>
15
+ </div>
16
+ <div v-if="showButtons" class="flex justify-end items-center w-full">
17
+ <div class="flex gap-[8px]">
18
+ <div class="w-[64px]">
19
+ <Button
20
+ full-rounded
21
+ variant="flat-outline"
22
+ full-width
23
+ size="small"
24
+ @click="resetDraft"
25
+ >
26
+ ยกเลิก
27
+ </Button>
28
+ </div>
29
+ <div class="w-[64px]">
30
+ <Button
31
+ full-rounded
32
+ color="primary"
33
+ full-width
34
+ size="small"
35
+ :disabled="!draft.trim()"
36
+ @click="submitDraft"
37
+ >
38
+ ส่ง
39
+ </Button>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div class="flex flex-col gap-[16px]">
45
+ <div
46
+ v-for="(comment, commentIndex) in comments"
47
+ :key="comment.id"
48
+ class="flex flex-col gap-[16px]"
49
+ >
50
+ <div class="flex flex-col gap-[4px]">
51
+ <div class="flex gap-[8px] w-full">
52
+ <div>
53
+ <Avatar :src="comment.user.avatar" :alt="comment.user.name" />
54
+ </div>
55
+ <div
56
+ class="flex flex-col gap-[4px] p-[8px] bg-bright rounded-[8px]"
57
+ >
58
+ <div class="font-body-large-prominent">
59
+ {{ comment.user.name }}
60
+ </div>
61
+ <ReadMoreText :text="comment.content" :max-line="2" />
62
+ </div>
63
+ </div>
64
+ <div class="pl-[38px] flex gap-[16px]">
65
+ <div class="text-gray font-body-large">
66
+ {{ comment.created_at }}
67
+ </div>
68
+ <Button
69
+ type="text"
70
+ :variant="comment.liked ? 'primary' : 'black'"
71
+ :icon-size="20"
72
+ size="tiny"
73
+ :prepend-icon="
74
+ comment.liked
75
+ ? 'pukaad:thumbs-up-solid'
76
+ : 'pukaad:thumbs-up-regular'
77
+ "
78
+ :aria-pressed="comment.liked"
79
+ @click="toggleLikeComment(comment)"
80
+ disabled-padding
81
+ >
82
+ <div>
83
+ {{ comment.like_count }}
84
+ </div>
85
+ </Button>
86
+ <Button
87
+ variant="text"
88
+ disabled-padding
89
+ @click="toggleReplyInput(comment.id, comment.user)"
90
+ >
91
+ ตอบกลับ
92
+ </Button>
93
+ </div>
94
+ <div
95
+ v-if="comment.replies && comment.replies.length > 0"
96
+ @click="toggleShowComments(commentIndex)"
97
+ class="text-primary font-body-large cursor-pointer pl-[38px] flex items-center gap-[4px]"
98
+ >
99
+ <div>ดูการตอบกลับ {{ comment.replies.length }} รายการ</div>
100
+ <Icon
101
+ :name="
102
+ showCommentsState[commentIndex]
103
+ ? 'lucide:chevron-up'
104
+ : 'lucide:chevron-down'
105
+ "
106
+ :size="16"
107
+ />
108
+ </div>
109
+ </div>
110
+
111
+ <div
112
+ v-for="reply in comment.replies"
113
+ :key="reply.id"
114
+ v-if="
115
+ comment.replies &&
116
+ comment.replies.length > 0 &&
117
+ showCommentsState[commentIndex]
118
+ "
119
+ class="flex flex-col gap-[16px] pl-[38px]"
120
+ >
121
+ <div class="flex flex-col gap-[4px]">
122
+ <div class="flex gap-[8px] w-full">
123
+ <div>
124
+ <Avatar :src="reply.user.avatar" :alt="reply.user.name" />
125
+ </div>
126
+ <div
127
+ class="flex flex-col gap-[4px] p-[8px] bg-bright rounded-[8px]"
128
+ >
129
+ <div class="font-body-large-prominent">
130
+ {{ reply.user.name }}
131
+ </div>
132
+ <ReadMoreText :text="reply.content" :max-line="1">
133
+ <span class="font-body-large-prominent text-primary"
134
+ >เห้ย</span
135
+ >
136
+ </ReadMoreText>
137
+ </div>
138
+ </div>
139
+ <div class="flex gap-[16px]">
140
+ <div class="text-gray font-body-large">
141
+ {{ reply.created_at }}
142
+ </div>
143
+ <Button
144
+ type="text"
145
+ :variant="reply.liked ? 'primary' : 'black'"
146
+ :icon-size="20"
147
+ size="tiny"
148
+ :prepend-icon="
149
+ reply.liked
150
+ ? 'pukaad:thumbs-up-solid'
151
+ : 'pukaad:thumbs-up-regular'
152
+ "
153
+ :aria-pressed="reply.liked"
154
+ @click="toggleLikeComment(reply)"
155
+ disabled-padding
156
+ >
157
+ <div>
158
+ {{ reply.like_count }}
159
+ </div>
160
+ </Button>
161
+ <Button
162
+ variant="text"
163
+ disabled-padding
164
+ @click="toggleReplyInput(comment.id, reply.user)"
165
+ >
166
+ ตอบกลับ
167
+ </Button>
168
+ </div>
169
+ </div>
170
+ </div>
171
+
172
+ <div
173
+ v-if="showReplyInput[comment.id]"
174
+ class="pl-[38px] flex flex-col gap-[8px]"
175
+ >
176
+ <div class="flex gap-[8px] items-start w-full">
177
+ <div>
178
+ <Avatar src="https://placehold.co/40x40?text=ME" alt="Me" />
179
+ </div>
180
+ <div class="flex-1">
181
+ <InputComment
182
+ v-model="replyDrafts[comment.id]"
183
+ :user-reply="replyTargets[comment.id] || comment.user"
184
+ />
185
+ </div>
186
+ </div>
187
+ <div class="flex justify-end items-center w-full">
188
+ <div class="flex gap-[8px]">
189
+ <div class="w-[64px]">
190
+ <Button
191
+ full-rounded
192
+ variant="flat-outline"
193
+ full-width
194
+ size="small"
195
+ @click="cancelReply(comment.id)"
196
+ >
197
+ ยกเลิก
198
+ </Button>
199
+ </div>
200
+ <div class="w-[64px]">
201
+ <Button
202
+ full-rounded
203
+ color="primary"
204
+ full-width
205
+ size="small"
206
+ :disabled="!replyDrafts[comment.id]?.trim()"
207
+ @click="submitReply(comment.id)"
208
+ >
209
+ ส่ง
210
+ </Button>
211
+ </div>
212
+ </div>
213
+ </div>
214
+ </div>
215
+ </div>
216
+ </div>
217
+ </div> -->
218
218
  </template>
219
219
 
220
220
  <script setup>