{"version":3,"file":"js/8773-8985db48ca32ef504dc6.js","mappings":"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","sources":["webpack://vesta/./app/javascript/packs/main/application/HTMLElementsDeclarations.js","webpack://vesta/./app/javascript/packs/trix_bundle/htmlTemplates.js","webpack://vesta/./app/javascript/packs/trix_bundle/utils/urlHandler.js"],"sourcesContent":["// Only import and create HTMLElements for block that have issues with Trix editor (mostly custom data attributes) in order to replace them\nimport { bannerPropertyKindHtml, blockEstimationV1Html, blockEstimationV2Html, bannerEstimationAddressHtml, tabEstimMethodHtml } from '../../trix_bundle/htmlTemplates';\n\n// Trix editor strips attributes from custom HTML elements for security since v2.0.0.\n// We define custom elements here to ensure they work correctly on pages without Trix.\n// This allows us to insert and use elements like in trix_bundle.jsx and have them render properly.\nconst HTMLElementsDeclarations = () => {\n if (document.querySelector('trix-editor')) return;\n\n const estimationInputs = document.querySelectorAll('estimation-input');\n const markerTag = document.querySelectorAll('svg-marker');\n const checkTag = document.querySelectorAll('svg-check');\n const apartmentTag = document.querySelectorAll('svg-apartment');\n const houseTag = document.querySelectorAll('svg-house');\n const bannerPropertyKindTag = document.querySelectorAll('banner-property-kind');\n const blockEstimationV1Tag = document.querySelectorAll('block-estimation-v1');\n const blockEstimationV2Tag = document.querySelectorAll('block-estimation-v2');\n const bannerEstimationAddressTag = document.querySelectorAll('banner-estimation-address');\n const tabEstimMethodTag = document.querySelectorAll('tab-estim-method');\n\n // Don't define custom elements to the trix editor because it's freezing the page because of infinite loop\n if (estimationInputs?.length > 0) {\n class EstimationInput extends HTMLElement {\n connectedCallback() {\n this.innerHTML = `\n
\n \n
\n
\n `;\n }\n }\n\n customElements.define('estimation-input', EstimationInput);\n }\n\n if (markerTag?.length > 0) {\n class MarkerSVG extends HTMLElement {\n connectedCallback() {\n this.innerHTML = `\n \n \n \n \n `;\n }\n }\n\n customElements.define('svg-marker', MarkerSVG);\n }\n\n if (checkTag?.length > 0) {\n class CheckSVG extends HTMLElement {\n connectedCallback() {\n this.innerHTML = `\n \n \n \n `;\n }\n }\n customElements.define('svg-check', CheckSVG);\n }\n\n if (apartmentTag?.length > 0) {\n class ApartmentSVG extends HTMLElement {\n connectedCallback() {\n this.innerHTML = `\n \n \n \n \n \n \n \n \n \n \n \n `\n }\n }\n customElements.define('svg-apartment', ApartmentSVG);\n }\n\n if (houseTag?.length > 0) {\n class HouseSVG extends HTMLElement {\n connectedCallback() {\n this.innerHTML = `\n \n \n \n \n \n \n \n \n \n \n \n `\n }\n }\n customElements.define('svg-house', HouseSVG);\n }\n\n if (bannerPropertyKindTag?.length > 0) {\n class BannerPropertyKindElement extends HTMLElement {\n connectedCallback() {\n this.innerHTML = bannerPropertyKindHtml\n }\n }\n customElements.define('banner-property-kind', BannerPropertyKindElement);\n }\n\n if (blockEstimationV1Tag?.length > 0) {\n class BlockEstimationV1Element extends HTMLElement {\n connectedCallback() {\n this.innerHTML = blockEstimationV1Html\n }\n }\n customElements.define('block-estimation-v1', BlockEstimationV1Element);\n }\n\n if (blockEstimationV2Tag?.length > 0) {\n class BlockEstimationV2Element extends HTMLElement {\n connectedCallback() {\n this.innerHTML = blockEstimationV2Html\n }\n }\n customElements.define('block-estimation-v2', BlockEstimationV2Element);\n }\n\n if (bannerEstimationAddressTag?.length > 0) {\n class BannerEstimationAddressElement extends HTMLElement {\n connectedCallback() {\n this.innerHTML = bannerEstimationAddressHtml\n }\n }\n customElements.define('banner-estimation-address', BannerEstimationAddressElement);\n }\n\n if (tabEstimMethodTag?.length > 0) {\n class TabEstimMethodElement extends HTMLElement {\n connectedCallback() {\n this.innerHTML = tabEstimMethodHtml\n }\n }\n customElements.define('tab-estim-method', TabEstimMethodElement);\n }\n}\n\nexport default HTMLElementsDeclarations;\n","import handleUrl from './utils/urlHandler';\n\nexport const bannerPropertyKindHtml = `\n
\n \n
\n \n`.trim();\n\nexport const blockEstimationV1Html = `\n \n`.trim();\n\nexport const blockEstimationV2Html = `\n \n`.trim();\n\nexport const borrowCapacityHtml = `\n \n
Vous souhaitez calculer votre capacité d'emprunt ?
\n
Obtenez une estimation de votre capacité d'emprunt en quelques clics seulement !
\n
Simuler ma capacité d'emprunt
\n
\n`.trim();\n\nexport const bannerEstimationAddressHtml = `\n \n`.trim();\n\nexport const customButtonModalHtml = `\n
\n
×
\n\n
\n
Entrez le text et le lien du CTA :
\n \n \n \n \n \n
\n
\n
\n`.trim();\n\nexport const tabEstimMethodHtml = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Méthode d'estimationAvantagesInconvénients
Estimation par soi-même\n
    \n
  • Coût nul, méthode gratuite
  • \n
  • Facilité d'accès : peut être réalisée à tout moment
  • \n
  • Permet de se familiariser avec le marché local
  • \n
\n
\n
    \n
  • Précision limitée : difficile sans expertise immobilière
  • \n
  • Exige de bien connaître le marché local
  • \n
  • Risque d'erreurs : comparaison parfois approximative avec les biens similaires
  • \n
\n
Estimation via un outil en ligne\n
    \n
  • Rapide et accessible : estimation instantanée et accessible partout
  • \n
  • Coût souvent réduit, voire gratuit pour des estimations de base
  • \n
  • Pratique pour obtenir une première idée de la valeur
  • \n
\n
\n
    \n
  • Précision variable : certains simulateurs manquent de précision
  • \n
  • Limitations des algorithmes : moins fiable qu'une estimation humaine
  • \n
  • Requiert souvent une validation par un expert pour une estimation définitive
  • \n
\n
Estimation via un professionnel\n
    \n
  • Très précis : expertise et connaissance du marché local
  • \n
  • Prise en compte de toutes les spécificités du bien
  • \n
  • Crédibilité renforcée pour les acheteurs lors de la vente
  • \n
\n
\n
    \n
  • Coût plus élevé (parfois inclus dans les services d'une agence immobilière ou d'un notaire)
  • \n
  • Délai parfois plus long qu'une estimation en ligne
  • \n
  • Nécessite un rendez-vous avec un professionnel
  • \n
\n
\n
\n`.trim();\n","const handleUrl = (path, isSubdomain = true) => {\n let url = new URL(document.location.origin);\n if (isSubdomain) url.hostname = `app.${url.hostname.replace('www.', '')}`;\n return `${url.origin}/${path}`;\n};\n\nexport default handleUrl;\n"],"names":["HTMLElementsDeclarations","document","querySelector","estimationInputs","querySelectorAll","markerTag","checkTag","apartmentTag","houseTag","bannerPropertyKindTag","blockEstimationV1Tag","blockEstimationV2Tag","bannerEstimationAddressTag","tabEstimMethodTag","length","EstimationInput","HTMLElement","connectedCallback","this","innerHTML","customElements","define","MarkerSVG","CheckSVG","ApartmentSVG","HouseSVG","BannerPropertyKindElement","bannerPropertyKindHtml","BlockEstimationV1Element","blockEstimationV1Html","BlockEstimationV2Element","blockEstimationV2Html","BannerEstimationAddressElement","bannerEstimationAddressHtml","TabEstimMethodElement","tabEstimMethodHtml","btoa","handleUrl","trim","borrowCapacityHtml","customButtonModalHtml","path","isSubdomain","url","URL","location","origin","hostname","replace"],"sourceRoot":""}