pukaad-ui-lib 1.3.3 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/dist/module.json +2 -2
  2. package/dist/module.mjs +1 -1
  3. package/dist/runtime/assets/json/social-icon.json +77 -77
  4. package/dist/runtime/assets/svg/bell-outline.svg +3 -3
  5. package/dist/runtime/assets/svg/bookmark-solid.svg +2 -2
  6. package/dist/runtime/assets/svg/box.svg +22 -22
  7. package/dist/runtime/assets/svg/camera-plus.svg +9 -9
  8. package/dist/runtime/assets/svg/clock-fading.svg +46 -46
  9. package/dist/runtime/assets/svg/coin.svg +20 -20
  10. package/dist/runtime/assets/svg/empty-document.svg +15 -15
  11. package/dist/runtime/assets/svg/memsg-circle.svg +7 -7
  12. package/dist/runtime/assets/svg/memsg-fade.svg +5 -5
  13. package/dist/runtime/assets/svg/memsg-logo-outline.svg +3 -3
  14. package/dist/runtime/assets/svg/memsg-square.svg +9 -9
  15. package/dist/runtime/assets/svg/message.svg +3 -3
  16. package/dist/runtime/assets/svg/page-not-found.svg +9 -9
  17. package/dist/runtime/assets/svg/share-from-square.svg +3 -3
  18. package/dist/runtime/assets/svg/share.svg +2 -2
  19. package/dist/runtime/assets/svg/shopping-cart.svg +16 -16
  20. package/dist/runtime/assets/svg/socials/Email.svg +12 -12
  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/{Facebook.svg → facebook.svg} +4 -4
  33. package/dist/runtime/assets/svg/socials/instagram.svg +14 -14
  34. package/dist/runtime/assets/svg/thumbs-up-regular.svg +9 -9
  35. package/dist/runtime/assets/svg/thumbs-up-solid.svg +2 -2
  36. package/dist/runtime/assets/svg/vector.svg +2 -2
  37. package/dist/runtime/assets/svg/verify.svg +10 -10
  38. package/dist/runtime/assets/svg/write-review.svg +15 -15
  39. package/dist/runtime/components/button.vue +8 -8
  40. package/dist/runtime/components/card/card-announce2.vue +104 -102
  41. package/dist/runtime/components/card/card-place-detail.vue +90 -90
  42. package/dist/runtime/components/card/card-profile-about.vue +50 -50
  43. package/dist/runtime/components/card/card-profile-header.vue +94 -94
  44. package/dist/runtime/components/card/card-reaction.vue +29 -29
  45. package/dist/runtime/components/card/card-recommend-blog.vue +49 -49
  46. package/dist/runtime/components/card/card-recommend-place.vue +50 -50
  47. package/dist/runtime/components/card/card-recommend-publisher.vue +51 -51
  48. package/dist/runtime/components/card/card-review.vue +74 -74
  49. package/dist/runtime/components/card/card-user-blog.vue +66 -66
  50. package/dist/runtime/components/card/card-user-item.vue +54 -54
  51. package/dist/runtime/components/card/card.vue +25 -25
  52. package/dist/runtime/components/carousel.vue +29 -29
  53. package/dist/runtime/components/chip.vue +12 -12
  54. package/dist/runtime/components/collapse/collapse-multiple.vue +38 -38
  55. package/dist/runtime/components/collapse/collapse.vue +23 -23
  56. package/dist/runtime/components/comment.vue +216 -216
  57. package/dist/runtime/components/dialog/dialog-2FA-generate.vue +58 -58
  58. package/dist/runtime/components/dialog/dialog-2FA.vue +20 -20
  59. package/dist/runtime/components/dialog/dialog-email-OTP.vue +26 -26
  60. package/dist/runtime/components/dialog/dialog-phone-OTP.vue +25 -25
  61. package/dist/runtime/components/display/display-image-place.vue +4 -4
  62. package/dist/runtime/components/display/display-image-review.vue +16 -16
  63. package/dist/runtime/components/display/display-image.vue +49 -49
  64. package/dist/runtime/components/divider.vue +8 -8
  65. package/dist/runtime/components/draggable.vue +13 -13
  66. package/dist/runtime/components/drawer/drawer-notification.vue +286 -286
  67. package/dist/runtime/components/drawer/drawer-post-blog.vue +80 -80
  68. package/dist/runtime/components/drawer/drawer-profile-about.vue +38 -38
  69. package/dist/runtime/components/drawer/drawer.vue +16 -16
  70. package/dist/runtime/components/dropdown.vue +8 -8
  71. package/dist/runtime/components/filter/filter-list-chip.vue +15 -15
  72. package/dist/runtime/components/filter/filter-list.vue +17 -17
  73. package/dist/runtime/components/icons.vue +1 -1
  74. package/dist/runtime/components/image/image-cropper.d.vue.ts +1 -1
  75. package/dist/runtime/components/image/image-cropper.vue +9 -9
  76. package/dist/runtime/components/image/image-cropper.vue.d.ts +1 -1
  77. package/dist/runtime/components/image/image.vue +29 -29
  78. package/dist/runtime/components/input/input-OTP.vue +16 -16
  79. package/dist/runtime/components/input/input-address.vue +81 -81
  80. package/dist/runtime/components/input/input-autocomplete.d.vue.ts +8 -11
  81. package/dist/runtime/components/input/input-autocomplete.vue +89 -122
  82. package/dist/runtime/components/input/input-autocomplete.vue.d.ts +8 -11
  83. package/dist/runtime/components/input/input-checkbox.vue +103 -103
  84. package/dist/runtime/components/input/input-combobox.vue +82 -82
  85. package/dist/runtime/components/input/input-comment.vue +6 -6
  86. package/dist/runtime/components/input/input-content.vue +5 -5
  87. package/dist/runtime/components/input/input-date-opening.vue +176 -175
  88. package/dist/runtime/components/input/input-email.vue +8 -8
  89. package/dist/runtime/components/input/input-file.d.vue.ts +1 -1
  90. package/dist/runtime/components/input/input-file.vue +76 -76
  91. package/dist/runtime/components/input/input-file.vue.d.ts +1 -1
  92. package/dist/runtime/components/input/input-link.vue +39 -39
  93. package/dist/runtime/components/input/input-media.vue +36 -36
  94. package/dist/runtime/components/input/input-password.d.vue.ts +1 -1
  95. package/dist/runtime/components/input/input-password.vue +40 -40
  96. package/dist/runtime/components/input/input-password.vue.d.ts +1 -1
  97. package/dist/runtime/components/input/input-phone.vue +6 -6
  98. package/dist/runtime/components/input/input-radio.vue +87 -87
  99. package/dist/runtime/components/input/input-rating.vue +13 -13
  100. package/dist/runtime/components/input/input-recaptcha.vue +19 -19
  101. package/dist/runtime/components/input/input-search.vue +69 -69
  102. package/dist/runtime/components/input/input-select-province.d.vue.ts +3 -0
  103. package/dist/runtime/components/input/input-select-province.vue +4 -0
  104. package/dist/runtime/components/input/input-select-province.vue.d.ts +3 -0
  105. package/dist/runtime/components/input/input-select-tag.vue +51 -51
  106. package/dist/runtime/components/input/input-select.vue +42 -42
  107. package/dist/runtime/components/input/input-slider.d.vue.ts +1 -1
  108. package/dist/runtime/components/input/input-slider.vue +19 -19
  109. package/dist/runtime/components/input/input-slider.vue.d.ts +1 -1
  110. package/dist/runtime/components/input/input-switch.vue +25 -25
  111. package/dist/runtime/components/input/input-tag.vue +37 -37
  112. package/dist/runtime/components/input/input-text-field.vue +83 -83
  113. package/dist/runtime/components/input/input-textarea.d.vue.ts +1 -1
  114. package/dist/runtime/components/input/input-textarea.vue +54 -54
  115. package/dist/runtime/components/input/input-textarea.vue.d.ts +1 -1
  116. package/dist/runtime/components/label/label-announce-time.vue +9 -9
  117. package/dist/runtime/components/label/label-card-atom.vue +8 -8
  118. package/dist/runtime/components/list/list-menu.vue +13 -13
  119. package/dist/runtime/components/modal/modal-2FA-generate.vue +62 -62
  120. package/dist/runtime/components/modal/modal-2FA.vue +21 -21
  121. package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
  122. package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
  123. package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
  124. package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
  125. package/dist/runtime/components/modal/modal-email-OTP.vue +31 -31
  126. package/dist/runtime/components/modal/modal-password-new.vue +27 -27
  127. package/dist/runtime/components/modal/modal-password.vue +27 -27
  128. package/dist/runtime/components/modal/modal-personal-card-ID.vue +194 -194
  129. package/dist/runtime/components/modal/modal-phone-OTP.vue +38 -38
  130. package/dist/runtime/components/modal/modal-profile-edit.vue +165 -165
  131. package/dist/runtime/components/modal/modal-province-domain.vue +23 -23
  132. package/dist/runtime/components/modal/modal-report.vue +49 -49
  133. package/dist/runtime/components/modal/modal-review-detail.vue +118 -118
  134. package/dist/runtime/components/modal/modal-secure.vue +10 -10
  135. package/dist/runtime/components/modal/modal-share.vue +24 -24
  136. package/dist/runtime/components/modal/modal-user-account-list.vue +29 -29
  137. package/dist/runtime/components/modal/modal-user-account-search.vue +24 -24
  138. package/dist/runtime/components/modal/modal.vue +27 -27
  139. package/dist/runtime/components/pagination.vue +43 -43
  140. package/dist/runtime/components/picker/picker-image-cover-profile.vue +91 -91
  141. package/dist/runtime/components/picker/picker-image-profile.vue +82 -82
  142. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +14 -14
  143. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +27 -27
  144. package/dist/runtime/components/profile-cover.vue +80 -80
  145. package/dist/runtime/components/progress-bar.vue +9 -9
  146. package/dist/runtime/components/read-more-text.vue +1 -1
  147. package/dist/runtime/components/tab.vue +78 -78
  148. package/dist/runtime/components/table.vue +82 -82
  149. package/dist/runtime/components/tooltip.vue +19 -19
  150. package/dist/runtime/components/ui/alert/Alert.vue +7 -7
  151. package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
  152. package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
  153. package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
  154. package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
  155. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
  156. package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
  157. package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
  158. package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
  159. package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
  160. package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
  161. package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  162. package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
  163. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
  164. package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
  165. package/dist/runtime/components/ui/button/Button.vue +8 -8
  166. package/dist/runtime/components/ui/card/Card.vue +8 -8
  167. package/dist/runtime/components/ui/card/CardAction.vue +6 -6
  168. package/dist/runtime/components/ui/card/CardContent.vue +6 -6
  169. package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
  170. package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
  171. package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
  172. package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
  173. package/dist/runtime/components/ui/checkbox/Checkbox.vue +14 -14
  174. package/dist/runtime/components/ui/command/Command.vue +7 -7
  175. package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
  176. package/dist/runtime/components/ui/command/CommandEmpty.vue +10 -10
  177. package/dist/runtime/components/ui/command/CommandGroup.vue +12 -12
  178. package/dist/runtime/components/ui/command/CommandInput.vue +13 -13
  179. package/dist/runtime/components/ui/command/CommandItem.vue +11 -11
  180. package/dist/runtime/components/ui/command/CommandList.vue +9 -9
  181. package/dist/runtime/components/ui/command/CommandSeparator.vue +7 -7
  182. package/dist/runtime/components/ui/command/CommandShortcut.vue +6 -6
  183. package/dist/runtime/components/ui/dialog/Dialog.vue +3 -3
  184. package/dist/runtime/components/ui/dialog/DialogClose.vue +3 -3
  185. package/dist/runtime/components/ui/dialog/DialogContent.vue +21 -21
  186. package/dist/runtime/components/ui/dialog/DialogDescription.vue +7 -7
  187. package/dist/runtime/components/ui/dialog/DialogFooter.vue +3 -3
  188. package/dist/runtime/components/ui/dialog/DialogHeader.vue +6 -6
  189. package/dist/runtime/components/ui/dialog/DialogOverlay.vue +7 -7
  190. package/dist/runtime/components/ui/dialog/DialogScrollContent.vue +20 -20
  191. package/dist/runtime/components/ui/dialog/DialogTitle.vue +7 -7
  192. package/dist/runtime/components/ui/dialog/DialogTrigger.vue +3 -3
  193. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
  194. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +12 -12
  195. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +9 -9
  196. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +6 -6
  197. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +9 -9
  198. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +8 -8
  199. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +6 -6
  200. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +16 -16
  201. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +5 -5
  202. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +6 -6
  203. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -3
  204. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +7 -7
  205. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +8 -8
  206. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +6 -6
  207. package/dist/runtime/components/ui/form/FormControl.vue +8 -8
  208. package/dist/runtime/components/ui/form/FormDescription.vue +7 -7
  209. package/dist/runtime/components/ui/form/FormItem.vue +3 -3
  210. package/dist/runtime/components/ui/form/FormLabel.vue +8 -8
  211. package/dist/runtime/components/ui/form/FormMessage.vue +7 -7
  212. package/dist/runtime/components/ui/input/Input.vue +5 -5
  213. package/dist/runtime/components/ui/input-group/InputGroup.vue +7 -7
  214. package/dist/runtime/components/ui/input-group/InputGroupAddon.vue +9 -9
  215. package/dist/runtime/components/ui/input-group/InputGroupButton.vue +7 -7
  216. package/dist/runtime/components/ui/input-group/InputGroupInput.vue +4 -4
  217. package/dist/runtime/components/ui/input-group/InputGroupText.vue +5 -5
  218. package/dist/runtime/components/ui/input-group/InputGroupTextarea.vue +4 -4
  219. package/dist/runtime/components/ui/label/Label.vue +7 -7
  220. package/dist/runtime/components/ui/pagination/Pagination.vue +8 -8
  221. package/dist/runtime/components/ui/pagination/PaginationContent.vue +8 -8
  222. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +10 -10
  223. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +10 -10
  224. package/dist/runtime/components/ui/pagination/PaginationItem.vue +7 -7
  225. package/dist/runtime/components/ui/pagination/PaginationLast.vue +10 -10
  226. package/dist/runtime/components/ui/pagination/PaginationNext.vue +10 -10
  227. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +10 -10
  228. package/dist/runtime/components/ui/pin-input/PinInput.vue +8 -8
  229. package/dist/runtime/components/ui/pin-input/PinInputGroup.vue +7 -7
  230. package/dist/runtime/components/ui/pin-input/PinInputSeparator.vue +3 -3
  231. package/dist/runtime/components/ui/pin-input/PinInputSlot.vue +5 -5
  232. package/dist/runtime/components/ui/popover/Popover.vue +7 -7
  233. package/dist/runtime/components/ui/popover/PopoverAnchor.vue +6 -6
  234. package/dist/runtime/components/ui/popover/PopoverContent.vue +5 -5
  235. package/dist/runtime/components/ui/popover/PopoverTrigger.vue +6 -6
  236. package/dist/runtime/components/ui/select/Select.vue +7 -7
  237. package/dist/runtime/components/ui/select/SelectContent.vue +10 -10
  238. package/dist/runtime/components/ui/select/SelectGroup.vue +6 -6
  239. package/dist/runtime/components/ui/select/SelectItem.vue +17 -17
  240. package/dist/runtime/components/ui/select/SelectItemText.vue +6 -6
  241. package/dist/runtime/components/ui/select/SelectLabel.vue +6 -6
  242. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +6 -6
  243. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +6 -6
  244. package/dist/runtime/components/ui/select/SelectSeparator.vue +5 -5
  245. package/dist/runtime/components/ui/select/SelectTrigger.vue +11 -11
  246. package/dist/runtime/components/ui/select/SelectValue.vue +6 -6
  247. package/dist/runtime/components/ui/separator/Separator.d.vue.ts +11 -0
  248. package/dist/runtime/components/ui/separator/Separator.vue +26 -0
  249. package/dist/runtime/components/ui/separator/Separator.vue.d.ts +11 -0
  250. package/dist/runtime/components/ui/separator/index.d.ts +1 -0
  251. package/dist/runtime/components/ui/separator/index.js +1 -0
  252. package/dist/runtime/components/ui/sheet/Sheet.vue +3 -3
  253. package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
  254. package/dist/runtime/components/ui/sheet/SheetContent.vue +20 -20
  255. package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
  256. package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
  257. package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
  258. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
  259. package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
  260. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
  261. package/dist/runtime/components/ui/spinner/Spinner.vue +5 -5
  262. package/dist/runtime/components/ui/table/Table.vue +5 -5
  263. package/dist/runtime/components/ui/table/TableBody.vue +6 -6
  264. package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
  265. package/dist/runtime/components/ui/table/TableCell.vue +6 -6
  266. package/dist/runtime/components/ui/table/TableEmpty.vue +10 -10
  267. package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
  268. package/dist/runtime/components/ui/table/TableHead.vue +6 -6
  269. package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
  270. package/dist/runtime/components/ui/table/TableRow.vue +6 -6
  271. package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
  272. package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
  273. package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
  274. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
  275. package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
  276. package/dist/runtime/components/video.vue +2 -2
  277. package/package.json +2 -2
@@ -1,179 +1,180 @@
1
1
  <template>
2
- <!-- <InputTextField
3
- v-if="!isConfirmed"
4
- :label="props.label"
5
- :placeholder="props.placeholder"
6
- :full-width="props.fullWidth"
7
- :required="props.required"
8
- :disabled="props.disabled"
9
- :readonly="props.readonly"
10
- :width="props.width"
11
- :height="props.height"
12
- :append-icon="props.prependIcon"
13
- @click="openModal"
14
- />
15
-
16
- <div v-else class="flex flex-col gap-[4px]">
17
- <div class="text-gray font-body-large-prominent">วัน เวลาทำการ</div>
18
- <Card variant="outline" full-width>
19
- <div
20
- class="flex gap-[8px] w-full items-center cursor-pointer"
21
- @click="openModal"
22
- >
23
- <div class="flex w-[432px] gap-[8px] flex-col">
24
- <div
25
- v-for="item in schedules"
26
- :key="item.day"
27
- class="flex justify-between"
28
- >
29
- <div class="font-body-large">{{ getDayName(item.day) }}</div>
30
- <div>
31
- <div v-if="!item.isOpen" class="flex items-center gap-2">
32
- <span>หยุดทำการ</span>
33
- </div>
34
- <div v-else-if="item.is24Hours" class="flex items-center gap-2">
35
- <span>เปิด 24 ชั่วโมง</span>
36
- </div>
37
- <div v-else class="space-y-1">
38
- <div
39
- v-for="(time, index) in item.timeSlots"
40
- :key="index"
41
- class="flex items-center gap-2"
42
- >
43
- <span>{{ time.start }} - {{ time.end }}</span>
44
- </div>
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- <Icon name="lucide:chevron-right" :size="24" />
50
- </div>
51
- </Card>
52
- </div>
53
-
54
- <Modal
55
- title="วัน เวลาทำการ"
56
- v-model="isOpenModal"
57
- divider
58
- :width="604"
59
- @close="closeModal"
60
- >
61
- <div v-if="!isEditMode" class="p-4 space-y-4">
62
- <div
63
- v-for="schedule in schedules"
64
- :key="schedule.day"
65
- class="flex justify-between"
66
- >
67
- <div class="w-32 font-medium">{{ getDayName(schedule.day) }}</div>
68
-
69
- <div class="w-40">
70
- <div v-if="!schedule.isOpen" class="flex items-center gap-2">
71
- <Icon name="lucide:clock" size="20" />
72
- <span>หยุดทำการ</span>
73
- </div>
74
- <div v-else-if="schedule.is24Hours" class="flex items-center gap-2">
75
- <Icon name="lucide:clock" size="20" />
76
- <span>เปิด 24 ชั่วโมง</span>
77
- </div>
78
- <div v-else class="space-y-1">
79
- <div
80
- v-for="(time, index) in schedule.timeSlots"
81
- :key="index"
82
- class="flex items-center gap-2"
83
- >
84
- <Icon name="lucide:clock" size="20" />
85
- <span>{{ time.start }} - {{ time.end }}</span>
86
- </div>
87
- </div>
88
- </div>
89
-
90
- <Button
91
- prepend-icon="lucide:square-pen"
92
- :icon-size="20"
93
- size="tiny"
94
- variant="text"
95
- color="black"
96
- @click="editSchedule(schedule.day)"
97
- />
98
- </div>
99
- </div>
100
-
101
- <div v-else class="p-4 space-y-4">
102
-
103
- <div class="flex justify-between">
104
- <div
105
- v-for="(shortName, index) in dayShortNames"
106
- :key="index"
107
- :class="getDayButtonClass(index)"
108
- @click="selectDay(index)"
109
- >
110
- {{ shortName }}
111
- </div>
112
- </div>
113
-
114
- <div class="flex gap-6">
115
- <InputCheckbox label="เปิด 24 ชั่วโมง" v-model="isOpen24h" />
116
- <InputCheckbox label="หยุดทำการ" v-model="isClosed" />
117
- </div>
118
- <div class="flex flex-col gap-6">
119
- <div v-if="!isClosed && !isOpen24h" class="space-y-4">
120
- <div
121
- v-for="(timeSlot, index) in timeSlots"
122
- :key="timeSlot.id"
123
- class="flex justify-between w-full"
124
- >
125
- <InputSelect
126
- :name="`time-slot-start-${timeSlot.id}`"
127
- v-model="timeSlots[index]!.start"
128
- label="เวลาเปิด"
129
- :items="timeOptions"
130
- :width="140"
131
- placeholder="00:00"
132
- />
133
- <InputSelect
134
- :name="`time-slot-end-${timeSlot.id}`"
135
- v-model="timeSlots[index]!.end"
136
- label="เวลาปิด"
137
- :items="timeOptions"
138
- :width="140"
139
- placeholder="00:00"
140
- />
141
- <div class="flex items-end">
142
- <Button
143
- prepend-icon="lucide:trash-2"
144
- variant="text"
145
- color="error"
146
- @click="removeTimeSlot(index)"
147
- />
148
- </div>
149
- </div>
150
- </div>
151
- <div v-if="!isClosed && !isOpen24h">
152
- <Button
153
- disabled-padding
154
- variant="text"
155
- color="primary"
156
- prepend-icon="lucide:plus"
157
- size="small"
158
- @click="addTimeSlot"
159
- >เพิ่มเวลา</Button
160
- >
161
- </div>
162
- </div>
163
- </div>
164
-
165
- <template #footer>
166
- <div class="flex w-full justify-end">
167
- <Button v-if="!isEditMode" color="primary" @click="saveSchedules">
168
- ยืนยัน
169
- </Button>
170
-
171
- <Button v-else color="primary" @click="confirmEditChanges">
172
- ยืนยัน
173
- </Button>
174
- </div>
175
- </template>
176
- </Modal> -->
2
+ <!-- <InputTextField
3
+ v-if="!isConfirmed"
4
+ :label="props.label"
5
+ :placeholder="props.placeholder"
6
+ :full-width="props.fullWidth"
7
+ :required="props.required"
8
+ :disabled="props.disabled"
9
+ :readonly="props.readonly"
10
+ :width="props.width"
11
+ :height="props.height"
12
+ :append-icon="props.prependIcon"
13
+ @click="openModal"
14
+ />
15
+
16
+ <div v-else class="flex flex-col gap-[4px]">
17
+ <div class="text-gray font-body-large-prominent">วัน เวลาทำการ</div>
18
+ <Card variant="outline" full-width>
19
+ <div
20
+ class="flex gap-[8px] w-full items-center cursor-pointer"
21
+ @click="openModal"
22
+ >
23
+ <div class="flex w-[432px] gap-[8px] flex-col">
24
+ <div
25
+ v-for="item in schedules"
26
+ :key="item.day"
27
+ class="flex justify-between"
28
+ >
29
+ <div class="font-body-large">{{ getDayName(item.day) }}</div>
30
+ <div>
31
+ <div v-if="!item.isOpen" class="flex items-center gap-2">
32
+ <span>หยุดทำการ</span>
33
+ </div>
34
+ <div v-else-if="item.is24Hours" class="flex items-center gap-2">
35
+ <span>เปิด 24 ชั่วโมง</span>
36
+ </div>
37
+ <div v-else class="space-y-1">
38
+ <div
39
+ v-for="(time, index) in item.timeSlots"
40
+ :key="index"
41
+ class="flex items-center gap-2"
42
+ >
43
+ <span>{{ time.start }} - {{ time.end }}</span>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <Icon name="lucide:chevron-right" :size="24" />
50
+ </div>
51
+ </Card>
52
+ </div>
53
+
54
+ <Modal
55
+ title="วัน เวลาทำการ"
56
+ v-model="isOpenModal"
57
+ divider
58
+ :width="604"
59
+ @close="closeModal"
60
+ >
61
+ <div v-if="!isEditMode" class="p-4 space-y-4">
62
+ <div
63
+ v-for="schedule in schedules"
64
+ :key="schedule.day"
65
+ class="flex justify-between"
66
+ >
67
+ <div class="w-32 font-medium">{{ getDayName(schedule.day) }}</div>
68
+
69
+ <div class="w-40">
70
+ <div v-if="!schedule.isOpen" class="flex items-center gap-2">
71
+ <Icon name="lucide:clock" size="20" />
72
+ <span>หยุดทำการ</span>
73
+ </div>
74
+ <div v-else-if="schedule.is24Hours" class="flex items-center gap-2">
75
+ <Icon name="lucide:clock" size="20" />
76
+ <span>เปิด 24 ชั่วโมง</span>
77
+ </div>
78
+ <div v-else class="space-y-1">
79
+ <div
80
+ v-for="(time, index) in schedule.timeSlots"
81
+ :key="index"
82
+ class="flex items-center gap-2"
83
+ >
84
+ <Icon name="lucide:clock" size="20" />
85
+ <span>{{ time.start }} - {{ time.end }}</span>
86
+ </div>
87
+ </div>
88
+ </div>
89
+
90
+ <Button
91
+ prepend-icon="lucide:square-pen"
92
+ :icon-size="20"
93
+ size="tiny"
94
+ variant="text"
95
+ color="black"
96
+ @click="editSchedule(schedule.day)"
97
+ />
98
+ </div>
99
+ </div>
100
+
101
+ <div v-else class="p-4 space-y-4">
102
+
103
+ <div class="flex justify-between">
104
+ <div
105
+ v-for="(shortName, index) in dayShortNames"
106
+ :key="index"
107
+ :class="getDayButtonClass(index)"
108
+ @click="selectDay(index)"
109
+ >
110
+ {{ shortName }}
111
+ </div>
112
+ </div>
113
+
114
+
115
+ <div class="flex gap-6">
116
+ <InputCheckbox label="เปิด 24 ชั่วโมง" v-model="isOpen24h" />
117
+ <InputCheckbox label="หยุดทำการ" v-model="isClosed" />
118
+ </div>
119
+ <div class="flex flex-col gap-6">
120
+ <div v-if="!isClosed && !isOpen24h" class="space-y-4">
121
+ <div
122
+ v-for="(timeSlot, index) in timeSlots"
123
+ :key="timeSlot.id"
124
+ class="flex justify-between w-full"
125
+ >
126
+ <InputSelect
127
+ :name="`time-slot-start-${timeSlot.id}`"
128
+ v-model="timeSlots[index]!.start"
129
+ label="เวลาเปิด"
130
+ :items="timeOptions"
131
+ :width="140"
132
+ placeholder="00:00"
133
+ />
134
+ <InputSelect
135
+ :name="`time-slot-end-${timeSlot.id}`"
136
+ v-model="timeSlots[index]!.end"
137
+ label="เวลาปิด"
138
+ :items="timeOptions"
139
+ :width="140"
140
+ placeholder="00:00"
141
+ />
142
+ <div class="flex items-end">
143
+ <Button
144
+ prepend-icon="lucide:trash-2"
145
+ variant="text"
146
+ color="error"
147
+ @click="removeTimeSlot(index)"
148
+ />
149
+ </div>
150
+ </div>
151
+ </div>
152
+ <div v-if="!isClosed && !isOpen24h">
153
+ <Button
154
+ disabled-padding
155
+ variant="text"
156
+ color="primary"
157
+ prepend-icon="lucide:plus"
158
+ size="small"
159
+ @click="addTimeSlot"
160
+ >เพิ่มเวลา</Button
161
+ >
162
+ </div>
163
+ </div>
164
+ </div>
165
+
166
+ <template #footer>
167
+ <div class="flex w-full justify-end">
168
+ <Button v-if="!isEditMode" color="primary" @click="saveSchedules">
169
+ ยืนยัน
170
+ </Button>
171
+
172
+ <Button v-else color="primary" @click="confirmEditChanges">
173
+ ยืนยัน
174
+ </Button>
175
+ </div>
176
+ </template>
177
+ </Modal> -->
177
178
  </template>
178
179
 
179
180
  <script setup>
@@ -1,12 +1,12 @@
1
1
  <template>
2
- <!-- <InputTextField
3
- ref="inputRef"
4
- :name="props.name"
5
- :label="props.label"
6
- :placeholder="props.placeholder"
7
- :required="props.required"
8
- :rules="rules"
9
- /> -->
2
+ <!-- <InputTextField
3
+ ref="inputRef"
4
+ :name="props.name"
5
+ :label="props.label"
6
+ :placeholder="props.placeholder"
7
+ :required="props.required"
8
+ :rules="rules"
9
+ /> -->
10
10
  </template>
11
11
 
12
12
  <script setup>
@@ -27,8 +27,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
27
27
  label: string;
28
28
  name: string;
29
29
  limit: number;
30
- accept: string;
31
30
  disabledErrorMessage: boolean;
31
+ accept: string;
32
32
  labelIcon: string;
33
33
  disabledDrop: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,87 +1,87 @@
1
1
  <template>
2
- <div class="space-y-[4px]">
3
- <div class="flex flex-wrap gap-[8px]">
4
- <Draggable v-model="arrFiles">
5
- <template #item="{ item, index }">
6
- <div class="relative">
7
- <video
8
- v-if="item.type.startsWith('video')"
9
- :src="createBlobUrl(item)"
10
- class="rounded-[4px] object-cover w-[98px] h-[98px]"
11
- />
12
- <Image
13
- v-else-if="item.type.startsWith('image')"
14
- width="98"
15
- height="98"
16
- :src="createBlobUrl(item)"
17
- class="rounded-[4px]"
18
- />
19
- <div
20
- v-else
21
- class="w-[98px] h-[98px] rounded-[4px] flex justify-center items-center"
22
- >
23
- <Icon
24
- name="material-symbols:lab-profile-rounded"
25
- size="34"
26
- ></Icon>
27
- </div>
28
- <div
29
- class="absolute top-[2px] right-[2px] p-[1px] w-[20px] h-[20px] bg-white rounded-full cursor-pointer flex justify-center items-center"
30
- @click="onDeleteImage(index)"
31
- >
32
- <Icon name="gravity-ui:xmark" size="16"></Icon>
33
- </div>
34
- </div>
35
- </template>
36
- </Draggable>
37
-
38
- <label
39
- v-if="props.limit == 0 || arrFiles.length < props.limit"
2
+ <div class="space-y-[4px]">
3
+ <div class="flex flex-wrap gap-[8px]">
4
+ <Draggable v-model="arrFiles">
5
+ <template #item="{ item, index }">
6
+ <div class="relative">
7
+ <video
8
+ v-if="item.type.startsWith('video')"
9
+ :src="createBlobUrl(item)"
10
+ class="rounded-[4px] object-cover w-[98px] h-[98px]"
11
+ />
12
+ <Image
13
+ v-else-if="item.type.startsWith('image')"
14
+ width="98"
15
+ height="98"
16
+ :src="createBlobUrl(item)"
17
+ class="rounded-[4px]"
18
+ />
19
+ <div
20
+ v-else
21
+ class="w-[98px] h-[98px] rounded-[4px] flex justify-center items-center"
22
+ >
23
+ <Icon
24
+ name="material-symbols:lab-profile-rounded"
25
+ size="34"
26
+ ></Icon>
27
+ </div>
28
+ <div
29
+ class="absolute top-[2px] right-[2px] p-[1px] w-[20px] h-[20px] bg-white rounded-full cursor-pointer flex justify-center items-center"
30
+ @click="onDeleteImage(index)"
31
+ >
32
+ <Icon name="gravity-ui:xmark" size="16"></Icon>
33
+ </div>
34
+ </div>
35
+ </template>
36
+ </Draggable>
37
+
38
+ <label
39
+ v-if="props.limit == 0 || arrFiles.length < props.limit"
40
40
  :class="[
41
41
  'relative flex flex-col gap-[4px] justify-center items-center cursor-pointer',
42
42
  'rounded-[4px] border-dashed',
43
43
  actionOnDrop
44
- ]"
44
+ ]"
45
45
  :style="{
46
46
  width: props.fullWidth ? '100%' : props.width,
47
47
  height: props.fullHeight ? '100%' : props.height
48
- }"
49
- @dragover.prevent="onDragOver"
50
- @dragenter.prevent
51
- @dragleave.prevent="onDragLeave"
52
- @drop.prevent="onSelectFile"
53
- >
54
- <input
55
- class="absolute w-full h-full cursor-pointer hidden"
56
- type="file"
57
- :accept="props.accept"
58
- multiple
59
- @change="onSelectFile"
60
- />
61
- <slot name="default" :label="label">
62
- <div
63
- class="flex flex-col gap-[4px] justify-center items-center w-[98px] h-[98px] rounded-[4px]"
64
- >
65
- <Icon
66
- :class="isDrag ? 'text-primary' : 'text-gray'"
67
- :name="labelIcon"
68
- size="34"
69
- ></Icon>
70
- <div class="font-body-large">{{ `\u0E40\u0E1E\u0E34\u0E48\u0E21${label}` }}</div>
71
- </div>
72
- </slot>
73
- </label>
74
- </div>
75
-
76
- <div
77
- v-if="!props.disabledErrorMessage && errorMessage"
78
- class="font-body-small text-error"
79
- >
80
- <slot name="error">
81
- {{ errorMessage }}
82
- </slot>
83
- </div>
84
- </div>
48
+ }"
49
+ @dragover.prevent="onDragOver"
50
+ @dragenter.prevent
51
+ @dragleave.prevent="onDragLeave"
52
+ @drop.prevent="onSelectFile"
53
+ >
54
+ <input
55
+ class="absolute w-full h-full cursor-pointer hidden"
56
+ type="file"
57
+ :accept="props.accept"
58
+ multiple
59
+ @change="onSelectFile"
60
+ />
61
+ <slot name="default" :label="label">
62
+ <div
63
+ class="flex flex-col gap-[4px] justify-center items-center w-[98px] h-[98px] rounded-[4px]"
64
+ >
65
+ <Icon
66
+ :class="isDrag ? 'text-primary' : 'text-gray'"
67
+ :name="labelIcon"
68
+ size="34"
69
+ ></Icon>
70
+ <div class="font-body-large">{{ `\u0E40\u0E1E\u0E34\u0E48\u0E21${label}` }}</div>
71
+ </div>
72
+ </slot>
73
+ </label>
74
+ </div>
75
+
76
+ <div
77
+ v-if="!props.disabledErrorMessage && errorMessage"
78
+ class="font-body-small text-error"
79
+ >
80
+ <slot name="error">
81
+ {{ errorMessage }}
82
+ </slot>
83
+ </div>
84
+ </div>
85
85
  </template>
86
86
 
87
87
  <script setup>
@@ -27,8 +27,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
27
27
  label: string;
28
28
  name: string;
29
29
  limit: number;
30
- accept: string;
31
30
  disabledErrorMessage: boolean;
31
+ accept: string;
32
32
  labelIcon: string;
33
33
  disabledDrop: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,43 +1,43 @@
1
1
  <template>
2
- <div class="relative">
3
- <div class="font-body-large-prominent text-gray">ช่องทางการติดต่อ</div>
4
- <ul class="flex flex-col gap-[16px]">
5
- <li
6
- v-for="(link, i) in linkValue"
7
- :key="i"
8
- class="flex items-start gap-[8px] font-body-large"
9
- >
10
- <InputSelect
11
- :name="`${props.name}[${i}]name`"
12
- width="172"
13
- :items="listOption"
14
- @select="onSelectSocial(i)"
15
- v-model="link.name"
16
- />
17
- <div class="flex-1">
18
- <InputTextField
19
- :name="`${props.name}[${i}]link`"
20
- full-width
21
- :placeholder="listSocial.find((f) => f.name === link.name)?.example"
22
- :rules="(v) => rules(v, link.name)"
23
- @change="onChangeLink(link, i)"
24
- v-model="link.link"
25
- />
26
- </div>
27
- </li>
28
- <li>
29
- <Button
30
- type="text"
31
- variant="primary"
32
- disabled-padding
33
- prepend-icon="lucide:plus"
34
- @click="addLink"
35
- >
36
- เพิ่มช่องทาง
37
- </Button>
38
- </li>
39
- </ul>
40
- </div>
2
+ <div class="relative">
3
+ <div class="font-body-large-prominent text-gray">ช่องทางการติดต่อ</div>
4
+ <ul class="flex flex-col gap-[16px]">
5
+ <li
6
+ v-for="(link, i) in linkValue"
7
+ :key="i"
8
+ class="flex items-start gap-[8px] font-body-large"
9
+ >
10
+ <InputSelect
11
+ :name="`${props.name}[${i}]name`"
12
+ width="172"
13
+ :items="listOption"
14
+ @select="onSelectSocial(i)"
15
+ v-model="link.name"
16
+ />
17
+ <div class="flex-1">
18
+ <InputTextField
19
+ :name="`${props.name}[${i}]link`"
20
+ full-width
21
+ :placeholder="listSocial.find((f) => f.name === link.name)?.example"
22
+ :rules="(v) => rules(v, link.name)"
23
+ @change="onChangeLink(link, i)"
24
+ v-model="link.link"
25
+ />
26
+ </div>
27
+ </li>
28
+ <li>
29
+ <Button
30
+ type="text"
31
+ variant="primary"
32
+ disabled-padding
33
+ prepend-icon="lucide:plus"
34
+ @click="addLink"
35
+ >
36
+ เพิ่มช่องทาง
37
+ </Button>
38
+ </li>
39
+ </ul>
40
+ </div>
41
41
  </template>
42
42
 
43
43
  <script setup>