@greatapps/common 1.1.699 → 1.1.700

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 (566) 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/HexaPromoModal.mjs +166 -0
  34. package/dist/components/modals/HexaPromoModal.mjs.map +1 -0
  35. package/dist/components/modals/HexaPromoModalGate.mjs +54 -0
  36. package/dist/components/modals/HexaPromoModalGate.mjs.map +1 -0
  37. package/dist/components/modals/Modals.mjs.map +1 -1
  38. package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
  39. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  40. package/dist/components/modals/cards/CannotDeleteCardModal.mjs.map +1 -1
  41. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  42. package/dist/components/modals/cards/DeleteCardModal.mjs.map +1 -1
  43. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  44. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  45. package/dist/components/navigation/OverdueInvoiceBanner.mjs.map +1 -1
  46. package/dist/components/navigation/PendingCancellationBanner.mjs.map +1 -1
  47. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  48. package/dist/components/navigation/SubscriptionBanner.mjs.map +1 -1
  49. package/dist/components/navigation/TrialBanner.mjs.map +1 -1
  50. package/dist/components/navigation/UpcomingInvoiceBanner.mjs.map +1 -1
  51. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  52. package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
  53. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  54. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  55. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  56. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  57. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  58. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  59. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  60. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  61. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  62. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  63. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  64. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  65. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  66. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  67. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  68. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  69. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  70. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  71. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  72. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  73. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  74. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  75. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  76. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  77. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  78. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  79. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  80. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  81. package/dist/components/ui/form/FormField.mjs.map +1 -1
  82. package/dist/components/ui/form/Input.mjs.map +1 -1
  83. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  84. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  85. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  86. package/dist/components/ui/form/Select.mjs +1 -1
  87. package/dist/components/ui/form/Select.mjs.map +1 -1
  88. package/dist/components/ui/form/Switch.mjs.map +1 -1
  89. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  90. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  91. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  92. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  93. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  94. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  95. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
  96. package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
  97. package/dist/components/widgets/ImageUpload/ImageUpload.mjs.map +1 -1
  98. package/dist/components/widgets/ImageUpload/index.mjs.map +1 -1
  99. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  100. package/dist/handlers.mjs.map +1 -1
  101. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  102. package/dist/hooks/useAuthQueryKey.mjs.map +1 -1
  103. package/dist/hooks/useBrandLoadingIcon.mjs.map +1 -1
  104. package/dist/hooks/useRouter.mjs.map +1 -1
  105. package/dist/http.mjs.map +1 -1
  106. package/dist/i18n/config.mjs.map +1 -1
  107. package/dist/i18n/country-language.mjs.map +1 -1
  108. package/dist/i18n/messages/en-us.mjs.map +1 -1
  109. package/dist/i18n/messages/es-es.mjs.map +1 -1
  110. package/dist/i18n/messages/index.mjs.map +1 -1
  111. package/dist/i18n/messages/pt-br.mjs.map +1 -1
  112. package/dist/i18n/normalize.mjs.map +1 -1
  113. package/dist/i18n/resolve-locale.mjs.map +1 -1
  114. package/dist/i18n.mjs.map +1 -1
  115. package/dist/index.mjs +38 -32
  116. package/dist/index.mjs.map +1 -1
  117. package/dist/infra/http/api-fetch.mjs.map +1 -1
  118. package/dist/infra/route/parse-id.mjs.map +1 -1
  119. package/dist/infra/route/parse-numeric.mjs.map +1 -1
  120. package/dist/infra/route/safe-route-handler.mjs.map +1 -1
  121. package/dist/infra/route/search-params.mjs.map +1 -1
  122. package/dist/infra/utils/array.mjs.map +1 -1
  123. package/dist/infra/utils/date.mjs.map +1 -1
  124. package/dist/middleware.mjs.map +1 -1
  125. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  126. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  127. package/dist/modules/accounts/actions/get-account-token.action.mjs.map +1 -1
  128. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  129. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  130. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  131. package/dist/modules/accounts/hooks/use-account-token.hook.mjs.map +1 -1
  132. package/dist/modules/accounts/hooks/use-currency-formatter.hook.mjs.map +1 -1
  133. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  134. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  135. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  136. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  137. package/dist/modules/accounts/services/account-token.service.mjs.map +1 -1
  138. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  139. package/dist/modules/auth/actions/social-google-login.action.mjs.map +1 -1
  140. package/dist/modules/auth/actions/social-google-onboarding.action.mjs.map +1 -1
  141. package/dist/modules/auth/actions/unlink-google.action.mjs.map +1 -1
  142. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  143. package/dist/modules/auth/actions/verify-two-factor.action.mjs.map +1 -1
  144. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  145. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  146. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  147. package/dist/modules/auth/hooks/social-google-login.hook.mjs.map +1 -1
  148. package/dist/modules/auth/hooks/social-google-onboarding.hook.mjs.map +1 -1
  149. package/dist/modules/auth/hooks/unlink-google.hook.mjs.map +1 -1
  150. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  151. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  152. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  153. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  154. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  155. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  156. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  157. package/dist/modules/auth/utils/require-token-not-expired.mjs.map +1 -1
  158. package/dist/modules/auth/utils/require-valid-session.mjs.map +1 -1
  159. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  160. package/dist/modules/cards/actions/create-setup-intent.action.mjs.map +1 -1
  161. package/dist/modules/cards/actions/delete-card.action.mjs.map +1 -1
  162. package/dist/modules/cards/actions/set-default-card.action.mjs.map +1 -1
  163. package/dist/modules/cards/handlers/find-card-by-id.handler.mjs.map +1 -1
  164. package/dist/modules/cards/handlers/list-cards.handler.mjs.map +1 -1
  165. package/dist/modules/cards/hooks/card-by-id.hook.mjs.map +1 -1
  166. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  167. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  168. package/dist/modules/cards/hooks/create-setup-intent.hook.mjs.map +1 -1
  169. package/dist/modules/cards/hooks/delete-card.hook.mjs.map +1 -1
  170. package/dist/modules/cards/hooks/delete-confirmation.hook.mjs.map +1 -1
  171. package/dist/modules/cards/hooks/handle-delete-card.hook.mjs.map +1 -1
  172. package/dist/modules/cards/hooks/set-default-card.hook.mjs.map +1 -1
  173. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  174. package/dist/modules/cards/types.mjs.map +1 -1
  175. package/dist/modules/charges/actions/charge-action.action.mjs.map +1 -1
  176. package/dist/modules/charges/handlers/find-charge-by-id.handler.mjs.map +1 -1
  177. package/dist/modules/charges/handlers/list-charges.handler.mjs.map +1 -1
  178. package/dist/modules/charges/hooks/charge-action.hook.mjs.map +1 -1
  179. package/dist/modules/charges/hooks/charge-by-id.hook.mjs.map +1 -1
  180. package/dist/modules/charges/hooks/charges.hook.mjs.map +1 -1
  181. package/dist/modules/charges/services/charges.service.mjs.map +1 -1
  182. package/dist/modules/charges/types/charge.type.mjs.map +1 -1
  183. package/dist/modules/ia-credits/handlers/list-ia-credits.handler.mjs.map +1 -1
  184. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +1 -1
  185. package/dist/modules/images/actions/process-image.action.mjs.map +1 -1
  186. package/dist/modules/images/constants/image.constants.mjs.map +1 -1
  187. package/dist/modules/images/hooks/use-image-upload.hook.mjs.map +1 -1
  188. package/dist/modules/images/services/image-processing.service.mjs.map +1 -1
  189. package/dist/modules/images/utils/base64.mjs.map +1 -1
  190. package/dist/modules/images/utils/compress-image.mjs.map +1 -1
  191. package/dist/modules/images/utils/crop-image.mjs.map +1 -1
  192. package/dist/modules/images/utils/validate-image.mjs.map +1 -1
  193. package/dist/modules/pages/constants/query-keys.constants.mjs.map +1 -1
  194. package/dist/modules/pages/handlers/count-pages.handler.mjs.map +1 -1
  195. package/dist/modules/pages/hooks/count-pages.hook.mjs.map +1 -1
  196. package/dist/modules/pages/services/pages.service.mjs.map +1 -1
  197. package/dist/modules/plans/handlers/find-plan-by-id.handler.mjs.map +1 -1
  198. package/dist/modules/plans/handlers/list-plans.handler.mjs.map +1 -1
  199. package/dist/modules/plans/hooks/list-plans.hook.mjs.map +1 -1
  200. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  201. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  202. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  203. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  204. package/dist/modules/plans/utils/map-api-plan-to-ui.mjs.map +1 -1
  205. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  206. package/dist/modules/projects/actions/create-project.action.mjs.map +1 -1
  207. package/dist/modules/projects/actions/delete-project.action.mjs.map +1 -1
  208. package/dist/modules/projects/actions/find-project.action.mjs.map +1 -1
  209. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  210. package/dist/modules/projects/actions/list-projects.action.mjs.map +1 -1
  211. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  212. package/dist/modules/projects/actions/update-project.action.mjs.map +1 -1
  213. package/dist/modules/projects/handlers/find-project.handler.mjs.map +1 -1
  214. package/dist/modules/projects/handlers/list-all-account-users.handler.mjs.map +1 -1
  215. package/dist/modules/projects/handlers/list-available-users.handler.mjs.map +1 -1
  216. package/dist/modules/projects/handlers/list-project-users.handler.mjs.map +1 -1
  217. package/dist/modules/projects/handlers/list-projects.handler.mjs.map +1 -1
  218. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  219. package/dist/modules/projects/hooks/create-project.hook.mjs.map +1 -1
  220. package/dist/modules/projects/hooks/delete-project.hook.mjs.map +1 -1
  221. package/dist/modules/projects/hooks/find-project.hook.mjs.map +1 -1
  222. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  223. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  224. package/dist/modules/projects/hooks/list-infinite-projects.hook.mjs.map +1 -1
  225. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  226. package/dist/modules/projects/hooks/list-projects.hook.mjs.map +1 -1
  227. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  228. package/dist/modules/projects/hooks/update-project.hook.mjs.map +1 -1
  229. package/dist/modules/projects/services/projects.service.mjs.map +1 -1
  230. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  231. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  232. package/dist/modules/subscriptions/actions/update-subscription-payment.action.mjs.map +1 -1
  233. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  234. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  235. package/dist/modules/subscriptions/constants/subscription.constants.mjs.map +1 -1
  236. package/dist/modules/subscriptions/handlers/list-subscriptions.handler.mjs.map +1 -1
  237. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  238. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  239. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  240. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs.map +1 -1
  241. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  242. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  243. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  244. package/dist/modules/subscriptions/types/pix-pending.type.mjs.map +1 -1
  245. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  246. package/dist/modules/subscriptions/utils/get-subscription-cancellation-state.mjs.map +1 -1
  247. package/dist/modules/subscriptions/utils/get-subscription-expiry-date.mjs.map +1 -1
  248. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  249. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  250. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  251. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  252. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  253. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  254. package/dist/modules/users/handlers/list-messages.handler.mjs.map +1 -1
  255. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  256. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  257. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  258. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  259. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  260. package/dist/providers/auth.provider.mjs +2 -0
  261. package/dist/providers/auth.provider.mjs.map +1 -1
  262. package/dist/providers/navigation.provider.mjs.map +1 -1
  263. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  264. package/dist/route.mjs.map +1 -1
  265. package/dist/store/useAccountModals.mjs.map +1 -1
  266. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  267. package/dist/store/useCreditsDisabledModal.mjs.map +1 -1
  268. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  269. package/dist/store/useHexaPromoModal.mjs +14 -0
  270. package/dist/store/useHexaPromoModal.mjs.map +1 -0
  271. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  272. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  273. package/dist/utils/constants/br-states.mjs.map +1 -1
  274. package/dist/utils/cookies/hexa-promo.mjs +88 -0
  275. package/dist/utils/cookies/hexa-promo.mjs.map +1 -0
  276. package/dist/utils/countries.mjs.map +1 -1
  277. package/dist/utils/format/currency.mjs.map +1 -1
  278. package/dist/utils/intl/cookie-domain.mjs.map +1 -1
  279. package/dist/utils/intl/locale-cookie.mjs.map +1 -1
  280. package/dist/utils/next-navigation.mjs.map +1 -1
  281. package/dist/utils/redirect.mjs.map +1 -1
  282. package/dist/utils/safeMutationAction.mjs.map +1 -1
  283. package/dist/utils/safeServerAction.mjs.map +1 -1
  284. package/dist/utils/withAction.mjs.map +1 -1
  285. package/package.json +115 -115
  286. package/src/components/account/ConfigurationsMyAccountModal.tsx +179 -179
  287. package/src/components/account/ConfirmDeleteAccountModal.tsx +110 -110
  288. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +68 -68
  289. package/src/components/account/DeleteAccountModal.tsx +160 -160
  290. package/src/components/account/DisableTwoFactorAuthModal.tsx +92 -92
  291. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +51 -51
  292. package/src/components/account/TwoFactorAuthModal.tsx +220 -220
  293. package/src/components/account/hooks/useChangePhoneForm.tsx +113 -113
  294. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +116 -116
  295. package/src/components/account/sections/ChangeEmailModal.tsx +239 -239
  296. package/src/components/account/sections/ChangePasswordSection.tsx +68 -68
  297. package/src/components/account/sections/ChangePhoneModal.tsx +273 -273
  298. package/src/components/account/sections/MyProfileSection.tsx +276 -276
  299. package/src/components/account/sections/PreferencesSection.tsx +278 -278
  300. package/src/components/account/sections/SecuritySection.tsx +102 -102
  301. package/src/components/account/sections/TokenSection.tsx +85 -85
  302. package/src/components/embeds/ClarityEmbed.tsx +70 -70
  303. package/src/components/embeds/CrispEmbed.tsx +195 -195
  304. package/src/components/embeds/EmbedWidgets.tsx +62 -62
  305. package/src/components/embeds/FrillEmbed.tsx +146 -146
  306. package/src/components/layouts/AppMobileNavBar.tsx +214 -214
  307. package/src/components/layouts/AppNavBar.tsx +40 -40
  308. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  309. package/src/components/layouts/NavBar.tsx +228 -228
  310. package/src/components/layouts/NotificationsPopover.tsx +120 -120
  311. package/src/components/layouts/ProfilePopover.tsx +191 -191
  312. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  313. package/src/components/layouts/UsersSelectorPopover.tsx +236 -236
  314. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  315. package/src/components/modals/BuyCreditsModal.tsx +390 -390
  316. package/src/components/modals/CreditsDisabledModal.tsx +62 -62
  317. package/src/components/modals/HexaPromoModal.tsx +212 -0
  318. package/src/components/modals/HexaPromoModalGate.tsx +80 -0
  319. package/src/components/modals/Modals.tsx +25 -25
  320. package/src/components/modals/PaidPlanRequiredModal.tsx +60 -60
  321. package/src/components/modals/cards/AddCardModal.tsx +420 -420
  322. package/src/components/modals/cards/CannotDeleteCardModal.tsx +124 -124
  323. package/src/components/modals/cards/CardFormFields.tsx +363 -363
  324. package/src/components/modals/cards/DeleteCardModal.tsx +136 -136
  325. package/src/components/navigation/CancelledSubscriptionBanner.tsx +62 -62
  326. package/src/components/navigation/NavItemsContext.ts +20 -20
  327. package/src/components/navigation/OverdueInvoiceBanner.tsx +51 -51
  328. package/src/components/navigation/PendingCancellationBanner.tsx +60 -60
  329. package/src/components/navigation/ProjectSelectorPopover.tsx +180 -180
  330. package/src/components/navigation/SubscriptionBanner.tsx +94 -94
  331. package/src/components/navigation/TrialBanner.tsx +54 -54
  332. package/src/components/navigation/UpcomingInvoiceBanner.tsx +55 -55
  333. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  334. package/src/components/navigation/subcomponents/BottomLinks.tsx +85 -85
  335. package/src/components/navigation/subcomponents/ProjectSelector.tsx +184 -184
  336. package/src/components/pages/NotFoundPage.tsx +75 -75
  337. package/src/components/pages/notifications/Notifications.tsx +190 -190
  338. package/src/components/ui/buttons/Button.tsx +77 -77
  339. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  340. package/src/components/ui/buttons/CopyButton.tsx +59 -59
  341. package/src/components/ui/data-display/Accordion.tsx +81 -81
  342. package/src/components/ui/data-display/Badge.tsx +47 -47
  343. package/src/components/ui/data-display/Card.tsx +93 -93
  344. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  345. package/src/components/ui/data-display/CardItem.tsx +135 -135
  346. package/src/components/ui/data-display/Pagination.tsx +126 -126
  347. package/src/components/ui/data-display/PaymentInfoCard.tsx +193 -193
  348. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  349. package/src/components/ui/data-display/Separator.tsx +29 -29
  350. package/src/components/ui/data-display/Table.tsx +117 -117
  351. package/src/components/ui/data-display/Tabs.tsx +67 -67
  352. package/src/components/ui/feedback/CircularProgress.tsx +79 -79
  353. package/src/components/ui/feedback/DefaultCircularProgress.tsx +67 -67
  354. package/src/components/ui/feedback/LoadingOverlay.tsx +30 -30
  355. package/src/components/ui/feedback/Progress.tsx +40 -40
  356. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  357. package/src/components/ui/feedback/Toast.tsx +104 -104
  358. package/src/components/ui/form/Calendar.tsx +228 -228
  359. package/src/components/ui/form/Checkbox.tsx +31 -31
  360. package/src/components/ui/form/ComboboxField.tsx +159 -159
  361. package/src/components/ui/form/DatePicker.tsx +100 -100
  362. package/src/components/ui/form/DateRangePicker.tsx +111 -111
  363. package/src/components/ui/form/FormField.tsx +133 -133
  364. package/src/components/ui/form/Input.tsx +20 -20
  365. package/src/components/ui/form/InputOtp.tsx +80 -80
  366. package/src/components/ui/form/PhoneInput.tsx +210 -210
  367. package/src/components/ui/form/RadioGroup.tsx +45 -45
  368. package/src/components/ui/form/Select.tsx +200 -200
  369. package/src/components/ui/form/Switch.tsx +32 -32
  370. package/src/components/ui/form/Textarea.tsx +19 -19
  371. package/src/components/ui/overlay/Command.tsx +185 -185
  372. package/src/components/ui/overlay/Dialog.tsx +153 -153
  373. package/src/components/ui/overlay/Popover.tsx +49 -49
  374. package/src/components/ui/overlay/Sheet.tsx +170 -170
  375. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  376. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +392 -392
  377. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +62 -62
  378. package/src/components/widgets/ImageUpload/ImageUpload.tsx +131 -131
  379. package/src/components/widgets/ImageUpload/index.ts +3 -3
  380. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  381. package/src/handlers.ts +22 -22
  382. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  383. package/src/hooks/useAuthQueryKey.ts +32 -32
  384. package/src/hooks/useBrandLoadingIcon.tsx +18 -18
  385. package/src/hooks/useRouter.ts +38 -38
  386. package/src/http.ts +1 -1
  387. package/src/i18n/config.ts +17 -17
  388. package/src/i18n/country-language.ts +60 -60
  389. package/src/i18n/messages/en-us.ts +519 -519
  390. package/src/i18n/messages/es-es.ts +520 -520
  391. package/src/i18n/messages/index.ts +24 -24
  392. package/src/i18n/messages/pt-br.ts +543 -543
  393. package/src/i18n/normalize.ts +15 -15
  394. package/src/i18n/resolve-locale.ts +77 -77
  395. package/src/i18n.ts +10 -10
  396. package/src/index.ts +587 -584
  397. package/src/infra/http/api-fetch.ts +39 -39
  398. package/src/infra/route/parse-id.ts +9 -9
  399. package/src/infra/route/parse-numeric.ts +16 -16
  400. package/src/infra/route/safe-route-handler.ts +16 -16
  401. package/src/infra/route/search-params.ts +9 -9
  402. package/src/infra/utils/array.ts +167 -167
  403. package/src/infra/utils/date.ts +59 -59
  404. package/src/middleware.ts +4 -4
  405. package/src/modules/accounts/actions/account-management.action.ts +109 -109
  406. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  407. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  408. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  409. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  410. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  411. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  412. package/src/modules/accounts/hooks/use-currency-formatter.hook.tsx +32 -32
  413. package/src/modules/accounts/hooks/useAccountManagement.ts +95 -95
  414. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  415. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  416. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  417. package/src/modules/accounts/services/account-token.service.ts +52 -52
  418. package/src/modules/accounts/services/account.service.ts +243 -243
  419. package/src/modules/accounts/types.ts +230 -230
  420. package/src/modules/auth/actions/social-google-login.action.ts +12 -12
  421. package/src/modules/auth/actions/social-google-onboarding.action.ts +13 -13
  422. package/src/modules/auth/actions/unlink-google.action.ts +8 -8
  423. package/src/modules/auth/actions/validate-session.action.ts +70 -70
  424. package/src/modules/auth/actions/verify-two-factor.action.ts +19 -19
  425. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  426. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  427. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  428. package/src/modules/auth/hooks/social-google-login.hook.tsx +13 -13
  429. package/src/modules/auth/hooks/social-google-onboarding.hook.tsx +13 -13
  430. package/src/modules/auth/hooks/unlink-google.hook.tsx +13 -13
  431. package/src/modules/auth/hooks/useManagementPermissions.ts +52 -52
  432. package/src/modules/auth/hooks/useUserQuery.ts +103 -103
  433. package/src/modules/auth/types/management-permission.type.ts +14 -14
  434. package/src/modules/auth/utils/assert-management-permission.ts +56 -56
  435. package/src/modules/auth/utils/assert-management-subscription.ts +38 -38
  436. package/src/modules/auth/utils/assert-paid-subscription.ts +47 -47
  437. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  438. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  439. package/src/modules/auth/utils/require-token-not-expired.ts +53 -53
  440. package/src/modules/auth/utils/require-valid-session.ts +35 -35
  441. package/src/modules/cards/actions/create-card.action.ts +9 -9
  442. package/src/modules/cards/actions/create-setup-intent.action.ts +8 -8
  443. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  444. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  445. package/src/modules/cards/handlers/find-card-by-id.handler.ts +15 -15
  446. package/src/modules/cards/handlers/list-cards.handler.ts +10 -10
  447. package/src/modules/cards/hooks/card-by-id.hook.ts +17 -17
  448. package/src/modules/cards/hooks/cards.hook.ts +22 -22
  449. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  450. package/src/modules/cards/hooks/create-setup-intent.hook.ts +11 -11
  451. package/src/modules/cards/hooks/delete-card.hook.ts +52 -52
  452. package/src/modules/cards/hooks/delete-confirmation.hook.ts +40 -40
  453. package/src/modules/cards/hooks/handle-delete-card.hook.ts +47 -47
  454. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  455. package/src/modules/cards/services/cards.service.ts +136 -136
  456. package/src/modules/cards/types.ts +52 -52
  457. package/src/modules/charges/actions/charge-action.action.ts +13 -13
  458. package/src/modules/charges/handlers/find-charge-by-id.handler.ts +14 -14
  459. package/src/modules/charges/handlers/list-charges.handler.ts +15 -15
  460. package/src/modules/charges/hooks/charge-action.hook.ts +24 -24
  461. package/src/modules/charges/hooks/charge-by-id.hook.ts +19 -19
  462. package/src/modules/charges/hooks/charges.hook.ts +19 -19
  463. package/src/modules/charges/services/charges.service.ts +63 -63
  464. package/src/modules/charges/types/charge.type.ts +68 -68
  465. package/src/modules/ia-credits/handlers/list-ia-credits.handler.ts +14 -14
  466. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +103 -103
  467. package/src/modules/images/actions/process-image.action.ts +40 -40
  468. package/src/modules/images/constants/image.constants.ts +11 -11
  469. package/src/modules/images/hooks/use-image-upload.hook.ts +153 -153
  470. package/src/modules/images/services/image-processing.service.ts +75 -75
  471. package/src/modules/images/types/image.type.ts +54 -54
  472. package/src/modules/images/utils/base64.ts +26 -26
  473. package/src/modules/images/utils/compress-image.ts +20 -20
  474. package/src/modules/images/utils/crop-image.ts +68 -68
  475. package/src/modules/images/utils/validate-image.ts +86 -86
  476. package/src/modules/pages/constants/query-keys.constants.ts +1 -1
  477. package/src/modules/pages/handlers/count-pages.handler.ts +12 -12
  478. package/src/modules/pages/hooks/count-pages.hook.ts +21 -21
  479. package/src/modules/pages/services/pages.service.ts +27 -27
  480. package/src/modules/plans/handlers/find-plan-by-id.handler.ts +14 -14
  481. package/src/modules/plans/handlers/list-plans.handler.ts +22 -22
  482. package/src/modules/plans/hooks/list-plans.hook.ts +23 -23
  483. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  484. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +39 -39
  485. package/src/modules/plans/services/plans.service.ts +136 -136
  486. package/src/modules/plans/types/plan.type.ts +79 -79
  487. package/src/modules/plans/utils/map-api-plan-to-ui.ts +167 -167
  488. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  489. package/src/modules/projects/actions/create-project.action.ts +9 -9
  490. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  491. package/src/modules/projects/actions/find-project.action.ts +8 -8
  492. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  493. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  494. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  495. package/src/modules/projects/actions/update-project.action.ts +9 -9
  496. package/src/modules/projects/handlers/find-project.handler.ts +15 -15
  497. package/src/modules/projects/handlers/list-all-account-users.handler.ts +23 -23
  498. package/src/modules/projects/handlers/list-available-users.handler.ts +26 -26
  499. package/src/modules/projects/handlers/list-project-users.handler.ts +26 -26
  500. package/src/modules/projects/handlers/list-projects.handler.ts +23 -23
  501. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  502. package/src/modules/projects/hooks/create-project.hook.ts +120 -120
  503. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  504. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  505. package/src/modules/projects/hooks/list-all-account-users.hook.ts +40 -40
  506. package/src/modules/projects/hooks/list-available-users.hook.ts +39 -39
  507. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +44 -44
  508. package/src/modules/projects/hooks/list-project-users.hook.ts +39 -39
  509. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  510. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  511. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  512. package/src/modules/projects/services/projects.service.ts +156 -156
  513. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  514. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  515. package/src/modules/subscriptions/actions/update-subscription-payment.action.ts +13 -13
  516. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  517. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  518. package/src/modules/subscriptions/constants/subscription.constants.ts +1 -1
  519. package/src/modules/subscriptions/handlers/list-subscriptions.handler.ts +17 -17
  520. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  521. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +22 -22
  522. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +22 -22
  523. package/src/modules/subscriptions/hooks/update-subscription-payment.hook.ts +25 -25
  524. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  525. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +44 -44
  526. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  527. package/src/modules/subscriptions/types/calculate-subscription.type.ts +116 -116
  528. package/src/modules/subscriptions/types/pix-pending.type.ts +38 -38
  529. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  530. package/src/modules/subscriptions/utils/get-subscription-cancellation-state.ts +37 -37
  531. package/src/modules/subscriptions/utils/get-subscription-expiry-date.ts +33 -33
  532. package/src/modules/subscriptions/utils/has-subscription-expired.ts +11 -11
  533. package/src/modules/subscriptions/utils/periodicity.ts +79 -79
  534. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  535. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  536. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  537. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  538. package/src/modules/users/handlers/list-messages.handler.ts +39 -39
  539. package/src/modules/users/hooks/messages.hook.ts +69 -69
  540. package/src/modules/users/services/messages.service.ts +49 -49
  541. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  542. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  543. package/src/modules/whitelabel/schema.ts +84 -84
  544. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  545. package/src/providers/auth.provider.tsx +267 -264
  546. package/src/providers/navigation.provider.tsx +99 -99
  547. package/src/providers/whitelabel.provider.tsx +90 -90
  548. package/src/route.ts +4 -4
  549. package/src/store/useAccountModals.ts +85 -85
  550. package/src/store/useBuyCreditsModal.ts +21 -21
  551. package/src/store/useCreditsDisabledModal.ts +11 -11
  552. package/src/store/useDesktopSidebarStore.ts +47 -47
  553. package/src/store/useHexaPromoModal.ts +13 -0
  554. package/src/store/useMdSidebarStore.ts +34 -34
  555. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  556. package/src/utils/constants/br-states.ts +29 -29
  557. package/src/utils/cookies/hexa-promo.ts +114 -0
  558. package/src/utils/countries.ts +224 -224
  559. package/src/utils/format/currency.ts +70 -70
  560. package/src/utils/intl/cookie-domain.ts +29 -29
  561. package/src/utils/intl/locale-cookie.ts +18 -18
  562. package/src/utils/next-navigation.ts +7 -7
  563. package/src/utils/redirect.ts +78 -78
  564. package/src/utils/safeMutationAction.ts +24 -24
  565. package/src/utils/safeServerAction.ts +21 -21
  566. package/src/utils/withAction.ts +13 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/i18n/messages/es-es.ts"],"sourcesContent":["/**\n * Catálogo de traducción es-es para los componentes de @greatapps/common.\n * Las apps consumidoras combinan este objeto bajo el namespace `common`.\n * Refleja la estructura de módulos de `pt-br.ts` (la fuente de verdad).\n */\nconst messages = {\n actions: {\n save: 'Guardar',\n saveChanges: 'Guardar cambios',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n delete: 'Eliminar',\n edit: 'Editar',\n close: 'Cerrar',\n back: 'Volver',\n continue: 'Continuar',\n add: 'Agregar',\n remove: 'Quitar',\n search: 'Buscar',\n loading: 'Cargando...',\n saving: 'Guardando...',\n sending: 'Enviando...',\n copy: 'Copiar',\n copied: 'Copiado',\n },\n\n validations: {\n required: 'Campo obligatorio',\n invalidEmail: 'Correo electrónico inválido',\n invalidPhone: 'Teléfono inválido',\n },\n\n preferences: {\n title: 'Preferencias',\n companyName: 'Nombre de la empresa',\n companyNamePlaceholder: 'Ingrese el nombre de la empresa',\n language: 'Idioma',\n languagePlaceholder: 'Seleccione el idioma',\n languageSearch: 'Buscar idioma...',\n currency: 'Moneda',\n currencyPlaceholder: 'Seleccione la moneda',\n currencySearch: 'Buscar moneda...',\n timeDisplay: 'Visualización de hora',\n timezone: 'Zona horaria',\n timezonePlaceholder: 'Seleccione la zona horaria',\n timezoneSearch: 'Buscar zona horaria...',\n timeFormat: 'Formato de hora',\n timeFormatPlaceholder: 'Seleccione el formato',\n timeFormatOptions: {\n h24: '24 horas',\n h12: '12 horas (AM/PM)',\n },\n savedSuccess: 'Preferencias guardadas con éxito',\n saveError: 'Error al guardar las preferencias',\n },\n\n account: {\n notificationTypes: {\n projectUpdates: 'Actualizaciones de proyectos',\n securityAlerts: 'Alertas de seguridad',\n planBilling: 'Cambios en el plan o facturación',\n scheduledMaintenance: 'Mantenimientos programados',\n },\n deleteAccount: {\n title: 'Eliminar cuenta',\n description:\n 'Esta acción es <b>irreversible</b>. Al confirmar, su cuenta y todos sus datos serán eliminados.',\n reasonLabel: 'Motivo de la cancelación',\n reasonPlaceholder: 'Seleccionar',\n descriptionLabel: 'Describa qué lo llevó a tomar esta decisión',\n descriptionPlaceholder: 'Explique su decisión...',\n charactersCount: '{count}/400 caracteres',\n passwordLabel: 'Contraseña',\n passwordPlaceholder: 'Ingrese su contraseña',\n submit: 'Eliminar cuenta',\n requiredFields: 'Complete todos los campos obligatorios',\n reasons: {\n noFeature: 'La herramienta no tiene una función que necesito',\n technical: 'Encontré problemas técnicos o errores en el sistema',\n support: 'Tuve problemas con el soporte o atención al cliente',\n updates: 'Las actualizaciones tardan más de lo esperado',\n temporary: 'La cancelación es temporal',\n other: 'Otro motivo',\n },\n },\n confirmDelete: {\n title: '¡Qué pena verte partir!',\n warning:\n 'Todas sus <b>{count} páginas</b> serán eliminadas permanentemente. ¡Esta acción es <b>irreversible!</b>',\n sessionExpired: 'Sesión expirada. Complete los campos nuevamente.',\n success: 'Cuenta eliminada exitosamente',\n error: 'Error al eliminar la cuenta. Intente nuevamente.',\n keepAccount: 'Mantener mi cuenta',\n deleteAnyway: 'Eliminar de todas formas',\n deleting: 'Eliminando...',\n },\n cantDelete: {\n title: 'No es posible eliminar la cuenta',\n description:\n '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.',\n confirm: 'Ok, entendido',\n goToSubscription: 'Ir a suscripción',\n },\n twoFactor: {\n title: 'Autenticación de dos factores',\n instructions:\n '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.',\n qrAlt: 'Código QR para autenticación de dos factores',\n retry: 'Intentar de nuevo',\n pasteDigits: 'Pegue los 6 dígitos abajo',\n activating: 'Activando...',\n activate: 'Activar autenticación',\n recoveryTitle: 'Códigos de seguridad',\n recoveryHeading: 'Guarde estos códigos de recuperación de emergencia',\n recoveryText1:\n 'Si pierde acceso a su teléfono, no podrá iniciar sesión en su cuenta sin un código de dos factores.',\n recoveryText2: 'Imprima, copie o escriba los códigos a continuación en un lugar seguro.',\n copyCodes: 'Copiar códigos',\n finish: 'Finalizar',\n codesCopied: 'Códigos copiados correctamente',\n generateError: 'Error al generar el código QR. Intente de nuevo.',\n confirmError: 'Error al confirmar el código. Intente de nuevo.',\n disableTitle: 'Desactivar autenticación 2FA',\n disableDescription:\n 'Ingrese el código de 6 dígitos de su aplicación autenticadora para confirmar la desactivación.',\n authenticatorCode: 'Código del autenticador',\n disabling: 'Desactivando...',\n disable: 'Desactivar 2FA',\n disabledSuccess: 'Autenticación de dos factores desactivada',\n disableError: 'Error al desactivar 2FA. Intente de nuevo.',\n invalidCode: 'Código inválido',\n codeResent: 'Código reenviado',\n resendError: 'Error al reenviar el código. Intente de nuevo.',\n },\n profile: {\n title: 'Mi perfil',\n avatarAlt: 'Foto del usuario',\n changePhoto: 'Cambiar foto',\n name: 'Nombre',\n namePlaceholder: 'Ingrese su nombre',\n lastName: 'Apellido',\n lastNamePlaceholder: 'Ingrese su apellido',\n gender: 'Género',\n genderPlaceholder: 'Seleccione su género',\n genderOptions: {\n male: 'Masculino',\n female: 'Femenino',\n },\n phone: 'Teléfono',\n change: 'Cambiar',\n accessData: 'Datos de acceso',\n email: 'Correo electrónico',\n savedSuccess: 'Perfil actualizado exitosamente',\n saveError: 'Error al actualizar el perfil',\n },\n otp: {\n validationCode: 'Código de validación',\n incorrectCode: 'Código incorrecto',\n resend: 'Reenviar código',\n resendIn: 'Reenviar en <b>{time}</b>',\n validating: 'Validando...',\n },\n changeEmail: {\n title: 'Cambiar correo electrónico',\n confirm: 'Cambiar correo electrónico',\n sentCodeTo: 'Enviamos un código de validación al correo electrónico <b>{email}.</b>',\n updateTitle: 'Actualizar correo electrónico de contacto',\n updateDescription:\n 'Indique su nuevo correo electrónico para mantener su información de contacto actualizada.',\n newEmail: 'Nuevo correo electrónico',\n newEmailPlaceholder: 'Ingrese su nuevo correo electrónico',\n emailChanged: 'Correo electrónico cambiado exitosamente',\n emailExistsError: 'El correo electrónico ya existe o ocurrió un error. Intente más tarde.',\n },\n changePhone: {\n titleEdit: 'Cambiar teléfono',\n titleAdd: 'Agregar teléfono',\n sentCodeTo: 'Enviamos un código de validación al número actual <b>{phone}.</b>',\n confirm: 'Cambiar teléfono',\n updateTitle: 'Actualizar teléfono de contacto',\n addTitle: 'Agregar teléfono de contacto',\n updateDescription: 'Indique el nuevo número para mantener su información de contacto actualizada.',\n addDescription: 'Indique su número de teléfono para contacto.',\n newNumber: 'Nuevo número',\n numberLabel: 'Número de teléfono',\n phoneChanged: 'Teléfono cambiado',\n phoneAdded: 'Teléfono agregado',\n invalidNumber: 'Número de teléfono inválido',\n saveError: 'Ocurrió un error al guardar el número de teléfono. Intente más tarde.',\n numberExistsError: 'El número ya existe o ocurrió un error. Intente más tarde.',\n },\n security: {\n title: 'Seguridad',\n googleLinkedTitle: 'Cuenta Google vinculada',\n googleLinkedDescription:\n '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.',\n unlinking: 'Desvinculando...',\n unlinkGoogle: 'Desvincular Google',\n unlinkError: 'Error al desvincular la cuenta Google.',\n deleteAccountDescription:\n 'Esta acción es permanente y no se puede deshacer. Todos sus datos, proyectos y configuraciones serán eliminados permanentemente.',\n deleteMyAccount: 'Eliminar mi cuenta',\n },\n token: {\n title: 'Token de la cuenta',\n label: 'Token',\n copySuccess: 'Token copiado correctamente',\n copyError: 'No se pudo copiar el token',\n info: 'Este token es exclusivo de su cuenta y permite el acceso a la API. No lo comparta con terceros.',\n docsLink: 'Acceder a la documentación',\n },\n changePassword: {\n title: 'Cambiar contraseña',\n currentPassword: 'Contraseña actual',\n currentPasswordPlaceholder: 'Ingrese su contraseña actual',\n newPassword: 'Nueva contraseña',\n newPasswordPlaceholder: 'Ingrese su nueva contraseña',\n submit: 'Guardar nueva contraseña',\n changeError: 'Error al cambiar la contraseña',\n changedSuccess: 'Contraseña cambiada correctamente',\n genericError: 'Error al cambiar la contraseña. Intente nuevamente.',\n },\n globalPreferences: {\n title: 'Cambiar preferencias globales',\n srDescription: 'Confirmación de cambio de preferencias globales de la cuenta',\n warning:\n 'Está cambiando configuraciones que impactan <b>todos los usuarios de la cuenta</b>. ¿Desea confirmar?',\n },\n configurations: {\n title: 'Configuración',\n },\n },\n\n credits: {\n buy: {\n title: 'Comprar créditos de IA',\n externalTitle: 'Créditos de IA',\n externalDescription: 'Para adquirir créditos de IA, acceda a su área de suscripción.',\n externalButton: 'Ir al área de suscripción',\n creditsOptionLabel: '{credits} créditos de IA',\n creditsOptionDisplayValue: '{credits} créditos de IA',\n paymentOnConfirm: 'El pago se procesará en el momento de la confirmación.',\n nextInvoiceChanges: 'Los cambios entrarán en vigor a partir de su próxima factura.',\n defaultPrice: 'Estándar',\n immediateCharge: 'Cargo inmediato',\n totalPlanValue: 'Valor total del plan',\n confirmAndPay: 'Confirmar y pagar',\n creditsChangedToast: 'Créditos de IA cambiados a {credits}',\n },\n disabled: {\n title: 'Compra de créditos no disponible',\n descriptionLine1: 'Solo los administradores y propietarios pueden comprar créditos de IA.',\n descriptionLine2:\n 'Pida a un administrador o propietario de la cuenta que adquiera más créditos.',\n understood: 'Entendido',\n },\n paidPlanRequired: {\n defaultTitle: 'Función disponible en planes de pago',\n defaultDescription: 'Para acceder a esta función, actualice a un plan de pago',\n knowPlans: 'Ver planes',\n },\n },\n\n cards: {\n add: {\n stepBilling: 'Facturación',\n stepCard: 'Tarjeta',\n externalTitle: 'Gestión de tarjetas no disponible',\n externalDescription: 'Accede a tu área de suscripción para gestionar tus métodos de pago.',\n externalButton: 'Acceder al área de suscripción',\n title: 'Añadir tarjeta',\n billingHeading: 'Añade tu información de facturación',\n cardHeading: 'Añade la información de tu tarjeta',\n authenticating: 'Autenticando...',\n submitting: 'Añadiendo tarjeta...',\n submit: 'Añadir tarjeta',\n errorInitAuth: 'No se pudo iniciar la autenticación de la tarjeta, intenta de nuevo.',\n errorAuth: 'Falló la autenticación de la tarjeta.',\n errorAuthStatus: 'Autenticación no completada (estado: {status}).',\n statusUnknown: 'desconocido',\n successToast: 'Tarjeta añadida correctamente.',\n errorSave: 'No se pudo guardar tu nueva tarjeta, intenta de nuevo.',\n },\n form: {\n nameOnCard: 'Nombre impreso en la tarjeta',\n typeHere: 'Escribe aquí',\n cardNumber: 'Número de tarjeta',\n cardExpiry: 'Fecha de vencimiento',\n cardCvc: 'CVC',\n country: 'País',\n select: 'Selecciona',\n personType: 'Tipo de persona',\n personTypePf: 'Persona física',\n personTypePj: 'Persona jurídica',\n cpf: 'CPF',\n cnpj: 'CNPJ',\n fullName: 'Nombre completo',\n cep: 'CEP',\n postalCode: 'Código postal',\n street: 'Dirección',\n streetNumber: 'Número',\n city: 'Ciudad',\n state: 'UF',\n stateProvince: 'Estado/Provincia',\n neighborhood: 'Barrio',\n complement: 'Complemento',\n cardNumberRequired: 'El número de tarjeta es obligatorio',\n cardExpiryRequired: 'La fecha de vencimiento es obligatoria',\n cardCvcRequired: 'El código de seguridad es obligatorio',\n },\n delete: {\n title: 'Eliminar tarjeta',\n description: 'Realmente deseas eliminar la tarjeta:',\n confirmLabel: 'Escribe ELIMINAR a continuación',\n confirmPlaceholder: 'ELIMINAR',\n deleting: 'Eliminando...',\n successToast: 'La tarjeta •••• {digits} se eliminó correctamente',\n errorToast: 'No se pudo eliminar la tarjeta',\n },\n cannotDelete: {\n title: 'No se puede eliminar esta tarjeta',\n description: 'Esta tarjeta está en uso y tiene una suscripción activa vinculada. Selecciona otra tarjeta como predeterminada o añade una nueva.',\n selectDefault: 'Selecciona una tarjeta como predeterminada:',\n addNewCard: 'Añadir nueva tarjeta',\n errorUpdateCard: 'Error al actualizar la tarjeta de la suscripción',\n },\n item: {\n defaultBadge: 'Predeterminada',\n makeDefault: 'Establecer como predeterminada',\n setDefaultSuccess: 'Tarjeta establecida como predeterminada',\n setDefaultError: 'Error al establecer la tarjeta predeterminada',\n },\n paymentInfo: {\n email: 'Correo electrónico',\n payment: 'Pago',\n addCard: 'Añadir tarjeta',\n selectPaymentMethod: 'Selecciona el método de pago',\n manageCards: 'Gestionar tarjetas',\n newPaymentMethod: 'Nuevo método de pago',\n },\n },\n navigation: {\n banners: {\n cancelled: {\n message: '¡Suscripción cancelada! Tus páginas han sido retiradas del aire.',\n choosePlan: 'Elige un nuevo plan',\n },\n overdue: {\n message: 'Tu suscripción está vencida y tus páginas pueden ser retiradas del aire en cualquier momento.',\n details: 'Detalles',\n },\n pending: {\n message: 'Tu suscripción ha sido cancelada, tienes hasta {limitDate} con tus páginas en línea.',\n reactivate: 'Reactivar suscripción',\n },\n upcoming: {\n message: 'Factura pendiente. Paga antes del {dueDate} para evitar la suspensión de tus páginas.',\n details: 'Detalles',\n },\n trial: {\n message: 'Período de prueba: {days, plural, =0 {¡tu prueba termina hoy!} one {queda # día para terminar} other {quedan # días para terminar}}.',\n choosePlan: 'Suscríbete ahora',\n },\n },\n projectSelector: {\n title: 'Proyectos',\n searchPlaceholder: 'Busca aquí',\n emptyLine1: 'No se encontró ningún proyecto.',\n emptyLine2: 'Crea un proyecto para comenzar.',\n noResults: 'No se encontraron resultados.',\n manageProjects: 'Gestionar proyectos',\n },\n bottomLinks: {\n news: 'Novedades',\n helpCenter: 'Centro de ayuda',\n sendSuggestions: 'Enviar sugerencias',\n },\n creditsCard: {\n label: 'Créditos utilizados',\n },\n planCard: {\n knowPlans: 'Conoce nuestros planes',\n },\n },\n forms: {\n combobox: {\n placeholder: 'Selecciona una opción',\n searchPlaceholder: 'Buscar...',\n emptyMessage: 'No se encontró ninguna opción.',\n },\n datePicker: {\n placeholder: 'Selecciona la fecha',\n },\n dateRangePicker: {\n placeholder: 'Selecciona el período',\n },\n phoneInput: {\n optional: '(Opcional)',\n searchPlaceholder: 'Buscar país...',\n emptyMessage: 'No se encontró ningún país',\n },\n select: {\n placeholder: 'Selecciona una opción',\n optional: '(Opcional)',\n },\n copyButton: {\n tooltipDefault: 'Copiar enlace',\n successDefault: 'Enlace copiado',\n errorMessage: 'No se pudo copiar el enlace',\n },\n circularProgress: {\n ariaLabel: 'Progreso de exportación',\n },\n },\n imageUpload: {\n cropTitle: 'Ajustar imagen',\n cropHint: 'Arrastra para ajustar el área de recorte',\n cropAlt: 'Crop',\n tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',\n tooSmallTitleGeneric: 'Foto muy pequeña',\n tooSmallBodyFileWithDimension: 'El archivo \"{fileName}\" es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',\n tooSmallBodyFileGeneric: 'El archivo \"{fileName}\" es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',\n tooSmallBodyNoFileWithDimension: 'La imagen seleccionada es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',\n tooSmallBodyNoFileGeneric: 'La imagen seleccionada es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',\n sendAnother: 'Enviar otra',\n errorSvg: 'El formato SVG no es compatible. Usa PNG, JPEG, WebP o GIF.',\n errorFormat: 'Formato no compatible. Usa PNG, JPEG, WebP o GIF.',\n errorTooLarge: 'Archivo demasiado grande. Máximo {maxSize}MB.',\n },\n notifications: {\n page: {\n title: 'Notificaciones',\n subtitle: 'Mantén el control total sobre tus páginas, experiencias y conversiones.',\n markAllReadDesktop: 'Marcar todo como leído',\n markAllReadMobile: 'Marcar como leído',\n tabAll: 'Todas las notificaciones',\n tabUnread: 'No leídas',\n details: 'Detalles',\n empty: 'No se encontró ninguna notificación.',\n markAllSuccess: 'Todas las notificaciones se marcaron como leídas',\n markAllError: 'Error al marcar notificaciones como leídas',\n },\n popover: {\n title: 'Últimas notificaciones',\n empty: 'Sin notificaciones por ahora',\n viewAll: 'Todas las notificaciones',\n },\n },\n layout: {\n navbar: {\n expandMenu: 'Expandir menú',\n greatPages: 'GreatPages',\n pages: 'Páginas',\n },\n profile: {\n usedCredits: 'Créditos utilizados',\n loggingOut: 'Cerrando tu sesión...',\n logout: 'Cerrar sesión',\n },\n usersSelector: {\n title: 'Usuarios',\n add: 'Añadir',\n searchPlaceholder: 'Busca aquí',\n empty: 'No se encontró ningún usuario.',\n noResults: 'No se encontraron resultados.',\n addToProject: 'Añadir al proyecto',\n removeFromProject: 'Eliminar del proyecto',\n manageTeam: 'Gestionar equipo',\n },\n },\n notFound: {\n title: '¡Página no encontrada!',\n description: 'La página que buscas no existe. Verifica que hayas escrito correctamente el enlace que buscas.',\n backToHome: 'Volver al inicio',\n },\n\n // Planos: features e main features (mapApiPlanToUiPlan).\n plans: {\n features: {\n unlimitedVisits: 'Visitas ilimitadas',\n unlimitedLeads: 'Leads ilimitados',\n sharePages: 'Compartir páginas',\n hosting: 'Hosting incluido',\n freeTemplates: 'Plantillas gratuitas',\n onboarding: 'Reunión de Onboarding',\n projectManagement: 'Gestión de proyectos',\n },\n mainFeatures: {\n pagesUnlimited: 'Páginas ilimitadas',\n pageSingular: '1 página',\n pagesPlural: '{count} páginas',\n domainsUnlimited: 'Dominios ilimitados',\n domainSingular: '1 dominio externo',\n domainsPlural: '{count} dominios externos',\n usersUnlimited: 'Usuarios ilimitados',\n },\n usdNotConfigured: 'USD no configurado',\n },\n\n // Periodicidade de cobrança.\n periodicity: {\n monthly: 'Mensual',\n semiannual: 'Semestral',\n annual: 'Anual',\n suffixMonthly: '/mes',\n suffixSemiannual: '/semestre',\n suffixAnnual: '/año',\n labelMonthly: 'mensual',\n labelSemiannual: 'semestral',\n labelAnnual: 'anual',\n },\n\n languages: {\n 'pt-br': 'Portugués (Brasil)',\n 'en-us': 'Inglés (EE. UU.)',\n 'es-es': 'Español',\n },\n} as const;\n\nexport default messages;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/i18n/messages/es-es.ts"],"sourcesContent":["/**\r\n * Catálogo de traducción es-es para los componentes de @greatapps/common.\r\n * Las apps consumidoras combinan este objeto bajo el namespace `common`.\r\n * Refleja la estructura de módulos de `pt-br.ts` (la fuente de verdad).\r\n */\r\nconst messages = {\r\n actions: {\r\n save: 'Guardar',\r\n saveChanges: 'Guardar cambios',\r\n cancel: 'Cancelar',\r\n confirm: 'Confirmar',\r\n delete: 'Eliminar',\r\n edit: 'Editar',\r\n close: 'Cerrar',\r\n back: 'Volver',\r\n continue: 'Continuar',\r\n add: 'Agregar',\r\n remove: 'Quitar',\r\n search: 'Buscar',\r\n loading: 'Cargando...',\r\n saving: 'Guardando...',\r\n sending: 'Enviando...',\r\n copy: 'Copiar',\r\n copied: 'Copiado',\r\n },\r\n\r\n validations: {\r\n required: 'Campo obligatorio',\r\n invalidEmail: 'Correo electrónico inválido',\r\n invalidPhone: 'Teléfono inválido',\r\n },\r\n\r\n preferences: {\r\n title: 'Preferencias',\r\n companyName: 'Nombre de la empresa',\r\n companyNamePlaceholder: 'Ingrese el nombre de la empresa',\r\n language: 'Idioma',\r\n languagePlaceholder: 'Seleccione el idioma',\r\n languageSearch: 'Buscar idioma...',\r\n currency: 'Moneda',\r\n currencyPlaceholder: 'Seleccione la moneda',\r\n currencySearch: 'Buscar moneda...',\r\n timeDisplay: 'Visualización de hora',\r\n timezone: 'Zona horaria',\r\n timezonePlaceholder: 'Seleccione la zona horaria',\r\n timezoneSearch: 'Buscar zona horaria...',\r\n timeFormat: 'Formato de hora',\r\n timeFormatPlaceholder: 'Seleccione el formato',\r\n timeFormatOptions: {\r\n h24: '24 horas',\r\n h12: '12 horas (AM/PM)',\r\n },\r\n savedSuccess: 'Preferencias guardadas con éxito',\r\n saveError: 'Error al guardar las preferencias',\r\n },\r\n\r\n account: {\r\n notificationTypes: {\r\n projectUpdates: 'Actualizaciones de proyectos',\r\n securityAlerts: 'Alertas de seguridad',\r\n planBilling: 'Cambios en el plan o facturación',\r\n scheduledMaintenance: 'Mantenimientos programados',\r\n },\r\n deleteAccount: {\r\n title: 'Eliminar cuenta',\r\n description:\r\n 'Esta acción es <b>irreversible</b>. Al confirmar, su cuenta y todos sus datos serán eliminados.',\r\n reasonLabel: 'Motivo de la cancelación',\r\n reasonPlaceholder: 'Seleccionar',\r\n descriptionLabel: 'Describa qué lo llevó a tomar esta decisión',\r\n descriptionPlaceholder: 'Explique su decisión...',\r\n charactersCount: '{count}/400 caracteres',\r\n passwordLabel: 'Contraseña',\r\n passwordPlaceholder: 'Ingrese su contraseña',\r\n submit: 'Eliminar cuenta',\r\n requiredFields: 'Complete todos los campos obligatorios',\r\n reasons: {\r\n noFeature: 'La herramienta no tiene una función que necesito',\r\n technical: 'Encontré problemas técnicos o errores en el sistema',\r\n support: 'Tuve problemas con el soporte o atención al cliente',\r\n updates: 'Las actualizaciones tardan más de lo esperado',\r\n temporary: 'La cancelación es temporal',\r\n other: 'Otro motivo',\r\n },\r\n },\r\n confirmDelete: {\r\n title: '¡Qué pena verte partir!',\r\n warning:\r\n 'Todas sus <b>{count} páginas</b> serán eliminadas permanentemente. ¡Esta acción es <b>irreversible!</b>',\r\n sessionExpired: 'Sesión expirada. Complete los campos nuevamente.',\r\n success: 'Cuenta eliminada exitosamente',\r\n error: 'Error al eliminar la cuenta. Intente nuevamente.',\r\n keepAccount: 'Mantener mi cuenta',\r\n deleteAnyway: 'Eliminar de todas formas',\r\n deleting: 'Eliminando...',\r\n },\r\n cantDelete: {\r\n title: 'No es posible eliminar la cuenta',\r\n description:\r\n '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.',\r\n confirm: 'Ok, entendido',\r\n goToSubscription: 'Ir a suscripción',\r\n },\r\n twoFactor: {\r\n title: 'Autenticación de dos factores',\r\n instructions:\r\n '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.',\r\n qrAlt: 'Código QR para autenticación de dos factores',\r\n retry: 'Intentar de nuevo',\r\n pasteDigits: 'Pegue los 6 dígitos abajo',\r\n activating: 'Activando...',\r\n activate: 'Activar autenticación',\r\n recoveryTitle: 'Códigos de seguridad',\r\n recoveryHeading: 'Guarde estos códigos de recuperación de emergencia',\r\n recoveryText1:\r\n 'Si pierde acceso a su teléfono, no podrá iniciar sesión en su cuenta sin un código de dos factores.',\r\n recoveryText2: 'Imprima, copie o escriba los códigos a continuación en un lugar seguro.',\r\n copyCodes: 'Copiar códigos',\r\n finish: 'Finalizar',\r\n codesCopied: 'Códigos copiados correctamente',\r\n generateError: 'Error al generar el código QR. Intente de nuevo.',\r\n confirmError: 'Error al confirmar el código. Intente de nuevo.',\r\n disableTitle: 'Desactivar autenticación 2FA',\r\n disableDescription:\r\n 'Ingrese el código de 6 dígitos de su aplicación autenticadora para confirmar la desactivación.',\r\n authenticatorCode: 'Código del autenticador',\r\n disabling: 'Desactivando...',\r\n disable: 'Desactivar 2FA',\r\n disabledSuccess: 'Autenticación de dos factores desactivada',\r\n disableError: 'Error al desactivar 2FA. Intente de nuevo.',\r\n invalidCode: 'Código inválido',\r\n codeResent: 'Código reenviado',\r\n resendError: 'Error al reenviar el código. Intente de nuevo.',\r\n },\r\n profile: {\r\n title: 'Mi perfil',\r\n avatarAlt: 'Foto del usuario',\r\n changePhoto: 'Cambiar foto',\r\n name: 'Nombre',\r\n namePlaceholder: 'Ingrese su nombre',\r\n lastName: 'Apellido',\r\n lastNamePlaceholder: 'Ingrese su apellido',\r\n gender: 'Género',\r\n genderPlaceholder: 'Seleccione su género',\r\n genderOptions: {\r\n male: 'Masculino',\r\n female: 'Femenino',\r\n },\r\n phone: 'Teléfono',\r\n change: 'Cambiar',\r\n accessData: 'Datos de acceso',\r\n email: 'Correo electrónico',\r\n savedSuccess: 'Perfil actualizado exitosamente',\r\n saveError: 'Error al actualizar el perfil',\r\n },\r\n otp: {\r\n validationCode: 'Código de validación',\r\n incorrectCode: 'Código incorrecto',\r\n resend: 'Reenviar código',\r\n resendIn: 'Reenviar en <b>{time}</b>',\r\n validating: 'Validando...',\r\n },\r\n changeEmail: {\r\n title: 'Cambiar correo electrónico',\r\n confirm: 'Cambiar correo electrónico',\r\n sentCodeTo: 'Enviamos un código de validación al correo electrónico <b>{email}.</b>',\r\n updateTitle: 'Actualizar correo electrónico de contacto',\r\n updateDescription:\r\n 'Indique su nuevo correo electrónico para mantener su información de contacto actualizada.',\r\n newEmail: 'Nuevo correo electrónico',\r\n newEmailPlaceholder: 'Ingrese su nuevo correo electrónico',\r\n emailChanged: 'Correo electrónico cambiado exitosamente',\r\n emailExistsError: 'El correo electrónico ya existe o ocurrió un error. Intente más tarde.',\r\n },\r\n changePhone: {\r\n titleEdit: 'Cambiar teléfono',\r\n titleAdd: 'Agregar teléfono',\r\n sentCodeTo: 'Enviamos un código de validación al número actual <b>{phone}.</b>',\r\n confirm: 'Cambiar teléfono',\r\n updateTitle: 'Actualizar teléfono de contacto',\r\n addTitle: 'Agregar teléfono de contacto',\r\n updateDescription: 'Indique el nuevo número para mantener su información de contacto actualizada.',\r\n addDescription: 'Indique su número de teléfono para contacto.',\r\n newNumber: 'Nuevo número',\r\n numberLabel: 'Número de teléfono',\r\n phoneChanged: 'Teléfono cambiado',\r\n phoneAdded: 'Teléfono agregado',\r\n invalidNumber: 'Número de teléfono inválido',\r\n saveError: 'Ocurrió un error al guardar el número de teléfono. Intente más tarde.',\r\n numberExistsError: 'El número ya existe o ocurrió un error. Intente más tarde.',\r\n },\r\n security: {\r\n title: 'Seguridad',\r\n googleLinkedTitle: 'Cuenta Google vinculada',\r\n googleLinkedDescription:\r\n '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.',\r\n unlinking: 'Desvinculando...',\r\n unlinkGoogle: 'Desvincular Google',\r\n unlinkError: 'Error al desvincular la cuenta Google.',\r\n deleteAccountDescription:\r\n 'Esta acción es permanente y no se puede deshacer. Todos sus datos, proyectos y configuraciones serán eliminados permanentemente.',\r\n deleteMyAccount: 'Eliminar mi cuenta',\r\n },\r\n token: {\r\n title: 'Token de la cuenta',\r\n label: 'Token',\r\n copySuccess: 'Token copiado correctamente',\r\n copyError: 'No se pudo copiar el token',\r\n info: 'Este token es exclusivo de su cuenta y permite el acceso a la API. No lo comparta con terceros.',\r\n docsLink: 'Acceder a la documentación',\r\n },\r\n changePassword: {\r\n title: 'Cambiar contraseña',\r\n currentPassword: 'Contraseña actual',\r\n currentPasswordPlaceholder: 'Ingrese su contraseña actual',\r\n newPassword: 'Nueva contraseña',\r\n newPasswordPlaceholder: 'Ingrese su nueva contraseña',\r\n submit: 'Guardar nueva contraseña',\r\n changeError: 'Error al cambiar la contraseña',\r\n changedSuccess: 'Contraseña cambiada correctamente',\r\n genericError: 'Error al cambiar la contraseña. Intente nuevamente.',\r\n },\r\n globalPreferences: {\r\n title: 'Cambiar preferencias globales',\r\n srDescription: 'Confirmación de cambio de preferencias globales de la cuenta',\r\n warning:\r\n 'Está cambiando configuraciones que impactan <b>todos los usuarios de la cuenta</b>. ¿Desea confirmar?',\r\n },\r\n configurations: {\r\n title: 'Configuración',\r\n },\r\n },\r\n\r\n credits: {\r\n buy: {\r\n title: 'Comprar créditos de IA',\r\n externalTitle: 'Créditos de IA',\r\n externalDescription: 'Para adquirir créditos de IA, acceda a su área de suscripción.',\r\n externalButton: 'Ir al área de suscripción',\r\n creditsOptionLabel: '{credits} créditos de IA',\r\n creditsOptionDisplayValue: '{credits} créditos de IA',\r\n paymentOnConfirm: 'El pago se procesará en el momento de la confirmación.',\r\n nextInvoiceChanges: 'Los cambios entrarán en vigor a partir de su próxima factura.',\r\n defaultPrice: 'Estándar',\r\n immediateCharge: 'Cargo inmediato',\r\n totalPlanValue: 'Valor total del plan',\r\n confirmAndPay: 'Confirmar y pagar',\r\n creditsChangedToast: 'Créditos de IA cambiados a {credits}',\r\n },\r\n disabled: {\r\n title: 'Compra de créditos no disponible',\r\n descriptionLine1: 'Solo los administradores y propietarios pueden comprar créditos de IA.',\r\n descriptionLine2:\r\n 'Pida a un administrador o propietario de la cuenta que adquiera más créditos.',\r\n understood: 'Entendido',\r\n },\r\n paidPlanRequired: {\r\n defaultTitle: 'Función disponible en planes de pago',\r\n defaultDescription: 'Para acceder a esta función, actualice a un plan de pago',\r\n knowPlans: 'Ver planes',\r\n },\r\n },\r\n\r\n cards: {\r\n add: {\r\n stepBilling: 'Facturación',\r\n stepCard: 'Tarjeta',\r\n externalTitle: 'Gestión de tarjetas no disponible',\r\n externalDescription: 'Accede a tu área de suscripción para gestionar tus métodos de pago.',\r\n externalButton: 'Acceder al área de suscripción',\r\n title: 'Añadir tarjeta',\r\n billingHeading: 'Añade tu información de facturación',\r\n cardHeading: 'Añade la información de tu tarjeta',\r\n authenticating: 'Autenticando...',\r\n submitting: 'Añadiendo tarjeta...',\r\n submit: 'Añadir tarjeta',\r\n errorInitAuth: 'No se pudo iniciar la autenticación de la tarjeta, intenta de nuevo.',\r\n errorAuth: 'Falló la autenticación de la tarjeta.',\r\n errorAuthStatus: 'Autenticación no completada (estado: {status}).',\r\n statusUnknown: 'desconocido',\r\n successToast: 'Tarjeta añadida correctamente.',\r\n errorSave: 'No se pudo guardar tu nueva tarjeta, intenta de nuevo.',\r\n },\r\n form: {\r\n nameOnCard: 'Nombre impreso en la tarjeta',\r\n typeHere: 'Escribe aquí',\r\n cardNumber: 'Número de tarjeta',\r\n cardExpiry: 'Fecha de vencimiento',\r\n cardCvc: 'CVC',\r\n country: 'País',\r\n select: 'Selecciona',\r\n personType: 'Tipo de persona',\r\n personTypePf: 'Persona física',\r\n personTypePj: 'Persona jurídica',\r\n cpf: 'CPF',\r\n cnpj: 'CNPJ',\r\n fullName: 'Nombre completo',\r\n cep: 'CEP',\r\n postalCode: 'Código postal',\r\n street: 'Dirección',\r\n streetNumber: 'Número',\r\n city: 'Ciudad',\r\n state: 'UF',\r\n stateProvince: 'Estado/Provincia',\r\n neighborhood: 'Barrio',\r\n complement: 'Complemento',\r\n cardNumberRequired: 'El número de tarjeta es obligatorio',\r\n cardExpiryRequired: 'La fecha de vencimiento es obligatoria',\r\n cardCvcRequired: 'El código de seguridad es obligatorio',\r\n },\r\n delete: {\r\n title: 'Eliminar tarjeta',\r\n description: 'Realmente deseas eliminar la tarjeta:',\r\n confirmLabel: 'Escribe ELIMINAR a continuación',\r\n confirmPlaceholder: 'ELIMINAR',\r\n deleting: 'Eliminando...',\r\n successToast: 'La tarjeta •••• {digits} se eliminó correctamente',\r\n errorToast: 'No se pudo eliminar la tarjeta',\r\n },\r\n cannotDelete: {\r\n title: 'No se puede eliminar esta tarjeta',\r\n description: 'Esta tarjeta está en uso y tiene una suscripción activa vinculada. Selecciona otra tarjeta como predeterminada o añade una nueva.',\r\n selectDefault: 'Selecciona una tarjeta como predeterminada:',\r\n addNewCard: 'Añadir nueva tarjeta',\r\n errorUpdateCard: 'Error al actualizar la tarjeta de la suscripción',\r\n },\r\n item: {\r\n defaultBadge: 'Predeterminada',\r\n makeDefault: 'Establecer como predeterminada',\r\n setDefaultSuccess: 'Tarjeta establecida como predeterminada',\r\n setDefaultError: 'Error al establecer la tarjeta predeterminada',\r\n },\r\n paymentInfo: {\r\n email: 'Correo electrónico',\r\n payment: 'Pago',\r\n addCard: 'Añadir tarjeta',\r\n selectPaymentMethod: 'Selecciona el método de pago',\r\n manageCards: 'Gestionar tarjetas',\r\n newPaymentMethod: 'Nuevo método de pago',\r\n },\r\n },\r\n navigation: {\r\n banners: {\r\n cancelled: {\r\n message: '¡Suscripción cancelada! Tus páginas han sido retiradas del aire.',\r\n choosePlan: 'Elige un nuevo plan',\r\n },\r\n overdue: {\r\n message: 'Tu suscripción está vencida y tus páginas pueden ser retiradas del aire en cualquier momento.',\r\n details: 'Detalles',\r\n },\r\n pending: {\r\n message: 'Tu suscripción ha sido cancelada, tienes hasta {limitDate} con tus páginas en línea.',\r\n reactivate: 'Reactivar suscripción',\r\n },\r\n upcoming: {\r\n message: 'Factura pendiente. Paga antes del {dueDate} para evitar la suspensión de tus páginas.',\r\n details: 'Detalles',\r\n },\r\n trial: {\r\n message: 'Período de prueba: {days, plural, =0 {¡tu prueba termina hoy!} one {queda # día para terminar} other {quedan # días para terminar}}.',\r\n choosePlan: 'Suscríbete ahora',\r\n },\r\n },\r\n projectSelector: {\r\n title: 'Proyectos',\r\n searchPlaceholder: 'Busca aquí',\r\n emptyLine1: 'No se encontró ningún proyecto.',\r\n emptyLine2: 'Crea un proyecto para comenzar.',\r\n noResults: 'No se encontraron resultados.',\r\n manageProjects: 'Gestionar proyectos',\r\n },\r\n bottomLinks: {\r\n news: 'Novedades',\r\n helpCenter: 'Centro de ayuda',\r\n sendSuggestions: 'Enviar sugerencias',\r\n },\r\n creditsCard: {\r\n label: 'Créditos utilizados',\r\n },\r\n planCard: {\r\n knowPlans: 'Conoce nuestros planes',\r\n },\r\n },\r\n forms: {\r\n combobox: {\r\n placeholder: 'Selecciona una opción',\r\n searchPlaceholder: 'Buscar...',\r\n emptyMessage: 'No se encontró ninguna opción.',\r\n },\r\n datePicker: {\r\n placeholder: 'Selecciona la fecha',\r\n },\r\n dateRangePicker: {\r\n placeholder: 'Selecciona el período',\r\n },\r\n phoneInput: {\r\n optional: '(Opcional)',\r\n searchPlaceholder: 'Buscar país...',\r\n emptyMessage: 'No se encontró ningún país',\r\n },\r\n select: {\r\n placeholder: 'Selecciona una opción',\r\n optional: '(Opcional)',\r\n },\r\n copyButton: {\r\n tooltipDefault: 'Copiar enlace',\r\n successDefault: 'Enlace copiado',\r\n errorMessage: 'No se pudo copiar el enlace',\r\n },\r\n circularProgress: {\r\n ariaLabel: 'Progreso de exportación',\r\n },\r\n },\r\n imageUpload: {\r\n cropTitle: 'Ajustar imagen',\r\n cropHint: 'Arrastra para ajustar el área de recorte',\r\n cropAlt: 'Crop',\r\n tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',\r\n tooSmallTitleGeneric: 'Foto muy pequeña',\r\n tooSmallBodyFileWithDimension: 'El archivo \"{fileName}\" es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',\r\n tooSmallBodyFileGeneric: 'El archivo \"{fileName}\" es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',\r\n tooSmallBodyNoFileWithDimension: 'La imagen seleccionada es menor que {dimensionText}. Sube una imagen de al menos {dimensionText} para continuar.',\r\n tooSmallBodyNoFileGeneric: 'La imagen seleccionada es menor que el tamaño mínimo requerido. Sube una imagen más grande para continuar.',\r\n sendAnother: 'Enviar otra',\r\n errorSvg: 'El formato SVG no es compatible. Usa PNG, JPEG, WebP o GIF.',\r\n errorFormat: 'Formato no compatible. Usa PNG, JPEG, WebP o GIF.',\r\n errorTooLarge: 'Archivo demasiado grande. Máximo {maxSize}MB.',\r\n },\r\n notifications: {\r\n page: {\r\n title: 'Notificaciones',\r\n subtitle: 'Mantén el control total sobre tus páginas, experiencias y conversiones.',\r\n markAllReadDesktop: 'Marcar todo como leído',\r\n markAllReadMobile: 'Marcar como leído',\r\n tabAll: 'Todas las notificaciones',\r\n tabUnread: 'No leídas',\r\n details: 'Detalles',\r\n empty: 'No se encontró ninguna notificación.',\r\n markAllSuccess: 'Todas las notificaciones se marcaron como leídas',\r\n markAllError: 'Error al marcar notificaciones como leídas',\r\n },\r\n popover: {\r\n title: 'Últimas notificaciones',\r\n empty: 'Sin notificaciones por ahora',\r\n viewAll: 'Todas las notificaciones',\r\n },\r\n },\r\n layout: {\r\n navbar: {\r\n expandMenu: 'Expandir menú',\r\n greatPages: 'GreatPages',\r\n pages: 'Páginas',\r\n },\r\n profile: {\r\n usedCredits: 'Créditos utilizados',\r\n loggingOut: 'Cerrando tu sesión...',\r\n logout: 'Cerrar sesión',\r\n },\r\n usersSelector: {\r\n title: 'Usuarios',\r\n add: 'Añadir',\r\n searchPlaceholder: 'Busca aquí',\r\n empty: 'No se encontró ningún usuario.',\r\n noResults: 'No se encontraron resultados.',\r\n addToProject: 'Añadir al proyecto',\r\n removeFromProject: 'Eliminar del proyecto',\r\n manageTeam: 'Gestionar equipo',\r\n },\r\n },\r\n notFound: {\r\n title: '¡Página no encontrada!',\r\n description: 'La página que buscas no existe. Verifica que hayas escrito correctamente el enlace que buscas.',\r\n backToHome: 'Volver al inicio',\r\n },\r\n\r\n // Planos: features e main features (mapApiPlanToUiPlan).\r\n plans: {\r\n features: {\r\n unlimitedVisits: 'Visitas ilimitadas',\r\n unlimitedLeads: 'Leads ilimitados',\r\n sharePages: 'Compartir páginas',\r\n hosting: 'Hosting incluido',\r\n freeTemplates: 'Plantillas gratuitas',\r\n onboarding: 'Reunión de Onboarding',\r\n projectManagement: 'Gestión de proyectos',\r\n },\r\n mainFeatures: {\r\n pagesUnlimited: 'Páginas ilimitadas',\r\n pageSingular: '1 página',\r\n pagesPlural: '{count} páginas',\r\n domainsUnlimited: 'Dominios ilimitados',\r\n domainSingular: '1 dominio externo',\r\n domainsPlural: '{count} dominios externos',\r\n usersUnlimited: 'Usuarios ilimitados',\r\n },\r\n usdNotConfigured: 'USD no configurado',\r\n },\r\n\r\n // Periodicidade de cobrança.\r\n periodicity: {\r\n monthly: 'Mensual',\r\n semiannual: 'Semestral',\r\n annual: 'Anual',\r\n suffixMonthly: '/mes',\r\n suffixSemiannual: '/semestre',\r\n suffixAnnual: '/año',\r\n labelMonthly: 'mensual',\r\n labelSemiannual: 'semestral',\r\n labelAnnual: 'anual',\r\n },\r\n\r\n languages: {\r\n 'pt-br': 'Portugués (Brasil)',\r\n 'en-us': 'Inglés (EE. UU.)',\r\n 'es-es': 'Español',\r\n },\r\n} as const;\r\n\r\nexport default messages;\r\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/i18n/messages/index.ts"],"sourcesContent":["import { DEFAULT_LOCALE, Locale } from '../config';\nimport enUs from './en-us';\nimport esEs from './es-es';\nimport ptBr from './pt-br';\n\nconst COMMON_MESSAGES: Record<Locale, Record<string, unknown>> = {\n 'pt-br': ptBr,\n 'en-us': enUs,\n 'es-es': esEs,\n};\n\n/**\n * Forma das mensagens globais (derivada do pt-br, a fonte da verdade).\n * Os apps usam este tipo para a type augmentation do next-intl (chaves `common.*` tipadas).\n */\nexport type CommonMessages = typeof ptBr;\n\n/**\n * Mensagens dos componentes da @greatapps/common para o locale informado.\n * Os apps mesclam o resultado sob o namespace `common` ao montar o catálogo do next-intl.\n */\nexport function getCommonMessages(locale: Locale): Record<string, unknown> {\n return COMMON_MESSAGES[locale] ?? COMMON_MESSAGES[DEFAULT_LOCALE];\n}\n"],"mappings":"AAAA,SAAS,sBAA8B;AACvC,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,MAAM,kBAA2D;AAAA,EAC/D,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAYO,SAAS,kBAAkB,QAAyC;AACzE,SAAO,gBAAgB,MAAM,KAAK,gBAAgB,cAAc;AAClE;","names":[]}
1
+ {"version":3,"sources":["../../../src/i18n/messages/index.ts"],"sourcesContent":["import { DEFAULT_LOCALE, Locale } from '../config';\r\nimport enUs from './en-us';\r\nimport esEs from './es-es';\r\nimport ptBr from './pt-br';\r\n\r\nconst COMMON_MESSAGES: Record<Locale, Record<string, unknown>> = {\r\n 'pt-br': ptBr,\r\n 'en-us': enUs,\r\n 'es-es': esEs,\r\n};\r\n\r\n/**\r\n * Forma das mensagens globais (derivada do pt-br, a fonte da verdade).\r\n * Os apps usam este tipo para a type augmentation do next-intl (chaves `common.*` tipadas).\r\n */\r\nexport type CommonMessages = typeof ptBr;\r\n\r\n/**\r\n * Mensagens dos componentes da @greatapps/common para o locale informado.\r\n * Os apps mesclam o resultado sob o namespace `common` ao montar o catálogo do next-intl.\r\n */\r\nexport function getCommonMessages(locale: Locale): Record<string, unknown> {\r\n return COMMON_MESSAGES[locale] ?? COMMON_MESSAGES[DEFAULT_LOCALE];\r\n}\r\n"],"mappings":"AAAA,SAAS,sBAA8B;AACvC,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,MAAM,kBAA2D;AAAA,EAC/D,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAYO,SAAS,kBAAkB,QAAyC;AACzE,SAAO,gBAAgB,MAAM,KAAK,gBAAgB,cAAc;AAClE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/i18n/messages/pt-br.ts"],"sourcesContent":["/**\n * Catálogo de traduções pt-br dos componentes da @greatapps/common.\n * Os apps consumidores mesclam este objeto sob o namespace `common`.\n *\n * Padrão modular: cada chave de primeiro nível é um **módulo** (um agrupamento por\n * componente/domínio). Para adicionar traduções, crie/edite o módulo correspondente aqui\n * e replique a mesma estrutura em `en-us.ts` e `es-es.ts`.\n *\n * pt-br é a fonte da verdade — os textos saem verbatim do que o componente já exibe hoje.\n */\nconst messages = {\n // Vocabulário global de ações (botões, comandos).\n actions: {\n save: 'Salvar',\n saveChanges: 'Salvar alterações',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n delete: 'Excluir',\n edit: 'Editar',\n close: 'Fechar',\n back: 'Voltar',\n continue: 'Continuar',\n add: 'Adicionar',\n remove: 'Remover',\n search: 'Buscar',\n loading: 'Carregando...',\n saving: 'Salvando...',\n sending: 'Enviando...',\n copy: 'Copiar',\n copied: 'Copiado',\n },\n\n // Mensagens de validação de formulário.\n validations: {\n required: 'Campo obrigatório',\n invalidEmail: 'E-mail inválido',\n invalidPhone: 'Telefone inválido',\n },\n\n // Componente: PreferencesSection.\n preferences: {\n title: 'Preferências',\n companyName: 'Nome da empresa',\n companyNamePlaceholder: 'Digite o nome da empresa',\n language: 'Idioma',\n languagePlaceholder: 'Selecione o idioma',\n languageSearch: 'Buscar idioma...',\n currency: 'Moeda',\n currencyPlaceholder: 'Selecione a moeda',\n currencySearch: 'Buscar moeda...',\n timeDisplay: 'Exibição hora',\n timezone: 'Fuso horário',\n timezonePlaceholder: 'Selecione o fuso horário',\n timezoneSearch: 'Buscar fuso horário...',\n timeFormat: 'Formato hora',\n timeFormatPlaceholder: 'Selecione o formato',\n timeFormatOptions: {\n h24: '24 horas',\n h12: '12 horas (AM/PM)',\n },\n savedSuccess: 'Preferências salvas com sucesso',\n saveError: 'Erro ao salvar preferências',\n },\n\n // Conta — modais e seções. `<b>` = trecho em negrito (rich text); `{count}` = interpolação.\n account: {\n notificationTypes: {\n projectUpdates: 'Atualizações de projetos',\n securityAlerts: 'Alertas de segurança',\n planBilling: 'Mudanças no plano ou faturamento',\n scheduledMaintenance: 'Manutenções programadas',\n },\n deleteAccount: {\n title: 'Excluir conta',\n description:\n 'Esta ação é <b>irreversível</b>. Ao confirmar, sua conta e todos os seus dados serão excluídos.',\n reasonLabel: 'Motivo do cancelamento',\n reasonPlaceholder: 'Selecione',\n descriptionLabel: 'Descreva o que levou a tomar essa decisão',\n descriptionPlaceholder: 'Explique sua decisão...',\n charactersCount: '{count}/400 caracteres',\n passwordLabel: 'Senha',\n passwordPlaceholder: 'Informe sua senha',\n submit: 'Excluir conta',\n requiredFields: 'Preencha todos os campos obrigatórios',\n reasons: {\n noFeature: 'A ferramenta não possui uma função que eu preciso',\n technical: 'Encontrei problemas técnicos ou erros no sistema',\n support: 'Tive problemas com o suporte ou atendimento',\n updates: 'As atualizações demoram mais do que o esperado',\n temporary: 'O cancelamento é temporário',\n other: 'Outro motivo',\n },\n },\n confirmDelete: {\n title: 'Uma pena te ver ir!',\n warning:\n 'Todas suas <b>{count} páginas</b> serão deletadas permanentemente. Essa ação é <b>irreversível!</b>',\n sessionExpired: 'Sessão expirada. Preencha os campos novamente.',\n success: 'Conta excluída com sucesso',\n error: 'Erro ao excluir. Tente novamente.',\n keepAccount: 'Manter minha conta',\n deleteAnyway: 'Excluir mesmo assim',\n deleting: 'Excluindo...',\n },\n cantDelete: {\n title: 'Não é possível excluir a conta',\n description:\n 'Você tem uma assinatura ativa. Para excluir sua conta, <b>primeiro cancele a assinatura</b> na página Assinatura e depois tente novamente.',\n confirm: 'Ok, entendi',\n goToSubscription: 'Ir para assinatura',\n },\n twoFactor: {\n title: 'Autenticação de dois fatores',\n instructions:\n 'Instale um aplicativo autenticador no seu celular (ex.: <link>Google Authenticator</link>), escaneie o QR Code ao lado ou copie a chave no aplicativo e, em seguida, digite o código de 6 dígitos gerado para continuar.',\n qrAlt: 'QR Code para autenticação de dois fatores',\n retry: 'Tentar novamente',\n pasteDigits: 'Cole os 6 dígitos abaixo',\n activating: 'Ativando...',\n activate: 'Ativar autenticação',\n recoveryTitle: 'Códigos de segurança',\n recoveryHeading: 'Salve estes códigos de recuperação de emergência',\n recoveryText1:\n 'Se você perder acesso ao seu telefone, não será possível fazer login em sua conta sem um código de dois fatores.',\n recoveryText2: 'Imprima, copie ou escreva em um local seguro os códigos abaixo.',\n copyCodes: 'Copiar códigos',\n finish: 'Finalizar',\n codesCopied: 'Códigos copiados com sucesso',\n generateError: 'Erro ao gerar QR Code. Tente novamente.',\n confirmError: 'Erro ao confirmar código. Tente novamente.',\n disableTitle: 'Desabilitar autenticação 2FA',\n disableDescription:\n 'Informe o código de 6 dígitos do seu aplicativo autenticador para confirmar a desativação.',\n authenticatorCode: 'Código do autenticador',\n disabling: 'Desabilitando...',\n disable: 'Desabilitar 2FA',\n disabledSuccess: 'Autenticação de dois fatores desabilitada',\n disableError: 'Erro ao desabilitar 2FA. Tente novamente.',\n invalidCode: 'Código inválido',\n codeResent: 'Código reenviado',\n resendError: 'Erro ao reenviar código. Tente novamente.',\n },\n profile: {\n title: 'Meu perfil',\n avatarAlt: 'Foto do usuário',\n changePhoto: 'Alterar foto',\n name: 'Nome',\n namePlaceholder: 'Digite seu nome',\n lastName: 'Sobrenome',\n lastNamePlaceholder: 'Digite seu sobrenome',\n gender: 'Gênero',\n genderPlaceholder: 'Selecione seu gênero',\n genderOptions: {\n male: 'Masculino',\n female: 'Feminino',\n },\n phone: 'Telefone',\n change: 'Alterar',\n accessData: 'Dados de acesso',\n email: 'E-mail',\n savedSuccess: 'Perfil atualizado com sucesso',\n saveError: 'Erro ao atualizar perfil',\n },\n otp: {\n validationCode: 'Código de validação',\n incorrectCode: 'Código incorreto',\n resend: 'Reenviar código',\n resendIn: 'Reenviar em <b>{time}</b>',\n validating: 'Validando...',\n },\n changeEmail: {\n title: 'Alterar e-mail',\n confirm: 'Alterar e-mail',\n sentCodeTo: 'Enviamos um código de validação para o E-mail <b>{email}.</b>',\n updateTitle: 'Atualizar E-mail de contato',\n updateDescription: 'Informe o seu novo E-mail para manter seu contato atualizado.',\n newEmail: 'Novo e-mail',\n newEmailPlaceholder: 'Digite seu novo e-mail',\n emailChanged: 'E-mail alterado com sucesso',\n emailExistsError: 'E-mail já existente ou ocorreu um erro. Tente novamente mais tarde.',\n },\n changePhone: {\n titleEdit: 'Alterar telefone',\n titleAdd: 'Adicionar telefone',\n sentCodeTo: 'Enviamos um código de validação para o número atual <b>{phone}.</b>',\n confirm: 'Alterar telefone',\n updateTitle: 'Atualizar telefone de contato',\n addTitle: 'Adicionar telefone de contato',\n updateDescription: 'Informe o novo número para manter seu contato atualizado.',\n addDescription: 'Informe seu número de telefone para contato.',\n newNumber: 'Novo número',\n numberLabel: 'Número de telefone',\n phoneChanged: 'Telefone alterado',\n phoneAdded: 'Telefone adicionado',\n invalidNumber: 'Número de telefone inválido',\n saveError: 'Ocorreu um erro ao salvar o telefone. Tente novamente mais tarde.',\n numberExistsError: 'Número já existente ou ocorreu um erro. Tente novamente mais tarde.',\n },\n security: {\n title: 'Segurança',\n googleLinkedTitle: 'Conta Google vinculada',\n googleLinkedDescription:\n 'Sua conta está vinculada ao Google. Se desvincular, use \"Esqueci minha senha\" para redefinir uma senha de acesso por e-mail.',\n unlinking: 'Desvinculando...',\n unlinkGoogle: 'Desvincular Google',\n unlinkError: 'Erro ao desvincular conta Google.',\n deleteAccountDescription:\n 'Esta ação é permanente e não pode ser desfeita. Todos os seus dados, projetos e configurações serão removidos definitivamente.',\n deleteMyAccount: 'Excluir minha conta',\n },\n token: {\n title: 'Token da conta',\n label: 'Token',\n copySuccess: 'Token copiado com sucesso',\n copyError: 'Não foi possível copiar o token',\n info: 'Este token é exclusivo da sua conta e permite acesso à API. Não compartilhe com terceiros.',\n docsLink: 'Acessar a documentação',\n },\n changePassword: {\n title: 'Alterar senha',\n currentPassword: 'Senha atual',\n currentPasswordPlaceholder: 'Digite sua senha atual',\n newPassword: 'Nova senha',\n newPasswordPlaceholder: 'Digite sua nova senha',\n submit: 'Salvar nova senha',\n changeError: 'Erro ao alterar senha',\n changedSuccess: 'Senha alterada com sucesso',\n genericError: 'Erro ao alterar senha. Tente novamente.',\n },\n globalPreferences: {\n title: 'Alterar preferências globais',\n srDescription: 'Confirmação de alteração de preferências globais da conta',\n warning:\n 'Você está alterando configurações que impactam <b>todos os usuários da conta</b>. Deseja confirmar?',\n },\n configurations: {\n title: 'Configurações',\n },\n },\n\n // Modais de créditos de IA.\n credits: {\n buy: {\n title: 'Comprar créditos de IA',\n externalTitle: 'Créditos de IA',\n externalDescription: 'Para adquirir créditos de IA, acesse sua área de assinatura.',\n externalButton: 'Acessar área de assinatura',\n creditsOptionLabel: '{credits} créditos de IA',\n creditsOptionDisplayValue: '{credits} créditos de IA',\n paymentOnConfirm: 'O pagamento será processado no momento da confirmação.',\n nextInvoiceChanges: 'As alterações entrarão em vigor a partir da sua próxima fatura.',\n defaultPrice: 'Padrão',\n immediateCharge: 'Cobrança imediata',\n totalPlanValue: 'Valor total do plano',\n confirmAndPay: 'Confirmar e pagar',\n creditsChangedToast: 'Créditos de IA alterados para {credits}',\n },\n disabled: {\n title: 'Compra de créditos indisponível',\n descriptionLine1: 'Apenas administradores e proprietários podem comprar créditos de IA.',\n descriptionLine2:\n 'Peça a um administrador ou proprietário da conta para adquirir mais créditos.',\n understood: 'Entendi',\n },\n paidPlanRequired: {\n defaultTitle: 'Recurso disponível em planos pagos',\n defaultDescription: 'Para acessar este recurso, faça upgrade para um plano pago',\n knowPlans: 'Conhecer planos',\n },\n },\n\n // Cartões: adicionar, formulário, excluir, não-pode-excluir, item, info de pagamento.\n cards: {\n add: {\n stepBilling: 'Cobrança',\n stepCard: 'Cartão',\n externalTitle: 'Gerenciamento de cartões indisponível',\n externalDescription: 'Acesse sua área de assinatura para gerenciar formas de pagamento.',\n externalButton: 'Acessar área de assinatura',\n title: 'Adicionar cartão',\n billingHeading: 'Adicione suas informações de cobrança',\n cardHeading: 'Adicione informações do seu cartão',\n authenticating: 'Autenticando...',\n submitting: 'Adicionando cartão...',\n submit: 'Adicionar cartão',\n errorInitAuth: 'Não foi possível iniciar a autenticação do cartão, tente novamente.',\n errorAuth: 'Falha na autenticação do cartão.',\n errorAuthStatus: 'Autenticação não concluída (status: {status}).',\n statusUnknown: 'desconhecido',\n successToast: 'Cartão adicionado com sucesso.',\n errorSave: 'Não foi possível salvar o seu novo cartão, tente novamente.',\n },\n form: {\n nameOnCard: 'Nome impresso no cartão',\n typeHere: 'Digite aqui',\n cardNumber: 'Número do cartão',\n cardExpiry: 'Data de validade',\n cardCvc: 'CVC',\n country: 'País',\n select: 'Selecione',\n personType: 'Tipo de pessoa',\n personTypePf: 'Pessoa física',\n personTypePj: 'Pessoa jurídica',\n cpf: 'CPF',\n cnpj: 'CNPJ',\n fullName: 'Nome completo',\n cep: 'CEP',\n postalCode: 'Código postal',\n street: 'Endereço',\n streetNumber: 'Número',\n city: 'Cidade',\n state: 'UF',\n stateProvince: 'Estado/Província',\n neighborhood: 'Bairro',\n complement: 'Complemento',\n cardNumberRequired: 'Número do cartão é obrigatório',\n cardExpiryRequired: 'Data de validade é obrigatória',\n cardCvcRequired: 'Código de segurança é obrigatório',\n },\n delete: {\n title: 'Excluir cartão',\n description: 'Deseja realmente excluir o cartão:',\n confirmLabel: 'Digite EXCLUIR abaixo',\n confirmPlaceholder: 'EXCLUIR',\n deleting: 'Excluindo...',\n successToast: 'O cartão •••• {digits} foi excluído com sucesso',\n errorToast: 'Não foi possível excluir o cartão',\n },\n cannotDelete: {\n title: 'Não é possível excluir este cartão',\n description: 'Este cartão está em uso e tem uma assinatura ativa vinculada a ele. Selecione outro cartão como padrão ou adicione um novo.',\n selectDefault: 'Selecione um cartão como padrão:',\n addNewCard: 'Adicionar novo cartão',\n errorUpdateCard: 'Erro ao atualizar cartão da assinatura',\n },\n item: {\n defaultBadge: 'Padrão',\n makeDefault: 'Tornar padrão',\n setDefaultSuccess: 'Cartão definido como padrão',\n setDefaultError: 'Erro ao definir cartão padrão',\n },\n paymentInfo: {\n email: 'E-mail',\n payment: 'Pagamento',\n addCard: 'Adicionar cartão',\n selectPaymentMethod: 'Selecione a forma de pagamento',\n manageCards: 'Gerenciar cartões',\n newPaymentMethod: 'Nova forma de pagamento',\n },\n },\n\n // Componentes de navegação: banners de assinatura, seletor de projeto, links de rodapé, créditos, plano.\n navigation: {\n banners: {\n cancelled: {\n message: 'Assinatura cancelada! Suas páginas foram retiradas do ar.',\n choosePlan: 'Escolher um novo plano',\n },\n overdue: {\n message: 'Sua assinatura está atrasada e suas páginas podem ser retiradas do ar a qualquer momento.',\n details: 'Detalhes',\n },\n pending: {\n message: 'Sua assinatura foi cancelada, você possui até {limitDate} com suas páginas online.',\n reactivate: 'Reativar assinatura',\n },\n upcoming: {\n message: 'Fatura em aberto. Pague até {dueDate} para evitar a suspensão das suas páginas.',\n details: 'Detalhes',\n },\n trial: {\n message: 'Período de teste: {days, plural, =0 {seu teste termina hoje!} one {falta # dia para terminar} other {faltam # dias para terminar}}.',\n choosePlan: 'Assinar agora',\n },\n },\n projectSelector: {\n title: 'Projetos',\n searchPlaceholder: 'Busque aqui',\n emptyLine1: 'Nenhum projeto encontrado.',\n emptyLine2: 'Crie um projeto para começar.',\n noResults: 'Nenhum resultado encontrado.',\n manageProjects: 'Gerenciar projetos',\n },\n bottomLinks: {\n news: 'Novidades',\n helpCenter: 'Central de ajuda',\n sendSuggestions: 'Enviar sugestões',\n },\n creditsCard: {\n label: 'Créditos usados',\n },\n planCard: {\n knowPlans: 'Conheça os planos',\n },\n },\n\n // Nomes dos idiomas exibidos no seletor.\n // Planos: features e main features (mapApiPlanToUiPlan).\n plans: {\n features: {\n unlimitedVisits: 'Visitas ilimitadas',\n unlimitedLeads: 'Leads ilimitadas',\n sharePages: 'Compartilhar páginas',\n hosting: 'Hospedagem inclusa',\n freeTemplates: 'Templates gratuitos',\n onboarding: 'Reunião de Onboarding',\n projectManagement: 'Gestão de projetos',\n },\n mainFeatures: {\n pagesUnlimited: 'Páginas ilimitadas',\n pageSingular: '1 página',\n pagesPlural: '{count} páginas',\n domainsUnlimited: 'Domínios ilimitados',\n domainSingular: '1 domínio externo',\n domainsPlural: '{count} domínios externos',\n usersUnlimited: 'Usuários ilimitados',\n },\n usdNotConfigured: 'Internacional não configurado',\n },\n\n // Periodicidade de cobrança.\n periodicity: {\n monthly: 'Mensal',\n semiannual: 'Semestral',\n annual: 'Anual',\n suffixMonthly: '/mês',\n suffixSemiannual: '/semestre',\n suffixAnnual: '/ano',\n labelMonthly: 'mensal',\n labelSemiannual: 'semestral',\n labelAnnual: 'anual',\n },\n\n languages: {\n 'pt-br': 'Português (Brasil)',\n 'en-us': 'Inglês (EUA)',\n 'es-es': 'Espanhol',\n },\n\n // Componentes de formulário e entrada.\n forms: {\n combobox: {\n placeholder: 'Selecione uma opção',\n searchPlaceholder: 'Buscar...',\n emptyMessage: 'Nenhuma opção encontrada.',\n },\n datePicker: {\n placeholder: 'Selecione a data',\n },\n dateRangePicker: {\n placeholder: 'Selecione o período',\n },\n phoneInput: {\n optional: '(Opcional)',\n searchPlaceholder: 'Buscar país...',\n emptyMessage: 'Nenhum país encontrado',\n },\n select: {\n placeholder: 'Selecione uma opção',\n optional: '(Opcional)',\n },\n copyButton: {\n tooltipDefault: 'Copiar link',\n successDefault: 'Link copiado',\n errorMessage: 'Não foi possível copiar o link',\n },\n circularProgress: {\n ariaLabel: 'Progresso de exportação',\n },\n },\n\n // Componentes: ImageCropModal, ImageTooSmallModal.\n imageUpload: {\n cropTitle: 'Ajustar imagem',\n cropHint: 'Arraste para ajustar a área de corte',\n cropAlt: 'Crop',\n tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',\n tooSmallTitleGeneric: 'Foto muito pequena',\n tooSmallBodyFileWithDimension: 'O arquivo \"{fileName}\" é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',\n tooSmallBodyFileGeneric: 'O arquivo \"{fileName}\" é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',\n tooSmallBodyNoFileWithDimension: 'A imagem selecionada é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',\n tooSmallBodyNoFileGeneric: 'A imagem selecionada é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',\n sendAnother: 'Enviar outra',\n errorSvg: 'Formato SVG não é suportado. Use PNG, JPEG, WebP ou GIF.',\n errorFormat: 'Formato não suportado. Use PNG, JPEG, WebP ou GIF.',\n errorTooLarge: 'Arquivo muito grande. Máximo {maxSize}MB.',\n },\n\n // Componentes: NotificationPageContent (Notifications.tsx), NotificationsPopover.tsx.\n notifications: {\n page: {\n title: 'Notificações',\n subtitle: 'Tenha controle total sobre páginas, experiências e conversões.',\n markAllReadDesktop: 'Marcar todos como lidos',\n markAllReadMobile: 'Marcar como lidos',\n tabAll: 'Todas as notificações',\n tabUnread: 'Não lidas',\n details: 'Detalhes',\n empty: 'Nenhuma notificação encontrada.',\n markAllSuccess: 'Todas as notificações foram marcadas como lidas',\n markAllError: 'Erro ao marcar notificações como lidas',\n },\n popover: {\n title: 'Últimas notificações',\n empty: 'Sem notificações por enquanto',\n viewAll: 'Todas as notificações',\n },\n },\n\n // Componentes: NavBar.tsx, ProfilePopover.tsx, UsersSelectorPopover.tsx.\n layout: {\n navbar: {\n expandMenu: 'Expandir menu',\n greatPages: 'GreatPages',\n pages: 'Páginas',\n },\n profile: {\n usedCredits: 'Créditos usados',\n loggingOut: 'Saindo da sua conta...',\n logout: 'Sair',\n },\n usersSelector: {\n title: 'Usuários',\n add: 'Adicionar',\n searchPlaceholder: 'Busque aqui',\n empty: 'Nenhum usuário encontrado.',\n noResults: 'Nenhum resultado encontrado.',\n addToProject: 'Adicionar ao projeto',\n removeFromProject: 'Remover do projeto',\n manageTeam: 'Gerenciar equipe',\n },\n },\n\n // Componente: NotFoundPage.tsx.\n notFound: {\n title: 'Página não foi encontrada!',\n description: 'A página que você está procurando não existe. Verifique se digitou corretamente o link que está procurando.',\n backToHome: 'Voltar para o início',\n },\n} as const;\n\nexport default messages;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/i18n/messages/pt-br.ts"],"sourcesContent":["/**\r\n * Catálogo de traduções pt-br dos componentes da @greatapps/common.\r\n * Os apps consumidores mesclam este objeto sob o namespace `common`.\r\n *\r\n * Padrão modular: cada chave de primeiro nível é um **módulo** (um agrupamento por\r\n * componente/domínio). Para adicionar traduções, crie/edite o módulo correspondente aqui\r\n * e replique a mesma estrutura em `en-us.ts` e `es-es.ts`.\r\n *\r\n * pt-br é a fonte da verdade — os textos saem verbatim do que o componente já exibe hoje.\r\n */\r\nconst messages = {\r\n // Vocabulário global de ações (botões, comandos).\r\n actions: {\r\n save: 'Salvar',\r\n saveChanges: 'Salvar alterações',\r\n cancel: 'Cancelar',\r\n confirm: 'Confirmar',\r\n delete: 'Excluir',\r\n edit: 'Editar',\r\n close: 'Fechar',\r\n back: 'Voltar',\r\n continue: 'Continuar',\r\n add: 'Adicionar',\r\n remove: 'Remover',\r\n search: 'Buscar',\r\n loading: 'Carregando...',\r\n saving: 'Salvando...',\r\n sending: 'Enviando...',\r\n copy: 'Copiar',\r\n copied: 'Copiado',\r\n },\r\n\r\n // Mensagens de validação de formulário.\r\n validations: {\r\n required: 'Campo obrigatório',\r\n invalidEmail: 'E-mail inválido',\r\n invalidPhone: 'Telefone inválido',\r\n },\r\n\r\n // Componente: PreferencesSection.\r\n preferences: {\r\n title: 'Preferências',\r\n companyName: 'Nome da empresa',\r\n companyNamePlaceholder: 'Digite o nome da empresa',\r\n language: 'Idioma',\r\n languagePlaceholder: 'Selecione o idioma',\r\n languageSearch: 'Buscar idioma...',\r\n currency: 'Moeda',\r\n currencyPlaceholder: 'Selecione a moeda',\r\n currencySearch: 'Buscar moeda...',\r\n timeDisplay: 'Exibição hora',\r\n timezone: 'Fuso horário',\r\n timezonePlaceholder: 'Selecione o fuso horário',\r\n timezoneSearch: 'Buscar fuso horário...',\r\n timeFormat: 'Formato hora',\r\n timeFormatPlaceholder: 'Selecione o formato',\r\n timeFormatOptions: {\r\n h24: '24 horas',\r\n h12: '12 horas (AM/PM)',\r\n },\r\n savedSuccess: 'Preferências salvas com sucesso',\r\n saveError: 'Erro ao salvar preferências',\r\n },\r\n\r\n // Conta — modais e seções. `<b>` = trecho em negrito (rich text); `{count}` = interpolação.\r\n account: {\r\n notificationTypes: {\r\n projectUpdates: 'Atualizações de projetos',\r\n securityAlerts: 'Alertas de segurança',\r\n planBilling: 'Mudanças no plano ou faturamento',\r\n scheduledMaintenance: 'Manutenções programadas',\r\n },\r\n deleteAccount: {\r\n title: 'Excluir conta',\r\n description:\r\n 'Esta ação é <b>irreversível</b>. Ao confirmar, sua conta e todos os seus dados serão excluídos.',\r\n reasonLabel: 'Motivo do cancelamento',\r\n reasonPlaceholder: 'Selecione',\r\n descriptionLabel: 'Descreva o que levou a tomar essa decisão',\r\n descriptionPlaceholder: 'Explique sua decisão...',\r\n charactersCount: '{count}/400 caracteres',\r\n passwordLabel: 'Senha',\r\n passwordPlaceholder: 'Informe sua senha',\r\n submit: 'Excluir conta',\r\n requiredFields: 'Preencha todos os campos obrigatórios',\r\n reasons: {\r\n noFeature: 'A ferramenta não possui uma função que eu preciso',\r\n technical: 'Encontrei problemas técnicos ou erros no sistema',\r\n support: 'Tive problemas com o suporte ou atendimento',\r\n updates: 'As atualizações demoram mais do que o esperado',\r\n temporary: 'O cancelamento é temporário',\r\n other: 'Outro motivo',\r\n },\r\n },\r\n confirmDelete: {\r\n title: 'Uma pena te ver ir!',\r\n warning:\r\n 'Todas suas <b>{count} páginas</b> serão deletadas permanentemente. Essa ação é <b>irreversível!</b>',\r\n sessionExpired: 'Sessão expirada. Preencha os campos novamente.',\r\n success: 'Conta excluída com sucesso',\r\n error: 'Erro ao excluir. Tente novamente.',\r\n keepAccount: 'Manter minha conta',\r\n deleteAnyway: 'Excluir mesmo assim',\r\n deleting: 'Excluindo...',\r\n },\r\n cantDelete: {\r\n title: 'Não é possível excluir a conta',\r\n description:\r\n 'Você tem uma assinatura ativa. Para excluir sua conta, <b>primeiro cancele a assinatura</b> na página Assinatura e depois tente novamente.',\r\n confirm: 'Ok, entendi',\r\n goToSubscription: 'Ir para assinatura',\r\n },\r\n twoFactor: {\r\n title: 'Autenticação de dois fatores',\r\n instructions:\r\n 'Instale um aplicativo autenticador no seu celular (ex.: <link>Google Authenticator</link>), escaneie o QR Code ao lado ou copie a chave no aplicativo e, em seguida, digite o código de 6 dígitos gerado para continuar.',\r\n qrAlt: 'QR Code para autenticação de dois fatores',\r\n retry: 'Tentar novamente',\r\n pasteDigits: 'Cole os 6 dígitos abaixo',\r\n activating: 'Ativando...',\r\n activate: 'Ativar autenticação',\r\n recoveryTitle: 'Códigos de segurança',\r\n recoveryHeading: 'Salve estes códigos de recuperação de emergência',\r\n recoveryText1:\r\n 'Se você perder acesso ao seu telefone, não será possível fazer login em sua conta sem um código de dois fatores.',\r\n recoveryText2: 'Imprima, copie ou escreva em um local seguro os códigos abaixo.',\r\n copyCodes: 'Copiar códigos',\r\n finish: 'Finalizar',\r\n codesCopied: 'Códigos copiados com sucesso',\r\n generateError: 'Erro ao gerar QR Code. Tente novamente.',\r\n confirmError: 'Erro ao confirmar código. Tente novamente.',\r\n disableTitle: 'Desabilitar autenticação 2FA',\r\n disableDescription:\r\n 'Informe o código de 6 dígitos do seu aplicativo autenticador para confirmar a desativação.',\r\n authenticatorCode: 'Código do autenticador',\r\n disabling: 'Desabilitando...',\r\n disable: 'Desabilitar 2FA',\r\n disabledSuccess: 'Autenticação de dois fatores desabilitada',\r\n disableError: 'Erro ao desabilitar 2FA. Tente novamente.',\r\n invalidCode: 'Código inválido',\r\n codeResent: 'Código reenviado',\r\n resendError: 'Erro ao reenviar código. Tente novamente.',\r\n },\r\n profile: {\r\n title: 'Meu perfil',\r\n avatarAlt: 'Foto do usuário',\r\n changePhoto: 'Alterar foto',\r\n name: 'Nome',\r\n namePlaceholder: 'Digite seu nome',\r\n lastName: 'Sobrenome',\r\n lastNamePlaceholder: 'Digite seu sobrenome',\r\n gender: 'Gênero',\r\n genderPlaceholder: 'Selecione seu gênero',\r\n genderOptions: {\r\n male: 'Masculino',\r\n female: 'Feminino',\r\n },\r\n phone: 'Telefone',\r\n change: 'Alterar',\r\n accessData: 'Dados de acesso',\r\n email: 'E-mail',\r\n savedSuccess: 'Perfil atualizado com sucesso',\r\n saveError: 'Erro ao atualizar perfil',\r\n },\r\n otp: {\r\n validationCode: 'Código de validação',\r\n incorrectCode: 'Código incorreto',\r\n resend: 'Reenviar código',\r\n resendIn: 'Reenviar em <b>{time}</b>',\r\n validating: 'Validando...',\r\n },\r\n changeEmail: {\r\n title: 'Alterar e-mail',\r\n confirm: 'Alterar e-mail',\r\n sentCodeTo: 'Enviamos um código de validação para o E-mail <b>{email}.</b>',\r\n updateTitle: 'Atualizar E-mail de contato',\r\n updateDescription: 'Informe o seu novo E-mail para manter seu contato atualizado.',\r\n newEmail: 'Novo e-mail',\r\n newEmailPlaceholder: 'Digite seu novo e-mail',\r\n emailChanged: 'E-mail alterado com sucesso',\r\n emailExistsError: 'E-mail já existente ou ocorreu um erro. Tente novamente mais tarde.',\r\n },\r\n changePhone: {\r\n titleEdit: 'Alterar telefone',\r\n titleAdd: 'Adicionar telefone',\r\n sentCodeTo: 'Enviamos um código de validação para o número atual <b>{phone}.</b>',\r\n confirm: 'Alterar telefone',\r\n updateTitle: 'Atualizar telefone de contato',\r\n addTitle: 'Adicionar telefone de contato',\r\n updateDescription: 'Informe o novo número para manter seu contato atualizado.',\r\n addDescription: 'Informe seu número de telefone para contato.',\r\n newNumber: 'Novo número',\r\n numberLabel: 'Número de telefone',\r\n phoneChanged: 'Telefone alterado',\r\n phoneAdded: 'Telefone adicionado',\r\n invalidNumber: 'Número de telefone inválido',\r\n saveError: 'Ocorreu um erro ao salvar o telefone. Tente novamente mais tarde.',\r\n numberExistsError: 'Número já existente ou ocorreu um erro. Tente novamente mais tarde.',\r\n },\r\n security: {\r\n title: 'Segurança',\r\n googleLinkedTitle: 'Conta Google vinculada',\r\n googleLinkedDescription:\r\n 'Sua conta está vinculada ao Google. Se desvincular, use \"Esqueci minha senha\" para redefinir uma senha de acesso por e-mail.',\r\n unlinking: 'Desvinculando...',\r\n unlinkGoogle: 'Desvincular Google',\r\n unlinkError: 'Erro ao desvincular conta Google.',\r\n deleteAccountDescription:\r\n 'Esta ação é permanente e não pode ser desfeita. Todos os seus dados, projetos e configurações serão removidos definitivamente.',\r\n deleteMyAccount: 'Excluir minha conta',\r\n },\r\n token: {\r\n title: 'Token da conta',\r\n label: 'Token',\r\n copySuccess: 'Token copiado com sucesso',\r\n copyError: 'Não foi possível copiar o token',\r\n info: 'Este token é exclusivo da sua conta e permite acesso à API. Não compartilhe com terceiros.',\r\n docsLink: 'Acessar a documentação',\r\n },\r\n changePassword: {\r\n title: 'Alterar senha',\r\n currentPassword: 'Senha atual',\r\n currentPasswordPlaceholder: 'Digite sua senha atual',\r\n newPassword: 'Nova senha',\r\n newPasswordPlaceholder: 'Digite sua nova senha',\r\n submit: 'Salvar nova senha',\r\n changeError: 'Erro ao alterar senha',\r\n changedSuccess: 'Senha alterada com sucesso',\r\n genericError: 'Erro ao alterar senha. Tente novamente.',\r\n },\r\n globalPreferences: {\r\n title: 'Alterar preferências globais',\r\n srDescription: 'Confirmação de alteração de preferências globais da conta',\r\n warning:\r\n 'Você está alterando configurações que impactam <b>todos os usuários da conta</b>. Deseja confirmar?',\r\n },\r\n configurations: {\r\n title: 'Configurações',\r\n },\r\n },\r\n\r\n // Modais de créditos de IA.\r\n credits: {\r\n buy: {\r\n title: 'Comprar créditos de IA',\r\n externalTitle: 'Créditos de IA',\r\n externalDescription: 'Para adquirir créditos de IA, acesse sua área de assinatura.',\r\n externalButton: 'Acessar área de assinatura',\r\n creditsOptionLabel: '{credits} créditos de IA',\r\n creditsOptionDisplayValue: '{credits} créditos de IA',\r\n paymentOnConfirm: 'O pagamento será processado no momento da confirmação.',\r\n nextInvoiceChanges: 'As alterações entrarão em vigor a partir da sua próxima fatura.',\r\n defaultPrice: 'Padrão',\r\n immediateCharge: 'Cobrança imediata',\r\n totalPlanValue: 'Valor total do plano',\r\n confirmAndPay: 'Confirmar e pagar',\r\n creditsChangedToast: 'Créditos de IA alterados para {credits}',\r\n },\r\n disabled: {\r\n title: 'Compra de créditos indisponível',\r\n descriptionLine1: 'Apenas administradores e proprietários podem comprar créditos de IA.',\r\n descriptionLine2:\r\n 'Peça a um administrador ou proprietário da conta para adquirir mais créditos.',\r\n understood: 'Entendi',\r\n },\r\n paidPlanRequired: {\r\n defaultTitle: 'Recurso disponível em planos pagos',\r\n defaultDescription: 'Para acessar este recurso, faça upgrade para um plano pago',\r\n knowPlans: 'Conhecer planos',\r\n },\r\n },\r\n\r\n // Cartões: adicionar, formulário, excluir, não-pode-excluir, item, info de pagamento.\r\n cards: {\r\n add: {\r\n stepBilling: 'Cobrança',\r\n stepCard: 'Cartão',\r\n externalTitle: 'Gerenciamento de cartões indisponível',\r\n externalDescription: 'Acesse sua área de assinatura para gerenciar formas de pagamento.',\r\n externalButton: 'Acessar área de assinatura',\r\n title: 'Adicionar cartão',\r\n billingHeading: 'Adicione suas informações de cobrança',\r\n cardHeading: 'Adicione informações do seu cartão',\r\n authenticating: 'Autenticando...',\r\n submitting: 'Adicionando cartão...',\r\n submit: 'Adicionar cartão',\r\n errorInitAuth: 'Não foi possível iniciar a autenticação do cartão, tente novamente.',\r\n errorAuth: 'Falha na autenticação do cartão.',\r\n errorAuthStatus: 'Autenticação não concluída (status: {status}).',\r\n statusUnknown: 'desconhecido',\r\n successToast: 'Cartão adicionado com sucesso.',\r\n errorSave: 'Não foi possível salvar o seu novo cartão, tente novamente.',\r\n },\r\n form: {\r\n nameOnCard: 'Nome impresso no cartão',\r\n typeHere: 'Digite aqui',\r\n cardNumber: 'Número do cartão',\r\n cardExpiry: 'Data de validade',\r\n cardCvc: 'CVC',\r\n country: 'País',\r\n select: 'Selecione',\r\n personType: 'Tipo de pessoa',\r\n personTypePf: 'Pessoa física',\r\n personTypePj: 'Pessoa jurídica',\r\n cpf: 'CPF',\r\n cnpj: 'CNPJ',\r\n fullName: 'Nome completo',\r\n cep: 'CEP',\r\n postalCode: 'Código postal',\r\n street: 'Endereço',\r\n streetNumber: 'Número',\r\n city: 'Cidade',\r\n state: 'UF',\r\n stateProvince: 'Estado/Província',\r\n neighborhood: 'Bairro',\r\n complement: 'Complemento',\r\n cardNumberRequired: 'Número do cartão é obrigatório',\r\n cardExpiryRequired: 'Data de validade é obrigatória',\r\n cardCvcRequired: 'Código de segurança é obrigatório',\r\n },\r\n delete: {\r\n title: 'Excluir cartão',\r\n description: 'Deseja realmente excluir o cartão:',\r\n confirmLabel: 'Digite EXCLUIR abaixo',\r\n confirmPlaceholder: 'EXCLUIR',\r\n deleting: 'Excluindo...',\r\n successToast: 'O cartão •••• {digits} foi excluído com sucesso',\r\n errorToast: 'Não foi possível excluir o cartão',\r\n },\r\n cannotDelete: {\r\n title: 'Não é possível excluir este cartão',\r\n description: 'Este cartão está em uso e tem uma assinatura ativa vinculada a ele. Selecione outro cartão como padrão ou adicione um novo.',\r\n selectDefault: 'Selecione um cartão como padrão:',\r\n addNewCard: 'Adicionar novo cartão',\r\n errorUpdateCard: 'Erro ao atualizar cartão da assinatura',\r\n },\r\n item: {\r\n defaultBadge: 'Padrão',\r\n makeDefault: 'Tornar padrão',\r\n setDefaultSuccess: 'Cartão definido como padrão',\r\n setDefaultError: 'Erro ao definir cartão padrão',\r\n },\r\n paymentInfo: {\r\n email: 'E-mail',\r\n payment: 'Pagamento',\r\n addCard: 'Adicionar cartão',\r\n selectPaymentMethod: 'Selecione a forma de pagamento',\r\n manageCards: 'Gerenciar cartões',\r\n newPaymentMethod: 'Nova forma de pagamento',\r\n },\r\n },\r\n\r\n // Componentes de navegação: banners de assinatura, seletor de projeto, links de rodapé, créditos, plano.\r\n navigation: {\r\n banners: {\r\n cancelled: {\r\n message: 'Assinatura cancelada! Suas páginas foram retiradas do ar.',\r\n choosePlan: 'Escolher um novo plano',\r\n },\r\n overdue: {\r\n message: 'Sua assinatura está atrasada e suas páginas podem ser retiradas do ar a qualquer momento.',\r\n details: 'Detalhes',\r\n },\r\n pending: {\r\n message: 'Sua assinatura foi cancelada, você possui até {limitDate} com suas páginas online.',\r\n reactivate: 'Reativar assinatura',\r\n },\r\n upcoming: {\r\n message: 'Fatura em aberto. Pague até {dueDate} para evitar a suspensão das suas páginas.',\r\n details: 'Detalhes',\r\n },\r\n trial: {\r\n message: 'Período de teste: {days, plural, =0 {seu teste termina hoje!} one {falta # dia para terminar} other {faltam # dias para terminar}}.',\r\n choosePlan: 'Assinar agora',\r\n },\r\n },\r\n projectSelector: {\r\n title: 'Projetos',\r\n searchPlaceholder: 'Busque aqui',\r\n emptyLine1: 'Nenhum projeto encontrado.',\r\n emptyLine2: 'Crie um projeto para começar.',\r\n noResults: 'Nenhum resultado encontrado.',\r\n manageProjects: 'Gerenciar projetos',\r\n },\r\n bottomLinks: {\r\n news: 'Novidades',\r\n helpCenter: 'Central de ajuda',\r\n sendSuggestions: 'Enviar sugestões',\r\n },\r\n creditsCard: {\r\n label: 'Créditos usados',\r\n },\r\n planCard: {\r\n knowPlans: 'Conheça os planos',\r\n },\r\n },\r\n\r\n // Nomes dos idiomas exibidos no seletor.\r\n // Planos: features e main features (mapApiPlanToUiPlan).\r\n plans: {\r\n features: {\r\n unlimitedVisits: 'Visitas ilimitadas',\r\n unlimitedLeads: 'Leads ilimitadas',\r\n sharePages: 'Compartilhar páginas',\r\n hosting: 'Hospedagem inclusa',\r\n freeTemplates: 'Templates gratuitos',\r\n onboarding: 'Reunião de Onboarding',\r\n projectManagement: 'Gestão de projetos',\r\n },\r\n mainFeatures: {\r\n pagesUnlimited: 'Páginas ilimitadas',\r\n pageSingular: '1 página',\r\n pagesPlural: '{count} páginas',\r\n domainsUnlimited: 'Domínios ilimitados',\r\n domainSingular: '1 domínio externo',\r\n domainsPlural: '{count} domínios externos',\r\n usersUnlimited: 'Usuários ilimitados',\r\n },\r\n usdNotConfigured: 'Internacional não configurado',\r\n },\r\n\r\n // Periodicidade de cobrança.\r\n periodicity: {\r\n monthly: 'Mensal',\r\n semiannual: 'Semestral',\r\n annual: 'Anual',\r\n suffixMonthly: '/mês',\r\n suffixSemiannual: '/semestre',\r\n suffixAnnual: '/ano',\r\n labelMonthly: 'mensal',\r\n labelSemiannual: 'semestral',\r\n labelAnnual: 'anual',\r\n },\r\n\r\n languages: {\r\n 'pt-br': 'Português (Brasil)',\r\n 'en-us': 'Inglês (EUA)',\r\n 'es-es': 'Espanhol',\r\n },\r\n\r\n // Componentes de formulário e entrada.\r\n forms: {\r\n combobox: {\r\n placeholder: 'Selecione uma opção',\r\n searchPlaceholder: 'Buscar...',\r\n emptyMessage: 'Nenhuma opção encontrada.',\r\n },\r\n datePicker: {\r\n placeholder: 'Selecione a data',\r\n },\r\n dateRangePicker: {\r\n placeholder: 'Selecione o período',\r\n },\r\n phoneInput: {\r\n optional: '(Opcional)',\r\n searchPlaceholder: 'Buscar país...',\r\n emptyMessage: 'Nenhum país encontrado',\r\n },\r\n select: {\r\n placeholder: 'Selecione uma opção',\r\n optional: '(Opcional)',\r\n },\r\n copyButton: {\r\n tooltipDefault: 'Copiar link',\r\n successDefault: 'Link copiado',\r\n errorMessage: 'Não foi possível copiar o link',\r\n },\r\n circularProgress: {\r\n ariaLabel: 'Progresso de exportação',\r\n },\r\n },\r\n\r\n // Componentes: ImageCropModal, ImageTooSmallModal.\r\n imageUpload: {\r\n cropTitle: 'Ajustar imagem',\r\n cropHint: 'Arraste para ajustar a área de corte',\r\n cropAlt: 'Crop',\r\n tooSmallTitleWithDimension: 'Foto menor que {dimensionText}',\r\n tooSmallTitleGeneric: 'Foto muito pequena',\r\n tooSmallBodyFileWithDimension: 'O arquivo \"{fileName}\" é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',\r\n tooSmallBodyFileGeneric: 'O arquivo \"{fileName}\" é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',\r\n tooSmallBodyNoFileWithDimension: 'A imagem selecionada é menor que {dimensionText}. Faça envio de uma imagem com pelo menos {dimensionText} para continuar.',\r\n tooSmallBodyNoFileGeneric: 'A imagem selecionada é menor que o tamanho mínimo exigido. Faça envio de uma imagem maior para continuar.',\r\n sendAnother: 'Enviar outra',\r\n errorSvg: 'Formato SVG não é suportado. Use PNG, JPEG, WebP ou GIF.',\r\n errorFormat: 'Formato não suportado. Use PNG, JPEG, WebP ou GIF.',\r\n errorTooLarge: 'Arquivo muito grande. Máximo {maxSize}MB.',\r\n },\r\n\r\n // Componentes: NotificationPageContent (Notifications.tsx), NotificationsPopover.tsx.\r\n notifications: {\r\n page: {\r\n title: 'Notificações',\r\n subtitle: 'Tenha controle total sobre páginas, experiências e conversões.',\r\n markAllReadDesktop: 'Marcar todos como lidos',\r\n markAllReadMobile: 'Marcar como lidos',\r\n tabAll: 'Todas as notificações',\r\n tabUnread: 'Não lidas',\r\n details: 'Detalhes',\r\n empty: 'Nenhuma notificação encontrada.',\r\n markAllSuccess: 'Todas as notificações foram marcadas como lidas',\r\n markAllError: 'Erro ao marcar notificações como lidas',\r\n },\r\n popover: {\r\n title: 'Últimas notificações',\r\n empty: 'Sem notificações por enquanto',\r\n viewAll: 'Todas as notificações',\r\n },\r\n },\r\n\r\n // Componentes: NavBar.tsx, ProfilePopover.tsx, UsersSelectorPopover.tsx.\r\n layout: {\r\n navbar: {\r\n expandMenu: 'Expandir menu',\r\n greatPages: 'GreatPages',\r\n pages: 'Páginas',\r\n },\r\n profile: {\r\n usedCredits: 'Créditos usados',\r\n loggingOut: 'Saindo da sua conta...',\r\n logout: 'Sair',\r\n },\r\n usersSelector: {\r\n title: 'Usuários',\r\n add: 'Adicionar',\r\n searchPlaceholder: 'Busque aqui',\r\n empty: 'Nenhum usuário encontrado.',\r\n noResults: 'Nenhum resultado encontrado.',\r\n addToProject: 'Adicionar ao projeto',\r\n removeFromProject: 'Remover do projeto',\r\n manageTeam: 'Gerenciar equipe',\r\n },\r\n },\r\n\r\n // Componente: NotFoundPage.tsx.\r\n notFound: {\r\n title: 'Página não foi encontrada!',\r\n description: 'A página que você está procurando não existe. Verifique se digitou corretamente o link que está procurando.',\r\n backToHome: 'Voltar para o início',\r\n },\r\n} as const;\r\n\r\nexport default messages;\r\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/i18n/normalize.ts"],"sourcesContent":["import { Locale } from './config';\n\n/**\n * Normaliza um identificador de idioma vindo da API (`user.language`, ex.: `pt-br`, `en`, `es`)\n * ou de um header BCP-47 (`pt-BR`, `en-US`, `es-419`) para um {@link Locale} suportado.\n * Retorna `null` quando não reconhece o idioma.\n */\nexport function normalizeLocale(input?: string | null): Locale | null {\n if (!input) return null;\n const value = input.trim().toLowerCase();\n if (value.startsWith('pt')) return 'pt-br';\n if (value.startsWith('es')) return 'es-es';\n if (value.startsWith('en')) return 'en-us';\n return null;\n}\n"],"mappings":"AAOO,SAAS,gBAAgB,OAAsC;AACpE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,QAAQ,MAAM,KAAK,EAAE,YAAY;AACvC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/i18n/normalize.ts"],"sourcesContent":["import { Locale } from './config';\r\n\r\n/**\r\n * Normaliza um identificador de idioma vindo da API (`user.language`, ex.: `pt-br`, `en`, `es`)\r\n * ou de um header BCP-47 (`pt-BR`, `en-US`, `es-419`) para um {@link Locale} suportado.\r\n * Retorna `null` quando não reconhece o idioma.\r\n */\r\nexport function normalizeLocale(input?: string | null): Locale | null {\r\n if (!input) return null;\r\n const value = input.trim().toLowerCase();\r\n if (value.startsWith('pt')) return 'pt-br';\r\n if (value.startsWith('es')) return 'es-es';\r\n if (value.startsWith('en')) return 'en-us';\r\n return null;\r\n}\r\n"],"mappings":"AAOO,SAAS,gBAAgB,OAAsC;AACpE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,QAAQ,MAAM,KAAK,EAAE,YAAY;AACvC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,MAAI,MAAM,WAAW,IAAI,EAAG,QAAO;AACnC,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/i18n/resolve-locale.ts"],"sourcesContent":["import 'server-only';\n\nimport { cookies, headers } from 'next/headers';\nimport { DEFAULT_LOCALE, Locale, LOCALE_COOKIE } from './config';\nimport { localeFromCountry } from './country-language';\nimport { normalizeLocale } from './normalize';\n\nconst AUTH_COOKIE = 'greatapps';\nconst GEO_HEADER = 'cf-ipcountry';\nconst DEFAULT_WHITELABEL_ID = 1;\n\ninterface JwtLocaleInfo {\n id_wl?: number;\n country?: string | null;\n}\n\n/** Lê id_wl e país do JWT sem custo de rede (best-effort). */\nfunction decodeJwtLocaleInfo(token?: string | null): JwtLocaleInfo | null {\n if (!token) return null;\n try {\n const payload = JSON.parse(atob(token.split('.')[1]));\n return {\n id_wl: payload?.id_wl != null ? Number(payload.id_wl) : undefined,\n country: payload?.session?.location?.country ?? null,\n };\n } catch {\n return null;\n }\n}\n\nexport interface ResolveLocaleOptions {\n /**\n * Whitelabel id já resolvido (ex.: via `findWhitelabel()`), com prioridade sobre o JWT.\n * Permite detectar domínio whitelabel mesmo para visitante não-logado.\n */\n whitelabelId?: number | null;\n /** Idioma da conta (`user.language`), quando já conhecido pelo chamador. */\n userLanguage?: string | null;\n}\n\n/**\n * Resolve o locale da requisição (server-side). Ordem de prioridade:\n *\n * 1. **Whitelabel não-padrão** (`id_wl != 1`) → `pt` (por enquanto, whitelabels não são localizadas).\n * 2. **Preferência da conta** (`userLanguage`), quando fornecida.\n * 3. **Cookie `NEXT_LOCALE`** — cache da preferência ou escolha manual do visitante.\n * 4. **Inferência por país** — JWT (`session.location.country`) ou header `CF-IPCountry`.\n * 5. **Fallback** → {@link DEFAULT_LOCALE}.\n */\nexport async function resolveLocale(options: ResolveLocaleOptions = {}): Promise<Locale> {\n const cookieStore = await cookies();\n const token = process.env.DUMMY_AUTH_TOKEN || cookieStore.get(AUTH_COOKIE)?.value;\n const jwt = decodeJwtLocaleInfo(token);\n\n // 1. Whitelabel não-padrão → português\n const whitelabelId = options.whitelabelId ?? jwt?.id_wl ?? null;\n if (whitelabelId != null && whitelabelId !== DEFAULT_WHITELABEL_ID) {\n return 'pt-br';\n }\n\n // 2. Preferência explícita da conta\n const fromUser = normalizeLocale(options.userLanguage);\n if (fromUser) return fromUser;\n\n // 3. Cookie persistido\n const fromCookie = normalizeLocale(cookieStore.get(LOCALE_COOKIE)?.value);\n if (fromCookie) return fromCookie;\n\n // 4. Inferência por país (geo)\n const headersList = await headers();\n const country = jwt?.country ?? headersList.get(GEO_HEADER);\n const fromGeo = localeFromCountry(country);\n if (fromGeo) return fromGeo;\n\n // 5. Fallback\n return DEFAULT_LOCALE;\n}\n"],"mappings":"AAAA,OAAO;AAEP,SAAS,SAAS,eAAe;AACjC,SAAS,gBAAwB,qBAAqB;AACtD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAEhC,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,wBAAwB;AAQ9B,SAAS,oBAAoB,OAA6C;AACxE,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI;AACF,UAAM,UAAU,KAAK,MAAM,KAAK,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,WAAO;AAAA,MACL,OAAO,SAAS,SAAS,OAAO,OAAO,QAAQ,KAAK,IAAI;AAAA,MACxD,SAAS,SAAS,SAAS,UAAU,WAAW;AAAA,IAClD;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAqBA,eAAsB,cAAc,UAAgC,CAAC,GAAoB;AACvF,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,oBAAoB,YAAY,IAAI,WAAW,GAAG;AAC5E,QAAM,MAAM,oBAAoB,KAAK;AAGrC,QAAM,eAAe,QAAQ,gBAAgB,KAAK,SAAS;AAC3D,MAAI,gBAAgB,QAAQ,iBAAiB,uBAAuB;AAClE,WAAO;AAAA,EACT;AAGA,QAAM,WAAW,gBAAgB,QAAQ,YAAY;AACrD,MAAI,SAAU,QAAO;AAGrB,QAAM,aAAa,gBAAgB,YAAY,IAAI,aAAa,GAAG,KAAK;AACxE,MAAI,WAAY,QAAO;AAGvB,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,UAAU,KAAK,WAAW,YAAY,IAAI,UAAU;AAC1D,QAAM,UAAU,kBAAkB,OAAO;AACzC,MAAI,QAAS,QAAO;AAGpB,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/i18n/resolve-locale.ts"],"sourcesContent":["import 'server-only';\r\n\r\nimport { cookies, headers } from 'next/headers';\r\nimport { DEFAULT_LOCALE, Locale, LOCALE_COOKIE } from './config';\r\nimport { localeFromCountry } from './country-language';\r\nimport { normalizeLocale } from './normalize';\r\n\r\nconst AUTH_COOKIE = 'greatapps';\r\nconst GEO_HEADER = 'cf-ipcountry';\r\nconst DEFAULT_WHITELABEL_ID = 1;\r\n\r\ninterface JwtLocaleInfo {\r\n id_wl?: number;\r\n country?: string | null;\r\n}\r\n\r\n/** Lê id_wl e país do JWT sem custo de rede (best-effort). */\r\nfunction decodeJwtLocaleInfo(token?: string | null): JwtLocaleInfo | null {\r\n if (!token) return null;\r\n try {\r\n const payload = JSON.parse(atob(token.split('.')[1]));\r\n return {\r\n id_wl: payload?.id_wl != null ? Number(payload.id_wl) : undefined,\r\n country: payload?.session?.location?.country ?? null,\r\n };\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport interface ResolveLocaleOptions {\r\n /**\r\n * Whitelabel id já resolvido (ex.: via `findWhitelabel()`), com prioridade sobre o JWT.\r\n * Permite detectar domínio whitelabel mesmo para visitante não-logado.\r\n */\r\n whitelabelId?: number | null;\r\n /** Idioma da conta (`user.language`), quando já conhecido pelo chamador. */\r\n userLanguage?: string | null;\r\n}\r\n\r\n/**\r\n * Resolve o locale da requisição (server-side). Ordem de prioridade:\r\n *\r\n * 1. **Whitelabel não-padrão** (`id_wl != 1`) → `pt` (por enquanto, whitelabels não são localizadas).\r\n * 2. **Preferência da conta** (`userLanguage`), quando fornecida.\r\n * 3. **Cookie `NEXT_LOCALE`** — cache da preferência ou escolha manual do visitante.\r\n * 4. **Inferência por país** — JWT (`session.location.country`) ou header `CF-IPCountry`.\r\n * 5. **Fallback** → {@link DEFAULT_LOCALE}.\r\n */\r\nexport async function resolveLocale(options: ResolveLocaleOptions = {}): Promise<Locale> {\r\n const cookieStore = await cookies();\r\n const token = process.env.DUMMY_AUTH_TOKEN || cookieStore.get(AUTH_COOKIE)?.value;\r\n const jwt = decodeJwtLocaleInfo(token);\r\n\r\n // 1. Whitelabel não-padrão → português\r\n const whitelabelId = options.whitelabelId ?? jwt?.id_wl ?? null;\r\n if (whitelabelId != null && whitelabelId !== DEFAULT_WHITELABEL_ID) {\r\n return 'pt-br';\r\n }\r\n\r\n // 2. Preferência explícita da conta\r\n const fromUser = normalizeLocale(options.userLanguage);\r\n if (fromUser) return fromUser;\r\n\r\n // 3. Cookie persistido\r\n const fromCookie = normalizeLocale(cookieStore.get(LOCALE_COOKIE)?.value);\r\n if (fromCookie) return fromCookie;\r\n\r\n // 4. Inferência por país (geo)\r\n const headersList = await headers();\r\n const country = jwt?.country ?? headersList.get(GEO_HEADER);\r\n const fromGeo = localeFromCountry(country);\r\n if (fromGeo) return fromGeo;\r\n\r\n // 5. Fallback\r\n return DEFAULT_LOCALE;\r\n}\r\n"],"mappings":"AAAA,OAAO;AAEP,SAAS,SAAS,eAAe;AACjC,SAAS,gBAAwB,qBAAqB;AACtD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAEhC,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,wBAAwB;AAQ9B,SAAS,oBAAoB,OAA6C;AACxE,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI;AACF,UAAM,UAAU,KAAK,MAAM,KAAK,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,WAAO;AAAA,MACL,OAAO,SAAS,SAAS,OAAO,OAAO,QAAQ,KAAK,IAAI;AAAA,MACxD,SAAS,SAAS,SAAS,UAAU,WAAW;AAAA,IAClD;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAqBA,eAAsB,cAAc,UAAgC,CAAC,GAAoB;AACvF,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,oBAAoB,YAAY,IAAI,WAAW,GAAG;AAC5E,QAAM,MAAM,oBAAoB,KAAK;AAGrC,QAAM,eAAe,QAAQ,gBAAgB,KAAK,SAAS;AAC3D,MAAI,gBAAgB,QAAQ,iBAAiB,uBAAuB;AAClE,WAAO;AAAA,EACT;AAGA,QAAM,WAAW,gBAAgB,QAAQ,YAAY;AACrD,MAAI,SAAU,QAAO;AAGrB,QAAM,aAAa,gBAAgB,YAAY,IAAI,aAAa,GAAG,KAAK;AACxE,MAAI,WAAY,QAAO;AAGvB,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,UAAU,KAAK,WAAW,YAAY,IAAI,UAAU;AAC1D,QAAM,UAAU,kBAAkB,OAAO;AACzC,MAAI,QAAS,QAAO;AAGpB,SAAO;AACT;","names":[]}
package/dist/i18n.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/i18n.ts"],"sourcesContent":["/**\n * Barril client-safe de i18n (`@greatapps/common/i18n`).\n * NÃO exporta `resolveLocale` (server-only) — esse vem de `@greatapps/common/server`.\n */\nexport { LOCALES, DEFAULT_LOCALE, LOCALE_COOKIE, isLocale } from './i18n/config';\nexport type { Locale } from './i18n/config';\nexport { normalizeLocale } from './i18n/normalize';\nexport { localeFromCountry } from './i18n/country-language';\nexport { getCommonMessages } from './i18n/messages';\nexport type { CommonMessages } from './i18n/messages';\n"],"mappings":"AAIA,SAAS,SAAS,gBAAgB,eAAe,gBAAgB;AAEjE,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;","names":[]}
1
+ {"version":3,"sources":["../src/i18n.ts"],"sourcesContent":["/**\r\n * Barril client-safe de i18n (`@greatapps/common/i18n`).\r\n * NÃO exporta `resolveLocale` (server-only) — esse vem de `@greatapps/common/server`.\r\n */\r\nexport { LOCALES, DEFAULT_LOCALE, LOCALE_COOKIE, isLocale } from './i18n/config';\r\nexport type { Locale } from './i18n/config';\r\nexport { normalizeLocale } from './i18n/normalize';\r\nexport { localeFromCountry } from './i18n/country-language';\r\nexport { getCommonMessages } from './i18n/messages';\r\nexport type { CommonMessages } from './i18n/messages';\r\n"],"mappings":"AAIA,SAAS,SAAS,gBAAgB,eAAe,gBAAgB;AAEjE,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;","names":[]}
package/dist/index.mjs CHANGED
@@ -132,10 +132,13 @@ import {
132
132
  import { useBuyCreditsModal } from "./store/useBuyCreditsModal";
133
133
  import { useCreditsDisabledModal } from "./store/useCreditsDisabledModal";
134
134
  import { usePaidPlanRequiredModal } from "./store/usePaidPlanRequiredModal";
135
+ import { useHexaPromoModal } from "./store/useHexaPromoModal";
135
136
  import { default as default2 } from "./components/modals/BuyCreditsModal";
136
137
  import { default as default3 } from "./components/modals/CreditsDisabledModal";
137
138
  import { default as default4 } from "./components/modals/PaidPlanRequiredModal";
138
- import { default as default5 } from "./components/modals/cards/AddCardModal";
139
+ import { default as default5 } from "./components/modals/HexaPromoModal";
140
+ import { default as default6 } from "./components/modals/HexaPromoModalGate";
141
+ import { default as default7 } from "./components/modals/cards/AddCardModal";
139
142
  import { DeleteCardModal } from "./components/modals/cards/DeleteCardModal";
140
143
  import { CannotDeleteCardModal } from "./components/modals/cards/CannotDeleteCardModal";
141
144
  import {
@@ -169,13 +172,13 @@ import { AppNavBar } from "./components/layouts/AppNavBar";
169
172
  import { AppMobileNavBar } from "./components/layouts/AppMobileNavBar";
170
173
  import { SideBarNavigation } from "./components/layouts/SideBarNavigation";
171
174
  import { MdSideBarNavigation } from "./components/layouts/MdSideBarNavigation";
172
- import { default as default6 } from "./components/widgets/notifications/NotificationCard";
175
+ import { default as default8 } from "./components/widgets/notifications/NotificationCard";
173
176
  import { NotificationsPopover } from "./components/layouts/NotificationsPopover";
174
177
  import { NotificationPageContent } from "./components/pages/notifications/Notifications";
175
178
  import { NotFoundPage } from "./components/pages/NotFoundPage";
176
179
  import { UsersSelectorPopover } from "./components/layouts/UsersSelectorPopover";
177
180
  import { ProfilePopover } from "./components/layouts/ProfilePopover";
178
- import { default as default7 } from "./components/layouts/WhitelabelCodes";
181
+ import { default as default9 } from "./components/layouts/WhitelabelCodes";
179
182
  import { NavBarItem } from "./components/layouts/NavBarItem";
180
183
  import { AppNavigation } from "./components/navigation/AppNavigation";
181
184
  import { CancelledSubscriptionBanner } from "./components/navigation/CancelledSubscriptionBanner";
@@ -189,10 +192,10 @@ import {
189
192
  useWlQueryKey,
190
193
  useWlId
191
194
  } from "./hooks/useAuthQueryKey";
192
- import { default as default8 } from "./hooks/copy-to-clipboard.hook";
195
+ import { default as default10 } from "./hooks/copy-to-clipboard.hook";
193
196
  import { Button, buttonVariants } from "./components/ui/buttons/Button";
194
197
  import { CopyButton } from "./components/ui/buttons/CopyButton";
195
- import { default as default9 } from "./components/ui/buttons/CancelButton";
198
+ import { default as default11 } from "./components/ui/buttons/CancelButton";
196
199
  import {
197
200
  Accordion,
198
201
  AccordionItem,
@@ -237,8 +240,8 @@ import {
237
240
  TabsContent
238
241
  } from "./components/ui/data-display/Tabs";
239
242
  import { UserAvatar } from "./components/ui/data-display/UserAvatar";
240
- import { default as default10 } from "./components/ui/feedback/CircularProgress";
241
- import { default as default11 } from "./components/ui/feedback/DefaultCircularProgress";
243
+ import { default as default12 } from "./components/ui/feedback/CircularProgress";
244
+ import { default as default13 } from "./components/ui/feedback/DefaultCircularProgress";
242
245
  import { Progress } from "./components/ui/feedback/Progress";
243
246
  import { LoadingOverlay } from "./components/ui/feedback/LoadingOverlay";
244
247
  import { useBrandLoadingIcon } from "./hooks/useBrandLoadingIcon";
@@ -332,9 +335,9 @@ import { useMdSidebarStore } from "./store/useMdSidebarStore";
332
335
  import { useDesktopSidebarStore } from "./store/useDesktopSidebarStore";
333
336
  import { useModalManager } from "./store/useModalManager";
334
337
  import { AccountSectionType } from "./enums/AccountSectionType";
335
- import { default as default12 } from "./hooks/usePasswordVisibility";
336
- import { default as default13 } from "./hooks/useCountdownTimer";
337
- import { default as default14 } from "./hooks/useIsMobile";
338
+ import { default as default14 } from "./hooks/usePasswordVisibility";
339
+ import { default as default15 } from "./hooks/useCountdownTimer";
340
+ import { default as default16 } from "./hooks/useIsMobile";
338
341
  import { useDebounce } from "./hooks/useDebounce";
339
342
  import { useDebouncedEffect } from "./hooks/useDebouncedEffect";
340
343
  import { useDebounceState } from "./hooks/useDebounceState";
@@ -362,8 +365,8 @@ import { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
362
365
  import { FormField } from "./components/ui/form/FormField";
363
366
  import { SelectField } from "./components/ui/form/SelectField";
364
367
  import { ComboboxField } from "./components/ui/form/ComboboxField";
365
- import { default as default15 } from "./components/ui/form/PhoneInput";
366
- import { default as default16 } from "./components/ui/form/SwitchOptionFieldWithIcon";
368
+ import { default as default17 } from "./components/ui/form/PhoneInput";
369
+ import { default as default18 } from "./components/ui/form/SwitchOptionFieldWithIcon";
367
370
  import { TextAreaField } from "./components/ui/form/TextAreaField";
368
371
  import {
369
372
  useCurrentAccount,
@@ -380,13 +383,13 @@ import {
380
383
  } from "./modules/accounts/hooks/useAccountManagement";
381
384
  import { useViaCep } from "./modules/accounts/hooks/useViaCep";
382
385
  import { useAccountToken } from "./modules/accounts/hooks/use-account-token.hook";
383
- import { default as default17 } from "./components/account/AccountModals";
386
+ import { default as default19 } from "./components/account/AccountModals";
384
387
  import { useAccountModals } from "./store/useAccountModals";
385
388
  import { ModalManager } from "./components/modals/ModalManager";
386
389
  import { Modals } from "./components/modals/Modals";
387
- import { default as default18 } from "./components/account/TwoFactorAuthModal";
388
- import { default as default19 } from "./components/account/DisableTwoFactorAuthModal";
389
- import { default as default20 } from "./components/account/ConfirmGlobalPreferencesModal";
390
+ import { default as default20 } from "./components/account/TwoFactorAuthModal";
391
+ import { default as default21 } from "./components/account/DisableTwoFactorAuthModal";
392
+ import { default as default22 } from "./components/account/ConfirmGlobalPreferencesModal";
390
393
  import { MyProfileSection } from "./components/account/sections/MyProfileSection";
391
394
  import { PreferencesSection } from "./components/account/sections/PreferencesSection";
392
395
  import { SecuritySection } from "./components/account/sections/SecuritySection";
@@ -434,9 +437,9 @@ export {
434
437
  AccordionContent,
435
438
  AccordionItem,
436
439
  AccordionTrigger,
437
- default17 as AccountModals,
440
+ default19 as AccountModals,
438
441
  AccountSectionType,
439
- default5 as AddCardModal,
442
+ default7 as AddCardModal,
440
443
  AppMobileNavBar,
441
444
  AppNavBar,
442
445
  AppNavigation,
@@ -451,7 +454,7 @@ export {
451
454
  CURRENCY_OPTIONS,
452
455
  Calendar,
453
456
  CalendarDayButton,
454
- default9 as CancelButton,
457
+ default11 as CancelButton,
455
458
  CancelledSubscriptionBanner,
456
459
  CannotDeleteCardModal,
457
460
  Card,
@@ -469,7 +472,7 @@ export {
469
472
  ChangePhoneModal,
470
473
  ChargeSchema,
471
474
  Checkbox,
472
- default10 as CircularProgress,
475
+ default12 as CircularProgress,
473
476
  ClarityEmbed,
474
477
  ComboboxField,
475
478
  Command,
@@ -481,14 +484,14 @@ export {
481
484
  CommandList,
482
485
  CommandSeparator,
483
486
  CommandShortcut,
484
- default20 as ConfirmGlobalPreferencesModal,
487
+ default22 as ConfirmGlobalPreferencesModal,
485
488
  CopyButton,
486
489
  CreateCardRequestSchema,
487
490
  default3 as CreditsDisabledModal,
488
491
  CrispEmbed,
489
492
  DatePicker,
490
493
  DateRangePicker,
491
- default11 as DefaultCircularProgress,
494
+ default13 as DefaultCircularProgress,
492
495
  DeleteCardModal,
493
496
  Dialog,
494
497
  DialogClose,
@@ -500,13 +503,15 @@ export {
500
503
  DialogPortal,
501
504
  DialogTitle,
502
505
  DialogTrigger,
503
- default19 as DisableTwoFactorAuthModal,
506
+ default21 as DisableTwoFactorAuthModal,
504
507
  EmbedWidgets,
505
508
  FindCardsParamsSchema,
506
509
  FindChargesParamsSchema,
507
510
  FormField,
508
511
  FrillEmbed,
509
512
  GENDER_OPTIONS,
513
+ default5 as HexaPromoModal,
514
+ default6 as HexaPromoModalGate,
510
515
  INFINITE_PROJECTS_QUERY_KEY,
511
516
  ImageCropModal,
512
517
  ImageTooSmallModal,
@@ -539,7 +544,7 @@ export {
539
544
  NavBarItem,
540
545
  NavigationProvider,
541
546
  NotFoundPage,
542
- default6 as NotificationCard,
547
+ default8 as NotificationCard,
543
548
  NotificationPageContent,
544
549
  NotificationsPopover,
545
550
  OverdueInvoiceBanner,
@@ -558,7 +563,7 @@ export {
558
563
  PayChargeInputSchema,
559
564
  CardSchema as PaymentCardSchema,
560
565
  PaymentInfoCard,
561
- default15 as PhoneInput,
566
+ default17 as PhoneInput,
562
567
  PixPendingDataSchema,
563
568
  PlanItemSchema,
564
569
  PlanSchema,
@@ -606,7 +611,7 @@ export {
606
611
  SubscriptionPendingPixResponseSchema,
607
612
  SubscriptionSchema,
608
613
  Switch,
609
- default16 as SwitchOptionFieldWithIcon,
614
+ default18 as SwitchOptionFieldWithIcon,
610
615
  TIME_FORMAT_OPTIONS,
611
616
  Table,
612
617
  TableBody,
@@ -628,12 +633,12 @@ export {
628
633
  TooltipProvider,
629
634
  TooltipTrigger,
630
635
  TrialBanner,
631
- default18 as TwoFactorAuthModal,
636
+ default20 as TwoFactorAuthModal,
632
637
  USER_QUERY_KEY,
633
638
  UpcomingInvoiceBanner,
634
639
  UserAvatar,
635
640
  UsersSelectorPopover,
636
- default7 as WhitelabelCodes,
641
+ default9 as WhitelabelCodes,
637
642
  badgeVariants,
638
643
  base64ToFile,
639
644
  buildCardFormSchema,
@@ -704,9 +709,9 @@ export {
704
709
  useChargeAction,
705
710
  useChargeById,
706
711
  useCharges,
707
- default8 as useCopyToClipboard,
712
+ default10 as useCopyToClipboard,
708
713
  useCountPages,
709
- default13 as useCountdownTimer,
714
+ default15 as useCountdownTimer,
710
715
  useCreateCard,
711
716
  useCreateProject,
712
717
  useCreateSetupIntent,
@@ -724,11 +729,12 @@ export {
724
729
  useDesktopSidebarStore,
725
730
  useHandleDeleteCard,
726
731
  useHasPlanAddon,
732
+ useHexaPromoModal,
727
733
  useIaCredits,
728
734
  useImageUpload,
729
735
  useInfiniteProjects,
730
736
  useInvalidateUser,
731
- default14 as useIsMobile,
737
+ default16 as useIsMobile,
732
738
  useListAllAccountUsers,
733
739
  useListAvailableUsers,
734
740
  useListProjectUsers,
@@ -739,7 +745,7 @@ export {
739
745
  useNavigationFallback,
740
746
  usePaidPlanRequiredModal,
741
747
  useParams,
742
- default12 as usePasswordVisibility,
748
+ default14 as usePasswordVisibility,
743
749
  usePathname,
744
750
  usePlanById,
745
751
  usePlans,