pukaad-ui-lib 1.2.0 → 1.3.1

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 (272) 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 +2 -2
  89. package/dist/runtime/components/input/input-file.vue +76 -76
  90. package/dist/runtime/components/input/input-file.vue.d.ts +2 -2
  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.d.vue.ts +1 -1
  94. package/dist/runtime/components/input/input-password.vue +40 -40
  95. package/dist/runtime/components/input/input-password.vue.d.ts +1 -1
  96. package/dist/runtime/components/input/input-phone.vue +6 -6
  97. package/dist/runtime/components/input/input-radio.d.vue.ts +4 -4
  98. package/dist/runtime/components/input/input-radio.vue +87 -87
  99. package/dist/runtime/components/input/input-radio.vue.d.ts +4 -4
  100. package/dist/runtime/components/input/input-rating.vue +13 -13
  101. package/dist/runtime/components/input/input-recaptcha.vue +19 -19
  102. package/dist/runtime/components/input/input-search.vue +69 -69
  103. package/dist/runtime/components/input/input-select-tag.vue +51 -51
  104. package/dist/runtime/components/input/input-select.vue +42 -42
  105. package/dist/runtime/components/input/input-slider.d.vue.ts +1 -1
  106. package/dist/runtime/components/input/input-slider.vue +19 -19
  107. package/dist/runtime/components/input/input-slider.vue.d.ts +1 -1
  108. package/dist/runtime/components/input/input-switch.vue +25 -25
  109. package/dist/runtime/components/input/input-tag.vue +37 -37
  110. package/dist/runtime/components/input/input-text-field.vue +83 -83
  111. package/dist/runtime/components/input/input-textarea.vue +54 -54
  112. package/dist/runtime/components/label/label-announce-time.vue +9 -9
  113. package/dist/runtime/components/label/label-card-atom.vue +8 -8
  114. package/dist/runtime/components/list/list-menu.vue +13 -13
  115. package/dist/runtime/components/modal/modal-2FA-generate.vue +62 -62
  116. package/dist/runtime/components/modal/modal-2FA.vue +21 -21
  117. package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
  118. package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
  119. package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
  120. package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
  121. package/dist/runtime/components/modal/modal-email-OTP.vue +31 -31
  122. package/dist/runtime/components/modal/modal-password-new.vue +27 -27
  123. package/dist/runtime/components/modal/modal-password.vue +27 -27
  124. package/dist/runtime/components/modal/modal-personal-card-ID.vue +194 -194
  125. package/dist/runtime/components/modal/modal-phone-OTP.vue +38 -38
  126. package/dist/runtime/components/modal/modal-profile-edit.vue +165 -165
  127. package/dist/runtime/components/modal/modal-province-domain.vue +23 -23
  128. package/dist/runtime/components/modal/modal-report.vue +49 -49
  129. package/dist/runtime/components/modal/modal-review-detail.vue +118 -118
  130. package/dist/runtime/components/modal/modal-secure.vue +10 -10
  131. package/dist/runtime/components/modal/modal-share.vue +24 -24
  132. package/dist/runtime/components/modal/modal-user-account-list.vue +29 -29
  133. package/dist/runtime/components/modal/modal-user-account-search.vue +24 -24
  134. package/dist/runtime/components/modal/modal.vue +27 -27
  135. package/dist/runtime/components/pagination.vue +43 -43
  136. package/dist/runtime/components/picker/picker-image-cover-profile.vue +91 -91
  137. package/dist/runtime/components/picker/picker-image-profile.vue +82 -82
  138. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +14 -14
  139. package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +27 -27
  140. package/dist/runtime/components/profile-cover.vue +80 -80
  141. package/dist/runtime/components/progress-bar.vue +9 -9
  142. package/dist/runtime/components/read-more-text.vue +1 -1
  143. package/dist/runtime/components/tab.vue +78 -78
  144. package/dist/runtime/components/table.d.vue.ts +6 -6
  145. package/dist/runtime/components/table.vue +82 -82
  146. package/dist/runtime/components/table.vue.d.ts +6 -6
  147. package/dist/runtime/components/tooltip.vue +19 -19
  148. package/dist/runtime/components/ui/alert/Alert.vue +7 -7
  149. package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
  150. package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
  151. package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
  152. package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
  153. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
  154. package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
  155. package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
  156. package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
  157. package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
  158. package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
  159. package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
  160. package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
  161. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
  162. package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
  163. package/dist/runtime/components/ui/button/Button.vue +8 -8
  164. package/dist/runtime/components/ui/card/Card.vue +8 -8
  165. package/dist/runtime/components/ui/card/CardAction.vue +6 -6
  166. package/dist/runtime/components/ui/card/CardContent.vue +6 -6
  167. package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
  168. package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
  169. package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
  170. package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
  171. package/dist/runtime/components/ui/checkbox/Checkbox.vue +14 -14
  172. package/dist/runtime/components/ui/command/Command.vue +7 -7
  173. package/dist/runtime/components/ui/command/CommandDialog.d.vue.ts +1 -1
  174. package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
  175. package/dist/runtime/components/ui/command/CommandDialog.vue.d.ts +1 -1
  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/sheet/Sheet.vue +3 -3
  248. package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
  249. package/dist/runtime/components/ui/sheet/SheetContent.vue +20 -20
  250. package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
  251. package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
  252. package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
  253. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
  254. package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
  255. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
  256. package/dist/runtime/components/ui/spinner/Spinner.vue +5 -5
  257. package/dist/runtime/components/ui/table/Table.vue +5 -5
  258. package/dist/runtime/components/ui/table/TableBody.vue +6 -6
  259. package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
  260. package/dist/runtime/components/ui/table/TableCell.vue +6 -6
  261. package/dist/runtime/components/ui/table/TableEmpty.vue +10 -10
  262. package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
  263. package/dist/runtime/components/ui/table/TableHead.vue +6 -6
  264. package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
  265. package/dist/runtime/components/ui/table/TableRow.vue +6 -6
  266. package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
  267. package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
  268. package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
  269. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
  270. package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
  271. package/dist/runtime/components/video.vue +2 -2
  272. package/package.json +2 -2
@@ -1,92 +1,93 @@
1
1
  <template>
2
- <ShadFormField
3
- ref="fieldRef"
4
- :name="props.name"
5
- :rules="props.rules || defaultRules"
6
- v-slot="{ componentField }"
7
- v-model="modelValue"
8
- >
9
- <ShadFormItem>
10
- <ShadFormLabel v-if="$slots.label || props.label" class="w-full">
11
- <slot name="label">
12
- <div
2
+ <ShadFormField
3
+ ref="fieldRef"
4
+ :name="props.name"
5
+ :rules="props.rules || defaultRules"
6
+ v-slot="{ componentField }"
7
+ v-model="modelValue"
8
+ >
9
+ <ShadFormItem>
10
+ <ShadFormLabel v-if="$slots.label || props.label" class="w-full">
11
+ <slot name="label">
12
+ <div
13
13
  :class="[
14
14
  'flex-1',
15
15
  props.disabledBorder && 'font-body-small-prominent'
16
- ]"
17
- >
18
- {{ props.label }}
19
- <span v-if="props.required" class="text-destructive">*</span>
20
- </div>
21
- </slot>
22
- <div
23
- v-if="props.showCounter"
24
- :class="[props.disabledBorder && 'font-body-small']"
25
- >
26
- <div
27
- v-if="props.limit > 0"
16
+ ]"
17
+ >
18
+ {{ props.label }}
19
+ <span v-if="props.required" class="text-destructive">*</span>
20
+ </div>
21
+ </slot>
22
+ <div
23
+ v-if="props.showCounter"
24
+ :class="[props.disabledBorder && 'font-body-small']"
25
+ >
26
+ <div
27
+ v-if="props.limit > 0"
28
28
  :class="[
29
29
  (props.multiple ? modelValue.length : modelValue.length) > props.limit && 'text-destructive'
30
- ]"
31
- >
32
- {{
33
- props.multiple ? modelValue.length : modelValue.length
34
- }}/{{ props.limit }}
35
- </div>
36
- </div>
37
- </ShadFormLabel>
38
- <ShadPopover v-bind="componentField">
39
- <ShadPopoverTrigger as-child>
40
- <ShadFormControl>
41
- <ShadButton
42
- variant="outline"
43
- role="combobox"
44
- class="w-full justify-between text-start"
45
- >
46
- {{ displayValue }}
47
- <Icon name="lucide:chevrons-up-down" class="h-4 w-4" />
48
- </ShadButton>
49
- </ShadFormControl>
50
- </ShadPopoverTrigger>
51
- <ShadPopoverContent>
52
- <ShadCommand>
53
- <ShadCommandInput />
54
- <ShadCommandList>
55
- <ShadCommandGroup>
56
- <slot name="options">
57
- <ShadCommandItem
58
- v-for="option in options"
59
- :key="option.value"
60
- :value="option.value"
61
- :disabled="isOptionDisabled(option.value)"
30
+ ]"
31
+ >
32
+ {{
33
+ props.multiple ? modelValue.length : modelValue.length
34
+ }}/{{ props.limit }}
35
+ </div>
36
+ </div>
37
+ </ShadFormLabel>
38
+ <ShadPopover v-bind="componentField">
39
+ <ShadPopoverTrigger as-child>
40
+ <ShadFormControl>
41
+ <ShadButton
42
+ variant="outline"
43
+ role="combobox"
44
+ class="w-full justify-between text-start"
45
+ >
46
+ {{ displayValue }}
47
+ <Icon name="lucide:chevrons-up-down" class="h-4 w-4" />
48
+ </ShadButton>
49
+ </ShadFormControl>
50
+ </ShadPopoverTrigger>
51
+ <ShadPopoverContent>
52
+ <ShadCommand>
53
+ <ShadCommandInput />
54
+ <ShadCommandList>
55
+ <ShadCommandGroup>
56
+ <slot name="options">
57
+ <ShadCommandItem
58
+ v-for="option in options"
59
+ :key="option.value"
60
+ :value="option.value"
61
+ :disabled="isOptionDisabled(option.value)"
62
62
  :class="[
63
63
  isOptionDisabled(option.value) && 'cursor-not-allowed'
64
- ]"
65
- @click="() => handleSelect(option.value)"
66
- >
67
- <ShadCheckbox
68
- v-if="props.multiple"
69
- :model-value="isSelected(option.value)"
70
- :disabled="isOptionDisabled(option.value)"
71
- class="mr-2 pointer-events-none"
72
- />
73
-
74
- {{ option.label }}
75
- <Icon
76
- v-if="!props.multiple && isSelected(option.value)"
77
- name="lucide:check"
78
- class="ml-auto h-4 w-4"
79
- />
80
- </ShadCommandItem>
81
- </slot>
82
- </ShadCommandGroup>
83
- <ShadCommandEmpty />
84
- </ShadCommandList>
85
- </ShadCommand>
86
- </ShadPopoverContent>
87
- </ShadPopover>
88
- </ShadFormItem>
89
- </ShadFormField>
64
+ ]"
65
+ @click="() => handleSelect(option.value)"
66
+ >
67
+ <ShadCheckbox
68
+ v-if="props.multiple"
69
+ :model-value="isSelected(option.value)"
70
+ :disabled="isOptionDisabled(option.value)"
71
+ class="mr-2 pointer-events-none"
72
+ />
73
+
74
+ {{ option.label }}
75
+ <Icon
76
+ v-if="!props.multiple && isSelected(option.value)"
77
+ name="lucide:check"
78
+ class="ml-auto h-4 w-4"
79
+ />
80
+ </ShadCommandItem>
81
+ </slot>
82
+ </ShadCommandGroup>
83
+ <ShadCommandEmpty />
84
+ </ShadCommandList>
85
+ </ShadCommand>
86
+ </ShadPopoverContent>
87
+ </ShadPopover>
88
+ <ShadFormMessage />
89
+ </ShadFormItem>
90
+ </ShadFormField>
90
91
  </template>
91
92
 
92
93
  <script setup>
@@ -169,4 +170,19 @@ const handleSelect = (value) => {
169
170
  popoverOpen.value = false;
170
171
  }
171
172
  };
173
+ const validate = async () => {
174
+ if (fieldRef.value) {
175
+ const result = await fieldRef.value.validate();
176
+ return result.valid;
177
+ }
178
+ return true;
179
+ };
180
+ const setErrors = (errMsg) => {
181
+ fieldRef.value?.setErrors(errMsg);
182
+ };
183
+ defineExpose({
184
+ validate,
185
+ setErrors,
186
+ fieldRef
187
+ });
172
188
  </script>
@@ -25,7 +25,11 @@ type __VLS_Slots = {} & {
25
25
  } & {
26
26
  options?: (props: typeof __VLS_70) => any;
27
27
  };
28
- declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
29
+ validate: () => Promise<any>;
30
+ setErrors: (errMsg: string[]) => void;
31
+ fieldRef: import("vue").Ref<any, any>;
32
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
33
  "update:modelValue": (value: string | string[]) => any;
30
34
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
31
35
  "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div
3
- contenteditable="true"
4
- ref="editorRef"
5
- @input="onInput"
6
- class="w-full min-h-[40px] px-[12px] py-[8px] font-body-large bg-white ring-[1px] ring-cloud rounded-[8px] outline-none focus:outline-none focus:ring-[2px] focus:ring-primary whitespace-pre-wrap break-words text-black"
7
- />
2
+ <div
3
+ contenteditable="true"
4
+ ref="editorRef"
5
+ @input="onInput"
6
+ class="w-full min-h-[40px] px-[12px] py-[8px] font-body-large bg-white ring-[1px] ring-cloud rounded-[8px] outline-none focus:outline-none focus:ring-[2px] focus:ring-primary whitespace-pre-wrap break-words text-black"
7
+ />
8
8
  </template>
9
9
 
10
10
  <script setup>
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div>
3
- <div class="quill-wrapper">
4
- <div ref="contentRef" :style="{ '--height': `${props.height}px` }" />
5
- </div>
6
- </div>
2
+ <div>
3
+ <div class="quill-wrapper">
4
+ <div ref="contentRef" :style="{ '--height': `${props.height}px` }" />
5
+ </div>
6
+ </div>
7
7
  </template>
8
8
 
9
9
  <script setup>
@@ -1,180 +1,179 @@
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
-
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> -->
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> -->
178
177
  </template>
179
178
 
180
179
  <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>
@@ -5,7 +5,7 @@ type __VLS_ModelProps = {
5
5
  };
6
6
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
7
  declare var __VLS_22: {
8
- label: any;
8
+ label: string;
9
9
  }, __VLS_29: {};
10
10
  type __VLS_Slots = {} & {
11
11
  default?: (props: typeof __VLS_22) => any;
@@ -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
- disabledErrorMessage: boolean;
31
30
  accept: string;
31
+ disabledErrorMessage: boolean;
32
32
  labelIcon: string;
33
33
  disabledDrop: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;