@greatapps/common 1.1.371 → 1.1.374

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 (338) 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 +1 -1
  67. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  68. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  69. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  70. package/dist/components/ui/form/FormField.mjs.map +1 -1
  71. package/dist/components/ui/form/Input.mjs.map +1 -1
  72. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  73. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  74. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  75. package/dist/components/ui/form/Select.mjs +1 -1
  76. package/dist/components/ui/form/Select.mjs.map +1 -1
  77. package/dist/components/ui/form/SelectField.mjs +1 -1
  78. package/dist/components/ui/form/SelectField.mjs.map +1 -1
  79. package/dist/components/ui/form/Switch.mjs.map +1 -1
  80. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  81. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  82. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  83. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  84. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  85. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  86. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  87. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  88. package/dist/hooks/useDebounce.mjs.map +1 -1
  89. package/dist/hooks/useDebounceState.mjs.map +1 -1
  90. package/dist/hooks/useDebouncedEffect.mjs.map +1 -1
  91. package/dist/index.mjs.map +1 -1
  92. package/dist/infra/utils/clsx.mjs.map +1 -1
  93. package/dist/infra/utils/date.mjs.map +1 -1
  94. package/dist/infra/utils/parser.mjs.map +1 -1
  95. package/dist/infra/utils/percentage.mjs.map +1 -1
  96. package/dist/middleware.mjs.map +1 -1
  97. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  98. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  99. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  100. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  101. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  102. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  103. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  104. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  105. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  106. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  107. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  108. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  109. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  110. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  111. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  112. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  113. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  114. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  115. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  116. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  117. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  118. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  119. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  120. package/dist/modules/cards/types.mjs.map +1 -1
  121. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  122. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  123. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  124. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  125. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  126. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  127. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  128. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  129. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  130. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  131. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  132. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  133. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  134. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  135. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  136. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  137. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  138. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  139. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  140. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  141. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  142. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  143. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  144. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  145. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  146. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  147. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  148. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  149. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  150. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  151. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  152. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  153. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  154. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  155. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  156. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  157. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  158. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  159. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  160. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  161. package/dist/store/useAccountModals.mjs.map +1 -1
  162. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  163. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  164. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  165. package/dist/store/useModalManager.mjs.map +1 -1
  166. package/dist/utils/constants/br-states.mjs.map +1 -1
  167. package/dist/utils/countries.mjs.map +1 -1
  168. package/dist/utils/safeServerAction.mjs.map +1 -1
  169. package/dist/utils/withAction.mjs.map +1 -1
  170. package/package.json +89 -89
  171. package/src/components/account/AccountModals.tsx +17 -17
  172. package/src/components/account/ConfigurationsMyAccountModal.tsx +146 -146
  173. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  174. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  175. package/src/components/account/DeleteAccountModal.tsx +130 -130
  176. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  177. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  178. package/src/components/account/TwoFactorAuthModal.tsx +215 -215
  179. package/src/components/account/hooks/useChangePhoneForm.tsx +107 -107
  180. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  181. package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
  182. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  183. package/src/components/account/sections/ChangePhoneModal.tsx +245 -245
  184. package/src/components/account/sections/MyProfileSection.tsx +327 -327
  185. package/src/components/account/sections/PreferencesSection.tsx +248 -248
  186. package/src/components/account/sections/SecuritySection.tsx +46 -46
  187. package/src/components/embeds/CrispEmbed.tsx +101 -101
  188. package/src/components/embeds/FrillEmbed.tsx +119 -119
  189. package/src/components/handlers/SearchParamsHandler.tsx +61 -61
  190. package/src/components/layouts/AppMobileNavBar.tsx +118 -118
  191. package/src/components/layouts/AppNavBar.tsx +46 -46
  192. package/src/components/layouts/CollapsibleSidebar.tsx +67 -67
  193. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  194. package/src/components/layouts/NavBar.tsx +172 -172
  195. package/src/components/layouts/NotificationsPopover.tsx +115 -115
  196. package/src/components/layouts/ProfilePopover.tsx +178 -170
  197. package/src/components/layouts/SideBarNavigation.tsx +62 -62
  198. package/src/components/layouts/UsersSelectorPopover.tsx +234 -234
  199. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  200. package/src/components/modals/BuyCreditsModal.tsx +314 -314
  201. package/src/components/modals/ModalManager.tsx +29 -29
  202. package/src/components/modals/Modals.tsx +26 -26
  203. package/src/components/modals/cards/AddCardModal.tsx +260 -260
  204. package/src/components/modals/cards/CardFormFields.tsx +294 -294
  205. package/src/components/navigation/CancelledSubscriptionBanner.tsx +60 -60
  206. package/src/components/navigation/NavItemsContext.ts +20 -20
  207. package/src/components/navigation/ProjectSelectorPopover.tsx +160 -160
  208. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  209. package/src/components/navigation/subcomponents/ProjectSelector.tsx +160 -160
  210. package/src/components/pages/NotFoundPage.tsx +50 -50
  211. package/src/components/pages/notifications/Notifications.tsx +160 -160
  212. package/src/components/ui/buttons/Button.tsx +57 -57
  213. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  214. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  215. package/src/components/ui/data-display/Accordion.tsx +81 -81
  216. package/src/components/ui/data-display/Badge.tsx +47 -47
  217. package/src/components/ui/data-display/Card.tsx +93 -93
  218. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  219. package/src/components/ui/data-display/CardItem.tsx +75 -75
  220. package/src/components/ui/data-display/Pagination.tsx +126 -126
  221. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
  222. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  223. package/src/components/ui/data-display/Separator.tsx +29 -29
  224. package/src/components/ui/data-display/Table.tsx +117 -117
  225. package/src/components/ui/data-display/Tabs.tsx +67 -67
  226. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  227. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  228. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  229. package/src/components/ui/feedback/Progress.tsx +40 -40
  230. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  231. package/src/components/ui/feedback/Toast.tsx +101 -101
  232. package/src/components/ui/form/Calendar.tsx +228 -228
  233. package/src/components/ui/form/Checkbox.tsx +31 -31
  234. package/src/components/ui/form/ComboboxField.tsx +154 -154
  235. package/src/components/ui/form/DatePicker.tsx +97 -97
  236. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  237. package/src/components/ui/form/FormField.tsx +131 -131
  238. package/src/components/ui/form/Input.tsx +20 -20
  239. package/src/components/ui/form/InputOtp.tsx +80 -80
  240. package/src/components/ui/form/PhoneInput.tsx +208 -208
  241. package/src/components/ui/form/RadioGroup.tsx +45 -45
  242. package/src/components/ui/form/Select.tsx +200 -200
  243. package/src/components/ui/form/SelectField.tsx +1 -1
  244. package/src/components/ui/form/Switch.tsx +32 -32
  245. package/src/components/ui/form/Textarea.tsx +19 -19
  246. package/src/components/ui/overlay/Command.tsx +185 -185
  247. package/src/components/ui/overlay/Dialog.tsx +151 -151
  248. package/src/components/ui/overlay/Popover.tsx +49 -49
  249. package/src/components/ui/overlay/Sheet.tsx +166 -166
  250. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  251. package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
  252. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  253. package/src/hooks/useDebounce.ts +26 -26
  254. package/src/hooks/useDebounceState.ts +11 -11
  255. package/src/hooks/useDebouncedEffect.ts +69 -69
  256. package/src/index.ts +391 -391
  257. package/src/infra/utils/clsx.ts +6 -6
  258. package/src/infra/utils/date.ts +7 -7
  259. package/src/infra/utils/parser.ts +52 -52
  260. package/src/infra/utils/percentage.ts +42 -42
  261. package/src/middleware.ts +4 -4
  262. package/src/modules/accounts/actions/account-management.action.ts +107 -107
  263. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  264. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  265. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  266. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  267. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  268. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  269. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  270. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  271. package/src/modules/accounts/services/account.service.ts +239 -239
  272. package/src/modules/accounts/types.ts +225 -225
  273. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  274. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  275. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  276. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  277. package/src/modules/auth/hooks/useManagementPermissions.ts +45 -45
  278. package/src/modules/auth/types/management-permission.type.ts +7 -7
  279. package/src/modules/auth/utils/assert-management-permission.ts +46 -46
  280. package/src/modules/auth/utils/assert-management-subscription.ts +27 -27
  281. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  282. package/src/modules/cards/actions/create-card.action.ts +9 -9
  283. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  284. package/src/modules/cards/hooks/cards.hook.ts +14 -14
  285. package/src/modules/cards/hooks/create-card.hook.ts +18 -18
  286. package/src/modules/cards/services/cards.service.ts +51 -51
  287. package/src/modules/cards/types.ts +32 -32
  288. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  289. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  290. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
  291. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
  292. package/src/modules/plans/services/plans.service.ts +36 -36
  293. package/src/modules/plans/types/plan.type.ts +21 -21
  294. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  295. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  296. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  297. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  298. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  299. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  300. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  301. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  302. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  303. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  304. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  305. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  306. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  307. package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
  308. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  309. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  310. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
  311. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
  312. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +39 -39
  313. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  314. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
  315. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  316. package/src/modules/subscriptions/utils/has-subscription-expired.ts +8 -8
  317. package/src/modules/subscriptions/utils/periodicity.ts +52 -52
  318. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  319. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  320. package/src/modules/users/action/list-messages.action.ts +12 -12
  321. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  322. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  323. package/src/modules/users/hooks/messages.hook.ts +60 -60
  324. package/src/modules/users/services/messages.service.ts +48 -48
  325. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  326. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  327. package/src/modules/whitelabel/schema.ts +84 -84
  328. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  329. package/src/providers/whitelabel.provider.tsx +54 -54
  330. package/src/store/useAccountModals.ts +55 -55
  331. package/src/store/useBuyCreditsModal.ts +21 -21
  332. package/src/store/useDesktopSidebarStore.ts +47 -47
  333. package/src/store/useMdSidebarStore.ts +34 -34
  334. package/src/store/useModalManager.ts +104 -104
  335. package/src/utils/constants/br-states.ts +29 -29
  336. package/src/utils/countries.ts +224 -224
  337. package/src/utils/safeServerAction.ts +21 -21
  338. package/src/utils/withAction.ts +13 -13
@@ -1,200 +1,200 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as SelectPrimitive from "@radix-ui/react-select";
5
- import { IconCheck, IconChevronDown, IconChevronUp } from '@tabler/icons-react';
6
- import { cn } from "../../../infra/utils/clsx";
7
-
8
- function Select({
9
- ...props
10
- }: React.ComponentProps<typeof SelectPrimitive.Root>) {
11
- return <SelectPrimitive.Root data-slot="select" {...props} />;
12
- }
13
-
14
- function SelectGroup({
15
- ...props
16
- }: React.ComponentProps<typeof SelectPrimitive.Group>) {
17
- return <SelectPrimitive.Group data-slot="select-group" {...props} />;
18
- }
19
-
20
- function SelectValue({
21
- ...props
22
- }: React.ComponentProps<typeof SelectPrimitive.Value>) {
23
- return <SelectPrimitive.Value data-slot="select-value" {...props} />;
24
- }
25
-
26
- function SelectTrigger({
27
- className,
28
- size = "default",
29
- children,
30
- icon,
31
- ...props
32
- }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
33
- size?: "sm" | "default";
34
- icon?: React.ReactNode;
35
- }) {
36
- return (
37
- <SelectPrimitive.Trigger
38
- data-slot="select-trigger"
39
- data-size={size}
40
- className={cn(
41
- "group/data-select border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer",
42
- className,
43
- )}
44
- {...props}
45
- >
46
- {children}
47
-
48
- <SelectPrimitive.Icon asChild>
49
- {icon ?? (
50
- <IconChevronDown
51
- className="
52
- size-4 opacity-50 transition-all duration-200
53
- group-data-[state=open]/data-select:rotate-180
54
- group-data-[state=open]/data-select:opacity-100
55
- group-data-[state=open]/data-select:text-gray-950!
56
- "
57
- />
58
- )}
59
- </SelectPrimitive.Icon>
60
- </SelectPrimitive.Trigger>
61
- );
62
- }
63
-
64
- function SelectContent({
65
- className,
66
- children,
67
- position = "popper",
68
- align = "center",
69
- ...props
70
- }: React.ComponentProps<typeof SelectPrimitive.Content>) {
71
- return (
72
- <SelectPrimitive.Portal>
73
- <SelectPrimitive.Content
74
- data-slot="select-content"
75
- className={cn(
76
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 relative z-[1001] max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
77
- position === "popper" &&
78
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
79
- className,
80
- )}
81
- position={position}
82
- align={align}
83
- {...props}
84
- >
85
- <SelectScrollUpButton />
86
- <SelectPrimitive.Viewport
87
- className={cn(
88
- "p-1",
89
- position === "popper" &&
90
- "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1",
91
- )}
92
- >
93
- {children}
94
- </SelectPrimitive.Viewport>
95
- <SelectScrollDownButton />
96
- </SelectPrimitive.Content>
97
- </SelectPrimitive.Portal>
98
- );
99
- }
100
-
101
- function SelectLabel({
102
- className,
103
- ...props
104
- }: React.ComponentProps<typeof SelectPrimitive.Label>) {
105
- return (
106
- <SelectPrimitive.Label
107
- data-slot="select-label"
108
- className={cn("text-muted-foreground px-2 py-1.5 text-xs", className)}
109
- {...props}
110
- />
111
- );
112
- }
113
-
114
- function SelectItem({
115
- className,
116
- children,
117
- ...props
118
- }: React.ComponentProps<typeof SelectPrimitive.Item>) {
119
- return (
120
- <SelectPrimitive.Item
121
- data-slot="select-item"
122
- className={cn(
123
- "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 cursor-pointer",
124
- className,
125
- )}
126
- {...props}
127
- >
128
- <span className="absolute right-2 flex size-3.5 items-center justify-center">
129
- <SelectPrimitive.ItemIndicator>
130
- <IconCheck className="size-4" />
131
- </SelectPrimitive.ItemIndicator>
132
- </span>
133
- <SelectPrimitive.ItemText className="cursor-pointer">
134
- {children}
135
- </SelectPrimitive.ItemText>
136
- </SelectPrimitive.Item>
137
- );
138
- }
139
-
140
- function SelectSeparator({
141
- className,
142
- ...props
143
- }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
144
- return (
145
- <SelectPrimitive.Separator
146
- data-slot="select-separator"
147
- className={cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)}
148
- {...props}
149
- />
150
- );
151
- }
152
-
153
- function SelectScrollUpButton({
154
- className,
155
- ...props
156
- }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
157
- return (
158
- <SelectPrimitive.ScrollUpButton
159
- data-slot="select-scroll-up-button"
160
- className={cn(
161
- "flex cursor-default items-center justify-center py-1",
162
- className,
163
- )}
164
- {...props}
165
- >
166
- <IconChevronUp className="size-4" />
167
- </SelectPrimitive.ScrollUpButton>
168
- );
169
- }
170
-
171
- function SelectScrollDownButton({
172
- className,
173
- ...props
174
- }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
175
- return (
176
- <SelectPrimitive.ScrollDownButton
177
- data-slot="select-scroll-down-button"
178
- className={cn(
179
- "flex cursor-default items-center justify-center py-1",
180
- className,
181
- )}
182
- {...props}
183
- >
184
- <IconChevronDown className="size-4" />
185
- </SelectPrimitive.ScrollDownButton>
186
- );
187
- }
188
-
189
- export {
190
- Select,
191
- SelectContent,
192
- SelectGroup,
193
- SelectItem,
194
- SelectLabel,
195
- SelectScrollDownButton,
196
- SelectScrollUpButton,
197
- SelectSeparator,
198
- SelectTrigger,
199
- SelectValue,
200
- };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import * as SelectPrimitive from "@radix-ui/react-select";
5
+ import { IconCheck, IconChevronDown, IconChevronUp } from '@tabler/icons-react';
6
+ import { cn } from "../../../infra/utils/clsx";
7
+
8
+ function Select({
9
+ ...props
10
+ }: React.ComponentProps<typeof SelectPrimitive.Root>) {
11
+ return <SelectPrimitive.Root data-slot="select" {...props} />;
12
+ }
13
+
14
+ function SelectGroup({
15
+ ...props
16
+ }: React.ComponentProps<typeof SelectPrimitive.Group>) {
17
+ return <SelectPrimitive.Group data-slot="select-group" {...props} />;
18
+ }
19
+
20
+ function SelectValue({
21
+ ...props
22
+ }: React.ComponentProps<typeof SelectPrimitive.Value>) {
23
+ return <SelectPrimitive.Value data-slot="select-value" {...props} />;
24
+ }
25
+
26
+ function SelectTrigger({
27
+ className,
28
+ size = "default",
29
+ children,
30
+ icon,
31
+ ...props
32
+ }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
33
+ size?: "sm" | "default";
34
+ icon?: React.ReactNode;
35
+ }) {
36
+ return (
37
+ <SelectPrimitive.Trigger
38
+ data-slot="select-trigger"
39
+ data-size={size}
40
+ className={cn(
41
+ "group/data-select border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer",
42
+ className,
43
+ )}
44
+ {...props}
45
+ >
46
+ {children}
47
+
48
+ <SelectPrimitive.Icon asChild>
49
+ {icon ?? (
50
+ <IconChevronDown
51
+ className="
52
+ size-4 opacity-50 transition-all duration-200
53
+ group-data-[state=open]/data-select:rotate-180
54
+ group-data-[state=open]/data-select:opacity-100
55
+ group-data-[state=open]/data-select:text-gray-950!
56
+ "
57
+ />
58
+ )}
59
+ </SelectPrimitive.Icon>
60
+ </SelectPrimitive.Trigger>
61
+ );
62
+ }
63
+
64
+ function SelectContent({
65
+ className,
66
+ children,
67
+ position = "popper",
68
+ align = "center",
69
+ ...props
70
+ }: React.ComponentProps<typeof SelectPrimitive.Content>) {
71
+ return (
72
+ <SelectPrimitive.Portal>
73
+ <SelectPrimitive.Content
74
+ data-slot="select-content"
75
+ className={cn(
76
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 relative z-[1001] max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
77
+ position === "popper" &&
78
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
79
+ className,
80
+ )}
81
+ position={position}
82
+ align={align}
83
+ {...props}
84
+ >
85
+ <SelectScrollUpButton />
86
+ <SelectPrimitive.Viewport
87
+ className={cn(
88
+ "p-1",
89
+ position === "popper" &&
90
+ "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1",
91
+ )}
92
+ >
93
+ {children}
94
+ </SelectPrimitive.Viewport>
95
+ <SelectScrollDownButton />
96
+ </SelectPrimitive.Content>
97
+ </SelectPrimitive.Portal>
98
+ );
99
+ }
100
+
101
+ function SelectLabel({
102
+ className,
103
+ ...props
104
+ }: React.ComponentProps<typeof SelectPrimitive.Label>) {
105
+ return (
106
+ <SelectPrimitive.Label
107
+ data-slot="select-label"
108
+ className={cn("text-muted-foreground px-2 py-1.5 text-xs", className)}
109
+ {...props}
110
+ />
111
+ );
112
+ }
113
+
114
+ function SelectItem({
115
+ className,
116
+ children,
117
+ ...props
118
+ }: React.ComponentProps<typeof SelectPrimitive.Item>) {
119
+ return (
120
+ <SelectPrimitive.Item
121
+ data-slot="select-item"
122
+ className={cn(
123
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 cursor-pointer",
124
+ className,
125
+ )}
126
+ {...props}
127
+ >
128
+ <span className="absolute right-2 flex size-3.5 items-center justify-center">
129
+ <SelectPrimitive.ItemIndicator>
130
+ <IconCheck className="size-4" />
131
+ </SelectPrimitive.ItemIndicator>
132
+ </span>
133
+ <SelectPrimitive.ItemText className="cursor-pointer">
134
+ {children}
135
+ </SelectPrimitive.ItemText>
136
+ </SelectPrimitive.Item>
137
+ );
138
+ }
139
+
140
+ function SelectSeparator({
141
+ className,
142
+ ...props
143
+ }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
144
+ return (
145
+ <SelectPrimitive.Separator
146
+ data-slot="select-separator"
147
+ className={cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)}
148
+ {...props}
149
+ />
150
+ );
151
+ }
152
+
153
+ function SelectScrollUpButton({
154
+ className,
155
+ ...props
156
+ }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
157
+ return (
158
+ <SelectPrimitive.ScrollUpButton
159
+ data-slot="select-scroll-up-button"
160
+ className={cn(
161
+ "flex cursor-default items-center justify-center py-1",
162
+ className,
163
+ )}
164
+ {...props}
165
+ >
166
+ <IconChevronUp className="size-4" />
167
+ </SelectPrimitive.ScrollUpButton>
168
+ );
169
+ }
170
+
171
+ function SelectScrollDownButton({
172
+ className,
173
+ ...props
174
+ }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
175
+ return (
176
+ <SelectPrimitive.ScrollDownButton
177
+ data-slot="select-scroll-down-button"
178
+ className={cn(
179
+ "flex cursor-default items-center justify-center py-1",
180
+ className,
181
+ )}
182
+ {...props}
183
+ >
184
+ <IconChevronDown className="size-4" />
185
+ </SelectPrimitive.ScrollDownButton>
186
+ );
187
+ }
188
+
189
+ export {
190
+ Select,
191
+ SelectContent,
192
+ SelectGroup,
193
+ SelectItem,
194
+ SelectLabel,
195
+ SelectScrollDownButton,
196
+ SelectScrollUpButton,
197
+ SelectSeparator,
198
+ SelectTrigger,
199
+ SelectValue,
200
+ };
@@ -84,7 +84,7 @@ export function SelectField({
84
84
  error
85
85
  ? 'border-red-600 hover:border-red-700 focus:border-red-600'
86
86
  : 'border-gray-200 hover:border-gray-400 focus-within:border-gray-950 focus:border-gray-950',
87
- disabled && 'cursor-not-allowed opacity-50',
87
+ disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',
88
88
  className
89
89
  )}
90
90
  icon={icon}
@@ -1,32 +1,32 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import * as SwitchPrimitive from "@radix-ui/react-switch"
7
- import { cn } from "../../../infra/utils/clsx"
8
-
9
- function Switch({
10
- className,
11
- ...props
12
- }: React.ComponentProps<typeof SwitchPrimitive.Root>) {
13
- return (
14
- <SwitchPrimitive.Root
15
- data-slot="switch"
16
- className={cn(
17
- "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 cursor-pointer dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
18
- className
19
- )}
20
- {...props}
21
- >
22
- <SwitchPrimitive.Thumb
23
- data-slot="switch-thumb"
24
- className={cn(
25
- "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
26
- )}
27
- />
28
- </SwitchPrimitive.Root>
29
- )
30
- }
31
-
32
- export { Switch }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import * as SwitchPrimitive from "@radix-ui/react-switch"
7
+ import { cn } from "../../../infra/utils/clsx"
8
+
9
+ function Switch({
10
+ className,
11
+ ...props
12
+ }: React.ComponentProps<typeof SwitchPrimitive.Root>) {
13
+ return (
14
+ <SwitchPrimitive.Root
15
+ data-slot="switch"
16
+ className={cn(
17
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 cursor-pointer dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
18
+ className
19
+ )}
20
+ {...props}
21
+ >
22
+ <SwitchPrimitive.Thumb
23
+ data-slot="switch-thumb"
24
+ className={cn(
25
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
26
+ )}
27
+ />
28
+ </SwitchPrimitive.Root>
29
+ )
30
+ }
31
+
32
+ export { Switch }
@@ -1,19 +1,19 @@
1
- 'use client';
2
-
3
- import * as React from "react"
4
- import { cn } from "../../../infra/utils/clsx"
5
-
6
- function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
7
- return (
8
- <textarea
9
- data-slot="textarea"
10
- className={cn(
11
- "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
12
- className
13
- )}
14
- {...props}
15
- />
16
- )
17
- }
18
-
19
- export { Textarea }
1
+ 'use client';
2
+
3
+ import * as React from "react"
4
+ import { cn } from "../../../infra/utils/clsx"
5
+
6
+ function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
7
+ return (
8
+ <textarea
9
+ data-slot="textarea"
10
+ className={cn(
11
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
12
+ className
13
+ )}
14
+ {...props}
15
+ />
16
+ )
17
+ }
18
+
19
+ export { Textarea }