@designcrowd/library.brand-page 5.16.3-background-7 → 5.16.3-background-9

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 (124) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-YFZqI0x7.js → CreatedOnBrandCrowd-de-de--KpngFdf.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-oCydCj0r.js → CreatedOnBrandCrowd-en-us-DtxY4Z2d.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-8LWCIMUL.js → CreatedOnBrandCrowd-es-es-uDQh1CTo.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-HZ_V70no.js → CreatedOnBrandCrowd-fr-ca-BiB8cMX_.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-HZ_V70no.js → CreatedOnBrandCrowd-fr-fr-BiB8cMX_.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-7jPL-cgd.js → CreatedOnBrandCrowd-pt-br-D3sXSjw8.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-7jPL-cgd.js → CreatedOnBrandCrowd-pt-pt-D3sXSjw8.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-D-SliPlT.js → CreatedOnDcom-de-de-CMssXwxW.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-DWB_vdQE.js → CreatedOnDcom-en-us-CagKWzBt.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DMuIffFr.js → CreatedOnDcom-es-es-DGmFkW7a.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DM8vq9tc.js → CreatedOnDcom-fr-ca-BEG1Lwj5.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-8yITfFk9.js → CreatedOnDcom-fr-fr-o4G0x8pw.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-BlTWg3Np.js → CreatedOnDcom-pt-br-iTLOgDpS.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-L8gg-C55.js → CreatedOnDcom-pt-pt-D3-ovGCA.js} +1 -1
  15. package/lib/src/brand-page/models/brand-page-context.model.d.ts +1 -0
  16. package/lib/src/brand-page/models/brand-page-context.model.js +5 -0
  17. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +13 -0
  18. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +30 -1
  19. package/lib/src/brand-page-maker/stores/index.d.ts +1 -0
  20. package/lib/src/brand-page-maker/stores/index.js +1 -0
  21. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.d.ts +14 -0
  22. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.js +21 -0
  23. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +2 -0
  24. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +117 -0
  25. package/lib/src/bundled-translations-0k_bW9M3.js +163 -0
  26. package/lib/src/bundled-translations.de-DE-alPJDdV5.js +163 -0
  27. package/lib/src/bundled-translations.es-ES-DvG6dxbl.js +163 -0
  28. package/lib/src/bundled-translations.fr-CA-uKGhZH2y.js +163 -0
  29. package/lib/src/bundled-translations.fr-FR-DsR3NACS.js +163 -0
  30. package/lib/src/bundled-translations.pt-BR-Bh9w3i0j.js +163 -0
  31. package/lib/src/bundled-translations.pt-PT-BzegT--8.js +163 -0
  32. package/lib/src/bundles/bundled-translations.de-DE.json +18 -2
  33. package/lib/src/bundles/bundled-translations.es-ES.json +18 -2
  34. package/lib/src/bundles/bundled-translations.fr-CA.json +18 -2
  35. package/lib/src/bundles/bundled-translations.fr-FR.json +18 -2
  36. package/lib/src/bundles/bundled-translations.json +15 -1
  37. package/lib/src/bundles/bundled-translations.pt-BR.json +18 -2
  38. package/lib/src/bundles/bundled-translations.pt-PT.json +18 -2
  39. package/lib/src/clients/design-template-client.d.ts +2 -0
  40. package/lib/src/clients/design-template-client.js +33 -0
  41. package/lib/src/composables/useSnapshot.d.ts +5 -0
  42. package/lib/src/composables/useSnapshot.js +74 -0
  43. package/lib/src/composables/useTranslate.d.ts +2 -1
  44. package/lib/src/composables/useTranslate.js +2 -1
  45. package/lib/src/css/library.brand-page-brandCrowd.min.css +164 -23
  46. package/lib/src/css/library.brand-page-brandPage.min.css +151 -23
  47. package/lib/src/css/library.brand-page-designCom.min.css +164 -23
  48. package/lib/src/css/library.brand-page-preview.min.css +148 -23
  49. package/lib/src/index.mjs +1 -1
  50. package/lib/src/{lib-BdYJIcz_.js → lib-BIGyHbSf.js} +20618 -19850
  51. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +1 -0
  52. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +3 -0
  53. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +2 -0
  54. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +6 -0
  55. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +8 -0
  56. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +44 -1
  57. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +1 -0
  58. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +3 -0
  59. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +21 -3
  60. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.js +39 -2
  61. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +20 -2
  62. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +41 -2
  63. package/lib/src/shared/content-settings/utils.d.ts +1 -0
  64. package/lib/src/shared/content-settings/utils.js +6 -0
  65. package/package.json +2 -2
  66. package/src/brand-page/components/page/Page.vue +1 -1
  67. package/src/brand-page/models/brand-page-context.model.ts +13 -0
  68. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +31 -0
  69. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +2 -1
  70. package/src/brand-page-maker/stores/index.ts +1 -0
  71. package/src/brand-page-maker/stores/snapshot/snapshot-store.ts +31 -0
  72. package/src/brand-page-maker/utils/rich-text-editor.util.ts +154 -0
  73. package/src/bundles/bundled-translations.de-DE.json +18 -2
  74. package/src/bundles/bundled-translations.es-ES.json +18 -2
  75. package/src/bundles/bundled-translations.fr-CA.json +18 -2
  76. package/src/bundles/bundled-translations.fr-FR.json +18 -2
  77. package/src/bundles/bundled-translations.json +15 -1
  78. package/src/bundles/bundled-translations.pt-BR.json +18 -2
  79. package/src/bundles/bundled-translations.pt-PT.json +18 -2
  80. package/src/clients/design-template-client.ts +57 -0
  81. package/src/composables/useSnapshot.ts +97 -0
  82. package/src/composables/useTranslate.ts +3 -0
  83. package/src/shared/background-settings/components/i18n/background-settings.de-DE.json +3 -1
  84. package/src/shared/background-settings/components/i18n/background-settings.es-ES.json +3 -1
  85. package/src/shared/background-settings/components/i18n/background-settings.fr-CA.json +3 -1
  86. package/src/shared/background-settings/components/i18n/background-settings.fr-FR.json +3 -1
  87. package/src/shared/background-settings/components/i18n/background-settings.pt-BR.json +3 -1
  88. package/src/shared/background-settings/components/i18n/background-settings.pt-PT.json +3 -1
  89. package/src/shared/common/i18n/common.de-DE.json +5 -1
  90. package/src/shared/common/i18n/common.es-ES.json +5 -1
  91. package/src/shared/common/i18n/common.fr-CA.json +5 -1
  92. package/src/shared/common/i18n/common.fr-FR.json +5 -1
  93. package/src/shared/common/i18n/common.json +5 -1
  94. package/src/shared/common/i18n/common.pt-BR.json +5 -1
  95. package/src/shared/common/i18n/common.pt-PT.json +5 -1
  96. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +3 -0
  97. package/src/shared/content-settings/components/content-settings/ContentSettings.vue +2 -0
  98. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +8 -0
  99. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -0
  100. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +54 -0
  101. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +20 -2
  102. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +3 -1
  103. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +1 -0
  104. package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +95 -0
  105. package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +500 -0
  106. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.de-DE.json +12 -0
  107. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.es-ES.json +12 -0
  108. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-CA.json +12 -0
  109. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-FR.json +12 -0
  110. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.json +12 -0
  111. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-BR.json +12 -0
  112. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-PT.json +12 -0
  113. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.ts +44 -2
  114. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +15 -3
  115. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +52 -2
  116. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +16 -3
  117. package/src/shared/content-settings/utils.ts +9 -0
  118. package/lib/src/bundled-translations-DEk3SiLd.js +0 -161
  119. package/lib/src/bundled-translations.de-DE-DW3iDx_G.js +0 -161
  120. package/lib/src/bundled-translations.es-ES-C9I8wDyq.js +0 -161
  121. package/lib/src/bundled-translations.fr-CA-C0NN8DsO.js +0 -161
  122. package/lib/src/bundled-translations.fr-FR-oKV5NyE1.js +0 -161
  123. package/lib/src/bundled-translations.pt-BR-CTvCfv1X.js +0 -161
  124. package/lib/src/bundled-translations.pt-PT-CbwxwRY1.js +0 -161
@@ -0,0 +1,163 @@
1
+ const e = { createYourBrand: "Crie o seu {{ BUTTON_LABEL }}", website: "website", digitalBusinessCard: "cartão de visita digital", linkInBio: "link na biografia" }, o = { consentText: "Utilizamos cookies no nosso website para otimizar a sua experiência no website. Ao aceitar, concorda com a nossa utilização de tais cookies.", accept: "Aceitar" }, a = { addImagePlaceholder: "Adicione uma imagem para remover este espaço reservado", imageBlockPlaceholder: "Espaço Reservado para Bloco de Imagem" }, i = { addImagePlaceholder: "Adicione uma imagem para remover este espaço reservado", imagePlaceholder: "Marcador de posição de imagem", addImagesDescription: "Adicione imagens para remover este espaço reservado", imageGalleryBlockPlaceholderTitle: "Espaço Reservado para o Bloco de Galeria de Imagens" }, r = { addImagePlaceholder: "Adicione uma imagem para remover este espaço reservado", imagePlaceholder: "Marcador de posição de imagem" }, t = { namePlaceholder: "Nome", nameLabel: "Nome", emailPlaceholder: "Endereço de email", emailLabel: "Endereço de email", subscribeThankYou: "Agradecemos-lhe pela subscrição!" }, s = { addAddressPlaceholder: "Adicione uma morada para remover este marcador de posição.", mapBlockPlaceholder: "Espaço reservado para o bloco de mapa" }, n = { productName: "{{PAYMENT_OPTIONS_LENGTH}} produtos", defaultPaymentSuccessMessage: "Obrigado pelo seu pedido! Entraremos em contacto consigo assim que possível.", yourMessage: "A sua mensagem", provideDetails: "Forneça os detalhes do pedido", selectAnAmount: "Selecione um montante {{CURRENCY_CODE}}", customAmountLabelOr: "ou um montante personalizado {{CURRENCY_CODE}}", customAmountLabel: "Montante personalizado {{CURRENCY_CODE}}" }, d = { cardNumber: "Número do cartão", emailAddress: "Endereço de email", emailAddressPlaceholder: "Endereço de email", proceedToPayment: "Proceda ao pagamento {{CURRENCY_SYMBOL}}{{AMOUNT}} ({{CURRENCY_CODE}})", forProduct: "para {{PRODUCT_NAME}}", termsAgreement: "Ao enviar o pagamento, aceita os", termsLinkText: "Termos e Condições da BrandCrowd", termsDisclaimer: "O pagamento será feito ao proprietário da página Web. O BrandCrowd não é responsável por esta transação.", poweredBy: "Assegurado por", invalidEmailMessage: "Por favor, introduza um endereço de e-mail válido" }, l = { sensitiveContentDisplayTitle: "Conteúdo sensível", sensitiveContentmessage: "Confirme que está disposto a ver conteúdo potencialmente sensível", ageRestrictionDisplayTitle: "Conteúdo sensível", ageRestrictionMessage: "Confirme que tem idade legal para visualizar este conteúdo", rejectedDisplayTitle: "Não pode visitar este site", rejectedDisplayTMessage: "O acesso é restrito a utilizadores com {{REQUIRED_MINIMUM_AGE}} anos ou mais", iAcceptAgeButtonLabel: "Estou farto de {{REQUIRED_MINIMUM_AGE}}", iDenyAgeButtonLabel: "Tenho menos de {{REQUIRED_MINIMUM_AGE}}", iConfirmButtonLabel: "Confirmo" }, m = { payment: "Pagamento", done: "Concluído", paymentSuccessMessage: "Pagamento efetuado! Obrigado pelo seu pedido! Entraremos em contacto consigo assim que possível.", paymentFailedMessage: "O pagamento falhou.", productsCount: "{{COUNT}} produtos" }, c = { quantity: "Quantidade", addToCart: "Adicionar ao Carrinho", back: "Voltar", description: "Descrição", orderDetailsPlaceholder: "Forneça os detalhes da encomenda ou do pedido", pleaseSelectOption: "Por favor, selecione uma opção", characterExceeded: "Carateres excedidos!" }, p = { noProducts: "Nenhum produto listado de momento", viewCart: "Ver carrinho", itemAddedToCart: "Item adicionado com sucesso ao carrinho!" }, u = "Adicione o URL do vídeo do YouTube para remover este marcador de posição", g = "Espaço Reservado para Bloco de Vídeo", b = { image: "image", shape: "forma" }, C = { saveProgress: "Guardar progresso", saveTemplate: "Guardar modelo", publish: "Publicar" }, T = { userImageUpgradeText: "Com o BrandPage Premium, pode carregar as suas próprias imagens como fundo.", libraryImageUpgradeText: "Com o BrandPage Premium, pode adicionar imagens de fundo fornecidas pela Unsplash." }, h = { favicon: "Favicon", icon: "Ícone", seoSettings: "Definições de SEO", cookieCollection: "Coleção de Cookies", faviconDescription: "Um favicon é um pequeno ícone junto ao nome do website no separador do navegador.", socialShareTitle: "Partilhar nas redes sociais", paymentProvidersTitle: "Fornecedores de pagamento", paymentProvidersDescription: "Ative ou crie uma conta num fornecedor aprovado. Comece a receber gratificações e pagamentos, ou a vender produtos, serviços e muito mais!", paymentProvidersAddProviderLabel: "Adicionar fornecedores de pagamento", integrationSettings: "Integrações" }, v = { newColor: "Nova cor" }, A = { cookieInfo: "Algumas leis regionais exigem que os proprietários de websites informem os visitantes sobre o controlo de cookies.", enableCookie: "Ativar o banner de recolha de cookies", showPreview: "Mostrar pré-visualização" }, P = { analyticsIntegrations: "Integrações de estatísticas", integrationLabel: "Vincule ferramentas de terceiros para análise e monetização.", googleAnalyticsLabel: "Google Analytics: GA4", googleAnalyticsInputLabel: "ID de Medição", googleAnalyticsInfo: "Adicione o seu Google Analytics: ID de Medição GA4 para monitorizar os seus visitantes utilizando o GA4; utilize este formato G-XXXXXXXXX ou AW-XXXXXXXXX", googleAnalyticsPlaceholder: "G-XXXXXXXXX ou AW-XXXXXXXXX", googleAdsenseLabel: "Google AdSense", googleAdsenseInfo: "Coloque anúncios no seu site com o Adsense e comece a monetizar o seu tráfego. É necessário um domínio personalizado para utilizar esta função.", googleAdsenseInputLabel: "ID de editor", googleAdsensePlaceholder: "pub-XXXXXXXXXXXXXXXX" }, f = { mobile: "Dispositivo móvel", desktop: "Computador" }, D = { defaultBackButtonLabel: "Voltar", prePurchaseBackButtonLabel: "Voltar", postPurchaseBackButtonLabel: "Voltar aos meus Websites" }, L = { myWebPageLabel: "A minha página Web:", copyButton: "Copiar", copiedButton: "Copiado!" }, y = { sensitiveContentInfo: "Exibir um aviso de conteúdo sensível antes de os visitantes poderem visualizar o perfil", offSetting: "Desativar", sensitiveContentSetting: "Conteúdo sensível" }, S = { title: "Utilize o seu domínio existente", description: "Escolha entre os seus nomes de domínio adquiridos ou introduza o seu nome de domínio existente", purchasedDomainRadio: "Utilizar os meus nomes de domínio comprados", selectDomainPlaceholder: "Selecionar nome de domínio", submitButton: "Enviar", registrationInProgress: "Registo em curso", noPurchasedDomains: "Ainda não comprou nenhum domínio.", existingDomainRadio: "Utilizar o meu domínio existente", existingDomainPlaceholder: "example.com", connectButton: "Ligue-se", errorMessage: "Ocorreu um erro, contacte o apoio ao cliente." }, E = { seo: "SEO", customDomain: "Domínio personalizado", addCustomDomain: "Adicionar domínio personalizado", useExistingDomain: "Ou utilizar domínio atual", pageUrl: "URL da página", connected: "Ligado", type: "Tipo", host: "Anfitrião", target: "Alvo", changeUrl: "Alterar URL", setupInProgress: "Configuração em curso", pending: "Verificação Pendente", failed: "Falhou", failedToRenew: "Falha ao renovar", dnsExpired: "Pedido expirado. Elimine e configure um novo domínio personalizado.", dnsMissing: "Faltam os registos DNS necessários. Inclua os registos DNS em falta.", dnsInvalid: "Alguns registos DNS são inválidos. Remova os registos DNS inválidos.", dnsError: "Alguns registos DNS são inválidos. Remova o registo DNS 'AAAA'.", checkStatus: "Verificar estado", resetDomain: "Tem a certeza de que deseja repor este nome de domínio?", webDescription: "Breve descrição da sua página Web", websiteDescription: "Breve descrição para o Website da sua Marca", customDomainError: "Ocorreu um erro, contacte o apoio ao cliente.", customDomainNote: "Nota: Por favor, aguarde até 72 horas para que o seu domínio seja totalmente inicializado", customDomainInfo: "Utilize o URL do domínio atual. Para utilizar esta funcionalidade, terá de comprar um nome de domínio a um registador de nomes de domínio.", customDomainSettingInfo: "Aceda às Definições de domínio (no website do seu fornecedor de domínio) e efetue as seguintes alterações nos seus registos:" }, I = { addItem: "Adicionar Item", editItem: "Editar Item", itemInformation: "Informação do Item", cancel: "Cancelar", addProductImage: "Adicionar imagem", replace: "Substituir", remove: "Remover", itemName: "Nome do item", itemDescription: "Descrição", optionalProdvideDetails: "Opção para fornecer detalhes do pedido/encomenda", pricing: "Preços", price: "Preço", variants: "Variantes", addVariants: "Adicionar variantes", variantTitle: "Título da variante", optionTitle: "Título da opção", addOption: "Adicionar opção" }, x = { customizeSocial: "Personalizar o aspeto do seu website quando partilhado nas redes sociais", thumbnail: "Miniatura", recommendedSize: "tamanho recomendado", enterTitle: "Introduzir título", enterDescription: "Introduzir descrição", addOgImage: "Adicionar imagem OG", replaceOgImage: "Substituir imagem original" }, N = { previewDisplayName: "Pré-visualização", templatesDisplayName: "Modelos", contentDisplayName: "Conteúdo", backgroundDisplayName: "Fundo", logoDisplayName: "Logótipo", styleDisplayName: "Estilo", settingsDisplayName: "Definições", classicDisplayName: "clássico", modernDisplayName: "moderno", uniqueDisplayName: "único", settingsSaveSuccessMessage: "Definições guardadas com sucesso" }, M = { centered: "Centrado", leftAligned: "Alinhado à esquerda", url: "URL", page: "Página", emailAddress: "Endereço de email", phoneNumber: "Número de telefone", preview: "Pré-visualização", collapsed: "Colapsado", grid: "Grelha", carousel: "Carousel", masonry: "Alvenaria", original: "Original", circle: "Círculo", default: "Padrão", textOnly: "Apenas texto", thumbnail: "Miniatura", featured: "Em destaque", small: "Pequeno", medium: "Médio", large: "Grande", bigImage: "Imagem Grande", columns: "Colunas" }, k = { defaultBackgroundColor: "Cor de fundo predefinida", defaultBorderColor: "Cor da borda predefinida", defaultTextStyle: "Estilo de texto padrão", selectedBackgroundColor: "Cor de fundo selecionada", selectedBorderColor: "Cor da borda selecionada", selectedTextColor: "Cor do texto selecionado", iconColor: "Cor do ícone", iconBackgroundColor: "Cor de fundo do ícone", allDisplayName: "Tudo", generalDisplayName: "Geral", socialLinksDisplayName: "Redes sociais", monetizeDisplayName: "Monetizar", sectionsDisplayName: "Secções" }, B = { emptyStringMessage: "Por favor, introduza um valor", invalidAddressMessage: "Por favor, introduza um endereço", invalidEmailMessage: "Por favor, introduza um endereço de e-mail válido", invalidTelMessage: "Por favor, introduza um número de telefone válido", invalidUrlMessage: "Por favor, introduza um URL válido", invalidYoutubeUrlMessage: "Introduza um URL do YouTube válido", selectAPage: "Por favor, selecione uma página" }, z = { recommendedColors: "Cores recomendadas", logoColors: "Cores do logótipo", editBackground: "Editar Fundo", background: "Fundo", other: "Outro", shapes: "Formas", color: "Cor", imageLibrary: "Biblioteca de imagens", myUploads: "Os meus carregamentos", backgroundColor: "Cor de fundo", addMedia: "Adicionar multimédia", addImage: "Adicionar imagem", replaceImage: "Substitua a imagem", image: "Imagem", media: "Multimédia", replaceMedia: "Substituir multimédia" }, R = { newColor: "Nova cor", defaultColors: "Cores padrão", gradientColors: "Gradientes de cores", selectThisColor: "Selecione esta cor" }, O = { desktop: "computador", mobile: "dispositivo móvel", back: "Voltar", none: "Nenhum", logo: "Logótipo", upload: "Carregar", yes: "Sim", no: "Não", all: "Tudo", cancel: "Cancelar", confirm: "Confirme", categories: "Categorias", search: "Pesquisar", pageTitle: "Título da página", title: "Título", description: "Descrição", settings: "Definições", domains: "Domínios", sensitiveContent: "Conteúdo sensível", displayStyle: "Estilo de exibição", colorMatched: "Cor combinada", iconColor: "Cor do ícone", backgroundColor: "Cor de fundo", centered: "Centrado", justified: "Justificado", fontSettings: "Definições de tipo de letra", defaultTextStyle: "Estilo de texto padrão", text: "Texto", emptySearchLabel: "Lamentamos, mas não encontrámos o que procura.", small: "Pequeno", medium: "Médio", large: "Grande", wide: "alargado", default: "Padrão", replace: "Substituir", save: "Guardar", remove: "Remover", copy: "Copiar", sendButtonText: "Enviar", regenerateText: "Regenerar", addShapeLabel: "Adicionar forma", addImageLabel: "Adicionar imagem", addFaviconLabel: "Adicionar Favicon", addMediaLabel: "Adicionar multimédia", replaceFaviconLabel: "Substituir Favicon", updateSettings: "Atualizar definições", shapeColor: "Cor da Forma", shapeColors: "Cores das Formas", upgradeToPremium: "Faça upgrade para premium", premium: "Premium", done: "Concluído", copyrightTextPlaceholder: "Texto de direitos de autor aqui", continue: "Continuar", defaultSaveDescription: "Não se esqueça de publicar as suas alterações quando estiver satisfeito com o seu design.", saveSuccess: "Gravação bem-sucedida!", changeTemplateConfirmationMessage: "Se alterar os modelos vai perder as suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique o seu site previamente caso queira manter as suas alterações.", generateText: "Gerar texto" }, F = { maxCharacters: "Atingiu o limite máximo de caracteres permitido", maxCharactersDescription: "Atingiu o limite máximo de caracteres permitido para a sua descrição", maxCharactersTitle: "Atingiu o limite máximo de caracteres permitido para o seu título", invalidUrlMessage: "Por favor, introduza um URL válido", testimonialEmpty: "Introduza um testemunho", textEmpty: "Por favor, introduza um texto", invalidGoogleId: "ID de Medição do Google inválido", invalidGoogleAdsenseId: "ID do Google Adsense inválido", paymentMethodDescription: "Por favor, introduza uma descrição para o seu método de pagamento", maxTitleLength: "Mantenha o título da página com {{MAX_PAGE_TITLE_LENGTH}} caracteres.", acceptedTypesMessage: "Aceitamos {{ACCEPTED_IMAGE_TYPES}} até {{FILE_SIZE_LIMIT}}", fileTooLargeMessage: "O ficheiro é demasiado grande. Carregue um ficheiro com menos de {{MAX_FILE_SIZE}} MB.", incorrectDimensionsMessage: "Dimensões incorretas para {{MEDIA_TYPE}}. A dimensão recomendada é: {{DESIRED_WIDTH}}x{{DESIRED_HEIGHT}}", titleLengthError: "O título excede {{BRANDPAGE_TITLE_CHARACTER_LIMIT}} caracteres.", descriptionLengthError: "A descrição excede {{BRANDPAGE_DESCRIPTION_CHARACTER_LIMIT}} caracteres.", metaKeywordsError: "Por favor, introduza um máximo de 100 palavras-chave", invalidSlugError: "O URL da sua página de marca contém caracteres inválidos. Só pode incluir caracteres alfanuméricos e o carácter '-'", slugCharacterLimitError: "O URL da sua página de marca excede o máximo de {{BRANDPAGE_SLUG_CHARACTER_LIMIT}} caracteres", brandPageDescriptionLimitError: "A descrição excede os 158 caracteres.", brandPageTitleLimitError: "O título excede 60 caracteres.", brandPageDefaultDescriptionError: "Ocorreu um erro. Tente novamente mais tarde.", contentHasErrors: "`Existem {{CONTENT_ERROR_COUNT}} erros de conteúdo. Por favor, consulte o separador Conteúdo para mais informações.", pageTitleError: "O título da página não pode estar vazio.", genericBrandPagePublishError: "Ocorreu um erro inesperado ao publicar a página da marca. Tente novamente.", alreadySubscribedError: "Este e-mail já está subscrito", mailingListError: "Ocorreu um erro. Não é possível subscrever a lista de e-mail.", contactMessageError: "Ocorreu um erro. Não é possível subscrever para enviar o formulário de contacto." }, U = { confirmMessageTitle: "Tem a certeza?", noLabel: "Não", yesLabel: "Sim" }, w = { bookingLabel: "Adicione o link para agendamento (p. ex., *Calendly*)" }, X = { recommendedColors: "Cores recomendadas", logoColors: "Cores do logótipo", transparent: "Transparente" }, q = { colorMatchShape: "Cor correspondente à forma" }, G = { sideBarHeaderTitle: "Editar o conteúdo", managePagesButtonText: "Gerir páginas", addNewPageButtonText: "Adicionar nova página", addContentButtonText: "Adicionar conteúdo", addContentHeaderTitle: "Adicionar conteúdo", getStartedButtonText: "Comece", logoDisplayName: "Logótipo", generalLinkDisplayName: "Link geral", profileDisplayName: "Perfil", websiteDisplayName: "Website", emailDisplayName: "E-mail", phoneDisplayName: "Telefone", textDisplayName: "Texto", imageDisplayName: "Imagem", imageSectionDisplayName: "Imagens", imageGalleryDisplayName: "Galeria de Imagens", videoDisplayName: "Vídeo", mapDisplayName: "Mapa", mailingListDisplayName: "Lista de correio", facebookDisplayName: "Facebook", twitterDisplayName: "X", instagramDisplayName: "Instagram", youtubeDisplayName: "YouTube", linkedinDisplayName: "LinkedIn", pinterestDisplayName: "Pinterest", twitchDisplayName: "Twitch", tiktokDisplayName: "TikTok", supportMeDisplayName: "Dar gorjeta", requestPaymentDisplayName: "Pagamentos", contactFormDisplayName: "Formulário de Contacto", bannerSectionDisplayName: "Banner", testimonialSectionDisplayName: "Testemunhos", aboutSectionDisplayName: "Sobre", socialLinksDisplayName: "Links de redes sociais", dividerSectionDisplayName: "Separador", shapesSectionDisplayName: "Formas", shopSectionDisplayName: "Loja", bookingSectionDisplayName: "Reserva", settingsDisplayName: "Definições", styleDisplayName: "Estilo", titleStyleLabel: "Estilo de título", descriptionStyleLabel: "Estilo de descrição", nameStyleLabel: "Estilo do nome", buttonTextStyleLabel: "Estilo do texto do botão", addImageButtonTitle: "Adicionar imagem", addImageHeaderTitle: "Adicionar imagem", imageReplaceTitle: "Substitua a imagem", replaceMediaTitle: "Substituir multimédia", imageGalleryAddButtonTitle: "Adicionar imagens", imageGalleryReplaceTitle: "Adicionar imagem", iconReplaceTitle: "Substituir miniatura", addIconHeaderTitle: "Adicionar miniatura", buttonModalAddButtonTitle: "Adicionar design", buttonModalTitleHeader: "Adicionar design", buttonModalReplaceTitle: "Substituir design", addShapeButtonTitle: "Adicionar forma", addShapeHeaderTitle: "Adicionar forma", addShapeReplaceTitle: "Substituir forma", linkDisplayName: "Link", openDesignDisplayName: "Abrir design", pageDisplayName: "Página", productsAndServicesDisplayName: "Produtos e Serviços", emailOnlyDisplayName: "Apenas e-mail", nameAndEmailDisplayName: "Nome e e-mail", logoTitle: "Logótipo", logoSizeTitle: "Tamanho do logótipo", backgroundColorTitle: "Cor de fundo", thumbnailTitle: "Miniatura", shapeColorsTitle: "Cores das Formas", displayStyleTitle: "Estilo de exibição", urlTitle: "URL", fontSettingsTitle: "Definições de tipo de letra", emailTitle: "E-mail", imageTitle: "Imagem", titleTitle: "Título", nameTitle: "Nome", aspectRatioTitle: "Relação de aspeto", pluralImagesTitle: "Imagens", styleTitle: "Estilo", phoneNumberTitle: "Número de telefone", textTitle: "Texto", pluralAddItemsTitle: "Adicionar Itens", sizeTitle: "Tamanho", alignmentTitle: "Alinhamento", colorTitle: "Cor", columnsTitle: "Colunas", addressTitle: "Endereço", buttonTitle: "Botão", linkStyleTitle: "Estilo de link", descriptionTitle: "Descrição", successMessageTitle: "Mensagem de sucesso", sendResponsesToTitle: "Envie as respostas para", cardColorTitle: "Cor do cartão", successMessageTextColorTitle: "Cor do texto da mensagem de sucesso", overlayColorTitle: "Cor de sobreposição", overlayTitle: "Sobreposição", buttonLinkTitle: "Link de botão", paragraphTitle: "Parágrafo", cardFillColorTitle: "Cor de preenchimento do cartão", iconFillColorTitle: "Cor de preenchimento do ícone", iconBackgroundColorTitle: "Cor de fundo do ícone", paddingTitle: "Preenchimento", dividerStyleTitle: "Estilo do separador", dividerColorTitle: "Cor do separador", addItemTitle: "Adicionar Item", buyNowTitle: "Comprar Agora", shopTitle: "Comprar", supportMeTitle: "Apoie-me", contactUsTitle: "Contacte-nos", thisIsABannerTitle: "Isto é uma faixa", imagesTitle: "Imagens", imagesDescription: "Este é um exemplo de um bloco de texto de descrição", testimonialsTitle: "Testemunhos", aboutSectionTitle: "Esta é a secção Sobre", homeTitle: "Início", followUsOnTitle: "Siga-nos em", shapesTitle: "Formas", defaultTextValue: "Este é um exemplo de texto", defaultBookingTitle: "Marque uma consulta", defaultBookingDescription: "Agende a sua consulta hoje mesmo", titlePlaceholder: "Título", successMessagePlaceholder: "Mensagem de sucesso", successThanksPlaceholder: "Obrigado pelo seu pedido!", successSupportPlaceholder: "Obrigado pelo seu apoio!", descriptionPlaceholder: "Descrição", recipientEmailPlaceholder: "Email do destinatário", getStartedPlaceholder: "Comece", paragraphPlaceholder: "Parágrafo", selectAPagePlaceholder: "Selecione uma página", yourNamePlaceholder: "O seu nome", websitePlaceholder: "Website", exampleWebsitePlaceholder: "https://example.com", addImageTitlePlaceholder: "Adicionar título da imagem", joinMailingListPlaceholder: "Adira à lista de correio", subscribePlaceholder: "Subscrever", optionalDescriptionPlaceholder: "Descrição (opcional)", textAreaDescriptionPlaceholder: "Escreva uma breve descrição sobre si ou sobre a sua marca", textAreaSamplePlaceholder: "Este é um exemplo de texto", emailPlaceholder: "me@website.com", youtubeUrlPlaceholder: "Colar URL do vídeo do YouTube", sendPlaceholder: "Enviar", formSuccessMessage: "Obrigado! Entraremos em contacto consigo assim que possível.", fullWidthLabel: "Largura total", enablePopupLabel: "Abrir imagens num pop-up", autoplayLabel: "Reprodução automática", muteLabel: "Silenciar", headingStyleLabel: "Estilo de cabeçalho", testimonialStyleLabel: "Estilo de testemunho", paragraphStyleLabel: "Estilo de parágrafo", positionStyleLabel: "Estilo de posição", itemStyleLabel: "Estilo do item", defaultFillColorLabel: "Cor de preenchimento predefinida", defaultBorderColorLabel: "Cor de limite predefinida", selectedBorderColorLabel: "Cor da borda selecionada", textColorLabel: "Cor do texto", multiProductSelectionLabel: "Permitir a seleção de vários produtos", optionalDetailsLabel: "Opção para fornecer detalhes do seu pedido", mailingListPromptText: "Adira à lista de correio", defaultDescription: "Descrição", makeADonationDescription: "Faça uma doação", thickLineDivider: "Linha espessa", thinLineDivider: "Linha Fina", noneDivider: "Nenhum", styleNoneOption: "Nenhum", styleSquareOption: "Square", styleCircleOption: "Círculo", mediaTypeImage: "image", mediaTypeShape: "forma", media: "Multimédia", addMediaTitle: "Adicionar multimédia", firstNameLabel: "Primeiro nome", lastNameLabel: "Apelido", emailAddressLabel: "Endereço de email", phoneNumberLabel: "Número de telefone", messageLabel: "Mensagem", displayTextPlaceholder: "Texto de exibição", linkToLabel: "Link para", addLinkButtonText: "Adicionar link", enterValidUrlError: "Por favor, introduza um URL válido", enterTextHerePlaceholder: "Introduza o texto aqui...", bookNowLabel: "Reservar já" }, _ = { field: "Campo", required: "Obrigatório" }, V = { generateTitle: "Gerar Texto com IA", generateDescription: "O conteúdo é gerado por IA e pode precisar de edição para ser preciso", generatePlaceholder: "Descreva o seu texto.", generationStopped: "A geração de texto parou. Inicie um novo prompt para continuar.", generateInputPlaceholder: "Introduza o seu comando para descrever o texto...", stopGeneration: "Parar a geração", useText: "Utilizar texto", promptTooLong: "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})" }, H = { addressPlaceholder: "Introduza uma localização" }, Y = { sampleText: "Este é um exemplo de texto" }, W = { shapePrefix: "Forma", imagePrefix: "Imagem", placeholderSuffix: " título", addShapeLabel: "Adicionar forma", addImageLabel: "Adicionar imagem" }, j = { linkPlaceholderPrefix: "Introduza o telefone, link ou email", buttonLabel: "Adicionar Item" }, Q = { logoVariations: "Variações do logótipo", logoVersions: "Versões do logótipo", editLogo: "Editar logótipo", uploadLogo: "Carregar logótipo" }, J = { paymentSetup: "Configuração de Pagamento", inactiveMessage: "Clique no botão abaixo para ativar um fornecedor de pagamentos e começar a aceitar pagamentos na sua página Web.", pendingPreOnboardingLabel: "Integração incompleta", pendingPostOnboardingLabel: "Validação Necessária", defaultLabel: "Estado não suportado", pendingPreOnboardingDescription: "Conclua a integração através do Stripe antes de continuar.", pendingPostOnboardingDescription: "O Stripe ainda precisa de verificar algumas informações. Verifique o progresso no painel do Stripe.", requiredActionCtaLabel: "Vá para ", paymentImageAspectRatio: "Relação de aspeto", supportMeAmount: "Valor", supportMeDescription: "Doar", supportMeCustomAmount: " Opção para adicionar um valor personalizado ", supportMeCustomMessage: " Incluir mensagem para si ", addItem: "Adicionar Item", price: "Preço" }, Z = { personalisationOverride: "Substituição da personalização", none: "Nenhum", default: "{{AI_PROPERTY}} (Padrão)" }, K = { icon: "Ícone", myUploads: "Os meus carregamentos", myDesigns: "Os meus designs", imageLibrary: "Biblioteca de imagens", videoLibrary: "Videoteca", shapeLibrary: "Biblioteca de Formas" }, $ = { shapeColors: "Cores das Formas", shapeColor: "Cor da Forma", addItemLabel: "Adicionar Item" }, ee = { testimonial: "Testemunho", avatar: "Avatar", shapeColors: "Cores das Formas", shapeColor: "Cor da Forma", position: "Posição", name: "Nome", ceoPlaceholder: "CEO da Company Name", addItem: "Adicionar Item" }, oe = { maxReached: "Atingiu o limite máximo de caracteres permitido" }, ae = { shapeColors: "Cores das Formas", shapeColor: "Cor da Forma", imageCaptionPlaceholder: "Incluir legenda da imagem", imageLink: "Link da imagem", imageCaption: "Legenda pop-up da imagem", imageCaptionSub: "Esta legenda só aparece no pop-up da imagem", addTitlePlaceholder: "Adicionar título", title: "Título", addParagraphPlaceholder: "Adicionar parágrafo", paragraph: "Parágrafo", addItemLabel: "Adicionar Item", image: "Imagem", shape: "Forma", none: "Nenhum", popup: "Pop-up", openLink: "Abrir link", imageBehaviour: "Comportamento da imagem", button: "Botão", buttonText: "Texto do botão", getStarted: "Comece", buttonLink: "Link de botão", url: "URL", email: "Endereço de email", telephone: "Número de telefone", buttonTextStyleLabel: "Estilo do texto do botão", selectPage: "Selecione uma página", page: "Página" }, ie = { fontSettings: "Definições de tipo de letra", addItem: "Adicionar Item" }, re = { textStyle: "Tipo de texto", font: "Tipo de letra", size: "Tamanho", letterSpacing: "Espaçamento entre letras", lineHeight: "Altura da linha", style: "Estilo", alignment: "Alinhamento", color: "Cor", backgroundColor: "Cor de fundo" }, te = { maxLimitReached: "Atingiu o limite máximo de caracteres permitido" }, se = { loadingMessage: "A carregar...", dropToUpload: "Coloque os ficheiros nesta área ou clique para carregar.", acceptText: "Aceitamos ficheiros .jpg, .jpeg, .png até 25MB", maxFiles: "(Máximo de 5 ficheiros de cada vez)", check: "Verificar", error: "Erro" }, ne = { addItem: "Adicionar Item" }, de = { loginPrompt: "Inicie sessão ou registe-se para começar a utilizar o carregador de imagens.", loginOrRegister: "Iniciar sessão ou registar" }, le = { logoText: "Logótipo", headerLogoDesign: "Design de logótipo", headerUploadLogo: "Carregar logótipo", subHeaderLogoPreview: "Pré-visualização do logótipo", subHeaderLogoColors: "Cores do logótipo", subHeaderLogoText: "Texto do logótipo", subHeaderSupportingText: "Texto de Apoio", uploadNewLogo: "Carregar novo logótipo", noUploadedLogoText: "Primeiro tem de carregar um logótipo e depois é que pode começar a editar", switchTemplate: "Trocar modelo" }, me = { searchPlaceholder: "Pesquisar logótipos", loadMore: "Carregar mais", businessName: "Introduza o nome da empresa", noResults: "Não foram encontrados modelos de logótipos." }, ce = { logoSwitchTitle: "Trocar modelo de logótipo", logoSwitchConfirmation: "Alterar o seu logótipo atualiza o modelo para corresponder às novas cores do seu logótipo. Isso também redefine qualquer alteração de conteúdo ou design que tenha feito." }, pe = { searchPlaceholder: "Pesquise os seus designs", createNewDesign: "Criar novo design", allDesigns: "Todos os designs", allLogos: "Todos os logótipos" }, ue = { fileUploadLabel: "Coloque os ficheiros nesta área ou clique para carregar.", emptyMediaLabel: "Não há imagens na sua biblioteca de multimédia. Carregue uma nova imagem para começar.", areyouSureLabel: "Tem a certeza?", deleteInfoLabel: "Nota: poderá demorar 24 horas a eliminar as imagens em todo o conteúdo do website.", maxOneFile: "(Máximo de {{MAX_UPLOADED_FILES}} ficheiro de cada vez)", maxMultipleFiles: "(Máximo de {{MAX_UPLOADED_FILES}} ficheiros de cada vez)" }, ge = { deletePageTitle: 'Eliminar "{{PAGE_TITLE}}"', deletePageConfirmation: "Tem a certeza de que pretende eliminar esta página? Não pode anular esta ação.", cancel: "Cancelar", delete: "Eliminar" }, be = { addNewPage: "Adicionar nova página", pageTitle: "Título da página", pageTitlePlaceholder: "Título da página", cancel: "Cancelar", continue: "Continuar" }, Ce = { headerSettings: "Definições de cabeçalho", footerSettings: "Definições de rodapé", managePages: "Gerir páginas", pages: "Páginas", addPage: "Adicionar página", addPages: "Adicionar páginas", addPagesDescription: "Adicione páginas para organizar melhor o seu conteúdo. A página inicial estará sempre ativa e será sempre a primeira página. Arraste e solte as suas outras páginas para reordená-las.", upgradeBtn: "Atualizar para adicionar mais páginas", copyrightStyle: "Tipo de direitos de autor", pageTitlePlaceholder: "Título da página", homePageText: "Esta é a sua página inicial atual. Para ocultá-la, escolha outra página para definir como página inicial.", showPage: "Mostrar página", hidePage: "Ocultar página", delete: "Eliminar" }, Te = { showNavigationBelow: "Mostrar a navegação por baixo do logótipo", previewDescription: "A pré-visualização não está disponível neste tamanho de ecrã.", navigationStyle: "Estilo de navegação", logoSize: "Tamanho do logótipo", socialLinks: "Links de redes sociais", copyright: "Direitos de autor" }, he = { domainSearchButtonLabel: "Pesquisar", customDomainCardDescription: "Permita que os clientes encontrem a sua empresa facilmente com um domínio que corresponda à empresa", customDomainLabel: "Domínio personalizado", recommendedLabel: "Recomendado", websiteFriendlyName: "Website", digitalBusinessCardFriendlyName: "Cartão de visita digital" }, ve = { loadMoreShapes: "Carregar mais formas" }, Ae = { titles: "Títulos", headings: "Subtítulos", paragraphs: "Parágrafos", buttons: "Botões", premium: "Premium", logoBackgroundColor: "Cor de fundo do logótipo", buttonBorderColor: "Cor da borda do botão", buttonFillColor: "Cor de preenchimento do botão", buttonShadowColor: "Cor da sombra do botão", buttonSoftShadowColor: "Cor da sombra do botão", buttonIconColor: "Cor do ícone", defaultTextColor: "Cor de texto predefinida", customizeInfo: "Personalizar o aspeto do texto em todo o site", hideDesignLogo: "Ocultar o logótipo Design.com", hideBrandCrowdLogo: "Ocultar o logótipo do BrandCrowd", styleTitle: "Estilo", buttonStyleTitle: "Estilo do botão", textStyleTitle: "Tipo de texto" }, Pe = { searchPlaceholder: "Pesquisar", templatePreview: "Pré-visualização do modelo", loadMoreTemplatesButtonText: "Carregar mais modelos", headerAll: "Tudo", headerCategories: "Categorias", headerAi: "IA" }, fe = { loadMoreImages: "Carregar mais imagens", poweredBy: "Assegurado por", gaming: "Jogos", beauty: "Beleza", food: "Comida", animal: "Animal", beverage: "Bebida", party: "Festa", office: "Escritório", home: "Início", travel: "Viagem", landscape: "Paisagem" }, De = { uploadNewLogo: "Carregar novo logótipo", uploadYourLogo: "Carregue o seu logótipo", applyMessage: "Isto vai aplicar-se a todos os logótipos no seu website.", cancelLabel: "Cancelar", continueLabel: "Continuar" }, Le = { poweredBy: "Assegurado por", emptyState: "Lamentamos, mas o seu navegador não suporta vídeos incorporados.", loadMoreVideos: "Carregar mais vídeos", supported: "Lamentamos, mas o seu navegador não suporta vídeos incorporados." }, ye = {
2
+ brandPageFooter: e,
3
+ cookie: o,
4
+ image: a,
5
+ imageGallery: i,
6
+ imagesSection: r,
7
+ mailingList: t,
8
+ map: s,
9
+ payment: n,
10
+ requestPaymentStripe: d,
11
+ sensitiveContentModal: l,
12
+ paymentModal: m,
13
+ productDetailModal: c,
14
+ shop: p,
15
+ addYouTubeVideoDescription: u,
16
+ videoBlockPlaceholderTitle: g,
17
+ index: b,
18
+ actionBar: C,
19
+ brandpageBackgroundSettings: T,
20
+ brandPageSettings: h,
21
+ colorPalette: v,
22
+ cookieSettings: A,
23
+ googleAnalytics: P,
24
+ layoutSwitcher: f,
25
+ navigation: D,
26
+ quickLinkBar: L,
27
+ sensitiveContentSettings: y,
28
+ existingDomainModal: S,
29
+ seoSettings: E,
30
+ product: I,
31
+ socialShare: x,
32
+ constants: N,
33
+ converter: M,
34
+ model: k,
35
+ validator: B,
36
+ backgroundSettings: z,
37
+ colorPicker: R,
38
+ common: O,
39
+ error: F,
40
+ confirmModal: U,
41
+ bookingUrlField: w,
42
+ colorField: X,
43
+ colorReplacementField: q,
44
+ contentSettings: G,
45
+ formFields: _,
46
+ aiModal: V,
47
+ googleAddressField: H,
48
+ genericTextInput: Y,
49
+ imagesField: W,
50
+ linksField: j,
51
+ logoSelectionSettings: Q,
52
+ paymentConfig: J,
53
+ personalisationOverride: Z,
54
+ replaceImageSetting: K,
55
+ shapeField: $,
56
+ testimonialItemsField: ee,
57
+ textField: oe,
58
+ textImageField: ae,
59
+ textItemsField: ie,
60
+ textStyleField: re,
61
+ textAreaField: te,
62
+ dropzoneUploader: se,
63
+ productConfigOption: ne,
64
+ loginMessage: de,
65
+ editLogoSettings: le,
66
+ logoTemplateSearchModal: me,
67
+ logoSwitchConfirmationModal: ce,
68
+ myDesigns: pe,
69
+ myUploadSettings: ue,
70
+ deletePageModal: ge,
71
+ newPageModal: be,
72
+ pageSettings: Ce,
73
+ pageSettingsSection: Te,
74
+ publishBrandPageModalWithState: he,
75
+ shapeLibrary: ve,
76
+ styleSettingsSection: Ae,
77
+ templateSettings: Pe,
78
+ unsplashLibrary: fe,
79
+ uploadLogoModal: De,
80
+ videoLibrary: Le
81
+ };
82
+ export {
83
+ C as actionBar,
84
+ u as addYouTubeVideoDescription,
85
+ V as aiModal,
86
+ z as backgroundSettings,
87
+ w as bookingUrlField,
88
+ e as brandPageFooter,
89
+ h as brandPageSettings,
90
+ T as brandpageBackgroundSettings,
91
+ X as colorField,
92
+ v as colorPalette,
93
+ R as colorPicker,
94
+ q as colorReplacementField,
95
+ O as common,
96
+ U as confirmModal,
97
+ N as constants,
98
+ G as contentSettings,
99
+ M as converter,
100
+ o as cookie,
101
+ A as cookieSettings,
102
+ ye as default,
103
+ ge as deletePageModal,
104
+ se as dropzoneUploader,
105
+ le as editLogoSettings,
106
+ F as error,
107
+ S as existingDomainModal,
108
+ _ as formFields,
109
+ Y as genericTextInput,
110
+ H as googleAddressField,
111
+ P as googleAnalytics,
112
+ a as image,
113
+ i as imageGallery,
114
+ W as imagesField,
115
+ r as imagesSection,
116
+ b as index,
117
+ f as layoutSwitcher,
118
+ j as linksField,
119
+ de as loginMessage,
120
+ Q as logoSelectionSettings,
121
+ ce as logoSwitchConfirmationModal,
122
+ me as logoTemplateSearchModal,
123
+ t as mailingList,
124
+ s as map,
125
+ k as model,
126
+ pe as myDesigns,
127
+ ue as myUploadSettings,
128
+ D as navigation,
129
+ be as newPageModal,
130
+ Ce as pageSettings,
131
+ Te as pageSettingsSection,
132
+ n as payment,
133
+ J as paymentConfig,
134
+ m as paymentModal,
135
+ Z as personalisationOverride,
136
+ I as product,
137
+ ne as productConfigOption,
138
+ c as productDetailModal,
139
+ he as publishBrandPageModalWithState,
140
+ L as quickLinkBar,
141
+ K as replaceImageSetting,
142
+ d as requestPaymentStripe,
143
+ l as sensitiveContentModal,
144
+ y as sensitiveContentSettings,
145
+ E as seoSettings,
146
+ $ as shapeField,
147
+ ve as shapeLibrary,
148
+ p as shop,
149
+ x as socialShare,
150
+ Ae as styleSettingsSection,
151
+ Pe as templateSettings,
152
+ ee as testimonialItemsField,
153
+ te as textAreaField,
154
+ oe as textField,
155
+ ae as textImageField,
156
+ ie as textItemsField,
157
+ re as textStyleField,
158
+ fe as unsplashLibrary,
159
+ De as uploadLogoModal,
160
+ B as validator,
161
+ g as videoBlockPlaceholderTitle,
162
+ Le as videoLibrary
163
+ };
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Medien hinzufügen",
298
298
  "addImage": "Bild hinzufügen",
299
299
  "replaceImage": "Bild ersetzen",
300
- "image": "Bild"
300
+ "image": "Bild",
301
+ "media": "Medien",
302
+ "replaceMedia": "Medien ersetzen"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Neue Farbe",
@@ -343,6 +345,9 @@
343
345
  "replace": "Ersetzen",
344
346
  "save": "Speichern",
345
347
  "remove": "Entfernen",
348
+ "copy": "Kopieren",
349
+ "sendButtonText": "Senden",
350
+ "regenerateText": "Regenerieren",
346
351
  "addShapeLabel": "Form hinzufügen",
347
352
  "addImageLabel": "Bild hinzufügen",
348
353
  "addFaviconLabel": "Favicon hinzufügen",
@@ -358,7 +363,8 @@
358
363
  "continue": "Weiter",
359
364
  "defaultSaveDescription": "Vergessen Sie nicht, Ihre Änderungen zu veröffentlichen, sobald Sie mit Ihrem Design zufrieden sind.",
360
365
  "saveSuccess": "Gespeichert!",
361
- "changeTemplateConfirmationMessage": "Wenn Sie die Vorlagen ändern, gehen Ihre Änderungen verloren. Alle Ihre Inhalte werden gelöscht. Wir empfehlen Ihnen, Ihre Website vorher zu duplizieren, wenn Sie Ihre Änderungen beibehalten möchten."
366
+ "changeTemplateConfirmationMessage": "Wenn Sie die Vorlagen ändern, gehen Ihre Änderungen verloren. Alle Ihre Inhalte werden gelöscht. Wir empfehlen Ihnen, Ihre Website vorher zu duplizieren, wenn Sie Ihre Änderungen beibehalten möchten.",
367
+ "generateText": "Text generieren"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Sie haben das Zeichenlimit erreicht",
@@ -592,6 +598,16 @@
592
598
  "field": "Feld",
593
599
  "required": "Erforderlich"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Text mit KI generieren",
603
+ "generateDescription": "Der Inhalt wurde von einer KI generiert und muss möglicherweise zur Verbesserung der Genauigkeit bearbeitet werden",
604
+ "generatePlaceholder": "Beschreiben Sie Ihren Text.",
605
+ "generationStopped": "Die Textgenerierung wurde gestoppt. Starten Sie eine neue Eingabeaufforderung, um fortzufahren.",
606
+ "generateInputPlaceholder": "Geben Sie Ihre Eingabeaufforderung ein, um den Text zu beschreiben ...",
607
+ "stopGeneration": "Generierung anhalten",
608
+ "useText": "Text verwenden",
609
+ "promptTooLong": "Der Prompt darf maximal {{maxLength}} Zeichen lang sein ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Geben Sie einen Ort ein"
597
613
  },
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Añade elementos multimedia",
298
298
  "addImage": "Añadir imagen",
299
299
  "replaceImage": "Reemplazar imagen",
300
- "image": "Imagen"
300
+ "image": "Imagen",
301
+ "media": "Redes sociales",
302
+ "replaceMedia": "Reemplazar elementos multimedia"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Nuevo color",
@@ -343,6 +345,9 @@
343
345
  "replace": "Sustituir",
344
346
  "save": "Guardar",
345
347
  "remove": "Eliminar",
348
+ "copy": "Copiar",
349
+ "sendButtonText": "Enviar",
350
+ "regenerateText": "Volver a generar",
346
351
  "addShapeLabel": "Añadir forma",
347
352
  "addImageLabel": "Añadir imagen",
348
353
  "addFaviconLabel": "Añadir favicon",
@@ -358,7 +363,8 @@
358
363
  "continue": "Continuar",
359
364
  "defaultSaveDescription": "No olvides publicar los cambios una vez que tengas un diseño que te guste.",
360
365
  "saveSuccess": "¡Se ha guardado correctamente!",
361
- "changeTemplateConfirmationMessage": "Cambiar las plantillas hará que pierdas los cambios. Se borrará todo el contenido. Te recomendamos que hagas un duplicado de tu sitio web de antemano si quieres conservar los cambios."
366
+ "changeTemplateConfirmationMessage": "Cambiar las plantillas hará que pierdas los cambios. Se borrará todo el contenido. Te recomendamos que hagas un duplicado de tu sitio web de antemano si quieres conservar los cambios.",
367
+ "generateText": "Generar texto"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Has alcanzado tu límite máximo de caracteres permitidos",
@@ -592,6 +598,16 @@
592
598
  "field": "Campo",
593
599
  "required": "Requerido"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Generar texto con IA",
603
+ "generateDescription": "El contenido se genera mediante IA y podría necesitar una revisión para garantizar su precisión",
604
+ "generatePlaceholder": "Describe tu texto.",
605
+ "generationStopped": "El proceso de generación se ha detenido. Envía un nuevo mensaje para continuar.",
606
+ "generateInputPlaceholder": "Introduce tu mensaje para describir el texto...",
607
+ "stopGeneration": "Detén la generación",
608
+ "useText": "Usa texto",
609
+ "promptTooLong": "El mensaje debe tener {{maxLength}} caracteres como máximo ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Introduce una ubicación"
597
613
  },
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Ajouter un média",
298
298
  "addImage": "Ajouter une image",
299
299
  "replaceImage": "Remplacer l'image",
300
- "image": "Image"
300
+ "image": "Image",
301
+ "media": "Médias",
302
+ "replaceMedia": "Remplacer le média"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Nouvelle couleur",
@@ -343,6 +345,9 @@
343
345
  "replace": "Remplacer",
344
346
  "save": "Enregistrer",
345
347
  "remove": "Supprimer",
348
+ "copy": "Copier",
349
+ "sendButtonText": "Envoyer",
350
+ "regenerateText": "Régénérer",
346
351
  "addShapeLabel": "Ajouter une forme",
347
352
  "addImageLabel": "Ajouter une image",
348
353
  "addFaviconLabel": "Ajouter un favicon",
@@ -358,7 +363,8 @@
358
363
  "continue": "Continuer",
359
364
  "defaultSaveDescription": "N’oubliez pas de publier vos modifications une fois que votre design vous convient.",
360
365
  "saveSuccess": "Enregistrement réussi!",
361
- "changeTemplateConfirmationMessage": "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications."
366
+ "changeTemplateConfirmationMessage": "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications.",
367
+ "generateText": "Générer du texte"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Vous avez atteint la limite maximale de caractères autorisés",
@@ -592,6 +598,16 @@
592
598
  "field": "Champ",
593
599
  "required": "Nécessaire"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Générer du texte avec l'IA",
603
+ "generateDescription": "Le contenu est généré par l'IA et peut nécessiter des modifications pour plus de précision.",
604
+ "generatePlaceholder": "Décrivez votre texte.",
605
+ "generationStopped": "La génération de texte s'est arrêtée. Lancez une nouvelle requête pour continuer.",
606
+ "generateInputPlaceholder": "Entrez votre requête pour décrire le contenu...",
607
+ "stopGeneration": "Arrêter la génération",
608
+ "useText": "Utiliser le texte",
609
+ "promptTooLong": "La requête doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Entrez une adresse"
597
613
  },
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Ajouter un média",
298
298
  "addImage": "Ajouter une image",
299
299
  "replaceImage": "Remplacer l'image",
300
- "image": "Image"
300
+ "image": "Image",
301
+ "media": "Réseaux",
302
+ "replaceMedia": "Remplacer un média"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Nouvelle couleur",
@@ -343,6 +345,9 @@
343
345
  "replace": "Remplacer",
344
346
  "save": "Enregistrer",
345
347
  "remove": "Supprimer",
348
+ "copy": "Copier",
349
+ "sendButtonText": "Envoyer",
350
+ "regenerateText": "Régénérer",
346
351
  "addShapeLabel": "Ajouter une forme",
347
352
  "addImageLabel": "Ajouter une image",
348
353
  "addFaviconLabel": "Ajouter un favicon",
@@ -358,7 +363,8 @@
358
363
  "continue": "Continuer",
359
364
  "defaultSaveDescription": "N’oubliez pas de publier vos modifications une fois que votre design vous convient.",
360
365
  "saveSuccess": "Enregistrement réussi !",
361
- "changeTemplateConfirmationMessage": "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications."
366
+ "changeTemplateConfirmationMessage": "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications.",
367
+ "generateText": "Générer du texte"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Vous avez atteint la limite maximale de caractères autorisés",
@@ -592,6 +598,16 @@
592
598
  "field": "Champ",
593
599
  "required": "Nécessaire"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Générer du texte avec l'IA",
603
+ "generateDescription": "Le contenu est généré par l'IA et peut nécessiter des modifications pour plus de précision.",
604
+ "generatePlaceholder": "Décrivez votre texte.",
605
+ "generationStopped": "La génération de texte s'est arrêtée. Démarrez une nouvelle invite pour continuer.",
606
+ "generateInputPlaceholder": "Entrez votre prompt pour décrire le contenu...",
607
+ "stopGeneration": "Arrêter la génération",
608
+ "useText": "Utiliser le texte",
609
+ "promptTooLong": "L'invite doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Entrez une adresse"
597
613
  },
@@ -345,6 +345,9 @@
345
345
  "replace": "Replace",
346
346
  "save": "Save",
347
347
  "remove": "Remove",
348
+ "copy": "Copy",
349
+ "sendButtonText": "Send",
350
+ "regenerateText": "Regenerate",
348
351
  "addShapeLabel": "Add Shape",
349
352
  "addImageLabel": "Add Image",
350
353
  "addFaviconLabel": "Add Favicon",
@@ -360,7 +363,8 @@
360
363
  "continue": "Continue",
361
364
  "defaultSaveDescription": "Don’t forget to publish your changes once you are happy with your design.",
362
365
  "saveSuccess": "Save successful!",
363
- "changeTemplateConfirmationMessage": "Changing templates will cause you to lose your changes. All your content will be erased. We recommend you duplicate your site beforehand if you want to retain your changes."
366
+ "changeTemplateConfirmationMessage": "Changing templates will cause you to lose your changes. All your content will be erased. We recommend you duplicate your site beforehand if you want to retain your changes.",
367
+ "generateText": "Generate text"
364
368
  },
365
369
  "error": {
366
370
  "maxCharacters": "You have reached your maximum limit of characters allowed",
@@ -594,6 +598,16 @@
594
598
  "field": "Field",
595
599
  "required": "Required"
596
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Generate Text with AI",
603
+ "generateDescription": "Content is AI-generated and may require editing for accuracy",
604
+ "generatePlaceholder": "Describe your text.",
605
+ "generationStopped": "Text generation stopped. Start a new prompt to continue.",
606
+ "generateInputPlaceholder": "Enter your prompt to describe the text...",
607
+ "stopGeneration": "Stop generation",
608
+ "useText": "Use text",
609
+ "promptTooLong": "Prompt must be {{maxLength}} characters or less ({{currentLength}})"
610
+ },
597
611
  "googleAddressField": {
598
612
  "addressPlaceholder": "Enter a location"
599
613
  },
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Adicionar mídia",
298
298
  "addImage": "Adicionar imagem",
299
299
  "replaceImage": "Substitua a imagem",
300
- "image": "Imagem"
300
+ "image": "Imagem",
301
+ "media": "Mídia",
302
+ "replaceMedia": "Substituir mídia"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Nova cor",
@@ -343,6 +345,9 @@
343
345
  "replace": "Substituir",
344
346
  "save": "Salvar",
345
347
  "remove": "Remover",
348
+ "copy": "Copiar",
349
+ "sendButtonText": "Enviar",
350
+ "regenerateText": "Regenerar",
346
351
  "addShapeLabel": "Adicionar forma",
347
352
  "addImageLabel": "Adicionar imagem",
348
353
  "addFaviconLabel": "Adicionar favicon",
@@ -358,7 +363,8 @@
358
363
  "continue": "Continuar",
359
364
  "defaultSaveDescription": "Não se esqueça de publicar as suas alterações quando estiver satisfeito com o seu design.",
360
365
  "saveSuccess": "Salvo com sucesso!",
361
- "changeTemplateConfirmationMessage": "Se alterar os modelos, você perderá suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique seu site previamente caso queira manter suas alterações."
366
+ "changeTemplateConfirmationMessage": "Se alterar os modelos, você perderá suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique seu site previamente caso queira manter suas alterações.",
367
+ "generateText": "Gerar texto"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Você atingiu o limite máximo de caracteres permitido",
@@ -592,6 +598,16 @@
592
598
  "field": "Campo",
593
599
  "required": "Obrigatório"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Gerar texto com IA",
603
+ "generateDescription": "O conteúdo é gerado por IA, pode precisar de alterações para melhorar a precisão",
604
+ "generatePlaceholder": "Descreva seu texto.",
605
+ "generationStopped": "A geração de texto parou. Inicie um novo prompt para continuar.",
606
+ "generateInputPlaceholder": "Digite o prompt para descrever o texto...",
607
+ "stopGeneration": "Parar de gerar",
608
+ "useText": "Usar texto",
609
+ "promptTooLong": "O prompt deve ter {{maxLength}} caracteres ou menos ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Introduza uma localização"
597
613
  },
@@ -297,7 +297,9 @@
297
297
  "addMedia": "Adicionar multimédia",
298
298
  "addImage": "Adicionar imagem",
299
299
  "replaceImage": "Substitua a imagem",
300
- "image": "Imagem"
300
+ "image": "Imagem",
301
+ "media": "Multimédia",
302
+ "replaceMedia": "Substituir multimédia"
301
303
  },
302
304
  "colorPicker": {
303
305
  "newColor": "Nova cor",
@@ -343,6 +345,9 @@
343
345
  "replace": "Substituir",
344
346
  "save": "Guardar",
345
347
  "remove": "Remover",
348
+ "copy": "Copiar",
349
+ "sendButtonText": "Enviar",
350
+ "regenerateText": "Regenerar",
346
351
  "addShapeLabel": "Adicionar forma",
347
352
  "addImageLabel": "Adicionar imagem",
348
353
  "addFaviconLabel": "Adicionar Favicon",
@@ -358,7 +363,8 @@
358
363
  "continue": "Continuar",
359
364
  "defaultSaveDescription": "Não se esqueça de publicar as suas alterações quando estiver satisfeito com o seu design.",
360
365
  "saveSuccess": "Gravação bem-sucedida!",
361
- "changeTemplateConfirmationMessage": "Se alterar os modelos vai perder as suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique o seu site previamente caso queira manter as suas alterações."
366
+ "changeTemplateConfirmationMessage": "Se alterar os modelos vai perder as suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique o seu site previamente caso queira manter as suas alterações.",
367
+ "generateText": "Gerar texto"
362
368
  },
363
369
  "error": {
364
370
  "maxCharacters": "Atingiu o limite máximo de caracteres permitido",
@@ -592,6 +598,16 @@
592
598
  "field": "Campo",
593
599
  "required": "Obrigatório"
594
600
  },
601
+ "aiModal": {
602
+ "generateTitle": "Gerar Texto com IA",
603
+ "generateDescription": "O conteúdo é gerado por IA e pode precisar de edição para ser preciso",
604
+ "generatePlaceholder": "Descreva o seu texto.",
605
+ "generationStopped": "A geração de texto parou. Inicie um novo prompt para continuar.",
606
+ "generateInputPlaceholder": "Introduza o seu comando para descrever o texto...",
607
+ "stopGeneration": "Parar a geração",
608
+ "useText": "Utilizar texto",
609
+ "promptTooLong": "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})"
610
+ },
595
611
  "googleAddressField": {
596
612
  "addressPlaceholder": "Introduza uma localização"
597
613
  },
@@ -21,6 +21,7 @@ interface GetTemplatesAsyncOptions {
21
21
  }
22
22
  export declare const getTemplatesEndpoint: (templateTypeName: string) => string;
23
23
  export declare const getTemplateEndpoint: (templateToken: any) => string;
24
+ export declare const getGenerateTextEndpoint: () => string;
24
25
  /**
25
26
  * This class is a partial clone of template-client.js with typing
26
27
  */
@@ -29,6 +30,7 @@ export declare class DesignTemplateClient {
29
30
  constructor(options?: DesignTemplateClientOptions);
30
31
  getTemplateItemsByTemplateType(templateTypeName: string, options?: GetTemplatesAsyncOptions): Promise<Paginated<PaginatedDesignTemplateItem> | null>;
31
32
  getTemplateByTemplateToken(templateToken: string): Promise<DesignTemplate | null>;
33
+ generateText(prompt: string, existingText?: string, snapshotBase64?: string): Promise<string | null>;
32
34
  }
33
35
  export declare const getInstance: () => DesignTemplateClient;
34
36
  export {};
@@ -1,6 +1,7 @@
1
1
  import axios from 'axios';
2
2
  export const getTemplatesEndpoint = (templateTypeName) => `${window.bcnetApiUrl || ''}/maker/api/template/templatetype/${templateTypeName}`;
3
3
  export const getTemplateEndpoint = (templateToken) => `${window.bcnetApiUrl || ''}/maker/api/template/${templateToken}`;
4
+ export const getGenerateTextEndpoint = () => `${window.bcnetApiUrl || ''}/api/ai/websites/generate-text`;
4
5
  /**
5
6
  * This class is a partial clone of template-client.js with typing
6
7
  */
@@ -47,6 +48,38 @@ export class DesignTemplateClient {
47
48
  }
48
49
  return null;
49
50
  }
51
+ async generateText(prompt, existingText, snapshotBase64) {
52
+ try {
53
+ // Get CSRF token from meta tag
54
+ const csrfToken = document.head
55
+ ?.querySelector('meta[name=csrf-token]')
56
+ ?.getAttribute('content');
57
+ const response = await axios.post(getGenerateTextEndpoint(), {
58
+ prompt,
59
+ existingText: existingText || 'N/A',
60
+ snapshotBase64: snapshotBase64 || '',
61
+ }, {
62
+ withCredentials: true,
63
+ headers: {
64
+ 'Content-Type': 'application/json',
65
+ 'csrf-token': csrfToken || '',
66
+ },
67
+ });
68
+ if (response.status !== 200) {
69
+ if (process.env.NODE_ENV !== 'production') {
70
+ console.error(`generateText got response status '${response.status}'`);
71
+ }
72
+ return null;
73
+ }
74
+ return response.data.generatedText;
75
+ }
76
+ catch (e) {
77
+ if (process.env.NODE_ENV !== 'production') {
78
+ console.error('Failed to generate text:', e);
79
+ }
80
+ throw e;
81
+ }
82
+ }
50
83
  }
51
84
  let _instance;
52
85
  export const getInstance = () => _instance ? _instance : (_instance = new DesignTemplateClient());
@@ -0,0 +1,5 @@
1
+ export declare function useSnapshot(): {
2
+ captureSnapshot: (element: HTMLElement | null) => Promise<string | null>;
3
+ isCapturing: import("vue").Ref<boolean, boolean>;
4
+ lastSnapshot: import("vue").Ref<string | null, string | null>;
5
+ };