@rededor/site-front-end-lib 1.3.52 → 1.3.53

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.
@@ -30,9 +30,10 @@ export class RdsiteLinkDirective {
30
30
  event.preventDefault();
31
31
  if (!isPlatformBrowser(this.platformId) || !this.allowedTags.includes(this.element?.nativeElement?.tagName))
32
32
  return;
33
- const href = this.element?.nativeElement?.getAttribute('href') ?? '';
33
+ let href = this.element?.nativeElement?.getAttribute('href') ?? '';
34
34
  if (!href)
35
35
  return;
36
+ href = this.verifyUtm(href);
36
37
  if (this.isPhone(href)) {
37
38
  this.phoneClicked({
38
39
  href,
@@ -60,6 +61,22 @@ export class RdsiteLinkDirective {
60
61
  }
61
62
  this.navigateTo(href);
62
63
  }
64
+ verifyUtm(href) {
65
+ if (!href.includes('/paciente'))
66
+ return href;
67
+ if (isPlatformBrowser(this.platformId) && typeof window !== 'undefined') {
68
+ const currentUrl = new URL(window.location.href);
69
+ const utmParams = Array.from(currentUrl.searchParams.entries()).filter(([key]) => key.startsWith('utm_'));
70
+ if (utmParams.length === 0)
71
+ return href;
72
+ const targetUrl = new URL(href);
73
+ utmParams.forEach(([key, value]) => targetUrl.searchParams.set(key, value));
74
+ return targetUrl.toString();
75
+ }
76
+ else {
77
+ return href;
78
+ }
79
+ }
63
80
  isPhone(href) {
64
81
  return this.telRegex.test(href);
65
82
  }
@@ -172,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
172
189
  type: HostListener,
173
190
  args: ['click', ['$event']]
174
191
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzaXRlLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvZGlyZWN0aXZlcy9yZHNpdGUtbGluay9yZHNpdGUtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBUS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxNQUFjLEVBQ08sVUFBa0IsRUFDckIsUUFBa0IsRUFDaEIsU0FBb0IsRUFDeEMsT0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELHFCQUE0QztRQVA1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkI5QyxrQkFBYSxHQUFHLGtDQUFrQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFDbEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixnQkFBVyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFD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VyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQXpKVSxtQkFBbUIsd0NBY3BCLFdBQVcsYUFDWCxRQUFRLGFBQ1IsVUFBVTttR0FoQlQsbUJBQW1CLDRPQUhuQixDQUFDLHlCQUF5QixDQUFDOzs0RkFHM0IsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWVJLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVO3lLQVRYLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFjQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBQTEFURk9STV9JRCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcbmltcG9ydCB7IFBob25lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZSB9IGZyb20gJy4uL3Jkc2l0ZS1waG9uZS1tb2RhbC9yZHNpdGUtcGhvbmUtbW9kYWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3Jkc2l0ZWxpbmtdJyxcbiAgcHJvdmlkZXJzOiBbUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJkc2l0ZUxpbmtEaXJlY3RpdmUge1xuICBwcml2YXRlIGV4dGVybmFsUmVnZXggPSAvXmh0dHA6fGh0dHBzOnx0ZWw6fHd3d1xcLnxtYWlsdG86LztcbiAgcHJpdmF0ZSB0ZWxSZWdleCA9IC90ZWw6LztcbiAgcHJpdmF0ZSBtYWlsUmVnZXggPSAvbWFpbHRvOi87XG4gIHByaXZhdGUgc2l0ZVVybExpc3QgPSBbJ3JlZGVkb3JzYW9sdWl6JywgJ3JlZGVkb3JsYWJzJ107XG4gIHByaXZhdGUgYWxsb3dlZFRhZ3MgPSBbJ0EnLCAnQ1VSQS1CVVRUT04nLCAnQ1VSQS1CVVRUT04tT1VUTElORScsICdDVVJBLUJVVFRPTi1UUkFOU1BBUkVOVCddO1xuXG4gIEBJbnB1dCgpIGFuY2hvckFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBhbmNob3JFeHRyYUFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHBob25lbW9kYWw6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxuICAgIHByaXZhdGUgcGhvbmVTZXJ2aWNlOiBQaG9uZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlOiBSZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICF0aGlzLmFsbG93ZWRUYWdzLmluY2x1ZGVzKHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8udGFnTmFtZSkpIHJldHVybjtcbiAgICBjb25zdCBocmVmID0gdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJztcbiAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmlzUGhvbmUoaHJlZikpIHtcbiAgICAgIHRoaXMucGhvbmVDbGlja2VkKHtcbiAgICAgICAgaHJlZixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgcGhvbmVtb2RhbDogdGhpcy5waG9uZW1vZGFsLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5pc01vYmlsZSgpO1xuICAgIGNvbnN0IGRldmljZUluZm8gPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5nZXREZXZpY2VJbmZvKCk7XG5cbiAgICBpZiAodGhpcy5pc01haWwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGlzTW9iaWxlIHx8IGRldmljZUluZm8uYnJvd3NlciAhPT0gJ0Nocm9tZScgPyAnX3NlbGYnIDogJ19ibGFuayc7XG4gICAgICB3aW5kb3cub3BlbihocmVmLCB0YXJnZXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRXh0ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuaXNTaXRlVXJsKGhyZWYpID8gJ19zZWxmJyA6ICdfYmxhbmsnO1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgdGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvcihocmVmKSkge1xuICAgICAgdGhpcy5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hdmlnYXRlVG8oaHJlZik7XG4gIH1cblxuICBwcml2YXRlIGlzUGhvbmUoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYWlsKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1haWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaG9uZUNsaWNrZWQodmFsdWU6IHsgaHJlZjogc3RyaW5nOyBldmVudDogRXZlbnQ7IGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjsgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCB9KSB7XG4gICAgY29uc3QgeyBocmVmLCBldmVudCwgZWxlbWVudCwgcGhvbmVtb2RhbCB9ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucGhvbmVTZXJ2aWNlLmlzUGhvbmVNb2RhbChocmVmKSkge1xuICAgICAgdGhpcy5zZXRQaG9uZU1vZGFsKGVsZW1lbnQsIHBob25lbW9kYWwpO1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLm9wZW5QaG9uZU1vZGFsKGV2ZW50LCBocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQaG9uZU1vZGFsKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PiwgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICghdGhpcy5waG9uZW1vZGFsKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmxpYkNvbmZpZz8uY3VzdG9tUGhvbmVNb2RhbENvbmRpdGlvbikge1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLnJkc2l0ZXBob25lbW9kYWwgPSBwaG9uZW1vZGFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbVBob25lTW9kYWxDb25kaXRpb24oZWxlbWVudCkpIHtcbiAgICAgIHRoaXMucmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZS5yZHNpdGVwaG9uZW1vZGFsID0gcGhvbmVtb2RhbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpdGVVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgY29uc3QgZXhjZXB0aW9uID0gJy9wYWNpZW50ZSc7XG4gICAgcmV0dXJuIHRoaXMuc2l0ZVVybExpc3QuZmluZCgodXJsKSA9PiBocmVmLmluY2x1ZGVzKHVybCkgJiYgIWhyZWYuaW5jbHVkZXMoZXhjZXB0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGlzQW5jaG9yKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJyMnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9BbmNob3IoaHJlZjogc3RyaW5nKSB7XG4gICAgaWYgKGhyZWYgPT09ICcjJykgcmV0dXJuO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBkb2NFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBsZXQgYWRqdXN0bWVudCA9IDA7XG5cbiAgICAgIGlmICh0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KHRoaXMuZG9jdW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmFuY2hvckFkanVzdG1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmFuY2hvckV4dHJhQWRqdXN0bWVudCkge1xuICAgICAgICBhZGp1c3RtZW50ICs9IHRoaXMuYW5jaG9yRXh0cmFBZGp1c3RtZW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBib2R5VG9wID0gdGhpcy5kb2N1bWVudD8uYm9keT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LnRvcCA/PyAwO1xuICAgICAgY29uc3QgaHJlZlRvcCA9IHRoaXMuZG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGhyZWYpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8udG9wID8/IDA7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSBib2R5VG9wICogLTEgKyBocmVmVG9wIC0gYWRqdXN0bWVudDtcbiAgICAgIGRvY0VsZW1lbnQuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUbyhocmVmOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzaXRlQmFzZVBhdGggPSB0aGlzLmxpYkNvbmZpZy5zaXRlU3VmaXggPz8gJyc7XG4gICAgY29uc3Qgc2l0ZUJhc2VQYXRoTm9TbGFzaCA9IHNpdGVCYXNlUGF0aC5yZXBsYWNlKC9cXC8vZywgJycpO1xuICAgIGxldCBub0Jhc2VIcmVmID0gaHJlZjtcbiAgICBpZiAoaHJlZi5zdGFydHNXaXRoKHNpdGVCYXNlUGF0aE5vU2xhc2gpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aE5vU2xhc2gsICcnKTtcbiAgICB9IGVsc2UgaWYgKGhyZWYuc3RhcnRzV2l0aChzaXRlQmFzZVBhdGgpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aCwgJycpO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbUludGVybmFsTGlua05hdmlnYXRpb24gJiYgdGhpcy5saWJDb25maWcuY3VzdG9tSW50ZXJuYWxMaW5rTmF2aWdhdGlvbihub0Jhc2VIcmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtwYXRoLCBxdWVyeV0gPSBub0Jhc2VIcmVmLnNwbGl0KCc/Jyk7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5QXJyYXkgPSBxdWVyeS5zcGxpdCgnJicpO1xuICAgICAgcXVlcnlBcnJheS5mb3JFYWNoKChxKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyciA9IHEuc3BsaXQoJz0nKTtcbiAgICAgICAgcXVlcnlQYXJhbXNbYXJyWzBdXSA9IGFyclsxXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aF0sIHsgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pO1xuICB9XG59XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzaXRlLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvZGlyZWN0aXZlcy9yZHNpdGUtbGluay9yZHNpdGUtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBUS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxNQUFjLEVBQ08sVUFBa0IsRUFDckIsUUFBa0IsRUFDaEIsU0FBb0IsRUFDeEMsT0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELHFCQUE0QztRQVA1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkI5QyxrQkFBYSxHQUFHLGtDQUFrQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFDbEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixnQkFBVyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFD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OzRGQUczQixtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBZUksTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFVBQVU7eUtBVFgsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQWNDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIFBMQVRGT1JNX0lELCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xuaW1wb3J0IHsgUGhvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGhvbmUvcGhvbmUuc2VydmljZSc7XG5pbXBvcnQgeyBSZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmRzaXRlLXBob25lLW1vZGFsL3Jkc2l0ZS1waG9uZS1tb2RhbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcmRzaXRlbGlua10nLFxuICBwcm92aWRlcnM6IFtSZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmRzaXRlTGlua0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZXh0ZXJuYWxSZWdleCA9IC9eaHR0cDp8aHR0cHM6fHRlbDp8d3d3XFwufG1haWx0bzovO1xuICBwcml2YXRlIHRlbFJlZ2V4ID0gL3RlbDovO1xuICBwcml2YXRlIG1haWxSZWdleCA9IC9tYWlsdG86LztcbiAgcHJpdmF0ZSBzaXRlVXJsTGlzdCA9IFsncmVkZWRvcnNhb2x1aXonLCAncmVkZWRvcmxhYnMnXTtcbiAgcHJpdmF0ZSBhbGxvd2VkVGFncyA9IFsnQScsICdDVVJBLUJVVFRPTicsICdDVVJBLUJVVFRPTi1PVVRMSU5FJywgJ0NVUkEtQlVUVE9OLVRSQU5TUEFSRU5UJ107XG5cbiAgQElucHV0KCkgYW5jaG9yQWRqdXN0bWVudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGFuY2hvckV4dHJhQWRqdXN0bWVudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCkgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHByaXZhdGUgbGliQ29uZmlnOiBMaWJDb25maWcsXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBwaG9uZVNlcnZpY2U6IFBob25lU2VydmljZSxcbiAgICBwcml2YXRlIHJkc2l0ZVBob25lTW9kYWxEaXJlY3RpdmU6IFJkc2l0ZVBob25lTW9kYWxEaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBkZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgIXRoaXMuYWxsb3dlZFRhZ3MuaW5jbHVkZXModGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py50YWdOYW1lKSkgcmV0dXJuO1xuICAgIGxldCBocmVmID0gdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJztcbiAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgIGhyZWYgPSB0aGlzLnZlcmlmeVV0bShocmVmKTtcblxuICAgIGlmICh0aGlzLmlzUGhvbmUoaHJlZikpIHtcbiAgICAgIHRoaXMucGhvbmVDbGlja2VkKHtcbiAgICAgICAgaHJlZixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgcGhvbmVtb2RhbDogdGhpcy5waG9uZW1vZGFsLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5pc01vYmlsZSgpO1xuICAgIGNvbnN0IGRldmljZUluZm8gPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5nZXREZXZpY2VJbmZvKCk7XG5cbiAgICBpZiAodGhpcy5pc01haWwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGlzTW9iaWxlIHx8IGRldmljZUluZm8uYnJvd3NlciAhPT0gJ0Nocm9tZScgPyAnX3NlbGYnIDogJ19ibGFuayc7XG4gICAgICB3aW5kb3cub3BlbihocmVmLCB0YXJnZXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRXh0ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuaXNTaXRlVXJsKGhyZWYpID8gJ19zZWxmJyA6ICdfYmxhbmsnO1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgdGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvcihocmVmKSkge1xuICAgICAgdGhpcy5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hdmlnYXRlVG8oaHJlZik7XG4gIH1cblxuICBwcml2YXRlIHZlcmlmeVV0bShocmVmOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaHJlZi5pbmNsdWRlcygnL3BhY2llbnRlJykpIHJldHVybiBocmVmO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICBjb25zdCB1dG1QYXJhbXMgPSBBcnJheS5mcm9tKGN1cnJlbnRVcmwuc2VhcmNoUGFyYW1zLmVudHJpZXMoKSkuZmlsdGVyKChba2V5XSkgPT4ga2V5LnN0YXJ0c1dpdGgoJ3V0bV8nKSk7XG5cbiAgICAgIGlmICh1dG1QYXJhbXMubGVuZ3RoID09PSAwKSByZXR1cm4gaHJlZjtcblxuICAgICAgY29uc3QgdGFyZ2V0VXJsID0gbmV3IFVSTChocmVmKTtcbiAgICAgIHV0bVBhcmFtcy5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHRhcmdldFVybC5zZWFyY2hQYXJhbXMuc2V0KGtleSwgdmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRhcmdldFVybC50b1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaHJlZjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUGhvbmUoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYWlsKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1haWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaG9uZUNsaWNrZWQodmFsdWU6IHsgaHJlZjogc3RyaW5nOyBldmVudDogRXZlbnQ7IGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjsgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCB9KSB7XG4gICAgY29uc3QgeyBocmVmLCBldmVudCwgZWxlbWVudCwgcGhvbmVtb2RhbCB9ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucGhvbmVTZXJ2aWNlLmlzUGhvbmVNb2RhbChocmVmKSkge1xuICAgICAgdGhpcy5zZXRQaG9uZU1vZGFsKGVsZW1lbnQsIHBob25lbW9kYWwpO1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLm9wZW5QaG9uZU1vZGFsKGV2ZW50LCBocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQaG9uZU1vZGFsKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PiwgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICghdGhpcy5waG9uZW1vZGFsKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmxpYkNvbmZpZz8uY3VzdG9tUGhvbmVNb2RhbENvbmRpdGlvbikge1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLnJkc2l0ZXBob25lbW9kYWwgPSBwaG9uZW1vZGFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbVBob25lTW9kYWxDb25kaXRpb24oZWxlbWVudCkpIHtcbiAgICAgIHRoaXMucmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZS5yZHNpdGVwaG9uZW1vZGFsID0gcGhvbmVtb2RhbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpdGVVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgY29uc3QgZXhjZXB0aW9uID0gJy9wYWNpZW50ZSc7XG4gICAgcmV0dXJuIHRoaXMuc2l0ZVVybExpc3QuZmluZCgodXJsKSA9PiBocmVmLmluY2x1ZGVzKHVybCkgJiYgIWhyZWYuaW5jbHVkZXMoZXhjZXB0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGlzQW5jaG9yKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJyMnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9BbmNob3IoaHJlZjogc3RyaW5nKSB7XG4gICAgaWYgKGhyZWYgPT09ICcjJykgcmV0dXJuO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBkb2NFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBsZXQgYWRqdXN0bWVudCA9IDA7XG5cbiAgICAgIGlmICh0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KHRoaXMuZG9jdW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmFuY2hvckFkanVzdG1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmFuY2hvckV4dHJhQWRqdXN0bWVudCkge1xuICAgICAgICBhZGp1c3RtZW50ICs9IHRoaXMuYW5jaG9yRXh0cmFBZGp1c3RtZW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBib2R5VG9wID0gdGhpcy5kb2N1bWVudD8uYm9keT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LnRvcCA/PyAwO1xuICAgICAgY29uc3QgaHJlZlRvcCA9IHRoaXMuZG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGhyZWYpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8udG9wID8/IDA7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSBib2R5VG9wICogLTEgKyBocmVmVG9wIC0gYWRqdXN0bWVudDtcbiAgICAgIGRvY0VsZW1lbnQuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUbyhocmVmOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzaXRlQmFzZVBhdGggPSB0aGlzLmxpYkNvbmZpZy5zaXRlU3VmaXggPz8gJyc7XG4gICAgY29uc3Qgc2l0ZUJhc2VQYXRoTm9TbGFzaCA9IHNpdGVCYXNlUGF0aC5yZXBsYWNlKC9cXC8vZywgJycpO1xuICAgIGxldCBub0Jhc2VIcmVmID0gaHJlZjtcbiAgICBpZiAoaHJlZi5zdGFydHNXaXRoKHNpdGVCYXNlUGF0aE5vU2xhc2gpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aE5vU2xhc2gsICcnKTtcbiAgICB9IGVsc2UgaWYgKGhyZWYuc3RhcnRzV2l0aChzaXRlQmFzZVBhdGgpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aCwgJycpO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbUludGVybmFsTGlua05hdmlnYXRpb24gJiYgdGhpcy5saWJDb25maWcuY3VzdG9tSW50ZXJuYWxMaW5rTmF2aWdhdGlvbihub0Jhc2VIcmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtwYXRoLCBxdWVyeV0gPSBub0Jhc2VIcmVmLnNwbGl0KCc/Jyk7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5QXJyYXkgPSBxdWVyeS5zcGxpdCgnJicpO1xuICAgICAgcXVlcnlBcnJheS5mb3JFYWNoKChxKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyciA9IHEuc3BsaXQoJz0nKTtcbiAgICAgICAgcXVlcnlQYXJhbXNbYXJyWzBdXSA9IGFyclsxXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aF0sIHsgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pO1xuICB9XG59XG4iXX0=
@@ -310,9 +310,10 @@ class RdsiteLinkDirective {
310
310
  event.preventDefault();
311
311
  if (!isPlatformBrowser(this.platformId) || !this.allowedTags.includes(this.element?.nativeElement?.tagName))
312
312
  return;
313
- const href = this.element?.nativeElement?.getAttribute('href') ?? '';
313
+ let href = this.element?.nativeElement?.getAttribute('href') ?? '';
314
314
  if (!href)
315
315
  return;
316
+ href = this.verifyUtm(href);
316
317
  if (this.isPhone(href)) {
317
318
  this.phoneClicked({
318
319
  href,
@@ -340,6 +341,22 @@ class RdsiteLinkDirective {
340
341
  }
341
342
  this.navigateTo(href);
342
343
  }
344
+ verifyUtm(href) {
345
+ if (!href.includes('/paciente'))
346
+ return href;
347
+ if (isPlatformBrowser(this.platformId) && typeof window !== 'undefined') {
348
+ const currentUrl = new URL(window.location.href);
349
+ const utmParams = Array.from(currentUrl.searchParams.entries()).filter(([key]) => key.startsWith('utm_'));
350
+ if (utmParams.length === 0)
351
+ return href;
352
+ const targetUrl = new URL(href);
353
+ utmParams.forEach(([key, value]) => targetUrl.searchParams.set(key, value));
354
+ return targetUrl.toString();
355
+ }
356
+ else {
357
+ return href;
358
+ }
359
+ }
343
360
  isPhone(href) {
344
361
  return this.telRegex.test(href);
345
362
  }