@phonghq/go-chat 1.0.0 → 1.0.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 (285) hide show
  1. package/README.md +4 -0
  2. package/dist/assets/icons/IconArrowLeft.vue.d.ts +2 -0
  3. package/dist/assets/icons/IconArrowLeft.vue.js +29 -0
  4. package/dist/assets/icons/IconPhone.vue.d.ts +2 -0
  5. package/dist/assets/icons/IconPhone.vue.js +19 -0
  6. package/dist/assets/icons/IconPlan.vue.d.ts +2 -0
  7. package/dist/assets/icons/IconPlan.vue.js +19 -0
  8. package/dist/assets/icons/IconPlus.vue.d.ts +2 -0
  9. package/dist/assets/icons/IconPlus.vue.js +22 -0
  10. package/dist/assets/icons/IconSearch.vue.d.ts +32 -0
  11. package/dist/assets/icons/IconSearch.vue.js +68 -0
  12. package/dist/assets/icons/call/IconMic.vue.d.ts +14 -0
  13. package/dist/assets/icons/call/IconMic.vue.js +123 -0
  14. package/dist/assets/icons/call/IconPhone.vue.d.ts +2 -0
  15. package/dist/assets/icons/call/IconPhone.vue.js +35 -0
  16. package/dist/assets/icons/call/IconPhoneCancel.vue.d.ts +2 -0
  17. package/dist/assets/icons/call/IconPhoneCancel.vue.js +35 -0
  18. package/dist/assets/icons/call/IconSpeaker.vue.d.ts +14 -0
  19. package/dist/assets/icons/call/IconSpeaker.vue.js +62 -0
  20. package/dist/assets/icons/customer-appointment/IconFilter.vue.d.ts +2 -0
  21. package/dist/assets/icons/customer-appointment/IconFilter.vue.js +53 -0
  22. package/dist/assets/icons/customer-detail/IconArrow.vue.d.ts +2 -0
  23. package/dist/assets/icons/customer-detail/IconArrow.vue.js +22 -0
  24. package/dist/assets/icons/customer-detail/IconCheck.vue.d.ts +2 -0
  25. package/dist/assets/icons/customer-detail/IconCheck.vue.js +27 -0
  26. package/dist/assets/icons/customer-detail/IconDate.vue.d.ts +2 -0
  27. package/dist/assets/icons/customer-detail/IconDate.vue.js +43 -0
  28. package/dist/assets/icons/customer-detail/IconGroup.vue.d.ts +2 -0
  29. package/dist/assets/icons/customer-detail/IconGroup.vue.js +48 -0
  30. package/dist/assets/icons/customer-detail/IconMessage.vue.d.ts +2 -0
  31. package/dist/assets/icons/customer-detail/IconMessage.vue.js +28 -0
  32. package/dist/assets/icons/customer-detail/IconNote.vue.d.ts +2 -0
  33. package/dist/assets/icons/customer-detail/IconNote.vue.js +29 -0
  34. package/dist/assets/icons/customer-detail/IconPhone.vue.d.ts +2 -0
  35. package/dist/assets/icons/customer-detail/IconPhone.vue.js +21 -0
  36. package/dist/assets/icons/customer-detail/IconPin.vue.d.ts +2 -0
  37. package/dist/assets/icons/customer-detail/IconPin.vue.js +29 -0
  38. package/dist/assets/icons/customer-detail/IconSearch.vue.d.ts +2 -0
  39. package/dist/assets/icons/customer-detail/IconSearch.vue.js +29 -0
  40. package/dist/chat/App.vue.d.ts +5 -0
  41. package/dist/chat/App.vue.js +502 -0
  42. package/dist/chat/main.d.ts +3 -0
  43. package/dist/chat/main.js +2 -0
  44. package/dist/chat/page/customer-appointment/CustomerAppointment.vue.d.ts +2 -0
  45. package/dist/chat/page/customer-appointment/CustomerAppointment.vue.js +207 -0
  46. package/dist/chat/page/customer-check-in/CollapseCheckIn.vue.d.ts +12 -0
  47. package/dist/chat/page/customer-check-in/CollapseCheckIn.vue.js +80 -0
  48. package/dist/chat/page/customer-check-in/CustomerCheckIn.vue.d.ts +2 -0
  49. package/dist/chat/page/customer-check-in/CustomerCheckIn.vue.js +136 -0
  50. package/dist/chat/page/customer-detail/CustomerDetail.vue.d.ts +7 -0
  51. package/dist/chat/page/customer-detail/CustomerDetail.vue.js +235 -0
  52. package/dist/chat/page/customer-detail/SubInformation.vue.d.ts +16 -0
  53. package/dist/chat/page/customer-detail/SubInformation.vue.js +102 -0
  54. package/dist/chat/page/error/Error.vue.d.ts +2 -0
  55. package/dist/chat/page/error/Error.vue.js +64 -0
  56. package/dist/chat/page/home/ChatList.vue.d.ts +20 -0
  57. package/dist/chat/page/home/ChatList.vue.js +380 -0
  58. package/dist/chat/page/home/ChatMessage.vue.d.ts +16 -0
  59. package/dist/chat/page/home/ChatMessage.vue.js +271 -0
  60. package/dist/chat/page/home/Home.vue.d.ts +14 -0
  61. package/dist/chat/page/home/Home.vue.js +327 -0
  62. package/dist/chat/page/home/HomeHeader.vue.d.ts +10 -0
  63. package/dist/chat/page/home/HomeHeader.vue.js +122 -0
  64. package/dist/chat/page/home/InputChat.vue.d.ts +19 -0
  65. package/dist/chat/page/home/InputChat.vue.js +226 -0
  66. package/dist/chat/page/home/NewCustomer.vue.d.ts +6 -0
  67. package/dist/chat/page/home/NewCustomer.vue.js +82 -0
  68. package/dist/components/ListenEvent.vue.d.ts +2 -0
  69. package/dist/components/ListenEvent.vue.js +45 -0
  70. package/dist/components/chat/ScrollEvent/ScrollEvent.vue.d.ts +22 -0
  71. package/dist/components/chat/ScrollEvent/ScrollEvent.vue.js +197 -0
  72. package/dist/components/chat/call/Calling.vue.d.ts +7 -0
  73. package/dist/components/chat/call/Calling.vue.js +291 -0
  74. package/dist/components/chat/card/CardCustomerDetail.vue.d.ts +13 -0
  75. package/dist/components/chat/card/CardCustomerDetail.vue.js +28 -0
  76. package/dist/components/chat/common/collapse/CollapseBase.vue.d.ts +20 -0
  77. package/dist/components/chat/common/collapse/CollapseBase.vue.js +59 -0
  78. package/dist/components/chat/common/input/InputSearch.vue.d.ts +16 -0
  79. package/dist/components/chat/common/input/InputSearch.vue.js +71 -0
  80. package/dist/components/chat/common/popover/PopoverBase.vue.d.ts +35 -0
  81. package/dist/components/chat/common/popover/PopoverBase.vue.js +148 -0
  82. package/dist/components/chat/common/spin/BaseSpin.vue.d.ts +2 -0
  83. package/dist/components/chat/common/spin/BaseSpin.vue.js +12 -0
  84. package/dist/components/chat/customer/Avatar.vue.d.ts +11 -0
  85. package/dist/components/chat/customer/Avatar.vue.js +79 -0
  86. package/dist/components/chat/layout/mobile/Footer.vue.d.ts +2 -0
  87. package/dist/components/chat/layout/mobile/Footer.vue.js +109 -0
  88. package/dist/components/common/CustomLoading.vue.d.ts +2 -0
  89. package/dist/components/common/CustomLoading.vue.js +19 -0
  90. package/dist/components/common/Notification/NotificationDescription.vue.d.ts +7 -0
  91. package/dist/components/common/Notification/NotificationDescription.vue.js +38 -0
  92. package/dist/components/common/button/ButtonBase.vue.d.ts +22 -0
  93. package/dist/components/common/button/ButtonBase.vue.js +78 -0
  94. package/dist/components/common/button/ButtonToggle.vue.d.ts +20 -0
  95. package/dist/components/common/button/ButtonToggle.vue.js +70 -0
  96. package/dist/components/common/checkbox/CCheckboxNumber.vue.d.ts +16 -0
  97. package/dist/components/common/checkbox/CCheckboxNumber.vue.js +48 -0
  98. package/dist/components/common/collapse/BaseCollapse.vue.d.ts +12 -0
  99. package/dist/components/common/collapse/BaseCollapse.vue.js +36 -0
  100. package/dist/components/common/collapse/BaseCollapseItem.vue.d.ts +4 -0
  101. package/dist/components/common/collapse/BaseCollapseItem.vue.js +22 -0
  102. package/dist/components/common/drawer/DrawerBase.vue.d.ts +39 -0
  103. package/dist/components/common/drawer/DrawerBase.vue.js +126 -0
  104. package/dist/components/common/dropdown/DropdownBase.vue.d.ts +21 -0
  105. package/dist/components/common/dropdown/DropdownBase.vue.js +91 -0
  106. package/dist/components/common/input/CInputSearch.vue.d.ts +14 -0
  107. package/dist/components/common/input/CInputSearch.vue.js +62 -0
  108. package/dist/components/common/modal/ModalBase.vue.d.ts +35 -0
  109. package/dist/components/common/modal/ModalBase.vue.js +164 -0
  110. package/dist/components/common/popover/PopoverBase.vue.d.ts +3 -0
  111. package/dist/components/common/popover/PopoverBase.vue.js +36 -0
  112. package/dist/components/common/slider/BaseSlider.vue.d.ts +11 -0
  113. package/dist/components/common/slider/BaseSlider.vue.js +70 -0
  114. package/dist/components/common/spin/CSpin.vue.d.ts +9 -0
  115. package/dist/components/common/spin/CSpin.vue.js +41 -0
  116. package/dist/components/common/tooltip/TooltipBase.vue.d.ts +2 -0
  117. package/dist/components/common/tooltip/TooltipBase.vue.js +8 -0
  118. package/dist/components/layout/Blank.vue.d.ts +9 -0
  119. package/dist/components/layout/Blank.vue.js +19 -0
  120. package/dist/components/layout/Default.vue.d.ts +9 -0
  121. package/dist/components/layout/Default.vue.js +21 -0
  122. package/dist/components/modal/Confirm.vue.d.ts +2 -0
  123. package/dist/components/modal/Confirm.vue.js +164 -0
  124. package/dist/components/ui/button/CButton.vue.d.ts +19 -0
  125. package/dist/components/ui/button/CButton.vue.js +49 -0
  126. package/dist/components/ui/button/c-button.d.ts +7 -0
  127. package/dist/components/ui/button/c-button.js +26 -0
  128. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +18 -0
  129. package/dist/components/ui/checkbox/Checkbox.vue.js +79 -0
  130. package/dist/components/ui/checkbox/index.d.ts +1 -0
  131. package/dist/components/ui/checkbox/index.js +1 -0
  132. package/dist/components/ui/collapsible/Collapsible.vue.d.ts +16 -0
  133. package/dist/components/ui/collapsible/Collapsible.vue.js +47 -0
  134. package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts +10 -0
  135. package/dist/components/ui/collapsible/CollapsibleContent.vue.js +41 -0
  136. package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +10 -0
  137. package/dist/components/ui/collapsible/CollapsibleTrigger.vue.js +35 -0
  138. package/dist/components/ui/collapsible/index.d.ts +3 -0
  139. package/dist/components/ui/collapsible/index.js +3 -0
  140. package/dist/components/ui/dialog/Dialog.vue.d.ts +14 -0
  141. package/dist/components/ui/dialog/Dialog.vue.js +42 -0
  142. package/dist/components/ui/dialog/DialogClose.vue.d.ts +10 -0
  143. package/dist/components/ui/dialog/DialogClose.vue.js +35 -0
  144. package/dist/components/ui/dialog/DialogContent.vue.d.ts +29 -0
  145. package/dist/components/ui/dialog/DialogContent.vue.js +84 -0
  146. package/dist/components/ui/dialog/DialogDescription.vue.d.ts +14 -0
  147. package/dist/components/ui/dialog/DialogDescription.vue.js +43 -0
  148. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +13 -0
  149. package/dist/components/ui/dialog/DialogFooter.vue.js +26 -0
  150. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +13 -0
  151. package/dist/components/ui/dialog/DialogHeader.vue.js +26 -0
  152. package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +30 -0
  153. package/dist/components/ui/dialog/DialogScrollContent.vue.js +99 -0
  154. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +14 -0
  155. package/dist/components/ui/dialog/DialogTitle.vue.js +43 -0
  156. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +10 -0
  157. package/dist/components/ui/dialog/DialogTrigger.vue.js +35 -0
  158. package/dist/components/ui/dialog/index.d.ts +9 -0
  159. package/dist/components/ui/dialog/index.js +9 -0
  160. package/dist/components/ui/drawer/Drawer.vue.d.ts +26 -0
  161. package/dist/components/ui/drawer/Drawer.vue.js +48 -0
  162. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +33 -0
  163. package/dist/components/ui/drawer/DrawerContent.vue.js +81 -0
  164. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +14 -0
  165. package/dist/components/ui/drawer/DrawerDescription.vue.js +42 -0
  166. package/dist/components/ui/drawer/DrawerFooter.vue.d.ts +13 -0
  167. package/dist/components/ui/drawer/DrawerFooter.vue.js +26 -0
  168. package/dist/components/ui/drawer/DrawerHeader.vue.d.ts +13 -0
  169. package/dist/components/ui/drawer/DrawerHeader.vue.js +26 -0
  170. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +7 -0
  171. package/dist/components/ui/drawer/DrawerOverlay.vue.js +37 -0
  172. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +14 -0
  173. package/dist/components/ui/drawer/DrawerTitle.vue.js +42 -0
  174. package/dist/components/ui/drawer/index.d.ts +8 -0
  175. package/dist/components/ui/drawer/index.js +8 -0
  176. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +14 -0
  177. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.js +41 -0
  178. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +20 -0
  179. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.js +79 -0
  180. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +28 -0
  181. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.js +61 -0
  182. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +10 -0
  183. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue.js +35 -0
  184. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +15 -0
  185. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.js +43 -0
  186. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +15 -0
  187. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.js +43 -0
  188. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +14 -0
  189. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.js +41 -0
  190. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +18 -0
  191. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.js +80 -0
  192. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +7 -0
  193. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.js +37 -0
  194. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +13 -0
  195. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.js +26 -0
  196. package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +14 -0
  197. package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue.js +41 -0
  198. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +30 -0
  199. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.js +46 -0
  200. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +14 -0
  201. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.js +58 -0
  202. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +10 -0
  203. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.js +41 -0
  204. package/dist/components/ui/dropdown-menu/index.d.ts +15 -0
  205. package/dist/components/ui/dropdown-menu/index.js +15 -0
  206. package/dist/components/ui/popover/Popover.vue.d.ts +14 -0
  207. package/dist/components/ui/popover/Popover.vue.js +41 -0
  208. package/dist/components/ui/popover/PopoverContent.vue.d.ts +28 -0
  209. package/dist/components/ui/popover/PopoverContent.vue.js +60 -0
  210. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +10 -0
  211. package/dist/components/ui/popover/PopoverTrigger.vue.js +35 -0
  212. package/dist/components/ui/popover/index.d.ts +3 -0
  213. package/dist/components/ui/popover/index.js +3 -0
  214. package/dist/components/ui/radio-group/RadioGroup.vue.d.ts +18 -0
  215. package/dist/components/ui/radio-group/RadioGroup.vue.js +46 -0
  216. package/dist/components/ui/radio-group/RadioGroupItem.vue.d.ts +7 -0
  217. package/dist/components/ui/radio-group/RadioGroupItem.vue.js +71 -0
  218. package/dist/components/ui/radio-group/index.d.ts +2 -0
  219. package/dist/components/ui/radio-group/index.js +2 -0
  220. package/dist/components/ui/slider/Slider.vue.d.ts +13 -0
  221. package/dist/components/ui/slider/Slider.vue.js +155 -0
  222. package/dist/components/ui/slider/index.d.ts +1 -0
  223. package/dist/components/ui/slider/index.js +1 -0
  224. package/dist/components/ui/switch/Switch.vue.d.ts +18 -0
  225. package/dist/components/ui/switch/Switch.vue.js +61 -0
  226. package/dist/components/ui/switch/index.d.ts +1 -0
  227. package/dist/components/ui/switch/index.js +1 -0
  228. package/dist/composable/useCallHelper.d.ts +23 -0
  229. package/dist/composable/useCallHelper.js +170 -0
  230. package/dist/composable/useInitData.d.ts +11 -0
  231. package/dist/composable/useInitData.js +84 -0
  232. package/dist/composable/useModalConfirm.d.ts +5 -0
  233. package/dist/composable/useModalConfirm.js +39 -0
  234. package/dist/constant/color.d.ts +22 -0
  235. package/dist/constant/color.js +43 -0
  236. package/dist/constant/datetime.d.ts +5 -0
  237. package/dist/constant/datetime.js +5 -0
  238. package/dist/constant/general.d.ts +8 -0
  239. package/dist/constant/general.js +9 -0
  240. package/dist/constant/message.d.ts +8 -0
  241. package/dist/constant/message.js +8 -0
  242. package/dist/constant/mqtt.d.ts +4 -0
  243. package/dist/constant/mqtt.js +11 -0
  244. package/dist/constant/user.d.ts +8 -0
  245. package/dist/constant/user.js +9 -0
  246. package/dist/go-chat.es.js +64024 -2699
  247. package/dist/go-chat.umd.js +15 -3
  248. package/dist/lib/utils.d.ts +2 -0
  249. package/dist/lib/utils.js +5 -0
  250. package/dist/plugins/axios-gci.d.ts +3 -0
  251. package/dist/plugins/axios-gci.js +25 -0
  252. package/dist/plugins/axios.d.ts +3 -0
  253. package/dist/plugins/axios.js +85 -0
  254. package/dist/plugins/mqtt.d.ts +10 -0
  255. package/dist/plugins/mqtt.js +128 -0
  256. package/dist/plugins/sdk.d.ts +19 -0
  257. package/dist/plugins/sdk.js +83 -0
  258. package/dist/plugins/websocket.d.ts +4 -0
  259. package/dist/plugins/websocket.js +65 -0
  260. package/dist/style.css +1 -1
  261. package/dist/types/chat/user.d.ts +88 -0
  262. package/dist/types/chat/user.js +1 -0
  263. package/dist/types/conversation.d.ts +18 -0
  264. package/dist/types/conversation.js +1 -0
  265. package/dist/utils/chat/auth.d.ts +45 -0
  266. package/dist/utils/chat/auth.js +51 -0
  267. package/dist/utils/chat/call.d.ts +5 -0
  268. package/dist/utils/chat/call.js +61 -0
  269. package/dist/utils/chat/chat-router.d.ts +3 -0
  270. package/dist/utils/chat/chat-router.js +9 -0
  271. package/dist/utils/chat/conversation.d.ts +3 -0
  272. package/dist/utils/chat/conversation.js +7 -0
  273. package/dist/utils/chat/message.d.ts +17 -0
  274. package/dist/utils/chat/message.js +42 -0
  275. package/dist/utils/chat/user.d.ts +193 -0
  276. package/dist/utils/chat/user.js +33 -0
  277. package/dist/utils/debounce.d.ts +1 -0
  278. package/dist/utils/debounce.js +9 -0
  279. package/dist/utils/json.d.ts +2 -0
  280. package/dist/utils/json.js +18 -0
  281. package/dist/utils/logger.d.ts +3 -0
  282. package/dist/utils/logger.js +5 -0
  283. package/dist/utils/string-helper.d.ts +1 -0
  284. package/dist/utils/string-helper.js +27 -0
  285. package/package.json +8 -7
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,5 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
@@ -0,0 +1,3 @@
1
+ declare const instance: import("axios").AxiosInstance;
2
+ export declare const setAxiosGciInstance: (token: string, domain: string, id: string) => void;
3
+ export default instance;
@@ -0,0 +1,25 @@
1
+ import axios from 'axios';
2
+ const instance = axios.create({
3
+ timeout: 20000,
4
+ headers: {
5
+ 'Content-Type': 'application/json'
6
+ }
7
+ });
8
+ export const setAxiosGciInstance = (token, domain, id) => {
9
+ instance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
10
+ instance.defaults.baseURL = domain;
11
+ instance.defaults.headers.common['G-ClientID'] = id || '';
12
+ };
13
+ instance.interceptors.response.use((response) => {
14
+ console.log(response);
15
+ const data = response?.data;
16
+ if (data?.status == 'OK' && data?.result?.status == 'OK' && data?.result?.data) {
17
+ return Promise.resolve(data?.result?.data);
18
+ }
19
+ else {
20
+ return Promise.reject(data?.message ?? 'Error');
21
+ }
22
+ }, async (error) => {
23
+ return Promise.reject(error.response?.data || error);
24
+ });
25
+ export default instance;
@@ -0,0 +1,3 @@
1
+ declare const instance: import("axios").AxiosInstance;
2
+ export declare const setAxiosInstance: (token: string, domain?: string) => void;
3
+ export default instance;
@@ -0,0 +1,85 @@
1
+ import axios from 'axios';
2
+ const baseURL = 'https://go-chat.dev01.dtsmart.dev/';
3
+ // const baseURL = 'http://192.168.1.152:8085/'
4
+ const instance = axios.create({
5
+ baseURL,
6
+ timeout: 20000,
7
+ headers: {
8
+ 'Content-Type': 'application/json'
9
+ }
10
+ });
11
+ export const setAxiosInstance = (token, domain) => {
12
+ instance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
13
+ instance.defaults.baseURL = domain || baseURL;
14
+ };
15
+ instance.interceptors.request.use((config) => {
16
+ const token = config?.token || localStorage.getItem('chat_token');
17
+ if (token) {
18
+ config.headers.Authorization = `Bearer ${token}`;
19
+ }
20
+ return config;
21
+ }, (error) => Promise.reject(error));
22
+ let isRefreshing = false;
23
+ let failedQueue = [];
24
+ const processQueue = (error, token = null) => {
25
+ failedQueue.forEach((prom) => {
26
+ if (token) {
27
+ prom.resolve(token);
28
+ }
29
+ else {
30
+ prom.reject(error);
31
+ }
32
+ });
33
+ failedQueue = [];
34
+ };
35
+ instance.interceptors.response.use((response) => {
36
+ const data = response?.data;
37
+ if (data.files) {
38
+ return Promise.resolve(data.files);
39
+ }
40
+ if (data?.status && data?.data) {
41
+ return Promise.resolve(data.data);
42
+ }
43
+ else {
44
+ return Promise.reject(data?.messages ?? 'Error');
45
+ }
46
+ }, async (error) => {
47
+ const originalRequest = error.config;
48
+ if (error.response?.status === 403 && !originalRequest._retry) {
49
+ originalRequest._retry = true;
50
+ if (isRefreshing) {
51
+ return new Promise((resolve, reject) => {
52
+ failedQueue.push({
53
+ resolve: (token) => {
54
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
55
+ resolve(instance(originalRequest));
56
+ },
57
+ reject: (err) => reject(err)
58
+ });
59
+ });
60
+ }
61
+ isRefreshing = true;
62
+ const authStore = null;
63
+ try {
64
+ const body = {
65
+ refresh_token: localStorage.getItem('refresh_token') || ''
66
+ };
67
+ const res = await authStore.refreshToken(body);
68
+ const newToken = res.data.token;
69
+ localStorage.setItem('chat_token', newToken);
70
+ instance.defaults.headers.common['Authorization'] = 'Bearer ' + newToken;
71
+ console.log(newToken, 'asgfasf');
72
+ processQueue(null, newToken);
73
+ return instance(originalRequest);
74
+ }
75
+ catch (err) {
76
+ processQueue(err, null);
77
+ return Promise.reject(err);
78
+ }
79
+ finally {
80
+ isRefreshing = false;
81
+ }
82
+ }
83
+ return Promise.reject(error.response?.data || error);
84
+ });
85
+ export default instance;
@@ -0,0 +1,10 @@
1
+ /// <reference path="../../env.d.ts" />
2
+ import mqtt from 'mqtt/dist/mqtt.min';
3
+ export declare const connectMqtt: () => Promise<void>;
4
+ export declare const disconnectMqtt: () => void;
5
+ export declare const subscribeToTopic: (topic: string) => void;
6
+ export declare const unsubscribeFromTopic: (topic: string) => void;
7
+ export declare const publishMessage: (topic: string, payload: any) => void;
8
+ export declare const addHandleMqttMessage: (key: string, topic: string, callBack: any) => void;
9
+ export declare const removeHandleMqttMessage: (key: string) => void;
10
+ export declare const getMqttInstance: () => mqtt.MqttClient | null;
@@ -0,0 +1,128 @@
1
+ import mqtt from 'mqtt/dist/mqtt.min';
2
+ const mqttOptions = { qos: 1, retain: false };
3
+ // const mqttClient = ref<MqttClient | null>(null)
4
+ let mqttClient = null;
5
+ const subscribedTopics = new Set();
6
+ let dataCallBack = [];
7
+ export const connectMqtt = () => {
8
+ return new Promise((resolve, reject) => {
9
+ console.log(mqttClient);
10
+ if (mqttClient && mqttClient?.connected) {
11
+ console.log('MQTT already connected');
12
+ return resolve();
13
+ }
14
+ const userInfo = JSON.parse(localStorage.getItem('user') || '{}');
15
+ const clientId = userInfo?.id;
16
+ const MQTT_OPTIONS = {
17
+ clientId: `${clientId}_${Date.now()}_${Math.floor(Math.random() * 1000)}`,
18
+ host: 'mqtt-digital-signage.dev01.dtsmart.dev',
19
+ port: 443,
20
+ protocol: 'wss',
21
+ username: 'admin123',
22
+ password: 'admin123',
23
+ clean: true,
24
+ reconnectPeriod: 1000,
25
+ path: '/mqtt'
26
+ };
27
+ const { host, port, path, ...options } = MQTT_OPTIONS;
28
+ const connectUrl = `wss://${host}:${port}${path}`;
29
+ mqttClient = mqtt.connect(connectUrl, options);
30
+ mqttClient?.on('connect', () => {
31
+ console.log('MQTT Connected Successfully');
32
+ subscribedTopics.forEach((topic) => mqttClient?.subscribe(topic));
33
+ mqttClient?.on('message', (topic, message) => {
34
+ try {
35
+ let data = message;
36
+ if (message instanceof Uint8Array) {
37
+ const decoder = new TextDecoder('utf-8');
38
+ data = JSON.parse(decoder.decode(message));
39
+ }
40
+ dataCallBack
41
+ .filter((e) => e.topic === topic)
42
+ .forEach((e) => {
43
+ e.callBack(topic, data);
44
+ });
45
+ }
46
+ catch (e) {
47
+ console.error('Error parsing message:', e);
48
+ }
49
+ });
50
+ resolve();
51
+ });
52
+ mqttClient?.on('close', () => {
53
+ console.log('MQTT Disconnected');
54
+ });
55
+ mqttClient?.on('error', (err) => {
56
+ console.error('MQTT Error:', err);
57
+ reject(err);
58
+ });
59
+ });
60
+ };
61
+ export const disconnectMqtt = () => {
62
+ if (mqttClient) {
63
+ mqttClient?.end(false, {}, () => {
64
+ console.log('MQTT Disconnected');
65
+ mqttClient = null;
66
+ });
67
+ }
68
+ };
69
+ export const subscribeToTopic = (topic) => {
70
+ if (subscribedTopics.has(topic)) {
71
+ console.log(`Already subscribed to ${topic}`);
72
+ return;
73
+ }
74
+ if (mqttClient?.connected || true) {
75
+ mqttClient?.subscribe(topic, mqttOptions, (err) => {
76
+ if (!err) {
77
+ subscribedTopics.add(topic);
78
+ console.log(`Subscribed to ${topic}`);
79
+ }
80
+ else {
81
+ console.error(`Failed to subscribe ${topic}`, err);
82
+ }
83
+ });
84
+ }
85
+ };
86
+ export const unsubscribeFromTopic = (topic) => {
87
+ if (mqttClient?.connected || true) {
88
+ mqttClient?.unsubscribe(topic, (err) => {
89
+ if (!err) {
90
+ subscribedTopics.delete(topic);
91
+ console.log(`Unsubscribed from ${topic}`);
92
+ }
93
+ else {
94
+ console.error(`Failed to unsubscribe ${topic}`, err);
95
+ }
96
+ });
97
+ }
98
+ else {
99
+ subscribedTopics.delete(topic);
100
+ }
101
+ };
102
+ export const publishMessage = (topic, payload) => {
103
+ if (mqttClient?.connected && payload) {
104
+ const message = typeof payload !== 'string' ? JSON.stringify(payload) : payload;
105
+ mqttClient?.publish(topic, message, { qos: 1, retain: false }, (err) => {
106
+ if (!err) {
107
+ // console.log(`Published message to ${topic}`)
108
+ }
109
+ else {
110
+ console.error(`Failed to publish message to ${topic}`, err);
111
+ }
112
+ });
113
+ }
114
+ else {
115
+ console.warn('MQTT not connected, cannot publish');
116
+ }
117
+ };
118
+ export const addHandleMqttMessage = (key, topic, callBack) => {
119
+ removeHandleMqttMessage(key);
120
+ dataCallBack.push({ key, callBack, topic });
121
+ };
122
+ export const removeHandleMqttMessage = (key) => {
123
+ const index = dataCallBack.findIndex((e) => e.key === key);
124
+ if (index > -1) {
125
+ dataCallBack.splice(index, 1);
126
+ }
127
+ };
128
+ export const getMqttInstance = () => mqttClient;
@@ -0,0 +1,19 @@
1
+ import { GapMiniAppSdk } from 'gap-miniapp-sdk';
2
+ declare const baseSdk: import("gap-nodejs-sdk/dist/api/base_api").default;
3
+ declare const gapMiniAppSdk: {
4
+ getInstance: () => GapMiniAppSdk;
5
+ getAccessToken: () => Promise<{
6
+ domain: string;
7
+ gClient: string;
8
+ token: string;
9
+ }>;
10
+ };
11
+ declare const sdkInit: (data: {
12
+ id?: string;
13
+ token?: string;
14
+ domain?: string;
15
+ }) => Promise<{
16
+ status: boolean;
17
+ tenant_error?: boolean;
18
+ }>;
19
+ export { sdkInit, gapMiniAppSdk, baseSdk };
@@ -0,0 +1,83 @@
1
+ import Gap, { GapApiVersion } from 'gap-nodejs-sdk';
2
+ import { GapMiniAppSdk } from 'gap-miniapp-sdk';
3
+ import logger from '../utils/logger';
4
+ import { loginTenant, setDataLogin } from '../utils/chat/auth';
5
+ import { setAxiosGciInstance } from '../plugins/axios-gci';
6
+ const baseSdk = new Gap.BaseApi(GapApiVersion.V1);
7
+ const gapMiniAppSdk = (function () {
8
+ let instance;
9
+ // let domain = '';
10
+ // let gClient = '';
11
+ // let token = '';
12
+ // if (process.env.NODE_ENV === "development") {
13
+ // domain = import.meta.env.VITE_DOMAIN;
14
+ // gClient = import.meta.env.VITE_GCLIENT_ID;
15
+ // token = import.meta.env.VITE_TOKEN;
16
+ // }
17
+ function createInstance() {
18
+ return new GapMiniAppSdk(logger);
19
+ }
20
+ return {
21
+ getInstance: function () {
22
+ if (!instance) {
23
+ instance = createInstance();
24
+ }
25
+ return instance;
26
+ },
27
+ getAccessToken: async function () {
28
+ let domain = '';
29
+ let gClient = '';
30
+ let token = '';
31
+ try {
32
+ let userAgent;
33
+ if (gapMiniAppSdk.getInstance().detectPlatform()) {
34
+ userAgent = gapMiniAppSdk.getInstance().detectPlatform();
35
+ }
36
+ if (userAgent) {
37
+ gapMiniAppSdk.getInstance().setPlatformExecutor(userAgent);
38
+ const response = await gapMiniAppSdk.getInstance().getAccessToken();
39
+ if (response &&
40
+ typeof response.token !== 'undefined' &&
41
+ response.token != '') {
42
+ domain = response.domain;
43
+ gClient = response.gClientId;
44
+ token = response.token;
45
+ }
46
+ }
47
+ }
48
+ catch (error) {
49
+ console.error(error);
50
+ }
51
+ return { domain, gClient, token };
52
+ }
53
+ };
54
+ })();
55
+ const sdkInit = (data) => {
56
+ return new Promise(async (resolve, reject) => {
57
+ let status = false;
58
+ try {
59
+ let { domain, gClient, token } = await gapMiniAppSdk.getAccessToken();
60
+ domain = data.domain || domain || '';
61
+ gClient = data.id || gClient || '';
62
+ token = data.token || token || '';
63
+ if (!domain || !gClient || !token) {
64
+ resolve({ status, tenant_error: true });
65
+ return;
66
+ }
67
+ setAxiosGciInstance(token, domain, gClient);
68
+ await loginTenant({ tenant_id: gClient });
69
+ status = true;
70
+ setDataLogin(gClient, token, domain);
71
+ localStorage.setItem('chat_id', gClient);
72
+ localStorage.setItem('chat_accessToken', token);
73
+ localStorage.setItem('chat_domain', domain);
74
+ resolve({ status });
75
+ }
76
+ catch (error) {
77
+ resolve({ status, tenant_error: true });
78
+ console.error(error);
79
+ // reject(error)
80
+ }
81
+ });
82
+ };
83
+ export { sdkInit, gapMiniAppSdk, baseSdk };
@@ -0,0 +1,4 @@
1
+ export declare function initWebSocket(server: string): void;
2
+ export declare const getWebSocket: () => Promise<void>;
3
+ export declare const addHandleWebSK: (key: string, callBack: any) => void;
4
+ export declare const removeHandleWebSK: (key: string) => void;
@@ -0,0 +1,65 @@
1
+ import { tryParseJson } from '../utils/json';
2
+ let socket = null;
3
+ let dataCallBack = [];
4
+ export function initWebSocket(server) {
5
+ // Create WebSocket connection.
6
+ socket = new WebSocket('wss://web-socket.dev01.dtsmart.dev');
7
+ // socket.addEventListener('open', (event: any) => {
8
+ // console.log('fffffff')
9
+ // socket.send('Hello Server!')
10
+ // })
11
+ //
12
+ // socket.addEventListener('message', (event: any) => {
13
+ // console.log('Message from server ', event.data)
14
+ // })
15
+ socket.onopen = (event) => {
16
+ console.log('Connected!');
17
+ };
18
+ socket.onmessage = (event) => {
19
+ const data = tryParseJson(event.data);
20
+ dataCallBack.forEach((e) => {
21
+ e.callBack(data);
22
+ });
23
+ };
24
+ socket.onclose = (event) => {
25
+ console.log('Disconnected:', event.reason);
26
+ };
27
+ socket.onerror = (event) => {
28
+ console.error('Socket error:', event);
29
+ };
30
+ }
31
+ const socketSend = (data) => {
32
+ let request = typeof data == 'string' ? data : JSON.stringify(data);
33
+ socket.send(request);
34
+ };
35
+ export const getWebSocket = async () => {
36
+ const url = 'https://web-socket.dev01.dtsmart.dev/ws/connect';
37
+ try {
38
+ const response = await fetch(url, {
39
+ method: 'POST',
40
+ body: JSON.stringify({
41
+ clientId: 'test1'
42
+ }),
43
+ headers: {
44
+ Authorization: 'Bearer -Qixt-ZztiBA5Dxl-EIWG7f2TDhK-ZCj'
45
+ }
46
+ });
47
+ if (!response.ok) {
48
+ throw new Error(`Response status: ${response.status}`);
49
+ }
50
+ const result = await response.json();
51
+ }
52
+ catch (error) {
53
+ console.error(error.message);
54
+ }
55
+ };
56
+ export const addHandleWebSK = (key, callBack) => {
57
+ removeHandleWebSK(key);
58
+ dataCallBack.push({ key, callBack });
59
+ };
60
+ export const removeHandleWebSK = (key) => {
61
+ const index = dataCallBack.findIndex((e) => e.key === key);
62
+ if (index > -1) {
63
+ dataCallBack.splice(index, 1);
64
+ }
65
+ };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap";[data-v-7dfd7567],[data-v-7dfd7567]:before,[data-v-7dfd7567]:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }[data-v-7dfd7567]::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }[data-v-7dfd7567],[data-v-7dfd7567]:before,[data-v-7dfd7567]:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}[data-v-7dfd7567]:before,[data-v-7dfd7567]:after{--tw-content: ""}html[data-v-7dfd7567],[data-v-7dfd7567]:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body[data-v-7dfd7567]{margin:0;line-height:inherit}hr[data-v-7dfd7567]{height:0;color:inherit;border-top-width:1px}abbr[data-v-7dfd7567]:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1[data-v-7dfd7567],h2[data-v-7dfd7567],h3[data-v-7dfd7567],h4[data-v-7dfd7567],h5[data-v-7dfd7567],h6[data-v-7dfd7567]{font-size:inherit;font-weight:inherit}a[data-v-7dfd7567]{color:inherit;text-decoration:inherit}b[data-v-7dfd7567],strong[data-v-7dfd7567]{font-weight:bolder}code[data-v-7dfd7567],kbd[data-v-7dfd7567],samp[data-v-7dfd7567],pre[data-v-7dfd7567]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small[data-v-7dfd7567]{font-size:80%}sub[data-v-7dfd7567],sup[data-v-7dfd7567]{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub[data-v-7dfd7567]{bottom:-.25em}sup[data-v-7dfd7567]{top:-.5em}table[data-v-7dfd7567]{text-indent:0;border-color:inherit;border-collapse:collapse}button[data-v-7dfd7567],input[data-v-7dfd7567],optgroup[data-v-7dfd7567],select[data-v-7dfd7567],textarea[data-v-7dfd7567]{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button[data-v-7dfd7567],select[data-v-7dfd7567]{text-transform:none}button[data-v-7dfd7567],input[data-v-7dfd7567]:where([type=button]),input[data-v-7dfd7567]:where([type=reset]),input[data-v-7dfd7567]:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}[data-v-7dfd7567]:-moz-focusring{outline:auto}[data-v-7dfd7567]:-moz-ui-invalid{box-shadow:none}progress[data-v-7dfd7567]{vertical-align:baseline}[data-v-7dfd7567]::-webkit-inner-spin-button,[data-v-7dfd7567]::-webkit-outer-spin-button{height:auto}[type=search][data-v-7dfd7567]{-webkit-appearance:textfield;outline-offset:-2px}[data-v-7dfd7567]::-webkit-search-decoration{-webkit-appearance:none}[data-v-7dfd7567]::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary[data-v-7dfd7567]{display:list-item}blockquote[data-v-7dfd7567],dl[data-v-7dfd7567],dd[data-v-7dfd7567],h1[data-v-7dfd7567],h2[data-v-7dfd7567],h3[data-v-7dfd7567],h4[data-v-7dfd7567],h5[data-v-7dfd7567],h6[data-v-7dfd7567],hr[data-v-7dfd7567],figure[data-v-7dfd7567],p[data-v-7dfd7567],pre[data-v-7dfd7567]{margin:0}fieldset[data-v-7dfd7567]{margin:0;padding:0}legend[data-v-7dfd7567]{padding:0}ol[data-v-7dfd7567],ul[data-v-7dfd7567],menu[data-v-7dfd7567]{list-style:none;margin:0;padding:0}dialog[data-v-7dfd7567]{padding:0}textarea[data-v-7dfd7567]{resize:vertical}input[data-v-7dfd7567]::-moz-placeholder,textarea[data-v-7dfd7567]::-moz-placeholder{opacity:1;color:#9ca3af}input[data-v-7dfd7567]::placeholder,textarea[data-v-7dfd7567]::placeholder{opacity:1;color:#9ca3af}button[data-v-7dfd7567],[role=button][data-v-7dfd7567]{cursor:pointer}[data-v-7dfd7567]:disabled{cursor:default}img[data-v-7dfd7567],svg[data-v-7dfd7567],video[data-v-7dfd7567],canvas[data-v-7dfd7567],audio[data-v-7dfd7567],iframe[data-v-7dfd7567],embed[data-v-7dfd7567],object[data-v-7dfd7567]{display:block;vertical-align:middle}img[data-v-7dfd7567],video[data-v-7dfd7567]{max-width:100%;height:auto}[hidden][data-v-7dfd7567]{display:none}[data-v-7dfd7567]{border-color:hsl(var(--border))}body[data-v-7dfd7567]{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container[data-v-7dfd7567]{width:100%}@media (min-width: 640px){.container[data-v-7dfd7567]{max-width:640px}}@media (min-width: 768px){.container[data-v-7dfd7567]{max-width:768px}}@media (min-width: 1024px){.container[data-v-7dfd7567]{max-width:1024px}}@media (min-width: 1280px){.container[data-v-7dfd7567]{max-width:1280px}}@media (min-width: 1536px){.container[data-v-7dfd7567]{max-width:1536px}}.pointer-events-none[data-v-7dfd7567]{pointer-events:none}.visible[data-v-7dfd7567]{visibility:visible}.fixed[data-v-7dfd7567]{position:fixed}.absolute[data-v-7dfd7567]{position:absolute}.relative[data-v-7dfd7567]{position:relative}.inset-0[data-v-7dfd7567]{top:0;right:0;bottom:0;left:0}.inset-y-0[data-v-7dfd7567]{top:0;bottom:0}.bottom-0[data-v-7dfd7567]{bottom:0}.bottom-1\/2[data-v-7dfd7567]{bottom:50%}.left-0[data-v-7dfd7567]{left:0}.left-0\.5[data-v-7dfd7567]{left:.125rem}.left-1\/2[data-v-7dfd7567]{left:50%}.left-2[data-v-7dfd7567]{left:.5rem}.right-0[data-v-7dfd7567]{right:0}.top-0[data-v-7dfd7567]{top:0}.top-1\.5[data-v-7dfd7567]{top:.375rem}.top-1\/2[data-v-7dfd7567]{top:50%}.z-50[data-v-7dfd7567]{z-index:50}.m-auto[data-v-7dfd7567]{margin:auto}.-mx-1[data-v-7dfd7567]{margin-left:-.25rem;margin-right:-.25rem}.my-1[data-v-7dfd7567]{margin-top:.25rem;margin-bottom:.25rem}.my-8[data-v-7dfd7567]{margin-top:2rem;margin-bottom:2rem}.mb-0[data-v-7dfd7567]{margin-bottom:0}.mb-0\.5[data-v-7dfd7567]{margin-bottom:.125rem}.mb-1[data-v-7dfd7567]{margin-bottom:.25rem}.mb-2[data-v-7dfd7567]{margin-bottom:.5rem}.mb-3[data-v-7dfd7567]{margin-bottom:.75rem}.ml-auto[data-v-7dfd7567]{margin-left:auto}.mr-2[data-v-7dfd7567]{margin-right:.5rem}.mt-auto[data-v-7dfd7567]{margin-top:auto}.block[data-v-7dfd7567]{display:block}.\!inline-block[data-v-7dfd7567]{display:inline-block!important}.flex[data-v-7dfd7567]{display:flex}.inline-flex[data-v-7dfd7567]{display:inline-flex}.grid[data-v-7dfd7567]{display:grid}.hidden[data-v-7dfd7567]{display:none}.aspect-square[data-v-7dfd7567]{aspect-ratio:1 / 1}.h-2[data-v-7dfd7567]{height:.5rem}.h-2\.5[data-v-7dfd7567]{height:.625rem}.h-3\.5[data-v-7dfd7567]{height:.875rem}.h-4[data-v-7dfd7567]{height:1rem}.h-5[data-v-7dfd7567]{height:1.25rem}.h-6[data-v-7dfd7567]{height:1.5rem}.h-full[data-v-7dfd7567]{height:100%}.h-px[data-v-7dfd7567]{height:1px}.w-11[data-v-7dfd7567]{width:2.75rem}.w-2[data-v-7dfd7567]{width:.5rem}.w-2\.5[data-v-7dfd7567]{width:.625rem}.w-3\.5[data-v-7dfd7567]{width:.875rem}.w-4[data-v-7dfd7567]{width:1rem}.w-5[data-v-7dfd7567]{width:1.25rem}.w-6[data-v-7dfd7567]{width:1.5rem}.w-auto[data-v-7dfd7567]{width:auto}.w-fit[data-v-7dfd7567]{width:-moz-fit-content;width:fit-content}.w-full[data-v-7dfd7567]{width:100%}.min-w-32[data-v-7dfd7567]{min-width:8rem}.min-w-\[100px\][data-v-7dfd7567]{min-width:100px}.max-w-lg[data-v-7dfd7567]{max-width:32rem}.shrink-0[data-v-7dfd7567]{flex-shrink:0}.grow[data-v-7dfd7567]{flex-grow:1}.-translate-x-1\/2[data-v-7dfd7567]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2[data-v-7dfd7567]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2[data-v-7dfd7567]{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform[data-v-7dfd7567]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default[data-v-7dfd7567]{cursor:default}.cursor-pointer[data-v-7dfd7567]{cursor:pointer}.touch-none[data-v-7dfd7567]{touch-action:none}.select-none[data-v-7dfd7567]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize[data-v-7dfd7567]{resize:both}.flex-row-reverse[data-v-7dfd7567]{flex-direction:row-reverse}.flex-col[data-v-7dfd7567]{flex-direction:column}.flex-col-reverse[data-v-7dfd7567]{flex-direction:column-reverse}.place-content-center[data-v-7dfd7567]{place-content:center}.place-items-center[data-v-7dfd7567]{place-items:center}.items-center[data-v-7dfd7567]{align-items:center}.justify-center[data-v-7dfd7567]{justify-content:center}.justify-between[data-v-7dfd7567]{justify-content:space-between}.gap-1\.5[data-v-7dfd7567]{gap:.375rem}.gap-2[data-v-7dfd7567]{gap:.5rem}.gap-4[data-v-7dfd7567]{gap:1rem}.gap-y-1\.5[data-v-7dfd7567]{row-gap:.375rem}.overflow-hidden[data-v-7dfd7567]{overflow:hidden}.overflow-y-auto[data-v-7dfd7567]{overflow-y:auto}.rounded-\[8px\][data-v-7dfd7567]{border-radius:8px}.rounded-full[data-v-7dfd7567]{border-radius:9999px}.rounded-lg[data-v-7dfd7567]{border-radius:8px}.rounded-md[data-v-7dfd7567]{border-radius:calc(var(--radius) - 2px)}.rounded-sm[data-v-7dfd7567]{border-radius:calc(var(--radius) - 4px)}.rounded-xl[data-v-7dfd7567]{border-radius:.75rem}.rounded-t-\[10px\][data-v-7dfd7567]{border-top-left-radius:10px;border-top-right-radius:10px}.border[data-v-7dfd7567]{border-width:1px}.border-2[data-v-7dfd7567]{border-width:2px}.border-\[\#DDDDE8\][data-v-7dfd7567]{--tw-border-opacity: 1;border-color:rgb(221 221 232 / var(--tw-border-opacity))}.border-border[data-v-7dfd7567]{border-color:hsl(var(--border))}.border-danger[data-v-7dfd7567]{border-color:var(--color-error)}.border-primary[data-v-7dfd7567]{border-color:var(--color-primary)}.bg-black\/60[data-v-7dfd7567]{background-color:#0009}.bg-black\/80[data-v-7dfd7567]{background-color:#000c}.bg-danger[data-v-7dfd7567]{background-color:var(--color-error)}.bg-muted[data-v-7dfd7567]{background-color:hsl(var(--muted))}.bg-popover[data-v-7dfd7567]{background-color:hsl(var(--popover))}.bg-primary[data-v-7dfd7567]{background-color:var(--color-primary)}.bg-success[data-v-7dfd7567]{background-color:var(--color-success)}.bg-white[data-v-7dfd7567]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-1[data-v-7dfd7567]{padding:.25rem}.p-4[data-v-7dfd7567]{padding:1rem}.p-8[data-v-7dfd7567]{padding:2rem}.px-2[data-v-7dfd7567]{padding-left:.5rem;padding-right:.5rem}.py-1\.5[data-v-7dfd7567]{padding-top:.375rem;padding-bottom:.375rem}.py-10[data-v-7dfd7567]{padding-top:2.5rem;padding-bottom:2.5rem}.py-2[data-v-7dfd7567]{padding-top:.5rem;padding-bottom:.5rem}.pb-7[data-v-7dfd7567]{padding-bottom:1.75rem}.pl-10[data-v-7dfd7567]{padding-left:2.5rem}.pl-8[data-v-7dfd7567]{padding-left:2rem}.pr-2[data-v-7dfd7567]{padding-right:.5rem}.pt-4[data-v-7dfd7567]{padding-top:1rem}.text-center[data-v-7dfd7567]{text-align:center}.text-2xl[data-v-7dfd7567]{font-size:1.5rem}.text-6xl[data-v-7dfd7567]{font-size:4rem}.text-base[data-v-7dfd7567]{font-size:1rem}.text-lg[data-v-7dfd7567]{font-size:1.125rem}.text-sm[data-v-7dfd7567]{font-size:.875rem}.text-xs[data-v-7dfd7567]{font-size:.75rem}.font-medium[data-v-7dfd7567]{font-weight:500}.font-semibold[data-v-7dfd7567]{font-weight:600}.tracking-tight[data-v-7dfd7567]{letter-spacing:-.025em}.tracking-widest[data-v-7dfd7567]{letter-spacing:.1em}.text-blue[data-v-7dfd7567]{color:var(--color-blue)}.text-muted-foreground[data-v-7dfd7567]{color:hsl(var(--muted-foreground))}.text-popover-foreground[data-v-7dfd7567]{color:hsl(var(--popover-foreground))}.text-primary[data-v-7dfd7567]{color:var(--color-primary)}.text-white[data-v-7dfd7567]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0[data-v-7dfd7567]{opacity:0}.opacity-60[data-v-7dfd7567]{opacity:.6}.shadow-3xl[data-v-7dfd7567]{--tw-shadow: 1px 1px 8px 0px #DEDEDE;--tw-shadow-colored: 1px 1px 8px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-custom[data-v-7dfd7567]{--tw-shadow: 0px 3.77749px 18.8874px rgba(0, 0, 0, .15);--tw-shadow-colored: 0px 3.77749px 18.8874px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none[data-v-7dfd7567]{outline:2px solid transparent;outline-offset:2px}.ring-0[data-v-7dfd7567]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background[data-v-7dfd7567]{--tw-ring-offset-color: hsl(var(--background))}.transition[data-v-7dfd7567]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-7dfd7567]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform[data-v-7dfd7567]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200[data-v-7dfd7567]{transition-duration:.2s}@keyframes enter-7dfd7567{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit-7dfd7567{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200[data-v-7dfd7567]{animation-duration:.2s}.sc-full[data-v-7dfd7567]{width:100%;height:100%}.flex-center[data-v-7dfd7567]{display:flex;justify-content:center;align-items:center}.flex-col[data-v-7dfd7567]{flex-direction:column;display:flex}.hover\:bg-danger[data-v-7dfd7567]:hover{background-color:var(--color-error)}.hover\:bg-danger-hover[data-v-7dfd7567]:hover{background-color:var(--color-error_hover)}.hover\:bg-primary-hover[data-v-7dfd7567]:hover{background-color:var(--color-primary_hover)}.hover\:bg-success-hover[data-v-7dfd7567]:hover{background-color:var(--color-success_hover)}.hover\:text-white[data-v-7dfd7567]:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:duration-100[data-v-7dfd7567]:hover{transition-duration:.1s;animation-duration:.1s}.focus\:bg-accent[data-v-7dfd7567]:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground[data-v-7dfd7567]:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none[data-v-7dfd7567]:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none[data-v-7dfd7567]:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2[data-v-7dfd7567]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring[data-v-7dfd7567]:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2[data-v-7dfd7567]:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background[data-v-7dfd7567]:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none[data-v-7dfd7567]:disabled{pointer-events:none}.disabled\:cursor-not-allowed[data-v-7dfd7567]:disabled{cursor:not-allowed}.disabled\:opacity-50[data-v-7dfd7567]:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled][data-v-7dfd7567]{pointer-events:none}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical][data-v-7dfd7567]{height:100%}.data-\[orientation\=vertical\]\:w-2[data-orientation=vertical][data-v-7dfd7567]{width:.5rem}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical][data-v-7dfd7567]{width:100%}.data-\[state\=checked\]\:translate-x-5[data-state=checked][data-v-7dfd7567]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-1[data-state=unchecked][data-v-7dfd7567]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical][data-v-7dfd7567]{flex-direction:column}.data-\[state\=checked\]\:bg-primary[data-state=checked][data-v-7dfd7567]{background-color:var(--color-primary)}.data-\[state\=open\]\:bg-accent[data-state=open][data-v-7dfd7567]{background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-\[\#D1D1D1\][data-state=unchecked][data-v-7dfd7567]{--tw-bg-opacity: 1;background-color:rgb(209 209 209 / var(--tw-bg-opacity))}.data-\[disabled\]\:opacity-50[data-disabled][data-v-7dfd7567]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open][data-v-7dfd7567]{animation-name:enter-7dfd7567;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed][data-v-7dfd7567]{animation-name:exit-7dfd7567;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed][data-v-7dfd7567]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open][data-v-7dfd7567]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed][data-v-7dfd7567]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open][data-v-7dfd7567]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom][data-v-7dfd7567]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left][data-v-7dfd7567]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right][data-v-7dfd7567]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top][data-v-7dfd7567]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed][data-v-7dfd7567]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed][data-v-7dfd7567]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open][data-v-7dfd7567]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open][data-v-7dfd7567]{--tw-enter-translate-y: -48%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical][data-v-7dfd7567]{flex-direction:column;display:flex}@media (min-width: 640px){.sm\:flex-row[data-v-7dfd7567]{flex-direction:row}.sm\:justify-end[data-v-7dfd7567]{justify-content:flex-end}.sm\:gap-x-2[data-v-7dfd7567]{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:rounded-lg[data-v-7dfd7567]{border-radius:8px}.sm\:text-left[data-v-7dfd7567]{text-align:left}}@media (min-width: 768px){.md\:block[data-v-7dfd7567]{display:block}.md\:w-full[data-v-7dfd7567]{width:100%}}.\[\&\>svg\]\:size-4>svg[data-v-7dfd7567]{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg[data-v-7dfd7567]{flex-shrink:0}.\[\&_\.loader\:\:before\]\:border-white .loader[data-v-7dfd7567]:before{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}
1
+ @import"https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap";.loader[data-v-e1710a65]{width:48px;height:48px;border:5px solid var(--chat-color-primary);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-e1710a65 .7s linear infinite}@keyframes rotation-e1710a65{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-line[data-v-eb1aab70]{width:100%;height:3px;overflow:hidden;background-color:#ddd;border-radius:20px}.loader-line[data-v-eb1aab70]:before{content:"";position:absolute;left:-50%;height:3px;width:40%;background-color:#4c70f0;animation:lineAnim-eb1aab70 1s linear infinite;border-radius:20px}@keyframes lineAnim-eb1aab70{0%{left:-40%}50%{left:20%;width:80%}to{left:100%;width:100%}}.v3-body-inner{scroll-behavior:smooth;scrollbar-color:#393d3f rgba(0,0,0,.1);scrollbar-width:thin}.v3-body-inner::-webkit-scrollbar{width:8px}.v3-body-inner::-webkit-scrollbar-track{background-color:transparent}.v3-body-inner::-webkit-scrollbar-thumb{display:none;background:#0000004d;border-radius:5px}.v3-body-inner:hover::-webkit-scrollbar-thumb{display:block}.v3-emoji-picker{height:320px;width:280px;box-shadow:0 2px 10px #0003;border-radius:10px;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;text-align:left}.v3-emoji-picker *{box-sizing:border-box}.v3-emoji-picker .v3-header{padding:15px 15px 13px;border-bottom:1px solid}.v3-emoji-picker .v3-header .v3-groups{display:flex}.v3-emoji-picker .v3-header .v3-groups .v3-group{flex-grow:1;padding:0;margin:0;border:none;background:none;font-size:23px;cursor:pointer;position:relative;display:block;opacity:.7;transition:.2s}.v3-emoji-picker .v3-header .v3-groups .v3-group.v3-is-hidden{display:none}.v3-emoji-picker .v3-header .v3-groups .v3-group:first-child,.v3-emoji-picker .v3-header .v3-groups .v3-group:last-child{flex-grow:0}.v3-emoji-picker .v3-header .v3-groups .v3-group:hover{opacity:1}.v3-emoji-picker .v3-header .v3-groups .v3-group span{display:flex;align-items:center;justify-content:center}.v3-emoji-picker .v3-header .v3-groups .v3-group span img{display:block;width:1em;height:auto}.v3-emoji-picker .v3-spacing{height:11px}.v3-emoji-picker .v3-search input{width:100%;display:block;height:26px;padding:0 10px;border:1px solid;border-radius:3px;font-size:12px;transition:.2s}.v3-emoji-picker .v3-search input:focus{outline:none}.v3-emoji-picker .v3-body{padding:0 0 15px 11px;min-height:0;flex-grow:1}.v3-emoji-picker .v3-body .v3-body-inner{flex-grow:1;min-height:0;overflow-y:auto;overflow-x:hidden;height:100%;padding-right:11px}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5{margin:0;top:0;padding:7px 0 3px 4px;z-index:2}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5.v3-sticky{position:sticky}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis{display:flex;font-size:18px;flex-wrap:wrap}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button{cursor:pointer;border:none;background:none;margin:0;text-align:center;display:flex;align-items:center;justify-content:center;flex-basis:12.5%;max-width:12.5%;flex-grow:1;padding:0;font-size:22px;position:relative}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button:after{content:"";width:100%;padding-bottom:100%}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button span{display:flex;align-items:center;justify-content:center}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button img{max-width:100%;padding:4px}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button span,.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button img{position:absolute;top:0;left:0;width:100%;height:100%}.v3-emoji-picker .v3-body .v3-body-inner.is-mac .v3-emojis button{font-family:"Apple Color Emoji"}.v3-emoji-picker .v3-footer{font-size:14px;border-top:1px solid #dddddd;padding:15px;display:flex;align-items:center;justify-content:space-between;position:relative}.v3-emoji-picker .v3-footer .v3-tone,.v3-emoji-picker .v3-footer .v3-foot-left{display:flex;align-items:center}.v3-emoji-picker .v3-footer .v3-tone img,.v3-emoji-picker .v3-footer .v3-foot-left img{width:20px;display:block}.v3-emoji-picker .v3-footer .v3-tone>span:first-child,.v3-emoji-picker .v3-footer .v3-foot-left>span:first-child{margin-right:6px}.v3-emoji-picker .v3-footer .v3-foot-left>span.v3-text{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-emoji-picker .v3-footer .v3-tone{border:none;padding:0;background:none;cursor:pointer;display:inline-flex;align-items:center}.v3-emoji-picker .v3-footer .v3-tone>span{display:inline-flex;vertical-align:top}.v3-emoji-picker .v3-footer .v3-tone .v3-text{font-size:13px}.v3-emoji-picker .v3-footer .v3-tone .v3-icon{display:inline-flex;height:15px;width:15px;vertical-align:middle;align-self:center;border:2px solid rgba(0,0,0,.2)}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-neutral{background-color:#ffd225}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fb{background-color:#ffdfbd}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fc{background-color:#e9c197}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fd{background-color:#c88e62}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fe{background-color:#a86637}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3ff{background-color:#60463a}.v3-emoji-picker .v3-footer .v3-tone .is-mac span{font-family:"Apple Color Emoji"}.v3-skin-tones{position:absolute;height:100%;width:60%;top:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:0 15px;opacity:0;visibility:hidden;transition:.2s;border-radius:0 0 10px 10px}.v3-skin-tones.v3-is-open{opacity:1;visibility:visible}.v3-skin-tones .v3-skin-tone{display:inline-block;height:15px;width:25px;border:none;padding:0;cursor:pointer;transition:0ms}.v3-skin-tones .v3-skin-tone:hover{transform:scale(1.1);transition:.2s}.v3-skin-tones .v3-skin-tone-neutral{color:#ffd225;background-color:#ffd225}.v3-skin-tones .v3-skin-tone-1f3fb{color:#ffdfbd;background-color:#ffdfbd}.v3-skin-tones .v3-skin-tone-1f3fc{color:#e9c197;background-color:#e9c197}.v3-skin-tones .v3-skin-tone-1f3fd{color:#c88e62;background-color:#c88e62}.v3-skin-tones .v3-skin-tone-1f3fe{color:#a86637;background-color:#a86637}.v3-skin-tones .v3-skin-tone-1f3ff{color:#60463a;background-color:#60463a}.v3-input-emoji-picker *{box-sizing:border-box}.v3-input-emoji-picker .v3-input-picker-root{position:relative}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-input,.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea{width:100%;height:40px;border:1px solid #999;padding-left:15px}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea{min-height:80px;resize:vertical}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea+.v3-input-picker-wrap .v3-input-picker-icon{top:auto;bottom:5px}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-input-picker-icon{display:inline-flex;position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:24px;border:none;background:none;padding:0 5px;cursor:pointer}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-input-picker-icon img{display:block;width:1em;height:1em}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-emoji-picker{opacity:0;visibility:hidden;transition:.2s}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap.v3-picker-is-open .v3-emoji-picker{opacity:1;visibility:visible;z-index:999}.v3-emoji-picker{--v3-picker-bg: #ffffff;--v3-picker-fg: #000000;--v3-picker-border: #dddddd;--v3-picker-input-bg: var(--v3-picker-bg);--v3-picker-input-border: #cccccc;--v3-picker-input-focus-border: #000000;--v3-group-image-filter: none;--v3-picker-emoji-hover: #f7f7f7;background:var(--v3-picker-bg);color:var(--v3-picker-fg)}.v3-emoji-picker .v3-footer,.v3-emoji-picker .v3-header{border-color:var(--v3-picker-border)}.v3-emoji-picker .v3-groups{filter:var(--v3-group-image-filter)}.v3-emoji-picker .v3-tone{color:var(--v3-picker-fg)}.v3-emoji-picker .v3-search input{background:var(--v3-picker-input-bg);border-color:var(--v3-picker-input-border);color:inherit}.v3-emoji-picker .v3-search input:focus{border-color:var(--v3-picker-input-focus-border)}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5,.v3-emoji-picker .v3-skin-tones{background:var(--v3-picker-bg)}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button:hover{background:var(--v3-picker-emoji-hover, #f7f7f7)}@media (prefers-color-scheme: dark){.v3-emoji-picker.v3-color-theme-auto{--v3-picker-bg: #000000;--v3-picker-fg: #ffffff;--v3-picker-border: #333333;--v3-picker-input-bg: #222222;--v3-picker-input-border: #444444;--v3-picker-input-focus-border: #555555;--v3-group-image-filter: invert(1);--v3-picker-emoji-hover: #222222}}.v3-emoji-picker.v3-color-theme-dark{--v3-picker-bg: #000000;--v3-picker-fg: #ffffff;--v3-picker-border: #333333;--v3-picker-input-bg: #222222;--v3-picker-input-border: #444444;--v3-picker-input-focus-border: #555555;--v3-group-image-filter: invert(1);--v3-picker-emoji-hover: #222222}[data-v-6183f7a3],[data-v-6183f7a3]:before,[data-v-6183f7a3]:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }[data-v-6183f7a3]::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }[data-v-6183f7a3],[data-v-6183f7a3]:before,[data-v-6183f7a3]:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}[data-v-6183f7a3]:before,[data-v-6183f7a3]:after{--tw-content: ""}html[data-v-6183f7a3],[data-v-6183f7a3]:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body[data-v-6183f7a3]{margin:0;line-height:inherit}hr[data-v-6183f7a3]{height:0;color:inherit;border-top-width:1px}abbr[data-v-6183f7a3]:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1[data-v-6183f7a3],h2[data-v-6183f7a3],h3[data-v-6183f7a3],h4[data-v-6183f7a3],h5[data-v-6183f7a3],h6[data-v-6183f7a3]{font-size:inherit;font-weight:inherit}a[data-v-6183f7a3]{color:inherit;text-decoration:inherit}b[data-v-6183f7a3],strong[data-v-6183f7a3]{font-weight:bolder}code[data-v-6183f7a3],kbd[data-v-6183f7a3],samp[data-v-6183f7a3],pre[data-v-6183f7a3]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small[data-v-6183f7a3]{font-size:80%}sub[data-v-6183f7a3],sup[data-v-6183f7a3]{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub[data-v-6183f7a3]{bottom:-.25em}sup[data-v-6183f7a3]{top:-.5em}table[data-v-6183f7a3]{text-indent:0;border-color:inherit;border-collapse:collapse}button[data-v-6183f7a3],input[data-v-6183f7a3],optgroup[data-v-6183f7a3],select[data-v-6183f7a3],textarea[data-v-6183f7a3]{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button[data-v-6183f7a3],select[data-v-6183f7a3]{text-transform:none}button[data-v-6183f7a3],input[data-v-6183f7a3]:where([type=button]),input[data-v-6183f7a3]:where([type=reset]),input[data-v-6183f7a3]:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}[data-v-6183f7a3]:-moz-focusring{outline:auto}[data-v-6183f7a3]:-moz-ui-invalid{box-shadow:none}progress[data-v-6183f7a3]{vertical-align:baseline}[data-v-6183f7a3]::-webkit-inner-spin-button,[data-v-6183f7a3]::-webkit-outer-spin-button{height:auto}[type=search][data-v-6183f7a3]{-webkit-appearance:textfield;outline-offset:-2px}[data-v-6183f7a3]::-webkit-search-decoration{-webkit-appearance:none}[data-v-6183f7a3]::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary[data-v-6183f7a3]{display:list-item}blockquote[data-v-6183f7a3],dl[data-v-6183f7a3],dd[data-v-6183f7a3],h1[data-v-6183f7a3],h2[data-v-6183f7a3],h3[data-v-6183f7a3],h4[data-v-6183f7a3],h5[data-v-6183f7a3],h6[data-v-6183f7a3],hr[data-v-6183f7a3],figure[data-v-6183f7a3],p[data-v-6183f7a3],pre[data-v-6183f7a3]{margin:0}fieldset[data-v-6183f7a3]{margin:0;padding:0}legend[data-v-6183f7a3]{padding:0}ol[data-v-6183f7a3],ul[data-v-6183f7a3],menu[data-v-6183f7a3]{list-style:none;margin:0;padding:0}dialog[data-v-6183f7a3]{padding:0}textarea[data-v-6183f7a3]{resize:vertical}input[data-v-6183f7a3]::-moz-placeholder,textarea[data-v-6183f7a3]::-moz-placeholder{opacity:1;color:#9ca3af}input[data-v-6183f7a3]::placeholder,textarea[data-v-6183f7a3]::placeholder{opacity:1;color:#9ca3af}button[data-v-6183f7a3],[role=button][data-v-6183f7a3]{cursor:pointer}[data-v-6183f7a3]:disabled{cursor:default}img[data-v-6183f7a3],svg[data-v-6183f7a3],video[data-v-6183f7a3],canvas[data-v-6183f7a3],audio[data-v-6183f7a3],iframe[data-v-6183f7a3],embed[data-v-6183f7a3],object[data-v-6183f7a3]{display:block;vertical-align:middle}img[data-v-6183f7a3],video[data-v-6183f7a3]{max-width:100%;height:auto}[hidden][data-v-6183f7a3]{display:none}.container[data-v-6183f7a3]{width:100%}@media (min-width: 640px){.container[data-v-6183f7a3]{max-width:640px}}@media (min-width: 768px){.container[data-v-6183f7a3]{max-width:768px}}@media (min-width: 1024px){.container[data-v-6183f7a3]{max-width:1024px}}@media (min-width: 1280px){.container[data-v-6183f7a3]{max-width:1280px}}@media (min-width: 1536px){.container[data-v-6183f7a3]{max-width:1536px}}.chat-box-white[data-v-6183f7a3]{border-radius:1.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));box-shadow:0 4px 10px #e9e9e940}.chat-padding-page[data-v-6183f7a3]{padding:1rem 2.25rem}.chat-mobile .chat-padding-page[data-v-6183f7a3]{padding-left:1rem;padding-right:1rem}.chat-input[data-v-6183f7a3]{border-radius:99px;outline:2px solid transparent;outline-offset:2px}.chat-input[data-v-6183f7a3]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.chat-input[data-v-6183f7a3]::placeholder{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.chat-input[data-v-6183f7a3]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.pointer-events-none[data-v-6183f7a3]{pointer-events:none}.visible[data-v-6183f7a3]{visibility:visible}.fixed[data-v-6183f7a3]{position:fixed}.absolute[data-v-6183f7a3]{position:absolute}.relative[data-v-6183f7a3]{position:relative}.inset-0[data-v-6183f7a3]{top:0;right:0;bottom:0;left:0}.inset-y-0[data-v-6183f7a3]{top:0;bottom:0}.bottom-0[data-v-6183f7a3]{bottom:0}.bottom-1\/2[data-v-6183f7a3]{bottom:50%}.bottom-6[data-v-6183f7a3]{bottom:1.5rem}.left-0[data-v-6183f7a3]{left:0}.left-0\.5[data-v-6183f7a3]{left:.125rem}.left-1\/2[data-v-6183f7a3]{left:50%}.left-2[data-v-6183f7a3]{left:.5rem}.left-4[data-v-6183f7a3]{left:1rem}.left-\[-20px\][data-v-6183f7a3]{left:-20px}.right-0[data-v-6183f7a3]{right:0}.top-0[data-v-6183f7a3]{top:0}.top-1\.5[data-v-6183f7a3]{top:.375rem}.top-1\/2[data-v-6183f7a3]{top:50%}.top-2[data-v-6183f7a3]{top:.5rem}.z-50[data-v-6183f7a3]{z-index:50}.z-\[2000\][data-v-6183f7a3]{z-index:2000}.m-auto[data-v-6183f7a3]{margin:auto}.-mx-1[data-v-6183f7a3]{margin-left:-.25rem;margin-right:-.25rem}.mx-6[data-v-6183f7a3]{margin-left:1.5rem;margin-right:1.5rem}.mx-auto[data-v-6183f7a3]{margin-left:auto;margin-right:auto}.my-1[data-v-6183f7a3]{margin-top:.25rem;margin-bottom:.25rem}.my-2[data-v-6183f7a3]{margin-top:.5rem;margin-bottom:.5rem}.my-8[data-v-6183f7a3]{margin-top:2rem;margin-bottom:2rem}.mb-0[data-v-6183f7a3]{margin-bottom:0}.mb-0\.5[data-v-6183f7a3]{margin-bottom:.125rem}.mb-1[data-v-6183f7a3]{margin-bottom:.25rem}.mb-2[data-v-6183f7a3]{margin-bottom:.5rem}.mb-3[data-v-6183f7a3]{margin-bottom:.75rem}.mb-4[data-v-6183f7a3]{margin-bottom:1rem}.mb-5[data-v-6183f7a3]{margin-bottom:1.25rem}.mb-6[data-v-6183f7a3]{margin-bottom:1.5rem}.mb-8[data-v-6183f7a3]{margin-bottom:2rem}.ml-1[data-v-6183f7a3]{margin-left:.25rem}.ml-2[data-v-6183f7a3]{margin-left:.5rem}.ml-3[data-v-6183f7a3]{margin-left:.75rem}.ml-auto[data-v-6183f7a3]{margin-left:auto}.mr-2[data-v-6183f7a3]{margin-right:.5rem}.mt-1[data-v-6183f7a3]{margin-top:.25rem}.mt-10[data-v-6183f7a3]{margin-top:2.5rem}.mt-2[data-v-6183f7a3]{margin-top:.5rem}.mt-3[data-v-6183f7a3]{margin-top:.75rem}.mt-4[data-v-6183f7a3]{margin-top:1rem}.mt-5[data-v-6183f7a3]{margin-top:1.25rem}.mt-auto[data-v-6183f7a3]{margin-top:auto}.block[data-v-6183f7a3]{display:block}.\!inline-block[data-v-6183f7a3]{display:inline-block!important}.flex[data-v-6183f7a3]{display:flex}.inline-flex[data-v-6183f7a3]{display:inline-flex}.grid[data-v-6183f7a3]{display:grid}.hidden[data-v-6183f7a3]{display:none}.aspect-square[data-v-6183f7a3]{aspect-ratio:1 / 1}.h-11[data-v-6183f7a3]{height:2.75rem}.h-12[data-v-6183f7a3]{height:3rem}.h-14[data-v-6183f7a3]{height:3.5rem}.h-16[data-v-6183f7a3]{height:4rem}.h-2[data-v-6183f7a3]{height:.5rem}.h-2\.5[data-v-6183f7a3]{height:.625rem}.h-20[data-v-6183f7a3]{height:5rem}.h-24[data-v-6183f7a3]{height:6rem}.h-3\.5[data-v-6183f7a3]{height:.875rem}.h-32[data-v-6183f7a3]{height:8rem}.h-4[data-v-6183f7a3]{height:1rem}.h-40[data-v-6183f7a3]{height:10rem}.h-5[data-v-6183f7a3]{height:1.25rem}.h-6[data-v-6183f7a3]{height:1.5rem}.h-8[data-v-6183f7a3]{height:2rem}.h-9[data-v-6183f7a3]{height:2.25rem}.h-\[45px\][data-v-6183f7a3]{height:45px}.h-\[80px\][data-v-6183f7a3]{height:80px}.h-full[data-v-6183f7a3]{height:100%}.h-max[data-v-6183f7a3]{height:-moz-max-content;height:max-content}.h-px[data-v-6183f7a3]{height:1px}.h-screen[data-v-6183f7a3]{height:100vh}.\!w-\[300px\][data-v-6183f7a3]{width:300px!important}.w-1[data-v-6183f7a3]{width:.25rem}.w-10[data-v-6183f7a3]{width:2.5rem}.w-11[data-v-6183f7a3]{width:2.75rem}.w-12[data-v-6183f7a3]{width:3rem}.w-14[data-v-6183f7a3]{width:3.5rem}.w-16[data-v-6183f7a3]{width:4rem}.w-2[data-v-6183f7a3]{width:.5rem}.w-2\.5[data-v-6183f7a3]{width:.625rem}.w-20[data-v-6183f7a3]{width:5rem}.w-24[data-v-6183f7a3]{width:6rem}.w-3\.5[data-v-6183f7a3]{width:.875rem}.w-32[data-v-6183f7a3]{width:8rem}.w-4[data-v-6183f7a3]{width:1rem}.w-40[data-v-6183f7a3]{width:10rem}.w-5[data-v-6183f7a3]{width:1.25rem}.w-6[data-v-6183f7a3]{width:1.5rem}.w-8[data-v-6183f7a3]{width:2rem}.w-9[data-v-6183f7a3]{width:2.25rem}.w-\[130px\][data-v-6183f7a3]{width:130px}.w-\[38\%\][data-v-6183f7a3]{width:38%}.w-\[45px\][data-v-6183f7a3]{width:45px}.w-auto[data-v-6183f7a3]{width:auto}.w-fit[data-v-6183f7a3]{width:-moz-fit-content;width:fit-content}.w-full[data-v-6183f7a3]{width:100%}.w-max[data-v-6183f7a3]{width:-moz-max-content;width:max-content}.min-w-32[data-v-6183f7a3]{min-width:8rem}.min-w-72[data-v-6183f7a3]{min-width:18rem}.min-w-\[100px\][data-v-6183f7a3]{min-width:100px}.max-w-\[350px\][data-v-6183f7a3]{max-width:350px}.max-w-\[500px\][data-v-6183f7a3]{max-width:500px}.max-w-lg[data-v-6183f7a3]{max-width:32rem}.max-w-md[data-v-6183f7a3]{max-width:28rem}.max-w-xs[data-v-6183f7a3]{max-width:20rem}.flex-1[data-v-6183f7a3]{flex:1 1 0%}.shrink-0[data-v-6183f7a3]{flex-shrink:0}.grow[data-v-6183f7a3]{flex-grow:1}.-translate-x-1\/2[data-v-6183f7a3]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2[data-v-6183f7a3]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2[data-v-6183f7a3]{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-2px\][data-v-6183f7a3]{--tw-translate-y: -2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-4px\][data-v-6183f7a3]{--tw-translate-y: -4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0[data-v-6183f7a3]{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90[data-v-6183f7a3]{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform[data-v-6183f7a3]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default[data-v-6183f7a3]{cursor:default}.cursor-pointer[data-v-6183f7a3]{cursor:pointer}.\!touch-none[data-v-6183f7a3]{touch-action:none!important}.touch-none[data-v-6183f7a3]{touch-action:none}.\!touch-pan-x[data-v-6183f7a3]{--tw-pan-x: pan-x !important;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)!important}.select-none[data-v-6183f7a3]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize[data-v-6183f7a3]{resize:both}.grid-cols-3[data-v-6183f7a3]{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4[data-v-6183f7a3]{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row-reverse[data-v-6183f7a3]{flex-direction:row-reverse}.flex-col[data-v-6183f7a3]{flex-direction:column}.flex-col-reverse[data-v-6183f7a3]{flex-direction:column-reverse}.place-content-center[data-v-6183f7a3]{place-content:center}.place-items-center[data-v-6183f7a3]{place-items:center}.items-end[data-v-6183f7a3]{align-items:flex-end}.items-center[data-v-6183f7a3]{align-items:center}.justify-center[data-v-6183f7a3]{justify-content:center}.justify-between[data-v-6183f7a3]{justify-content:space-between}.gap-1[data-v-6183f7a3]{gap:.25rem}.gap-1\.5[data-v-6183f7a3]{gap:.375rem}.gap-2[data-v-6183f7a3]{gap:.5rem}.gap-4[data-v-6183f7a3]{gap:1rem}.gap-8[data-v-6183f7a3]{gap:2rem}.gap-y-1\.5[data-v-6183f7a3]{row-gap:.375rem}.gap-y-3[data-v-6183f7a3]{row-gap:.75rem}.space-y-4[data-v-6183f7a3]>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto[data-v-6183f7a3]{overflow:auto}.overflow-hidden[data-v-6183f7a3]{overflow:hidden}.overflow-y-auto[data-v-6183f7a3]{overflow-y:auto}.truncate[data-v-6183f7a3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl[data-v-6183f7a3]{border-radius:1rem}.rounded-\[6px\][data-v-6183f7a3]{border-radius:6px}.rounded-\[8px\][data-v-6183f7a3]{border-radius:8px}.rounded-\[99px\][data-v-6183f7a3]{border-radius:99px}.rounded-full[data-v-6183f7a3]{border-radius:9999px}.rounded-lg[data-v-6183f7a3]{border-radius:8px}.rounded-md[data-v-6183f7a3]{border-radius:calc(var(--radius) - 2px)}.rounded-sm[data-v-6183f7a3]{border-radius:calc(var(--radius) - 4px)}.rounded-xl[data-v-6183f7a3]{border-radius:.75rem}.rounded-t-3xl[data-v-6183f7a3]{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-\[10px\][data-v-6183f7a3]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl-none[data-v-6183f7a3]{border-bottom-left-radius:0}.rounded-br-none[data-v-6183f7a3]{border-bottom-right-radius:0}.rounded-tl-none[data-v-6183f7a3]{border-top-left-radius:0}.rounded-tr-none[data-v-6183f7a3]{border-top-right-radius:0}.border[data-v-6183f7a3]{border-width:1px}.border-2[data-v-6183f7a3]{border-width:2px}.border-4[data-v-6183f7a3]{border-width:4px}.border-b[data-v-6183f7a3]{border-bottom-width:1px}.border-l[data-v-6183f7a3]{border-left-width:1px}.border-t[data-v-6183f7a3]{border-top-width:1px}.border-dashed[data-v-6183f7a3]{border-style:dashed}.border-\[\#DDDDE8\][data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(221 221 232 / var(--tw-border-opacity))}.border-chat-gray-5[data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(224 224 224 / var(--tw-border-opacity))}.border-chat-haze-100[data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(237 239 241 / var(--tw-border-opacity))}.border-chat-haze-200[data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(215 220 224 / var(--tw-border-opacity))}.border-chat-haze-300[data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(179 190 198 / var(--tw-border-opacity))}.border-chat-haze-400[data-v-6183f7a3]{--tw-border-opacity: 1;border-color:rgb(138 154 166 / var(--tw-border-opacity))}.\!bg-\[\#F9FAFC\][data-v-6183f7a3]{--tw-bg-opacity: 1 !important;background-color:rgb(249 250 252 / var(--tw-bg-opacity))!important}.\!bg-white[data-v-6183f7a3]{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important}.bg-\[\#002E6B\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(0 46 107 / var(--tw-bg-opacity))}.bg-\[\#004AB3\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(0 74 179 / var(--tw-bg-opacity))}.bg-\[\#22C55E\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-\[\#C7DEFF\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(199 222 255 / var(--tw-bg-opacity))}.bg-\[\#D0DFEC\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(208 223 236 / var(--tw-bg-opacity))}.bg-\[\#E4E4E4D4\][data-v-6183f7a3]{background-color:#e4e4e4d4}.bg-\[\#E60000\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(230 0 0 / var(--tw-bg-opacity))}.bg-\[\#EDF5FF\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(237 245 255 / var(--tw-bg-opacity))}.bg-\[\#EF4444\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-\[\#F7F8F9\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(247 248 249 / var(--tw-bg-opacity))}.bg-\[\#F9FAFC\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(249 250 252 / var(--tw-bg-opacity))}.bg-\[\#f3f3f3\][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(243 243 243 / var(--tw-bg-opacity))}.bg-black\/10[data-v-6183f7a3]{background-color:#0000001a}.bg-black\/60[data-v-6183f7a3]{background-color:#0009}.bg-black\/80[data-v-6183f7a3]{background-color:#000c}.bg-chat-haze-200[data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(215 220 224 / var(--tw-bg-opacity))}.bg-chat-haze-300[data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(179 190 198 / var(--tw-bg-opacity))}.bg-chat-haze-400[data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(138 154 166 / var(--tw-bg-opacity))}.bg-white[data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover[data-v-6183f7a3]{-o-object-fit:cover;object-fit:cover}.p-1[data-v-6183f7a3]{padding:.25rem}.p-4[data-v-6183f7a3]{padding:1rem}.p-6[data-v-6183f7a3]{padding:1.5rem}.p-8[data-v-6183f7a3]{padding:2rem}.px-2[data-v-6183f7a3]{padding-left:.5rem;padding-right:.5rem}.px-3[data-v-6183f7a3]{padding-left:.75rem;padding-right:.75rem}.px-4[data-v-6183f7a3]{padding-left:1rem;padding-right:1rem}.px-6[data-v-6183f7a3]{padding-left:1.5rem;padding-right:1.5rem}.px-8[data-v-6183f7a3]{padding-left:2rem;padding-right:2rem}.px-\[10px\][data-v-6183f7a3]{padding-left:10px;padding-right:10px}.py-1\.5[data-v-6183f7a3]{padding-top:.375rem;padding-bottom:.375rem}.py-10[data-v-6183f7a3]{padding-top:2.5rem;padding-bottom:2.5rem}.py-2[data-v-6183f7a3]{padding-top:.5rem;padding-bottom:.5rem}.py-3[data-v-6183f7a3]{padding-top:.75rem;padding-bottom:.75rem}.py-6[data-v-6183f7a3]{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[1px\][data-v-6183f7a3]{padding-top:1px;padding-bottom:1px}.py-\[5px\][data-v-6183f7a3]{padding-top:5px;padding-bottom:5px}.pb-2[data-v-6183f7a3]{padding-bottom:.5rem}.pb-4[data-v-6183f7a3]{padding-bottom:1rem}.pb-7[data-v-6183f7a3]{padding-bottom:1.75rem}.pl-10[data-v-6183f7a3]{padding-left:2.5rem}.pl-4[data-v-6183f7a3]{padding-left:1rem}.pl-8[data-v-6183f7a3]{padding-left:2rem}.pr-2[data-v-6183f7a3]{padding-right:.5rem}.pr-4[data-v-6183f7a3]{padding-right:1rem}.pt-4[data-v-6183f7a3]{padding-top:1rem}.pt-6[data-v-6183f7a3]{padding-top:1.5rem}.text-center[data-v-6183f7a3]{text-align:center}.text-right[data-v-6183f7a3]{text-align:right}.text-base[data-v-6183f7a3]{font-size:1rem}.text-lg[data-v-6183f7a3]{font-size:1.125rem}.text-sm[data-v-6183f7a3]{font-size:.875rem}.text-xl[data-v-6183f7a3]{font-size:1.25rem}.text-xs[data-v-6183f7a3]{font-size:.75rem}.font-bold[data-v-6183f7a3]{font-weight:700}.font-medium[data-v-6183f7a3]{font-weight:500}.font-normal[data-v-6183f7a3]{font-weight:400}.font-semibold[data-v-6183f7a3]{font-weight:600}.tracking-tight[data-v-6183f7a3]{letter-spacing:-.025em}.tracking-widest[data-v-6183f7a3]{letter-spacing:.1em}.text-\[\#004AB3\][data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(0 74 179 / var(--tw-text-opacity))}.text-\[\#0051E6\][data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(0 81 230 / var(--tw-text-opacity))}.text-\[\#141B34\][data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(20 27 52 / var(--tw-text-opacity))}.text-\[\#266699\][data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(38 102 153 / var(--tw-text-opacity))}.text-chat-gray-3[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(130 130 130 / var(--tw-text-opacity))}.text-chat-gray-4[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-chat-haze-200[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(215 220 224 / var(--tw-text-opacity))}.text-chat-haze-300[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(179 190 198 / var(--tw-text-opacity))}.text-chat-haze-400[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(138 154 166 / var(--tw-text-opacity))}.text-chat-haze-500[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(108 126 139 / var(--tw-text-opacity))}.text-chat-haze-600[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(86 102 115 / var(--tw-text-opacity))}.text-chat-haze-900[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(54 62 68 / var(--tw-text-opacity))}.text-chat-primary[data-v-6183f7a3]{color:var(--chat-color-primary)}.text-chat-success[data-v-6183f7a3]{color:var(--chat-color-success)}.text-white[data-v-6183f7a3]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0[data-v-6183f7a3]{opacity:0}.opacity-60[data-v-6183f7a3],.opacity-\[0\.6\][data-v-6183f7a3]{opacity:.6}.shadow-3xl[data-v-6183f7a3]{--tw-shadow: 1px 1px 8px 0px #DEDEDE;--tw-shadow-colored: 1px 1px 8px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-custom[data-v-6183f7a3]{--tw-shadow: 0px 3.77749px 18.8874px rgba(0, 0, 0, .15);--tw-shadow-colored: 0px 3.77749px 18.8874px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none[data-v-6183f7a3]{outline:2px solid transparent;outline-offset:2px}.ring-0[data-v-6183f7a3]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.transition[data-v-6183f7a3]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all[data-v-6183f7a3]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-6183f7a3]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform[data-v-6183f7a3]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200[data-v-6183f7a3]{transition-duration:.2s}@keyframes enter-6183f7a3{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit-6183f7a3{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200[data-v-6183f7a3]{animation-duration:.2s}.sc-full[data-v-6183f7a3]{width:100%;height:100%}.flex-center[data-v-6183f7a3]{display:flex;justify-content:center;align-items:center}.flex-col[data-v-6183f7a3]{flex-direction:column;display:flex}.go-chat-main[data-v-6183f7a3]{width:100%;height:100%;font-size:16px;font-family:Poppins,sans-serif;color:var(--color-text)}.first\:border-none[data-v-6183f7a3]:first-child{border-style:none}@media (hover: hover) and (pointer: fine){.hover\:bg-\[\#EDF5FF\][data-v-6183f7a3]:hover{--tw-bg-opacity: 1;background-color:rgb(237 245 255 / var(--tw-bg-opacity))}.hover\:text-white[data-v-6183f7a3]:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:duration-100[data-v-6183f7a3]:hover{transition-duration:.1s;animation-duration:.1s}}.focus\:outline-none[data-v-6183f7a3]:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none[data-v-6183f7a3]:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2[data-v-6183f7a3]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2[data-v-6183f7a3]:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none[data-v-6183f7a3]:disabled{pointer-events:none}.disabled\:cursor-not-allowed[data-v-6183f7a3]:disabled{cursor:not-allowed}.disabled\:opacity-50[data-v-6183f7a3]:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled][data-v-6183f7a3]{pointer-events:none}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical][data-v-6183f7a3]{height:100%}.data-\[orientation\=vertical\]\:w-2[data-orientation=vertical][data-v-6183f7a3]{width:.5rem}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical][data-v-6183f7a3]{width:100%}.data-\[state\=checked\]\:translate-x-5[data-state=checked][data-v-6183f7a3]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-1[data-state=unchecked][data-v-6183f7a3]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical][data-v-6183f7a3]{flex-direction:column}.data-\[state\=unchecked\]\:bg-\[\#D1D1D1\][data-state=unchecked][data-v-6183f7a3]{--tw-bg-opacity: 1;background-color:rgb(209 209 209 / var(--tw-bg-opacity))}.data-\[disabled\]\:opacity-50[data-disabled][data-v-6183f7a3]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open][data-v-6183f7a3]{animation-name:enter-6183f7a3;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed][data-v-6183f7a3]{animation-name:exit-6183f7a3;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed][data-v-6183f7a3]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open][data-v-6183f7a3]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed][data-v-6183f7a3]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open][data-v-6183f7a3]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom][data-v-6183f7a3]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left][data-v-6183f7a3]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right][data-v-6183f7a3]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top][data-v-6183f7a3]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed][data-v-6183f7a3]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed][data-v-6183f7a3]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open][data-v-6183f7a3]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open][data-v-6183f7a3]{--tw-enter-translate-y: -48%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical][data-v-6183f7a3]{flex-direction:column;display:flex}@media (min-width: 640px){.sm\:flex-row[data-v-6183f7a3]{flex-direction:row}.sm\:justify-end[data-v-6183f7a3]{justify-content:flex-end}.sm\:gap-x-2[data-v-6183f7a3]{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:rounded-lg[data-v-6183f7a3]{border-radius:8px}.sm\:text-left[data-v-6183f7a3]{text-align:left}}@media (min-width: 768px){.md\:block[data-v-6183f7a3]{display:block}.md\:w-full[data-v-6183f7a3]{width:100%}}.\[\&\>svg\]\:size-4>svg[data-v-6183f7a3]{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg[data-v-6183f7a3]{flex-shrink:0}.\[\&_\.loader\:\:before\]\:border-white .loader[data-v-6183f7a3]:before{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}