@greatapps/common 1.1.697 → 1.1.698

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 (554) 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/projects.service.mjs.map +1 -1
  227. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  228. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  229. package/dist/modules/subscriptions/actions/update-subscription-payment.action.mjs.map +1 -1
  230. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  231. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  232. package/dist/modules/subscriptions/constants/subscription.constants.mjs.map +1 -1
  233. package/dist/modules/subscriptions/handlers/list-subscriptions.handler.mjs.map +1 -1
  234. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  235. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  236. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  237. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs.map +1 -1
  238. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  239. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  240. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  241. package/dist/modules/subscriptions/types/pix-pending.type.mjs.map +1 -1
  242. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  243. package/dist/modules/subscriptions/utils/get-subscription-cancellation-state.mjs.map +1 -1
  244. package/dist/modules/subscriptions/utils/get-subscription-expiry-date.mjs.map +1 -1
  245. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  246. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  247. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  248. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  249. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  250. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  251. package/dist/modules/users/handlers/list-messages.handler.mjs.map +1 -1
  252. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  253. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  254. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  255. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  256. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  257. package/dist/providers/auth.provider.mjs.map +1 -1
  258. package/dist/providers/navigation.provider.mjs.map +1 -1
  259. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  260. package/dist/route.mjs.map +1 -1
  261. package/dist/store/useAccountModals.mjs.map +1 -1
  262. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  263. package/dist/store/useCreditsDisabledModal.mjs.map +1 -1
  264. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  265. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  266. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  267. package/dist/utils/constants/br-states.mjs.map +1 -1
  268. package/dist/utils/countries.mjs.map +1 -1
  269. package/dist/utils/format/currency.mjs.map +1 -1
  270. package/dist/utils/intl/cookie-domain.mjs.map +1 -1
  271. package/dist/utils/intl/locale-cookie.mjs.map +1 -1
  272. package/dist/utils/next-navigation.mjs.map +1 -1
  273. package/dist/utils/redirect.mjs.map +1 -1
  274. package/dist/utils/safeMutationAction.mjs.map +1 -1
  275. package/dist/utils/safeServerAction.mjs.map +1 -1
  276. package/dist/utils/withAction.mjs.map +1 -1
  277. package/package.json +115 -115
  278. package/src/components/account/ConfigurationsMyAccountModal.tsx +179 -179
  279. package/src/components/account/ConfirmDeleteAccountModal.tsx +110 -110
  280. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +68 -68
  281. package/src/components/account/DeleteAccountModal.tsx +160 -160
  282. package/src/components/account/DisableTwoFactorAuthModal.tsx +92 -92
  283. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +51 -51
  284. package/src/components/account/TwoFactorAuthModal.tsx +220 -220
  285. package/src/components/account/hooks/useChangePhoneForm.tsx +113 -113
  286. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +116 -116
  287. package/src/components/account/sections/ChangeEmailModal.tsx +239 -239
  288. package/src/components/account/sections/ChangePasswordSection.tsx +68 -68
  289. package/src/components/account/sections/ChangePhoneModal.tsx +273 -273
  290. package/src/components/account/sections/MyProfileSection.tsx +276 -276
  291. package/src/components/account/sections/PreferencesSection.tsx +278 -278
  292. package/src/components/account/sections/SecuritySection.tsx +102 -102
  293. package/src/components/account/sections/TokenSection.tsx +85 -85
  294. package/src/components/embeds/ClarityEmbed.tsx +70 -70
  295. package/src/components/embeds/CrispEmbed.tsx +195 -195
  296. package/src/components/embeds/EmbedWidgets.tsx +62 -62
  297. package/src/components/embeds/FrillEmbed.tsx +146 -146
  298. package/src/components/layouts/AppMobileNavBar.tsx +214 -214
  299. package/src/components/layouts/AppNavBar.tsx +40 -40
  300. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  301. package/src/components/layouts/NavBar.tsx +228 -228
  302. package/src/components/layouts/NotificationsPopover.tsx +120 -120
  303. package/src/components/layouts/ProfilePopover.tsx +191 -191
  304. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  305. package/src/components/layouts/UsersSelectorPopover.tsx +236 -236
  306. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  307. package/src/components/modals/BuyCreditsModal.tsx +390 -390
  308. package/src/components/modals/CreditsDisabledModal.tsx +62 -62
  309. package/src/components/modals/Modals.tsx +25 -25
  310. package/src/components/modals/PaidPlanRequiredModal.tsx +60 -60
  311. package/src/components/modals/cards/AddCardModal.tsx +420 -420
  312. package/src/components/modals/cards/CannotDeleteCardModal.tsx +124 -124
  313. package/src/components/modals/cards/CardFormFields.tsx +363 -363
  314. package/src/components/modals/cards/DeleteCardModal.tsx +136 -136
  315. package/src/components/navigation/CancelledSubscriptionBanner.tsx +62 -62
  316. package/src/components/navigation/NavItemsContext.ts +20 -20
  317. package/src/components/navigation/OverdueInvoiceBanner.tsx +51 -51
  318. package/src/components/navigation/PendingCancellationBanner.tsx +60 -60
  319. package/src/components/navigation/ProjectSelectorPopover.tsx +180 -180
  320. package/src/components/navigation/SubscriptionBanner.tsx +94 -94
  321. package/src/components/navigation/TrialBanner.tsx +54 -54
  322. package/src/components/navigation/UpcomingInvoiceBanner.tsx +55 -55
  323. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  324. package/src/components/navigation/subcomponents/BottomLinks.tsx +85 -85
  325. package/src/components/navigation/subcomponents/ProjectSelector.tsx +184 -184
  326. package/src/components/pages/NotFoundPage.tsx +75 -75
  327. package/src/components/pages/notifications/Notifications.tsx +190 -190
  328. package/src/components/ui/buttons/Button.tsx +77 -77
  329. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  330. package/src/components/ui/buttons/CopyButton.tsx +59 -59
  331. package/src/components/ui/data-display/Accordion.tsx +81 -81
  332. package/src/components/ui/data-display/Badge.tsx +47 -47
  333. package/src/components/ui/data-display/Card.tsx +93 -93
  334. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  335. package/src/components/ui/data-display/CardItem.tsx +135 -135
  336. package/src/components/ui/data-display/Pagination.tsx +126 -126
  337. package/src/components/ui/data-display/PaymentInfoCard.tsx +193 -193
  338. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  339. package/src/components/ui/data-display/Separator.tsx +29 -29
  340. package/src/components/ui/data-display/Table.tsx +117 -117
  341. package/src/components/ui/data-display/Tabs.tsx +67 -67
  342. package/src/components/ui/feedback/CircularProgress.tsx +79 -79
  343. package/src/components/ui/feedback/DefaultCircularProgress.tsx +67 -67
  344. package/src/components/ui/feedback/LoadingOverlay.tsx +30 -30
  345. package/src/components/ui/feedback/Progress.tsx +40 -40
  346. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  347. package/src/components/ui/feedback/Toast.tsx +104 -104
  348. package/src/components/ui/form/Calendar.tsx +228 -228
  349. package/src/components/ui/form/Checkbox.tsx +31 -31
  350. package/src/components/ui/form/ComboboxField.tsx +159 -159
  351. package/src/components/ui/form/DatePicker.tsx +100 -100
  352. package/src/components/ui/form/DateRangePicker.tsx +111 -111
  353. package/src/components/ui/form/FormField.tsx +133 -133
  354. package/src/components/ui/form/Input.tsx +20 -20
  355. package/src/components/ui/form/InputOtp.tsx +80 -80
  356. package/src/components/ui/form/PhoneInput.tsx +210 -210
  357. package/src/components/ui/form/RadioGroup.tsx +45 -45
  358. package/src/components/ui/form/Select.tsx +200 -200
  359. package/src/components/ui/form/Switch.tsx +32 -32
  360. package/src/components/ui/form/Textarea.tsx +19 -19
  361. package/src/components/ui/overlay/Command.tsx +185 -185
  362. package/src/components/ui/overlay/Dialog.tsx +153 -153
  363. package/src/components/ui/overlay/Popover.tsx +49 -49
  364. package/src/components/ui/overlay/Sheet.tsx +170 -170
  365. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  366. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +392 -392
  367. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +62 -62
  368. package/src/components/widgets/ImageUpload/ImageUpload.tsx +131 -131
  369. package/src/components/widgets/ImageUpload/index.ts +3 -3
  370. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  371. package/src/handlers.ts +22 -22
  372. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  373. package/src/hooks/useAuthQueryKey.ts +32 -32
  374. package/src/hooks/useBrandLoadingIcon.tsx +18 -18
  375. package/src/hooks/useRouter.ts +38 -38
  376. package/src/http.ts +1 -1
  377. package/src/i18n/config.ts +17 -17
  378. package/src/i18n/country-language.ts +60 -60
  379. package/src/i18n/messages/en-us.ts +519 -519
  380. package/src/i18n/messages/es-es.ts +520 -520
  381. package/src/i18n/messages/index.ts +24 -24
  382. package/src/i18n/messages/pt-br.ts +543 -543
  383. package/src/i18n/normalize.ts +15 -15
  384. package/src/i18n/resolve-locale.ts +77 -77
  385. package/src/i18n.ts +10 -10
  386. package/src/index.ts +584 -584
  387. package/src/infra/http/api-fetch.ts +39 -39
  388. package/src/infra/route/parse-id.ts +9 -9
  389. package/src/infra/route/parse-numeric.ts +16 -16
  390. package/src/infra/route/safe-route-handler.ts +16 -16
  391. package/src/infra/route/search-params.ts +9 -9
  392. package/src/infra/utils/array.ts +167 -167
  393. package/src/infra/utils/date.ts +59 -59
  394. package/src/middleware.ts +4 -4
  395. package/src/modules/accounts/actions/account-management.action.ts +109 -109
  396. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  397. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  398. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  399. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  400. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  401. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  402. package/src/modules/accounts/hooks/use-currency-formatter.hook.tsx +32 -32
  403. package/src/modules/accounts/hooks/useAccountManagement.ts +95 -95
  404. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  405. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  406. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  407. package/src/modules/accounts/services/account-token.service.ts +52 -52
  408. package/src/modules/accounts/services/account.service.ts +243 -243
  409. package/src/modules/accounts/types.ts +230 -230
  410. package/src/modules/auth/actions/social-google-login.action.ts +12 -12
  411. package/src/modules/auth/actions/social-google-onboarding.action.ts +13 -13
  412. package/src/modules/auth/actions/unlink-google.action.ts +8 -8
  413. package/src/modules/auth/actions/validate-session.action.ts +70 -70
  414. package/src/modules/auth/actions/verify-two-factor.action.ts +19 -19
  415. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  416. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  417. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  418. package/src/modules/auth/hooks/social-google-login.hook.tsx +13 -13
  419. package/src/modules/auth/hooks/social-google-onboarding.hook.tsx +13 -13
  420. package/src/modules/auth/hooks/unlink-google.hook.tsx +13 -13
  421. package/src/modules/auth/hooks/useManagementPermissions.ts +52 -52
  422. package/src/modules/auth/hooks/useUserQuery.ts +103 -103
  423. package/src/modules/auth/types/management-permission.type.ts +14 -14
  424. package/src/modules/auth/utils/assert-management-permission.ts +56 -56
  425. package/src/modules/auth/utils/assert-management-subscription.ts +38 -38
  426. package/src/modules/auth/utils/assert-paid-subscription.ts +47 -47
  427. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  428. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  429. package/src/modules/auth/utils/require-token-not-expired.ts +53 -53
  430. package/src/modules/auth/utils/require-valid-session.ts +35 -35
  431. package/src/modules/cards/actions/create-card.action.ts +9 -9
  432. package/src/modules/cards/actions/create-setup-intent.action.ts +8 -8
  433. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  434. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  435. package/src/modules/cards/handlers/find-card-by-id.handler.ts +15 -15
  436. package/src/modules/cards/handlers/list-cards.handler.ts +10 -10
  437. package/src/modules/cards/hooks/card-by-id.hook.ts +17 -17
  438. package/src/modules/cards/hooks/cards.hook.ts +22 -22
  439. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  440. package/src/modules/cards/hooks/create-setup-intent.hook.ts +11 -11
  441. package/src/modules/cards/hooks/delete-card.hook.ts +52 -52
  442. package/src/modules/cards/hooks/delete-confirmation.hook.ts +40 -40
  443. package/src/modules/cards/hooks/handle-delete-card.hook.ts +47 -47
  444. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  445. package/src/modules/cards/services/cards.service.ts +136 -136
  446. package/src/modules/cards/types.ts +52 -52
  447. package/src/modules/charges/actions/charge-action.action.ts +13 -13
  448. package/src/modules/charges/handlers/find-charge-by-id.handler.ts +14 -14
  449. package/src/modules/charges/handlers/list-charges.handler.ts +15 -15
  450. package/src/modules/charges/hooks/charge-action.hook.ts +24 -24
  451. package/src/modules/charges/hooks/charge-by-id.hook.ts +19 -19
  452. package/src/modules/charges/hooks/charges.hook.ts +19 -19
  453. package/src/modules/charges/services/charges.service.ts +63 -63
  454. package/src/modules/charges/types/charge.type.ts +68 -68
  455. package/src/modules/ia-credits/handlers/list-ia-credits.handler.ts +14 -14
  456. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +103 -103
  457. package/src/modules/images/actions/process-image.action.ts +40 -40
  458. package/src/modules/images/constants/image.constants.ts +11 -11
  459. package/src/modules/images/hooks/use-image-upload.hook.ts +153 -153
  460. package/src/modules/images/services/image-processing.service.ts +75 -75
  461. package/src/modules/images/types/image.type.ts +54 -54
  462. package/src/modules/images/utils/base64.ts +26 -26
  463. package/src/modules/images/utils/compress-image.ts +20 -20
  464. package/src/modules/images/utils/crop-image.ts +68 -68
  465. package/src/modules/images/utils/validate-image.ts +86 -86
  466. package/src/modules/pages/constants/query-keys.constants.ts +1 -1
  467. package/src/modules/pages/handlers/count-pages.handler.ts +12 -12
  468. package/src/modules/pages/hooks/count-pages.hook.ts +21 -21
  469. package/src/modules/pages/services/pages.service.ts +27 -27
  470. package/src/modules/plans/handlers/find-plan-by-id.handler.ts +14 -14
  471. package/src/modules/plans/handlers/list-plans.handler.ts +22 -22
  472. package/src/modules/plans/hooks/list-plans.hook.ts +23 -23
  473. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  474. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +39 -39
  475. package/src/modules/plans/services/plans.service.ts +136 -135
  476. package/src/modules/plans/types/plan.type.ts +79 -75
  477. package/src/modules/plans/utils/map-api-plan-to-ui.ts +167 -167
  478. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  479. package/src/modules/projects/actions/create-project.action.ts +9 -9
  480. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  481. package/src/modules/projects/actions/find-project.action.ts +8 -8
  482. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  483. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  484. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  485. package/src/modules/projects/actions/update-project.action.ts +9 -9
  486. package/src/modules/projects/handlers/find-project.handler.ts +15 -15
  487. package/src/modules/projects/handlers/list-all-account-users.handler.ts +23 -23
  488. package/src/modules/projects/handlers/list-available-users.handler.ts +26 -26
  489. package/src/modules/projects/handlers/list-project-users.handler.ts +26 -26
  490. package/src/modules/projects/handlers/list-projects.handler.ts +23 -23
  491. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  492. package/src/modules/projects/hooks/create-project.hook.ts +120 -120
  493. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  494. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  495. package/src/modules/projects/hooks/list-all-account-users.hook.ts +40 -40
  496. package/src/modules/projects/hooks/list-available-users.hook.ts +39 -39
  497. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +44 -44
  498. package/src/modules/projects/hooks/list-project-users.hook.ts +39 -39
  499. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  500. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  501. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  502. package/src/modules/projects/services/projects.service.ts +156 -156
  503. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  504. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  505. package/src/modules/subscriptions/actions/update-subscription-payment.action.ts +13 -13
  506. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  507. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  508. package/src/modules/subscriptions/constants/subscription.constants.ts +1 -1
  509. package/src/modules/subscriptions/handlers/list-subscriptions.handler.ts +17 -17
  510. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  511. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +22 -22
  512. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +22 -22
  513. package/src/modules/subscriptions/hooks/update-subscription-payment.hook.ts +25 -25
  514. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  515. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +44 -44
  516. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  517. package/src/modules/subscriptions/types/calculate-subscription.type.ts +116 -116
  518. package/src/modules/subscriptions/types/pix-pending.type.ts +38 -38
  519. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  520. package/src/modules/subscriptions/utils/get-subscription-cancellation-state.ts +37 -37
  521. package/src/modules/subscriptions/utils/get-subscription-expiry-date.ts +33 -33
  522. package/src/modules/subscriptions/utils/has-subscription-expired.ts +11 -11
  523. package/src/modules/subscriptions/utils/periodicity.ts +79 -79
  524. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  525. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  526. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  527. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  528. package/src/modules/users/handlers/list-messages.handler.ts +39 -39
  529. package/src/modules/users/hooks/messages.hook.ts +69 -69
  530. package/src/modules/users/services/messages.service.ts +49 -49
  531. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  532. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  533. package/src/modules/whitelabel/schema.ts +84 -84
  534. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  535. package/src/providers/auth.provider.tsx +264 -264
  536. package/src/providers/navigation.provider.tsx +99 -99
  537. package/src/providers/whitelabel.provider.tsx +90 -90
  538. package/src/route.ts +4 -4
  539. package/src/store/useAccountModals.ts +85 -85
  540. package/src/store/useBuyCreditsModal.ts +21 -21
  541. package/src/store/useCreditsDisabledModal.ts +11 -11
  542. package/src/store/useDesktopSidebarStore.ts +47 -47
  543. package/src/store/useMdSidebarStore.ts +34 -34
  544. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  545. package/src/utils/constants/br-states.ts +29 -29
  546. package/src/utils/countries.ts +224 -224
  547. package/src/utils/format/currency.ts +70 -70
  548. package/src/utils/intl/cookie-domain.ts +29 -29
  549. package/src/utils/intl/locale-cookie.ts +18 -18
  550. package/src/utils/next-navigation.ts +7 -7
  551. package/src/utils/redirect.ts +78 -78
  552. package/src/utils/safeMutationAction.ts +24 -24
  553. package/src/utils/safeServerAction.ts +21 -21
  554. 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;