@greatapps/common 1.1.372 → 1.1.375

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 (334) hide show
  1. package/dist/components/account/AccountModals.mjs.map +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs +1 -1
  3. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  5. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  6. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  7. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  8. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  9. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  10. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  11. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  14. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  15. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  16. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  17. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  18. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  20. package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -1
  21. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  22. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  23. package/dist/components/layouts/CollapsibleSidebar.mjs.map +1 -1
  24. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  25. package/dist/components/layouts/NavBar.mjs.map +1 -1
  26. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  27. package/dist/components/layouts/ProfilePopover.mjs +9 -1
  28. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  29. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
  30. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  31. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
  32. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  33. package/dist/components/modals/ModalManager.mjs.map +1 -1
  34. package/dist/components/modals/Modals.mjs.map +1 -1
  35. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  36. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  37. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  38. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  39. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  40. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  41. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  42. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  43. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  44. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  45. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  46. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  47. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  48. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  49. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  50. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  51. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  52. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  53. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  54. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  55. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  56. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  57. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  58. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  59. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  60. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  61. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  62. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  63. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  64. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  65. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  66. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  67. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  68. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  69. package/dist/components/ui/form/FormField.mjs.map +1 -1
  70. package/dist/components/ui/form/Input.mjs.map +1 -1
  71. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  72. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  73. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  74. package/dist/components/ui/form/Select.mjs +1 -1
  75. package/dist/components/ui/form/Select.mjs.map +1 -1
  76. package/dist/components/ui/form/Switch.mjs.map +1 -1
  77. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  78. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  79. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  80. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  81. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  82. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  83. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  84. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  85. package/dist/hooks/useDebounce.mjs.map +1 -1
  86. package/dist/hooks/useDebounceState.mjs.map +1 -1
  87. package/dist/hooks/useDebouncedEffect.mjs.map +1 -1
  88. package/dist/index.mjs.map +1 -1
  89. package/dist/infra/utils/clsx.mjs.map +1 -1
  90. package/dist/infra/utils/date.mjs.map +1 -1
  91. package/dist/infra/utils/parser.mjs.map +1 -1
  92. package/dist/infra/utils/percentage.mjs.map +1 -1
  93. package/dist/middleware.mjs.map +1 -1
  94. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  95. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  96. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  97. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  98. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  99. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  100. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  101. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  102. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  103. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  104. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  105. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  106. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  107. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  108. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  109. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  110. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  111. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  112. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  113. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  114. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  115. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  116. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  117. package/dist/modules/cards/types.mjs.map +1 -1
  118. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  119. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  120. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  121. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  122. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  123. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  124. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  125. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  126. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  127. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  128. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  129. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  130. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  131. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  132. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  133. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  134. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  135. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  136. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  137. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  138. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  139. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  140. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  141. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  142. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  143. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  144. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  145. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  146. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  147. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  148. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  149. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  150. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  151. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  152. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  153. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  154. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  155. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  156. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  157. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  158. package/dist/store/useAccountModals.mjs.map +1 -1
  159. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  160. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  161. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  162. package/dist/store/useModalManager.mjs.map +1 -1
  163. package/dist/utils/constants/br-states.mjs.map +1 -1
  164. package/dist/utils/countries.mjs.map +1 -1
  165. package/dist/utils/safeServerAction.mjs.map +1 -1
  166. package/dist/utils/withAction.mjs.map +1 -1
  167. package/package.json +89 -89
  168. package/src/components/account/AccountModals.tsx +17 -17
  169. package/src/components/account/ConfigurationsMyAccountModal.tsx +146 -146
  170. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  171. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  172. package/src/components/account/DeleteAccountModal.tsx +130 -130
  173. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  174. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  175. package/src/components/account/TwoFactorAuthModal.tsx +215 -215
  176. package/src/components/account/hooks/useChangePhoneForm.tsx +107 -107
  177. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  178. package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
  179. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  180. package/src/components/account/sections/ChangePhoneModal.tsx +245 -245
  181. package/src/components/account/sections/MyProfileSection.tsx +327 -327
  182. package/src/components/account/sections/PreferencesSection.tsx +248 -248
  183. package/src/components/account/sections/SecuritySection.tsx +46 -46
  184. package/src/components/embeds/CrispEmbed.tsx +101 -101
  185. package/src/components/embeds/FrillEmbed.tsx +119 -119
  186. package/src/components/handlers/SearchParamsHandler.tsx +61 -61
  187. package/src/components/layouts/AppMobileNavBar.tsx +118 -118
  188. package/src/components/layouts/AppNavBar.tsx +46 -46
  189. package/src/components/layouts/CollapsibleSidebar.tsx +67 -67
  190. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  191. package/src/components/layouts/NavBar.tsx +172 -172
  192. package/src/components/layouts/NotificationsPopover.tsx +115 -115
  193. package/src/components/layouts/ProfilePopover.tsx +178 -170
  194. package/src/components/layouts/SideBarNavigation.tsx +62 -62
  195. package/src/components/layouts/UsersSelectorPopover.tsx +234 -234
  196. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  197. package/src/components/modals/BuyCreditsModal.tsx +314 -314
  198. package/src/components/modals/ModalManager.tsx +29 -29
  199. package/src/components/modals/Modals.tsx +26 -26
  200. package/src/components/modals/cards/AddCardModal.tsx +260 -260
  201. package/src/components/modals/cards/CardFormFields.tsx +294 -294
  202. package/src/components/navigation/CancelledSubscriptionBanner.tsx +60 -60
  203. package/src/components/navigation/NavItemsContext.ts +20 -20
  204. package/src/components/navigation/ProjectSelectorPopover.tsx +160 -160
  205. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  206. package/src/components/navigation/subcomponents/ProjectSelector.tsx +160 -160
  207. package/src/components/pages/NotFoundPage.tsx +50 -50
  208. package/src/components/pages/notifications/Notifications.tsx +160 -160
  209. package/src/components/ui/buttons/Button.tsx +57 -57
  210. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  211. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  212. package/src/components/ui/data-display/Accordion.tsx +81 -81
  213. package/src/components/ui/data-display/Badge.tsx +47 -47
  214. package/src/components/ui/data-display/Card.tsx +93 -93
  215. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  216. package/src/components/ui/data-display/CardItem.tsx +75 -75
  217. package/src/components/ui/data-display/Pagination.tsx +126 -126
  218. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
  219. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  220. package/src/components/ui/data-display/Separator.tsx +29 -29
  221. package/src/components/ui/data-display/Table.tsx +117 -117
  222. package/src/components/ui/data-display/Tabs.tsx +67 -67
  223. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  224. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  225. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  226. package/src/components/ui/feedback/Progress.tsx +40 -40
  227. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  228. package/src/components/ui/feedback/Toast.tsx +101 -101
  229. package/src/components/ui/form/Calendar.tsx +228 -228
  230. package/src/components/ui/form/Checkbox.tsx +31 -31
  231. package/src/components/ui/form/ComboboxField.tsx +154 -154
  232. package/src/components/ui/form/DatePicker.tsx +97 -97
  233. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  234. package/src/components/ui/form/FormField.tsx +131 -131
  235. package/src/components/ui/form/Input.tsx +20 -20
  236. package/src/components/ui/form/InputOtp.tsx +80 -80
  237. package/src/components/ui/form/PhoneInput.tsx +208 -208
  238. package/src/components/ui/form/RadioGroup.tsx +45 -45
  239. package/src/components/ui/form/Select.tsx +200 -200
  240. package/src/components/ui/form/Switch.tsx +32 -32
  241. package/src/components/ui/form/Textarea.tsx +19 -19
  242. package/src/components/ui/overlay/Command.tsx +185 -185
  243. package/src/components/ui/overlay/Dialog.tsx +151 -151
  244. package/src/components/ui/overlay/Popover.tsx +49 -49
  245. package/src/components/ui/overlay/Sheet.tsx +166 -166
  246. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  247. package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
  248. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  249. package/src/hooks/useDebounce.ts +26 -26
  250. package/src/hooks/useDebounceState.ts +11 -11
  251. package/src/hooks/useDebouncedEffect.ts +69 -69
  252. package/src/index.ts +391 -391
  253. package/src/infra/utils/clsx.ts +6 -6
  254. package/src/infra/utils/date.ts +7 -7
  255. package/src/infra/utils/parser.ts +52 -52
  256. package/src/infra/utils/percentage.ts +42 -42
  257. package/src/middleware.ts +4 -4
  258. package/src/modules/accounts/actions/account-management.action.ts +107 -107
  259. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  260. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  261. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  262. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  263. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  264. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  265. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  266. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  267. package/src/modules/accounts/services/account.service.ts +239 -239
  268. package/src/modules/accounts/types.ts +225 -225
  269. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  270. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  271. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  272. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  273. package/src/modules/auth/hooks/useManagementPermissions.ts +45 -45
  274. package/src/modules/auth/types/management-permission.type.ts +7 -7
  275. package/src/modules/auth/utils/assert-management-permission.ts +46 -46
  276. package/src/modules/auth/utils/assert-management-subscription.ts +27 -27
  277. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  278. package/src/modules/cards/actions/create-card.action.ts +9 -9
  279. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  280. package/src/modules/cards/hooks/cards.hook.ts +14 -14
  281. package/src/modules/cards/hooks/create-card.hook.ts +18 -18
  282. package/src/modules/cards/services/cards.service.ts +51 -51
  283. package/src/modules/cards/types.ts +32 -32
  284. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  285. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  286. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
  287. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
  288. package/src/modules/plans/services/plans.service.ts +36 -36
  289. package/src/modules/plans/types/plan.type.ts +21 -21
  290. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  291. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  292. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  293. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  294. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  295. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  296. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  297. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  298. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  299. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  300. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  301. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  302. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  303. package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
  304. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  305. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  306. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
  307. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
  308. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +39 -39
  309. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  310. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
  311. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  312. package/src/modules/subscriptions/utils/has-subscription-expired.ts +8 -8
  313. package/src/modules/subscriptions/utils/periodicity.ts +52 -52
  314. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  315. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  316. package/src/modules/users/action/list-messages.action.ts +12 -12
  317. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  318. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  319. package/src/modules/users/hooks/messages.hook.ts +60 -60
  320. package/src/modules/users/services/messages.service.ts +48 -48
  321. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  322. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  323. package/src/modules/whitelabel/schema.ts +84 -84
  324. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  325. package/src/providers/whitelabel.provider.tsx +54 -54
  326. package/src/store/useAccountModals.ts +55 -55
  327. package/src/store/useBuyCreditsModal.ts +21 -21
  328. package/src/store/useDesktopSidebarStore.ts +47 -47
  329. package/src/store/useMdSidebarStore.ts +34 -34
  330. package/src/store/useModalManager.ts +104 -104
  331. package/src/utils/constants/br-states.ts +29 -29
  332. package/src/utils/countries.ts +224 -224
  333. package/src/utils/safeServerAction.ts +21 -21
  334. package/src/utils/withAction.ts +13 -13
@@ -1,6 +1,6 @@
1
- import { clsx, type ClassValue } from "clsx"
2
- import { twMerge } from "tailwind-merge"
3
-
4
- export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs))
6
- }
1
+ import { clsx, type ClassValue } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs))
6
+ }
@@ -1,7 +1,7 @@
1
- export function formatShortDate(date: Date | string | null | undefined): string {
2
- if (!date) return '--';
3
- const d = new Date(date);
4
- const day = String(d.getDate()).padStart(2, '0');
5
- const month = String(d.getMonth() + 1).padStart(2, '0');
6
- return `${day}/${month}`;
7
- }
1
+ export function formatShortDate(date: Date | string | null | undefined): string {
2
+ if (!date) return '--';
3
+ const d = new Date(date);
4
+ const day = String(d.getDate()).padStart(2, '0');
5
+ const month = String(d.getMonth() + 1).padStart(2, '0');
6
+ return `${day}/${month}`;
7
+ }
@@ -1,53 +1,53 @@
1
- import z, { ZodTypeAny } from "zod";
2
- import { PaginatedSuccessResult, SuccessResult } from "../api/types";
3
-
4
- /* Overloads */
5
- export function parseSchema<T extends ZodTypeAny>(
6
- schema: T,
7
- data: unknown[]
8
- ): z.infer<T>[];
9
-
10
- export function parseSchema<T extends ZodTypeAny>(
11
- schema: T,
12
- data: unknown
13
- ): z.infer<T>;
14
-
15
- export function parseSchema<T extends ZodTypeAny>(
16
- schema: T,
17
- data: unknown | unknown[]
18
- ) {
19
- if (Array.isArray(data)) {
20
- return data.map(item => schema.parse(item));
21
- }
22
-
23
- return schema.parse(data);
24
- }
25
-
26
- export function parseResult<T extends ZodTypeAny>(
27
- schema: T,
28
- result: PaginatedSuccessResult<unknown>
29
- ): PaginatedSuccessResult<z.infer<T>>;
30
-
31
- export function parseResult<T extends ZodTypeAny>(
32
- schema: T,
33
- result: SuccessResult<unknown>
34
- ): SuccessResult<z.infer<T>>;
35
-
36
- export function parseResult<T extends ZodTypeAny>(
37
- schema: T,
38
- result: SuccessResult<unknown> | PaginatedSuccessResult<unknown>
39
- ) {
40
- if (!result.data) return result;
41
-
42
- if (Array.isArray(result.data)) {
43
- return {
44
- ...result,
45
- data: result.data.map(item => schema.parse(item)),
46
- };
47
- }
48
-
49
- return {
50
- ...result,
51
- data: schema.parse(result.data),
52
- };
1
+ import z, { ZodTypeAny } from "zod";
2
+ import { PaginatedSuccessResult, SuccessResult } from "../api/types";
3
+
4
+ /* Overloads */
5
+ export function parseSchema<T extends ZodTypeAny>(
6
+ schema: T,
7
+ data: unknown[]
8
+ ): z.infer<T>[];
9
+
10
+ export function parseSchema<T extends ZodTypeAny>(
11
+ schema: T,
12
+ data: unknown
13
+ ): z.infer<T>;
14
+
15
+ export function parseSchema<T extends ZodTypeAny>(
16
+ schema: T,
17
+ data: unknown | unknown[]
18
+ ) {
19
+ if (Array.isArray(data)) {
20
+ return data.map(item => schema.parse(item));
21
+ }
22
+
23
+ return schema.parse(data);
24
+ }
25
+
26
+ export function parseResult<T extends ZodTypeAny>(
27
+ schema: T,
28
+ result: PaginatedSuccessResult<unknown>
29
+ ): PaginatedSuccessResult<z.infer<T>>;
30
+
31
+ export function parseResult<T extends ZodTypeAny>(
32
+ schema: T,
33
+ result: SuccessResult<unknown>
34
+ ): SuccessResult<z.infer<T>>;
35
+
36
+ export function parseResult<T extends ZodTypeAny>(
37
+ schema: T,
38
+ result: SuccessResult<unknown> | PaginatedSuccessResult<unknown>
39
+ ) {
40
+ if (!result.data) return result;
41
+
42
+ if (Array.isArray(result.data)) {
43
+ return {
44
+ ...result,
45
+ data: result.data.map(item => schema.parse(item)),
46
+ };
47
+ }
48
+
49
+ return {
50
+ ...result,
51
+ data: schema.parse(result.data),
52
+ };
53
53
  }
@@ -1,42 +1,42 @@
1
- /**
2
- * Calcula percentual de um valor em relação ao total
3
- * @param current - Valor atual
4
- * @param total - Valor total
5
- * @returns Percentual (0-100)
6
- */
7
- export const calculatePercentage = (current: number, total: number): number => {
8
- if (total === 0) return 0;
9
- return (current / total) * 100;
10
- };
11
-
12
- /**
13
- * Calcula a circunferência de um círculo
14
- * @param radius - Raio do círculo
15
- * @returns Circunferência
16
- */
17
- export const calculateCircumference = (radius: number): number => {
18
- return 2 * Math.PI * radius;
19
- };
20
-
21
- /**
22
- * Calcula o offset para circular progress
23
- * @param percentage - Percentual de progresso (0-100)
24
- * @param circumference - Circunferência do círculo
25
- * @returns Valor do offset
26
- */
27
- export const calculateCircularProgressOffset = (
28
- percentage: number,
29
- circumference: number
30
- ): number => {
31
- return circumference - (percentage / 100) * circumference;
32
- };
33
-
34
- /**
35
- * Calcula raio de círculo baseado no tamanho e stroke
36
- * @param size - Tamanho total
37
- * @param strokeWidth - Largura do stroke
38
- * @returns Raio calculado
39
- */
40
- export const calculateRadius = (size: number, strokeWidth: number): number => {
41
- return (size - strokeWidth) / 2;
42
- };
1
+ /**
2
+ * Calcula percentual de um valor em relação ao total
3
+ * @param current - Valor atual
4
+ * @param total - Valor total
5
+ * @returns Percentual (0-100)
6
+ */
7
+ export const calculatePercentage = (current: number, total: number): number => {
8
+ if (total === 0) return 0;
9
+ return (current / total) * 100;
10
+ };
11
+
12
+ /**
13
+ * Calcula a circunferência de um círculo
14
+ * @param radius - Raio do círculo
15
+ * @returns Circunferência
16
+ */
17
+ export const calculateCircumference = (radius: number): number => {
18
+ return 2 * Math.PI * radius;
19
+ };
20
+
21
+ /**
22
+ * Calcula o offset para circular progress
23
+ * @param percentage - Percentual de progresso (0-100)
24
+ * @param circumference - Circunferência do círculo
25
+ * @returns Valor do offset
26
+ */
27
+ export const calculateCircularProgressOffset = (
28
+ percentage: number,
29
+ circumference: number
30
+ ): number => {
31
+ return circumference - (percentage / 100) * circumference;
32
+ };
33
+
34
+ /**
35
+ * Calcula raio de círculo baseado no tamanho e stroke
36
+ * @param size - Tamanho total
37
+ * @param strokeWidth - Largura do stroke
38
+ * @returns Raio calculado
39
+ */
40
+ export const calculateRadius = (size: number, strokeWidth: number): number => {
41
+ return (size - strokeWidth) / 2;
42
+ };
package/src/middleware.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createAuthMiddleware } from './middlewares/create-auth-middleware';
2
- export { createMiddlewareChain } from './middlewares/chain';
3
- export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
4
- export { continueChain, stopChain } from './middlewares/types';
1
+ export { createAuthMiddleware } from './middlewares/create-auth-middleware';
2
+ export { createMiddlewareChain } from './middlewares/chain';
3
+ export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
4
+ export { continueChain, stopChain } from './middlewares/types';
@@ -1,107 +1,107 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountService } from '../services/account.service';
5
- import type {
6
- AccountUsersPaginationParams,
7
- ChangePasswordRequest,
8
- CreateAccountUserRequest,
9
- UpdateAccountRequest,
10
- UpdateAccountUserRequest,
11
- } from '../types';
12
- import { twoFactorService } from '../services/two-factor.service';
13
- import { findUserById } from '../../users/action/find-user-by-id.action';
14
- import { UserProfile } from '../../users/schema';
15
- import { ApiError } from '../../../infra/api/types';
16
-
17
- export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
18
- return safeServerAction(async () => {
19
- const { users, total } = await accountService.listAccountUsers(params);
20
- return { data: users, total };
21
- });
22
- }
23
-
24
- export async function updateUserAction(user: UpdateAccountUserRequest) {
25
- return safeServerAction(() => accountService.updateAccountUser(user));
26
- }
27
-
28
- export async function updateAccountUserByIdAction(
29
- userId: number,
30
- user: UpdateAccountUserRequest
31
- ) {
32
- return safeServerAction(() => accountService.updateAccountUserById(userId, user));
33
- }
34
-
35
- export async function updateAccountAction(data: UpdateAccountRequest) {
36
- return safeServerAction(async () => {
37
- if (data.name !== undefined) {
38
- const userResult = await findUserById();
39
- if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
40
- throw new ApiError(
41
- 'Apenas o proprietário da conta pode alterar o nome da empresa',
42
- 'FORBIDDEN',
43
- 403
44
- );
45
- }
46
- }
47
-
48
- return accountService.updateAccount(data);
49
- });
50
- }
51
-
52
- export async function deleteAccountUserAction(userId: number) {
53
- return safeServerAction(() => accountService.deleteAccountUser(userId));
54
- }
55
-
56
- export async function deleteAccountAction() {
57
- return safeServerAction(() => accountService.deleteAccount());
58
- }
59
-
60
- export async function createAccountUserAction(user: CreateAccountUserRequest) {
61
- return safeServerAction(() => accountService.createAccountUser(user));
62
- }
63
-
64
- export async function changePasswordAction(data: ChangePasswordRequest) {
65
- return safeServerAction(() => accountService.changePassword(data));
66
- }
67
-
68
- export async function requestEmailChangeAction(newEmail: string) {
69
- return safeServerAction(() => accountService.requestContactReset('email', newEmail));
70
- }
71
-
72
- export async function confirmEmailChangeAction(token: string, newEmail: string) {
73
- return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
74
- }
75
-
76
- export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
77
- return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
78
- }
79
-
80
- export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
81
- return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
82
- }
83
-
84
- export async function generateTwoFactorAction() {
85
- return safeServerAction(async () => {
86
- const result = await twoFactorService.generate();
87
- return {
88
- qrcode: result.data.qrcode,
89
- backupCodes: result.data.backup_codes,
90
- };
91
- });
92
- }
93
-
94
- export async function confirmTwoFactorAction(code: string) {
95
- return safeServerAction(async () => {
96
- await twoFactorService.confirm(code);
97
- await accountService.updateAccountUser({ two_factor_authentication: true });
98
- });
99
- }
100
-
101
- export async function disableTwoFactorAction(code: string) {
102
- return safeServerAction(async () => {
103
- await twoFactorService.verify(code);
104
- await twoFactorService.disable();
105
- await accountService.updateAccountUser({ two_factor_authentication: false });
106
- });
107
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountService } from '../services/account.service';
5
+ import type {
6
+ AccountUsersPaginationParams,
7
+ ChangePasswordRequest,
8
+ CreateAccountUserRequest,
9
+ UpdateAccountRequest,
10
+ UpdateAccountUserRequest,
11
+ } from '../types';
12
+ import { twoFactorService } from '../services/two-factor.service';
13
+ import { findUserById } from '../../users/action/find-user-by-id.action';
14
+ import { UserProfile } from '../../users/schema';
15
+ import { ApiError } from '../../../infra/api/types';
16
+
17
+ export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
18
+ return safeServerAction(async () => {
19
+ const { users, total } = await accountService.listAccountUsers(params);
20
+ return { data: users, total };
21
+ });
22
+ }
23
+
24
+ export async function updateUserAction(user: UpdateAccountUserRequest) {
25
+ return safeServerAction(() => accountService.updateAccountUser(user));
26
+ }
27
+
28
+ export async function updateAccountUserByIdAction(
29
+ userId: number,
30
+ user: UpdateAccountUserRequest
31
+ ) {
32
+ return safeServerAction(() => accountService.updateAccountUserById(userId, user));
33
+ }
34
+
35
+ export async function updateAccountAction(data: UpdateAccountRequest) {
36
+ return safeServerAction(async () => {
37
+ if (data.name !== undefined) {
38
+ const userResult = await findUserById();
39
+ if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
40
+ throw new ApiError(
41
+ 'Apenas o proprietário da conta pode alterar o nome da empresa',
42
+ 'FORBIDDEN',
43
+ 403
44
+ );
45
+ }
46
+ }
47
+
48
+ return accountService.updateAccount(data);
49
+ });
50
+ }
51
+
52
+ export async function deleteAccountUserAction(userId: number) {
53
+ return safeServerAction(() => accountService.deleteAccountUser(userId));
54
+ }
55
+
56
+ export async function deleteAccountAction() {
57
+ return safeServerAction(() => accountService.deleteAccount());
58
+ }
59
+
60
+ export async function createAccountUserAction(user: CreateAccountUserRequest) {
61
+ return safeServerAction(() => accountService.createAccountUser(user));
62
+ }
63
+
64
+ export async function changePasswordAction(data: ChangePasswordRequest) {
65
+ return safeServerAction(() => accountService.changePassword(data));
66
+ }
67
+
68
+ export async function requestEmailChangeAction(newEmail: string) {
69
+ return safeServerAction(() => accountService.requestContactReset('email', newEmail));
70
+ }
71
+
72
+ export async function confirmEmailChangeAction(token: string, newEmail: string) {
73
+ return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
74
+ }
75
+
76
+ export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
77
+ return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
78
+ }
79
+
80
+ export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
81
+ return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
82
+ }
83
+
84
+ export async function generateTwoFactorAction() {
85
+ return safeServerAction(async () => {
86
+ const result = await twoFactorService.generate();
87
+ return {
88
+ qrcode: result.data.qrcode,
89
+ backupCodes: result.data.backup_codes,
90
+ };
91
+ });
92
+ }
93
+
94
+ export async function confirmTwoFactorAction(code: string) {
95
+ return safeServerAction(async () => {
96
+ await twoFactorService.confirm(code);
97
+ await accountService.updateAccountUser({ two_factor_authentication: true });
98
+ });
99
+ }
100
+
101
+ export async function disableTwoFactorAction(code: string) {
102
+ return safeServerAction(async () => {
103
+ await twoFactorService.verify(code);
104
+ await twoFactorService.disable();
105
+ await accountService.updateAccountUser({ two_factor_authentication: false });
106
+ });
107
+ }
@@ -1,9 +1,9 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountService } from '../services/account.service';
5
- import type { Account } from '../types';
6
-
7
- export async function findCurrentAccount() {
8
- return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountService } from '../services/account.service';
5
+ import type { Account } from '../types';
6
+
7
+ export async function findCurrentAccount() {
8
+ return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { currencyService } from '../services/currency.service';
5
-
6
- export async function listCurrenciesAction() {
7
- return safeServerAction(() => currencyService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { currencyService } from '../services/currency.service';
5
+
6
+ export async function listCurrenciesAction() {
7
+ return safeServerAction(() => currencyService.fetchOptions());
8
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { timezoneService } from '../services/timezone.service';
5
-
6
- export async function listTimezonesAction() {
7
- return safeServerAction(() => timezoneService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { timezoneService } from '../services/timezone.service';
5
+
6
+ export async function listTimezonesAction() {
7
+ return safeServerAction(() => timezoneService.fetchOptions());
8
+ }
@@ -1,22 +1,22 @@
1
- 'use client';
2
-
3
- import { useQuery, useQueryClient } from '@tanstack/react-query';
4
- import { findCurrentAccount } from '../actions/find-current-account.action';
5
- import { withAction } from '../../../utils/withAction';
6
-
7
- export const ACCOUNT_QUERY_KEY = ['account'];
8
-
9
- export function useCurrentAccount() {
10
- return useQuery({
11
- queryKey: ACCOUNT_QUERY_KEY,
12
- queryFn: withAction(findCurrentAccount),
13
- staleTime: 0,
14
- gcTime: 10 * 60 * 1000,
15
- retry: false,
16
- });
17
- }
18
-
19
- export function useInvalidateAccount() {
20
- const queryClient = useQueryClient();
21
- return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
22
- }
1
+ 'use client';
2
+
3
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
4
+ import { findCurrentAccount } from '../actions/find-current-account.action';
5
+ import { withAction } from '../../../utils/withAction';
6
+
7
+ export const ACCOUNT_QUERY_KEY = ['account'];
8
+
9
+ export function useCurrentAccount() {
10
+ return useQuery({
11
+ queryKey: ACCOUNT_QUERY_KEY,
12
+ queryFn: withAction(findCurrentAccount),
13
+ staleTime: 0,
14
+ gcTime: 10 * 60 * 1000,
15
+ retry: false,
16
+ });
17
+ }
18
+
19
+ export function useInvalidateAccount() {
20
+ const queryClient = useQueryClient();
21
+ return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
22
+ }