@greatapps/common 1.1.265 → 1.1.267

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 (276) hide show
  1. package/dist/components/account/ConfigurationsMyAccountModal.mjs +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  3. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  5. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  6. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  7. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  8. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  9. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  10. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  11. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  14. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  15. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  16. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  17. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  18. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  19. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  20. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  21. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  22. package/dist/components/layouts/NavBar.mjs.map +1 -1
  23. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  24. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  25. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  26. package/dist/components/layouts/WhitelabelCodes.mjs +50 -0
  27. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -0
  28. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  29. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  30. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  31. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  32. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  33. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  34. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  35. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  36. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  37. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  38. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  39. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  40. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  41. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  42. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  43. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  44. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  45. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  46. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  47. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  48. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  49. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  50. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  51. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  52. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  53. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  54. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  55. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  56. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  57. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  58. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  59. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  60. package/dist/components/ui/form/FormField.mjs.map +1 -1
  61. package/dist/components/ui/form/Input.mjs.map +1 -1
  62. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  63. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  64. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  65. package/dist/components/ui/form/Select.mjs +1 -1
  66. package/dist/components/ui/form/Select.mjs.map +1 -1
  67. package/dist/components/ui/form/Switch.mjs.map +1 -1
  68. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  69. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  70. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  71. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  72. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  73. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  74. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  75. package/dist/index.mjs +28 -26
  76. package/dist/index.mjs.map +1 -1
  77. package/dist/infra/api/client.mjs +2 -2
  78. package/dist/infra/api/client.mjs.map +1 -1
  79. package/dist/middleware.mjs.map +1 -1
  80. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  81. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  82. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  83. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  84. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  85. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  86. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  87. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  88. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  89. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  90. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  91. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  92. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  93. package/dist/modules/auth/services/auth.service.mjs +1 -1
  94. package/dist/modules/auth/services/auth.service.mjs.map +1 -1
  95. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  96. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  97. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  98. package/dist/modules/cards/types.mjs.map +1 -1
  99. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  100. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  101. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  102. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  103. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  104. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  105. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  106. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  107. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  108. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  109. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  110. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  111. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  112. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  113. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  114. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  115. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  116. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  117. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  118. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  119. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  120. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  121. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  122. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  123. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  124. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  125. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  126. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  127. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  128. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  129. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  130. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  131. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  132. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  133. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  134. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  135. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  136. package/dist/utils/countries.mjs.map +1 -1
  137. package/dist/utils/safeServerAction.mjs.map +1 -1
  138. package/dist/utils/withAction.mjs.map +1 -1
  139. package/package.json +89 -89
  140. package/src/components/account/ConfigurationsMyAccountModal.tsx +150 -150
  141. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  142. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  143. package/src/components/account/DeleteAccountModal.tsx +130 -130
  144. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  145. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  146. package/src/components/account/TwoFactorAuthModal.tsx +223 -223
  147. package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
  148. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  149. package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
  150. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  151. package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
  152. package/src/components/account/sections/MyProfileSection.tsx +327 -327
  153. package/src/components/account/sections/PreferencesSection.tsx +273 -273
  154. package/src/components/account/sections/SecuritySection.tsx +160 -160
  155. package/src/components/embeds/CrispEmbed.tsx +101 -101
  156. package/src/components/embeds/FrillEmbed.tsx +119 -119
  157. package/src/components/layouts/AppMobileNavBar.tsx +118 -118
  158. package/src/components/layouts/AppNavBar.tsx +51 -51
  159. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  160. package/src/components/layouts/NavBar.tsx +120 -120
  161. package/src/components/layouts/NotificationsPopover.tsx +115 -115
  162. package/src/components/layouts/ProfilePopover.tsx +164 -164
  163. package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
  164. package/src/components/layouts/WhitelabelCodes.tsx +59 -0
  165. package/src/components/modals/BuyCreditsModal.tsx +301 -301
  166. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
  167. package/src/components/navigation/NavItemsContext.ts +20 -20
  168. package/src/components/navigation/ProjectSelectorPopover.tsx +157 -157
  169. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  170. package/src/components/navigation/subcomponents/ProjectSelector.tsx +156 -156
  171. package/src/components/pages/notifications/Notifications.tsx +160 -160
  172. package/src/components/ui/buttons/Button.tsx +57 -57
  173. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  174. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  175. package/src/components/ui/data-display/Accordion.tsx +81 -81
  176. package/src/components/ui/data-display/Badge.tsx +47 -47
  177. package/src/components/ui/data-display/Card.tsx +93 -93
  178. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  179. package/src/components/ui/data-display/CardItem.tsx +75 -75
  180. package/src/components/ui/data-display/Pagination.tsx +126 -126
  181. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
  182. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  183. package/src/components/ui/data-display/Separator.tsx +29 -29
  184. package/src/components/ui/data-display/Table.tsx +117 -117
  185. package/src/components/ui/data-display/Tabs.tsx +67 -67
  186. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  187. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  188. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  189. package/src/components/ui/feedback/Progress.tsx +40 -40
  190. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  191. package/src/components/ui/feedback/Toast.tsx +101 -101
  192. package/src/components/ui/form/Calendar.tsx +228 -228
  193. package/src/components/ui/form/Checkbox.tsx +31 -31
  194. package/src/components/ui/form/ComboboxField.tsx +154 -154
  195. package/src/components/ui/form/DatePicker.tsx +97 -97
  196. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  197. package/src/components/ui/form/FormField.tsx +131 -131
  198. package/src/components/ui/form/Input.tsx +20 -20
  199. package/src/components/ui/form/InputOtp.tsx +80 -80
  200. package/src/components/ui/form/PhoneInput.tsx +205 -205
  201. package/src/components/ui/form/RadioGroup.tsx +45 -45
  202. package/src/components/ui/form/Select.tsx +200 -200
  203. package/src/components/ui/form/Switch.tsx +32 -32
  204. package/src/components/ui/form/Textarea.tsx +19 -19
  205. package/src/components/ui/overlay/Command.tsx +185 -185
  206. package/src/components/ui/overlay/Dialog.tsx +151 -151
  207. package/src/components/ui/overlay/Popover.tsx +49 -49
  208. package/src/components/ui/overlay/Sheet.tsx +166 -166
  209. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  210. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  211. package/src/index.ts +377 -376
  212. package/src/infra/api/client.ts +4 -2
  213. package/src/middleware.ts +4 -4
  214. package/src/modules/accounts/actions/account-management.action.ts +91 -91
  215. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  216. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  217. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  218. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  219. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  220. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  221. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  222. package/src/modules/accounts/services/account.service.ts +236 -236
  223. package/src/modules/accounts/types.ts +214 -214
  224. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  225. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  226. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  227. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  228. package/src/modules/auth/schema.ts +1 -0
  229. package/src/modules/auth/services/auth.service.ts +1 -1
  230. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  231. package/src/modules/cards/hooks/cards.hook.ts +14 -14
  232. package/src/modules/cards/services/cards.service.ts +32 -32
  233. package/src/modules/cards/types.ts +32 -32
  234. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  235. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  236. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
  237. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
  238. package/src/modules/plans/services/plans.service.ts +36 -36
  239. package/src/modules/plans/types/plan.type.ts +21 -21
  240. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  241. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  242. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  243. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  244. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  245. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  246. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  247. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  248. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  249. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  250. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  251. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  252. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +26 -26
  253. package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
  254. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  255. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  256. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
  257. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
  258. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  259. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
  260. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  261. package/src/modules/subscriptions/utils/periodicity.ts +52 -52
  262. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  263. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  264. package/src/modules/users/action/list-messages.action.ts +12 -12
  265. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  266. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  267. package/src/modules/users/hooks/messages.hook.ts +60 -60
  268. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  269. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  270. package/src/modules/whitelabel/schema.ts +83 -83
  271. package/src/modules/whitelabel/styles-schema.ts +37 -37
  272. package/src/providers/whitelabel.provider.tsx +54 -54
  273. package/src/store/useBuyCreditsModal.ts +25 -25
  274. package/src/utils/countries.ts +224 -224
  275. package/src/utils/safeServerAction.ts +21 -21
  276. package/src/utils/withAction.ts +13 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/overlay/Tooltip.tsx"],"sourcesContent":["'use client';\r\n\r\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\nimport { cn } from \"../../../infra/utils/clsx\"\r\n\r\nfunction TooltipProvider({\r\n delayDuration = 0,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\r\n return (\r\n <TooltipPrimitive.Provider\r\n data-slot=\"tooltip-provider\"\r\n delayDuration={delayDuration}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\nfunction TooltipContent({\r\n className,\r\n sideOffset = 0,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]\" />\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"mappings":";AAaI,cAgCE,YAhCF;AARJ,YAAY,sBAAsB;AAClC,SAAS,UAAU;AAEnB,SAAS,gBAAgB;AAAA,EACvB,gBAAgB;AAAA,EAChB,GAAG;AACL,GAA2D;AACzD,SACE;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,QAAQ;AAAA,EACf,GAAG;AACL,GAAuD;AACrD,SACE,oBAAC,mBACC,8BAAC,iBAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO,GACxD;AAEJ;AAEA,SAAS,eAAe;AAAA,EACtB,GAAG;AACL,GAA0D;AACxD,SAAO,oBAAC,iBAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AAC1E;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,SACE,oBAAC,iBAAiB,QAAjB,EACC;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,iBAAiB,OAAjB,EAAuB,WAAU,oGAAmG;AAAA;AAAA;AAAA,EACvI,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/overlay/Tooltip.tsx"],"sourcesContent":["'use client';\n\n\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\nimport { cn } from \"../../../infra/utils/clsx\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"],"mappings":";AAaI,cAgCE,YAhCF;AARJ,YAAY,sBAAsB;AAClC,SAAS,UAAU;AAEnB,SAAS,gBAAgB;AAAA,EACvB,gBAAgB;AAAA,EAChB,GAAG;AACL,GAA2D;AACzD,SACE;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,QAAQ;AAAA,EACf,GAAG;AACL,GAAuD;AACrD,SACE,oBAAC,mBACC,8BAAC,iBAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO,GACxD;AAEJ;AAEA,SAAS,eAAe;AAAA,EACtB,GAAG;AACL,GAA0D;AACxD,SAAO,oBAAC,iBAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AAC1E;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,SACE,oBAAC,iBAAiB,QAAjB,EACC;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,iBAAiB,OAAjB,EAAuB,WAAU,oGAAmG;AAAA;AAAA;AAAA,EACvI,GACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/copy-to-clipboard.hook.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { useState, useCallback, useRef, useEffect } from \"react\";\r\n\r\ninterface UseCopyToClipboardOptions {\r\n feedbackDuration?: number;\r\n onSuccess?: () => void;\r\n onError?: (error: Error) => void;\r\n}\r\n\r\ninterface UseCopyToClipboardReturn {\r\n isCopied: boolean;\r\n copy: (text: string) => Promise<void>;\r\n}\r\n\r\nexport default function useCopyToClipboard({\r\n feedbackDuration = 2000,\r\n onSuccess,\r\n onError,\r\n}: UseCopyToClipboardOptions = {}): UseCopyToClipboardReturn {\r\n const [isCopied, setIsCopied] = useState(false);\r\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n };\r\n }, []);\r\n\r\n const copy = useCallback(\r\n async (text: string) => {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n\r\n try {\r\n if (navigator.clipboard?.writeText) {\r\n await navigator.clipboard.writeText(text);\r\n } else {\r\n const textarea = document.createElement(\"textarea\");\r\n textarea.value = text;\r\n textarea.style.cssText = \"position:fixed;top:-9999px;left:-9999px;opacity:0\";\r\n document.body.appendChild(textarea);\r\n textarea.focus();\r\n textarea.select();\r\n const success = document.execCommand(\"copy\");\r\n document.body.removeChild(textarea);\r\n if (!success) throw new Error(\"execCommand copy failed\");\r\n }\r\n\r\n setIsCopied(true);\r\n onSuccess?.();\r\n\r\n timeoutRef.current = setTimeout(() => {\r\n setIsCopied(false);\r\n }, feedbackDuration);\r\n } catch (error) {\r\n onError?.(error instanceof Error ? error : new Error(\"Failed to copy\"));\r\n }\r\n },\r\n [feedbackDuration, onSuccess, onError],\r\n );\r\n\r\n return { isCopied, copy };\r\n}\r\n"],"mappings":";AAEA,SAAS,UAAU,aAAa,QAAQ,iBAAiB;AAa1C,SAAR,mBAAoC;AAAA,EACzC,mBAAmB;AAAA,EACnB;AAAA,EACA;AACF,IAA+B,CAAC,GAA6B;AAC3D,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,aAAa,OAA8B,IAAI;AAErD,YAAU,MAAM;AACd,WAAO,MAAM;AACX,UAAI,WAAW,SAAS;AACtB,qBAAa,WAAW,OAAO;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO;AAAA,IACX,OAAO,SAAiB;AACtB,UAAI,WAAW,SAAS;AACtB,qBAAa,WAAW,OAAO;AAAA,MACjC;AAEA,UAAI;AACF,YAAI,UAAU,WAAW,WAAW;AAClC,gBAAM,UAAU,UAAU,UAAU,IAAI;AAAA,QAC1C,OAAO;AACL,gBAAM,WAAW,SAAS,cAAc,UAAU;AAClD,mBAAS,QAAQ;AACjB,mBAAS,MAAM,UAAU;AACzB,mBAAS,KAAK,YAAY,QAAQ;AAClC,mBAAS,MAAM;AACf,mBAAS,OAAO;AAChB,gBAAM,UAAU,SAAS,YAAY,MAAM;AAC3C,mBAAS,KAAK,YAAY,QAAQ;AAClC,cAAI,CAAC,QAAS,OAAM,IAAI,MAAM,yBAAyB;AAAA,QACzD;AAEA,oBAAY,IAAI;AAChB,oBAAY;AAEZ,mBAAW,UAAU,WAAW,MAAM;AACpC,sBAAY,KAAK;AAAA,QACnB,GAAG,gBAAgB;AAAA,MACrB,SAAS,OAAO;AACd,kBAAU,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,gBAAgB,CAAC;AAAA,MACxE;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,WAAW,OAAO;AAAA,EACvC;AAEA,SAAO,EAAE,UAAU,KAAK;AAC1B;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/copy-to-clipboard.hook.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useCallback, useRef, useEffect } from \"react\";\n\ninterface UseCopyToClipboardOptions {\n feedbackDuration?: number;\n onSuccess?: () => void;\n onError?: (error: Error) => void;\n}\n\ninterface UseCopyToClipboardReturn {\n isCopied: boolean;\n copy: (text: string) => Promise<void>;\n}\n\nexport default function useCopyToClipboard({\n feedbackDuration = 2000,\n onSuccess,\n onError,\n}: UseCopyToClipboardOptions = {}): UseCopyToClipboardReturn {\n const [isCopied, setIsCopied] = useState(false);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n const copy = useCallback(\n async (text: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.style.cssText = \"position:fixed;top:-9999px;left:-9999px;opacity:0\";\n document.body.appendChild(textarea);\n textarea.focus();\n textarea.select();\n const success = document.execCommand(\"copy\");\n document.body.removeChild(textarea);\n if (!success) throw new Error(\"execCommand copy failed\");\n }\n\n setIsCopied(true);\n onSuccess?.();\n\n timeoutRef.current = setTimeout(() => {\n setIsCopied(false);\n }, feedbackDuration);\n } catch (error) {\n onError?.(error instanceof Error ? error : new Error(\"Failed to copy\"));\n }\n },\n [feedbackDuration, onSuccess, onError],\n );\n\n return { isCopied, copy };\n}\n"],"mappings":";AAEA,SAAS,UAAU,aAAa,QAAQ,iBAAiB;AAa1C,SAAR,mBAAoC;AAAA,EACzC,mBAAmB;AAAA,EACnB;AAAA,EACA;AACF,IAA+B,CAAC,GAA6B;AAC3D,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,aAAa,OAA8B,IAAI;AAErD,YAAU,MAAM;AACd,WAAO,MAAM;AACX,UAAI,WAAW,SAAS;AACtB,qBAAa,WAAW,OAAO;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO;AAAA,IACX,OAAO,SAAiB;AACtB,UAAI,WAAW,SAAS;AACtB,qBAAa,WAAW,OAAO;AAAA,MACjC;AAEA,UAAI;AACF,YAAI,UAAU,WAAW,WAAW;AAClC,gBAAM,UAAU,UAAU,UAAU,IAAI;AAAA,QAC1C,OAAO;AACL,gBAAM,WAAW,SAAS,cAAc,UAAU;AAClD,mBAAS,QAAQ;AACjB,mBAAS,MAAM,UAAU;AACzB,mBAAS,KAAK,YAAY,QAAQ;AAClC,mBAAS,MAAM;AACf,mBAAS,OAAO;AAChB,gBAAM,UAAU,SAAS,YAAY,MAAM;AAC3C,mBAAS,KAAK,YAAY,QAAQ;AAClC,cAAI,CAAC,QAAS,OAAM,IAAI,MAAM,yBAAyB;AAAA,QACzD;AAEA,oBAAY,IAAI;AAChB,oBAAY;AAEZ,mBAAW,UAAU,WAAW,MAAM;AACpC,sBAAY,KAAK;AAAA,QACnB,GAAG,gBAAgB;AAAA,MACrB,SAAS,OAAO;AACd,kBAAU,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,gBAAgB,CAAC;AAAA,MACxE;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,WAAW,OAAO;AAAA,EACvC;AAEA,SAAO,EAAE,UAAU,KAAK;AAC1B;","names":[]}
package/dist/index.mjs CHANGED
@@ -71,14 +71,15 @@ import { NotificationsPopover } from "./components/layouts/NotificationsPopover"
71
71
  import { NotificationPageContent } from "./components/pages/notifications/Notifications";
72
72
  import { UsersSelectorPopover } from "./components/layouts/UsersSelectorPopover";
73
73
  import { ProfilePopover } from "./components/layouts/ProfilePopover";
74
+ import { default as default4 } from "./components/layouts/WhitelabelCodes";
74
75
  import { NavBarItem } from "./components/layouts/NavBarItem";
75
76
  import { AppNavigation } from "./components/navigation/AppNavigation";
76
77
  import { CancelledSubscriptionBanner } from "./components/navigation/CancelledSubscriptionBanner";
77
78
  import { useMobileNavbarSheet } from "./store/useMobileNavbarSheet";
78
- import { default as default4 } from "./hooks/copy-to-clipboard.hook";
79
+ import { default as default5 } from "./hooks/copy-to-clipboard.hook";
79
80
  import { Button, buttonVariants } from "./components/ui/buttons/Button";
80
81
  import { CopyButton } from "./components/ui/buttons/CopyButton";
81
- import { default as default5 } from "./components/ui/buttons/CancelButton";
82
+ import { default as default6 } from "./components/ui/buttons/CancelButton";
82
83
  import {
83
84
  Accordion,
84
85
  AccordionItem,
@@ -123,8 +124,8 @@ import {
123
124
  TabsContent
124
125
  } from "./components/ui/data-display/Tabs";
125
126
  import { UserAvatar } from "./components/ui/data-display/UserAvatar";
126
- import { default as default6 } from "./components/ui/feedback/CircularProgress";
127
- import { default as default7 } from "./components/ui/feedback/DefaultCircularProgress";
127
+ import { default as default7 } from "./components/ui/feedback/CircularProgress";
128
+ import { default as default8 } from "./components/ui/feedback/DefaultCircularProgress";
128
129
  import { Progress } from "./components/ui/feedback/Progress";
129
130
  import { LoadingOverlay } from "./components/ui/feedback/LoadingOverlay";
130
131
  import {
@@ -208,9 +209,9 @@ import { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from "./component
208
209
  import { useMdSidebarStore } from "./store/useMdSidebarStore";
209
210
  import { useModalManager } from "./store/useModalManager";
210
211
  import { AccountSectionType } from "./enums/AccountSectionType";
211
- import { default as default8 } from "./hooks/usePasswordVisibility";
212
- import { default as default9 } from "./hooks/useCountdownTimer";
213
- import { default as default10 } from "./hooks/useIsMobile";
212
+ import { default as default9 } from "./hooks/usePasswordVisibility";
213
+ import { default as default10 } from "./hooks/useCountdownTimer";
214
+ import { default as default11 } from "./hooks/useIsMobile";
214
215
  import { useDebounce } from "./hooks/useDebounce";
215
216
  import { useDebouncedEffect } from "./hooks/useDebouncedEffect";
216
217
  import { useDebounceState } from "./hooks/useDebounceState";
@@ -229,8 +230,8 @@ import { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
229
230
  import { FormField } from "./components/ui/form/FormField";
230
231
  import { SelectField } from "./components/ui/form/SelectField";
231
232
  import { ComboboxField } from "./components/ui/form/ComboboxField";
232
- import { default as default11 } from "./components/ui/form/PhoneInput";
233
- import { default as default12 } from "./components/ui/form/SwitchOptionFieldWithIcon";
233
+ import { default as default12 } from "./components/ui/form/PhoneInput";
234
+ import { default as default13 } from "./components/ui/form/SwitchOptionFieldWithIcon";
234
235
  import { TextAreaField } from "./components/ui/form/TextAreaField";
235
236
  import {
236
237
  useCurrentAccount,
@@ -243,13 +244,13 @@ import {
243
244
  useDeleteAccountUser,
244
245
  useDeleteAccount
245
246
  } from "./modules/accounts/hooks/useAccountManagement";
246
- import { default as default13 } from "./components/account/AccountModals";
247
+ import { default as default14 } from "./components/account/AccountModals";
247
248
  import { useAccountModals } from "./store/useAccountModals";
248
249
  import { ModalManager } from "./components/modals/ModalManager";
249
250
  import { Modals } from "./components/modals/Modals";
250
- import { default as default14 } from "./components/account/TwoFactorAuthModal";
251
- import { default as default15 } from "./components/account/DisableTwoFactorAuthModal";
252
- import { default as default16 } from "./components/account/ConfirmGlobalPreferencesModal";
251
+ import { default as default15 } from "./components/account/TwoFactorAuthModal";
252
+ import { default as default16 } from "./components/account/DisableTwoFactorAuthModal";
253
+ import { default as default17 } from "./components/account/ConfirmGlobalPreferencesModal";
253
254
  import { MyProfileSection } from "./components/account/sections/MyProfileSection";
254
255
  import { PreferencesSection } from "./components/account/sections/PreferencesSection";
255
256
  import { SecuritySection } from "./components/account/sections/SecuritySection";
@@ -272,7 +273,7 @@ export {
272
273
  AccordionContent,
273
274
  AccordionItem,
274
275
  AccordionTrigger,
275
- default13 as AccountModals,
276
+ default14 as AccountModals,
276
277
  AccountSectionType,
277
278
  AppMobileNavBar,
278
279
  AppNavBar,
@@ -284,7 +285,7 @@ export {
284
285
  CURRENCY_OPTIONS,
285
286
  Calendar,
286
287
  CalendarDayButton,
287
- default5 as CancelButton,
288
+ default6 as CancelButton,
288
289
  CancelledSubscriptionBanner,
289
290
  Card,
290
291
  CardAction,
@@ -299,7 +300,7 @@ export {
299
300
  ChangePasswordSection,
300
301
  ChangePhoneModal,
301
302
  Checkbox,
302
- default6 as CircularProgress,
303
+ default7 as CircularProgress,
303
304
  ComboboxField,
304
305
  Command,
305
306
  CommandDialog,
@@ -310,12 +311,12 @@ export {
310
311
  CommandList,
311
312
  CommandSeparator,
312
313
  CommandShortcut,
313
- default16 as ConfirmGlobalPreferencesModal,
314
+ default17 as ConfirmGlobalPreferencesModal,
314
315
  CopyButton,
315
316
  CrispEmbed,
316
317
  DatePicker,
317
318
  DateRangePicker,
318
- default7 as DefaultCircularProgress,
319
+ default8 as DefaultCircularProgress,
319
320
  Dialog,
320
321
  DialogClose,
321
322
  DialogContent,
@@ -326,7 +327,7 @@ export {
326
327
  DialogPortal,
327
328
  DialogTitle,
328
329
  DialogTrigger,
329
- default15 as DisableTwoFactorAuthModal,
330
+ default16 as DisableTwoFactorAuthModal,
330
331
  FormField,
331
332
  FrillEmbed,
332
333
  GENDER_OPTIONS,
@@ -365,7 +366,7 @@ export {
365
366
  PaginationPrevious,
366
367
  CardSchema as PaymentCardSchema,
367
368
  PaymentInfoCard,
368
- default11 as PhoneInput,
369
+ default12 as PhoneInput,
369
370
  PlanItemSchema,
370
371
  PlanSchema,
371
372
  Popover,
@@ -407,7 +408,7 @@ export {
407
408
  SubscriptionItemSchema,
408
409
  SubscriptionSchema,
409
410
  Switch,
410
- default12 as SwitchOptionFieldWithIcon,
411
+ default13 as SwitchOptionFieldWithIcon,
411
412
  TIME_FORMAT_OPTIONS,
412
413
  Table,
413
414
  TableBody,
@@ -428,10 +429,11 @@ export {
428
429
  TooltipContent,
429
430
  TooltipProvider,
430
431
  TooltipTrigger,
431
- default14 as TwoFactorAuthModal,
432
+ default15 as TwoFactorAuthModal,
432
433
  USER_QUERY_KEY,
433
434
  UserAvatar,
434
435
  UsersSelectorPopover,
436
+ default4 as WhitelabelCodes,
435
437
  badgeVariants,
436
438
  buildLocaleOptions,
437
439
  buildPlanExtras,
@@ -463,8 +465,8 @@ export {
463
465
  useBuyCreditsModal,
464
466
  useCalculateSubscription,
465
467
  useCards,
466
- default4 as useCopyToClipboard,
467
- default9 as useCountdownTimer,
468
+ default5 as useCopyToClipboard,
469
+ default10 as useCountdownTimer,
468
470
  useCurrentAccount,
469
471
  useDebounce,
470
472
  useDebounceState,
@@ -474,13 +476,13 @@ export {
474
476
  useHasPlanAddon,
475
477
  useIaCredits,
476
478
  useInvalidateUser,
477
- default10 as useIsMobile,
479
+ default11 as useIsMobile,
478
480
  useListAvailableUsers,
479
481
  useListProjectUsers,
480
482
  useMdSidebarStore,
481
483
  useMobileNavbarSheet,
482
484
  useModalManager,
483
- default8 as usePasswordVisibility,
485
+ default9 as usePasswordVisibility,
484
486
  usePlanById,
485
487
  useSetUserData,
486
488
  useSubscriptions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\r\nexport * from \"./modules/auth/schema\";\r\nexport * from \"./modules/users/schema\";\r\nexport * from \"./modules/whitelabel/schema\";\r\n// Style types now come from whitelabel schema directly\r\nexport * from \"./infra/api/types\";\r\n\r\n// Contexts\r\nexport * from \"./providers/query.provider\";\r\nexport * from \"./providers/auth.provider\";\r\nexport * from \"./providers/whitelabel.provider\";\r\n\r\n// Hooks\r\nexport {\r\n useListProjectUsers,\r\n LIST_PROJECT_USERS_QUERY_KEY,\r\n LIST_PROJECT_USERS_BASE_KEY,\r\n} from \"./modules/projects/hooks/list-project-users.hook\";\r\nexport {\r\n useListAvailableUsers,\r\n LIST_AVAILABLE_USERS_QUERY_KEY,\r\n LIST_AVAILABLE_USERS_BASE_KEY,\r\n} from \"./modules/projects/hooks/list-available-users.hook\";\r\nexport type {\r\n ProjectUser,\r\n AccountUser,\r\n AddRemoveProjectUsersParams,\r\n ListUsersParams,\r\n UsersPage,\r\n} from \"./modules/projects/types\";\r\nexport {\r\n useUserQuery,\r\n useUserValidateSession,\r\n useInvalidateUser,\r\n useSetUserData,\r\n useTwoFactorVerify,\r\n USER_QUERY_KEY,\r\n} from \"./modules/auth/hooks/useUserQuery\";\r\nexport { useSubscriptions } from \"./modules/subscriptions/hooks/list-subscriptions.hook\";\r\nexport { SUBSCRIPTIONS_QUERY_KEY } from \"./modules/subscriptions/constants/query-keys.constants\";\r\nexport { useActiveSubscription } from \"./modules/subscriptions/hooks/find-active-subscription.hook\";\r\nexport { usePlanById } from \"./modules/plans/hooks/use-plan-by-id.hook\";\r\nexport { useHasPlanAddon } from \"./modules/plans/hooks/use-has-plan-addon.hook\";\r\nexport { useCalculateSubscription } from \"./modules/subscriptions/hooks/calculate-subscription.hook\";\r\nexport { useUpdateSubscriptionPlan } from \"./modules/subscriptions/hooks/update-subscription-plan.hook\";\r\nexport { useCards, CARDS_QUERY_KEY } from \"./modules/cards/hooks/cards.hook\";\r\nexport { useIaCredits } from \"./modules/ia-credits/hooks/ia-credits.hook\";\r\nexport type {\r\n IaCreditsSummary,\r\n IaCreditOperation,\r\n} from \"./modules/ia-credits/types\";\r\nexport type {\r\n Subscription,\r\n SubscriptionItem,\r\n FindSubscriptionsParams,\r\n} from \"./modules/subscriptions/types/subscription.type\";\r\nexport {\r\n SubscriptionSchema,\r\n SubscriptionItemSchema,\r\n} from \"./modules/subscriptions/types/subscription.type\";\r\nexport { ADDON_IDS, AI_CREDIT_OPTIONS, AI_CREDIT_VALUES } from \"./modules/subscriptions/constants/addons.constants\";\r\nexport type { AddonKindEnum, AiCreditOption } from \"./modules/subscriptions/constants/addons.constants\";\r\nexport type { Plan, PlanItem } from \"./modules/plans/types/plan.type\";\r\nexport { PlanSchema, PlanItemSchema } from \"./modules/plans/types/plan.type\";\r\nexport type { BillingPeriod } from \"./modules/subscriptions/types/billing-period.type\";\r\nexport type {\r\n CalculateSubscriptionRequest,\r\n CalculateSubscriptionResponse,\r\n UpdateSubscriptionPlanRequest,\r\n} from \"./modules/subscriptions/types/calculate-subscription.type\";\r\nexport type { Card as PaymentCard } from \"./modules/cards/types\";\r\nexport { CardSchema as PaymentCardSchema } from \"./modules/cards/types\";\r\nexport { buildPlanExtras } from \"./modules/subscriptions/utils/build-plan-extras\";\r\nexport { getPriceFromCalculatedData, periodicityToBillingPeriod } from \"./modules/subscriptions/utils/periodicity\";\r\nexport { useBuyCreditsModal } from \"./store/useBuyCreditsModal\";\r\nexport { default as BuyCreditsModal } from \"./components/modals/BuyCreditsModal\";\r\nexport { Skeleton } from \"./components/ui/feedback/Skeleton\";\r\nexport { PaymentInfoCard } from \"./components/ui/data-display/PaymentInfoCard\";\r\nexport { CardBrandIcon } from \"./components/ui/data-display/CardBrandIcons\";\r\nexport { CardItem } from \"./components/ui/data-display/CardItem\";\r\n\r\n// Providers\r\nexport { QueryProvider } from \"./providers/query.provider\";\r\n\r\n// Middleware\r\nexport { createAuthMiddleware } from \"./middlewares/create-auth-middleware\";\r\nexport { createMiddlewareChain } from \"./middlewares/chain\";\r\nexport { continueChain, stopChain } from \"./middlewares/types\";\r\nexport type {\r\n MiddlewareFunction,\r\n MiddlewareConfig,\r\n MiddlewareResult,\r\n} from \"./middlewares/types\";\r\n\r\n// Utils\r\nexport { cn } from \"./infra/utils/clsx\";\r\nexport { buildQueryParams } from \"./infra/utils/params\";\r\nexport { parseSchema, parseResult } from \"./infra/utils/parser\";\r\nexport { withAction } from \"./utils/withAction\";\r\n\r\n// Layout\r\nexport {\r\n MainLayout,\r\n MainLayoutContent,\r\n MainLayoutSpacer,\r\n MainLayoutMain,\r\n} from \"./components/layouts/MainLayout\";\r\nexport { NavBar } from \"./components/layouts/NavBar\";\r\nexport type { NavBarProps } from \"./components/layouts/NavBar\";\r\nexport { AppNavBar } from \"./components/layouts/AppNavBar\";\r\nexport type { AppNavBarProps } from \"./components/layouts/AppNavBar\";\r\nexport { AppMobileNavBar } from \"./components/layouts/AppMobileNavBar\";\r\nexport type { AppMobileNavBarProps } from \"./components/layouts/AppMobileNavBar\";\r\nexport { SideBarNavigation } from \"./components/layouts/SideBarNavigation\";\r\nexport { MdSideBarNavigation } from \"./components/layouts/MdSideBarNavigation\";\r\nexport { default as NotificationCard } from \"./components/widgets/notifications/NotificationCard\";\r\nexport type { NotificationCardProps } from \"./components/widgets/notifications/NotificationCard\";\r\nexport { NotificationsPopover } from \"./components/layouts/NotificationsPopover\";\r\nexport type { NotificationsPopoverProps } from \"./components/layouts/NotificationsPopover\";\r\nexport { NotificationPageContent } from \"./components/pages/notifications/Notifications\";\r\nexport { UsersSelectorPopover } from \"./components/layouts/UsersSelectorPopover\";\r\nexport type { UsersSelectorPopoverProps } from \"./components/layouts/UsersSelectorPopover\";\r\nexport { ProfilePopover } from \"./components/layouts/ProfilePopover\";\r\nexport type {\r\n ProfilePopoverProps,\r\n ProfileMenuItem,\r\n} from \"./components/layouts/ProfilePopover\";\r\nexport { NavBarItem } from \"./components/layouts/NavBarItem\";\r\nexport type { NavBarItemProps } from \"./components/layouts/NavBarItem\";\r\n\r\n// Navigation\r\nexport { AppNavigation } from './components/navigation/AppNavigation';\r\nexport { CancelledSubscriptionBanner } from './components/navigation/CancelledSubscriptionBanner';\r\nexport type { NavItemConfig } from './components/navigation/subcomponents/NavItems';\r\nexport type { NavigationProject } from './components/navigation/types';\r\nexport { useMobileNavbarSheet } from './store/useMobileNavbarSheet';\r\n\r\n// Hooks\r\nexport { default as useCopyToClipboard } from \"./hooks/copy-to-clipboard.hook\";\r\n\r\n// UI - Buttons\r\nexport { Button, buttonVariants } from \"./components/ui/buttons/Button\";\r\nexport { CopyButton } from \"./components/ui/buttons/CopyButton\";\r\nexport { default as CancelButton } from \"./components/ui/buttons/CancelButton\";\r\n\r\n// UI - Data Display\r\nexport {\r\n Accordion,\r\n AccordionItem,\r\n AccordionTrigger,\r\n AccordionContent,\r\n} from \"./components/ui/data-display/Accordion\";\r\nexport { Badge, badgeVariants } from \"./components/ui/data-display/Badge\";\r\nexport {\r\n Card,\r\n CardHeader,\r\n CardFooter,\r\n CardTitle,\r\n CardAction,\r\n CardDescription,\r\n CardContent,\r\n} from \"./components/ui/data-display/Card\";\r\nexport {\r\n Pagination,\r\n PaginationContent,\r\n PaginationLink,\r\n PaginationItem,\r\n PaginationPrevious,\r\n PaginationNext,\r\n PaginationEllipsis,\r\n} from \"./components/ui/data-display/Pagination\";\r\nexport { ScrollArea, ScrollBar } from \"./components/ui/data-display/ScrollArea\";\r\nexport { Separator } from \"./components/ui/data-display/Separator\";\r\nexport {\r\n Table,\r\n TableHeader,\r\n TableBody,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableCaption,\r\n} from \"./components/ui/data-display/Table\";\r\nexport {\r\n Tabs,\r\n TabsList,\r\n TabsTrigger,\r\n TabsContent,\r\n} from \"./components/ui/data-display/Tabs\";\r\nexport { UserAvatar } from \"./components/ui/data-display/UserAvatar\";\r\nexport type { UserAvatarProps } from \"./components/ui/data-display/UserAvatar\";\r\n\r\n// UI - Feedback\r\nexport { default as CircularProgress } from \"./components/ui/feedback/CircularProgress\";\r\nexport { default as DefaultCircularProgress } from \"./components/ui/feedback/DefaultCircularProgress\";\r\nexport { Progress } from \"./components/ui/feedback/Progress\";\r\nexport { LoadingOverlay } from \"./components/ui/feedback/LoadingOverlay\";\r\nexport {\r\n Toast,\r\n toastVariants,\r\n toastIconContainerVariants,\r\n} from \"./components/ui/feedback/Toast\";\r\nexport type { ToastProps } from \"./components/ui/feedback/Toast\";\r\n\r\n// UI - Form\r\nexport { Calendar, CalendarDayButton } from \"./components/ui/form/Calendar\";\r\nexport { Checkbox } from \"./components/ui/form/Checkbox\";\r\nexport { DatePicker } from \"./components/ui/form/DatePicker\";\r\nexport { DateRangePicker } from \"./components/ui/form/DateRangePicker\";\r\nexport { Input } from \"./components/ui/form/Input\";\r\nexport {\r\n InputOTP,\r\n InputOTPGroup,\r\n InputOTPSlot,\r\n InputOTPSeparator,\r\n} from \"./components/ui/form/InputOtp\";\r\nexport { RadioGroup, RadioGroupItem } from \"./components/ui/form/RadioGroup\";\r\nexport {\r\n Select,\r\n SelectContent,\r\n SelectGroup,\r\n SelectItem,\r\n SelectLabel,\r\n SelectScrollDownButton,\r\n SelectScrollUpButton,\r\n SelectSeparator,\r\n SelectTrigger,\r\n SelectValue,\r\n} from \"./components/ui/form/Select\";\r\nexport { Switch } from \"./components/ui/form/Switch\";\r\nexport { Textarea } from \"./components/ui/form/Textarea\";\r\n\r\n// UI - Overlay\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n} from \"./components/ui/overlay/Command\";\r\nexport {\r\n Dialog,\r\n DialogClose,\r\n DialogContent,\r\n DialogDescription,\r\n DialogFooter,\r\n DialogHeader,\r\n DialogOverlay,\r\n DialogPortal,\r\n DialogTitle,\r\n DialogTrigger,\r\n} from \"./components/ui/overlay/Dialog\";\r\nexport {\r\n Popover,\r\n PopoverTrigger,\r\n PopoverContent,\r\n PopoverAnchor,\r\n} from \"./components/ui/overlay/Popover\";\r\nexport {\r\n Sheet,\r\n SheetTrigger,\r\n SheetClose,\r\n SheetContent,\r\n SheetHeader,\r\n SheetFooter,\r\n SheetTitle,\r\n SheetDescription,\r\n} from \"./components/ui/overlay/Sheet\";\r\nexport {\r\n Tooltip,\r\n TooltipTrigger,\r\n TooltipContent,\r\n TooltipProvider,\r\n} from \"./components/ui/overlay/Tooltip\";\r\n\r\n// Embeds\r\nexport { FrillEmbed } from \"./components/embeds/FrillEmbed\";\r\nexport { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from \"./components/embeds/CrispEmbed\";\r\n\r\n// Store\r\nexport { useMdSidebarStore } from \"./store/useMdSidebarStore\";\r\nexport { useModalManager } from \"./store/useModalManager\";\r\nexport type { ModalData } from \"./store/useModalManager\";\r\n\r\n// Enums\r\nexport { AccountSectionType } from \"./enums/AccountSectionType\";\r\n\r\n// Hooks\r\nexport { default as usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\r\nexport { default as useCountdownTimer } from \"./hooks/useCountdownTimer\";\r\nexport { default as useIsMobile } from \"./hooks/useIsMobile\";\r\nexport { useDebounce } from \"./hooks/useDebounce\";\r\nexport { useDebouncedEffect } from \"./hooks/useDebouncedEffect\";\r\nexport { useDebounceState } from \"./hooks/useDebounceState\";\r\n\r\n// Utils\r\nexport {\r\n formatPhone,\r\n formatTimer,\r\n formatFullName,\r\n formatCPF,\r\n formatCardNumber,\r\n} from \"./utils/format/masks\";\r\nexport type { TimezoneOption } from \"./modules/accounts/services/timezone.service\";\r\nexport {\r\n buildLocaleOptions,\r\n LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,\r\n} from \"./utils/intl/locales\";\r\nexport type { LocaleOption } from \"./utils/intl/locales\";\r\nexport { copyToClipboard, readFromClipboard } from \"./utils/browser/clipboard\";\r\n\r\n// UI - Form (new widgets)\r\nexport { FormField } from \"./components/ui/form/FormField\";\r\nexport { SelectField } from \"./components/ui/form/SelectField\";\r\nexport { ComboboxField } from \"./components/ui/form/ComboboxField\";\r\nexport type { ComboboxOption } from \"./components/ui/form/ComboboxField\";\r\nexport { default as PhoneInput } from \"./components/ui/form/PhoneInput\";\r\nexport { default as SwitchOptionFieldWithIcon } from \"./components/ui/form/SwitchOptionFieldWithIcon\";\r\nexport { TextAreaField } from \"./components/ui/form/TextAreaField\";\r\n\r\n// Account Module - Hooks\r\nexport {\r\n useCurrentAccount,\r\n ACCOUNT_QUERY_KEY,\r\n} from \"./modules/accounts/hooks/current-account.hook\";\r\nexport {\r\n useUpdateAccount,\r\n useUpdateAccountUser,\r\n useUpdateAccountUserById,\r\n useDeleteAccountUser,\r\n useDeleteAccount,\r\n} from \"./modules/accounts/hooks/useAccountManagement\";\r\n\r\n// Account Types\r\nexport type {\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n ChangePasswordRequest,\r\n DeleteAccountActionResult,\r\n DeleteUserActionResult,\r\n UpdateAccountActionResult,\r\n UpdateUserActionResult,\r\n TwoFactorGenerateResult,\r\n TwoFactorActionResult,\r\n ContactResetResult,\r\n} from \"./modules/accounts/types\";\r\n\r\nexport { default as AccountModals } from \"./components/account/AccountModals\";\r\nexport { useAccountModals } from \"./store/useAccountModals\";\r\nexport type { AccountModalsConfig } from \"./store/useAccountModals\";\r\n\r\nexport { ModalManager } from \"./components/modals/ModalManager\";\r\nexport { Modals } from \"./components/modals/Modals\";\r\n\r\nexport { default as TwoFactorAuthModal } from \"./components/account/TwoFactorAuthModal\";\r\nexport { default as DisableTwoFactorAuthModal } from \"./components/account/DisableTwoFactorAuthModal\";\r\nexport { default as ConfirmGlobalPreferencesModal } from \"./components/account/ConfirmGlobalPreferencesModal\";\r\nexport { MyProfileSection } from \"./components/account/sections/MyProfileSection\";\r\nexport { PreferencesSection } from \"./components/account/sections/PreferencesSection\";\r\nexport { SecuritySection } from \"./components/account/sections/SecuritySection\";\r\nexport { ChangePasswordSection } from \"./components/account/sections/ChangePasswordSection\";\r\nexport { ChangeEmailModal } from \"./components/account/sections/ChangeEmailModal\";\r\nexport { ChangePhoneModal } from \"./components/account/sections/ChangePhoneModal\";\r\n\r\n// Account Constants\r\nexport {\r\n GENDER_OPTIONS,\r\n CURRENCY_OPTIONS,\r\n TIME_FORMAT_OPTIONS,\r\n NOTIFICATION_TYPES,\r\n LANGUAGE_OPTIONS,\r\n} from \"./components/account/constants\";\r\n"],"mappings":"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","names":["default","LANGUAGE_OPTIONS"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\nexport * from \"./modules/auth/schema\";\nexport * from \"./modules/users/schema\";\nexport * from \"./modules/whitelabel/schema\";\n// Style types now come from whitelabel schema directly\nexport * from \"./infra/api/types\";\n\n// Contexts\nexport * from \"./providers/query.provider\";\nexport * from \"./providers/auth.provider\";\nexport * from \"./providers/whitelabel.provider\";\n\n// Hooks\nexport {\n useListProjectUsers,\n LIST_PROJECT_USERS_QUERY_KEY,\n LIST_PROJECT_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-project-users.hook\";\nexport {\n useListAvailableUsers,\n LIST_AVAILABLE_USERS_QUERY_KEY,\n LIST_AVAILABLE_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-available-users.hook\";\nexport type {\n ProjectUser,\n AccountUser,\n AddRemoveProjectUsersParams,\n ListUsersParams,\n UsersPage,\n} from \"./modules/projects/types\";\nexport {\n useUserQuery,\n useUserValidateSession,\n useInvalidateUser,\n useSetUserData,\n useTwoFactorVerify,\n USER_QUERY_KEY,\n} from \"./modules/auth/hooks/useUserQuery\";\nexport { useSubscriptions } from \"./modules/subscriptions/hooks/list-subscriptions.hook\";\nexport { SUBSCRIPTIONS_QUERY_KEY } from \"./modules/subscriptions/constants/query-keys.constants\";\nexport { useActiveSubscription } from \"./modules/subscriptions/hooks/find-active-subscription.hook\";\nexport { usePlanById } from \"./modules/plans/hooks/use-plan-by-id.hook\";\nexport { useHasPlanAddon } from \"./modules/plans/hooks/use-has-plan-addon.hook\";\nexport { useCalculateSubscription } from \"./modules/subscriptions/hooks/calculate-subscription.hook\";\nexport { useUpdateSubscriptionPlan } from \"./modules/subscriptions/hooks/update-subscription-plan.hook\";\nexport { useCards, CARDS_QUERY_KEY } from \"./modules/cards/hooks/cards.hook\";\nexport { useIaCredits } from \"./modules/ia-credits/hooks/ia-credits.hook\";\nexport type {\n IaCreditsSummary,\n IaCreditOperation,\n} from \"./modules/ia-credits/types\";\nexport type {\n Subscription,\n SubscriptionItem,\n FindSubscriptionsParams,\n} from \"./modules/subscriptions/types/subscription.type\";\nexport {\n SubscriptionSchema,\n SubscriptionItemSchema,\n} from \"./modules/subscriptions/types/subscription.type\";\nexport { ADDON_IDS, AI_CREDIT_OPTIONS, AI_CREDIT_VALUES } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { AddonKindEnum, AiCreditOption } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { Plan, PlanItem } from \"./modules/plans/types/plan.type\";\nexport { PlanSchema, PlanItemSchema } from \"./modules/plans/types/plan.type\";\nexport type { BillingPeriod } from \"./modules/subscriptions/types/billing-period.type\";\nexport type {\n CalculateSubscriptionRequest,\n CalculateSubscriptionResponse,\n UpdateSubscriptionPlanRequest,\n} from \"./modules/subscriptions/types/calculate-subscription.type\";\nexport type { Card as PaymentCard } from \"./modules/cards/types\";\nexport { CardSchema as PaymentCardSchema } from \"./modules/cards/types\";\nexport { buildPlanExtras } from \"./modules/subscriptions/utils/build-plan-extras\";\nexport { getPriceFromCalculatedData, periodicityToBillingPeriod } from \"./modules/subscriptions/utils/periodicity\";\nexport { useBuyCreditsModal } from \"./store/useBuyCreditsModal\";\nexport { default as BuyCreditsModal } from \"./components/modals/BuyCreditsModal\";\nexport { Skeleton } from \"./components/ui/feedback/Skeleton\";\nexport { PaymentInfoCard } from \"./components/ui/data-display/PaymentInfoCard\";\nexport { CardBrandIcon } from \"./components/ui/data-display/CardBrandIcons\";\nexport { CardItem } from \"./components/ui/data-display/CardItem\";\n\n// Providers\nexport { QueryProvider } from \"./providers/query.provider\";\n\n// Middleware\nexport { createAuthMiddleware } from \"./middlewares/create-auth-middleware\";\nexport { createMiddlewareChain } from \"./middlewares/chain\";\nexport { continueChain, stopChain } from \"./middlewares/types\";\nexport type {\n MiddlewareFunction,\n MiddlewareConfig,\n MiddlewareResult,\n} from \"./middlewares/types\";\n\n// Utils\nexport { cn } from \"./infra/utils/clsx\";\nexport { buildQueryParams } from \"./infra/utils/params\";\nexport { parseSchema, parseResult } from \"./infra/utils/parser\";\nexport { withAction } from \"./utils/withAction\";\n\n// Layout\nexport {\n MainLayout,\n MainLayoutContent,\n MainLayoutSpacer,\n MainLayoutMain,\n} from \"./components/layouts/MainLayout\";\nexport { NavBar } from \"./components/layouts/NavBar\";\nexport type { NavBarProps } from \"./components/layouts/NavBar\";\nexport { AppNavBar } from \"./components/layouts/AppNavBar\";\nexport type { AppNavBarProps } from \"./components/layouts/AppNavBar\";\nexport { AppMobileNavBar } from \"./components/layouts/AppMobileNavBar\";\nexport type { AppMobileNavBarProps } from \"./components/layouts/AppMobileNavBar\";\nexport { SideBarNavigation } from \"./components/layouts/SideBarNavigation\";\nexport { MdSideBarNavigation } from \"./components/layouts/MdSideBarNavigation\";\nexport { default as NotificationCard } from \"./components/widgets/notifications/NotificationCard\";\nexport type { NotificationCardProps } from \"./components/widgets/notifications/NotificationCard\";\nexport { NotificationsPopover } from \"./components/layouts/NotificationsPopover\";\nexport type { NotificationsPopoverProps } from \"./components/layouts/NotificationsPopover\";\nexport { NotificationPageContent } from \"./components/pages/notifications/Notifications\";\nexport { UsersSelectorPopover } from \"./components/layouts/UsersSelectorPopover\";\nexport type { UsersSelectorPopoverProps } from \"./components/layouts/UsersSelectorPopover\";\nexport { ProfilePopover } from \"./components/layouts/ProfilePopover\";\nexport type {\n ProfilePopoverProps,\n ProfileMenuItem,\n} from \"./components/layouts/ProfilePopover\";\nexport { default as WhitelabelCodes } from \"./components/layouts/WhitelabelCodes\";\nexport { NavBarItem } from \"./components/layouts/NavBarItem\";\nexport type { NavBarItemProps } from \"./components/layouts/NavBarItem\";\n\n// Navigation\nexport { AppNavigation } from './components/navigation/AppNavigation';\nexport { CancelledSubscriptionBanner } from './components/navigation/CancelledSubscriptionBanner';\nexport type { NavItemConfig } from './components/navigation/subcomponents/NavItems';\nexport type { NavigationProject } from './components/navigation/types';\nexport { useMobileNavbarSheet } from './store/useMobileNavbarSheet';\n\n// Hooks\nexport { default as useCopyToClipboard } from \"./hooks/copy-to-clipboard.hook\";\n\n// UI - Buttons\nexport { Button, buttonVariants } from \"./components/ui/buttons/Button\";\nexport { CopyButton } from \"./components/ui/buttons/CopyButton\";\nexport { default as CancelButton } from \"./components/ui/buttons/CancelButton\";\n\n// UI - Data Display\nexport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"./components/ui/data-display/Accordion\";\nexport { Badge, badgeVariants } from \"./components/ui/data-display/Badge\";\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n} from \"./components/ui/data-display/Card\";\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"./components/ui/data-display/Pagination\";\nexport { ScrollArea, ScrollBar } from \"./components/ui/data-display/ScrollArea\";\nexport { Separator } from \"./components/ui/data-display/Separator\";\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from \"./components/ui/data-display/Table\";\nexport {\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n} from \"./components/ui/data-display/Tabs\";\nexport { UserAvatar } from \"./components/ui/data-display/UserAvatar\";\nexport type { UserAvatarProps } from \"./components/ui/data-display/UserAvatar\";\n\n// UI - Feedback\nexport { default as CircularProgress } from \"./components/ui/feedback/CircularProgress\";\nexport { default as DefaultCircularProgress } from \"./components/ui/feedback/DefaultCircularProgress\";\nexport { Progress } from \"./components/ui/feedback/Progress\";\nexport { LoadingOverlay } from \"./components/ui/feedback/LoadingOverlay\";\nexport {\n Toast,\n toastVariants,\n toastIconContainerVariants,\n} from \"./components/ui/feedback/Toast\";\nexport type { ToastProps } from \"./components/ui/feedback/Toast\";\n\n// UI - Form\nexport { Calendar, CalendarDayButton } from \"./components/ui/form/Calendar\";\nexport { Checkbox } from \"./components/ui/form/Checkbox\";\nexport { DatePicker } from \"./components/ui/form/DatePicker\";\nexport { DateRangePicker } from \"./components/ui/form/DateRangePicker\";\nexport { Input } from \"./components/ui/form/Input\";\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n InputOTPSeparator,\n} from \"./components/ui/form/InputOtp\";\nexport { RadioGroup, RadioGroupItem } from \"./components/ui/form/RadioGroup\";\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n} from \"./components/ui/form/Select\";\nexport { Switch } from \"./components/ui/form/Switch\";\nexport { Textarea } from \"./components/ui/form/Textarea\";\n\n// UI - Overlay\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n} from \"./components/ui/overlay/Command\";\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from \"./components/ui/overlay/Dialog\";\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n} from \"./components/ui/overlay/Popover\";\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n} from \"./components/ui/overlay/Sheet\";\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n} from \"./components/ui/overlay/Tooltip\";\n\n// Embeds\nexport { FrillEmbed } from \"./components/embeds/FrillEmbed\";\nexport { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from \"./components/embeds/CrispEmbed\";\n\n// Store\nexport { useMdSidebarStore } from \"./store/useMdSidebarStore\";\nexport { useModalManager } from \"./store/useModalManager\";\nexport type { ModalData } from \"./store/useModalManager\";\n\n// Enums\nexport { AccountSectionType } from \"./enums/AccountSectionType\";\n\n// Hooks\nexport { default as usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nexport { default as useCountdownTimer } from \"./hooks/useCountdownTimer\";\nexport { default as useIsMobile } from \"./hooks/useIsMobile\";\nexport { useDebounce } from \"./hooks/useDebounce\";\nexport { useDebouncedEffect } from \"./hooks/useDebouncedEffect\";\nexport { useDebounceState } from \"./hooks/useDebounceState\";\n\n// Utils\nexport {\n formatPhone,\n formatTimer,\n formatFullName,\n formatCPF,\n formatCardNumber,\n} from \"./utils/format/masks\";\nexport type { TimezoneOption } from \"./modules/accounts/services/timezone.service\";\nexport {\n buildLocaleOptions,\n LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,\n} from \"./utils/intl/locales\";\nexport type { LocaleOption } from \"./utils/intl/locales\";\nexport { copyToClipboard, readFromClipboard } from \"./utils/browser/clipboard\";\n\n// UI - Form (new widgets)\nexport { FormField } from \"./components/ui/form/FormField\";\nexport { SelectField } from \"./components/ui/form/SelectField\";\nexport { ComboboxField } from \"./components/ui/form/ComboboxField\";\nexport type { ComboboxOption } from \"./components/ui/form/ComboboxField\";\nexport { default as PhoneInput } from \"./components/ui/form/PhoneInput\";\nexport { default as SwitchOptionFieldWithIcon } from \"./components/ui/form/SwitchOptionFieldWithIcon\";\nexport { TextAreaField } from \"./components/ui/form/TextAreaField\";\n\n// Account Module - Hooks\nexport {\n useCurrentAccount,\n ACCOUNT_QUERY_KEY,\n} from \"./modules/accounts/hooks/current-account.hook\";\nexport {\n useUpdateAccount,\n useUpdateAccountUser,\n useUpdateAccountUserById,\n useDeleteAccountUser,\n useDeleteAccount,\n} from \"./modules/accounts/hooks/useAccountManagement\";\n\n// Account Types\nexport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n ChangePasswordRequest,\n DeleteAccountActionResult,\n DeleteUserActionResult,\n UpdateAccountActionResult,\n UpdateUserActionResult,\n TwoFactorGenerateResult,\n TwoFactorActionResult,\n ContactResetResult,\n} from \"./modules/accounts/types\";\n\nexport { default as AccountModals } from \"./components/account/AccountModals\";\nexport { useAccountModals } from \"./store/useAccountModals\";\nexport type { AccountModalsConfig } from \"./store/useAccountModals\";\n\nexport { ModalManager } from \"./components/modals/ModalManager\";\nexport { Modals } from \"./components/modals/Modals\";\n\nexport { default as TwoFactorAuthModal } from \"./components/account/TwoFactorAuthModal\";\nexport { default as DisableTwoFactorAuthModal } from \"./components/account/DisableTwoFactorAuthModal\";\nexport { default as ConfirmGlobalPreferencesModal } from \"./components/account/ConfirmGlobalPreferencesModal\";\nexport { MyProfileSection } from \"./components/account/sections/MyProfileSection\";\nexport { PreferencesSection } from \"./components/account/sections/PreferencesSection\";\nexport { SecuritySection } from \"./components/account/sections/SecuritySection\";\nexport { ChangePasswordSection } from \"./components/account/sections/ChangePasswordSection\";\nexport { ChangeEmailModal } from \"./components/account/sections/ChangeEmailModal\";\nexport { ChangePhoneModal } from \"./components/account/sections/ChangePhoneModal\";\n\n// Account Constants\nexport {\n GENDER_OPTIONS,\n CURRENCY_OPTIONS,\n TIME_FORMAT_OPTIONS,\n NOTIFICATION_TYPES,\n LANGUAGE_OPTIONS,\n} from \"./components/account/constants\";\n"],"mappings":"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","names":["default","LANGUAGE_OPTIONS"]}
@@ -46,7 +46,7 @@ class ApiClient {
46
46
  method: config.method
47
47
  });
48
48
  }
49
- const { timeout = 3e4, responseType = "json", ...fetchConfig } = config;
49
+ const { timeout = 3e4, responseType = "json", whiteLabelId: overrideWlId, ...fetchConfig } = config;
50
50
  const controller = new AbortController();
51
51
  const timeoutId = setTimeout(() => controller.abort(), timeout);
52
52
  try {
@@ -55,7 +55,7 @@ class ApiClient {
55
55
  }
56
56
  const { id, token } = await findWhitelabel();
57
57
  const [url, defaultHeaders] = await Promise.all([
58
- this.buildUrl(endpoint, id),
58
+ this.buildUrl(endpoint, overrideWlId ?? id),
59
59
  this.getDefaultHeaders(token, fetchConfig.body instanceof FormData)
60
60
  ]);
61
61
  if (this.emitLogs)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/infra/api/client.ts"],"sourcesContent":["import { ApiError } from \"./types\";\r\nimport { findWhitelabel } from \"../../modules/whitelabel/actions/find-whitelabel.action\";\r\n\r\nexport interface ApiClientOptions {\r\n /**\r\n * Quando true, monta `{base}/{locale}/{wlId}{endpoint}` (ex.: r2-clone).\r\n * Padrão false: `{base}/v1/{locale}/{wlId}{endpoint}`.\r\n */\r\n omitApiVersion?: boolean;\r\n\r\n /** Habilita logs detalhados das requisições (útil para desenvolvimento) */\r\n emitLogs?: boolean;\r\n}\r\n\r\nexport interface RequestConfig extends RequestInit {\r\n timeout?: number;\r\n /** Padrão `json`. Use `text` quando a API devolve corpo não-JSON. */\r\n responseType?: \"json\" | \"text\";\r\n}\r\n\r\nclass ApiClient {\r\n private readonly baseUrl: string;\r\n private readonly apiVersion = \"v1\";\r\n private readonly apiLocale = \"pt-br\";\r\n private readonly omitApiVersion: boolean;\r\n private readonly emitLogs: boolean = false;\r\n\r\n constructor(baseUrl: string, options?: ApiClientOptions) {\r\n this.baseUrl = baseUrl.replace(/\\/$/, \"\");\r\n this.omitApiVersion = options?.omitApiVersion ?? false;\r\n this.emitLogs = options?.emitLogs ?? false;\r\n }\r\n\r\n private async buildUrl(\r\n endpoint: string,\r\n whiteLabelId: number,\r\n ): Promise<string> {\r\n const wlPath = this.omitApiVersion\r\n ? `/${this.apiLocale}/${whiteLabelId}`\r\n : `/${this.apiVersion}/${this.apiLocale}/${whiteLabelId}`;\r\n const path = endpoint.startsWith(\"/\") ? endpoint : `/${endpoint}`;\r\n const url = `${this.baseUrl}${wlPath}${path}`;\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] buildUrl\", {\r\n baseURL: this.baseUrl,\r\n whiteLabelId,\r\n endpoint,\r\n fullUrl: url,\r\n });\r\n }\r\n return url;\r\n }\r\n\r\n private async getDefaultHeaders(\r\n token: string,\r\n isFormData = false,\r\n ): Promise<HeadersInit> {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] getDefaultHeaders\", {\r\n token: token.substring(0, 20) + \"...\",\r\n });\r\n }\r\n\r\n const headers: HeadersInit = {\r\n authorization: token,\r\n };\r\n\r\n if (!isFormData) {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n }\r\n\r\n return headers;\r\n }\r\n\r\n async request<T>(endpoint: string, config: RequestConfig = {}): Promise<T> {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] request called\", {\r\n endpoint,\r\n method: config.method,\r\n });\r\n }\r\n\r\n const { timeout = 30000, responseType = \"json\", ...fetchConfig } = config;\r\n\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), timeout);\r\n\r\n try {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] Building URL and headers...\");\r\n }\r\n\r\n const { id, token } = await findWhitelabel();\r\n\r\n const [url, defaultHeaders] = await Promise.all([\r\n this.buildUrl(endpoint, id),\r\n this.getDefaultHeaders(token, fetchConfig.body instanceof FormData),\r\n ]);\r\n\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Fetching\", {\r\n url,\r\n method: fetchConfig.method,\r\n headers: defaultHeaders,\r\n });\r\n\r\n const response = await fetch(url, {\r\n ...fetchConfig,\r\n headers: {\r\n ...defaultHeaders,\r\n ...fetchConfig.headers,\r\n },\r\n signal: controller.signal,\r\n });\r\n\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Response received\", {\r\n status: response.status,\r\n ok: response.ok,\r\n });\r\n\r\n if (!response.ok) {\r\n const errBody = await response.text();\r\n let message = `HTTP error ${response.status}`;\r\n let code = \"HTTP_ERROR\";\r\n try {\r\n const errorData = JSON.parse(errBody) as Record<string, unknown>;\r\n if (typeof errorData.message === \"string\")\r\n message = errorData.message;\r\n if (typeof errorData.code === \"string\") code = errorData.code;\r\n } catch {\r\n if (errBody.trim()) message = errBody.trim();\r\n }\r\n console.error(\"[ApiClient] Request failed\", {\r\n status: response.status,\r\n message,\r\n });\r\n throw new ApiError(message, code, response.status);\r\n }\r\n\r\n if (responseType === \"text\") {\r\n return (await response.text()) as T;\r\n }\r\n\r\n const data = (await response.json()) as T;\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Request successful\", { hasData: !!data });\r\n return data;\r\n } catch (error) {\r\n if (this.emitLogs) console.error(\"[ApiClient] Request error\", { error });\r\n\r\n if (error instanceof ApiError) {\r\n throw error;\r\n }\r\n\r\n if (error instanceof Error) {\r\n if (error.name === \"AbortError\") {\r\n throw new ApiError(\"Tempo de requisição excedido\", \"TIMEOUT\", 408);\r\n }\r\n throw new ApiError(error.message, \"NETWORK_ERROR\", 0);\r\n }\r\n\r\n throw new ApiError(\"Erro desconhecido\", \"UNKNOWN_ERROR\", 500);\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n }\r\n\r\n async get<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: \"GET\" });\r\n }\r\n\r\n async post<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"POST\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async put<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"PUT\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async patch<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"PATCH\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async delete<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: \"DELETE\" });\r\n }\r\n}\r\n\r\nconst api = {\r\n apps: new ApiClient(\r\n process.env.GAPPS_R3_API_URL || \"https://r3-api.greatapps.dev.br\",\r\n ),\r\n pages: new ApiClient(\r\n process.env.GPAGES_R3_API_URL || \"https://r3-api.greatpages.dev.br\",\r\n ),\r\n};\r\n\r\n/** @deprecated use api.apps */\r\nexport const apiClient = api.apps;\r\n\r\nexport { api, ApiClient };\r\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/infra/api/client.ts"],"sourcesContent":["import { ApiError } from \"./types\";\r\nimport { findWhitelabel } from \"../../modules/whitelabel/actions/find-whitelabel.action\";\r\n\r\nexport interface ApiClientOptions {\r\n /**\r\n * Quando true, monta `{base}/{locale}/{wlId}{endpoint}` (ex.: r2-clone).\r\n * Padrão false: `{base}/v1/{locale}/{wlId}{endpoint}`.\r\n */\r\n omitApiVersion?: boolean;\r\n\r\n /** Habilita logs detalhados das requisições (útil para desenvolvimento) */\r\n emitLogs?: boolean;\r\n}\r\n\r\nexport interface RequestConfig extends RequestInit {\r\n timeout?: number;\r\n /** Padrão `json`. Use `text` quando a API devolve corpo não-JSON. */\r\n responseType?: \"json\" | \"text\";\r\n /** Força um whiteLabelId específico na URL, ignorando o findWhitelabel(). */\r\n whiteLabelId?: number;\r\n}\r\n\r\nclass ApiClient {\r\n private readonly baseUrl: string;\r\n private readonly apiVersion = \"v1\";\r\n private readonly apiLocale = \"pt-br\";\r\n private readonly omitApiVersion: boolean;\r\n private readonly emitLogs: boolean = false;\r\n\r\n constructor(baseUrl: string, options?: ApiClientOptions) {\r\n this.baseUrl = baseUrl.replace(/\\/$/, \"\");\r\n this.omitApiVersion = options?.omitApiVersion ?? false;\r\n this.emitLogs = options?.emitLogs ?? false;\r\n }\r\n\r\n private async buildUrl(\r\n endpoint: string,\r\n whiteLabelId: number,\r\n ): Promise<string> {\r\n const wlPath = this.omitApiVersion\r\n ? `/${this.apiLocale}/${whiteLabelId}`\r\n : `/${this.apiVersion}/${this.apiLocale}/${whiteLabelId}`;\r\n const path = endpoint.startsWith(\"/\") ? endpoint : `/${endpoint}`;\r\n const url = `${this.baseUrl}${wlPath}${path}`;\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] buildUrl\", {\r\n baseURL: this.baseUrl,\r\n whiteLabelId,\r\n endpoint,\r\n fullUrl: url,\r\n });\r\n }\r\n return url;\r\n }\r\n\r\n private async getDefaultHeaders(\r\n token: string,\r\n isFormData = false,\r\n ): Promise<HeadersInit> {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] getDefaultHeaders\", {\r\n token: token.substring(0, 20) + \"...\",\r\n });\r\n }\r\n\r\n const headers: HeadersInit = {\r\n authorization: token,\r\n };\r\n\r\n if (!isFormData) {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n }\r\n\r\n return headers;\r\n }\r\n\r\n async request<T>(endpoint: string, config: RequestConfig = {}): Promise<T> {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] request called\", {\r\n endpoint,\r\n method: config.method,\r\n });\r\n }\r\n\r\n const { timeout = 30000, responseType = \"json\", whiteLabelId: overrideWlId, ...fetchConfig } = config;\r\n\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), timeout);\r\n\r\n try {\r\n if (this.emitLogs) {\r\n console.log(\"[ApiClient] Building URL and headers...\");\r\n }\r\n\r\n const { id, token } = await findWhitelabel();\r\n\r\n const [url, defaultHeaders] = await Promise.all([\r\n this.buildUrl(endpoint, overrideWlId ?? id),\r\n this.getDefaultHeaders(token, fetchConfig.body instanceof FormData),\r\n ]);\r\n\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Fetching\", {\r\n url,\r\n method: fetchConfig.method,\r\n headers: defaultHeaders,\r\n });\r\n\r\n const response = await fetch(url, {\r\n ...fetchConfig,\r\n headers: {\r\n ...defaultHeaders,\r\n ...fetchConfig.headers,\r\n },\r\n signal: controller.signal,\r\n });\r\n\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Response received\", {\r\n status: response.status,\r\n ok: response.ok,\r\n });\r\n\r\n if (!response.ok) {\r\n const errBody = await response.text();\r\n let message = `HTTP error ${response.status}`;\r\n let code = \"HTTP_ERROR\";\r\n try {\r\n const errorData = JSON.parse(errBody) as Record<string, unknown>;\r\n if (typeof errorData.message === \"string\")\r\n message = errorData.message;\r\n if (typeof errorData.code === \"string\") code = errorData.code;\r\n } catch {\r\n if (errBody.trim()) message = errBody.trim();\r\n }\r\n console.error(\"[ApiClient] Request failed\", {\r\n status: response.status,\r\n message,\r\n });\r\n throw new ApiError(message, code, response.status);\r\n }\r\n\r\n if (responseType === \"text\") {\r\n return (await response.text()) as T;\r\n }\r\n\r\n const data = (await response.json()) as T;\r\n if (this.emitLogs)\r\n console.log(\"[ApiClient] Request successful\", { hasData: !!data });\r\n return data;\r\n } catch (error) {\r\n if (this.emitLogs) console.error(\"[ApiClient] Request error\", { error });\r\n\r\n if (error instanceof ApiError) {\r\n throw error;\r\n }\r\n\r\n if (error instanceof Error) {\r\n if (error.name === \"AbortError\") {\r\n throw new ApiError(\"Tempo de requisição excedido\", \"TIMEOUT\", 408);\r\n }\r\n throw new ApiError(error.message, \"NETWORK_ERROR\", 0);\r\n }\r\n\r\n throw new ApiError(\"Erro desconhecido\", \"UNKNOWN_ERROR\", 500);\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n }\r\n\r\n async get<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: \"GET\" });\r\n }\r\n\r\n async post<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"POST\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async put<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"PUT\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async patch<T>(\r\n endpoint: string,\r\n data?: unknown,\r\n config?: RequestConfig,\r\n ): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: \"PATCH\",\r\n body:\r\n data instanceof FormData\r\n ? data\r\n : data\r\n ? JSON.stringify(data)\r\n : undefined,\r\n });\r\n }\r\n\r\n async delete<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: \"DELETE\" });\r\n }\r\n}\r\n\r\nconst api = {\r\n apps: new ApiClient(\r\n process.env.GAPPS_R3_API_URL || \"https://r3-api.greatapps.dev.br\",\r\n ),\r\n pages: new ApiClient(\r\n process.env.GPAGES_R3_API_URL || \"https://r3-api.greatpages.dev.br\",\r\n ),\r\n};\r\n\r\n/** @deprecated use api.apps */\r\nexport const apiClient = api.apps;\r\n\r\nexport { api, ApiClient };\r\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/middleware.ts"],"sourcesContent":["export { createAuthMiddleware } from './middlewares/create-auth-middleware';\r\nexport { createMiddlewareChain } from './middlewares/chain';\r\nexport type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';\r\nexport { continueChain, stopChain } from './middlewares/types';\r\n"],"mappings":"AAAA,SAAS,4BAA4B;AACrC,SAAS,6BAA6B;AAEtC,SAAS,eAAe,iBAAiB;","names":[]}
1
+ {"version":3,"sources":["../src/middleware.ts"],"sourcesContent":["export { createAuthMiddleware } from './middlewares/create-auth-middleware';\nexport { createMiddlewareChain } from './middlewares/chain';\nexport type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';\nexport { continueChain, stopChain } from './middlewares/types';\n"],"mappings":"AAAA,SAAS,4BAA4B;AACrC,SAAS,6BAA6B;AAEtC,SAAS,eAAe,iBAAiB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/actions/account-management.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { accountService } from '../services/account.service';\r\nimport type {\r\n AccountUsersPaginationParams,\r\n ChangePasswordRequest,\r\n CreateAccountUserRequest,\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n} from '../types';\r\nimport { twoFactorService } from '../services/two-factor.service';\r\n\r\nexport async function listAccountUsersAction(params?: AccountUsersPaginationParams) {\r\n return safeServerAction(async () => {\r\n const { users, total } = await accountService.listAccountUsers(params);\r\n return { data: users, total };\r\n });\r\n}\r\n\r\nexport async function updateUserAction(user: UpdateAccountUserRequest) {\r\n return safeServerAction(() => accountService.updateAccountUser(user));\r\n}\r\n\r\nexport async function updateAccountUserByIdAction(\r\n userId: number,\r\n user: UpdateAccountUserRequest\r\n) {\r\n return safeServerAction(() => accountService.updateAccountUserById(userId, user));\r\n}\r\n\r\nexport async function updateAccountAction(data: UpdateAccountRequest) {\r\n return safeServerAction(() => accountService.updateAccount(data));\r\n}\r\n\r\nexport async function deleteAccountUserAction(userId: number) {\r\n return safeServerAction(() => accountService.deleteAccountUser(userId));\r\n}\r\n\r\nexport async function deleteAccountAction() {\r\n return safeServerAction(() => accountService.deleteAccount());\r\n}\r\n\r\nexport async function createAccountUserAction(user: CreateAccountUserRequest) {\r\n return safeServerAction(() => accountService.createAccountUser(user));\r\n}\r\n\r\nexport async function changePasswordAction(data: ChangePasswordRequest) {\r\n return safeServerAction(() => accountService.changePassword(data));\r\n}\r\n\r\nexport async function requestEmailChangeAction(newEmail: string) {\r\n return safeServerAction(() => accountService.requestContactReset('email', newEmail));\r\n}\r\n\r\nexport async function confirmEmailChangeAction(token: string, newEmail: string) {\r\n return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));\r\n}\r\n\r\nexport async function requestPhoneChangeAction(newPhone: string, ddi?: string) {\r\n return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));\r\n}\r\n\r\nexport async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {\r\n return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));\r\n}\r\n\r\nexport async function generateTwoFactorAction() {\r\n return safeServerAction(async () => {\r\n const result = await twoFactorService.generate();\r\n return {\r\n qrcode: result.data.qrcode,\r\n backupCodes: result.data.backup_codes,\r\n };\r\n });\r\n}\r\n\r\nexport async function confirmTwoFactorAction(code: string) {\r\n return safeServerAction(async () => {\r\n await twoFactorService.confirm(code);\r\n await accountService.updateAccountUser({ two_factor_authentication: true });\r\n });\r\n}\r\n\r\nexport async function disableTwoFactorAction(code: string) {\r\n return safeServerAction(async () => {\r\n await twoFactorService.verify(code);\r\n await twoFactorService.disable();\r\n await accountService.updateAccountUser({ two_factor_authentication: false });\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAQ/B,SAAS,wBAAwB;AAEjC,eAAsB,uBAAuB,QAAuC;AAClF,SAAO,iBAAiB,YAAY;AAClC,UAAM,EAAE,OAAO,MAAM,IAAI,MAAM,eAAe,iBAAiB,MAAM;AACrE,WAAO,EAAE,MAAM,OAAO,MAAM;AAAA,EAC9B,CAAC;AACH;AAEA,eAAsB,iBAAiB,MAAgC;AACrE,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,IAAI,CAAC;AACtE;AAEA,eAAsB,4BACpB,QACA,MACA;AACA,SAAO,iBAAiB,MAAM,eAAe,sBAAsB,QAAQ,IAAI,CAAC;AAClF;AAEA,eAAsB,oBAAoB,MAA4B;AACpE,SAAO,iBAAiB,MAAM,eAAe,cAAc,IAAI,CAAC;AAClE;AAEA,eAAsB,wBAAwB,QAAgB;AAC5D,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,MAAM,CAAC;AACxE;AAEA,eAAsB,sBAAsB;AAC1C,SAAO,iBAAiB,MAAM,eAAe,cAAc,CAAC;AAC9D;AAEA,eAAsB,wBAAwB,MAAgC;AAC5E,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,IAAI,CAAC;AACtE;AAEA,eAAsB,qBAAqB,MAA6B;AACtE,SAAO,iBAAiB,MAAM,eAAe,eAAe,IAAI,CAAC;AACnE;AAEA,eAAsB,yBAAyB,UAAkB;AAC/D,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,QAAQ,CAAC;AACrF;AAEA,eAAsB,yBAAyB,OAAe,UAAkB;AAC9E,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,OAAO,QAAQ,CAAC;AAC5F;AAEA,eAAsB,yBAAyB,UAAkB,KAAc;AAC7E,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,UAAU,GAAG,CAAC;AAC1F;AAEA,eAAsB,yBAAyB,OAAe,UAAkB,KAAc;AAC5F,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,OAAO,UAAU,GAAG,CAAC;AACjG;AAEA,eAAsB,0BAA0B;AAC9C,SAAO,iBAAiB,YAAY;AAClC,UAAM,SAAS,MAAM,iBAAiB,SAAS;AAC/C,WAAO;AAAA,MACL,QAAQ,OAAO,KAAK;AAAA,MACpB,aAAa,OAAO,KAAK;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,uBAAuB,MAAc;AACzD,SAAO,iBAAiB,YAAY;AAClC,UAAM,iBAAiB,QAAQ,IAAI;AACnC,UAAM,eAAe,kBAAkB,EAAE,2BAA2B,KAAK,CAAC;AAAA,EAC5E,CAAC;AACH;AAEA,eAAsB,uBAAuB,MAAc;AACzD,SAAO,iBAAiB,YAAY;AAClC,UAAM,iBAAiB,OAAO,IAAI;AAClC,UAAM,iBAAiB,QAAQ;AAC/B,UAAM,eAAe,kBAAkB,EAAE,2BAA2B,MAAM,CAAC;AAAA,EAC7E,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/actions/account-management.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { accountService } from '../services/account.service';\nimport type {\n AccountUsersPaginationParams,\n ChangePasswordRequest,\n CreateAccountUserRequest,\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n} from '../types';\nimport { twoFactorService } from '../services/two-factor.service';\n\nexport async function listAccountUsersAction(params?: AccountUsersPaginationParams) {\n return safeServerAction(async () => {\n const { users, total } = await accountService.listAccountUsers(params);\n return { data: users, total };\n });\n}\n\nexport async function updateUserAction(user: UpdateAccountUserRequest) {\n return safeServerAction(() => accountService.updateAccountUser(user));\n}\n\nexport async function updateAccountUserByIdAction(\n userId: number,\n user: UpdateAccountUserRequest\n) {\n return safeServerAction(() => accountService.updateAccountUserById(userId, user));\n}\n\nexport async function updateAccountAction(data: UpdateAccountRequest) {\n return safeServerAction(() => accountService.updateAccount(data));\n}\n\nexport async function deleteAccountUserAction(userId: number) {\n return safeServerAction(() => accountService.deleteAccountUser(userId));\n}\n\nexport async function deleteAccountAction() {\n return safeServerAction(() => accountService.deleteAccount());\n}\n\nexport async function createAccountUserAction(user: CreateAccountUserRequest) {\n return safeServerAction(() => accountService.createAccountUser(user));\n}\n\nexport async function changePasswordAction(data: ChangePasswordRequest) {\n return safeServerAction(() => accountService.changePassword(data));\n}\n\nexport async function requestEmailChangeAction(newEmail: string) {\n return safeServerAction(() => accountService.requestContactReset('email', newEmail));\n}\n\nexport async function confirmEmailChangeAction(token: string, newEmail: string) {\n return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));\n}\n\nexport async function requestPhoneChangeAction(newPhone: string, ddi?: string) {\n return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));\n}\n\nexport async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {\n return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));\n}\n\nexport async function generateTwoFactorAction() {\n return safeServerAction(async () => {\n const result = await twoFactorService.generate();\n return {\n qrcode: result.data.qrcode,\n backupCodes: result.data.backup_codes,\n };\n });\n}\n\nexport async function confirmTwoFactorAction(code: string) {\n return safeServerAction(async () => {\n await twoFactorService.confirm(code);\n await accountService.updateAccountUser({ two_factor_authentication: true });\n });\n}\n\nexport async function disableTwoFactorAction(code: string) {\n return safeServerAction(async () => {\n await twoFactorService.verify(code);\n await twoFactorService.disable();\n await accountService.updateAccountUser({ two_factor_authentication: false });\n });\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAQ/B,SAAS,wBAAwB;AAEjC,eAAsB,uBAAuB,QAAuC;AAClF,SAAO,iBAAiB,YAAY;AAClC,UAAM,EAAE,OAAO,MAAM,IAAI,MAAM,eAAe,iBAAiB,MAAM;AACrE,WAAO,EAAE,MAAM,OAAO,MAAM;AAAA,EAC9B,CAAC;AACH;AAEA,eAAsB,iBAAiB,MAAgC;AACrE,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,IAAI,CAAC;AACtE;AAEA,eAAsB,4BACpB,QACA,MACA;AACA,SAAO,iBAAiB,MAAM,eAAe,sBAAsB,QAAQ,IAAI,CAAC;AAClF;AAEA,eAAsB,oBAAoB,MAA4B;AACpE,SAAO,iBAAiB,MAAM,eAAe,cAAc,IAAI,CAAC;AAClE;AAEA,eAAsB,wBAAwB,QAAgB;AAC5D,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,MAAM,CAAC;AACxE;AAEA,eAAsB,sBAAsB;AAC1C,SAAO,iBAAiB,MAAM,eAAe,cAAc,CAAC;AAC9D;AAEA,eAAsB,wBAAwB,MAAgC;AAC5E,SAAO,iBAAiB,MAAM,eAAe,kBAAkB,IAAI,CAAC;AACtE;AAEA,eAAsB,qBAAqB,MAA6B;AACtE,SAAO,iBAAiB,MAAM,eAAe,eAAe,IAAI,CAAC;AACnE;AAEA,eAAsB,yBAAyB,UAAkB;AAC/D,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,QAAQ,CAAC;AACrF;AAEA,eAAsB,yBAAyB,OAAe,UAAkB;AAC9E,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,OAAO,QAAQ,CAAC;AAC5F;AAEA,eAAsB,yBAAyB,UAAkB,KAAc;AAC7E,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,UAAU,GAAG,CAAC;AAC1F;AAEA,eAAsB,yBAAyB,OAAe,UAAkB,KAAc;AAC5F,SAAO,iBAAiB,MAAM,eAAe,oBAAoB,SAAS,OAAO,UAAU,GAAG,CAAC;AACjG;AAEA,eAAsB,0BAA0B;AAC9C,SAAO,iBAAiB,YAAY;AAClC,UAAM,SAAS,MAAM,iBAAiB,SAAS;AAC/C,WAAO;AAAA,MACL,QAAQ,OAAO,KAAK;AAAA,MACpB,aAAa,OAAO,KAAK;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,uBAAuB,MAAc;AACzD,SAAO,iBAAiB,YAAY;AAClC,UAAM,iBAAiB,QAAQ,IAAI;AACnC,UAAM,eAAe,kBAAkB,EAAE,2BAA2B,KAAK,CAAC;AAAA,EAC5E,CAAC;AACH;AAEA,eAAsB,uBAAuB,MAAc;AACzD,SAAO,iBAAiB,YAAY;AAClC,UAAM,iBAAiB,OAAO,IAAI;AAClC,UAAM,iBAAiB,QAAQ;AAC/B,UAAM,eAAe,kBAAkB,EAAE,2BAA2B,MAAM,CAAC;AAAA,EAC7E,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/actions/find-current-account.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { accountService } from '../services/account.service';\r\nimport type { Account } from '../types';\r\n\r\nexport async function findCurrentAccount() {\r\n return safeServerAction<Account>(() => accountService.findCurrentAccount());\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAG/B,eAAsB,qBAAqB;AACzC,SAAO,iBAA0B,MAAM,eAAe,mBAAmB,CAAC;AAC5E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/actions/find-current-account.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { accountService } from '../services/account.service';\nimport type { Account } from '../types';\n\nexport async function findCurrentAccount() {\n return safeServerAction<Account>(() => accountService.findCurrentAccount());\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAG/B,eAAsB,qBAAqB;AACzC,SAAO,iBAA0B,MAAM,eAAe,mBAAmB,CAAC;AAC5E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/actions/list-currencies.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { currencyService } from '../services/currency.service';\r\n\r\nexport async function listCurrenciesAction() {\r\n return safeServerAction(() => currencyService.fetchOptions());\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,uBAAuB;AAC3C,SAAO,iBAAiB,MAAM,gBAAgB,aAAa,CAAC;AAC9D;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/actions/list-currencies.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { currencyService } from '../services/currency.service';\n\nexport async function listCurrenciesAction() {\n return safeServerAction(() => currencyService.fetchOptions());\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,uBAAuB;AAC3C,SAAO,iBAAiB,MAAM,gBAAgB,aAAa,CAAC;AAC9D;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/actions/list-timezones.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { timezoneService } from '../services/timezone.service';\r\n\r\nexport async function listTimezonesAction() {\r\n return safeServerAction(() => timezoneService.fetchOptions());\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,sBAAsB;AAC1C,SAAO,iBAAiB,MAAM,gBAAgB,aAAa,CAAC;AAC9D;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/actions/list-timezones.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { timezoneService } from '../services/timezone.service';\n\nexport async function listTimezonesAction() {\n return safeServerAction(() => timezoneService.fetchOptions());\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,sBAAsB;AAC1C,SAAO,iBAAiB,MAAM,gBAAgB,aAAa,CAAC;AAC9D;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/current-account.hook.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { findCurrentAccount } from '../actions/find-current-account.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const ACCOUNT_QUERY_KEY = ['account'];\r\n\r\nexport function useCurrentAccount() {\r\n return useQuery({\r\n queryKey: ACCOUNT_QUERY_KEY,\r\n queryFn: withAction(findCurrentAccount),\r\n staleTime: 0,\r\n gcTime: 10 * 60 * 1000,\r\n retry: false,\r\n });\r\n}\r\n\r\nexport function useInvalidateAccount() {\r\n const queryClient = useQueryClient();\r\n return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n}\r\n"],"mappings":";AAEA,SAAS,UAAU,sBAAsB;AACzC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAEpB,MAAM,oBAAoB,CAAC,SAAS;AAEpC,SAAS,oBAAoB;AAClC,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,kBAAkB;AAAA,IACtC,WAAW;AAAA,IACX,QAAQ,KAAK,KAAK;AAAA,IAClB,OAAO;AAAA,EACT,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AACnC,SAAO,MAAM,YAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC5E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/current-account.hook.tsx"],"sourcesContent":["'use client';\n\nimport { useQuery, useQueryClient } from '@tanstack/react-query';\nimport { findCurrentAccount } from '../actions/find-current-account.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const ACCOUNT_QUERY_KEY = ['account'];\n\nexport function useCurrentAccount() {\n return useQuery({\n queryKey: ACCOUNT_QUERY_KEY,\n queryFn: withAction(findCurrentAccount),\n staleTime: 0,\n gcTime: 10 * 60 * 1000,\n retry: false,\n });\n}\n\nexport function useInvalidateAccount() {\n const queryClient = useQueryClient();\n return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n}\n"],"mappings":";AAEA,SAAS,UAAU,sBAAsB;AACzC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAEpB,MAAM,oBAAoB,CAAC,SAAS;AAEpC,SAAS,oBAAoB;AAClC,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,kBAAkB;AAAA,IACtC,WAAW;AAAA,IACX,QAAQ,KAAK,KAAK;AAAA,IAClB,OAAO;AAAA,EACT,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AACnC,SAAO,MAAM,YAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC5E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useAccountManagement.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\r\nimport { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';\r\nimport { ACCOUNT_QUERY_KEY } from './current-account.hook';\r\nimport type {\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n DeleteAccountUserResponse,\r\n DeleteAccountResponse,\r\n} from '../types';\r\nimport {\r\n updateUserAction,\r\n updateAccountAction,\r\n updateAccountUserByIdAction,\r\n deleteAccountUserAction,\r\n deleteAccountAction,\r\n} from '../actions/account-management.action';\r\nimport { withAction } from '../../../utils/withAction';\r\nimport type { UseMutationOptions } from '@tanstack/react-query';\r\n\r\nconst ACCOUNT_USERS_QUERY_KEY = ['account-users'];\r\n\r\nexport function useUpdateAccount() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(updateAccountAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAccountUser() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(updateUserAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAccountUserById() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>\r\n updateAccountUserByIdAction(userId, user)\r\n ),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useDeleteAccountUser(\r\n options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>\r\n) {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(deleteAccountUserAction),\r\n ...options,\r\n onSuccess: (...params) => {\r\n options?.onSuccess?.(...params);\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useDeleteAccount(\r\n options?: UseMutationOptions<DeleteAccountResponse, Error, void>\r\n) {\r\n return useMutation({\r\n mutationFn: withAction(deleteAccountAction),\r\n ...options,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAOlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAG3B,MAAM,0BAA0B,CAAC,eAAe;AAEzC,SAAS,mBAAmB;AACjC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,gBAAgB;AAAA,IACvC,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,MAAW,CAAC,EAAE,QAAQ,GAAG,KAAK,MACxC,4BAA4B,QAAQ,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,qBACd,SACA;AACA,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,GAAG;AAAA,IACH,WAAW,IAAI,WAAW;AACxB,eAAS,YAAY,GAAG,MAAM;AAC9B,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iBACd,SACA;AACA,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useAccountManagement.ts"],"sourcesContent":["'use client';\n\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';\nimport { ACCOUNT_QUERY_KEY } from './current-account.hook';\nimport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n DeleteAccountUserResponse,\n DeleteAccountResponse,\n} from '../types';\nimport {\n updateUserAction,\n updateAccountAction,\n updateAccountUserByIdAction,\n deleteAccountUserAction,\n deleteAccountAction,\n} from '../actions/account-management.action';\nimport { withAction } from '../../../utils/withAction';\nimport type { UseMutationOptions } from '@tanstack/react-query';\n\nconst ACCOUNT_USERS_QUERY_KEY = ['account-users'];\n\nexport function useUpdateAccount() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(updateAccountAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\n },\n });\n}\n\nexport function useUpdateAccountUser() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(updateUserAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\n },\n });\n}\n\nexport function useUpdateAccountUserById() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>\n updateAccountUserByIdAction(userId, user)\n ),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n },\n });\n}\n\nexport function useDeleteAccountUser(\n options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>\n) {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(deleteAccountUserAction),\n ...options,\n onSuccess: (...params) => {\n options?.onSuccess?.(...params);\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n },\n });\n}\n\nexport function useDeleteAccount(\n options?: UseMutationOptions<DeleteAccountResponse, Error, void>\n) {\n return useMutation({\n mutationFn: withAction(deleteAccountAction),\n ...options,\n });\n}\n"],"mappings":";AAEA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAOlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAG3B,MAAM,0BAA0B,CAAC,eAAe;AAEzC,SAAS,mBAAmB;AACjC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,gBAAgB;AAAA,IACvC,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,MAAW,CAAC,EAAE,QAAQ,GAAG,KAAK,MACxC,4BAA4B,QAAQ,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,qBACd,SACA;AACA,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,GAAG;AAAA,IACH,WAAW,IAAI,WAAW;AACxB,eAAS,YAAY,GAAG,MAAM;AAC9B,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iBACd,SACA;AACA,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useCurrencies.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listCurrenciesAction } from '../actions/list-currencies.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const CURRENCIES_QUERY_KEY = ['currencies'];\r\n\r\nexport function useCurrencies() {\r\n return useQuery({\r\n queryKey: CURRENCIES_QUERY_KEY,\r\n queryFn: withAction(listCurrenciesAction),\r\n staleTime: Infinity,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAEpB,MAAM,uBAAuB,CAAC,YAAY;AAE1C,SAAS,gBAAgB;AAC9B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,oBAAoB;AAAA,IACxC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useCurrencies.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listCurrenciesAction } from '../actions/list-currencies.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const CURRENCIES_QUERY_KEY = ['currencies'];\n\nexport function useCurrencies() {\n return useQuery({\n queryKey: CURRENCIES_QUERY_KEY,\n queryFn: withAction(listCurrenciesAction),\n staleTime: Infinity,\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAEpB,MAAM,uBAAuB,CAAC,YAAY;AAE1C,SAAS,gBAAgB;AAC9B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,oBAAoB;AAAA,IACxC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useTimezones.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listTimezonesAction } from '../actions/list-timezones.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const TIMEZONES_QUERY_KEY = ['timezones'];\r\n\r\nexport function useTimezones() {\r\n return useQuery({\r\n queryKey: TIMEZONES_QUERY_KEY,\r\n queryFn: withAction(listTimezonesAction),\r\n staleTime: Infinity,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,CAAC,WAAW;AAExC,SAAS,eAAe;AAC7B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,mBAAmB;AAAA,IACvC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useTimezones.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listTimezonesAction } from '../actions/list-timezones.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const TIMEZONES_QUERY_KEY = ['timezones'];\n\nexport function useTimezones() {\n return useQuery({\n queryKey: TIMEZONES_QUERY_KEY,\n queryFn: withAction(listTimezonesAction),\n staleTime: Infinity,\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,CAAC,WAAW;AAExC,SAAS,eAAe;AAC7B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,mBAAmB;AAAA,IACvC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/services/account.service.ts"],"sourcesContent":["import 'server-only';\r\n\r\nimport { api } from '../../../infra/api/client';\r\nimport { ApiError } from '../../../infra/api/types';\r\nimport { buildQueryParams } from '../../../infra/utils/params';\r\nimport { getUserContext } from '../../auth/utils/get-user-context';\r\nimport { fileToBase64 } from '../../../utils/file/index';\r\nimport type {\r\n Account,\r\n AccountUsersPaginationParams,\r\n ChangePasswordRequest,\r\n ChangePasswordResponse,\r\n ChangeUserPhotoResponse,\r\n CreateAccountUserRequest,\r\n CreateAccountUserResponse,\r\n DeleteAccountResponse,\r\n DeleteAccountUserResponse,\r\n GetAccountDataResponse,\r\n ListAccountUsersResponse,\r\n UpdateAccountRequest,\r\n UpdateAccountResponse,\r\n UpdateAccountUserRequest,\r\n UpdateAccountUserResponse,\r\n} from '../types';\r\n\r\nclass AccountService {\r\n async findCurrentAccount(): Promise<Account> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.get<GetAccountDataResponse>(`/accounts/${id_account}`);\r\n\r\n if (response.status === 0 || !response.data?.[0]) {\r\n throw new ApiError(\r\n response.message || 'Erro ao buscar dados da conta',\r\n 'GET_ACCOUNT_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response.data[0];\r\n }\r\n\r\n async listAccountUsers(params?: Partial<AccountUsersPaginationParams>) {\r\n const { id_account } = await getUserContext();\r\n const queryParams = buildQueryParams(params);\r\n const endpoint = `/accounts/${id_account}/users?${queryParams}`;\r\n const response = await api.apps.get<ListAccountUsersResponse>(endpoint);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao listar usuários',\r\n 'LIST_ACCOUNT_USERS_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return {\r\n users: response.data || [],\r\n total: response.total || 0,\r\n };\r\n }\r\n\r\n async changeUserPhoto(userId: number, photo: File): Promise<ChangeUserPhotoResponse> {\r\n const { id_account } = await getUserContext();\r\n const base64 = await fileToBase64(photo);\r\n const response = await api.apps.put<ChangeUserPhotoResponse>(\r\n `/accounts/${id_account}/users/${userId}/file/photo`,\r\n { file: base64 }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao mudar foto do usuário',\r\n 'CHANGE_USER_PHOTO_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async deleteAccountUser(userId: number): Promise<DeleteAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.delete<DeleteAccountUserResponse>(\r\n `/accounts/${id_account}/users/${userId}`\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao deletar usuário', 'DELETE_USER_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async deleteAccount(): Promise<DeleteAccountResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.delete<DeleteAccountResponse>(`/accounts/${id_account}`);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao deletar conta', 'DELETE_ACCOUNT_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async createAccountUser(user: CreateAccountUserRequest): Promise<CreateAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.post<CreateAccountUserResponse>(\r\n `/accounts/${id_account}/users`,\r\n {\r\n ...user,\r\n photo: user.photo ? await fileToBase64(user.photo) : null,\r\n }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao criar usuário', 'CREATE_USER_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n private async resolvePhotoField(user: UpdateAccountUserRequest): Promise<{ photo?: string | null }> {\r\n if (user.photo === undefined) return {};\r\n const photo =\r\n user.photo != null && typeof user.photo !== 'string'\r\n ? await fileToBase64(user.photo)\r\n : user.photo;\r\n return { photo };\r\n }\r\n\r\n async updateAccountUser(user: UpdateAccountUserRequest): Promise<UpdateAccountUserResponse> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountUserResponse>(\r\n `/accounts/${id_account}/users/${id_user}`,\r\n { ...user, ...(await this.resolvePhotoField(user)) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar usuário',\r\n 'UPDATE_USER_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async updateAccountUserById(\r\n userId: number,\r\n user: UpdateAccountUserRequest\r\n ): Promise<UpdateAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountUserResponse>(\r\n `/accounts/${id_account}/users/${userId}`,\r\n { ...user, ...(await this.resolvePhotoField(user)) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar usuário',\r\n 'UPDATE_USER_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async updateAccount(data: UpdateAccountRequest): Promise<UpdateAccountResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountResponse>(`/accounts/${id_account}`, data);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar conta',\r\n 'UPDATE_ACCOUNT_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async requestContactReset(type: 'email' | 'phone', newContact: string, ddi?: string): Promise<void> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.post<{ status: number; message: string }>(\r\n `/accounts/${id_account}/users/${id_user}/resetContact/request`,\r\n { type, newContact, ...(ddi ? { ddi } : {}) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao solicitar alteração',\r\n 'REQUEST_CONTACT_RESET_FAILED',\r\n 400\r\n );\r\n }\r\n }\r\n\r\n async confirmContactReset(type: 'email' | 'phone', token: string, newContact: string, ddi?: string): Promise<void> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.post<{ status: number; message: string }>(\r\n `/accounts/${id_account}/users/${id_user}/resetContact/confirm`,\r\n { type, token, newContact, ...(ddi ? { ddi } : {}) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Código inválido ou expirado',\r\n 'CONFIRM_CONTACT_RESET_FAILED',\r\n 400\r\n );\r\n }\r\n }\r\n\r\n async changePassword(data: ChangePasswordRequest): Promise<ChangePasswordResponse> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.put<ChangePasswordResponse>(\r\n `/accounts/${id_account}/users/${id_user}/action/changePassword`,\r\n data\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao alterar senha',\r\n 'CHANGE_PASSWORD_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n}\r\n\r\nexport const accountService = new AccountService();\r\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/services/account.service.ts"],"sourcesContent":["import 'server-only';\n\nimport { api } from '../../../infra/api/client';\nimport { ApiError } from '../../../infra/api/types';\nimport { buildQueryParams } from '../../../infra/utils/params';\nimport { getUserContext } from '../../auth/utils/get-user-context';\nimport { fileToBase64 } from '../../../utils/file/index';\nimport type {\n Account,\n AccountUsersPaginationParams,\n ChangePasswordRequest,\n ChangePasswordResponse,\n ChangeUserPhotoResponse,\n CreateAccountUserRequest,\n CreateAccountUserResponse,\n DeleteAccountResponse,\n DeleteAccountUserResponse,\n GetAccountDataResponse,\n ListAccountUsersResponse,\n UpdateAccountRequest,\n UpdateAccountResponse,\n UpdateAccountUserRequest,\n UpdateAccountUserResponse,\n} from '../types';\n\nclass AccountService {\n async findCurrentAccount(): Promise<Account> {\n const { id_account } = await getUserContext();\n const response = await api.apps.get<GetAccountDataResponse>(`/accounts/${id_account}`);\n\n if (response.status === 0 || !response.data?.[0]) {\n throw new ApiError(\n response.message || 'Erro ao buscar dados da conta',\n 'GET_ACCOUNT_FAILED',\n 400\n );\n }\n\n return response.data[0];\n }\n\n async listAccountUsers(params?: Partial<AccountUsersPaginationParams>) {\n const { id_account } = await getUserContext();\n const queryParams = buildQueryParams(params);\n const endpoint = `/accounts/${id_account}/users?${queryParams}`;\n const response = await api.apps.get<ListAccountUsersResponse>(endpoint);\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao listar usuários',\n 'LIST_ACCOUNT_USERS_FAILED',\n 400\n );\n }\n\n return {\n users: response.data || [],\n total: response.total || 0,\n };\n }\n\n async changeUserPhoto(userId: number, photo: File): Promise<ChangeUserPhotoResponse> {\n const { id_account } = await getUserContext();\n const base64 = await fileToBase64(photo);\n const response = await api.apps.put<ChangeUserPhotoResponse>(\n `/accounts/${id_account}/users/${userId}/file/photo`,\n { file: base64 }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao mudar foto do usuário',\n 'CHANGE_USER_PHOTO_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async deleteAccountUser(userId: number): Promise<DeleteAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.delete<DeleteAccountUserResponse>(\n `/accounts/${id_account}/users/${userId}`\n );\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao deletar usuário', 'DELETE_USER_FAILED', 400);\n }\n\n return response;\n }\n\n async deleteAccount(): Promise<DeleteAccountResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.delete<DeleteAccountResponse>(`/accounts/${id_account}`);\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao deletar conta', 'DELETE_ACCOUNT_FAILED', 400);\n }\n\n return response;\n }\n\n async createAccountUser(user: CreateAccountUserRequest): Promise<CreateAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.post<CreateAccountUserResponse>(\n `/accounts/${id_account}/users`,\n {\n ...user,\n photo: user.photo ? await fileToBase64(user.photo) : null,\n }\n );\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao criar usuário', 'CREATE_USER_FAILED', 400);\n }\n\n return response;\n }\n\n private async resolvePhotoField(user: UpdateAccountUserRequest): Promise<{ photo?: string | null }> {\n if (user.photo === undefined) return {};\n const photo =\n user.photo != null && typeof user.photo !== 'string'\n ? await fileToBase64(user.photo)\n : user.photo;\n return { photo };\n }\n\n async updateAccountUser(user: UpdateAccountUserRequest): Promise<UpdateAccountUserResponse> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.put<UpdateAccountUserResponse>(\n `/accounts/${id_account}/users/${id_user}`,\n { ...user, ...(await this.resolvePhotoField(user)) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar usuário',\n 'UPDATE_USER_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async updateAccountUserById(\n userId: number,\n user: UpdateAccountUserRequest\n ): Promise<UpdateAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.put<UpdateAccountUserResponse>(\n `/accounts/${id_account}/users/${userId}`,\n { ...user, ...(await this.resolvePhotoField(user)) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar usuário',\n 'UPDATE_USER_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async updateAccount(data: UpdateAccountRequest): Promise<UpdateAccountResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.put<UpdateAccountResponse>(`/accounts/${id_account}`, data);\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar conta',\n 'UPDATE_ACCOUNT_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async requestContactReset(type: 'email' | 'phone', newContact: string, ddi?: string): Promise<void> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.post<{ status: number; message: string }>(\n `/accounts/${id_account}/users/${id_user}/resetContact/request`,\n { type, newContact, ...(ddi ? { ddi } : {}) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao solicitar alteração',\n 'REQUEST_CONTACT_RESET_FAILED',\n 400\n );\n }\n }\n\n async confirmContactReset(type: 'email' | 'phone', token: string, newContact: string, ddi?: string): Promise<void> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.post<{ status: number; message: string }>(\n `/accounts/${id_account}/users/${id_user}/resetContact/confirm`,\n { type, token, newContact, ...(ddi ? { ddi } : {}) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Código inválido ou expirado',\n 'CONFIRM_CONTACT_RESET_FAILED',\n 400\n );\n }\n }\n\n async changePassword(data: ChangePasswordRequest): Promise<ChangePasswordResponse> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.put<ChangePasswordResponse>(\n `/accounts/${id_account}/users/${id_user}/action/changePassword`,\n data\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao alterar senha',\n 'CHANGE_PASSWORD_FAILED',\n 400\n );\n }\n\n return response;\n }\n}\n\nexport const accountService = new AccountService();\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/actions/validate-session.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { redirect } from 'next/navigation';\r\nimport { cookies, headers } from 'next/headers';\r\nimport { authService } from '../services/auth.service';\r\nimport { getClientInfoFromRequest } from '../../../infra/utils/client-info';\r\n\r\nasync function redirectToLogin() {\r\n const h = await headers();\r\n const referer = h.get('referer');\r\n\r\n if (!referer) {\r\n redirect('/login');\r\n return;\r\n }\r\n\r\n const url = new URL(referer);\r\n\r\n if (['/login', '/register', '/forgot-password'].includes(url.pathname)) {\r\n return;\r\n }\r\n\r\n const loginUrl = new URL('/login', url.origin);\r\n loginUrl.searchParams.set('redirect', url.pathname + url.search);\r\n redirect(loginUrl.toString());\r\n}\r\n\r\nexport async function validateSessionAction(): Promise<boolean> {\r\n if (process.env.DUMMY_AUTH_TOKEN) return true;\r\n\r\n const cookieStore = await cookies();\r\n const cookie = cookieStore.get('greatapps')?.value;\r\n\r\n if (!cookie) {\r\n await redirectToLogin();\r\n return false;\r\n }\r\n\r\n try {\r\n const clientInfo = await getClientInfoFromRequest();\r\n const isValid = await authService.validateSession(clientInfo);\r\n\r\n if (!isValid) {\r\n await authService.removeAuthCookie();\r\n await redirectToLogin();\r\n return false;\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('[validateSessionAction] Error:', error);\r\n await authService.removeAuthCookie();\r\n await redirectToLogin();\r\n return false;\r\n }\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,SAAS,eAAe;AACjC,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AAEzC,eAAe,kBAAkB;AAC/B,QAAM,IAAI,MAAM,QAAQ;AACxB,QAAM,UAAU,EAAE,IAAI,SAAS;AAE/B,MAAI,CAAC,SAAS;AACZ,aAAS,QAAQ;AACjB;AAAA,EACF;AAEA,QAAM,MAAM,IAAI,IAAI,OAAO;AAE3B,MAAI,CAAC,UAAU,aAAa,kBAAkB,EAAE,SAAS,IAAI,QAAQ,GAAG;AACtE;AAAA,EACF;AAEA,QAAM,WAAW,IAAI,IAAI,UAAU,IAAI,MAAM;AAC7C,WAAS,aAAa,IAAI,YAAY,IAAI,WAAW,IAAI,MAAM;AAC/D,WAAS,SAAS,SAAS,CAAC;AAC9B;AAEA,eAAsB,wBAA0C;AAC9D,MAAI,QAAQ,IAAI,iBAAkB,QAAO;AAEzC,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,SAAS,YAAY,IAAI,WAAW,GAAG;AAE7C,MAAI,CAAC,QAAQ;AACX,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,aAAa,MAAM,yBAAyB;AAClD,UAAM,UAAU,MAAM,YAAY,gBAAgB,UAAU;AAE5D,QAAI,CAAC,SAAS;AACZ,YAAM,YAAY,iBAAiB;AACnC,YAAM,gBAAgB;AACtB,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,kCAAkC,KAAK;AACrD,UAAM,YAAY,iBAAiB;AACnC,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/actions/validate-session.action.ts"],"sourcesContent":["'use server';\n\nimport { redirect } from 'next/navigation';\nimport { cookies, headers } from 'next/headers';\nimport { authService } from '../services/auth.service';\nimport { getClientInfoFromRequest } from '../../../infra/utils/client-info';\n\nasync function redirectToLogin() {\n const h = await headers();\n const referer = h.get('referer');\n\n if (!referer) {\n redirect('/login');\n return;\n }\n\n const url = new URL(referer);\n\n if (['/login', '/register', '/forgot-password'].includes(url.pathname)) {\n return;\n }\n\n const loginUrl = new URL('/login', url.origin);\n loginUrl.searchParams.set('redirect', url.pathname + url.search);\n redirect(loginUrl.toString());\n}\n\nexport async function validateSessionAction(): Promise<boolean> {\n if (process.env.DUMMY_AUTH_TOKEN) return true;\n\n const cookieStore = await cookies();\n const cookie = cookieStore.get('greatapps')?.value;\n\n if (!cookie) {\n await redirectToLogin();\n return false;\n }\n\n try {\n const clientInfo = await getClientInfoFromRequest();\n const isValid = await authService.validateSession(clientInfo);\n\n if (!isValid) {\n await authService.removeAuthCookie();\n await redirectToLogin();\n return false;\n }\n\n return true;\n } catch (error) {\n console.error('[validateSessionAction] Error:', error);\n await authService.removeAuthCookie();\n await redirectToLogin();\n return false;\n }\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,SAAS,eAAe;AACjC,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AAEzC,eAAe,kBAAkB;AAC/B,QAAM,IAAI,MAAM,QAAQ;AACxB,QAAM,UAAU,EAAE,IAAI,SAAS;AAE/B,MAAI,CAAC,SAAS;AACZ,aAAS,QAAQ;AACjB;AAAA,EACF;AAEA,QAAM,MAAM,IAAI,IAAI,OAAO;AAE3B,MAAI,CAAC,UAAU,aAAa,kBAAkB,EAAE,SAAS,IAAI,QAAQ,GAAG;AACtE;AAAA,EACF;AAEA,QAAM,WAAW,IAAI,IAAI,UAAU,IAAI,MAAM;AAC7C,WAAS,aAAa,IAAI,YAAY,IAAI,WAAW,IAAI,MAAM;AAC/D,WAAS,SAAS,SAAS,CAAC;AAC9B;AAEA,eAAsB,wBAA0C;AAC9D,MAAI,QAAQ,IAAI,iBAAkB,QAAO;AAEzC,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,SAAS,YAAY,IAAI,WAAW,GAAG;AAE7C,MAAI,CAAC,QAAQ;AACX,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,aAAa,MAAM,yBAAyB;AAClD,UAAM,UAAU,MAAM,YAAY,gBAAgB,UAAU;AAE5D,QAAI,CAAC,SAAS;AACZ,YAAM,YAAY,iBAAiB;AACnC,YAAM,gBAAgB;AACtB,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,kCAAkC,KAAK;AACrD,UAAM,YAAY,iBAAiB;AACnC,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/hooks/login.hook.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { loginAction } from \"../actions/login.action\";\r\nimport { LoginRequest, LoginSuccessResponse } from \"../schema\";\r\nimport { withAction } from \"../../../utils/withAction\";\r\n\r\nexport function useLogin() {\r\n return useMutation({\r\n mutationFn: (credentials: LoginRequest) =>\r\n withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB;AAEpB,SAAS,WAAW;AACzB,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,gBACX,WAAW,WAAW,EAAE,WAAW;AAAA,EACvC,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/hooks/login.hook.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { loginAction } from \"../actions/login.action\";\nimport { LoginRequest, LoginSuccessResponse } from \"../schema\";\nimport { withAction } from \"../../../utils/withAction\";\n\nexport function useLogin() {\n return useMutation({\n mutationFn: (credentials: LoginRequest) =>\n withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,\n });\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB;AAEpB,SAAS,WAAW;AACzB,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,gBACX,WAAW,WAAW,EAAE,WAAW;AAAA,EACvC,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/hooks/logout.hook.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { logoutAction } from \"../actions/logout.action\";\r\nimport { withAction } from \"../../../utils/withAction\";\r\n\r\nexport function useLogout() {\r\n return useMutation({\r\n mutationFn: withAction(logoutAction),\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAEpB,SAAS,YAAY;AAC1B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,YAAY;AAAA,EACrC,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/hooks/logout.hook.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { logoutAction } from \"../actions/logout.action\";\nimport { withAction } from \"../../../utils/withAction\";\n\nexport function useLogout() {\n return useMutation({\n mutationFn: withAction(logoutAction),\n });\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAEpB,SAAS,YAAY;AAC1B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,YAAY;AAAA,EACrC,CAAC;AACH;","names":[]}