@greatapps/common 1.1.697 → 1.1.699

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 (557) 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/account/sections/TokenSection.mjs.map +1 -1
  18. package/dist/components/embeds/ClarityEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  20. package/dist/components/embeds/EmbedWidgets.mjs.map +1 -1
  21. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  22. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  23. package/dist/components/layouts/AppNavBar.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.map +1 -1
  28. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
  29. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  30. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
  31. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  32. package/dist/components/modals/CreditsDisabledModal.mjs.map +1 -1
  33. package/dist/components/modals/Modals.mjs.map +1 -1
  34. package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
  35. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  36. package/dist/components/modals/cards/CannotDeleteCardModal.mjs.map +1 -1
  37. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  38. package/dist/components/modals/cards/DeleteCardModal.mjs.map +1 -1
  39. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  40. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  41. package/dist/components/navigation/OverdueInvoiceBanner.mjs.map +1 -1
  42. package/dist/components/navigation/PendingCancellationBanner.mjs.map +1 -1
  43. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  44. package/dist/components/navigation/SubscriptionBanner.mjs.map +1 -1
  45. package/dist/components/navigation/TrialBanner.mjs.map +1 -1
  46. package/dist/components/navigation/UpcomingInvoiceBanner.mjs.map +1 -1
  47. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  48. package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
  49. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  50. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  51. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  52. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  53. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  54. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  55. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  56. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  57. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  58. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  59. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  60. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  61. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  62. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  63. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  64. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  65. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  66. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  67. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  68. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  69. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  70. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  71. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  72. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  73. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  74. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  75. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  76. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  77. package/dist/components/ui/form/FormField.mjs.map +1 -1
  78. package/dist/components/ui/form/Input.mjs.map +1 -1
  79. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  80. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  81. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  82. package/dist/components/ui/form/Select.mjs +1 -1
  83. package/dist/components/ui/form/Select.mjs.map +1 -1
  84. package/dist/components/ui/form/Switch.mjs.map +1 -1
  85. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  86. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  87. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  88. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  89. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  90. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  91. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
  92. package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
  93. package/dist/components/widgets/ImageUpload/ImageUpload.mjs.map +1 -1
  94. package/dist/components/widgets/ImageUpload/index.mjs.map +1 -1
  95. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  96. package/dist/handlers.mjs.map +1 -1
  97. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  98. package/dist/hooks/useAuthQueryKey.mjs.map +1 -1
  99. package/dist/hooks/useBrandLoadingIcon.mjs.map +1 -1
  100. package/dist/hooks/useRouter.mjs.map +1 -1
  101. package/dist/http.mjs.map +1 -1
  102. package/dist/i18n/config.mjs.map +1 -1
  103. package/dist/i18n/country-language.mjs.map +1 -1
  104. package/dist/i18n/messages/en-us.mjs.map +1 -1
  105. package/dist/i18n/messages/es-es.mjs.map +1 -1
  106. package/dist/i18n/messages/index.mjs.map +1 -1
  107. package/dist/i18n/messages/pt-br.mjs.map +1 -1
  108. package/dist/i18n/normalize.mjs.map +1 -1
  109. package/dist/i18n/resolve-locale.mjs.map +1 -1
  110. package/dist/i18n.mjs.map +1 -1
  111. package/dist/index.mjs.map +1 -1
  112. package/dist/infra/http/api-fetch.mjs.map +1 -1
  113. package/dist/infra/route/parse-id.mjs.map +1 -1
  114. package/dist/infra/route/parse-numeric.mjs.map +1 -1
  115. package/dist/infra/route/safe-route-handler.mjs.map +1 -1
  116. package/dist/infra/route/search-params.mjs.map +1 -1
  117. package/dist/infra/utils/array.mjs.map +1 -1
  118. package/dist/infra/utils/date.mjs.map +1 -1
  119. package/dist/middleware.mjs.map +1 -1
  120. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  121. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  122. package/dist/modules/accounts/actions/get-account-token.action.mjs.map +1 -1
  123. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  124. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  125. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  126. package/dist/modules/accounts/hooks/use-account-token.hook.mjs.map +1 -1
  127. package/dist/modules/accounts/hooks/use-currency-formatter.hook.mjs.map +1 -1
  128. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  129. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  130. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  131. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  132. package/dist/modules/accounts/services/account-token.service.mjs.map +1 -1
  133. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  134. package/dist/modules/auth/actions/social-google-login.action.mjs.map +1 -1
  135. package/dist/modules/auth/actions/social-google-onboarding.action.mjs.map +1 -1
  136. package/dist/modules/auth/actions/unlink-google.action.mjs.map +1 -1
  137. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  138. package/dist/modules/auth/actions/verify-two-factor.action.mjs.map +1 -1
  139. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  140. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  141. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  142. package/dist/modules/auth/hooks/social-google-login.hook.mjs.map +1 -1
  143. package/dist/modules/auth/hooks/social-google-onboarding.hook.mjs.map +1 -1
  144. package/dist/modules/auth/hooks/unlink-google.hook.mjs.map +1 -1
  145. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  146. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  147. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  148. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  149. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  150. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  151. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  152. package/dist/modules/auth/utils/require-token-not-expired.mjs.map +1 -1
  153. package/dist/modules/auth/utils/require-valid-session.mjs.map +1 -1
  154. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  155. package/dist/modules/cards/actions/create-setup-intent.action.mjs.map +1 -1
  156. package/dist/modules/cards/actions/delete-card.action.mjs.map +1 -1
  157. package/dist/modules/cards/actions/set-default-card.action.mjs.map +1 -1
  158. package/dist/modules/cards/handlers/find-card-by-id.handler.mjs.map +1 -1
  159. package/dist/modules/cards/handlers/list-cards.handler.mjs.map +1 -1
  160. package/dist/modules/cards/hooks/card-by-id.hook.mjs.map +1 -1
  161. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  162. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  163. package/dist/modules/cards/hooks/create-setup-intent.hook.mjs.map +1 -1
  164. package/dist/modules/cards/hooks/delete-card.hook.mjs.map +1 -1
  165. package/dist/modules/cards/hooks/delete-confirmation.hook.mjs.map +1 -1
  166. package/dist/modules/cards/hooks/handle-delete-card.hook.mjs.map +1 -1
  167. package/dist/modules/cards/hooks/set-default-card.hook.mjs.map +1 -1
  168. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  169. package/dist/modules/cards/types.mjs.map +1 -1
  170. package/dist/modules/charges/actions/charge-action.action.mjs.map +1 -1
  171. package/dist/modules/charges/handlers/find-charge-by-id.handler.mjs.map +1 -1
  172. package/dist/modules/charges/handlers/list-charges.handler.mjs.map +1 -1
  173. package/dist/modules/charges/hooks/charge-action.hook.mjs.map +1 -1
  174. package/dist/modules/charges/hooks/charge-by-id.hook.mjs.map +1 -1
  175. package/dist/modules/charges/hooks/charges.hook.mjs.map +1 -1
  176. package/dist/modules/charges/services/charges.service.mjs.map +1 -1
  177. package/dist/modules/charges/types/charge.type.mjs.map +1 -1
  178. package/dist/modules/ia-credits/handlers/list-ia-credits.handler.mjs.map +1 -1
  179. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +1 -1
  180. package/dist/modules/images/actions/process-image.action.mjs.map +1 -1
  181. package/dist/modules/images/constants/image.constants.mjs.map +1 -1
  182. package/dist/modules/images/hooks/use-image-upload.hook.mjs.map +1 -1
  183. package/dist/modules/images/services/image-processing.service.mjs.map +1 -1
  184. package/dist/modules/images/utils/base64.mjs.map +1 -1
  185. package/dist/modules/images/utils/compress-image.mjs.map +1 -1
  186. package/dist/modules/images/utils/crop-image.mjs.map +1 -1
  187. package/dist/modules/images/utils/validate-image.mjs.map +1 -1
  188. package/dist/modules/pages/constants/query-keys.constants.mjs.map +1 -1
  189. package/dist/modules/pages/handlers/count-pages.handler.mjs.map +1 -1
  190. package/dist/modules/pages/hooks/count-pages.hook.mjs.map +1 -1
  191. package/dist/modules/pages/services/pages.service.mjs.map +1 -1
  192. package/dist/modules/plans/handlers/find-plan-by-id.handler.mjs.map +1 -1
  193. package/dist/modules/plans/handlers/list-plans.handler.mjs.map +1 -1
  194. package/dist/modules/plans/hooks/list-plans.hook.mjs.map +1 -1
  195. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  196. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  197. package/dist/modules/plans/services/plans.service.mjs +1 -1
  198. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  199. package/dist/modules/plans/types/plan.type.mjs +5 -1
  200. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  201. package/dist/modules/plans/utils/map-api-plan-to-ui.mjs.map +1 -1
  202. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  203. package/dist/modules/projects/actions/create-project.action.mjs.map +1 -1
  204. package/dist/modules/projects/actions/delete-project.action.mjs.map +1 -1
  205. package/dist/modules/projects/actions/find-project.action.mjs.map +1 -1
  206. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  207. package/dist/modules/projects/actions/list-projects.action.mjs.map +1 -1
  208. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  209. package/dist/modules/projects/actions/update-project.action.mjs.map +1 -1
  210. package/dist/modules/projects/handlers/find-project.handler.mjs.map +1 -1
  211. package/dist/modules/projects/handlers/list-all-account-users.handler.mjs.map +1 -1
  212. package/dist/modules/projects/handlers/list-available-users.handler.mjs.map +1 -1
  213. package/dist/modules/projects/handlers/list-project-users.handler.mjs.map +1 -1
  214. package/dist/modules/projects/handlers/list-projects.handler.mjs.map +1 -1
  215. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  216. package/dist/modules/projects/hooks/create-project.hook.mjs.map +1 -1
  217. package/dist/modules/projects/hooks/delete-project.hook.mjs.map +1 -1
  218. package/dist/modules/projects/hooks/find-project.hook.mjs.map +1 -1
  219. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  220. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  221. package/dist/modules/projects/hooks/list-infinite-projects.hook.mjs.map +1 -1
  222. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  223. package/dist/modules/projects/hooks/list-projects.hook.mjs.map +1 -1
  224. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  225. package/dist/modules/projects/hooks/update-project.hook.mjs.map +1 -1
  226. package/dist/modules/projects/services/project-users.service.mjs +2 -2
  227. package/dist/modules/projects/services/project-users.service.mjs.map +1 -1
  228. package/dist/modules/projects/services/projects.service.mjs.map +1 -1
  229. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  230. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  231. package/dist/modules/subscriptions/actions/update-subscription-payment.action.mjs.map +1 -1
  232. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  233. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  234. package/dist/modules/subscriptions/constants/subscription.constants.mjs.map +1 -1
  235. package/dist/modules/subscriptions/handlers/list-subscriptions.handler.mjs.map +1 -1
  236. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  237. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  238. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  239. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs.map +1 -1
  240. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  241. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  242. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  243. package/dist/modules/subscriptions/types/pix-pending.type.mjs.map +1 -1
  244. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  245. package/dist/modules/subscriptions/utils/get-subscription-cancellation-state.mjs.map +1 -1
  246. package/dist/modules/subscriptions/utils/get-subscription-expiry-date.mjs.map +1 -1
  247. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  248. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  249. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  250. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  251. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  252. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  253. package/dist/modules/users/handlers/list-messages.handler.mjs.map +1 -1
  254. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  255. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  256. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  257. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  258. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  259. package/dist/providers/auth.provider.mjs.map +1 -1
  260. package/dist/providers/navigation.provider.mjs.map +1 -1
  261. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  262. package/dist/route.mjs.map +1 -1
  263. package/dist/store/useAccountModals.mjs.map +1 -1
  264. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  265. package/dist/store/useCreditsDisabledModal.mjs.map +1 -1
  266. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  267. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  268. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  269. package/dist/utils/constants/br-states.mjs.map +1 -1
  270. package/dist/utils/countries.mjs.map +1 -1
  271. package/dist/utils/format/currency.mjs.map +1 -1
  272. package/dist/utils/intl/cookie-domain.mjs.map +1 -1
  273. package/dist/utils/intl/locale-cookie.mjs.map +1 -1
  274. package/dist/utils/next-navigation.mjs.map +1 -1
  275. package/dist/utils/redirect.mjs.map +1 -1
  276. package/dist/utils/safeMutationAction.mjs.map +1 -1
  277. package/dist/utils/safeServerAction.mjs.map +1 -1
  278. package/dist/utils/withAction.mjs.map +1 -1
  279. package/package.json +115 -115
  280. package/src/components/account/ConfigurationsMyAccountModal.tsx +179 -179
  281. package/src/components/account/ConfirmDeleteAccountModal.tsx +110 -110
  282. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +68 -68
  283. package/src/components/account/DeleteAccountModal.tsx +160 -160
  284. package/src/components/account/DisableTwoFactorAuthModal.tsx +92 -92
  285. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +51 -51
  286. package/src/components/account/TwoFactorAuthModal.tsx +220 -220
  287. package/src/components/account/hooks/useChangePhoneForm.tsx +113 -113
  288. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +116 -116
  289. package/src/components/account/sections/ChangeEmailModal.tsx +239 -239
  290. package/src/components/account/sections/ChangePasswordSection.tsx +68 -68
  291. package/src/components/account/sections/ChangePhoneModal.tsx +273 -273
  292. package/src/components/account/sections/MyProfileSection.tsx +276 -276
  293. package/src/components/account/sections/PreferencesSection.tsx +278 -278
  294. package/src/components/account/sections/SecuritySection.tsx +102 -102
  295. package/src/components/account/sections/TokenSection.tsx +85 -85
  296. package/src/components/embeds/ClarityEmbed.tsx +70 -70
  297. package/src/components/embeds/CrispEmbed.tsx +195 -195
  298. package/src/components/embeds/EmbedWidgets.tsx +62 -62
  299. package/src/components/embeds/FrillEmbed.tsx +146 -146
  300. package/src/components/layouts/AppMobileNavBar.tsx +214 -214
  301. package/src/components/layouts/AppNavBar.tsx +40 -40
  302. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  303. package/src/components/layouts/NavBar.tsx +228 -228
  304. package/src/components/layouts/NotificationsPopover.tsx +120 -120
  305. package/src/components/layouts/ProfilePopover.tsx +191 -191
  306. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  307. package/src/components/layouts/UsersSelectorPopover.tsx +236 -236
  308. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  309. package/src/components/modals/BuyCreditsModal.tsx +390 -390
  310. package/src/components/modals/CreditsDisabledModal.tsx +62 -62
  311. package/src/components/modals/Modals.tsx +25 -25
  312. package/src/components/modals/PaidPlanRequiredModal.tsx +60 -60
  313. package/src/components/modals/cards/AddCardModal.tsx +420 -420
  314. package/src/components/modals/cards/CannotDeleteCardModal.tsx +124 -124
  315. package/src/components/modals/cards/CardFormFields.tsx +363 -363
  316. package/src/components/modals/cards/DeleteCardModal.tsx +136 -136
  317. package/src/components/navigation/CancelledSubscriptionBanner.tsx +62 -62
  318. package/src/components/navigation/NavItemsContext.ts +20 -20
  319. package/src/components/navigation/OverdueInvoiceBanner.tsx +51 -51
  320. package/src/components/navigation/PendingCancellationBanner.tsx +60 -60
  321. package/src/components/navigation/ProjectSelectorPopover.tsx +180 -180
  322. package/src/components/navigation/SubscriptionBanner.tsx +94 -94
  323. package/src/components/navigation/TrialBanner.tsx +54 -54
  324. package/src/components/navigation/UpcomingInvoiceBanner.tsx +55 -55
  325. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  326. package/src/components/navigation/subcomponents/BottomLinks.tsx +85 -85
  327. package/src/components/navigation/subcomponents/ProjectSelector.tsx +184 -184
  328. package/src/components/pages/NotFoundPage.tsx +75 -75
  329. package/src/components/pages/notifications/Notifications.tsx +190 -190
  330. package/src/components/ui/buttons/Button.tsx +77 -77
  331. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  332. package/src/components/ui/buttons/CopyButton.tsx +59 -59
  333. package/src/components/ui/data-display/Accordion.tsx +81 -81
  334. package/src/components/ui/data-display/Badge.tsx +47 -47
  335. package/src/components/ui/data-display/Card.tsx +93 -93
  336. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  337. package/src/components/ui/data-display/CardItem.tsx +135 -135
  338. package/src/components/ui/data-display/Pagination.tsx +126 -126
  339. package/src/components/ui/data-display/PaymentInfoCard.tsx +193 -193
  340. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  341. package/src/components/ui/data-display/Separator.tsx +29 -29
  342. package/src/components/ui/data-display/Table.tsx +117 -117
  343. package/src/components/ui/data-display/Tabs.tsx +67 -67
  344. package/src/components/ui/feedback/CircularProgress.tsx +79 -79
  345. package/src/components/ui/feedback/DefaultCircularProgress.tsx +67 -67
  346. package/src/components/ui/feedback/LoadingOverlay.tsx +30 -30
  347. package/src/components/ui/feedback/Progress.tsx +40 -40
  348. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  349. package/src/components/ui/feedback/Toast.tsx +104 -104
  350. package/src/components/ui/form/Calendar.tsx +228 -228
  351. package/src/components/ui/form/Checkbox.tsx +31 -31
  352. package/src/components/ui/form/ComboboxField.tsx +159 -159
  353. package/src/components/ui/form/DatePicker.tsx +100 -100
  354. package/src/components/ui/form/DateRangePicker.tsx +111 -111
  355. package/src/components/ui/form/FormField.tsx +133 -133
  356. package/src/components/ui/form/Input.tsx +20 -20
  357. package/src/components/ui/form/InputOtp.tsx +80 -80
  358. package/src/components/ui/form/PhoneInput.tsx +210 -210
  359. package/src/components/ui/form/RadioGroup.tsx +45 -45
  360. package/src/components/ui/form/Select.tsx +200 -200
  361. package/src/components/ui/form/Switch.tsx +32 -32
  362. package/src/components/ui/form/Textarea.tsx +19 -19
  363. package/src/components/ui/overlay/Command.tsx +185 -185
  364. package/src/components/ui/overlay/Dialog.tsx +153 -153
  365. package/src/components/ui/overlay/Popover.tsx +49 -49
  366. package/src/components/ui/overlay/Sheet.tsx +170 -170
  367. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  368. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +392 -392
  369. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +62 -62
  370. package/src/components/widgets/ImageUpload/ImageUpload.tsx +131 -131
  371. package/src/components/widgets/ImageUpload/index.ts +3 -3
  372. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  373. package/src/handlers.ts +22 -22
  374. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  375. package/src/hooks/useAuthQueryKey.ts +32 -32
  376. package/src/hooks/useBrandLoadingIcon.tsx +18 -18
  377. package/src/hooks/useRouter.ts +38 -38
  378. package/src/http.ts +1 -1
  379. package/src/i18n/config.ts +17 -17
  380. package/src/i18n/country-language.ts +60 -60
  381. package/src/i18n/messages/en-us.ts +519 -519
  382. package/src/i18n/messages/es-es.ts +520 -520
  383. package/src/i18n/messages/index.ts +24 -24
  384. package/src/i18n/messages/pt-br.ts +543 -543
  385. package/src/i18n/normalize.ts +15 -15
  386. package/src/i18n/resolve-locale.ts +77 -77
  387. package/src/i18n.ts +10 -10
  388. package/src/index.ts +584 -584
  389. package/src/infra/http/api-fetch.ts +39 -39
  390. package/src/infra/route/parse-id.ts +9 -9
  391. package/src/infra/route/parse-numeric.ts +16 -16
  392. package/src/infra/route/safe-route-handler.ts +16 -16
  393. package/src/infra/route/search-params.ts +9 -9
  394. package/src/infra/utils/array.ts +167 -167
  395. package/src/infra/utils/date.ts +59 -59
  396. package/src/middleware.ts +4 -4
  397. package/src/modules/accounts/actions/account-management.action.ts +109 -109
  398. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  399. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  400. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  401. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  402. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  403. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  404. package/src/modules/accounts/hooks/use-currency-formatter.hook.tsx +32 -32
  405. package/src/modules/accounts/hooks/useAccountManagement.ts +95 -95
  406. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  407. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  408. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  409. package/src/modules/accounts/services/account-token.service.ts +52 -52
  410. package/src/modules/accounts/services/account.service.ts +243 -243
  411. package/src/modules/accounts/types.ts +230 -230
  412. package/src/modules/auth/actions/social-google-login.action.ts +12 -12
  413. package/src/modules/auth/actions/social-google-onboarding.action.ts +13 -13
  414. package/src/modules/auth/actions/unlink-google.action.ts +8 -8
  415. package/src/modules/auth/actions/validate-session.action.ts +70 -70
  416. package/src/modules/auth/actions/verify-two-factor.action.ts +19 -19
  417. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  418. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  419. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  420. package/src/modules/auth/hooks/social-google-login.hook.tsx +13 -13
  421. package/src/modules/auth/hooks/social-google-onboarding.hook.tsx +13 -13
  422. package/src/modules/auth/hooks/unlink-google.hook.tsx +13 -13
  423. package/src/modules/auth/hooks/useManagementPermissions.ts +52 -52
  424. package/src/modules/auth/hooks/useUserQuery.ts +103 -103
  425. package/src/modules/auth/types/management-permission.type.ts +14 -14
  426. package/src/modules/auth/utils/assert-management-permission.ts +56 -56
  427. package/src/modules/auth/utils/assert-management-subscription.ts +38 -38
  428. package/src/modules/auth/utils/assert-paid-subscription.ts +47 -47
  429. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  430. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  431. package/src/modules/auth/utils/require-token-not-expired.ts +53 -53
  432. package/src/modules/auth/utils/require-valid-session.ts +35 -35
  433. package/src/modules/cards/actions/create-card.action.ts +9 -9
  434. package/src/modules/cards/actions/create-setup-intent.action.ts +8 -8
  435. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  436. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  437. package/src/modules/cards/handlers/find-card-by-id.handler.ts +15 -15
  438. package/src/modules/cards/handlers/list-cards.handler.ts +10 -10
  439. package/src/modules/cards/hooks/card-by-id.hook.ts +17 -17
  440. package/src/modules/cards/hooks/cards.hook.ts +22 -22
  441. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  442. package/src/modules/cards/hooks/create-setup-intent.hook.ts +11 -11
  443. package/src/modules/cards/hooks/delete-card.hook.ts +52 -52
  444. package/src/modules/cards/hooks/delete-confirmation.hook.ts +40 -40
  445. package/src/modules/cards/hooks/handle-delete-card.hook.ts +47 -47
  446. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  447. package/src/modules/cards/services/cards.service.ts +136 -136
  448. package/src/modules/cards/types.ts +52 -52
  449. package/src/modules/charges/actions/charge-action.action.ts +13 -13
  450. package/src/modules/charges/handlers/find-charge-by-id.handler.ts +14 -14
  451. package/src/modules/charges/handlers/list-charges.handler.ts +15 -15
  452. package/src/modules/charges/hooks/charge-action.hook.ts +24 -24
  453. package/src/modules/charges/hooks/charge-by-id.hook.ts +19 -19
  454. package/src/modules/charges/hooks/charges.hook.ts +19 -19
  455. package/src/modules/charges/services/charges.service.ts +63 -63
  456. package/src/modules/charges/types/charge.type.ts +68 -68
  457. package/src/modules/ia-credits/handlers/list-ia-credits.handler.ts +14 -14
  458. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +103 -103
  459. package/src/modules/images/actions/process-image.action.ts +40 -40
  460. package/src/modules/images/constants/image.constants.ts +11 -11
  461. package/src/modules/images/hooks/use-image-upload.hook.ts +153 -153
  462. package/src/modules/images/services/image-processing.service.ts +75 -75
  463. package/src/modules/images/types/image.type.ts +54 -54
  464. package/src/modules/images/utils/base64.ts +26 -26
  465. package/src/modules/images/utils/compress-image.ts +20 -20
  466. package/src/modules/images/utils/crop-image.ts +68 -68
  467. package/src/modules/images/utils/validate-image.ts +86 -86
  468. package/src/modules/pages/constants/query-keys.constants.ts +1 -1
  469. package/src/modules/pages/handlers/count-pages.handler.ts +12 -12
  470. package/src/modules/pages/hooks/count-pages.hook.ts +21 -21
  471. package/src/modules/pages/services/pages.service.ts +27 -27
  472. package/src/modules/plans/handlers/find-plan-by-id.handler.ts +14 -14
  473. package/src/modules/plans/handlers/list-plans.handler.ts +22 -22
  474. package/src/modules/plans/hooks/list-plans.hook.ts +23 -23
  475. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  476. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +39 -39
  477. package/src/modules/plans/services/plans.service.ts +136 -135
  478. package/src/modules/plans/types/plan.type.ts +79 -75
  479. package/src/modules/plans/utils/map-api-plan-to-ui.ts +167 -167
  480. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  481. package/src/modules/projects/actions/create-project.action.ts +9 -9
  482. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  483. package/src/modules/projects/actions/find-project.action.ts +8 -8
  484. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  485. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  486. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  487. package/src/modules/projects/actions/update-project.action.ts +9 -9
  488. package/src/modules/projects/handlers/find-project.handler.ts +15 -15
  489. package/src/modules/projects/handlers/list-all-account-users.handler.ts +23 -23
  490. package/src/modules/projects/handlers/list-available-users.handler.ts +26 -26
  491. package/src/modules/projects/handlers/list-project-users.handler.ts +26 -26
  492. package/src/modules/projects/handlers/list-projects.handler.ts +23 -23
  493. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  494. package/src/modules/projects/hooks/create-project.hook.ts +120 -120
  495. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  496. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  497. package/src/modules/projects/hooks/list-all-account-users.hook.ts +40 -40
  498. package/src/modules/projects/hooks/list-available-users.hook.ts +39 -39
  499. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +44 -44
  500. package/src/modules/projects/hooks/list-project-users.hook.ts +39 -39
  501. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  502. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  503. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  504. package/src/modules/projects/services/project-users.service.ts +3 -2
  505. package/src/modules/projects/services/projects.service.ts +156 -156
  506. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  507. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  508. package/src/modules/subscriptions/actions/update-subscription-payment.action.ts +13 -13
  509. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  510. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  511. package/src/modules/subscriptions/constants/subscription.constants.ts +1 -1
  512. package/src/modules/subscriptions/handlers/list-subscriptions.handler.ts +17 -17
  513. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  514. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +22 -22
  515. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +22 -22
  516. package/src/modules/subscriptions/hooks/update-subscription-payment.hook.ts +25 -25
  517. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  518. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +44 -44
  519. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  520. package/src/modules/subscriptions/types/calculate-subscription.type.ts +116 -116
  521. package/src/modules/subscriptions/types/pix-pending.type.ts +38 -38
  522. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  523. package/src/modules/subscriptions/utils/get-subscription-cancellation-state.ts +37 -37
  524. package/src/modules/subscriptions/utils/get-subscription-expiry-date.ts +33 -33
  525. package/src/modules/subscriptions/utils/has-subscription-expired.ts +11 -11
  526. package/src/modules/subscriptions/utils/periodicity.ts +79 -79
  527. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  528. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  529. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  530. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  531. package/src/modules/users/handlers/list-messages.handler.ts +39 -39
  532. package/src/modules/users/hooks/messages.hook.ts +69 -69
  533. package/src/modules/users/services/messages.service.ts +49 -49
  534. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  535. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  536. package/src/modules/whitelabel/schema.ts +84 -84
  537. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  538. package/src/providers/auth.provider.tsx +264 -264
  539. package/src/providers/navigation.provider.tsx +99 -99
  540. package/src/providers/whitelabel.provider.tsx +90 -90
  541. package/src/route.ts +4 -4
  542. package/src/store/useAccountModals.ts +85 -85
  543. package/src/store/useBuyCreditsModal.ts +21 -21
  544. package/src/store/useCreditsDisabledModal.ts +11 -11
  545. package/src/store/useDesktopSidebarStore.ts +47 -47
  546. package/src/store/useMdSidebarStore.ts +34 -34
  547. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  548. package/src/utils/constants/br-states.ts +29 -29
  549. package/src/utils/countries.ts +224 -224
  550. package/src/utils/format/currency.ts +70 -70
  551. package/src/utils/intl/cookie-domain.ts +29 -29
  552. package/src/utils/intl/locale-cookie.ts +18 -18
  553. package/src/utils/next-navigation.ts +7 -7
  554. package/src/utils/redirect.ts +78 -78
  555. package/src/utils/safeMutationAction.ts +24 -24
  556. package/src/utils/safeServerAction.ts +21 -21
  557. package/src/utils/withAction.ts +13 -13
@@ -1,520 +1,520 @@
1
- /**
2
- * Catálogo de traducción es-es para los componentes de @greatapps/common.
3
- * Las apps consumidoras combinan este objeto bajo el namespace `common`.
4
- * Refleja la estructura de módulos de `pt-br.ts` (la fuente de verdad).
5
- */
6
- const messages = {
7
- actions: {
8
- save: 'Guardar',
9
- saveChanges: 'Guardar cambios',
10
- cancel: 'Cancelar',
11
- confirm: 'Confirmar',
12
- delete: 'Eliminar',
13
- edit: 'Editar',
14
- close: 'Cerrar',
15
- back: 'Volver',
16
- continue: 'Continuar',
17
- add: 'Agregar',
18
- remove: 'Quitar',
19
- search: 'Buscar',
20
- loading: 'Cargando...',
21
- saving: 'Guardando...',
22
- sending: 'Enviando...',
23
- copy: 'Copiar',
24
- copied: 'Copiado',
25
- },
26
-
27
- validations: {
28
- required: 'Campo obligatorio',
29
- invalidEmail: 'Correo electrónico inválido',
30
- invalidPhone: 'Teléfono inválido',
31
- },
32
-
33
- preferences: {
34
- title: 'Preferencias',
35
- companyName: 'Nombre de la empresa',
36
- companyNamePlaceholder: 'Ingrese el nombre de la empresa',
37
- language: 'Idioma',
38
- languagePlaceholder: 'Seleccione el idioma',
39
- languageSearch: 'Buscar idioma...',
40
- currency: 'Moneda',
41
- currencyPlaceholder: 'Seleccione la moneda',
42
- currencySearch: 'Buscar moneda...',
43
- timeDisplay: 'Visualización de hora',
44
- timezone: 'Zona horaria',
45
- timezonePlaceholder: 'Seleccione la zona horaria',
46
- timezoneSearch: 'Buscar zona horaria...',
47
- timeFormat: 'Formato de hora',
48
- timeFormatPlaceholder: 'Seleccione el formato',
49
- timeFormatOptions: {
50
- h24: '24 horas',
51
- h12: '12 horas (AM/PM)',
52
- },
53
- savedSuccess: 'Preferencias guardadas con éxito',
54
- saveError: 'Error al guardar las preferencias',
55
- },
56
-
57
- account: {
58
- notificationTypes: {
59
- projectUpdates: 'Actualizaciones de proyectos',
60
- securityAlerts: 'Alertas de seguridad',
61
- planBilling: 'Cambios en el plan o facturación',
62
- scheduledMaintenance: 'Mantenimientos programados',
63
- },
64
- deleteAccount: {
65
- title: 'Eliminar cuenta',
66
- description:
67
- 'Esta acción es <b>irreversible</b>. Al confirmar, su cuenta y todos sus datos serán eliminados.',
68
- reasonLabel: 'Motivo de la cancelación',
69
- reasonPlaceholder: 'Seleccionar',
70
- descriptionLabel: 'Describa qué lo llevó a tomar esta decisión',
71
- descriptionPlaceholder: 'Explique su decisión...',
72
- charactersCount: '{count}/400 caracteres',
73
- passwordLabel: 'Contraseña',
74
- passwordPlaceholder: 'Ingrese su contraseña',
75
- submit: 'Eliminar cuenta',
76
- requiredFields: 'Complete todos los campos obligatorios',
77
- reasons: {
78
- noFeature: 'La herramienta no tiene una función que necesito',
79
- technical: 'Encontré problemas técnicos o errores en el sistema',
80
- support: 'Tuve problemas con el soporte o atención al cliente',
81
- updates: 'Las actualizaciones tardan más de lo esperado',
82
- temporary: 'La cancelación es temporal',
83
- other: 'Otro motivo',
84
- },
85
- },
86
- confirmDelete: {
87
- title: '¡Qué pena verte partir!',
88
- warning:
89
- 'Todas sus <b>{count} páginas</b> serán eliminadas permanentemente. ¡Esta acción es <b>irreversible!</b>',
90
- sessionExpired: 'Sesión expirada. Complete los campos nuevamente.',
91
- success: 'Cuenta eliminada exitosamente',
92
- error: 'Error al eliminar la cuenta. Intente nuevamente.',
93
- keepAccount: 'Mantener mi cuenta',
94
- deleteAnyway: 'Eliminar de todas formas',
95
- deleting: 'Eliminando...',
96
- },
97
- cantDelete: {
98
- title: 'No es posible eliminar la cuenta',
99
- description:
100
- 'Tiene una suscripción activa. Para eliminar su cuenta, <b>primero cancele su suscripción</b> en la página Suscripción e intente nuevamente.',
101
- confirm: 'Ok, entendido',
102
- goToSubscription: 'Ir a suscripción',
103
- },
104
- twoFactor: {
105
- title: 'Autenticación de dos factores',
106
- instructions:
107
- 'Instale una aplicación autenticadora en su dispositivo móvil (p. ej., <link>Google Authenticator</link>), escanee el código QR al lado o copie la clave en la aplicación y, a continuación, ingrese el código de 6 dígitos generado para continuar.',
108
- qrAlt: 'Código QR para autenticación de dos factores',
109
- retry: 'Intentar de nuevo',
110
- pasteDigits: 'Pegue los 6 dígitos abajo',
111
- activating: 'Activando...',
112
- activate: 'Activar autenticación',
113
- recoveryTitle: 'Códigos de seguridad',
114
- recoveryHeading: 'Guarde estos códigos de recuperación de emergencia',
115
- recoveryText1:
116
- 'Si pierde acceso a su teléfono, no podrá iniciar sesión en su cuenta sin un código de dos factores.',
117
- recoveryText2: 'Imprima, copie o escriba los códigos a continuación en un lugar seguro.',
118
- copyCodes: 'Copiar códigos',
119
- finish: 'Finalizar',
120
- codesCopied: 'Códigos copiados correctamente',
121
- generateError: 'Error al generar el código QR. Intente de nuevo.',
122
- confirmError: 'Error al confirmar el código. Intente de nuevo.',
123
- disableTitle: 'Desactivar autenticación 2FA',
124
- disableDescription:
125
- 'Ingrese el código de 6 dígitos de su aplicación autenticadora para confirmar la desactivación.',
126
- authenticatorCode: 'Código del autenticador',
127
- disabling: 'Desactivando...',
128
- disable: 'Desactivar 2FA',
129
- disabledSuccess: 'Autenticación de dos factores desactivada',
130
- disableError: 'Error al desactivar 2FA. Intente de nuevo.',
131
- invalidCode: 'Código inválido',
132
- codeResent: 'Código reenviado',
133
- resendError: 'Error al reenviar el código. Intente de nuevo.',
134
- },
135
- profile: {
136
- title: 'Mi perfil',
137
- avatarAlt: 'Foto del usuario',
138
- changePhoto: 'Cambiar foto',
139
- name: 'Nombre',
140
- namePlaceholder: 'Ingrese su nombre',
141
- lastName: 'Apellido',
142
- lastNamePlaceholder: 'Ingrese su apellido',
143
- gender: 'Género',
144
- genderPlaceholder: 'Seleccione su género',
145
- genderOptions: {
146
- male: 'Masculino',
147
- female: 'Femenino',
148
- },
149
- phone: 'Teléfono',
150
- change: 'Cambiar',
151
- accessData: 'Datos de acceso',
152
- email: 'Correo electrónico',
153
- savedSuccess: 'Perfil actualizado exitosamente',
154
- saveError: 'Error al actualizar el perfil',
155
- },
156
- otp: {
157
- validationCode: 'Código de validación',
158
- incorrectCode: 'Código incorrecto',
159
- resend: 'Reenviar código',
160
- resendIn: 'Reenviar en <b>{time}</b>',
161
- validating: 'Validando...',
162
- },
163
- changeEmail: {
164
- title: 'Cambiar correo electrónico',
165
- confirm: 'Cambiar correo electrónico',
166
- sentCodeTo: 'Enviamos un código de validación al correo electrónico <b>{email}.</b>',
167
- updateTitle: 'Actualizar correo electrónico de contacto',
168
- updateDescription:
169
- 'Indique su nuevo correo electrónico para mantener su información de contacto actualizada.',
170
- newEmail: 'Nuevo correo electrónico',
171
- newEmailPlaceholder: 'Ingrese su nuevo correo electrónico',
172
- emailChanged: 'Correo electrónico cambiado exitosamente',
173
- emailExistsError: 'El correo electrónico ya existe o ocurrió un error. Intente más tarde.',
174
- },
175
- changePhone: {
176
- titleEdit: 'Cambiar teléfono',
177
- titleAdd: 'Agregar teléfono',
178
- sentCodeTo: 'Enviamos un código de validación al número actual <b>{phone}.</b>',
179
- confirm: 'Cambiar teléfono',
180
- updateTitle: 'Actualizar teléfono de contacto',
181
- addTitle: 'Agregar teléfono de contacto',
182
- updateDescription: 'Indique el nuevo número para mantener su información de contacto actualizada.',
183
- addDescription: 'Indique su número de teléfono para contacto.',
184
- newNumber: 'Nuevo número',
185
- numberLabel: 'Número de teléfono',
186
- phoneChanged: 'Teléfono cambiado',
187
- phoneAdded: 'Teléfono agregado',
188
- invalidNumber: 'Número de teléfono inválido',
189
- saveError: 'Ocurrió un error al guardar el número de teléfono. Intente más tarde.',
190
- numberExistsError: 'El número ya existe o ocurrió un error. Intente más tarde.',
191
- },
192
- security: {
193
- title: 'Seguridad',
194
- googleLinkedTitle: 'Cuenta Google vinculada',
195
- googleLinkedDescription:
196
- 'Su cuenta está vinculada a Google. Si la desvincula, utilice "Olvidé mi contraseña" para restablecer una contraseña de acceso por correo electrónico.',
197
- unlinking: 'Desvinculando...',
198
- unlinkGoogle: 'Desvincular Google',
199
- unlinkError: 'Error al desvincular la cuenta Google.',
200
- deleteAccountDescription:
201
- 'Esta acción es permanente y no se puede deshacer. Todos sus datos, proyectos y configuraciones serán eliminados permanentemente.',
202
- deleteMyAccount: 'Eliminar mi cuenta',
203
- },
204
- token: {
205
- title: 'Token de la cuenta',
206
- label: 'Token',
207
- copySuccess: 'Token copiado correctamente',
208
- copyError: 'No se pudo copiar el token',
209
- info: 'Este token es exclusivo de su cuenta y permite el acceso a la API. No lo comparta con terceros.',
210
- docsLink: 'Acceder a la documentación',
211
- },
212
- changePassword: {
213
- title: 'Cambiar contraseña',
214
- currentPassword: 'Contraseña actual',
215
- currentPasswordPlaceholder: 'Ingrese su contraseña actual',
216
- newPassword: 'Nueva contraseña',
217
- newPasswordPlaceholder: 'Ingrese su nueva contraseña',
218
- submit: 'Guardar nueva contraseña',
219
- changeError: 'Error al cambiar la contraseña',
220
- changedSuccess: 'Contraseña cambiada correctamente',
221
- genericError: 'Error al cambiar la contraseña. Intente nuevamente.',
222
- },
223
- globalPreferences: {
224
- title: 'Cambiar preferencias globales',
225
- srDescription: 'Confirmación de cambio de preferencias globales de la cuenta',
226
- warning:
227
- 'Está cambiando configuraciones que impactan <b>todos los usuarios de la cuenta</b>. ¿Desea confirmar?',
228
- },
229
- configurations: {
230
- title: 'Configuración',
231
- },
232
- },
233
-
234
- credits: {
235
- buy: {
236
- title: 'Comprar créditos de IA',
237
- externalTitle: 'Créditos de IA',
238
- externalDescription: 'Para adquirir créditos de IA, acceda a su área de suscripción.',
239
- externalButton: 'Ir al área de suscripción',
240
- creditsOptionLabel: '{credits} créditos de IA',
241
- creditsOptionDisplayValue: '{credits} créditos de IA',
242
- paymentOnConfirm: 'El pago se procesará en el momento de la confirmación.',
243
- nextInvoiceChanges: 'Los cambios entrarán en vigor a partir de su próxima factura.',
244
- defaultPrice: 'Estándar',
245
- immediateCharge: 'Cargo inmediato',
246
- totalPlanValue: 'Valor total del plan',
247
- confirmAndPay: 'Confirmar y pagar',
248
- creditsChangedToast: 'Créditos de IA cambiados a {credits}',
249
- },
250
- disabled: {
251
- title: 'Compra de créditos no disponible',
252
- descriptionLine1: 'Solo los administradores y propietarios pueden comprar créditos de IA.',
253
- descriptionLine2:
254
- 'Pida a un administrador o propietario de la cuenta que adquiera más créditos.',
255
- understood: 'Entendido',
256
- },
257
- paidPlanRequired: {
258
- defaultTitle: 'Función disponible en planes de pago',
259
- defaultDescription: 'Para acceder a esta función, actualice a un plan de pago',
260
- knowPlans: 'Ver planes',
261
- },
262
- },
263
-
264
- cards: {
265
- add: {
266
- stepBilling: 'Facturación',
267
- stepCard: 'Tarjeta',
268
- externalTitle: 'Gestión de tarjetas no disponible',
269
- externalDescription: 'Accede a tu área de suscripción para gestionar tus métodos de pago.',
270
- externalButton: 'Acceder al área de suscripción',
271
- title: 'Añadir tarjeta',
272
- billingHeading: 'Añade tu información de facturación',
273
- cardHeading: 'Añade la información de tu tarjeta',
274
- authenticating: 'Autenticando...',
275
- submitting: 'Añadiendo tarjeta...',
276
- submit: 'Añadir tarjeta',
277
- errorInitAuth: 'No se pudo iniciar la autenticación de la tarjeta, intenta de nuevo.',
278
- errorAuth: 'Falló la autenticación de la tarjeta.',
279
- errorAuthStatus: 'Autenticación no completada (estado: {status}).',
280
- statusUnknown: 'desconocido',
281
- successToast: 'Tarjeta añadida correctamente.',
282
- errorSave: 'No se pudo guardar tu nueva tarjeta, intenta de nuevo.',
283
- },
284
- form: {
285
- nameOnCard: 'Nombre impreso en la tarjeta',
286
- typeHere: 'Escribe aquí',
287
- cardNumber: 'Número de tarjeta',
288
- cardExpiry: 'Fecha de vencimiento',
289
- cardCvc: 'CVC',
290
- country: 'País',
291
- select: 'Selecciona',
292
- personType: 'Tipo de persona',
293
- personTypePf: 'Persona física',
294
- personTypePj: 'Persona jurídica',
295
- cpf: 'CPF',
296
- cnpj: 'CNPJ',
297
- fullName: 'Nombre completo',
298
- cep: 'CEP',
299
- postalCode: 'Código postal',
300
- street: 'Dirección',
301
- streetNumber: 'Número',
302
- city: 'Ciudad',
303
- state: 'UF',
304
- stateProvince: 'Estado/Provincia',
305
- neighborhood: 'Barrio',
306
- complement: 'Complemento',
307
- cardNumberRequired: 'El número de tarjeta es obligatorio',
308
- cardExpiryRequired: 'La fecha de vencimiento es obligatoria',
309
- cardCvcRequired: 'El código de seguridad es obligatorio',
310
- },
311
- delete: {
312
- title: 'Eliminar tarjeta',
313
- description: 'Realmente deseas eliminar la tarjeta:',
314
- confirmLabel: 'Escribe ELIMINAR a continuación',
315
- confirmPlaceholder: 'ELIMINAR',
316
- deleting: 'Eliminando...',
317
- successToast: 'La tarjeta •••• {digits} se eliminó correctamente',
318
- errorToast: 'No se pudo eliminar la tarjeta',
319
- },
320
- cannotDelete: {
321
- title: 'No se puede eliminar esta tarjeta',
322
- description: 'Esta tarjeta está en uso y tiene una suscripción activa vinculada. Selecciona otra tarjeta como predeterminada o añade una nueva.',
323
- selectDefault: 'Selecciona una tarjeta como predeterminada:',
324
- addNewCard: 'Añadir nueva tarjeta',
325
- errorUpdateCard: 'Error al actualizar la tarjeta de la suscripción',
326
- },
327
- item: {
328
- defaultBadge: 'Predeterminada',
329
- makeDefault: 'Establecer como predeterminada',
330
- setDefaultSuccess: 'Tarjeta establecida como predeterminada',
331
- setDefaultError: 'Error al establecer la tarjeta predeterminada',
332
- },
333
- paymentInfo: {
334
- email: 'Correo electrónico',
335
- payment: 'Pago',
336
- addCard: 'Añadir tarjeta',
337
- selectPaymentMethod: 'Selecciona el método de pago',
338
- manageCards: 'Gestionar tarjetas',
339
- newPaymentMethod: 'Nuevo método de pago',
340
- },
341
- },
342
- navigation: {
343
- banners: {
344
- cancelled: {
345
- message: '¡Suscripción cancelada! Tus páginas han sido retiradas del aire.',
346
- choosePlan: 'Elige un nuevo plan',
347
- },
348
- overdue: {
349
- message: 'Tu suscripción está vencida y tus páginas pueden ser retiradas del aire en cualquier momento.',
350
- details: 'Detalles',
351
- },
352
- pending: {
353
- message: 'Tu suscripción ha sido cancelada, tienes hasta {limitDate} con tus páginas en línea.',
354
- reactivate: 'Reactivar suscripción',
355
- },
356
- upcoming: {
357
- message: 'Factura pendiente. Paga antes del {dueDate} para evitar la suspensión de tus páginas.',
358
- details: 'Detalles',
359
- },
360
- trial: {
361
- message: 'Período de prueba: {days, plural, =0 {¡tu prueba termina hoy!} one {queda # día para terminar} other {quedan # días para terminar}}.',
362
- choosePlan: 'Suscríbete ahora',
363
- },
364
- },
365
- projectSelector: {
366
- title: 'Proyectos',
367
- searchPlaceholder: 'Busca aquí',
368
- emptyLine1: 'No se encontró ningún proyecto.',
369
- emptyLine2: 'Crea un proyecto para comenzar.',
370
- noResults: 'No se encontraron resultados.',
371
- manageProjects: 'Gestionar proyectos',
372
- },
373
- bottomLinks: {
374
- news: 'Novedades',
375
- helpCenter: 'Centro de ayuda',
376
- sendSuggestions: 'Enviar sugerencias',
377
- },
378
- creditsCard: {
379
- label: 'Créditos utilizados',
380
- },
381
- planCard: {
382
- knowPlans: 'Conoce nuestros planes',
383
- },
384
- },
385
- forms: {
386
- combobox: {
387
- placeholder: 'Selecciona una opción',
388
- searchPlaceholder: 'Buscar...',
389
- emptyMessage: 'No se encontró ninguna opción.',
390
- },
391
- datePicker: {
392
- placeholder: 'Selecciona la fecha',
393
- },
394
- dateRangePicker: {
395
- placeholder: 'Selecciona el período',
396
- },
397
- phoneInput: {
398
- optional: '(Opcional)',
399
- searchPlaceholder: 'Buscar país...',
400
- emptyMessage: 'No se encontró ningún país',
401
- },
402
- select: {
403
- placeholder: 'Selecciona una opción',
404
- optional: '(Opcional)',
405
- },
406
- copyButton: {
407
- tooltipDefault: 'Copiar enlace',
408
- successDefault: 'Enlace copiado',
409
- errorMessage: 'No se pudo copiar el enlace',
410
- },
411
- circularProgress: {
412
- ariaLabel: 'Progreso de exportación',
413
- },
414
- },
415
- imageUpload: {
416
- cropTitle: 'Ajustar imagen',
417
- cropHint: 'Arrastra para ajustar el área de recorte',
418
- cropAlt: 'Crop',
419
- tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',
420
- tooSmallTitleGeneric: 'Foto muy pequeña',
421
- tooSmallBodyFileWithDimension: 'El archivo "{fileName}" es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',
422
- tooSmallBodyFileGeneric: 'El archivo "{fileName}" es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',
423
- tooSmallBodyNoFileWithDimension: 'La imagen seleccionada es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',
424
- tooSmallBodyNoFileGeneric: 'La imagen seleccionada es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',
425
- sendAnother: 'Enviar otra',
426
- errorSvg: 'El formato SVG no es compatible. Usa PNG, JPEG, WebP o GIF.',
427
- errorFormat: 'Formato no compatible. Usa PNG, JPEG, WebP o GIF.',
428
- errorTooLarge: 'Archivo demasiado grande. Máximo {maxSize}MB.',
429
- },
430
- notifications: {
431
- page: {
432
- title: 'Notificaciones',
433
- subtitle: 'Mantén el control total sobre tus páginas, experiencias y conversiones.',
434
- markAllReadDesktop: 'Marcar todo como leído',
435
- markAllReadMobile: 'Marcar como leído',
436
- tabAll: 'Todas las notificaciones',
437
- tabUnread: 'No leídas',
438
- details: 'Detalles',
439
- empty: 'No se encontró ninguna notificación.',
440
- markAllSuccess: 'Todas las notificaciones se marcaron como leídas',
441
- markAllError: 'Error al marcar notificaciones como leídas',
442
- },
443
- popover: {
444
- title: 'Últimas notificaciones',
445
- empty: 'Sin notificaciones por ahora',
446
- viewAll: 'Todas las notificaciones',
447
- },
448
- },
449
- layout: {
450
- navbar: {
451
- expandMenu: 'Expandir menú',
452
- greatPages: 'GreatPages',
453
- pages: 'Páginas',
454
- },
455
- profile: {
456
- usedCredits: 'Créditos utilizados',
457
- loggingOut: 'Cerrando tu sesión...',
458
- logout: 'Cerrar sesión',
459
- },
460
- usersSelector: {
461
- title: 'Usuarios',
462
- add: 'Añadir',
463
- searchPlaceholder: 'Busca aquí',
464
- empty: 'No se encontró ningún usuario.',
465
- noResults: 'No se encontraron resultados.',
466
- addToProject: 'Añadir al proyecto',
467
- removeFromProject: 'Eliminar del proyecto',
468
- manageTeam: 'Gestionar equipo',
469
- },
470
- },
471
- notFound: {
472
- title: '¡Página no encontrada!',
473
- description: 'La página que buscas no existe. Verifica que hayas escrito correctamente el enlace que buscas.',
474
- backToHome: 'Volver al inicio',
475
- },
476
-
477
- // Planos: features e main features (mapApiPlanToUiPlan).
478
- plans: {
479
- features: {
480
- unlimitedVisits: 'Visitas ilimitadas',
481
- unlimitedLeads: 'Leads ilimitados',
482
- sharePages: 'Compartir páginas',
483
- hosting: 'Hosting incluido',
484
- freeTemplates: 'Plantillas gratuitas',
485
- onboarding: 'Reunión de Onboarding',
486
- projectManagement: 'Gestión de proyectos',
487
- },
488
- mainFeatures: {
489
- pagesUnlimited: 'Páginas ilimitadas',
490
- pageSingular: '1 página',
491
- pagesPlural: '{count} páginas',
492
- domainsUnlimited: 'Dominios ilimitados',
493
- domainSingular: '1 dominio externo',
494
- domainsPlural: '{count} dominios externos',
495
- usersUnlimited: 'Usuarios ilimitados',
496
- },
497
- usdNotConfigured: 'USD no configurado',
498
- },
499
-
500
- // Periodicidade de cobrança.
501
- periodicity: {
502
- monthly: 'Mensual',
503
- semiannual: 'Semestral',
504
- annual: 'Anual',
505
- suffixMonthly: '/mes',
506
- suffixSemiannual: '/semestre',
507
- suffixAnnual: '/año',
508
- labelMonthly: 'mensual',
509
- labelSemiannual: 'semestral',
510
- labelAnnual: 'anual',
511
- },
512
-
513
- languages: {
514
- 'pt-br': 'Portugués (Brasil)',
515
- 'en-us': 'Inglés (EE. UU.)',
516
- 'es-es': 'Español',
517
- },
518
- } as const;
519
-
520
- export default messages;
1
+ /**
2
+ * Catálogo de traducción es-es para los componentes de @greatapps/common.
3
+ * Las apps consumidoras combinan este objeto bajo el namespace `common`.
4
+ * Refleja la estructura de módulos de `pt-br.ts` (la fuente de verdad).
5
+ */
6
+ const messages = {
7
+ actions: {
8
+ save: 'Guardar',
9
+ saveChanges: 'Guardar cambios',
10
+ cancel: 'Cancelar',
11
+ confirm: 'Confirmar',
12
+ delete: 'Eliminar',
13
+ edit: 'Editar',
14
+ close: 'Cerrar',
15
+ back: 'Volver',
16
+ continue: 'Continuar',
17
+ add: 'Agregar',
18
+ remove: 'Quitar',
19
+ search: 'Buscar',
20
+ loading: 'Cargando...',
21
+ saving: 'Guardando...',
22
+ sending: 'Enviando...',
23
+ copy: 'Copiar',
24
+ copied: 'Copiado',
25
+ },
26
+
27
+ validations: {
28
+ required: 'Campo obligatorio',
29
+ invalidEmail: 'Correo electrónico inválido',
30
+ invalidPhone: 'Teléfono inválido',
31
+ },
32
+
33
+ preferences: {
34
+ title: 'Preferencias',
35
+ companyName: 'Nombre de la empresa',
36
+ companyNamePlaceholder: 'Ingrese el nombre de la empresa',
37
+ language: 'Idioma',
38
+ languagePlaceholder: 'Seleccione el idioma',
39
+ languageSearch: 'Buscar idioma...',
40
+ currency: 'Moneda',
41
+ currencyPlaceholder: 'Seleccione la moneda',
42
+ currencySearch: 'Buscar moneda...',
43
+ timeDisplay: 'Visualización de hora',
44
+ timezone: 'Zona horaria',
45
+ timezonePlaceholder: 'Seleccione la zona horaria',
46
+ timezoneSearch: 'Buscar zona horaria...',
47
+ timeFormat: 'Formato de hora',
48
+ timeFormatPlaceholder: 'Seleccione el formato',
49
+ timeFormatOptions: {
50
+ h24: '24 horas',
51
+ h12: '12 horas (AM/PM)',
52
+ },
53
+ savedSuccess: 'Preferencias guardadas con éxito',
54
+ saveError: 'Error al guardar las preferencias',
55
+ },
56
+
57
+ account: {
58
+ notificationTypes: {
59
+ projectUpdates: 'Actualizaciones de proyectos',
60
+ securityAlerts: 'Alertas de seguridad',
61
+ planBilling: 'Cambios en el plan o facturación',
62
+ scheduledMaintenance: 'Mantenimientos programados',
63
+ },
64
+ deleteAccount: {
65
+ title: 'Eliminar cuenta',
66
+ description:
67
+ 'Esta acción es <b>irreversible</b>. Al confirmar, su cuenta y todos sus datos serán eliminados.',
68
+ reasonLabel: 'Motivo de la cancelación',
69
+ reasonPlaceholder: 'Seleccionar',
70
+ descriptionLabel: 'Describa qué lo llevó a tomar esta decisión',
71
+ descriptionPlaceholder: 'Explique su decisión...',
72
+ charactersCount: '{count}/400 caracteres',
73
+ passwordLabel: 'Contraseña',
74
+ passwordPlaceholder: 'Ingrese su contraseña',
75
+ submit: 'Eliminar cuenta',
76
+ requiredFields: 'Complete todos los campos obligatorios',
77
+ reasons: {
78
+ noFeature: 'La herramienta no tiene una función que necesito',
79
+ technical: 'Encontré problemas técnicos o errores en el sistema',
80
+ support: 'Tuve problemas con el soporte o atención al cliente',
81
+ updates: 'Las actualizaciones tardan más de lo esperado',
82
+ temporary: 'La cancelación es temporal',
83
+ other: 'Otro motivo',
84
+ },
85
+ },
86
+ confirmDelete: {
87
+ title: '¡Qué pena verte partir!',
88
+ warning:
89
+ 'Todas sus <b>{count} páginas</b> serán eliminadas permanentemente. ¡Esta acción es <b>irreversible!</b>',
90
+ sessionExpired: 'Sesión expirada. Complete los campos nuevamente.',
91
+ success: 'Cuenta eliminada exitosamente',
92
+ error: 'Error al eliminar la cuenta. Intente nuevamente.',
93
+ keepAccount: 'Mantener mi cuenta',
94
+ deleteAnyway: 'Eliminar de todas formas',
95
+ deleting: 'Eliminando...',
96
+ },
97
+ cantDelete: {
98
+ title: 'No es posible eliminar la cuenta',
99
+ description:
100
+ 'Tiene una suscripción activa. Para eliminar su cuenta, <b>primero cancele su suscripción</b> en la página Suscripción e intente nuevamente.',
101
+ confirm: 'Ok, entendido',
102
+ goToSubscription: 'Ir a suscripción',
103
+ },
104
+ twoFactor: {
105
+ title: 'Autenticación de dos factores',
106
+ instructions:
107
+ 'Instale una aplicación autenticadora en su dispositivo móvil (p. ej., <link>Google Authenticator</link>), escanee el código QR al lado o copie la clave en la aplicación y, a continuación, ingrese el código de 6 dígitos generado para continuar.',
108
+ qrAlt: 'Código QR para autenticación de dos factores',
109
+ retry: 'Intentar de nuevo',
110
+ pasteDigits: 'Pegue los 6 dígitos abajo',
111
+ activating: 'Activando...',
112
+ activate: 'Activar autenticación',
113
+ recoveryTitle: 'Códigos de seguridad',
114
+ recoveryHeading: 'Guarde estos códigos de recuperación de emergencia',
115
+ recoveryText1:
116
+ 'Si pierde acceso a su teléfono, no podrá iniciar sesión en su cuenta sin un código de dos factores.',
117
+ recoveryText2: 'Imprima, copie o escriba los códigos a continuación en un lugar seguro.',
118
+ copyCodes: 'Copiar códigos',
119
+ finish: 'Finalizar',
120
+ codesCopied: 'Códigos copiados correctamente',
121
+ generateError: 'Error al generar el código QR. Intente de nuevo.',
122
+ confirmError: 'Error al confirmar el código. Intente de nuevo.',
123
+ disableTitle: 'Desactivar autenticación 2FA',
124
+ disableDescription:
125
+ 'Ingrese el código de 6 dígitos de su aplicación autenticadora para confirmar la desactivación.',
126
+ authenticatorCode: 'Código del autenticador',
127
+ disabling: 'Desactivando...',
128
+ disable: 'Desactivar 2FA',
129
+ disabledSuccess: 'Autenticación de dos factores desactivada',
130
+ disableError: 'Error al desactivar 2FA. Intente de nuevo.',
131
+ invalidCode: 'Código inválido',
132
+ codeResent: 'Código reenviado',
133
+ resendError: 'Error al reenviar el código. Intente de nuevo.',
134
+ },
135
+ profile: {
136
+ title: 'Mi perfil',
137
+ avatarAlt: 'Foto del usuario',
138
+ changePhoto: 'Cambiar foto',
139
+ name: 'Nombre',
140
+ namePlaceholder: 'Ingrese su nombre',
141
+ lastName: 'Apellido',
142
+ lastNamePlaceholder: 'Ingrese su apellido',
143
+ gender: 'Género',
144
+ genderPlaceholder: 'Seleccione su género',
145
+ genderOptions: {
146
+ male: 'Masculino',
147
+ female: 'Femenino',
148
+ },
149
+ phone: 'Teléfono',
150
+ change: 'Cambiar',
151
+ accessData: 'Datos de acceso',
152
+ email: 'Correo electrónico',
153
+ savedSuccess: 'Perfil actualizado exitosamente',
154
+ saveError: 'Error al actualizar el perfil',
155
+ },
156
+ otp: {
157
+ validationCode: 'Código de validación',
158
+ incorrectCode: 'Código incorrecto',
159
+ resend: 'Reenviar código',
160
+ resendIn: 'Reenviar en <b>{time}</b>',
161
+ validating: 'Validando...',
162
+ },
163
+ changeEmail: {
164
+ title: 'Cambiar correo electrónico',
165
+ confirm: 'Cambiar correo electrónico',
166
+ sentCodeTo: 'Enviamos un código de validación al correo electrónico <b>{email}.</b>',
167
+ updateTitle: 'Actualizar correo electrónico de contacto',
168
+ updateDescription:
169
+ 'Indique su nuevo correo electrónico para mantener su información de contacto actualizada.',
170
+ newEmail: 'Nuevo correo electrónico',
171
+ newEmailPlaceholder: 'Ingrese su nuevo correo electrónico',
172
+ emailChanged: 'Correo electrónico cambiado exitosamente',
173
+ emailExistsError: 'El correo electrónico ya existe o ocurrió un error. Intente más tarde.',
174
+ },
175
+ changePhone: {
176
+ titleEdit: 'Cambiar teléfono',
177
+ titleAdd: 'Agregar teléfono',
178
+ sentCodeTo: 'Enviamos un código de validación al número actual <b>{phone}.</b>',
179
+ confirm: 'Cambiar teléfono',
180
+ updateTitle: 'Actualizar teléfono de contacto',
181
+ addTitle: 'Agregar teléfono de contacto',
182
+ updateDescription: 'Indique el nuevo número para mantener su información de contacto actualizada.',
183
+ addDescription: 'Indique su número de teléfono para contacto.',
184
+ newNumber: 'Nuevo número',
185
+ numberLabel: 'Número de teléfono',
186
+ phoneChanged: 'Teléfono cambiado',
187
+ phoneAdded: 'Teléfono agregado',
188
+ invalidNumber: 'Número de teléfono inválido',
189
+ saveError: 'Ocurrió un error al guardar el número de teléfono. Intente más tarde.',
190
+ numberExistsError: 'El número ya existe o ocurrió un error. Intente más tarde.',
191
+ },
192
+ security: {
193
+ title: 'Seguridad',
194
+ googleLinkedTitle: 'Cuenta Google vinculada',
195
+ googleLinkedDescription:
196
+ 'Su cuenta está vinculada a Google. Si la desvincula, utilice "Olvidé mi contraseña" para restablecer una contraseña de acceso por correo electrónico.',
197
+ unlinking: 'Desvinculando...',
198
+ unlinkGoogle: 'Desvincular Google',
199
+ unlinkError: 'Error al desvincular la cuenta Google.',
200
+ deleteAccountDescription:
201
+ 'Esta acción es permanente y no se puede deshacer. Todos sus datos, proyectos y configuraciones serán eliminados permanentemente.',
202
+ deleteMyAccount: 'Eliminar mi cuenta',
203
+ },
204
+ token: {
205
+ title: 'Token de la cuenta',
206
+ label: 'Token',
207
+ copySuccess: 'Token copiado correctamente',
208
+ copyError: 'No se pudo copiar el token',
209
+ info: 'Este token es exclusivo de su cuenta y permite el acceso a la API. No lo comparta con terceros.',
210
+ docsLink: 'Acceder a la documentación',
211
+ },
212
+ changePassword: {
213
+ title: 'Cambiar contraseña',
214
+ currentPassword: 'Contraseña actual',
215
+ currentPasswordPlaceholder: 'Ingrese su contraseña actual',
216
+ newPassword: 'Nueva contraseña',
217
+ newPasswordPlaceholder: 'Ingrese su nueva contraseña',
218
+ submit: 'Guardar nueva contraseña',
219
+ changeError: 'Error al cambiar la contraseña',
220
+ changedSuccess: 'Contraseña cambiada correctamente',
221
+ genericError: 'Error al cambiar la contraseña. Intente nuevamente.',
222
+ },
223
+ globalPreferences: {
224
+ title: 'Cambiar preferencias globales',
225
+ srDescription: 'Confirmación de cambio de preferencias globales de la cuenta',
226
+ warning:
227
+ 'Está cambiando configuraciones que impactan <b>todos los usuarios de la cuenta</b>. ¿Desea confirmar?',
228
+ },
229
+ configurations: {
230
+ title: 'Configuración',
231
+ },
232
+ },
233
+
234
+ credits: {
235
+ buy: {
236
+ title: 'Comprar créditos de IA',
237
+ externalTitle: 'Créditos de IA',
238
+ externalDescription: 'Para adquirir créditos de IA, acceda a su área de suscripción.',
239
+ externalButton: 'Ir al área de suscripción',
240
+ creditsOptionLabel: '{credits} créditos de IA',
241
+ creditsOptionDisplayValue: '{credits} créditos de IA',
242
+ paymentOnConfirm: 'El pago se procesará en el momento de la confirmación.',
243
+ nextInvoiceChanges: 'Los cambios entrarán en vigor a partir de su próxima factura.',
244
+ defaultPrice: 'Estándar',
245
+ immediateCharge: 'Cargo inmediato',
246
+ totalPlanValue: 'Valor total del plan',
247
+ confirmAndPay: 'Confirmar y pagar',
248
+ creditsChangedToast: 'Créditos de IA cambiados a {credits}',
249
+ },
250
+ disabled: {
251
+ title: 'Compra de créditos no disponible',
252
+ descriptionLine1: 'Solo los administradores y propietarios pueden comprar créditos de IA.',
253
+ descriptionLine2:
254
+ 'Pida a un administrador o propietario de la cuenta que adquiera más créditos.',
255
+ understood: 'Entendido',
256
+ },
257
+ paidPlanRequired: {
258
+ defaultTitle: 'Función disponible en planes de pago',
259
+ defaultDescription: 'Para acceder a esta función, actualice a un plan de pago',
260
+ knowPlans: 'Ver planes',
261
+ },
262
+ },
263
+
264
+ cards: {
265
+ add: {
266
+ stepBilling: 'Facturación',
267
+ stepCard: 'Tarjeta',
268
+ externalTitle: 'Gestión de tarjetas no disponible',
269
+ externalDescription: 'Accede a tu área de suscripción para gestionar tus métodos de pago.',
270
+ externalButton: 'Acceder al área de suscripción',
271
+ title: 'Añadir tarjeta',
272
+ billingHeading: 'Añade tu información de facturación',
273
+ cardHeading: 'Añade la información de tu tarjeta',
274
+ authenticating: 'Autenticando...',
275
+ submitting: 'Añadiendo tarjeta...',
276
+ submit: 'Añadir tarjeta',
277
+ errorInitAuth: 'No se pudo iniciar la autenticación de la tarjeta, intenta de nuevo.',
278
+ errorAuth: 'Falló la autenticación de la tarjeta.',
279
+ errorAuthStatus: 'Autenticación no completada (estado: {status}).',
280
+ statusUnknown: 'desconocido',
281
+ successToast: 'Tarjeta añadida correctamente.',
282
+ errorSave: 'No se pudo guardar tu nueva tarjeta, intenta de nuevo.',
283
+ },
284
+ form: {
285
+ nameOnCard: 'Nombre impreso en la tarjeta',
286
+ typeHere: 'Escribe aquí',
287
+ cardNumber: 'Número de tarjeta',
288
+ cardExpiry: 'Fecha de vencimiento',
289
+ cardCvc: 'CVC',
290
+ country: 'País',
291
+ select: 'Selecciona',
292
+ personType: 'Tipo de persona',
293
+ personTypePf: 'Persona física',
294
+ personTypePj: 'Persona jurídica',
295
+ cpf: 'CPF',
296
+ cnpj: 'CNPJ',
297
+ fullName: 'Nombre completo',
298
+ cep: 'CEP',
299
+ postalCode: 'Código postal',
300
+ street: 'Dirección',
301
+ streetNumber: 'Número',
302
+ city: 'Ciudad',
303
+ state: 'UF',
304
+ stateProvince: 'Estado/Provincia',
305
+ neighborhood: 'Barrio',
306
+ complement: 'Complemento',
307
+ cardNumberRequired: 'El número de tarjeta es obligatorio',
308
+ cardExpiryRequired: 'La fecha de vencimiento es obligatoria',
309
+ cardCvcRequired: 'El código de seguridad es obligatorio',
310
+ },
311
+ delete: {
312
+ title: 'Eliminar tarjeta',
313
+ description: 'Realmente deseas eliminar la tarjeta:',
314
+ confirmLabel: 'Escribe ELIMINAR a continuación',
315
+ confirmPlaceholder: 'ELIMINAR',
316
+ deleting: 'Eliminando...',
317
+ successToast: 'La tarjeta •••• {digits} se eliminó correctamente',
318
+ errorToast: 'No se pudo eliminar la tarjeta',
319
+ },
320
+ cannotDelete: {
321
+ title: 'No se puede eliminar esta tarjeta',
322
+ description: 'Esta tarjeta está en uso y tiene una suscripción activa vinculada. Selecciona otra tarjeta como predeterminada o añade una nueva.',
323
+ selectDefault: 'Selecciona una tarjeta como predeterminada:',
324
+ addNewCard: 'Añadir nueva tarjeta',
325
+ errorUpdateCard: 'Error al actualizar la tarjeta de la suscripción',
326
+ },
327
+ item: {
328
+ defaultBadge: 'Predeterminada',
329
+ makeDefault: 'Establecer como predeterminada',
330
+ setDefaultSuccess: 'Tarjeta establecida como predeterminada',
331
+ setDefaultError: 'Error al establecer la tarjeta predeterminada',
332
+ },
333
+ paymentInfo: {
334
+ email: 'Correo electrónico',
335
+ payment: 'Pago',
336
+ addCard: 'Añadir tarjeta',
337
+ selectPaymentMethod: 'Selecciona el método de pago',
338
+ manageCards: 'Gestionar tarjetas',
339
+ newPaymentMethod: 'Nuevo método de pago',
340
+ },
341
+ },
342
+ navigation: {
343
+ banners: {
344
+ cancelled: {
345
+ message: '¡Suscripción cancelada! Tus páginas han sido retiradas del aire.',
346
+ choosePlan: 'Elige un nuevo plan',
347
+ },
348
+ overdue: {
349
+ message: 'Tu suscripción está vencida y tus páginas pueden ser retiradas del aire en cualquier momento.',
350
+ details: 'Detalles',
351
+ },
352
+ pending: {
353
+ message: 'Tu suscripción ha sido cancelada, tienes hasta {limitDate} con tus páginas en línea.',
354
+ reactivate: 'Reactivar suscripción',
355
+ },
356
+ upcoming: {
357
+ message: 'Factura pendiente. Paga antes del {dueDate} para evitar la suspensión de tus páginas.',
358
+ details: 'Detalles',
359
+ },
360
+ trial: {
361
+ message: 'Período de prueba: {days, plural, =0 {¡tu prueba termina hoy!} one {queda # día para terminar} other {quedan # días para terminar}}.',
362
+ choosePlan: 'Suscríbete ahora',
363
+ },
364
+ },
365
+ projectSelector: {
366
+ title: 'Proyectos',
367
+ searchPlaceholder: 'Busca aquí',
368
+ emptyLine1: 'No se encontró ningún proyecto.',
369
+ emptyLine2: 'Crea un proyecto para comenzar.',
370
+ noResults: 'No se encontraron resultados.',
371
+ manageProjects: 'Gestionar proyectos',
372
+ },
373
+ bottomLinks: {
374
+ news: 'Novedades',
375
+ helpCenter: 'Centro de ayuda',
376
+ sendSuggestions: 'Enviar sugerencias',
377
+ },
378
+ creditsCard: {
379
+ label: 'Créditos utilizados',
380
+ },
381
+ planCard: {
382
+ knowPlans: 'Conoce nuestros planes',
383
+ },
384
+ },
385
+ forms: {
386
+ combobox: {
387
+ placeholder: 'Selecciona una opción',
388
+ searchPlaceholder: 'Buscar...',
389
+ emptyMessage: 'No se encontró ninguna opción.',
390
+ },
391
+ datePicker: {
392
+ placeholder: 'Selecciona la fecha',
393
+ },
394
+ dateRangePicker: {
395
+ placeholder: 'Selecciona el período',
396
+ },
397
+ phoneInput: {
398
+ optional: '(Opcional)',
399
+ searchPlaceholder: 'Buscar país...',
400
+ emptyMessage: 'No se encontró ningún país',
401
+ },
402
+ select: {
403
+ placeholder: 'Selecciona una opción',
404
+ optional: '(Opcional)',
405
+ },
406
+ copyButton: {
407
+ tooltipDefault: 'Copiar enlace',
408
+ successDefault: 'Enlace copiado',
409
+ errorMessage: 'No se pudo copiar el enlace',
410
+ },
411
+ circularProgress: {
412
+ ariaLabel: 'Progreso de exportación',
413
+ },
414
+ },
415
+ imageUpload: {
416
+ cropTitle: 'Ajustar imagen',
417
+ cropHint: 'Arrastra para ajustar el área de recorte',
418
+ cropAlt: 'Crop',
419
+ tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',
420
+ tooSmallTitleGeneric: 'Foto muy pequeña',
421
+ tooSmallBodyFileWithDimension: 'El archivo "{fileName}" es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',
422
+ tooSmallBodyFileGeneric: 'El archivo "{fileName}" es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',
423
+ tooSmallBodyNoFileWithDimension: 'La imagen seleccionada es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',
424
+ tooSmallBodyNoFileGeneric: 'La imagen seleccionada es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',
425
+ sendAnother: 'Enviar otra',
426
+ errorSvg: 'El formato SVG no es compatible. Usa PNG, JPEG, WebP o GIF.',
427
+ errorFormat: 'Formato no compatible. Usa PNG, JPEG, WebP o GIF.',
428
+ errorTooLarge: 'Archivo demasiado grande. Máximo {maxSize}MB.',
429
+ },
430
+ notifications: {
431
+ page: {
432
+ title: 'Notificaciones',
433
+ subtitle: 'Mantén el control total sobre tus páginas, experiencias y conversiones.',
434
+ markAllReadDesktop: 'Marcar todo como leído',
435
+ markAllReadMobile: 'Marcar como leído',
436
+ tabAll: 'Todas las notificaciones',
437
+ tabUnread: 'No leídas',
438
+ details: 'Detalles',
439
+ empty: 'No se encontró ninguna notificación.',
440
+ markAllSuccess: 'Todas las notificaciones se marcaron como leídas',
441
+ markAllError: 'Error al marcar notificaciones como leídas',
442
+ },
443
+ popover: {
444
+ title: 'Últimas notificaciones',
445
+ empty: 'Sin notificaciones por ahora',
446
+ viewAll: 'Todas las notificaciones',
447
+ },
448
+ },
449
+ layout: {
450
+ navbar: {
451
+ expandMenu: 'Expandir menú',
452
+ greatPages: 'GreatPages',
453
+ pages: 'Páginas',
454
+ },
455
+ profile: {
456
+ usedCredits: 'Créditos utilizados',
457
+ loggingOut: 'Cerrando tu sesión...',
458
+ logout: 'Cerrar sesión',
459
+ },
460
+ usersSelector: {
461
+ title: 'Usuarios',
462
+ add: 'Añadir',
463
+ searchPlaceholder: 'Busca aquí',
464
+ empty: 'No se encontró ningún usuario.',
465
+ noResults: 'No se encontraron resultados.',
466
+ addToProject: 'Añadir al proyecto',
467
+ removeFromProject: 'Eliminar del proyecto',
468
+ manageTeam: 'Gestionar equipo',
469
+ },
470
+ },
471
+ notFound: {
472
+ title: '¡Página no encontrada!',
473
+ description: 'La página que buscas no existe. Verifica que hayas escrito correctamente el enlace que buscas.',
474
+ backToHome: 'Volver al inicio',
475
+ },
476
+
477
+ // Planos: features e main features (mapApiPlanToUiPlan).
478
+ plans: {
479
+ features: {
480
+ unlimitedVisits: 'Visitas ilimitadas',
481
+ unlimitedLeads: 'Leads ilimitados',
482
+ sharePages: 'Compartir páginas',
483
+ hosting: 'Hosting incluido',
484
+ freeTemplates: 'Plantillas gratuitas',
485
+ onboarding: 'Reunión de Onboarding',
486
+ projectManagement: 'Gestión de proyectos',
487
+ },
488
+ mainFeatures: {
489
+ pagesUnlimited: 'Páginas ilimitadas',
490
+ pageSingular: '1 página',
491
+ pagesPlural: '{count} páginas',
492
+ domainsUnlimited: 'Dominios ilimitados',
493
+ domainSingular: '1 dominio externo',
494
+ domainsPlural: '{count} dominios externos',
495
+ usersUnlimited: 'Usuarios ilimitados',
496
+ },
497
+ usdNotConfigured: 'USD no configurado',
498
+ },
499
+
500
+ // Periodicidade de cobrança.
501
+ periodicity: {
502
+ monthly: 'Mensual',
503
+ semiannual: 'Semestral',
504
+ annual: 'Anual',
505
+ suffixMonthly: '/mes',
506
+ suffixSemiannual: '/semestre',
507
+ suffixAnnual: '/año',
508
+ labelMonthly: 'mensual',
509
+ labelSemiannual: 'semestral',
510
+ labelAnnual: 'anual',
511
+ },
512
+
513
+ languages: {
514
+ 'pt-br': 'Portugués (Brasil)',
515
+ 'en-us': 'Inglés (EE. UU.)',
516
+ 'es-es': 'Español',
517
+ },
518
+ } as const;
519
+
520
+ export default messages;